You can read more about N-Puzzle. Goal: Reach state listed below from random state: Usage: Search Algorithms: A* Greedy Uniform-cost For A* and Greedy next heuristic functions are available: Misplaced --heuristic=misplaced Manhatten --heuristic=manhatten Euclidian --heuristic=euclidian You can add -p for see solution trace Example