Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet
-
Upload
conan-dyer -
Category
Documents
-
view
37 -
download
0
description
Transcript of Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet
![Page 1: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/1.jpg)
Algoritmer
Gerth Stølting BrodalInstitut for DatalogiAarhus Universitet
Udays, 28. februar-2. marts 2013, Aarhus Universitet
![Page 2: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/2.jpg)
Indhold :Grafer og Algoritmer
Fokus er på de overordnede idéer. Detaljerne i algoritmerne og hvordan de omsættes til
konkrete programmer kommes ikke ind på her.
![Page 3: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/3.jpg)
Største Tomme Cirkel
Sætning Største tomme cirkel har mindst 3 punkter på randen
p3
p2
p1 r
Algoritmefor alle mulige (p1,p2,p3) :
find C med p1,p2,p3 på randenfor alle punkter p :
hvis p inde i C prøv næste (p1,p2,p3)C mulig kandidat
Rapporter største kandidat fundet
C
c
p
dist(c,p)
![Page 4: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/4.jpg)
Største Tomme Cirkel (II)
Voronoi diagram
AlgoritmeKonstruer Voronoi diagrammetFor alle knuder find radius af cirklen Rapporter knuden med størst radius
Sætning Antal Voronoi knuder ≤ 2 · antal punkter
r
![Page 5: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/5.jpg)
Graf
Euler’s Sætning : # knuder + # flader - # kanter = 2 15 + 4 - 17 = 2
(gælder for sammenhængende grafer der kan tegnes uden krydsende kanter)
knude
kant
flade
![Page 6: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/6.jpg)
Eksempel: Find (korteste) veje fra A til B i en graf
AB
Findes der to kant-disjunkte stier fra A til B ?
Gader &
Stræder
Flere detaljer?14:00
Ian Zerny
![Page 7: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/7.jpg)
Tid Hor. Ska. Ry Aar. IC125
Re3329
ICL27
RX5335
10:4310:4910:5710:5811:0011:0811:0911:1111:1211:1811:2511:2611:3111:40
uddrag af køreplaner
Rejseplan (Horsens til Ry)Tog Ank Afg Station
IC125 10:43 Horsens
10:57 10:58 Skanderborg St11:12 Aarhus H
Re3329 11:00 Horsens11:31 Aarhus H
ICL27 11:11 Horsens
11:25 11:26 Skanderborg St11:40 Aarhus H
RX5335 10:49 Aarhus H
11:08 11:09 Skanderborg St11:18 Ry St
AlgoritmeFind tidligste knude for Ry der kan nås
fra en given start-knude i Horsens
![Page 8: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/8.jpg)
Opdatering af Regneark
A1
A2 C2
C3
C4
C1
A1 A2 C1 C2 C3 C4
AlgoritmeSå længe der findes en uberegnet celle c hvor alle afhængigheder er beregnet :
Beregn c
topologisk sortering alle kanter peger fra venstre mod højre
beregnings rækkefølge
7
?
![Page 9: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/9.jpg)
C3
C2
A1
Opdatering af Regneark (II)
C4
AlgoritmeSå længe der findes en uberegnet celle c hvor alle afhængigheder er beregnet :
Beregn cHvis ikke alle celler beregnet :
Rapporter at der findes en cykel
topologisk sorterer eller
identificerer en cykel
C1
A2
![Page 10: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/10.jpg)
Stærke Sammenhængskomponenter
Kan alle par af knuder nå hinanden begge veje ?(bruges f.eks. til at checke for fejl i vej-data)
(topologisk sortering)
![Page 11: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/11.jpg)
Algoritme : Så længe der findes en cykel C :
Træk C sammen til en knude
Stærke Sammenhængskomponenter
![Page 12: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/12.jpg)
xkcd.com/754
![Page 13: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/13.jpg)
5/5/
2/
2/
2/
3/
5/ 3/
2/
4/
4/
Strømninger i Netværk
Hver kant har en kapacitet Send størst mulig værdi fra s til t
st2
4 7 3
5
42
76
63
Værdi af strømning= 7
(f.eks. vand, kloak, fjernvarme, vejnet kapacitet, el netværk)
![Page 14: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/14.jpg)
s
t2
4 7
3
5
4
27
6
63
Beregning af Strømninger i Netværk
AlgoritmeSå længe der findes en forbedrende sti P :
Send maksimal yderligere værdi langs stien P
2+2+
2+
2+
2/
2/
2/
1+1+
1+
1+
1/2/
2/ 2+
2+
2/2/
2/
2/
2/
Snit hvor der ikke kan sendes mere over
Sætning Max strømning = min snit
![Page 15: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/15.jpg)
AB
Største antal kant-disjunkte stier fra A til B ?
Mindste antal kanter der skal fjernes så B ikke kan nås fra A ?
=
(Menger’s sætning)
1
11
11
1
1
11 1 1
1
11
111
AlgoritmeFind maksimal strømning fra A til B når alle kanter har kapacitet 1
![Page 16: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/16.jpg)
Lyskryds
Ulovlige tilstande
start-tilstanden
Automatisk kontrol af software til f.eks. styring af lyskryds Hvilke tilstande kan man nå (fra start-tilstanden) ? Er alle tilstande man kan nå lovlige ? Kan der altid blive grønt igen (liveness) ?
![Page 17: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/17.jpg)
LyskrydsA
BA B
Ulovlige tilstande
![Page 18: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/18.jpg)
![Page 19: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/19.jpg)
14 tilstande
![Page 20: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/20.jpg)
Kort Korteste vej
Antal tilstande
1 7 10752 7 210553 13 8304 8 4515 8 27846 8 29547 12 72738 11 9509 11 6759
10 16 446613 15 1311914 16 6171215 22 54032 36 69033 39 427337 46 195538 47 440539 49 453340 50 3493
Rushhour
![Page 21: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/21.jpg)
Indhold : Grafer og Algoritmer
Planare grafer (Voronoi diagram, Euler’s formel) Vejnet som grafer (korteste veje, disjunkte stier,
stærk sammenhængende) Rejseplaner (modellering som graf) Regneark (cykler i grafer, topologisk sortering) Strømninger i grafer 2-kant sammenhængende grafer Tilstandsgrafer (lyskryds, spil)
![Page 22: Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet](https://reader036.fdocuments.net/reader036/viewer/2022062309/56813946550346895da0e255/html5/thumbnails/22.jpg)
Opsummering
TAK – Spørgsmål ?
Manger problemer kan løses med generelle graf algoritmer
Gerth Stølting Brodal, Aarhus Universitet