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

Størrelse: px
Starte visningen fra side:

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

Transkript

1 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 Fredag den 12. december 2008

2 Vi vil præcisere distinktionen mellem medgørlige og umedgørlige problemer. Denne indsigt gør det muligt at skelne mellem Problemer, som kan løses effektivt (klassen P) Problemer, som ikke kan løses effektivt (omfatter klassen N P) Uløselige problemer Disse begreber har interesse for dataloger, fordi Hvorvidt N P P, er et af de største åbne problemer i teoretisk datalogi Det vrimler med svære problemer At se forskel på lette og svære problemer kan være vanskeligt Metoden problemreduktion er generelt anvendelig

3 Vind $ Fra

4 Jagten på effektive algoritmer Tre situationer fra Garey & Johnson. 1 En ærgerlige situation

5 Jagten på effektive algoritmer Tre situationer fra Garey & Johnson. 1 En ærgerlige situation 2 Ønskelig status

6 Jagten på effektive algoritmer Tre situationer fra Garey & Johnson. 1 En ærgerlige situation 2 Ønskelig status 3 Ofte det bedst opnåelige

7 Lette og svære problemer let Eulerkreds: For en forelagt graf: Har den en kreds med netop alle kanterne? Kinesiske postbud: For en vægtet graf og en grænse k: Har den en kreds med alle kanter og af længde højst k? 2CNF-SAT: For et logisk udtryk på 2CN-form: Kan en sandhedsværditilskrivning gøre det sandt? vanskeligt Hamiltonkreds: For en forelagt graf: Har den en kreds gennem hver knude netop en gang? Handelsrejsende: For en vægtet graf og en grænse k: Har den en kreds gennem alle knuder og af længde højst k? 3CNF-SAT: For et logisk udtryk på 3CN-form: Kan en sandhedsværditilskrivning gøre det sandt?

8 Lette og svære problemer (2) Korteste vej: For en vægtet graf med to knuder og en grænse k: Er der en vej fra den første knude til den anden af længde højst k? Længste vej: For en vægtet graf med to knuder og en grænse k: Er der en vej fra den første knude til den anden af længde mindst k? Kantoverdækning: For en graf og en grænse k: Kan man vælge k (eller færre) kanter, så hver knude er incident med en af de valgte? Alle fem tilhører P Knudeoverdækning: For en graf og en grænse k: Kan man vælge k (eller færre) knuder, så hver kant er incident med en af de valgte? Alle fem tilhører N PC (de vanskeligste problemer inden for N P)

9 1 Problemklassen P Afgørlighedsproblemer Indkodning af instans Accept, forkastelse, afgørelse

10 1 Problemklassen P Afgørlighedsproblemer Indkodning af instans Accept, forkastelse, afgørelse 2 Hamiltonkreds Verifikation i polynomiel tid N P og co-n P

11 1 Problemklassen P Afgørlighedsproblemer Indkodning af instans Accept, forkastelse, afgørelse 2 Hamiltonkreds Verifikation i polynomiel tid N P og co-n P 3 Reduktion N PC Et N P-fuldstændigt problem

12 Hvad er et problem? Afgørlighedsproblemer Indkodning af instans Accept, forkastelse, afgørelse Vi må skærpe begreberne: Problem vil mere præcist sige (parametriseret) problemtype, til hvis enkelttilfælde eller instanser der skal beregnes løsninger. (Relation/flertydig funktion) I praksis ofte optimeringsproblemer, men her i den teoretiske behandling betragtes Afgørlighedsproblemer: Hver instans har en binær løsning (kodet som 0 eller 1) Intet tab af generalitet Et problems kompleksitet måles ved kompleksiteten af den bedste metode (algoritme) til løsning af det.

13 Indkodning af instans Afgørlighedsproblemer Indkodning af instans Accept, forkastelse, afgørelse Medgørligt løseligt i polynomiel køretid. Robust over for mange variationer og kombinationer (og kodninger og maskinmodeller). Køretid O(n k ) for konstant k og instans(kode)længde n. Ideelt set skulle ræsonnementerne være uafhængige af den valgte indkodning. Men kodningen har stor betydning! Eksempel: Er k et primtal? for i=2 to k-1 do test i k kodning n antal samlet tid unær Θ(k) Θ(n) Θ(n) Θ(n 2 ) binær Θ(log(k)) Θ(n 2 ) Θ(2 n ) Θ(2 n n 2 ) decimal Θ(log(k)) Θ(n 2 ) Θ(10 n ) Θ(10 n n 2 )

