Esempio n. 1
0
        static void nQueensHillClimbingSearch()
        {
            System.Console.WriteLine("\nNQueensDemo HillClimbing  -->");
            try
            {
                IProblem <NQueensBoard, QueenAction>
                problem = NQueensFunctions.createCompleteStateFormulationProblem(
                    boardSize,
                    NQueensBoard.Config.QUEENS_IN_FIRST_ROW);
                HillClimbingSearch <NQueensBoard, QueenAction>
                search = new HillClimbingSearch <NQueensBoard, QueenAction>(
                    NQueensFunctions.createAttackingPairsHeuristicFunction());
                SearchAgent <NQueensBoard, QueenAction>
                agent = new SearchAgent <NQueensBoard, QueenAction>(problem, search);

                System.Console.WriteLine();
                printActions(agent.getActions());
                System.Console.WriteLine("Search Outcome=" + search.getOutcome());
                System.Console.WriteLine("Final State=\n" + search.getLastSearchState());
                printInstrumentation(agent.getInstrumentation());
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Esempio n. 2
0
        public void setUp()
        {
            oneBoard   = new NQueensBoard(1);
            eightBoard = new NQueensBoard(8);
            board      = new NQueensBoard(8);

            actionsFn = NQueensFunctions.getIFActionsFunction();
            resultFn  = NQueensFunctions.getResultFunction();
            goalTest  = NQueensFunctions.testGoal;
        }
Esempio n. 3
0
 static void nQueensWithRecursiveDLS()
 {
     System.Console.WriteLine("\nNQueensDemo recursive DLS -->");
     try
     {
         IProblem<NQueensBoard, QueenAction> problem =
                 NQueensFunctions.createIncrementalFormulationProblem(boardSize);
         ISearchForActions<NQueensBoard, QueenAction> 
             search = new DepthLimitedSearch<NQueensBoard, QueenAction>(boardSize);
         SearchAgent<NQueensBoard, QueenAction> 
             agent = new SearchAgent<NQueensBoard, QueenAction>(problem, search);
         printActions(agent.getActions());
         printInstrumentation(agent.getInstrumentation());
     }
     catch (Exception e)
     {
         throw e;
     } 
 }
Esempio n. 4
0
 static void nQueensWithBreadthFirstSearch()
 {
     try
     {
         System.Console.WriteLine("\nNQueensDemo BFS -->");
         IProblem <NQueensBoard, QueenAction> problem =
             NQueensFunctions.createIncrementalFormulationProblem(boardSize);
         ISearchForActions <NQueensBoard, QueenAction>
         search = new BreadthFirstSearch <NQueensBoard, QueenAction>(new TreeSearch <NQueensBoard, QueenAction>());
         SearchAgent <NQueensBoard, QueenAction>
         agent = new SearchAgent <NQueensBoard, QueenAction>(problem, search);
         printActions(agent.getActions());
         printInstrumentation(agent.getInstrumentation());
     }
     catch (Exception e)
     {
         throw e;
     }
 }