コード例 #1
0
        public PolicySpace getBestPolicy(bool debug = false)
        {
            GridSpace og = new GridSpace(vi.getGridSpace().Rows(), vi.getGridSpace().Cols());
            int       c  = 0;

            while (true)
            {
                c++;
                vi.Process();
                if (debug)
                {
                    Console.Write("Original Grid");
                    vi.getGridSpace().Print();
                    Console.Write("Old Grid");
                    og.Print();
                }
                if (GridSpace.compareAtThreshold(og, vi.getGridSpace(), threshold) && c > leastIterations)
                {
                    break;
                }
                og = new GridSpace(vi.getGridSpace());
            }
            Console.WriteLine("Problem converged after " + c + " iterations");
            vi.getGridSpace().Print();

            return(ip(vi.getGridSpace()));
        }