Übung 8 – Algorithmen II - KIT – ITI Algorithmik II

Werbung
Übung 8 – Algorithmen II
Moritz Kobitzsch, Dennis Schieferdecker – {kobitzsch,schieferdecker}@kit.edu
http://algo2.iti.kit.edu/AlgorithmenII.php
Institut für Theoretische Informatik - Algorithmik II
0
Schieferdecker:
KIT –Kobitzsch,
Universität des Landes
Baden-Württemberg und
nationales
Forschungszentrum
in der Helmholtz-Gemeinschaft
Übung
8 – Algorithmen
II
Institut für Theoretische Informatik
www.kit.edu
Algorithmik II
Ankündigungen
Vorlesung 17.1. - 26.1.:
Johannes Fischer (String Algorithmen)
→ vermehrter Tafelanschrieb (für Beispiele)
Vorlesung 31.1. - 9.2.:
Nodari Sitchinava (Geometrie Algorithmen)
→ auf Englisch! (bitte melden, falls problematisch)
Übung 9.2.:
Wiederholung / Fragen zur Klausur
→ im Forum, per eMail Themenwünsche äußern
Übungsblatt 7 (ab 24.1.):
Strings + Geometrie
→ vor Vorlesung zu Geometrie! (sonst Übungsblatt in letzter Vorlesungswoche)
1
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Themenübersicht
Approximationsalgorithmen
(schwierige Probleme gut abschätzen)
parametrisierte Algorithmen
(schwierige Probleme in Spezialfällen exakt lösen)
Online Algorithmen
(Probleme mit beschränkter Information gut abschätzen)
2
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Grundlagen
Warum Lösungen abschätzen?
es gibt “schwierige” Probleme (z.B. TSP mit exponentieller Laufzeit)
→ exakte Berechnung nicht möglich zu unseren Lebzeiten
vernünftige Näherungen effizient berechnen
→ exakte/optimale Ergebnisse nicht immer wichtig
→ “gute” Lösungen genügen oft
→ aber Abstand zur korrekten Lösung wissenswert
Weglänge “lang”
3
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
√
Weglänge 8 + 16 2
Weglänge 24
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Gütemaß
Ein Algorithmus ALG hat einen Approximationsfaktor ρ, wenn gilt
w (ALG (I ))
≤ρ
w (OPT (I ))
f.a. Probleminstanzen I, OPT optimale Lösung, w Bewertungsfunktion
(hier für Minimierungsprobleme, ρ > 0 ist obere Schranke)
Beispiel:
ALG schätzt Distanz von Strecke x auf nächste Zweierpotenz 2dlog |x |e
OPT bestimmt korrekte Distanz |x |
⇒
4
w (ALG )
w (OPT )
=
2dlog |x |e
|x |
≤
(Zahlenbeispiel: |x | =
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
2log |x |+1
|x |
210
+1
=
2|x |
|x |
→
=2=ρ
211
210 +1
= 2−
2
210 +1
≈ 2)
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Klassen
Approximationsprobleme klassifzierbar durch
Laufzeit T (n, ε)
Approximationsfaktor ρ(n, ε)
Klassen an Approximationsproblemen
APX (approximable)
ρ = const ., T polynomiell in n
PTAS (polynomial time approximation scheme)
ρ = 1 ± ε, T polynomiell in n
FPTAS (fully polynomial time approximation scheme)
ρ = 1 ± ε, T polynomiell in n, 1ε
NPO
APX
FPTAS
PTAS
Beispiele:
1
⇒ T (n , ε ) = n ε , ρ (n , ε ) = 2
1
⇒ T (n , ε ) = n ε , ρ (n , ε ) = 1 − ε
⇒ T (n, ε) = nε, ρ(n, ε) = 1 + 2ε
5
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Klassen
Approximationsprobleme klassifzierbar durch
Laufzeit T (n, ε)
Approximationsfaktor ρ(n, ε)
Klassen an Approximationsproblemen
APX (approximable)
ρ = const ., T polynomiell in n
PTAS (polynomial time approximation scheme)
ρ = 1 ± ε, T polynomiell in n
FPTAS (fully polynomial time approximation scheme)
ρ = 1 ± ε, T polynomiell in n, 1ε
NPO
APX
FPTAS
PTAS
Beispiele:
1
⇒ T (n , ε ) = n ε , ρ (n , ε ) = 2
1
⇒ T (n , ε ) = n ε , ρ (n , ε ) = 1 − ε
⇒ T (n, ε) = nε, ρ(n, ε) = 1 + 2ε
5
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
(APX)
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Klassen
Approximationsprobleme klassifzierbar durch
Laufzeit T (n, ε)
Approximationsfaktor ρ(n, ε)
Klassen an Approximationsproblemen
APX (approximable)
ρ = const ., T polynomiell in n
PTAS (polynomial time approximation scheme)
ρ = 1 ± ε, T polynomiell in n
FPTAS (fully polynomial time approximation scheme)
ρ = 1 ± ε, T polynomiell in n, 1ε
NPO
APX
FPTAS
PTAS
Beispiele:
1
⇒ T (n , ε ) = n ε , ρ (n , ε ) = 2
1
⇒ T (n , ε ) = n ε , ρ (n , ε ) = 1 − ε
⇒ T (n, ε) = nε, ρ(n, ε) = 1 + 2ε
5
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
(APX)
(PTAS)
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Klassen
Approximationsprobleme klassifzierbar durch
Laufzeit T (n, ε)
Approximationsfaktor ρ(n, ε)
Klassen an Approximationsproblemen
APX (approximable)
ρ = const ., T polynomiell in n
PTAS (polynomial time approximation scheme)
ρ = 1 ± ε, T polynomiell in n
FPTAS (fully polynomial time approximation scheme)
ρ = 1 ± ε, T polynomiell in n, 1ε
NPO
APX
FPTAS
PTAS
Beispiele:
1
⇒ T (n , ε ) = n ε , ρ (n , ε ) = 2
1
⇒ T (n , ε ) = n ε , ρ (n , ε ) = 1 − ε
⇒ T (n, ε) = nε, ρ(n, ε) = 1 + 2ε
5
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
(APX)
(PTAS)
(FPTAS)
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP (NP-hart)
Problemstellung
Gegeben eine Menge an Punkten V in der Ebene
Finde Kreis minimaler Länge der alle Punkte abläuft
Wiederholung 2-Approximation (Algorithmus)
Graph G = (V , E ) (vollständig, ungerichtet)
bestimme MST T
verdopple Kanten von T → T 0
bestimme Eulerkreis EK auf T 0
wandle EK zu Hamiltonkreis HK
6
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
V
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP (NP-hart)
Problemstellung
Gegeben eine Menge an Punkten V in der Ebene
Finde Kreis minimaler Länge der alle Punkte abläuft
Wiederholung 2-Approximation (Algorithmus)
Graph G = (V , E ) (vollständig, ungerichtet)
bestimme MST T
verdopple Kanten von T → T 0
bestimme Eulerkreis EK auf T 0
wandle EK zu Hamiltonkreis HK
6
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Länge 1
Länge 2
G(V, E)
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP (NP-hart)
Problemstellung
Gegeben eine Menge an Punkten V in der Ebene
Finde Kreis minimaler Länge der alle Punkte abläuft
Wiederholung 2-Approximation (Algorithmus)
Graph G = (V , E ) (vollständig, ungerichtet)
bestimme MST T
verdopple Kanten von T → T 0
bestimme Eulerkreis EK auf T 0
wandle EK zu Hamiltonkreis HK
6
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
T
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP (NP-hart)
Problemstellung
Gegeben eine Menge an Punkten V in der Ebene
Finde Kreis minimaler Länge der alle Punkte abläuft
Wiederholung 2-Approximation (Algorithmus)
Graph G = (V , E ) (vollständig, ungerichtet)
bestimme MST T
verdopple Kanten von T → T 0
bestimme Eulerkreis EK auf T 0
wandle EK zu Hamiltonkreis HK
6
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
T0
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP (NP-hart)
Problemstellung
Gegeben eine Menge an Punkten V in der Ebene
Finde Kreis minimaler Länge der alle Punkte abläuft
Wiederholung 2-Approximation (Algorithmus)
3
Graph G = (V , E ) (vollständig, ungerichtet)
bestimme MST T
5
1
verdopple Kanten von T → T 0
bestimme Eulerkreis EK auf T 0
wandle EK zu Hamiltonkreis HK
2
6
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
6
EK
4
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP (NP-hart)
Problemstellung
Gegeben eine Menge an Punkten V in der Ebene
Finde Kreis minimaler Länge der alle Punkte abläuft
Wiederholung 2-Approximation (Algorithmus)
3
Graph G = (V , E ) (vollständig, ungerichtet)
bestimme MST T
5
1
verdopple Kanten von T → T 0
bestimme Eulerkreis EK auf T 0
wandle EK zu Hamiltonkreis HK
2
6
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
6
HK
4
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP (NP-hart)
Problemstellung
Gegeben eine Menge an Punkten V in der Ebene
Finde Kreis minimaler Länge der alle Punkte abläuft
Wiederholung 2-Approximation (Algorithmus)
3
Graph G = (V , E ) (vollständig, ungerichtet)
bestimme MST T
5
1
verdopple Kanten von T → T 0
bestimme Eulerkreis EK auf T 0
wandle EK zu Hamiltonkreis HK
2
6
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
6
HK
Weglänge 10
4
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP (NP-hart)
Problemstellung
Gegeben eine Menge an Punkten V in der Ebene
Finde Kreis minimaler Länge der alle Punkte abläuft
Wiederholung 2-Approximation (Algorithmus)
6
Graph G = (V , E ) (vollständig, ungerichtet)
bestimme MST T
5
1
verdopple Kanten von T → T 0
bestimme Eulerkreis EK auf T 0
wandle EK zu Hamiltonkreis HK
4
6
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
2
OP T optimale
Weglänge 6
3
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
Wiederholung 2-Approximation (Beweis)
Definitionen:
w ((V , E )) =
ˆ Summe aller Kantengewichte von E
OPT =
ˆ kürzester Hamiltonkreis auf G
w (OPT ) > w (T )
w (T 0 )
⇒ 2 · w (OPT ) ≥
⇒ 2 · w (OPT ) ≥ w (EK )
⇒ 2 · w (OPT ) ≥ w (HK )
(MST enthält alle Knoten und ist minimal)
(Kantenverdopplung)
(w (T 0 ) = w (EK ): gleiche Kanten)
(w (EK ) ≥ w (HK ): Abkürzungen)
⇒ w (HK ) ≤ 2 · w (OPT )
T
7
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
Wiederholung 2-Approximation (Beweis)
Definitionen:
w ((V , E )) =
ˆ Summe aller Kantengewichte von E
OPT =
ˆ kürzester Hamiltonkreis auf G
w (OPT ) > w (T )
w (T 0 )
⇒ 2 · w (OPT ) ≥
⇒ 2 · w (OPT ) ≥ w (EK )
⇒ 2 · w (OPT ) ≥ w (HK )
(MST enthält alle Knoten und ist minimal)
(Kantenverdopplung)
(w (T 0 ) = w (EK ): gleiche Kanten)
(w (EK ) ≥ w (HK ): Abkürzungen)
⇒ w (HK ) ≤ 2 · w (OPT )
T
7
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
Wiederholung 2-Approximation (Beweis)
Definitionen:
w ((V , E )) =
ˆ Summe aller Kantengewichte von E
OPT =
ˆ kürzester Hamiltonkreis auf G
w (OPT ) > w (T )
w (T 0 )
⇒ 2 · w (OPT ) ≥
⇒ 2 · w (OPT ) ≥ w (EK )
⇒ 2 · w (OPT ) ≥ w (HK )
(MST enthält alle Knoten und ist minimal)
(Kantenverdopplung)
(w (T 0 ) = w (EK ): gleiche Kanten)
(w (EK ) ≥ w (HK ): Abkürzungen)
⇒ w (HK ) ≤ 2 · w (OPT )
T0
7
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
Wiederholung 2-Approximation (Beweis)
Definitionen:
w ((V , E )) =
ˆ Summe aller Kantengewichte von E
OPT =
ˆ kürzester Hamiltonkreis auf G
w (OPT ) > w (T )
w (T 0 )
⇒ 2 · w (OPT ) ≥
⇒ 2 · w (OPT ) ≥ w (EK )
⇒ 2 · w (OPT ) ≥ w (HK )
⇒ w (HK ) ≤ 2 · w (OPT )
(MST enthält alle Knoten und ist minimal)
(Kantenverdopplung)
(w (T 0 ) = w (EK ): gleiche Kanten)
(w (EK ) ≥ w (HK ): Abkürzungen)
3
5
1
2
7
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
6
EK
4
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
Wiederholung 2-Approximation (Beweis)
Definitionen:
w ((V , E )) =
ˆ Summe aller Kantengewichte von E
OPT =
ˆ kürzester Hamiltonkreis auf G
w (OPT ) > w (T )
w (T 0 )
⇒ 2 · w (OPT ) ≥
⇒ 2 · w (OPT ) ≥ w (EK )
⇒ 2 · w (OPT ) ≥ w (HK )
⇒ w (HK ) ≤ 2 · w (OPT )
(MST enthält alle Knoten und ist minimal)
(Kantenverdopplung)
(w (T 0 ) = w (EK ): gleiche Kanten)
(w (EK ) ≥ w (HK ): Abkürzungen)
3
5
1
2
7
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
6
HK
4
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
Wiederholung 2-Approximation (Beweis)
Definitionen:
w ((V , E )) =
ˆ Summe aller Kantengewichte von E
OPT =
ˆ kürzester Hamiltonkreis auf G
w (OPT ) > w (T )
w (T 0 )
⇒ 2 · w (OPT ) ≥
⇒ 2 · w (OPT ) ≥ w (EK )
⇒ 2 · w (OPT ) ≥ w (HK )
⇒ w (HK ) ≤ 2 · w (OPT )
(MST enthält alle Knoten und ist minimal)
(Kantenverdopplung)
(w (T 0 ) = w (EK ): gleiche Kanten)
(w (EK ) ≥ w (HK ): Abkürzungen)
3
5
1
2
7
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
6
HK
4
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Algorithmus) (Christofides-Heuristik)
Graph G = (V , E ) (vollständig, ungerichtet)
bestimme MST T
bestimme Knoten U mit ungeradem Grad in T
finde minimales perfektes Matching M auf (U , E )
(alle Knoten gematcht, Summe der Gewichte der Matchingkanten minimal)
füge Kanten M zu T → T 0
bestimme Eulerkreis EK auf T 0
(alle Knoten haben geraden Grad)
wandle EK zu Hamiltonkreis HK
V
(Laufzeit durch Matching dominiert, O(n3 ))
8
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Algorithmus) (Christofides-Heuristik)
Graph G = (V , E ) (vollständig, ungerichtet)
bestimme MST T
bestimme Knoten U mit ungeradem Grad in T
finde minimales perfektes Matching M auf (U , E )
(alle Knoten gematcht, Summe der Gewichte der Matchingkanten minimal)
füge Kanten M zu T → T 0
Länge 1
(alle Knoten haben geraden Grad)
Länge 2
bestimme Eulerkreis EK auf T 0
wandle EK zu Hamiltonkreis HK
(Laufzeit durch Matching dominiert, O(n3 ))
8
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Algorithmus) (Christofides-Heuristik)
Graph G = (V , E ) (vollständig, ungerichtet)
bestimme MST T
bestimme Knoten U mit ungeradem Grad in T
finde minimales perfektes Matching M auf (U , E )
(alle Knoten gematcht, Summe der Gewichte der Matchingkanten minimal)
füge Kanten M zu T → T 0
bestimme Eulerkreis EK auf T 0
(alle Knoten haben geraden Grad)
wandle EK zu Hamiltonkreis HK
T
(Laufzeit durch Matching dominiert, O(n3 ))
8
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Algorithmus) (Christofides-Heuristik)
Graph G = (V , E ) (vollständig, ungerichtet)
bestimme MST T
bestimme Knoten U mit ungeradem Grad in T
finde minimales perfektes Matching M auf (U , E )
(alle Knoten gematcht, Summe der Gewichte der Matchingkanten minimal)
füge Kanten M zu T → T 0
bestimme Eulerkreis EK auf T 0
U
(alle Knoten haben geraden Grad)
wandle EK zu Hamiltonkreis HK
T
(Laufzeit durch Matching dominiert, O(n3 ))
8
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Algorithmus) (Christofides-Heuristik)
Graph G = (V , E ) (vollständig, ungerichtet)
bestimme MST T
bestimme Knoten U mit ungeradem Grad in T
finde minimales perfektes Matching M auf (U , E )
(alle Knoten gematcht, Summe der Gewichte der Matchingkanten minimal)
füge Kanten M zu T → T 0
bestimme Eulerkreis EK auf T 0
U
(alle Knoten haben geraden Grad)
wandle EK zu Hamiltonkreis HK
M
(Laufzeit durch Matching dominiert, O(n3 ))
8
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Algorithmus) (Christofides-Heuristik)
Graph G = (V , E ) (vollständig, ungerichtet)
bestimme MST T
bestimme Knoten U mit ungeradem Grad in T
finde minimales perfektes Matching M auf (U , E )
(alle Knoten gematcht, Summe der Gewichte der Matchingkanten minimal)
füge Kanten M zu T → T 0
bestimme Eulerkreis EK auf T 0
(alle Knoten haben geraden Grad)
wandle EK zu Hamiltonkreis HK
T0
(Laufzeit durch Matching dominiert, O(n3 ))
8
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Algorithmus) (Christofides-Heuristik)
Graph G = (V , E ) (vollständig, ungerichtet)
bestimme MST T
bestimme Knoten U mit ungeradem Grad in T
finde minimales perfektes Matching M auf (U , E )
(alle Knoten gematcht, Summe der Gewichte der Matchingkanten minimal)
füge Kanten M zu T → T 0
5
bestimme Eulerkreis EK auf T 0
(alle Knoten haben geraden Grad)
6
1
wandle EK zu Hamiltonkreis HK
2
4
EK
3
(Laufzeit durch Matching dominiert, O(n3 ))
8
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Algorithmus) (Christofides-Heuristik)
Graph G = (V , E ) (vollständig, ungerichtet)
bestimme MST T
bestimme Knoten U mit ungeradem Grad in T
finde minimales perfektes Matching M auf (U , E )
(alle Knoten gematcht, Summe der Gewichte der Matchingkanten minimal)
füge Kanten M zu T → T 0
5
bestimme Eulerkreis EK auf T 0
(alle Knoten haben geraden Grad)
6
1
wandle EK zu Hamiltonkreis HK
2
4
HK
3
(Laufzeit durch Matching dominiert, O(n3 ))
8
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Algorithmus) (Christofides-Heuristik)
Graph G = (V , E ) (vollständig, ungerichtet)
bestimme MST T
bestimme Knoten U mit ungeradem Grad in T
finde minimales perfektes Matching M auf (U , E )
(alle Knoten gematcht, Summe der Gewichte der Matchingkanten minimal)
füge Kanten M zu T → T 0
5
bestimme Eulerkreis EK auf T 0
(alle Knoten haben geraden Grad)
6
1
wandle EK zu Hamiltonkreis HK
2
4
HK
Weglänge 6
3
(Laufzeit durch Matching dominiert, O(n3 ))
8
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Beweis) (Christofides-Heuristik)
Abschätzungen: (analog zu vorherigem Beweis)
⇒ w (HK ) ≤ w (EK ) = w (T 0 ) = w (T ) + w (M ) ≤ w (OPT ) + w (M )
Bestimmung von w (M ):
sei HK 0 Hamiltonkreis auf U
(erzeugt durch Überspringen aller Knoten V \ U in OPT )
definiere alternierende perfekte Matchings M1 , M2 auf HK 0
(existiert, da |U | gerade, HK 0 = M1 ∪ M2 )
⇒ w (M ) ≤ w (M1 ), w (M ) ≤ w (M2 ) (M min. Matching!)
⇒ 2 · w (M ) ≤ w (M1 ) + w (M2 ) = w (HK 0 ) ≤ w (OPT )
⇒ w (HK ) ≤
5
6
1
3
2 w (OPT )
2
9
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
4
HK
3
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Beweis) (Christofides-Heuristik)
Abschätzungen: (analog zu vorherigem Beweis)
⇒ w (HK ) ≤ w (EK ) = w (T 0 ) = w (T ) + w (M ) ≤ w (OPT ) + w (M )
Bestimmung von w (M ):
sei HK 0 Hamiltonkreis auf U
(erzeugt durch Überspringen aller Knoten V \ U in OPT )
definiere alternierende perfekte Matchings M1 , M2 auf HK 0
(existiert, da |U | gerade, HK 0 = M1 ∪ M2 )
⇒ w (M ) ≤ w (M1 ), w (M ) ≤ w (M2 ) (M min. Matching!)
⇒ 2 · w (M ) ≤ w (M1 ) + w (M2 ) = w (HK 0 ) ≤ w (OPT )
⇒ w (HK ) ≤
5
6
1
3
2 w (OPT )
2
9
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
4
EK
3
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Beweis) (Christofides-Heuristik)
Abschätzungen: (analog zu vorherigem Beweis)
⇒ w (HK ) ≤ w (EK ) = w (T 0 ) = w (T ) + w (M ) ≤ w (OPT ) + w (M )
Bestimmung von w (M ):
sei HK 0 Hamiltonkreis auf U
(erzeugt durch Überspringen aller Knoten V \ U in OPT )
definiere alternierende perfekte Matchings M1 , M2 auf HK 0
(existiert, da |U | gerade, HK 0 = M1 ∪ M2 )
⇒ w (M ) ≤ w (M1 ), w (M ) ≤ w (M2 ) (M min. Matching!)
⇒ 2 · w (M ) ≤ w (M1 ) + w (M2 ) = w (HK 0 ) ≤ w (OPT )
⇒ w (HK ) ≤ 32 w (OPT )
T0
9
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Beweis) (Christofides-Heuristik)
Abschätzungen: (analog zu vorherigem Beweis)
⇒ w (HK ) ≤ w (EK ) = w (T 0 ) = w (T ) + w (M ) ≤ w (OPT ) + w (M )
Bestimmung von w (M ):
sei HK 0 Hamiltonkreis auf U
(erzeugt durch Überspringen aller Knoten V \ U in OPT )
definiere alternierende perfekte Matchings M1 , M2 auf HK 0
(existiert, da |U | gerade, HK 0 = M1 ∪ M2 )
⇒ w (M ) ≤ w (M1 ), w (M ) ≤ w (M2 ) (M min. Matching!)
⇒ 2 · w (M ) ≤ w (M1 ) + w (M2 ) = w (HK 0 ) ≤ w (OPT )
⇒ w (HK ) ≤ 32 w (OPT )
T ,M
9
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Beweis) (Christofides-Heuristik)
Abschätzungen: (analog zu vorherigem Beweis)
⇒ w (HK ) ≤ w (EK ) = w (T 0 ) = w (T ) + w (M ) ≤ w (OPT ) + w (M )
Bestimmung von w (M ):
sei HK 0 Hamiltonkreis auf U
(erzeugt durch Überspringen aller Knoten V \ U in OPT )
definiere alternierende perfekte Matchings M1 , M2 auf HK 0
(existiert, da |U | gerade, HK 0 = M1 ∪ M2 )
⇒ w (M ) ≤ w (M1 ), w (M ) ≤ w (M2 ) (M min. Matching!)
⇒ 2 · w (M ) ≤ w (M1 ) + w (M2 ) = w (HK 0 ) ≤ w (OPT )
⇒ w (HK ) ≤ 32 w (OPT )
T ,M
9
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Beweis) (Christofides-Heuristik)
Abschätzungen: (analog zu vorherigem Beweis)
⇒ w (HK ) ≤ w (EK ) = w (T 0 ) = w (T ) + w (M ) ≤ w (OPT ) + w (M )
Bestimmung von w (M ):
sei HK 0 Hamiltonkreis auf U
(erzeugt durch Überspringen aller Knoten V \ U in OPT )
definiere alternierende perfekte Matchings M1 , M2 auf HK 0
(existiert, da |U | gerade, HK 0 = M1 ∪ M2 )
⇒ w (M ) ≤ w (M1 ), w (M ) ≤ w (M2 ) (M min. Matching!)
⇒ 2 · w (M ) ≤ w (M1 ) + w (M2 ) = w (HK 0 ) ≤ w (OPT )
⇒ w (HK ) ≤ 32 w (OPT )
OP T
9
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Beweis) (Christofides-Heuristik)
Abschätzungen: (analog zu vorherigem Beweis)
⇒ w (HK ) ≤ w (EK ) = w (T 0 ) = w (T ) + w (M ) ≤ w (OPT ) + w (M )
Bestimmung von w (M ):
sei HK 0 Hamiltonkreis auf U
(erzeugt durch Überspringen aller Knoten V \ U in OPT )
definiere alternierende perfekte Matchings M1 , M2 auf HK 0
(existiert, da |U | gerade, HK 0 = M1 ∪ M2 )
⇒ w (M ) ≤ w (M1 ), w (M ) ≤ w (M2 ) (M min. Matching!)
⇒ 2 · w (M ) ≤ w (M1 ) + w (M2 ) = w (HK 0 ) ≤ w (OPT )
⇒ w (HK ) ≤ 32 w (OPT )
OP T
9
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Beweis) (Christofides-Heuristik)
Abschätzungen: (analog zu vorherigem Beweis)
⇒ w (HK ) ≤ w (EK ) = w (T 0 ) = w (T ) + w (M ) ≤ w (OPT ) + w (M )
Bestimmung von w (M ):
sei HK 0 Hamiltonkreis auf U
(erzeugt durch Überspringen aller Knoten V \ U in OPT )
definiere alternierende perfekte Matchings M1 , M2 auf HK 0
(existiert, da |U | gerade, HK 0 = M1 ∪ M2 )
⇒ w (M ) ≤ w (M1 ), w (M ) ≤ w (M2 ) (M min. Matching!)
⇒ 2 · w (M ) ≤ w (M1 ) + w (M2 ) = w (HK 0 ) ≤ w (OPT )
V \U
⇒ w (HK ) ≤ 32 w (OPT )
OP T
9
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Beweis) (Christofides-Heuristik)
Abschätzungen: (analog zu vorherigem Beweis)
⇒ w (HK ) ≤ w (EK ) = w (T 0 ) = w (T ) + w (M ) ≤ w (OPT ) + w (M )
Bestimmung von w (M ):
sei HK 0 Hamiltonkreis auf U
(erzeugt durch Überspringen aller Knoten V \ U in OPT )
definiere alternierende perfekte Matchings M1 , M2 auf HK 0
(existiert, da |U | gerade, HK 0 = M1 ∪ M2 )
⇒ w (M ) ≤ w (M1 ), w (M ) ≤ w (M2 ) (M min. Matching!)
⇒ 2 · w (M ) ≤ w (M1 ) + w (M2 ) = w (HK 0 ) ≤ w (OPT )
⇒ w (HK ) ≤ 32 w (OPT )
U
HK 0
9
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Beweis) (Christofides-Heuristik)
Abschätzungen: (analog zu vorherigem Beweis)
⇒ w (HK ) ≤ w (EK ) = w (T 0 ) = w (T ) + w (M ) ≤ w (OPT ) + w (M )
Bestimmung von w (M ):
sei HK 0 Hamiltonkreis auf U
(erzeugt durch Überspringen aller Knoten V \ U in OPT )
definiere alternierende perfekte Matchings M1 , M2 auf HK 0
(existiert, da |U | gerade, HK 0 = M1 ∪ M2 )
⇒ w (M ) ≤ w (M1 ), w (M ) ≤ w (M2 ) (M min. Matching!)
⇒ 2 · w (M ) ≤ w (M1 ) + w (M2 ) = w (HK 0 ) ≤ w (OPT )
⇒ w (HK ) ≤ 32 w (OPT )
M1
9
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Beweis) (Christofides-Heuristik)
Abschätzungen: (analog zu vorherigem Beweis)
⇒ w (HK ) ≤ w (EK ) = w (T 0 ) = w (T ) + w (M ) ≤ w (OPT ) + w (M )
Bestimmung von w (M ):
sei HK 0 Hamiltonkreis auf U
(erzeugt durch Überspringen aller Knoten V \ U in OPT )
definiere alternierende perfekte Matchings M1 , M2 auf HK 0
(existiert, da |U | gerade, HK 0 = M1 ∪ M2 )
⇒ w (M ) ≤ w (M1 ), w (M ) ≤ w (M2 ) (M min. Matching!)
⇒ 2 · w (M ) ≤ w (M1 ) + w (M2 ) = w (HK 0 ) ≤ w (OPT )
⇒ w (HK ) ≤ 32 w (OPT )
M2
9
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Beweis) (Christofides-Heuristik)
Abschätzungen: (analog zu vorherigem Beweis)
⇒ w (HK ) ≤ w (EK ) = w (T 0 ) = w (T ) + w (M ) ≤ w (OPT ) + w (M )
Bestimmung von w (M ):
sei HK 0 Hamiltonkreis auf U
(erzeugt durch Überspringen aller Knoten V \ U in OPT )
definiere alternierende perfekte Matchings M1 , M2 auf HK 0
(existiert, da |U | gerade, HK 0 = M1 ∪ M2 )
⇒ w (M ) ≤ w (M1 ), w (M ) ≤ w (M2 ) (M min. Matching!)
⇒ 2 · w (M ) ≤ w (M1 ) + w (M2 ) = w (HK 0 ) ≤ w (OPT )
⇒ w (HK ) ≤ 32 w (OPT )
M2
9
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Beweis) (Christofides-Heuristik)
Abschätzungen: (analog zu vorherigem Beweis)
⇒ w (HK ) ≤ w (EK ) = w (T 0 ) = w (T ) + w (M ) ≤ w (OPT ) + w (M )
Bestimmung von w (M ):
sei HK 0 Hamiltonkreis auf U
(erzeugt durch Überspringen aller Knoten V \ U in OPT )
definiere alternierende perfekte Matchings M1 , M2 auf HK 0
(existiert, da |U | gerade, HK 0 = M1 ∪ M2 )
⇒ w (M ) ≤ w (M1 ), w (M ) ≤ w (M2 ) (M min. Matching!)
⇒ 2 · w (M ) ≤ w (M1 ) + w (M2 ) = w (HK 0 ) ≤ w (OPT )
⇒ w (HK ) ≤ 32 w (OPT )
M2
9
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Beweis) (Christofides-Heuristik)
Abschätzungen: (analog zu vorherigem Beweis)
⇒ w (HK ) ≤ w (EK ) = w (T 0 ) = w (T ) + w (M ) ≤ w (OPT ) + w (M )
Bestimmung von w (M ):
sei HK 0 Hamiltonkreis auf U
(erzeugt durch Überspringen aller Knoten V \ U in OPT )
definiere alternierende perfekte Matchings M1 , M2 auf HK 0
(existiert, da |U | gerade, HK 0 = M1 ∪ M2 )
⇒ w (M ) ≤ w (M1 ), w (M ) ≤ w (M2 ) (M min. Matching!)
⇒ 2 · w (M ) ≤ w (M1 ) + w (M2 ) = w (HK 0 ) ≤ w (OPT )
⇒ w (HK ) ≤ 32 w (OPT )
M2
9
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Minimum Metric TSP
3/2-Approximation (Beweis) (Christofides-Heuristik)
Abschätzungen: (analog zu vorherigem Beweis)
⇒ w (HK ) ≤ w (EK ) = w (T 0 ) = w (T ) + w (M ) ≤ w (OPT ) + w (M )
Bestimmung von w (M ):
sei HK 0 Hamiltonkreis auf U
(erzeugt durch Überspringen aller Knoten V \ U in OPT )
definiere alternierende perfekte Matchings M1 , M2 auf HK 0
(existiert, da |U | gerade, HK 0 = M1 ∪ M2 )
⇒ w (M ) ≤ w (M1 ), w (M ) ≤ w (M2 ) (M min. Matching!)
⇒ 2 · w (M ) ≤ w (M1 ) + w (M2 ) = w (HK 0 ) ≤ w (OPT )
⇒ w (HK ) ≤ 32 w (OPT )
Existiert immer perfektes Matching M?
M2
(Zeige, dass |U | immer gerade ist!)
9
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Maximum Independent Set (NP-hart)
Problemstellung
Gegeben ungerichteter Graph G = (V , E )
Bestimme maximale Menge IS ⊆ V , so dass keine 2 Knoten
aus IS benachbart sind (IS ist dann Independent Set)
Approximationsalgorithmus A
Sei IS = ∅
Wähle Knoten K beliebig
Füge K zu IS hinzu
Entferne K und alle Nachbarn aus G
Wiederhole bis V = ∅
G
(berechnet offensichtlich ein Independent Set)
10
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Maximum Independent Set (NP-hart)
Problemstellung
Gegeben ungerichteter Graph G = (V , E )
Bestimme maximale Menge IS ⊆ V , so dass keine 2 Knoten
aus IS benachbart sind (IS ist dann Independent Set)
Approximationsalgorithmus A
Sei IS = ∅
Wähle Knoten K beliebig
Füge K zu IS hinzu
Entferne K und alle Nachbarn aus G
Wiederhole bis V = ∅
G
(berechnet offensichtlich ein Independent Set)
10
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Maximum Independent Set (NP-hart)
Problemstellung
Gegeben ungerichteter Graph G = (V , E )
Bestimme maximale Menge IS ⊆ V , so dass keine 2 Knoten
aus IS benachbart sind (IS ist dann Independent Set)
Approximationsalgorithmus A
Sei IS = ∅
Wähle Knoten K beliebig
Füge K zu IS hinzu
Entferne K und alle Nachbarn aus G
Wiederhole bis V = ∅
IS
G
(berechnet offensichtlich ein Independent Set)
10
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Maximum Independent Set (NP-hart)
Problemstellung
Gegeben ungerichteter Graph G = (V , E )
Bestimme maximale Menge IS ⊆ V , so dass keine 2 Knoten
aus IS benachbart sind (IS ist dann Independent Set)
Approximationsalgorithmus A
Sei IS = ∅
Wähle Knoten K beliebig
Füge K zu IS hinzu
Entferne K und alle Nachbarn aus G
Wiederhole bis V = ∅
IS
G
(berechnet offensichtlich ein Independent Set)
10
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Maximum Independent Set (NP-hart)
Problemstellung
Gegeben ungerichteter Graph G = (V , E )
Bestimme maximale Menge IS ⊆ V , so dass keine 2 Knoten
aus IS benachbart sind (IS ist dann Independent Set)
Approximationsalgorithmus A
Sei IS = ∅
Wähle Knoten K beliebig
Füge K zu IS hinzu
Entferne K und alle Nachbarn aus G
Wiederhole bis V = ∅
IS
G
(berechnet offensichtlich ein Independent Set)
10
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Maximum Independent Set (NP-hart)
Problemstellung
Gegeben ungerichteter Graph G = (V , E )
Bestimme maximale Menge IS ⊆ V , so dass keine 2 Knoten
aus IS benachbart sind (IS ist dann Independent Set)
Approximationsalgorithmus A
Sei IS = ∅
Wähle Knoten K beliebig
Füge K zu IS hinzu
Entferne K und alle Nachbarn aus G
Wiederhole bis V = ∅
IS
G
(berechnet offensichtlich ein Independent Set)
10
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Maximum Independent Set (NP-hart)
Problemstellung
Gegeben ungerichteter Graph G = (V , E )
Bestimme maximale Menge IS ⊆ V , so dass keine 2 Knoten
aus IS benachbart sind (IS ist dann Independent Set)
Approximationsalgorithmus A
Sei IS = ∅
Wähle Knoten K beliebig
Füge K zu IS hinzu
Entferne K und alle Nachbarn aus G
Wiederhole bis V = ∅
IS
G
(berechnet offensichtlich ein Independent Set)
10
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Maximum Independent Set (NP-hart)
Problemstellung
Gegeben ungerichteter Graph G = (V , E )
Bestimme maximale Menge IS ⊆ V , so dass keine 2 Knoten
aus IS benachbart sind (IS ist dann Independent Set)
Approximationsalgorithmus A
Sei IS = ∅
Wähle Knoten K beliebig
Füge K zu IS hinzu
Entferne K und alle Nachbarn aus G
Wiederhole bis V = ∅
IS
G
(berechnet offensichtlich ein Independent Set)
10
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Maximum Independent Set (NP-hart)
Problemstellung
Gegeben ungerichteter Graph G = (V , E )
Bestimme maximale Menge IS ⊆ V , so dass keine 2 Knoten
aus IS benachbart sind (IS ist dann Independent Set)
|IS| = 4
optimal
Approximationsalgorithmus A
Sei IS = ∅
Wähle Knoten K beliebig
Füge K zu IS hinzu
Entferne K und alle Nachbarn aus G
Wiederhole bis V = ∅
IS
G
(berechnet offensichtlich ein Independent Set)
10
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Maximum Independent Set (NP-hart)
Problemstellung
Gegeben ungerichteter Graph G = (V , E )
Bestimme maximale Menge IS ⊆ V , so dass keine 2 Knoten
aus IS benachbart sind (IS ist dann Independent Set)
|IS| = 4
optimal
Approximationsalgorithmus A
Sei IS = ∅
Wähle Knoten K beliebig
Füge K zu IS hinzu
Entferne K und alle Nachbarn aus G
Wiederhole bis V = ∅
IS
G
(berechnet offensichtlich ein Independent Set)
Hat A einen Approximationsfaktor ρ = 2?
10
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Maximum Independent Set (NP-hart)
Problemstellung
Gegeben ungerichteter Graph G = (V , E )
Bestimme maximale Menge IS ⊆ V , so dass keine 2 Knoten
aus IS benachbart sind (IS ist dann Independent Set)
Approximationsalgorithmus A
Sei IS = ∅
Wähle Knoten K beliebig
Füge K zu IS hinzu
Entferne K und alle Nachbarn aus G
Wiederhole bis V = ∅
G
(berechnet offensichtlich ein Independent Set)
Hat A einen Approximationsfaktor ρ = 2?
10
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Maximum Independent Set (NP-hart)
Problemstellung
Gegeben ungerichteter Graph G = (V , E )
Bestimme maximale Menge IS ⊆ V , so dass keine 2 Knoten
aus IS benachbart sind (IS ist dann Independent Set)
Approximationsalgorithmus A
Sei IS = ∅
Wähle Knoten K beliebig
Füge K zu IS hinzu
Entferne K und alle Nachbarn aus G
Wiederhole bis V = ∅
G
(berechnet offensichtlich ein Independent Set)
Hat A einen Approximationsfaktor ρ = 2?
10
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Maximum Independent Set (NP-hart)
Problemstellung
Gegeben ungerichteter Graph G = (V , E )
Bestimme maximale Menge IS ⊆ V , so dass keine 2 Knoten
aus IS benachbart sind (IS ist dann Independent Set)
Approximationsalgorithmus A
Sei IS = ∅
Wähle Knoten K beliebig
Füge K zu IS hinzu
Entferne K und alle Nachbarn aus G
Wiederhole bis V = ∅
|IS| = 1
schlecht
IS
G
(berechnet offensichtlich ein Independent Set)
Hat A einen Approximationsfaktor ρ = 2?
10
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Maximum Independent Set (NP-hart)
Problemstellung
Gegeben ungerichteter Graph G = (V , E )
Bestimme maximale Menge IS ⊆ V , so dass keine 2 Knoten
aus IS benachbart sind (IS ist dann Independent Set)
Approximationsalgorithmus A
Sei IS = ∅
Wähle Knoten K beliebig
Füge K zu IS hinzu
Entferne K und alle Nachbarn aus G
Wiederhole bis V = ∅
|IS| = 1
schlecht
IS
G
(berechnet offensichtlich ein Independent Set)
Hat A einen Approximationsfaktor ρ = 2?
10
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
(Nicht mal in APX !)
Institut für Theoretische Informatik
Algorithmik II
Approximationsalgorithmen
Zusammenfassung
Wissenswert (nicht erschöpfend!)
Approximationsfaktor ρ
APX, PTAS, FPTAS, pseudopolynomiell
es gibt nicht gut approximierbare Probleme (z.B. minimum TSP)
Typische Fragestellungen
Zu welcher Klasse gehört Algorithmus X mit T (n, ε), ρ(n, ε)?
Zeigen/Widerlegen Sie Approximationsfaktor ρ für Algorithmus X .
(Bestimmen Sie einen Algorithmus mit Approximationsfaktor ρ)
11
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
fixed parameter tractable (FPT)
Warum Probleme parametrisieren?
es gibt “schwierige” Probleme (z.B. Minimum Independent Set)
→ allgemeine Instanzen haben zu lange Berechnungszeit
Kann man Spezialfälle eventuell effizient berechnen?
→ Identifizierung zusätzlicher Parameter k der Problemstellung
→ falls “Komplexität” in diesen Parametern k steckt,
effiziente Lösungen für k = const . !
schwierig
12
finde min. Anzahl Leute,
so dass alle Leute direkt
finde max. k Leute,
so dass alle Leute direkt
oder über einen Freund
erreicht werden können
oder über einen Freund
erreicht werden können
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
einfach
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Definition
Ein Problem heisst fixed parameter tractable, wenn es eine Laufzeit
T (n, k ) = O(f (k ) · p(n))
hat, mit f (·) berechenbar, p (·) Polynom.
(f (·) darf nicht von n abhängen und p (·) nicht von k ; häufig Entscheidungsprobleme)
Beispiele:
f (n , k ) = (n + n 2 ) · e k
f (n, k ) = k · log n
f (n , j , k ) = k j · n 2
f (n , k ) = k n
f (n , k ) = n + k
13
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Definition
Ein Problem heisst fixed parameter tractable, wenn es eine Laufzeit
T (n, k ) = O(f (k ) · p(n))
hat, mit f (·) berechenbar, p (·) Polynom.
(f (·) darf nicht von n abhängen und p (·) nicht von k ; häufig Entscheidungsprobleme)
Beispiele:
f (n , k ) = (n + n 2 ) · e k
f (n, k ) = k · log n
f (n , j , k ) = k j · n 2
f (n , k ) = k n
f (n , k ) = n + k
13
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
(FPT)
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Definition
Ein Problem heisst fixed parameter tractable, wenn es eine Laufzeit
T (n, k ) = O(f (k ) · p(n))
hat, mit f (·) berechenbar, p (·) Polynom.
(f (·) darf nicht von n abhängen und p (·) nicht von k ; häufig Entscheidungsprobleme)
Beispiele:
f (n , k ) = (n + n 2 ) · e k
f (n, k ) = k · log n
f (n , j , k ) = k j · n 2
f (n , k ) = k n
f (n , k ) = n + k
13
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
(FPT)
(FPT)
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Definition
Ein Problem heisst fixed parameter tractable, wenn es eine Laufzeit
T (n, k ) = O(f (k ) · p(n))
hat, mit f (·) berechenbar, p (·) Polynom.
(f (·) darf nicht von n abhängen und p (·) nicht von k ; häufig Entscheidungsprobleme)
Beispiele:
f (n , k ) = (n + n 2 ) · e k
f (n, k ) = k · log n
f (n , j , k ) = k j · n 2
f (n , k ) = k n
f (n , k ) = n + k
13
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
(FPT)
(FPT)
(FPT)
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Definition
Ein Problem heisst fixed parameter tractable, wenn es eine Laufzeit
T (n, k ) = O(f (k ) · p(n))
hat, mit f (·) berechenbar, p (·) Polynom.
(f (·) darf nicht von n abhängen und p (·) nicht von k ; häufig Entscheidungsprobleme)
Beispiele:
f (n , k ) = (n + n 2 ) · e k
f (n, k ) = k · log n
f (n , j , k ) = k j · n 2
f (n , k ) = k n
f (n , k ) = n + k
13
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
(FPT)
(FPT)
(FPT)
(nicht FPT)
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Definition
Ein Problem heisst fixed parameter tractable, wenn es eine Laufzeit
T (n, k ) = O(f (k ) · p(n))
hat, mit f (·) berechenbar, p (·) Polynom.
(f (·) darf nicht von n abhängen und p (·) nicht von k ; häufig Entscheidungsprobleme)
Beispiele:
f (n , k ) = (n + n 2 ) · e k
f (n, k ) = k · log n
f (n , j , k ) = k j · n 2
f (n , k ) = k n
f (n, k ) = n + k ∈ O(nk + k ) = O((n + 1)k )
13
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
(FPT)
(FPT)
(FPT)
(nicht FPT)
(FPT)
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Techniken
Tiefenbeschränkte Suche
erschöpfendes Aufzählen und Testen aller Möglichkeiten
→ mit geeignetem Suchbaum beschränkter Tiefe
(k gibt Hinweis, wie man in die Tiefe geht muss)
Kernbildung
Probleminstanz auf (schwierigen) Problemkern reduzieren
Problemkern mit anderer Technik lösen
K
I
Weitere Techniken
Farbkodierung, induktive Kompression, Baumzerlegung, . . .
14
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Einschub
Rekurrenzrelationen – Zusammenfassung
T (n, k ) = a1 T (n, k − k1 ) + a2 T (n, k − k2 ) + . . . + aj T (n, k − kj ) {+f (n)}
(ki ≤ kj , i < j)
Verzweigungsvektor (ai = 1, ohne f (n))
hk1 , k2 , . . . , kj i
⇒ tabelliert, Basis α aus Tabelle ablesen
⇒ Lösung T (n, k ) = O(αk ) (=
ˆ Größe des Ausführungsbaums)
erzeugendes Polynom (ai beliebig, ohne f (n))
Ansatz: T (n, k ) = x k
⇒ x k − a1 x k −k1 − a2 x k −k2 − . . . − aj x k −kj = 0 (eingesetzt)
⇒ bestimme betragsmäßig größte Nullstelle α (mit Vielfachheit m)
⇒ Lösung T (n, k ) = O(k m−1 αk )
inhomogene Rekurrenzrelation (f (n) =ˆ Arbeit in jedem Knoten)
15
Löse homogene Rekurrenz (ohne f (n)) → T 0 (n, k ) = r (k )
⇒ Lösung T (n, k ) = O(r (k ) · f (n))
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Einschub
Rekurrenzrelationen – Zusammenfassung
T (n, k ) = a1 T (n, k − k1 ) + a2 T (n, k − k2 ) + . . . + aj T (n, k − kj ) {+f (n)}
(ki ≤ kj , i < j)
Verzweigungsvektor (ai = 1, ohne f (n))
hk1 , k2 , . . . , kj i
⇒ tabelliert, Basis α aus Tabelle ablesen
⇒ Lösung T (n, k ) = O(αk ) (=
ˆ Größe des Ausführungsbaums)
erzeugendes Polynom (ai beliebig, ohne f (n))
Ansatz: T (n, k ) = x k
⇒ x k − a1 x k −k1 − a2 x k −k2 − . . . − aj x k −kj = 0 (eingesetzt)
⇒ bestimme betragsmäßig größte Nullstelle α (mit Vielfachheit m)
⇒ Lösung T (n, k ) = O(k m−1 αk )
inhomogene Rekurrenzrelation (f (n) =ˆ Arbeit in jedem Knoten)
15
Löse homogene Rekurrenz (ohne f (n)) → T 0 (n, k ) = r (k )
⇒ Lösung T (n, k ) = O(r (k ) · f (n))
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Einschub
Rekurrenzrelationen – Verzweigungsvektor
T (n, k ) = a1 T (n, k − k1 ) + a2 T (n, k − k2 ) + . . . + aj T (n, k − kj )
(ki ≤ kj , i < j)
Verzweigungsvektor (ai = 1)
hk1 , k2 , . . . , kj i
⇒ tabelliert, Basis α aus Tabelle ablesen
⇒ Lösung T (n, k ) = O(αk ) (=ˆ Größe des Ausführungsbaums)
Beispiel
T (n , k ) = T (n , k − 1) + T (n , k − 1)
⇒ Verzweigungsvektor h1, 1i
⇒ nach Tabelle α = 2
⇒ T (n, k ) = O(2k )
16
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
k=3
Verzweigungsgrad α = 2
Institut für Theoretische Informatik
Algorithmik II
Einschub
Rekurrenzrelationen – erzeugendes Polynom
T (n, k ) = a1 T (n, k − k1 ) + a2 T (n, k − k2 ) + . . . + aj T (n, k − kj )
(ki ≤ kj , i < j)
erzeugendes Polynom (ai beliebig)
Ansatz: T (n, k ) = x k
⇒ x k − a1 x k −k1 − a2 x k −k2 − . . . − aj x k −kj = 0 (eingesetzt)
⇒ bestimme betragsmäßig größte Nullstelle α (mit Vielfachheit m)
⇒ Lösung T (n, k ) = O(k m−1 αk )
Beispiel
T (n , k ) = T (n , k − 1) + T (n , k − 1)
⇒ x k = x k −1 + x k −1 ⇔ x k −1 (x − 2 ) = 0
⇒ größte Nullstelle: x = 2
⇒ T (n, k ) = O(2k )
17
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
k=3
Verzweigungsgrad α = 2
Institut für Theoretische Informatik
Algorithmik II
Einschub
Rekurrenzrelationen – Inhomogenität
T (n, k ) = a1 T (n, k − k1 ) + a2 T (n, k − k2 ) + . . . + aj T (n, k − kj ) + f (n)
(ki ≤ kj , i < j)
inhomogene Rekurrenzrelation (f (n) =ˆ Arbeit in jedem Knoten)
Löse homogene Rekurrenz (ohne f (n)) → T 0 (n, k ) = r (k )
⇒ Lösung T (n, k ) = O(r (k ) · f (n))
Beispiel
T (n , k ) = T (n , k − 1) + T (n , k − 1) + n
⇒ homogene Lösung T 0 (n, k ) = 2k
⇒ T (n, k ) = O(2k · n)
Test: O(2k · n) = O(2k −1 · n + 2k −1 · n + n) (Lösung eingesetzt)
⇒ O(2k ) = O(2k −1 + 2k −1 + 1) (kürzen von n)
⇒ O(2k ) = O(2k −1 + 2k −1 ) (O Kalkül ausnützen)
18
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Schiebepuzzle
Problemstellung
gegeben n × n Schiebepuzzle, k ∈ N
entscheide, ob das Puzzle in ≤ k Zügen gelöst werden kann
das Puzzle ist gelöst, wenn die Teile sortiert sind
Loch wird pro Zug eine Position horizontal oder vertikal verschoben
Algorithmus A
es gibt ≤ 4 Möglichkeiten in jedem Zug, k Züge
baue Suchbaum (Höhe k , Verzweigungsgrad ≤ 4)
→ Baumgröße O(4k )
teste jeden Knoten auf korrekte Lösung
→ Aufwand O(poly (n))
⇒ Gesamtaufwand: O(4k poly (n)) ⇒ FPT
24 8 13 12 20
11 2
17 21
7 15 14 19 5
6 10 3
9
1
4 23 11 18 22
(T (n, k ) = 4T (n, k − 1) + poly (n))
19
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Schiebepuzzle
Problemstellung
gegeben n × n Schiebepuzzle, k ∈ N
entscheide, ob das Puzzle in ≤ k Zügen gelöst werden kann
das Puzzle ist gelöst, wenn die Teile sortiert sind
Loch wird pro Zug eine Position horizontal oder vertikal verschoben
Algorithmus A
es gibt ≤ 4 Möglichkeiten in jedem Zug, k Züge
baue Suchbaum (Höhe k , Verzweigungsgrad ≤ 4)
→ Baumgröße O(4k )
teste jeden Knoten auf korrekte Lösung
→ Aufwand O(poly (n))
⇒ Gesamtaufwand: O(4k poly (n)) ⇒ FPT
(T (n, k ) = 4T (n, k − 1) + poly (n))
19
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
hoch
runter
hoch
rechts
runter
rechts
links
hoch
runter
rechts
links
links
hoch
runter
rechts
links
hoch
runter
rechts
links
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Schiebepuzzle
Beobachtung
Loch bewegt sich maximal k in eine Richtung
⇒ Nur markierte Stellen können sich ändern
⇒ äußere Stellen bereits müssen korrekt sein!
Algorithmus B
Prüfe äußere Stellen auf Korrektheit
falls nicht korrekt, gebe NEIN zurück
sonst, entferne äußere Stellen, nenne innere passend um
Wende Algorithmus A auf reduziertem Problem an
(reduzierte Größe ist 2(k + 1) · 2(k + 1) = O(k 2 ))
Laufzeit
O(poly (n)) für Überprüfung und Umbenennung
O(4k poly (k )) für Algorithmus A
⇒ Gesamtlaufzeit: O(4k poly (k ) + poly (n)) ⇒ FPT
20
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Schiebepuzzle
Beobachtung
Loch bewegt sich maximal k in eine Richtung
k
⇒ Nur markierte Stellen können sich ändern
⇒ äußere Stellen bereits müssen korrekt sein!
Algorithmus B
Prüfe äußere Stellen auf Korrektheit
falls nicht korrekt, gebe NEIN zurück
sonst, entferne äußere Stellen, nenne innere passend um
Wende Algorithmus A auf reduziertem Problem an
(reduzierte Größe ist 2(k + 1) · 2(k + 1) = O(k 2 ))
Laufzeit
O(poly (n)) für Überprüfung und Umbenennung
O(4k poly (k )) für Algorithmus A
⇒ Gesamtlaufzeit: O(4k poly (k ) + poly (n)) ⇒ FPT
20
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Schiebepuzzle
Beobachtung
Loch bewegt sich maximal k in eine Richtung
k
⇒ Nur markierte Stellen können sich ändern
⇒ äußere Stellen bereits müssen korrekt sein!
Algorithmus B
Prüfe äußere Stellen auf Korrektheit
falls nicht korrekt, gebe NEIN zurück
sonst, entferne äußere Stellen, nenne innere passend um
Wende Algorithmus A auf reduziertem Problem an
(reduzierte Größe ist 2(k + 1) · 2(k + 1) = O(k 2 ))
Laufzeit
O(poly (n)) für Überprüfung und Umbenennung
O(4k poly (k )) für Algorithmus A
⇒ Gesamtlaufzeit: O(4k poly (k ) + poly (n)) ⇒ FPT
20
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Schiebepuzzle
Beobachtung
Loch bewegt sich maximal k in eine Richtung
k
⇒ Nur markierte Stellen können sich ändern
⇒ äußere Stellen bereits müssen korrekt sein!
Algorithmus B
Prüfe äußere Stellen auf Korrektheit
falls nicht korrekt, gebe NEIN zurück
sonst, entferne äußere Stellen, nenne innere passend um
Wende Algorithmus A auf reduziertem Problem an
(reduzierte Größe ist 2(k + 1) · 2(k + 1) = O(k 2 ))
Laufzeit
O(poly (n)) für Überprüfung und Umbenennung
O(4k poly (k )) für Algorithmus A
⇒ Gesamtlaufzeit: O(4k poly (k ) + poly (n)) ⇒ FPT
20
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Vertex Cluster Deletion
Problemstellung
gegeben ungerichteter Graph G = (V , E ), k ∈ N
existiert S ⊂ V , |S | ≤ k , so dass (V \ S , E ) einen Clustergraph ist?
(Clustergraph =
ˆ Graph bestehend aus isolierten Cliquen)
Beobachtung
Graph ist Clustergraph gdw. alle kürzesten Pfade 2 Knoten besitzen
21
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Vertex Cluster Deletion
Problemstellung
gegeben ungerichteter Graph G = (V , E ), k ∈ N
existiert S ⊂ V , |S | ≤ k , so dass (V \ S , E ) einen Clustergraph ist?
(Clustergraph =
ˆ Graph bestehend aus isolierten Cliquen)
Beobachtung
Graph ist Clustergraph gdw. alle kürzesten Pfade 2 Knoten besitzen
21
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Vertex Cluster Deletion
Problemstellung
gegeben ungerichteter Graph G = (V , E ), k ∈ N
existiert S ⊂ V , |S | ≤ k , so dass (V \ S , E ) einen Clustergraph ist?
(Clustergraph =
ˆ Graph bestehend aus isolierten Cliquen)
Beobachtung
Graph ist Clustergraph gdw. alle kürzesten Pfade 2 Knoten besitzen
21
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Vertex Cluster Deletion
Problemstellung
gegeben ungerichteter Graph G = (V , E ), k ∈ N
existiert S ⊂ V , |S | ≤ k , so dass (V \ S , E ) einen Clustergraph ist?
(Clustergraph =
ˆ Graph bestehend aus isolierten Cliquen)
Beobachtung
Graph ist Clustergraph gdw. alle kürzesten Pfade 2 Knoten besitzen
21
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Vertex Cluster Deletion
Problemstellung
gegeben ungerichteter Graph G = (V , E ), k ∈ N
existiert S ⊂ V , |S | ≤ k , so dass (V \ S , E ) einen Clustergraph ist?
(Clustergraph =
ˆ Graph bestehend aus isolierten Cliquen)
Beobachtung
Graph ist Clustergraph gdw. alle kürzesten Pfade 2 Knoten besitzen
21
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Vertex Cluster Deletion
Problemstellung
gegeben ungerichteter Graph G = (V , E ), k ∈ N
existiert S ⊂ V , |S | ≤ k , so dass (V \ S , E ) einen Clustergraph ist?
(Clustergraph =
ˆ Graph bestehend aus isolierten Cliquen)
Beobachtung
Graph ist Clustergraph gdw. alle kürzesten Pfade 2 Knoten besitzen
21
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Vertex Cluster Deletion
Problemstellung
gegeben ungerichteter Graph G = (V , E ), k ∈ N
existiert S ⊂ V , |S | ≤ k , so dass (V \ S , E ) einen Clustergraph ist?
(Clustergraph =
ˆ Graph bestehend aus isolierten Cliquen)
Beobachtung
Graph ist Clustergraph gdw. alle kürzesten Pfade 2 Knoten besitzen
21
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Vertex Cluster Deletion
Algorithmus
Für k < 0, gebe NEIN zurück
Suche in O(n3 ) nach kürzestem Pfad P mit 3 Knoten
existiert keiner, gebe JA zurück
sonst, verzweige 3× durch Löschen je eines Knotens von P aus G,
wiederhole rekursiv mit k → k − 1
Laufzeit
Baumgröße O(3k )
(Suchbaum mit Höhe k , Verzweigungsgrad ≤ 3)
Arbeit pro Knoten O(poly (n))
⇒ Gesamtlaufzeit: O(3k poly (n)) ⇒ FPT
(T (n, k ) = 3T (n, k − 1) + O(n3 ))
G
22
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Vertex Cluster Deletion
Algorithmus
Für k < 0, gebe NEIN zurück
Suche in O(n3 ) nach kürzestem Pfad P mit 3 Knoten
existiert keiner, gebe JA zurück
sonst, verzweige 3× durch Löschen je eines Knotens von P aus G,
wiederhole rekursiv mit k → k − 1
k
Laufzeit
Baumgröße O(3k )
(Suchbaum mit Höhe k , Verzweigungsgrad ≤ 3)
Arbeit pro Knoten O(poly (n))
⇒ Gesamtlaufzeit: O(3k poly (n)) ⇒ FPT
(T (n, k ) = 3T (n, k − 1) + O(n3 ))
P
22
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
G
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Vertex Cluster Deletion
Algorithmus
Für k < 0, gebe NEIN zurück
Suche in O(n3 ) nach kürzestem Pfad P mit 3 Knoten
existiert keiner, gebe JA zurück
sonst, verzweige 3× durch Löschen je eines Knotens von P aus G,
wiederhole rekursiv mit k → k − 1
Laufzeit
Baumgröße O(3k )
k−1
(Suchbaum mit Höhe k , Verzweigungsgrad ≤ 3)
Arbeit pro Knoten O(poly (n))
⇒ Gesamtlaufzeit: O(3k poly (n)) ⇒ FPT
(T (n, k ) = 3T (n, k − 1) + O(n3 ))
G
22
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Vertex Cluster Deletion
Algorithmus
Für k < 0, gebe NEIN zurück
Suche in O(n3 ) nach kürzestem Pfad P mit 3 Knoten
existiert keiner, gebe JA zurück
sonst, verzweige 3× durch Löschen je eines Knotens von P aus G,
wiederhole rekursiv mit k → k − 1
Laufzeit
Baumgröße O(3k )
k−1
(Suchbaum mit Höhe k , Verzweigungsgrad ≤ 3)
Arbeit pro Knoten O(poly (n))
⇒ Gesamtlaufzeit: O(3k poly (n)) ⇒ FPT
(T (n, k ) = 3T (n, k − 1) + O(n3 ))
G
22
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Vertex Cluster Deletion
Algorithmus
Für k < 0, gebe NEIN zurück
Suche in O(n3 ) nach kürzestem Pfad P mit 3 Knoten
existiert keiner, gebe JA zurück
sonst, verzweige 3× durch Löschen je eines Knotens von P aus G,
wiederhole rekursiv mit k → k − 1
Laufzeit
Baumgröße O(3k )
k−1
(Suchbaum mit Höhe k , Verzweigungsgrad ≤ 3)
Arbeit pro Knoten O(poly (n))
⇒ Gesamtlaufzeit: O(3k poly (n)) ⇒ FPT
(T (n, k ) = 3T (n, k − 1) + O(n3 ))
G
22
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Vertex Cluster Deletion
Algorithmus
Für k < 0, gebe NEIN zurück
Suche in O(n3 ) nach kürzestem Pfad P mit 3 Knoten
existiert keiner, gebe JA zurück
sonst, verzweige 3× durch Löschen je eines Knotens von P aus G,
wiederhole rekursiv mit k → k − 1
Laufzeit
Baumgröße O(3k )
P
k−1
(Suchbaum mit Höhe k , Verzweigungsgrad ≤ 3)
Arbeit pro Knoten O(poly (n))
⇒ Gesamtlaufzeit: O(3k poly (n)) ⇒ FPT
(T (n, k ) = 3T (n, k − 1) + O(n3 ))
G
22
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Vertex Cluster Deletion
Algorithmus
Für k < 0, gebe NEIN zurück
Suche in O(n3 ) nach kürzestem Pfad P mit 3 Knoten
existiert keiner, gebe JA zurück
sonst, verzweige 3× durch Löschen je eines Knotens von P aus G,
wiederhole rekursiv mit k → k − 1
Laufzeit
Baumgröße O(3k )
k−2
(Suchbaum mit Höhe k , Verzweigungsgrad ≤ 3)
Arbeit pro Knoten O(poly (n))
⇒ Gesamtlaufzeit: O(3k poly (n)) ⇒ FPT
(T (n, k ) = 3T (n, k − 1) + O(n3 ))
G
22
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Vertex Cluster Deletion
Algorithmus
Für k < 0, gebe NEIN zurück
Suche in O(n3 ) nach kürzestem Pfad P mit 3 Knoten
existiert keiner, gebe JA zurück
sonst, verzweige 3× durch Löschen je eines Knotens von P aus G,
wiederhole rekursiv mit k → k − 1
Laufzeit
Baumgröße O(3k )
k−2
(Suchbaum mit Höhe k , Verzweigungsgrad ≤ 3)
Arbeit pro Knoten O(poly (n))
⇒ Gesamtlaufzeit: O(3k poly (n)) ⇒ FPT
(T (n, k ) = 3T (n, k − 1) + O(n3 ))
G
22
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Vertex Cluster Deletion
Algorithmus
Für k < 0, gebe NEIN zurück
Suche in O(n3 ) nach kürzestem Pfad P mit 3 Knoten
existiert keiner, gebe JA zurück
sonst, verzweige 3× durch Löschen je eines Knotens von P aus G,
wiederhole rekursiv mit k → k − 1
Laufzeit
Baumgröße O(3k )
k−2
(Suchbaum mit Höhe k , Verzweigungsgrad ≤ 3)
Arbeit pro Knoten O(poly (n))
⇒ Gesamtlaufzeit: O(3k poly (n)) ⇒ FPT
(T (n, k ) = 3T (n, k − 1) + O(n3 ))
G
22
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Vertex Cluster Deletion
Algorithmus
Für k < 0, gebe NEIN zurück
Suche in O(n3 ) nach kürzestem Pfad P mit 3 Knoten
existiert keiner, gebe JA zurück
sonst, verzweige 3× durch Löschen je eines Knotens von P aus G,
wiederhole rekursiv mit k → k − 1
Laufzeit
Baumgröße O(3k )
(Suchbaum mit Höhe k , Verzweigungsgrad ≤ 3)
Arbeit pro Knoten O(poly (n))
⇒ Gesamtlaufzeit: O(3k poly (n)) ⇒ FPT
(T (n, k ) = 3T (n, k − 1) + O(n3 ))
22
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Parametrisierte Algorithmen
Vertex Cluster Deletion
Algorithmus
Für k < 0, gebe NEIN zurück
Suche in O(n3 ) nach kürzestem Pfad P mit 3 Knoten
existiert keiner, gebe JA zurück
sonst, verzweige 3× durch Löschen je eines Knotens von P aus G,
wiederhole rekursiv mit k → k − 1
Laufzeit
Baumgröße O(3k )
S
(Suchbaum mit Höhe k , Verzweigungsgrad ≤ 3)
Arbeit pro Knoten O(poly (n))
⇒ Gesamtlaufzeit: O(3k poly (n)) ⇒ FPT
(T (n, k ) = 3T (n, k − 1) + O(n3 ))
G
22
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Einschub
Hypergraphen
Definition: Graph
G = (V , E ) mit Knoten V , Kanten E
E besteht aus 2-elementigen Teilmengen von V
Definition: Hypergraph
H = (V , E ) mit Knoten V , Hyperkanten E
E besteht aus beliebigen Teilmengen von V
e1
a
e2
c
e3
b
(Vertex Cover, Hitting Set, . . . auch für Hypergraphen definiert)
Beispiele für Hypergraphen:
H = ({a, . . . , h}, {e1 , . . . , e5 }) mit
e1 = { a , b , c } , e2 = { b , c , d } , e3 = { c , e , f } , e4 = { d , f } , e5 = { d , g }
V=
ˆ Liste and Autoren,
E=
ˆ Liste an Publikationen (definiert über Autoren)
→ H = (V , E ) =
ˆ Hyper-Multigraph
23
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Einschub
Hypergraphen
Definition: Graph
G = (V , E ) mit Knoten V , Kanten E
E besteht aus 2-elementigen Teilmengen von V
Definition: Hypergraph
H = (V , E ) mit Knoten V , Hyperkanten E
E besteht aus beliebigen Teilmengen von V
a
c
e1
e2
e3
b
(Vertex Cover, Hitting Set, . . . auch für Hypergraphen definiert)
Beispiele für Hypergraphen:
H = ({a, . . . , h}, {e1 , . . . , e5 }) mit
e1 = { a , b , c } , e2 = { b , c , d } , e3 = { c , e , f } , e4 = { d , f } , e5 = { d , g }
V=
ˆ Liste and Autoren,
E=
ˆ Liste an Publikationen (definiert über Autoren)
→ H = (V , E ) =
ˆ Hyper-Multigraph
23
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Einschub
Hypergraphen
Definition: Graph
G = (V , E ) mit Knoten V , Kanten E
E besteht aus 2-elementigen Teilmengen von V
e1
Definition: Hypergraph
H = (V , E ) mit Knoten V , Hyperkanten E
E besteht aus beliebigen Teilmengen von V
(Vertex Cover, Hitting Set, . . . auch für Hypergraphen definiert)
h
b
e2
a
c
e
e3
d
f
e4
e5
g
Beispiele für Hypergraphen:
H = ({a, . . . , h}, {e1 , . . . , e5 }) mit
e1 = { a , b , c } , e2 = { b , c , d } , e3 = { c , e , f } , e4 = { d , f } , e5 = { d , g }
V=
ˆ Liste and Autoren,
E=
ˆ Liste an Publikationen (definiert über Autoren)
→ H = (V , E ) =
ˆ Hyper-Multigraph
23
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Einschub
Hypergraphen
Definition: Graph
G = (V , E ) mit Knoten V , Kanten E
E besteht aus 2-elementigen Teilmengen von V
h
b
Definition: Hypergraph
H = (V , E ) mit Knoten V , Hyperkanten E
E besteht aus beliebigen Teilmengen von V
(Vertex Cover, Hitting Set, . . . auch für Hypergraphen definiert)
e1
a
e2
d
c
e
e4
e3
f
e5
g
Beispiele für Hypergraphen:
H = ({a, . . . , h}, {e1 , . . . , e5 }) mit
e1 = { a , b , c } , e2 = { b , c , d } , e3 = { c , e , f } , e4 = { d , f } , e5 = { d , g }
V=
ˆ Liste and Autoren,
E=
ˆ Liste an Publikationen (definiert über Autoren)
→ H = (V , E ) =
ˆ Hyper-Multigraph
23
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
parametrisierte Algorithmen
Zusammenfassung
Wissenswert (nicht erschöpfend!)
fixed parameter tractable
Lösungsansätze: Tiefenbeschränkte Suchbäume, Kernbildung
Typische Fragestellungen
Ist ein Algorithmus mit Laufzeit T FPT?
Geben Sie einen FPT Algorithmus für Problem X an
(meist reicht tiefenbeschränkte Suche)
24
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Grundlagen
Information kommt nach und nach an
Entscheidungen / Berechnungen mit beschränkter Information
(bevor neue Information ankommen kann → Unterschied zu externen Algorithmen)
→ normalerweise supoptimale Lösungen
Beispiele
Ski Rental Problem
Job-Scheduling / Memory-Paging
Streaming Algorithmen (z.B. Clustering, k -median Problem)
Suche in Labyrinthen / Routing in Kommunikationsnetzen
...
25
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Gütemaß
Ein Online Algorithmus ALG hat einen kompetitiven Faktor
c = sup
I
ALG (I )
OPT (I )
mit OPT optimaler Offline Algorithmus, I Probleminstanz
(hier für Minimierungsprobleme; “Approximationsfaktor” c)
Einige Eigenschaften
c = ∞ möglich −→ Online Algorithmus beliebig schlecht
c = const . (normal nicht von Problemgröße abhängig)
aber ev. abhängig von weiteren Problemparametern
26
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Ski Rental Problem
Generische Problembeschreibung
kostenpflichtige Nutzung einer Leistung (alle Kosten > 0)
einmalige Kosten K für unbeschränkte Nutzung oder
Kosten k < K für jede Nutzung
Anzahl Nutzungen n unbekannt
⇒ (Wann) Soll man K für unbeschränkte Nutzung zahlen?
Nomenklatur
Instanz I durch Anzahl Nutzungen n bestimmt
OPT (I ), ALG (I ) =
ˆ Gesamtkosten
27
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Randomisierte Ski Rental Strategie
Strategie: Wähle direkt vor jeder Nutzung per Zufall, ob K bezahlt wird.
Frage: Wie groß ist der kompetitive Faktor c?
ALG (n)
allgemein gilt c = supn OPT (n)
n·k n·k < K
K
sonst
n·k
n<x
ALG (n) =
(x − 1) · k + K sonst
OPT (n) =
(zahle K vor x-ter Nutzung, Zufallsvariable x ≥ 1)
⇒ c=
28
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Randomisierte Ski Rental Strategie
Strategie: Wähle direkt vor jeder Nutzung per Zufall, ob K bezahlt wird.
Frage: Wie groß ist der kompetitive Faktor c?
Kosten
nie K zahlen
ALG (n)
allgemein gilt c = supn OPT (n)
n·k n·k < K
K
sonst
n·k
n<x
ALG (n) =
(x − 1) · k + K sonst
OPT (n) =
(zahle K vor x-ter Nutzung, Zufallsvariable x ≥ 1)
sofort K zahlen
K
k
1
K/k
n
⇒ c=
28
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Randomisierte Ski Rental Strategie
Strategie: Wähle direkt vor jeder Nutzung per Zufall, ob K bezahlt wird.
Frage: Wie groß ist der kompetitive Faktor c?
Kosten
nie K zahlen
ALG (n)
allgemein gilt c = supn OPT (n)
n·k n·k < K
K
sonst
n·k
n<x
ALG (n) =
(x − 1) · k + K sonst
OPT (n) =
(zahle K vor x-ter Nutzung, Zufallsvariable x ≥ 1)
sofort K zahlen
K
OPT
k
1
K/k
n
⇒ c=
28
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Randomisierte Ski Rental Strategie
Strategie: Wähle direkt vor jeder Nutzung per Zufall, ob K bezahlt wird.
Frage: Wie groß ist der kompetitive Faktor c?
Kosten
nie K zahlen
ALG (n)
allgemein gilt c = supn OPT (n)
ALG, x = 2
n·k n·k < K
K
sonst
n·k
n<x
ALG (n) =
(x − 1) · k + K sonst
OPT (n) =
(zahle K vor x-ter Nutzung, Zufallsvariable x ≥ 1)
sofort K zahlen
K
OPT
k
1
K/k
n
⇒ c=
28
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Randomisierte Ski Rental Strategie
Strategie: Wähle direkt vor jeder Nutzung per Zufall, ob K bezahlt wird.
Frage: Wie groß ist der kompetitive Faktor c?
Kosten
nie K zahlen
ALG (n)
allgemein gilt c = supn OPT (n)
ALG, x = 2
n·k n·k < K
K
sonst
n·k
n<x
ALG (n) =
(x − 1) · k + K sonst
OPT (n) =
(zahle K vor x-ter Nutzung, Zufallsvariable x ≥ 1)
sofort K zahlen
K
OPT
k
1
K/k
n
⇒ c=?
28
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Randomisierte Ski Rental Strategie
Strategie: Wähle direkt vor jeder Nutzung per Zufall, ob K bezahlt wird.
Frage: Wie groß ist der kompetitive Faktor c?
ALG(n)
OP T (n)
ALG (n)
allgemein gilt c = supn OPT (n)
n·k n·k < K
K
sonst
n·k
n<x
ALG (n) =
(x − 1) · k + K sonst
OPT (n) =
(zahle K vor x-ter Nutzung, Zufallsvariable x ≥ 1)
1
n < x, nk < K
n
⇒ c=?
28
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Randomisierte Ski Rental Strategie
Strategie: Wähle direkt vor jeder Nutzung per Zufall, ob K bezahlt wird.
Frage: Wie groß ist der kompetitive Faktor c?
ALG(n)
OP T (n)
ALG (n)
allgemein gilt c = supn OPT (n)
n·k n·k < K
K
sonst
n·k
n<x
ALG (n) =
(x − 1) · k + K sonst
OPT (n) =
(x−1)k
K
+1
(zahle K vor x-ter Nutzung, Zufallsvariable x ≥ 1)
1
n < x, nk < K
n ≥ x, nk ≥ K
n
⇒ c=?
28
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Randomisierte Ski Rental Strategie
Strategie: Wähle direkt vor jeder Nutzung per Zufall, ob K bezahlt wird.
Frage: Wie groß ist der kompetitive Faktor c?
K−k
xk
+1
ALG(n)
OP T (n)
ALG (n)
allgemein gilt c = supn OPT (n)
n·k n·k < K
K
sonst
n·k
n<x
ALG (n) =
(x − 1) · k + K sonst
OPT (n) =
(x−1)k
K
+1
(zahle K vor x-ter Nutzung, Zufallsvariable x ≥ 1)
1
x≤
n=x
n=
K
k
K
k
n
⇒ c=?
28
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Randomisierte Ski Rental Strategie
Strategie: Wähle direkt vor jeder Nutzung per Zufall, ob K bezahlt wird.
Frage: Wie groß ist der kompetitive Faktor c?
K−k
xk
+1
ALG(n)
OP T (n)
ALG (n)
allgemein gilt c = supn OPT (n)
n·k n·k < K
K
sonst
n·k
n<x
ALG (n) =
(x − 1) · k + K sonst
OPT (n) =
(x−1)k
K
+1
(zahle K vor x-ter Nutzung, Zufallsvariable x ≥ 1)
1
x>
n=
K
k
n=x
K
k
n
⇒ c=?
28
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Randomisierte Ski Rental Strategie
Strategie: Wähle direkt vor jeder Nutzung per Zufall, ob K bezahlt wird.
Frage: Wie groß ist der kompetitive Faktor c?
K−k
xk
+1
ALG(n)
OP T (n)
ALG (n)
allgemein gilt c = supn OPT (n)
n·k n·k < K
K
sonst
n·k
n<x
ALG (n) =
(x − 1) · k + K sonst
OPT (n) =
(x−1)k
K
+1
(zahle K vor x-ter Nutzung, Zufallsvariable x ≥ 1)
(
⇒ c=
28
K −k
xk + 1
(x −1)k
+1
K
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
x≤
x≤
1
x>
n=x
n=
K
k
K
k
K
k
n
K
k
sonst
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Randomisierte Ski Rental Strategie
Strategie: Wähle direkt vor jeder Nutzung per Zufall, ob K bezahlt wird.
Frage: Wie groß ist der kompetitive Faktor c?
c
ALG (n)
allgemein gilt c = supn OPT (n)
K
k
n·k n·k < K
K
sonst
n·k
n<x
ALG (n) =
(x − 1) · k + K sonst
OPT (n) =
2−
k
K
(zahle K vor x-ter Nutzung, Zufallsvariable x ≥ 1)
(
⇒ c=
28
K −k
xk + 1
(x −1)k
+1
K
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
x≤
1
K
k
x
K
k
sonst
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Randomisierte Ski Rental Strategie
Strategie: Wähle direkt vor jeder Nutzung per Zufall, ob K bezahlt wird.
Frage: Wie groß ist der kompetitive Faktor c?
c
ALG (n)
allgemein gilt c = supn OPT (n)
K
k
n·k n·k < K
K
sonst
n·k
n<x
ALG (n) =
(x − 1) · k + K sonst
OPT (n) =
2−
k
K
(zahle K vor x-ter Nutzung, Zufallsvariable x ≥ 1)
(
⇒ c=
K −k
xk + 1
(x −1)k
+1
K
x≤
K
k
sonst
K
k
1
x
Sonderfall: Bezahle K , nutze nie!
⇒ ALG (n) = K
⇒ c=∞
(entspricht x = 0)
28
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Randomisierte Ski Rental Strategie
(
Es gilt c =
K −k
xk + 1
(x −1)k
+1
K
x≤
K
k
sonst
Zufallsvariable x:
x = ∑i∞=0 (1 − p )i · p · i =
1
p
(mit p Wahrscheinlichkeit K zu bezahlen)
Frage: Für welche Wahrscheinlichkeit p ist c minimal?
⇒ für x =
⇒ p = Kk
K
k
ist c minimal mit c = 2 −
k
K
Zahlenbeispiel: K = 100, k = 10 ⇒ c = 1.9, p = 90%
29
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Randomisierte Ski Rental Strategie
(
Es gilt c =
K −k
xk + 1
(x −1)k
+1
K
x≤
K
k
sonst
Zufallsvariable x:
x = ∑i∞=0 (1 − p )i · p · i =
1
p
(mit p Wahrscheinlichkeit K zu bezahlen)
Frage: Für welche Wahrscheinlichkeit p ist c minimal?
⇒ für x =
⇒ p = Kk
K
k
ist c minimal mit c = 2 −
k
K
Zahlenbeispiel: K = 100, k = 10 ⇒ c = 1.9, p = 90%
29
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Randomisierte Ski Rental Strategie
(
Es gilt c =
K −k
xk + 1
(x −1)k
+1
K
x≤
K
k
sonst
Zufallsvariable x:
x = ∑i∞=0 (1 − p )i · p · i =
1
p
(mit p Wahrscheinlichkeit K zu bezahlen)
Frage: Für welche Wahrscheinlichkeit p ist c minimal?
⇒ für x =
⇒ p = Kk
K
k
ist c minimal mit c = 2 −
k
K
Zahlenbeispiel: K = 100, k = 10 ⇒ c = 1.9, p = 90%
29
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Randomisierte Ski Rental Strategie
(
Es gilt c =
K −k
xk + 1
(x −1)k
+1
K
x≤
K
k
sonst
Zufallsvariable x:
x = ∑i∞=0 (1 − p )i · p · i =
1
p
(mit p Wahrscheinlichkeit K zu bezahlen)
Frage: Für welche Wahrscheinlichkeit p ist c minimal?
⇒ für x =
⇒ p = Kk
K
k
ist c minimal mit c = 2 −
k
K
Zahlenbeispiel: K = 100, k = 10 ⇒ c = 1.9, p = 90%
29
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Doubling Strategie
Doubling
Strategie für Online/Offline Approximationsalgorithmen
Idee
schätze Lösung konservativ ab (eher zu kleine Schätzung)
prüfe, ob Problem gelöst
falls nicht erfolgreich, vergrößere Schätzung geometrisch
(z.B. verdoppeln, verdreifachen, . . . )
30
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Problembeschreibung
Unbekannter ganzzahliger Zielwert U > 0
Bieter gibt eine Reihe an ganzzahligen Geboten (bi ) ab bis bk ≥ U
Bieter muss Summe der Gebote ∑ki=0 bi bezahlen
⇒ Wie kann der Bieter möglichst geschickt vorgehen?
Nomenklatur
Instanz I durch Reihe (bi ) beschrieben
OPT (I ), ALG (I ) =
ˆ summierten Kosten
31
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Optimaler Offline Algorithmus
kennt den Zielwert U
folglich bietet er direkt b0 = U
⇒ OPT = U
Kompetitiver Faktor
b0 + b1 + · · · + bk
: bk − 1 < U ≤ bk
c = sup
U
k ,U
Strategien sind z.B. (a) bi = i · x, (b) bi = a · x i
32
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (a) bi = i · x (x > 0)
worst case: bk −1 = (k − 1) · x = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 =
Gebote
⇒ ALG =
ALG
⇒ OPT
=
⇒ c=∞
U −ε
x
∑ki=0 i · x = 12 (k + 1)k
1 U
U
2U ( x + 2)( x + 1) · x
b0
+1 +1 ≈
U
x
+2
·x
U
Kosten
33
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (a) bi = i · x (x > 0)
worst case: bk −1 = (k − 1) · x = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 =
Gebote
⇒ ALG =
ALG
⇒ OPT
=
⇒ c=∞
U −ε
x
∑ki=0 i · x = 12 (k + 1)k
1 U
U
2U ( x + 2)( x + 1) · x
+1 +1 ≈
U
x
+2
·x
U
b1
x
Kosten
33
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (a) bi = i · x (x > 0)
worst case: bk −1 = (k − 1) · x = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 =
Gebote
⇒ ALG =
ALG
⇒ OPT
=
⇒ c=∞
U −ε
x
∑ki=0 i · x = 12 (k + 1)k
1 U
U
2U ( x + 2)( x + 1) · x
+1 +1 ≈
U
x
+2
·x
U
b2
2x
Kosten
33
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (a) bi = i · x (x > 0)
worst case: bk −1 = (k − 1) · x = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 =
Gebote
⇒ ALG =
ALG
⇒ OPT
=
⇒ c=∞
U −ε
x
∑ki=0 i · x = 12 (k + 1)k
1 U
U
2U ( x + 2)( x + 1) · x
+1 +1 ≈
U
x
+2
·x
U
b3
3x
Kosten
33
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (a) bi = i · x (x > 0)
worst case: bk −1 = (k − 1) · x = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 =
U −ε
x
∑ki=0 i · x = 12 (k + 1)k
1 U
U
2U ( x + 2)( x + 1) · x
+1 +1 ≈
U
x
+2
·x
U
Gebote
⇒ ALG =
ALG
⇒ OPT
=
⇒ c=∞
b4
4x
Kosten
33
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (a) bi = i · x (x > 0)
worst case: bk −1 = (k − 1) · x = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 =
⇒ ALG =
ALG
⇒ OPT
=
⇒ c=∞
U −ε
x
∑ki=0 i · x = 12 (k + 1)k
1 U
U
2U ( x + 2)( x + 1) · x
+1 +1 ≈
U
x
+2
·x
Gebote
U
bk−1
(k − 1)x
Kosten
33
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (a) bi = i · x (x > 0)
worst case: bk −1 = (k − 1) · x = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 =
U −ε
x
∑ki=0 i · x = 12 (k + 1)k
1 U
U
2U ( x + 2)( x + 1) · x
+1 +1 ≈
U
x
+2
·x
U
Gebote
⇒ ALG =
ALG
⇒ OPT
=
⇒ c=∞
bk
kx
Kosten
33
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (a) bi = i · x (x > 0)
worst case: bk −1 = (k − 1) · x = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 =
Gebote
⇒ ALG =
ALG
⇒ OPT
=
⇒ c=∞
U −ε
x
∑ki=0 i · x = 12 (k + 1)k
1 U
U
2U ( x + 2)( x + 1) · x
b0
+1 +1 ≈
U
x
+2
·x
U
A
bk
kx
Kosten
33
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (a) bi = i · x (x > 0)
worst case: bk −1 = (k − 1) · x = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 =
Gebote
⇒ ALG =
ALG
⇒ OPT
=
⇒ c=∞
U −ε
x
∑ki=0 i · x = 12 (k + 1)k
1 U
U
2U ( x + 2)( x + 1) · x
b0
+1 +1 ≈
U
x
+2
·x
U
Fläche A ≈ 12 kx · (k + 1)
A
bk
kx
Kosten
33
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (a) bi = i · x (x > 0)
worst case: bk −1 = (k − 1) · x = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 =
Gebote
⇒ ALG =
ALG
⇒ OPT
=
⇒ c=∞
U −ε
x
∑ki=0 i · x = 12 (k + 1)k
1 U
U
2U ( x + 2)( x + 1) · x
b0
+1 +1 ≈
U
x
+2
·x
U
Fläche A ≈ 12 kx · (k + 1)
A
bk
kx
Kosten
33
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (a) bi = i · x (x > 0)
worst case: bk −1 = (k − 1) · x = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 =
Gebote
⇒ ALG =
ALG
⇒ OPT
=
⇒ c=∞
U −ε
x
∑ki=0 i · x = 12 (k + 1)k
1 U
U
2U ( x + 2)( x + 1) · x
b0
+1 +1 ≈
U
x
+2
·x
(unabhängig von x schlecht)
U
Fläche A ≈ 12 kx · (k + 1)
A
bk
kx
Kosten
33
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (b) bi = a · x i (x > 1)
worst case: bk −1 = a · x k −1 = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 = logx ( Ua−ε ) + 1 + 1 ≈ logx
⇒ ALG = ∑ki=0 a · x i =
⇒
ALG
OPT
x2
x −1
Gebote
⇒ c=
=
x2
x −1
−
a
(x −1)U
b0
a·(x k +1 −1)
x −1
=
U
a·(x logx a +2 −1)
x −1
=
U
a
+2
a·( Ua x 2 −1)
x −1
U
ax0
Kosten
34
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (b) bi = a · x i (x > 1)
worst case: bk −1 = a · x k −1 = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 = logx ( Ua−ε ) + 1 + 1 ≈ logx
⇒ ALG = ∑ki=0 a · x i =
⇒
ALG
OPT
x2
x −1
Gebote
⇒ c=
=
x2
x −1
−
a
(x −1)U
a·(x k +1 −1)
x −1
=
U
a·(x logx a +2 −1)
x −1
=
U
a
+2
a·( Ua x 2 −1)
x −1
U
b1
ax1
Kosten
34
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (b) bi = a · x i (x > 1)
worst case: bk −1 = a · x k −1 = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 = logx ( Ua−ε ) + 1 + 1 ≈ logx
⇒ ALG = ∑ki=0 a · x i =
⇒
ALG
OPT
x2
x −1
Gebote
⇒ c=
=
x2
x −1
−
a
(x −1)U
a·(x k +1 −1)
x −1
=
U
a·(x logx a +2 −1)
x −1
=
U
a
+2
a·( Ua x 2 −1)
x −1
U
b2
ax2
Kosten
34
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (b) bi = a · x i (x > 1)
worst case: bk −1 = a · x k −1 = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 = logx ( Ua−ε ) + 1 + 1 ≈ logx
⇒ ALG = ∑ki=0 a · x i =
⇒
ALG
OPT
x2
x −1
Gebote
⇒ c=
=
x2
x −1
−
a
(x −1)U
a·(x k +1 −1)
x −1
=
U
a·(x logx a +2 −1)
x −1
=
U
a
+2
a·( Ua x 2 −1)
x −1
U
bk−1
axk−1
Kosten
34
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (b) bi = a · x i (x > 1)
worst case: bk −1 = a · x k −1 = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 = logx ( Ua−ε ) + 1 + 1 ≈ logx
⇒ ALG = ∑ki=0 a · x i =
⇒
ALG
OPT
x2
x −1
−
a
(x −1)U
=
x −1
=
+2
a·( Ua x 2 −1)
x −1
U
Gebote
⇒ c=
=
x2
x −1
a·(x k +1 −1)
x −1
U
a·(x logx a +2 −1)
U
a
bk
axk
Kosten
34
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (b) bi = a · x i (x > 1)
worst case: bk −1 = a · x k −1 = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 = logx ( Ua−ε ) + 1 + 1 ≈ logx
⇒ ALG = ∑ki=0 a · x i =
⇒
ALG
OPT
x2
x −1
Gebote
⇒ c=
=
x2
x −1
−
a
(x −1)U
a·(x k +1 −1)
x −1
b0
bk
=
U
a·(x logx a +2 −1)
x −1
=
U
a
+2
a·( Ua x 2 −1)
x −1
U
A
axk
Kosten
34
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (b) bi = a · x i (x > 1)
worst case: bk −1 = a · x k −1 = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 = logx ( Ua−ε ) + 1 + 1 ≈ logx
⇒ ALG = ∑ki=0 a · x i =
⇒
ALG
OPT
x2
x −1
Gebote
⇒ c=
=
x2
x −1
−
a
(x −1)U
a·(x k +1 −1)
x −1
b0
bk
=
U
a·(x logx a +2 −1)
x −1
=
U
a
+2
a·( Ua x 2 −1)
x −1
U
Fläche A ≈ a · (xk − 1) · ln x
A
axk
Kosten
34
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (b) bi = a · x i (x > 1)
worst case: bk −1 = a · x k −1 = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 = logx ( Ua−ε ) + 1 + 1 ≈ logx
⇒ ALG = ∑ki=0 a · x i =
⇒
ALG
OPT
x2
x −1
Gebote
⇒ c=
=
x2
x −1
−
a
(x −1)U
a·(x k +1 −1)
x −1
b0
bk
=
U
a·(x logx a +2 −1)
x −1
=
U
a
+2
a·( Ua x 2 −1)
x −1
U
Fläche A ≈ a · (xk − 1) · ln x
A
axk
Kosten
34
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Analyse: (b) bi = a · x i (x > 1)
worst case: bk −1 = a · x k −1 = U − ε (k > 0, ε → 0)
⇒ Anzahl Gebote: k + 1 = logx ( Ua−ε ) + 1 + 1 ≈ logx
⇒ ALG = ∑ki=0 a · x i =
⇒
ALG
OPT
x2
x −1
Gebote
⇒ c=
=
x2
x −1
−
a
(x −1)U
a·(x k +1 −1)
x −1
b0
bk
=
U
a·(x logx a +2 −1)
x −1
=
U
a
+2
a·( Ua x 2 −1)
x −1
(minimal für x = 2 ⇒ c = 4)
U
Fläche A ≈ a · (xk − 1) · ln x
A
axk
Kosten
34
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Beweis, dass c = 4 untere Schranke ist
Definiere:
sk = ∑ki=0 bi
s
yk = ks+1
k
Annahme: es existiert c < 4 mit
sk
U
⇒ sk +1 < c · bk = c (sk − sk −1 )
y
⇒ yk < c (1 − yk1−1 ) < c ( k4−1 ) =
· yk −1
c
4
⇒ yk < ( 4c )1 · yk −1 < · · · < ( 4c )k · y0
⇒ yk < ( 4c )k · bs10 < ( 4c )k · c
⇒ sk +1 < ( 4c )k · c · sk
< c f.a. k , U
(U ≈ bk −1 )
(geteilt durch sk , mit 1 −
(mit y0 =
s1
s0
=
s1
b0
1
x
< x4 )
und Annahme)
k
⇒ sk +1 < sk für c < 4 k +1 → 4 (k → ∞)
Widerspruch! Annahme falsch.
35
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Beweis, dass c = 4 untere Schranke ist
Definiere:
sk = ∑ki=0 bi
s
yk = ks+1
k
Annahme: es existiert c < 4 mit
sk
U
⇒ sk +1 < c · bk = c (sk − sk −1 )
y
⇒ yk < c (1 − yk1−1 ) < c ( k4−1 ) =
· yk −1
c
4
⇒ yk < ( 4c )1 · yk −1 < · · · < ( 4c )k · y0
⇒ yk < ( 4c )k · bs10 < ( 4c )k · c
⇒ sk +1 < ( 4c )k · c · sk
< c f.a. k , U
(U ≈ bk −1 )
(geteilt durch sk , mit 1 −
(mit y0 =
s1
s0
=
s1
b0
1
x
< x4 )
und Annahme)
k
⇒ sk +1 < sk für c < 4 k +1 → 4 (k → ∞)
Widerspruch! Annahme falsch.
35
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Beweis, dass c = 4 untere Schranke ist
Definiere:
sk = ∑ki=0 bi
s
yk = ks+1
k
Annahme: es existiert c < 4 mit
sk
U
⇒ sk +1 < c · bk = c (sk − sk −1 )
y
⇒ yk < c (1 − yk1−1 ) < c ( k4−1 ) =
· yk −1
c
4
⇒ yk < ( 4c )1 · yk −1 < · · · < ( 4c )k · y0
⇒ yk < ( 4c )k · bs10 < ( 4c )k · c
⇒ sk +1 < ( 4c )k · c · sk
< c f.a. k , U
(U ≈ bk −1 )
(geteilt durch sk , mit 1 −
(mit y0 =
s1
s0
=
s1
b0
1
x
< x4 )
und Annahme)
k
⇒ sk +1 < sk für c < 4 k +1 → 4 (k → ∞)
Widerspruch! Annahme falsch.
35
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Beweis, dass c = 4 untere Schranke ist
Definiere:
sk = ∑ki=0 bi
s
yk = ks+1
k
Annahme: es existiert c < 4 mit
sk
U
⇒ sk +1 < c · bk = c (sk − sk −1 )
y
⇒ yk < c (1 − yk1−1 ) < c ( k4−1 ) =
· yk −1
c
4
⇒ yk < ( 4c )1 · yk −1 < · · · < ( 4c )k · y0
⇒ yk < ( 4c )k · bs10 < ( 4c )k · c
⇒ sk +1 < ( 4c )k · c · sk
< c f.a. k , U
(U ≈ bk −1 )
(geteilt durch sk , mit 1 −
(mit y0 =
s1
s0
=
s1
b0
1
x
< x4 )
und Annahme)
k
⇒ sk +1 < sk für c < 4 k +1 → 4 (k → ∞)
Widerspruch! Annahme falsch.
35
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Beweis, dass c = 4 untere Schranke ist
Definiere:
sk = ∑ki=0 bi
s
yk = ks+1
k
Annahme: es existiert c < 4 mit
sk
U
⇒ sk +1 < c · bk = c (sk − sk −1 )
y
⇒ yk < c (1 − yk1−1 ) < c ( k4−1 ) =
· yk −1
c
4
⇒ yk < ( 4c )1 · yk −1 < · · · < ( 4c )k · y0
⇒ yk < ( 4c )k · bs10 < ( 4c )k · c
⇒ sk +1 < ( 4c )k · c · sk
< c f.a. k , U
(U ≈ bk −1 )
(geteilt durch sk , mit 1 −
(mit y0 =
s1
s0
=
s1
b0
1
x
< x4 )
und Annahme)
k
⇒ sk +1 < sk für c < 4 k +1 → 4 (k → ∞)
Widerspruch! Annahme falsch.
35
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Beweis, dass c = 4 untere Schranke ist
Definiere:
sk = ∑ki=0 bi
s
yk = ks+1
k
Annahme: es existiert c < 4 mit
sk
U
⇒ sk +1 < c · bk = c (sk − sk −1 )
y
⇒ yk < c (1 − yk1−1 ) < c ( k4−1 ) =
· yk −1
c
4
⇒ yk < ( 4c )1 · yk −1 < · · · < ( 4c )k · y0
⇒ yk < ( 4c )k · bs10 < ( 4c )k · c
⇒ sk +1 < ( 4c )k · c · sk
< c f.a. k , U
(U ≈ bk −1 )
(geteilt durch sk , mit 1 −
(mit y0 =
s1
s0
=
s1
b0
1
x
< x4 )
und Annahme)
k
⇒ sk +1 < sk für c < 4 k +1 → 4 (k → ∞)
Widerspruch! Annahme falsch.
35
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Beweis, dass c = 4 untere Schranke ist
Definiere:
sk = ∑ki=0 bi
s
yk = ks+1
k
Annahme: es existiert c < 4 mit
sk
U
⇒ sk +1 < c · bk = c (sk − sk −1 )
y
⇒ yk < c (1 − yk1−1 ) < c ( k4−1 ) =
· yk −1
c
4
⇒ yk < ( 4c )1 · yk −1 < · · · < ( 4c )k · y0
⇒ yk < ( 4c )k · bs10 < ( 4c )k · c
⇒ sk +1 < ( 4c )k · c · sk
< c f.a. k , U
(U ≈ bk −1 )
(geteilt durch sk , mit 1 −
(mit y0 =
s1
s0
=
s1
b0
1
x
< x4 )
und Annahme)
k
⇒ sk +1 < sk für c < 4 k +1 → 4 (k → ∞)
Widerspruch! Annahme falsch.
35
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Beweis, dass c = 4 untere Schranke ist
Definiere:
sk = ∑ki=0 bi
s
yk = ks+1
k
Annahme: es existiert c < 4 mit
sk
U
⇒ sk +1 < c · bk = c (sk − sk −1 )
y
⇒ yk < c (1 − yk1−1 ) < c ( k4−1 ) =
· yk −1
c
4
⇒ yk < ( 4c )1 · yk −1 < · · · < ( 4c )k · y0
⇒ yk < ( 4c )k · bs10 < ( 4c )k · c
⇒ sk +1 < ( 4c )k · c · sk
< c f.a. k , U
(U ≈ bk −1 )
(geteilt durch sk , mit 1 −
(mit y0 =
s1
s0
=
s1
b0
1
x
< x4 )
und Annahme)
k
⇒ sk +1 < sk für c < 4 k +1 → 4 (k → ∞)
Widerspruch! Annahme falsch.
35
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Beweis, dass c = 4 untere Schranke ist
Definiere:
sk = ∑ki=0 bi
s
yk = ks+1
k
Annahme: es existiert c < 4 mit
sk
U
⇒ sk +1 < c · bk = c (sk − sk −1 )
y
⇒ yk < c (1 − yk1−1 ) < c ( k4−1 ) =
· yk −1
c
4
⇒ yk < ( 4c )1 · yk −1 < · · · < ( 4c )k · y0
⇒ yk < ( 4c )k · bs10 < ( 4c )k · c
⇒ sk +1 < ( 4c )k · c · sk
< c f.a. k , U
(U ≈ bk −1 )
(geteilt durch sk , mit 1 −
(mit y0 =
s1
s0
=
s1
b0
1
x
< x4 )
und Annahme)
k
⇒ sk +1 < sk für c < 4 k +1 → 4 (k → ∞)
Widerspruch! Annahme falsch.
35
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Online Bidding
Beweis, dass c = 4 untere Schranke ist
Definiere:
sk = ∑ki=0 bi
s
yk = ks+1
k
Annahme: es existiert c < 4 mit
sk
U
⇒ sk +1 < c · bk = c (sk − sk −1 )
y
⇒ yk < c (1 − yk1−1 ) < c ( k4−1 ) =
· yk −1
c
4
⇒ yk < ( 4c )1 · yk −1 < · · · < ( 4c )k · y0
⇒ yk < ( 4c )k · bs10 < ( 4c )k · c
⇒ sk +1 < ( 4c )k · c · sk
< c f.a. k , U
(U ≈ bk −1 )
(geteilt durch sk , mit 1 −
(mit y0 =
s1
s0
=
s1
b0
1
x
< x4 )
und Annahme)
k
⇒ sk +1 < sk für c < 4 k +1 → 4 (k → ∞)
Widerspruch! Annahme falsch.
35
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Online Algorithmen
Zusammenfassung
Wissenswert (nicht erschöpfend!)
kompetitiver Faktor c
Doubling Technik
Ski Rental Problem
Typische Fragestellungen
Gegeben sei Algorithmus X . Wie groß ist sein kompetitiver Faktor?
Geben Sie einen Algorithmus mit kompetitivem Faktor c an.
Bestimme untere Schranke für kompetitiven Faktor c von Problem P.
36
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Ende!
Feierabend!
37
Kobitzsch, Schieferdecker:
Übung 8 – Algorithmen II
Institut für Theoretische Informatik
Algorithmik II
Herunterladen