Wiederholung 1/23 Online Algorithmen • Eigenschaften von Online Algorithmen • Unvollständige (Vorab-)Information • Sequentielle Anfragen • Abarbeitung der aktuellen Anfragen ohne Information über zukünftige Anfragen • Beispiele: Paging, Bin-Packing, Kürzeste Wege • Definition: Ein Online Algorithmus ist eine Funktion A : I * → O , die jeder Anfrage bzw. Anfragesequenz Σ ∈ I n auf der Basis bekannter Informationen eine Antwort bzw. Antwortsequenz Ω aus O n+1 zuordnet. Die Kostenfunktion c ordnet dem Paar (Σ, Ω) Kosten zu, die die Güte der Lösung A(Σ) für das gegebene Online Problem P (I , O , c ) bestimmen. 2 Online Algorithmen — Kompetitivität • Kompetitivität( [engl.] to compete = wettstreiten ) • Idee Vergleiche die Kosten der Lösung A(Σ) mit den Kosten der optimalen Lösung OPT (Σ) : c (Σ, A(Σ)) c (Σ, OPT (Σ)) (OPT (P )= OPT (P 0 ) — Optimale Lösung entspricht Offline Lösung.) • Bestimme Worst Case Ratio max Σ∈I n { c (Σ, A(Σ)) c (Σ, OPT (Σ)) } • Ein Online Algorithmus A ist k-kompetitiv, wenn gilt: ∀Σ ∈ I n c (Σ, A(Σ)) ≤ k * c (Σ, OPT (Σ)) + a 3/23 Online Kürzeste Wege Probleme • Allgemeines Canadian Traveller Problem Gegeben: Graph G =(V , E ), Startknoten s , Zielknoten t , Kostenfunktion c Beliebig viele Kanten können beliebig lange blockiert sein. Gesucht: Reisestrategie, die an Knoten v aufgrund der aktuell bekannten Blockaden möglichst günstigen nächsten Knoten ausgibt ! • Offline Lösung: • Blockierte Kanten aus G löschen (G → G 0 ) • Dijkstra’s Algorithmus auf G 0 • Optimale, eindeutige Lösung • Keine günstige Online Lösung ! (→ Zusatzannahmen) 4
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Wiederholung
1 / 23
Online Algorithmen
• Eigenschaften von Online Algorithmen
• Unvollständige (Vorab-)Information• Sequentielle Anfragen• Abarbeitung der aktuellen Anfragen
ohne Information über zukünftige Anfragen
• Beispiele: Paging, Bin-Packing, Kürzeste Wege
• Definition: Ein Online Algorithmus ist eine Funktion A :
I∗ → O, die jeder Anfrage bzw. Anfragesequenz Σ ∈ I n auf
der Basis bekannter Informationen eine Antwort bzw.
Antwortsequenz Ω aus On+1 zuordnet. Die Kostenfunktion
c ordnet dem Paar (Σ,Ω) Kosten zu, die die Güte der
Lösung A(Σ) für das gegebene Online Problem P(I , O, c)bestimmen.
2 / 23
Online Algorithmen — Kompetitivität
• Kompetitivität( [engl.] to compete = wettstreiten )
• Idee Vergleiche die Kosten der Lösung A(Σ) mit den
Kosten der optimalen Lösung OPT (Σ) :
c(Σ, A(Σ))
c(Σ, OPT (Σ))
(OPT (P) = OPT (P ′) — Optimale Lösung entspricht
Offline Lösung.)
• Bestimme Worst Case Ratio
maxΣ∈Inc(Σ, A(Σ))
c(Σ, OPT (Σ))
• Ein Online Algorithmus A ist k-kompetitiv, wenn gilt:
∀Σ ∈ Inc(Σ, A(Σ)) ≤ k ∗ c(Σ, OPT (Σ)) + a
3 / 23
Online Kürzeste Wege Probleme
• Allgemeines Canadian Traveller Problem
Gegeben: Graph G = (V , E ), Startknoten s, Zielknoten t ,
Kostenfunktion c Beliebig viele Kanten können beliebig
lange blockiert sein.
Gesucht: Reisestrategie, die an Knoten v aufgrund der
aktuell bekannten Blockaden möglichst günstigen
nächsten Knoten ausgibt !
• Offline Lösung:
• Blockierte Kanten aus G löschen (G → G′)• Dijkstra’s Algorithmus auf G′
• Optimale, eindeutige Lösung
• Keine günstige Online Lösung ! (→ Zusatzannahmen)
4 / 23
Recoverable CTP
• Recoverable Canadian Traveller Problem
Gegeben: Graph G = (V , E ), Startknoten s, Zielknoten t ,
Kostenfunktion c, Recoverfunktion tr Beliebig viele Kanten
e ∈ E können für tr (e) blockiert sein.
Gesucht: Reisestrategie, die an Knoten v aufgrund der
aktuell bekannten Blockaden möglichst günstigen
nächsten Knoten ausgibt !
• Bedingungen an tr :
• tr (e) ≤ c(e′), für alle Kantenpaare (e, e′) → Bereist man
eine Kante, so sind alle zuvor festgestellten Blockaden
behoben, es sei denn, sie wurden erneut blockiert.• tr (v ) ≥ tr (e
′), für alle adjazenten Kanten → Wartet man an
einem Knoten tr (v ), so sind anschliessend alle Kantenwieder frei, es sei denn, sie wurden erneut blockiert.
• Immernoch keine günstige Online Lösung
5 / 23
Stochastisches Recoverable CTP
(srCTP)• Zusätzliche Information : Stauprognosen für bestimmte
Strassen
• Stochastisches Recoverable Canadian Traveller Problem
Gegeben: Graph G = (V , E ), Startknoten s, Zielknoten t ,
Kostenfunktion c, Recoverfunktion tr ,
Blockadewahrscheinlickeit p Beliebig viele Kanten e ∈ E
können mit Wahrscheinlichkeit p(e) für tr (e) blockiert sein.
Gesucht: Reisestrategie, die an Knoten v aufgrund der
aktuell bekannten Blockaden möglichst günstigen
nächsten Knoten ausgibt !
• Lösungsidee: Dijkstra-ähnlicher Algorithmus mit neuer
Kostenfunktion und mehreren alternativen Kanten an
jedem Knoten v .
• Neue Kostenfunktion Erwartete Reisezeit E (v , t ) von
Knoten v nach Zielknoten t6 / 23
srCTP — Algorithmus, Idee
• Beginne bei Zielknoten t mit E (t , t ) = 0, PL(t ) = ∅
• Setze für v 6= t ∈ V E (v , t ) = ∞, PL(t ) = ∅
• Suche u ∈ V mit minimaler E (u, t )• Füge jede Kante (u, ui ) in PL(ui ) ein• Sortiere PL(ui ) nach c(u, ui ) + E(u)• Bestimme minimales E(ui , t ) aus neuer PL(ui )
7 / 23
srCTP — Prioritätslisten
• Prioritätslisten PL(v ) verwalten die adjazenten Kanten zu
v geordnet nach Erwartete Reisezeit E (v , t )
• PL(v ) sind vorläufig, solange v nicht bearbeitet wurde
• PL(v ) gibt die Strategie an mit der ein Reisender von vausgehend den günstigsten Weg zu t bestimmt: