2WO12: Optimalisering in Netwerken



Vergelijkbare documenten
TW2020 Optimalisering

TW2020 Optimalisering

2WO12: Optimalisering in Netwerken

2WO12: Optimalisering in Netwerken

2WO12: Optimalisering in Netwerken

Discrete Wiskunde, College 12. Han Hoogeveen, Utrecht University

Discrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie

Minimum Opspannende Bomen. Algoritmiek

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie

TW2020 Optimalisering

TW2020 Optimalisering

Tentamen Discrete Wiskunde 1 10 april 2012, 14:00 17:00 uur

Grafen. Indien de uitgraad van ieder punt 1 is, dan bevat de graaf een cykel. Indien de ingraad van ieder punt 1 is, dan bevat de graaf een cykel.

l e x e voor alle e E

Week Hier vind je uitwerkingen van enkele opgaven uit het dictaat Grafen: Kleuren en Routeren.

Overzicht. 1. Definities. 2. Basisalgoritme. 3. Label setting methoden. 4. Label correcting methoden. 5. Ondergrenzen. 6.

Kortste Paden. Algoritmiek

TW2020 Optimalisering

In dit gedeelte worden drie problemen genoemd die kunnen voorkomen in netwerken.

TW2020 Optimalisering

1.2 Bomen Algemeen 1.2. BOMEN 7

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II

Twaalfde college complexiteit. 11 mei Overzicht, MST

TW2020 Optimalisering

Radboud Universiteit Nijmegen

Netwerkstroming. Algoritmiek

Greedy algoritmes. Algoritmiek

Tentamen combinatorische optimalisatie Tijd:

TW2020 Optimalisering

TW2020 Optimalisering

Begrenzing van het aantal iteraties in het max-flow algoritme

Benaderingsalgoritmen

Examen Datastructuren en Algoritmen II

3. Elke lijn van een graaf draagt twee bij tot de som van alle graden.

2WO12: Optimalisering in Netwerken

Tentamen Discrete Wiskunde

Examen Datastructuren en Algoritmen II

TW2020 Optimalisering

TW2020 Optimalisering

Transport-, Routing- en Schedulingproblemen. Wi4062TU / Wi487TU / a86g. Uitwerkingen

Discrete modellen in de toegepaste wiskunde (WISB136) Uitwerkingen proeftentamen.

l e x e voor alle e E

TW2020 Optimalisering

Universiteit Utrecht Betafaculteit. Examen Discrete Wiskunde II op donderdag 6 juli 2017, uur.

Activiteit 9. Modderstad Minimaal Opspannende Bomen. Samenvatting. Kerndoelen. Leeftijd. Vaardigheden. Materialen

Tiende college algoritmiek. 2 mei Gretige algoritmen, Dijkstra

Hebzucht loont niet altijd

Netwerkstroming. Algoritmiek

Tiende college algoritmiek. 14 april Gretige algoritmen

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen.

Universiteit Utrecht Betafaculteit. Examen Discrete Wiskunde op donderdag 13 april 2017, uur.

Tiende college algoritmiek. 26 april Gretige algoritmen

Examen Datastructuren en Algoritmen II

Uitwerkingen Sum of Us

Elfde college algoritmiek. 10 mei Algoritme van Dijkstra, Gretige Algoritmen

Examen Datastructuren en Algoritmen II

1 Vervangingsstrategie auto

Gerichte Grafen Boolese Algebra s &. Logische Netwerken

Lege polygonen in een graaf.

TW2020 Optimalisering

Examen Datastructuren en Algoritmen II

Elfde college algoritmiek. 29 april Algoritme van Dijkstra, Branch & Bound

Opdracht 3: De volhardende voetbalfan

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek

Optimaliseren in Netwerken

Minimum Spanning Tree

Tiende college algoritmiek. 4 mei Gretige Algoritmen Algoritme van Dijkstra

Talen & Automaten. Wim Hesselink Piter Dykstra Opleidingsinstituut Informatica en Cognitie 9 mei 2008

Heuristieken en benaderingsalgoritmen. Algoritmiek

Twaalfde college algoritmiek. 13 mei Branch & Bound Heap, Heapsort & Heapify

Tiende college algoritmiek. 13/21 april Gretige Algoritmen Algoritme van Dijkstra

Oefententamen in2505-i Algoritmiek

Meetkundige Ongelijkheden Groep 2

Elfde college algoritmiek. 18 mei Algoritme van Dijkstra, Heap, Heapify & Heapsort

Algoritmiek. 15 februari Grafen en bomen

Doorzoeken van grafen. Algoritmiek

Lineaire algebra I (wiskundigen)

TW2020 Optimalisering

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 )

