Problem Description The Tower of Hanoi Problem 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. Starting state Goal state P1 P2 P3 P1 P2 P3

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Problem Description
The Tower of Hanoi Problem
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.
Starting state Goal state
P1 P2 P3 P1 P2 P3
2
Requirements
In this assignment, students are required to solve the Tower of Hanoi (with five disks) using state space 
search algorithms implemented in Python.
Two state space search algorithms: (1) a blind search (depth-first search with depth limit) and (2) a heuristic 
(A*) search algorithms must be included to complete the assignment. 
The completion of the assignment consists of two steps as listed below.
Step 1 Problem Analysis and Design 
Before writing the python code, students are required to perform an analysis in order to determine the best 
design to solve the problem. This includes
(1) The representation of the state
(2) The representation of the state space
(3) The design of the heuristic evaluation function in the A* algorithm
The problem analysis and design should be documented in the analysis and design document.
Step 2 Coding
Write the Python program to implement the design created in Step 1
The program must implement both Depth-First Search and A* Search algorithms. When running the
program, it should output
(1) The state space with each unsafe state marked and made a dead end.
(2) The action plan (the path from the initial state to the goal state) generated by the Depth-first search 
algorithm.
(3) The action plan generated by the A* algorithm.

Expert Solution
steps

Step by step

Solved in 4 steps

Blurred answer
Knowledge Booster
Arrays
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education