Den rejsende sælgers problem. Den rejsende sælgers problem. Første omtale af problemet 1832

Størrelse: px
Starte visningen fra side:

Download "Den rejsende sælgers problem. Den rejsende sælgers problem. Første omtale af problemet 1832"

Transkript

1 Den rejsende sælgers problem? En sælger skal besøge n byer og vende tilbage til sit udgangspunkt I hvilken rækkefølge skal han besøge byerne, hvis han ønsker at minimere sine rejseomkostninger? Den rejsende sælgers problem ved Keld Helsgaun Tur for 16 amerikanske byer 1 2 Konkurrence fra 1962 Første omtale af problemet byer i Tyskland Der Handlungsreisende - wie er sein soll und was er zu thun hat, um Aufträge zu erhalten und eines glücklichen Erfolgs in seinen Geschäften gewiss zu sein - Von einem alten Commis-Voyageur Voigt 3 4

2 Matematisk formulering Rejseomkostninger kan f.eks. måles i afstand, tid eller penge Givet en matrix C = {c ij }, hvor c ij repræsenterer omkostningen ved at gå fra by i til by j (i, j = 1,..., n) Find en permutation (i 1, i 2,..., i n ) af tallene fra 1 til n, der minimerer summen c i1 i 2 + c i2 i c in!1 i n + c in i 1 Problemtyper Egenskaber ved C benyttes til at klassificere problemer: Hvis c ij = c ji for alle i og j, siges problemet at være symmetrisk. Ellers er det asymmetrisk Hvis trekantuligheden gælder (c ik! c ij + c jk for alle i, j og k), j siges problemet at være metrisk Hvis c ij er Euklidiske afstande imellem punkter i planet, siges problemet at være Euklidisk i k 5 6 Grafformulering i 1 i 2 i 3 i 5 i 4 Motivation (1) Lad G = (V, E) være en vægtet graf, hvor V = {1, 2,..., n) er mængden af knuder, og E = {(i, j) i! V, j! V} er mængden af kanter. En cykel er en mængde af kanter {(i 1, i 2 ), (i 2, i 3 ),..., (i k, i 1 )}, hvor i p " i q for alle p " q. Længden af en cykel er summen af dens kantomkostninger. En tur (Hamiltoncykel) er en cykel, hvor k = n. TSP kan nu formuleres således: Givet en graf G. Find en tur i G af minimal længde. 7 Hvorfor beskæftige sig med den rejsende sælgers problem (TSP)? (1) Prototype-problem. Algoritmer og teknikker udviklet til løsning af TSP kan overføres til andre kombinatoriske optimeringsproblemer Alle større landvindinger inden for kombinatorisk optimering kan direkte eller indirekte henføres til studiet af TSP: Branch and bound, dynamisk programmering, beregningskompleksitet, snitplaner i LP, metaheuristikker 8

3 (2) Mange anvendelser Motivation (2) TSP opstår naturligt som delproblem ved løsning af problemer inden for transport og logistik: afhentning af børn med en skolebus udbringning af mad til pensionister Men TSP opstår også inden for mange andre områder: boring af huller på en printplade (VLSI) planlægning af opgaveafviklingen på en maskine Flere praktiske anvendelser Design af et optisk fibernetværk Kredsløb til afprøvning af integrerede kredse Genetisk sekvensanalyse 9 10 Beregningskompleksitet For et symmetrisk problem med n byer er antallet af mulige ture lig med (n!1) " (n! 2) "..." 2 "1 (n!1)! = 2 2 Hvis vi antager, at det tager 10-9 sekunder at bestemme hver mulig tur, bliver tidsforbruget stort, selv for små værdier af n: n Antal ture # # # Tidsforbrug # 2 år # 10 millioner år # år N = 3: N = 4: N = 5: N = 6: N = 7: N = 8: N = 9: N = 10: N = 11: N = 12: N = 13: N = 14: N = 15: N = 17: N = 19: N = 21: N = 23: N = 25: N = 30: N = 35: N = 40: Antal ruter 1 rute. 3 ruter. 12 ruter. 60 ruter. 360 ruter ruter ruter ruter ruter ruter ruter ruter ruter ruter ruter ruter ruter ruter ruter ruter ruter

4 Problemkompleksitet TSP er NP-fuldstændigt Enhver algoritme, der med garanti finder optimum, vil have et tidsforbrug, der vokser eksponentielt med problemstørrelsen Løsningsalgoritmer Eksakte algoritmer Dynamisk programmering Lineær programmering (snitplaner, facetter) Approksimative algoritmer Heuristikker Metaheuristikker (simuleret udglødning, myrekolonier, genetiske algoritmer, tabusøgning) subject to minimize Eksakte løsninger (milepæle) pla85900: optimal tur År Forskere Byer 1954 G. Dantzig, R. Fulkerson, S. Johnson M. Held, R. M. Karp P. M. Camerini, L. Fratta, F. Maffioli M. Grötschel H. Crowder, M.W. Padberg M. Padberg, G. Rinaldi M. Grötschel, O. Holland M. Padberg, G. Rinaldi D. Applegate, R. Bixby, V. Chvátal, W. Cook D. Applegate, R. Bixby, V. Chvátal, W. Cook D. Applegate, R. Bixby, V. Chvátal, W. Cook D. Applegate, R. Bixby, V. Chvátal, W. Cook, K. Helsgaun D. Applegate, R. Bixby, V. Chvátal, W. Cook, K. Helsgaun, S. Dash, D. Espinoza, R. Fukasawa, M. Goycoolea ,112-by problemet blev løst ved hjælp af 110 cpu er med et samlet CPU-forbrug på cirka 22 år. 24,978-by problemet blev løst med et samlet CPU-forbrug på cirka 84 år. 15 CPU-tidsforbrug: 136 år 16

