ai-22 / src / am / aua / npuzzle / GTSH1_Demo.java
GTSH1_Demo.java
Raw
package am.aua.npuzzle;

import am.aua.search.*;

public class GTSH1_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 MisplacedTilesHeuristic(goalTest));
        TreeSearch search = new TreeSearch(frontier){
            @Override
            public String toString() {
                return "Greedy Tree Search with h1, number of misplaced tiles";
            }
        };
        Node solution = search.search(initialConfiguration, goalTest);

        if (args.length == 0) {
            System.out.println("This is a demonstration of Greedy 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);
        }
    }
}