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 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

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

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

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

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

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æ. 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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

Hamilton-veje og kredse:

Hamilton-veje og kredse: Hamilton-veje og kredse: Definition: En sti x 1, x 2,...,x n i en simpel graf G = (V, E) kaldes en hamiltonvej hvis V = n og x i x j for 1 i < j n. En kreds x 1, x 2,...,x n, x 1 i G kaldes en hamiltonkreds

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

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

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

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

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet ksamen 06, F side af sider anmarks Tekniske Universitet Skriftlig prøve, den 9. maj 0. ursusnavn: lgoritmer og datastrukturer ursus nr. 06. jælpemidler: Skriftlige hjælpemidler. et er ikke tilladt at medbringe

Læs mere

Rolf Fagerberg. Forår 2015

Rolf Fagerberg. Forår 2015 Forår 2015 Dagens program 1 2 3 4 5 Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Deltagere: BA i Datalogi BA i Software

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

Forén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter.

Forén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter. Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter Philip Bille Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening

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

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

Rolf Fagerberg. Forår 2015

Rolf Fagerberg. Forår 2015 Forår 2015 Dagens program 1 2 3 4 5 Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Deltagere: BA i Datalogi BA i Software Engineering BA i Matematik-Økonomi BA i Anvendt Matematik BA

Læs mere

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Tirsdag den 24. juni 2014, kl. 10:00 14:00 Besvarelsen skal afleveres elektronisk. Se

Læs mere

Forén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter.

Forén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter. Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter Philip Bille Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening

Læs mere

UNION-FIND. UNION-FIND-problemet. Forbundethed kan være svær at afgøre (især for en computer) Eksempel på udførelse

UNION-FIND. UNION-FIND-problemet. Forbundethed kan være svær at afgøre (især for en computer) Eksempel på udførelse UNION-FIND-problemet UNION-FIND inddata: en følge af heltalspar (p, q); betydning: p er forbundet med q uddata: intet, hvis p og q er forbundet, ellers (p, q) Eksempel på anvendelse: Forbindelser i computernetværk

Læs mere

Dynamisk programmering. Flere eksempler

Dynamisk programmering. Flere eksempler Dynamisk programmering Flere eksempler Eksempel 1: Længste fælles delstreng Alfabet = mængde af tegn: {a,b,c,...,z}, {A,C,G,T}, {,1} Streng = sekvens x 1 x 2 x 3... x n af tegn fra et alfabet: helloworld

Læs mere

Projekt 7.4 Kvadratisk programmering anvendt til optimering af elektriske kredsløb

Projekt 7.4 Kvadratisk programmering anvendt til optimering af elektriske kredsløb Projekt 7.4 Kvadratisk programmering anvendt til optimering af elektriske kredsløb Indledning: I B-bogen har vi i studieretningskapitlet i B-bogen om matematik-fsik set på parallelkoblinger af resistanser

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

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æ

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. Figur: Terminologi: n = V, m = E (eller V og E (mis)bruges som V og E ).

Læs mere

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

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

Læs mere

Kapitel 9: Netværksmodeller

Kapitel 9: Netværksmodeller Kapitel 9: Netværksmodeller Terminologi: Et netværk eller en graf bestar af et sæt punkter samt et sæt linier, der forbinder par af punkter; netværket betegnes som komplet, hvis ethvert par af punkter

Læs mere

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo Philip Bille Nærmeste naboer. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle key[] og satellitdata data[]. operationer. PREDECESSOR(k): returner element med største nøgle k.

Læs mere

Danmarks Tekniske Universitet

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

Læs mere

BRP Sortering og søgning. Hægtede lister

BRP Sortering og søgning. Hægtede lister BRP 18.10.2006 Sortering og søgning. Hægtede lister 1. Opgaver 2. Selection sort (udvælgelsessortering) 3. Kompleksitetsanalyse 4. Merge sort (flettesortering) 5. Binær søgning 6. Hægtede lister 7. Øvelser:

Læs mere

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528) Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM58) Institut for Matematik & Datalogi Syddansk Universitet Torsdag den 7 Januar 010, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger,

Læs mere

Algorithms & Architectures I 2. lektion

Algorithms & Architectures I 2. lektion Algorithms & Architectures I 2. lektion Design-teknikker: Divide-and-conquer Rekursive algoritmer (Recurrences) Dynamisk programmering Greedy algorithms Backtracking Dagens lektion Case eksempel: Triple

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

Rolf Fagerberg. Forår 2014

Rolf Fagerberg. Forår 2014 Forår 2014 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: Format: Programmering og Diskret matematik I (forelæsninger), TE (øvelser), S (arbejde selv og i studiegrupper) Eksamenform: Skriftlig

