Beispiel #1
0
        public void TestFindingDirectionsIDAStarSearchRomaniaStraightLineDistanceHeuristic()
        {
            var heuristic = StraightLineToBucharestHeuristic();
            var solver    = new IDAStarSearchSolver <FindingDirectionsState>(heuristic);
            var problem   = GetRomaniaProblem();

            TestSolver(solver, problem, 418);
        }
Beispiel #2
0
        public void TestNPuzzleIDAStarSearchManhattanDistance()
        {
            var solver = new IDAStarSearchSolver <NPuzzle>(NPuzzle.ManhattanDistance);
            //var problem = new NPuzzleProblem(3, 3, "8 6 7 2 5 4 3 0 1"); int expected = 27;
            //var problem = new NPuzzleProblem(3, 4, "3 7 9 11 4 8 10 0 5 2 1 6"); int expected = 37;
            //var problem = new NPuzzleProblem(4, 4, "14, 1, 9, 6, 4, 8, 12, 5, 7, 2, 3, 0, 10, 11, 13, 15"); int expected = 45;
            var problem = new NPuzzleProblem(4, 4, "4, 3, 6, 13, 7, 15, 9, 0, 10, 5, 8, 11, 2, 12, 1, 14"); int expected = 50;

            //var problem = new NPuzzleProblem(4, 4, "0, 11, 3, 12, 5, 2, 1, 9, 8, 10, 14, 15, 7, 4, 13, 6"); int expected = 54;
            TestSolver(solver, problem, expected);
        }