Praktische Grenzen der Berechenbarkeit - Informatik
Praktische Grenzen der Berechenbarkeit - Informatik
Praktische Grenzen der Berechenbarkeit - Informatik
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Damit wird die Problemgröße reduziert, und die Teilprobleme im ersten und dritten<br />
Schritt lassen sich analog lösen. Es ergibt sich <strong>der</strong> in Abbildung 7 dargestellte<br />
Algorithmus.<br />
Algorithmus Hanoi(n,von,nach,ueber)<br />
(von: Ausgangsstab,<br />
nach: Zielstab<br />
ueber: Hilfsstab)<br />
begin<br />
if n=1 then<br />
Ausgabe: von -> nach<br />
else<br />
Hanoi(n-1,von,ueber,nach)<br />
Ausgabe: von -> nach<br />
Hanoi(n-1,ueber,nach,von)<br />
end<br />
Abbildung 7: Rekursiver Algorithmus Türme von Hanoi<br />
In jedem Durchlauf des Algorithmus sind zunächst ein Vergleich und eine<br />
Ausgabeanweisung zu berücksichtigen. Hinzu kommt <strong>der</strong> Aufwand für die beiden<br />
rekursiven Aufrufe, falls n > 1 ist. Bezeichnen wir die Zeitkomplexität mit<br />
than(n), so ergibt sich also für den Gesamtaufwand<br />
than(n) =<br />
<br />
2 für n = 1<br />
2 + 2 · than(n − 1) für n > 1 .<br />
Aus <strong>der</strong> Zinsrechnung wissen wir, dass man diesen rekursiven Term umschreiben<br />
kann (Kapitalberechnung bei nachschüssiger Einzahlung (postnumerando) und<br />
einem Zinssatz von 100%):<br />
Es gilt also<br />
than(n) = 2 · (2 n − 1)<br />
= 2 n+1 − 2 .<br />
than ∈ O(2 n ) .<br />
Lei<strong>der</strong> hat man nicht immer eine Formel zur Verfügung, mit <strong>der</strong> sich eine<br />
Rekursionsgleichung in eine geschlossene Form bringen lässt. Oft bleibt dann nur<br />
die Möglichkeit, eine Wertetabelle zu erstellen, den Funktionsterm zu raten und<br />
anschließend dessen Korrektheit mit Hilfe vollständiger Induktion zu beweisen. In<br />
manchen Fällen liefern aber auch Computer–Algebra–Systeme brauchbare Terme,<br />
die zumindest geeignet sind, die Funktion einer asymptotischen Ordnung<br />
zuzuordnen.<br />
12