Overzicht. 1. Definities. 2. Basisalgoritme. 3. Label setting methoden. 4. Label correcting methoden. 5. Ondergrenzen. 6.
|
|
- Irena van der Velde
- 7 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Overzicht 1. Definities 2. Basisalgoritme 3. Label setting methoden 4. Label correcting methoden 5. Ondergrenzen 6. Resultaten Kortste Pad Probleem 1
2 Definities Een graaf G = (V, E) bestaat uit een verzameling knopen V en een verzameling takken E. Twee knopen i, j V heten verbonden als er een tak (i, j) E is van knoop i naar knoop j. Een pad is een reeks van verschillende knopen (i 1, i 2,..., i n ), waarbij knoop i k verbonden is met knoop i k+1, 1 k < n. Een graaf is samenhangend wanneer er een pad bestaat tussen elk tweetal knopen in de graaf. Kortste Pad Probleem 2
3 Modellering Probeer zo goedkoop mogelijk één eenheid stroom van knoop s naar knoop t te sturen. min Onder de volgende voorwaarden: {j (i,j) E} x ij (i,j) E {j (s,j) E} {i (i,t) E} {j (j,i) E} c ij x ij x sj = 1 x it = 1 x ji = 0 i / {s, t} x ij {0,1} (i, j) Als x ij = 0 betekent dit dat er geen stroom loopt over tak (i, j). Als x ij = 1 dan loopt er wel een stroom. Kortste Pad Probleem 3
4 Basisalgoritme 1. Initialisatie Q = {s}, l(i) = i V\{s}, l(s) = Knoopselectie Zij i Q. Knoop i wordt verwijderd uit Q. 3. Label-aanpassing Voor alle (i, j) E doe: l(j) wordt het min{l(j), l(i) + c ij }. Als l(j) in deze stap aangepast wordt, dan wordt j toegevoegd aan Q, tenzij j al tot Q behoort. 4. Stopcriterium Het algoritme stopt wanneer Q leeg is. Als Q niet leeg is, ga dan naar stap 2. Kortste Pad Probleem 4
5 Stelling: Optimaliteitsvoorwaarden De labels l(j) zijn gelijk aan de kosten van het kortste pad van knoop s naar knoop j dan en slechts dan als: l(j) l(i) + c ij (i, j) E Noodzakelijk Als l(j) > l(i) + c ij, dan zouden de kosten van het kortste pad naar j verkleind kunnen worden door knoop j via knoop i te bereiken. Voldoende Zij pad P = (i 1, i 2 ),(i 2, i 3 ),...,(i k 1, i k ), (s = i 1, j = i k ) een s j pad. l(i k ) l ( ) i k 1 + cik 1,i k l ( ) i k 1 l ( ) i k 2 + cik 2,i k 1 l(i 2 ) l(i 1 ) + c i1,i 2 = c i1,i 2 l(j) c ik 1,i k + + c i1,i 2 = Dus l(j) is een ondergrens voor elk s j pad. (i,j) P c ij + Kortste Pad Probleem 5
6 Label setting methoden: Dijkstra 1. Initialisatie Q = {s}, l(i) = i V\{s}, l(s) = Knoopselectie Zij i Q een knoop waarvoor geldt i = argmin{l(j) j Q}. Knoop i wordt uit Q verwijderd. Het label van knoop i is nu permanent. 3. Label-aanpassing Voor alle (i, j) E(i) doe: l(j) wordt het min{l(j), l(i) + c ij }. Als l(j) in deze stap aangepast wordt, dan wordt j toegevoegd aan Q, tenzij j al tot Q behoort. 4. Stopcriterium Het algoritme stopt wanneer Q leeg is. Als Q niet leeg is, ga dan naar stap 2. Kortste Pad Probleem 6
7 Complexiteit Zij n = V en m = E. Het algoritme voert de knoopselectie-stap n keer uit. Ieder keer moeten alle knopen met een tijdelijk label doorzocht worden, om de knoop met het kleinste tijdelijke label vast te stellen. De totale tijd voor deze stap is: n + (n 1) = O(n 2 ) Voor knoop i voert het algoritme E(i) keer een label-aanpassing uit. In totaal is dit: i V E(i) = m De looptijd is dus O(m + n 2 ). Als m = O(n), is de looptijd dus O(n 2 ). Opmerking Het gebruik van slimme datastructuren versnelt het algoritme. De looptijd wordt bijvoorbeeld O(nlog n) bij gebruik van een binaire heap. Kortste Pad Probleem 7
8 Cirkelvormig zoeken Kortste Pad Probleem 8
9 Bidirectioneel algoritme 1. Initialisatie Stel Q s = {s}, l s (i) = i en l s (s) = 0. Stel Q t = {t}, l t (i) = i en l t (t) = Knoopselectie - voorwaarts i = argmin {l s (i) i Q s }. Q s Q s \ {i}. Stop als l t (i) < i / Q t. 3. Labelaanpassing - voorwaarts (i, j) E: l s (j) min { l s (j), l s (i) + c ij }, als ls (j) aangepast wordt en j / Q s, dan Q s Q s {j}. 4. Knoopselectie - achterwaarts i = argmin {l t (i) i Q t }. Q t Q t \ {i}. Stop als l s (i) < i / Q s. 5. Labelaanpassing - achterwaarts (j, i) E: l t (j) min { l t (j), l t (i) + c ji }, als lt (j) aangepast wordt en j / Q t, dan Q t Q t {j}. Ga naar stap 2. Kortste Pad Probleem 9
10 Post processing Zij R s de verzameling van knopen die permanent gelabeld zijn vanuit s en R t de verzameling van knopen die permanent gelabeld zijn vanuit t. Er geldt dat knoop i R s Rt. Stelling Zij u R s, v R t, i R s Rt dan is het kortste pad gelijk aan: min (u,v) E {l s(u) + c uv + l t (v), l s (i) + l t (i)} Bewijs Zij q / R s en r / R t willekeurig. Er geldt: l s (i) l s (u) + c uq omdat l s (i) permanent is en l s (q) nog niet. Evenzo geldt: l t (i) l t (v) + c rv. Dus: l s (i) + l t (i) l s (u) + l t (v) + c uq + c rv Dus het kortste pad bevat geen knopen met een niet permanent label. Wel kan gelden l s (i) > l s (u) of l t (i) > l t (v). Kortste Pad Probleem 10
11 Label correcting methoden: Algoritme In stap 2 wordt de eerste knoop uit de rij Q gekozen. 1. Initialisatie Q = {s}, l(i) = i V\{s}, l(s) = Knoopselectie Zij knoop i de eerste knoop uit de rij Q. Knoop i wordt verwijderd uit Q. 3. Label-aanpassing Voor alle (i, j) E doe: l(j) wordt het min{l(j), l(i) + c ij }. Als l(j) in deze stap aangepast wordt, dan wordt j toegevoegd aan Q, tenzij j al tot Q behoort. (De manier waarop j in de rij Q wordt geplaatst, verschilt per label-correcting methode.) 4. Stopcriterium Het algoritme stopt wanneer Q leeg is. Als Q niet leeg is, ga dan naar stap 2. Kortste Pad Probleem 11
12 Naïeve label correcting methoden Bellman-Ford Een knoop die Q binnenkomt wordt altijd achteraan in de rij geplaatst. D Esopo-Pape Een knoop die voor het eerst Q binnenkomt wordt achteraan in Q geplaatst. Een knoop die opnieuw aan Q wordt toegevoegd, wordt aan het begin van Q geplaatst. Pallottino Dit is een verbeterde versie van de methode van D Esopo-Pape. De rij Q bestaat uit twee disjuncte rijen Q en Q. Een knoop i die nog niet in één van deze rijen heeft gezeten wordt toegevoegd aan het einde van Q. Anders wordt de knoop toegevoegd aan het einde van Q. De knoop die geselecteerd wordt is de eerste knoop van Q, als Q tenminste niet leeg is. Anders is het de eerste knoop van Q. Kortste Pad Probleem 12
13 Geavanceerde label correcting methoden Small Label First Stel dat j in Q moet worden geplaatst. Zij i de eerste knoop in Q. Als l(j) > l(i) dan wordt j aan het eind van Q geplaatst, anders wordt j aan het begin van Q geplaatst. Threshold De rij Q bestaat uit twee disjuncte rijen Q en Q. De rij Q bevat alleen knopen waarvan de labels niet groter zijn dan een drempelwaarde ( treshold ) u. Wanneer een knoop i moet worden toegevoegd aan Q, gaat dit als volgt: Als l(i) u dan wordt knoop i aan het einde van Q toegevoegd. Anders wordt knoop i toegevoegd aan het einde van Q. Wanneer Q =, dan wordt u aangepast (groter). Vervolgens worden de knopen i Q waarvoor geldt l(i) u uit Q verwijderd en geplaatst in Q. Kortste Pad Probleem 13
14 Verbeteringen Parent checking Wanneer een knoop i zojuist uit Q is verwijderd (stap 2) terwijl de voorganger j = π(i) nog in Q zit, dan wordt i overgeslagen (dus stap 2 wordt direct herhaald). Large Label Last Zij k de som van de labelwaarden van alle knopen in Q: k = i Q Het aantal knopen in Q is gelijk aan q = Q. Wanneer de eerste knoop i Q, een label l(i) > k/q heeft, dan wordt de knoop direct weer achteraan in Q geplaatst en stap 2 wordt opnieuw aangeroepen. l(i) Kortste Pad Probleem 14
15 Ondergrenzen: A* Gebruik een onderschatting h(i) voor de kosten van knoop i naar knoop t. 1. Initialisatie Q = {s}, l(i) = i V\{s}, l(s) = Knoopselectie Zij i Q een knoop waarvoor geldt i = argmin{l(j) + h(j) j Q}. Knoop i wordt uit Q verwijderd. Het label van knoop i is nu permanent. Als i = t kan het algoritme gestopt worden 3. Label-aanpassing Voor alle (i, j) E doe: l(j) wordt het min{l(j), l(i) + c ij }. Als l(j) in deze stap aangepast wordt, dan wordt j toegevoegd aan Q, tenzij j al tot Q behoort. (Als knoop j een permanent label had, dan wordt dit weer tijdelijk.) Ga naar stap 2. Kortste Pad Probleem 15
16 Duaal toelaatbare schatter Stelling Een eenmaal permanent label wordt bij gebruik van een duaal-toelaatbare schatter nooit meer tijdelijk. Voor een duaal toelaatbare schatter geldt: c ij + h(j) h(i) (i, j) E. Bewijs vanuit het ongerijmde Stel dat in stap 3 een knoop j met een permanent label gevonden kan worden, dan geldt: l(i) + c ij < l(j) (1) Omdat het label van knoop j permanent is geldt ook: l(j) + h(j) l(i) + h(i): l(j) l(i) h(i) h(j) (2) Omdat h een duaal toelaatbare schatter is geldt: h(i) h(j) c ij (3) Uit (2) en (3) volgt: l(j) l(i) c ij. Dit is in tegenspraak met (1). Kortste Pad Probleem 16
17 A* gericht zoeken Kortste Pad Probleem 17
18 Overeenkomst tussen Dijkstra en A* Stelling Dijkstra s algoritme met de kosten c ij = c ij + h(j) h(i) voor een tak (i, j) E, is equivalent met het A* algoritme dat de originele kosten c ij en de schatter h gebruikt. Bewijs Zij P het tijdelijke pad van knoop s naar een zekere knoop i. Dan geldt bij Dijkstra: l D (i) = c jk = c jk + h(i) h(s) (j,k) P (j,k) P Merk op dat h(s) constant is en dat l (i) = (j,k) P c jk de labelwaarde is die in het A* algoritme gebruikt wordt. Met de kosten c ij blijkt dezelfde knoop i in Dijkstra gekozen te worden in stap 2 als bij A* met de kosten c ij en de schatter h(i). Ook de voorwaarde om labels aan te passen l D (i) + c ij < ld (j) blijft hetzelfde. Uitschrijven levert namelijk l (i) + h(i) h(s) + c ij + h(j) h(i) < l (j) + h(j) h(s). Kortste Pad Probleem 18
19 Bidirectionele schatter Door het bidirectionele algoritme van Dijkstra uit te voeren met de kosten: c ij = c ij + h s (j) h s (i) (4) is er een bidirectionele variant van het A*-algoritme gevonden. De schatter h t (i) van een knoop i naar knoop s wordt echter niet gebruikt. In het achterwaartse zoeken zou je juist de volgende kosten willen gebruiken: c ij = c ij + h t (i) h t (j) (5) Op basis van (4) en (5) is het logisch om de volgende aangepaste kosten te gebruiken: c ij = c ij (h s(j) h s (i)) (h t(i) h t (j)) Kortste Pad Probleem 19
20 Landmarks Wanneer op een graaf G = (V, E) meerdere keren een kortste pad van een knoop s naar een knoop t berekend moet worden, kan het zinvol zijn om vooraf wat extra informatie uit te rekenen om daarmee de te maken berekeningen te versnellen. Een wegwijzer W is een vaste knoop in de graaf G waarvoor geldt dat de kortste pad lengtes van alle knopen naar deze knoop bekend zijn. Zij W de verzameling van alle wegwijzers. Opmerkingen Keuze van wegwijzers: random of gericht Geheugen gebruik is fors Herberekening is nodig bij wijzigingen in de graaf Vooral effectief op lange afstanden Kortste Pad Probleem 20
21 Onderschatting m.b.v. wegwijzer Zij h W (i) de afstand van knoop i V naar wegwijzer W W. Zij d(i, j) de kortste afstand van knoop i V naar knoop j V. h W (i) W i d(i, j) j h W (j) Dit toont de driehoeksongelijkheid: h W (i) d(i, j) + h W (j) Of te wel: h W (i) h W (j) d(i, j) Als j = t dan is h W (i) h W (t) een onderschatting van de afstand van knoop i naar knoop t. Kortste Pad Probleem 21
22 Landmark schatter is duaal toelaatbaar Het landmark algoritme gebruikt als schatter voor de afstand van knoop i naar knoop t: Stelling De schatter in (6) is duaal toelaatbaar. h(i) = max W W (h W(i) h W (t)) (6) Bewijs vanuit het ongerijmde Stel (i, j) E met: h(i) > c ij + h(j). Zij W = argmax Dan geldt: Hieruit volgt: W W (h W(i) h W (t)). h(i) = h W (i) h W (t) > c ij + h(j) c ij + h W (j) h W (t) Volgens de driehoeksongelijkheid geldt: (7) is in tegenspraak met (8). h W (i) > c ij + h W (j) (7) c ij + h W (j) h W (i) (8) Kortste Pad Probleem 22
23 Landmarks Kortste Pad Probleem 23
24 Resultaten Basis A* Landmark Bi-basis Bi-A* Bi-Landmark Methode Iter. Sec Iter. Sec Iter. Sec Iter. Sec Iter. Sec Iter. Sec Dijkstra Heap Dial Fibonacci B-F Basis Parent LLL LLL & Parent E-P Basis Parent LLL LLL & Parent Pallottino Basis Parent LLL LLL & Parent SLF Basis Parent LLL LLL & Parent Threshold Basis Parent LLL LLL & Parent Kortste Pad Probleem 24
Transport, Routing- en Schedulingproblemen. ir. H.N. Post
Transport, Routing- en Schedulingproblemen ir. H.N. Post 1 mei 2006 Inhoudsopgave 1 Kortste pad probleem 7 1.1 Definities...................................... 7 1.2 Basisalgoritme...................................
Nadere informatieBegrenzing 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 informatie2WO12: 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 informatieTW2020 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 informatieTW2020 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 informatie1 Vervangingsstrategie auto
Transport-, Routing- en Schedulingproblemen Wi4062TU / Wi487TU / a86g Uitwerkingen 28-03-2002 1 Vervangingsstrategie auto Onderdeel a Zij V = {0, 1, 2, 3, 4, 5, 6}, waarbij knoop i staat voor het einde
Nadere informatieTransport-, 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 informatieOverzicht. 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 informatieOptimaliseren in Netwerken
Optimaliseren in Netwerken Kees Roos e-mail: C.Roos@tudelft.nl URL: http://www.isa.ewi.tudelft.nl/ roos Kaleidoscoop college Zaal D, Mekelweg 4, TU Delft 11 October, A.D. 2006 Optimization Group 1 Onderwerpen
Nadere informatieTransport-, Routing- en Schedulingproblemen. Wi4062TU / Wi487TU / a86g. Uitwerkingen
Transport-, Routing- en Schedulingproblemen Wi4062TU / Wi487TU / a86g Uitwerkingen 28-03-2003 1 Docenten Onderdeel a Er zijn 6 vakken V 1, V 2,..., V 6. Vak V j heeft een vraag b j = 1, voor j = 1, 2,...,
Nadere informatieKortste 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 informatieTwaalfde 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 informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 5 Leo van Iersel Technische Universiteit Delft 12 oktober 2016 Leo van Iersel (TUD) TW2020 Optimalisering 12 oktober 2016 1 / 31 Dualiteit Dualiteit: Elk LP probleem heeft
Nadere informatieGrafen. 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 informatieMinimum 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 informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 5 Leo van Iersel Technische Universiteit Delft 2 oktober 206 Leo van Iersel (TUD) TW2020 Optimalisering 2 oktober 206 / 3 Dualiteit Dualiteit: Elk LP probleem heeft een
Nadere informatieSommige praktische IP problemen kunnen worden geformuleerd als optimalisering op een netwerk.
Netwerkanalyse (H3) Sommige praktische IP problemen kunnen worden geformuleerd als optimalisering op een netwerk. Deze problemen kunnen vaak als continu LP probleem worden opgelost. Door de speciale structuur
Nadere informatieComputationele Intelligentie
Computationele Intelligentie Uitwerking werkcollege Representatie, Ongeïnformeerd zoeken, Heuristisch zoeken 1 lokkenwereld a. De zoekboom die door het dynamische breadth-first search algoritme wordt gegenereerd
Nadere informatieV = {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 informatieDe statespace van Small World Networks
De statespace van Small World Networks Emiel Suilen, Daan van den Berg, Frank van Harmelen epsuilen@few.vu.nl, daanvandenberg1976@gmail.com, Frank.van.Harmelen@cs.vu.nl VRIJE UNIVERSITEIT AMSTERDAM 2 juli
Nadere informatieNetwerkstroming. 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 informatieKortste 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 informatieElfde 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 informatieOnafhankelijke 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 informatieOverzicht. Inleiding. Modellering. Duaal probleem. αβ-algoritme. Maximale stroom probleem. Voorbeeld. Transportprobleem 1
Overzicht Inleiding Modellering Duaal probleem αβ-algoritme Maximale stroom probleem Voorbeeld Transportprobleem 1 Inleiding W 1 b 1 a 1 D 1 W 2 b 2 a 2 D 2 a m Dm W n b n depots warenhuizen c ij zijn
Nadere informatiel 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 informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2012 2013, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieNetwerkstroming. 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 informatieComputationele Intelligentie
Computationele Intelligentie Uitwerking werkcollege Representatie, Ongeïnformeerd zoeken, Heuristisch zoeken 1 lokkenwereld a. De zoekboom die door het dynamische breadth-first search algoritme wordt gegenereerd
Nadere informatieUitgebreide 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 informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieTentamen 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 informatieBenaderingsalgoritmen
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 informatieGreedy 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 informatieTiende 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 informatieElfde 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 informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2016 2017, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieDiscrete 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 informatieHeuristieken 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 informatieDiscrete 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 informatieFriendly Functions and Shared BDD s
Friendly Functions and Shared BDD s Bob Wansink 19 Juni 2010 Deze notitie behandelt pagina s 81 tot 84 van The Art of Computer Programming, Volume 4, Fascicle 1 van Donald E. Knuth. Inhoudelijk gaat het
Nadere informatieUitwerking vierde serie inleveropgaven
Uitwerking vierde serie inleveropgaven Opgave 1. Gegeven is dat G een permutatiegroep is; a is een willekeurig element. St(a) is de deelverzameling van G die alle permutaties π bevat waarvoor geldt π(a)
Nadere informatieHoofdstuk 17: Approximation Algorithms
Hoofdstuk 17: Approximation Algorithms Overzicht: Vorige week: Π NP-volledig Π waarschijnlijk niet polynomiaal oplosbaar 2 opties: 1 Optimaal oplossen, niet in polynomiale tijd (B&B, Cutting planes) 2
Nadere informatieElfde 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 informatieMinimum Spanning Tree
Minimum Spanning Tree Wat is MST? Minimum spanning tree De meest efficiënte manier vinden om een verbonden netwerk op te bouwen Wat is een tree/boom? Graaf G: een verzameling knopen (vertices): V een verzameling
Nadere informatieOptimalisering en Complexiteit, College 10. Begrensde variabelen. Han Hoogeveen, Utrecht University
Optimalisering en Complexiteit, College 10 Begrensde variabelen Han Hoogeveen, Utrecht University Begrensde variabelen (1) In veel toepassingen hebben variabelen zowel een ondergrens als een bovengrens:
Nadere informatieHoofdstuk!7!Kortste!paden!
oofdstukkortstepaden oofdstukkortstepaden In een gewogen graaf is men soms geïnteresseerd in het kortste pad tussen twee punten: dat is een pad, waarbij de som van de gewichten zo klein mogelijk is..inleiding
Nadere informatieUitwerking 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 informatieGrafen 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 informatieDiscrete 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 informatieVierde college complexiteit. 26 februari Beslissingsbomen en selectie Toernooimethode Adversary argument
Complexiteit 2019/04 College 4 Vierde college complexiteit 26 februari 2019 Beslissingsbomen en selectie Toernooimethode Adversary argument 1 Complexiteit 2019/04 Zoeken: samengevat Ongeordend lineair
Nadere informatieElfde 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 informatie2WO12: 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 informatieWeek 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 informatie1.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 informatieOefententamen 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 informatieCover Page. The handle holds various files of this Leiden University dissertation.
Cover Page The handle http://hdl.handle.net/1887/29764 holds various files of this Leiden University dissertation. Author: Takes, Frank Willem Title: Algorithms for analyzing and mining real-world graphs
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2006 2007, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. 1. Verzamelingen:
Nadere informatieTwaalfde 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 informatie2 n 1. OPGAVEN 1 Hoeveel cijfers heeft het grootste bekende Mersenne-priemgetal? Met dit getal vult men 320 krantenpagina s.
Hoofdstuk 1 Getallenleer 1.1 Priemgetallen 1.1.1 Definitie en eigenschappen Een priemgetal is een natuurlijk getal groter dan 1 dat slechts deelbaar is door 1 en door zichzelf. Om technische redenen wordt
Nadere informatieGö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 informatieTiende 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 informatieSlangennest Wiskunde B-dag 2018
Slangennest Wiskunde B-dag 2018 2 Basisopgaven Opgave 1: Cirkeldekens (a) Het kleinste geschikte cirkelvormige dekentje heeft een diameter van 15 cm. (b) Slangen die voldoende om de kop heen krullen passen
Nadere informatieDivide & 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 informatieKosten. Computationale Intelligentie. Een zoekprobleem met stapkosten. Een voorbeeld: het vinden van een route. Zoeken met kosten.
Kosten omputationale Intelligentie Zoeken met kosten Veel zoekproblemen omvatten kosten: een afstand in kilometers; een geldbedrag; een hoeveelheid tijd;... Voorbeelden van dergelijke problemen zijn: het
Nadere informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 10 Leo van Iersel Technische Universiteit Delft 23 november 2016 Leo van Iersel (TUD) TW2020 Optimalisering 23 november 2016 1 / 40 Vraag Ik heb het deeltentamen niet
Nadere informatieUitwerking tentamen Algoritmiek 9 juli :00 13:00
Uitwerking tentamen Algoritmiek 9 juli 0 0:00 :00. (N,M)-game a. Toestanden: Een geheel getal g, waarvoor geldt g N én wie er aan de beurt is (Tristan of Isolde) b. c. Acties: Het noemen van een geheel
Nadere informatieTentamen 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 informatieTweede college complexiteit. 12 februari Wiskundige achtergrond
College 2 Tweede college complexiteit 12 februari 2019 Wiskundige achtergrond 1 Agenda vanmiddag Floor, Ceiling Rekenregels logaritmen Tellen Formele definitie O, Ω, Θ met voorbeelden Stellingen over faculteiten
Nadere informatieRadboud 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 informatieGetallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte
Getallenleer Inleiding op codeertheorie Liliane Van Maldeghem Hendrik Van Maldeghem Cursus voor de vrije ruimte 2 Hoofdstuk 1 Getallenleer 1.1 Priemgetallen 1.1.1 Definitie en eigenschappen Een priemgetal
Nadere informatieVierde college complexiteit. 16 februari Beslissingsbomen en selectie
Complexiteit 2016/04 College 4 Vierde college complexiteit 16 februari 2016 Beslissingsbomen en selectie 1 Complexiteit 2016/04 Zoeken: samengevat Ongeordend lineair zoeken: Θ(n) sleutelvergelijkingen
Nadere informatieTW2020 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 informatieElfde 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 informatieOefententamen 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 informatiepublic 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 informatieVierde college complexiteit. 14 februari Beslissingsbomen
College 4 Vierde college complexiteit 14 februari 2017 Restant zoeken Beslissingsbomen 1 Binair zoeken Links := 1; Rechts := n; while Links Rechts do Midden := Links + Rechts 2 ; if X = A[Midden] then
Nadere informatieTiende 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 informatieTer Leering ende Vermaeck
Ter Leering ende Vermaeck 15 december 2011 1 Caleidoscoop 1. Geef een relatie op Z die niet reflexief of symmetrisch is, maar wel transitief. 2. Geef een relatie op Z die niet symmetrisch is, maar wel
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2010 2011, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieHeron driehoek. 1 Wat is een Heron driehoek? De naam Heron ( Heroon) is bekend van de formule
Heron driehoek 1 Wat is een Heron driehoek? De naam Heron ( Heroon) is bekend van de formule = s(s a)(s b)(s c) met s = a + b + c 2 die gebruikt wordt om de oppervlakte van een driehoek te berekenen in
Nadere informatieUniversiteit 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 informatieProject Management (H 9.8 + H 22 op CD-ROM)
Project Management (H 9.8 + H 22 op CD-ROM) CPM (Critical Path Method) Activiteiten met afhankelijkheden en vaste duur zijn gegeven. CPM bepaalt de minimale doorlooptijd van het project. PERT (Program
Nadere informatieDatastructuren 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 informatieSamenvatting 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 informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2009 2010, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2014 2015, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieDiscrete Wiskunde 2WC15, Lente Jan Draisma
Discrete Wiskunde 2WC15, Lente 2010 Jan Draisma HOOFDSTUK 2 Gröbnerbases 1. Vragen We hebben gezien dat de studie van stelsels polynoomvergelijkingen in meerdere variabelen op natuurlijke manier leidt
Nadere informatieTiende 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 informatieParadox van zelfreproductie. IN2505-II Berekenbaarheidstheorie. Zelfreproductie? Programma s en zelfreproductie. College 11.
Paradox van zelfreproductie College 11 Algoritmiekgroep Faculteit EWI TU Delft 27 mei 2009 1 Levende wezens zijn machines. 2 Levende wezens kunnen zich reproduceren. 3 Machines kunnen zich niet reproduceren.
Nadere informatieOpgave 2 ( = 12 ptn.)
Deel II Opgave 1 (4 + 2 + 6 = 12 ptn.) a) Beschouw bovenstaande game tree waarin cirkels je eigen zet representeren en vierkanten die van je tegenstander. Welke waarde van de evaluatiefunctie komt uiteindelijk
Nadere informatieSmall Basic Console Uitwerking opdrachten
Opdracht 1 3 getallen => inlezen Gemiddelde uitrekenen Resultaat afdrukken TextWindow.WriteLine("Dit programma berekend het gemiddelde van drie door U in te voeren getallen.") TextWindow.Write("Voer getal
Nadere informatieMededelingen. TI1300: Redeneren en Logica. Waarheidstafels. Waarheidsfunctionele Connectieven
Mededelingen TI1300: Redeneren en Logica College 4: Waarheidstafels, Redeneringen, Syntaxis van PROP Tomas Klos Algoritmiek Groep Voor de Fibonacci getallen geldt f 0 = f 1 = 1 (niet 0) Practicum 1 Practicum
Nadere informatiel 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 informatieBranch-and-Bound en Cutting Planes
Branch-and-Bound en Cutting Planes Vandaag: Er is nog geen algoritme om ILP s in polynomiale tijd op te lossen. Twee opties: 1 Exponentiëel algoritme dat optimale oplossing geeft 2 Polynomiaal algoritme
Nadere informatieExamen Algoritmen en Datastructuren III
Derde bachelor Informatica Academiejaar 2006 2007, eerste zittijd Examen Algoritmen en Datastructuren III Naam :.............................................................................. 1. (2 pt)
Nadere informatieDerde college complexiteit. 7 februari Zoeken
College 3 Derde college complexiteit 7 februari 2017 Recurrente Betrekkingen Zoeken 1 Recurrente betrekkingen -1- Rij van Fibonacci: 0,1,1,2,3,5,8,13,21,... Vanaf het derde element: som van de voorgaande
Nadere informatieOefeningen 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 informatieChinese postbodeprobleem
Chinese postbodeprobleem Dorthe Van Waarden 9 juli 2010 Eindverslag Bachelorproject Begeleiding: dr. Marcel van de Vel KdV Instituut voor wiskunde Faculteit der Natuurwetenschappen, Wiskunde en Informatica
Nadere informatieDatastructuren: stapels, rijen en binaire bomen
Programmeermethoden Datastructuren: stapels, rijen en binaire bomen week 12: 23 27 november 2015 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Inleiding In de informatica worden Abstracte DataTypen (ADT s)
Nadere informatie