14 Indkodning af instans Afgørlighedsproblemer Indkodning af instans Accept, forkastelse, afgørelse Medgørligt løseligt i polynomiel køretid. Robust over for mange variationer og kombinationer (og kodninger og maskinmodeller). Køretid O(n k ) for konstant k og instans(kode)længde n. Ideelt set skulle ræsonnementerne være uafhængige af den valgte indkodning. Men kodningen har stor betydning! Eksempel: Er k et primtal? for i=2 to k-1 do test i k kodning n antal samlet tid unær Θ(k) Θ(n) Θ(n) Θ(n 2 ) binær Θ(log(k)) Θ(n 2 ) Θ(2 n ) Θ(2 n n 2 ) decimal Θ(log(k)) Θ(n 2 ) Θ(10 n ) Θ(10 n n 2 ) Med binær kodning og Agrawal-Kayal-Saxena-metoden: Θ(n 11 ) (?)

15 Indkodning af instans Afgørlighedsproblemer Indkodning af instans Accept, forkastelse, afgørelse Medgørligt løseligt i polynomiel køretid. Robust over for mange variationer og kombinationer (og kodninger og maskinmodeller). Køretid O(n k ) for konstant k og instans(kode)længde n. Ideelt set skulle ræsonnementerne være uafhængige af den valgte indkodning. Men kodningen har stor betydning! Eksempel: Er k et primtal? for i=2 to k-1 do test i k kodning n antal samlet tid unær Θ(k) Θ(n) Θ(n) Θ(n 2 ) binær Θ(log(k)) Θ(n 2 ) Θ(2 n ) Θ(2 n n 2 ) decimal Θ(log(k)) Θ(n 2 ) Θ(10 n ) Θ(10 n n 2 ) Med binær kodning og Agrawal-Kayal-Saxena-metoden: Θ(n 11 ) (?) Med tal kodet ved deres primopløsning: Θ(1)

16 Standardkodning Afgørlighedsproblemer Indkodning af instans Accept, forkastelse, afgørelse Kodning af en ikke-orienteret graf G = (V, E): Nummerer knuderne (n = V ), lad kanterne være (u 1, v 1 ),..., (u k, v k ) (k = E ), og brug koden G = 0, 1,..., n 1, (u 1, v 1 ),..., (u k, v k ), idet overstregning betegner binær talkodning. Kodealfabet = (, ), 0, 1 og,. Eksempel G : G = 0,1,10,11,(0,1),(0,10),(0,11),(1,10),(10,11) På lignende måde vil vi i almindelighed bruge for at betegne en naturlig indkodning af.

17 Afgørlighedsproblem Afgørlighedsproblemer Indkodning af instans Accept, forkastelse, afgørelse Polynomielt relaterede indkodninger: Der skal findes polynomialtidsberegnelige omsætningsfunktioner begge veje. Gennem (i den teoretiske behandling altid binær) kodning af instanserne bliver et afgørlighedsproblem et prædikat (over binære ord). Eksempel For w {0, 1} : 1 hvis w = G, u, v, k for en ikke-orienteret graf G, i hvilken der går en vej med højst k PATH(w) = kanter fra et punkt u til et punkt v 0 ellers Bemærk specielt, at PATH(w) = 0, hvis w ikke indkoder en instans ( syntaksfejl ).

18 Afgørlighedsproblemer Indkodning af instans Accept, forkastelse, afgørelse Afgørlighedsproblem som formelt sprog L PATH = {w Σ PATH(w) = 1} Vi vil ikke skelne skarpt mellem et problem og det tilhørende formelle sprog (og altså for eksempel identificere PATH med L PATH ).

19 Genkendelse med en algoritme Afgørlighedsproblemer Indkodning af instans Accept, forkastelse, afgørelse Algoritme A acccepterer (genkender) er formelt ord x Algoritme A forkaster (afviser) et formelt ord x A standser med værdien 1 A standser med værdien 0

