Previzualizare laborator:

Extras din laborator:

În Prolog se poate ajunge la soluţii prin inferenţă logică (deducţie logică) pornind de la ceva cunoscut în prealabil. Tipic, un program în limbajul Prolog nu este o secvenţă de acţiuni ci o mulţime de fapte şi reguli care împreună duc la nişte concluzii logice. Prolog este ceea ce numim un limbaj declarativ.

Prolog lucrează cu aşa numitele predicate logice. Un predicat este o formă foarte clară şi concisă de a exprima un fapt existent. Se utilizează o sintaxă foarte simplă, apropiată de limbajul natural pentru a exprima un predicat logic.

Limbajul Prolog conţine un motor de inferenţă care efectuază deducţiile logice pornind de la nişte fapte cunoscute. Prolog încearcă să deducă dacă o ipoteză este adevărată (cu alte cuvinte să răspundă la întrebări) prin interogarea unui set de informaţii deja adevărate.

O altă caracteristică importantă a limbajului Prolog este aceea că găseşte toate soluţiile unei probleme. Prolog nu parcurge baza de date logică pur şi simplu ci, după găsirea unei soluţii la o problemă, poate face o revenire pentru găsirea altor soluţii.

Sintaxa unui predicat logic este foarte simplă şi apropiată de limbajul natural, ca în exemplele din tabelul următor:

Limbaj natural Predicat logic

O maşină este mare mare(maşină)

Un trandafir este roşu roşu(trandafir)

Lui Petre îi place o maşină dacă este mare place(petre, maşina) if mare(maşina)

Fapte şi reguli

Un program Prolog defineşte obiecte şi relaţii, apoi defineşte reguli bazate pe aceste relaţii. De exemplu propoziţia:

Lui Petre îi plac câinii.

arată o relaţie dintre obiectele petre şi câini. O regulă care arată când propoziţia anterioară este adevărată:

Lui Petre îi plac câinii dacă câinii sunt simpatici.

Fapte

În Prolog o relaţie între obiecte este numită predicat. În limbaj natural o relaţie între obiecte este exprimată printr-o propoziţie. În cadrul logicii predicatelor, o relaţie este exprimată printr-o simplă frază – un fapt – care constă dintr-un nume de relaţie şi unul sau mai multe obiecte (între paranteze). Ca şi propoziţiile, faptele se încheie cu punct.

Exemple:

În limbaj natural:

Lui Mihai îi place Maria.

Mariei îi place Mihai.

Lui Mihai îi plac merele.

În Prolog:

place(mihai, maria).

place(maria, mihai).

place(mihai, mere).

Faptele pot exprima proprietăţi ale unor obiecte. Exemple:

Merele sunt verzi.

Florina este fată.

Reguli

Regulile permit deducţia unor fapte din alte fapte (inferenţa). Altfel spus, o regulă este o concluzie care este adevărată dacă una sau mai multe concluzii sau fapte sunt adevărate.

Exemple:

Mariei îi place tot ce îi place şi lui Mihai.

Florinei îi place tot ceea ce este verde.

Din aceste fapte se poate deduce ceea ce le place Mariei şi Florinei:

Mariei îi place Maria.

Florinei îi plac merele.

Se pot codifica aceste reguli în Prolog:

place(maria, Ceva) :- place(marius, Ceva).

place(florina,Ceva):-verde(Ceva).

Simbolul „:-„ se poate interpreta ca „if” şi serveşte la separarea celor două părţi ale unei reguli: antet şi corp. Se poate de asemenea interpreta o regulă ca o procedură. Cu alte cuvinte, regulile anterioare se mai pot interpreta şi astfel:

„ Pentru a demonstra că Mariei îi place ceva, demonstrează că şi lui Marius îi place acelaşi lucru”, respectiv „Pentru a demonstra că Florinei îi place ceva, demonstrează că acel ceva este verde”.

Interogări

După ce s-au furnizat câteva fapte şi reguli unui program Prolog, acestuia i se pot pune întrebări, numite interogări.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Limbajul Prolog.doc
  • suspect.pro
  • ia1p5.pro
  • ia1p2.pro
  • ia1p3.pro
  • ia1p4.pro
  • ia1p1.pro
Alte informații:
Tipuri fișiere:
doc, pro
Nota:
7/10 (1 voturi)
Nr fișiere:
7 fisiere
Pagini (total):
11 pagini
Imagini extrase:
11 imagini
Nr cuvinte:
2 497 cuvinte
Nr caractere:
13 546 caractere
Marime:
19.80KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Inteligența Artificială
Predat:
la facultate
Materie:
Inteligența Artificială
Profesorului:
Iordan Anca
Sus!