def test_homework(self): grid = [[0, 0, 0], [0, 0, 0]] goal = [0, len(grid[0]) - 1] expected_value = [[60.472, 37.193, 0.], [63.503, 44.770, 37.193]] expected_policy = [['>', '>', '*'], ['>', '^', '^']] value, policy = homework._stochastic_value(grid, goal) self.assertEqual(expected_policy, policy) self.assertAlmostEqual(expected_value, value, 3) grid = [[0, 1, 0], [0, 0, 0]] expected_value = [[94.041, 1000., 0.000], [86.082, 73.143, 44.286]] expected_policy = [['v', ' ', '*'], ['>', '>', '^']] value, policy = homework._stochastic_value(grid, goal) self.assertEqual(expected_policy, policy) self.assertAlmostEqual(expected_value, value, 3)
def test_homework_larger_grid(self): grid = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 1, 1, 0]] goal = [0, len(grid[0]) - 1] expected_value = [[57.903, 40.278, 26.066, 0.000], [47.055, 36.572, 29.994, 27.270], [53.172, 42.023, 37.775, 45.092], [77.586, 1000., 1000., 73.546]] expected_policy = [['>', 'v', 'v', '*'], ['>', '>', '^', '<'], ['>', '^', '^', '<'], ['^', ' ', ' ', '^']] value, policy = homework._stochastic_value(grid, goal) self.assertEqual(expected_policy, policy) self.assertAlmostEqual(expected_value, value, 3)