20 Afgørlighedsproblemer Indkodning af instans Accept, forkastelse, afgørelse Accepterende og afgørende algoritmer Algoritme A accepterer L (w accepteres af A w L) (så for w / L kan A(w) være udefineret eller 1) { } w accepteres af A w L Algoritme A afgør L w afvises af A w / L A accepterer L i polynomiel tid, hvis A accepterer L, og der findes et k, så det for alle ord w L gælder, at A(w) tager O(n k ) skridt (n = w ). A afgør L i polynomiel tid, hvis A afgør L, og der findes et k, så det for alle ord w gælder, at A(w) tager O(n k ) skridt (n = w ).

21 Problemklassen P Afgørlighedsproblemer Indkodning af instans Accept, forkastelse, afgørelse P = {L der findes A, som accepterer L i polynomiel tid} P Alle formelle sprog L Σ

22 Problemklassen P Afgørlighedsproblemer Indkodning af instans Accept, forkastelse, afgørelse P = {L der findes A, som accepterer L i polynomiel tid} = {L der findes A, som afgør L i polynomiel tid} (Sætning 34.2) P Alle formelle sprog L Σ

23 Hamiltonkreds Hamiltonkreds Verifikation i polynomiel tid N P og co-n P HAM-CYCLE = { G G har en Hamiltonkreds} William Rowan Hamilton (dodekaedergrafen 1857) Prøve alle permutationer: Ω(( n)!)

24 Verifikation Hamiltonkreds Verifikation i polynomiel tid N P og co-n P Algoritme A med to indgange: Ordinært indgangsord x og en attest (certificate) y A verificerer L L = {x y : A accepterer (x, y)}. A verificerer L i polynomiel tid, hvis A verificerer L, og der findes et k, så det for alle ord x L gælder, at der findes en attest y, så A(x, y) tager O(n k ) skridt (n = x ). Bemærk, at dette indebærer y = O(n k ).

25 Problemklasserne N P og co-n P Hamiltonkreds Verifikation i polynomiel tid N P og co-n P N P = {L der findes A, som verificerer L i polynomiel tid} HAM-CYCLE N P P N P (for man behøver ikke bruge en attest), men P N P vides ikke. co-n P = {L L N P} (med andre ord: sprog med afvisningsattest ) (Eksempel: PRIME co-n P. Faktisk også N P og (vist 2002) P.) P co-n P, hvilket efterlader fire muligheder:

26 Ikke-deterministisk polynomiel tid Hamiltonkreds Verifikation i polynomiel tid N P og co-n P En forklaring på betegnelsen rent historisk: En Turingmaskine M har endeligt mange tilstande Q, et båndalfabet Σ, tre mulige retninger (en plads til venstre / uændret / en plads til højre) og en overgangsrelation δ Q Σ Σ { 1, 0, +1} Q (p, a, b, d, q) δ betyder, at M i tilstand p med a under læseskrive-hovedet kan skrive b, flytte båndet d og gå til tilstand q. Ikke-deterministisk, hvis flere kvintupler har samme (p, a,...).

27 Eksponentiel udførelsestid Hamiltonkreds Verifikation i polynomiel tid N P og co-n P Hvert problem fra N P kan afgøres deterministisk i eksponentiel tid: For et ord x {0, 1} har de mulige attester længde O(n k ); prøv dem alle: tid O((2 c ) nk ). Sjusket identificeres umedgørlige problemer undertiden med problemer med eksponentiel køretid, men Der findes køretider imellem polynomiel og eksponentiel (for eksempel n log n ) Der findes langt værre køretider end eksponentiel. Ikke alle rekursive (beregnelige) funktioner er primitivt rekursive; Ackermanns funktion er et sådant eksempel

28 Reduktion (eksempel) Reduktion N PC Et N P-fuldstændigt problem At løse et problem ved hjælp af et andet. BIP-MATCH Parring i en todelt (bipartite) graf. BIP-MATCH MAX-FLOW Find en parring (kantmængde uden fælles endepunkter) med flest mulige kanter.

29 Reduktion (eksempel) Reduktion N PC Et N P-fuldstændigt problem At løse et problem ved hjælp af et andet. BIP-MATCH Parring i en todelt (bipartite) graf. BIP-MATCH MAX-FLOW Find en parring (kantmængde uden fælles endepunkter) med flest mulige kanter.

