Aufgrund einer Wartung wird GitLab am 17.08. zwischen 8:30 und 9:00 Uhr kurzzeitig nicht zur Verfügung stehen. / Due to maintenance, GitLab will be temporarily unavailable on 17.08. between 8:30 and 9:00 am.

Commit daad6d31 authored by Maximilian Hippler's avatar Maximilian Hippler

Corrected phi

parent b060fcbd
Pipeline #161309 passed with stage
in 20 seconds
......@@ -30,18 +30,18 @@
Die Potenzialfunktion speichert die Arbeit, die man bereits investiert hat und verbrauchen kann. Dabei muss diese auf einer leeren Datenstruktur $0$ und auf einer bereits veränderten Datenstruktur $\geq 0$ sein.
\begin{itemize}
\item $\varphi(D_0) = 0$\\
\item $\Phi(D_0) = 0$\\
Eine leere Datenstruktur hat kein Potenzial (Es muss keine Arbeit investiert werden)
\item $\forall i \in \{1, \dots, n\}: \varphi(D_i) \geq 0$\\
\item $\forall i \in \{1, \dots, n\}: \Phi(D_i) \geq 0$\\
Auf einer bereits veränderten Datenstruktur können wir kein Potenzial oder positives Potenzial haben (Eventuell haben wir bereits Arbeit (zuviel) investiert)
\end{itemize}
Wir führen nun die Variable $a_i$ ein. Diese beschreibt den Aufwand nach $i$ Operationen. Diese Variable können wir definieren als den tatsächlichen Aufwand und der Differenz des Potenzials vor und nach der Operation. Es folgt $\forall i \in \{1, \dots, n\}: a_i = t_i + \varphi(D_i) - \varphi(D_{i - 1})$.
Wir führen nun die Variable $a_i$ ein. Diese beschreibt den Aufwand nach $i$ Operationen. Diese Variable können wir definieren als den tatsächlichen Aufwand und der Differenz des Potenzials vor und nach der Operation. Es folgt $\forall i \in \{1, \dots, n\}: a_i = t_i + \Phi(D_i) - \Phi(D_{i - 1})$.
\subsection{Folgerungen}
\label{implications}
Im folgenden wollen wir zeigen, dass unsere Datenstruktur amortisiert einen Zeitaufwand von $\mathcal{O}(g(n))$ pro Operation hat. Also $\mathcal{O}(n \cdot g(n))$ für $n$ Operationen. Wenn wir nun abschätzen können, dass $\forall i \in \{1, \dots, n\}: a_i \leq g(n)$ gilt, dann können wir folgen:
\begin{equation*}
n \cdot g(n) \geq \sum_{i = 1}^{n} a_i = \sum_{i = 1}^{n} (t_i + \varphi(D_i) - \varphi(D_{i - 1})) \geq \sum_{i = 1}^{n} t_i
n \cdot g(n) \geq \sum_{i = 1}^{n} a_i = \sum_{i = 1}^{n} (t_i + \Phi(D_i) - \Phi(D_{i - 1})) \geq \sum_{i = 1}^{n} t_i
\end{equation*}
Wir schätzen also die Summe aller tatsächlichen Kosten von Operationen gegen die potenziellen Kosten ab. Die potenziellen Kosten schätzen wir gegen die gewünschte Laufzeit ab und können mit Transitivität unser Ergebnis erhalten.
......@@ -57,7 +57,7 @@
Zeigen Sie, dass $n$ beliebige Operationen eine Laufzeit von $\mathcal{O}(kn)$ haben.
\subsection{Beobachtungen}
Wir definieren $\varphi(j)$ als den Zustand der Datenstruktur zum Zeitpunkt $j$. Wir stellen fest, dass $g(n) = \mathcal{O}(1)$ gelten muss, da die Gesamtlaufzeit $\mathcal{O}(k \cdot g(n)) = \mathcal{O}(kn)$ betragen soll. Außerdem können wir die reellen Kosten notieren:
Wir definieren $\Phi(j)$ als den Zustand der Datenstruktur zum Zeitpunkt $j$. Wir stellen fest, dass $g(n) = \mathcal{O}(1)$ gelten muss, da die Gesamtlaufzeit $\mathcal{O}(k \cdot g(n)) = \mathcal{O}(kn)$ betragen soll. Außerdem können wir die reellen Kosten notieren:
\begin{itemize}
\item Für H($i$) gilt $t_{i, j} = c$\\
......@@ -67,20 +67,20 @@
\end{itemize}
Es folgt:
\begin{equation*}
a_j = t_{i, j} + \varphi(j) - \varphi(j - 1)
a_j = t_{i, j} + \Phi(j) - \Phi(j - 1)
\end{equation*}
\subsection{Aufstellen der Potenzialfunktion}
Jeder Stein kann Eimer für Eimer bis zum letzten Eimer umgeräumt werden. Falls sich also ein Stein in Eimer $i$ befindet, kann dieser noch genau $k - i$ Mal umgeräumt werden. Dies gilt für jeden Stein, der sich zum Zeitpunkt $j$ in Eimer $i$ befindet. Es folgt als gesamtes Potenzial:
\begin{equation*}
\varphi(j) = \sum_{i = 1}^{k} (E_{k, j} \cdot (k - i))
\Phi(j) = \sum_{i = 1}^{k} (E_{k, j} \cdot (k - i))
\end{equation*}
Nun können wir die Potenzialfunktion auf jede Operation anwenden:
\begin{itemize}
\item Für H($i$) gilt $a_j = t_{i, j} + \varphi(j) - \varphi(j - 1)$\\
\item Für H($i$) gilt $a_j = t_{i, j} + \Phi(j) - \Phi(j - 1)$\\
$a_j = c + \sum_{i = 1}^{k} (E_{k, j} \cdot (k - i)) - \sum_{i = 1}^{k} (E_{k, j - 1} \cdot (k - i)) = c + k - i = \mathcal{O}(k)$\\
Das Hineinwerfen eines Steins steigert das Potenzial genau um die Zahl der für diesen Stein möglichen Umräumaktionen. Also ist die Differenz $k - i$.
\item Für S($i$) gilt $a_j = t_{i, j} + \varphi(j) - \varphi(j - 1)$\\
\item Für S($i$) gilt $a_j = t_{i, j} + \Phi(j) - \Phi(j - 1)$\\
$a_j = E_{i, j} \cdot c + \sum_{i = 1}^{k} (E_{k, j} \cdot (k - i)) - \sum_{i = 1}^{k} (E_{k, j - 1} \cdot (k - i))$\\
$a_j = E_{i, j} \cdot c - E_{i, j} \cdot c = 0 = \mathcal{O}(0) = \mathcal{O}(k)$\\
Das Umräumen eines Eimers in den nächsten senkt das Potenzial genau um die Menge der Steine im Eimer.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment