public static void CompareSolvers() { DFSMazeGenerator generator = new DFSMazeGenerator(); Maze m = generator.Generate(5, 6); Console.WriteLine(m.ToString()); BestFirstSearch <CellType> bfs = new BestFirstSearch <CellType>(); DFS <CellType> dfs = new DFS <CellType>(); Solution <CellType> SolBFS = bfs.search(m); Solution <CellType> SolDFS = dfs.search(m); Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("THE START !!"); ISearcher <int> ser = new BestFirstSearch <int>(); Dictionary <State <int>, List <State <int> > > Adj = new Dictionary <State <int>, List <State <int> > >(); State <int> one = new State <int>(1); State <int> two = new State <int>(2); State <int> three = new State <int>(3); State <int> four = new State <int>(4); State <int> five = new State <int>(5); State <int> six = new State <int>(6); State <int> seven = new State <int>(7); Adj[one] = new List <State <int> > { two, three }; Adj[two] = new List <State <int> > { four, five }; Adj[three] = new List <State <int> > { two, six }; Adj[four] = new List <State <int> >(); Adj[five] = new List <State <int> > { six }; Adj[six] = new List <State <int> > { seven }; Adj[seven] = new List <State <int> > { three }; TestSearchable <int> test1 = new TestSearchable <int>(one, six, Adj); Solution <int> sol = ser.search(test1); printSol(sol); Console.ReadLine(); }
/// <summary> /// Runs this instance. /// </summary> public static void Run() { var dfsMazeGenerator = new DFSMazeGenerator(); var MyMaze = dfsMazeGenerator.Generate(20, 20); var s = MyMaze.ToString(); Console.WriteLine(s); var SM = new SearchableMaze(MyMaze); Console.WriteLine("Start:" + new PointState(MyMaze.InitialPos)); Console.WriteLine("Goal:" + new PointState(MyMaze.GoalPos)); var DFS = new DepthFirstSearch <PointState>(); var solutionDFS = DFS.search(SM); Console.WriteLine("The solution path by DFS is:"); foreach (var state in solutionDFS.Path) { Console.WriteLine(state.ToString()); } Console.WriteLine("The DFS algorithm treated " + DFS.evaluatedNodes + " nodes."); Console.WriteLine(); var BFS = new BestFirstSearch <PointState>(); var solution = BFS.search(SM); Console.WriteLine("The solution path by BFS is:"); foreach (var state in solution.Path) { Console.WriteLine(state.ToString()); } Console.WriteLine("The BFS algorithm treated " + BFS.evaluatedNodes + " nodes."); Console.WriteLine(); }