30 Reduktion (eksempel) Reduktion N PC Et N P-fuldstændigt problem At løse et problem ved hjælp af et andet. BIP-MATCH Parring i en todelt (bipartite) graf. BIP-MATCH MAX-FLOW Find en parring (kantmængde uden fælles endepunkter) med flest mulige kanter. En strømning er maksimal de midterste kanter udgør en maksimal parring.

31 Reduktion (definition) Reduktion N PC Et N P-fuldstændigt problem L 1 kan reduceres til L 2, i symboler L 1 L 2 f : Σ Σ w Σ (w L 1 f (w) L 2 ) L 1 kan reduceres polynomielt til L 2, i symboler L 1 pol L 2 f : Σ Σ som ovenfor, beregnelig i polynomiel tid (som funktion af længden af funktionsargumentet).

32 Reduktionsresultater Reduktion N PC Et N P-fuldstændigt problem Sætning Hvis L 1 pol L 2 og L 2 P, så L 1 P. Bevis: Antag x L 1 τ(x) L 2 og at A afgør L 2. Da vil x L 1 A(τ(x)) = 1. Køretid? Der findes algoritme B og konstanter j, k, så A afgør y i O(n k ) skridt, n = y, og B beregner τ(x) i O(n j ) skridt, n = x. Bemærk, at for x = n må nødvendigvis τ(x) = O(n j ), så det samlede antal skridt bliver O(n j + (n j ) k ); altså L 1 P Sætning Hvis L 1 pol L 2 og L 1 / P, så L 2 / P.

33 C Reduktion N PC Et N P-fuldstændigt problem De N P-fuldstændige problemer er de vanskeligste problemer inden for N P. Et problem Q ligger i N PC, hvis: 1 Q N P 2 P N P : P pol Q Det er hensigtsmæssigt at have en særskilt betegnelse for 2.; lad os sige, at Q er N P-vanskeligt i det tilfælde (N P-hard). Sætning Hvis et problem fra N PC kan løses i polynomiel tid, vil N P = P. P N P N PC (Σ ) Sætning Hvis P er en ægte del af N P, kan intet problem fra N PC løses i polynomiel tid.

34 Et N P-fuldstændigt problem Reduktion N PC Et N P-fuldstændigt problem Vi søger et problem, som alle N P-problemer skal kunne reduceres (polynomielt) til Hvert N P-problem har en verifikationsalgoritme Det fælles for verifikationsalgoritmer er, at de udtrykkes ved et computerprogram Naivt gæt: Computeren er N P-fuldstændig En computer er sat sammen af porte:

35 Kredsløbstilfredsstillelse Reduktion N PC Et N P-fuldstændigt problem Problemet CIRCUIT-SAT= { C C er et kredsløb, hvis indgange x 1,..., x n kan tildeles værdier (0/1) på en sådan måde, at udgangen z bliver 1}

36 Kredsløbstilfredsstillelse Reduktion N PC Et N P-fuldstændigt problem Problemet CIRCUIT-SAT= { C C er et kredsløb, hvis indgange x 1,..., x n kan tildeles værdier (0/1) på en sådan måde, at udgangen z bliver 1} (x 1, x 2, x 3 ) = (1, 1, 0).

37 Kredsløbstilfredsstillelse Reduktion N PC Et N P-fuldstændigt problem Problemet CIRCUIT-SAT= { C C er et kredsløb, hvis indgange x 1,..., x n kan tildeles værdier (0/1) på en sådan måde, at udgangen z bliver 1} (x 1, x 2, x 3 ) = (1, 1, 0).

38 Kredsløbstilfredsstillelse Reduktion N PC Et N P-fuldstændigt problem Problemet CIRCUIT-SAT= { C C er et kredsløb, hvis indgange x 1,..., x n kan tildeles værdier (0/1) på en sådan måde, at udgangen z bliver 1} (x 1, x 2, x 3 ) = (1, 1, 0). Dette kredsløb har ingen tilfredsstillende tildeling (34.3 1).

39 Reduktion N PC Et N P-fuldstændigt problem 1. Kredsløbstilfredsstillelse ligger i N P Attest: Værdierne på alle indgange, indre ledninger og udgangen: (Man kunne nøjes med indgangsværdierne, ) Verifikationsalgoritme: Tjek omkring alle porte samt udgangsledningen. Tager polynomiel tid.

