Answered step by step
Verified Expert Solution
Question
1 Approved Answer
CSC 3 1 1 - Introduction to Artificial Intelli... Nine Little Soldiers is a puzzle in which 9 numbered soldiers are trapped in a bomb
CSC Introduction to Artificial Intelli...
Nine Little Soldiers is a puzzle in which numbered soldiers are trapped in a bomb shelter that has cells as shown in the figure below. A cell's number is shown either below or above the cell, and the soldiers are identified by the numbers inside a circle.
A soldier may only move into an adjacent empty cell and no more than one soldier may occupy a single cell. The puzzle requires you to move the soldiers so that soldier is in cell number soldier in cell number and so on up to soldier in cell number
The figure below depicts start state A
Formulate the task as a search problem by defining the following: a state, the goal state and the moves actions
Draw the first three levels of the state space with the initial state shown in the figure below start state B as the first level. Do not include repeating states.
Formulate the task as a search problem by defining the following: a state, the goal state and the moves actions
Draw the first three levels of the state space with the initial state shown in the figure below start state B as the first level. Do not include repeating states.
Use the Displaced Soldiers heuristic: the number of soldiers that are not in their correct cells in any state. For example, the heuristic value of state is and of state B is
Indicate the heuristic value for each state in your drawing for question Show the values on the same drawing, ie you do not need to redraw the partial state space.
Write a Java implementation of the Best First Search algorithm for this problem.
a Your program must read the contents of a start state from a text file.
Write a Java implementation of the Best First Search algorithm for this problem.
a Your program must read the contents of a start state from a text file.
b The output of your program must show the sequence of nodes that are expanded. A node in the graph can simply be displayed by printing the heuristic vale and showing the contents of each cell from to in a single line. A zero entry represents an empty cell. For example, State A can be displayed as:
and State B can be displayed as
c Your program must show the number of moves taken to reach the goal state.
c Your program must show the number of moves taken to reach the goal state.
d The output of parts a and must be written to an output file an to the screen.
Run the program first using state as the start state and name the output file OutputB.txt Then run the program using state as start state and name the output file OutputB.txt
Follow the instructions below carefully:
You are required to program in Java and use objectoriented programming concepts. Save all your files in a compressed zip folder with the following naming convention
Call your Java program NineSoldiers. java
Write a class called State with the following variables to represent a state.
An array with entries to represent the cells and the positions of the soldiers. The array entry at index should not be used. This is so that a cell number correspond is the same as its index in the array.
An int value to store the value.
Write the necessary methods of the class including:
Accessor and mutator methods to retrieve and modify attributes of the class;
Methods to perform moves ie generate children states
A method to print the contents of a state.
Use the builtin Java Collections PriorityQueue PQ data structure to store the frontier list of expanded states. The PQ is of type state represented in the data structure described above and is sorted in increasing order according to the heuristic value of each state. Two states that have the same heuristic value may appear in any order in the PQNote that you have to overload the comparison method in your to sort the items in in
Use the builtin Java Collections PriorityQueue PQ data structure to store the frontier list of expanded states. The PQ is of type state represented in the data structure described above and is sorted in increasing order according to the heuristic value of each state. Two states that have the same heuristic value may appear in any order in the PQNote that you have to overload the comparison method in your PQ to sort the items in in ascending order. Elements are sorted according to their hValue and it is a minPQ.
Test your Java program with both the two start states A and B shown above.
Show every state and its heuristic value that is expanded by the algorithm ie removed from the PQ as well as the final solut
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started