Algorithmen für Routenplanung
|
|
- Andrea Geiger
- vor 5 Jahren
- Abrufe
Transkript
1 Algorithmen für Routenplanung 19. Vorlesung, Sommersemester 2017 Tobias Zündorf 24. Juli 2017 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft
2 Inhalt heute Profil CSA: Pareto-optimierung (Ankunftszeit & Anzahl Umstiege) Unbeschränktes Laufen: Limitierungen von transitiv-abgeschlossenen Graphen Auswirkung von vollständigen Fußweggraphen Verkehrsumlegung: Fahrzeugauslastungen bei statistischem Reiseaufkommen Folie Juli 2017
3 Wdh.: Profil CSA Folie Juli 2017
4 Vektoroperationen Broadcast Eingabe: x Ausgabe: (x, x, x, x, x, x, x, x) Minimum Eingabe: (x 1, x 2, x 3, x 4, x 5, x 6, x 7, x 8 ) und (y 1, y 2, y 3, y 4, y 5, y 6, y 7, y 8 ) Ausgabe: (z 1, z 2, z 3, z 4, z 5, z 6, z 7, z 8 ) mit z i = min{x i, y i } Shift Eingabe: (x 1, x 2, x 3, x 4, x 5, x 6, x 7, x 8 ) Ausgabe: (, x 1, x 2, x 3, x 4, x 5, x 6, x 7 ) Geht alles mit SIMD/SSE/AVX Folie Juli 2017
5 Vektoroperationen Broadcast Eingabe: x Ausgabe: (x, x, x, x, x, x, x, x) Minimum Eingabe: (x 1, x 2, x 3, x 4, x 5, x 6, x 7, x 8 ) und (y 1, y 2, y 3, y 4, y 5, y 6, y 7, y 8 ) Ausgabe: (z 1, z 2, z 3, z 4, z 5, z 6, z 7, z 8 ) mit z i = min{x i, y i } Shift Eingabe: (x 1, x 2, x 3, x 4, x 5, x 6, x 7, x 8 ) Ausgabe: (, x 1, x 2, x 3, x 4, x 5, x 6, x 7 ) Geht alles mit SIMD/SSE/AVX Folie Juli 2017
6 Vektoroperationen Broadcast Eingabe: x Ausgabe: (x, x, x, x, x, x, x, x) Minimum Eingabe: (x 1, x 2, x 3, x 4, x 5, x 6, x 7, x 8 ) und (y 1, y 2, y 3, y 4, y 5, y 6, y 7, y 8 ) Ausgabe: (z 1, z 2, z 3, z 4, z 5, z 6, z 7, z 8 ) mit z i = min{x i, y i } Shift Eingabe: (x 1, x 2, x 3, x 4, x 5, x 6, x 7, x 8 ) Ausgabe: (, x 1, x 2, x 3, x 4, x 5, x 6, x 7 ) Geht alles mit SIMD/SSE/AVX Folie Juli 2017
7 Vektoroperationen Broadcast Eingabe: x Ausgabe: (x, x, x, x, x, x, x, x) Minimum Eingabe: (x 1, x 2, x 3, x 4, x 5, x 6, x 7, x 8 ) und (y 1, y 2, y 3, y 4, y 5, y 6, y 7, y 8 ) Ausgabe: (z 1, z 2, z 3, z 4, z 5, z 6, z 7, z 8 ) mit z i = min{x i, y i } Shift Eingabe: (x 1, x 2, x 3, x 4, x 5, x 6, x 7, x 8 ) Ausgabe: (, x 1, x 2, x 3, x 4, x 5, x 6, x 7 ) Geht alles mit SIMD/SSE/AVX Folie Juli 2017
8 Algorithmus Übersicht Initialisiere Profil an Stops; Initialisiere optimale Ankunftszeit an Trips; for alle Connections c absteigend nach τ dep (c) do // 1. Bestimme Ankunftszeit von man in c startet τ 1 Ankunftszeit wenn man zum Ziel läuft; τ 2 Ankunftszeit wenn Sitzenbleiben (Ankunftszeit von Trip trip(c)); τ 3 Ankunftszeit wenn Umsteigen (Profil vom Stop s arr (c)); // τ c Ankunftszeit wenn man in c beginnt τ c min{τ 1, τ 2, τ 3 }; // 2. Passe die Profile und Ankunftszeiten an Füge τ c zum Profil von Stop s dep (c) hinzu; Aktualisiere Ankunftszeit von trip(c) mit τ c ; Ankunftszeiten τ 1, τ 2, τ 3, und τ c sind nun Vektoren Abfahrtszeiten bleiben Skalare Folie Juli 2017
9 Zum Ziel Laufen Code: Aus: τ 1 Ankunftszeit wenn man zum Ziel läuft; Wird: if s arr (c) = target then τ 1 broadcast(τ arr (c)); else τ 1 broadcast( ); Finale Fußwege gehen genauso wie bisher Folie Juli 2017
10 Sitzenbleiben Trip-Datenstruktur: Bisher: T[x] ist eine Ankunftszeit Jetzt: T[x] wird Vektor Code: Aus: Initialisiere optimale Ankunftszeit an Trips; Wird: for alle Trips x do T[x] broadcast( ); Folie Juli 2017
11 Sitzenbleiben Trip-Datenstruktur: Bisher: T[x] ist eine Ankunftszeit Jetzt: T[x] wird Vektor Code: Aus: τ 2 Ankunftszeit wenn Sitzenbleiben; Wird: τ 2 T[trip(c)]; (Diesmal sind die Variablen aber Vektoren) Folie Juli 2017
12 Sitzenbleiben Trip-Datenstruktur: Bisher: T[x] ist eine Ankunftszeit Jetzt: T[x] wird Vektor Code: Aus: Aktualisiere Ankunftszeit von trip(c) mit τ c ; Wird: T[trip(c)] τ c ; (Diesmal sind die Variablen aber Vektoren) Folie Juli 2017
13 Umsteigen Stop-Datenstruktur: Profile bilden Abfahrtszeit auf Ankunftszeit-Vektoren ab Code: Aus: Initialisiere Profil an Stops; Wird: for alle Stops x do P[x] { τ : τ broadcast( )}; Folie Juli 2017
14 Pareto-Profile Aufbau: Bisher: P ist Array von (τ dep, τ arr )-Paaren Nun: P ist Array von (τ dep, vector)-paaren Arrays sind sortiert nach Abfahrtszeit Interpretation: P[x] ist Profil von Stop x nach target P[x] zum Zeitpunkt τ auswerten ergibt Vektor v Vector v[i] beschreibt wann man an target ankomme wenn man zur Zeit τ an Stop x losfahre und höchstens i mal aussteigen darf Folie Juli 2017
15 Pareto-Profile Aufbau: Bisher: P ist Array von (τ dep, τ arr )-Paaren Nun: P ist Array von (τ dep, vector)-paaren Arrays sind sortiert nach Abfahrtszeit Interpretation: P[x] ist Profil von Stop x nach target P[x] zum Zeitpunkt τ auswerten ergibt Vektor v Vector v[i] beschreibt wann man an target ankomme wenn man zur Zeit τ an Stop x losfahre und höchstens i mal aussteigen darf Folie Juli 2017
16 Umstiege Pareto-optimieren Code: Jedes Array hat ein (, broadcast( ))-Paar Aus: for alle Stops x do P[x] { τ : τ broadcast( )}; Wird: for alle Stops x do P[x] {(, broadcast( ))}; Folie Juli 2017
17 Umstiege Pareto-optimieren Code: Füge Paar ein, wenn es in mindestens einer Komponente besser ist Aus: Füge ( τ dep (c) τ ch (s dep (c)), τ c ) in P[sdep (c)] ein; Wird: d τ dep (c) τ ch (s dep (c)); x min(τ c, vector(p[s dep (c)][0])); if x vector(p[s dep (c)][0]) then if d = τ dep (P[s dep (c)][0]) then vector(p[s dep (c)][0]) x; else Füge (d, x) am Anfang von P[s dep (c)] ein; Folie Juli 2017
18 Umstiege Pareto-optimieren Vektor v der Länge n hat die Komponenten: (v 1, v 2... v n ) Journeys werden gefunden bis maximal n Mal einsteigen Bis zu n 1 Umstiege Vektorlänge in der Regel 8 7 Umstiege ist für die meisten Anwendungen gut genug Folie Juli 2017
19 Umstiege Pareto-optimieren Vektor v der Länge n hat die Komponenten: (v 1, v 2... v n ) Journeys werden gefunden bis maximal n Mal einsteigen Bis zu n 1 Umstiege Vektorlänge in der Regel 8 7 Umstiege ist für die meisten Anwendungen gut genug Folie Juli 2017
20 Umstiege Pareto-optimieren Beobachtung: Man kann die Shift-Operation so modifizieren, dass v n die früheste Ankunftszeit ohne beschränkte Umstiege ist. Die Bedeutung von v i für i < n bleibt erhalten: höchstens i Ausstiege Ist in manchen Anwendungen nützlich Modifiziertes Shift Eingabe: (x 1, x 2, x 3, x 4, x 5, x 6, x 7, x 8 ) Ausgabe: (, x 1, x 2, x 3, x 5, x 6, min{x 7, x 8 }) Folie Juli 2017
21 Zeit Kompression Problem: Algorithmus ist memory-bound Der Speicher ist fast vollständig mit Ankunftszeiten gefüllt Komprimiere Ankunftszeiten Beobachtung: Nicht zu jedem Zeitpunkt fährt ein Zug Idee: Berechne für jeden Stop ein geordnetes Array von Zeitpunkten t 0, t 1,..., t n an denen ein Zug abfährt oder ankommt Indizes respektieren die zeitliche Ordnung, d.h., t i < t j Indizes passen oft in 16 Bit Kopiere Indizes anstatt von Zeitpunkten Fußwege Nicht triviale Interaktion mit Fußwegen (nicht in der Vorlesung) i < j Folie Juli 2017
22 Zeit Kompression Problem: Algorithmus ist memory-bound Der Speicher ist fast vollständig mit Ankunftszeiten gefüllt Komprimiere Ankunftszeiten Beobachtung: Nicht zu jedem Zeitpunkt fährt ein Zug Idee: Berechne für jeden Stop ein geordnetes Array von Zeitpunkten t 0, t 1,..., t n an denen ein Zug abfährt oder ankommt Indizes respektieren die zeitliche Ordnung, d.h., t i < t j Indizes passen oft in 16 Bit Kopiere Indizes anstatt von Zeitpunkten Fußwege Nicht triviale Interaktion mit Fußwegen (nicht in der Vorlesung) i < j Folie Juli 2017
23 Pfadendpackung Option 1: Speichere an jeder Ankunftszeit den ersten Trip der Journey Entpacke Journeys rekursiv Option 2: Nutze zusätzlichen vorwärts CSA (gestartet bei source) Benutze Profile um frühzeitig zu prunen Kann genutzt werden um eine Journey zu finden Kann auch genutzt werden um alle optimalen Journeys zu finden Folie Juli 2017
24 Pfadendpackung Option 1: Speichere an jeder Ankunftszeit den ersten Trip der Journey Entpacke Journeys rekursiv Option 2: Nutze zusätzlichen vorwärts CSA (gestartet bei source) Benutze Profile um frühzeitig zu prunen Kann genutzt werden um eine Journey zu finden Kann auch genutzt werden um alle optimalen Journeys zu finden Folie Juli 2017
25 Laufzeiten Instanz: London mit Connections Laufzeiten (Earliest Arrival Queries): Früheste Ankunft One-to-One: Time-Expanded Graph: Time-Dependent Graph: Connection Scan: Früheste Ankunft One-to-All: Time-Expanded Graph: Time-Dependent Graph: Connection Scan: 64.4 ms 10.9 ms 2.0 ms ms 18.9 ms 9.7 ms Folie Juli 2017
26 Laufzeiten Laufzeiten (Profile Queries): Non-Pareto Profil All-to-One: Self-Pruning-Connection-Setting : ms Connection Scan: 177 ms + constant eval: 134 ms + time compress: 104 ms Pareto Profil All-to-One (max. 8 Züge pro Journey): RAPTOR : ms Connection Scan: 255 ms + SSE: 221 ms Folie Juli 2017
27 Unbeschränktes Laufen Folie Juli 2017
28 Fußwegegraphen Bisher: Effiziente Algorithmen Eingeschränkte Modelle für Laufen Einschränkungen: RAPTOR CSA Trip-Based Routing Transfer Patterns PTL MEAT Transitiv abgeschlossen Transitiv abgeschlossen Transitiv abgeschlossen Max. 400 m Specified by PT-network Kein laufen möglich Folie Juli 2017
29 Fußwegegraphen Argumente für Einschränkung: Laufen lohnt sich nie Laufen vom Nutzer unerwünscht Laufen in der Praxis nicht relevant Aber: Relevanz nie bewiesen/widerlegt Algorithmus sollte über Relevanz entscheiden Folie Juli 2017
30 Transitiver Abschluss Frage: Wie lang kann man maximal laufen? Ansatz: Starte mit vollständigem Fußweggraphen Wähle maximale Laufzeit τ Verbinde Stops Laufdistanz τ Bilde transitiven Abschluss des resultierenden Graphen Wie groß wird dieser Graph? Folie Juli 2017
31 Transitiver Abschluss Größe des transitiven Abschlusses: 28k Switzerland k Germany k k k k k k k k k k k k Maximum walking time [min] Maximum walking time [min] Connected components Isolated stops Max. component size # Edges Folie Juli 2017
32 Auswirkung des Fußwegegraphen Frage: Wie wirkt sich ein größerer Fußwegegraph aus? Ansatz: Vergleiche Reisezeiten in typischen Netzwerken Nur Fußwege die im Public Transit Network spezifiziert sind Transitiv abgeschlossener Fußwegegraph Vollständiger Fußwegegraph PT network Footpaths Stops Vertices Edges Connections Max. deg. Switzerland original partial complete Germany original partial complete Folie Juli 2017
33 Vergleich der Reisezeiten 12h Switzerland: Original vs. Complete Mean τ t complete τ t median τ t > 0h Mean τ t orig./part. τ t IQR τ t > 1h 100% 9h 75% 6h 50% 3h 25% 0h 0% 0:00 6:00 12:00 18:00 24:00 Departure time 24h Profile zwischen 100 Zufälligen Stops (Distance Rank 16) Vergleiche Reisezeiten & Anteil suboptimaler Journeys Folie Juli 2017
34 Vergleich der Reisezeiten 12h Switzerland: Partial vs. Complete Mean τ t complete τ t median τ t > 0h Mean τ t orig./part. τ t IQR τ t > 1h 100% 9h 75% 6h 50% 3h 25% 0h 0% 0:00 6:00 12:00 18:00 24:00 Departure time 24h Profile zwischen 100 Zufälligen Stops (Distance Rank 16) Vergleiche Reisezeiten & Anteil suboptimaler Journeys Folie Juli 2017
35 Vergleich der Reisezeiten 12h Germany: Original vs. Complete Mean τ t complete τ t median τ t > 0h Mean τ t orig./part. τ t IQR τ t > 1h 100% 9h 75% 6h 50% 3h 25% 0h 0% 0:00 6:00 12:00 18:00 24:00 Departure time 24h Profile zwischen 100 Zufälligen Stops (Distance Rank 16) Vergleiche Reisezeiten & Anteil suboptimaler Journeys Folie Juli 2017
36 Vergleich der Reisezeiten 12h Germany: Partial vs. Complete Mean τ t complete τ t median τ t > 0h Mean τ t orig./part. τ t IQR τ t > 1h 100% 9h 75% 6h 50% 3h 25% 0h 0% 0:00 6:00 12:00 18:00 24:00 Departure time 24h Profile zwischen 100 Zufälligen Stops (Distance Rank 16) Vergleiche Reisezeiten & Anteil suboptimaler Journeys Folie Juli 2017
37 Verkehrsumlegung Folie Juli 2017
38 Verkehrsumlegung Gegeben: Öffentliches Verkehrsnetz Liste mit erwarteter Nachfrage (Tupel aus: Startknoten, Zielknoten, Abfahrtszeit) Gesucht: Auslastung der Fahrzeuge Anwendung: Planung von neuen Linien Optimierung von Umleitungen Folie Juli 2017
39 Verkehrsumlegung Gegeben: Öffentliches Verkehrsnetz Liste mit erwarteter Nachfrage (Tupel aus: Startknoten, Zielknoten, Abfahrtszeit) Gesucht: Auslastung der Fahrzeuge Anwendung: Planung von neuen Linien Optimierung von Umleitungen Folie Juli 2017
40 Verkehrsumlegung Ansatz: Weise jedem Passagier (aus Nachfrage) eine Journey zu Algorithmus basiert auf CSA Aber: Verhalten der Passagiere nicht immer eindeutig Erlaube suboptimale Journeys Erlaube mehrere (Anteilig) Journeys pro Passagier Folie Juli 2017
41 Verkehrsumlegung Ansatz: Weise jedem Passagier (aus Nachfrage) eine Journey zu Algorithmus basiert auf CSA Aber: Verhalten der Passagiere nicht immer eindeutig Erlaube suboptimale Journeys Erlaube mehrere (Anteilig) Journeys pro Passagier Folie Juli 2017
42 Gefühlte Ankunftszeit (PAT) Idee: PAT für eine Connection c und Zielstop d Misst wie nützlich c ist um d zu erreichen Berücksichtigt vier Parameter: Umstiegskosten λ trans Wartekosten λ wait Laufkosten λ walk Maximale erwartete Verspätung max τ Annahme: Passagiere versuchen die PAT zu minimieren Folie Juli 2017
43 Gefühlte Ankunftszeit (PAT) Formale Definition: τ p arr (c, c, d) := τ p trans (c, c )+τ p wait (c, c )+τ p arr (c, d) { τ p arr (c, d walk) := τ arr (c) τ arr (c) + λ walk τ trans (varr(c), d) if varr(c) = d otherwise T (c) := {c C trip(c ) = trip(c) τ dep (c ) τ arr (c)} { τ p arr (c, d trip) := min{τ p arr (c, d) c T (c)} if T (c) otherwise τ p arr (c, c, d) := τ p trans (c, c )+τ p wait (c, c )+τ p arr (c, d) R(c) := {c C τ wait (c, c ) 0} R opt (c) := {c R(c) c R(c) : τ wait (c, c) τ wait (c, c ) τ p arr (c, c, d) τp arr (c, c, d)} c1,..., c k with i [1, k] : ci R opt (c) i [2, k] : τ wait (c, c i ) τ wait (c, c i 1 ) { τ c wait (i) := τ wait (c, c i ) if i [1, k] otherwise k τ p P[τc wait (i 1) < c τ τc wait (i)] arr (c, d trans) := i=1 P[ c τ p τ τc wait (k)] arr (c, c i, d) if k > 0 otherwise Folie Juli 2017
44 Beispiel PAT Berechnung Beispiel: λ walk = 3, λ wait = 2, λ trans = 5 min Connection c 4 c 3 c 2 c 1 PAT c 2: 9:40 10:30 c 4: 10:32 11:00 c 1: 9:00 5 min 9:30 c 3: 10:10 10:40 10 min destination 15 min Folie Juli 2017
45 Beispiel PAT Berechnung Beispiel: λ walk = 3, λ wait = 2, λ trans = 5 min Fall 1: Connection c erreicht Zielc PAT = arrival time τ arr (c)c Connection PAT c 4 11:00 c 3 c 2 c 1 c 2: 9:40 10:30 c 4: 10:32 11:00 c 1: 9:00 5 min 9:30 c 3: 10:10 10:40 10 min destination 15 min Folie Juli 2017
46 Beispiel PAT Berechnung Beispiel: λ walk = 3, λ wait = 2, λ trans = 5 min Fall 2: Lauf von Connection c zum Zielc PAT = τ arr (c) + (λ walk τ walking )c Connection PAT c 4 11:00 c 3 11:10 c 2 c 1 c 2: 9:40 10:30 c 4: 10:32 11:00 c 1: 9:00 5 min 9:30 15 min c 3: 10:10 10:40 10 min 10: = 11:10 destination Folie Juli 2017
47 Beispiel PAT Berechnung Beispiel: λ walk = 3, λ wait = 2, λ trans = 5 min Fall 3: Weiterfahren mit Con. c (gleicher Trip) PAT = PAT c Connection PAT c 4 11:00 c 3 11:10 c 2 11:00 c 1 c 2: 9:40 10:30 c 4: 10:32 11:00 c 1: 9:00 5 min 9:30 c 3: 10:10 10:40 10 min destination 15 min Folie Juli 2017
48 Beispiel PAT Berechnung Beispiel: λ walk = 3, λ wait = 2, λ trans = 5 min Fall 4: Weiterfahren mit Con. c (anderer Trip) o i = PAT c + λ trans + λ walk τ walking + λ wait τ waiting Connection PAT c 4 11:00 c 3 11:10 c 2 11:00 c 1 c 2: 9:40 o 1 : 11: = 11:30 10:30 c 4: 10:32 11:00 c 1: 9:00 5 min 9:30 15 min c 3: 10:10 10:40 10 min destination o 2 : 11: = 12:50 Folie Juli 2017
49 Beispiel PAT Berechnung Beispiel: λ walk = 3, λ wait = 2, λ trans = 5 min Fall 4: Weiterfahren mit Con. c (anderer Trip) Connection PAT c 4 11:00 c 3 11:10 c 2 11:00 c 1 c 2: 9:40 o 1 : 11: = 11:30 10:30 c 4: 10:32 11:00 c 1: 9:00 5 min 9:30 15 min c 3: 10:10 10:40 10 min destination o 2 : 11: = 12:50 Folie Juli 2017
50 Beispiel PAT Berechnung Beispiel: λ walk = 3, λ wait = 2, λ trans = 5 min Fall 4: Weiterfahren mit einer Option o i c PAT = ( ) transfer probability(oi ) o i i Connection PAT c 4 11:00 c 3 11:10 c 2 11:00 c 1 P[1] o 1 + (P[2] - P[1]) o 2 c 2: 9:40 o 1 : 11: = 11:30 10:30 c 4: 10:32 11:00 c 1: 9:00 5 min P = 50% 9:30 c 3: 10:10 10:40 10 min destination 15 min P = 100% o 2: 11: = 12:50 Folie Juli 2017
51 Beispiel PAT Berechnung Beispiel: λ walk = 3, λ wait = 2, λ trans = 5 min Fall 4: Weiterfahren mit einer Option o i c PAT = ( ) transfer probability(oi ) o i i Connection PAT c 4 11:00 c 3 11:10 c 2 11:00 c 1 12: : :50 = 12:10 c 2: 9:40 o 1 : 11: = 11:30 10:30 c 4: 10:32 11:00 c 1: 9:00 5 min P = 50% 9:30 c 3: 10:10 10:40 10 min destination o 2 : 11: = 12:50 15 min P = 100% Folie Juli 2017
52 Umlegungsalgorithmus Ansatz: Simuliere Bewegung der Passagiere im Netzwerk Entscheide pro Connection c, wer c benutzt Passagiere mit selbem Ziel werden sich treffen Müssen die selben Entscheidungen treffen Algorithmus profitiert von Synergieeffekten Folie Juli 2017
53 Umlegungsalgorithmus Ansatz: Simuliere Bewegung der Passagiere im Netzwerk Entscheide pro Connection c, wer c benutzt Passagiere mit selbem Ziel werden sich treffen Müssen die selben Entscheidungen treffen Algorithmus profitiert von Synergieeffekten Überblick: Sortiere Passagiere nach Zielstop Berechne Umlegung pro Zielstop in 3 Schritten: Berechne PATs für jede Connection Simuliere Bewegung der Passagiere basierend auf PATs Entferne überflüssige Kreise aus Journeys (optional) Folie Juli 2017
54 Beispiel Umlegungsberechnung Bearbeite Connections chronologisch (nach Abfahrtszeit) Entscheide welche Passagiere die Connection benutzen c 1: 9:00 9:30 11:30 5 min 15 min c 2: c 3: 9:40 9:35 10:30 11:00 10:30 11:30 c 4: 10:10 10:40 11:10 Time: 0:00 1 min c 5: 10:32 11:00 11:00 10 min destination Folie Juli 2017
55 Beispiel Umlegungsberechnung Bearbeite Connections chronologisch (nach Abfahrtszeit) Entscheide welche Passagiere die Connection benutzen 1. Erzeuge Passagiere entsprechend der Nachfrage c 1: 9:00 9:30 11:30 5 min 15 min c 2: c 3: 9:40 9:35 10:30 11:00 10:30 11:30 c 4: 10:10 10:40 11:10 Time: 9:00 1 min c 5: 10:32 11:00 11:00 10 min destination Folie Juli 2017
56 Beispiel Umlegungsberechnung Bearbeite Connections chronologisch (nach Abfahrtszeit) Entscheide welche Passagiere die Connection benutzen 2. Entscheide welche Passagiere einsteigen c 1: 9:00 9:30 11:30 5 min 15 min c 2: c 3: 9:40 9:35 10:30 11:00 10:30 11:30 c 4: 10:10 10:40 11:10 Time: 9:00 1 min c 5: 10:32 11:00 11:00 10 min destination Folie Juli 2017
57 Beispiel Umlegungsberechnung Bearbeite Connections chronologisch (nach Abfahrtszeit) Entscheide welche Passagiere die Connection benutzen 3. Entscheide welche Passagiere aussteigen c 1: 9:00 9:30 11:30 5 min 15 min c 2: c 3: 9:40 9:35 10:30 11:00 10:30 11:30 c 4: 10:10 10:40 11:10 Time: 9:00 1 min c 5: 10:32 11:00 11:00 10 min destination Folie Juli 2017
58 Beispiel Umlegungsberechnung Bearbeite Connections chronologisch (nach Abfahrtszeit) Entscheide welche Passagiere die Connection benutzen 4. Verschiebe ausgestiegene Passagiere zum nächsten Stop c 1: 9:00 9:30 11:30 5 min 15 min c 2: c 3: 9:40 9:35 10:30 11:00 10:30 11:30 c 4: 10:10 10:40 11:10 Time: 9:00 1 min c 5: 10:32 11:00 11:00 10 min destination Folie Juli 2017
59 Beispiel Umlegungsberechnung Bearbeite Connections chronologisch (nach Abfahrtszeit) Entscheide welche Passagiere die Connection benutzen 1. Erzeuge Passagiere entsprechend der Nachfrage c 1: 9:00 9:30 11:30 5 min 15 min c 2: c 3: 9:40 9:35 10:30 11:00 10:30 11:30 c 4: 10:10 10:40 11:10 Time: 9:35 1 min c 5: 10:32 11:00 11:00 10 min destination Folie Juli 2017
60 Beispiel Umlegungsberechnung Bearbeite Connections chronologisch (nach Abfahrtszeit) Entscheide welche Passagiere die Connection benutzen 2. Entscheide welche Passagiere einsteigen c 1: 9:00 9:30 11:30 5 min 15 min c 2: c 3: 9:40 9:35 10:30 11:00 10:30 11:30 c 4: 10:10 10:40 11:10 Time: 9:35 1 min c 5: 10:32 11:00 11:00 10 min destination Folie Juli 2017
61 Beispiel Umlegungsberechnung Bearbeite Connections chronologisch (nach Abfahrtszeit) Entscheide welche Passagiere die Connection benutzen 3. Entscheide welche Passagiere aussteigen c 1: 9:00 9:30 11:30 5 min 15 min c 2: c 3: 9:40 9:35 10:30 11:00 10:30 11:30 c 4: 10:10 10:40 11:10 Time: 9:35 1 min c 5: 10:32 11:00 11:00 10 min destination Folie Juli 2017
62 Beispiel Umlegungsberechnung Bearbeite Connections chronologisch (nach Abfahrtszeit) Entscheide welche Passagiere die Connection benutzen 4. Verschiebe ausgestiegene Passagiere zum nächsten Stop c 1: 9:00 9:30 11:30 5 min 15 min c 2: c 3: 9:40 9:35 10:30 11:00 10:30 11:30 c 4: 10:10 10:40 11:10 Time: 9:35 1 min c 5: 10:32 11:00 11:00 10 min destination Folie Juli 2017
63 Beispiel Umlegungsberechnung Bearbeite Connections chronologisch (nach Abfahrtszeit) Entscheide welche Passagiere die Connection benutzen 1. Erzeuge Passagiere entsprechend der Nachfrage c 1: 9:00 9:30 11:30 5 min 15 min c 2: c 3: 9:40 9:35 10:30 11:00 10:30 11:30 c 4: 10:10 10:40 11:10 Time: 9:40 1 min c 5: 10:32 11:00 11:00 10 min destination Folie Juli 2017
64 Beispiel Umlegungsberechnung Bearbeite Connections chronologisch (nach Abfahrtszeit) Entscheide welche Passagiere die Connection benutzen 2. Entscheide welche Passagiere einsteigen c 1: 9:00 9:30 11:30 5 min 15 min c 2: c 3: 9:40 9:35 10:30 11:00 10:30 11:30 c 4: 10:10 10:40 11:10 Time: 9:40 1 min c 5: 10:32 11:00 11:00 10 min destination Folie Juli 2017
65 Beispiel Umlegungsberechnung Bearbeite Connections chronologisch (nach Abfahrtszeit) Entscheide welche Passagiere die Connection benutzen c 1: 9:00 9:30 11:30 5 min 15 min c 2: c 3: 9:40 9:35 10:30 11:00 10:30 11:30 c 4: 10:10 10:40 11:10 Time: 9:40 1 min c 5: 10:32 11:00 11:00 10 min destination Folie Juli 2017
66 Umlegungsberechnung Übersicht generate passengers from demand reached destination? arriving at stop yes exit vehicle at next stop no yes no transfer to another stop? no sitting in vehicle yes no board next vehicle? yes demand satisfied yes reached destination? no waiting at stop Folie Juli 2017
67 Entscheidungsmodell Ziel: Entscheidet welche Connection ein Passagier nimmt Hängt von der Verspätungstoleranz λ max des Passagieres ab Folie Juli 2017
68 Entscheidungsmodell Ziel: Entscheidet welche Connection ein Passagier nimmt Hängt von der Verspätungstoleranz λ max des Passagieres ab Definition: Gegeben sind die Optionen o 1,..., o k und ihre PATs Bestimme den Nutzen g(i) jeder Option: g(i) := max ( ) 0, min(pat (o j )) PAT (o i ) + λ max j i Die Wahrscheinlichkeit P[i], dass ein Passagier Option i wählt, ist: g(i) P[i] := k j=1 g(j) Folie Juli 2017
69 Kreise Kreis Definition: Den selben Stop mehrfach besuchen Umlegungen mit Kreisen können unerwünscht sein Eine Journey mit Kreisen kann optimal bezüglich PAT sein Hohe Wartekosten können zu Kreisen führen Folie Juli 2017
70 Kreise Kreis Definition: Den selben Stop mehrfach besuchen Umlegungen mit Kreisen können unerwünscht sein Eine Journey mit Kreisen kann optimal bezüglich PAT sein Hohe Wartekosten können zu Kreisen führen destination origin 9:00 9:20 10:21 10:40 9:21 9:33 10:08 10:20 9:35 9:40 10:01 10:06 9:41 9:50 9:51 10:00 Folie Juli 2017
71 Kreise Kreis Definition: Den selben Stop mehrfach besuchen Umlegungen mit Kreisen können unerwünscht sein Eine Journey mit Kreisen kann optimal bezüglich PAT sein Hohe Wartekosten können zu Kreisen führen destination 8:21 8:30 destination origin 9:00 9:20 10:21 10:40 9:21 9:33 10:08 10:20 9:35 9:40 10:01 10:06 9:41 9:50 9:51 10:00 origin 9:21 9:30 9:40 10:00 9:02 9:20 8:35 9:00 Folie Juli 2017
72 Auswertung Instanzen: Großraum Stuttgart Enthält auch Frankfurt, Basel und München Beschreibt den Verkehr eines Tages Anzahl Knoten Anzahl Stops Anzahl Kanten Anzahl Kanten ohne Schlaufen Anzahl Connections Anzahl Trips Anzahl Passagiere Folie Juli 2017
73 Auswertung Laufzeiten Benutzte Parameter: Laufkosten λ walk = 2 Wartekosten λ wait = 0.5 Umstiegskosten λ trans = 5 min Verspätungstoleranz λ max = 5 min Maximale erwartete Verspätung max τ = 1 min Laufzeitvergleich: Laufzeit VISUM 30 min (mit 8 Threads) PAT basierte Umlegung: (mit passenger multiplier = 10) Anzahl Threads Laufzeit [sec] Folie Juli 2017
74 Auswertung Laufzeiten Laufzeit [sec] 600 Total Assignment Cycle Elimination PAT Setup Passenger Multiplier Folie Juli 2017
75 Auswertung Umlegungsqualität Beide Umlegungen sind sehr ähnlich VISUM berechnet etwas kürzere Fahrzeiten PAT basierter Algorithmus berechnet Journeys mit weniger Umstiegen VISUM PAT basierter Algorithmus Eingenschaft min mean max min mean max Reisezeit [min] Zeit im Fahrzeug [min] Laufzeit [min] Wartezeit [min] Züge pro Passagier Connections pro Passagier Passagiere pro Connection Folie Juli 2017
Algorithmen für Routenplanung
Algorithmen für Routenplanung 21. Vorlesung, Sommersemester 2018 Tobias Zündorf 18. Juli 2018 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
Connection Scan. Julian Dibbelt, Thomas Pajor, Ben Strasser, Dorothea Wagner
Connection Scan Julian Dibbelt, Thomas Pajor, Ben Strasser, Dorothea Wagner 20.4.2016 I NSTITUT F U R T HEORETISCHE I NFORMATIK A LGORITHMIK P ROF. D R. D OROTHEA WAGNER KIT Universita t des Landes Baden-Wu
Algorithmen II Vorlesung am
Algorithmen II Vorlesung am 07..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
Algorithmen für Routenplanung 8. Sitzung, Sommersemester 2012 Thomas Pajor 21. Mai 2012
Algorithmen für Routenplanung 8. Sitzung, Sommersemester 2012 Thomas Pajor INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und nationales
Algorithmen II Vorlesung am
Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
Algorithmen für Routenplanung 7. Sitzung, Sommersemester 2010 Thomas Pajor 28. Mai 2010
Algorithmen für Routenplanung 7. Sitzung, Sommersemester 2010 Thomas Pajor 28. Mai 2010 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2010 Thomas Pajor 28. Juni 2010
Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2010 Thomas Paor 28. Juni 2010 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT University of the State of Baden-Wuerttemberg
2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung
2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0
Algorithmen für Routenplanung 19. Vorlesung, Sommersemester 2016 Ben Strasser 6. Juli 2016
Algorithmen für Routenplanung 19. Vorlesung, Sommersemester 2016 Ben Strasser 6. Juli 2016 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
Algorithmen für Routenplanung 13. Sitzung, Sommersemester 2011 Reinhard Bauer, Thomas Pajor 9. Juni 2011
Algorithmen für Routenplanung 13. Sitzung, Sommersemester 2011 Reinhard Bauer, Thomas Paor 9. Juni 2011 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität des
Informatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 20 (23.7.2014) All Pairs Shortest Paths, String Matching (Textsuche) Algorithmen und Komplexität Vorlesungsevaluation Sie sollten alle eine
Algorithmen für Routenplanung
Algorithmen für Routenplanung 15. Sitzung, Sommersemester 2011 Thomas Pajor 20. Juni 2011 I NSTITUT FÜR T HEORETISCHE I NFORMATIK A LGORITHMIK I P ROF. D R. D OROTHEA WAGNER KIT Universität des Landes
Umlegeverfahren für öffentliche Verkehrsnetze mittels minimal erwarteter Ankunftszeit
Umlegeverfahren für öffentliche Verkehrsnetze mittels minimal erwarteter Ankunftszeit Bachelorarbeit von Holger Ebhart An der Fakultät für Informatik Institut für Theoretische Informatik Erstgutachter:
Lernmodul 7 Algorithmus von Dijkstra
Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer
9. Rekursion. 1 falls n 1 n (n 1)!, andernfalls. Experiment: Die Türme von Hanoi. Links Mitte Rechts. Mathematische Rekursion
Experiment: Die Türme von Hanoi. Rekursion Mathematische Rekursion, Terminierung, der Aufrufstapel, Beispiele, Rekursion vs. Iteration Links Mitte Rechts Mathematische Rekursion Viele mathematische Funktionen
Vorlesung Datenstrukturen
Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine
Informatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 21 (11.7.2018) String Matching (Textsuche) II Greedy Algorithmen I Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei
Wann sind Codes eindeutig entschlüsselbar?
Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C
Maximale s t-flüsse in Planaren Graphen
Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen 6. Juni 2017 Guido Brückner INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /
Effizienter Planaritätstest Vorlesung am
Effizienter Planaritätstest Vorlesung am 23.04.2014 INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER Satz Gegebenen einen Graphen G = (V, E) mit n Kanten und m Knoten, kann in O(n + m) Zeit
Algorithmen II Vorlesung am
Algorithmen II Vorlesung am 03.12.2013 Algorithmische Geometrie: Schnitte von Strecken Sweep-Line INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
Algorithmen II Vorlesung am
Algorithmen II Vorlesung am 17.01.013 Parametrisierte Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
ÖV-Routing in GraphHopper. Michael Zilske
ÖV-Routing in GraphHopper Michael Zilske Post-Dijkstra Transit Routing RAPTOR (Delling, Pajor, Werneck, 2012) Connection Scan (Dibbelt, Pajor, Strasser, Wagner, 2013) Verwenden keinen Haltestellengraphen,
10. Übung Algorithmen I
INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Bäume
Algorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
Algorithmen II Vorlesung am
Algorithmen II Vorlesung am..03 Randomisierte Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2011 Reinhard Bauer, Thomas Pajor 6. Juni 2011
Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2011 Reinhard Bauer, Thomas Pajor 6. Juni 2011 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität des
Algorithmen I - Tutorium 28 Nr. 11
Algorithmen I - Tutorium 28 Nr. 11 13.07.2017: Spaß mit Schnitten, Kreisen und minimalen Spannbäumen Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR.
Algorithmen für Routenplanung Vorlesung 12
Algorithmen für Routenplanung Vorlesung 12 Daniel Delling 1/ 33 Letztes Mal: Multikriterielle Wege Szenario: schnellste Verbindung häufig nicht die Beste Anzahl Umstiege, Fahrtkosten, Distanz, etc. multikriterielle
Algorithmen für Routenplanung 7. Vorlesung, Sommersemester 2012 Daniel Delling 16. Mai 2012
Algorithmen für Routenplanung 7. Vorlesung, Sommersemester 01 Daniel Delling MICROSOFT RESEARCH SILICON VALLEY KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft
Praktikum Routenplanung
Praktikum Routenplanung Themenvorstellung & Gruppeneinteilung, Wintersemester 2018/2019 Valentin Buchhold, Jonas Sauer, Tim Zeitz, Tobias Zündorf 21. November 2018 INSTITUT FÜR THEORETISCHE INFORMATIK
Fortgeschrittene Routenplanung. Transportnetzen. Advanced Route Planning in Transportation Networks
Fortgeschrittene Routenplanung in Transportnetzen Advanced Route Planning in Transportation Networks Dissertationsvortrag von Dipl.-Inform. Robert Geisberger 1 KIT Robert Universität Geisberger: des Landes
Algorithmen I - Tutorium 28 Nr. 3
Algorithmen I - Tutorium 28 Nr. 3 18.05.2016: Spaß mit Listen, Arrays und amortisierter Analyse Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN
Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle
119 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 120 Das Suchproblem Gegeben
Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array
Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 25. Vorlesung Dynamisches Programmieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Klausurvorbereitung Tipp: Schreiben Sie sich alle Fragen
8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.
8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.
Algorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg
Algorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
Online Algorithmen. Online Kürzeste Wege Probleme. Online Algorithmen Kompetitivität
Online Algorithmen Wiederholung Eigenschaften von Online Algorithmen Unvollständige (Vorab-)Information Sequentielle Anfragen Abarbeitung der aktuellen Anfragen ohne Information über zukünftige Anfragen
Algorithmentechnik - U bung 3 4. Sitzung Tanja Hartmann 03. Dezember 2009
Algorithmentechnik - U bung 3 4. Sitzung Tanja Hartmann 03. Dezember 2009 I NSTITUT F U R T HEORETISCHE I NFORMATIK, P ROF. D R. D OROTHEA WAGNER KIT Universita t des Landes Baden-Wu rttemberg und nationales
Softwareprojektpraktikum Maschinelle Übersetzung
Softwareprojektpraktikum Maschinelle Übersetzung Jan-Thorsten Peter, Andreas Guta, Jan Rosendahl max.bleu@i6.informatik.rwth-aachen.de Vorbesprechung 5. Aufgabe 22. Juni 2017 Human Language Technology
Informatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative
Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array
Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge von Datensätzen. Beispiele
Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 29.05.2011 Das Postamt-Problem b(p, q) = {x R 2 : xp = xq } p q h(p, q) h(q, p) = {x :
Übung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda Amortisierte Analyse Suche in sortierten Arrays Heaps Vorstellen des fünften Übungsblatts
Algorithmen für Routenplanung 2. Sitzung, Sommersemester 2010 Thomas Pajor 26. April 2010
Algorithmen für Routenplanung 2. Sitzung, Sommersemester 2010 Thomas Pajor 26. April 2010 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle
122 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 123 Das Suchproblem Gegeben Menge von Datensätzen.
Fortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester
Praktikum Routenplanung
Praktikum Routenplanung Themenvorstellung & Gruppeneinteilung, Wintersemester 2017/2018 Moritz Baum, Valentin Buchhold, Tim Zeitz, Tobias Zündorf 22. November 2017 INSTITUT FÜR THEORETISCHE INFORMATIK
Algorithmen für Planare Graphen
Algorithmen für Planare Graphen 12. Juni 2018, Übung 4 Lars Gottesbüren, Michael Hamann INSTITUT FÜR THEORETISCHE INFORMATIK KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Prüfungstermine
Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme
Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien
11. Übung Algorithmen I
Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Theoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK
Theoretische Grundlagen der Informatik 0 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Letzte Vorlesung Eine
Routing in Nahverkehrsnetzen
Routing in Nahverkehrsnetzen Daniel Friesel derf@chaosdorf.de @derfnull CCC Düsseldorf / Chaosdorf 12. Juni 2015 Einleitung Es gibt diverse Routingdienste 1 / 11 Einleitung Es gibt diverse Routingdienste
Viertes Übungsblatt - Musterlösung
Universität Karlsruhe Algorithmen für Routenplanung Fakultät für Informatik Sommersemester 2009 ITI Wagner Daniel Delling, Thomas Pajor Viertes Übungsblatt - Musterlösung Aufgabe 1: SHARC-Routing Gegeben
Algorithmen I - Tutorium 28 Nr. 7
Algorithmen I - Tutorium 28 Nr. 7 14.07.2016: Spaß mit Heaps und weiteren Baeumen Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN MÜLLER-QUADE KIT
Kap. 3: Sortieren (3)
Kap. 3: Sortieren (3) Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund 6. VO DAP2 SS 2009 30. April 2009 Überblick Quick-Sort Analyse von Quick-Sort Quick-Sort
Kombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 4 Programm des
Relationen und DAGs, starker Zusammenhang
Relationen und DAGs, starker Zusammenhang Anmerkung: Sei D = (V, E). Dann ist A V V eine Relation auf V. Sei andererseits R S S eine Relation auf S. Dann definiert D = (S, R) einen DAG. D.h. DAGs sind
Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7
Technische Universität München WS 2012 Institut für Informatik Prof. Dr. H.-J. Bungartz Prof. Dr. T. Huckle Prof. Dr. M. Bader Kristof Unterweger Perlen der Informatik I Wintersemester 2012 Aufgabenblatt
Algorithmen für Routenplanung 15. Vorlesung, Sommersemester 2017 Tobias Zündorf 5. Juli 2017
Algorithmen für Routenplanung 5. Vorlesung, Sommersemester 7 Tobias Zündorf 5. Juli 7 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
Übung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Vorrechnen von Aufgabenblatt 1. Wohlgeformte Klammerausdrücke 3. Teile und Herrsche Agenda 1.
Informatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 10 (27.5.2016) Binäre Suchbäume II Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.06.2014 1 Das Postamt-Problem b(p, q) = {x 2 R 2 : xp = xq } p q h(p, q) h(q, p) = {x
Informatik II, SS 2016
Informatik II - SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 2 (22.4.2016) Sortieren II Algorithmen und Komplexität SelectionSort: Programm Schreiben wir doch das gleich mal als Java/C++ - Programm
Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2014 Prof. Christos Zaroliagis 26. Mai 2014
Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2014 Prof. Christos Zaroliagis 26. Mai 2014 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes
Algorithmen für Routenplanung 11. Sitzung, Sommersemester 2013 Julian Dibbelt 10. Juni 2013
Algorithmen für Routenplanung 11. Sitzung, Sommersemester 2013 Julian Dibbelt 10. Juni 2013 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
Algorithmen II Vorlesung am
Algorithmen II Vorlesung am 31.01.2013 Algorithmen für externen Speicher INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
Teil III. Komplexitätstheorie
Teil III Komplexitätstheorie 125 / 160 Übersicht Die Klassen P und NP Die Klasse P Die Klassen NP NP-Vollständigkeit NP-Vollständige Probleme Weitere NP-vollständige Probleme 127 / 160 Die Klasse P Ein
Algorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
Algorithmen I - Tutorium 28 Nr. 2
Algorithmen I - Tutorium 28 Nr. 2 11.05.2017: Spaß mit Invarianten (die Zweite), Rekurrenzen / Mastertheorem und Merging Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen WS 08/09 Friedhelm Meyer auf der Heide Vorlesung 11, 18.11.08 Friedhelm Meyer auf der Heide 1 Randomisierte Algorithmen Friedhelm Meyer auf
Informatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 4 (30.4.2018) Sortieren IV Algorithmen und Komplexität Analyse Merge Sort Laufzeit T(n) setzt sich zusammen aus: Divide und Merge: O n
3. Übungsblatt zu Algorithmen I im SoSe 2017
Karlsruher Institut für Technologie Prof. Dr. Jörn Müller-Quade Institut für Theoretische Informatik Björn Kaidel, Sebastian Schlag, Sascha Witt 3. Übungsblatt zu Algorithmen I im SoSe 2017 http://crypto.iti.kit.edu/index.php?id=799
3. Übung Algorithmen I
INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Hashtabellen:
Informatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 20 (9.7.2018) String Matching (Textsuche) Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei Zeichenketten (Strings)
Algorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Die Forschungsuniversität Meyerhenke, in der Institut für Theoretische Informatik
Algorithmen I - Tutorium 28 Nr. 9
Algorithmen I - Tutorium 28 Nr. 9 29.06.2017: Spaß mit Graphen und Graphtraversierung Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN MÜLLER-QUADE
2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}
1. Berechne für jeden Knoten i in BFS-Art eine Liste S i von von i aus erreichbaren Knoten, so dass (i) oder (ii) gilt: (i) S i < n 2 + 1 und Si enthält alle von i aus erreichbaren Knoten (ii) S i = n
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 13.01.2011 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Algorithmische Methoden für schwere Optimierungsprobleme
Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund
Informatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein
Vorlesung Programmieren
Vorlesung Programmieren 11 Rekursion Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.1 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION
Algorithmen für Ad-hoc- und Sensornetze
Algorithmen für Ad-hoc- und Sensornetze Übung 6 Kommunikation und Färbungen im SINR Modell (basierend auf VL11) Fabian Fuchs 17. Jan. 2015 (Version 1) INSTITUT FÜR THEORETISCHE INFORMATIK - LEHRSTUHL FÜR
Algorithmen I - Tutorium 28 Nr. 6
Algorithmen I - Tutorium 28 Nr. 6 08.06.2017: Spaß mit Sortieren, Aufgaben und Wiederholung Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN MÜLLER-QUADE
Das Traveling Salesman Problem und das Assignment Problem zweiter Ordnung. Gerold Jäger
Das Traveling Salesman Problem und das Assignment Problem zweiter Ordnung Gerold Jäger Martin-Luther-Universität Halle-Wittenberg Zusammenarbeit mit Frank Fischer, Anja Lau, Paul Molitor DFG-Projekt: Toleranzbasierte
Polygontriangulierung
Vorlesung Algorithmische Geometrie Polygone triangulieren LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 26.04.2011 Das Kunstgalerie-Problem
8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.
8.4 Digraphen mit negativen Kantengewichten 8.4.1 Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0. k 4 5 1 s 1 3 2 C k 0 k 3 1 1 1 k 1 k 2 v Sollte ein Pfad von s nach C und
Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung
Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der
Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund
EINI LW/WiMa Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 12/13 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17
EINI LW/WiMa Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
3.2. Divide-and-Conquer-Methoden
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE 3.2. Divide-and-Conquer-Methoden Divide-and-Conquer-Methoden Einfache Sortieralgorithmen reduzieren die Größe des noch
Informatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 21 (29.7.2014) String Matching (Textsuche) II Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei Zeichenketten (Strings)