Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet MasterClass i Matematik, 10. april 2014, Aarhus Universitet.

Slides:



Advertisements
Lignende præsentationer
Klik på Aktivér redigering i meddelelseslinjen,
Advertisements

Oplæg og øvelser, herunder frugt og vand
Algoritmer og Datastrukturer 2 Dynamisk Programmering [CLRS 15] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Del-og-kombiner [CLRS, kapitel , , 28
Algoritmer og Datastrukturer 1 Merge-Sort [CLRS, kapitel 2.3] Heaps [CLRS, kapitel 6] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Grådige Algoritmer [CLRS ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Minimum Udspændende Træer (MST) [CLRS, kapitel 23]
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Maksimale Strømninger [CLRS, kapitel ]
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal.
Representations for Path Finding in Planar Environments.
Parringer (matchings)
Algoritmer (v. lektor Gerth S. Brodal) Hør om metoder til at beregne gode GPS kørevejledninger og tog- og flyforbindelser, og hvad problemstillingerne.
Algoritmer og Datastrukturer 2 Dynamisk Programmering [CLRS, kapitel 15] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 1 Binære Søgetræer [CLRS, kapitel 12] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal.
1 Algoritme til at løse knude P-center problemet Algoritmen brugte set covering problemet Virker derfor kun til knude problemer Vi vil alligevel bruge.
Claus Brabrand, ITU, Denmark Apr 06, 2010Projekt: “Korteste Veje” Claus Brabrand [ ] ( “FÅP”: First-year Project Course, ITU, Denmark )
1 Vi ser nu på en general graf Men antager at alle afstande er heltallige (Det er ikke så restriktivt) Algoritmen leder efter den mindst mulige dækningsdistance.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Maksimale Strømninger [CLRS, kapitel ]
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
Et eller andet datalogi…
Algoritmer og Datastrukturer 2 Maksimale Strømninger [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet Ford-Fulkerson.
Grafalgoritmer II.
Algoritmer og Datastrukturer 1 Binære Søgetræer [CLRS, kapitel 12] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Dynamisk Rang & Interval Træer [CLRS, kapitel 14] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Korteste Veje [CLRS, kapitel 24, ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Minimum Udspændende Træer (MST) [CLRS, kapitel 23]
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Minimum Udspændende Træer (MST) [CLRS, kapitel 23]
Algoritmer og Datastrukturer 1 Binære Søgetræer [CLRS, kapitel 12] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2
Algoritmer og Datastrukturer 2 Topologisk Sortering, Stærke Sammenhængskomponenter [CLRS, kapitel ] Gerth Stølting Brodal.
Et eller andet datalogi… Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet Voronoi Diagrammer Datalogi, Studiestart 2013.
Algoritmer og Datastrukturer 1 Union-Find [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Grådige Algoritmer [CLRS ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Korteste Veje [CLRS, kapitel 24]
Algoritmer og Datastrukturer 1 Quicksort [CLRS, kapitel 7] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Del-og-kombiner [CLRS, kapitel , , 28
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Minimum Udspændende Træer (MST) [CLRS, kapitel 23]
Algoritmer og Datastrukturer 1 ”Rush Hour” Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Korteste Veje [CLRS, kapitel ]
Clicker Test a)Ja b)Nej c)Ved ikke. Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Dynamisk Rang & Interval Træer [CLRS, kapitel 14] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Topologisk Sortering, Stærke Sammenhængskomponenter [CLRS, kapitel ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Grådige Algoritmer [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Topologisk Sortering, Stærke Sammenhængskomponenter [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Korteste Veje [CLRS, kapitel 24, ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Korteste Veje [CLRS, kapitel 24, ]
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Korteste Veje [CLRS, kapitel ]
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Minimum Udspændende Træer (MST) [CLRS, kapitel 23]
Algoritmer og Datastrukturer 2 Korteste Veje [CLRS, kapitel 24]
Dynamisk Rang & Interval Træer [CLRS, kapitel 14]
Algoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 2
Dynamisk Rang & Interval Træer [CLRS, kapitel 14]
Algoritmer og Datastrukturer 2
Grundlæggende Algoritmer og Datastrukturer
Grundlæggende Algoritmer og Datastrukturer
Algoritmer og Datastrukturer 1
Præsentationens transcript:

Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet MasterClass i Matematik, 10. april 2014, Aarhus Universitet

Indhold : Grafer og Algoritmer Fokus er på de overordnede idéer. Detaljerne i algoritmerne og hvordan de omsættes til konkrete programmer kommes der ikke ind på her.

Største Tomme Cirkel Sætning Største tomme cirkel har mindst 3 punkter på randen p3p3 p2p2 p1p1 r Algoritme for alle mulige (p 1,p 2,p 3 ) : find C med p 1,p 2,p 3 på randen for alle punkter p : hvis p inde i C prøv næste (p 1,p 2,p 3 ) C mulig kandidat Rapporter største kandidat fundet C c p dist(c,p)

Største Tomme Cirkel (II) Voronoi diagram Algoritme Konstruer Voronoi diagrammet For alle knuder find radius af cirklen Rapporter knuden med størst radius Sætning Antal Voronoi knuder ≤ 2 · antal punkter r

Voronoi Diagram - Konstruktion Algoritme (Randomiseret Inkrementel) Indsæt punkterne i tilfældig rækkefølge Indsæt nye og slet gamle segmenter Sætning Forventet ≤ 6 nye segmenter per tilføjet punkt

Graf Euler’s Sætning : # knuder + # flader - # kanter = = 2 (gælder for sammenhængende grafer der kan tegnes uden krydsende kanter) knude kant flade

Eksempel: Find (korteste) veje fra A til B i en graf A B Findes der to kant-disjunkte stier fra A til B ? Gader & Stræder

TidHor.Ska.RyAar. IC 125 Re 3329 ICL 27 RX :43 10:49 10:57 10:58 11:00 11:08 11:09 11:11 11:12 11:18 11:25 11:26 11:31 11:40 uddrag af køreplaner Rejseplan (Horsens til Ry) TogAnkAfgStation IC125 10:43Horsens 10:5710:58Skanderborg St 11:12 Aarhus H Re :00Horsens 11:31 Aarhus H ICL27 11:11Horsens 11:2511:26Skanderborg St 11:40 Aarhus H RX :49Aarhus H 11:0811:09Skanderborg St 11:18 Ry St Algoritme Find tidligste knude for Ry der kan nås fra en given start-knude i Horsens

Opdatering af Regneark A1 A2C2 C3 C4 C1 A1A2C1C2C3C4 Algoritme Så 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 ?

C3 C2 A1 Opdatering af Regneark (II) C4 Algoritme Så længe der findes en uberegnet celle c hvor alle afhængigheder er beregnet : Beregn c Hvis ikke alle celler beregnet : Rapporter at der findes en cykel topologisk sorterer eller identificerer en cykel C1 A2

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)

Algoritme : Så længe der findes en cykel C : Træk C sammen til en knude Stærke Sammenhængskomponenter

Algoritme : Så længe der findes en cykel C : Træk C sammen til en knude Stærke Sammenhængskomponenter

xkcd.com/754

5/ 2/ 3/ 5/ 3/ 2/ 4/ Strømninger i Netværk  Hver kant har en kapacitet  Send størst mulig værdi fra s til t s t Værdi af strømning= 7 (f.eks. vand, kloak, fjernvarme, vejnet kapacitet, el netværk, …)

s t Beregning af Strømninger i Netværk Algoritme Så længe der findes en forbedrende sti P : Send maksimal yderligere værdi langs stien P 2+ 2/ 1+ 1/ 2/ 2+ 2/ Snit hvor der ikke kan sendes mere over Sætning Max strømning = min snit

s t Beregning af Strømninger i Netværk Algoritme Så længe der findes en forbedrende sti P : Send maksimal yderligere værdi langs stien P 2+ 2/ 1+ 1/ 2/ 2+ 2/ Snit hvor der ikke kan sendes mere over Sætning Max strømning = min snit

A B 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) Algoritme Find maksimal strømning fra A til B når alle kanter har kapacitet 1

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) ?

Lyskryds A B AB Ulovlige tilstande

14 tilstande

Kort Korteste vej Antal tilstande Rushhour

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

Opsummering TAK – Spørgsmål ? Manger problemer kan løses med generelle graf algoritmer Gerth Stølting Brodal, Aarhus Universitet