5 by problemet Optimal løsning byer i Tyskland 1 ud af mulige ture Antallet af atomer i hele det kendte univers antages at være Approksimative algoritmer Nærmeste nabo (en turkonstruerende algoritme) Turkonstruktuerende algoritmer En tur konstrueres fra bunden Turforbedrende algoritmer En given tur forbedres så meget som muligt Sammensatte algoritmer En tur konstrueres og forbedres Besøg den nærmeste ubesøgte by, så længe der er ubesøgte byer

6 Multi-fragment (Greedy) (en turkonstruerende algoritme) 2-opt (en turforbedrende algoritme) Ersta forbindelser med 2 andre forbindelser, så der fremkommer en kortere tur Tilføj den korteste kant, som forbinder endepunkterne for to fragmenter Animering af 2-opt 3-opt Erstat 3 forbindelser med 3 andre forbindelser, så der fremkommer en kortere tur 23 24

7 Løsningskvalitet by problemet Algoritme Afvigelse fra optimum Nærmeste nabo 25% Multi-fragment 15% 2-opt 14% 3-opt 8% "-opt En tur siges, at være "-optimal, hvis det er umuligt at opnå en kortere tur ved at erstatte " af dens forbindelser med en mængde af " forbindelser Hvis en tur er "-optimal, er den også " -optimal for 1! "! " En tur med n byer er optimal, hvis og kun hvis den er n-optimal Kompleksitet af "-opt Lin-Kernighan Kvaliteten af en tur øges, når " øges Men (1) tiden for at undersøge, om en tur er "-optimal, vokser meget hurtigt. Med en naiv implementering er tidskompleksiteten O(n " ) (2) der er ingen ikke-triviel øvre grænse for antallet af "-ombytninger Ofte vælges "=2 eller "=3 Men det er en ulempe, at " skal vælges på forhånd Lin og Kernighan fjernede denne ulempe ved at introducere en variabel "-opt algoritme Algoritmen undersøger for stigende værdier af ", om en ombytning af " forbindelser vil resultere i en kortere tur. Dette fortsætter, indtil et fastsat stopkriterium er opfyldt 27 28

8 Begrænsning af søgningen (1) Eksempel på et ikke-sekventielt træk (1) Sekventielle ombytninger Forbindelser fjernes og tilføjes skiftevis, og således at to på hinanden følgende forbindelser har et endepunkt tilfælles t 4 t 3 Dobbelt-bro-træk t 3 t 4 4-opt træk t 8 t 6 t 7 t 7 t 5 t 8 t 6 Kæden af kanter udgør en alternaternde cykel t 5 To alternerende cyker t 1 t Begrænsning af søgningen (2) (2) Gennemførlighed For i $ 3 må en forbindelse (i-1, i ) kun fjernes, hvis tilføjelsen af forbindelsen (i, t 1 ) resulterer i en tur t 6 t tilladt 3 t 5 t 4 t 4 t 3 t 5 t 6 forbudt Træk som en følge af 2-opt træk 4 t 3 t 1 I den originale algoritme, LK, kan et "-opt træk repræsenteres som e- eller 3-opt træk, efterfulgt af en serie af 2-opt træk t 1 t 1 t

9 Begrænsning af søgningen (3) Begrænsning af søgningen (4) (3) Positiv gevinst Ved konstruktion af et "-opt træk, skal den foreløbige gevinst, G i, altid være positiv, hvor G i = c(t 1, ) - c(, t 3 ) + c(t 3, t 4 ) c(i, i+1 ) t 6 t 3 t 5 t 4 (4) Disjunkte forbindelser En tidligere fjernet forbindelse kan ikke blive tilføjet, og en tidligere tilføjet forbindelse kan ikke blive fjernet t 6 t 3 t 5 t 4 t 7 t 7 t 1 t Begrænsning af søgningen (5, 6 og 7) (5) Beskæring af søgebredden Søgning efter en forbindelse, der skal tilføjes, begrænses til de 5 nærmeste naboer til i (6) Gode faste forbindelser bibeholdes For i $ 4 må en forbindelse ikke fjernes, hvis den er fælles for et givet antal hidtil korteste ture (7) Overflødigt overarbejde undgås Søgning efter en forbedring stoppes, hvis den aktuelle tur er den samme som en tidligere tur Dirigering af søgningen Udover regler til begrænsning af søgningen indeholder den originale algoritme også en række heuristiske regler, hvis formål er at forbedre chancen for at finde gevinstgivende træk Hvis der er flere muligheder for at tilføje en forbindelse, vælges den, der giver den største tilvækst af gevinsten Hvis der er flere muligheder for at fjerne en forbindelse, vælges den længste 35 36

10 Effektiviteten af LK Itereret LK LK betragtes i dag som den mest effektive approksimative algoritme til løsning af TSP LK kan på rimelig tid bestemme løsninger, som afviger fra optimum med omkring 2% Med itereret LK opnås typisk en kvalitet på 1% besttour = LK(randomTour()); for (run = 2; run <= numberofruns; run++) { tour = LK(kick(bestTour)); if (cost(tour) < cost(besttour)) besttour = tour; } kick-operationen kan, for eksempel, være et tilfældigt dobbelt-bro-træk LKH Lin-Kernighan-Helsgaun algoritmen En turforbedrende algoritme, der finder næroptimale løsninger til TSP Faktisk finder algoritmen ofte optimum Centrale ændringer i forhold til LK (1) Der benyttes 5-opt træk, som det basale træk (i stedet for 2-opt træk) (2) Mængden af kandidater for de forbindelser, der kan indgå i en tur bestemmes ved sensitivitetsanalyse (i stedet for ved bestemmelse af nærmeste nabo) 39 40

11 Sensitivitetsanalyse i LKH Effektiviteten af #-målet Forbindelsers chance for at tilhøre en optimal tur estimeres ved hjælp af det såkaldte #-mål For hver kant i den til problemet svarende graf bestemmes kantens #-værdi som den tilvækst omkostningen for et mindste udspændende træ ville få, hvis kanten skulle være med i et sådan træ #-målet kan forbedres ved Lagrange relaksation og subgradient optimering Målet er så godt, at man i mange tilfælde kan nøjes med kandidatmængder, der for hver by blot omfatter de 5 #-nærmeste naboer Bestemmelse af #-værdierne kan gøres i O(n 2 ) tid Andre effektiviseringer (1) Startture genereres ikke helt tilfældigt Forbindelserne vælges blandt kandidatforbindelserne (2) Den første kant, der fjernes i et træk, (t 1, ), må ikke tilhøre den hidtil bedste tur (3) Ture repræsenteres med en datastruktur, som tillader udførelse af et "-opt træk i O(" n) tid (4) Tiden for afstandsberegninger reduceres (caching) LKH version 2 Version 2 af LKH forbedrer den oprindelige implementation på følgende punkter: (1) Løsning af meget store problemer (mere end 1 million byer), er nu muligt (2) Det er muligt at opnå endnu bedre løsningskvalitet (5) Tiden til at undersøge, at der ikke er mulighed for flere forbedringer, reduceres (hashing, don t look bits) 43 44

12 Løsning af meget store problemer Øget løsningskvalitet En god starttur kan bestemmes hurtigt med multi-fragment algoritmen Delaunay-triangularisering kan benyttes til at effektivisere sensitivitetsanalysen (1) Basistræk kan være K-opt for en vilkårlig værdi af K (ikke blot! 5 som i version 1) (2) Træk kan omfatte ikke-sekventielle træk (3) Ture kan flettes (4) Et problem kan opløses i delproblemer Generelt K-opt træk t 3 t 8 t 4 t 7 Er trækket lovligt? Antallet af tilfælde, der skal undersøges, vokser hurtigt for stigende værdier af K: Delproblemer: (1) Er trækket lovligt? (2) Hvorledes udføres det i givet fald? t 6 t 5 t 1 t 10 t 9 K Mulige sekvenser Lovlige sekvenser Andel 50.0% 50.0% 41.7% 38.5% 35.1% 32.8% 30.7% 29.1% 27.6% 47 48

13 Er trækket lovligt? Implementeringsmuligheder (1) Programgenerering (David Applegate) Antal producerede programlinjer: K = 6: K = 7: K = 8: Hvorledes udføres et lovligt træk? Et K-opt træk udføres ved at vende 0, 1 eller flere sekvenser af byer på turen om (foretage reversioner) reversion reversion (2) Rekursion og sortering (Keld Helsgaun) Lovlighed kan afgøres i O(K log K) tid 49 reversion 50 2-opt træk og reverseringer E-opt træk bevirker en reversering af et tursegment. Sætning: Ethvert K-opt træk (K $ 2) er ækvivalent med en følge af højst K 2-opt træk. Hvorledes udføres et lovligt træk? (mest effektivt) Bestemmelse af den korteste følge af reversioner, der skal bruges for at udføre et K-opt træk viser sig at være ækvivalent med et centralt problem ved sammenlignende studier af gener: Sortering ved reversering af permutationer med fortegn En permutation med fortegn er en sædvanlig permutation, hvor hvert element er forsynet med et fortegn, + eller - Problemet kan løses i polynomiel tid: O(K 2 ) 51 52

14 Et 4-opt træk og dets tilsvarende permutation med fortegn Udførelse 4-opt trækket ved sortering af dets permutation (+1, -4, -2, +3) (+1, -4, -3, +2) (+1, -2, +3, +4) (+1, +2, +3, +4) 2 (+1, -4, -2, +3) (+1, +2, +3, +4) 53 Trækket foretages med 3 reversioner (2-opt træk) 54 Tur repræsentation To-niveau-træ Ikke-sekventielle træk Hvis der under konstruktionen af et K-opt træk findes et turforbedrende, men ulovligt træk, forsøges de opståede cykler føjet sammen på en sådan måde, at der fremkommer et turforbedrende, lovligt træk Operation Kompleksitet PRED(t), SUC(t) O(1) BETWEEN(t1, t2, t3) O(1) FLIP(t1, t2, t3, t4) O( n) Cykler kan føjes sammen ved brug af en eller flere alternerende cykler 55 56

15 Sammenføjning med 1 alternerende cykel Sammenføjning med 2 alternerende cykler t 3 t 3 t 4 t 4 t 1 t 5 t 1 t 6 t 6 t 7 t 8 t Repræsentation af potentielle træk t incl t t 3 t 4 2 t 5 5 t 6 4 t t 8 9 t 9 8 t 10 7 Afgørelse af cykelmedlemskab 1. Sorter t-følgen: (t 1,, t 4, t 3, t 9, t 10, t 7, t 8, t 5, t 6 ) Tid: O(K logk) 2. Bestem cykelnummeret for hver t-knude Tid: O(K) Cykelnummeret for enhver knude kan bestemmes ved binær søgning i den sorterede t-følge Tid: O(logK) 59 60

