Intelligenza Artificiale: programmi di utilità e
sorgenti OCaml di alcuni algoritmi di IA
I programmi disponibili su questa pagina sono tutti implementati in
Objective Caml.
Alcuni di essi (i primi di questa lista) sono
comunque utilizzabili come programmi di utilità .
In questa directory è
contenuto il programma di utilità truthtable, che
legge da un file una lista di formule proposizionali
e stampa su
un altro file (o su video)
la tavola di verità, la forma normale congiuntiva a e la forma
normale
disgiuntiva di ciascuna formula.
In questa directory è
contenuto il programma di utilità tableau, che legge da
file un
insieme S
di formule proposizionali
e stampa su file o su video una rappresentazione
linare di un tableau completo per S.
In questa directory è
contenuto il programma di utilità models, che legge da
file la specifica di un'interpretazione su un dominio finito e una
formula e mostra (su file o su video) i passaggi per verificare se la
formula è vera o falsa nell'interpretazione data.
In questa directory è
contenuto un piccolo interprete Prolog, senza effetti collaterali e
senza predicati predefiniti. Il programma viene letto da file,
l'esecuzione è interattiva.
In questa directory è
contenuto un programma che implementa il metodo di
risoluzione. Un problema di conseguenza logica viene letto da file e
trasformato in forma a clausole. Per la costruzione della
dimostrazione, il programma prevede una modalità interattiva, in
cui l'utente seleziona le clausole da risolvere, e una modalità
automatica. In quest'ultima è possibile selezionare diverse
strategie di risoluzione.
Sorgenti Ocaml:
-
Apprendimento di alberi di
decisione
- prop.ml:
contiene
la
dichiarazione di un tipo di dati per rappresentare formule
proposizionali e la definizione di funzioni per operare su di esse,
tra cui:
- Trasformazione in forma normale negativa e congiuntiva.
- Controllo della verità di una formula in un'interpretazione.
- Generazione della tavola di verità di una formula.
- Controllo di validità e ricerca di un modello con il metodo
dei tableaux.
-
fol.ml:
contiene la
dichiarazione di un tipo di dati per rappresentare formule
della logica dei predicati e la definizione di funzioni per operare su di esse,
tra cui:
- Sostituzione di variabili libere con termini.
- Trasformazione in forma normale prenessa e forma normale di Skolem.
- Rappresentazione di interpretazioni su un dominio finito e
controllo della verità di formule chiuse in tali
interpretazioni.
- Rappresentazione di sostituzioni, applicazione e composizione di
sostituzioni, unificazione.
-
convert: è
un programma di utilità, che
legge da un file una lista di formule (della logica proposizionale o
dei predicati), scritte in una sintassi vicina
a quella abituale, e scrive su
un altro file (o su video)
la rappresentazione interna di tali formule.