Approximationsalgoritme giver garanti for løsningskvalitet Heuristik giver ingen garanti for løsningskvalitet
|
|
- Elisabeth Ipsen
- 8 år siden
- Visninger:
Transkript
1 Generelle optimeringsheuristikker Også kaldet metaheuristikker. Idag gennemgås: Indplacering Lokal søgning Simuleret udgløding Tabusøgning Genetiske algoritmer Løsningsmetoder for NP -hårde opimeringsproblemer Opdelingskriterier løsningskvalitet: optimal/ikke-optimal beregningstid: polynomiel/ikke-polynomiel Approximationsalgoritme giver garanti for løsningskvalitet Heuristik giver ingen garanti for løsningskvalitet 1
2 Generelle optimeringsheuristikker Branch-and-bound helhedsbetragtninger til at finde grænseværdier global struktur holder styr på alle delproblemer Konstruktionsheuristikker konstruerer en løsning fra grunden når først et valg er truffet er det låst Lokalsøgning forbedrer løsninger, tidligere valg ændres omegn, validering, objektfunktion Definitioner Løsningsrum S Objektfunktion f : S R skal minimeres Omegn N s S for hver løsning s S Omegn skal opfylde at alle løsninger kan nås Skridt (overgang) betegner s s 2
3 Simpleste lokalsøgning algorithm lokalsøgning vælg en initiel løsning s S repeat vælg en løsning s N s if accepter ny løsning(s s ) then s : s until stopkriterium; Acceptkriterium: f.eks. trinvis forbedring f s s Eksempel: TSP 3
4 Design af lokalsøgningsalgoritmer Balanceakt mellem Intensivering (skal forfølge gode løsninger til bunds) Diversifikation (skal komme rundt i løsningsrummet) Intensivering Grådigt paradigme Selvom havner i lokalt minimum, undersøges omegn Diversifikation Genstart fra tilfældigt sted Accepter dårligere løsninger nogle gange Undgå at besøge tidligere besøgte løsninger tilfældighed i valg af naboløsninger forbyd alle tidligere besøgte løsninger 4
5 Varianter af lokalsøgning algorithm trinvis forbedring vælg en initiel løsning s S repeat vælg en løsning s N s if f s f s then s : s until s er et lokalt minimum return s Løsning s er lokalt minimum hvis s N s : f s f s Trinvis forbedring: Vælg en vilkårlig s N s hvor f s f s. Stejleste nedstigning: Vælg s N s så f s f ŝ for alle ŝ N s Genstart: Benyt forskellige initielle løsninger for trinvis forbedring eller stejleste nedstigning. 5
6 Simuleret udglødning Fysiske systemer: metal, glas (Metropolis 1953) Heuristik (Kirkpatrick 1983) f s s Heuristik har intet at gøre med fysiske systemer s N s vælges tilfældigt Intensivering: accepter altid f s f s Diversifikation: accepter f s f s med sandsynlighed P s s e f s f s T hvor T er aftagende kontrolparamter (såkaldt temperatur) 1 e x x 6
7 Ordbog Dowsland (1995) viser følgende sammenhæng mellem fysisk nedkøling og optimering Thermodynamic Simulation Combinatorial Optimisation System States Feasible Solutions Energy Cost Change of State Neighbouring Solutions Temperature Control Parameter Frozen State Heuristic Solution 7
8 Simuleret udglødning algorithm simuleret udglødning vælg en initiel løsning s S vælg en initiel temperatur T repeat vælg en løsning s N s if f s f s then s : s else p : rand 0 1 f s f s T then s : s if p e end T : ny temperatur T until stopkriterium return s Hvad skal initiel temperatur T 0 være? Hvorledes skal T i 1 udregnes på basis af T i? Hvornår skal algoritmen slutte? 8
9 Simuleret udglødning Initiel temperatur Bestemmes eksperimentelt Accept ratio χ T 0 5 ved T 0 Kølingsrate T i 1 : αt i, 0 α 1 jo større α des længere køretid Stopkriterie Temperaturen T kommer under en given grænse T s Ingen forbedring sidste K iterationer Der findes også en variant af simuleret udglødning hvor der foretages M skridt for hver temperatur, inden denne sænkes. Ingen signifikant forskel. 9
10 Simuleret udglødning Laarhoven (1988) viste at hvis temperatur sænkes uendeligt langsomt,og der er uendeligt mange skridt til rådighed, så vil simuleret udglødning returnere optimal løsning. lim P optimal løsning 1 langsom afkøling mange iterationer Bevis baseret på Markovkæder 10
11 Simuleret udglødning for grafdeling a 2 4 b e 1 V E og omkostnings funktion c : E N. Del V i to lige store dele V 1 og V 2 så omkostningen af kanter u v hvor u V 1 og v V 2 minimeres. Givet graf G Lad x v 1 hvis v V 1 mens x v 0 hvis v V 2. Kvadratisk minimeringsproblem: min c u v uv x u 1 x v V hvor 8 3 f 7 6 x v v V 2 V 9 c d 5 11
12 Simuleret udglødning for grafdeling Objektfunktion: f x c u v uv x u V 1 x v Omegn: Ombyt to elementer k hvor k V 1 og V 2 Udregning af objektfunktion: Trivielt O V 2 Ved ombytning af knuder ændres objektfunktionen f v V v V x v c kv 1 x v c kv v V 1 x v c v v V x v c v (idet x k 1 x k 0 og x 0 x 1). Kan beregnes i O V tid. 12
13 Simuleret udglødning, diskussion Intensivering Fordele diversifikation Intensivering: Accepter altid forbedrende løsning Diversifikation: Accepter forværret løsning med lille sandsynlighed Algoritmen gennemløber kontinuum fra stærk diversifikation til intensiv søgning ulæmper + Robust algoritme uanset omegn N s + Få parametre (T 0 α), disse kan justeres automatisk Ikke videre grådig, meget tid bruges på at gætte Hints Mest vellykket søgning midt i udglødning, derfor varianter med genopvarmning Udregn f s : f s f Kan være hensigtsmæssigt at tillade ulovlige løsninger mod straf i objektfunktion Genstart 13
14 Tabusøgning Tidligere algoritmer Trinvis forbedring Stejleste nedstigning Genstart Simuleret udglødning Ingen af ovenstående har hukommelse Tabusøgning opsamler information og bruger hukommelse til at styre søgning har ingen simpel definition er svær at analysere matematisk kræver mere tilpasning til hvert problem/omegn 14
15 Tabusøgning Paradigmet anvendt i 1970 erne, nuværende form indført af Glover (1986)... a framework that links the perspectives of artificial intelligence and operations research... effective strategies for combinatorial problems can require methods that formal theorems are unable to justify Methods that are intelligently flexible lie in some yet-to-be-defined realm to which theorems do not apply, yet which embraces enough structure to exclude aimless wandering Vellykkede anvendelser og klogt valgt navn har gjort tabusøgning til standard metaheuristik Ordbog AI ordinary meaning tabu forbidden (change of solution vector) tabu list table of previous solutions (compact) aspiration level objective function value aspiration criterion accept criterion long time memory statistics of good/bad solutions 15
16 Tabusøgning f s s Videreudvikling af stejleste nedstigning algorithm tabusøgning vælg en initiel løsning s S sæt s : s intialiser tabuliste repeat find bedste løsning s s : s opdater tabuliste if f s until stopkriterium return s f s then s : s N s som ikke er tabu 16
17 Tabusøgning Grundlæggende strategi vælg mest forbedrende (eller mindst forværrende) skridt i hver iteration undgå cykler ved at forbyde visse løsninger/skridt, såkaldte tabuløsninger Implementation forbyd alle tidligere løsninger forbyd max k tidligere løsninger forbyd max k tidligere skridt forbyd løsninger med en given attribut Tabuliste: hvis ændrer x i a til x i b tilføjes x i a x 3 1 x 4 7 x
18 Tabusøgning Tabulistens længde for lille: cykler for stor: tidskrævende at kontrollere tabu alt for restriktiv Med længde M garanteres cykler M 1 Aspirationskriterie Giver mulighed for at bryde forbud i tabulisten hvis objektfunktion bedre end hidtil globalt bedste hvis objektfunktion bedre end daværende bedste x 3 1 x 4 7 x
19 Tabusøgning for grafdeling Objektfunktion: f x c u v uv x u V 1 x v Omegn: Ombyt to elementer k hvor k V 1 og V 2 Mindre Omegn: Flyt et element fra V 1 til V 2 eller omvendt. Straf for ej overholdt begrænsning. Effektiv udregning af objektfunktion f s : f s f Tabuliste: Hvis knude k flyttes fra V 1 til V 2 (x k 1 x k 0) variabel k forbudt tilstand Hvis aspirationskriterie benyttes husker jeg gældende objektfunktion sammen med tabu listen: variabel k forbudt tilstand objektfunktion
20 Tabu Søgning for Kvadratisk Tildeling n faciliteter med strøm a i j fra facilitet i til j n lokaliteter med afstand b i j fra lokalitet i til j find en permutation π der minimerer f π n i 1 π i er facilitet i s placering n a i j b π i π j j 1 lokalitet facilitet Løsningsrum: alle mulige permutationer af n tal, O n! 20
21 Tabu Søgning for Kvadratisk Tildeling Omegn N π π π opnås ved at ombytte to elementer i π lokalitet facilitet I tabu-listen gemmes følgende skridt i j : facilitet i og j bytter plads u v : lokalitet u og v bytter plads Dårlig repræsentation da i j k l i k j l l k j i l k i j k l i j i l k j i j k l forhindrer ikke cyklisk opførsel I tabu-listen gemmes følgende skridt i π i og j π j 21
22 Sammenligning Iteration 2 Iteration 7 Global optimum Iteration 1 High quality area Low quality area Iteration 4 Iteration 3 Iteration 5 Iteration 6 High quality area a) Solution space model b) Random restart Start Start c) Simulated annealing d) Tabu search 22
23 Tabusøgning, diskussion Intensivering Fordele diversifikation Intensivering: Bedste løsning i N s vælges Diversifikation: Tabuliste, aspirationskriterier ulæmper + Meget grådig Følsom overfor omegns størrelse da hele N s skal gennemsøges Flere parametre end simuleret udglødning Deterministisk, kan derfor cykle + Veldesignet algoritme giver gode løsninger Hints Betragt kun en delmængde af N s hvis N s er stor Udregn f s : f s f Kan være hensigtsmæssigt at tillade ulovlige løsninger mod straf i objektfunktion Reaktiv tabusøgning, langtidshukommelse, genstart 23
24 Genetiske algoritmer Indført af Holland (1975) motiveret af Darvinisme Princip population af løsninger udvælgelse krydsning mutation algorithm genetisk optimering vælg en initiel population P s i, hvor s i S repeat evaluer population(p); udvælg individer(p, basis); kryds individer(basis, P ); muter individer(p ); P : P until stopkriterium return P 24
25 Genetiske algoritmer Udvælgelse survival of the fittest objektfuntion f s K s kvalitetsmål udvælgelsessandsynlighed p u s K s s P K s vælger probabilistisk P gange Krydsning: gentag til P individer 1 udvælg en tilfældig løsning s 1 fra basis 2 overfør s 1 direkte til nye generation med sandsynlighed p d 3 udvælg en anden løsning s 2, kryds s 1 og s 2 overfør afkom til ny generation med sandsynlighed 1 p d. Bemærk: gamle individer kan overleve, typisk p d
26 Genetiske algoritmer Krydsning to-punkts krydsning s 1 : s 2 : s 1 : s 2 : bedste eller begge medtages i næste generation Mutation ændrer et tegn s 1 : s 1 : sikre spredning i population da risiko for at alle ens sandsynlighed p m 1 P krydsning skal være vigtigste operator 26
27 Genetiske algoritmer, TSP G V E med vægte d i j, find korteste Hamilton-kreds Permutation π af n som minimierer f π n d π i π i 1 i 1 Krydsning skal bevare at π er permutation π 1 : π 2 : π 1 : π 2 : (to-punkts) π 1 : π 2 : (et-punkts) Mutation π: π : (ombyt to elementer) 27
28 Genetiske algoritmer, diskussion Intensivering diversifikation Intensivering: Population af løsninger Diversifikation: Krydsning, mutation Fordele ulæmper + Returnerer familie af løsninger + Bevarer lokale egenskaber Dyrt at vedligeholde mange ens løsninger Svært at finde god kodning for mange problemer Temmelig mange paramtere + Parametre kan indgå som del af strengen (mod øget beregning) Hints Population P 100 Stopkriterium: uændret bedste løsning K gange 28
29 Litteratur P.J.M. van Laarhoven (1988), Theoretical and computational aspects of simulated annealing, Erasmus University, Rotterdam, PhD thesis. N. Metropolis m.fl. (1953) Equation of state calculations by fast computing machines, Journal of Chemical Physics, 21, S. Kirkpatrick, C.D. Gelatt, M.P. Vecchi (1983) Optimization by Simulated Annealing, Science 220, J.H. Holland (1975) Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor. Reeves (1995) Modern Heuristic Techniques for Combinatorial Problems, McGraw-Hill. F. Glover (1986) Tabu Search, part I, ORSA Journal on Computing 1, Dowsland (1995) Variants of Simulated Annealing for Practical Problem Solving in V. J. Rayward-Smith (Ed) Applications of Modern Heuristic Methods, Henley-on- Thames, Alfred Waller,
Generelle optimeringsheuristikker
Generelle optimeringheuritikker Ogå kaldet metaheuritikker. Idag gennemgå: Indplacering Lokal øgning Simuleret udgløding Genetike algoritmer Generelle optimeringheuritikker Branch-and-bound helhedbetragtninger
Læs mereLø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 mereSymmetrisk 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 mereSidste 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 mereLø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 mereTirsdag 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 mereNoter til kursusgang 8, IMAT og IMATØ
Noter til kursusgang 8, IMAT og IMATØ matematik og matematik-økonomi studierne 1. basissemester Esben Høg 25. oktober 2013 Institut for Matematiske Fag Aalborg Universitet Esben Høg Noter til kursusgang
Læs mereBranch-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 mereDynamisk 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 mereParallelisering/Distribuering af Genetiske Algoritmer
Parallelisering/Distribuering af Genetiske Algoritmer Hvorfor parallelisere/distribuere? Standard GA algoritme Modeller Embarassing parallel Global (fitness evaluering) Island (subpopulation) Grid/Cellular
Læs mereDynamisk 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 mereGrå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.. 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 mereNetværksalgoritmer 1
Netværksalgoritmer 1 Netværksalgoritmer Netværksalgoritmer er algoritmer, der udføres på et netværk af computere Deres udførelse er distribueret Omfatter algoritmer for, hvorledes routere sender pakker
Læs mereAlgoritmedesign med internetanvendelser ved Keld Helsgaun
Algoritmedesign med internetanvendelser ved Keld Helsgaun 1 Analyse af algoritmer Input Algoritme Output En algoritme er en trinvis metode til løsning af et problem i endelig tid 2 Algoritmebegrebet D.
Læs mereEt generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel:
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Opbyg løsningen skridt for skridt ved hele tiden af vælge lige
Læs mereGrå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 mereDynamisk 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 mereSprog L : mængden af instanser for et afgørlighedsproblem
26. marts Resume sidste to gang Sprog L : mængden af instanser for et afgørlighedsproblem hvor svaret er 1. P NP L : L genkendes af en algoritme i polynomiel tid L : L verificeres af en polynomiel tids
Læs mereKorteste 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 mereSkriftlig 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 mereVideregå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 mereGrå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 mereGrundlæ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 mereKorteste 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 mereTirsdag 18. december David Pisinger
Videregående Algoritmik, DIKU 00-08 Tirsdag 8. december David Pisinger Approximations-algoritmer Motivation Definitioner Approximations-algoritme for knudeoverdækning Approximations-algoritme for TSP trekantsulighed)
Læs mereAnalyse af algoritmer
Analyse af algoritmer Analyse af algoritmer Køretid Pladsforbrug Asymptotisk notation O, Θ og Ω-notation. Eksperimentiel analyse af algoritmer Philip Bille Analyse af algoritmer Analyse af algoritmer Køretid
Læs mereApproksimationsalgoritmer for k-median og facility location problemer, vha. lokalsøgning
Approksimationsalgoritmer for k-median og facility location problemer, vha. lokalsøgning Peter Neergaard Jensen, Christian Plum & Mette Gamst 8. januar 2006 1 Indledning I forbindelse med kurset Approkismationsalgoritmer,
Læs mereTabusøgning til effektivisering af eksakt VRP algoritme baseret på søjlegenerering
Institut for Regnskab, Finansiering og Logistik Kandidatafhandling Forfattere: Anders K. Knudsen Jutta J. Jørgensen Vejleder: Jens Lysgaard Tabusøgning til effektivisering af eksakt VRP algoritme baseret
Læs mereMobile Robotter på Bispebjerg Hospital
Mobile Robotter på Bispebjerg Hospital Bachelorprojekt af Emil Brøgger Kjer (s062379) Anders Hersland (s062216) Vejleder: Thomas Bolander 6. Juli 2009 IMM Danmarks Tekniske Universitet 1 Abstract The aim
Læs mereDanmarks 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 mereM=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 mereHamilton-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 mereDanmarks 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 mereUdtø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 mereDM559/DM545 Linear and integer programming
Department of Mathematics and Computer Science University of Southern Denmark, Odense June 10, 2017 Marco Chiarandini DM559/DM545 Linear and integer programming Sheet 12, Spring 2017 [pdf format] The following
Læs mereDanmarks 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 mereMindste 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 mereOrienterede 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 mereAlgoritmer og invarianter
Algoritmer og invarianter Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker. Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker.
Læs mereGrå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 mereLogistik 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 mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 0205. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af
Læs mereDanmarks 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 mereUdtø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 mereHamiltonkreds, den handelsrejsendes problem, delmængdesum-problemet
, den handelsrejsendes problem, delmængdesum-problemet Videregående algoritmik Cormen et al. 34.5.3 34.5.5 Fredag den 19. december 2008 1 N P-fuldstændige problemer 1 N P-fuldstændige problemer 2 Reduktion
Læs mereSortering. Eksempel: De n tal i sorteret orden
Sortering 1 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden
Læs mereSkriftlig 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 merePointen med Funktioner
Pointen med Funktioner Frank Nasser 0. april 0 c 0080. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette er en
Læs mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Læs mereMindste 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 mereMindste 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 mereDynamisk 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 mereUgeseddel 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 mereSkriftlig Eksamen Beregnelighed (DM517)
Skriftlig Eksamen Beregnelighed (DM517) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 31 Oktober 2011, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug af lommeregner
Læs mereGrafer 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 mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Læs mereDanmarks 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 mereSortering. Eksempel: De n tal i sorteret orden
Sortering 1 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden
Læs mereDifferential Evolution (DE) "Biologically-inspired computing", T. Krink, EVALife Group, Univ. of Aarhus, Denmark
Differential Evolution (DE) Differential Evolution (DE) (Storn and Price, 199) Step 1 - Initialize and evaluate Generate a random start population and evaluate the individuals x 2 search space x 1 Differential
Læs mereSortering af information er en fundamental og central opgave.
Sortering Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 Mange opgaver er hurtigere i sorteret information (tænk på ordbøger, telefonbøger,
Læs mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer (af samme type). 2. Løs delproblemerne ved rekursion (dvs. kald algoritmen
Læs mereRolf Fagerberg. Forår 2013
Forår 2013 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: DM536 og DM537 Timer: 50% forelæsninger, 50% øvelser Forudsætninger: DM536 og DM537 Eksamenform: Skriftlig eksamen: Timer: 50% forelæsninger,
Læs mereApproximations-algoritmer. Løsningsmetoder for NP -hårde opt.problemer
Motivation Definitioner Approximations-algoritme for nudeoverdæning Approximations-algoritme for TSP med treantsulighed Negativt resultat om generel TSP Approximations-algoritme for SET-OVERING Fuldt polynomiel-tids
Læs mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Læs mereEn karakteristik af de regulære sprog. Ugens emner. FA minimering [5.1-5.2] MyHill-Nerode-sætningen en algoritme til minimering af FA er
Ugens emner FA minimering [.-.] MyHill-Nerode-sætningen en algoritme til minimering af FA er En karakteristik af de regulære sprog Et sprog L er regulært hvis og kun hvis L beskrives af et regulært udtryk
Læs mereDatastrukturer (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 mereAlgoritmer 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 mereKorteste veje. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs. Philip Bille
Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs Philip Bille Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje
Læs mereSortering af information er en fundamental og central opgave.
Sortering 1 / 36 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 6, 9 Mange opgaver er hurtigere i sorteret information (tænk på ordbøger, telefonbøger,
Læs mereFractal compression a technology in search of a problem
Fractal compression a technology in search of a problem Bryggervej 30, 8240 Århus N 4. januar 2011 Oversigt 1 Magien bag ved Matematikken Kopimaskinen Simsalabim Partitioneret IFS 2 Collage theorem De
Læs mereSkriftlig eksamen i Datalogi
Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2
Læs mere16. 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 mereDM559/DM545 Linear and integer programming
Department of Mathematics and Computer Science University of Southern Denmark, Odense June 10, 2017 Marco Chiarandini DM559/DM545 Linear and integer programming Sheet 12, Spring 2017 [pdf format] The following
Læs mereOrienterede 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 mereKorteste veje. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs. Philip Bille
Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs Philip Bille Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje
Læs mereMålet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt.
Merging og hashing Mål Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer
Læs mereMindste 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 mereUndersøgelse af en genetisk algoritme
Undersøgelse af en genetisk algoritme Study of a genetic algorithm Gruppe 2, hus 13.2 Gruppemedlemmer: Sanne Bjerg Tanja Josefsen Pernille Hviid Petersen Claus Daldorph Nielsen Rasmus Rasmussen Vejleder:
Læs merePerspektiverende 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 mereSymmetrisk traveling salesman problem Dat2A godkendelsesopgave 2
Symmetrisk traveling salesman problem Dat2A godkendelsesopgave 2 Jens Kristian Jensen, David Pisinger og Martin Zachariasen 13. april 2003 1 Formalia Dette er den anden af to godkendelsesopgaver på kurset
Læs mereOrienterede 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 mereSkriftlig 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 mereDREAM s livsforløbsmodel - Model og algoritme
DREAM s livsforløbsmodel - Model og algoritme Peter Stephensen, DREAM 9. September 2009, version.0 Indledning DREAM har påbegyndt et forskningsprojekt finansieret af EPRN-netværkert med titlen Livsforløbsanalyse
Læs mereDM517:Supplerende noter om uafgørlighedsbeviser:
DM517:Supplerende noter om uafgørlighedsbeviser: Jørgen Bang-Jensen October 9, 2013 Abstract Formålet med denne note er at give en form for kogebogsopskrift på, hvorledes man bygger et uafgørlighedsbevis
Læs merePerspektiverende 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 mereRuteplanlægning i praksis. Allan H. Rasmussen. Kgs. Lyngby 2004 IMM-THESIS
Ruteplanlægning i praksis Allan H. Rasmussen Kgs. Lyngby 2004 IMM-THESIS-2004-51 Ruteplanlægning i praksis Allan H. Rasmussen Kgs. Lyngby 2004 Technical University of Denmark Informatics and Mathematical
Læs mereKorteste 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 mereBroer, 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 mereAlgorithms & 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 mereSammenhængskomponenter i grafer
Sammenhængskomponenter i grafer Ækvivalensrelationer Repetition: En relation R på en mængde S er en delmængde af S S. Når (x, y) R siges x at stå i relation til y. Ofte skrives x y, og relationen selv
Læs mereDen rejsende sælgers problem. Den rejsende sælgers problem. Første omtale af problemet 1832
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
Læs mereSekvensafstand DM34 - Eksamensopgave. Jacob Aae Mikkelsen
Sekvensafstand DM34 - Eksamensopgave Jacob Aae Mikkelsen 19 10 76 kokken@grydeske.dk 27. maj 2005 Resumé Rapporten her beskriver tre forskellige rekursive metoder til at sammenligne tekst strenge med.
Læs mereAnalyse af algoritmer. Analyse af algoritmer. Analyse af algoritmer. Køretid
Philip Bille Mål. At bestemme og forudsige resourceforbrug og korrekthed af algoritmer Eks. Virker min algoritme til at beregne korteste veje i grafer? Hvor hurtigt kører min algoritme til at søge efter
Læs mere22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned.
22 Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned. Indsættelse i hobe. Sletning af minimalt element i hobe. Repræsentation. 327
Læs mereIntroduktion. Introduktion. Algoritmer og datastrukturer. Eksempel: Maksimalt tal
Philip Bille Algoritmer og datastrukturer Algoritmisk problem. Præcist defineret relation mellem input og output. Algoritme. Metode til at løse et algoritmisk problem. Beskrevet i diskrete og entydige
Læs mereIntroduktion. Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3. Philip Bille
Introduktion Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3 Philip Bille Introduktion Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3 Algoritmer
Læs mereMålet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.
Merging og hashing Mål Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer (2. semester). Mål
Læs mereDynamisk 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} Eksempel 1: Længste fælles delstreng Alfabet = mængde af tegn: {a,b,c,...,z},
Læs mereAnalyse 2. Bevis af Fatous lemma (Theorem 9.11) Supplerende opgave 1. Øvelser
Analyse 2 Øvelser Rasmus Sylvester Bryder 24. og 27. september 203 Bevis af Fatous lemma (Theorem 9.) Hvis (u j ) j er en følge af positive, målelige, numeriske funktioner (dvs. med værdier i [, ]) over
Læs mere