Tower of Hanoi is a mathematical game consisting of three pegs (P1, P2 and P3) and a stack of disks of different diameters. Disks can slide onto any peg. The game starts with all disks stacked on P1 and ends at the point where all disks stacked on P3. The game player is required to move all disks from P1 to P3 using P2 as a buffer. Three rules must be followed when playing the game (1) Only one disk may be moved at a time. (2) Each move involves taking a disk on the top of a peg and place it on the top of another peg. (3) A disk of a larger diameter should never be placed on top of a disk of a smaller diameter. The diagrams below demonstrate the starting state and goal state of the game with 5 disks.
for the above tower of hanoi problem
i. write a program to list all the state spaces.
ii. output the optimal path using A*
iii. output optimal path using DFS