Algorithmen für Routenplanung 13. Vorlesung, Sommersemester 2017 Tobias Zündorf 26. Juni 2017
|
|
- Elly Beutel
- vor 6 Jahren
- Abrufe
Transkript
1 Algorithmen für Routenplanung 13. Vorlesung, Sommersemester 2017 Tobias Zündorf 26. Juni 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 Diskussion Stoff bisher Problemtransformation auf Graph + Dijkstra Vorberechnungstechniken (point-to-point, one-to-all) Alternativrouten (fast optimal, hinreichend unterschiedlich) Berücksichtigung von historischem Wissen über Staus Folie Juni 2017
3 Diskussion Stoff bisher Problemtransformation auf Graph + Dijkstra Vorberechnungstechniken (point-to-point, one-to-all) Alternativrouten (fast optimal, hinreichend unterschiedlich) Berücksichtigung von historischem Wissen über Staus Was fehlt noch für Einsatz in Produktion? Folie Juni 2017
4 Diskussion Stoff bisher Problemtransformation auf Graph + Dijkstra Vorberechnungstechniken (point-to-point, one-to-all) Alternativrouten (fast optimal, hinreichend unterschiedlich) Berücksichtigung von historischem Wissen über Staus Was fehlt noch für Einsatz in Produktion? Turn-Costs Andere Optimierungskriterien? Was ist eigentlich mit Bus & Bahn? Folie Juni 2017
5 Abbiegekosten Folie Juni 2017
6 Abbiegeverbote/-kosten Bisher: Kreuzungen Knoten Straßen Kanten Folie Juni 2017
7 Abbiegeverbote/-kosten Bisher: Kreuzungen Knoten Straßen Kanten Aber: Abbiegen manchmal verboten Linksabbiegen teurer als rechts Kosten U-Turns hoch wurde als einfaches Modellierungsdetail abgetan Folie Juni 2017
8 Abbiegeverbote/-kosten Bisher: Kreuzungen Knoten Straßen Kanten Aber: Abbiegen manchmal verboten Linksabbiegen teurer als rechts Kosten U-Turns hoch wurde als einfaches Modellierungsdetail abgetan Folie Juni 2017
9 Abbiegeverbote/-kosten Bisher: Kreuzungen Knoten Straßen Kanten Aber: Abbiegen manchmal verboten Linksabbiegen teurer als rechts Kosten U-Turns hoch wurde als einfaches Modellierungsdetail abgetan Folie Juni 2017
10 Modellierung Möglichkeit I: Vergrössern des Graphen durch Ausmodellierung Kantenbasierter Graph da Straßen Knoten Turns Kanten Redundante Information Folie Juni 2017
11 Modellierung Möglichkeit I: Vergrössern des Graphen durch Ausmodellierung Kantenbasierter Graph da Straßen Knoten Turns Kanten Redundante Information Entferne einen Knoten pro Straße Folie Juni 2017
12 Modellierung Möglichkeit I: Vergrössern des Graphen durch Ausmodellierung Kantenbasierter Graph da Straßen Knoten Turns Kanten Redundante Information Entferne einen Knoten pro Straße Möglichkeit II: Behalte Kreuzungen als Knoten Speichere Abbiegetabelle Abb. Eingangs- Ausgangspunkte Kosten Beobachtung: Viele Knoten mit identischer Abbiegetabelle Speicher jede Tabelle einmal, Knoten speichern Tabellen-ID Folie Juni 2017
13 Wdh: Contraction Hierarchies Preprocessing: Ordne Knoten nach Wichtigkeit Bearbeite in der Reihenfolge Füge Shortcuts hinzu Levelzuordnung (ca. 150 in Straßennetzwerken) level Folie Juni 2017
14 Wdh: Multi Level Dijkstra Idee: partitioniere Graphen Berechne Distanzen zwischen Randknoten in jeder Zelle Overlay Graph: Randknoten Cliquen in jeder Zelle Schnittkanten s t Suchgraph: Start- und Zielzelle......plus Overlaygraph. (bidirektionaler) Dijkstra Optimierung: multiple Level Folie Juni 2017
15 Kantenbasierter Graph Dijkstra: Funktioniert ohne Anpassung Mehr Knoten zu scannen Faktor 3-4 langsamer Folie Juni 2017
16 Kantenbasierter Graph Dijkstra: Funktioniert ohne Anpassung Mehr Knoten zu scannen Faktor 3-4 langsamer CH Funktioniert ohne Anpassung Aber: grössere Anzahl Knoten/Kanten erhöht Vorberechungszeit Folie Juni 2017
17 Kantenbasierter Graph Dijkstra: Funktioniert ohne Anpassung Mehr Knoten zu scannen Faktor 3-4 langsamer CH Funktioniert ohne Anpassung Aber: grössere Anzahl Knoten/Kanten erhöht Vorberechungszeit MLD Anzahl Schnittkanten erhöht sich Schnittkanten = Schnittknoten (Eventuell Wechsel zu Knotenseparatoren sinnvoll?) Folie Juni 2017
18 Kompaktes Modell Dijkstra: Turns müssen in den Suchalgorithmus integriert werden Kreuzungen können mehrfach gescannt werden label-correcting bzgl. Kreuzung, label-setting bzgl. Eingangs-/Ausgangspunkte jede Kante wird höchstens einmal gescannt Suchraum gleich zu kantenbasiertem Modell simuliert Dijkstra auf kantenbasiertem Graphen Vorteil: weniger Speicher für den Graphen Folie Juni 2017
19 Kompaktes Modell CH Folie Juni 2017
20 Kompaktes Modell CH Zeugensuche wird komplizierter Folie Juni 2017
21 Kompaktes Modell CH Zeugensuche wird komplizierter Eine Zeugensuche pro Paar eingehender und ausgehender Kanten Folie Juni 2017
22 Kompaktes Modell CH Zeugensuche wird komplizierter Eine Zeugensuche pro Paar eingehender und ausgehender Kanten Es können Self-Loops entstehen Folie Juni 2017
23 Kompaktes Modell CH Zeugensuche wird komplizierter Eine Zeugensuche pro Paar eingehender und ausgehender Kanten Es können Self-Loops entstehen Folie Juni 2017
24 Kompaktes Modell CH Zeugensuche wird komplizierter Eine Zeugensuche pro Paar eingehender und ausgehender Kanten Es können Self-Loops entstehen Folie Juni 2017
25 Kompaktes Modell CH Zeugensuche wird komplizierter Eine Zeugensuche pro Paar eingehender und ausgehender Kanten Es können Self-Loops entstehen Folie Juni 2017
26 Kompaktes Modell MLD Folie Juni 2017
27 Kompaktes Modell MLD Schnittkanten bleiben erhalten Schnittkante 2 Knoten auf Overlay Turns müssen nur auf unterstem Level beachtet werden Auf Overlaygraphen: normaler Dijkstra einfache Anpassung, aber zusätzliche Fallunterscheidung in der Query Folie Juni 2017
28 Ergebnisse 1 s 100 s Customization Queries Algorithm time [s] [MB] #scans time [ms] MLD-4 [2 8 : 2 12 : 2 16 : 2 20 ] CH expanded CH compact MLD-4 [2 8 : 2 12 : 2 16 : 2 20 ] CH expanded CH compact Beobachtung: (Metrikabhängige) CH Ordnung problematisch bei Turns Besser: Ordnung an Turns anpassen (CH expanded vs compact) MLD robust Folie Juni 2017
29 Multikriterielle Optimierung Folie Juni 2017
30 Optimierungskriterien Bisher: Kürzester Weg Eine Metrik Alternativrouten Eine Metrik; fast kürzeste, dennoch sinnvolle Wege Zeitabhängigkeit / dynamische Szenarien Eine Metrik; Kantengewichte ändern sich über die Zeit Jetzt: Mehrere Metriken Folie Juni 2017
31 Multikriterielle Optimierung Idee: Mehrere Gewichte an Kanten (Reisezeiten, Kosten, Energieverbrauch) (3,1) (3,1) t (1,3) l(p 1 )=(3,9) (1,3) (2,2) (3,1) s (1,3) Folie Juni 2017
32 Multikriterielle Optimierung Idee: Mehrere Gewichte an Kanten (Reisezeiten, Kosten, Energieverbrauch) Berechne alle Pareto-optimalen Routen Route ist Pareto-optimal : Keine andere Routen dominiert sie Route dominiert andere : Jedes Kriterium ist gleich oder besser Grenzfall: Gleich gut in allen Kriterien (wird unterschiedlich behandelt) (3,1) (3,1) (3,1) t (1,3) l(p 1 )=(3,9) l(p 1 )=(3,9) (1,3) (2,2) (1,3) s Folie Juni 2017
33 Multikriterielle Optimierung Idee: Mehrere Gewichte an Kanten (Reisezeiten, Kosten, Energieverbrauch) Berechne alle Pareto-optimalen Routen Route ist Pareto-optimal : Keine andere Routen dominiert sie Route dominiert andere : Jedes Kriterium ist gleich oder besser Grenzfall: Gleich gut in allen Kriterien (wird unterschiedlich behandelt) (3,1) (3,1) (3,1) t (1,3) l(p 1 )=(3,9) l(p 1 )=(3,9) (1,3) l(p 2 )=(9,3) (2,2) (1,3) s Folie Juni 2017
34 Multikriterielle Optimierung Idee: Mehrere Gewichte an Kanten (Reisezeiten, Kosten, Energieverbrauch) Berechne alle Pareto-optimalen Routen Route ist Pareto-optimal : Keine andere Routen dominiert sie Route dominiert andere : Jedes Kriterium ist gleich oder besser Grenzfall: Gleich gut in allen Kriterien (wird unterschiedlich behandelt) (3,1) (3,1) (3,1) t (1,3) l(p 1 )=(3,9) l(p 1 )=(3,9) (1,3) l(p 2 )=(9,3) (2,2) l(p 3 )=(6,6) (1,3) s Folie Juni 2017
35 Multikriterielle Optimierung Idee: Mehrere Gewichte an Kanten (Reisezeiten, Kosten, Energieverbrauch) Berechne alle Pareto-optimalen Routen Route ist Pareto-optimal : Keine andere Routen dominiert sie Route dominiert andere : Jedes Kriterium ist gleich oder besser Grenzfall: Gleich gut in allen Kriterien (wird unterschiedlich behandelt) (3,1) (3,1) (3,1) t (1,3) l(p 1 )=(3,9) l(p 1 )=(3,9) (1,3) l(p 2 )=(9,3) (2,2) l(p 3 )=(6,6) (1,3) s Herausforderung: Viele Routen zum Ziel Folie Juni 2017
36 Pareto-Menge Definition (Pareto-Dominanz) Geg. zwei n-tupel m i = (x 1,..., x n ), m j = (y 1,..., y n ) gilt: m j domininiert m i gdw. m j in allen Werten besser und in mindestens einem echt besser ist, d. h. k : y k <= x k und l : y l < x l. Definition (Pareto-Optimum) Zu einer Menge M von Tupeln ist ein Tupel m i M Pareto-Optimum, wenn es kein anderes m j M gibt, so dass m i von m j dominiert wird. Die Menge M heißt Pareto-Menge, wenn alle m M Pareto-optimal. Folie Juni 2017
37 Pareto-Menge Definition (Pareto-Dominanz) Geg. zwei n-tupel m i = (x 1,..., x n ), m j = (y 1,..., y n ) gilt: m j domininiert m i gdw. m j in allen Werten besser und in mindestens einem echt besser ist, d. h. k : y k <= x k und l : y l < x l. Definition (Pareto-Optimum) Zu einer Menge M von Tupeln ist ein Tupel m i M Pareto-Optimum, wenn es kein anderes m j M gibt, so dass m i von m j dominiert wird. Die Menge M heißt Pareto-Menge, wenn alle m M Pareto-optimal. Beispiel: Public Transit (Ankunftszeit und # Umstiege) Folie Juni 2017
38 Pareto-Menge Definition (Pareto-Dominanz) Geg. zwei n-tupel m i = (x 1,..., x n ), m j = (y 1,..., y n ) gilt: m j domininiert m i gdw. m j in allen Werten besser und in mindestens einem echt besser ist, d. h. k : y k <= x k und l : y l < x l. Definition (Pareto-Optimum) Zu einer Menge M von Tupeln ist ein Tupel m i M Pareto-Optimum, wenn es kein anderes m j M gibt, so dass m i von m j dominiert wird. Die Menge M heißt Pareto-Menge, wenn alle m M Pareto-optimal. Beispiel: Public Transit (Ankunftszeit und # Umstiege) M = {(14:00 Uhr, 5), (15:13 Uhr, 3), (13:45 Uhr, 4), (15:15 Uhr, 0)}. Folie Juni 2017
39 Pareto-Menge Definition (Pareto-Dominanz) Geg. zwei n-tupel m i = (x 1,..., x n ), m j = (y 1,..., y n ) gilt: m j domininiert m i gdw. m j in allen Werten besser und in mindestens einem echt besser ist, d. h. k : y k <= x k und l : y l < x l. Definition (Pareto-Optimum) Zu einer Menge M von Tupeln ist ein Tupel m i M Pareto-Optimum, wenn es kein anderes m j M gibt, so dass m i von m j dominiert wird. Die Menge M heißt Pareto-Menge, wenn alle m M Pareto-optimal. Beispiel: Public Transit (Ankunftszeit und # Umstiege) M = {(14:00 Uhr, 5), (15:13 Uhr, 3), (13:45 Uhr, 4), (15:15 Uhr, 0)}. Folie Juni 2017
40 Pareto-Menge Definition (Pareto-Dominanz) Geg. zwei n-tupel m i = (x 1,..., x n ), m j = (y 1,..., y n ) gilt: m j domininiert m i gdw. m j in allen Werten besser und in mindestens einem echt besser ist, d. h. k : y k <= x k und l : y l < x l. Definition (Pareto-Optimum) Zu einer Menge M von Tupeln ist ein Tupel m i M Pareto-Optimum, wenn es kein anderes m j M gibt, so dass m i von m j dominiert wird. Die Menge M heißt Pareto-Menge, wenn alle m M Pareto-optimal. Beispiel: Public Transit (Ankunftszeit und # Umstiege) M = {(14:00 Uhr, 5), (15:13 Uhr, 3), (13:45 Uhr, 4), (15:15 Uhr, 0)}. Wie effizient berechnen? Folie Juni 2017
41 Multi-Criteria Dijkstra (MCD) Idee Benutze Graph mit Kantengewicht len: E R n 0 Grundlage: Dijkstra s Algorithmus Folie Juni 2017
42 Multi-Criteria Dijkstra (MCD) Idee Benutze Graph mit Kantengewicht len: E R n 0 Grundlage: Dijkstra s Algorithmus... aber... Label l sind n-tupel (x 1,..., x n ) An jedem Knoten u V : Pareto-Menge L u von Labeln Jedes Label entspricht einem (Pareto-optimalen) s u-pfad Priority Queue verwaltet Label statt Knoten Prioritätsfunktion k(x 1,..., x n ) Meist: Linearkombination oder lexikographische Sortierung Dominanz von Labeln in L u on-the-fly Folie Juni 2017
43 Multi-Criteria Dijkstra (MCD) MLC(G = (V, E), s 1 L u for each u V ; L s {(0,..., 0)} 2 Q.clear(); Q.insert(s, k(0,..., 0)) 3 while!q.empty() do 4 u and l = (x 1,..., x n ) Q.deleteMin() 5 for all edges e = (u, v) E do 6 l (x 1 + len(e) 1,..., x n + len(e) n ) 7 if l is not dominated by any l L v then 8 L v.insert(l ) 9 Remove non-pareto-optimal labels from L v 10 Q.insert(v, k(l )) Folie Juni 2017
44 Diskussion: MCD Falls extrahiertes Label immer Pareto-optimal (bzgl. aller l Q): MCD label-setting (einmal extrahierte Labels werden nie dominiert) dafür muss die Längenfunktion natürlich auch positiv sein Gilt für Linearkombination und lexikographische Sortierung Pareto-Mengen L u sind dynamische Datenstrukturen teuer! Sehr viele Queue-Operationen Testen der Dominanz in O( L u ) möglich Stoppkriterium? Folie Juni 2017
45 Exponentielle Laufzeit Exponentiell wachsende Lösungsmenge bei zwei Kriterien: (1,0) (2,0) (4,0) (8,0) (0,1) (0,2) (0,4) (0,8) Folie Juni 2017
46 Exponentielle Laufzeit Exponentiell wachsende Lösungsmenge bei zwei Kriterien: (1,0) (2,0) (4,0) (8,0) {} (0,1) (0,2) (0,4) (0,8) (1,0) (0,1) (3,0) (2,1) (1,2) (0,3) (7,0) (6,1) (5,2) (4,3) (3,4) (2,5) (1,6) (0,7) (15,0) (14,1) (13,2) (12,3) (11,4) (10,5) (9,6)... Folie Juni 2017
47 Verbesserungen Jedes L u verwaltet bestes ungesettletes Label selbst Priority Queue auf Knoten statt Labeln Hopping Reduction: Relaxierung der Kante zum Parent-Knoten p unnötig teuer (kann keine Verbesserung bringen, kostet aber O( L p ) für Test) Überspringe Kante zum Parent-Knoten von l u Target-Pruning: Abbruchkriterium funktioniert nicht (sonst nur eine Lösung) An Knoten u, verwerfe Label l u, wenn es bereits von der tentativen Pareto-Menge L t am Ziel t dominiert wird Worst-Case Laufzeit immer noch exponentiell (aber je nach Instanz schon signifikante Beschleunigung) Folie Juni 2017
48 Eingabe Straßengraphen von: Luxemburg Karlsruhe Europa Metriken: Fahrzeiten schnelles Auto Fahrzeiten langsames Auto Kosten Distanzen Unit Metrik Folie Juni 2017
49 Ähnliche Metriken: Europa target #del. time metrics labels mins [ms] fast car (fc) slow car (sc) fast truck (ft) slow truck (st) fc + st fc + ft fc + sc sc + lt sc + ft ft + st fc + sc +st fc + sc + ft sc + ft +st fc + sc + ft + st Beobachtungen: Nicht viele zusätzliche Lösungen Anzahl Lösungen und Queue Extracts korrelieren Queryzeit steigt viel stärker Dominanztests sind nicht-linear Folie Juni 2017
50 Verschiedene Metriken Luxemburg Karlsruhe target #del. time target #del. time metrics labels mins [ms] labels mins [ms] fast car (fc) slow truck (st) costs distances unit fc + st fc + costs fc + dist fc + unit costs + dist Je nach Kriterien kann Lösungsmenge stark ansteigen Folie Juni 2017
51 Beschleunigungstechniken Landmarken Bidirektionale Suche Kontraktion Arc-Flags Table- Lookups u t l 1 l 2 s t access node s t distances between access node transit nodes Folie Juni 2017
52 Wdh.: Landmarken Vorberechnung: Wähle einige Knoten ( 16) als Landmarken Berechne Abstände von und zu allen Landmarken l 1 Anfrage: Benutze Landmarken und Dreiecksungleichung um eine untere Schranke für den Abstand zum Ziel zu bestimmen: d(s, t) d(l 1, t) d(l 1, s) d(s, t) d(s, L 2 ) d(t, L 2 ) u t Verändert Reihenfolge der besuchten Knoten l 2 Folie Juni 2017
53 Anpassung Idee: Benutze einzelne Metriken zum Berechnen der Distanzen Für jeden Knoten u: Distanzvektor (d 1 (u, L i ) 1,..., d n (u, L i ) n ) pro Landmarke L i Liefert Potentiale π 1,..., π n Zielrichtung: Priorität eines Labels ist (x 1 + π 1,..., x n + π n ). Potential π i liefert untere Schranke für d i (u, t) Nutze (x 1 + π 1,..., x n + π n ) auch für Target Pruning Folie Juni 2017
54 Anpassung Idee: Benutze einzelne Metriken zum Berechnen der Distanzen Für jeden Knoten u: Distanzvektor (d 1 (u, L i ) 1,..., d n (u, L i ) n ) pro Landmarke L i Liefert Potentiale π 1,..., π n Zielrichtung: Priorität eines Labels ist (x 1 + π 1,..., x n + π n ). Potential π i liefert untere Schranke für d i (u, t) Nutze (x 1 + π 1,..., x n + π n ) auch für Target Pruning Modifikation: Berechne zur Queryzeit (d 1 (u, t) 1,..., d n (u, t) n ) Nutze t als einzige perfekte Landmarke Kosten von n Dijkstras (meist) unerheblich für Gesamtlaufzeit Keine Vorberechnung Folie Juni 2017
55 Bidirektionale Suche s t Starte zweite Suche von t Relaxiere rückwärts nur eingehende Kanten Stoppe die Suche, wenn beide Suchräume sich treffen Folie Juni 2017
56 Anpassung Idee: Rückwärtssuche kein Problem (analog) Folie Juni 2017
57 Anpassung Idee: Rückwärtssuche kein Problem (analog) Offenes Problem: Abbruchkriterium? Analog Target-Pruning: Dominanztest mit tentativer Pareto-Menge; teuer zu verwalten: Kombination der Lösungen aus Vorwärts- und Rückwärtssuche an Mittelknoten Lohnt nicht recht Folie Juni 2017
58 Kontraktion Knoten-Reduktion: Entferne diese Knoten iterativ Füge neue Kanten (Abkürzungen) hinzu, um die Abstände zwischen verbleibenden Knoten zu erhalten Kanten-Reduktion: Behalte nur relevante Shortcuts Lokale Suche während oder nach Knoten-reduktion Folie Juni 2017
59 Kontraktion Knoten-Reduktion: Entferne diese Knoten iterativ Füge neue Kanten (Abkürzungen) hinzu, um die Abstände zwischen verbleibenden Knoten zu erhalten Kanten-Reduktion: Behalte nur relevante Shortcuts Lokale Suche während oder nach Knoten-reduktion Folie Juni 2017
60 Anpassung Knoten-Reduktion Beobachtung: Verfahren unabhängig von Metrik Shortcut muss dem (entfernten) Pfad entsprechen Somit: Anpassung ohne Probleme Folie Juni 2017
61 Anpassung Kanten-Reduktion Unikriteriell: Lösche Kante (u, v), wenn (u, v) nicht Teil des kürzesten Weges von u nach v ist, also len(u, v) < d(u, v) Lokale Dijkstra-Suche von u Multikriteriell: Folie Juni 2017
62 Anpassung Kanten-Reduktion Unikriteriell: Lösche Kante (u, v), wenn (u, v) nicht Teil des kürzesten Weges von u nach v ist, also len(u, v) < d(u, v) Lokale Dijkstra-Suche von u Multikriteriell: Lösche Kante (u, v), wenn (u, v) nicht Teil eines Pareto-Weges von u nach v ist Lokale multi-kriterielle Suche Kann zu (Pareto-optimalen) Multikanten führen Problem: Explosion der Anzahl der Routen Folie Juni 2017
63 Arc-Flags Idee: Partitioniere den Graph in k Zellen Hänge ein Label mit k Bits an jede Kante Zeigt ob e wichtig für die Zielzelle ist Modifizierter Dijkstra überspringt unwichtige Kanten Beobachtung: Partition wird auf ungewichtetem Grahen durchgeführt Flaggen müssen allerdings aktualisiert werden Folie Juni 2017
64 Anpassung Idee: Ändere Intuition einer gesetzten Flagge Konzept bleibt gleich: Eine Flagge pro Kante und Region Setze Flagge Multikriteriell: wenn Kante für einen Pareto-Pfad wichtig ist Folie Juni 2017
65 Anpassung Idee: Ändere Intuition einer gesetzten Flagge Konzept bleibt gleich: Eine Flagge pro Kante und Region Setze Flagge Multikriteriell: wenn Kante für einen Pareto-Pfad wichtig ist Anpassung: Für alle Randknoten b und alle Knoten u: Berechne Pareto-Abstände D(u, b) u Setze Flagge wenn gilt (u, v) zugehörige Kante eines Pareto-Pfades v w x b Folie Juni 2017
66 Anpassung Idee: Ändere Intuition einer gesetzten Flagge Konzept bleibt gleich: Eine Flagge pro Kante und Region Setze Flagge Multikriteriell: wenn Kante für einen Pareto-Pfad wichtig ist Anpassung: Für alle Randknoten b und alle Knoten u: Berechne Pareto-Abstände D(u, b) u Setze Flagge wenn gilt (u, v) zugehörige Kante eines Pareto-Pfades v w x b Folie Juni 2017
67 Anpassung Idee: Ändere Intuition einer gesetzten Flagge Konzept bleibt gleich: Eine Flagge pro Kante und Region Setze Flagge Multikriteriell: wenn Kante für einen Pareto-Pfad wichtig ist Anpassung: Für alle Randknoten b und alle Knoten u: Berechne Pareto-Abstände D(u, b) u Setze Flagge wenn gilt (u, v) zugehörige Kante eines Pareto-Pfades v w x b Folie Juni 2017
68 Anpassung Idee: Ändere Intuition einer gesetzten Flagge Konzept bleibt gleich: Eine Flagge pro Kante und Region Setze Flagge Multikriteriell: wenn Kante für einen Pareto-Pfad wichtig ist Anpassung: Für alle Randknoten b und alle Knoten u: Berechne Pareto-Abstände D(u, b) u Setze Flagge wenn gilt (u, v) zugehörige Kante eines Pareto-Pfades v w x b Folie Juni 2017
69 Table-Lookups Idee: Speichere Distanztabellen Nur für wichtige Teile des Graphen Suchen laufen nur bis zur Tabelle Harmoniert gut mir hierarchischen Techniken access node s t distances between transit nodes access node Folie Juni 2017
70 Anpassung Beobachtung: Distanz-Tabelle muss Pareto-Abstände abspeichern Massiver Anstieg der Größe der Tabellen Pfadstruktur nicht mehr so gutmütig Deutlich mehr Access-Nodes? Also: Speicherverbrauch deutlich zu groß? Folie Juni 2017
71 Diskussion Basismodule Basismodule:? Bidirektionale Suche + Landmarken / A* + Kontraktion + arc-flags? Table Look-ups Folie Juni 2017
72 Experimente Pareto-SHARC (nur als Beispiel) Luxemburg Karlsruhe PREPRO QUERY PREPRO QUERY time target #del. time spd time target #del. time spd metrics [h:m] labels mins [ms] up [h:m] labels mins [ms] up fast car (fc) < 0: < 0: slow truck (st) < 0: < 0: costs < 0: < 0: distances < 0: < 0: unit < 0: < 0: fc + st 0: : fc + costs 0: : fc + dist. 0: : fc + unit 0: : costs + dist. 0: : Folie Juni 2017
73 Zusammenfassung Berechnung der (exponentiell großen) Pareto-Menge nicht effizient möglich Auch mit Beschleunigungstechniken daher exponentielle Laufzeit Laufzeit in der Praxis stark abhängig von Anzahl der Kriterien Korrelation der Metriken Praktikable Laufzeit somit oft nur mit Heuristiken möglich Relaxierung der Dominanz Ausdünnen von Pareto-Mengen während der Query Mehr dazu später... Nur konvexe Hülle ( linear Kombination, Parametric Shortest Path Problem) Folie Juni 2017
74 Constrained Shortest Paths Folie Juni 2017
75 Constrained Shortest Path (CSP) Ziel: Finde kürzeste Route die bestimmtes Gewicht nicht überschreitet Zwei Metriken auf den Kanten: Länge und Gewicht Optimiere die Länge und beschränke das Gewicht Folie Juni 2017
76 Constrained Shortest Path (CSP) Ziel: Finde kürzeste Route die bestimmtes Gewicht nicht überschreitet Zwei Metriken auf den Kanten: Länge und Gewicht Optimiere die Länge und beschränke das Gewicht Definition: Constrained Shortest Path Problem Gegeben: G = (V, E), Länge l: E N 0, Gewicht ω : E N 0, Start und Ziel s, t V sowie Schranken L, W N 0 Problem: Existiert ein einfacher Pfad P von s nach t in G, für den l(p) L und ω(p) W gelten? Anmerkung: Das entsprechende Optimierungsproblem lautet: Finde einen s-t-pfad P mit minimalem l(p) und ω(p) W Folie Juni 2017
77 Constrained Shortest Path (CSP) Theorem Constrained Shortest Path Problem ist (schwach) N P-vollständig Folie Juni 2017
78 Constrained Shortest Path (CSP) Theorem Constrained Shortest Path Problem ist (schwach) N P-vollständig Beweis: 1: CSP Problem N P Für ein Pfad P kann in polynomieller Zeit geprüft werden, ob: P benutzt nur Kanten aus G P hat passende Länge: l(p) = L P hat passendes Gewicht: ω(p) = W 2: CSP Problem ist N P-schwer Beweis durch Reduktion von PARTITION Folie Juni 2017
79 PARTITION Definition: PARTITION Gegeben: Endliche Menge A sowie Größe s : A N 0 Problem: Existiert ein Teilmenge A A für die gilt: s(a) = a A a A\A s(a) Anmerkung: In Karps 21 NP-vollständigen Problemen enthalten PARTITION ist (schwach) N P-vollständig [Karp 71] N P-schwere Beweis benötigt exponentiell große Zahlen In pseudopolynomieller Zeit lösbar (Dynamische Programmierung) Pseudopolynomielle Laufzeit: Abhängig von Eingabegröße + Werten Folie Juni 2017
80 Beweis: CSP ist N P-vollständig Reduktion von PARTITION: Sei Π = (A = {a 1,..., a n }, s) eine PARTITION-Instanz Konstruiere Graph G = (V, E) mit n + 1 Knoten (V = {0, 1,..., n}) Knoten i -1 und i sind jeweils durch zwei Kanten verbunden Eine Kante hat Länge 0 und Gewicht s(a i ) Die andere Kante hat Länge s(a i ) und Gewicht 0 Setze s = 0, t = n und L = W = 1 f s(a) 2 f a A (0, s(a 1)) (0, s(a 2)) (0, s(a n -1)) (0, s(a n)) 0 1 n-1 1n (s(a 1), 0) (s(a 2), 0) (s(a n -1), 0) (s(a n), 0) Folie Juni 2017
81 Beweis: CSP ist N P-vollständig Reduktion von PARTITION: Sei Π = (A = {a 1,..., a n }, s) eine PARTITION-Instanz Konstruiere Graph G = (V, E) mit n + 1 Knoten (V = {0, 1,..., n}) Knoten i -1 und i sind jeweils durch zwei Kanten verbunden Eine Kante hat Länge 0 und Gewicht s(a i ) Die andere Kante hat Länge s(a i ) und Gewicht 0 Setze s = 0, t = n und L = W = 1 f s(a) 2 f a A (0, s(a 1)) (0, s(a 2)) (0, s(a n -1)) (0, s(a n)) s0 1 n-1 1n t (s(a 1), 0) (s(a 2), 0) (s(a n -1), 0) (s(a n), 0) Es gilt: Π ist PARTITION Ja-Inst. (G, l, ω, L, W, s, t) ist CSP Ja-Inst. Folie Juni 2017
82 Beweis: CSP ist N P-vollständig Reduktion von PARTITION: Sei Π = (A = {a 1,..., a n }, s) eine PARTITION-Instanz Konstruiere Graph G = (V, E) mit n + 1 Knoten (V = {0, 1,..., n}) Knoten i -1 und i sind jeweils durch zwei Kanten verbunden Eine Kante hat Länge 0 und Gewicht s(a i ) Die andere Kante hat Länge s(a i ) und Gewicht 0 Setze s = 0, t = n und L = W = 1 f s(a) 2 f a A (0, s(a 1)) (0, s(a 2)) (0, s(a n -1)) (0, s(a n)) s0 1 n-1 1n t (s(a 1), 0) (s(a 2), 0) (s(a n -1), 0) (s(a n), 0) Beispiel: s-t-pfad P entspricht: a 1 / A, a 2 / A,..., a n 1 A, a n A Folie Juni 2017
83 Multi-Criteria Dijkstra für CSP CSP kann mit Multi-Criteria Dijkstra (MCD) gelöst werden Bikriterieller Ansatz mit Metriken: Länge & Gewicht Nutze Constraints zum prunen Verwerfe Label mit Gewicht > W Folie Juni 2017
84 Multi-Criteria Dijkstra für CSP CSP kann mit Multi-Criteria Dijkstra (MCD) gelöst werden Bikriterieller Ansatz mit Metriken: Länge & Gewicht Nutze Constraints zum prunen Verwerfe Label mit Gewicht > W Erinnerung: MCD hält pro Knoten Menge Pareto-optimaler Pfade Pareto-Mengen können exponentiell groß werden (0, 1) (0, 2) (0, 4) (1, 0) (2, 0) (4, 0) Folie Juni 2017
85 Multi-Criteria Dijkstra für CSP CSP kann mit Multi-Criteria Dijkstra (MCD) gelöst werden Bikriterieller Ansatz mit Metriken: Länge & Gewicht Nutze Constraints zum prunen Verwerfe Label mit Gewicht > W Erinnerung: MCD hält pro Knoten Menge Pareto-optimaler Pfade Pareto-Mengen können exponentiell groß werden (0,0) (0, 1) (0, 2) (0, 4) (1, 0) (2, 0) (4, 0) Folie Juni 2017
86 Multi-Criteria Dijkstra für CSP CSP kann mit Multi-Criteria Dijkstra (MCD) gelöst werden Bikriterieller Ansatz mit Metriken: Länge & Gewicht Nutze Constraints zum prunen Verwerfe Label mit Gewicht > W Erinnerung: MCD hält pro Knoten Menge Pareto-optimaler Pfade Pareto-Mengen können exponentiell groß werden (0,1) (0,0) (1,0) (0, 1) (0, 2) (0, 4) (1, 0) (2, 0) (4, 0) Folie Juni 2017
87 Multi-Criteria Dijkstra für CSP CSP kann mit Multi-Criteria Dijkstra (MCD) gelöst werden Bikriterieller Ansatz mit Metriken: Länge & Gewicht Nutze Constraints zum prunen Verwerfe Label mit Gewicht > W Erinnerung: MCD hält pro Knoten Menge Pareto-optimaler Pfade Pareto-Mengen können exponentiell groß werden (0,3) (1,2) (0,1) (2,1) (0,0) (1,0) (3,0) (0, 1) (0, 2) (0, 4) (1, 0) (2, 0) (4, 0) Folie Juni 2017
88 Multi-Criteria Dijkstra für CSP CSP kann mit Multi-Criteria Dijkstra (MCD) gelöst werden Bikriterieller Ansatz mit Metriken: Länge & Gewicht Nutze Constraints zum prunen Verwerfe Label mit Gewicht > W Erinnerung: MCD hält pro Knoten Menge Pareto-optimaler Pfade Pareto-Mengen können exponentiell groß werden (0,7) (1,6) (2,5) (3,4) (0,3) (4,3) (1,2) (5,2) (0,1) (2,1) (6,1) (0,0) (1,0) (3,0) (7,0) (0, 1) (0, 2) (0, 4) (1, 0) (2, 0) (4, 0) Folie Juni 2017
89 Schnellste zulässige Route Verbesserungen: Standard Beschleunigungen von MCD übertragbar: Hopping Reduction Nur ein Label pro Knoten in Queue Target Pruning Folie Juni 2017
90 Schnellste zulässige Route Verbesserungen: Standard Beschleunigungen von MCD übertragbar: Hopping Reduction Nur ein Label pro Knoten in Queue Target Pruning Beobachtung: Wir brauchen nicht alle Pareto-Optima an t: Sind nur an kürzester zulässiger Route interessiert Stoppe sobald erstes Label an t aus Queue genommen (Queue ist nach Länge sortiert) Folie Juni 2017
91 Zusammenfassung Dynamische Szenarien Berücksichtigung von aktuellen Staus Anpassung von Beschleunigungstechniken Turn-Costs Expandiertes Modell vs Turn-Tabellen Anpassung von CRP/CH Multikriterielle Optimierung Verallgemeinerung zu Multi Criteria Dijkstra Anpassung von Beschleunigungstechniken Constrained Shortest Paths N P-schwer Anpassung MC-Dijkstra Folie Juni 2017
92 Ende Literatur: Robert Geisberger, Christian Vetter Efficient Routing in Road Networks with Turn Costs In: Proceedings of the 10th International Symposium on Experimental Algorithms (SEA 11), pages , Daniel Delling and Andrew V. Goldberg and Thomas Pajor and Renato F. Werneck Customizable Route Planning in Road Networks Transportation Science, Daniel Delling, Dorothea Wagner Pareto Paths with SHARC In: Proceedings of the 8th International Symposium on Experimental Algorithms (SEA 09), pages , Folie Juni 2017
Algorithmen für Routenplanung 15. Vorlesung, Sommersemester 2012 Daniel Delling 20. Juni 2012
Algorithmen für Routenplanung 15. Vorlesung, Sommersemester 2012 Daniel Delling 20. Juni 2012 MICROSOFT RESEARCH SILICON VALLEY KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum
MehrAlgorithmen für Routenplanung 14. Vorlesung, Sommersemester 2012 Daniel Delling 18. Juni 2012
Algorithmen für Routenplanung 14. Vorlesung, Sommersemester 2012 Daniel Delling 18. Juni 2012 MICROSOFT RESEARCH SILICON VALLEY KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum
MehrAlgorithmen für Routenplanung
Algorithmen für Routenplanung 15. Vorlesung, Sommersemester 016 Moritz Baum 15. Juni 016 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
MehrAlgorithmen für Routenplanung 2. Vorlesung, Sommersemester 2014 Andreas Gemsa 20. April 2014
Algorithmen für Routenplanung 2. Vorlesung, Sommersemester 2014 Andreas Gemsa 20. April 2014 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
MehrFortgeschrittene 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
MehrAlgorithmen für Routenplanung 11. Vorlesung, Sommersemester 2012 Daniel Delling 6. Juni 2012
Algorithmen für Routenplanung 11. Vorlesung, Sommersemester 2012 Daniel Delling 6. Juni 2012 MICROSOFT RESEARCH SILICON VALLEY KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum
MehrPraktikum Routenplanung Themenvorstellung & Gruppeneinteilung, Wintersemester 2015/2016 Moritz Baum, Ben Strasser, Tobias Zündorf 19.
Praktikum Routenplanung Themenvorstellung & Gruppeneinteilung, Wintersemester 2015/2016 Moritz Baum, Ben Strasser, Tobias Zündorf 19. Oktober 2015 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF.
MehrAlgorithmen für Routenplanung 10. Vorlesung, Sommersemester 2016 Ben Strasser 25. Mai 2016
Algorithmen für Routenplanung 10. Vorlesung, Sommersemester 2016 Ben Strasser 25. Mai 2016 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
MehrSchnelle und genaue Routenplanung
Sanders/Schultes: Routenplanung 1 Schnelle und genaue Routenplanung Peter Sanders Dominik Schultes Institut für Theoretische Informatik Algorithmik II Universität Karlsruhe Uni für Einsteiger, 22. November
MehrPraktikum Routenplanung Vorbesprechung, Wintersemester 2012/2013 Moritz Baum, Julian Dibbelt, Thomas Pajor, Ben Strasser 17.
Praktikum Routenplanung Vorbesprechung, Wintersemester 01/013 Moritz Baum, Julian Dibbelt, Thomas Pajor, Ben Strasser 17. Oktober 01 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA
MehrAlgorithmen für Routenplanung
Algorithmen für Routenplanung 16. Sitzung, Sommersemester 2011 Thomas Pajor 4. Juli 2011 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
MehrAlgorithmen 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
Mehr2. Übungsblatt zu Algorithmen II im WS 2016/2017
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders Dr. Christian Schulz, Dr. Simon Gog Michael Axtmann. Übungsblatt zu Algorithmen II im WS 016/017 Aufgabe
MehrKombinatorische 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
MehrHighway Hierarchies. Kristian Dannowski, Matthias Hoeschel
Highway Hierarchies Kristian Dannowski, Matthias Hoeschel Gliederung Einleitung / Bidirektional Dijkstra Intuition / Naive Strategie Konstruktion der Highway Hierarchie Suche in der Highway Hierarchie
MehrChristian Schulz und Johannes Singler
Christian Schulz und Johannes Singler, Prof. Sanders 1 KIT Christian Universität des Schulz Landes Baden-Württemberg und Johannes undsingler: nationales 3. Übung Forschungszentrum Algorithmen in der Helmholtz-Gemeinschaft
MehrLiteratur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)
Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,
MehrAlgorithmen II Vorlesung am 15.11.2012
Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
MehrOptimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis
Optimierungsprobleme Instanz eines Optimierungsproblems zulässiger Bereich (meist implizit definiert) Zielfunktion Optimierungsrichtung opt {max, min} Optimierungsproblem Menge von Instanzen meist implizit
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 5. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Wdhlg.: Dijkstra-Algorithmus I Bestimmung der
MehrEffiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume
Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen
Mehr4. Kreis- und Wegeprobleme Abstände in Graphen
4. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 4.4. Es sei G = (V,E) ein Graph. Der Abstand d(v,w) zweier Knoten v,w V ist die minimale Länge eines Weges von v nach w. Falls
MehrRouting Algorithmen. Begriffe, Definitionen
Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über
MehrCustomization (Zuschneiden)
Customization (Zuschneiden) Anpassen der (Graph)Datenstruktur an die Anwendung. I Ziel: schnell, kompakt. I benutze Entwurfsprinzip: make the common case fast I Listen vermeiden Mögliches Problem: Software-Engineering-Alptraum
MehrVorlesung 4 BETWEENNESS CENTRALITY
Vorlesung 4 BETWEENNESS CENTRALITY 101 Aufgabe! Szenario: Sie arbeiten bei einem sozialen Online-Netzwerk. Aus der Netzwerk-Struktur Ihrer Benutzer sollen Sie wichtige Eigenschaften extrahieren. [http://www.fahrschule-vatterodt.de/
MehrÜberblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP
Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick
Mehr5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!
MehrEin Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.
Graphen Definition: Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten
MehrMaximale s t-flüsse in Planaren Graphen
Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen June 1, 2015 Ignaz Rutter INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrKapitel 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
MehrTECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 11 Prof. Dr. Helmut Seidl, S. Pott,
MehrDas Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering
Das Linear Ordering Problem Exakte Lösungsverfahren VO Algorithm Engineering für NP-schwierige Professor Dr. Petra Mutzel kombinatorische Lehrstuhl für Algorithm Engineering, LS11 Optimierungsprobleme
MehrEinleitung. Komplexe Anfragen. Suche ist teuer. VA-File Verfeinerungen. A0-Algo. GeVAS. Schluß. Folie 2. Einleitung. Suche ist teuer.
Anwendung Input: Query-Bild, Ergebnis: Menge ähnlicher Bilder. Kapitel 8: Ähnlichkeitsanfragen und ihre effiziente Evaluierung Wie zu finden? Corbis, NASA: EOS Bilddatenbank Folie Folie 2 Ähnlichkeitssuche
MehrAlgorithmen zur Berechnung der Transitiven Hülle einer Datenbankrelation
Algorithmen zur Berechnung der Transitiven Hülle einer Datenbankrelation Daniel Reinhold Shenja Leiser 6. Februar 2006 2/28 Gliederung Einführung Transitive Hülle Definition Iterative Algorithmen 1. Naive
MehrEffiziente Algorithmen und Datenstrukturen: Kürzeste Wege
Effiziente Algorithmen und Datenstrukturen: Kürzeste Wege Kürzeste Wege Zentrale Frage: Wie komme ich am schnellsten von A nach B? B A Kürzeste Wege Zentrale Frage: Wie komme ich am schnellsten von A nach
MehrKapitel 12: Schnelles Bestimmen der Frequent Itemsets
Einleitung In welchen Situationen ist Apriori teuer, und warum? Kapitel 12: Schnelles Bestimmen der Frequent Itemsets Data Warehousing und Mining 1 Data Warehousing und Mining 2 Schnelles Identifizieren
MehrSeminar über aktuelle Forschungsthemen in der Algorithmik, Dozent Prof. Dr. Alt;
Seminar über aktuelle Forschungsthemen in der Algorithmik, Dozent Prof. Dr. Alt Referent Matthias Rost 1 Einleitung Definitionen Maximaler Dynamischer Fluss Algorithmus von Ford-Fulkerson Techniken zur
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei
MehrAbgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,
MehrFortgeschrittene 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
MehrWiederholung zu Flüssen
Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 13 (18.6.2014) Binäre Suchbäume IV (Rot Schwarz Bäume) Algorithmen und Komplexität Rot Schwarz Bäume Ziel: Binäre Suchbäume, welche immer
Mehrkontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung
Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben
MehrKapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung
Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Pfade. Traveling Salesman Problem. Flüsse in Netzwerken
MehrPolygontriangulierung
Vorlesung Algorithmische Geometrie Polygone triangulieren INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.05.2012 Das Kunstgalerie-Problem Aufgabe: Installiere ein Kamerasystem
MehrSingle Source Sortest Path Negative Kreise All-Pair Shortest Path Problem Minimum Mean Cycle Zusammenfassung. Shortest Paths
Shortest Paths Label Correcting Algorithms Florian Reitz Universität Trier Fachbereich IV Fach Informatik Seminar Netzwerkalgorithmen WS 2005/2006 Einleitung: Problemübersicht Eben: Schnelle Algorithmen
MehrDynamische Programmierung. Problemlösungsstrategie der Informatik
als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung
MehrÜber die Berechnung der Optimalwertfunktion in zeitabhängigen Netzwerken
Über die Berechnung der Optimalwertfunktion in zeitabhängigen Netzwerken Sebastian Kluge Elgersburg, 3.3.2010 Kürzeste Wege in Netzwerken H 288 km 426 km B K 194 km F 609 km 225 km N 439 km 204 km S 166
MehrKomplexität von Algorithmen
Komplexität von Algorithmen Prof. Dr. Christian Böhm WS 07/08 in Zusammenarbeit mit Gefei Zhang http://www.dbs.informatik.uni-muenchen.de/lehre/nfinfosw Ressourcenbedarf - Größenordnungen Prozesse verbrauchen
MehrKostenmaße. F3 03/04 p.188/395
Kostenmaße Bei der TM nur ein Kostenmaß: Ein Schritt (Konfigurationsübergang) kostet eine Zeiteinheit; eine Bandzelle kostet eine Platzeinheit. Bei der RAM zwei Kostenmaße: uniformes Kostenmaß: (wie oben);
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrFelix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09
Felix Brandt, Jan Johannsen Vorlesung im Wintersemester 2008/09 Übersicht Übersicht Definition Ein Matching in G = (V, E) ist eine Menge M E mit e 1 e 2 = für e 1, e 2 M, e 1 e 2 Ein Matching M ist perfekt,
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University
Mehrabgeschlossen unter,,,, R,
Was bisher geschah Turing-Maschinen können Sprachen L X akzeptieren entscheiden Funktionen berechnen f : X X (partiell) Menge aller Turing-akzeptierbaren Sprachen genau die Menge aller Chomsky-Typ-0-Sprachen
MehrDurchschnitt von Matroiden
Durchschnitt von Matroiden Satz von Edmonds Dany Sattler 18. Januar 2007/ Seminar zur ganzzahligen Optimierung / Wallenfels Definition: Unabhängigkeitssystem Definition: Ein Mengensystem (S, J ) nennt
MehrMaximale s t-flüsse in Planaren Graphen
Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen June 18, 2012 Ignaz Rutter INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
MehrUndirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time
Universität Konstanz Mathematisch-naturwissenschaftliche Sektion Fachbereich Mathematik und Statistik Wintersemester 2001/02 Mikkel Thorup: Undirected Single-Source Shortest Paths with Positive Integer
MehrAnwendungen des Fréchet-Abstandes Das Constrained Free Space Diagram zur Analyse von Körperbewegungen
Anwendungen des Fréchet-Abstandes Das Constrained Free Space Diagram zur Analyse von Körperbewegungen David Knötel Freie Universität Berlin, Institut für Informatik Seminar über Algorithmen Leitfaden Wiederholung
MehrUniversität des Saarlandes
Universität des Saarlandes FR 6.2 Informatik Prof. Dr. Kurt Mehlhorn WiSe 2015/2016 Übungen zu Ideen der Informatik http://www.mpi-inf.mpg.de/departments/algorithms-complexity/teaching/winter15/ideen/
MehrKombinatorische 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 Vorlesungen 5 und 6 Programm
MehrMit kombinatorischer Optimierung zur Nadel im Heuhaufen
Mit kombinatorischer Optimierung zur Nadel im Heuhaufen Rico Zenklusen ETH Zurich Was ist kombinatorische Optimierung? Finde beste/gute Lösung in einer riesigen Menge endlich vieler Möglichkeiten. / 0
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale
MehrAlgorithmische 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
Mehr5.4 Das Rucksackproblem
Problemstellung: 5.4 Das Rucksackproblem Eingabe: Ganzzahlige Volumina a 1,..., a n > 0, Nutzenwerte c 1,..., c n > 0, ganzzahlige Volumenschranke b. Aufgabe: Packe die Objekte in einen Rucksack von Volumen
MehrDatenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de
Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: Anfragegraph Anfragen dieses Typs können als Graph dargestellt werden: Der
MehrLokalisierung von inneren und äußeren Grenzen in Sensornetzwerken
Lokalisierung von inneren und äußeren Grenzen in Sensornetzwerken Seminararbeit: Algorithmen für Sensornetzwerke Thomas Gramer 1 Thomas Gramer: KIT Universität des Landes Baden-Württemberg und nationales
MehrLange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege
Lange Nacht der Wissenschaft Ein Klassiker Die Mathematik der Kürzesten Wege 09.06.2007 schlechte@zib.de Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) http://www.zib.de/schlechte 2 Überblick
MehrAlgorithmentheorie. 13 - Maximale Flüsse
Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk
MehrScheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.
Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Tardos Janick Martinez Esturo jmartine@techfak.uni-bielefeld.de xx.08.2007 Sommerakademie Görlitz Arbeitsgruppe 5 Gliederung
Mehr11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P
11 Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen, Entscheidbarkeit, P 239/ 333 Einführung in die NP-Vollständigkeitstheorie
MehrAlgorithmen und Datenstrukturen Kapitel 6 Komplexitätstheorie
Algorithmen und Datenstrukturen Kapitel 6 Komplexitätstheorie Einführung in P und NP Frank Heitmann heitmann@informatik.uni-hamburg.de 11. November 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de
MehrSteiner Bäume. Dipl.-Math. Maria Kandyba Lehrstuhl für Algorithm Engineering, LS VO 15. Januar 2007
Steiner Bäume Dipl.-Math. Maria Kandyba Lehrstuhl für Algorithm Engineering, LS11 12 VO 15. Januar 2007 Überblick Einführung Definition und Motivation Komplexität Approximationsalgorithmen Distanznetzwerk
MehrÜbersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.
Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.
MehrKapitel MK:IV. IV. Modellieren mit Constraints
Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren
MehrKapitel 9 Algorithm. Geometrie. Kürzeste Abstände Konvexe Hülle
Kapitel 9 Algorithm. Geometrie Kürzeste Abstände Konvexe Hülle Überblick Teilgebiet der Informatik, in dem es um die Entwicklung effizienter Algorithmen und die Bestimmung der algorithmischen Komplexität
MehrNP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984)
NP-Vollständigkeit Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) 0 Übersicht: Einleitung Einteilung in Klassen Die Klassen P und NP
MehrProseminar Online Algorithmen, Prof. Dr. Rolf Klein
Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des
MehrGraphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik
Vorlesung für den Bereich Diplom/Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrNP-vollständig - Was nun?
Kapitel 4 NP-vollständig - Was nun? Wurde von einem Problem gezeigt, dass es NP-vollständig ist, ist das Problem damit nicht gelöst oder aus der Welt geschafft. In der Praxis muss es trotzdem gelöst werden.
MehrKürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik
Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus
MehrUberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1
Vorlesung Geometrische Algorithmen Sichtbarkeitsgraphen und kurzeste Wege Sven Schuierer Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale
Mehr4 Greedy-Algorithmen (gierige Algorithmen)
Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine
MehrTheoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke
Theoretische Informatik 1 WS 2007/2008 Prof. Dr. Rainer Lütticke Inhalt der Vorlesung Grundlagen - Mengen, Relationen, Abbildungen/Funktionen - Datenstrukturen - Aussagenlogik Automatentheorie Formale
Mehr2. Optimierungsprobleme 6
6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen
MehrAlgorithmus zum Graphen-Matching. und. Anwendung zur inhaltsbasierten Bildersuche
Algorithmus zum Graphen-Matching und Anwendung zur inhaltsbasierten Bildersuche Gliederung 1. Einführung 2. Algorithmus Beschreibung Beispiel Laufzeit 3. Anwendung des Algorithmus Seite 1 von 18 1. Einführung
MehrDie Komplexitätsklassen P und NP
Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und
MehrDatenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität
Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Clustering: Partitioniere Objektmenge in Gruppen(Cluster), so dass sich Objekte in einer Gruppe ähnlich sind und Objekte
MehrLineares Programmieren
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.05.2011 Nachtrag Art Gallery Problem Lässt sich der Triangulierungs-Algorithmus
MehrKapitel 4. Optimierungsalgorithmen. Technische Universität Wien. Gunnar Klau Technische Universität Wien. Institut für Computergraphik und Algorithmen
Kapitel 4 Optimierungsalgorithmen Gunnar Klau Institut für Computergraphik und Algorithmen 1 Gliederung Kombinatorische vs. Ganzzahlige Optimierung Exakte Verfahren Branch-and-Bound Schnittebenenverfahren
MehrApproximation in Batch and Multiprocessor Scheduling
Approximation in Batch and Multiprocessor Scheduling Tim Nonner IBM Research Albert-Ludwigs-Universität Freiburg 3. Dezember 2010 Scheduling Zeit als Ressource und Beschränkung Formaler Gegeben sind Jobs
MehrRechnerische Komplexität
Proseminar Effiziente Algorithmen SS 2002 Rechnerische Komplexität Ulrike Krönert (34180) 0. Inhalt 1. Einführung 2. Algorithmen und Komplexität 2.1. Algorithmen 2.2. Laufzeitabschätzung 2.3. Polynomialzeit
MehrNichtdeterministische Platzklassen
Sommerakademie 2010 Rot an der Rot AG 1: Wieviel Platz brauchen Algorithmen wirklich? Nichtdeterministische Platzklassen Ulf Kulau August 23, 2010 1 Contents 1 Einführung 3 2 Nichtdeterminismus allgemein
MehrBinary Decision Diagrams (Einführung)
Binary Decision Diagrams (Einführung) Binary Decision Diagrams (BDDs) sind bestimmte Graphen, die als Datenstruktur für die kompakte Darstellung von booleschen Funktionen benutzt werden. BDDs wurden von
MehrLängen-beschränkte Schnitte und Flüsse
Seminarausarbeitung über G. Baiers et al. Abhandlung über: Längen-beschränkte Schnitte und Flüsse (oder: Length-bounded Cuts and Flows) Frank Obermüller 06. Dezember 2009 1 Einleitung Sei G = (V, E) ein
MehrAlgorithmische Methoden für schwere Optimierungsprobleme
Algorithmische Methoden für schwere Optimierungsprobleme Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund
MehrEinführung in die Informatik
Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester
MehrKapitel 4: Minimale spannende Bäume Gliederung der Vorlesung
Kapitel : Minimale spannende Bäume Gliederung der Vorlesung. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman
Mehr