Anno di corso: 1

Anno di corso: 2

Crediti: 6
Crediti: 12
Tipo: A scelta dello studente
Crediti: 33
Tipo: Lingua/Prova Finale

INTELLIGENZA ARTIFICIALE

Scheda dell'insegnamento

Anno accademico di regolamento: 
2017/2018
Anno di corso: 
2
Anno accademico di erogazione: 
2018/2019
Tipo di attività: 
Obbligatorio a scelta
Lingua: 
Italiano
Crediti: 
6
Ciclo: 
Primo Semestre
Ore di attivita' didattica: 
50
Prerequisiti: 

Conoscenze logico-matematiche di base.

Moduli

Metodi di valutazione

Tipo di esame: 
Orale
Modalita' di verifica dell'apprendimento: 

La modalità di verifica del profitto consiste nella discussione di un progetto d'esame mediante colloquio orale, volto anche a valutare la conoscenza dello studente delle principali tematiche affrontate nel corso. L'esame si svolge pertanto in un unica prova e non prevede alcuna prova intermedia.

Tipo d'esame: esame finale (nessun prova intermedia)
Prova scritta: progetto d'esame, secondo una delle modalità sotto riportate:
APPROFONDIMENTO SU ARTICOLI SCIENTIFICI (esposizione di argomenti non trattati a lezione)
PROJECT WORK (Sviluppo di un progetto originale a partire da una semplice idea o dall’analisi di un caso esistente)
il progetto d'esame dovrà essere documentato attraverso una presentazione sintetica (PROJECT WORK). Nel caso in cui la modalità scelta sia APPROFONDIMENTO SU ARTICOLI SCIENTIFICI, lo studente dovrà in aggiunta presentare un elaborato scritto sotto forma di articolo scientifico che discuta analiticamente gli articoli studiati, le relazioni reciproche, e le conclusioni tratte dall'analisi dello studio effettuato.
Prova orale: COLLOQUIO DI DISCUSSIONE SULLO SCRITTO e SUGLI ARGOMENTI SVOLTI A LEZIONE
Valutazione: la valutazione, espressa da un unico voto finale, tiene in considerazione la qualità del progetto d'esame e il colloquio orale, entrambi valutati sulla base dell'aggregazione dei seguenti criteri:
autonomia, rigore metodologico, innovatività (se applicabile), chiarezza, capacità di sintesi, proprietà di linguaggio, puntualità nella risposta (colloquio orale).
Ulteriori dettagli

La verifica dell'apprendimento verrà effettuata prevalentemente mediante la discussione di un progetto o di uno specifico approfondimento. Il progetto potrà consistere in: progettazione e/o sviluppo software mediante modelli computazionali discussi durante il corso; approfondimento di un particolare problema discusso nel corso con analisi critica dello stato dell'arte; progettazione e/o realizzazione di sperimenti per la valutazione di modelli computazionali e tecnologie proposti nel corso. Il progetto potrà essere individuale o realizzato in gruppi.

Valutazione: 
Voto Finale

Obiettivi formativi

L’obiettivo del corso è quello di mettere in grado lo studente di padroneggiare conoscenze e strumenti di base necessari per affrontare la comprensione, l’utilizzo e la creazione di sistemi di Intelligenza Artificiale, insieme alle capacità di analizzare classi di problemi particolarmente adatti ad essere trattati con metodi e tecniche caratterizzanti della disciplina. La natura insieme applicativa ed esplorativa dell’Intelligenza Artificiale inviterà lo studente ad affrontare problematiche di discriminazione tra fruibilità di soluzioni attuali e direzioni innovative promettenti della ricerca in questo settore. Verranno forniti strumenti concettuali, computazionali e metodologici di base per comprendere e sviluppare soluzioni innovative a problemi di automazione mediante tecniche avanzate di Intelligenza Artificiale. Il corso si rivolge studenti che ambiscano a inserirsi in ambienti lavorativi e di ricerca in cui prevalgano scelte innovative per la soluzione di problemi complessi e ambiti a forte valenza multidisciplinare.

Contenuti

