Minimum Spanning Tree

Save this PDF as:
 WORD  PNG  TXT  JPG

Maat: px
Weergave met pagina beginnen:

Download "Minimum Spanning Tree"

Transcriptie

1 Minimum Spanning Tree

2 Wat is MST? Minimum spanning tree De meest efficiënte manier vinden om een verbonden netwerk op te bouwen

3 Wat is een tree/boom? Graaf G: een verzameling knopen (vertices): V een verzameling kanten (edges): E V V Een boom is een graaf G waarin er één uniek simpel pad is tussen elk paar knopen Een boom is verbonden (connected): je kunt vanuit iedere knoop in iedere andere knoop komen Een boom bevat geen cykels: je kan niet in een rondje lopen

4 Hoeveel kanten heeft een boom? Een boom op n knopen heeft n 1 kanten Basisgeval: triviale boom met 1 knoop heeft 0 kanten Inductiestap: stel iedere boom met n < m knopen heeft n 1 kanten. Voor een boom met m knopen geldt dan dat l knopen l 1 kanten m l knopen m l 1 kanten

5 Hoeveel kanten heeft een boom? Een boom op n knopen heeft n 1 kanten Basisgeval: triviale boom met 1 knoop heeft 0 kanten Inductiestap: stel iedere boom met n < m knopen heeft n 1 kanten. Voor een boom met m knopen geldt dan dat hij bestaat uit een kant die twee losse bomen verbindt, één met l knopen, de ander met m l knopen. Met de IH hebben ze l 1 en m l 1 knopen. De boom heeft dus l 1 + m l = m 1 knopen l knopen l 1 kanten m l knopen m l 1 kanten

6 Definitie MST Bepaal de boom met het minste aantal kanten is dus niet zo spannend Gewogen graaf: G = V, E samen met een wegingsfunctie w: E R kent aan iedere kant een gewicht toe ( lengte ) Minimum spanning tree T van een verbonden, gewogen graaf G = V, E is een deelverzameling T E zodat (V, T) een boom is en e T w(e) minimaal is

7 Voorbeeld MST Gewicht: 35

8 MST als optimaliseringsprobleem Invoer: verbonden, gewogen graaf (V, E, w) Zoekruimte: alle deelverzamelingen van E: P(E) Toelaatbaarheid: het moet een boom zijn Doelfunctie: w T = W(e) e T

9 Bomen bouwen 1 Je kunt een bestaande boom aanpassen: Voeg een kant toe cykel dus geen boom meer Haal een kant van de cykel weg het is weer een boom

10 Bomen bouwen 2 Iedere verbonden graaf (V, E) heeft een deelverzameling T E zodat (V, T) een boom is Als (V, E) verbonden maar geen boom is dan bevat (V, E) een cykel Gooi willekeurig een kant van die cykel weg Is het resultaat een nog geen boom? Herhaal! Gevolg: graaf G verbonden en n 1 kanten G is boom Als G geen boom zou zijn zou er een deelverzameling zijn van minder dan n 1 kanten die een boom zou zijn

11 Hoe bepaal je een MST? Algoritmische trukendoos: Divide & Conquer Verdeel de graaf in twee deelgraven? Verbind de deel-mst s met de lichtste kant? Fail Dynamisch Programmeren

12 Hoe bepaal je een MST? Algoritmische trukendoos: Divide & Conquer Verdeel de graaf in twee deelgraven? Verbind de deel-mst s met de lichtste kant? Fail Dynamisch Programmeren Optimal Substructure: een optimale oplossing bevat een optimale deeloplossing Een MST bestaat uit 2 MST s verbonden door 1 edge

13 Hoe bepaal je een MST? DP heeft naast OSS ook overlapping subproblems nodig Het kan wél, maar Het probleem heeft een greedy choice property!

14 Algoritme van Prim Bouw de boom op door steeds 1 kant toe te voegen Kies een beginknoop Bekijk de knopen die je in 1 stap kunt bereiken Kies de lichtste van de uitgaande kant Je kiest steeds de lichtste boomverlatende kant

15 Algoritme van Prim

16 Algoritme van Prim

17 Algoritme van Prim

18 Algoritme van Prim

19 Algoritme van Prim

20 Algoritme van Prim

21 Algoritme van Prim

22 Algoritme van Prim

23 Algoritme van Prim

24 Implementatie van Prim Hoe kun je snel de lichtste kant vinden? Priority Queue! Representatie van het resultaat? Parent Pointers

25 Pseudocode van Prim foreach(vertex v in graph.vertices) v.key = ; root.key = 0; PQ = new PriorityQueue(graph.Vertices); while(!pq.empty) u = PQ.ExtractMin(); foreach(vertex v in u.neighbors) if(pq.contains(v) && w(u,v) < v.key) v.parent = u; PQ.DecreaseKey(v, w(u,v));

26 Algoritme van Prim Priority Queue B: 4 H: 8

27 Algoritme van Prim Priority Queue B: 4 C: 8 H: 8

28 Algoritme van Prim Priority Queue C: 8 I: 2 F: 4 D: 7 H: 8

29 Algoritme van Prim Priority Queue I: 2 F: 4 G: 6 D: 7 H: 8 H: 7

30 Algoritme van Prim

31 Pseudocode van Prim foreach(vertex v in graph.vertices) v.key = ; root.key = 0; PQ = new PriorityQueue(graph.Vertices); O(n) while(!pq.empty) O(n) u = PQ.ExtractMin(); O(log n) foreach(vertex v in u.neighbors) totaal O(m) if(pq.contains(v) && w(u,v) < v.key) v.parent = u; PQ.DecreaseKey(v, w(u,v)); O(log n) Looptijd is dus O m log n. Het kan nog sneller in O(m + n log n) met een Fibbonacciheap die doet decreasekey in O(1).

32 Pseudocode van Prim Dijkstra foreach(vertex v in graph.vertices) v.key = ; root.key = 0; PQ = new PriorityQueue(graph.Vertices); O(n) while(!pq.empty) O(n) u = PQ.ExtractMin(); O(log n) foreach(vertex v in u.neighbors) totaal O(m) if(pq.contains(v) && w(u,v) + u.key < v.key) v.parent = u; PQ.DecreaseKey(v, w(u,v) + u.key); O(log n) Looptijd is dus O m log n. Het kan nog sneller in O(m + n log n) met een Fibbonacciheap die doet decreasekey in O(1).

