Reference no: EM131265402
Solving - Puzzle using A*, IDA*, or RBFS
In this project you will implement a program to solve the 8-puzzle problem using the A*, IDA* or RBFS algorithm. Your program should be a command line based program reading input from stdin and print results to stdout. You can choose from the following programming languages: C, C++, Java, Python, C#. If you use C, C++ or C#, make your program compliable using Visual Studio 2015 Community edition under Windows 7 or using GNU compiler under Ubuntu. You must write the entire project in your own codes. Provide instructions on how to compile your program. Also give a brief description of your implementation architecture and the heuristics you have used. Submit all your source codes and a separate document containing the instructions and descriptions mentioned above.
You can find a classmate to form a group to do the project. A group can contain at most 2 members. If you choose to do it with someone, have one of you send me all group members (name+EagleID) by Oct 30. (In this case you also need to specify briefly who did what in your documentation.) If you don't send me your preference to do it in a group by the date, it will be assumed that you will do it alone.
Input and output formats:
The input file will contain the initial and goal board configuration. A sample can look like this:
7 2 4
5 0 6
8 3 1
0 1 2
3 4 5
6 7 8
If the goal configuration is reachable in a finite number of steps, output all board configurations from initial to goal and the minimum number of steps required to reach the goal.
If the goal configuration is not reachable in a finite number of steps, output "no solution".