Curricular Unit: Artificial Intelligence
Faculty: FEUP
Professor: Pedro Mota
Authors: Bruno Oliveira, Henrique Fernandes, Rodrigo Silva
Final Grade: 20.0/20
- Setup local Python environment:
python3 -m venv .venv
source .venv/bin/activate- Install the required packages:
pip install -r requirements.txt- Run the main script:
./main.py # or
python3 main.pyTo enable persistent command history, preceed the command with rlwrap (you may need to install it first).
- Print the help message:
[router-solver]# help
- Perform static type checking:
mypy **/*.py- Lint the code:
pylint **/*.py- If you haven't already pick a theme, please really think before choosing an optimization problem. These have objectively harder algorithms than the solitary/adversarial games, and the base (the non-AI part) of the project is already quite tedious, so really think about it before choosing.
- Even for optimization problems, using
pygamecan be really useful for visualization, and we really recommend it over other recommended frameworks like Qt. If you need to make charts (e.g. for plotting the score over time),pygame-chartis actually really good for that: since it is built on top ofpygame, it integrates really well and seems to also be quite performant. - Most of the optimization problems have well documented solutions on papers online, which is great if you are unsure of your approach. Also, don't worry if your implementation is not very good, the professors only care that the algorithms are correct, following the respective meta-heuristics.