33 Bewijs van Prim We moeten de GCP bewijzen GCP: Zij T een MST van (V, E) en stel dat A T. Als e een lichtste kant is die een knoop in A met een knoop niet in A verbindt (e is A-verlatend), dan is A {e} deelverzameling van een MST T. Als e T dan is het goed. Stel dus dat e T. Dan bevat T {e} een cykel. Bekijk de kanten van die cykel. De cykel bevat naast e nog een A-verlatende kant f. w f w(e) dus T = e T\ f is een minimale(re) spanning tree (w T = w T + w e w f w(t))

34 Algoritme van Kruskal Prim: laat één boom steeds verder groeien Kruskal: werkt met een woud met allemaal losse stukjes boom Iedere verbonden graaf heeft een deelgraaf die boom is: Herhaald kanten van cykels weglaten Kan ook andersom: maak een boom door steeds toe te voegen: A = ; foreach(edge e in graph) if(a e bevat geen cykel) A = A {e}; Het resultaat hangt af van de volgorde!

35 Algoritme van Kruskal Bekijk de kanten van licht naar zwaar Voeg steeds de kant toe als hij geen cykel introduceert Cykels testen: Union-Find! Sort(edges); foreach(vertex v) MakeSet(v); foreach(edge e) if(findrep(e.a) FindRep(e.B)) resultaat.add(e); Union(e.A, e.b);

36 Algoritme van Kruskal Bekijk de kanten van licht naar zwaar Voeg steeds de kant toe als hij geen cykel introduceert Cykels testen: Union-Find! Sort(edges); foreach(vertex v) MakeSet(v); foreach(edge e) if(findrep(e.a) FindRep(e.B)) resultaat.add(e); Union(e.A, e.b); Sort is O m log m. O(m) union find-operaties kosten O m α m. Sorteren domineert. Totaal: O m log m = O(m log n)

37 Voorbeeld Kruskal HG IC GF AB CF IG CD HI AH BC DE FE

38 Voorbeeld Kruskal HG: A B C D E F GH I IC GF AB CF IG CD HI AH BC DE FE

39 Voorbeeld Kruskal HG: A B C D E F GH I IC: A B CI D E F GH GF AB CF IG CD HI AH BC DE FE

40 Voorbeeld Kruskal HG: A B C D E F GH I IC: A B CI D E F GH GF: A B CI D E FGH AB CF IG CD HI AH BC DE FE

41 Voorbeeld Kruskal HG: A B C D E F GH I IC: A B CI D E F GH GF: A B CI D E FGH AB: AB CI D E FGH CF IG CD HI AH BC DE FE

42 Voorbeeld Kruskal HG: A B C D E F GH I IC: A B CI D E F GH GF: A B CI D E FGH AB: AB CI D E FGH CF: AB CFGHI D E IG CD HI AH BC DE FE

43 Voorbeeld Kruskal HG: A B C D E F GH I IC: A B CI D E F GH GF: A B CI D E FGH AB: AB CI D E FGH CF: AB CFGHI D E IG: niks CD HI AH BC DE FE

44 Voorbeeld Kruskal HG: A B C D E F GH I IC: A B CI D E F GH GF: A B CI D E FGH AB: AB CI D E FGH CF: AB CFGHI D E IG: niks CD: AB CDFGHI E HI AH BC DE FE

45 Voorbeeld Kruskal HG: A B C D E F GH I IC: A B CI D E F GH GF: A B CI D E FGH AB: AB CI D E FGH CF: AB CFGHI D E IG: niks CD: AB CDFGHI E HI: niks AH BC DE FE

46 Voorbeeld Kruskal HG: A B C D E F GH I IC: A B CI D E F GH GF: A B CI D E FGH AB: AB CI D E FGH CF: AB CFGHI D E IG: niks CD: AB CDFGHI E HI: niks AH: ABCDFGHI E BC DE FE

47 Voorbeeld Kruskal HG: A B C D E F GH I IC: A B CI D E F GH GF: A B CI D E FGH AB: AB CI D E FGH CF: AB CFGHI D E IG: niks CD: AB CDFGHI E HI: niks AH: ABCDFGHI E BC: niks DE FE

48 Voorbeeld Kruskal HG: A B C D E F GH I IC: A B CI D E F GH GF: A B CI D E FGH AB: AB CI D E FGH CF: AB CFGHI D E IG: niks CD: AB CDFGHI E HI: niks AH: ABCDFGHI E BC: niks DE: ABCDEFGHI FE

49 Voorbeeld Kruskal HG: A B C D E F GH I IC: A B CI D E F GH GF: A B CI D E FGH AB: AB CI D E FGH CF: AB CFGHI D E IG: niks CD: AB CDFGHI E HI: niks AH: ABCDFGHI E BC: niks DE: ABCDEFGHI FE: niks

50 Correctheid van Kruskal Lemma: gegeven MST T van graaf (V, E). Stel dat A T. Zij e E een lichtste kant zodat A {e} cykelvrij is (en e A). Dan bestaat er MST T zodat A T en e T. Bovendien geldt dat T T e. Bewijs: Als e T neem T = T Als e T bevat T {e} een cykel A {e} is cykelvrij dus de cykel bevat kant f A, f e A {f} is cykelvrij: A f T en T is een boom e is een lichtste kant met die eigenschap dus w e w(f) Dus T = e T\ f T e is een minimale(re) MST want w T = w T + w e w f w(t).

51 Correctheid van Kruskal Het lemma is niet genoeg. Bewijs met invariant (soort inductie) initialisatie: E = {e 1, e 2,, en}, A 0 = for(i = 1 to n) invariant: A i is uit te breiden met e i t/m e n tot MST if(e i voegt geen cykel toe) else A i+1 = A i e A i+1 = A i Wil: invariant is nu waar voor i + 1 In het begin is de invariant waar (E is een verbonden graaf)

52 Correctheid van Kruskal for(i = 1 to n) invariant: A i is uit te breiden met e i t/m e n tot MST if(e i voegt geen cykel toe) A i+1 = A i e else A i+1 = A i Formeel er is MST T zodat A i T A i {e i, e n } Stel de invariant is waar voor zekere i Dan is er een MST T zodat A i T A i {e i, e n }

53 Correctheid van Kruskal for(i = 1 to n) invariant: A i is uit te breiden met e i t/m e n tot MST if(e i voegt geen cykel toe) A i+1 = A i e else A i+1 = A i Formeel er is MST T zodat A i T A i {e i, e n } Stel de invariant is waar voor zekere i Dan is er een MST T zodat A i T A i {e i, e n } Als het if-statement false is (A i e i bevat een cykel): A i+1 T is zeker waar want A i = A i+1 T A i+1 {e i+1, e n } geldt ook want e i kan geen element van T zijn, T is cykelvrij en bevat A i en A i e i is niet cykelvrij

