\documentclass{bschlangaul-aufgabe}
\bLadePakete{java,vollstaendige-induktion}
\begin{document}
\bAufgabenMetadaten{
  Titel = {Aufgabe 1},
  Thematik = {Hanoi},
  Referenz = 46116-2014-F.T2-TA1-A1,
  RelativerPfad = Examen/46116/2014/03/Thema-2/Teilaufgabe-1/Aufgabe-1.tex,
  ZitatSchluessel = examen:46116:2014:03,
  BearbeitungsStand = mit Lösung,
  Korrektheit = korrekt und überprüft,
  Ueberprueft = {mit Dozentenlösung abgeglichen},
  Stichwoerter = {Terminierungsfunktion},
  EinzelpruefungsNr = 46116,
  Jahr = 2014,
  Monat = 03,
  ThemaNr = 2,
  TeilaufgabeNr = 1,
  AufgabeNr = 1,
}

\let\m=\bInduktionMarkierung
\let\e=\bInduktionErklaerung

Gegeben\footcite{examen:46116:2014:03} sei folgende Methode zur
Berechnung der Anzahl der notwendigen Züge beim Spiel \emph{„Die Türme
von Hanoi“}:
\footcite{sosy:pu:5:1}

\bJavaExamen[firstline=4,lastline=15]{46116}{2014}{03}{Hanoi}

\begin{enumerate}

%%
% a)
%%

\item Beweisen Sie formal mittels vollständiger Induktion, dass zum
Umlegen von $k$ Scheiben (\zB vom Turm A zum Turm C) insgesamt
$2^k-1$ Schritte notwendig sind, also dass für $k \geq 0$ folgender
Zusammenhang gilt:

\begin{displaymath}
\text{hanoi}(k,\text{'A'},\text{'C'}) = 2^k - 1
\end{displaymath}

\begin{bAntwort}
Zu zeigen:

\begin{displaymath}
\text{hanoi}(k,\text{'A'},\text{'C'}) = 2^k - 1
\end{displaymath}

%%
%
%%

\bInduktionAnfang

$k=0$

\begin{displaymath}
\text{hanoi}(0,\text{'A'},\text{'C'}) = 0
\end{displaymath}

\begin{displaymath}
2^0 - 1 = 1 - 1 = 0
\end{displaymath}

%%
%
%%

\bInduktionVoraussetzung

\begin{displaymath}
\text{hanoi}(k,\text{'A'},\text{'C'}) = 2^k - 1
\end{displaymath}

%%
%
%%

\bInduktionSchritt

\begin{align*}
\text{hanoi}(k, \text{'A'},\text{'C'})
& = 1 +
    \text{hanoi}(k - 1, \text{'A'},\text{'B'}) +
    \text{hanoi}(k - 1, \text{'B'},\text{'C'})\\
\end{align*}

$k \rightarrow k + 1$

\begin{align*}
\text{hanoi}(\m{k + 1}, \text{'A'},\text{'C'})
& = 1 +
    \text{hanoi}(\m{(k + 1)} - 1, \text{'A'},\text{'B'}) + \\
    & \hspace{1cm}
    \text{hanoi}(\m{(k + 1)} - 1, \text{'B'},\text{'C'})\\
& = 1 +
    \text{hanoi}(\m{k}, \text{'A'},\text{'B'}) +\\
    & \hspace{1cm}
    \text{hanoi}(\m{k}, \text{'B'},\text{'C'})
& \e{$k + 1 - 1 = k$}\\
%
& = 1 +
    \m{2^k - 1} + \m{2^k - 1}
& \e{Formeln eingesetzt}\\
%
& = 2^k + 2^k \m{- 1}
& \e{$1 - 1 - 1 = - 1$}\\
%
& = \m{2 \cdot 2^k} - 1
& \e{$2^k + 2^k = 2 \cdot 2^k$}
\\
& = 2^{\m{k+1}} - 1 & \e{$2 \cdot 2^k = 2^{k+1}$} \\
\end{align*}

\end{bAntwort}

%%
% b)
%%

\item Geben Sie eine geeignete
Terminierungsfunktion\index{Terminierungsfunktion} an und begründen Sie
kurz Ihre Wahl!

\begin{bAntwort}
Betrachte die Argumentenfolge $k, k-1, k-2, \dots, 0$. Die
Terminierungsfunktion ist offenbar $T(k) = k$. $T(k)$ ist bei jedem
Rekursionsschritt auf der Folge der Argumente streng monoton fallend.
Bei der impliziten Annahme $k$ ist ganzzahlig und $k \geq 0$ ist $T(k)$
nach unten durch $0$ beschränkt.
\end{bAntwort}
\end{enumerate}
\end{document}