Læs mere

Reeksamen i Diskret Matematik

Reeksamen i Diskret Matematik Reeksamen i Diskret Matematik Første Studieår ved Det Teknisk-Naturvidenskabelige Fakultet 21. august 2015 Nærværende eksamenssæt består af 10 nummererede sider med ialt 17 opgaver. Tilladte hjælpemidler:

Læs mere

Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm2: Rekursive algoritmer og rekurrens - October 12, 2010

Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm2: Rekursive algoritmer og rekurrens - October 12, 2010 Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm2: Rekursive algoritmer og rekurrens - October 12, 2010 1 Algorithms and Architectures II 1. Introduction to analysis and design of algorithms

Læs mere

Lokalisering af og samspil mellem distributionsterminaler

Lokalisering af og samspil mellem distributionsterminaler Lokalisering af og samspil mellem distributionsterminaler Louise Tranberg DTU, Lyngby Logistisk optimering Hvordan optimeres den fysiske struktur og logistik i transportfirmaer? Hvor mange terminaler skal

Læs mere

Analyse af ombytningspuslespil

Analyse af ombytningspuslespil Analyse af ombytningspuslespil 1 / 7 Konkret eksempel på algoritmeanalyse Prøv ombytningspuslespillet på kurset webside. 2 / 7 Konkret eksempel på algoritmeanalyse Prøv ombytningspuslespillet på kurset

Læs mere

Affine rum. a 1 u 1 + a 2 u 2 + a 3 u 3 = a 1 u 1 + (1 a 1 )( u 2 + a 3. + a 3. u 3 ) 1 a 1. Da a 2

Affine rum. a 1 u 1 + a 2 u 2 + a 3 u 3 = a 1 u 1 + (1 a 1 )( u 2 + a 3. + a 3. u 3 ) 1 a 1. Da a 2 Affine rum I denne note behandles kun rum over R. Alt kan imidlertid gennemføres på samme måde over C eller ethvert andet legeme. Et underrum U R n er karakteriseret ved at det er en delmængde som er lukket

Læs mere

Klasserne af problemer, der kan løses i deterministisk og i ikke-deterministisk polynomiel tid; polynomiel reduktion; N P-fuldstændighed

Klasserne af problemer, der kan løses i deterministisk og i ikke-deterministisk polynomiel tid; polynomiel reduktion; N P-fuldstændighed Klasserne af problemer, der kan løses i deterministisk og i ikke-deterministisk polynomiel tid; polynomiel reduktion; N P-fuldstændighed Videregående algoritmik Cormen et al. 34.1 34.3 Fredag den 12. december

Læs mere

Binære søgetræer. Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb. Philip Bille

Binære søgetræer. Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb. Philip Bille Binære søgetræer Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb Philip Bille Binære søgetræer Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor

Læs mere

Rolf Fagerberg. Forår 2012

Rolf Fagerberg. Forår 2012 Forår 2012 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: DM502 og DM503 Timer: 50% forelæsninger, 50% øvelser Forudsætninger: DM502 og DM503 Eksamenform: Skriftlig eksamen: Timer: 50% forelæsninger,

Læs mere

28 Algoritmedesign. Noter. PS1 -- Algoritmedesign

28 Algoritmedesign. Noter. PS1 -- Algoritmedesign 28 Algoritmedesign. Algoritmeskabelon for Del og Hersk. Eksempler på Del og Hersk algoritmer. Binær søgning i et ordnet array. Sortering ved fletning og Quicksort. Maksimal delsums problem. Tætteste par

Læs mere

RUTEPLANLÆGNING OG TRANSPORTNETVÆRK

RUTEPLANLÆGNING OG TRANSPORTNETVÆRK 98 Ruteplanlægning og transportnetværk Af professor Oli B.G. Madsen 99 Flere og flere mennesker og større og større mængder af varer og gods bliver transporteret over længere afstande end nogensinde før.

Læs mere

Simulering af AntNet

Simulering af AntNet Simulering af AntNet - en routingsalgoritme baseret på ACO metaheuristikken af Sanne Bjerg Vejleder: Keld Helsgaun 2.modul Forår 2007 Bachelorprojekt Datalogi Roskilde Universitetscenter 2007 Resumé Resumé

Læs mere

Optimeringsmatematik og matematik-økonomi studiet

Optimeringsmatematik og matematik-økonomi studiet Optimeringsmatematik og matematik-økonomi studiet og specielt anvendelser af matematisk programmering Esben Høg Institut for Matematiske Fag Aalborg Universitet Oktober 2012 EH (Institut for Matematiske

Læs mere

P vs. NP. Niels Grønbæk Matematisk Institut Københavns Universitet 3. feb. 2012

P vs. NP. Niels Grønbæk Matematisk Institut Københavns Universitet 3. feb. 2012 P vs. NP Niels Grønbæk Matematisk Institut Københavns Universitet 3. feb. 2012 Den handelsrejsendes problem Kan det lade sig gøre at besøge n byer forbundet ved et vejnet, G, inden for budget, B? Hvad

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET NSTTUT OR TO, RUS UNVRSTT Science and Technology SN lgoritmer og atastrukturer (00-ordning) ntal sider i opgavesættet (incl. forsiden): 11 (elleve) ksamensdag: redag den 1. august 015, kl. 9.00-.00 Tilladte

Læs mere

Mm4: Greedy algorithms, backtracking and more recurrences - October 21, 2008

Mm4: Greedy algorithms, backtracking and more recurrences - October 21, 2008 Algorithms and Architectures I Rasmus Løvenstein lsen (RL), Jimmy Jessen Nielsen (JJE) Mm4: Greedy algorithms, backtracking and more recurrences - ctober 21, 2008 Algorithms and Architectures II 1. Introduction

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET INSTITUT FOR ATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Algoritmer og atastrukturer (00-ordning) Antal sider i opgavesættet (incl. forsiden): (elleve) Eksamensdag: Fredag den. august 0,

Læs mere

Turneringsplanlægning

Turneringsplanlægning Rasmus Vinther Rasmussen Afdelingen for Operations Analyse Aarhus Universitet Matematiklærerdag 006 Er der nogen, der har prøvet at planlægge en turnering? Er der nogen, som har hørt om en turnering, der

Læs mere

Programmering, algoritmik og matematik en nødvendig sammenblanding?

Programmering, algoritmik og matematik en nødvendig sammenblanding? Programmering, algoritmik og matematik en nødvendig sammenblanding? Oplæg til IDA møde, 29. november 2004 Martin Zachariasen DIKU 1 Egen baggrund B.Sc. i datalogi 1989; Kandidat i datalogi 1995; Ph.D.

Læs mere

Perspektiverende Datalogi Klassiske Algoritmer. Gerth Stølting Brodal

Perspektiverende Datalogi Klassiske Algoritmer. Gerth Stølting Brodal Perspektiverende Datalogi Klassiske Algoritmer Gerth Stølting Brodal Ugens Program Mandag 10.15 12.00 Introduktion til Algoritmik Gerth Stølting Brodal Tirsdag 9.15 12.00 Øvelser Open Learning Center 12.15

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Vinter 1998/99 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 16% Opgave 2 12% Opgave 3 10% Opgave

Læs mere

Chapter 7: Transport-, assignment- & transshipmentproblemer

Chapter 7: Transport-, assignment- & transshipmentproblemer Chapter 7: Transport-, assignment- & transshipmentproblemer 1) Formulering af de 3 problemtyper 2) Algoritme for det balancerede transportproblem 3) Algoritme for assignmentproblemet Samtlige 3 problemtyper

Læs mere

Eksamen i Diskret Matematik

Eksamen i Diskret Matematik Eksamen i Diskret Matematik Første Studieår ved Det Teknisk-Naturvidenskabelige Fakultet 10. juni, 2016. Kl. 9-13. Nærværende eksamenssæt består af 11 nummererede sider med ialt 16 opgaver. Alle opgaver

Læs mere

Tilfældige rektangler: Et matematikeksperiment Variable og sammenhænge

Tilfældige rektangler: Et matematikeksperiment Variable og sammenhænge Tilfældige rektangler: Et matematikeksperiment Variable og sammenhænge Baggrund: I de senere år har en del gymnasieskoler eksperimenteret med HOT-programmet i matematik og fysik, hvor HOT står for Higher

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET STTUT R T, RUS UVRSTT Science and Technology S lgoritmer og atastrukturer (00-ordning) ntal sider i opgavesættet (incl. forsiden): (elleve) ksamensdag: Tirsdag den. august 0, kl. 9.00-.00 Tilladte medbragte

Læs mere

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo Philip Bille er. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle x.key og satellitdata x.data. operationer. PREDECESSOR(k): returner element x med største nøgle k. SUCCESSOR(k):

Læs mere

Søgning og Sortering. Søgning og Sortering. Søgning. Linæer søgning

Søgning og Sortering. Søgning og Sortering. Søgning. Linæer søgning Søgning og Sortering Søgning og Sortering Philip Bille Søgning. Givet en sorteret tabel A og et tal x, afgør om der findes indgang i, så A[i] = x. Sorteret tabel. En tabel A[0..n-1] er sorteret hvis A[0]

Læs mere