54 Correctheid van Kruskal for(i = 1 to n) invariant: A i is uit te breiden met e i t/m e n tot MST if(e i voegt geen cykel toe) A i+1 = A i e else A i+1 = A i Formeel er is MST T zodat A i T A i {e i, e n } Stel de invariant is waar voor zekere i Dan is er een MST T zodat A i T A i {e i, e n } Als het if-statement true is (A i e i is cykelvrij) roepen we het lemma in. Er is een MST T met A i e i T T e i. Lemma: gegeven MST T van graaf (V, E). Stel dat A T. Zij e E een lichtste kant zodat A {e} cykelvrij is (en e A). Dan bestaat er MST T zodat A T en e T. Bovendien geldt dat T T e.

55 Correctheid van Kruskal for(i = 1 to n) invariant: A i is uit te breiden met e i t/m e n tot MST if(e i voegt geen cykel toe) A i+1 = A i e else A i+1 = A i Formeel er is MST T zodat A i T A i {e i, e n } Stel de invariant is waar voor zekere i Dan is er een MST T zodat A i T A i {e i, e n } Als het if-statement true is (A i e i is cykelvrij) roepen we het lemma in. Er is een MST T met A i e i T T e i. A i+1 = A i e i T dus we hoeven enkel te checken dat T A i+1 {e i+1, e n } Dat kan: T T e i A i e i, e n = A i e i e i+1, e n = A i+1 {e i+1, e n }

56 Correctheid van Kruskal initialisatie: E = {e 1, e 2,, en}, A 0 = for(i = 1 to n) invariant: A i is uit te breiden met e i t/m e n tot MST if(e i voegt geen cykel toe) else A i+1 = A i e A i+1 = A i bewezen: invariant is nog steeds waar (na ophogen i) Zodra de for-loop klaar is dan is A n+1 met e n+1 t/m e n uit te breiden tot MST dus is A n+1 een MST.

57 Is de MST uniek? Nee, maar wel als de kantgewichten uniek zijn! Stel G = (V, E, w) is een ongerichte gewogen graaf en w is injectief (verschillende kanten naar verschillende waarden). Stel we hebben T, U E MST s van G en ze zijn niet hetzelfde. Dan zijn er kanten die in precies 1 van T, U zitten. Bekijk de laagste kant e die niet in beide zit. Stel z.v.a. dat e T. Dan bevat U {e} een cykel. e T en T bevat géén cykel dus 1 cykelkant f zit alleen in U.

58 Is de MST uniek? Nee, maar wel als de kantgewichten uniek zijn! Stel G = (V, E, w) is een ongerichte gewogen graaf en w is injectief (verschillende kanten naar verschillende waarden). Stel we hebben T, U E MST s van G en ze zijn niet hetzelfde. Dan zijn er kanten die in precies 1 van T, U zitten. Bekijk de laagste kant e die niet in beide zit. Stel z.v.a. dat e T. Dan bevat U {e} een cykel. e T en T bevat géén cykel dus 1 cykelkant f zit alleen in U. Per constructie w f > w(e) dus e U\ f is een MST met lager gewicht dan U. Tegenspraak! T en U zijn hetzelfde.

59 Kroegentocht of TSP Travelling Salesman Bepaal een volgorde (rondtocht) om zo snel mogelijk een aantal knopen te bezoeken in een graaf. Handelsreiziger: wil zijn product in een aantal steden verkopen, wat is de kortste route. Is een moeilijk probleem: NP-compleet Waarschijnlijk kost het exponentiële tijd om op te lossen

60 TSP-Approximatie Met behulp van MST kunnen we TSP benaderen

61 TSP-Approximatie Met behulp van MST kunnen we TSP benaderen TSP is hoogstens 2 zo lang als MST

62 TSP-Approximatie Met behulp van MST kunnen we TSP benaderen TSP is hoogstens 2 zo lang als MST Maar ook: MST is hoogstens zo groot als TSP Laat kanten weg uit TSP tot je een MST hebt Ergo: MST TSP 2 MST MST 2 approximeert TSP Werkt alleen als symmetrisch Approximatie (begrensd) vs. heuristiek

63 Prim VS Kruskal Prim: breidt 1 boom steeds verder uit (als Dijkstra) Kruskal: laat boom groeien uit meerdere stukjes Prim Kruskal Datastructuur Priority Queue Union-Find Looptijd O(m log n) of O(m + n log n) O(m log n) (sorteren) Extra ruimte O(n) O(m) Ik vind Kruskal beter: makkelijk te implementeren en vaak betere constante in de grote O Het is een kwestie van smaak

64 Conclusie Minimum Spanning Tree: lichtste, verbonden deelgraaf Algoritme van Prim of Kruskal Je kan van alles bewijzen als je een kant toevoegt en de cykel weer doorbreekt Lokale eigenschappen greedy algoritme Toepassingen van MST: Lege collegezaal (LAN-party!) Netwerk-broadcast Handschriftherkenning TSP-approximatie (kroegentocht)

Twaalfde college complexiteit. 11 mei 2012. Overzicht, MST

Twaalfde college complexiteit. 11 mei 2012. Overzicht, MST College 12 Twaalfde college complexiteit 11 mei 2012 Overzicht, MST 1 Agenda voor vandaag Minimum Opspannende Boom (minimum spanning tree) als voorbeeld van greedy algoritmen Overzicht: wat voor technieken

