Kapitel 7 Sublineare Algorithmen

Werbung
Kapitel 7 Sublineare Algorithmen
– Property Testing
– sublineare Approximationsalgorithmen
279
Sublineare Algorithmen
• Laufzeit sublinear in der Länge der Eingabe
→ Eingabe kann nicht vollständig gelesen werden
→ Ausgabe (oft) approximativ
Algorithmen (oft) randomisiert
sublineare Approximationsalgorithmen
Property Testing
280
• Speicherplatz sublinear
Szenario: riesige Datenmengen,
auf die nur in Form eines Datenstroms,
d.h. sequentiell zugegriffen werden kann
→ nur ein kleiner Teil der Daten
(eine Skizze) kann gespeichert
werden
Datenstromalgorithmen (nicht in dieser VL)
281
Beispiel:
Eingabe: metrischer Raum über Menge P,
gegeben mittels seiner Distanzmatrix D
Aufgabe: Berechne Durchmesser d = max D[u, v ].
u,v ∈P
Algorithmus:
• Wähle zufällig gleichverteilt p ∈ P
• Gib z = max D[u, p] aus
u∈P
Offensichtlich: Laufzeit O (n), also sublinear
Frage: Wie gut “ist Ausgabe gemessen an d ?
”
282
Behauptung: d/2 ≤ z ≤ d X
Sei d = D[u, v ].
Es gilt
d = D[u, v ]≤ D[u, p] + D[p, v ]≤ 2z
Dreiecksungleichung
Symmetrie
D[p, v ] = D[v , p]
z ≥ d/2 X
283
Beispiel:
Eingabe: ω ∈ {0, 1}n
Frage:
ω = 0n ?
Exakte Lösung
ω muss vollständig betrachtet
werden
Relaxation: Parameter ε > 0
Antwort Ja, wenn ω ∈ 0n
Nein, wenn ω mehr als εn
1en enthält
284
• Wähle s = Θ(1/ε) Bitpositionen zufällig gleichverteilt
• Überprüfe, ob Xi = 1 für ein i aus der gewählten Menge
Wenn ja
Ansonsten
Antwort nein
ja
Fehlerwahrscheinlichkeit
Pr( keine 1 in Stichprobe | mehr als εn 1en in ω )
< (1 − ε)s < e−εs =e−c
1
x
(1 − x ) < e−1
Konstante
285
Kapitel 7.1 Property Testing
– Einführung,
Test auf Sortiertheit
– Testen von Grapheigenschaften : Modelle
Test auf Kreisfreiheit in gerichteten Graphen
Test auf Graphzusammenhang
– Testen visueller Eigenschaften:
• Test auf Halbebene
• Test auf Konvexität
– Test auf Bipartitheit
286
Beispiel:
ω = 0n ?
approximative Entscheidung
Beispiel:
Durchmesser in metrischem Raum
approximativer Wert
Frage: Was verstehen wir unter
Approximation eines Entscheidungsproblems?
Property Testing
Hier: Eigenschaft Nullstring sein“
”
287
Definition:
Property Testing ist die Berechnungsaufgabe zu
entscheiden, ob ein gegebenes Objekt
• eine vorgegebene Eigenschaft P erfüllt oder
• weit entfernt“ ist, Eigenschaft P zu erfüllen.
”
Beispiel:
• Objekt: Funktion
zu testende Eigenschaft: Monotonie
• Objekt: Graph
zu testende Eigenschaft: Kreisfreiheit
288
Entscheidungsproblem
Eingaben/Objekte,
die Eigenschaft P
nicht erfüllen
Eingaben/Objekte
mit
Eigenschaft P
Property Testing
Eingaben/Objekte
mit
Eigenschaft P
1111111
0000000
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
Universum“
”
Eingaben/Objekte,
die weit entfernt“
”
vonP sind
289
Mögliche Anwendungen
• Objekt kann zu groß sein, um vollständig betrachtet zu
werden
approximative Entscheidung notwendig
• Exakte Lösung zu bestimmen, kann NP-hart sein
• Schneller Testalgorithmus als Preprocessing für
langsamen Entscheidungsalgorithmus:
♦ Verwirft Testalgorithmus, liefert er oft Zeugen“
”
♦ Akzeptiert er, kann Entscheidungsalgorithmus
sicherstellen, dass Eigenschaft erfüllt
290
Frage:
Wann ist Objekt weit davon entfernt,
eine Eigenschaft zu erfüllen?
Notwendig:
• Distanzmaß zwischen Objekten
• Distanzparameter ε, 0 ≤ ε < 1
Typischerweise Distanz zwischen 2 Objekten O1 , O2
gegeben als Anteil des Objekts O1 , der verändert werden
muss, um O2 zu erhalten.
O1 ε-weit von Eigenschaft P, wenn Distanz zu jedem Objekt
mit P größer als ε; ansonsten ist O1 ε-nah zu P
291
Beispiele:
• Distanz zwischen Funktionen:
Anteil der Elemente aus Definitionsbereich, für die sich
Funktionswerte unterscheiden
• Distanz zwischen Graphen G1 und G2 , die durch
Adjazenzmatrizen AG1 und AG2 gegeben sind:
Anteil der Matrixeinträge in AG1 , die sich von Einträgen
von AG2 unterscheiden
In Literatur häufig: Hamming Abstand, edit distance
Einfügungen, Löschungen, Substitutionen
292
• Herkömmlicher Algorithmus:
erhält vollständige Beschreibung des betrachteten
Objekts als Eingabe
• Testalgorithmus:
darf Anfragen (queries) über lokale Struktur des Objekts
stellen
Art der erlaubten Anfragen hängt vom betrachteten
Objekt ab.
Beispiele:
• Funktionen f : D
W , Funktionswert f (x), x ∈ D ?
• Graph mittels Adjazenzmatrix AG gegeben,
Eintrag AG [i, j] ?
293
Qualität eines Testalgorithmus wird gemessen an
• seiner Anfragekomplexität,
Anzahl Anfragen, die er über Eingabe stellt, und
• seiner Laufzeit,
die zusätzliche Zeit für weitere Berechnungen angibt.
schwierigste“ Eingaben
”
müssen nicht richtig klassifiziert werden
Relaxation der Anforderungen, dafür Erwartung, dass
• so wenig Anfragen wie möglich,
• Laufzeit sublinear, besser unabhängig von
Eingabelänge
294
Definition:
Ein ε-Testalgorithmus A für eine Eigenschaft P ist ein
randomisierter Algorithmus, der für Distanzparameter ε
• jedes Objekt mit Eigenschaft P mit Wahrscheinlichkeit
mindestens
2
3
akzeptiert,
• jedes Objekt, das ε-weit von P ist, mit
Wahrscheinlichkeit mindestens
2
3
verwirft.
(Keine Anforderung an A für Objekte, die keine der beiden
Bedingungen erfüllen.)
295
Definition:
Eigenschaft P ist ε-testbar, wenn ε-Testalgorithmus für P
existiert, dessen Anzahl Anfragen nur von ε abhängt
(konstant ist, wenn ε konstant ist).
Eigenschaft P ist testbar, wenn P ε-testbar für alle ε > 0.
296
Beispiel: Sortiertheit / Monotonie
Eingabe:
Liste x1 , . . . , xn mit xi ∈ N, 1 ≤ i ≤ n
Frage:
Gilt xi ≤ xj für alle i, j ∈ {1, . . . n}, i < j ?
Ziel:
ε-Testalgorithmus mit Anfragekomplexität O logε n
1. Versuch: • Wähle zufällig gleichverteilt s Zahlen
xi1 , . . . , xis mit ij ≤ ik für j ≤ k
• Akzeptiere genau dann,
wenn xij ≤ xik für ij ≤ ik
297
Gegenbeispiel:
1 0 2 1 3 2 4 3 5 4 6 5 ...
Behauptung 1: Abstand der Liste von Eigenschaft
1
2
Sortiertheit mindestens
X
Behauptung 2: Wahrscheinlichkeit, dass Stichprobe
der Größe s ≤
√
n
2
ein Paar mit
Indizes 2j − 1, 2j, 1 ≤ j ≤ n2 , enthält,
ist kleiner
1
3
Beweis: Ek ,l Ereignis, dass ik = 2j − 1, il = 2j, 1 ≤ k ≤ l ≤ s
Pr (Ek ,l ) = n1 ,
S
P
Pr
Pr (Ek ,l ) =
Ek ,l ≤
k <l
k <l
s
2
·
1
n
298
Beispiel (fortgesetzt):
2. Versuch: • Wähle xi und verwirf genau dann, wenn
xi > xi+1
Gegenbeispiel:
1
| 1 1{z1 1 1} 0
| 0 0{z0 0 0}
n
2
n
2
Beobachtung: Von n − 1 aufeinanderfolgenden
Zahlenpaaren ist nur 1 Zeuge“
”
für Unsortiertheit
Ω (n) Wiederholungen notwendig
für konstante Fehlerwahrscheinlichkeit
299
ε-Testalgorithmus mit Anfragekomplexität O
Annahme: xi 6= xj für i 6= j
log n
ε
Beobachtung: keine große Einschränkung,
xi
(xi , i) möglich
• Wähle für s = 2ε zufällig xi1 , . . . , xis
• Führe binäre Suche für jedes xij , 1 ≤ j ≤ s, durch.
Verwirf, wenn ungeordnete Zahlen gefunden
werden.
• Akzeptiere, wenn binäre Suche für alle xij erfolgreich
300
Definition:
Ein Algorithmus ist adaptiv,
wenn seine Anfragen von den vorherigen Anfragen
abhängen.
301
Offensichtlich:
Algorithmus akzeptiert sortierte Listen
einseitiger Fehler
Sei x1 , . . . , xn ε-weit von Sortiertheit entfernt.
xi Zeuge für Unsortiertheit, wenn binäre Suche
nach xi fehlschlägt.
Behauptung: Es gibt mehr als εn Zeugen.
Wahrscheinlichkeit, dass Algorithmus fälschlicherweise
akzeptiert:
Pr(kein Zeuge in Stichprobe) < (1 − ε)s
< e−εs = e−2 <
1
3
X
302
Beweis (Behauptung):
z.z. Nichtzeugen sind zueinander sortiert
Betrachte xi , xj , i < j.
Sei u letzte Zahl, bevor binäre Suche nach
xi und xj sich teilt.
xi ≤ u ≤ xj , denn binäre Suche nach xi und xj
erfolgreich und u kommt in beiden
Suchpfaden vor. X
303
Testen von Grapheigenschaften
Art der erlaubten Anfragen und Distanzmaß hängen von
Darstellung ab
Zwei Standardmodelle, die zu unterschiedlichen Modellen
für das Testen von
Grapheigenschaften führen:
• Adjazenzmatrix-Modell
• Adjazenzlisten-Modell
– gradbeschränktes Modell
– unbeschränktes Modell
304
• Adjazenzmatrix-Modell
Existiert Kante (u, v ) ?
• Gradbeschränktes Adjazenzlisten-Modell
Gradschranke d, i-ter Nachbar von v , 1 ≤ i ≤ d ?
(Weniger als i Nachbarn
Antwort ∅)
Eingabe soll verworfen werden, wenn mehr als εn2
bzw. εdn Kantenmodifikationen notwendig,
um zu testende Eigenschaft zu erfüllen
(symmetrische Differenz der Fkten, die die Graphen
darstellen, dividiert durch Größe des Definitionsbereichs)
305
Ergebnisse über Testen von Grapheigenschaften am
wichtigsten, wenn Anzahl Kanten mit Größenordnung des
Definitionsbereichs übereinstimmt.
Adjazenzmatrix-Modell z.B. für spärliche / dünne
Graphen G mit o(n2 ) Kanten ungeeignet, denn G für
jede konstante Distanz nah zu jeder Eigenschaft leerer
Graphen.
306
Unbeschränktes Adjazenzlisten-Modell
• Adjazenzlisten variabler Länge
Grad d(v ) ? i-ter Nachbar von v , i ≤ d(v )?
• Kein fester Definitionsbereich, obere Schranke m für
Kantenanzahl. Distanz zweier Graphen ist Anzahl
Kanten in genau einem Graphen dividiert durch m.
• Eingabe soll verworfen werden, wenn mehr als εm
Kantenmodifikationen notwendig, damit zu testende
Eigenschaft erfüllt ist.
307
Kreisfreiheit
Adjazenzmatrix-Modell:
• ungerichtete Graphen G
Sei ε > 2n (ansonsten Entscheidung deterministisch in
poly( 1ε ) Zeit, indem G vollständig untersucht wird).
– G höchstens εn2 Kanten
G kreisfrei“, denn
”
G ε-nah zum
leeren Graphen
– Lediglich sehr spärliche / dünne Graphen mit höchstens
n − 1 < 2ε n2 Kanten können kreisfrei sein.
Algorithmus schätzt Kantenanzahl ab und trifft
Entscheidung in Abhängigkeit der geschätzten
Kantenanzahl
308
• gerichtete Graphen
können sehr dicht sein und trotzdem keine gerichteten
Kreise enthalten
Beobachtung:
– G ε-weit von Kreisfreiheit entfernt
G enthält große Teilmengen von Knoten, so dass jeder
dieser Knoten große Anzahl ausgehender Kanten zu
anderen Knoten dieser Teilmenge hat.
– Stichprobe aus dieser Knotenmenge induziert mit
großer Wkeit Subgraphen, der Kreis enthält
309
Definition:
Ein gerichteter Graph ist kreisfrei, wenn er keine gerichteten
Kreise enthält, d.h. ein gerichteter Graph G ist genau dann
kreisfrei, wenn es eine bijektive Funktion
Φ : V → {1, . . . , |V |} gibt, so dass für alle Kanten (v , u) ∈ E
gilt: Φ(v ) < Φ(u).
Eine Kante (v , u) ∈ E heißt verletzende Kante bzgl. Φ(·),
wenn Φ(v ) > Φ(u) gilt.
310
Algorithmus: Kreisfreiheit
(Adjazenzmatrix-Modell für gerichtete Graphen)
1. Wähle zufällige gleichverteilt eine Teilmenge U von
1
O log( ε )/ε Knoten aus.
2. Für jedes Knotenpaar v1 , v2 ∈ U überprüfe, ob
(v1 , v2 ) ∈ E oder (v2 , v1 ) ∈ E gilt.
3. Überprüfe, ob der Subgraph über U einen Kreis enthält.
Übernehme die Entscheidung.
Satz:
Algorithmus Kreisfreiheit ist einseitigerTestalgorithmus mit
Laufzeit und Anfragekomplexität Õ ε12 .
311
Definition:
Für v ∈ V sei O(v ) := {u | (v , u) ∈ E}.
Für eine Knotenteilmenge W ⊆ V hat v einen geringen
Ausgangsgrad bzgl. W , wenn |O(v ) ∩ W | ≤ 2ε n
für einen festgelegten Parameter ε;
ansonsten hat v einen hohen Ausgangsgrad bzgl. W .
312
Lemma 1:
Ist G ein gerichteter Graph, der ε-weit von Kreisfreiheit
entfernt ist, dann existiert eine Knotenteilmenge W ⊆ V mit
1
ε 2
mindestens 2 n Knoten, so dass jeder Knoten v ∈ W
hohen Ausgangsgrad bzgl. W hat.
Lemma 2:
Sei W ⊆ V mit ∀v ∈ W : |O(v ) ∩ W | ≥ ε′ |W | für 0 < ε′ ≤ 12 .
1
′
Für Θ log( ε′ )/ε zufällig gleichverteilt gewählte Knoten aus
W gilt, dass der Subgraph über den ausgewählten Knoten
mit Wkeit mindestens
9
10
einen Kreis enthält.
313
Beweis: Lemma 1 (Kontraposition)
z.z. W existiert nicht
G ist ε-nah an Kreisfreiheit
∀Z : Z ⊆ V und |Z | ≥ (ε/2)1/2 · n
∃v :v ∈ Z und v hat geringen Ausgangsgrad bzgl. Z
∃Φ : Φ : V → {1, . . . , |V |}
und Φ bijektiv und Menge
T aller verletzenden Kanten
bzgl. Φ hat höchstens εn2
Elemente
• Konstruktion von Φ und T
in n Schritten/Phasen
• In jedem Schritt wird einem noch unnummerierten
Knoten eine neue Nummer zugewiesen und alle seine
verletzenden Kanten entfernt.
314
Beweis (Fortsetzung):
• Index l, Initialisierung l := n
• Beginn einer Phase:
Sei Z ⊆ V die Menge der noch unnummerierten
Knoten. Initialisierung Z := V
Solange |Z | ≥ (ε/2)1/2 n,
Existenz
von v
aufgrund
der
– wähle einen Knoten v ∈ Z , der einen geringen Ausgangsgrad bzgl. Z hat
– Φ(v) = l
höchstens ε/2 · n, denn
– l := l − 1
– T := T ∪ {(v, u) ∈ E | u ∈ Z }
Annahme
gesichert
315
Beweis (Fortsetzung):
• |Z | < (ε/2)1/2 n
– nummeriere Knoten aus Z beliebig zwischen 1 und l
– alle ausgehenden Kanten von Knoten aus Z in die
”
Menge Z“ werden zu T hinzugefügt
−→ T enthält höchstens (n − (ε/2)1/2 n + 1) · (ε/2)n+((ε/2)1/2 · n)2
≤ εn2 Kanten
noch z.z. Es gibt keine weiteren verletzenden Kanten bzgl.
Φ.
Klar wegen Bildungsvorschrift“ für T X
”
316
Beweis: Lemma 2
Sei
c ln(1/ε′ )
m= ε′
+ 1 die Anzahl ausgewählter Knoten.
c wird später bestimmt
z.z. Wahrscheinlichkeit, dass jeder ausgewählte Knoten
eine Kante zu einem anderen ausgewählten Knoten
hat, ist mindestens 9/10
Seien v1 , . . . , vm die ausgewählten Knoten.
Sei ξi das Ereignis, dass ein Knoten vj existiert
mit (vi , vj ) ∈ E, 1 ≤ i ≤ m.
317
Beweis (Fortsetzung):
′ m−1
Pr (ξi )≤(1 − ε )
<e
−(m−1)ε′
=e
−cln(1/ε′ )
= (ε′ )c
Pr (
m
S
Knoten zufällig
gleichverteilt gewählt und jeder Knoten
aus W hat mindestens ε′ |W | Kanten
zu Knoten aus W
ξi )≤
i=1
m
P
Pr (ξi ) <
i=1
c ln(1/ε′ )
( ε′
+ 1) · (ε′ )c
union bound
Wir wissen: ε′ ≤ 1/2
c groß genug wählen, z.B. c ≥ 10, so dass
höchstens
1/10 ist
318
Beweis: Satz
– Laufzeit und Anfragekomplexität X
– Korrektheit:
• G kreisfrei X
• G ε-weit von Kreisfreiheit entfernt:
Lemma 1
−−−−−→ ∃W : W ⊆ V und |W | ≥ (ε/2)1/2 · n
und alle v ∈ W haben hohen Ausgangsgrad
bzgl. W
n
Wähle 2m · |W
| Knoten zufällig gleichverteilt
aus V .
→ Erwartungswert für die Anzahl der (nicht
notwendigerweise verschiedenen) gewählten Knoten
aus W mindestens 2m
319
Beweis (Fortsetzung):
Chernoff
−−−−→ Wkeit, dass weniger als m Knoten aus W
2
sind, nach oben beschränkt durch e
m ≥ 12
1/10
′
Sei ε := min{1/2, ε/2 ·
−( 21 ) ·m
Def. hoher Ausgangsgrad
n
}.
|W |
bzgl. W
n
·|W |
|W |
{z }
Für jeden Knoten v ∈ W gilt: |O (v ) ∩ W | > ε/2 ·
Setze m := Θ(log(1/ε′ )/ε′ ).
Lemma 2
|
≥ε′
−−−−−→ Wkeit, dass Kreis gefunden wird,
mindestens 9/10
−→ Fehlerwahrscheinlichkeit nach oben beschränkt durch
1/10 + 9/10 ·
1
10
= 19/100
320
Beweis (Fortsetzung):
#Anfragen: 2m |Wn |
= O (log(1/ε) · 1/ε)
≥ (ε/2)1/2 · n
Θ(log(1/ε′ ) · 1/ε′ )
min{1/2, (ε/2) ·
n
|W | }
321
Graphzusammenhang
Definition:
Graph G = (V , E) ist zusammenhängend, wenn für alle
u, v ∈ V ein Weg zwischen u und v existiert.
Eine Zusammenhangskomponente ist eine maximale
Knotenmenge V ′ ⊆ V , so dass alle u, v ∈ V ′ durch einen
Weg miteinander verbunden sind.
322
• Adjazenzmatrix-Modell:
jeder Graph ist 1n -nah zu Graphzusammenhang
(GZ) → für ε ≥
1
n
ist trivialer Algorithmus, der jeden Graphen
akzeptiert, ε-Testalgorithmus.
• Adjazenzlisten-Modell:
random sampling ungeeignet für spärliche / dünne
Graphen, denn Stichprobe enthält meistens“ keine Kante
”
Verfeinerung der Technik notwendig
323
Idee:
G ε-weit von GZ entfernt
G enthält viele“ Zusammenhangskomp. (ZKs)
”
mit wenigen“ Knoten
”
Beh 1: G ε-weit von GZ entfernt
G enthält mehr als εm + 1 ZKs
Beh 2: G ε-weit von GZ entfernt
G enthält mehr als 2ε d̄n ZKs mit jeweils weniger
als 2/(εd̄) Knoten, wobei d̄ :=
m
n
durchschnittl.
Knotengrad
(unbeschränktes Adjazenzlisten-Modell)
324
Beh 1: G ε-weit von GZ
mehr als εm + 1 ZKs
Beweis:
Annahme: Höchstens εm + 1 ZKs
εm Kanten reichen, um alle ZKs zu verbinden
Beh 2: G ε-weit von GZ
G mehr als (ε/2)m ZKs der Größe kleiner als (2/ε) · n/m
Beweis:
• #ZKs > εm + 1 (Beh. 1)
• Annahme: höchstens (ε/2)m ZKs mit jeweils weniger als
(2/ε) · n/m Knoten
#ZKs mit mindestens (2/ε) · n/m Knoten höchstens εm
2
325
G ε-weit von GZ entfernt
Wkeit, dass zufällig gleichverteilt gewählter Knoten
zu kleiner“ ZK gehört, größer als
”
ε
d̄n
2
n
= 2ε d̄
Idee: Genügend viele“ Knoten zufällig gleichverteilt
”
wählen und überprüfen, ob sie zu einer
kleinen“ ZK gehören
”
326
Algorithmus:
1. Wähle zufällig gleichverteilt s = 4/(εd̄) Knoten aus V .
2. Für jeden ausgewählten Knoten v : BFS bis 2/(εd̄)
verschiedene Knoten besucht worden sind oder kein
weiterer Knoten erreicht werden kann.
3. Akzeptiere genau dann, wenn in Schritt 2 keine
kleine“ ZK gefunden worden ist.
”
Anfrage- und Zeitkomplexität
2 −3 −3
O (4/(εd̄)) 2/(εd̄)
= O ε d̄
327
Korrektheit:
• G zusammenhängend
X
• G nicht zusammenhängend:
Wkeit, G wird akzeptiert: 1 −
εd̄
2
4/(εd̄ )
< e−2 <
1
3
X
Beobachtung: Abschätzung pessimistisch, denn
• bei Abschätzung Wkeit, dass Knoten in kleiner ZK,
Annahme jede kleine ZK hat nur einen Knoten
• bei Abschätzung Anfragekomplexität Annahme, dass
kleine ZKs maximal groß sind
328
Idee:
• Geschickte Aufteilung der kleinen ZKs nach ihrer Größe
in verschiedene Gruppen
• Schubfachprinzip
Gruppe mit
Anzahl kleiner ZKs
Anzahl Gruppen
vielen kleinen ZKs
Enthält G mehr als L := 2ε m kleine ZKs, so existiert i mit
i ≤ l = ⌈log(2/(εd̄))⌉, so dass G mindestens
L
l
ZKs enthält,
deren Größe jeweils zwischen 2i−1 und 2i − 1 liegen
Problem: i unbekannt
alle möglichen i probieren
329
Algorithmus: GZ
1) Für i = 1 bis ⌈log(2/(εd̄))⌉
• wähle zufällig gleichverteilt mi = (8⌈log(2/(εd̄ ))⌉)/(2i εd̄ )
Knoten aus V und
• starte für jeden ausgewählten Knoten einen BFS bis 2i
verschiedene Knoten besucht worden sind oder kein
weiterer Knoten erreicht werden kann.
2) Akzeptiere genau dann, wenn in Schritt 1 keine
kleine“ ZK gefunden worden ist.
”
330
Satz:
Algorithmus GZ ist ein ε-Testalgorithmus mit einseitigem
Fehler. Die Anfrage- und Zeitkomplexität betragen
2 2
O log(1/(εd̄))/(ε d̄ ) = Õ(ε−2 d̄ −2 ).
Beweis:
Korrektheit: G nicht zusammenhängend
Sei Cj Klasse der ZKs mit 2j−1 bis 2j − 1 Knoten
und |Cj | ≥
L
=
l
j−1
mindestens 2
( 2ε m)/⌈log(2/(εd̄))⌉
|Cj | Knoten in ZKs aus Cj
Wkeit, dass G akzeptiert wird:
1−
mj
j−1 ε
2 ( 2 d̄)/⌈log 2/(εd̄)⌉
331
Beweis:
Wkeit, dass G fälschlicherweise akzeptiert wird,
nach oben beschränkt durch:
1−
8⌈log(2/(εd̄ ))⌉/(2j εd̄)
j−1 ε
2 2 d̄/⌈log(2/(εd̄))⌉
≤ e−2 ≤
1
3
X
Anfragekomplexität:
⌈log(2/(ε
P d̄ ))⌉
i=1
2i
mi · 2 = ⌈log(2/(εd̄))⌉/(εd̄)
P
8 · 2i
i=1
= 8⌈log(2/(εd̄))⌉/(εd̄) 2⌈log(2/(εd̄ ))⌉+1 − 2
2
2
= O ⌈log(2/(εd̄))⌉/(ε d̄ )
332
Testen visueller Eigenschaften
Darstellung diskreter s/w-Bilder:
0 1
0
1
M
n−1
n−1
Eintrag 1 =
b schwarz
b weiß
Eintrag 0 =
Objekte =
b {(i, j) | Mi,j = 1}
Eigenschaft =
b
Menge von Objekten
Testalgorithmus für
1
• Halbebene O ε
1
• Konvexität O ε4
333
Frage: ∃ω : ω ∈ R2 , ∃a ∈ R : Mi,j = 1 ⇔ ω T · (i, j) ≥ a
Ecke
..
.
···
Rand
0
0000
1111
00
11
11
0
00
11
00
11
0
1
0000
1111
00
11
0
1
00
11
00
11
00
11
0
1
0
1
0000
1111
00
11
0
1
00
11
00
11
00
11
0
1
00
11
0
1
0
1
00
11
0
1
00
11
0
1
00
11
·
·
·
0
1
00
11
.
.
0
1
00
11
.
0
1
00
11
0
1
00
11
0
1
00
11
0
1
0
1
00
11
00
11
0 1111
1
0000
00
11
01
1
0000
1111
0
00
11
00
11
0000
01
1
01111
00
11
00
11
00
11
b Gerade durch p1 und p2
l(p1 , p2 ) =
R1 (p1 , p2 ) und R2 (p1 , p2 ) =
b Bereiche, in die l(p1 , p2 ) das
Bild“ partitioniert
”
334
Beispiel:
111111
000000
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
Objekt entspricht
Halbebene
11111111
00000000
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
Objekt weit entfernt
von einer Halbebene
335
Algorithmus: Halbebene (HE)
• Frag die 4 Ecken ab.
Sei s die Anzahl der Ränder mit unterschiedlichen
Ecken.
– Ist s = 0, ziehe zufällig gleichverteilt lnε3 Pixel.
Akzeptiere, wenn alle die gleiche Farbe haben wie die
Ecken.
Verwirf ansonsten.
– Ist s = 2:
für beide Ränder mit unterschiedlich gefärbten Ecken
führe binäre Suche auf den Pixeln der jeweiligen Ränder
durch, um 2 unterschiedlich gefärbte mit geringerem
Abstand als ε2 · n zu finden
336
Algorithmus: HE (Fortsetzung)
Sei w1 weißes Pixel, b1 schwarzes Pixel des einen
Randes, w2 und b2 die des anderen Randes.
Sei Wi = Ri (w1 , w2 ) und Bi = Ri (b1 , b2 ), i ∈ {1, 2}.
O.B.d.A. nimm an, dass W2 und B1 sich überlappen,
W1 und B2 jedoch disjunkt sind:
Ziehe zufällig gleichverteilt 2 lnε 3 Pixel aus W1 ∪ B2
Akzeptiere, wenn alle Pixel aus W1 weiß und alle Pixel
aus B2 schwarz sind.
Verwirf ansonsten.
– Ist s = 4 verwirf.
337
Klar: s = 1 oder s = 3 nicht möglich:
1)
2)
3)
4)
s
s
s
s
=2
=2
=4
=2
Satz:
Algorithmus HE ist ein einseitiger ε-Testalgorithmus
mit
Anfrage- und Zeitkomplexität O 1ε .
338
Beweis:
• Laufzeit/Anfragekomplexität X
• Korrektheit:
– Bilder die HE darstellen werden immer akzeptiert, denn
verworfen wird nur, wenn 4 Pixel gefunden werden, so
dass
gilt oder
s=2
oder
s=0
s=4
(siehe s = 2)
339
Beweis (Fortsetzung):
w1
b1
W1
B2
w2
b2
< (ε/2)n
• s=2:
Beobachtung:
Höchstens (ε/2) · n2 Pixel
außerhalb von W1 ∪ B2 (die
falsch“ gefärbt sein können)
”
– Bilder die weit
entfernt von einer
Halbebene sind:
• s=0:
Es gibt mehr als εn2
falsche“ Pixel.
”
Wkeit, dass keins dieser
Pixel gefunden wird,
höchstens (1 − ε)ln 3/ε
< e− ln 3 = 1/3
• s=4:X
340
Beweis (Fortsetzung):
Mindestens (ε/2)n2 falsche“ Pixel in W1 ∪ B2
”
Wkeit, dass akzeptiert wird, höchstens
2 ln 3
(1 − ε/2) ε < e− ln 3 = 1/3 X
341
Test auf Konvexität
Definition:
Ein Bild ist konvex, wenn die konvexe Hülle der schwarzen
Pixel nur schwarze Pixel enthält.
Idee:
u
u=Θ(ε2 n)
u-Quadrat
Skizze des Bildes
bestimmen
Ecken eines
Frage:
u-Quadrates
Stimmt Bild mit
Skizze überein?
342
Algorithmus: Test auf Konvexität
1. Frage alle Pixel an, für die die beiden Koordinaten durch
ε2 n
u:=⌊ 300 ⌋ teilbar sind.
2. Sei B die konvexe Hülle der gesehenen schwarzen
Pixel. Wähle zufällig gleichverteilt 5ε Pixel innerhalb Bs .
Verwirf, wenn ein weißes Pixel in B entdeckt wird.
3. Sei W die Vereinigung aller u-Quadrate, die kein Pixel
aus B enthalten.
Ist die Fläche“ von W mindestens 25 εn2 , wähle zufällig
”
gleichverteilt 5ε Pixel aus W . Verwirf, wenn ein
schwarzes Pixel in W entdeckt wird.
Ansonsten akzeptiere.
343
F
B
W
Idee: Test auf Konvexität
(u.a.) z.z. F enthält wenig Pixel
Rundgang durch die
begrenzenden u-Quadrate
344
Lemma 1:
In einer n × n Bildmatrix sei B die konvexe Hülle der
schwarzen Pixel, deren Koordinaten beide durch u teilbar
sind. Sei W die Menge aller u-Quadrate, die kein Pixel aus B
enthalten. Sei F die Menge aller Pixel außerhalb von B ∪ W .
Dann enthält F höchstens 4un Pixel.
Beweis:
F besteht nur aus Pixeln, die zu begrenzenden u-Quadraten
gehören, wobei u-Quadrate begrenzend sind, wenn sie nicht
vollständig in B oder in W liegen.
Reicht z.z. # begrenzender u-Quadrate höchstens 4n
u
345
Beweis (Fortsetzung):
Idee: Begrenzende u-Quadrate im Uhrzeigersinn abgehen“,
”
von Mittelpunkt zu Mittelpunkt
Beobachtung: Grenze zwischen W und F immer links von
Rundgang“ durch die begrenzenden
”
u-Quadrate.
•
n
u
u-Zeilen“
”
• für jede u-Zeile“ höchstens einmal Bewegung“ in die
”
”
Zeile darüber, höchstens einmal Bewegung“ in die Zeile
”
nächste Folie)
darunter (
• analog für u-Spalte“
”
höchstens 4 un begrenzende u-Quadrate
346
Behauptung:
Es gibt u-Zeile “ von der aus mindestens 2mal die u-Zeile “
”
”
darüber erreicht wird.
347
Proposition:
Sind alle Pixel, deren Koordinaten beide durch u teilbar sind,
weiß, enthält die entsprechende Bildmatrix (eines konvexen
Bildes) weniger als 2un schwarze Pixel.
Beweis:
Sei s(r ) Anzahl schwarzer Pixel in Zeile r .
Beobachtung: Bild konvex
schwarze Pixel einer Zeile
liegen in aufeinanderfolgenden Spalten
Alle Zeilen, deren Zeilennummer durch u teilbar sind,
haben weniger als u schwarze Pixel.
348
Beweis (Fortsetzung):
Sei r = k u + t, 0 ≤ t < u, Zeile mit s(r ) ≥ u
( Existiert keine Zeile r mir s(r ) ≥ u
weniger als un
schwarze Pixel X)
Bild konvex
s(r1 ) < s(r )
s(r2 ) < s(r )
wenn r2 < r1 < r oder
r2 > r1 > r
Nur die Zeilen k u + 1 bis (k + 1)u − 1 können
mindestens u schwarze Pixel enthalten.
insgesamt weniger als 2un schwarze Pixel X
349
Lemma 2:
Für ein konvexes Bild enthält W weniger als 8un schwarze
Pixel.
Beweis:
Pixel, deren beiden Koordinaten durch u teilbar sind und
die zu W und F gehören, heißen Grenzpunkte.
Beobachtung: Grenzpunkte sind immer weiß gefärbte Pixel.
Das konvexe Bild kann sich nur zwischen den
Grenzpunkten hindurchschieben“.
”
Beobachtung: Summe der Winkel α 360◦
α
W
F
350
Beweis (Fortsetzung):
α
konvexes
0000000
1111111
0000000
1111111
Objekt
0000000
1111111
W
1111111
0000000
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
Beweisidee:
• höchstens 3 mal α > 90◦ möglich
Proposition
jeweils weniger als 2un Pixel
• α ≤ 90◦
F
(!)
konvexes Objekt bleibt
direkt an Grenze
zwischen F und W
insgesamt höchstens 2un Pixel
insgesamt weniger als 8un Pixel X
α ≤ 90◦ :
• Teilobjekt liegt in Kreis mit u, der die
entsprechenden Grenzpunkte enthält
2
u
Fläche ≤ 2
• höchstens 4n
dieser Teilobjekte
u
351
Satz:
Algorithmus Test auf Konvexit
ät ist ein ε-Testalgorithmus mit
Anfragekomplexität O ε14 .
Beweis:
• Anfragekomplexität:
• Korrektheit:
( un )2
+O
1
ε
=O
1
ε4
– konvexes Bild:
B enthält nur schwarze Pixel
in Schritt 2 wird nicht
verworfen
Lemma 2
W enthält weniger als 8un schwarze Pixel
W wird überprüft, d.h. W groß genug“
”
Wahrscheinlichkeit schwarzes Pixel zu finden kleiner
8un
ε
=
2
15
εn2
5
352
Beweis (Fortsetzung):
union bound
−−−−−−−→ Wahrscheinlichkeit, dass in Schritt 3
ε
verworfen wird, kleiner 5ε · 15
= 13
X
– Bildmatrix ε-weit von einem konvexen Bild entfernt:
mindestens 2εn2 /5 weiße Pixel in B oder
mindestens 2εn2 /5 schwarze Pixel in W
(sonst falsch“ gefärbte Pixel umfärben, so das Bild
”
konvex)
• W insgesamt weniger als 2εn2 /5 Pixel
mindestens
2εn2 /5
weiße Pixel
in B
• sonst o.B.d.A. mindestens 2εn2 /5 schwarze Pixel in W
Wahrscheinlichkeit, dass in Schritt 3 akzeptiert wird,
5
2
X
höchstens (1 − 5 ε) ε < e−2 < 31
353
Exkurs Chernoff-Schranken
Satz:
Seien X1 , . . . , Xn unabhängige Zufallsvariablen mit
Xi ∈ {0, 1} und Pr(Xi = 1) = pi für i ∈ {1, . . . , n}.
n
n
P
P
Xi und µ := E[X ] =
pi :
Dann gilt für X =
i=1
i=1
i) für alle δ ≥ 0 und alle m ≥ µ:
m
δ
e
Pr(X ≥ (1 + δ)m) ≤ (1+δ)
1+δ
ii) für alle 0 ≤ δ < 1:
Pr(X ≤ (1 − δ)µ)≤
e−δ
(1−δ)1−δ
µ
354
Beweis:
Vorüberlegung:
Für x ∈ R gilt: 1 + x ≤ ex .
Denn: f (x) = ex − (1 + x)
f ′′ (x) = ex
> 0 für x ∈ R
=0
f ′(0) = e0 − 1
f (x) ≥ f (0) = 0 für alle x ∈ R
355
Beweis (Fortsetzung):
Beobachtung: t ∈ R
E[etX ]
Unabh. von X1 , . . . , Xn
" n
#
n
Y
Y
tX t(X +...+Xn ) tXi
1
e
E e i
=E e
=E
=
i=1
=
n
Y
t
1 · (1 − pi ) + e · pi =
i=1
≤e
p1 (et −1)
· ...·e
pn (et −1)
i=1
n
Y
i=1
t
1 + pi (e − 1)
Vorüberlegung für
x = pi · (et − 1)
=e
(p1 +...+pn )(et −1)
=e
µ·(et −1)
356
Beweis (Fortsetzung):
Zu i)
δ=0:
Pr(X ≥ m) ≤ 1 X
δ>0:
Pr(X ≥ (1 + δ)m)
t>0
=
Markoff-Ungl.
≤
≤
tX
t(1+δ)m
Pr e ≥ e
tX t −1)
µ(e
E e
e
≤ (1+δ)tm
t(1+δ)m
e
e
m(et −1)
e
e(1+δ)tm
t = ln(1 + δ) > 0
≤
em(1+δ−1)
e(1+δ)m ln(1+δ)
eδm
=
(1 + δ)(1+δ)m
357
Beweis (Fortsetzung):
Zu ii)
δ=0:
X
Pr(X ≤ (1 − δ) · µ)
t<0
=
Markoff-Ungl.
≤
t = ln(1 − δ) < 0
≤
Pr(etX ≥ et(1−δ)µ )
tX t −1)
µ(e
E e
e
≤ (1−δ)tµ
t(1−δ)µ
e
e
−δ
e
(1 − δ)1−δ
µ
358
Bipartitheit (Adjazenzmatrix-Modell)
Definition:
Ein Graph G = (V , E) ist bipartit, wenn V in 2 Mengen
V1 , V2 partitioniert werden kann, so dass für alle Kanten
(u, v ) ∈ E gilt:
(u ∈ V1 und v ∈ V2 ) oder
(u ∈ V2 und v ∈ V1 )
Beobachtung: Ist ein Graph G = (V , E) dargestellt durch seine
Adjazenzmatrix ε-weit von Bipartitheit entfernt,
so gilt, dass für jede Partitionierung V1 , V2
der Knotenmenge V mehr als εn2 der Kanten
innerhalb von V1 oder V2 liegen.
359
Definition:
Sei V1 , V2 eine Partitionierung der Knotenmenge V eines
Graphen G = (V , E). Die Partitionierung wird bipartit
genannt, wenn es keine Kanten in E gibt, die innerhalb von
V1 oder V2 liegen. Kanten (u, v ) ∈ E mit u, v ∈ V1 oder
u, v ∈ V2 heißen verletzende Kanten (bzgl. V1 , V2 ).
Bemerkung:
Es existiert ein deterministischer Linearzeitalgorithmus, der
überprüft, ob ein Graph bipartit ist.
360
Ziel:
ε-Testalgorithmus für Bipartitheit, der
• bipartite Graphen stets akzeptiert und
• Graphen, die ε-weit von Bipartitheit entfernt
sind, mit Wkeit mindestens
2
3
verwirft und
einen Zeugen“ liefert, dass G nicht bipartit ist
”
Hier: Teilgraph, der nicht bipartit ist
361
Algorithmus: Bipartitheit
1. Wähle zufällig gleichverteilt m = Θ log
aus V .
1
ε
/ε
2
Knoten
2. Für jedes gewählte Knotenpaar u, v , überprüfe, ob
(u, v ) ∈ E.
3. Überprüfe (BFS), ob der induzierte Subgraph bipartit ist.
Übernimm das Ergebnis.
Satz:
Algorithmus Bipartitheit ist ein einseitiger
ε-Testalgorithmus
mit Laufzeit und Anfragekomplexität O log2 1ε /ε4 =
−4
Õ ε .
362
Beweis:
• Laufzeit / Anfragekomplexität X
• Korrektheit:
– bipartite Graphen X
– Graphen, die ε-weit von Bipartitheit entfernt sind:
Analyse (1.Versuch)
Betrachte feste Partitionierung V1 , V2 von V .
bzgl. V gefunden
Wkeit, dass keine verletzende Kante
wird, wenn m = Θ 1ε log 1δ Knotenpaare zufällig
gleichverteilt gewählt werden, höchstens
(1 − ε)m < e−εm ≤ δ (geeignet gewählte
Konstante)
363
Beweis (Fortsetzung):
union bound
#Partitionen · δ als obere Schranke
:-(
Problem: 2n mögliche Partitionierungen
δ < 2−n
lineare Stichprobe erforderlich
Neue Beweisidee:
• Stichprobe besteht aus zwei Mengen:
– U enthält die ersten m1 = Θ log
/ε Knoten
2
1
– W erhält die übrigen m2 = Θ log ε /ε Knoten
1
ε
• U induziert Partitionierung von V (# möglicher
Partitionierungen viel kleiner als 2n )
• W evaluiert“die Partitionierung
”
364
Definition:
Sei G = (V , E) und U, W ⊆ V .
Für eine Partitionierung U1 , U2 von U heißt W nicht
kompatibel bzgl. U1 , U2 , wenn keine Partitionierung W1 , W2
von W existiert, so dass U1 ∪ W1 , U2 ∪ W2 bipartit ist.
Ziel:
G = (V , E) ε-weit von Bipartitheit entfernt, dann ist mit hoher
Wkeit (über Wahl von U und W ) W nicht kompatibel bzgl.
einer beliebigen Partitionierung U1 , U2 von U
U ∪ W induzieren Subgraph der nicht bipartit ist
365
Definition:
Sei G = (V , E) und U ⊆ V .
Sei U1 , U2 eine bipartite Partitionierung von U.
Knoten w ∈ V heißt Zeuge gegen U1 , U2 , wenn es Knoten
u1 ∈ U1 und u2 ∈ U2 gibt mit (w , u1 ) ∈ E und (w , u2 ) ∈ E.
Knotenpaar w1 , w2 ∈ V heißt Zeuge gegen U1 , U2 , wenn
(w1 , w2 ) ∈ E und es 2 Knoten u1 , u2 ∈ U1 oder u1 , u2 ∈ U2
gibt mit (w1 , u1 ), (w2 , u2 ) ∈ E.
U2
U1
u2
u1
U1
u2
U2
u1
w1
w
w2
366
z.z. Mit hoher Wkeit (über Wahl von U und W ) enthält
W Zeugen gegen jede Partition von U.
Vereinfachende Annahme: Jeder Knoten aus V \U hat
Nachbarn in U.
U1
U2
Bild zeigt von U1 , U2
induzierte Partitionierung von
V : U2 ∪ Γ(U1 ), U1 ∪ V \{U ∪ Γ(U1 )}
| {z } |
{z
}
V2
V1
Zeuge gegen U1 , U2
V \{U ∪ Γ(U1 )} Γ(U1 )\U2
367
– Für jede der höchstens 2|U| Partitionen von V existieren
mehr als εn2 verletzende Kanten.
– Konstruktion V1 , V2
verletzende Kanten =
b Zeugen gegen U1 , U2
W nicht kompatibel bzgl. U1 , U2
– Zeuge in W
• Betrachte W als Menge von zufällig gleichverteilt
gewählten Kanten.
εn2
• Wkeit Zeugenpaar zu wählen größer n2 = ε
• Wkeit, dass keine Kante aus W Zeugenpaar kleiner
|W |
(1 − ε) 2
• |W | = Θ( |U|
)
ε
• union bound
Wkeit kleiner ( 61 ) · 2−|U| (geeignet
gewählte Konstante)
Wkeit W kompatibel zu einer
Partitionierung von U kleiner 16
368
Jetzt: vereinfachende Annahme weglassen, d.h. es gibt
Knoten in V , die zu keinem Knoten aus U benachbart
sind
Definition:
Knoten v ∈ V hat hohen Grad, wenn mindestens
Kanten zu v inzident sind.
ε
4
·n
Lemma:
5
Mit einer Wahrscheinlichkeit
von
mindestens
über der
6
24
4
ln
Wahl von
Knoten, haben alle bis auf
ε
ε
|
{z
}
U
höchstens 4ε · n der Knoten aus V mit hohem Grad einen
Nachbarn in U.
369
Beweis:
Sei v ein Knoten mit hohem Grad.
Wkeit, dass U keinen Nachbarn von v enthält, ist kleiner als
ε |U|
ε
<
1−
4
24
erwarteter Anteil Knoten mit hohem Grad ohne
Nachbarn in U kleiner
Markoff
ε
24
Wkeit, dass Anteil Knoten mit hohem Grad mehr
als das 6fache über seinem Erwartungswert,
höchstens
1
6
X
370
U1
U2
Bild zeigt von U1 , U2
induzierte Partitionierung von V :
U2 ∪ Γ(U1 ), U1 ∪ V \{U ∪ Γ(U1 )}
| {z } |
{z
}
V2
V1
Jetzt: mehr als εn2 verletzende
Kanten
Γ(U1 )\U2
R
Aber:
nicht alle entsprechen
Zeugen, diese mit Knoten
aus R inzident
371
# Kanten inzident zu Knoten aus R kleiner als
ε
ε
·n·n
·n·n
=
+
| 4 {z }
| 4 {z }
# Kanten inzident
# Kanten inzident
zu Knoten mit
zu Knoten mit
kleinem Grad
hohem Grad ohne
Nachbarn in U
(mit Wkeit
mindestens 56 )
ε
2
· n2
Analyse in diesem
Fall
weiter wie zuvor,
|U|
1
2
wobei |W | = Θ ε = Θ log ε /ε entsprechend gewählt
wird (Konstante entsprechend)
372
Fehlerwkeit für Graphen, die ε-weit von
Bipartitheit entfernt sind, höchstens:
Pr( U überdeckt nicht alle bis auf höchstens
”
Knoten mit hohem Grad“)
ε
4
·n
+ Pr( kein Zeugenpaar gefunden“)
”
≤ 16 + 16 = 13 X
373
Kapitel 7.2 Sublineare
Approximationsalgorithmen
– Anzahl Zusammenhangskomponenten
– Gewicht minimaler Spannbäume
374
Anzahl Zusammenhangskomponenten
Sei G = (V , E) ein ungerichteter Graph in
Adjazenzlistendarstellung mit maximalem Grad d und c die
Anzahl der Zusammenhangskomponenten in G.
Beobachtung:
c=
P
1
C
=
P
C
=n
#Knoten in C
1
|C|
P
C
Zusammenhangskomponente
=n
P
C
·
z}|{
|C|
1
·
| {z n}
1
|C|
|C|
=
ˆ Wkeit, dass zufällig
gleichverteilt gewählter
Knoten in C liegt
1
Pr (v
|C|
∈ C)
375
Definition:
Sei X eineP
Zufallsvariable mit Pr (X ≥ k ) = k1 .
c = n Pr (X ≥ |C|) · Pr (v ∈ C)
C
Zwischenbetrachtung:
• Wähle Knoten v zufällig gleichverteilt.
• Starte BFS bis Zusammenhangskomponente von v
vollständig besucht oder bis X Knoten besucht
• Indikatorvariable

 1, wenn Zusammenhangskomponente
C vollständig besucht
bc =

0, sonst
Pr (bc = 1) = Pr (X ≥ |C|) · Pr (v ∈ C)
376
P
Pr(bC = 1) =Pr(b = 1)
C
ր
Indikatorvariable,
die angibt, ob Zusammenhangskomponente von v vollständig besucht wird
c = n · Pr(b = 1) = nE[b] = E[nb]
Entwurf eines Algorithmus,
dessen Ausgabe den Erwartungswert c hat
Problem“: Ausgabe nimmt nur 2 Werte an
”
große Streuung
Verfeinerung notwendig
377
Vorgehensweise:
(Exkurs)
– Ausgabe eines Algorithmus: Zufallsvariable Y
– Y1 , . . . , Yk unabhängige Kopien der Zufallsvariablen Y
(gehören zu unabhängigen Ausführungen des
Algorithmus)
−→ neue Ausgabe Ỹ := k1 (Y1 + · · · + Yk )
Offensichtlich: E(Ỹ ) = E(Y )
Satz:
Seien Y1 , . . . , Yk unabhängige Kopien der reelen
Zufallsvariablen Y und sei Ỹ =
var (Ỹ ) =
↑
Y1 +···+Yk
.
k
Dann gilt
var(Y )
.
k
Varianz
378
Beweis:
Für beliebige reele Zufallsvariablen Z und a ∈ R gilt:
var(aZ ) = a2 var(Z ). Für unabhängige Zufallsvariablen
Z1 , . . . , Zl gilt außerdem:
var(Z1 + · · · + Zl ) = var(Z1 ) + · · · + var(Zl ).
Damit folgt:
var(Ỹ ) =
1
k2
k
P
i=1
var(Yi ) =
var(Y )
k
379
Satz:
Für ε <
1
2
und δ > 0 sei Pr(|Y − y | ≥ δy ) ≤ ε.
Seien Y1 , . . . , Yk unabhängige Kopien der Zufallsvariablen Y
und sei Ỹ =median(Y1 , . . . , Yk ). Dann gibt es für jedes
ε′ > 0 eine Zahl c = c(ε) > 0 unabhängig von k und ε′ , so
dass für k ≥ c · log( ε1′ ) gilt:
Pr(|Ỹ − y | ≥ δy ) ≤ ε′
380
Beweis:
Beobachtung: Median der Ausgabenwerte Y1 , . . . , Yk ∈ R
mindestens (1 + δ)y
→ alle Werte oberhalb“ des Medians, # ⌊ k2 ⌋,
”
mindestens (1 + δ)y (analog höchstens (1 − δ)y )
zu große Abweichung des Medians impliziert zu große
Abweichung für mindestens ⌊ k2 ⌋ der Werte
Zi Indikatorvariable, die angibt, ob Yi zu stark abweicht, d.h.
1, wenn |Yi − y | ≥ δy
Zi :=
0, sonst
381
Beweis (Fortsetzung):
Z := Z1 + · · · + Zk
Es gilt: Pr(|Ỹ − y | ≥ δy ) ≤ Pr(Z ≥ k2 ).
E[Zi ]= Pr(|Yi − y | ≥ δy ) ≤ ε
E[Z ] ≤ ε · k (ε < 12 )
Zi Indikatorvariable
starke“ Abweichung von Ỹ von korrekter Ausgabe,
”
nur wenn Z hohe Abweichung von ihrem Erwartungswert
Chernoff-Ungleichung
Pr(Z ≥ k2 )≤ Pr(Z − E[Z ] ≥ ( 12 − ε)k)
1
2
≤e
3ε 1
(
log e 2
−2
ε<
c = c(ε) :=
( 1 −ε)2 k 2
− 2 3E[Z ]
≤e
− ε) : für k ≥ c
( 1 −ε)2 k
− 2 3ε
−ln( ε1′ )
1
log( ε′ ) . . . ≤e
= ε′ X
382
Algorithmus:
• Wähle v ∈ V zufällig gleichverteilt.
• Wähle X nach Verteilung Pr(X ≥ k ) = k1 .
• Führe BFS von v aus, bis
(i) X Knoten besucht sind oder
(ii) alle Knoten der ZK von v erreicht worden sind.
• Im Fall (i) setze b = 0, sonst b = 1.
Ausgabe: ĉ = n · b
383
Algorithmus: Approx #ZK
• Wähle r = O ̺·ε1 2 Knoten v1 , . . . , vr zufällig
gleichverteilt.
• Für jeden Knoten vi , 1 ≤ i ≤ r :
– wähle Xi nach Verteilung Pr(Xi ≥ k) =
1
k
– führe BFS von vi aus, bis
(i) Xi Knoten besucht sind oder
(ii) alle Knoten der ZK von v erreicht worden sind.
– Im Fall (i) setze bi = 0, sonst bi = 1.
Ausgabe: ĉ =
n
r
r
P
bi
i=1
384
Ziel: Algorithmus Approx #ZKs berechnet mit Wahrscheinlichkeit 1 − ̺ einen Wert ĉ, der die Anzahl ZKs bis auf einen
additiven Term von εn approximiert.
Hilfreich: Tschebyscheff-Ungleichung
Varianz von ĉ:
var [ĉ] = var
Unabhängigkeit
der bi
=
n2
r2
n
r
r
P
bi =
i=1
r var [bi ]
n2
r2
var
r
P
i=1
bi
Varianz von bi :
Indikatorvariable
bi
2
2
2
var [bi ] = E bi − E [bi ] ≤ E bi
=
E [bi ]
=
c
n
385
var [ĉ] =
var [bi ] ≤
n2
r2
c
n
· r · var [bi ]
−→ var [ĉ] ≤
nc
r
Tschebyscheff-Ungleichung:
Pr (|ĉ − E [ĉ] | ≥ εn) ≤
Wähle r =
var[ĉ]
(εn)2
≤
c
ε2 rn
≤
1
ε2 r
1
:
̺ε2
Pr (|ĉ − E [ĉ] | ≥ εn) ≤ ̺
maximaler
ւ Knotengrad
n
X
Laufzeit: E [T (n)] = O(dn) · Pr(Xi > n) +
O(d · j) · Pr(Xi = j)
|
{z
}
j=1
für iten
O(d)
|
{z
}
BFS-Durchlauf
O(d)
n
P
j(Pr(Xi ≥j)−Pr(Xi ≥j+1))
j=1
386
n
P
E[T (n)] = O(d) + O(d) j 1j −
j=1
n
X
1
= O(d) + O(d)
j +1
j=1
| {z }
=O (d log n)
1
j+1
Hn+1 −1
log n
Insgesamt erwartete Laufzeit von O (r · d log n) = O d̺·ε
.
2
Satz:
Sei G = (V , E) ein Graph mit maximalem Knotengrad d der
durch Adjazenzlisten gegeben ist. Mit Wahrscheinlichkeit
1 − ̺ kann seine Anzahl ZKs in erwarteter Zeit O
d log n
̺ε2
mit
einem additiven Term von εn approximiert werden.
387
Minimale Spannbäume
Erinnerung:
Definition:
Ein ungerichteter Graph heißt Baum, wenn er
zusammenhängend und kreisfrei ist.
Sei G = (V , E) ein ungerichteter, zusammenhängender
Graph. Ein Teilgraph T = (V , ET ) von G heißt Spannbaum
von G, falls T ein Baum ist.
Sei ω : E → R eine Gewichtsfunktion, dann ist das Gewicht
eines Spannbaums die Summe der Gewichte seiner Kanten:
P
ω(T ) := ω(ET ) :=
ω(e).
e∈ET
388
Ein minimaler Spannbaum ist ein Spannbaum mit
minimalem Gewicht.
Definition: Minimum Spanning Tree (MST)
Gegeben: ungerichteter, zusammenhängender Graph
G = (V , E) mit Gewichtsfunktion ω : E → R
Gesucht: Spannbaum T von G mit minimalem Gewicht ω(T )
Variante: Gewicht ω(T ) eines minimalen Spannbaums T von G
Beispiel:
10
4
2
7
11
9
12
7
2
4
5
8
5
1
389
Gewicht minimaler Spannbäume
Frage: Was haben minimale Spannbäume mit ZKs zu tun?
Beispiel:
2
a)
2
1
2
2
G
2
1
1
b)
2
1
1
2
1
1
1
G1
c 1 =#
ˆ ZKs in G1
=
ˆ ZK
Beobachtung: In einem minimalen Spannbaum von G sind
Knoten einer ZK in G1 durch Kanten mit
Kosten 1 verbunden. ZKs sind durch Kanten
mit Kosten 2 verbunden.
→ # Kanten mit Kosten 2 : c 1 − 1
390
G = (V , E) ungerichteter Graph mit maximalem Knotengrad
d, Kantengewichte aus {1, . . . , W } mit W ≤ n/2
(im Beispiel Kantengewichte aus {1, 2})
Gewicht minimaler Spannbaum: 2(c 1 − 1) + 1(n − 1 − (c 1 − 1))
MST
= n + c1 − 2
Verallgemeinerung:
Gi = (V , E i ), wobei E i alle Kanten aus E, die höchstens Kosten
i haben, enthält
ci =
ˆ # ZKs in Gi
Behauptung: MST= n − W +
W
−1
P
c i für W ≥ 2
i=1
391
Beweis:
Beobachtung: # Kanten eines bestimmten Gewichts / mit
bestimmten Kosten in einem minimalen
Spannbaum ist unabhängig von Wahl des
minimalen Spannbaums
Sei αi Anzahl Kanten mit Gewicht / Kosten i in einem
minimalen Spannbaum in G.
P
Es gilt
αi = c l − 1.
i>l
MST=
W
P
i=1
i · αi =
WP
−1
W
P
αi =
l=0 i=l+1
W
−1
P
= −W +
l=0
W
−1
P
cl − 1
l=0
cl = n − W +
↑
c0 = n
W
−1
P
cl
l=1
392
Algorithmus: Approx MST
Für i = 1 bis W − 1:
ĉ (i) = Approx # ZK (Gi , ε, ̺)
Ausgabe: M̂ = n − W +
W
−1
P
ĉ i
i=1
Bemerkung: Gi nicht explizit gegeben
Algorithmus läuft auf G und überprüft für jede
angefragte Kante, ob ihr Gewicht höchtens i ist.
393
Lemma:
Algorithmus Approx MST berechnet mit Wahrscheinlichkeit
mindestens 1 − ̺ einen Wert M̂, der sich von MST um
höchstens ε·MST unterscheidet.
Die erwartete Laufzeit des
Algorithmus ist O
d·W ·log n
̺·ε2
.
Beweis:
• Laufzeit X
W
−1
W
−1
P
P
i
• Sei c =
c und ĉ =
ĉ i und r Anzahl der jeweils
i=1
i=1
ausgewählten Knoten im Algorithmus Approx # ZK.
394
Beweis (Fortsetzung):
Wir wissen:
→
n·c i
var[ĉ ] ≤ r ,
var[ĉ] ≤ n · cr
i
1≤i ≤W −1
Tschebyscheff-Ungleichung:
Pr(|M̂ − MST| ≥ ε· MST) = Pr(|(n − W + ĉ) − (n − W + c)|
≥ ε(n − W + c))
Voraus. W ≤ n2
(n − W + c)2 ≥ ( n2
> nc
= Pr(|ĉ − c| ≥ ε(n − W + c))
+ c)2
= Pr(|ĉ − E[ĉ]| ≥ ε(n − W + c))
≤
r≥
n·c
r ·ε2 (n−W +c)2
1
̺ε2
≤ ̺
395
Herunterladen