Hamilton-veje og kredse:

Relaterede dokumenter
.. 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)}

Definition (Pseudo-graf): En pseudo-graf G = (V, E) består af V, en ikke-tom mængde hvis elementer kaldes punkter, en mængde E samt en funktion f : E

P (n): rekursiv beregning af f n kræver f n beregninger af f 1. P (n) er sand for alle n 2.

Tirsdag 12. december David Pisinger

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

16. december. Resume sidste gang

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

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

Sommeren 2001, opgave 1

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

P2-gruppedannelsen for Mat og MatØk

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Sprog L : mængden af instanser for et afgørlighedsproblem

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

P2-projektforslag Kombinatorik: grafteori og optimering.

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 polynomielt tid Optimeringsproblemer kan ikke altid verificeres i polynomiel

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

Eksamen i Diskret Matematik

Selvstudium 1, Diskret matematik

Danmarks Tekniske Universitet

Eksamen i Diskret Matematik

Approximations-algoritmer. Løsningsmetoder for NP -hårde opt.problemer

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

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

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Danmarks Tekniske Universitet

Eksempel på muligt eksamenssæt i Diskret Matematik

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

Analyse af algoritmer

Dynamisk programmering

Teoretiske Øvelsesopgaver:

Symmetrisk Traveling Salesman Problemet

Danmarks Tekniske Universitet

Hamiltonkreds, den handelsrejsendes problem, delmængdesum-problemet

Danmarks Tekniske Universitet

Bevisteknikker. Bevisteknikker (relevant både ved design og verifikation) Matematisk induktion. Matematisk induktion uformel beskrivelse

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

dks Noter Michael Lind Mortensen, illio 24. juni 2010

Dynamisk programmering

Grafer og graf-gennemløb

Algoritmer og datastrukturer Course No Cheat Sheet May 15, 2012

Bevisteknikker (relevant både ved design og verifikation)

Grafer / Otto Knudsen

Sammenhængskomponenter i grafer

Danmarks Tekniske Universitet

K 7 - og K 4,4 -minors i grafer

Broer, skak og netværk Carsten Thomassen: Naturens Verden 10, 1992, s

Aalborg University. Synopsis. Titel: Traveling Salesman Problem

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Reeksamen i Diskret Matematik

Tirsdag 18. december David Pisinger

Grundlæggende køretidsanalyse af algoritmer

Reeksamen i Diskret Matematik

Danmarks Tekniske Universitet

Reeksamen i Diskret Matematik

Eksamen i Diskret Matematik

Synopsis: Titel: Flugtveje. Tema: Algoritmer og netværk. Projektperiode: P2, forårssemesteret Projektgruppe: A312

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

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

Mindste udspændende træ

Grafer og graf-gennemløb

Grafer og graf-gennemløb

Danmarks Tekniske Universitet

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

Mindste udspændende træ

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

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

Danmarks Tekniske Universitet

Grafer og graf-gennemløb

Noget om en symmetrisk random walks tilbagevenden til udgangspunktet

28 Algoritmedesign. Noter. PS1 -- Algoritmedesign

Grafer og graf-gennemløb

Synopsis: Titel: Flugtveje. Tema: Algoritmer og netværk. Projektperiode: P2, forårssemesteret Projektgruppe: A312

4.1 Lineære Transformationer

Matematisk induktion

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Synopsis: Titel: Flugtveje. Tema: Algoritmer og netværk. Projektperiode: P2, forårssemesteret Projektgruppe: A312

Perspektiverende Datalogikursus

Synopsis: Titel: Flugtveje. Tema: Algoritmer og netværk. Projektperiode: P2, forårssemesteret Projektgruppe: A312

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

Skriftlig Eksamen Algoritmer og Sandsynlighed (DM538)

Dynamisk programmering

Skriftlig Eksamen Beregnelighed (DM517)

Matematik A. Studentereksamen. Ny ordning. Forberedelsesmateriale. ny-stx191-mat/a

Danmarks Tekniske Universitet

DM72 Diskret matematik med anvendelser

Note om endelige legemer

Synopsis: Titel: Flugtveje. Tema: Algoritmer og netværk. Projektperiode: P2, forårssemesteret Projektgruppe: A312

Danmarks Tekniske Universitet

Matlab script - placering af kran

Perspektiverende Datalogi Klassiske Algoritmer

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

Noter til Perspektiver i Matematikken

Algoritmer og invarianter

Minimum udspændende Træer (MST)

Analyse af algoritmer. Analyse af algoritmer. Analyse af algoritmer. Køretid

Eksamen i Diskret Matematik

Kursusgang Rekursive definitioner. 14. april Mystiske eksempler. Hvad er en rekursiv definition egentlig? Partielle ordninger

En karakteristik af de regulære sprog. Ugens emner. FA minimering [ ] MyHill-Nerode-sætningen en algoritme til minimering af FA er

Transkript:

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 hvis x 1, x 2,...,x n er en hamiltonvej. Sætning: Hvis n 3 da har K n en hamiltonkreds. Sætning(Ore): Hvis G er en simpel graf med n 3 punkter så deg(u) + deg(v) n for ethvert par af punkter u og v som ikke er naboer, da har G en hamiltonkreds. Sætning(Dirac): Hvis G = (V, E) er en simpel graf med n 3 og deg(u) n 2 for ethvert punkt u V da har G en hamiltonkreds. 1

Kortestevej algoritme: Til dette problem betragtes betragtes kombination af graf og vægtfunktion, som tildeler en vægt w(e) 0 til enhver kant i grafen. Spørgsmål : Hvordan findes den korteste vej mellem to punkter i en graf, når længden af en vej mellem to punkter defineres som summen af vægtene tildelt til kanterne fra vejen. Strategi der kan benyttes hvis alle vægte er ens (w) : 1. lad a være det ønskede startpunkt og lad z være slutpunktet. 2. Lad L = {a}, H := G a og lad dist(a,z)=0. 3. Indtil z L gør følgende: dist(a, z) := dist(a, z) + w, L sættes lig alle punkter i H som er naboer til et punkt fra L, H := H L. 2

1. procedure Dijkstra(G: positivt vægtet sammenhængende simpel graf, a,z : punkter) 2. Lad a = v 0, v 1,...,v n = z være punkterne i G og lad w(v i, v j ) være vægten af kanten {v i, v j } hvis den findes og lad ellers w(v i, v j ) =. 3. for i:=1 to n do 4. L(v i ) := 5. L(a):=0 6. while z S do 7. u:= et punkt i S med L(u) minimal 8. S = S {u} 9. for alle punkter v S do 10. if L(u) + w(u, v) < L(v) then L(v) := L(u) + w(u, v). 11. return L(z). 3

Ide : punkterne i S er de S punkter tættest på a. Desuden skal L(x) være den korteste afstand mellem a og x hvis x S. Hvis x ikke er i S da skal L(x) betegne den korteste vej af typen a,...,s, x,hvor s er et punkt S, mellem a og x. Sætning: Dijkstra s algoritme finder den korteste vej mellem punkterne a og z (mht. vægten w). Desuden er kompleksiteten af algoritmen O(n 2 ) Traveling salesman problem: Problem : En omrejsende salgsmand skal besøge n byer præcis engang, og derfter vende tilbage til byen han startede i. Der ønskes da en sådan rute af minimal længde (afstanden mellem ethvert par af byer er kendt). 4

Planare grafer: Definition: En graf siges at være planar hvis den kan tegnes i planet således ingen kanter krydser hinanden. Sætning: Hvis G er en simpel sammenhængende planar graf med e kanter, v punkter og r regioner da er r = e v + 2. korollar: Hvis G er en simpel sammenhængende planar graf med v 3 punkter da er e 3v 6. korollar: Hvis G er en simpel sammenhængende planar graf med v 4 punkter og ingen region er en trekant da er e 2v 4. Det følger at K 5 og K 3,3 ikke er planare grafer. 4-farvesætningen: Hvis G er en planar graf da kan punkterne i G fraves med fire farver således ingen nabo-punkter farves med samme farve. 5

