- Cos'è Prolog Lab
- Configurazione di Netscape
- Caricare e uscire dal Prolog
- Interrogare il Prolog
- Editing e Consult
- Come ottenere un Prolog di pubblico dominio
- Gli autori
- Bibliografia
Prolog Lab è uno strumento costituito da pagine HTML e da script CGI che permette
di utilizzare il Prolog sul server remoto tramite un browser che utilizza "forms" e "frames".
È sufficiente avviare il Prolog con il pulsante Start per avere accesso
a una sessione interattiva.
Una volta avviato il Prolog è possibile introdurre un programma (fatti e regole)
nella finestra del frame di sinistra (finestra di consult) e farlo leggere al Prolog per mezzo del pulsante Consult.
A questo punto possiamo porre domande su fatti e relazioni per mezzo della finestra Goal.
Sono anche disponibili alcuni semplici esempi di programmi Prolog che possono essere copiati
nella finestra di consult per mezzo del pulsante Load_example.
È inoltre possibile salvare il contenuto della finestra di consult in un file temporaneo
(Savetmp e Loadtmp) o
farsene una copia in un proprio file locale (Saveloc).
Quando si è terminata la sessione di Prolog Lab è bene uscire dal Prolog con
il pulsante Quit. A questo punto tutti i file temporanei verranno cancellati. Quindi,
se si vuole salvare il proprio lavoro, è bene usare il pulsante Saveloc
prima di uscire dal Prolog.
Indice
Prolog Lab è stato testato con Netscape 3 e 4, ma dovrebbe
funzionare anche con versioni precedenti di Netscape, purché
supportino Javascript.
Se si verifica qualche problema con l'uso di Prolog Lab, è
opportuno come prima cosa controllare la configurazione di Netscape.
Netscape 4
Nel menu "Edit"-"Preferences..."-"Advanced" l'opzione
"Enable Javascript" deve essere selezionata.
Nel menu "Edit"-"Preferences..."-"Advanced"-"Cache" l'opzione
"Document in cache is compared to document on network:"
deve essere "Once per Session", oppure "Every Time".
Nel menu "Edit"-"Preferences..."-"Advanced"-"Proxies" deve essere selezionato
"Direct connection to the Internet".
Durante l'esecuzione dei test i "cookies" debbono essere abilitati.
Quindi nel menu
"Edit"-"Preferences..."-"Advanced" l'opzione "Cookies" va settata a
"Accept all cookies", oppure "Accept only cookies that get sent back to the originating server".
Infine, per poter utilizzare la mail di Netscape, devono essere
opportunamente configurate le voci del menu "Edit"-"Preferences..."-"Mail & Groups",
in particolare le voci "Identity" e "Mail Server".
Netscape 3
Nel menu "Options"-"Network Preferences"-"Cache" l'opzione "Verify Documents"
deve essere "Once per Session", oppure "Every Time".
Nel menu "Options"-"Network Preferences"-"Proxies" deve essere selezionato "No
Proxies".
Durante l'esecuzione dei test sarebbe opportuno che l'opzione "Show an
alert before accepting a cookie" nel menu "Options"-"Network
Preferences"-"Protocols" fosse disattivata.
Infine, per poter utilizzare la mail di Netscape, devono essere
opportunamente configurate le voci del menu "Options"-"Mail and News
Preferences", in particolare l'opzione "Servers"-"Outgoing Mail (SMTP)
Server" e "Identity"-"Your Email".
Indice
Sono disponibili i pulsanti:
- Start
- Viene caricato l'interprete Prolog. È la prima
operazione da fare.
- Quit
- Termina il Prolog. Da usare quando si vuole smettere di
lavorare. Cancella tutti i file di lavoro, compresa l'area di lavoro
temporanea.
- Reset
- Da usare quando non si riesce più a comunicare con
l'interprete Prolog. Questo può avvenire quando il
trasferimento dei dati viene interrotto con il bottone "Stop" del browser
o in altre situazioni.
- Kill
- Elimina forzatamente l'interprete Prolog. Vengono
cancellati i file di lavoro. Da usare solo se il pulsante Quit non
funziona più.
Indice
Si puo interrogare il Prolog scrivendo un "goal" nell'area
Goal.
Il grado di interattività è più limitato di quello fornito
direttamente dall'interprete Prolog.
Si può richiedere solo la prima risposta oppure tutte,
selezionando uno dei bottoni first only - all.
Indice
Per scrivere programmi (predicati) e consultarli:
- Si può scrivere un testo nell'area di lavoro della finestra di
consult (finestra grande nel frame di sinistra).
Il testo scritto in questa area viene caricato nel
data base del Prolog con il pulsante Consult.
- È possibile salvare il testo scritto in una area di lavoro temporanea
usando il pulsante Savetmp.
- L'area di lavoro precedentemente salvata può essere ricaricata
mediante il pulsante Loadtmp.
- Si può salvare l'area di lavoro sulla propra macchina usando
il pulsante Saveloc. Il browser provvederà a salvare il testo
su un file (di cui dovrete fornire nome ed eventuale path).
- Potete caricare un testo nella finestra di consult prendendolo da uno degli
esempi disponibili
nella finestra a cascata a sinistra del pulsante Load_example.
Gli esempi sono raggruppati in capitoli e la finestra a cascata
più a sinistra va usata per selezionare il capitolo.
Il pulsante Load_example vi permette di trasferire nella finestra
di consult l'esempio selezionato.
Quando l'esempio è nella finestra di consult potete modificarlo, consultarlo,
salvarlo come un qualsiasi testo scritto direttamente.
- È possibile caricare nella finestra di consult
un predicato, precedentemente definito con una operazione di consult,
scrivendone il nome nella finestra Edit_Pred.
Il testo che si ottiene in questo modo è un "listing" del
predicato. Fate attenzione al fatto che i nomi delle variabili possono
essere cambiati rispetto ai nomi originali da voi introdotti.
Indice
Sono disponibili varie implementazioni del Prolog, sia commerciali che
di pubblico dominio (free e shareware).
In questa applicazione è stato utilizzato l'SWI-Prolog realizzato da
Jan Wielemaker del Dep. of Social Science Informatics
dell'Università di Amsterdam.
Questo Prolog è disponibile per Windows 3.1, Unix e altri sistemi, nel sito
ftp
swi.psy.uva.nl/pub/SWI-Prolog,
dove sono disponibili il manuale e le istruzioni per l'istallazione.
Per altre implementazioni disponibili e per informazioni
di vario genere sul Prolog potete consultare
Carnegie Mellon University's Artificial Intelligence Repository
alla voce Prolog.
Indice
Prolog Lab è stato realizzato da
Dario Bianchi (Bianchi@CE.Unipr.It)
ed Eduardo Calabrese (Educal@CE.Unipr.It)
del Dipartimento di Ingegneria dell'Informazione dell'Università di Parma.
Nella realizzazione del prodotto sono stati utilizzati i linguaggi
Prolog, Perl e Javascript.
Osservazioni, commenti, suggerimenti sono graditi.
Indice
Alcuni titoli in italiano:
- Giovanni Adorni, Salvatore Gaglio, Lina Massone,
"Manuale di intelligenza artificiale", NIS La Nuova Italia Scientifica, Roma, 1987.
- W.F. Clocksin e C.S. Mellish,"Programmare in Prolog", Franco Angeli,
1990.
- Ivan Bratko,"Programmare in Prolog per l'intelligenza artificiale",
Masson.
Altri testi utili in lingua inglese:
- Leonh Sterling and Ehud Shapiro, "The Art of Prolog,
Advanced Programming Techniques", MIT Press, 1986.
- Yoav Shoham,"Artificial Intelligence Techniques in Prolog",
Morgan Kaufman Publishers, 1993.
Indice