Minimum Spanning Tree

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)

Minimum Opspannende Bomen. Algoritmiek

Minimum Opspannende Bomen. Algoritmiek Minimum Opspannende Bomen Inhoud Het minimum opspannende bomen probleem Een principe om een minimum opspannende boom te laten groeien Twee greedy algoritmen + tijd en datastructuren: Het algoritme van

Nadere informatie

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

Discrete Wiskunde, College 12. Han Hoogeveen, Utrecht University

Discrete Wiskunde, College 12. Han Hoogeveen, Utrecht University Discrete Wiskunde, College 12 Han Hoogeveen, Utrecht University Dynamische programmering Het basisidee is dat je het probleem stap voor stap oplost Het probleem moet voldoen aan het optimaliteitsprincipe

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. 2 mei Gretige algoritmen, Dijkstra

Tiende college algoritmiek. 2 mei Gretige algoritmen, Dijkstra College 10 Tiende college algoritmiek mei 013 Gretige algoritmen, Dijkstra 1 Muntenprobleem Gegeven onbeperkt veel munten van d 1,d,...d m eurocent, en een te betalen bedrag van n (n 0) eurocent. Alle

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

Kortste Paden. Algoritmiek

Kortste Paden. Algoritmiek Kortste Paden Vandaag Kortste Paden probleem All pairs / Single Source / Single Target versies DP algoritme voor All Pairs probleem (Floyd s algoritme) Dijkstra s algoritme voor Single Source Negatieve

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

Doorzoeken van grafen. Algoritmiek

Doorzoeken van grafen. Algoritmiek Doorzoeken van grafen Algoritmiek Vandaag Methoden om door grafen te wandelen Depth First Search Breadth First Search Gerichte Acyclische Grafen en topologische sorteringen 2 Doolhof start eind 3 Depth

Nadere informatie

Greedy algoritmes. Algoritmiek

Greedy algoritmes. Algoritmiek Greedy algoritmes Algoritmiek Algoritmische technieken Trucs, methoden, paradigma s voor het ontwerpen van algoritmen Dynamisch Programmeren Divide & Conquer Greedy 2 Greedy algoritme Bouwt de oplossing

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

Tiende college algoritmiek. 14 april Gretige algoritmen

Tiende college algoritmiek. 14 april Gretige algoritmen College 10 Tiende college algoritmiek 1 april 011 Gretige algoritmen 1 Greedy algorithms Greed = hebzucht Voor oplossen van optimalisatieproblemen Oplossing wordt stap voor stap opgebouwd In elke stap

Nadere informatie

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

Elfde college algoritmiek. 10 mei Algoritme van Dijkstra, Gretige Algoritmen lgoritmiek 019/lgoritme van ijkstra lfde college algoritmiek 10 mei 019 lgoritme van ijkstra, Gretige lgoritmen 1 lgoritmiek 019/ynamisch programmeren Programmeeropdracht 3 Lange Reis 0 10 10 1 1 100 0

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

Tiende college algoritmiek. 4 mei Gretige Algoritmen Algoritme van Dijkstra

Tiende college algoritmiek. 4 mei Gretige Algoritmen Algoritme van Dijkstra Tiende college algoritmiek mei 018 Gretige Algoritmen Algoritme van Dijkstra 1 Muntenprobleem Gegeven onbeperkt veel munten van d 1,d,...d m eurocent, en een te betalen bedrag van n (n 0) eurocent. Alle

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

Datastructuren en Algoritmen

Datastructuren en Algoritmen Datastructuren en Algoritmen Tentamen Vrijdag 6 november 2015 13.30-16.30 Toelichting Bij dit tentamen mag je gebruik maken van een spiekbriefje van maximaal 2 kantjes. Verder mogen er geen hulpmiddelen

Nadere informatie

Benaderingsalgoritmen

Benaderingsalgoritmen Benaderingsalgoritmen Eerste hulp bij NP-moeilijkheid 1 Herhaling NP-volledigheid (1) NP: er is een polynomiaal certificaat voor jainstanties dat in polynomiale tijd te controleren is Een probleem A is

Nadere informatie

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

Elfde college algoritmiek. 18 mei Algoritme van Dijkstra, Heap, Heapify & Heapsort Algoritmiek 018/Algoritme van Dijkstra Elfde college algoritmiek 18 mei 018 Algoritme van Dijkstra, Heap, Heapify & Heapsort 1 Algoritmiek 018/Algoritme van Dijkstra Uit college 10: Voorb. -1- A B C D