40 Reduktion N PC Et N P-fuldstændigt problem 2. Kredsløbstilfredsstillelse er N P-vanskeligt Vi skal vise L pol CIRCUIT-SAT for vilkårligt sprog L N P. Lad A verificere L i polynomiel tid; vi skal konstruere f (beregnelig i polynomiel tid) fra instanser X til koden f (X) = C for et kredsløb C. En konfiguration under udførelse af A på en computer indeholder programmet A, ordretælleren PC og andre interne registre, instansen X, attesten Y og hjælpevariable V, hvor udgangen z er en af dem.

41 Reduktion N PC Et N P-fuldstændigt problem RAM CPU RAM Centralenheden (Central Processing Unit), der overfører hver konfiguration til den næste, kan tænkes realiseret ved et kombinatorisk kredsløb. A er fast; lad T (n) betegne det maksimale antal beregningsskridt, A bruger for indgangsord X af længde n. Der findes en konstant k, så T (n), længden af Y og længden af V alle er O(n k ). For indgangsord X dannes f (X) ved at folde beregningen ud :

42 Reduktion N PC Et N P-fuldstændigt problem Til forelagt X af længde n forbindes T (n) kopier af CPU som vist. Kredsløbet C fås ved kun at opfatte den indledende attest som indgange og det afsluttende z som udgang, f (X) = C. f (X) kan konstrueres i polynomiel tid. X L f (X) CIRCUIT-SAT L pol CIRCUIT-SAT

Hamiltonkreds, den handelsrejsendes problem, delmængdesum-problemet

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

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

Tirsdag 12. december David Pisinger

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

Læs mere

Datalogisk indsigt Der findes problemer som kan løses effektivt (polynomiel

Datalogisk indsigt Der findes problemer som kan løses effektivt (polynomiel 9. marts NP -fuldstændighed Datalogisk indsigt Der findes problemer som kan løses effektivt (polynomiel tid) Der findes problemer som ikke kan løses effektivt Der findes problemer som slet ikke kan løses

Læs mere

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

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

Dynamisk programmering

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

Læs mere

13. december. Datalogiens største spørgsmål. Hvis kan bevise NP = P fås 1 million dollar

13. december. Datalogiens største spørgsmål. Hvis kan bevise NP = P fås 1 million dollar 3. december Datalogiens største spørgsmål NP -fuldstændighed Datalogisk indsigt Der findes problemer som kan løses effektivt (polnomiel tid) Der findes problemer som ikke kan løses effektivt Der findes

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

Dynamisk programmering

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

Læs mere

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

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

Tirsdag 5. december David Pisinger

Tirsdag 5. december David Pisinger Videregående Algoritmik, DIKU 2006/07 Tirsdag 5. december David Pisinger NP -fuldstændighed Datalogisk indsigt Problemer som kan løses effektivt (polnomiel tid) Problemer som ikke kan løses effektivt Problemer

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

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

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

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

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

Læs mere

Skriftlig Eksamen Beregnelighed (DM517)

Skriftlig Eksamen Beregnelighed (DM517) Skriftlig Eksamen Beregnelighed (DM517) Institut for Matematik & Datalogi Syddansk Universitet Torsdag den 1 November 212, kl. 1 14 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug af computer

Læs mere

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

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

Læs mere

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 Mandag den 6. juni 2016, kl. 15:00 19:00 Besvarelsen skal afleveres elektronisk. Se

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

Analyse af ombytningspuslespil

Analyse af ombytningspuslespil Analyse af ombytningspuslespil 1 / 7 Konkret eksempel på algoritmeanalyse Prøv ombytningspuslespillet på kurset webside. Spørgsmål: Hvilken bedste (laveste) score kan du opnå på 5 forsøg? Hvilken algoritme

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

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

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

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

Læs mere

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

02105 Eksamensnoter. Lasse Herskind S maj Sortering 3

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

Læs mere

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

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

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

P (n): rekursiv beregning af f n kræver f n beregninger af f 1. P (n) er sand for alle n 2. P (n): rekursiv beregning af f n kræver f n beregninger af f 1. P (n) er sand for alle n 2. Bevis ved stærk induktion. Basisskridt: P (2) er sand og P (3) er sand. Induktionsskridt: Lad k 2 og antag P

Læs mere

9. marts. NP -fuldstændighed. Datalogiens største spørgsmål. Hvis kan bevise NP P fås 1 million dollar

9. marts. NP -fuldstændighed. Datalogiens største spørgsmål. Hvis kan bevise NP P fås 1 million dollar 9. marts NP -fuldstændighed Datalogisk indsigt Der findes problemer som kan løses effektivt polynomiel tid) Der findes problemer som ikke kan løses effektivt Der findes problemer som slet ikke kan løses

Læs mere

Danmarks Tekniske Universitet

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

Læs mere

Perspektiverende Datalogi Klassiske Algoritmer

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

Læs mere

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

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

Divide-and-Conquer algoritmer

Divide-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 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 I Kursus nr. 0205. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af

Læs mere

Danmarks Tekniske Universitet

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

Læs mere

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528) Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 3 Januar 2011, kl. 9 13 Alle sædvanlige hjælpemidler

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: Onsdag den 11. august 2004, kl.

