Algorithmen für Routenplanung

Größe: px
Ab Seite anzeigen:

Download "Algorithmen für Routenplanung"

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

Mehr

Connection Scan. Julian Dibbelt, Thomas Pajor, Ben Strasser, Dorothea Wagner

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

Mehr

Algorithmen II Vorlesung am

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

Mehr

Algorithmen für Routenplanung 8. Sitzung, Sommersemester 2012 Thomas Pajor 21. Mai 2012

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

Mehr

Algorithmen II Vorlesung am

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

Mehr

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

Mehr

Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2010 Thomas Pajor 28. Juni 2010

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

Mehr

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 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr

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

Mehr

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

Mehr

Informatik II, SS 2014

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

Mehr

Algorithmen für Routenplanung

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

Mehr

Umlegeverfahren für öffentliche Verkehrsnetze mittels minimal erwarteter Ankunftszeit

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:

Mehr

Lernmodul 7 Algorithmus von Dijkstra

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

Mehr

9. Rekursion. 1 falls n 1 n (n 1)!, andernfalls. Experiment: Die Türme von Hanoi. Links Mitte Rechts. Mathematische Rekursion

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

Mehr

Vorlesung Datenstrukturen

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

Mehr

Informatik II, SS 2018

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

Mehr

Wann sind Codes eindeutig entschlüsselbar?

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

Mehr

Maximale s t-flüsse in Planaren Graphen

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

Mehr

Algorithmen und Datenstrukturen

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 /

Mehr

Effizienter Planaritätstest Vorlesung am

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

Mehr

Algorithmen II Vorlesung am

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

Mehr

Algorithmen II Vorlesung am

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

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

ÖV-Routing in GraphHopper. Michael Zilske

Ö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,

Mehr

10. Übung Algorithmen I

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

Mehr

Algorithmische Methoden zur Netzwerkanalyse

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

Mehr

Algorithmen II Vorlesung am

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

Mehr

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

Mehr

Algorithmen I - Tutorium 28 Nr. 11

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.

Mehr

Algorithmen für Routenplanung Vorlesung 12

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

Mehr

Algorithmen für Routenplanung 7. Vorlesung, Sommersemester 2012 Daniel Delling 16. Mai 2012

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

Mehr

Praktikum Routenplanung

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

Mehr

Fortgeschrittene Routenplanung. Transportnetzen. Advanced Route Planning in Transportation Networks

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

Mehr

Algorithmen I - Tutorium 28 Nr. 3

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

Mehr

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

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

Mehr

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

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

Mehr

Algorithmen und Datenstrukturen

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

Mehr

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. 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.

Mehr

Algorithmen & Komplexität

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

Mehr

Algorithmische Methoden zur Netzwerkanalyse

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

Mehr

Online Algorithmen. Online Kürzeste Wege Probleme. Online Algorithmen Kompetitivität

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

Mehr

Algorithmentechnik - U bung 3 4. Sitzung Tanja Hartmann 03. Dezember 2009

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

Mehr

Softwareprojektpraktikum Maschinelle Übersetzung

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

Mehr

Informatik II, SS 2014

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

Mehr

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

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

Mehr

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

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 :

Mehr

Übung Algorithmen und Datenstrukturen

Ü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

Mehr

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

Mehr

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

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.

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

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

Mehr

Praktikum Routenplanung

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

Mehr

Algorithmen für Planare Graphen

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

Mehr

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

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

Mehr

11. Übung Algorithmen I

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

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

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

Mehr

Routing in Nahverkehrsnetzen

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

Mehr

Viertes Übungsblatt - Musterlösung

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

Mehr

Algorithmen I - Tutorium 28 Nr. 7

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

Mehr

Kap. 3: Sortieren (3)

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

Mehr

Kombinatorische Optimierung

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

Mehr

Relationen und DAGs, starker Zusammenhang

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

Mehr

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7

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

Mehr

Algorithmen für Routenplanung 15. Vorlesung, Sommersemester 2017 Tobias Zündorf 5. Juli 2017

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

Mehr

Übung Algorithmen und Datenstrukturen

Ü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.

Mehr

Informatik II, SS 2016

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:

Mehr

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

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

Mehr

Informatik II, SS 2016

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

Mehr

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

Mehr

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

Mehr

Algorithmen II Vorlesung am

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

Mehr

Teil III. Komplexitätstheorie

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

Mehr

Algorithmische Methoden zur Netzwerkanalyse

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

Mehr

Algorithmen I - Tutorium 28 Nr. 2

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

Mehr

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

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

Mehr

Informatik II, SS 2018

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

Mehr

3. Übungsblatt zu Algorithmen I im SoSe 2017

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

Mehr

3. Übung Algorithmen I

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:

Mehr

Informatik II, SS 2018

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)

Mehr

Algorithmische Methoden zur Netzwerkanalyse

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

Mehr

Algorithmen I - Tutorium 28 Nr. 9

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

Mehr

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

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

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

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

Mehr

Informatik II, SS 2014

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

Mehr

Vorlesung Programmieren

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

Mehr

Algorithmen für Ad-hoc- und Sensornetze

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

Mehr

Algorithmen I - Tutorium 28 Nr. 6

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

Mehr

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

Mehr

Polygontriangulierung

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

Mehr

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

Mehr

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung

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

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund

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

Mehr

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

Mehr

3.2. Divide-and-Conquer-Methoden

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

Mehr

Informatik II, SS 2014

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)

Mehr