Anno accademico 2021-2022

INTELLIGENZA ARTIFICIALE

Docenti

Carlo Tasso
Giuseppe Serra
Totale crediti
6
Periodo didattico
Secondo Periodo
Tipologia
Affine/Integrativa
Prerequisiti. Conoscenza delle tecniche e dei linguaggi di programmazione tradizionali (imperativi e orientati agli oggetti), conoscenza delle metodologie del software engineering; conoscenza della tecnologia dei data base.
Metodi didattici. Lezioni, esercitazioni e laboratorio.
Modalità di verifica. Esame scritto che include 3 parti: 1. Gruppo di domande 2. Un esercizio sulla rappresentazione della conoscenza nei testi in linguaggio naturale; 3. Esercizio di machine learning.
Obiettivi formativi
Gli obiettivi del corso sono principalmente introduttivi, concettuali e culturali:

– Conoscere i concetti e i principi fondamentali dell’Intelligenza Artificiale (IA) e di alcuni dei suoi maggiori settori, quali i sistemi basati sulla conoscenza, le tecniche di rappresentazione della conoscenza e di ragionamento, l’elaborazione del linguaggio naturale, il problem solving e l’apprendimento automatico

– Capire che l’IA è una disciplina ingegneristica, volta a sviluppare sistemi software in grado di svolgere compiti cognitivi avanzati,

– Capire relazioni e differenze tra gli approcci tradizionali dell’informatica e l’approccio IA,

– Conoscere le principali caratteristiche dei due approcci all’IA: simbolico e subsimbolico,

– Conoscere alcune delle principali aree applicative dell’IA,

– Saper programmare semplici moduli di Machine Learning.

CAPACITA’ RELATIVE ALLE DISCIPLINE

Lo studente dovrà:

1. Conoscenza e capacità di comprensione:

acquisire specifiche conoscenze dei principali concetti e principi dell’IA. Conoscere e sapere utilizzare le tecniche base per la rappresentazione della conoscenza e dell’apprendimento automatico, anche mediante specifiche esercitazioni laboratoriali;

2. Capacità di applicare conoscenza e comprensione:

sapere come analizzare e rappresentare conoscenza specifica di un dominio, come rappresentare il significato di semplici testi in linguaggio naturale e saper risolvere semplici problemi di machine learning e saper applicare le conoscenza di cui sopra in specifici contesti applicativi.

CAPACITA’ TRASVERSALI / SOFT SKILLS

Lo studente dovrà:

1. Autonomia di giudizio:

saper valutare indipendentemente le caratteristiche di un’applicazione informatica ed essere in grado di capire se si tratta di un dominio adatto all’IA o alle tecniche tradizionali.

2. Abilità comunicative:

saper illustrare con rigore logico e terminologico, a voce e per iscritto, lo scenario generale e le modalità di funzionamento di un sistema software basato su tecniche di IA.

3. Capacità di apprendimento:

essere in grado di apprendere le nozioni base dell’IA, al fine poi eventualmente di raffinare e di approfondire specifici settori della disciplina.

Contenuti
Il Corso ha lo scopo di introdurre i concetti e i principi fondamentali dell’Intelligenza Artificiale (IA) e di alcuni dei suoi maggiori settori, quali i sistemi basati sulla conoscenza, le tecniche di rappresentazione della conoscenza e di ragionamento, l’elaborazione del linguaggio naturale, il problem solving e il Machine Learning. Inoltre specifiche esercitazioni pratiche in Laboratorio saranno dedicate alle tecniche di Machine Learning (Apprendimento Automatico).

Gli argomenti trattati sono i seguenti: nozioni di base e definizione di conoscenza, intelligenza, intelligenza artificiale; tecniche base ed alcuni argomenti più avanzati relativi alla rappresentazione della conoscenza; problem solving; sistemi multiagente; tecniche di modellizzazione concettuale, ontologie e modelli del ragionamento diagnostico; elaborazione del linguaggio naturale; apprendimento automatico con introduzioni alle principali tecniche supervisionate e non supervisionete, incluse: regole associative, induzione di alberi di decisione, regressione lineare, regressione logistica, SVM, Clustering, Reti Neurali, Multi-Layer Perceptron, Reti Profonde e Apprendimento per Rinforzo.

Sono previste anche lezioni in laboratorio per lo svolgimewnto di esercitazioni in Python sul Machine Learning, riguardanti in particolare: Regression, Classification, Clustering, Neural Networks e Deep Learning.

Testi di riferimento
Articoli, report, presentazioni, capitoli di libri, paper scientifici, ecc. disponibili sul portale di E-Learning.