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())); }