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

Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Oplæg og øvelser,

herunder frugt og vand

Gerth Stølting Brodal Datalogisk Institut

Aarhus Universitet

MasterClass Matematik, Mærsk Mc-Kinney Møller Videncenter, Sorø, 29-31. oktober 2009

Page 2: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Algoritmer:

Matricer og Grafer

Gerth Stølting Brodal Datalogisk Institut

Aarhus Universitet

MasterClass Matematik, Mærsk Mc-Kinney Møller Videncenter, Sorø, 29-31. oktober 2009

Page 3: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Gerth Stølting Brodal

1985-1988 Aabenraa Gymnasium

1989-1994 Datalogi-Matematik, Aarhus Universitet (cand. scient)

1993-1997 PhD i Datalogi, Aarhus Universitet

1997-1998 Post. doc., Max-Planck-Institut für Informatik,

Saarbrücken, Tyskland

1999- Lektor, Datalogisk Institut, Aarhus Universitet

Page 4: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Indhold Algoritmik

Matricer – Multiplikation: Naive algoritme, Strassen’s algoritme,

rekursionsligninger, optimal rækkefølge for multiplikation af

matricer

Grafer – Korteste veje: Korteste veje: matrix potensopløftning

(tropisk algebra), Seidel’s algoritme, Dijkstra’s algoritme

– Planare grafer: Euler's formel, Kuratowski's Sætning,

planaritets test

Eksempel fra DM i programmering 2009

Formiddagens arbejdsform: Forelæsning med små øvelser

Page 5: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Algoritmik

Page 6: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Algoritmik

Metoder til at løse problemer

Krav til en algoritme

– Korrekt (gør det den skal)

– Effektiv (f.eks. m.h.t. tid for at løse et problem)

Page 7: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Opgave

Assymptotisk Tid

Lad n være størrelsen af et problem

Algoritme A: Løser problemet i tid n

Algoritme B: Løser problemet i tid n2

Hvilken algoritme er hurtigst ? for n → ∞

Page 8: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

1089·n vs 0.33·n2

Page 9: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Plot af de to funktioner

– ikke særlig informativ

Plot af de to funktioner

med logaritmisk y-akse

– første plot misvisende

Plot af brøken mellem

de to funktioner

– første plot misvisende

n5 · 2n vs 3n

Page 10: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Opgave

A B Mindste funktion

n3 n2

3·n2 + 7·n n2

2n 3n

4n n2 · 2n

n3 log2 n · n0.1

(log2 n)3 n0.1

n2 · log2 n + 7·n2.5 n2.5

Assymptotisk Tid

Page 11: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Assymptotisk Tid (formel)

Definition: f(n) = O(g(n))

hvis f(n) og g(n) er ikke negative funktioner og der findes c ≤ 0 og N0 så for alle n ≥ N0 : f(n) ≤ c·g(n)

Eksempel

n5 · 2n = O( 3n )

N0

f(n)

c·g(n)

Page 12: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

6 ∙ 7 = 42

Page 13: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Multiplikation af lange heltal

I og J hver heltal med n cifre

Naive implementation kræver O(n2) operationer

Lad I = Ih·10n/2+Il og J = Jh·10n/2+Jl

I·J = Ih ·Jh·10n +((Ih-Il)·(Jl-Jh)+Il ·Jl +Ih ·Jh)·10n/2 +Il ·Jl

T(n) = O(nlog 3)

T(n) ≤ 3·T(n/2) + c·n for n ≥ 2

T(n) ≤ c for n = 1

2

Page 14: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Matricer

Page 15: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Matrix

Page 16: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Matrix Multiplikation

cij = Σk=1..m aik·bkj

Naive algoritme: tid O(npm)

b

Page 17: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Opgave

= ?

Matrix Multiplikation

3 7

Page 18: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Opgave

01

23= ?

Matrix Multiplikation

34

71

Page 19: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Opgave

5447

8213

2044

3113

2446

7301

1024

4113

= ?

Matrix Multiplikation

Page 20: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

(Kvadratisk) Matrix Multiplikation

n x n matrix

n/2 x n/2 matrix

Page 21: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Opgave

5447

8213

2044

3113

2446

7301

1024

4113

=

Matrix Multiplikation

A B

D C

E F

H G

I

I = AE + BG

Page 22: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

(Kvadratisk) Matrix Multiplikation

• A,B,...,K,L er n/2 x n/2-matricer

• I,J,K,L kan beregnes med 8

rekursive multiplication på n/2 x

n/2-matricer + 4 matrix additioner

• T(n) ≤ 8·T(n/2) + c·n2 for n ≥ 2

T(n) ≤ c for n = 1

• T(n) = O(n3)

Page 23: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Strassen’s Matrix Multiplikation 1969

7 re

kurs

ive m

ultip

likatio

ner

Page 24: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Bruger 18 matrix additioner (tid O(n2)) og

7 rekursive matrix multiplikationer

T(n) = O(n2.81) hvor 2.81 = log2 7

T(n) ≤ 7·T(n/2) + c·n2 for n ≥ 2

T(n) ≤ c for n = 1

Strassen’s Matrix Multiplikation

Page 25: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Matrix Multiplikation

Naive algoritme O(n3)

Strassen’s algoritme O(n2.81)

Coppersmith-Winograd O(n2.376) (kun teoretisk interesse)

Page 26: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Matrix-kæde Multiplikation

Page 27: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

(A·B)·C eller A·(B·C) ?