Vierde college complexiteit. 26 februari Beslissingsbomen en selectie Toernooimethode Adversary argument

Elke gelijkenis met bestaande gebeurtenissen en/of personen berust op louter toeval.

Examen Datastructuren en Algoritmen II

Grafen. Grafen, toppen en bogen

TW2020 Optimalisering

I.3 Functies. I.3.2 Voorbeeld. De afbeeldingen f: R R, x x 2 en g: R R, x x 2 zijn dus gelijk, ook al zijn ze gegeven door verschillende formules.

Oefeningen Discrete Wiskunde - Hoofdstuk 6 - Peter Vandendriessche Fouten, opmerkingen of alternatieve methodes? me:

Kortste Paden. Algoritmiek

2 Kromming van een geparametriseerde kromme in het vlak. Veronderstel dat een kromme in het vlak gegeven is door een parametervoorstelling

Examen Algoritmen en Datastructuren III

2 beslissen in netwerken. Wiskunde D. Keuzevak beslissen onderdeel: beslissen in netwerken. versie 4 vrijdag 16 november 2007

Bomen. 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen. deel 1. Negende college

Lineaire Algebra voor ST

Elfde college algoritmiek. 16 mei Dijkstra, Gretige algoritmen en Branch & Bound

Discrete Wiskunde 2WC15, Lente Jan Draisma

Ter Leering ende Vermaeck

Je hebt twee uur de tijd voor het oplossen van de vraagstukken. µkw uitwerkingen. 12 juni 2015

Radboud Universiteit Nijmegen

Algoritmen aan het werk

Vierde college complexiteit. 14 februari Beslissingsbomen

Transcriptie:

2WO12: Optimalisering in Netwerken Leo van Iersel Technische Universiteit Eindhoven (TU/E) en Centrum Wiskunde & Informatica (CWI) 27 februari 2014 http://homepages.cwi.nl/~iersel/2wo12/ l.j.j.v.iersel@gmail.com Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 1 / 34

Overzicht Tot nog toe: grafen, kleuren en routeren graafrepresentaties en complexiteit kortste pad algoritmes Vandaag minimum opspannende bomen Prüfer reeksen fylogenetische bomen Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 2 / 34

Definitie Een bos is een graaf zonder circuits. Definitie Een boom is een samenhangend bos. Laat G = (V, E) een graaf zijn. Een opspannende boom (spanning tree) van G is een boom T = (V, F ) met F E. Anders gezegd, een opspannende boom van G is een deelgraaf van G die alle punten van G opspant (verbindt) en geen circuits bevat. Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 3 / 34

Voorbeeld Een opspannende boom van de Petersen graaf (in zwart): Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 4 / 34

Voorbeeld Een andere opspannende boom van de Petersen graaf (in zwart): Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 5 / 34

Probleem Minimum Opspannende Boom (Minimum Spanning Tree) Gegeven: samenhangende graaf G = (V, E) en lengtefunctie l : E R Vind: een opspannende boom T = (V, F ) van G met minimale lengte l(e) e F Elke samenhangende graaf heeft een opspannende boom. Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 6 / 34

Prim-Dijkstra methode voor het vinden van een minimum opspannende boom van een samenhangende graaf G = (V, E) en lengtefunctie l : E R Definitie δ(u) is de verzameling lijnen die precies één eindpunt in U hebben Algoritme Kies willekeurig punt v 1 U 1 := {v 1 } F 1 := Voor k = 1, 2,..., V 1 Kies een lijn ek δ(u k ) met minimale lengte Stelling Uk+1 := U k e k Fk+1 := F k {e k } (V, F V ) is een minimum opspannende boom van G Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 7 / 34

Voorbeeld Vind een minimum opspannende boom in de volgende graaf m.b.v. de Prim-Dijkstra methode: 3 3 2 3 4 2 7 6 3 5 3 4 4 8 4 5 5 1 3 9 6 Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 8 / 34

Lemma (1) De volgende uitspraken zijn equivalent voor een graaf G = (V, E): 1 G is een boom (is samenhangend en bevat geen circuit) 2 G is samenhangend en E = V 1 3 G bevat geen circuit en E = V 1 4 G bevat een uniek pad tussen elk tweetal punten Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 9 / 34

Lemma (2) Als G = (V, E) samenhangend is, (V, F ) een opspannende boom van G en e E \ F dan zijn de volgende twee uitspraken waar: 1 F {e} bevat een uniek circuit C 2 als f een lijn is van C, dan is F \ {f } {e} een opspannende boom van G e Voorbeeld: lijn e toevoegen geeft een uniek circuit; lijn f weglaten geeft weer een opspannende boom. f Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 10 / 34

