Algorithmen für Routenplanung 13. Vorlesung, Sommersemester 2017 Tobias Zündorf 26. Juni 2017

Größe: px
Ab Seite anzeigen:

Download "Algorithmen für Routenplanung 13. Vorlesung, Sommersemester 2017 Tobias Zündorf 26. Juni 2017"

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

Mehr

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

Mehr

Algorithmen für Routenplanung

Algorithmen 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

Mehr

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

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

Mehr

Praktikum 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. Praktikum Routenplanung Themenvorstellung & Gruppeneinteilung, Wintersemester 2015/2016 Moritz Baum, Ben Strasser, Tobias Zündorf 19. Oktober 2015 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF.

Mehr

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

Mehr

Schnelle und genaue Routenplanung

Schnelle 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

Mehr

Praktikum Routenplanung Vorbesprechung, Wintersemester 2012/2013 Moritz Baum, Julian Dibbelt, Thomas Pajor, Ben Strasser 17.

Praktikum 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

Mehr

Algorithmen für Routenplanung

Algorithmen 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

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

2. Übungsblatt zu Algorithmen II im WS 2016/2017

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

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

Highway Hierarchies. Kristian Dannowski, Matthias Hoeschel

Highway 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

Mehr

Christian Schulz und Johannes Singler

Christian 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

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

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

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen 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

Mehr

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

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

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen 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

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Effiziente 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

Mehr

4. Kreis- und Wegeprobleme Abstände in Graphen

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

Mehr

Routing Algorithmen. Begriffe, Definitionen

Routing 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

Mehr

Customization (Zuschneiden)

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

Mehr

Vorlesung 4 BETWEENNESS CENTRALITY

Vorlesung 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

Ü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

Mehr

5.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) 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!

Mehr

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.

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

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 June 1, 2015 Ignaz Rutter INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

ADS: Algorithmen und Datenstrukturen 2

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

Mehr

Theoretische Grundlagen der Informatik

Theoretische 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

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

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

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

Mehr

Das Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering

Das 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

Mehr

Einleitung. Komplexe Anfragen. Suche ist teuer. VA-File Verfeinerungen. A0-Algo. GeVAS. Schluß. Folie 2. Einleitung. Suche ist teuer.

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

Mehr

Algorithmen zur Berechnung der Transitiven Hülle einer Datenbankrelation

Algorithmen 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

Mehr

Effiziente Algorithmen und Datenstrukturen: Kürzeste Wege

Effiziente 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

Mehr

Kapitel 12: Schnelles Bestimmen der Frequent Itemsets

Kapitel 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

Mehr

Seminar über aktuelle Forschungsthemen in der Algorithmik, Dozent Prof. Dr. Alt;

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

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen 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

Mehr

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Abgabe: (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,

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

Wiederholung zu Flüssen

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

Mehr

Informatik II, SS 2014

Informatik 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

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie 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

Mehr

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 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

Mehr

Polygontriangulierung

Polygontriangulierung 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

Mehr

Single Source Sortest Path Negative Kreise All-Pair Shortest Path Problem Minimum Mean Cycle Zusammenfassung. Shortest Paths

Single 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

Mehr

Dynamische Programmierung. Problemlösungsstrategie der Informatik

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

Mehr

Komplexität von Algorithmen

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

Mehr

Kostenmaße. F3 03/04 p.188/395

Kostenmaß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);

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Felix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09

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

Mehr

ADS: Algorithmen und Datenstrukturen 2

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

Mehr

abgeschlossen unter,,,, R,

abgeschlossen 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

Mehr

Durchschnitt von Matroiden

Durchschnitt 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

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 June 18, 2012 Ignaz Rutter INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time

Undirected 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

Mehr

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

Mehr

Universität des Saarlandes

Universitä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/

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 Vorlesungen 5 und 6 Programm

Mehr

Mit kombinatorischer Optimierung zur Nadel im Heuhaufen

Mit 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

Mehr

Datenstrukturen & Algorithmen

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

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

5.4 Das Rucksackproblem

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

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

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

Mehr

Lokalisierung von inneren und äußeren Grenzen in Sensornetzwerken

Lokalisierung 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

Mehr

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

Lange 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

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

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

Mehr

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Scheduling 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

Mehr

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

Mehr

Algorithmen und Datenstrukturen Kapitel 6 Komplexitätstheorie

Algorithmen 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

Mehr

Steiner 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, 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: 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.

Mehr

Kapitel MK:IV. IV. Modellieren mit Constraints

Kapitel 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

Mehr

Kapitel 9 Algorithm. Geometrie. Kürzeste Abstände Konvexe Hülle

Kapitel 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

Mehr

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

Mehr

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Proseminar 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

Mehr

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik

Graphenalgorithmen 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

Mehr

Datenstrukturen & Algorithmen

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

Mehr

NP-vollständig - Was nun?

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

Mehr

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

Mehr

Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1

Uberblick 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

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 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

Mehr

Theoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke

Theoretische 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

Mehr

2. Optimierungsprobleme 6

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

Mehr

Algorithmus zum Graphen-Matching. und. Anwendung zur inhaltsbasierten Bildersuche

Algorithmus 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

Mehr

Die Komplexitätsklassen P und NP

Die 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

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen 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

Mehr

Lineares Programmieren

Lineares 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

Mehr

Kapitel 4. Optimierungsalgorithmen. Technische Universität Wien. Gunnar Klau Technische Universität Wien. Institut für Computergraphik und Algorithmen

Kapitel 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

Mehr

Approximation in Batch and Multiprocessor Scheduling

Approximation 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

Mehr

Rechnerische Komplexität

Rechnerische 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

Mehr

Nichtdeterministische Platzklassen

Nichtdeterministische 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

Mehr

Binary Decision Diagrams (Einführung)

Binary 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

Mehr

Längen-beschränkte Schnitte und Flüsse

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

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische 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

Mehr

Einführung in die Informatik

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

Mehr

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

Kapitel 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