05.08.2013 Aufrufe

Praktische Grenzen der Berechenbarkeit - Informatik

Praktische Grenzen der Berechenbarkeit - Informatik

Praktische Grenzen der Berechenbarkeit - Informatik

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!