Il corso tratterà due aspetti fondamentali dell’Intelligenza Artificiale moderna di particolare rilevanza nel quadro tecnologico contemporaneo: elaborazione simbolica della conoscenza e intelligenza collettiva. Per ambedue gli ambiti saranno selezionati dall’area dell’Intelligenza Artificiale modelli computazionali e concettuali di particolare impatto innovativo, puntando alla trasmissione di scenari tecnologici presenti e futuri adatti al disegno di soluzioni per problemi complessi e caratterizzanti delle nuove generazioni di sistemi informatici avanzati. Nello specifico, il corso sarà composto da due parti principali.

Nella prima parte del corso ci si occuperà del paradigma ad agenti, dell’intelligenza artificiale collettiva e di sistemi Multi-agent, dove il comportamento intelligente sia ottenuto tramite l'azione e l'interazione di agenti intelligenti autonomi. Applicazioni di esempio di questo paradigma saranno discusse in relazione al contesto della simulazione di sistemi complessi e auto-organizzanti con l’illustrazione di esempi applicativi su smart-cities, crowd-management e cyberphysical systems. Il corso prevede la discussione di progetti, applicazioni reali, e casi di studio paradigmatici, oltre favorire una visione multidisciplinare delle problematiche affrontate. La seconda parte del corso tratterà di intelligenza come capacità di integrare informazioni e di inferire nuove conoscenze mediante l’integrazione di informazioni e motori semantici; in questa parte del corso si studieranno modelli per la rappresentazione e l’elaborazione semantica della conoscenza su vasta scala, con particolare riferimento al Web, e a modelli formali e tecnologici innovativi entrati ormai a far parte delle tecnologie ICT più avanzate presenti sul mercato (si pensi a sistemi come IBM Watson, al Google Knowledge Graph, a portali quali quelli della BBC o del New York Times). Particolare enfasi verrà data alle tecniche di Machine Learning applicate al Semantic Web.

Programma esteso

1. Introduzione storica ed epistemologica all’Intelligenza Artificiale.

2. Caratteristiche concettuali, metodologiche e computazionali dell’IA: reazione, cognizione, decisione.

3. Le due anime del trend attuale per l'IA: Data Science, Cyberphysical Systems, “and back”.

4. Modelli di rappresentazione della conoscenza e dell’apprendimento automatico: interpretazione, ragionamento, previsione, controllo.

5. Agenti autonomi: definizione, classificazione, comportamento, modelli di agenti con riflessi semplici, con memoria, basati su obiettivi, basati sull'utilità.

6. Modelli e meccanismi di interazione nei multi-agent systems (MAS).

7. Collective Artificial Intelligence, Network Science e Complex Systems; modellazione, simulazione, analisi di comportamenti auto-organizzanti

8. Modelli dichiarativi per la rappresentazione della conoscenza sul Web e ragionamento automatico (grafi di conoscenza, data linking e ontologie, Ontology Web Language, Semantic Web Rule Language, inferenze nel web semantico).

9. Estrazione di informazioni da testi ed esplorazione di conoscenza mediante i grafi di conoscenza (entity linking, social media analysis).

10. Novi modelli per la rappresentazione della conoscenza basati su apprendimento automatico (semantica distribuzionale, knowledge graph embeddings)

Bibliografia consigliata

S.J. Russell, P. Norvig, “Intelligenza Artificiale: un approccio moderno“, 2a edizione, Pearson - Prentice Hall, 2005 (volume 1)

J. Ferber, Multi-agent systems: An introduction to distributed artificial intelligence, Addison-Wesley Professional, 1999: sintesi a dispense disponibile sull’e.learning del Corso.

Tommaso Di Noia, Roberto De Virgilio, Eugenio Di Sciascio, Francesco M. Donin. Semantic Web. Tra ontologie e Open Data. 1° ed. (Apogeo, 2013), pp. 240

Libri consigliati:

C. Cornoldi, L'intelligenza, Il Mulino Ed., 2009. Cesare Cornoldi. Formicai, imperi, cervelli: introduzione alla scienza della Complessità (Il Mulino, 2007), pp. 235.

Grigoris Antoniou, Paul Groth, Frank van Harmelen, Rinke Hoekstra. A Semantic Web Primer (Information Systems) third edition. The MIT Press; third edition edition (August 24, 2012), pp. 288.

Metodi didattici

Il corso prevede lezioni frontali, esercitazioni, discussione di casi d'uso e utilizzo della piattaforma Moodle, dove verrà pubblicato materiale didattico fornito dai docenti.