package am.aua.npuzzle; import am.aua.search.*; public class AStarTSH1_Demo { public static void main(String[] args) { Tiles initialConfiguration = new Tiles(new int[][] { { 7, 4, 2 }, { 8, 1, 3 }, { 5, 0, 6 } }); GoalTest goalTest = new TilesGoalTest(); BestFirstFrontier frontier = new BestFirstFrontier(new AStarFunction(new MisplacedTilesHeuristic(goalTest))) { @Override public String toString() { return "A* Tree Search with h1, number of misplaced tiles"; } }; TreeSearch search = new TreeSearch(frontier); Node solution = search.search(initialConfiguration, goalTest); if (args.length == 0) { System.out.println("This is a demonstration of A* Tree Search on 8-puzzle with h1 number of misplaced tiles"); System.out.println(); new NPuzzlePrinting().printSolution(solution); } else if (args[0].equals("-s")) { new NPuzzlePrinting().printStatistics(search); } } }