A collection of pathfinding algorithms including A*, BFS, DFS, Dijkstra, and Greedy Best-First Search, with support for dynamic obstacles.
This project is a simulation of pathfinding algorithms on a grid with static and dynamic obstacles. The algorithms implemented include A*, BFS, DFS, Dijkstra, and Greedy Best-First Search. The dynamic obstacles can move within the grid, providing a real-time challenge for the algorithms to adapt and find the path.
- A Algorithm*: Efficient pathfinding algorithm that uses a heuristic.
- Breadth-First Search (BFS): Finds the shortest path without considering the heuristic.
- Depth-First Search (DFS): Explores as far as possible along each branch before backtracking.
- Dijkstra's Algorithm: Similar to A*, but considers all possible paths.
- Greedy Best-First Search: Utilizes heuristics to make decisions.
- Dynamic Obstacles: Obstacles that can move within the grid, creating a dynamic environment.
- Visualization Tools: Visualize the grid, paths, and dynamic obstacles using matplotlib.
- Clone the repository:
git clone https://github.com/tellsiddh/dynamic-path-planning.git
- Install required dependencies:
pip install matplotlib numpy
Modify the grid, start, and end variables as desired.
Run the main script:
python pathfinding.py
Visualizations and statistics about the paths found will be displayed in the terminal and graphical plots.