Skip to content

Commit 4b825b2

Browse files
committed
Bessere Analyse von Ziehen mit Lookups
1 parent b5df791 commit 4b825b2

File tree

1 file changed

+37
-5
lines changed

1 file changed

+37
-5
lines changed

erdos_renyi.tex

+37-5
Original file line numberDiff line numberDiff line change
@@ -670,8 +670,8 @@ \subsection{Ziehen mit Lookups}
670670
Es folgt also:
671671
\begin{align}
672672
\expv{X} & = N \left[ H_N - H_{N-k} \right] \\
673-
& \le N \left[ \ln N - \ln (N - k + 1) \right] + \Oh{1} \\
674-
& = N \ln \frac{N}{N - k + 1} + \Oh{1}
673+
& \le N \left[ \ln N - \ln (N - k + 1) + \Oh{N^{-2}} \right] \\
674+
& = N \ln \frac{N}{N - k + 1} + \oh{1}
675675
\end{align}
676676
\end{proof}
677677

@@ -693,9 +693,41 @@ \subsection{Ziehen mit Lookups}
693693
Beobachte, dass die Analyse im Beweis von \cref{lemma:basis-ziehen-ohne-zuruecklegen-versuche} sehr eng ist.
694694
Wie wir in \cref{fig:ziehen-ohne-zuruecklegen-iterationen} sehen, gilt für relativ kleine $N$ schon $\expv{X} \approx N \ln \frac{N}{N - k + 1}$.
695695

696-
\begin{exercise}
697-
Zeige, dass $N \ln \frac{N}{N - k + 1} = \Oh{k}$ für $k \le N / 2$.
698-
\end{exercise}
696+
\begin{theorem}
697+
Für $1 \le k \le N/2$ verwendet \cref{algo:basis-ziehen-ohne-zuruecklegen} in Erwartung $\Oh{k}$ Versuche (Iterationen der \texttt{while}-Schleife), um aus $S$ mit $|S| = N$ exakt $1 \le k < N$ Elemente zu ziehen.
698+
\end{theorem}
699+
700+
\begin{proof}
701+
Wir wissen aus \cref{lemma:basis-ziehen-ohne-zuruecklegen-versuche}, dass der Algorithmus in Erwartung $T + \oh{1}$ Iterationen ausführt, wobei
702+
\begin{align}
703+
T & = N \ln \frac{N}{N - k + 1}.
704+
\end{align}
705+
706+
\noindent
707+
Wir müssen also nur zeigen, dass $T = \Oh{k}$ für $1 \le k \le N/2$.
708+
Beobachte, dass unter diesen Annahmen das Argument des Logarithmus im Intervall $N/(N - k + 1) \in [1, 2]$ liegt.
709+
Wir nutzen daher die Taylorreihe von $\ln(x)$ am Punkt $x=1$:
710+
\begin{align}
711+
\ln(x) & = \sum_{i=1}^\infty (-1)^{i+1} \frac{1}{i} (x - 1)^i = (x-1) - \frac 1 2 (x-1)^2 + \frac 1 3 (x - 1)^3 + \ldots
712+
\end{align}
713+
714+
\noindent
715+
Da $x \in [1,2]$ liegt, gilt $(x-1) \in [0, 1]$ und daher gilt $(x-1)^i \ge (x-1)^{i+1}$.
716+
Daher können wir uns auf den ersten Term der Entwicklung beschränken und finden
717+
\begin{align}\label{eq:ln_kleiner_x_minus_eins}
718+
\ln(x) & \le x - 1.
719+
\end{align}
720+
721+
\noindent
722+
Hiermit können wir nun $T$ abschätzen:
723+
\begin{align}
724+
T & = N \ln \frac{N}{N - k + 1} \\
725+
& \stackrel{\ref{eq:ln_kleiner_x_minus_eins}}{\le} N \left( \frac{N}{N - k + 1} - 1 \right) \\
726+
& \le N \frac{N - (N - k + 1)}{N - k + 1} \\
727+
& \le N \frac{k}{N-k+1} \\
728+
& \le N \frac{k}{N} = \Oh{k}. \hfill \qedhere
729+
\end{align}
730+
\end{proof}
699731

700732
\bigskip
701733

0 commit comments

Comments
 (0)