Algorithmen für Routenplanung Übung 2 Thomas Pajor Lehrstuhl für Algorithmik I Institut für theoretische Informatik Karlsruher Institut für Technologie Universität Karlsruhe (TH) 25. Mai 2009 Thomas Pajor – Algorithmen für Routenplanung Lehrstuhl für Algorithmik I Institut für theoretische Informatik Karlsruher Institut für Technologie Universität Karlsruhe (TH) 1/ 5 Aufgabe 1: Bidirektionale Suche Gegeben: Graph G = (V , E , len), kürzeste Wege eindeutig. Breche ab sobald Knoten v abgearbeitet wird der von der jeweils anderen Suche bereits abgearbeitet wurde. Ausgegebener Weg ist P := [s, . . . , v , . . . , t] Thomas Pajor – Algorithmen für Routenplanung Lehrstuhl für Algorithmik I Institut für theoretische Informatik Karlsruher Institut für Technologie Universität Karlsruhe (TH) 2/ 5 Aufgabe 1: Bidirektionale Suche Gegeben: Graph G = (V , E , len), kürzeste Wege eindeutig. Breche ab sobald Knoten v abgearbeitet wird der von der jeweils anderen Suche bereits abgearbeitet wurde. Ausgegebener Weg ist P := [s, . . . , v , . . . , t] Aufgabe: (a) Zeigen Sie: P ist nicht notwendigerweise der kürzeste Weg. Thomas Pajor – Algorithmen für Routenplanung Lehrstuhl für Algorithmik I Institut für theoretische Informatik Karlsruher Institut für Technologie Universität Karlsruhe (TH) 2/ 5 Aufgabe 1: Bidirektionale Suche Gegeben: Graph G = (V , E , len), kürzeste Wege eindeutig. Breche ab sobald Knoten v abgearbeitet wird der von der jeweils anderen Suche bereits abgearbeitet wurde. Ausgegebener Weg ist P := [s, . . . , v , . . . , t] Aufgabe: (a) Zeigen Sie: P ist nicht notwendigerweise der kürzeste Weg. → − ← − (b) Der kürzeste Weg P 0 enthält ausschließlich Knoten aus S ∪ S . Thomas Pajor – Algorithmen für Routenplanung Lehrstuhl für Algorithmik I Institut für theoretische Informatik Karlsruher Institut für Technologie Universität Karlsruhe (TH) 2/ 5 Aufgabe 1: Bidirektionale Suche Gegeben: Graph G = (V , E , len), kürzeste Wege eindeutig. Breche ab sobald Knoten v abgearbeitet wird der von der jeweils anderen Suche bereits abgearbeitet wurde. Ausgegebener Weg ist P := [s, . . . , v , . . . , t] Aufgabe: (a) Zeigen Sie: P ist nicht notwendigerweise der kürzeste Weg. → − ← − (b) Der kürzeste Weg P 0 enthält ausschließlich Knoten aus S ∪ S . (c) Geben Sie einen Algorithmus an der den kürzesten Weg findet. Thomas Pajor – Algorithmen für Routenplanung Lehrstuhl für Algorithmik I Institut für theoretische Informatik Karlsruher Institut für Technologie Universität Karlsruhe (TH) 2/ 5 Aufgabe 1: Bidirektionale Suche Gegeben: Graph G = (V , E , len), kürzeste Wege eindeutig. Breche ab sobald Knoten v abgearbeitet wird der von der jeweils anderen Suche bereits abgearbeitet wurde. Ausgegebener Weg ist P := [s, . . . , v , . . . , t] Aufgabe: (a) Zeigen Sie: P ist nicht notwendigerweise der kürzeste Weg. → − ← − (b) Der kürzeste Weg P 0 enthält ausschließlich Knoten aus S ∪ S . (c) Geben Sie einen Algorithmus an der den kürzesten Weg findet. (d) Zeigen Sie, dass das Abbruchkriterium aus der Vorlesung → − ← − µ ≤ minKey( Q ) + minKey( Q ) sogar stärker ist. Thomas Pajor – Algorithmen für Routenplanung Lehrstuhl für Algorithmik I Institut für theoretische Informatik Karlsruher Institut für Technologie Universität Karlsruhe (TH) 2/ 5 Aufgabe: A* , Aufwärmübung Gegeben: Graph G = (V , E , len) und eine Potentialfunktion π : V → R. Weiterhin sei Gπ := (V , E , lenπ ) mit lenπ (u, v ) := len(u, v ) − π(u) + π(v ). Thomas Pajor – Algorithmen für Routenplanung Lehrstuhl für Algorithmik I Institut für theoretische Informatik Karlsruher Institut für Technologie Universität Karlsruhe (TH) 3/ 5 Aufgabe: A* , Aufwärmübung Gegeben: Graph G = (V , E , len) und eine Potentialfunktion π : V → R. Weiterhin sei Gπ := (V , E , lenπ ) mit lenπ (u, v ) := len(u, v ) − π(u) + π(v ). Aufgabe: (a) Zeigen Sie: Dijkstra’s Algorithmus auf Gπ entspricht A* mit Potentialen π. Thomas Pajor – Algorithmen für Routenplanung Lehrstuhl für Algorithmik I Institut für theoretische Informatik Karlsruher Institut für Technologie Universität Karlsruhe (TH) 3/ 5 Aufgabe: A* , Aufwärmübung Gegeben: Graph G = (V , E , len) und eine Potentialfunktion π : V → R. Weiterhin sei Gπ := (V , E , lenπ ) mit lenπ (u, v ) := len(u, v ) − π(u) + π(v ). Aufgabe: (a) Zeigen Sie: Dijkstra’s Algorithmus auf Gπ entspricht A* mit Potentialen π. (b) Welche Anforderung(en) müssen an π gestellt werden, damit beide Algorithmen den kürzesten Weg finden? Thomas Pajor – Algorithmen für Routenplanung Lehrstuhl für Algorithmik I Institut für theoretische Informatik Karlsruher Institut für Technologie Universität Karlsruhe (TH) 3/ 5 Bidirektionaler A* − − − auf ← Gegegeben: Graph G = (V , E , len) und → π auf G , bzw. ← π G . Das Abbruchkriterium sei → − ← − µ ≤ minKey( Q ) + minKey( Q ). Thomas Pajor – Algorithmen für Routenplanung Lehrstuhl für Algorithmik I Institut für theoretische Informatik Karlsruher Institut für Technologie Universität Karlsruhe (TH) 4/ 5 Bidirektionaler A* − − − auf ← Gegegeben: Graph G = (V , E , len) und → π auf G , bzw. ← π G . Das Abbruchkriterium sei → − ← − µ ≤ minKey( Q ) + minKey( Q ). Aufgabe: − − (a) Zeigen Sie dass i.A. nicht der KW gefunden wird, wenn → π und ← π unabhängig gewählt werden. Thomas Pajor – Algorithmen für Routenplanung Lehrstuhl für Algorithmik I Institut für theoretische Informatik Karlsruher Institut für Technologie Universität Karlsruhe (TH) 4/ 5 Bidirektionaler A* − − − auf ← Gegegeben: Graph G = (V , E , len) und → π auf G , bzw. ← π G . Das Abbruchkriterium sei → − ← − µ ≤ minKey( Q ) + minKey( Q ). Aufgabe: − − (a) Zeigen Sie dass i.A. nicht der KW gefunden wird, wenn → π und ← π unabhängig gewählt werden. (b) Beweisen Sie die Korrektheit des Abbruchkriteriums wenn → − − = const gilt. π +← π Thomas Pajor – Algorithmen für Routenplanung Lehrstuhl für Algorithmik I Institut für theoretische Informatik Karlsruher Institut für Technologie Universität Karlsruhe (TH) 4/ 5 Der ALT-Algorithmus Gegegeben: Graph G = (V , E , len), |V | = n und ` ∈ V eine Landmarke. Kürzeste Wege seien eindeutig. Thomas Pajor – Algorithmen für Routenplanung Lehrstuhl für Algorithmik I Institut für theoretische Informatik Karlsruher Institut für Technologie Universität Karlsruhe (TH) 5/ 5 Der ALT-Algorithmus Gegegeben: Graph G = (V , E , len), |V | = n und ` ∈ V eine Landmarke. Kürzeste Wege seien eindeutig. Aufgabe: (a) Zeigen Sie dass bei s-t-Anfragen, wobei t auf dem KW von s nach ` liegt, ALT ausschließlich Knoten auf dem kürzesten s-t-Weg abarbeitet. Thomas Pajor – Algorithmen für Routenplanung Lehrstuhl für Algorithmik I Institut für theoretische Informatik Karlsruher Institut für Technologie Universität Karlsruhe (TH) 5/ 5 Der ALT-Algorithmus Gegegeben: Graph G = (V , E , len), |V | = n und ` ∈ V eine Landmarke. Kürzeste Wege seien eindeutig. Aufgabe: (a) Zeigen Sie dass bei s-t-Anfragen, wobei t auf dem KW von s nach ` liegt, ALT ausschließlich Knoten auf dem kürzesten s-t-Weg abarbeitet. (b) Geben Sie ein Gegenbeispiel zu (a) an, falls die KW nicht eindeutig sind. Thomas Pajor – Algorithmen für Routenplanung Lehrstuhl für Algorithmik I Institut für theoretische Informatik Karlsruher Institut für Technologie Universität Karlsruhe (TH) 5/ 5 Der ALT-Algorithmus Gegegeben: Graph G = (V , E , len), |V | = n und ` ∈ V eine Landmarke. Kürzeste Wege seien eindeutig. Aufgabe: (a) Zeigen Sie dass bei s-t-Anfragen, wobei t auf dem KW von s nach ` liegt, ALT ausschließlich Knoten auf dem kürzesten s-t-Weg abarbeitet. (b) Geben Sie ein Gegenbeispiel zu (a) an, falls die KW nicht eindeutig sind. (c) Zeigen Sie, der Suchraum von ALT kann sich um einen Faktor O(n) gegenüber Dijkstra’s Algorithmus verschlechtern. Thomas Pajor – Algorithmen für Routenplanung Lehrstuhl für Algorithmik I Institut für theoretische Informatik Karlsruher Institut für Technologie Universität Karlsruhe (TH) 5/ 5