P, NP og NP-fuldstændige problemer Definition : Ved en instans af et problem menes en angivelse af værdier til alle parametre/input til problemet (Derved fås et tilfælde af det givne problem). Eksempel (Isomorfiproblemet): Ved dette problem skal der afgøres om grafer G 1 og G 2 er isomorfe. En instans af problemet er da to grafer. Fornuftig repræsentation af problem : repæsentation af problemet ved en streng hvoraf længden højst er polynomiel i de givne input til problemet. Definition : Et problem π kaldes afgørbart hvis der findes en algoritme for probelmet således der for enhver instans af problemet gives output ja eller nej. Lad D π mængde af alle instanser af π og lad Y π være ja-instanserne. 6

Eksempel : Isomorfiproblemet er afgørbart, men stoppeproblemet er ikke afgørbart. Definition : Kompleksitetsklassen P defineres som mængden af afgørbare problemer hvortil der findes en algoritme med polynomiel tidskompleksitet (O(n k ) for et eller andet k). En Non-deterministisk algoritme til et afgørbart problem π: For en instans I af problemet π der ses på gættes en struktur (eller potentiel løsning) kaldet et certifikat, C(I). Derefter ses om dette certifikat C(I) og I kan give os at I Y π. Der skal gælde at hvis I Y π da findes der sådan et certifikat C(I) således at kendskabet til C(I) og I giver os at I Y π. Derimod skal det for ethvert certifikat gælde at C(I) og I ikke giver os at I Y π hvis I Y π. 7

Eksempel (Isomorfiproblemet): Her skal certifikatet være en funktion mellem punkterne i de to grafer fra instansen. Det kan da let tjekkes om denne funktion er en isomorfi mellem graferne. Definition : Kompleksitetsklassen NP defineres som mængden af afgørbare problemer π (der under en fornuftig repræsentation) kan løses af en non-deterministisk algoritme med polynomiel kompleksitet. Eksempler på problemer i NP: Isomorfiproblemet, Hamiltonkreds og 3-SAT. 3-SAT : Ved dette betragtes en bolsk formel af typen : (l 1,1 l 1,2 l 1,3 ) (l 2,1 l 2,2 l 2,3 ) (l k,1 l k,2 l k,3 ), hvor l i,j er en af q-variable x 1,...,x q eller x 1,...,x q. Spørgsmålet er da om variablene x 1,...,x q kan tildeles værdier således formlen bliver sand. 8

Eksempel på 3-SAT : Lad x 1, x 2, x 3 være variable og betragt : (x 1 x 2 x 3 ) (x 1 x 2 x 3 ) (x 1 x 2 x 3 ). Denne formel er sand hvis x 1 =sand, x 2 = sand og x 3 = falsk. 9

Definition (reducerbar) : Vi siger at et problem π 1 er reducerbar til problemet π 2 hvis der findes en algoritme A som for enhver instans I af π 1 giver en instans A(I) af π 2 som output og hvor I Y π1 hvis og kun hvis A(I) Y π2. Hvis A har polynomiel tidskompleksitet da siges at π 1 er polynomielt reducerbart til π 2 hvilket skrives π 1 p π 2. Definition : Et problem π kaldes NP-fuldstændigt hvis π N P og der for ethvert problem π NP gælder at π p π. Sætning : 3-SAT er NP-fuldstændigt. Sætning : Hvis π er NP-fuldstændigt og π NP og π p π da er π NP-fuldstændigt. Sætning : HAMPATH (givet en graf samt to punkter deri er der da en hamiltonvej mellem dem) er NP-fuldstændigt. Sætning : HAMKREDS er NP-fuldstændigt. 10

åbent problem : Er NP=P. Sætning : P NP. Sætning : Hvis der findes et NP-fuldstændigt problem (eller NP-hårdt problem) π P da vil NP = P. 11