Obiettivi
-
Presentare i concetti principali e i metodi che stanno alla base della progettazione di sistemi di Intelligenza Artificiale (con particolare riferimento a sistemi basati sulla conoscenza e alla logica):
- Metodi per la soluzione di problemi
- Rappresentazione della conoscenza
-
Introdurre il linguaggio Prolog come linguaggio e motore di inferenza basato sulla logica.
-
È possibile affiancare un Laboratorio da 4 Crediti concordato con il docente.
(nel successivo corso di Sistemi Intelligenti - a scelta - si approfondiranno le applicazioni di Intelligenza Artificiale al “mondo reale”, con particolare enfasi su Planning, Apprendimento, Ottimizzazione, sistemi ad agenti/robotici autonomi).
Programma
-
Introduzione all'Intelligenza Artificiale
- Un po’ di storia
- I principali campi applicativi
- I sistemi basati sulla conoscenza e i loro
principi architetturali
-
Risoluzione di problemi
- Spazio degli stati
- Metodi di soluzione Forward e backward
- Strategie di ricerca (non informate ed euristiche)
- Propagazione di vincoli
- Giochi
- Planning lineare e STRIPS
-
Metodi per la rappresentazione della conoscenza
- Logica dei predicati del primo ordine
- Regole di produzione (e sistemi di produzioni)
- Ontologie e Sematic Web (Cenni)
-
Linguaggi per Intelligenza Artificiale: PROLOG
- L'evoluzione dei linguaggi di programmazione
- Dalla logica alla programmazione logica
- Il linguaggio PROLOG come risolutore
- Programmare in PROLOG
- Sviluppo di sistemi di
Intelligenza Artificiale in Prolog