Vinaora Nivo Slider 3.x

Elementi di Intelligenza Artificiale

SSD: ING-INF/05
CFU: 6

Insegnamenti propedeutici (se previsti dall'Ordinamento del CdS)

Nessuno

Eventuali prerequisiti

Nessuno

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.

Risultati di apprendimento attesi

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

Si veda sito web del docente della materia.

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

Modalità di esame

L'esame si articola in prova scritta e orale e discussione di elaborato progettuale. In caso di prova scritta i quesiti sono: a risposta libera.

L'elaborato progettuale sarà proposto al centro del corso. 

 

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.