Dipartimento di Ingegneria - Università di Ferrara

Corso di Intelligenza Artificiale


Guida al Laboratorio


Software per l'Intelligenza Artficiale disponibile sulle macchine del laboratorio di informatica sotto Linux:


SWIProlog: compilatore prolog, comando: pl
aiuto: man pl e /export/ai/Tutorials/swi-prolog-refman.pdf

YAP: compilatore prolog, comando: yap
aiuto: /export/ai/Tutorials/yap.pdf

FOIL: sistema di programmazione logica induttiva, comando: foil6
aiuto: /export/ai/Tutorials/foil.txt

c4.5: sistema di apprendimento automatico, comando: c4.5
aiuto: man c4.5

weka: suite di strumenti di data mining, comando: weka o icona sul desktop
aiuto: /export/ai/Tutorials/weka.pdf

ALEPH: sistema di programmazione logica induttiva, per eseguirlo copiare
il file aleph.pl dalla directory /export/ia nella propria home, lanciare
YAP o SWIProlog e caricare aleph.pl (con il comando ?-[aleph].)
aiuto: /export/ai/Tutorials/aleph_toc.html


Esercizi Proposti


I seguenti esercizi sono stati risolti utilizzando il sistema SICStus Prolog.

  1. 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

  2. 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)
    Descrizione
    Soluzione

  3. Esercizio di crittoaritmetica
    Descrizione
    Soluzione

  4. Meta-interprete per sistemi esperti, con strategia forward e backtracking (con e senza spiegazioni delle risposte).

    Descrizione
    Soluzione

  5. Meta-interprete per la scomposizione in sottoproblemi (con e senza visualizzazione dell'albero and/or)
    Descrizione
    Soluzione

  6. Implementazione di setof senza impiegare setof, bagof, findall.
    Soluzione

  7. Gioco del tris con strategia minmax
    Soluzione

  8. Gioco del tris con tagli alfabeta
    Soluzione