oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfhistorie –...
TRANSCRIPT
![Page 1: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/1.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/2.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/3.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/4.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/5.jpg)
Algoritmik
![Page 6: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/6.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/7.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/8.jpg)
1089·n vs 0.33·n2
![Page 9: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/9.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/10.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/11.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/12.jpg)
6 ∙ 7 = 42
![Page 13: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/13.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/14.jpg)
Matricer
![Page 15: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/15.jpg)
Matrix
![Page 16: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/16.jpg)
Matrix Multiplikation
cij = Σk=1..m aik·bkj
Naive algoritme: tid O(npm)
b
![Page 17: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/17.jpg)
Opgave
= ?
Matrix Multiplikation
3 7
![Page 18: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/18.jpg)
Opgave
01
23= ?
Matrix Multiplikation
34
71
![Page 19: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/19.jpg)
Opgave
5447
8213
2044
3113
2446
7301
1024
4113
= ?
Matrix Multiplikation
![Page 20: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/20.jpg)
(Kvadratisk) Matrix Multiplikation
n x n matrix
n/2 x n/2 matrix
![Page 21: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/21.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/22.jpg)
(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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/23.jpg)
Strassen’s Matrix Multiplikation 1969
7 re
kurs
ive m
ultip
likatio
ner
![Page 24: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/24.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/25.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/26.jpg)
Matrix-kæde Multiplikation
![Page 27: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/27.jpg)
(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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/28.jpg)
Opgave
Matrix-kæde Multiplikation
?
1
0
2
1
4
01204
30121
10
11
01
![Page 29: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/29.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/30.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/31.jpg)
Matrix-kæde Multiplikation
![Page 32: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/32.jpg)
Matrix-kæde Multiplikation
Tid O(n3)
![Page 33: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/33.jpg)
Matrix-kæde Multiplikation
Tid O(n)
![Page 34: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/34.jpg)
Grafer
![Page 35: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/35.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/36.jpg)
Graf repræsentationer:
Incidenslister og incidensmatricer
Uorienterede grafer
Orienterede grafer
![Page 37: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/37.jpg)
Kort over Vest-Europa
18.029.721 knuder
42.199.587 orienterede kanter
![Page 38: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/38.jpg)
Korteste Veje mellem alle
Par af Knude
![Page 39: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/39.jpg)
Multiplikation – Tropiske Algebra
WLL '
jkkikji wll ,,, min'
Normalt (+,*)-matrix multiplikation
Tropisk algebra: (min,+)-matrix multiplikation
![Page 40: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/40.jpg)
Multiplikation – Tropiske Algebra
WLL ' jkkikji WLl ,,, min'
![Page 41: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/41.jpg)
Tid O(v4)
diagonalen = 0
Korteste Veje mellem alle Par af Knude
![Page 42: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/42.jpg)
![Page 43: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/43.jpg)
Tid O(v3·log v)
Korteste Veje mellem alle Par af Knude
![Page 44: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/44.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/45.jpg)
Korteste Veje fra s til alle
Par af Knude
![Page 46: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/46.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/47.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/48.jpg)
Korteste Veje Estimater :
Initialisering
![Page 49: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/49.jpg)
Korteste Veje Estimater : Relax
Kortere afstand
til v fundet
Forbedrer ikke
afstanden til v
![Page 50: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/50.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/51.jpg)
Bellman-Ford:
Eksempel
![Page 52: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/52.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/53.jpg)
Dijkstra : Eksempel
![Page 54: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/54.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/55.jpg)
STOC 1992
![Page 56: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/56.jpg)
Planare Grafer
![Page 57: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/57.jpg)
Planare Grafer
flade
Opgave
Hvor mange flader f er der?
![Page 58: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/58.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/59.jpg)
Euler’s Formel
Opgave
Vis e ≤ 3v - 6 for v ≥ 3 for en planar graf
![Page 60: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/60.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/61.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/62.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/63.jpg)
Eksempel fra DM i
Programmering 2009
![Page 64: Oplæg og øvelser, herunder frugt og vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/64.jpg)
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 vandcs.au.dk/~gerth/slides/soroe-2009-10-30.pdfHistorie – Planaritets Test Baseret på Kuratowski’s Sætning findes flere algoritmer til at](https://reader033.vdocuments.mx/reader033/viewer/2022041613/5e39142e3f3f13759f6896a2/html5/thumbnails/65.jpg)