Durante il corso:
Oltre agli esercizi che verranno proposti durante le lezioni, verranno organizzate alcune esercitazioni sugli argomenti:
- Analisi e design di un prototipo per le strategie di ricerca: Martedì 23 Maggio 2006, 14.30--16.30 (A-K), 16.30--18.30 (L-Z). Materiale disponibile:
- Slides dell'esercitazione.
- Soluzione di Missionari/Cannibali e U2 proposta dall'Ing. Federico Chesani.
- Libreria aima (dal sito ) jdk1.4 -- jdk1.5
- Uso di SICStus Prolog per la soluzioni di alcuni compiti base. Martedì 6 Giugno 2006, 14.30-16.30. Materiale disponibile:
- Slides dell'esercitazione.
- Alcuni esercizi:
- Sperimentazione del sistema Prolog. A partire da alcuni fatti del tipo padre(X,Y) e madre(X,Y), si mostri come ottenere le relazioni nonno/a(X,Y), bisnonno/a(X,Y), nipote(X,Y), pronipote(X,Y). Soluzione proposta.
- Si propone di scrivere relazioni sulle liste per determinare -
lunghezza (ricorsivamente ed iterativamente)
- numero di atomi
- appartenenza alla lista o ad un suo elemento (se lista)
- concatenzaione
- inversione (ricorsivamente ed iterativamente) - Esercizio di crittoaritmetica.
- Implementazione di setof senza impiegare setof, bagof, findall.
- Gioco del tris con strategia minmax.
- Gioco del tris con tagli alfabeta.
- Ontologie e l'editor di ontologie Protégé. Martedì 13 Giugno 2006, ore 15.00- 17.00 Material disponibile:
Attenzione! Missionari e Cannibali, se esplorato con strategia depth-first, va in loop infinito... come primi tentavi provare con breadth first e con A*...
Per l'esame:
Alla prova orale è possibile portare un'esercitazione pratica su un argomento del corso, previo accordo con il docente. 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
- Realizzazioni di estensioni del linguaggio Prolog per la rappresentazione della conoscenza (ambienti a oggetti, a frames, sistemi di produzione ecc.)