Towers of Hanoi

(Difference between revisions)
 Revision as of 16:59, 22 May 2013 (edit)← Previous diff Revision as of 14:39, 23 May 2013 (edit) (undo)Next diff → Line 11: Line 11: :*Each disk must be placed on a larger disk. :*Each disk must be placed on a larger disk. - [[User:Smaurer1|Smaurer1]] 13:40, 21 May 2013 (EDT)This article refers to the poles as towers. But my understanding is that "tower" refers to a proper arrangement of rings on a pole. You might want to rewrite the whole article with different and consistent terminology. + To fully understand the end of the world legend, one must understand the relationship between the number of disks and the amount of moves. As it turns out, this relationship is exponential; if the priests move one disk per second, then they would need 18,446,744,073,709,551,615 seconds, or 584.54 billion years, to complete the game. Given that this is about 45 times the life span of the Sun, the legend overestimates the amount of time we have until the world ends (unless we can someday live without the Sun). - + - [[Image:Hanoi.gif]] + - Solving the Towers of Hanoi with 4 disks + ===Play the Game=== ===Play the Game=== Line 20: Line 17: }} }} + + ===Example of Solving the Game=== + Solving Towers of Hanoi with 4 disks. {{Hide|1=[[Image:Hanoi.gif]]}} + |ImageDesc===The Recursive Solution== |ImageDesc===The Recursive Solution==

Revision as of 14:39, 23 May 2013

Towers of Hanoi
The Towers of Hanoi is a well known puzzle game based on a Hindu legend. According to the story, priests of the Hindu god Brahma were instructed to move 64 golden disks from one of 3 poles to another, and when they completed it the world would end. However, whether the game was inspired by the legend, or the other way around, is unknown.

Basic Description

The standard game begins with 3 poles, one of which (typically the leftmost) has some whole number, k, disks placed around it in increasing size from top to bottom, while the other poles start out empty.
Goal: Move all k disks from the start tower (typically the leftmost) to the specified end tower (typically the rightmost), following these rules:
• Only one disk may be moved at one time.
• Each move consists of moving the top disk of one rod onto the top of another rod.
• Each disk must be placed on a larger disk.

To fully understand the end of the world legend, one must understand the relationship between the number of disks and the amount of moves. As it turns out, this relationship is exponential; if the priests move one disk per second, then they would need 18,446,744,073,709,551,615 seconds, or 584.54 billion years, to complete the game. Given that this is about 45 times the life span of the Sun, the legend overestimates the amount of time we have until the world ends (unless we can someday live without the Sun).

Play the Game

You can play the game Towers of Hanoi right here! This applet will help you understand how the game works.

If you can see this message, you do not have the Java software required to view the applet.

Example of Solving the Game

Solving Towers of Hanoi with 4 disks.

A More Mathematical Explanation

The Recursive Solution

This game becomes more interesting when we try to figure out the quickest [...]

The Recursive Solution

This game becomes more interesting when we try to figure out the quickest solution to any Towers of Hanoi game. We will first reason through the ideal minimum amount of steps to solve a game with k-disks, then provide an algorithm that requires the same amount of moves as this ideal minimum. Define $T_k$ to be the minimum amount of moves needed for k disks. It is obvious that:

$T_0=0$ and $T_1=1$

Assume that we know $T_{k-1}$ is true. Note that to move the kth(bottom) disk, we must first move the top k-1 disks. In addition, we must move the kth disk at least (and hopefully only) once. Finally, the top k-1 disks must be placed on top of the kth disk at some point to complete the game. Thus, the ideal recursive function for $T_k$ is:

$T_k=T_{k-1}+1+T_{k-1}=2T_{k-1}+1$

Now we will provide an algorithm that requires the same amount of steps as $T_k$. Since $T_0$ and $T_1$ do not change, we can assume that the (k-1)th game is solvable. One algorithm to solve the kth game is as follows:

1. Move the top k-1 disks to Pole B (assuming we start on Pole A and end on Pole C).
2. Move the kth disk to Pole C.
3. Move the k-1 disks on Pole B to Pole C, on top of the kth disk.

The total steps for this are:

$T_{k-1}+1+T_{k-1}=2T_{k-1}+1=T_k$

Thus our ideal minimum function is a plausible solution to any Towers of Hanoi game.

The Non-Recursive Equation

We will show by induction that the non-recursive equation is

$T_k=2^k-1$, for $k\in\mathbb{Z}_+$

The base case is satisfied:

$T_0=2^0-1=1-1=0$ as desired.

Assume the (k-1)th case holds. Then

$T_k=2T_{k-1}+1=2(2^{k-1}-1)+1=2(2^{k-1})-2+1=2^k-1$

Thus we have shown the non-recursive equation holds for any Towers of Hanoi game with k disks.