16 Begrænsning af søgningen efter alternerende cykler Fletning af ture (1) To alternerende cykler må ikke haves fælles kanter. (2) Alle ud-kanter i en alternerende cykel skal tilhøre fællesmængden af kanter i den aktuelle tur og cyklernes kanter. (3) Alle ind-kanter i en alternerende cykel skal forbinde to cykler. (4) Startknuden i en alternerende cykel skal tilhøre den korteste cykel (cyklen med færrest kanter). Lås fælles kanter og løs ved lokal søgning (5) Konstuktion af en alternerende cykel påbegyndes kun, hvis den aktuelle gevinst er positiv Iterativ partiel omskrivning Givet to ture. Søg efter kantfølger, som indeholder de samme knuder, men i forskellig rækkefølge, og hvor startog slutknuden er den samme. Erstat den dyreste kantfølge med den billigste. Backbone-styret søgning Kanterne i ture, der er frembragt efter et fast antal indledende iterationer, kan benyttes som kandidatkanter i de efterfølgende iterationer 63 64

17 Tur-baseret opdeling Geometrisk opdeling En tur opdeles i segmenter af samme størrelse. Hvert segment omdannes til en tur ved tilføjelse af en fast kant imellem dets to endepunkter, og turen forsøges forbedret. Opdel området, der indeholder alle byerne, i rektangler med lige mange byer i hvert. Forbedrede segmenter sættes på plads igen. Prøv igen med en opdeling, hvor hvert nyt segment omfatter halvdelen af byerne fra to gamle nabosegmenter Resultater dk11455 I det følgende gives eksempler på løsninger fundet af LKH For visse af eksemplerne kendes de optimale løsninger ikke. For disse vurderes løsningernes kvalitet i forhold til kendte nedre grænser (bestemt af Applegate m.fl. ved hjælp af snitplan-metoder) Længde ca km 67 68

18 brd14051: optimum d18512: optimum sw24978: optimum pla33810: optimum 71 72

19 china71009: fejl! 0,024% pla85900: optimum e100k.0: fejl! 0,039% E1M.0: fejl! 0,019% 75 76

20 lrb World ( byer): fejl! 0,049% Antal ruter # Igangværende arbejde 526 millioner stjerner Distribueret løsning af meget store problemer: Et VLSI-problem med byer Cirka 526 millioner stjerner (# mulige ruter) I samarbejde med David Applegate, William Cook, André Rohe og Sanjeeb Dash Parallel memetisk (hybrid genetisk) algoritme baseret på LKH 79 80

21 TSP-kunst? punkter En ud af mulige ture Den rejsende rummands problem 81 82

Den rejsende sælgers problem. ved Keld Helsgaun

Den rejsende sælgers problem. ved Keld Helsgaun ? Den rejsende sælgers problem ved Keld Helsgaun 1 Den rejsende sælgers problem En sælger skal besøge n byer og vende tilbage til sit udgangspunkt I hvilken rækkefølge skal han besøge byerne, hvis han

Læs mere

Symmetrisk Traveling Salesman Problemet

Symmetrisk Traveling Salesman Problemet Symmetrisk Traveling Salesman Problemet Videregående Algoritmik, Blok 2 2008/2009, Projektopgave 2 Bjørn Petersen 9. december 2008 Dette er den anden af to projektopgaver på kurset Videregående Algoritmik,

Læs mere

Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomiel tid

Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomiel tid 6 april Løsning af N P -hårde problemer Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomiel tid Oversigt Grænseværdier (repetition) Branch-and-bound algoritmens komponenter Eksempler

Læs mere

Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomielt tid Optimeringsproblemer kan ikke altid verificeres i polynomiel

Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomielt tid Optimeringsproblemer kan ikke altid verificeres i polynomiel I dag Løsning af NP -hårde optimeringsproblemer Repetition: branch-and-bound Flere begreber Konkret eksempel: TSP Lagrange relaxering Parallel branch-and-bound 1 Opsummering Løsning af NP -hårde optimeringsproblemer

Læs mere

Udtømmende søgning. Udtømmende søgning (kombinatorisk søgning) Problem med 4461 byer Udtømmende søgning i grafer. Find den korteste rundtur

Udtømmende søgning. Udtømmende søgning (kombinatorisk søgning) Problem med 4461 byer Udtømmende søgning i grafer. Find den korteste rundtur Udtømmende søgning Udtømmende søgning (kombinatorisk søgning) Systematisk gennemsøgning af alle potentielle løsninger Den rejsende sælgers problem (TSP): En sælger skal besøge N byer ind den korteste rundtur

Læs mere

Grundlæggende køretidsanalyse af algoritmer

Grundlæggende køretidsanalyse af algoritmer Grundlæggende køretidsanalyse af algoritmer Algoritmers effektivitet Størrelse af inddata Forskellige mål for køretid Store -notationen Klassiske effektivitetsklasser Martin Zachariasen DIKU 1 Algoritmers

Læs mere

Udtømmende søgning 1

Udtømmende søgning 1 Udtømmende søgning Udtømmende søgning (kombinatorisk søgning) Systematisk gennemsøgning af alle potentielle løsninger Den rejsende sælgers problem (TSP): En sælger skal besøge N byer Find den korteste

