Repository for the Computational Intelligence course taught by Giovanni Squillero during the A.A. 2023/2024. Regarding the Labs and the assignments, me and Claudio Savelli have been working together for Lab 1 and the Halloween Challenge. For the rest, I have tried to develop and implement what I believe to be the most efficient solutions for the problem at hand. If not explicitly stated, I did not take ispiration by any other repository and/or colleague (neither for the design of this README.md, whose copies make me feel like an influencer 🤦🏻♂💅).
Since I'm loving the rationale behind evolution, I have also included some extra mini-projects in which some EAs have been applied to real (but not only) problems. Just give it a look.
Finally, I hope you enjoy the contents as much as I did while creating them! 🤗
Activities | Topic | Link |
---|---|---|
Lab 1 🌟🐾 | Implementation of the A* search algorithm for the set covering problem using a heuristic and a cost functions that penalize redundancies in the covered elements | Link to Lab 1 |
Halloween Challenge! 🎃🦇 | Took part in the Halloween Challenge and designed an algorithm which has proven to be very effective (also presented during a lecture) | Link to the Challenge |
Lab 2 🧙🏼♂️✨ | Design of an ES based algorithm to play (and win!) against an opponent at the Nim game | Link to Lab 2 |
Lab 3**2 🏝️🧬 | Creation of a GA able to optimize a black-box fitness by promoting diversity through the use of Islands + Valhalla + Federation (the last an original strategy designed by me) | Link to Lab 3**2 |
Lab (3**2)++ 🤖🎲 | Implementation of an Agent able to play at TicTacToe exploiting symmetries to learn faster and better a policy to play against a Random Agent | Link to Lab (3**2)++ |
Activities | Topic |
---|---|
E-NAS 🧐🗣️ | Implementation of a simple GA for doing NAS for the design of a CNN architecture tuned for yes/no classification in audios |
EvNet 😷🦠 | An application of Evolutionary Strategies to find the optimal parameters for a model which simulates epidemics |
Even though most of the code presented in this repo has been produced by me or in general by the authors, or sometimes by the Professor during lectures, some pieces have been eventually developed through the help provided by several discussions on Stack Overflow and by AI tools like ChatGPT (version 3.5). These have represented a great starting point for creating our own custom solutions!