I Sistemi Multiagente (MAS) sono emersi come una delle più importanti aree di ricerca e sviluppo nel campo della tecnologia dell'informazione e rappresentano uno dei più sgnificativi contributi della Intelligenza Artificiale Distribuita. Un MAS è composto da più componenti software interagenti (agenti) in grado di cooperare per risolvere problemi che vanno oltre le capacità di ogni singolo membro.
Questo insegnamento introdurrà gli studenti alla nozione di agente e li porterà a capire cos'è un agente, come possono essere costruiti, come gli agenti possono cooperare efficacemente. L'adozione di approcci simbolici per modellare e implementare gli agenti permetterà agli studenti di entrare in contatto con le più significative caratteristiche della Intelligenza Artificiale Simbolica in un modo concreto e costruttivo.
Conoscere le basi dell’Intelligenza Artificiale simbolica (o "classica") e i concetti di agente e sistema multi-agente come rappresentanti del paradigma dell’Intelligenza Artificiale Distribuita. Imparare a progettare agenti intelligenti autonomi e a gestire le principali problematiche di implementazione.
Al termine del corso, lo studente/la studentessa sarà in grado di:
comprendere la nozione di agente, distinguendolo da altri paradigmi software (ad esempio, gli oggetti), e riconoscere le caratteristiche delle applicazioni adatte a soluzioni orientate agli agenti;
comprendere le principali problematiche nella costruzione di agenti capaci di azione autonoma intelligente e i principali approcci per svilupparli;
comprendere le problematiche chiave e gli approcci per la comunicazione ad alto livello nei sistemi multi-agente;
acquisire una buona padronanza dei linguaggi di programmazione per implementare agenti cognitivi basati su approcci simbolici e dichiarativi (Prolog);
comprendere i principali ambiti applicativi delle soluzioni basate su agenti.
Gli studenti interessati (e ritenuti idonei in base a un test iniziale) a seguire il corso in modalità innovativa e a migliorare le proprie soft skills acquisiranno inoltre competenze trasversali quali:
competenze personali, livello base
competenze sociali, livello base
progettazione creativa, livello avanzato
Lo studente/la studentessa deve conoscere le basi della Logica del Primo Ordine e della programmazione in Java.
Lezioni frontali e laboratori. Al termine del corso, ogni studente deve sviluppare un progetto individuale su un argomento scelto.
Per gli studenti coinvolti nelle attività didattiche innovative saranno utilizzate le seguenti modalità:
world café
progetto individuale creativo (la specifica del progetto è ideata dagli studenti e validata dai docenti)
Gli articoli scientifici all’avanguardia, le slide e il materiale didattico fornito durante il corso sono sufficienti per seguirlo.
Ricevimento: Su appuntamento: inviare un'email a viviana.mascardi@unige.it (specificate nel subject il vostro COGNOME e NOME e l'INSEGNAMENTO per il quale chiedete informazioni)
VIVIANA MASCARDI (Presidente)
FILIPPO RICCA
ARNAUD HENRI PAUL SANGNIER (Presidente Supplente)
In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica: https://corsi.unige.it/corsi/10852/studenti-orario
L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy
L’esame consisterà in una parte scritta (domande aperte tradizionali, esercizi), una parte pratica di laboratorio su Prolog (sviluppo di esercizi) e un progetto individuale (da completare in circa 7-10 giorni) i cui risultati dovranno essere presentati oralmente.
I docenti potranno integrare le parti sopra indicate con un esame orale.
Indicazioni per studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali sono disponibili a partire da https://corsi.unige.it/corsi/10852/studenti-disabilita-dsa
L’acquisizione delle competenze previste dal corso viene valutata attraverso l’esame scritto, il laboratorio e il progetto, progettati per permettere al docente di verificare se lo studente è effettivamente in grado di:
comprendere la nozione di agente, in cosa gli agenti si differenziano da altri paradigmi software (es. oggetti) e quali sono le caratteristiche delle applicazioni adatte a una soluzione orientata agli agenti (parte scritta);
comprendere le principali problematiche nella costruzione di agenti capaci di azione autonoma intelligente e gli approcci principali per svilupparli (parte scritta, progetto individuale);
comprendere le questioni chiave e gli approcci alla comunicazione ad alto livello nei sistemi multi-agente (parte scritta);
acquisire una buona padronanza dei linguaggi di programmazione per agenti cognitivi basati su approcci simbolici e dichiarativi (parte scritta, laboratorio, progetto individuale);
comprendere i principali ambiti di applicazione delle soluzioni basate su agenti (parte scritta, progetto individuale).
Per ulteriori informazioni, consultare il modulo Aulaweb dell'insegnamento o contattare i docenti.