Question

can you help me with this code because I am struggling:

question that I need help with:
it will be 

investigate the problem of navigation on a two-dimensional grid with obstacles. The goal is to produce the shortest path between a provided pair of points, taking care to maneuver around the obstacles as needed. Path length is measured in Euclidean distance. Valid directions of movement include up, down, left, right, up-left, up-right, down-left, and down-right.

Your task is to write a function find_path(start, goal, scene) which returns the shortest path from the start point to the goal point that avoids traveling through the obstacles in the grid. For this problem, points will be represented as two-element tuples of the form (row, column), and scenes will be represented as two-dimensional lists of Boolean values, with False values corresponding empty spaces and True values corresponding to obstacles. Your output should be the list of points in the path, and should explicitly include both the start point and the goal point. Your implementation should consist of an A* search using the straight-line Euclidean distance heuristic. If multiple optimal solutions exist, any of them may be returned. If no optimal solutions exist, or if the start point or goal point lies on an obstacle, you should return the sentinal value None.

>>> scene = [[False, False, False],
... [False, True , False],
... [False, False, False]]
>>> find_path((0, 0), (2, 1), scene)
[(0, 0), (1, 0), (2, 1)]

>>> scene = [[False, True, False],
... [False, True, False],
... [False, True, False]]
>>> print find_path((0, 0), (0, 2), scene)
None

Expert Solution
Check Mark
Knowledge Booster
Background pattern image
AI and Machine Learning
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, ai-and-machine-learning and related others by exploring similar questions and additional content below.