Limbajul PROLOG.
Lansare mediu PROLOG
Pentru dezvoltarea programelor, vom folosi implementarea SWIPROLOG.
Lansarea acestuia se face apăsând butonul Start si efectuând
selectiile Programs -> SWI Prolog -> SWI Prolog. Pe ecran va apare
fereastra aplicatiei si prompterul ? care arata ca programul asteapta comenzi.
Comenzi uzuale:
? – pwd.
Afiseaza directorul curent.
?-ls.
Afiseaza fisierele din directorul curent.
?-cd(’cale’).
Schimba directorul curent.
Exemplu:
?-cd("C:BIAProlog").
Directorul curent devine c:BIAProlog.
?-consult(’numeFisier.pl’).
Fişierul cu numele numeFisier.pl este încărcat în memorie.
?-halt.
Aceasta comanda încheie sesiunea de lucru curenta în SWIProlog.
Pentru a se afisa informatii cu privire la o comanda, apelam:
?-help(nume_comanda).
Exemplu:
?-help(halt).
Important:
1. Extensia implicită a unui fişier construit cu SWI-Prolog este pl.
2. Fiecare enunţ în Prolog se termina cu caracterul punct (.).
3. Enunţurile (întrebările) se introduc la prompterul ?- şi cele mai
simple au structura sintactică identică cu cea a unui fapt.
Lucrarea 1 – Bazele inteligenţei artificiale
- 2 -
Entităţile limbajului PROLOG
Prolog este un limbaj logic, descriptiv, care permite specificarea
problemei de rezolvat în termenii unor fapte cunoscute despre obiectele
universului problemei şi a relaţiilor existente între aceste obiecte. Execuţia
unui program Prolog constă în deducerea implicaţiilor acestor fapte şi
relaţii, programul definind astfel o mulţime de consecinţe ce reprezintă
înţelesul sau semnificaţia declarativă a programului.
Un program Prolog conţine următoarele entităţi:
- fapte despre obiecte şi relaţiile existente între aceste obiecte;
- reguli despre obiecte şi relaţiile dintre ele, care permit deducerea
(inferarea) de noi fapte pe baza celor cunoscute;
- întrebări, numite şi scopuri, despre obiecte şi relaţiile dintre ele, la
care programul răspunde pe baza faptelor şi regulilor existente.
a) Fapte
Faptele sunt predicate de ordinul întâi de aritate n considerate
adevărate (reprezinta cea mai simpla forma de predicat din Prolog). Ele
stabilesc relaţii între obiectele universului problemei. Numărul de
argumente ale faptelor este dat de aritatea (numărul de argumente)
corespunzătoare a predicatelor.
Exemple:
Interpretarea particulară a predicatului şi a argumentelor acestuia
depinde de programator. Ordinea argumentelor, odată fixată, este importantă
Fapt: Aritate:
câine(bobi). 1
place(ion, ioana). 2
place(ion, ana). 2
frumoasă(ana). 1
bun(daniel). 1
deplasează(cub, camera1, camera2). 3
Lucrarea 1 – Bazele inteligenţei artificiale
- 3 -
şi trebuie păstrată la orice altă utilizare a faptului, cu aceeaşi semnificaţie.
Mulţimea faptelor unui program Prolog formează baza de cunoştinţe
Prolog. Asa cum vom arata in cele ce urmeaza, în baza de cunoştinte a unui
program Prolog sunt incluse şi regulile Prolog.
b) Scopuri
Obţinerea consecinţelor sau a rezultatului unui program Prolog se
face prin fixarea unor scopuri care pot fi adevărate sau false, în funcţie de
conţinutul bazei de cunoştinţe. Scopurile sunt predicate pentru care se
doreşte aflarea valorii de adevăr în contextul faptelor existente în baza de
cunoştinţe. Cum scopurile pot fi văzute ca întrebări, rezultatul unui program
Prolog este răspunsul la o întrebare (sau la o conjuncţie de întrebări). Acest
răspuns poate fi afirmativ, yes, sau negativ, no. Un program Prolog, în cazul
unui răspuns afirmativ la o întrebare, poate furniza şi alte informaţii din
baza de cunoştinţe.
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.