Definitie (V, F ) is een bos van G = (V, E) als F E en (V, F ) een bos is. Definitie Een bos (V, F ) van G heet gulzig (greedy) als er een opspannende boom van minimale lengte bestaat die alle lijnen van F bevat. Een opspannende boom die gulzig is heeft dus minimale lengte Stelling (1.11) Laat (V, F ) een gulzig bos zijn van G = (V, E) en U een component van (V, F ). Als e een lijn met minimale lengte is over alle lijnen in δ(u), dan is (V, F {e}) weer een gulzig bos. Stelling Het algoritme van Prim-Dijkstra vindt een minimum opspannende boom. Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 11 / 34

Stelling Het algoritme van Prim-Dijkstra vindt een minimum opspannende boom in tijd O( V 2 ). Bewijs Stelling Houd voor elk punt v V \ U k de lengte f (v) bij van een kortste lijn {u, v} met u U k. Er zijn V iteraties. In elke iteratie is er O( V ) tijd nodig om een punt v V \ U k met minimale f (v) te vinden. In elke iteratie is er O( V ) tijd nodig om de labels van de buren van dit punt v aan te passen. Het algoritme van Prim-Dijkstra geïmplementeerd met Fibonacci Heaps lost het minimum opspannende boom probleem op in tijd O( E + V log( V )). Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 12 / 34

Kruskals methode voor het vinden van een minimum opspannende boom van een samenhangende graaf G = (V, E) met lengtefunctie l : E R. Algoritme Stelling F := Voor k = 1, 2,..., V 1 Kies een lijn e k E \ F met minimale lengte waarvoor (V, F {e k }) een bos is F := F {ek } Kruskals algoritme vindt een minimum opspannende boom (V, F ) van G. Stelling Kruskals algoritme kan geïmplementeerd worden zodat de looptijd O( E log( V )) is. Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 13 / 34

Voorbeeld Vind een opspannende boom in de volgende graaf m.b.v. Kruskals algoritme: 3 3 2 3 4 2 7 6 3 5 3 4 4 8 4 5 5 1 3 9 6 Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 14 / 34

Borůvka s methode voor het vinden van een minimum opspannende boom van een samenhangende graaf G = (V, E) met lengtefunctie l : E R. Neem voor het gemak aan dat alle lijnen verschillende lengtes hebben. Algoritme Stelling F := while F < V 1 laat U1,..., U k de componenten van (V, F ) zijn voor i = 1,..., k kies een lijn e i δ(u i ) van minimum lengte F := F {e1,..., e k } Borůvka s algoritme vindt een minimum opspannende boom (V, F ) van G. Stelling Borůvka s algoritme kan geïmplementeerd worden zodat de looptijd O( E log( V )) is. Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 15 / 34

Voorbeeld Vind een opspannende boom in de volgende graaf m.b.v. Borůvka s methode: 27 13 4 12 17 2 7 6 11 5 10 16 31 25 14 19 21 1 3 9 20 Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 16 / 34

Lemma (cut property) Als G = (V, E) een graaf is, l : E R, U V en e een lijn met l(e) < l(f ) f δ(u) met f e dan bevat elke minimum opspannende boom voor G de lijn e. Lemma (cycle property) Als G = (V, E) een graaf is, l : E R en e een lijn in een circuit C met l(e) > l(f ) f in C met f e dan bevat geen enkele minimum opspannende boom voor G de lijn e. Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 17 / 34

Probleem Minimum Bottleneck Opspannende Boom Gegeven: samenhangende graaf G = (V, E) en lengtefunctie l : E R Vind: een opspannende boom T = (V, F ) van G waarvoor max e F l(e) minimaal is. Stelling Elke minimum opspannende boom is een minimum bottleneck opspannende boom. Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 18 / 34

Stelling (Formule van Cayley) Het aantal verschillende bomen met n gelabelde punten is n n 2. Alle 2 2 2 = 1 bomen met 2 punten, alle 3 3 2 = 3 bomen met 3 punten en alle 4 4 2 = 16 bomen met 4 punten. Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 19 / 34

Definitie Een Prüfer reeks is een reeks van lengte n 2 bestaande uit getallen uit {1,..., n} Gegeven een gelabelde boom T, kun je als volgt een unieke Prüfer reeks bepalen: Laat 1, 2,..., n de labels van de punten van T zijn. Een blad is een punt met graad één. Algoritme Vind het blad b met kleinste label; voeg de buur van b toe aan de Prüfer reeks; verwijder b uit de boom; herhaal de voorgaande stappen totdat er twee punten over zijn. Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 20 / 34