Læs mere

Sidste gang Motivation Definitioner Approximations-algoritme for knudeoverdækning Approximations-algoritme for TSP med trekantsulighed

Sidste gang Motivation Definitioner Approximations-algoritme for knudeoverdækning Approximations-algoritme for TSP med trekantsulighed Approximations-algoritmer Sidste gang Motivation Definitioner Approximations-algoritme for knudeoverdækning Approximations-algoritme for TSP med trekantsulighed Negativt resultat om generel TSP Approximations-algoritme

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur blandt mange mulige. Dynamisk programmering Optimeringsproblem: man ønsker at finde

Læs mere

Tirsdag 12. december David Pisinger

Tirsdag 12. december David Pisinger Videregående Algoritmik, DIKU 2006/07 Tirsdag 12. december David Pisinger Resume sidste to gang Sprog L : mængden af instanser for et afgørlighedsproblem hvor svaret er 1. P = {L : L genkendes af en algoritme

Læs mere

Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.

Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti. Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste

Læs mere

Logistik og optimering

Logistik og optimering Logistik og optimering JENS LYSGAARD Professor Institut for Økonomi Aarhus Universitet Forskningscentret CORAL v. Institut for Økonomi Logistik og optimering CORAL: Cluster for Operations Research And

Læs mere

Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.

Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti. Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste

Læs mere

Perspektiverende Datalogikursus

Perspektiverende Datalogikursus Perspektiverende Datalogikursus Uge 1 - Algoritmer og kompleksitet Gerth Stølting Brodal 27. august 2004 1 Indhold Mere om Eksempler på beregningsproblemer Algoritmer og deres analyse Korrekthed af algoritmer

Læs mere

Mindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion

Mindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion Philip Bille Introduktion (MST). Udspændende træ af minimal samlet vægt. Introduktion (MST). Udspændende træ af minimal samlet vægt. 0 0 Graf G Ikke sammenhængende Introduktion (MST). Udspændende træ af

Læs mere

Geometrisk skæring. Afgørelse af om der findes skæringer blandt geometriske objekter Bestemmelse af alle skæringspunkter

Geometrisk skæring. Afgørelse af om der findes skæringer blandt geometriske objekter Bestemmelse af alle skæringspunkter Planfejning 1 Skæring 2 Geometrisk skæring Afgørelse af om der findes skæringer blandt geometriske objekter Bestemmelse af alle skæringspunkter Løsningsmetoder: Rå kraft Planfejning (eng. plane sweep)

Læs mere

Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er

Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er en unik simpel vej mellem ethvert par af punkter i

Læs mere

P2-gruppedannelsen for Mat og MatØk

P2-gruppedannelsen for Mat og MatØk Institut for Matematiske Fag Aalborg Universitet Danmark 1-02-2012 Vejledere Bo Hove E-mail: bh@thisted-gymnasium.dk 3 Mat grupper (semesterkoordinator) E-mail: diego@math.aau.dk. Web page: http://people.math.aau.dk/~diego/

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur (struktur opbygget af et endeligt antal enkeltdele) blandt mange mulige. Eksempler:

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave

Læs mere

Broer, skak og netværk Carsten Thomassen: Naturens Verden 10, 1992, s. 388-393.

Broer, skak og netværk Carsten Thomassen: Naturens Verden 10, 1992, s. 388-393. Broer, skak og netværk Side 1 af 6 Broer, skak og netværk Carsten Thomassen: Naturens Verden 10, 1992, s. 388-393. Eksempler på praktiske anvendelser af matematik og nogle uløste problemer Indledning Figur

Læs mere

.. if L(u) + w(u, v) < L(v) then.. begin... L(v) := L(u) + w(u, v)... F (v) := u.. end. med længde L(z)}

.. if L(u) + w(u, v) < L(v) then.. begin... L(v) := L(u) + w(u, v)... F (v) := u.. end. med længde L(z)} Procedure Dijkstra(G = (V, E): vægtet sh. graf,. a, z: punkter) { Det antages at w(e) > 0 for alle e E} For alle v V : L(v) := L(a) := 0, S := while z / S begin. u := punkt ikke i S, så L(u) er mindst

Læs mere

Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515)

Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515) Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM55) Institut for Matematik & Datalogi Syddansk Universitet Tirsdag den Juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater

Læs mere

Mindste udspændende træ

Mindste udspændende træ Mindste udspændende træ Introduktion Repræsentation af vægtede grafer Egenskaber for mindste udspændende træer Prims algoritme Kruskals algoritme Philip Bille Mindste udspændende træ Introduktion Repræsentation

Læs mere

Mindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion

Mindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion Philip Bille Introduktion (MST). Udspændende træ af minimal samlet vægt. Introduktion (MST). Udspændende træ af minimal samlet vægt. 0 0 Graf G Ikke sammenhængende Introduktion (MST). Udspændende træ af

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 26. maj 2009. Kursusnavn Algoritmik og datastrukturer I Kursus nr. 0205. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning) Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning) Datalogisk Institut Aarhus Universitet Fredag den 28. maj 2004, kl. 9.00 13.00 Opgave 1 (20%) En (r, k) kryds-graf er en orienteret graf

Læs mere

Ideer til datalogiprojekter. Keld Helsgaun

Ideer til datalogiprojekter. Keld Helsgaun Ideer til datalogiprojekter Keld Helsgaun 1 Keld Helsgaun Forskning: kombinatorisk optimering heuristisk søgning (kunstig intelligens) programmeringsværktøjer Undervisning: programmering, datastrukturer

