コード例 #1
0
        static void nQueensSimulatedAnnealingSearch()
        {
            System.Console.WriteLine("\nNQueensDemo Simulated Annealing  -->");
            try
            {
                IProblem <NQueensBoard, QueenAction> problem =
                    NQueensFunctions.createCompleteStateFormulationProblem(
                        boardSize,
                        NQueensBoard.Config.QUEENS_IN_FIRST_ROW);

                SimulatedAnnealingSearch <NQueensBoard, QueenAction>
                search = new SimulatedAnnealingSearch <NQueensBoard, QueenAction>(
                    NQueensFunctions.createAttackingPairsHeuristicFunction(),
                    new Scheduler(20, 0.045, 100));
                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;
            }
        }
コード例 #2
0
 static void eightPuzzleSimulatedAnnealingDemo()
 {
     System.Console.WriteLine("\nEightPuzzleDemo Simulated Annealing  Search -->");
     try
     {
         IProblem <EightPuzzleBoard, IAction> problem = new BidirectionalEightPuzzleProblem(random1);
         SimulatedAnnealingSearch <EightPuzzleBoard, IAction>
         search = new SimulatedAnnealingSearch <EightPuzzleBoard, IAction>(
             EightPuzzleFunctions.createManhattanHeuristicFunction());
         SearchAgent <EightPuzzleBoard, IAction> agent = new SearchAgent <EightPuzzleBoard, IAction>(problem, search);
         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;
     }
 }