SCHEDA DELL'INSEGNAMENTO (SI)
SSD ING-INF/05
LAUREA TRIENNALE IN INGEGNERIA INFORMATICA
ANNO ACCADEMICO: 2022-2023
INFORMAZIONI GENERALI - DOCENTE
Docente:
Telefono:
Email:
INFORMAZIONI GENERALI - ATTIVITÀ
INSEGNAMENTO INTEGRATO (EVENTUALE):
MODULO (EVENTUALE):
CANALE (EVENTUALE):
ANNO DI CORSO (I, II, III): III
SEMESTRE (I, II): II
CFU: 6
(se previsti dall'Ordinamento del CdS)
...................................................................................................................................................
EVENTUALI PREREQUISITI
...................................................................................................................................................
OBIETTIVI FORMATIVI
Il corso ha l’obiettivo di fornire le metodologie e le tecniche di base per comprendere ed affrontare le problematiche proprie dell'Intelligenza Artificiale.
Gli studenti acquisiranno i fondamenti teorici relativi agli agenti intelligenti, la loro interazione con l’ambiente circostante; la risoluzione di problemi, le strategie di ricerca e la ricerca con avversari. Si apprenderanno i metodi e le tecniche di teoria dei giochi, le decisioni ottime, imperfette in tempo reale, i giochi che includono elementi casuali e lo stato dell'arte dei programmi di gioco.
Gli studenti acquisiranno i concetti fondamentali della logica del primo ordine, l'inferenza e la deduzione; padroneggeranno i metodi e le tecniche di programmazione logica e del linguaggio del paradigma logico ProLog; la conoscenza incerta e il ragionamento per stabilire come agire in condizioni di incertezza. Saranno introdotti ai concetti alla base del ragionamento probabilistico e dell’apprendimento automatico.
(Descrittori di Dublino)
Conoscenza e capacità di comprensione
Il corso intende fornire agli studenti le conoscenze necessarie per comprendere e analizzare soluzioni di problemi basati su tecniche di Intelligenza Artificiale.
Saranno forniti gli strumenti per padroneggiare sia la teoria che le metodologie per la risoluzione di problemi e le strategie di ricerca di soluzioni, nonché elementi di programmazione logica. Saranno introdotte le conoscenze che sono alla base del ragionamento probabilistico e dell’apprendimento automatico.
Capacità di applicare conoscenza e comprensione
Il corso è orientato a trasmettere le capacità e gli strumenti metodologici e operativi necessari ad applicare le conoscenze di tecniche di Intelligenza Artificiale, nonché a favorire la capacità di utilizzare gli strumenti metodologici acquisiti per la realizzazione di soluzioni basate su tecniche di Intelligenza Artificiale. Le tecniche e i modelli proposti saranno applicati durante il corso a domini specialistici.
PROGRAMMA-SYLLABUS
Parte I: Introduzione all’Intelligenza Artificiale
Agenti intelligenti: Agenti ed ambienti, il concetto di razionalità, la natura degli ambienti, la struttura degli agenti
Parte II: Risoluzione di problemi
Risolvere i problemi con la ricerca: Agenti risolutori di problemi, Problemi esemplificativi, Cercare soluzioni, Strategie di ricerca non informata, Ricerca in ampiezza, Ricerca a costo uniforme, Ricerca in profondità, Ricerca a profondità limitata
Ricerca ad approfondimento iterativo, Ricerca bidirezionale, Confronto tra le strategie di ricerca non informata, Evitare ripetizioni negli stati, Ricerca con informazione parziale.
Ricerca informata: Strategie di ricerca informata o euristica, Ricerca Best-first greedy o "golosa", Ricerca A*, Ricerca euristica con memoria limitata, Algoritmi di ricerca locale e problemi di ottimizzazione, Ricerca hill-climbing, Simulated annealing, Ricerca local-beam, Algoritmi genetici.
Ricerca con avversari: Giochi, Decisioni ottime nei giochi, L'algoritmo minimax, Potatura alfa-beta, Decisioni imperfette in tempo reale, Giochi che includono elementi casuali, Lo stato dell'arte dei programmi di gioco.
Parte III: Conoscenza e ragionamento
Agenti logici: Agenti basati sulla conoscenza, Il mondo del wumpus, Logica, Calcolo proposizionale, Schemi di ragionamenti nel calcolo proposizionale, Concatenazione in avanti e all'indietro.
Logica del primo ordine: Sintassi e semantica della logica del primo ordine, Usare la logica del primo ordine.
L' inferenza nella logica del primo ordine: Inferenza proposizionale e inferenza del primo ordine, Unificazione
Concatenazione in avanti, Concatenazione all'indietro, Programmazione Logica, Prolog, Liste in Prolog, Operatori extra-logici: not, cut, fail
Parte IV: Conoscenza incerta e ragionamento
Incertezza: Agire in condizioni di incertezza, Notazione base della teoria della probabilità, Inferenza basata su distribuzioni congiunte complete, Indipendenza, La regola di Bayes ed il suo utilizzo.
Ragionamento probabilistico: Rappresentazione della conoscenza in un dominio incerto, Semantica delle reti bayesiane
Rappresentazione efficiente delle distribuzioni condizionate.
Parte V: Apprendimento
Apprendimento dalle osservazioni: Forme di apprendimento. Apprendimento induttivo.
Reti Neurali: Definizione di rete neurale, Training e Learning, Modalità di addestramento, Leggi di apprendimento.
Il percettrone di Rosenblatt, Il percettrone multilivello, Il teorema di Kolmogorov, Rete Learning Vector Quantization (LVQ)
Mappe Auto Organizzanti di Kohonen (SOM).
MATERIALE DIDATTICO
Libri di testo consigliati:
S.J.Russell, P. Norvig, Intelligenza artificiale. Un approccio moderno, volumi 1 (3/ed, 2010) e 2 (2/ed, 2005), Pearson Education Italia.
Altro materiale didattico:
Materiale prodotto e fornito dai Docenti
MODALITÀ DI SVOLGIMENTO DELL'INSEGNAMENTO
L’insegnamento si svolgerà con lezioni frontali (70% delle ore totali) ed esercitazioni di laboratorio (30% delle ore totali).
VERIFICA DI APPRENDIMENTO E CRITERI DI VALUTAZIONE
a) Modalità di esame:
L'esame si articola in prova: | |
Scritta e orale | |
Solo scritta o intercorso a metà | |
Solo orale | |
Discussione di elaborato progettuale | |
Altro (prova al calcolatore) |
In caso di prova scritta i quesiti sono (*): | |
A risposta multipla | |
A risposta libera | |
Esercizi numerici |