Læs mere

Minimum udspændende Træer (MST)

Minimum udspændende Træer (MST) Minimum udspændende Træer (MST) Træer Et (frit/u-rodet) træ er en uorienteret graf G = (V, E) som er Sammenhængende: der er en sti mellem alle par af knuder. Acyklisk: der er ingen kreds af kanter. Træer

Læs mere

P2-projektforslag Kombinatorik: grafteori og optimering.

P2-projektforslag Kombinatorik: grafteori og optimering. P2-projektforslag Kombinatorik: grafteori og optimering. Vejledere: Leif K. Jørgensen, Diego Ruano 1. februar 2013 1 Indledning Temaet for projekter på 2. semester af matematik-studiet og matematikøkonomi-studiet

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 005, F0 side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 00. Kursusnavn Algoritmik og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler.

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl. 9.00 13.00 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal.

Læs mere

Perspektiverende Datalogikursus

Perspektiverende Datalogikursus Perspektiverende Datalogikursus Uge 1 - Algoritmer og kompleksitet Gerth Stølting Brodal 2. september 2005 1 Afleveringsopgaver... /\.. // \\ / \ / [] \ \\_// / \ / \ []._. ---------------- _ 2 Øvelse

Læs mere

Perspektiverende Datalogi Klassiske Algoritmer

Perspektiverende Datalogi Klassiske Algoritmer Perspektiverende Datalogi Klassiske Algoritmer Gerth Stølting Brodal 1 Indhold Eksempler på beregningsproblemer Algoritmer og deres analyse Korrekthed af algoritmer Ressourceforbrug for algoritmer Kompleksitet

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Algoritmer og Datastrukturer (00-ordning) Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag:

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 3 sider anmarks Tekniske Universitet Skriftlig prøve, den 29. maj 203. ursusnavn: lgoritmer og datastrukturer ursus nr. 02326. jælpemidler: Skriftlige hjælpemidler. et er ikke tilladt at medbringe

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 02105, F14 side 1 af 14 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 2014. Kursusnavn: Algoritmer og datastrukturer 1 Kursusnummer: 02105 Hjælpemidler: Skriftlige hjælpemidler. Det

Læs mere

Prioritetskøer og hobe. Philip Bille

Prioritetskøer og hobe. Philip Bille Prioritetskøer og hobe Philip Bille Plan Prioritetskøer Træer Hobe Repræsentation Prioritetskøoperationer Konstruktion af hob Hobsortering Prioritetskøer Prioritetskø Vedligehold en dynamisk mængde S af

Læs mere

02105 Eksamensnoter. Lasse Herskind S maj Sortering 3

02105 Eksamensnoter. Lasse Herskind S maj Sortering 3 02105 Eksamensnoter Lasse Herskind S153746 12. maj 2017 Indhold 1 Sortering 3 2 Analyse af algoritme 4 2.1 Køretid.......................................... 4 2.2 Pladsforbrug.......................................

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning

Læs mere

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning

Læs mere

Ugeseddel 12(10.12 14.12)

Ugeseddel 12(10.12 14.12) Ugeseddel (..) Matematisk Programmering Niels Lauritzen..7 FORELÆSNINGER I ugen. 7. gennemgik vi algoritmer til løsning af heltalsprogrammer ved hjælp af simplex algoritmen. Dette er heltalsprogrammeringsugesedlen

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 23. maj 20. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 0205. Varighed: 4 timer Tilladte hjælpemidler: Alle skriftlige hjælpemidler.

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET INSTITUT FOR DTOI, RUS UNIVERSITET Science and Technology ESEN lgoritmer og Datastrukturer (00-ordning) ntal sider i opgavesættet (incl. forsiden): (elleve) Eksamensdag: Fredag den. juni 0, kl. 9.00-.00

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET INSTITUT FOR DTLOGI, RHUS UNIVERSITET Science and Technology EKSMEN ntal sider i opgavesættet (incl. forsiden): (elleve) Eksamensdag: Mandag den. august 07, kl. 9.00-.00 Tilladte medbragte hjælpemidler:

Læs mere

Orienterede grafer. Orienterede grafer. Orienterede grafer. Vejnetværk

Orienterede grafer. Orienterede grafer. Orienterede grafer. Vejnetværk Philip Bille Orienteret graf (directed graph). Mængde af knuder forbundet parvis med orienterede kanter. Vejnetværk Knude = vejkryds, kant = ensrettet vej. deg + (6) =, deg - (6) = sti fra til 6 8 7 9

Læs mere

Basale forudsætninger. Sortering ved fletning med tre bånd, i to faser.

Basale forudsætninger. Sortering ved fletning med tre bånd, i to faser. 25 Sortering III. Basale forudsætninger. Sortering ved fletning med tre bånd, i to faser. Sortering ved fletning, med fire bånd, i én fase (balanceret fletning). Polyfase fletning med tre bånd. Generaliseret

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Algoritmer og Datastrukturer (00-ordning) Antal sider i opgavesættet (incl. forsiden): 7 (syv) Eksamensdag:

Læs mere

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal Aarhus Universitet

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal Aarhus Universitet Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Aarhus Universitet Kursusbeskrivelsen Kursusbeskrivelsen: Algoritmer og datastrukturer 1 Formål Deltagerne vil efter kurset have indsigt i algoritmer

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Onsdag den 0. juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