Nadere informatie

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Uitwerking tentamen Analyse van Algoritmen, 29 januari Uitwerking tentamen Analyse van Algoritmen, 29 januari 2007. (a) De buitenste for-lus kent N = 5 iteraties. Na iedere iteratie ziet de rij getallen er als volgt uit: i rij na i e iteratie 2 5 4 6 2 2 4

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

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

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

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

Tentamen combinatorische optimalisatie Tijd:

Tentamen combinatorische optimalisatie Tijd: Tentamen combinatorische optimalisatie 26-05-2014. Tijd: 9.00-11.30 Tentamen is met gesloten boek. Beschrijf bij elke opgave steeds het belangrijkste idee. Notatie en exacte formulering is van minder belang.

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

Heuristieken en benaderingsalgoritmen. Algoritmiek

Heuristieken en benaderingsalgoritmen. Algoritmiek Heuristieken en benaderingsalgoritmen Wat te doen met `moeilijke optimaliseringsproblemen? Voor veel problemen, o.a. optimaliseringsproblemen is geen algoritme bekend dat het probleem voor alle inputs

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

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

Tweede college algoritmiek. 12 februari Grafen en bomen

Tweede college algoritmiek. 12 februari Grafen en bomen College 2 Tweede college algoritmiek 12 februari 2016 Grafen en bomen 1 Grafen (herhaling) Een graaf G wordt gedefinieerd als een paar (V,E), waarbij V een eindige verzameling is van knopen (vertices)

Nadere informatie

Twaalfde college algoritmiek. 23 mei Branch & Bound, Heapsort

Twaalfde college algoritmiek. 23 mei Branch & Bound, Heapsort College 12 Twaalfde college algoritmiek 23 mei 2013 Branch & Bound, Heapsort 1 Handelsreizigersprobleem Traveling Salesman Problem (handelsreizigersprobleem) Gegeven n steden waarvan alle onderlinge afstanden

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

Elfde college complexiteit. 23 april NP-volledigheid III

Elfde college complexiteit. 23 april NP-volledigheid III college 11 Elfde college complexiteit 23 april 2019 NP-volledigheid III 1 TSP Als voorbeeld bekijken we het Travelling Salesman/person Problem, ofwel het Handelsreizigersprobleem TSP. Hiervoor geldt: TSP

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

Datastructuren Uitwerking jan

Datastructuren Uitwerking jan Datastructuren Uitwerking jan 16 1 1a) Een ADT wordt gekenmerkt door de opgeslagen gegevens en de beschikbare operaties. De Priority Queue bevat en verzameling elementen waarbij elk element en eigen waarde

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

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

Bomen. 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen. deel 1. Negende college 10 Bomen deel 1 Negende college 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen 1 typen bomen Er zijn drie verschillende typen bomen, die in Schaum over verschillende hoofdstukken verdeeld

Nadere informatie

Grafen en netwerken I Datastructuren en doorzoeken. Algoritmiek

Grafen en netwerken I Datastructuren en doorzoeken. Algoritmiek Grafen en netwerken I Datastructuren en doorzoeken Algoritmiek 1 Inleiding 2 Netwerken Veel toepassingen, bijvoorbeeld: Sociale netwerken, electrische netwerken, wegennetwerken, communicatie netwerken,

Nadere informatie

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

Twaalfde college algoritmiek. 13 mei Branch & Bound Heap, Heapsort & Heapify Algoritmiek 2016/Branch & Bound Twaalfde college algoritmiek 13 mei 2016 Branch & Bound Heap, Heapsort & Heapify 1 Algoritmiek 2016/Branch & Bound TSP met Branch & Bound Mogelijke ondergrenzen voor de

Nadere informatie

Tweede deeltoets Algoritmiek 14 april 2015, , Educ-Γ.

Tweede deeltoets Algoritmiek 14 april 2015, , Educ-Γ. Tweede deeltoets Algoritmiek 14 april 2015, 17.00 19.00, Educ-Γ. Motiveer je antwoorden kort. Stel geen vragen over de toets, maar vermeld bij twijfel hoe je de vraag interpreteert. Maak vraag 1 en 2 op

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

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

Examen Datastructuren en Algoritmen II

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

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

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

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

(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

Examen Datastructuren en Algoritmen II

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

Nadere informatie

Algoritmiek. 15 februari Grafen en bomen

Algoritmiek. 15 februari Grafen en bomen Algoritmiek 15 februari 2019 Grafen en bomen 1 Grafen (herhaling) Een graaf G wordt gedefinieerd als een paar (V,E), waarbij V een eindige verzameling is van knopen (vertices) en E een verzameling van

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

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

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

In dit gedeelte worden drie problemen genoemd die kunnen voorkomen in netwerken. Aantekening Wiskunde Steiner Aantekening door D. 2086 woorden 25 mei 2016 2,1 1 keer beoordeeld Vak Wiskunde Resultaten Vragen bij het wetenschappelijk materiaal 9.1 Prototype example, p. 374-376 In dit

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

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

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek Divide & Conquer: Verdeel en Heers vervolg Algoritmiek Algoritmische technieken Vorige keer: Divide and conquer techniek Aantal toepassingen van de techniek Analyse met Master theorem en substitutie Vandaag:

Nadere informatie

Vijfde college algoritmiek. 2/3 maart Exhaustive search

Vijfde college algoritmiek. 2/3 maart Exhaustive search Vijfde college algoritmiek 2/3 maart 2017 Exhaustive search 1 Voor- en nadelen Brute force: Voordelen: - algemeen toepasbaar - eenvoudig - levert voor een aantal belangrijke problemen (zoeken, patroonherkenning)

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

Amorized Analysis en Union-Find Algoritmiek

Amorized Analysis en Union-Find Algoritmiek Amorized Analysis en Union-Find Vandaag Amortized analysis Technieken voor tijdsanalyse van algoritmen Union-find datastructuur Datastructuur voor operaties op disjuncte verzamelingen Verschillende oplossingen

Nadere informatie

Radboud Universiteit Nijmegen

Radboud Universiteit Nijmegen Radboud Universiteit Nijmegen Faculteit der Natuurwetenschappen, Wiskunde en Informatica L(,1)-labeling van grafen Naam: Studentnummer: Studie: Begeleider: Myrte klein Brink 4166140 Bachelor Wiskunde Dr.

Nadere informatie

Onderwerpen. Punten en lijnen, postbodes en handelsreizigers. Theorie. Theorie (2) Graaftheorie. Een mini-inleiding graaftheorie

Onderwerpen. Punten en lijnen, postbodes en handelsreizigers. Theorie. Theorie (2) Graaftheorie. Een mini-inleiding graaftheorie Onderwerpen Punten en lijnen, postbodes en handelsreizigers Een mini-inleiding graaftheorie Graaftheorie Herman Geuvers Euler en de postbode Radboud Universiteit Nijmegen 9 februari 2019 met dank aan Engelbert

Nadere informatie

8C080 deel BioModeling en bioinformatica

8C080 deel BioModeling en bioinformatica Vijf algemene opmerkingen Tentamen Algoritmen voor BIOMIM, 8C080, 22 april 2009,14.00-17.00u. Het tentamen bestaat uit 2 delen, een deel van BioModeling & bioinformatics en een deel van BioMedische Beeldanalyse.

Nadere informatie

Lege polygonen in een graaf.

Lege polygonen in een graaf. Uitwerking puzzel 94-2 Lege polygonen in een graaf. Lieke de Rooij Wobien Doyer We hebben n punten die al of niet met elkaar worden verbonden. De bedoeling is om met zo min mogelijk lijnen (=verbindingen)

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

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 Volgend college: Greedy Vandaag: Divide

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

Vierde college algoritmiek. 2 maart Toestand-actie-ruimte Exhaustive Search

Vierde college algoritmiek. 2 maart Toestand-actie-ruimte Exhaustive Search Algoritmiek 2018/Toestand-actie-ruimte Vierde college algoritmiek 2 maart 2018 Toestand-actie-ruimte Exhaustive Search 1 Algoritmiek 2018/Toestand-actie-ruimte Kannen Voorbeeld 4: Kannenprobleem We hebben

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

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

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

Het Eindfeest. Algoritmiek Opgave 6, Voorjaar

Het Eindfeest. Algoritmiek Opgave 6, Voorjaar 1 Achtergrond Het Eindfeest Algoritmiek Opgave 6, Voorjaar 2017 1 Om het (successvol) afsluiten van Algoritmiek te vieren, is er een groot feest georganiseerd. Jij beschikt als enige van je vrienden over

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

Hebzucht loont niet altijd

Hebzucht loont niet altijd Thema Discrete wiskunde Hoe verbind je een stel steden met zo weinig mogelijk kilometers asfalt? Hoe maak je een optimaal computernetwerk met kabels die maar een beperkte capaciteit hebben? Veel van zulke

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

Formeel Denken 2014 Uitwerkingen Tentamen

Formeel Denken 2014 Uitwerkingen Tentamen Formeel Denken 2014 Uitwerkingen Tentamen (29/01/15) 1. Benader de betekenis van de volgende Nederlandse zin zo goed mogelijk (6 punten) door een formule van de propositielogica: Als het regent word ik

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

Gerichte Grafen Boolese Algebra s &. Logische Netwerken

Gerichte Grafen Boolese Algebra s &. Logische Netwerken Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 10 maart 2009 Gerichte Grafen Boolese Algebra s &. Logische Netwerken. Paragrafen

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

Examen G0U13 Bewijzen en Redeneren Bachelor 1ste fase Wiskunde. vrijdag 31 januari 2014, 8:30 12:30. Auditorium L.00.07

Examen G0U13 Bewijzen en Redeneren Bachelor 1ste fase Wiskunde. vrijdag 31 januari 2014, 8:30 12:30. Auditorium L.00.07 Examen G0U13 Bewijzen en Redeneren Bachelor 1ste fase Wiskunde vrijdag 31 januari 2014, 8:30 12:30 Auditorium L.00.07 Geef uw antwoorden in volledige, goed lopende zinnen. Het examen bestaat uit 5 vragen.

Nadere informatie

Examen Datastructuren en Algoritmen II

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

Nadere informatie

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3 Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3 Koen Rutten, Aris van Dijk 30 mei 2007 Inhoudsopgave 1 Verzamelingen 2 1.1 Definitie................................ 2 1.2 Eigenschappen............................

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

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

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

Elfde college algoritmiek. 29 april Algoritme van Dijkstra, Branch & Bound Algoritmiek 01/Algoritme van Dijkstra Elfde college algoritmiek 9 april 01 Algoritme van Dijkstra, Branch & Bound 1 Algoritmiek 01/Algoritme van Dijkstra College 10: Voorbeeld -1- A B C D E F G H 9 7 5

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

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

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

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

Datastructuren en algoritmen voor CKI

Datastructuren en algoritmen voor CKI Datastructuren en algoritmen voor CKI Jeroen Bransen 1 11 september 2015 1 met dank aan Hans Bodlaender en Gerard Tel Heaps en heapsort Heap 1 2 3 4 5 6 7 8 9 10 16 14 10 8 7 9 3 2 4 1 16 14 10 8 7 9 3

Nadere informatie

Twaalfde college algoritmiek. 17 mei Branch & Bound

Twaalfde college algoritmiek. 17 mei Branch & Bound Twaalfde college algoritmiek 17 mei 2019 Branch & Bound 1 Backtracking Backtracking - bouwt een oplossing component voor component op - kijkt tijdens de stap-voor-stap constructie of de deeloplossing die

Nadere informatie

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017 Uitgebreide uitwerking Tentamen Complexiteit, juni 017 Opgave 1. a. Een pad van de wortel naar een blad stelt de serie achtereenvolgende arrayvergelijkingen voor die het algoritme doet op zekere invoer.

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

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

Tiende college algoritmiek. 3 mei Dynamisch programmeren Gretige Algoritmen Algoritme van Dijkstra

Tiende college algoritmiek. 3 mei Dynamisch programmeren Gretige Algoritmen Algoritme van Dijkstra Tiende college algoritmiek 3 mei 019 Dynamisch programmeren Gretige Algoritmen Algoritme van Dijkstra 1 Houtzaagmolen Een houtzaagmolen rekent voor het in twee stukken zagen van een stam van lengte l precies

Nadere informatie

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 2 juni 2009, uur

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 2 juni 2009, uur Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 2 juni 2009, 10.00 13.00 uur Opgave 1. a. Een toestand wordt bepaald door: het aantal lucifers op tafel, het aantal lucifers in het bezit van Romeo,

Nadere informatie