Corso di Intelligenza Artificiale
Esercitazioni
Lista di Argomenti
Alla prova orale è possibile portare un'esercitazione
pratica su un argomento del corso. Una lista (non esaustiva) di argomenti
che possono essere oggetto di approfondimento e di sperimentazione
è la seguente:
- Risoluzione di giochi
- Modellazione e risoluzione di Problemi di Soddisfacimento di
Vincoli in linguaggio Prolog o in CLP
- Risoluzione di problemi come ricerca nello spazio degli stati
- Progettazione e realizzazione di sistemi esperti
- Progettazione e realizzazione di pianificatori
- Realizzazioni di estensioni del linguaggio Prolog per la
rappresentazione della conoscenza (ambienti a oggetti, a frames,
sistemi di produzione ecc.)
Suggerimenti per tesine in collaborazione con altri corsi
Gli studenti sono incoraggiati a proporre anche tesine o esercitazioni
interdisciplinari che coinvolgano altri Corsi di Informatica dell'ultimo anno.
A titolo esemplificativo si riportano nel seguito alcuni spunti per possibili temi.
Gli studenti interessati possono contattare i docenti coinvolti per concordare
più dettagliatamente l'argomento.
Linguaggi e Traduttori - Intelligenza Artificiale
Sviluppo di (parte di) un interprete o compilatore Prolog
(anche semplificato) modificato o arricchito con strategie e tecniche tipiche
dell'intelligenza artificiale. Ad esempio:
- ricerca in ampiezza
- strategie euristiche
- sessione di spiegazione
- query the user
Reti di calcolatori - Intelligenza Artificiale
Utilizzo di interpreti e compilatori Prolog arricchiti con primitive
per la comunicazione (Linda-like) per la realizzazione di regole di
produzioni con memoria di lavoro condivisa (Blackboards).
Sviluppo di sistemi multi-agente basati sulla logica.
Sviluppo di sistemi "intelligenti" basati sulla conoscenza per l'ausilio
alla gestione di sistemi distribuiti.
Ad esempio, soluzione di problemi di:
- allocazione
- routing
- monitoring
- filtro dell'informazione.
Ingegneria del Software - Intelligenza Artificiale
- Valutazione di Linguaggi Logici e Prolog in particolare come linguaggi
di specifica (estensioni necessarie per trattare tempo e vincoli temporali).
- Sviluppo di un motore di inferenza forward (in Java o linguaggio visuale)
che esegua inferenze a partire da un database relazionale ogni qual volta si
modifica qualche valore (valori attivi o triggers).
- Sviluppo di un'interfaccia utente per la scrittura di regole interpretabili
dal precedente sistema.
- Valutazione critica dei meccanismi di ereditarietà presenti nei linguaggi
ad oggetti e loro integrazione con sistemi ad ereditarietà tipici dei metodi
di
rappresentazione della conoscenza (frames).
- Studio e applicazione della parte "meta" di Java.
- Applicazione di algoritmi di apprendimento a basi di dati.
Sistemi di Elaborazione (modulo elaborazione di immagini) -
Intelligenza Artificiale
-
Utilizzo di algoritmi di apprendimento (reti neurali) per la classificazione di
immagini e la selezione di caratteristiche.
- Formalizzazione mediante regole di problematiche di individuazione
e riconoscimento di forme.
- Modellazione di un problema di visione mediante soddisfacimento di vincoli.
Sistemi Informativi II - Intelligenza Artificiale
- Tecniche di retrieval/similarità/matching per oggetti MM
- Tecniche di data mining
- Modelli per user profiling
- Tecniche di inferenza per dati spazio-temporali