Implementations of BFS, Greedy-BFS, A*, Iterative Deepening and IDA* for 3 and 4 tile puzzles.
Clone and run make.
Run ./main passing the algorithm you want to execute. Options are:
-bfsfor BFS-gbfsfor Greedy-BFS-astarfor A*-idfsfor Iterative Deepening-idastarfor IDA*
Also pass a set of initial entries with at least 1 element. Examples are:
0 1 2 3 4 5 6 7 8(1 element)1 4 0 5 9 7 2 3 6, 8 7 6 5 4 3 2 1(2 elements)
Alternatively, you can pass a .txt file with elements separated by a new line. Absolute path must be passed, as shown in the example below:
./main -idastar ~/Desktop/n-tile-puzzle/input/entries.txt
For input ./main -astar 8 3 5 7 2 6 0 4 1, 3 0 8 7 5 2 1 6 4, 5 4 6 3 2 7 0 1 8, output should be something like:
330,22,0.004757,10.545455,18
197,19,0.002806,9.517767,13
3015,26,0.036673,10.768491,14
where values are, in order, the number of expanded nodes, the length of the optimal solution, the duration, average heuristic value and the heuristic value for the initial state.