- Bringe Punktmenge in zufällige Reihenfolge
$p_1,...,p_n$ - Invariant bzgl:
-
$\delta_i :=$ Minimalabstand zweier Punkte in${p_1,...,p_i}$ - haben immer Gitterstruktur mit Maschenweite
$\delta_i$ , in welcher$p_1,...,p_i$ eingefügt sind.
-
- wichtigste Operation: Hinzunehmen von
$p_{i+1}$ unter Aufrechterhaltung der Invarianten:-
Zusammen:
$\mathcal {O}(1)$ - lokalisieren von
$p_{i+1}$ in akt. Gitterstruktur$\rightarrow \mathcal {O}(1)$ - Untersuchen der
$\mathcal {O}(1)$ Punkte in den benachbarten Gitterzellen von$p_{i+1}$ auf Kandidat für Closest Pair$\rightarrow \mathcal {O}(1)$
- lokalisieren von
-
Zusammen:
-
$\mathcal {O}(1)$ : Fall A:$\delta_i \leq \delta_{i+1} \rightarrow$ $\delta_{i+1} = \delta_{i}$ $\Rightarrow$ füge$p_{i+1}$ in Gitterstruktur -
$\mathcal {O}(i)$ : Fall B:$\delta_i > \delta_{i+1}$ $\Rightarrow$ baue neues Gitter mit Maschenweite$\delta_{i+1}$ , füge$p_1,...,p_{i+1}$ ein
Schlechte Punktkonfiguration und Reihenfolge führt zu
Die erwartete Laufzeit des Algorithmus ist
Laufzeit
Erwartete Laufzeit =
Weil
Fall A:
Erklärung: Fall B tritt ein, wenn
$\delta_i < \delta_{i-1}$ kann nur passieren, wenn$p_i$ einer der beiden Punkte aus${ p_1, p_2, ... , p_i }$ ist, welches das CP defniert. Seien$p_a, p_b$ 2 Punkt aus${ p_1, p_2, ... , p_i }$ . Fall B tritt ein, falls$p_i = p_a$ oder$p_i = p_b$ WS ist$\leq \tfrac{2}{i}$
Erwartete Laufzeit für Einfügen von
Wichtig:
Die Laufzeit des Algorithmus hängt nicht von der Eingabe ab - sie ist immer erwartet
Annamhe zur Gitterstruktur:
Angenommen wir haben Gitterstruktur mit Maschenweite
Im obigen (weit oben) Algorithmus hängt nur die Laufzeit vom Zufall ab, das Ergebnis ist immer korrekt.
Im Gegensatz dazu: MONTE CARLO ALGORITHMEN
- haben Laufzeit unabhängig vom Zufall
- Korrektheit des Ergebnisses hängt vom Zufall ab.
Lässt sich mit einem Monte Carlo (MC) Alg. lösen
Gegeben: ungerichteter, ungewichteter Multigraph mit
Eine Teilmenge
cut
Das MinCut-Problem für einen Graphen
Anmerkung: Minimalgrad eines Knotens in G ist immer die obere Schrnake für den Wert des MinCuts.
Anwendungen z.B.: Netzwerk & Fehlertoleranz; Stromnetze; Redundanzprüfung
Teste alle möglichen Partitionen von
Was zu beweisen wäre ~~~
Randomisierter Algorithmus der mit WS ~$\tfrac{1}{n^2}$ das richtige Ergebnis berechnet. Zentrale Operation: Kantenkontraktion
- wähle eine Kante
${v,w}$ aus - ersetze Knoten
$v$ und Kante$w$ durch Knoten$vw$ der alle Kanten von$v$ und$w$ erbt (ohne Schlingen).
for
Annahme: Es gibt genau einen MinCut und dessen Wert ist K.
Beobachtung: Alg. berechnet den MinCut
Output
Alternativer Ablauf: