Uitwerkingen Tentamen Optimalisering in Netwerken (2WO12) Donderdag 10 april 2014, 14.00 - 17.00 Het tentamen bestaat uit 7 opgaven verspreid over 3 pagina’s. In totaal zijn er tussen de −20 en 100 punten te verdienen. Je cijfer wordt verkregen door het totaal aantal behaalde punten door 9.99 te delen en af te ronden naar het dichtstbijzijnde getal in {1, 2, . . . , 10}. Je mag bij dit tentamen alleen schrijfgerei gebruiken. Aantekeningen, boeken, dictaten, grafische rekenmachines, computers, telefoons e.d. mogen niet gebruikt worden. Je mag zowel in het Nederlands als in het Engels antwoorden. Succes! Opgave 1 (30 punten). Gegeven is de onderstaande graaf G = (V, E) met de aangegeven gewichten van de lijnen. a 1 3 b 3 4 e 4 f 3 1 g h 3 d 2 2 3 5 c (a) Vind een opspannende boom in G van minimaal gewicht. Gebruik hiervoor het algoritme van Prim-Dijkstra, begin met U1 = {a} en geef aan in welke volgorde je lijnen aan de opspannende boom toevoegt (negeer hierbij de diktes van de lijnen in de figuur). [10 punten] Oplossing. Voeg lijnen bijvoorbeeld toe in deze volgorde: {a, b}, {b, c}, {c, d}, {d, h}, {e, h}, {h, g}, {f, g}. (b) De vette lijnen {{a, d}, {e, f }, {c, g}} vormen een matching van G die maximaal gewicht heeft over alle matchings die uit drie lijnen bestaan. Vind een matching die maximaal gewicht heeft over alle matchings die uit vier lijnen bestaan. Gebruik hiervoor de Hongaarse methode, geef aan over welk pad je de matching aanpast en waarom. [10 punten] Oplossing. Kleur de punten van G met twee kleuren en construeer een gerichte hulpgraaf D door elke lijn in de matching van rood naar blauw te richten en elke lijn niet in 1 de matching van blauw naar rood. De lijnen in de matching houden positieve lengte en de lijnen die niet in de matching zitten krijgen negatieve lengte. Dit leidt tot de onderstaande hulpgraaf. a -1 -3 b -3 4 e 4 f -3 -1 g h -2 -3 d -2 5 c -3 De enige punten die niet door de matching overdekt worden zijn h en b. Een kortste gerichte pad in D van h naar b is (h, d, a, e, f, b) met lengte -1. De nieuwe matching is het symmetrisch verschil tussen de oude matching en de lijnen op dit pad. Dit geeft de matching: {{c, g}, {d, h}, {a, e}, {b, f }} met gewicht 14. (c) Door een lijn {d, f } aan G toe te voegen krijgen we de graaf H. Is H planair? Geef aan waarom wel/niet? [10 punten] Oplossing. Graaf H is niet planair aangezien H een onderverdeling van K3,3 bevat. Zie de figuur hieronder. a b e h f g d c Opgave 2 (10 punten). Beschouw nu de onderstaande gerichte graaf D = (V, A) met de aangegeven lengtefunctie ` : A → R+ . Vind een kortste pad van s naar t in D met betrekking tot de lengtefunctie `. Gebruik hiervoor het algoritme van Dijkstra en geef elke stap van het algoritme duidelijk aan. 2 s 2 b 2 e 10 9 6 c 4 1 1 1 3 d 1 t 2 4 3 8 a f Oplossing. • U = V, f (s) = 0 en f (v) = ∞ ∀v ∈ V \ {s} • f (b) = 2, f (c) = 6, f (d) = 9, f (a) = 10, verwijder s uit U • f (e) = 4, verwijder b uit U • f (c) = 5, verwijder e uit U • f (d) = 8, f (t) = 13, verwijder c uit U • f (a) = 9, f (f ) = 12, verwijder d uit U • f (f ) = 11, verwijder a uit U • f (t) = 12, verwijder f uit U , verwijder t uit U Het kortste s-t pad is (s, b, e, c, d, a, f, t) met lengte 12. Opgave 3 (10 punten). Bewijs dat elke graaf G = (V, E) met maximale graad ∆ een coclique heeft van cardinaliteit tenminste |V | . ∆+1 Oplossing 1. Bewijs met inductie naar |V |. Als |V | = 1 dan is ∆ = 0 en vormt het enige punt een coclique van cardinaliteit 1/(0 + 1) = 1. Beschouw nu een graaf G = (V, E) met |V | ≥ 2, kies een willekeurig punt v ∈ V en verwijder v en al zijn buren uit de graaf. Dit geeft graaf G0 . We hebben maximaal ∆ + 1 punten verwijderd en de maximale graad van G0 is hoogstens ∆, dus volgens de inductie hypothese heeft G0 een coclique van cardinaliteit tenminste |V | − 1 − ∆ |V | = −1 ∆+1 ∆+1 Punt v toevoegen aan deze coclique geeft een coclique van G met cardinaliteit tenminste |V | . ∆+1 3 Oplossing 2. Kleur de punten van G met (∆ + 1) kleuren. De kleur die het vaakste voorkomt kleurt minimaal |V |/(∆ + 1) punten. Dus vormen de punten met deze kleur een coclique van cardinaliteit tenminste |V |/(∆ + 1). Opgave 4 (10 punten). Laat G = (V, E) een bipartiete planaire graaf zijn met |V | ≥ 3. Bewijs dat |E| ≤ 2|V | − 4. Oplossing. De stelling van Euler zegt dat |V | + f = |E| + 2 met f het aantal facetten. Als f = 1 dan is G een boom en is |E| = |V | − 1 ≤ 2|V | − 4 (want |V | ≥ 3). Neem nu aan dat f ≥ 2. Omdat G bipartiet is wordt elk facet omsloten door tenminste vier lijnen (een facet omsloten door drie lijnen zou een oneven circuit vormen). Elke lijn zit in de rand van hoogstens twee facetten, dus geldt |E| ≥ 4f /2 = 2f en f ≤ |E|/2. Invullen in de formule van Euler geeft 1 |E| = |V | + f − 2 ≤ |V | + |E| − 2 2 en dus |E| ≤ 2|V | − 4. Opgave 5 (20 punten). Geef voor elk van de onderstaande beweringen aan of ze waar (W) of onwaar (O) zijn. Een argumentatie is niet nodig (verspil hier dus geen tijd aan). Elk correct antwoord levert 2 punten op, elk fout antwoord −2 punten en elke vraag zonder antwoord 0 punten. (a) Een algoritme met looptijd Θ(W (|V | + |E|)) voor een probleem met als invoer een gewogen graaf G = (V, E) met maximum gewicht W is een polynomiaal algoritme. Oplossing. Niet waar want de lengte van de invoer is een polynoom in |V |, |E| en log(W ) maar W is exponentieel in log(W ) en dus is W (|V |+|E|) exponentieel in |V |, |E| en log(W ). (b) De lijngraaf van elke Euler graaf is een Hamilton graaf. Oplossing. Waar. Als e1 , . . . , em een Euler tour in G is dan is ve1 , . . . , vem een Hamilton circuit in de lijngraaf van G. (c) Elke 3-reguliere Hamilton graaf heeft lijnkleurgetal 3. Oplossing. Waar. Er zijn een even aantal punten door het handshaking lemma. Dus kunnen de lijnen van het Hamilton circuit met twee kleuren gekleurd worden. De overige lijnen verbinden punten in het circuit en kunnen dus met de derde kleur gekleurd worden. (d) Elke k-reguliere bipartiete graaf heeft een perfecte matching, voor alle k ∈ N (met k ≥ 1). Oplossing. Waar. Als een bipartiete graaf G = (U ∪ W, E) geen perfecte matching heeft, dan zijn er volgens Hall’s Marriage Theorem, U 0 ⊆ U en W 0 ⊆ W zodanig dat de punten in U 0 alleen buren in W 0 hebben en |W 0 | < |U 0 |. Dit is niet mogelijk wanneer alle punten dezelfde graad hebben. (e) Voor elke graaf G bestaat er een puntkleuring met maximaal d + 1 kleuren, als d het gemiddelde is van de graden van G. Oplossing. Niet waar. Bijvoorbeeld als G een clique van vier punten bevat, maar ook veel punten van lage graad waardoor d < 3. 4 (f ) Als een graaf precies 6 punten van oneven graad heeft en vier daarvan liggen in dezelfde samenhangende component, dan bestaat er een pad tussen de overige twee punten met oneven graad. Oplossing. Waar. Anders zou er een samenhangende component zijn met een oneven aantal punten van oneven graad. Dit is niet mogelijk volgens het Handshaking Lemma. (g) Elke 4-reguliere graaf met 100 punten heeft een matching bestaande uit tenminste 40 lijnen. Oplossing. Waar. Er zijn 200 lijnen en volgens de stelling van Vizing kunnen we die met 5 kleuren kleuren. De kleur die het vaakste voorkomt wordt gebruikt om tenminste 200/5 = 40 lijnen te kleuren. Dit vormt een matching van tenminste 40 lijnen. (h) Elke graaf met tenminste 5 punten die niet 5-kleurbaar is heeft K3 als deelgraaf. Oplossing. Niet waar volgens de stelling van Mycielski. (i) Als G = (V, E) een samenhangende graaf is en voor e, e0 ∈ E geldt dat (V, E \ {e, e0 }) een graaf is met twee samenhangende componenten H en H 0 , dan is het puntkleurgetal van G gelijk aan het maximum van het puntkleurgetal van H en het puntkleurgetal van H 0 . Oplossing. Niet waar. Bijvoorbeeld een oneven circuit is een tegenvoorbeeld. (j) Elke 3-reguliere graaf met n ≥ 5 punten heeft een coclique met cardinaliteit tenminste Oplossing. Niet waar. Bijvoorbeeld de onderstaande graaf is een tegenvoorbeeld. n 2. Opgave 6 (10 punten). Beschouw het volgende probleem. Gegeven is een gerichte graaf D = (V, A), een capaciteitsfunctie c : A → R+ en een vraagfunctie d : V → R. Een (d, c)-circulatie van D is een functie f : A → R+ waarvoor geldt: 0 ≤ f (a) ≤ c(a) X X f (a) − f (a) = d(v) a∈δ − (v) voor elke a ∈ A en voor elke v ∈ V. a∈δ + (v) Gevraagd wordt om te beslissen of er een (d, c)-circulatie bestaat in een gegeven gerichte graaf D voor een gegeven capaciteitsfunctie c en vraagfunctie d. Bewijs dat dit probleem oplosbaar is in polynomiale tijd door het te formuleren als een maximum-stroom probleem. (Merk op dat de vraagfunctie d(v) zowel positieve als negatieve waardes kan aannemen. Beschrijf je formulering in detail en geef aan hoe die gebruikt kan worden om te beslissen of er een (d, c)-circulatie bestaat. Je hoeft niet te bewijzen dat je formulering correct is.) Oplossing. Voeg een bron s en een put t toe. Voor elk punt v ∈ V waarvoor d(v) < 0, voeg een pijl van s naar v toe met capaciteit c(v) = −d(v). Voor elk punt u ∈ V waarvoor d(u) > 0, 5 voeg een pijl van u naar t toe met capaciteit c(u) = d(u). Nu bestaat er een (d, c)-circulatie in de originele gerichte graaf D dan en slechts dan als er een s-t stroom bestaat met waarde X X c(a) = c(a) a∈δ − (t) a∈δ + (s) in de aangepaste gerichte graaf. Opgave 7 (10 punten). Bewijs dat het onderstaande beslissingsprobleem NP-volledig is. BUREN-INCIDENT Gegeven: graaf G = (V, E) en k ∈ N. Beslis: is er een deelverzameling V 0 van V met |V 0 | ≤ k zodanig dat voor elke lijn e ∈ E er een punt v ∈ V 0 bestaat zodanig dat e incident is met v of met een buur van v. Oplossing 1. BUREN-INCIDENT ∈ NP omdat gegeven een verzameling V 0 ⊆ V in polynomiale tijd gecontroleerd kan worden of elke lijn in E incident is met een punt in V 0 of incident is met een buur van een punt in V 0 . Bewijs NP-moeilijkheid d.m.v. een reductie vanuit het probleem VERTEX COVER. Gegeven een instantie (G = (V, E), k) van VERTEX COVER, verkrijgen we een instantie (G∗ = (V ∗ , E ∗ ), k) van BUREN-INCIDENT door voor elke lijn e = {u, w} twee punten veu , vew en drie lijnen {u, veu }, {w, vew }, {veu , vew } toe te voegen. Zie hieronder een voorbeeld. u e ve u u w vew w G¤ G Neem eerst aan dat G een vertex cover heeft van cardinaliteit hoogstens k. Laat V 0 de punten in de vertex cover zijn. Dan is V 0 ⊆ V ∗ en |V 0 | ≤ k. Voor elke lijn {u, w} ∈ E geldt dat u of w in V 0 zit want V 0 is een vertex cover. Neem (zonder verlies van algemeenheid) aan dat u ∈ V 0 . Dan zijn {u, w} en {u, veu } incident met u terwijl {w, vew } en {veu , vew } incident zijn met een buur van u. Dus is elke lijn in E ∗ incident met een punt in V 0 of met een buur van een punt in V 0 (in G∗ ). Neem nu aan dat er een verzameling V 0 ⊆ V ∗ bestaat met |V 0 | ≤ k zodanig dat elke lijn in E ∗ incident is met een punt in V 0 of met een buur van een punt in V 0 (in G∗ ). Dan kunnen we als volgt een vertex cover K van G met |K| ≤ k vinden. Voor elke lijn e = {u, w} van G, als u of veu in V 0 zit, stop dan u in K. Bovendien, als w of vew in V 0 zit, stop dan w in K. Tenminste ´e´en van u, w, veu , vew zit in V 0 want anders was de lijn {veu , vew } niet incident met een punt in V 0 en 6 niet incident met een buur van een punt in V 0 . Dus zit tenminste ´e´en van u en w in K. Dus wordt elke lijn van G overdekt door K en dus is K een vertex cover van G. Oplossing 2. BUREN-INCIDENT ∈ NP omdat gegeven een verzameling V 0 ⊆ V in polynomiale tijd gecontroleerd kan worden of elke lijn in E incident is met een punt in V 0 of incident is met een buur van een punt in V 0 . Bewijs NP-moeilijkheid d.m.v. een reductie vanuit het probleem VERTEX COVER. Gegeven een instantie (G = (V, E), k) van VERTEX COVER, verkrijgen we een instantie (G∗ = (V ∗ , E ∗ ), k) van BUREN-INCIDENT door voor elke lijn e = {u, w} twee punten ve , ve∗ toe te voegen en de lijn e te vervangen door drie lijnen {u, ve }, {ve , ve∗ }, {ve , w}. Zie hieronder een voorbeeld. ve¤ u e w u ve w G¤ G Neem eerst aan dat G een vertex cover heeft van cardinaliteit hoogstens k. Laat V 0 de punten in de vertex cover zijn. Dan is V 0 ⊆ V ∗ en |V 0 | ≤ k. Voor elke lijn e = {u, w} ∈ E geldt dat u of w in V 0 zit want V 0 is een vertex cover. Dan is, in G∗ , ve een buur van een punt in V 0 . Dus alle drie de lijnen {u, ve }, {ve , ve∗ }, {ve , w} zijn incident met een buur van een punt in V 0 . Dus is elke lijn in E ∗ incident met een punt in V 0 of met een buur van een punt in V 0 (in G∗ ). Neem nu aan dat er een verzameling V 0 ⊆ V ∗ bestaat met |V 0 | ≤ k zodanig dat elke lijn in E ∗ incident is met een punt in V 0 of met een buur van een punt in V 0 (in G∗ ). Voor elke lijn e = {u, w} van de originele graaf G geldt dat tenminste ´e´en van de punten u, w, ve , ve∗ in V 0 zit omdat anders de lijn {ve , ve∗ } niet incident zou zijn met een punt in V 0 of een buur van een punt in V 0 . Als u of w in V 0 zit dan stoppen we hetzelfde punt in K. Als ve of ve∗ in V 0 zit dan stoppen we willekeurig ´e´en van u en w in K. Dit doen we voor elke lijn e = {u, w} van G. Dan geldt dat |K| ≤ k en bovendien dat voor elke lijn e = {u, w} van G tenminste ´e´en van u en w in K zit. Oftewel, K is een vertex cover van G met cardinaliteit hoogstens k. 7
© Copyright 2024 ExpyDoc