Formale Problembeschreibung
Die Eingabe ist ein Datenstrom $x_1 x_2 x_3 \dots x_m$ aus Elementen aus einem Universum $U = \{1,\dots,n\}$. Im obigen Beispiel war $U$ die Menge aller theoretisch möglichen IP-Adressen, also $n = 2^{32}$. Falls es sich um IPv6-Adressen handelt, wäre $n = 2^{128}$. Im Datenstrom kann ein Element $x \in U$ mehrfach auftreten, und unser Ziel ist es, die Anzahl verschiedener Items zu zählen. Etwas formular:
\begin{align*} S & := \{x_1, \dots, x_m\} \, \\ k & := |S| \ . \end{align*}Falls Elemente mehrfach im Datenstrom vorkommen, gilt $|S| \lt m$. Unsere Maschine liest die Eingabedaten nacheinander in zeitlicher Reihenfolge, kann also im Gegensatz zu einer Turing-Maschine nicht zurückspulen oder alte Items noch einmal betrachten. Sie hat einen internen Speicher, der typischerweise extrem klein im Vergleich zu $m$ und $n$ ist. Ziel ist es, nach Ende des Datenstroms einen Schätzwert $\hat{k}$ auszugeben, der nicht allzuweit entfernt von $k$ ist. Wir interessieren uns in diesem Zusammenhang ausschließlich für den Speicherplatz, den die Maschine benötigt, nicht für die Laufzeit ihrer Berechnungen. Sie ist also im Prinzip computationally unbounded. Um es noch formaler zu machen: die Maschine ist, ähnlich einem endlichen Automaten, definiert durch eine Funktion $\delta: U \times Q \rightarrow Q$; die Interpretation ist, dass $x \in U$ das nächste Eingabe-Item ist und $q \in Q$ der derzeitige Speicherinhalt der Maschine; der Wert $\delta(x, q) \in Q$ ist dann der Speicherinhalt im nächsten Schritt. Der benötigte Speicherplatz in Bits ist somit $\ceil{\log |Q|}$. Ein Unterschied zu endlichen Automaten ist, dass $Q$ und auch $\delta$ von $n$ und $m$ abhängen dürfen (wir gehen davon aus, dass die Maschine zumindest eine obere Schranke der Datenstromlänge $m$ kennt). Wir interessieren uns also primär für den Speicherplatz $\log |Q|$ und nicht dafür, wie komplex die Berechnung von $\delta$ ist. In der Praxis ist aber $\delta$ meist eine recht einfache Funktion, so dass diese Freiheit keine bösen Konsequenzen hat.
Exakte aber ineffiziente Algorithmen
Unsere Maschine kann natürlich einfach zu jedem Zeitpunkt $t$ die Menge $S_t := \{x_1,\dots,x_t\}$ speichern und Duplikate entfernen. Dafür braucht sie $\min(m,n) \log n$ Bits: $\min(m,n)$ ist eine obere Schranke für die Größe von $S_t$ und $\log n$ ist die Anzahl der Bits, die wir brauchen um ein Item $x_i$ aus dem Universum zu speichern.
Alternativ können wir uns eine boolesche Tabelle der Größe $n$ anlegen, alles mit False initialisieren und dann bei Input-Item $x_t$ die entsprechende Zelle auf True setzen. Dafür benötigen wir $n$ Bits.
Beobachtung Wir können mit $\min(n, m \log n)$ Bits Speicherplatz die Anzahl der verschiedenen Items exakt berechnen.
Effiziente approximative Algorithmen
Ein Speicherplatzbedarf $\min(n, m \log n)$ gilt in diesem Modell als ineffizient. Unser Goldstandard ist $O(\log m + \log n)$. Dies erlaubt uns, eine konstante Anzahl von Wörtern - $O(\log n)$ - sowie zum Beispiel einen Schrittzähler - $O(\log m)$ - zu speichern. Die Anzahl $k$ verschiedener Items können wir so nicht mehr exakt berechnen (dies ist selbst ein Theorem, dessen Beweis den Rahmen dieses Vorlesungsskripts sprengen würde; man benötigt hierfür Techniken der Kommunikationskomplexität). Wenn wir Randomisierung zulassen, können wir zumindest mit großer Zuverlässigkeit einen anständigen Schätzwert $\hat{k}$ für $k = |S|$, also die Anzahl verschiedener Elemente im Datenstrom berechnen.
Der Algorithmus von Flajolet und Martin
Ich beschreibe zuerst eine impraktikable aber leichter zu analysierende Version des Algorithmus. Sei $S = \{s_1, \dots, s_k\}$ die Menge der $k$ verschiedenen Items. Jedes $x_i$ in unserem Datenstrom ist also eines dieser $s_j$. Wir wählen eine zufällige Funktion $\pi: [n] \rightarrow [n]$ und speichern diese für die Dauer des Datenstroms. Dies ist natürlich nicht praktikabel, weil wir dafür $n \log n$ Bits bräuchten (Sie können sich vorstellen, wir legen eine Tabelle $A$ der Größe $n$ an; eine Zelle $A[x]$ muss nun den Wert $\pi(x)$ speichern, wofür sie wiederum $\log n$ Bits braucht; etwas informationstheoretischer: es gibt $n^n$ Funktionen $[n] \rightarrow [n]$ und somit braucht man $\log (n^n) = n \log n$ Bits, um eine zu codieren).
Wir ignorieren diese Bedenken vorerst, tun so, als hätten wir $\pi$ gespeichert und schauen uns an, was $\pi$ mit dem Datenstrom macht:
Sehen wir uns das Endergebnis noch einmal an:
Links sehen Sie am Beispiel die $k$ Werte $s_1, \dots, s_k$. Rechts die Bilder $\pi(s_1), \dots, \pi(s_k)$. Da $\pi$ eine zufällige Funktion ist, sind diese Werte gleichverteilt und unabhängig. Setzen wir $Y_i := \pi(s_i)$. Wir haben also $k$ unabhängige Zufallsvariable $Y_1, \dots, Y_k$, von denen jede in $[n]$ gleichverteilt ist. Machen wir nun eine Bierdeckelrechnung: diese $k$ Zufallszahlen teilen $[n]$ in $k+1$ Intervalle ein, die im Schnitt $\frac{n}{k+1}$ Zahlen haben. Also besteht auch das linkeste Intervall $\{1, 2, \dots, \min(Y_1, \dots, Y_k)\}$ im Schnitt aus $\frac{n}{k+1}$ Zahlen und somit ist
\begin{align*} \E[\min(Y_1, \dots, Y_k)] \approx \frac{n}{k+1} \ . \end{align*}Wenn wir nach $k$ auflösen, erhalten wir
\begin{align*} k \approx \frac{n}{\E[ \min(Y_1, \dots, Y_k)]} - 1\ . \end{align*}Den Erwartungswert von $\min(Y_1,\dots,Y_k)$ kennen wir nicht; den Wert $\min(Y_1,\dots,Y_k)$ allerdings können wir einfach berechnen, indem sich unsere Maschine zu jedem Zeitpunkt das Minimum der gesehenen Elemente (bzw. deren Bilder unter $\pi$) merkt. Hier nun also unser Algorithmus:
- Wähle $\pi : [n] \rightarrow [n]$ zufällig # dies ist impraktikabel, weil dies $n \log n$ Bits Speicher benötigt.
- $y^* := \infty$
- for $x$ im Datenstrom:
- $y^* := \min(y^*, \pi(x))$
- return $\hat{k} := n / y^*$.
Das folgende Theorem besagt nun, dass $\hat{k}$ mit guter Wahrscheinlichkeit weder zu klein noch zu groß ist.
Für den Schätzwert $\hat{k} := $FlajoletMartinImpraktikabel$(\vec{x})$ gilt:
- $\Pr[ \hat{k} \gt 3k] \leq \frac{1}{3}$.
- $\Pr[ \hat{k} \lt k/3] \leq e^{-3}$.
Beweis. Für Punkt 1 sehen wir, dass
\begin{align*} \hat{k} \gt 3k \Longleftrightarrow \frac{n}{y^*} \gt 3k \Longleftrightarrow y^* \lt \frac{n}{3k} \Longleftrightarrow \min(Y_1, \dots, Y_k) \lt \frac{n}{3k} \Longleftrightarrow Y_1 \lt \frac{n}{3k} \vee Y_2 \lt \frac{n}{3k} \vee \dots \vee Y_k \lt \frac{n}{3k} \ . \end{align*}In Worten: das Minimum von $k$ Zahlen ist kleiner als eine Schranke genau dann, wenn mindestens eine der Zahlen kleiner als diese Schranke ist. Wir rechnen nun weiter:
\begin{align*} \Pr\left[\hat{k} \gt 3k\right] & = \Pr\left[Y_1 \lt \frac{n}{3k} \vee Y_2 \lt \frac{n}{3k} \vee \dots \vee Y_k \lt \frac{n}{3k}\right] \\ & \leq \sum_{i=1}^k \Pr\left[Y_i \leq \frac{n}{3k}\right] \tag{Union Bound} \end{align*}Zur Erinnerung: der Union Bound besagt, dass für zwei Ereigbnisse $A$ und $B$ $\Pr[A \cup B] \leq \Pr[A] + \Pr[B]$ gilt. Dies lässt sich unmittelbar von zwei auf $k$ Ereignisse verallgemeinern. Für ein festes $i$ können wir $\Pr[Y_i \lt n/3k]$ wie folgt bestimmen: der Wert $Y_i$ ist ja $\pi(s_i)$ und ist somit ein zufälliger Wert in $\{1,\dots,n\}$. Die Wahrscheinlichkeit, dass er kleiner als $n/3k$ ist, ist
\begin{align*} \Pr\left[Y_i \lt \frac{n}{3k} \right] & \leq \Pr\left[Y_i \leq \frac{n}{3k} \right] = \frac{\floor{\frac{n}{3k}}}{n} \leq \frac{\frac{n}{3k}}{n} = \frac{1}{3k} \ . \end{align*}Wir setzen das in den obigen Union Bound ein und erhalten
\begin{align*} \Pr[\hat{k} \gt 3k] & \leq \sum_{i=1}^k \Pr\left[Y_i \leq \frac{n}{3k}\right] \\ & \leq \sum_{i=1}^k \frac{1}{3k} = \frac{1}{3} \ , \\ \end{align*}wie behauptet. Somit ist Punkt 1 gezeigt. Für Punkt 2 gehen wir anfangs ähnlich vor:
\begin{align*} \hat{k} \lt \frac{k}{3} \Longleftrightarrow \frac{n}{y^*} \lt \frac{k}{3} \Longleftrightarrow y^* \gt \frac{3n}{k} \Longleftrightarrow \min(Y_1,\dots,Y_k) \gt \frac{3n}{k} \Longleftrightarrow Y_1 \gt \frac{3n}{k} \wedge Y_2 \gt \frac{3n}{k} \wedge \dots \wedge Y_k \gt \frac{3n}{k}\ . \end{align*}In Worten: das Minimum von $k$ Zahlen ist größer als eine Schranke, wenn jede diese Zahlen größer als die Schranke ist. Somit gilt
\begin{align*} \Pr\left[\hat{k} \lt \frac{k}{3}\right] & = \Pr\left[ Y_1 \gt \frac{3n}{k} \wedge Y_2 \gt \frac{3n}{k} \wedge \dots \wedge Y_k \gt \frac{3n}{k}\right] \\ & = \prod_{i=1}^k \Pr\left[ Y_i \gt \frac{3n}{k}\right] \tag{Unabhängigkeit} \end{align*}Für festes $i$ schätzen wir $\Pr[Y_i \gt 3n/k]$ wie folgt ab:
\begin{align*} \Pr\left[Y_i \gt \frac{3n}{k}\right] & = 1 - \Pr\left[Y_i \leq \frac{3n}{k}\right]\\ & = 1 - \frac{\frac{3n}{k}}{n} = 1 - \frac{3}{k} \ , \end{align*}und somit
\begin{align*} \Pr\left[\hat{k} \lt \frac{k}{3}\right] & = \prod_{i=1}^k \Pr\left[ Y_i \gt \frac{3n}{k}\right] \\ & = \left(1 - \frac{3}{k}\right)^k \leq e^{-3} \ , \end{align*}wobei wir in der letzten Ungleichung die Tatsache $1 + x \leq e^{x}$ verwendet haben. \(\square\)
Den Algorithmus praktikabel machen: paarweise unabhängige Zufallsvariable
Statt $\pi: [n] \rightarrow [n]$ zufällig zu wählen, wählen wir es pseudozufällig. Hierfür wählen wir eine Primzahl $p \geq n$ und betrachten die Menge $\Z_p := \{0, \dots, p-1\}$ als unser neues Universum. Wir wählen zwei zufällige Zahlen $a, b \in \Z_p$ gleichverteil und unabhängig und setzen
\begin{align*} \pi: \Z_p & \rightarrow \Z_p \\ x & \mapsto a x + b \mod p \ . \end{align*}Der Rest des Algorithmus ist identisch:
- Wähle eine Primzahl $p \in [n, 2n]$ und setze $\Z_p := \{0,1,\dots,p-1\}$.
- Wähle $a, b \in \Z_p$ und definiere $\pi: x \mapsto ax + b \mod p$
- $y^* := \infty$
- for $x$ im Datenstrom:
- $y^* := \min(y^*, \pi(x))$
- return $\hat{k} := n / y^*$.
Zur Erinnerung: $y \mod p$ ist der Rest, der bei der Division von $y$ durch $p$ übrigbleibt. Wenn zwei Zahlen $y$ und $z$ modulo $p$ den gleichen Rest ergeben, dann schreiben wir $y \equiv_p z$ und lesen "$y$ ist äquivalent zu $z$ modulo $p$". Dies gilt genau dann, wenn $p | (y-z)$, wenn also $p$ ein Teiler der Differenz $y-z$ ist.
Wenn wir jetzt den Beweis von durchgehen, sehen wir, dass dieser spätestens bei dem Argument der Unabhängigkeit scheitern wird. Die Werte $Y_1 := \pi(x_1), \dots, Y_k := \pi(x_k)$ sind nicht mehr unabhängig. Ist zumindest $Y_i$ gleichverteilt?
Sei $s \in \Z_p$. Dann ist der Wert $\pi(s)$ gleichverteilt in $\Z_p$.
Beweis. Um zu zeigen, dass $\pi(s_i)$ gleichverteilt in $\Z_p$ ist, müssen wir zeigen, dass für jedes feste $z \in Z_p$ gilt, dass $\Pr[\pi(s) = z]$. Es gilt
\begin{align*} \pi(s) = z \Leftrightarrow as + b \equiv_p z \Leftrightarrow b \equiv_p z - as \ . \end{align*}Wieviele Möglichkeiten $(a,b)$ gibt es, für die $b \equiv_p z - as$ gilt? Für jede Wahl von $a \in \Z_p$ gibt es genau eine Möglichkeit für $b$, nämlich eben $z - as$. In anderen Worten: die Gleichung $b \equiv_p z - as$ in den Unbekannten $a$ und $b$ hat $p$ Lösungen. Insgesamt gibt es für $(a,b)$ genau $p^2$ Möglichkeiten; $p$ viele davon erfüllen $b \equiv_p z-as$, und somit gilt
\begin{align*} \Pr[\pi(s) = z] = \frac{1}{p} \ . \end{align*} Wir sehen: $\pi(s)$ ist gleichverteilt in $\Z_p$. \(\square\)Das nächste Lemma zeigt, dass die $\pi(s_1), \dots, \pi(s_k)$ paarweise unabhängig sind. Hier werden wir benötigen, dass $p$ eine Primzahl ist.
Lemma Seien $s_1, s_2$ zwei verschiedene Werte in $\Z_p$. Dann sind $\pi(s_1), \pi(s_2)$ gleichverteilt in $\Z_p$ und unabhängig.
Beweis. Wir müssen nun zeigen, dass das Paar $(\pi(s_1), \pi(s_2))$ gleichverteilt in $\Z_p \times \Z_p$ ist. Dass also für jedes $(z_1,z_2) \in Z_p \times Z_p$ gilt: $\Pr[ (\pi(s_1),\pi(s_2)) = (z_1, z_2)] = 1/p^2$. Wir sehen, dass $(\pi(s_1),\pi(s_2)) = (z_1, z_2)$ genau dann gilt, wenn
\begin{align*} as_1 + b & \equiv_p z_1 \\ as_2 + b & \equiv_p z_2 \ . \end{align*}Dies ist ein Gleichungssystem mit zwei Gleichungen und zwei Unbekannten $a$ und $b$.
Wir können nun das Gleichungssystem in Matrix-Vektor-Form schreiben \begin{align*} \begin{bmatrix}s_1 & 1 \\ s_2 & 1\end{bmatrix} \cdot \begin{bmatrix}a\\b\end{bmatrix} = \begin{bmatrix}z_1 \\ z_2\end{bmatrix} \end{align*} Die Matrix hat vollen Rang und somit hat das Gleichungssytem genau eine Lösung. \(\square\)Um das Argument mit der Matrix und dem vollen Rang zu verstehen, müssen Sie sich (1) an Ihre lineare Algebra erinnern und wahrscheinlich auch (2) davon überzeugen, dass alles, was Sie in linearer Algebra mit reellen Zahlen gemacht haben, auch funktioniert, wenn Sie nun mit Zahlen modulo $p$ zu tun haben. Ich möchte allerdings in diesem Skript so wenig Grundlagen wie möglich voraussetzen. Daher werde ich im nächsten Teilkapitel den Beweis "zu Fuß" ablaufen. Nehmen wir nun aber für erste als gegeben an.
Für den Schätzwert $\hat{k} := $FlajoletMartin$(\vec{x})$ gilt:
- $\Pr[ \hat{k} \gt 3k] \leq \frac{1}{3}$.
- $\Pr[ \hat{k} \lt k/3] \leq 1/3$.
Beweis. Punkt 1 geht genau so wie der Beweis von , da wir hierfür nur benötigen, dass für jedes feste $s \in \Z_p$ der Wert $\pi(s)$ gleichverteilt in $\Z_p$ ist. Für Punkt 2 werden wir benötigen, dass die $Y_1 := \pi(s_1), \dots, Y_k := \pi(s_k)$ paarweise unabhängig sind. Fast genau so wie beim Beweis von gilt
\begin{align*} \hat{k} \lt \frac{k}{3} \Longleftrightarrow \frac{n}{y^*} \lt \frac{k}{3} \Longleftrightarrow y^* \gt \frac{3p}{k} \Longleftrightarrow \min(Y_1,\dots,Y_k) \gt \frac{3p}{k} \Longleftrightarrow Y_1 \gt \frac{3p}{k} \wedge Y_2 \gt \frac{3p}{k} \wedge \dots \wedge Y_k \gt \frac{3p}{k}\ . \end{align*}Wir können die Wahrscheinlichkeit des Schnitts der $k$ Ereignisse $[Y_i \gt 3p/k]$ nicht per Unabhängigkeit abschätzen und gehen daher einen alternativen Weg. Wir führen Indikatorvariable ein:
\begin{align*} Z_i := \begin{cases} 1 & \textnormal{ falls } \pi(s_i) \leq \frac{3p}{k} \ ,\\ 0 & \textnormal{ sonst.} \end{cases} \end{align*}Des Weiteren setzen wir $Z := Z_1 + \cdots + Z_k$. Wir sehen: $\hat{k} \lt \frac{k}{3}$ tritt genau dann ein, wenn kein $Y_i$ in den Bereich $[0, 3p/k]$ fällt; wenn also $Z = 0$ eintritt. Als erstes berechnen wir den Erwartungswert von $Z$:
\begin{align*} \E[Z] & = \E\left[\sum_{i=1}^k Z_i \right] = \sum_{i=1}^k \E[Z_i] \\ & = \sum_{i=1}^k \Pr\left[\pi(s_i) \leq \frac{3p}{k} \right] = k \cdot \frac{\frac{3p}{k}}{p} = 3 \ . \end{align*}Hierfür reicht ein Union Bound leider nicht aus. Wir brauchen die sogenannte Tschebyschow-Ungleichung.
Markov-Ungleichung und Tschebyschow-Ungleichung
Sei $X$ eine Zufallsvariable, die Werte in $\R^+_0$ annimmt. Dann gilt für jedes $c \geq 0$:
\begin{align*} \Pr[X \geq c] \leq \frac{\E[X]}{c} \ . \end{align*}Als Beispiel: höchstens ein drittel aller Deutschen haben ein Einkommen, dass das deutsche Durchschnittseinkommen um das Dreifache oder mehr übersteigt. Die Markow-Ungleichung ist oft eine sehr schwache Schranke. Die Durchschnittshöhe einer deutschen Frau liegt laut https://en.wikipedia.org/wiki/Average_human_height_by_country bei circa 1,66 Metern Zentimetern. Lauf Markow-Ungleichung ist höchstens jede zweite deutsche Frau größer als 3,32 Meter. Wahr, aber nicht sehr aussagekräftig.
Beweis von Wir beschränken uns auf endliche Wahrscheinlichkeitsräume $\Omega$. Jedes Element $\omega \in \Omega$ hat eine Wahrscheinlichkeit $\Pr[\omega]$. Die Zufallsvariable $X$ ist nun eine Funktion
\begin{align*} X: \Omega \rightarrow \R^+_0 \ . \end{align*}Der Erwartungswert von $X$ ist definiert als die Summe
\begin{align} \E[X] = \sum_{\omega \in \Omega} \Pr[\omega] X(\omega) \ . \label{sum-expectation} \end{align}Wir teilen $\Omega$ in zwei Teile auf, je nachdem, ob $X$ groß ist oder klein:
\begin{align*} \Omega_{\rm klein} & := \{\omega \in \Omega \ | \ X(\omega) \lt c \} \\ \Omega_{\rm groß} & := \{\omega \in \Omega \ | \ X(\omega) \geq c \} \\ \end{align*}Wir teilen nun die Summe (\ref{sum-expectation}) auf:
\begin{align*} \E[X] & = \sum_{\omega \in \Omega} \Pr[\omega] X(\omega) \\ & = \sum_{\omega \in \Omega_{\rm klein}} \Pr[\omega] X(\omega) + \sum_{\omega \in \Omega_{\rm groß}} \Pr[\omega] X(\omega) \\ & \geq \sum_{\omega \in \Omega_{\rm groß}} \Pr[\omega] X(\omega) \tag{weil $X(\omega) \geq 0$} \\ & \geq \sum_{\omega \in \Omega_{\rm groß}} \Pr[\omega] c \tag{weil $X(\omega) \geq c$ in $\Omega_{\rm groß}$} \\ & = c \cdot \sum_{\omega \in \Omega_{\rm groß}} \Pr[\omega] = c \cdot \Pr[\Omega_{\rm gross}] \end{align*}Zusammenfassend erhalten wir $\E[X] \geq c \cdot \Pr[\Omega_{\rm gross}]$ und somit
\begin{align*} \Pr[X \geq c] & = \Pr[\Omega_{\rm groß}] \leq \frac{\E[X]}{c} \ . \end{align*} \(\square\)Die Markow-Ungleichung hat den Vorteil, dass sie auf jede nicht-negative Zufallsvariable anwendbar ist. Der Nachteil ist, dass sie oft sehr schwach ist, also keine guten Schranken liefert, und nichts über Wahrscheinlichkeiten der Form $\Pr[X \leq c]$ aussagt. Sie beschränkt nur Abweichungen nach oben, nicht nach unten. Um genauere Schranken zu beweisen, können wir die Varianz der Zufallsvariable betrachten.
Varianz. Sei $X$ eine Zufallsvariable, die reelle Werte (gerne auch negative) annimmt. Sei $\mu := \E[X]$ ihr Erwartungswert. Um zu messen, wie sehr $X$ typischerweise von $\mu$ abweicht, betrachten wir den Wert $(X-\mu)^2$; dieser ist immer positiv, und somit ist auch
\begin{align*} \Var(X) := \E[ (X-\mu)^2 ] \ , \end{align*}die Varianz von $X$, immer positiv. Wenn wir die Varianz einer Zufallsvariable kennen und diese klein ist, so können wir Abschätzungen angeben, die genauer sind als die Markow-Ungleichung:
Tschebyschow-Ungleichung Sei $X$ eine Zufallsvariable und $\mu := \E[X]$. Dann gilt
\begin{align*} \Pr[ |X-\mu| \geq c] \leq \frac{\Var(X)}{c^2} \ . \end{align*}Beweis. Die Ungleichung $|X-\mu| \geq c$ gilt genau dann, wenn auch $(X-\mu)^2 \geq c^2$ gilt. Sei nun $Y := (X - \mu)^2$. Dies ist wiederum eine Zufallsvariable, und es gilt $\E[Y] = \Var(X)$ nach Definition der Varianz. Wir wenden jetzt die Markow-Ungleichung auf $Y$ an:
\begin{align*} \Pr[ |X-\mu| \geq c] & = \Pr\left[(X-\mu)^2 \geq c^2 \right] \\ & = \Pr[Y \geq c^2] \\ & \leq \frac{\E[Y]}{c^2} \tag{Markow-Ungleichung} \\ & = \frac{\Var(X)}{c^2} \ , \end{align*}wie behauptet. \(\square\)
Weiterhin ist die Varianz nützlich, wenn die Zufallsvariable $X$ die Summe unabhängig (oder auch paarweise unabhängiger) Zufallsvariablen ist. In diesem Falle ist die Varianz üblicherweise klein. Dies entspricht der Intuition: wenn wir unabhängige Zufallszahlen aufaddieren, sollten sich die Abweichungen in den meisten Fällen in etwa ausgleichen. Wir beginnen mit einer alternativen Formel für $\Var(X)$:
Beobachtung $\Var(X) = \E\left[X^2\right] - \left(\E[X]\right)^2$.
Beweis. Sei $\mu := \E[X]$. Wir rechnen:
\begin{align*} \Var(X) & = \E\left[(X-\mu)^2\right] \\ & = \E\left[X^2 - 2X \mu + \mu^2 \right] \\ & = \E\left[X^2\right] - 2 \mu \E[X] + \mu^2 \\ & = \E[\left[X^2\right] - 2\mu^2 + \mu^2 \\ & = \E[\left[X^2\right] - \mu^2 \ , \end{align*} Wie behauptet.\(\square\)Seien $Z_1, \dots, Z_k$ paarweise unabhängige Zufallsvariable und $Z := Z_1 + \cdots + Z_k$. Dann gilt
\begin{align*} \Var(Z) = \Var(Z_1) + \cdots + \Var(Z_k) \ . \end{align*}Beweis. Sei $\mu_i := \E[Z_i]$ und $\mu = \E[Z] = \mu_1 + \cdots + \mu_k$. Wir berechnen als erstes $\E\left[Z^2\right]$:
\begin{align*} \E\left[Z^2\right] & = \E\left[(Z_1 + \cdots + Z_k)^2\right] \\ & = \E\left[ \sum_{i=1}^k \sum_{j=1}^k Z_i Z_j \right] \\ & = \sum_{i=1}^k \sum_{j=1}^k \E[Z_i Z_j] \ . \end{align*}Da die $Z_i$ paarweise unabhängig sind, gilt $\E[Z_i Z_j] = \E[Z_i] \E[Z_j] = \mu_i \cdot \mu_j$ für $i \ne j$. Für $i = j$ gilt $\E[Z_i Z_j] = \E\left[Z_i^2\right]$. Somit ist
\begin{align*} \E\left[Z^2\right] & = \sum_{i=1}^k \sum_{j=1}^k [i \ne j] \mu_i \mu_j + \sum_{i=1}^k \E\left[Z_i^2\right] \\ & = \sum_{i=1}^k \sum_{j=1}^k \mu_i \mu_j - \sum_{i=1}^k \mu_i^2 + \sum_{i=1}^k \E\left[Z_i^2\right] \\ & = (\mu_1 + \cdots +\mu_k)^2\sum_{i=1}^k \left( \E\left[Z_i^2\right] - \mu_i^2 \right) \\ & = \mu^2 + \sum_{i=1}^k \Var(Z_i) \end{align*}Und somit gilt $\Var(Z) = \E\left[Z^2\right] - \mu^2 = \sum_{i=1}^k \Var(Z_i)$, wie behauptet. \(\square\)
Wenden wir diese Maschinerie auf unsere Zufallsvariablen $Z_i$ an. Zur Erinnerung: diese haben wir definiert als
\begin{align*} Z_i := \begin{cases} 1 & \textnormal{ falls } \pi(s_i) \leq \frac{3p}{k} \ ,\\ 0 & \textnormal{ sonst.} \end{cases} \end{align*}Es gilt $\E[Z_i] = \frac{3}{k}$ und