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; } }
public void setUp() { oneBoard = new NQueensBoard(1); eightBoard = new NQueensBoard(8); board = new NQueensBoard(8); actionsFn = NQueensFunctions.getIFActionsFunction(); resultFn = NQueensFunctions.getResultFunction(); goalTest = NQueensFunctions.testGoal; }
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; } }
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; } }