Algoritme Vind het blad b met kleinste label; voeg de buur van b toe aan de Prüfer reeks; verwijder b uit de boom; herhaal de voorgaande stappen totdat er twee punten over zijn. Voorbeeld Vind de Prüfer reeks van de onderstaande boom. 8 1 2 3 4 5 6 Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 21 / 34 7

Gegeven een Prüfer reeks a = (a 1, a 2,..., a n 2 ), kun je als volgt een unieke gelabelde boom bepalen: Algoritme L := (1, 2,..., n) Creëer punten met labels 1, 2,..., n Herhaal de volgende stappen totdat L = 2 Laat l het eerste label in L zijn dat niet in a voor komt Laat a1 het eerste element van a zijn Verbind het punt met label l met het punt met label a1 Verwijder l uit L en a1 uit a Laat L = {l 1, l 2 } Verbind het punt met label l 1 met het punt met label l 2 Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 22 / 34

Stelling Er is een bijectie tussen bomen met puntlabels 1,..., n en Prüfer reeksen van lengte n 2. Stelling (Formule van Cayley) Het aantal verschillende bomen met n gelabelde punten is n n 2. Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 23 / 34

Fylogenetische bomen en splits Definitie Gegeven een verzameling labels X, een fylogenetische boom T op X is een boom zonder punten van graad 2 waarvan de bladeren bijectief zijn gelabelled met de elementen van X. Definitie A B is een split over X als {A, B} een partitie van X is, d.w.z. als A B = en A B = X. A B = B A Definitie Laat e een lijn zijn van een fylogenetische boom T op X. Split A B is de split geassocieerd met e als A en B de labels zijn van de bladeren in de twee componenten die verkregen worden als e uit T verwijderd wordt. Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 24 / 34

Notatie: Σ(T ) is de verzameling van alle splits geassocieerd met lijnen van T Voorbeeld: e a b c d Σ(T ) = {ab cde, abc de, a bcde, b acde, c abde, d abce, e abcd} Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 25 / 34

Stelling (split equivalence) Laat Σ een verzameling splits over X zijn. Dan zijn de volgende twee uitspraken equivalent: 1 er bestaat een fylogenetische boom T op X met Σ = Σ(T ) 2 voor elke twee splits A 1 B 1 en A 2 B 2 in Σ is tenminste één van de volgende vier doorsnedes leeg A1 A 2 A1 B 2 B1 A 2 B1 B 2 Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 26 / 34

Voorbeeld Voor de onderstaande boom T geldt: Σ(T ) = {ab cdefg, abfg cde, abcde fg, abcfg de} Plus alle splits die één blad afsplitsen van de rest. b a c f d e g Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 27 / 34

Het vinden van T aan de hand van Σ(T ): Creëer een boom voor de eerste split. Σ(T ) = {ab cdefg, abfg cde, abcde fg, abcfg de} a,b c,d,e,f,g Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 28 / 34

Het vinden van T aan de hand van Σ(T ): Voeg de tweede split toe. Σ(T ) = {ab cdefg, abfg cde, abcde fg, abcfg de} a,b f,g c,d,e Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 29 / 34

Het vinden van T aan de hand van Σ(T ): Voeg de derde split toe. Σ(T ) = {ab cdefg, abfg cde, abcde fg, abcfg de} a,b f,g c,d,e Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 30 / 34

Het vinden van T aan de hand van Σ(T ): Voeg de vierde split toe. Σ(T ) = {ab cdefg, abfg cde, abcde fg, abcfg de} a,b f,g c d,e Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 31 / 34

Het vinden van T aan de hand van Σ(T ): Voeg alle splits toe die één blad afsplitsen van de rest. b a c f g d e Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 32 / 34

Fylogenetische bomen met lengtes Definitie Laat T = (V, E) een fylogenetische boom op X zijn en l : E R + een lengtefunctie. Voor twee bladeren met labels a en b is d T,l (a, b) := e P l(e) met P het unieke pad tussen de bladeren met labels a en b in T. Definitie Een metriek op X is een functie d : X X R + waarvoor geldt: d(x, y) = 0 x = y d(x, y) = d(y, x) (symmetrie) d(x, y) d(x, z) + d(z, y) (driehoeksongelijkheid) Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 33 / 34

Stelling (4-point condition) Laat d : X X R + een metriek op X zijn. Dan zijn de volgende twee uitspraken equivalent: 1 er bestaat een fylogenetische boom T op X met lengtefunctie l : E R + waarvoor d(x, y) = d T,l (x, y) voor alle x, y X ; 2 voor elke vier A, B, C, D X geldt: { d(a, C) + d(b, D) d(a, B) + d(c, D) max d(a, D) + d(b, C). Charles Semple and Mike Steel, Phylogenetics, Oxford University Press, 2003. Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in Netwerken 27 februari 2014 34 / 34