Search
You will program the A* algorithm in order to search through the given state space.
Implement an A* algorithm that
None
You should use the maze environment kuimaze2.SearchProblem.
kuimaze2.SearchProblem
For the algorithm to work correctly, you need to choose and implement a suitable heuristic function. The impact of selecting different heuristic functions is well explained at this webpage. The cost of transition between two neighbouring positions is always larger or equal to the Euclidean distance of these two positions, and it generally does not have to be the same for all pairs of positions.
kuimaze2
example_search.py
agent.py
In file agent.py, implement class Agent with the following methods:
Agent
__init__
environmnent: SearchProblem
find_path
State
The following Python modules may be useful in implementing some parts of the A* algorithm: queue, heapq.
See a more detailed info about evaluation.
This screenshot comes from a previous version of kuimaze. The current version produces slightly different images. Main difference: diagonal moves are not allowed now.
kuimaze