Læs mere

Eksempel på muligt eksamenssæt i Diskret Matematik

Eksempel på muligt eksamenssæt i Diskret Matematik Eksempel på muligt eksamenssæt i Diskret Matematik Første Studieår ved Det Teknisk-Naturvidenskabelige Fakultet???dag den?.????, 20??. Kl. 9-13. Nærværende eksamenssæt består af 13 nummererede sider med

Læs mere

Danmarks Tekniske Universitet

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

Læs mere

Sortering af information er en fundamental og central opgave.

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

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

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

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

Læs mere

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

Sortering. Eksempel: De n tal i sorteret orden

Sortering. 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 mere

Skriftlig Eksamen Algoritmer og Sandsynlighed (DM538)

Skriftlig Eksamen Algoritmer og Sandsynlighed (DM538) Skriftlig Eksamen Algoritmer og Sandsynlighed (DM538) Institut for Matematik og Datalogi Syddansk Universitet, Odense Fredag den 25. januar 2013 kl. 1013 Alle hjælpemidler (computer, lærebøger, notater,

Læs mere

Divide-and-Conquer algoritmer

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

Danmarks Tekniske Universitet

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

Læs mere

Reeksamen i Diskret Matematik

Reeksamen i Diskret Matematik Reeksamen i Diskret Matematik Første Studieår ved Det Teknisk-Naturvidenskabelige Fakultet Torsdag den 9. august, 202. Kl. 9-3. Nærværende eksamenssæt består af 9 nummererede sider med ialt 2 opgaver.

Læs mere

Danmarks Tekniske Universitet

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

Læs mere

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

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

Læs mere

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

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

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

Læs mere

Analyse af algoritmer

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

Minimum udspændende Træer (MST)

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

Læs mere

Sortering. De n tal i sorteret orden. Eksempel: Kommentarer:

Sortering. De n tal i sorteret orden. Eksempel: Kommentarer: Sortering Sortering Input: Output: n tal De n tal i sorteret orden Eksempel: Kommentarer: 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 Sorteret orden kan være stigende eller faldende. Vi vil i dette kursus

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

DM517:Supplerende noter om uafgørlighedsbeviser:

DM517: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 mere

dks Noter Michael Lind Mortensen, illio 24. juni 2010

dks Noter Michael Lind Mortensen, illio 24. juni 2010 dks Noter Michael Lind Mortensen, illio 24. juni 2010 Indhold 1 P, NP and NPC. 4 1.1 Disposition............................ 4 1.2 Emne detaljer........................... 4 1.2.1 Def. Problemer, Sprog,

Læs mere

Perspektiverende Datalogikursus

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

Læs mere

1 Beregnelighed. 1.1 Disposition. 1.2 Præsentation. Def. TM. Def. RE/R. Def. 5 egenskaber for RE/R. Def. NSA. Bevis. NSA!RE. Def. SA. Bevis. SA!

1 Beregnelighed. 1.1 Disposition. 1.2 Præsentation. Def. TM. Def. RE/R. Def. 5 egenskaber for RE/R. Def. NSA. Bevis. NSA!RE. Def. SA. Bevis. SA! 1 Beregnelighed 1.1 Disposition Def. TM Def. RE/R Def. 5 egenskaber for RE/R Def. NSA Bevis. NSA!RE Def. SA Bevis. SA!R Bevis. SA RE Def. Beslutningsproblem Arg. Self-Accepting er uløselig 1.2 Præsentation

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

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

Om hypoteseprøvning (1)

Om hypoteseprøvning (1) E6 efterår 1999 Notat 16 Jørgen Larsen 11. november 1999 Om hypoteseprøvning 1) Det grundlæggende problem kan generelt formuleres sådan: Man har en statistisk model parametriseret med en parameter θ Ω;

