Exemple #1
0
        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();
        }
Exemple #2
0
    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();
    }
Exemple #3
0
        /// <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();
        }