Grafer og graf-gennemløb

Grafer og graf-gennemløb Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).

Læs mere

Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.

Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti. Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Fredag den 25. juni 200, kl. 9.00-.00

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Fredag den 24. juni 2011, kl.

Læs mere

Branch-and-bound. David Pisinger. Videregående algoritmik, DIKU (2007-08) 1 Introduktion 5 1.1 Gennemgående eksempler... 7. 2 Brute-force metoder 10

Branch-and-bound. David Pisinger. Videregående algoritmik, DIKU (2007-08) 1 Introduktion 5 1.1 Gennemgående eksempler... 7. 2 Brute-force metoder 10 Branch-and-bound David Pisinger Videregående algoritmik, DIKU (2007-08) Indhold 1 Introduktion 5 1.1 Gennemgående eksempler..................... 7 2 Brute-force metoder 10 3 Divide and Conquer 11 4 Grænseværdier

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

Videregående Algoritmik. Version med vejledende løsninger indsat!

Videregående Algoritmik. Version med vejledende løsninger indsat! Videregående Algoritmik DIKU, timers skriftlig eksamen, 1. april 009 Nils Andersen og Pawel Winter Alle hjælpemidler må benyttes, dog ikke lommeregner, computer eller mobiltelefon. Opgavesættet består

Læs mere

Grafer og graf-gennemløb

Grafer og graf-gennemløb Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).

Læs mere

Grafer og graf-gennemløb

Grafer og graf-gennemløb Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer Kursus nr. 02326. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne:

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Fredag den 0. august 00, kl. 9.00-.00

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af opgaverne:

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet ksamen 06, side af sider anmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. ursusnavn: lgoritmer og datastrukturer ursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer

Læs mere

Prioritetskøer. Prioritetskøer. Prioritetskøer. Prioritetskøer

Prioritetskøer. Prioritetskøer. Prioritetskøer. Prioritetskøer Philip Bille. Vedligehold en dynamisk mængde S af elementer. Hver element x er tilknyttet en nøgle x.key og satellitdata x.data. MAX(): returner element med største nøgle. EXTRACTMAX(): returner og fjern

Læs mere

Sommeren 2001, opgave 1

Sommeren 2001, opgave 1 Sommeren 2001, opgave 1 Vi antager at k 3, da det ellers er uklart hvordan trekanterne kan sættes sammen i en kreds. Vi ser nu at for hver trekant er der en knude i kredsen, og en spids. Derfor er n =

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Fredag den 22. juni 2012, kl. 9.00-13.00 Eksamenslokale: Finlandsgade

Læs mere

Prioritetskøer. Prioritetskøer Træer og hobe Repræsentation af hobe Algoritmer på hobe Hobkonstruktion Hobsortering. Philip Bille

Prioritetskøer. Prioritetskøer Træer og hobe Repræsentation af hobe Algoritmer på hobe Hobkonstruktion Hobsortering. Philip Bille Prioritetskøer Prioritetskøer Træer og hobe Repræsentation af hobe Algoritmer på hobe Hobkonstruktion Hobsortering Philip Bille Prioritetskøer Prioritetskøer Træer og hobe Repræsentation af hobe Algoritmer

Læs mere

Prioritetskøer. Prioritetskøer. Prioritetskøer. Prioritetskøer

Prioritetskøer. Prioritetskøer. Prioritetskøer. Prioritetskøer Philip Bille (priority-queues). Vedligehold en dynamisk mængde S af elementer. Hver element x er tilknyttet en nøgle x.key og satellitdata x.data. MAX(): returner element med største nøgle. EXTRACTMAX():

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Mandag den 11. august 008, kl.

Læs mere

16. marts P NP. Essentielle spørgsmål: NP P? Et problem Q kaldes NP -fuldstændigt 1 Q NP 2 R NP : R pol Q. Resume sidste gang

16. marts P NP. Essentielle spørgsmål: NP P? Et problem Q kaldes NP -fuldstændigt 1 Q NP 2 R NP : R pol Q. Resume sidste gang 16. marts Resume sidste gang Abstrakt problem konkret instans afgørlighedsproblem Effektiv kodning (pol. relateret til binær kodning) Sprog L : mængden af instanser for et afgørlighedsproblem hvor svaret

Læs mere

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Kursusbeskrivelsen Kursusbeskrivelsen: Algoritmer og datastrukturer 1 Formål Deltagerne vil efter kurset have indsigt i algoritmer som model for sekventielle

Læs mere

M=3 kunde forbindelse. oprettet lokation Steinerkant

M=3 kunde forbindelse. oprettet lokation Steinerkant M=3 åben facilitet kunde forbindelse lukket facilitet oprettet lokation Steinerkant v Connected facility location-problemet min i f i y i + d j c ij x ij + M c e z e (1) j i e hvorom gælder: x ij 1 j (2)

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 2 sider anmarks Tekniske Universitet Skriftlig prøve, den 23. maj 20. Kursusnavn: lgoritmer og datastrukturer Kursus nr. 02326. Varighed: 4 timer Tilladte hjælpemidler: lle skriftlige hjælpemidler.

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgaesættet (incl. forsiden): 7 (sy) Eksamensdag: Mandag den 20. juni 2005, kl. 9.00-13.00

Læs mere

Algoritmeanalyse. Øvre grænse for algoritme. Øvre grænse for problem. Nedre grænse for problem. Identificer essentiel(le) operation(er)