Læs mere

Selvstudium 1, Diskret matematik

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

Læs mere

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

Perspektiverende Datalogikursus

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

Læs mere

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

Sortering. Eksempel: De n tal i sorteret orden

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

Sortering af information er en fundamental og central opgave.

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

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

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

Læs mere

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

Baggrundsnote om logiske operatorer

Baggrundsnote om logiske operatorer Baggrundsnote om logiske operatorer Man kan regne på udsagn ligesom man kan regne på tal. Regneoperationerne kaldes da logiske operatorer. De tre vigtigste logiske operatorer er NOT, AND og. Den første

Læs mere

Rolf Fagerberg. Forår 2013

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

Mindste udspændende træ

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

Læs mere

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

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

Læs mere

Eksamensopgaver i DM17, Januar 2003

Eksamensopgaver i DM17, Januar 2003 Eksamensopgaver i DM17, Januar 2003 Skriftlig Eksamen Automatteori og Beregnelighed (DM17) Institut for Matematik & Datalogi Syddansk Universitet Odense Universitet Lørdag, den 18. Januar 2003 Alle sædvanlige

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

Skriftlig Eksamen Algoritmer og sandsynlighed (DM538)

Skriftlig Eksamen Algoritmer og sandsynlighed (DM538) Skriftlig Eksamen Algoritmer og sandsynlighed (DM538) Institut for Matematik & Datalogi Syddansk Universitet Fredag den 9 Januar 2015, kl. 10 14 Alle sædvanlige hjælpemidler(lærebøger, notater etc.) samt

Læs mere

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

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

Læs mere

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

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

Læs mere

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

Oversættere Skriftlig eksamen onsdag d. 24. januar 2007

Oversættere Skriftlig eksamen onsdag d. 24. januar 2007 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Skriftlig eksamen onsdag d. 24. januar 2007 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved hver opgave. Den skriftlige

Læs mere

Spilstrategier. Indhold. Georg Mohr-Konkurrencen. 1 Vindermængde og tabermængde 2. 2 Kopier modpartens træk 4

Spilstrategier. Indhold. Georg Mohr-Konkurrencen. 1 Vindermængde og tabermængde 2. 2 Kopier modpartens træk 4 Indhold 1 Vindermængde og tabermængde 2 2 Kopier modpartens træk 4 3 Udnyt modpartens træk 5 4 Strategityveri 6 5 Løsningsskitser 7 Spilstrategier De spiltyper vi skal se på her, er primært spil af følgende

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

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 Mandag den 7. juni 00, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)

Læs mere

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

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

Læs mere

Perspektiverende 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

Primtal Rekursion Kernebegreber, anvendelser og fundamenter i datalogi Torsdag den 17. marts 2005 Nils Andersen A.K. Dewdney kap.

Primtal Rekursion Kernebegreber, anvendelser og fundamenter i datalogi Torsdag den 17. marts 2005 Nils Andersen A.K. Dewdney kap. Primtal Rekursion Kernebegreber, anvendelser og fundamenter i datalogi Torsdag den 17. marts 2005 Nils Andersen A.K. Dewdney kap. 50+24 Primtalsformler Stokastisk primtalstest Deterministisk primtalstest

Læs mere

Asymptotisk analyse af algoritmers køretider

Asymptotisk analyse af algoritmers køretider Asymptotisk analyse af algoritmers køretider Analyse af køretid Recall: Vi ønsker at vurdere (analysere) algoritmer på forhånd inden vi bruger lang tid på at implementere dem. De to primære spørgsmål:

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

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

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

Ja! det beviste vi uge 16+17

Ja! det beviste vi uge 16+17 Ugens emner Lukketheds- og afgørlighedsegenskaber [5.3-5.5] lukkethed under,,,, * lukkethed under homomorfi og invers homomorfi pumping -lemmaet beslutningsproblemer: membership, emptiness, finiteness

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

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

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

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

Læs mere