Nadere informatie

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.

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. Grafen Grafen Een graaf bestaat uit een verzameling punten (ook wel knopen, of in het engels vertices genoemd) en een verzameling kanten (edges) of pijlen (arcs), waarbij de kanten en pijlen tussen twee

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 8 Leo van Iersel Technische Universiteit Delft 2 november 2016 Leo van Iersel (TUD) TW2020 Optimalisering 2 november 2016 1 / 28 Minimum Opspannende Boom (Minimum Spanning

Nadere informatie

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

Tiende college algoritmiek. 13/21 april Gretige Algoritmen Algoritme van Dijkstra Algoritmiek 017/Gretige Algoritmen Tiende college algoritmiek 13/1 april 017 Gretige Algoritmen Algoritme van Dijkstra 1 Algoritmiek 017/Gretige Algoritmen Muntenprobleem Gegeven onbeperkt veel munten

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 8 Leo van Iersel Technische Universiteit Delft 28 oktober 2015 Leo van Iersel (TUD) TW2020 Optimalisering 28 oktober 2015 1 / 25 Definitie Een boom is een samenhangende

Nadere informatie

Kortste Paden. Algoritmiek

Kortste Paden. Algoritmiek Kortste Paden Toepassingen Kevin Bacon getal Six degrees of separation Heeft een netwerk de small-world eigenschap? TomTom / Google Maps 2 Kortste paden Gerichte graaf G=(N,A), en een lengte L(v,w) voor

Nadere informatie

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

Tentamen Discrete Wiskunde 1 10 april 2012, 14:00 17:00 uur Tentamen Discrete Wiskunde 0 april 0, :00 7:00 uur Schrijf je naam op ieder blad dat je inlevert. Onderbouw je antwoorden, met een goede argumentatie zijn ook punten te verdienen. Veel succes! Opgave.

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2006 2007, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. 1. Verzamelingen:

Nadere informatie

definities recursieve datastructuren college 13 plaatjes soorten Graph = ( V, E ) V vertices, nodes, objecten, knopen, punten

definities recursieve datastructuren college 13 plaatjes soorten Graph = ( V, E ) V vertices, nodes, objecten, knopen, punten recursieve datastructuren college graphs definities Graph = ( V, E ) V vertices, nodes, objecten, knopen, punten E edges, arcs, kanten, pijlen, lijnen verbinding tussen knopen Voorbeelden steden en verbindingswegen

Nadere informatie

Discrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie

Discrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie Discrete Structuren Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 3 maart 2008 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 11 Leo van Iersel Technische Universiteit Delft 25 november 2015 Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 1 / 28 Vandaag Vraag Voor welke problemen

Nadere informatie

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 23 februari 2009 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren Week 3 en 4:

Nadere informatie

Tiende college algoritmiek. 26 april Gretige algoritmen

Tiende college algoritmiek. 26 april Gretige algoritmen Algoritmiek 01/10 College 10 Tiende college algoritmiek april 01 Gretige algoritmen 1 Algoritmiek 01/10 Muntenprobleem Gegeven onbeperkt veel munten van d 1,d,...d m eurocent, en een te betalen bedrag

Nadere informatie

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

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen. WIS14 1 14 Grafen 14.1 Grafen Gerichte grafen Voor een verzameling V is een binaire relatie op V een verzameling geordende paren van elementen van V. Voorbeeld: een binaire relatie op N is de relatie KleinerDan,

Nadere informatie

2WO12: Optimalisering in Netwerken

2WO12: Optimalisering in Netwerken 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

Nadere informatie

Algoritmiek. 2 februari Introductie

Algoritmiek. 2 februari Introductie College 1 Algoritmiek 2 februari 2017 Introductie 1 Introductie -1- docent: Rudy van Vliet rvvliet@liacs.nl assistent werkcollege: Bart van Strien bartbes@gmail.com website: http://www.liacs.leidenuniv.nl/~vlietrvan1/algoritmiek/

Nadere informatie

NP-Volledigheid. Wil zo snel mogelijke algoritmes om problemen op te lossen. De looptijd is polynomiaal: O n k - dat is heel erg mooi

NP-Volledigheid. Wil zo snel mogelijke algoritmes om problemen op te lossen. De looptijd is polynomiaal: O n k - dat is heel erg mooi NP-Volledigheid Wil zo snel mogelijke algoritmes om problemen op te lossen Gezien: selectie [O(n)], DFS [O(n + m)], MaxFlow [O nm n + m ], MST [O(n + m)], etc De looptijd is polynomiaal: O n k - dat is

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 12 Leo van Iersel Technische Universiteit Delft 7 december 2016 Leo van Iersel (TUD) TW2020 Optimalisering 7 december 2016 1 / 25 Volgende week: Study guide Vragenuurtje

Nadere informatie

Algoritmen, Datastructuren en Complexiteit ( en ) Uitwerkingen

Algoritmen, Datastructuren en Complexiteit ( en ) Uitwerkingen Universiteit Twente 2009-2010/2 Afdeling Informatica, Faculteit EWI Tentamen dinsdag 19 januari 2010, 8.45-12.15 Algoritmen, Datastructuren en Complexiteit (214020 en 214025) Uitwerkingen Bij dit tentamen

Nadere informatie

Grafen deel 2 8/9. Zesde college

Grafen deel 2 8/9. Zesde college Grafen deel 2 8/9 Zesde college 1 Een Eulercircuit is een gesloten wandeling die elke lijn precies één keer bevat. traversable trail all edges distinct 8.5 rondwandeling zeven bruggenprobleem van Köningsbergen

Nadere informatie

(On)Doenlijke problemen

(On)Doenlijke problemen Fundamentele Informatica In3 005 Deel 2 College 1 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit Informatie Technologie en Systemen Overzicht Inleiding - Relatie Deel 1 en Deel 2 - Doenlijke

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 7 Leo van Iersel Technische Universiteit Delft 26 oktober 2016 Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 1 / 28 Deze week: analyseren van algoritmes Hoe

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2008 2009, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees elke

Nadere informatie

Tiende college algoritmiek. 14 april Dynamisch Programmeren, Gretige Algoritmen, Kortste Pad met BFS

Tiende college algoritmiek. 14 april Dynamisch Programmeren, Gretige Algoritmen, Kortste Pad met BFS Algoritmiek 2016/Dynamisch Programmeren Tiende college algoritmiek 14 april 2016 Dynamisch Programmeren, Gretige Algoritmen, Kortste Pad met BFS 1 Algoritmiek 2016/Dynamisch Programmeren Houtzaagmolen

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 7 Leo van Iersel Technische Universiteit Delft 21 oktober 2015 Leo van Iersel (TUD) TW2020 Optimalisering 21 oktober 2015 1 / 20 Deze week: algoritmes en complexiteit

Nadere informatie

Twaalfde college algoritmiek. 12 mei Branch & Bound

Twaalfde college algoritmiek. 12 mei Branch & Bound Twaalfde college algoritmiek 12 mei 2016 Branch & Bound 1 Branch and bound -1- Branch & bound is alleen toepasbaar op optimalisatieproblemen genereert oplossingen stap voor stap en houdt de tot dusver

Nadere informatie

Datastructuren en algoritmen voor CKI

Datastructuren en algoritmen voor CKI Datastructuren en algoritmen voor CKI Jeroen Bransen 1 14 oktober 2015 1 met dank aan Hans Bodlaender en Gerard Tel Willekeurig gebouwde zoekbomen Willekeurig gebouwde zoekbomen Hoogte van zoekboom met

Nadere informatie

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

Elfde college algoritmiek. 16 mei Dijkstra, Gretige algoritmen en Branch & Bound Algoritmiek 013/11 College 11 Elfde college algoritmiek 1 mei 013 Dijkstra, Gretige algoritmen en Branch & Bound 1 Algoritmiek 013/11 Voorbeeld -1- A B C D E F G H 9 7 5 A B C D E F G H 0 9 9 7 5 A B C

Nadere informatie

Overzicht. Inleiding. Toepassingen. Verwante problemen. Modellering. Exacte oplosmethode: B&B. Insertie heuristieken. Local Search

Overzicht. Inleiding. Toepassingen. Verwante problemen. Modellering. Exacte oplosmethode: B&B. Insertie heuristieken. Local Search Overzicht Inleiding Toepassingen Verwante problemen Modellering Exacte oplosmethode: B&B Insertie heuristieken Local Search Handelsreizigersprobleem 1 Cyclische permutatie van steden b 3 77 a 93 21 42

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 1 Leo van Iersel Technische Universiteit Delft 7 september 2016 Leo van Iersel (TUD) TW2020 Optimalisering 7 september 2016 1 / 40 Opzet vak Woensdag: hoorcollege 13:45-15:30

Nadere informatie

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

Activiteit 9. Modderstad Minimaal Opspannende Bomen. Samenvatting. Kerndoelen. Leeftijd. Vaardigheden. Materialen Activiteit 9 Modderstad Minimaal Opspannende Bomen Samenvatting Onze maatschappij is verbonden middels heel veel netwerken: telefoonnet, elektriciteitsnet, de riolering, computernetwerk, en het wegennet.

Nadere informatie

Oefententamen in2505-i Algoritmiek

Oefententamen in2505-i Algoritmiek TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Oefententamen in2505-i Algoritmiek Maart 2007 Het gebruik van boek of aantekeningen tijdens dit tentamen is niet toegestaan.

Nadere informatie

Bomen. 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen

Bomen. 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen 10 Bomen 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen 1 Baarn Hilversum Soestdijk Den Dolder voorbeelden route boom beslisboom Amersfoort Soestduinen + 5 * + 5.1 5.2 5.3 5.4 2 3 * * 2 5.3.1

Nadere informatie

Elfde college algoritmiek. 21 april Dijkstra en Branch & Bound

Elfde college algoritmiek. 21 april Dijkstra en Branch & Bound Algoritmiek 011/11 College 11 Elfde college algoritmiek 1 april 011 Dijkstra en Branch & Bound 1 Algoritmiek 011/11 Kortste paden Gegeven een graaf G met gewichten op de takken, en een beginknoop s. We

Nadere informatie

De volgende opgave gaat over de B-bomen van het college, waar sleutels zowel in de bladeren als ook in de interne knopen opgeslagen worden.

De volgende opgave gaat over de B-bomen van het college, waar sleutels zowel in de bladeren als ook in de interne knopen opgeslagen worden. . a) Een Fibonacci boom (niet te verwarren met een Fibonacci queue) van hoogte h is een AVL-boom van hoogte h met zo weinig mogelijk knopen. i. Geefvoorh =,,,,eenfibonacciboomvanhoogteh(eenboombestaande

Nadere informatie

Begrenzing van het aantal iteraties in het max-flow algoritme

Begrenzing van het aantal iteraties in het max-flow algoritme Begrenzing van het aantal iteraties in het max-flow algoritme Het oplossen van het maximum stroom probleem met behulp van stroomvermeerderende paden werkt, maar het aantal iteraties kan aardig de spuigaten

Nadere informatie

Divide & Conquer: Verdeel en Heers. Algoritmiek

Divide & Conquer: Verdeel en Heers. Algoritmiek Divide & Conquer: Verdeel en Heers Algoritmiek Algoritmische technieken Trucs; methoden; paradigma s voor het ontwerp van algoritmen Gezien: Dynamisch Programmeren Hierna: Greedy Vandaag: Divide & Conquer

Nadere informatie

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

Universiteit Utrecht Betafaculteit. Examen Discrete Wiskunde II op donderdag 6 juli 2017, uur. Universiteit Utrecht Betafaculteit Examen Discrete Wiskunde II op donderdag 6 juli 2017, 13.30-16.30 uur. De opgaven dienen duidelijk uitgewerkt te zijn en netjes ingeleverd te worden. Schrijf op elk ingeleverd

Nadere informatie

1.2 Bomen Algemeen 1.2. BOMEN 7

1.2 Bomen Algemeen 1.2. BOMEN 7 1.2. BOMEN 7 1.2 Bomen 1.2.1 Algemeen Beschouw eerst een niet-gerichte graaf. Een boom is een samenhangende graaf die geen kringen bevat. Een boom wordt meestal genoteerd met de letter T (tree). Een bos

Nadere informatie

2WO12: Optimalisering in Netwerken

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

Nadere informatie

software constructie recursieve datastructuren college 15 5 stappen plan ontwerpen de software bestaat uiteindelijk uit datatypen functies

software constructie recursieve datastructuren college 15 5 stappen plan ontwerpen de software bestaat uiteindelijk uit datatypen functies software constructie recursieve datastructuren college 15 software engineering highlights 1 de software bestaat uiteindelijk uit datatypen functies verbindingen geven gebruik aan main is de top van het

Nadere informatie

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

Universiteit Utrecht Betafaculteit. Examen Discrete Wiskunde op donderdag 13 april 2017, uur. Universiteit Utrecht Betafaculteit Examen Discrete Wiskunde op donderdag 13 april 2017, 14.30-17.30 uur. De opgaven dienen duidelijk uitgewerkt te zijn en netjes ingeleverd te worden. Schrijf op elk ingeleverd

Nadere informatie

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 5 juni 2007, uur

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 5 juni 2007, uur Uitgebreide uitwerking tentamen Algoritmiek Dinsdag juni 00, 0.00.00 uur Opgave. a. Een toestand bestaat hier uit een aantal stapels, met op elk van die stapels een aantal munten (hooguit n per stapel).

Nadere informatie

Netwerkstroming. Algoritmiek

Netwerkstroming. Algoritmiek Netwerkstroming Netwerkstroming Toepassingen in Logistiek Video-streaming Subroutine in algoritmen 2 Vandaag Netwerkstroming: wat was dat ook alweer? Minimum Snede Maximum Stroming Stelling Variant: Edmonds-Karp

Nadere informatie

Het minimale aantal sleutels op niveau h is derhalve

Het minimale aantal sleutels op niveau h is derhalve 1 (a) In een B-boom van orde m bevat de wortel minimaal 1 sleutel en maximaal m 1 sleutels De andere knopen bevatten minimaal m 1 sleutels en maximaal m 1 sleutels (b) In een B-boom van orde 5 bevat elke

Nadere informatie

public boolean equaldates() post: returns true iff there if the list contains at least two BirthDay objects with the same daynumber

public boolean equaldates() post: returns true iff there if the list contains at least two BirthDay objects with the same daynumber Tentamen TI1310 Datastructuren en Algoritmen, 15 april 2011, 9.00-12.00 TU Delft, Faculteit EWI, Basiseenheid Software Engineering Bij het tentamen mag alleen de boeken van Goodrich en Tamassia worden

Nadere informatie

Samenvatting college 1-12

Samenvatting college 1-12 Samenvatting college 1-12 Probleemformulering Duidelijk definiëren van beslissingsvariabelen Zinvolle namen voor variabelen bv x ij voor ingrediënt i voor product j, niet x 1,..., x 20 Beschrijving van

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2009 2010, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Grafen en BFS. Mark Lekkerkerker. 24 februari 2014

Grafen en BFS. Mark Lekkerkerker. 24 februari 2014 Grafen en BFS Mark Lekkerkerker 24 februari 2014 1 Grafen Wat is een graaf? Hoe representeer je een graaf? 2 Breadth-First Search Het Breadth-First Search Algoritme Schillen De BFS boom 3 Toepassingen

Nadere informatie

2WO12: Optimalisering in Netwerken

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

Nadere informatie

Greedy algorithms. Algoritmiek

Greedy algorithms. Algoritmiek Greedy algorithms Vandaag Greedy algorithms: wat zijn dat? Voorbeelden: gepast betalen met euromunten AB-rijtje Knapsack probleem Twee scheduling problemen Later: meer voorbeelden, algemene structuur,

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2008 2009, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees elke

Nadere informatie

Hoofdstuk 13: Integer Lineair Programmeren

Hoofdstuk 13: Integer Lineair Programmeren Hoofdstuk 13: Integer Lineair Programmeren Vandaag: Wat is Integer Lineair Programmeren (ILP)? Relatie tussen ILP en LP Voorbeeld 1: Minimum Spanning Tree (MST) Voorbeeld 2: Travelling Salesman Problem

Nadere informatie

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

Overzicht. 1. Definities. 2. Basisalgoritme. 3. Label setting methoden. 4. Label correcting methoden. 5. Ondergrenzen. 6. Overzicht 1. Definities 2. Basisalgoritme 3. Label setting methoden 4. Label correcting methoden 5. Ondergrenzen 6. Resultaten Kortste Pad Probleem 1 Definities Een graaf G = (V, E) bestaat uit een verzameling

Nadere informatie

l e x e voor alle e E

l e x e voor alle e E Geselecteerde uitwerkingen Werkcollege Introduceer beslissingsvariabelen x e met x e = als lijn e in de boom zit en anders x e = 0. De doelfunctie wordt: min e E l e x e Voor elke deelverzameling S V met

Nadere informatie

Programmeermethoden. Recursie. week 11: november kosterswa/pm/

Programmeermethoden. Recursie. week 11: november kosterswa/pm/ Programmeermethoden Recursie week 11: 21 25 november 2016 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Derde programmeeropgave 1 Het spel Gomoku programmeren we als volgt: week 1: pointerpracticum,

Nadere informatie

Netwerkstroming. Algoritmiek

Netwerkstroming. Algoritmiek Netwerkstroming Vandaag Netwerkstroming: definitie en toepassing Het rest-netwerk Verbeterende paden Ford-Fulkerson algoritme Minimum Snede Maximum Stroming Stelling Variant: Edmonds-Karp Toepassing: koppelingen

Nadere informatie

Fundamentele Informatica

Fundamentele Informatica Fundamentele Informatica (IN3120 en IN3005 DOI nwe stijl) 20 augustus 2004, 9.00 11.00 uur Het tentamen IN3120 bestaat uit 10 meerkeuzevragen en 2 open vragen. Voor de meerkeuzevragen kunt u maximaal 65

Nadere informatie

Week 1 20-02-2013. Hier vind je uitwerkingen van enkele opgaven uit het dictaat Grafen: Kleuren en Routeren.

Week 1 20-02-2013. Hier vind je uitwerkingen van enkele opgaven uit het dictaat Grafen: Kleuren en Routeren. Combinatorische Optimalisatie, 2013 Week 1 20-02-2013 Hier vind je uitwerkingen van enkele opgaven uit het dictaat Grafen: Kleuren en Routeren. Opgave 1.16 Bewijs dat elke graaf een even aantal punten

Nadere informatie

Optimalisering/Besliskunde 1. College 1 3 september, 2014

Optimalisering/Besliskunde 1. College 1 3 september, 2014 Optimalisering/Besliskunde 1 College 1 3 september, 2014 Algemene informatie College: woensdag 9:00-10:45: Gorlaeus C1/C2, Leiden vrijdag: werkcollege Leiden en Delft Vier verplichte huiswerkopgaven Informatie

Nadere informatie

Dynamisch Programmeren III. Algoritmiek

Dynamisch Programmeren III. Algoritmiek Dynamisch Programmeren III Vandaag Dynamisch programmeren met wat lastiger voorbeelden: Handelsreiziger Longest common subsequence Optimale zoekbomen Knapsack 2 - DP2 Handelsreiziger Een handelsreiziger

Nadere informatie

1 Complexiteit. of benadering en snel

1 Complexiteit. of benadering en snel 1 Complexiteit Het college van vandaag gaat over complexiteit van algoritmes. In het boek hoort hier hoofdstuk 8.1-8.5 bij. Bij complexiteitstheorie is de belangrijkste kernvraag: Hoe goed is een algoritme?

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede kandidatuur Informatica Academiejaar 2004 2005, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. 1. Binomiale

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 13 Leo van Iersel Technische Universiteit Delft 9 december 2015 Leo van Iersel (TUD) TW2020 Optimalisering 9 december 2015 1 / 13 Vraag Wat moet ik kennen en kunnen voor

Nadere informatie

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Giso Dal (0752975) Pagina s 5 7 1 Deelverzameling Representatie

Nadere informatie

Semantiek (2IT40) Jos Baeten. HG 7.19 tel.: Hoorcollege 3 (12 april 2007)

Semantiek (2IT40) Jos Baeten.  HG 7.19 tel.: Hoorcollege 3 (12 april 2007) Jos Baeten josb@wintuenl http://wwwwintuenl/~josb/ HG 719 tel: 040 247 5155 Hoorcollege 3 (12 april 2007) Voorbeeld [Bewijstechniek 2 niet altijd succesvol] Executie van commands is deterministisch: c

Nadere informatie

Radboud Universiteit Nijmegen

Radboud Universiteit Nijmegen Radboud Universiteit Nijmegen Faculteit der Natuurwetenschappen, Wiskunde en Informatica Kubische grafen met integraal spectrum Naam: Studentnummer: Studie: Begeleider: Tweede lezer: Daan van Rozendaal

Nadere informatie

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

3. Elke lijn van een graaf draagt twee bij tot de som van alle graden. Antwoorden Doeboek 4 Grafen.. De middelste en de rechtergraaf.. Een onsamenhangende graaf met vijf punten en vijf lijnen: Teken een vierhoek met één diagonaal. Het vijfde punt is niet verbonden met een

Nadere informatie

Het Chromatische Polynoom. N.C. A Campo

Het Chromatische Polynoom. N.C. A Campo Het Chromatische Polynoom N.C. A Campo 1 juli 01 Hoofdstuk 1 Inleiding Stel de universiteit wilt nog meer maatregelen zodat men sneller gaat studeren en vraagt de netwerkbeheerder om het sociale media

Nadere informatie

Opmerking vooraf: let op, de terminologie is in elk boek weer anders!

Opmerking vooraf: let op, de terminologie is in elk boek weer anders! Grafen Opmerking vooraf: let op, de terminologie is in elk boek weer anders! 1. Inleiding Een (ongerichte) graaf (graph) G = (V, E) bestaat uit een eindige, nietlege verzameling V van punten (vertices),

Nadere informatie

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

Discrete modellen in de toegepaste wiskunde (WISB136) Uitwerkingen proeftentamen. Discrete modellen in de toegepaste wiskunde (WISB6) Uitwerkingen proeftentamen. Docent: Rob H. Bisseling april 202. Begin met een matching M = {x y, x y, x 6 y 6 } aangegeven door de vette lijnen. x De

Nadere informatie

Algoritmes en Priemgetallen. Hoe maak je een sleutelpaar voor RSA?

Algoritmes en Priemgetallen. Hoe maak je een sleutelpaar voor RSA? Algoritmes en Priemgetallen Hoe maak je een sleutelpaar voor RSA? Het recept van RSA Kies p q priemgetallen en bepaal N = pq Kies e Z N (publieke sleutel) Bepaal d e 1 mod φ N (privésleutel) x ed x kφ

Nadere informatie

4EE11 Project Programmeren voor W. College 3, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e

4EE11 Project Programmeren voor W. College 3, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 4EE11 Project Programmeren voor W College 3, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 1 Onderwerpen Grotere programma s ontwerpen/maken Datastructuren en algoritmes 2 Evolutie,

Nadere informatie

Algoritmes in ons dagelijks leven. Leve de Wiskunde! 7 April 2017 Jacobien Carstens

Algoritmes in ons dagelijks leven. Leve de Wiskunde! 7 April 2017 Jacobien Carstens Algoritmes in ons dagelijks leven Leve de Wiskunde! 7 April 2017 Jacobien Carstens Wat is een algoritme? Een algoritme is een eindige reeks instructies die vanuit een gegeven begintoestand naar een beoogd

Nadere informatie

Automaten. Informatica, UvA. Yde Venema

Automaten. Informatica, UvA. Yde Venema Automaten Informatica, UvA Yde Venema i Inhoud Inleiding 1 1 Formele talen en reguliere expressies 2 1.1 Formele talen.................................... 2 1.2 Reguliere expressies................................

Nadere informatie

2WO12: Optimalisering in Netwerken

2WO12: Optimalisering in Netwerken 2WO12: Optimalisering in Netwerken Leo van Iersel Technische Universiteit Eindhoven (TUE) en Centrum Wiskunde & Informatica (CWI) 3 en 6 februari 2014 Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in

Nadere informatie

Tree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011

Tree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011 15 november 2011 Tree traversal Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 15 november 2011 ODE/FHTBM Tree traversal 15 november 2011 1/22 1 ODE/FHTBM Tree

Nadere informatie

Recapitulatie: Ongeïnformeerd zoeken. Zoekalgoritmen ( ) College 2: Ongeïnformeerd zoeken. Dynamische breadth-first search

Recapitulatie: Ongeïnformeerd zoeken. Zoekalgoritmen ( ) College 2: Ongeïnformeerd zoeken. Dynamische breadth-first search Recapitulatie: Ongeïnformeerd zoeken Zoekalgoritmen (009 00) College : Ongeïnformeerd zoeken Peter de Waal, Tekst: Linda van der Gaag een algoritme voor ongeïnformeerd zoeken doorzoekt de zoekruimte van

Nadere informatie

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 22 februari 2009 INDUCTIE & RECURSIE Paragrafen 4.3-4.6 Discrete Structuren Week 3:

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 9 Leo van Iersel Technische Universiteit Delft 11 november 2015 Leo van Iersel (TUD) TW2020 Optimalisering 11 november 2015 1 / 22 Mededelingen Huiswerk 2 nagekeken Terug

Nadere informatie

Programmeermethoden. Recursie. Walter Kosters. week 11: november kosterswa/pm/

Programmeermethoden. Recursie. Walter Kosters. week 11: november kosterswa/pm/ Programmeermethoden Recursie Walter Kosters week 11: 20 24 november 2017 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Vierde programmeeropgave 1 De Grote getallen programmeren we als volgt: week 1: pointerpracticum,

Nadere informatie

Tentamen IN3105. Complexiteitstheorie. 16 april 2012, uur

Tentamen IN3105. Complexiteitstheorie. 16 april 2012, uur Faculteit Elektrotechniek, Wiskunde en Informatica Ti Delft Tentamen IN3105 Complexiteitstheorie 16 april 2012, 9.00-12.00 uur Dit tentamen bestaat uit 10 meerkeuzevragen, 5 korte (open) vragen en 2 open

Nadere informatie

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

2 beslissen in netwerken. Wiskunde D. Keuzevak beslissen onderdeel: beslissen in netwerken. versie 4 vrijdag 16 november 2007 eslissen beslissen in netwerken Wiskunde Keuzevak beslissen onderdeel: beslissen in netwerken versie vrijdag november 00 Samenstelling Jan ssers ism Kerngroep Wiskunde indhoven ontys voorkennis: optimaliseren.

Nadere informatie

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

Transport-, Routing- en Schedulingproblemen. Wi4062TU / Wi487TU / a86g. Uitwerkingen 08-04-2005 Transport-, Routing- en Schedulingproblemen Wi4062TU / Wi487TU / a86g Uitwerkingen 08-04-2005 1 Transportprobleem Onderdeel a Fabriek 1 kan 120 ton staal fabriceren in 40 uur. Voor fabriek 2 is dit 150

Nadere informatie

Optimalisering/Besliskunde 1. College 1 2 september, 2015

Optimalisering/Besliskunde 1. College 1 2 september, 2015 Optimalisering/Besliskunde 1 College 1 2 september, 2015 Algemene informatie College: woensdag 13:45-15:30: Leiden C1 en C2: Gorlaeus gebouw Zaal DS: De Sitterzaal, Oort gebouw Werkcollege: vrijdag: Leiden

Nadere informatie

We beginnen met de eigenschappen van de gehele getallen.

We beginnen met de eigenschappen van de gehele getallen. II.2 Gehele getallen We beginnen met de eigenschappen van de gehele getallen. Axioma s voor Z De gegevens zijn: (a) een verzameling Z; (b) elementen 0 en 1 in Z; (c) een afbeelding +: Z Z Z, de optelling;

Nadere informatie

Lijstkleuring van grafen

Lijstkleuring van grafen C.J. Meerman Lijstkleuring van grafen Bachelorscriptie 10 juni 2010 Email: cjmeerman@gmail.com Scriptiebegeleider: Dr. D. C. Gijswijt Mathematisch Instituut, Universiteit Leiden Inhoudsopgave 1 Inleiding

Nadere informatie

Eerste deeltoets Algoritmiek 4 maart 2015, , Educ-β.

Eerste deeltoets Algoritmiek 4 maart 2015, , Educ-β. Eerste deeltoets Algoritmiek 4 maart 2015, 8.30 10.30, Educ-β. Motiveer je antwoorden kort! Zet je mobiel uit. Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe

Nadere informatie

INHOUD MODULE voor WISKUNDE D voor het vwo

INHOUD MODULE voor WISKUNDE D voor het vwo INHOUD MODULE voor WISKUNDE D voor het vwo DISCRETE WISKUNDE Hoofdstuk 1 Minimaal opspannende bomen blz 2 Hoofdstuk 2 Kortste pad (nog toe te voegen) blz 14 Hoofdstuk 3 TSP-probleem blz 15 3.1 Inleiding

Nadere informatie

Lijst-kleuringen in de grafentheorie

Lijst-kleuringen in de grafentheorie Lijst-kleuringen in de grafentheorie Berrie Bottelier 16 juli 2014 Bachelorscriptie Begeleiding: dr. Guus Regts 4 5 6 1 2 3 Korteweg-de Vries Instituut voor Wiskunde Faculteit der Natuurwetenschappen,

Nadere informatie

Minimaal opspannende bomen

Minimaal opspannende bomen Dit studiemateriaal is ontwikkeld door de kerngroep wiskunde D Delft en mag gratis gebruikt worden in het wiskundeonderwijs in het vo. Kerngroep wiskunde D Delft Liesbeth Bos Scala College Wim Caspers

Nadere informatie

Oefeningen voor de oefeningenles. Oefening 1

Oefeningen voor de oefeningenles. Oefening 1 Oefeningen voor de oefeningenles Oefening 1 Gegeven een arbitraire binaire zoekboom T met n toppen en een (andere of gelijke) binaire zoekboom T die ook n sleutels bevat. Beschrijf een algoritme dat in

Nadere informatie

Tree traversal. Ferd van Odenhoven. 15 november Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering. Doorlopen van bomen

Tree traversal. Ferd van Odenhoven. 15 november Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering. Doorlopen van bomen Tree traversal Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 15 november 2011 ODE/FHTBM Tree traversal 15 november 2011 1/22 1 ODE/FHTBM Tree traversal 15 november

Nadere informatie

Datastructuren. Analyse van algoritmen. José Lagerberg. FNWI, UvA. José Lagerberg (FNWI, UvA) Datastructuren 1 / 46

Datastructuren. Analyse van algoritmen. José Lagerberg. FNWI, UvA. José Lagerberg (FNWI, UvA) Datastructuren 1 / 46 Datastructuren Analyse van algoritmen José Lagerberg FNWI, UvA José Lagerberg (FNWI, UvA) Datastructuren 1 / 46 Datastructuren en Algoritmen Datastructuren, 6 ECTS eerstejaars Bachelor INF Datastructuren,

Nadere informatie

Uitwerkingen Sum of Us

Uitwerkingen Sum of Us Instant Insanity Uitwerkingen Sum of Us Opgave A: - Opgave B: Voor elk van de vier kubussen kun je een graaf maken die correspondeert met de desbetreffende kubus. Elk van deze grafen bevat drie lijnen.

Nadere informatie

Tijd is geen goede maatstaf, want is afhankelijk van computer waarop algoritme wordt gedraaid.

Tijd is geen goede maatstaf, want is afhankelijk van computer waarop algoritme wordt gedraaid. Complexiteit of efficiëntie van algoritmen Hoe meet je deze? Tijd is geen goede maatstaf, want is afhankelijk van computer waarop algoritme wordt gedraaid. Een betere maatstaf is het aantal berekeningsstappen

Nadere informatie

Practicumopgave 3: SAT-solver

Practicumopgave 3: SAT-solver Practicumopgave 3: SAT-solver Modelleren en Programmeren 2015/2016 Deadline: donderdag 7 januari 2016, 23:59 Introductie In het vak Inleiding Logica is onder andere de propositielogica behandeld. Veel

Nadere informatie

ALGORITMIEK. Keuzemodule Wiskunde B/D. Mark de Berg TU Eindhoven

ALGORITMIEK. Keuzemodule Wiskunde B/D. Mark de Berg TU Eindhoven ALGORITMIEK Keuzemodule Wiskunde B/D Mark de Berg TU Eindhoven Voorwoord Algoritmiek is het gebied binnen de informatica dat zich bezig houdt met het ontwerpen en analyseren van algoritmen en datastructuren.

Nadere informatie

public boolean egualdates() post: returns true i f f there i f the l i s t contains at least two BirthDay objects with the same daynumber

public boolean egualdates() post: returns true i f f there i f the l i s t contains at least two BirthDay objects with the same daynumber Tentamen TI1310 Datastructuren en Algoritmen, 15 april 2011, 9.00-12.00 TU Delft, Faculteit EWI, Basiseenheid Software Engineering Bij het tentamen mag alleen de boeken van Goodrich en Tamassia worden

Nadere informatie

String Matching. Algoritmiek

String Matching. Algoritmiek String Matching Algoritmiek String Matching Gegeven string (haystack): aabaabbabaaba zoek patroon abba (needle) 4 algoritmen: Naïef Rabin-Karp Eindige Automaat Knuth-Morris-Pratt 2 String Matching (formeel)

Nadere informatie