Algoritmeanalyse. Øvre grænse for algoritme. Øvre grænse for problem. Nedre grænse for problem. Identificer essentiel(le) operation(er) Algoritmeanalyse Identificer essentiel(le) operation(er) Øvre grænse for algoritme Find øvre grænse for antallet af gange de(n) essentielle operation(er) udføres. Øvre grænse for problem Brug øvre grænse

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 005, F side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed:

Læs mere

Mindste udspændende træ

Mindste udspændende træ Mindste udspændende træ Introduktion Repræsentation af vægtede grafer Egenskaber for mindste udspændende træer Prims algoritme Kruskals algoritme Philip Bille Mindste udspændende træ Introduktion Repræsentation

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 0205, Forår 205 side af 5 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 205. Kursusnavn: Algoritmer og datastrukturer Kursusnummer: 0205 Hjælpemidler: Skriftlige hjælpemidler. Det

Læs mere

Orienterede grafer. Orienterede grafer. Orienterede grafer. Orienterede grafer

Orienterede grafer. Orienterede grafer. Orienterede grafer. Orienterede grafer Philip Bille Orienteret graf. Mængde af knuder forbundet parvis med orienterede kanter. deg + (7) =, deg - (7) = Lemma. v V deg - (v) = v V deg + (v) = m. Bevis. Hver kant har netop en startknude og slutknude.

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Antal sider i opgavesættet (incl. forsiden): (fjorten) Eksamensdag: Mandag den. juni 0, kl. 9.00-.00 Tilladte medbragte hjælpemidler:

Læs mere

Minimum udspændende Træer (MST)

Minimum udspændende Træer (MST) Minimum udspændende Træer (MST) Træer Et (frit/u-rodet) træ er en uorienteret graf G = (V, E) som er Sammenhængende: der er en sti mellem alle par af knuder. Acyklisk: der er ingen lukket kreds af kanter

Læs mere

Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012

Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012 Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012 May 15, 2012 1 CONTENTS 2012 CONTENTS Contents 1 Kompleksitet 3 1.1 Køretid................................................ 3 1.2 Asymptotisk

Læs mere

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Kursusbeskrivelsen Kursusbeskrivelsen: Algoritmer og datastrukturer 1 Formål Deltagerne vil efter kurset have indsigt i algoritmer som model for sekventielle

Læs mere

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 3/2. n logn (3/2) n. 2 3logn (3/2) n

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 3/2. n logn (3/2) n. 2 3logn (3/2) n Side af 0 sider Opgave (4%) Ja Nej n er O(n / )? n +n er O(n )? (logn) er O( logn )? n er O()? /n er O(logn)? Opgave (4%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: logn

Læs mere

Selvstudium 1, Diskret matematik

Selvstudium 1, Diskret matematik Selvstudium 1, Diskret matematik Matematik på første studieår for de tekniske og naturvidenskabelige uddannelser Aalborg Universitet I dette selfstudium interesserer vi os alene for tidskompleksitet. Kompleksitet

Læs mere

16. december. Resume sidste gang

16. december. Resume sidste gang 16. december Resume sidste gang Abstrakt problem, konkret instans, afgørlighedsproblem Effektiv kodning (pol. relateret til binær kodning) Sprog L : mængden af instanser for et afgørlighedsproblem hvor

Læs mere

Orienterede grafer. Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer.

Orienterede grafer. Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer. Orienterede grafer Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer Philip Bille Orienterede grafer Introduktion Repræsentation Søgning Topologisk

Læs mere

Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515)

Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515) Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM55) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 2 Juni 2008, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater

Læs mere

Søgning og Sortering. Philip Bille

Søgning og Sortering. Philip Bille Søgning og Sortering Philip Bille Plan Søgning Linæer søgning Binær søgning Sortering Indsættelsesortering Flettesortering Søgning Søgning 1 4 7 12 16 18 25 28 31 33 36 42 45 47 50 1 2 3 4 5 6 7 8 9 10

Læs mere

Datastrukturer (recap)

Datastrukturer (recap) Dictionaries Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data. Operationer: Datastrukturens egenskaber udgøres af de tilbudte operationer (API for adgang

Læs mere

DM02 Kogt ned. Kokken. Januar 2006

DM02 Kogt ned. Kokken. Januar 2006 DM02 Kogt ned Kokken Januar 2006 1 INDHOLD Indhold 1 Asymptotisk notation 2 2 Algoritme analyse 2 3 Sorterings algoritmer 2 4 Basale datastrukturer 3 5 Grafer 5 6 Letteste udspændende træer 7 7 Disjunkte

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Tirsdag den 27. maj 2003, kl. 9.00 3.00 Opgave (25%) For konstanten π = 3.4592... gælder identiteten π 2 6 =

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET STTUT FR DTG, RUS UVERSTET Science and Technology ESE ntal sider i opgavesættet (incl. forsiden): (elleve) Eksamensdag: Fredag den. juni 0, kl. 9.00-.00 Tilladte medbragte hjælpemidler: lle sædvanlige

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

Grafer og graf-gennemløb

Grafer og graf-gennemløb Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET INSTITUT FOR DTLOGI, RHUS UNIVERSITET Science and Technology EKSEN lgoritmer og Datastrukturer (00-ordning) ntal sider i opgavesættet (incl. forsiden): 11 (elleve) Eksamensdag: Torsdag den 1. juni 01,

Læs mere

Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal

Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk Institut Aarhus Universitet MasterClass Matematik, Mærsk Mc-Kinney Møller Videncenter, Sorø, 29-31. oktober 2009 Algoritmer: Matricer

Læs mere