This project involves implementing the DFS, BFS, and A* search algorithms to navigate an agent through a map, where it must solve a problem (such as collecting gems, finding an exit, or visiting specific points). More info in ./pdf/consignes.pdf
.
Instance of the Search Problem, where agent must collect gems and find the exit.
- Algorithmic graph search approach: Transforms the problem into a graph, with nodes representing "world states", and navigates through them using A*, BFS, and DFS.
- Search problems: Implements various problems, including one where finding every gem is required to exit, another where the goal is simply to find the exit, and one where you must visit every corner before exiting.
- Visualization: A visual demonstration of the search algorithms, where the agent moves according to the solution found by the algorithm.
Make sure you have Python >= 3.12
installed.
-
Clone the repository:
git clone https://github.com/Ant0in/Projet1-IA.git
-
Navigate to the project directory:
cd Projet1-IA/
-
Install dependencies:
pip install -r "requirements.txt"
-
Run the project on a grid
map1.txt
:python "./main.py" "./tests/map1.txt" --problem "gem" --algo "bfs" --verbose
To run the tests using Pytest (verbose):
pytest .\tests\ -vvv
This project is licensed under the MIT License. You are free to use, modify, and distribute this software.
This project was developed for the Artificial Intelligence course INFO-F311
. Special thanks to Tom Lenaerts & Yannick Molinghen (ULB)
for their guidance and support.