# ---------- # User Instructions: # # Implement the function optimum_policy2D below. # # You are given a car in grid with initial state # init. Your task is to compute and return the car's # optimal path to the position specified in goal; # the costs for each motion are as defined in cost. # # There are four motion directions: up, left, down, and right. # Increasing the index in this array corresponds to making a # a left turn, and decreasing the index corresponds to making a # right turn. forward = [[-1, 0], # go up [ 0, -1], # go left [ 1, 0], # go down [ 0, 1]] # go right forward_name = ['up', 'left', 'down', 'right'] # action has 3 values: right turn, no turn, left turn action = [-1, 0, 1] action_name = ['R', '#', 'L'] # EXAMPLE INPUTS: # grid format: # 0 = navigable space # 1 = unnavigable space grid = [[1, 1, 1, 0, 0, 0], [1, 1, 1, 0, 1, 0], [0, 0, 0, 0, 0, 0], [1, 1, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1]] init = [4, 3, 0] # given in the form [row,col,direction] # direction = 0: up # 1: left # 2: down # 3: right goal = [2, 0] # given in the form [row,col] cost = [2, 1, 20] # cost has 3 values, corresponding to making # a right turn, no turn, and a left turn # EXAMPLE OUTPUT: # calling optimum_policy2D with the given parameters should return # [[' ', ' ', ' ', 'R', '#', 'R'], # [' ', ' ', ' ', '#', ' ', '#'], # ['*', '#', '#', '#', '#', 'R'], # [' ', ' ', ' ', '#', ' ', ' '], # [' ', ' ', ' ', '#', ' ', ' ']] # ---------- # ---------------------------------------- # modify code below # ---------------------------------------- def optimum_policy2D(grid,init,goal,cost): return policy2D