Matrix-kæde Multiplikation

Matrix multiplikation er associativ (kan sætte paranteser som man vel) men

ikke kommutative (kan ikke bytte rundt ¨på rækkefølgen af matricerne)

Page 28: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Opgave

Matrix-kæde Multiplikation

?

1

0

2

1

4

01204

30121

10

11

01

Page 29: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Problem: Find den bedste rækkefølge (paranteser)

for at gange n matricer sammen

A1 · A2 · · · An

hvor Ai er en pi-1 x pi matricer

NB: Der er mulige måder for paranteserne

(det n’te Catalan tal)

Matrix-kæde Multiplikation

3

4

n

n

nC

Page 30: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

m[i,j] = minimale antal (primitive) multiplikationer for

at beregne Ai ·…· Aj

Matrix-kæde Multiplikation

Page 31: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Matrix-kæde Multiplikation

Page 32: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Matrix-kæde Multiplikation

Tid O(n3)

Page 33: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Matrix-kæde Multiplikation

Tid O(n)

Page 34: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Grafer

Page 35: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Grafer

knude

kant

Opgave

Hvor mange knuder v og kanter e er der?

(vertices and edges)

planar = ingen krydsende kanter

Page 36: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Graf repræsentationer:

Incidenslister og incidensmatricer

Uorienterede grafer

Orienterede grafer

Page 37: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Kort over Vest-Europa

18.029.721 knuder

42.199.587 orienterede kanter

Page 38: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Korteste Veje mellem alle

Par af Knude

Page 39: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Multiplikation – Tropiske Algebra

WLL '

jkkikji wll ,,, min'

Normalt (+,*)-matrix multiplikation

Tropisk algebra: (min,+)-matrix multiplikation

Page 40: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Multiplikation – Tropiske Algebra

WLL ' jkkikji WLl ,,, min'

Page 41: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Tid O(v4)

diagonalen = 0

Korteste Veje mellem alle Par af Knude

Page 42: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk
Page 43: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Tid O(v3·log v)

Korteste Veje mellem alle Par af Knude

Page 44: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Floyd-Warshall

Tid O(v3)

)(

,

k

jid = afstand fra i til j kun igennem knuderne {1,..,k}

Page 45: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Korteste Veje fra s til alle

Par af Knude

Page 46: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Eksempel: Korteste veje fra s

Negativ cykel

Uforbundet til s

Orienteret graf

med vægte på

kanterne

Page 47: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Eksempel: Korteste veje træer

2 forskellige korteste veje træer der

repræsenterer stier fra s med samme længde

Page 48: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Korteste Veje Estimater :

Initialisering

Page 49: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Korteste Veje Estimater : Relax

Kortere afstand

til v fundet

Forbedrer ikke

afstanden til v

Page 50: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Bellman-Ford: Korteste Veje i Grafer med Negative Vægte

Tid O(ve)

Check for

negativ

cykel

Page 51: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Bellman-Ford:

Eksempel

Page 52: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Dijkstra: Korteste Veje i Grafer uden Negative Vægte

Tid O((v+e)·log v)

eller O(v2+e)

Q = prioritets kø (besøger knuderne

efter stigende afstand fra s)

Page 53: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Dijkstra : Eksempel

Page 54: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

SSSP

En-til-alle

korteste veje

APSP

Alle-til-alle

korteste veje

Acykliske grafer

(positive og negative vægte) O(v+e) O(v·(v+e))

Generelle grafer

Kun positive

vægte

Dijkstra

O((v+e)·log v) Floyd-Warshall

O(v3) Positive og

negative vægte

Bellman-Ford

O(e·v)

Korteste Veje

Page 55: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

STOC 1992

Page 56: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Planare Grafer

Page 57: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Planare Grafer

flade

Opgave

Hvor mange flader f er der?

Page 58: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Euler’s Formel

Opgave

Vis v-e+f = 2 for en sammenhængene planar graf

(10-12+4 = 2)

Page 59: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Euler’s Formel

Opgave

Vis e ≤ 3v - 6 for v ≥ 3 for en planar graf

Page 60: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Opgave

Opgave

Er følgende grafer planare?

n Kn ?

1

2

3

4

5

6

7

Kn,m ? 1 2 3 4 5

1

2

3

4

5

K3

K3,2

Page 61: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

q

Kuratowski's Sætning

En graf er planar hvis og kun hvis den ikke

indeholder en delgraf der er en K5 eller K3,3

En delgraf er en graf der opnås ved at slette

knuder og kanter og erstatte med

Kuratowski 1896–1980

Page 62: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Historie – Planaritets Test

Baseret på Kuratowski’s Sætning findes flere

algoritmer til at teste om en graf er planar

(givet en liste af e par (i,j) som angiver kanterne)

1961 Auslander and Parter test, O(v3)

1964 Demoucron, Malgrange and Pertuiset test, O(v2)

1974 Hopcroft and Tarjan test, O(v)

1985 Chiba, Nishizeki, Abe and Ozawa indlejring, O(v)

Page 63: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

Eksempel fra DM i

Programmering 2009

Page 64: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk

ncpc.idi.ntnu.no/ncpc2009

Speedy Escape n

cp

c.id

i.n

tnu

.no

/ncp

c2

00

9

Page 65: Oplæg og øvelser, herunder frugt og vand - tildeweb.au.dktildeweb.au.dk/au121/slides/soroe-2009-10-30.pdf · Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk