L'obiettivo del corso è far familiarizzare gli studenti con i principi di elaborazione computazionale dei dati comunemente chiamati Computational Intelligence (CI). Ciò si riferisce alla teoria, alla progettazione, all'applicazione e allo sviluppo di paradigmi computazionali ispirati a una gamma più ampia di strutture biologiche capaci di auto-organizzazione autonoma. Gli studenti acquisiranno quindi principi sia teorici che pratici dei sistemi di intelligenza artificiale di ispirazione biologica, come quelli evolutivi, neurali e collettivi. Dopo il corso gli studenti saranno in grado di: comprendere concettualmente i termini e gli algoritmi importanti di CI scegliere i metodi appropriati per un determinato compito costruire sistemi intelligenti per applicazioni reali.
Prerequisiti
Conoscenze di programmazione Python 3, matematica, algoritmi e strutture dati avanzate
Testi
(i) Introduction to Evolutionary Computing, A. E. Eiben, J. E. Smith, 2015, Springer. (ii) Hands-On Genetic Algorithms with Python: Applying genetic algorithms to solve real-world deep learning and artificial intelligence problems, Eyal Wirsansky, 2020, Packt Publishing. (iii) Computational Intelligence: An Introduction, Andries P. Engelbrecht (Autore), 2007, 2nd edition, John Wiley & Sons Inc. (iv) Bio-Inspired Artificial Intelligence: Theories, Methods, and Technologies, Dario Floreano and Claudio Mattiussi, 2008, The MIT Press.
Contenuti
Introduzione alla bio-inspired computing. Differenza tra ottimizzazione, modellazione e simulazione. I problemi NP. Sistemi neurali. Sistemi nervosi biologici. Reti neurali artificiali. Apprendimento supervisionato, non supervisionato e con rinforzo. Sistemi evoluzionari. Le origini della computazione evoluzionaria. I componenti degli algoritmi evoluzionari. Rappresentazione, mutazione e ricombinazione. Fitness, selezione e popolazione. Algoritmi evoluzionari multi-obiettivo. Algoritmi memetici. Gestione dei vincoli. Sistemi co-evolutivi, cooperativi e competitivi. Applicazioni dell’evolutionary computing nell’intelligenza artificiale. Robotica evoluzionaria. Sistemi collettivi e Swarm Intelligence. Auto-organizzazione biologica. Algoritmo Particle Swarm Optimization. Algoritmi Ant Colony Optimization. Applicazioni della swarm intelligence nell’intelligenza artificiale. Swarm Robotics.