1. Snelweg hiërarchieën voor route planning 2. Opmerkingen over het practicum 3. Onderzoek naar Algoritmiek in Utrecht 1-4-2015Bart Jansen1.

Slides:



Advertisements
Verwante presentaties
Tevredenheid met behandelaar en behandeling.
Advertisements

BRIDGE Vervolgcursus Vervolg op starterscursus Bridgeclub Schiedam ‘59 info: Maandagavond: 19: – of
Sudoku puzzels: hoe los je ze op en hoe maak je ze?
‘SMS’ Studeren met Succes deel 1
NEDERLANDS WOORD BEELD IN & IN Klik met de muis
Beter afspelen.
1 Resultaten marktonderzoek RPM Zeist, 16 januari 2002 Door: Olga van Veenendaal, medew. Rothkrans Projectmanagement.
Minimum Spanning Tree. Wat is MST? • Minimum spanning tree • De meest efficiënte manier vinden om een verbonden netwerk op te bouwen.
Onderwerpen Oude situatie Eerste aanpak en problemen
Stijgen en dalen constante stijging toenemende stijging
Ronde (Sport & Spel) Quiz Night !
Natuurlijke Werkloosheid en de Phillipscurve
1 Hashtabellen Datastructuren. 2 Dit onderwerp Direct-access-tabellen Hashtabellen –Oplossen van botsingen met “ketens” (chaining) –Analyse –Oplossen.
Kb.1 Ik leer op een goede manier optellen en aftrekken
Datastructuren Analyse van Algoritmen en O
Advanced Algorithms Groep: EII7AAb
Leiden University. The university to discover. ICLON, Interfacultair Centrum voor Lerarenopleiding, Onderwijsontwikkeling en Nascholing Denkgereedschap.
Hoofdstuk 6: Controle structuren
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen (II) College 6.
Visibility-based Probabilistic Roadmaps for Motion Planning Tim Schlechter 13 februari 2003.
Dijkstra Kortste pad algoritme.
H51 12 resolutie H51 PHOTOSHOP 1 audiovisueel centrum meise.
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
Oefeningen F-toetsen ANOVA.
IJspakketten Annette Ficker Tim Oosterwijk
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 5 Cees Witteveen.
Divide and Conquer in Multi-agent Planning Multi-Agent Planning as the Process of Merging Distributed Sub-plans Eithan Ephrati and Jeffrey S. Rosenschein.
Bewegen Hoofdstuk 3 Beweging Ing. J. van de Worp.
In dit vakje zie je hoeveel je moet betalen. Uit de volgende drie vakjes kan je dan kiezen. Er is er telkens maar eentje juist. Ken je het juiste antwoord,
1 Complexiteit Bij motion planning is er sprake van drie typen van complexiteit –Complexiteit van de obstakels (aantal, aantal hoekpunten, algebraische.
1 Datastructuren Skiplists. 2 Skiplists  Vrij eenvoudige datastructuur  “Makkelijker” dan gebalanceerde bomen  Kunnen hetzelfde als gebalanceerde bomen.
Optuigen van datastructuren
1 Datastructuren Heapsort (2e deel) College 5. 2 Vandaag  Heaps en Heapsort  (eind)  Nog sneller sorteren:  Ondergrenzen  Linair sorteren.
Lokale zoekmethoden Goed in de praktijk:
Advanced Algorithms Groep: EII7AAb
Werken aan Intergenerationele Samenwerking en Expertise.
Inkomen les 20 Begrippen & opgave 100 t/m Begrippen Collectieve lasten Geheel van belastingen en sociale premies.
Datastructuren Sorteren, zoeken en tijdsanalyse
1 Datastructuren Een informele inleiding tot Skiplists Onderwerp 13.
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
Hoofdstuk 5 Vijfkaart hoog, eerste verkenning 1e9 NdF-h1 NdF-h5 1 1.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 5.
Fractale en Wavelet Beeldcompressie
6,50 euro In dit vakje zie je hoeveel je moet betalen.
De financiële functie: Integrale bedrijfsanalyse©
Inhoud college Lijnbalancering Comsoal Random Sequence Generation
Oefeningen Workshop RIE Gemeenten
tafel van 1 tafel van 1 x 1 = 1 x 1 = 1 2 x 1 = 2 3 x 1 = 3 4 x 1 = 4
22/11/ DE ADVIEZEN VAN BEURSMAKELAAR BERNARD BUSSCHAERT Week
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
IA – LABELS Rogier van der Linde & Davy De Winne, 2014.
Representatie & Zoeken
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 6 Cees Witteveen.
Grafentheorie Graaf Verzameling knopen al dan niet verbonden door takken, bijv:
Minimum Opspannende Bomen Algoritmiek. 2 Inhoud Het minimum opspannende bomen probleem Een principe om een minimum opspannende boom te laten groeien Twee.
Doorzoeken van grafen Algoritmiek. Algoritmiek: Divide & Conquer2 Vandaag Methoden om door grafen te wandelen –Depth First Search –Breadth First Search.
Divide & Conquer: Verdeel en Heers vervolg Algoritmiek.
Datastructuren voor grafen Algoritmiek. 2 Grafen Model van o.a.: –Wegennetwerk –Elektrische schakeling –Structuur van een programma –Computernetwerk –…
Kortste Paden Algoritmiek.
Doorzoeken van grafen Algoritmiek.
All-Pairs Shortest paths
Datastructuren voor graafrepresentatie
Minimum Opspannende Bomen
Route planning in wegen netwerken
Algoritmiek 2 november 2010 Snelweg hiërarchieën voor route planning
Modderdorp UNPLUGGED Bron: csunplugged.org.
Transcript van de presentatie:

1. Snelweg hiërarchieën voor route planning 2. Opmerkingen over het practicum 3. Onderzoek naar Algoritmiek in Utrecht Bart Jansen1

Snelweg hiërarchieën versnellen kortste-pad queries Bart Jansen

 Zoek kortste pad van a naar b in een gewogen, gerichte graaf (“single pair”)  Geen: ◦ Single source shortest paths ◦ All-pairs shortest paths ◦ Negatieve gewichten Bart Jansen3

 Vooraanstaande Nederlanse informaticus  11 mei 1930 – 6 augustus 2002  Bedacht een algoritme voor single-source shortest paths in 1959  Algemeen bekend als “Dijkstra’s Algoritme” Bart Jansen4

 Iteratief algoritme  Werkt alleen als afstanden niet-negatief zijn!  Voor iedere knoop v in de graaf wordt bijgehouden: ◦ de status: voorlopig of definitief ◦ d[v]: bovengrens op de afstand source  v  Algoritme werkt door in de juiste volgorde knopen te bezoeken  Bij bezoeken van knoop v: ◦ Knoop v wordt definitief ◦ Alle kanten vanuit v worden gerelaxeerd Bart Jansen5

 Dijkstra(source s)  Initialisatie: ◦ d[v] = ∞, voor alle v ≠ s ◦ d[s] = 0 ◦ Alle knopen zijn voorlopig  While (er is een voorlopige knoop) ◦ Kies voorlopige knoop v met laagste d[v] waarde ◦ Maak v definitief ◦ Relaxeer uitgaande kanten (v,u)  d[u]  min (d[u], d[v] + w[v,u]) Bart Jansen6 DeleteMin DecreaseKey

 Kortste pad van s naar t 7 s s 3 3 t t

8 s s 3 3 t t        0 distance label

9 s s 3 3 t t        0 distance label delmin

s s t t    14  0 distance label decrease key  X   X X

11 s 3 3 t t    14  0 distance label  X   X X delmin

12 s 3 3 t t    14  0  X   X X

13 s 3 3 t t    14  0  X   X X decrease key X 33

14 s 3 3 t t    14  0  X   X X X 33 delmin

15 s 3 3 t t    14  0  X   X X X X X 32

16 s 3 3 t t   14  0  X   X X 44 X delmin  X 33 X 32

17 s 3 3 t t   14  0  X   X X 44 X 35 X 59 X 24  X 33 X 32

18 s 3 3 t t   14  0  X   X X 44 X 35 X 59 X delmin  X 33 X 32

19 s 3 t t   14  0  X   X X 44 X 35 X 59 XX 51 X 34  X 33 X 32

20 s 3 t t   14  0  X   X X 44 X 35 X 59 XX 51 X 34 delmin  X 33 X 32 24

21 s 3 t t   14  0  X   X X 44 X 35 X 59 XX 51 X X 50 X 45  X 33 X 32

22 s 3 t t   14  0  X   X X 44 X 35 X 59 XX 51 X X 50 X 45 delmin  X 33 X 32

23 s 3 t t   14  0  X   X X 44 X 35 X 59 XX 51 X X 50 X 45  X 33 X 32

24 s 3 t t   14  0  X   X X 44 X 35 X 59 XX 51 X 34 X 50 X 45 delmin  X 33 X 32 24

25 s 3 t   14  0  X   X X 44 X 35 X 59 XX 51 X 34 X 50 X 45  X 33 X 32

26 s s 3 3 t t   14  0  X   X X 44 X 35 X 59 XX 51 X 34 X 50 X 45  X 33 X 32

 Invariant: als v definitief wordt, is d[v] de lengte van een kortste s-v pad ◦ Correctheidsbewijs in het boek  Voor single-source kortste paden moeten alle knopen worden ontdekt  Maar bij een single pair s-t query: ◦ Algoritme kan stoppen als t definitief wordt gemaakt! Bart Jansen27

 Knopen worden definitief in volgorde van oplopende afstand  Algoritme maakt een wolk van definitieve knopen rondom het startpunt  Terminatie als de wolk het eindpunt raakt  Tijd die wordt gebruikt afhankelijk van hoeveelheid knopen waar naar gerelaxeerd wordt (“ontdekte knopen”) Bart Jansen28

 Zoek in 2 richtingen ◦ Voorwaarts vanaf s ◦ Achterwaarts vanaf t  Stop met zoeken zodra 1 knoop van beide kanten definitief is  Oppervlakte van twee wolken met straal (d/2) kleiner dan een wolk met straal d  Ongeveer 2x zo snel Bart Jansen29 st st

Bart Jansen30 s t Achterwaarts Voorwaarts

Dijkstra’s algoritme doet single-source kortste paden, dus ook single-pair Bart Jansen31

Bart Jansen32 Slechts 3 miljoen van de in totaal 23 miljoen kanten

 Bij route planning worden meerdere queries gedaan op dezelfde graaf  Gebruik preprocessing om toekomstige queries te versnellen  Bijvoorbeeld: Algoritme voor all-pairs kortste paden ◦ Na preprocessen: optimale afstand in O(1) tijd bekend ◦ Informatie voor alle paren kost  (n 2 ) geheugen ◦ Niet haalbaar op mobiele apparaten Bart Jansen33

 Snelheidswinst voor queries  Geheugengebruik moet praktisch blijven (linear)  Exacte berekening van kortste paden, geen benaderingen  Maak gebruik van de karakteristieken van wegennetwerken ◦ Hierarchische structuur; sommige wegen zijn belangrijk, anderen niet ◦ Wegennetwerken zijn ijle grafen: m is Θ(n) Bart Jansen34

Bart Jansen35 Korte afstand Geldermalsen naar oprit snelweg Klein netwerk Via snelweg van Geldermalsen naar de Uithof Korte afstand Afrit bij Uithof naar Leuvenlaan

 Uitbreidbaar naar meerdere typen wegen ◦ Maak wegen belangrijker naarmate ze dichter bij s of t lopen ◦ Bij verwerken van knopen die ver weg liggen van s en t: relaxeer geen onbelangrijke wegen  Kwaliteit van de gevonden routes hangt af van de wegen classificatie (handmatig bijstellen!)  Dit is gebruikt in route planners voor auto’s Bart Jansen36

Bart Jansen37  Dominik Schultes & Peter Sanders, University of Karlsruhe (2005)  Technieken ervan zijn gebruikt voor het winnen van de 9 e DIMACS implementatie challenge (2006)

 Slim preprocessen om een classificatie van wegen te verkrijgen  Zoekopdrachten worden op dezelfde manier uitgevoerd als door de heuristiek ◦ Minder belangrijke wegen zijn niet relevant als je ver weg bent van je start en eind ◦ Zoeken met een bidirectionele versie van Dijkstra’s algoritme  De zorgvuldige classificatie verzekert optimaliteit Bart Jansen38

 Snelweg hiërarchie voor graaf G bestaat uit niveaus N 0, N 1,.., N L voor vantevoren gekozen L  Elk niveau N i heeft een snelweg netwerk S i en een kern netwerk K i  Inductieve definitie: ◦ S 0 = K 0 = G ◦ Snelweg netwerk S i+1 afgeleid van kern K i ◦ Kern K i afgeleid van snelweg netwerk S i  Transformatie van kern i naar snelweg netwerk i+1: verwijder kanten  Transformatie van snelweg netwerk i naar kern i: verwijder knopen (toevoegen shortcuts) Bart Jansen39

Kern 2Snelweg 2Kern 1Snelweg 1Snelweg 0 = Kern Bart Jansen40 Verwijder knopen Verwijder kanten Verwijder knopen Verwijder kanten

 Afgeleid van kern K i  Kies een buurt-straal r i (u) voor iedere knoop u op niveau i ◦ Vooruit-buurt van knoop u: alle knopen met afstand ≤ r l (u) vanaf u ◦ Achteruit-buurt van knoop u: alle knopen met afstand ≤ r l (u) naar u  Een kant (u,v) uit K i zit alleen in het snelweg netwerk als er een kortste pad is tussen knopen in K i zodat: ◦ v niet in de vooruit-buurt van s zit ◦ u niet in de achteruit-buurt van t zit  Knopen zonder aangrenzende kanten worden verwijderd  In de praktijk: kies een buurt-straal zodat de buurten een bepaalde grootte krijgen Bart Jansen41

 Een kant (u,v) uit K i zit alleen in het snelweg netwerk als er een kortste pad is tussen knopen in K i zodat: ◦ v niet in de vooruit-buurt van s zit ◦ u niet in de achteruit-buurt van t zit Bart Jansen42

 Een kant (u,v) uit K i zit alleen in het snelweg netwerk als er een kortste pad is tussen knopen in K i zodat: ◦ v niet in de vooruit-buurt van s zit ◦ u niet in de achteruit-buurt van t zit  Buurt: de 4 dichtsbijzijnde knopen Bart Jansen43

 Een kant (u,v) uit K i zit alleen in het snelweg netwerk als er een kortste pad is tussen knopen in K i zodat: ◦ v niet in de vooruit-buurt van s zit ◦ u niet in de achteruit-buurt van t zit  Bekijk kant (a,b)  Alleen nodig voor paden vanaf a  Eindpunt altijd in vooruit-buurt s  Geen snelweg kant  Soortgelijk voor (b,a) Bart Jansen44

 Een kant (u,v) uit K i zit alleen in het snelweg netwerk als er een kortste pad is tussen knopen in K i zodat: ◦ v niet in de vooruit-buurt van s zit ◦ u niet in de achteruit-buurt van t zit  Bekijk kant (e,f)  Nodig op kortste pad van b naar g  Knoop f niet in vooruit-buurt b  Knoop e niet in achteruit-buurt g  Dus snelweg kant! Bart Jansen45

 Een kant (u,v) uit K i zit alleen in het snelweg netwerk als er een kortste pad is tussen knopen in K i zodat: ◦ v niet in de vooruit-buurt van s zit ◦ u niet in de achteruit-buurt van t zit Bart Jansen46

 Voor iedere knoop v: ◦ Bepaal alle kortste paden vanuit v met Dijkstra ◦ Stop wanneer bepaalde condities gelden ◦ Evalueer gevonden kortste paden om snelweg kanten te vinden  Stopcriterium is essentieel voor snelheid! ◦ Preprocessen voor heel West-Europa kan in 16 minuten  Intuitie: ◦ “delegeer” overgebleven werk aan latere opdrachten Bart Jansen47

Kern 2Snelweg 2Kern 1Snelweg 1Snelweg 0 = Kern 0Kern 2Snelweg 2Kern 1Snelweg 1Snelweg 0 = Kern 0  Hierarchie met niveaus N 0,.., N L  Ieder niveau i bevat 2 grafen: snelweg netwerk S i en kern K i  Gezien: stap van kern K i-1 naar snelweg S i  Nu: snelweg S i naar kern K i ◦ (Verwijderen van knopen) Bart Jansen48

 Afgeleid van snelweg netwerk S i ◦ Bepaal een verzameling O overbodige knopen ◦ Alle knopen uit S i die niet overbodig zijn, komen in de kern K i ◦ Alle kanten uit S i tussen knopen die niet overbodig zijn, worden overgenomen  En we voegen extra kanten als shortcuts toe ◦ Als er een u-v pad is van overbodige knopen:  voeg directe kant (u,v) toe  w(u,v) wordt lengte van het oude u-v pad Bart Jansen49

 Als er een u-v pad bestaat dat (op u en v na) helemaal bestaat uit overbodige knopen, voegen we een directe kant toe van u naar v  Kies O = {1, 2} Bart Jansen

 Als er een u-v pad bestaat dat (op u en v na) helemaal bestaat uit overbodige knopen, voegen we een directe kant toe van u naar v  Kies O = {1, 2} Bart Jansen

 Als er een u-v pad bestaat dat (op u en v na) helemaal bestaat uit overbodige knopen, voegen we een directe kant toe van u naar v  Kies O = {1, 2} Bart Jansen

 Kortste paden tussen knopen in de kern blijven behouden  Herinner dat S 0 = K 0 = G ◦ Het 0e niveau bevat alle knopen  De voorwaartse en achterwaartste zoekopdrachten starten in niveau 0  Query algoritme zorgt voor correctheid voor hogere niveaus  Knoop u is overbodig als: ◦ # shortcuts ≤ c (graad in (u) + graad uit (u)) ◦ Zorgt ervoor dat de graaf ijl blijft  Simpel iteratief algoritme voor vinden overbodige knopen Bart Jansen53

 Afwisselen tussen reduceren van kanten, en reduceren van knopen  In ieder niveau dalen n en m ruwweg met een constante factor ◦ Geobserveerd tijdens experimenten  Constructie kan efficient gedaan worden  Geheugengebruik is beperkt tot O(L) extra informatie per knoop of kant ◦ Buurt grootte, niveaus waarin het object voorkomt, of de knoop overbodig is Bart Jansen54

Hoe helpt de hiërarchie om zoekopdrachten te versnellen? Bart Jansen55

 Beschouw een s-t query  De query start in niveau 0  Bezoek alle knopen in de voortwaarts buurt van s, en achterwaarts buurt van t  Kijk naar een kant (u,v) zodat v buiten de voorwaarts- buurt van s ligt, en u buiten de achterwaarts-buurt van t ◦ Als (u,v) geen snelweg kant is, dan ligt hij niet op een kortste s-t pad (via definitie van de snelweg) ◦ Dus buiten de buurten van s en t zijn alleen snelweg kanten relevant ◦ Andere kanten hoeven niet te worden gerelaxeerd Bart Jansen56

 Beschouw de eerste knoop u die definitief wordt, en die buiten de buurt van s ligt  Stel dat er een kortste s-t pad P is, dat u bevat ◦ Dus P =  Het subpad moet een kortste pad zijn, en moet (buiten de buurt van t) alleen snelweg- kanten bevatten ◦ Pas hetzelfde idee opnieuw toe, en zoek verder naar een u-t pad in K 1 ◦ Gebruik de buurt van u en het snelweg netwerk om dit zoeken te versnellen Bart Jansen57

 In de praktijk: meerdere gelijktijdige zoekfronten, op verschillende niveaus  Ieder zoekfront zit als entry in de priority queue van het Dijkstra algoritme ◦ Een key voor knoop u bevat:  een afstands label d(s,u) (zoals normaal)  het niveau van dat zoekfront  het gat van het zoekfront: de afstand tot de rand van de buurt  Query algoritme gebruikt classificatie van kanten voor versnelling, en classificatie van overbodige knopen  Details zijn complex Bart Jansen58

 In normaal bi-directioneel zoeken, stoppen we zodra 1 knoop van beide kanten definitief is  Dit werkt niet meer in een snelweg hiërarchie ◦ Zoekfronten kunnen in verschillende niveaus bezig zijn, en elkaar missen  Simpele oplossing ◦ Zodra een knoop van 2 kanten definitief is, kennen we een (mogelijk niet optimaal) s-t pad ◦ Stop met het behandelen van knopen als die een afstand hebben die groter is dan de lengte van het bekende pad  Dit is correct omdat de afstands-waarden monotoon stijgen  Blijkt erg goed te werken; minder dan 1% van de zoekruimte bestaat uit knopen die zijn behandeld nadat de 2 zoekfronten elkaar hebben gevonden Bart Jansen59

 Voorbeeld van een query nabij Karlsruhe  Verschillende niveaus in verschillende kleuren  Bart Jansen60

Bart Jansen61

Bart Jansen62

Bart Jansen63

Bart Jansen64

Bart Jansen65

Bart Jansen66

Bart Jansen67

 Netwerk van West-Europa (n = 18 * 10 6, m = 23 * 10 6 )  Preprocessen in 16 minuten  27 bytes geheugen per knoop ◦ Totaal 486 MB geheugen gebruik  Query tijden zijn gemeten voor random gekozen paren knopen ◦ Gemiddelde versnelling tov. Dijkstra: factor 4002  Enkele milliseconden per query Bart Jansen68

Voordelen Nadelen  Snel preprocessen  Weinig extra geheugen nodig  Goede versnelling (4002 x)  Kan worden gecombineerd met doel-gericht zoeken (8320 x)  Simpel concept  Statische hiërarchie die niet inspeelt op wijzigingen (aanpassen van de graaf of gewichtsfunctie)  Er zijn snellere methoden (versnelling> x) Bart Jansen69

 Snelweg hiërarchieën reduceren de graaf recursief ◦ Knoop reductie (shortcuts) ◦ Kant reductie (snelweg kanten)  Query gebaseerd op bidirectionele versie van Dijkstra’s algoritme  Kan worden geimplementeerd met beperkt geheugengebruik  Orden van grootte sneller dan Dijkstra  SOFSEM 2009: theoretische analyse van shortcuts Bart Jansen70

Mars vs. Aarde

 In de input krijg je een lijst van alle kanten in de graaf  Stel je doet een Breadth-first search ◦ for each v in Adj[u]: … ◦ kost degree(v) tijd met een adjacency-list ◦ Totale BFS looptijd O(|V| + |E|)  Maar vergelijk: ◦ for (Road r in roads) if (r.sideA == v || r.sideB == v) … ◦ kost O(|E|) tijd! ◦ Totale BFS looptijd O(|V| * |E|) Bart Jansen72

 Wat niet werkt:  while (er is een s-t pad in de graaf) ◦ Zoek een s-t pad met breadth-first search, blaas de goedkoopste kant op het pad op Bart Jansen73

Bart Jansen 74

 Planning  Roosters maken  Graaf algoritmiek ◦ Exacte oplossingen voor NP-complete problemen  … dus niet in polynomiale tijd Bart Jansen75

Bart Jansen76  Hans Bodlaender, Johan van Rooij en Marcel van Kooten-Niekerk  NP-compleet ◦ O( n ) algoritme  SOFSEM conferentie ◦ Januari 2011, Slowakije

 Los probleem bv. in O(2 k n) tijd op  n is de grootte van de input, k meet een specifiek aspect van de input  Vertex Cover ◦ Heeft graaf G een Vertex Cover van grootte k? ◦ Oplosbaar in O(2 k n) tijd Bart Jansen77

 Stel we hebben een ingewikkeld geformuleerde ja/nee vraag x  Het berekenen van het antwoord is NP- compleet  Voor de beschrijving van x kan een grote graaf nodig zijn (veel bits in de beschrijving)  In hoeverre is het mogelijk om vraag x in polynomiale tijd te herformuleren, zonder het antwoord te veranderen? ◦ We kunnen het antwoord niet in polynomiale tijd berekenen Bart Jansen78

 Heeft graaf G een vertex cover van grootte k? ◦ Om te vormen in equivalente vraag:  Heeft graaf G’ een vertex cover van grootte k’? ◦ Aantal knopen in G’ hangt alleen af van k, niet van G  Voor andere problemen kunnen we juist bewijzen zodat zoiets niet bestaat Bart Jansen79

 Officieel: onderdeel van masteropleiding  7.5 of 15 ECTS (1 of 2 perioden)  Experimentation project over algoritmiek?  Achtergrond ◦ Sommige NP-complete graafproblemen zijn sneller op te lossen als de “complexiteit” van de graaf laag is ◦ Verschillende manieren om complexiteit te meten; leiden tot verschillende snelheidswinsten ◦ Opdracht: implementeer algoritmen om de complexiteit van bestaande grafen te bepalen, om een schatting te kunnen maken van de te boeken snelheidswinst ◦ Meer info bij Bart Bart Jansen80