next up previous
Nächste Seite: Suchprobleme Aufwärts: Berechenbarkeit, Komplexität (24. 10. Vorherige Seite: Schwere Probleme

Hanoi (2)

Also ist das die optimale Lösung:

move (k, v, n, h) =
    -- hier gilt: Scheiben 1, 2 .. k 
    -- liegen oben auf v (andere Scheiben egal)
    falls (k > 0), dann
        move (k-1, von, hilf, nach)
        lege Scheibe k von v nach n
        move (k-1, hilf, von, nach)
    -- hier gilt: Scheiben 1, 2 .. k 
    -  liegen oben auf n
    --     (andere Scheiben wurden nicht bewegt)
und für $k$ Scheiben braucht man $2^k-1$ Züge.

\begin{displaymath}
\begin{array}{c\vert cccccccc}
n & 5 & 10 & 15 & 20 & 25 & 3...
...023 & 10^4 & 10^6 & 10^7 & 10^9 & 10^{15} & 10^{30}
\end{array}\end{displaymath}



Johannes Waldmann 2004-01-30