Sunteți pe pagina 1din 43

Partea a II-a

Reprezentarea cunostintelor
Capitolul 3
Modelul logicii simbolice
Partea a II-a a textului de fata este dedicata metodelor de reprezentare a cunostintelor. Acest
capitol si urmatoarele trei prezinta cele mai importante modele de reprezentare a cunostintelor
utilizate in programele de inteligenta artificiala. In finalul Capitolului 6 se vor pune in evidenta
modalitati de combinare a modelelor discutate, combinarea paradigmelor de reprezentare fiind
tendinta actuala in sistemele bazate pe cunostinte.
Unul dintre primele si cele mai importante modele de reprezentare a cunostintelor in
inteligenta artificiala este logica simbolica. Logica simbolica a fost dezvoltata de logicieni ca o
metoda formala de rationament, in principal in domeniul matematicii, cel mai raspindit model
logic fiind logica cu predicate de ordinul I.
Logica cu predicate de ordinul I a fost folosita pentru prima data ca metoda de reprezentare
a cunostintelor in inteligenta artificiala in programul de demonstrare a teoremelor al lui ilmore
si in programul !"#e Logic "#eorist! al lui $e%ell, &#a% si &imon '()6*+. Programul lui
ilmore pentru demonstrarea teoremelor in logica cu predicate de ordinul I s-a bazat pe
rezultatele teoretice importante ale lui ,erbrand 'C#ang,Lee,()-*+ care au stabilit conditiile in
care o multime de formule .clauze/ este inconsistenta. In ()60 1obinson, plecind de la rezultatele
lui ,erbrand, a propus o metoda mult mai eficienta de stabilire a inconsistentei unei formule2
rezolutia. Aceasta metoda si diversele ei rafinari ulterioare au devenit abordarea preferentiala a
celor mai multe demonstratoare de teoreme dezvoltate pina in prezent.
Utilizarea logicii simbolice ca model de reprezentare a cunostintelor in inteligenta artificiala
este importanta deoarece ofera o abordare formala a rationamentului, cu fundamente teoretice
riguroase. 3ormalismul logic permite derivarea unor cunostinte noi, plecind de la cele existente,
pe baza deductiei si a demonstrarii teoremelor. Acest lucru faciliteaza automatizarea proceselor
de rationament si executia inferentelor corecte si logic valide. Pe de alta parte, logica simbolica
este suficient de expresiva si flexibila pentru a permite reprezentarea cu acuratete a cunostintelor
problemei de rezolvat.
1ezolvarea problemelor in cadrul formalismului logic se bazeaza in special pe
demonstrarea teoremelor. 4xista doua abordari importante in demonstrarea teoremelor2 metodele
sintactice si metodele semantice.
Metodele sintactice de demonstrare a teoremelor, cum ar fi de exemplu cele propuse de
,erbrand, ilmore si 1obinson, se bazeaza pe procedee mecanice de aplicare a regulilor de
5
inferenta si sint independente de domeniul de interpretare al formulei. Aceste metode pot fi usor
automatizate si constituie baza tuturor programelor de demonstrare a teoremelor.
Metodele semantice de demonstrare a teoremelor se bazeaza pe utilizarea sistematica a
valorilor de adevar ale formulelor si depind de domeniul de interpretare fixat. 6eoarece domeniul
de interpretare al unei formule este de multe ori infinit, aceste metode sint greu algoritmizabile. 7
discutie a metodelor semantice de demonstrare poate fi gasita in 8alita '()9-+ si Popa '())5+. 7
prezentare detaliata a principiilor teoretice si a metodelor sintactice de demonstrare a teoremelor
poate fi gasita in C#ang si Lee '()-*+ si abba: s.a. '())*+.
1eprezentarea cunostintelor in logica se bazeaza in esenta pe urmatoarele doua componente2
Crearea structurilor formale care reprezinta fapte de baza, inferente si alte tipuri de
cunostinte, numite structuri presupuse.
Aplicarea regulilor de inferenta ale sistemului logic pentru a compara, combina si obtine
din aceste structuri presupuse .date/ noi structuri, numite structuri deduse.
6e exemplu, enuntul !"oti studentii de la calculatoare stiu sa programeze! poate fi exprimat
in logica cu predicate de ordinul I astfel2
. x/ .&tudentLaCalculatoare.x/ Programeaza.x//
6aca se stie in plus ca 1adu este student la calculatoare, deci
&tudentLaCalculatoare.1adu/
se poate concluziona pe baza celor doua structuri presupuse noua structura
Programeaza.1adu/
3.1 Logica propozitionala
Logica propozitionala este un caz particular al logicii cu predicate de ordinul I. 4lementele de
baza ale logicii propozitionale sint propozitiile, numite si atomi sau propozitii simple.
Urmatoarele enunturi sint propozitii2
8asina este alba P
7amenii traiesc pe luna ;
$otatiile din dreapta reprezinta simbolic propozitiile enuntate. 7 propozitie poate fi adevarata sau
falsa, deci poate avea doua valori de adevar. 6e exemplu, propozitia P este adevarata si propozitia
; este falsa. Atita timp cit se admit doar doua valori de adevar pentru o propozitie, adevarat si
fals, logica se numeste logica clasica sau logica bivalenta. Acceptarea unui numar mai mare de
*
valori conduce la logici polivalente .neclasice/. Prezentarea care urmeaza se situeaza numai in
cadrul logicii bivalente.
3.1.1 Sintaxa logicii propozitionale
Propozitiile simple sau atomii sint compozabile. 4le se pot combina, dind nastere la noi propozitii
care sint, la rindul lor, adevarate sau false. Propozitiile combinate se formeaza din atomi folosind
conectorii logici. Conectorii logici indica operatiile de asociere sau combinare care sint cele mai
frecvente in vorbire sau rationament. 6e exemplu, din doua propozitii simple
8i#aela este frumoasa P
(
8i#aela este buna P
5
se poate forma propozitia compusa
8i#aela este frumoasa si 8i#aela este buna
notata cu
P P
( 5

. In continuare se vor folosi urmatoarele simboluri pentru conectorii logici2


< negatie
con=unctie
dis=unctie
implicatie simpla
implicatie dubla
In consecinta, alfabetul logicii propozitionale este format din simbolurile care desemneaza atomii,
conectorii logici si alte simboluri cum ar fi parantezele. In plus exista doua simboluri speciale
pentru desemnarea valorilor logice de adevarat si fals, notate prin conventie cu a, respectiv f.
Limba=ul logicii propozitionale se construieste pornind de la definitia alfabetului si definind
regulile corecte de formare a cuvintelor limba=ului cu simboluri din alfabet. Un cuvint in acest
limba= se numeste formula bine formata.
efinitie. 7 formula bine formata in calculul propozitional se defineste recursiv astfel2
.(/ Un atom este o formula bine formata
.5/ 6aca P este formula bine formata, atunci P este formula bine formata.
.*/ 6aca P si ; sint formule bine formate atunci P;, P;, P; si P; sint formule bine
formate.
>
.>/ multimea formulelor bine formate este generata prin aplicarea repetata a regulilor
.(/.*/ de un numar finit de ori.
7 formula bine formata se scrie riguros utilizind paranteze. 6e obicei se omit aceste
paranteze ori de cite ori absenta lor nu da nastere la confuzii, tinind cont de precedenta
conectorilor logici. Precedenta conectorilor logici, in ordine descrescatoare, este2 <, , , , .
!xemple2
(.
.P /
nu este o formula bine formata.
5.
.P .; .< 1///
este o formula bine formata si poate fi scrisa
P .; < 1/
.
*.
..P .< ; 1/ .; &///
este o formula bine formata si poate fi de asemenea scrisa
P .< ; 1/ .; &/
.
3.1." Semantica logicii propozitionale
&emantica sau intelesul unei propozitii este valoarea de adevarat sau fals a acesteia, i.e. atribuirea
unei valori de adevar acelei propozitii pe baza unei functii de evaluare a propozitiei.
efinitie. &e numeste interpretare a unei formule bine formate atribuirea de valori de adevar
fiecarui atom din formula. Altfel spus, o interpretare specifica functiile de evaluare ale tuturor
atomilor componenti ai formulei.
!xemplu. 3ie formula
.P < ;/
si o interpretare I
(
care asigneaza valorile de adevar a lui P si f
lui ;. In aceasta interpretare formula este adevarata. 7 interpretare diferita I
5
asigneaza valorile
de adevar a lui P si a lui ;, formula fiind falsa in aceasta interpretare. 4vident, exista patru
interpretari distincte pentru aceasta propozitie.
Functia de evaluare a unei formule asociaza formulei o unica valoare de adevar, pe baza
valorilor de adevar ale atomilor componenti ai formulei, utilizind regulile de evaluare ale
conectorilor logici, reguli specificate de obicei prin tabele de adevar. 6eoarece se refera la
semantica formulei, aceste reguli se mai numesc si reguli semantice. In continuare se va nota
valoarea de adevar a unei formule P cu P
v
. 7data ce s-a stabilit o interpretare unei formule,
valoarea ei de adevar poate fi determinata. Aceasta se poate face prin aplicarea repetata a regulilor
semantice asupra unor portiuni din ce in ce mai mari ale formulei, pina cind se determina o
singura valoare de adevar pentru formula. 1egulile semantice sint prezentate in 3igura *.(.
0
1egula Propozitie
adevarata
Propozitie
falsa
(
5 < <
* A A? 3 P
> A P P 3
0 P A 3 3?
6 P A A 3
- 3 P A 3
9 A A? 3 A
) 3 3?
A si A? reprezinta propozitii adevarate.
3 si 3? reprezinta propozitii false.
P reprezinta orice propozitii.
a f
f a





#igura 3.1 Regulile semantice ale formulelor bine formate in calculul propozitional
&e observa ca 3igura *.( reprezinta concis regulile de evaluare ale conectorilor logici. 6e
exemplu, semnificatia tabelelor de adevar ale conectorilor logici si
P
;
a
f
a f
a f
f f
P ;
P
;
a
f
a f
a f
f a
P
;
este surprinsa de regulile *, >, 9 si ) din 3igura *.(. In aceste conditii se poate gasi semnificatia
unei propozitii fiind data o interpretare I pentru acea propozitie.
!xemplu. 3ie formula
..P < ;/ 1/ ;
si interpretarea I2 P adevarat, ; fals si 1 fals. Atunci2
prin aplicarea regulii 5 <; adevarat
prin aplicarea regulii *
P < ;
adevarat
prin aplicarea regulii 6
.P < ;/ 1
fals
prin aplicarea regulii 0
..P < ;/ 1/ ;
fals
6eci valoarea de adevar P
@
a formulei in interpretarea I este fals.
6
3.1.3 Proprietatile propozitiilor
Pe baza functiei de evaluare si a domeniului de interpretare se pot specifica urmatoarele
proprietati ale formulelor bine formate2
7 formula bine formata este valida sau tautologie daca formula are valoarea adevarat in
orice interpretare.
7 formula bine formata este inconsistenta (contradictie, nerealizabila) daca formula are
valoarea fals in orice interpretare.
7 formula bine formata este realizabila sau consistenta daca exista cel putin o
interpretare in care formula are valoarea adevarat.
6oua formule sint echivalente daca au aceeasi valoare de adevar in orice interpretare.
3igura *.5 prezinta intuitiv aceste proprietati ale formulelor bine formate.
Consistenta A 1ealizabila
P
v
A uneori
@alida A "autologie
P
v
A intotdeauna
$evalida
P
v
A uneori
Contradictie A $erealizabila
P
v
A intotdeauna
a
a
f
f
#igura 3." Realizabilitatea formulelor bine formate
1ealizarea rationamentului intr-un sistem logic implica existenta unui mecanism de obtinere
a noi formule pe baza formulelor existente, deci de extindere consistenta a cunostintelor
universului problemei.
efinitie. 7 formula 3 este o consecinta logica a unei formule P daca 3 are valoarea adevarat in
toate interpretarile in care P are valoarea adevarat. 6efinitia se poate extinde si in cazul a n
formule. 7 formula 3 este consecinta logica a unei multimi de formule
P , P , ... , P
( 5 n
daca formula
3 este adevarata in toate interpretarile in care
P , P , ... , P
( 5 n
sint adevarate.
Consecinta logica se noteaza
P , P , . . . , P 3
( 5 n

.
!xemple2
(. P este o formula realizabila dar nu este valida deoarece o interpretare care atribuie fals lui
P atribuie fals si formulei P.
5. P < P este o formula valida deoarece pentru orice interpretare, formula
.P < P/
este
adevarata.
-
*. P < P este o contradictie deoarece pentru orice interpretare, formula
.P < P/
este
falsa.
>. P si <.<P/ sint formule ec#ivalente deoarece fiecare are aceeasi valoare de adevar pentru
orice interpretare.
0. P este o consecinta logica a formulei
.P ;/
deoarece pentru orice interpretare in care
.P ;/
este adevarata, P este totdeauna adevarata.
$otiunea de consecinta logica ofera o modalitate de a realiza inferenta valide in logica
propozitionala. Urmatoarele doua teoreme stabilesc criteriile in functie de care o formula este o
consecinta logica a unui set de formule.
$eorema. 3ormula 3 este consecinta logica a unei multimi de formule
P , P , ... , P
( 5 n
daca formula
P P ... P 3
( 5 n

este valida.
emonstratie.
./ 6aca 3 este o consecinta logica a multimii de formule
P , P ,..., P
( 5 n
, atunci pentru orice
interpretare I in care
P , P ,..., P
( 5 n
sint adevarate, deci formula
P P ... P
( 5 n

este adevarata, 3
este de asemenea adevarata prin definitie. 6eci
P P ... P 3
( 5 n

este adevarata pentru astfel
de interpretari. Pentru interpretarile in care
P P ... P
( 5 n

este falsa,
P P ... P 3
( 5 n

este
adevarata conform regulii - din 3igura *.(. 1ezulta de aici ca
P P ... P 3
( 5 n

este adevarata
in orice interpretare, deci este formula valida.
./ 6aca
P P ... P 3
( 5 n

este valida, atunci pentru orice interpretare I pentru care
P P ... P
( 5 n

este adevarata, deci in care si
P , P ,..., P
( 5 n
sint adevarate, 3 este adevarata, deci 3
este o consecinta logica a multimii de formule
P , P ,..., P
( 5 n
.
$eorema. 3ormula 3 este consecinta logica a unei multimi de formule
P , P , ... , P
( 5 n
daca formula
P P ... P < 3
( 5 n

este inconsistenta.
emonstratie.
6emonstratia acestei teoreme se face pe baza primei teoreme. Conform acesteia, 3 este o
consecinta logica a multimii de formule
P , P ,..., P
( 5 n
daca si numai daca
P P ... P 3
( 5 n

este
valida, i.e. daca si numai daca
< .P P ... P 3/
( 5 n

este inconsistenta.
< .P P ... P 3/ < < .P P ... P / 3/ < < .P P ... P // < 3
( 5 n ( 5 n ( 5 n
. .
P P ... P < 3
( 5 n

, deci teorema este demonstrata.
Aceste doua teoreme prezinta o importanta deosebita in rationamentul logic, deoarece
problema stabilirii consecintelor logice se reduce la problema demonstrarii validitatii sau a
inconsistentei unei formule bine formate. Aceasta idee este importanta si reprezinta esenta tuturor
9
metodelor de demonstrare automata a teoremelor in logica simbolica, asa cum se va vedea in
&ectiunea *.*.
7 posibilitate de a determina ec#ivalenta a doua formule este utilizarea tabelelor de adevar.
&e observa ca demonstratia celei de a doua teoreme s-a facut utilizind ec#ivalenta formulelor
logice. 6e exemplu, pentru a arata ca
P ;
este o formula ec#ivalenta cu
< P ;
, se poate
construi urmatoarea tabela de adevar.
P ; P ; < P < P ;
a a a f a
a f f f f
f a a a a
f f a a a
In tabelul urmator sint prezentate citeva legi importante de ec#ivalenta in logica
propozitionala.
Idempotenta P P P P P P
Asociativitate .P ;/ 1 P .; 1/ .P ;/ 1 P .; 1/
Comutativitate P ; ; P P ; ; P P ; ; P
6istributivitate P .; 1/ .P ;/ .P 1/ P .; 1/ .P ;/ .P 1/
6e 8organ < .P ;/ < P < ; < .P ;/ < P < ;
4liminarea
implicatiei
P ; < P ;
4liminarea
implicatiei duble
P ; .P ;/ .; P/







3.1.% iscutie despre conectori
efinitie. 7 multime de conectori logici se numeste multime adecvata daca orice formula logica
poate fi exprimata folosind numai conectorii acestei multimi.
8ultimea
B<, , C
este o multime adecvata de conectori. 6easemenea, perec#ile
B<, C
,
B<, C
si
B<, C
sint si ele multimi adecvate de conectori. $ici o alta perec#e de conectori din
multimea
B<, , , , C
nu este o multime adecvata de conectoriD de exemplu
B C <,
nu este o
multime adecvata.
)
&e pune problema minimalitatii unei multimi de conectori, respectiv se pune intrebarea
!4xista multimi adecvate formate dintr-un singur conectorE!. 4xista doi conectori, care, fiecare in
parte, formeaza o multime adecvata de conectori.
Conectorul lui Nicod, numit si $or si notat cu , permite definirea urmatoarelor formule de
ec#ivalenta2
< P A P P B
si
P ; A .P P/ .; ;/ B B B
, ceea ce face ca
B C B
sa fie o multime
adecvata. Conectorul are tabela de adevar2
P ; P ;
a
a
f
f
a
f
a
f
f
f
f
a
Conectorul lui Sheffer, numit incompatibilitate, si notat cu , este definit prin urmatoarea
formula2
P ; A< P < ;
, ceea ce inseamna ca
P ;
este adevarat cind cel putin un atom este
fals. &int adevarate formulele2
< P A P P
si
P ; .P P/ .; ;/ =
, ceea ce face ca
BC
sa fie o
multime adecvata. Conectorul are tabela de adevar2
P ; P ;
a
a
f
f
a
f
a
f
f
a
a
a
&emnificatia anumitor conectori a fost mult discutata in logica. 6e exemplu, dis=unctia
introduce ambiguitatea. 4xista doua tipuri de dis=unctie, dis=unctia simpla si dis=unctia exclusiva,
notata de obicei cu . Urmatoarele formule definesc dis=unctia exclusiva2
.P ;/ A .P < ;/ .; < P/
.P ;/ A .P ;/ .< P < ;/
Replicatia, notata
F

, este folosita pentru a elimina argumentatiile care nu sint de acord
cu semnificatia implicatiei logice conform careia falsul implica orice si adevarul este implicat de
orice. "abela de adevar a replicatiei este prezentata mai =os, comparativ cu cea a implicatiei.
P ; P ;
F
a
a
f
f
a
f
a
f
a
f
a
a
a
a
f
a
P ;
(G
3.1.& Reguli de inferenta in logica propozitionala
1egulile de inferenta in logica propozitionala ofera o modalitate de a realiza demonstratii logice
sau deductii. 3iind data o multime de formule
P A BP , P ,..., P C
( 5 n
, problema este de a demonstra
adevarul unei formule 3, numita concluzie sau teorema, pe baza formulelor din P, numite axiome
si utilizind regulile de inferenta.
8etodele sintactice de demonstrare a teoremelor, care nu se bazeaza pe atribuirea de valori
de adevar atomilor din formula, utilizeaza reguli de inferenta sintactice. Aceste reguli de
inferenta, logic valide, permit obtinerea de noi formule din multimea de formule initiale numai pe
baza unor operatii sintactice. Cele mai importante reguli de inferenta .deductie/ in logica
propozitionala sint2
.(/ Modus onens
P
P ;
;

.5/ Substitutia. 6aca P este o formula valida, formula P? obtinuta din P prin substitutia
consistenta a atomilor din P este de asemenea valida.
4xista doua tipuri de substitutie2 substitutia uniforma, in care o variabila se inlocuieste peste
tot cu aceeasi formula .ec#ivalenta cu ea sau nu/ si substitutia prin echivalenta, in care se poate
inlocui fiecare aparitie a unei variabile cu o alta formula, dar aceste formule trebuie sa fie
ec#ivalente cu variabila substituita.
!xemplu. 3ormula P < P este validaD atunci formula
; < ;
este de asemenea valida prin
aplicare regulii de substitutie uniforma.
.*/ Regula inlantuirii
P ;
; 1
P 1

.>/ Regula con!unctiei


P
;
P ;
.0/ Regula transpozitiei
P ;
< ; < P

'bser(atie. Aceste reguli de inferenta pastreaza caracterul de tautologie al formulelor obtinute


prin aplicarea lor, daca formulele de plecare sint tautologii.
3." Logica cu predicate de ordinul I
8odelul de reprezentare a cunostintelor in programele de inteligenta artificiala trebuie sa posede
un grad mare de flexibilitate pentru a putea reprezenta adecvat domeniul discursului. Logica
((
propozitionala nu are aceasta proprietate deoarece nu permite exprimarea proprietatilor obiectelor
si a relatiilor existente intre obiecte, si nici generalizarea enunturilor la clase de obiecte cu
caracteristici similare.
Logica cu predicate de ordinul I a fost dezvoltata tocmai pentru a da posibilitatea exprimarii
rationamentelor despre obiecte complexe sau clase de obiecte si despre relatiile existente intre
ele. Aceasta generalizare se face pe baza introducerii predicatelor in locul propozitiilor, a utilizarii
functiilor, a variabilelor si a cuantificatorilor de variabile. Aceste concepte sint riguros definite in
continuare.
3.".1 Sintaxa logicii cu predicate de ordinul I
Alfabetul logicii cu predicate de ordinul I contine simboluri pentru reprezentarea constantelor,
notate prin conventie cu litere mici de la inceputul alfabetului
. a, b, c, .. . /
, variabilelor, notate
prin conventie cu litere mici de la sfirsitul alfabetului
. x, :, z, . .. /
, functiilor, notate cu
f , g, . . .
,
predicatelor, notate cu
P, ;, 1, . ..
, a conectorilor si a cuantificatorilor logici. Conectorii logici
folositi in logica cu predicate de ordinul I sint2
<, , ,
si , iar cuantificatorii sint
cuantificatorul existential ./ si cuantificatorul universal ./.
In cazul logicii cu predicate de ordinul I, predicatele sint functii logice de mai multe
argumente, argumentele predicatelor numindu-se termeni.
efinitie. 3ie 6 un domeniu de valori. Un termen se defineste astfel2
.(/ 7 constanta este un termen cu valoare fixa apartinind domeniului 6.
.5/ 7 variabila este un termen ce poate primi valori diferite din domeniul 6.
.*/ 6aca f este o functie de n argumente
. f 2 6 6/
n

si
t , ... , t
( n
sint termeni, atunci
f . t , .. . , t /
( n

este termen.
.>/ "oti termenii sint generati prin aplicarea regulilor .(/.*/.
efinitie. &e numeste predicat de aritate n o functie P de n argumente cu valori adevarat sau fals,
P26 B , C
n
a f
. Un predicat de aritate G este o propozitie, numita si predicat constant.
efinitie. 6aca P este un predicat de aritate n si
t , ... , t
( n
sint termeni, atunci
P. t , ... , t /
( n
se
numeste atom sau formula atomica. $ici o alta expresie nu poate fi atom.
efinitie. &e numeste literal un atom sau un atom negat.
efinitie. 7 formula bine formata in logica cu predicate de ordinul I se defineste astfel2
.(/ Un atom este o formula bine formata.
(5
.5/ 6aca P este o formula bine formata atunci2
< P, . x/ P. x/, . x/ P. x/
sint
formule bine formate.
.*/ 6aca P si ; sint formule bine formate atunci2
P ;, P ;, P ;, P ;
sint
formule bine formate.
.>/ 7rice formula bine formata este generata prin aplicarea de un numar finit de ori a
regulilor .(/.*/.
7 reprezentare intuitiva a modului de construire a cuvintelor, deci a formelor bine formate
in limba=ul logicii cu predicate de ordinul I, este prezentata in 3igura *.*. In continuare se vor
omite parantezele din formule ori de cite ori aceasta nu creeaza ambiguitate. 6e asemenea, in
anumite conditii, se va folosi x si : in loc de
. x/
si
. :/
.
Constante @ariabile 3unctii
a x f.x, a/
"ermeni Predicate
P
3ormule atomice
P.a, x/
3ormule atomice negate
<P.a, x/
Literali Cuantificatori Conectori logici
,
, , ,,
3ormule bine formate
#igura 3.3 Constructia formulelor bine formate in logica cu predicate de ordinul I
!xemple2
(.
. x/. :/. z/."ata.x, :/ "ata.:, z/ Hunic.x, z//
este o formula bine formata.
"ata.x, :/
,
"ata.:, z/
si
Hunic.x, z/
sint literali, in acest caz literali pozitivi deci
nenegati. x, :, z sint variabile.
5.
. x/. :/.4gal.:, f .x// . z/.4gal.z, f .x// 4gal.:, z///
este o formula bine formata.
x, : si z sint variabile, f.x/ functie, toate fiind considerate termeni.
4gal.:, f .x//
este un
literal.
*.
. x/.@inzator.x/ < 7nest.x//
este o formula bine formata.
@inzator.x/
si
< 7nest.x/

sint literali, primul pozitiv si cel de al doilea negativ.
(*
>.
. P/.P.x/ ;.x//
nu este o formula bine formata deoarece cuantificatorii nu pot fi
aplicati predicatelor. Acest lucru este posibil numai in logicile de ordin superior .logici de
ordinul II/.
0.
7m.< aristotel/
nu este o formula bine formata deoarece negatia nu poate fi aplicata unei
constante si, in general, nici unui termen.
6.
. x/. :/Casatorit.Harbat.x/, 3emeie.://
nu este o formula bine formata deoarece
argumentele predicatelor nu pot fi predicate.
efinitie. 7 formula bine formata este in forma normala con!unctiva, pe scurt 3$C, daca
formula are forma
3 3 ... 3
( 5 n

, unde
3 , i A(, n
i
este o formula formata dintr-o dis=unctie de
literali.
efinitie. 7 formula bine formata este in forma normala dis!unctiva, pe scurt 3$6, daca formula
are forma
3 3 ... 3
( 5 n

, unde
3 , i A(, n
i
este o formula formata dintr-o con=unctie de literali.
6e exemplu,
.< P ; 1/ .< P < ;/
este o formula in forma normal con=unctiva, iar
.P ; 1/ .< P < ;/
este o formula in forma normal dis=unctiva.
3."." Semantica logicii cu predicate de ordinul I
&imilar logicii propozitiilor, semantica unei formule bine formate in logica cu predicate de
ordinul I se poate stabili pe baza domeniului de interpretare al formulei. 6omeniul de interpretare
este multimea tuturor obiectelor din care se selecteaza constantele, variabilele si care stabileste
domeniul de definitie si domeniul de valori ale functiilor din formule. 6aca nu este exprimat
explicit, domeniul de interpretare se deduce din context, putind fi si infinit. 7data stabilit
domeniul de interpretare, se poate specifica interpretarea unei formule bine formate, deci se poate
afla valoarea ei de adevar in acea interpretare.
efinitie. "nterpretarea unei formule 3 in logica cu predicate de ordinul I consta in fixarea unui
domeniu de valori nevid 6 si a unei asignari de valori pentru fiecare constanta, functie si predicat
ce apar in 3 astfel2
.(/ 3iecarei constante i se asociaza un element din 6.
.5/ 3iecarei functii f, de aritate n, i se asociaza o corespondenta
6 6
n

, unde
6 A .x ,..., x /I x 6,..., x 6C
n
( n ( n
B
.
.*/ 3iecarui predicat de aritate n, i se asociaza o corespondenta
P2 6 B , C
n
a f
.
!xemplu. 3ie urmatoarea formula bine formata
. x/...A.a, x/ H.f .x/// C.x// 6.x//
cu
domeniul de interpretare 6AB(,5C si urmatoarea interpretare I2
(>
a
5
f .(/ f .5/
5 (
A.5,(/ A.5, 5/ H.(/ H.5/ C C 6 6 . / . / . / . / ( 5 ( 5
a f a f a f f a
Pentru a stabili valoarea de adevar a formulei se considera2
x A(
.. / / a f a f
fals
x A 5
.. / / f a f a
adevarat
In consecinta, deoarece formula nu este adevarata pentru orice x din domeniul de
interpretare 6, expresia are valoarea de adevar fals.
7data stabilite sintaxa si semantica logicii cu predicate de ordinul I, aceasta poate fi utilizata
pentru a reprezenta cunostinte. In continuare se dau exemple de transformare a unor enunturi din
limba= natural in logica cu predicate de ordinul I.
3ie urmatoarele patru enunturi, dintre care primele trei sint axiome si cel de-al patrulea este
teorema de demonstrat, sau concluzia.
.(/ 7ricine poate citi este literat.
.5/ 6elfinii nu sint literati.
.*/ Anumiti delfini sint inteligenti.
.>/ 4xista inteligenti care nu pot citi.
4xprimind cele patru propozitii in logica cu predicate de ordinul I se obtine2
.A(/
. x/.Citeste.x/ Literat.x//
.A5/
. x/.6elfin.x/ < Literat.x//
.A*/
. x/.6elfin.x/ Inteligent.x//
.A>/
. x/.Inteligent.x/ < Citeste.x//
unde cu Citeste.x/ s-a notat asertiunea !x poate citi!, cu 6elfin.x/ !x este delfin!, cu Literat.x/ !x
este literat! si cu Inteligent.x/ !x este inteligent!. 6omeniul de interpretare al acestor formule este
considerat implicit multimea tuturor fiintelor.
3ie axiomele de baza ale numerelor naturale2
.(/ Pentru fiecare numar natural exista un unic succesor imediat.
.5/ $u exista nici un numar natural pentru care G este succesorul imediat.
(0
.*/ Pentru orice numar natural diferit de zero, exista un unic predecesor imediat.
Utilizind functia s.x/ pentru a desemna succesorul imediat al lui x, functia p.x/ pentru
predecesorul imediat al lui x si predicatul
4gal.x, :/
pentru a exprima asertiunea !x este egal cu
:!, se obtine urmatoarea exprimare a axiomelor numerelor naturale in logica cu predicate de
ordinul I.
.A(/
. x/. :/.4gal.:, s.x// . z/.4gal.z, s.x// 4gal.:, z///
.A5/
< .. x/.4gal.G,s.x////
.A*/
. x/.< 4gal.x, G/ .. :/.4gal.:, p.x// . z/.4gal.z, p.x// 4gal.:, z/////
6omeniul de interpretare al acestor formule este evident multimea numerelor naturale, iar
functiile s.x/ si p.x/ sint definite in consecinta.
Intr-o formula variabilele pot fi variabile libere sau legate. 7 variabila este legata intr-o
formula daca exista un cuantificator ce o refera. In caz contrar, variabila este libera. 7 formula
care contine variabile libere nu poate fi evaluata. 6e exemplu, formula
. x/.P.x, :/ ;.a, z//

nu poate fi evaluata deoarece nu se cunoaste cuantificarea lui : si nici cea a lui z. @ariabila x este
legata, iar variabilele : si z sint libere.
3.".3 Proprietatile formulelor bine formate
Proprietatile formulelor bine formate in logica cu predicate de ordinul I sint aceleasi ca si in
logica propozitiilor2 validitate, inconsistenta, realizabilitate, ec#ivalenta formulelor, consecinta
logica. 6efinitiile sint similare dar, de aceasta data, trebuie sa se considere interpretarile pentru
toate domeniile de interpretare posibile ale formulelor. 6e exemplu, formula2
. x/...A.a, x/ H.f .x/// C.x// 6.x//
din sectiunea anterioara nu este o tautologie, deci nu este valida, deoarece exista cel putin o
interpretare pentru care ea este falsa. 3ormula
. x/.P.x/ < P.x//
este inconsistenta sau
contradictie deoarece nu exista nici o interpretare pentru care aceasta formula sa fie adevarata.
3ormula
. x/.P.x/ < P.x//
este insa valida, deoarece ea este adevarata indiferent de
interpretare.
3ie urmatoarele doua formule2
.A(/ Hun.roco/
.A5/
. x/.Hun.x/ Iubit.x//

&e poate arata ca formula
Iubit.roco/
, unde roco este o constanta, este o consecinta logica a
formulelor .A(/ si .A5/. &a presupunem ca atit .A(/ cit si .A5/ sint adevarate intr-o interpretare I.
Atunci formula
.Hun.roco/ Iubit.roco//
este adevarata deoarece .A5/ specifica pentru !orice
(6
x! din domeniu. 6ar se stie ca Hun.roco/ este adevarata in interpretarea I pe baza lui .A(/, deci
rezulta ca
Iubit.roco/
este adevarata deoarece adevarat nu poate implica fals. &-a demonstrat ca
pentru orice interpretare in care .A(/ si .A5/ sint formule adevarate si formula
Iubit.roco/
este
adevarata, deci
Iubit.roco/
este o consecinta logica a formulelor .A(/ si .A5/.
4c#ivalenta formulelor poate fi stabilita utilizind legile de ec#ivalenta din logica cu
predicate de ordinul I prezentate in 3igura *.>. In figura s-au notat cu ; si
; , i A(, 5
i

cuantificatorii universal si existential.
4c#ivalenta conectorilor logici
$egarea
negatiei
< .< P/ P
Idempotenta P P P P P P
Asociativitate .P ;/ 1 P .; 1/ .P ;/ 1 P .; 1/
Comutativitate P ; ; P P ; ; P P ; ; P
6istributivitate P .; 1/ .P ;/ .P 1/ P .; 1/ .P ;/ .P 1/
6e 8organ < .P ;/ < P < ; < .P ;/ < P < ;
4liminarea
implicatiei
P ; < P ;
4liminarea
implicatiei duble
P ; .P ;/ .;







P/
#igura 3.% Legi de ec)i(alenta a formulelor in logica cu predicate de ordinul I
4c#ivalenta cuantificatorilor
.;x/3'x+ .;x/.3'x+ / .;x/3'x+ .;x/.3'x+ /
< .. x/3'x+/ . x/.< 3'x+/ < .. x/3'x+/ . x/.< 3'x+/
. x/3'x+ . x/,'x+ . x/.3'x+ ,'x+/ . x/3'x+ . x/,'x+ . x/.3'x+ ,'x+/
.; x/3'x+ .; x/,'x
( 5



+ .; x/.; z/.3'x+ ,'z+/ .; x/3'x+ .; x/,'x+ .; x/.; z/.3'x+ ,'z+/
( 5 ( 5 ( 5

#igura 3.% *continuare+ Legi de ec)i(alenta a formulelor in logica cu predicate de
ordinul I
In toate exemplele mentionate mai sus s-au folosit metode semantice pentru stabilirea
caracterului formulelor. In sectiunea urmatoare se vor discuta metode semantice pentru realizarea
deductiilor si stabilirea caracterului unei multimi de formule. 6upa cum se observa din exemplele
de mai sus, inspectarea tuturor interpretarilor unei formule peste toate domeniile posibile poate fi
deosebit de dificila, daca nu imposibila in anumite cazuri, deci o astfel de abordare este greu de
automatizat.
(-
3.".% Reguli de inferenta in logica cu predicate de ordinul I
1egulile de inferenta sintactice din logica propozitionala prezentate in &ectiunea *.(.0, 8odus
Ponens, substitutia, inlantuirea, con=unctia si transpozitia, pot fi generalizate in cazul logicii cu
predicate de ordinul I. 6e exemplu, regula 8odus Ponens are urmatoarea forma2
8odus Ponens
P.a/
. x/.P.x/ ;.x//
;.a/

&e observa ca s-a facut substitutia lui a cu x, ceea ce a fost posibil deoarece P.x/;.x/ este
adevarata pentru orice interpretare.
1egula substitutiei poate avea forme mai sofisticate in cazul logicii cu predicate de ordinul
I. Aceste forme vor fi discutate in sectiunea urmatoare. "ot in aceeasi sectiune se prezinta in
detaliu si rezolutia, regula de inferenta sintactica importanta.
1egulile de inferenta prezentate sint reguli deductive, deci valide. 4le pastreaza caracterul
de tautologie al formulei. In programele de inteligenta artificiala se folosesc insa si reguli de
inferenta nedeductive, numite si invalide deoarece rezultatele obtinute pe baza acestor reguli nu
sint intotdeauna adevarate. Aceste reguli pot fi insa utile in numeroase cazuri, asa cum se va
vedea mai tirziu, desi nu garanteaza corectitudinea rezultatului obtinut. In continuare se prezinta
citeva astfel de reguli de inferenta invalide, dar utilizate2
.(/ "nferenta abductiva. Inferenta abductiva se bazeaza pe utilizarea cunostintelor
cauzale pentru a explica sau a =ustifica o concluzie, posibil invalida. Inferenta
abductiva are urmatoarea forma2
;.a/
. x/.P.x/ ;.x//
P.a/

6e exemplu, din formulele2
&eLeagana.radu/
. x/.Heat.x/ &eLeagana.x//
se poate infera
Heat.radu/
desi s-ar putea ca 1adu sa se legene datorita unui
cutremur de pamint.
.5/ "nferenta inductiva. Inferenta inductiva se bazeaza pe ideea ca o proprietate
adevarata pentru o submultime de obiecte dintr-o clasa este adevarata pentru toate
exemplele din acea clasa. Inferenta inductiva are forma2
(9
P.a /, P.a /,..., P.a /
. x/P.x/
( 5 n

6e exemplu, dupa ce se constata ca cele mai multe lebede sint albe, se poate infera
prin inductie ca toate lebedele sint albe, desi exista si lebede negre, cum ar fi unele
dintre cele care cresc in Australia.
.*/ "nferenta analogica. Inferenta analogica este o forma de inferenta bazata pe
experienta si se bazeaza pe ideea conform careia situatii sau entitati care tind sa fie
asemanatoare sub anumite aspecte sint asemanatoare in general. Inferenta analogica
este de fapt o combinatie a celorlalte forme de inferenta2 abductive, deductive si
inductive. Inferenta analogica are forma2
P.x/ ;.x/
P? .x/ ;? .x/
r
r


"oate aceste trei forme de inferenta sint invalide, dar reprezinta modalitati de simulare a
rationamentului de bun simt. 4le sint folosite in inteligenta artificiala, mai ales in cazul
programelor de invatare automata, asa cum se va vedea in Capitolul ).
3.".& Rezol(area problemelor in cadrul formalismului logic
Pentru a putea investiga cum se rezolva problemele in logica cu predicate de ordinul I si puterea
expresiva a acestui model de reprezentare a cunostintelor, se considera urmatorul exemplu. 3ie
multimea de enunturi2
.(/ 8arcus era om.
.5/ 8arcus era pompeian.
.*/ "oti pompeenii erau romani.
.>/ Cezar era dictator.
.0/ "oti romanii fie erau devotati lui Cezar, fie il urau.
.6/ 3iecare om este devotat cuiva.
.-/ 7amenii incearca sa asasineze dictatorii fata de care nu sint devotati.
.9/ 8arcus a incercat sa-l asasineze pe Cezar.
3aptele descrise de aceste propozitii pot fi reprezentate sub forma de formule bine formate in
calculul cu predicate de ordinul I astfel2
.(/ Marcus era om se exprima sub forma2
()
.A(/ 7m.marcus/
Aceasta reprezentare surprinde elementul esential al propozitiei, si anume faptul ca 8arcus
era om, dar nu exprima informatia continuta in limba= natural despre timpul trecut utilizat. Pentru
exemplul considerat aceasta informatie este nerelevanta, dar in alte cazuri ea ar putea sa conteze,
deci ar trebui extinsa reprezentarea in consecinta.
.5/ Marcus era pompeian se exprima sub forma2
.A5/ Pompeian.marcus/
.*/ #oti pompeenii erau romani se exprima sub forma2
.A*/
. x/.Pompeian.x/ 1oman.x//
Conform conventiei facute x este o variabila, in timp ce simbolul marcus utilizat in .A(/ si
.A5/ este o constanta.
.>/ Cezar era dictator se exprima sub forma2
.A>/ 6ictator.cezar/
"ot conform conventiei facute, simbolul cezar este considerat o constanta. In plus, se face
presupunerea implicita ca exista un unic individ care se numeste Cezar in universul problemei de
rezolvat.
.0/ #oti romanii erau fie devotati lui Cezar fie il urau. Pentru a exprima aceasta propozitie, tinind
cont de semantica ei, nu se poate folosi conectorul logic care are semnificatia de !sau inclusiv!,
ci trebuie folosit un !sau exclusiv!. In aceste conditii propozitia se exprima sub forma2
.A0/
. x/.1oman.x/ ..6evotat.x, cezar/ Ura.x, cezar//
< .6evotat.x, cezar/ Ura.x, cezar////
.6/ Fiecare om este devotat cuiva se exprima sub forma2
.A6/
. x/. :/6evotat.x, :/
Aici apare o noua problema de traducere a limba=ului natural in forma logica, si anume
ordinea cuantificatorilor. Utilizind formula logica de mai sus s-a presupus ca pentru orice
persoana x, exista o persoana : fata de care x este devotata. 6ar aceeasi fraza ar fi putut fi
interpretata, eventual, si ca exista o persoana : fata de care toate celelalte persoane sint devotate,
ceea ce s-ar fi exprimat in logica sub forma2
. :/. x/6evotat.x, :/
5G
.-/ $amenii incearca sa asasineze dictatorii fata de care nu sint devotati poate fi exprimata sub
forma2
.A-/
. x/. :/..Persoana.x/ 6ictator.:/ IncearcaAsasinat.x, :// < 6evotat.x, ://
4vident ca si in acest caz ar fi putut sa existe o exprimare logica diferita. Cititorul poate
incerca sa o gaseasca.
.9/ Marcus a incercat sa%l asasineze pe Cezar se exprima sub forma2
.A9/
IncearcaAsasinat.marcus, cezar/
Presupunind ca faptele .(/.9/ sint adevarate, deci sint axiome, cum se poate stabili daca
8arcus nu era devotat lui Cezar, deci cum se poate demonstra teorema .concluzia/2
.c/
< 6evotat.marcus,cezar/
E
Aceasta demonstratie se poate face aplicind regulile de inferenta ale logicii cu predicate de
ordinul I prezentate in sectiunea anterioara. Inspectind axiomele .A(/.A9/, se observa ca
demonstratia s-ar putea face numai pe baza axiomelor .A(/, .A>/, .A-/ si .A9/. 6ar apare
urmatoarea problema2 desi oricine stie ca daca 8arcus este om el este in acelasi timp persoana,
acest lucru nu este explicit indicat in enunt. &e observa de aici una din dificultatile fundamentale
in rezolvarea problemelor de inteligenta artificiala si anume reprezentarea cunostintelor de bun
simt. Pentru a putea rezolva problema, trebuie adaugat un nou enunt care sa statueze ca toti
oamenii sint persoane.
.)/ #oti oamenii sint persoane se exprima sub forma2
.A)/
. x/.7m.x/ Persoana.x//
In acest moment se poate demonstra concluzia .c/ pe baza axiomelor .A(/, .A>/, .A-/, .A9/
si .A)/. Aplicind regula substitutiei in axioma .A-/ si substituind uniform variabila x cu constanta
marcus si variabila : cu constanta cezar se obtine o noua axioma
.A(G/
Persoana.marcus/ 6ictator.cezar/ IncearcaAsasinat.marcus, cezar/

< 6evotat .marcus, cezar/
Aplicind regula 8odus Ponens asupra axiomelor .A(/ si .A)/ se obtine2
.A((/ Persoana.marcus/
si aplicind din nou regula 8odus Ponens asupra axiomelor .A((/, .A>/, .A9/ si .A(G/ se obtine
concluzia cautata2
< 6evotat.marcus,cezar/
5(
&e observa ca aceasta demonstratie a fost facuta prin selectia intuitiva a axiomelor ce trebuie
combinate si a diverselor reguli de inferenta ce trebuie utilizate. 7 asemenea abordare este
evident nepractica intr-un program de demonstrare automata a teoremelor. Pentru a putea
automatiza procesul de demonstrare este preferabil sa existe o singura regula de inferenta.
Aceasta este rezolutia. In plus, trebuie stabilita o strategie de aplicare a regulii de inferenta pentru
a a=unge cit mai repede la solutie, daca exista solutie. Aceste probleme vor fi abordate in
sectiunea urmatoare.
Un alt aspect important ce trebuie considerat in momentul in care se discuta rezolvarea
problemelor in cadrul formalismului logic este posibilitatea existentei unei solutii. 4ste orice
teorema demonstrabilaE In cazul logicii propozitionale exista intotdeauna proceduri efective care
permit atit stabilirea faptului ca o formula este teorema, cit si a faptului ca nu este teorema. In
consecinta problema demonstrarii teoremelor in logica propozitionala este decidabila. In cazul
logicii cu predicate de ordinul I se garanteaza existenta unei proceduri care sa demonstreze ca o
formula este teorema daca acea formula este intr-adevar teorema. 6ar aceasta procedura nu este
garantata sa se opreasca daca formula de demonstrat nu este teorema. In consecinta demonstrarea
teoremelor in logica cu predicate de ordinul I nu este decidabila, ci este o problema
semidecidabila.
In pofida acestui rezultat trist, formalismul logic este utilizat intens ca metoda de rezolvare a
problemelor in inteligenta artificiala deoarece, in cele mai multe cazuri, produce rezultatele
dorite. 6e asemenea trebuie tinut cont de faptul ca utilizarea unei strategii particulare sau a unei
combinatii de strategii in demonstrarea teoremelor poate genera situatii in care o teorema nu se
poate demonstra c#iar daca acea formula este intr-adevar teorema. Acesta este cazul strategiilor
incomplete. &i in aceasta situatie s-au facut compromisuri, in sensul ca s-au acceptat strategii
incomplete de demonstrare a teoremelor datorita avanta=ului de eficienta pe care il aduc. 7
strategie completa va reusi intotdeauna sa demonstreze ca o formula este teorema daca formula
este cu adevarat teorema, dar aceasta completitudine poate fi penalizata de necesitati crescute ale
resurselor de timp si spatiu utilizate de programul care o implementeaza.
3.3 emonstrarea teoremelor utilizind rezolutia
In ()60, 1obinson propune principiul rezolutiei ca metoda eficienta de demonstrare a teoremelor,
principiu care reprezinta baza tuturor demonstratoarelor automate de teoreme actuale. 1ezolutia
este o metoda de inferenta sintactica care, aplicata repetat unei multimi de formule in forma
standard, determina daca multimea de formule este inconsistenta. Pentru a demonstra ca formula
C este o consecinta logica a formulelor
P , P ,..., P
( 5 n
, se demonstreaza ca
P P ... P < C
( 5 n

este
o formula nerealizabila prin deducerea unei contradictii.
Principiul rezolutiei este o metoda de demonstrare prin respingere, care corespunde in
general unei demonstrari prin reducere la absurd. 6e aceea, utilizarea principiului rezolutiei in
demonstrarea teoremelor se mai numeste si metoda respingerii prin rezolutie sau respingere
55
rezolutiva. 8etoda rezolutiei se aplica insa unei forme standard a formulelor, numita forma
clauzala, forma introdusa de 6avis si Putnam.
3.3.1 $ransformarea formulelor in forma clauzala
efinitie. &e numeste clauza o dis=unctie de literali. &e numeste clauza de baza o clauza fara
variabile. &e numeste clauza &orn o clauza care contine cel mult un literal pozitiv.
efinitie. &e numeste clauza vida o clauza fara nici un literalD clauza vida se noteaza, prin
conventie, cu . &e numeste clauza unitara o clauza ce contine un singur literal.
7 clauza &orn poate avea una din urmatoarele patru forme2 o clauza unitara pozitiva ce
consta intr-un singur literal pozitivD o clauza negativa formata numai din literali negatiD o clauza
formata dintr-un literal pozitiv si cel putin un literal negativ .clauza &orn mixta/ sau clauza vida.
&e numeste clauza .,orn/ distincta o clauza ce are exact un literal pozitiv, ea fiind fie o clauza
unitara pozitiva, fie o clauza ,orn mixta.
!xemple2
(.
P.x, :/ < ;.x, f .:// 1.z/
este o clauza. Intr-o clauza toate variabilele sint implicit
cuantificate universal.
5.
< P.a, :/ < ;.x, z/ P.x, :/
este o clauza ,orn, in particular o clauza ,orn distincta.
*.
P.a, b/ ;.c, d/ 1.a/
este o clauza de baza deoarece nu contine variabile.
"ransformarea unei formule bine formate in forma clauzala se face pe baza regulilor
prezentate in continuare.
Pasul 1. &e elimina toti conectorii logici de implicatie si ec#ivalenta folosind legile de
eliminare a implicatiei si a implicatiei duble prezentate in 3igura *.>.
Pasul ". &e muta toate negatiile din formula astfel incit sa preceada atomii folosind legea
negarii negatiei, legile lui 6e 8organ si legile de ec#ivalenta a cuantificatorilor prezentate in
3igura *.>.
!xemplu. 3ormula
< .. x/P.x/ . :/;.://
se transforma in
< .< .. x/P.x// . :/;.://

apoi in
. x/P.x/ < .. :/;.://
din care se obtine in final formula
. x/P.x/ . :/ < ;.:/
.
Pasul 3. &e redenumesc variabilele, daca este cazul, astfel incit toti cuantificatorii sa se refere la
variabile diferite, i.e. se redenumesc variabilele astfel incit variabilele referite de un cuantificator
sa nu aiba acelasi nume cu variabilele referite de alt cuantificator.
!xemplu. In formula
. x/.P.x/ . x/;.x//
se redenumeste cea de a doua variabila x referita
de cuantificatorul existential .x/ si se obtine formula
. x/.P.x/ . :/;.://
.
5*
Pasul %. &e elimina toti cuantificatorii existentiali din formula printr-un proces de substitutie
numit s'olemnizare. Acest proces necesita ca toate variabilele definite de un cuantificator
existential sa fie inlocuite prin functii &Jolemn, adica functii arbitrare care pot lua intotdeauna
valoarea ceruta de cuantificatorul existential. &Jolemnizarea se executa dupa urmatoarele reguli2
>.(. 6aca primul .cel mai din stinga/ cuantificator este un cuantificator existential, se
inlocuiesc toate aparitiile variabilei pe care o cuantifica cu o constanta arbitrara care nu apare
nicaieri in expresie si se elimina cuantificatorul. Acest proces se aplica pentru toti cuantificatorii
existentiali care nu sint precedati de cuantificatori universali, folosind constante diferite in
substitutie.
>.5. Pentru fiecare cuantificator existential care este precedat de unul sau mai multi
cuantificatori universali, se inlocuiesc toate aparitiile variabilei cuantificate printr-o functie care
nu mai apare in expresie si care are ca argumente toate variabilele cuantificate universal ce preced
cuantificatorul existential. Cuantificatorul existential se elimina. Procesul se repeta pentru fiecare
cuantificator existential folosind un simbol de functie diferit si alegind ca variabile ale functiei
argumentele care corespund tuturor variabilelor cuantificate universal ce preced cuantificatorul
existential.
!xemplu. 4xpresia
. u/. v/. x/. :/.P.f .u/, v, x, :/ ;.u, v, ://
se transforma prin substitutii
de sJolemnizare in
. v/. x/.P.f .a/, v, x, g.v, x// ;.a, v, g.v, x///
. Inlocuirea variabilei : cu o
functie arbitrara de argumente v si x se =ustifica pe baza faptului ca variabila :, urmind dupa
variabilele v si x, poate fi dependenta functional de acestea iar in acest caz, functia arbitrara g
poate reproduce aceasta dependenta.
Pasul &. &e muta toti cuantificatorii unviersali la stinga expresiei si se transforma expresia in
forma normal con=unctiva.
Pasul ,. &e elimina toti cuantificatorii universali deoarece ei sint retinuti implicit in forma
clauzala si se elimina con=unctiile din forma normal con=unctiva. In acest fel se obtine o multime
de formule numite clauze.
'bser(atie. 8ultimea de clauze obtinute prin procesul de mai sus nu este ec#ivalenta cu
formula originala dar realizabilitatea formulei este pastrata. 8ultimea de clauze este realizabila
respectiv inconsistenta, daca si numai daca formula originala este realizabila, respectiv
inconsistenta.
!xemplu. &e considera urmatoarea formula
. x/. :/.. z/P.f .x/, :, z/ .. u/;.x, u/ . v/1.:, v///
Pentru a transforma aceasta formula in forma clauzala se aplica procedeul descris anterior. Prin
executia procedurii pas cu pas se obtine
5>
Pasul (. &e elimina conectorul de implicatie logica si se obtine
. x/. :/.< . z/P.f .x/, :, z/ .. u/;.x, u/ . v/1.:, v///
Pasul 5. &e aduc negatiile in fata atomilor si se obtine
. x/. :/.. z/ < P.f .x/, :, z/ .. u/;.x, u/ . v/1.:, v///
Pasul *. Acest pas nu este necesar deoarece toate variabilele cuantificate au nume distincte.
Pasul >. &e aplica sJolemnizarea si se elimina astfel cuantificatorii existentiali prin introducerea
functiilor g.:/, #.:/ si l.:/ si a constantei a. &e obtine
. :/.< P.f .a/, :, g.:// .;.a, #.:// 1.:, l.:////
Pasul 0. &e transforma formula in forma normal con=unctiva si se obtine
. :/..< P.f .a/, :, g.:/ ;.a, #.:/// .< P.f .a/, :, g.:// 1.:, l.:////
Pasul 6. &e elimina cuantificatorul universal si con=unctia, obtinindu-se multimea de doua clauze
< P.f .a/, :,g.:// ;.a, #.://
< P.f .a/, :, g.:// 1.:, l.://
Aceasta multime de clauze reprezinta transformarea formulei initiale in forma clauzala.
3.3." Rezolutia in logica propozitionala
Pentru a explica principiul rezolutiei, in aceasta sectiune se prezinta rezolutia pentru cazul
particular al demonstrarii teoremelor in logica propozitionala. Principiul rezolutiei in logica
propozitionala este urmatorul. Pentru orice doua clauze C
(
si C
5
, daca exista un literal L
(
in C
(
care este complementar cu un literal L
5
in C
5

.L A< L /
( 5
atunci dis=unctia intre C
(
din care s-a
eliminat L
(
si C
5
din care s-a eliminat L
5
este rezolventul clauzelor C
(
si C
5
. &e mai spune ca cele
doua clauze, C
(
si C
5
, rezolva.
efinitie. 3ie clauzele2
.C
(
/
P P ... P ... P
( 5 i n

.C
5
/
; ; ... < ; ... ;
( 5 = m

cu
P A ; A L
i =
. Rezolventul clauzelor C
(
si C
5
este
C A rez.C , C / A .C - BLC/ .C - B< LC/
( 5 ( 5


deci
50
.C/
P P ... P P ... P ; ... ; ; ... ;
( 5 i-( iK( n ( =-( =K( m

$eorema. 3iind date doua clauze, C
(
si C
5
, un rezolvent C al clauzelor C
(
si C
5
este o consecinta
logica a clauzelor C
(
si C
5
.
Pentru a demonstra ca o formula & este o teorema derivata dintr-un set de axiome A utilizind
principiul rezolutiei, se aplica algoritmul prezentat in continuare. Ideea algoritmului este aceea de
a porni de la o multime de clauze care se presupune a fi realizabila si a genera noi clauze care
reprezinta restrictii asupra modului in care clauzele originale pot fi facute adevarate. Apare o
contradictie in momentul in care o clauza devine atit de restrictionata incit nu mai poate fi facuta
adevarata. Acest lucru este indicat de generarea clauzei vide.
-lgoritm2 1espingerea prin rezolutie in logica propozitionala.
(. Converteste setul de axiome A in forma clauzala si obtine multimea de clauze &
G
5. $eaga teorema, transforma teorema negata in forma clauzala si adauga rezultatul la &
G
& &
G

*. repeta
*.(. &electeaza o perec#e de clauze C
(
si C
5
din &
*.5. 6etermina
C A rez.C , C /
( 5
*.*. daca
C
atunci
& & BCC
pina s-a obtinut clauza vida . / sau
nu mai exista nici o perec#e de clauze care rezolva
>. daca s-a obtinut clauza vida
atunci teorema este adevarata .este demonstrata/
0. altfel teorema este falsa
sfirsit.
&e considera urmatoarele enunturi2
.(/ Am timp liber.
.5/ 6aca am timp liber si ma plimb atunci cunosc orasul.
.*/ 6aca este soare sau este cald atunci ma plimb.
.>/ 4ste cald.
&e cere sa se demonstreze utilizind metoda respingerii prin rezolutie enuntul2
56
.0/ Cunosc orasul.
Pentru aceasta se exprima primele patru enunturi si enuntul de demonstrat in logica
propozitionala obtinindu-se urmatorul set de axiome
.A(/ "
.A5/
" P 7
.A*/
& C P
.A>/ C
si concluzia de demonstrat
.C/ 7
&e transforma axiomele in forma clauzala, se neaga teorema .C/ si se adauga la multimea de
clauze obtinute din axiome. In urma acestui proces se obtine urmatoarea multime de clauze2
.C(/ "
.C5/ < " < P 7
.C*/ < & P
.C*?/ < C P
.C>/ C
.C0/ <7
6educerea clauzei vide din setul de axiome, deci demonstrarea prin respingere a teoremei
!Cunosc orasul!, este prezentata in 3igura *.0.
5-
.C5/ <" @ <P @ 7 <7 .C0/
.C6/ <" @ <P " .C(/
.C-/ <P <C @ P .C*?/
.C9/ <C C .C>/
#igura 3.& Respingerea prin rezolutie in logica propozitionala
3.3.3 .nificarea expresiilor
In logica propozitionala este usor sa se identifice perec#ile de literali complementari, L si <L, din
doua clauze pentru a aplica rezolutia. In logica cu predicate de ordinul I acest lucru este mai
dificil deoarece in procesul de identificare trebuie tinut cont de argumentele predicatelor. 6e
exemplu, literalii P.x/ si P.a/ pot unifica cu conditia ca sa se aplice o regula de substitutie in
primul literal prin care variabila x sa fie inlocuita cu constanta a. asirea unei substitutii pentru
variabilele din expresii sau subexpresii astfel incit expresiile, respectiv subexpresiile, sa devina
identice, se numeste unificare si este un proces esential in demonstrarea teoremelor in general si,
in particular, prin metoda rezolutiei.
efinitie. 7 substitutie este o multime de perec#i
.t , v /, i A(, n
i i
, in care v
i
sint variabile
distincte si t
i
sint termeni care nu contin v
i
. "ermenii t
i
inlocuiesc variabilele
v , i A(, n
i
in orice
expresie in care se aplica substitutia. 7 substitutie se noteaza
A Bt L v , t L v ,..., t L v C, n (
( ( 5 5 n n

.
In continuare se vor folosi litere grecesti pentru reprezentarea substitutiilor. 1ezultatul
aplicarii unei substitutii asupra unei expresii 4 este notat 4 si este expresia obtinuta prin
inlocuirea tuturor aparitiilor variabilei v
i
cu termenul t
i
in expresia 4, pentru toate perec#ile
t Lv
i i

din substitutia . 7 expresie poate fi un termen, un literal, un atom sau o formula bine formata sau
o multime de termeni, literali, atomi sau formule bine formate.
!xemple2
(. &e considera expresia
4 A P.x, f .:/, b/
si substitutiile

(
A Bz L x, % L :C
,

5
A Ba L :C
,

*
A Bg.z/ L x,a L :C
,

>
A Bc L x, a L :C
. Prin aplicarea, pe rind, a acestor substitutii
expresiei 4 se obtine2
4 A P.z, f .%/, b/
(
59
4 A P.x, f .a/, b/
5
4 A P.g.z/, f .a/, b/
*
4 A P.c, f .a/, b/
>
&e observa ca
4 A P.c, f .a/, b/
>
este o clauza de baza.
5. 3ie expresia
4 A P.x, :/ ;.x, f .://
si aplicind substitutia
A Ba L x, g.b/ L :C
se obtine
expresia
4? A 4 A P.a, g.b// ;.a, f .g.b///
.
efinitie. &e numeste unificator al unei multimi de expresii
B4 , 4 ,..., 4 C
( 5 n
, o substitutie care
face ca expresiile sa devina identice, adica
4 A 4 A...A 4
( 5 n

. 8ultimea
B4 , 4 , ..., 4 C
( 5 n
se
numeste multime de expresii unificabila, daca exista un unificator pentru aceasta multime. &e mai
spune ca multimea de expresii unifica.
efinitie. Un unificator al unei multimi de expresii
B4 , 4 , ..., 4 C
( 5 n
este cel mai general
unificator, pe scurt mgu, daca si numai daca pentru orice alt unificator al multimii exista o
substitutie ? astfel incit
4 A 4 ? , i A(, n
i i

. Altfel spus, orice unificator al multimii
B4 , 4 , ..., 4 C
( 5 n
este o instanta a lui .
'bser(atie. 6aca doua expresii unifica, atunci exista un unic cel mai general unificator.
!xemple2
(. 3ie expresiile
4 A P.x, f .:/, b/
(
si
4 A P.x, f .b/, b/
5
. Cele doua expresii unifica aplicind
substitutia
A Ba L x, b L :C
,
4 A 4 A P.a, f .b/, b/
( 5

. Aplicind substitutia
A Bb L :C
se
obtine
4 A 4 A P.x, f .b/, b/
( 5

. &e observa ca
A Bb L :C
este cel mai general unificator
al celor doua expresii.
5. 3ie expresiile
4 A ;.x, f .x, :/, z/
(
si
4 A ;.:, z, g.t//
5
. Cel mai general unificator al
celor doua expresii este
A Bx L :? , f .x, :/ L z? , g.t/ L zC
unde :? si z? sint aparitiile
variabilelor : si z in 4
5
. 1ezultatul unificarii este
4 A 4 A ;.x, f .x, :/,g.t//
( 5

.
*. 3ie expresiile
4 A P.x, f .x/, :/
(
si
4 A P.z, z, t/
5
. Aceste doua expresii nu unifica
deoarece o posibila incercare de substitutie de tipul
Bx L z, f .x, :/ L zC
este ilegala. 6aca z
este substituit cu x si cu
f .x, :/
, de fapt x este substituit cu
f .x, :/
ceea ce contrazice
definitia substitutiei.
'bser(atie. Unificarea se poate aplica si literalilor dintr-o aceeasi clauza. 6aca exista un cel mai
general unificator astfel incit doi sau mai multi literali dintr-o clauza unifica, clauza care ramine
prin eliminarea tuturor literalilor cu exceptia unuia din literalii unificati este numita factor al
clauzei originale. 6e exemplu, fie clauza
C A P.x/ ;.x, :/ P.f .z//
si cel mai general
5)
unificator
A Bf .z/ L xC
. Atunci clauza
C? A C A P.f .z// ;.f .z/, :/
este un factor al clauzei
initiale C.
In continuare se prezinta algoritmul de unificare a literalilor sau a expresiilor in general in
logica cu predicate de ordinul I.
-lgoritm2 Unificarea expresiilor
Unifica.4 , 4 /
( 5
(. daca 4
(
si 4
5
sint constante
atunci
(.(. daca
4 A 4
( 5
atunci intoarce B C
(.5. intoarce I$&UCC4&
5. daca 4
(
este variabila sau 4
5
este variabila
atunci
5.(. &c#imba 4
(
cu 4
5
astfel incit

4
(
sa fie variabila
5.5. daca
4 A 4
( 5
atunci intoarce B C
5.*. daca 4
(
apare in 4
5
atunci intoarce I$&UCC4&
5.>. intoarce
B4 L 4 C
5 (
*. daca
4 A P.t ,..., t /
( (( (n
si
4 A P.t ,..., t /
5 5( 5n
sau

4 A f .t ,..., t /
( (( (n
si
4 A f .t ,..., t /
5 5( 5n
LF aceleasi simboluri predicative sau
functionale cu aceeasi aritate FL
atunci
*.(.
x t
((

*.5.
: t
5(

*.*.
1est t ,..., t
( (5 (n

*.>.
1est t ,..., t
5 55 5n

*.0.

(
Unifica.x, :/
*.6. daca

(
A I$&UCC4&
atunci intoarce I$&UCC4&
*.-
rezultatul aplicarii substitutiei asupra lui 1est
( ( (

*G
*.9
rezultatul aplicarii substitutiei asupra lui 1est
5 5 5

*.)

5 ( 5
Unifica. , /
*.(G. daca

5
A I$&UCC4&
atunci intoarce I$&UCC4&
*.((. intoarce
concatenare. , /
( 5

>. intoarce I$&UCC4&
sfirsit.
'bser(atii2
(. Algoritmul intoarce lista de substitutii care formeaza cel mai general unificator al celor
doua expresii .literali/ 4
(
si 4
5
. Algoritmul este garantat sa produca cel mai general
unificator, daca acesta exista.
5. In cazul in care cele doua expresii nu unifica, algoritmul intoarce valoarea speciala
I$&UCC4& pentru a marca esecul unificarii.
*. Pasul 5.* verifica daca o expresie care contine o anumita variabila nu este unificata cu
acea variabila.
3.3.% Rezolutia in logica cu predicate de ordinul I
Aplicarea principiului rezolutiei in logica cu predicate de ordinul I implica construirea
rezolventului a doi literali complementari, care fie sint identici, fie au fost facuti identici prin
aplicara substitutiei definita de cel mai general unificator al celor doi literali asupra clauzelor ce
contin acesti doi literali.
efinitie. 3ie clauzele2
.C
(
/
P P ... P ... P
( 5 i n

.C
5
/
; ; ... < ; ... ;
( 5 = m

numite clauze parinte si cel mai general unificator al literalilor P
i
si ;
=
, cu
P A ;
i =

. Atunci
C A rez .C , C / A .C - BP C/ .C - B< ; C/
( 5 ( i

5 =

este un rezolvent binar al clauzelor C
(
si C
5
.
'bser(atie. 1ezolventul a doua clauze nu este unic. Aplicarea rezolutiei intre doua clauze care
rezolva poate genera diversi rezolventi in cazul in care in cele doua clauze exista mai multi
literali complementari care, prin unificare, pot fi facuti identici.
!xemple2
*(
(. 3ie clauzele
C A< Citeste.x/ Literat.x/
(

si
C A< 6elfin.:/ < Literat.:/
5

. Cel mai
general unificator al celor doua clauze este
A Bx L :C
si rezolventul celor doua clauze
este
C A rez.C ,C / A< Citeste.x/ < 6elfin.x/
( 5

, literalii complementari care au rezolvat
fiind Literat.x/ si <Literat.:/.
5. 3ie clauzele
C A P.x, f .a// P.x, f .:// ;.:/
(

si
C A< P.z, f .a// ;.z/
5
<
. Aceste doua
clauze pot rezolva si pot produce diversi rezolventi. 6aca se selecteaza
A Bx L zC
atunci
C A P.x, f .a// P.x, f .:// ;.:/
(

si
C A< P.x, f .a// ;.x/
5
<
si
C A rez.C , C / A P.x, f .:// ;.:/ < ;.x/
( 5

prin unificarea literalilor
P.x, f .a//
si
< P.z, f .a//
. Aplicind o noua subtitutie pentru aceasta clauza,
? A B: L xC
, se obtine
C? A C ? A P.:, f .://
.
6aca se selecteaza cel mai general unificator al literalilor
;.:/
si
< ;.z/
,
A B: L zC

atunci se obtine un alt rezolvent
C A rez.C , C / A P.x, f .a// P.x, f .:// < P.:, f .a//
( 5

.
6aca se selecteaza
A Ba L :, z L xC
ca cel mai general unificator al literalilor
P.x, f .://
si
< P.z, f .a//
atunci
C A rez.C ,C / A P.z, f .a// ;.a/ < ;.z/
( 5

.
6emonstrarea teoremelor aplicind metoda respingerii prin rezolutie poate fi descrisa de
algoritmul urmator. 4nunturile care descriu problema trebuie exprimate in modelul logic si
formeaza multimea de axiome A. Concluzia care trebuie obtinuta, deci rezolvarea problemei, este
teorema de demonstrat.
-lgoritm2 1espingerea prin rezolutie in logica cu predicate de ordinul I
(. Converteste setul de axiome A in forma clauzala si obtine multimea de clauze &
G
5. $eaga teorema de demonstrat, transforma teorema negata in forma clauzala si adauga
rezultatul obtinut la &
G
& &
G

*. repeta
*.(. &electeaza o perec#e de clauze C
(
, C
5
*.5. 3ie literalii
L C
( (

si
< L C
5 5

*.*. Aplica unificarea si calculeaza


A mgu.L , L /
( 5
*.>. daca

atunci
*.>.(. 6etermina
C A rez.C , C /
( 5

*.>.5. daca
C
atunci
& & BCC
pina s-a obtinut clauza vida . / sau
*5
nu mai exista nici o perec#e de clauze care rezolva sau
o cantitate predefinita de efort a fost epuizata
>. daca s-a obtinut clauza vida
atunci teorema este adevarata .este demonstrata/
0. altfel
0.(. daca nu mai exista nici o perec#e de clauze care rezolva
atunci teorema este falsa
0.5. altfel nu se poate spune nimic despre adevarul teoremei
sfirsit.
'bser(atii2
In cazul in care s-a obtinut clauza vida, metoda respingerii prin rezolutie garanteaza
faptul ca teorema este adevarata, deci este demonstrabila pe baza setului de axiome A.
1eciproc, daca teorema este adevarata, se poate obtine clauza vida dupa un numar finit de
executii a pasului *, cu conditia ca strategia de rezolutie sa fie completa.
Conditia de oprire a ciclului, !o cantitate predefinita de efort a fost epuizata!, absenta in
cazul algoritmului respingerii prin rezolutie in calculul cu propozitii, a fost introdusa in
acest caz deoarece metoda demonstrarii teoremelor prin respingere rezolutiva este
semidecidabila in logica cu predicate de ordinul I. In cazul in care concluzia " de
demonstrat este falsa, deci nu este teorema, este posibil sa se a=unga in situatia in care,
daca avem noroc, !nu mai exista nici o perec#e de clauze care rezolva!. Atunci se poate
concluziona ca teorema este falsa. 6ar este de asemenea posibil ca pasul * sa se execute
la infinit daca " nu este teorema. 6in acest motiv se introduce o cantitate predefinita de
efort .resurse de timp sau spatiu/ la epuizarea careia algoritmul se opreste. In acest caz s-
ar putea ca teorema sa fie adevarata, dar efortul predefinit impus sa fie prea mic, sau se
poate ca " sa nu fie teorema. 1ezulta deci ca nu se poate spune nimic despre adevarul
teoremei.
&e prezinta in continuare doua exemple de demonstrare a teoremelor utilizind metoda
respingerii prin rezolutie. Primul exemplu considera din nou problema delfinilor inteligenti,
prezentata in &ectiunea *.5.5, exprimata prin urmatoarele trei enunturi2
.(/ 7ricine poate citi este literat.
.5/ 6elfinii nu sint literati.
.5/ Anumiti delfini sint inteligenti.
si cere sa se demonstreze ca
**
.>/ 4xista inteligenti care nu pot citi.
&e exprima setul de propozitii in logica cu predicate si se obtin urmatoarele trei axiome si
concuzia de demonstrat2
.A(/
. x/.Citeste.x/ Literat.x//
.A5/
. :/.6elfin.:/ < Literat.://
.A*/
. z/.6elfin.z/ Inteligent.z//
.C/
. u/.Inteligent.u/ < Citeste.u//
&e transforma axiomele in forma clauzala si se obtine2
.C(/
< Citeste.x/ Literat.x/
.C5/
< 6elfin.:/ < Literat.:/
.C*/ 6elfin.a/
.C*?/ Inteligent.a/
&e neaga teorema, obtinindu-se
< .. u/.Inteligent.u/ < Citeste.u///
si se transforma teorma
negata in forma clauzala, rezultatul adaugindu-se la multimea de clauze de mai sus.
.C>/
< Inteligent.u/ Citeste.u/
6educerea clauzei vide, deci demonstratia teoremei, este prezentata in 3igura *.6.
.C>/ <Inteligent.u/ @ Citeste.u/ Inteligent.a/ .C*?/
BaLzC
.C0/ Citeste.a/ <Citeste.x/ @ Literat.x/ .C(/
BaLxC
.C6/ Literat.a/ <6elfin.:/ @ <Literat.:/ .C5/
BaL:C
.C-/ <6elfin.a/ 6elfin.a/ .C*/
#igura 3., Respingerea prin rezolutie in logica cu predicate de ordinul I
&e observa ca o demonstratie prin respingere prin rezolutie poate fi reprezentata convenabil
printr-un arbore de respingere sau arbore de deductie care are ca radacina clauza vida. In acest
*>
arbore trebuie marcate clauzele care rezolva si puse in evidenta substitutiile efectuate pentru
unificarea literalilor complementari.
&e considera in continuare urmatoarea problema de transport.
.(/ 6aca orasul x este legat de orasul : prin drumul z si pot circula biciclete pe drumul
z, atunci se poate merge de la x la :.
.5/ 6aca orasul x este legat de orasul : prin drumul z, atunci orasul : este legat de
orasul x prin drumul z.
.*/ 6aca se poate merge de la x la : si de la : la z atunci se poate merge de la x la z.
.>/ 7rasul a este legat de orasul b prin drumul d(.
.0/ 7rasul b este legat de orasul c prin drumul d5.
.6/ 7rasul a este legat de orasul c prin drumul d*.
.-/ Pot circula biciclete pe d(.
.9/ Pot circula biciclete pe d5.
&e cere sa se demonstreze ca se poate merge de la orasul a la orasul c.
4xprimarea in logica cu predicate a problemei date conduce la urmatoarea multime de
formule, din care primele opt sint axiomele problemei, ultima fiind concluzia de demonstrat.
.A(/
. x/. :/. z/.Legat.x, :, z/ Hic.z/ 8erg.x, ://
.A5/
. x/. :/. z/.Legat.x, :, z/ Legat.:, x, z//
.A*/
. x/. :/. z/.8erg.x, :/ 8erg.:, z/ 8erg.x, z//
.A>/
Legat.a, b,d(/
.A0/
Legat.b, c, d5/
.A6/
Legat.a,c, d*/
.A-/
Hic.d(/
.A9/
Hic.d5/
.C/
8erg.a, c/
&e transforma axiomele in forma clauzala, se neaga teorema si se transforma teorema negata
in forma clauzala, obtinindu-se urmatoarea multime de clauze2
*0
.C(/
< Legat.x, :, z/ < Hic.z/ 8erg.x, :/
.C5/
< Legat.x, :, z/ Legat.:, x, z/
.C*/
< 8erg.x, :/ 8erg.:, z/ 8erg.x, z/ <
.C>/
Legat.a, b,d(/
.C0/
Legat.b, c, d5/
.C6/
Legat.a,c, d*/
.C-/
Hic.d(/
.C9/
Hic.d5/
.C)/
< 8erg.a, c/
6emonstratia teoremei
8erg.a, c/
este prezentata in 3igura *.-.
.C)/ <8erg.a,c/
.C(G/ <8erg.a,:/ @ <8erg.:,c/
.C((/ <8erg.:,c/ @ <Legat.a,:,z/ @ <Hic.z/
.C(5/ <8erg.b,c/ @ <Hic.d(/
.C(*/ <8erg.b,c/
.C(>/ <Legat.b,c,z/ @ <Hic.z/
.C(0/ <Hic.d5/
<8erg.x,:/ @ <8erg.:,z/ @ 8erg.x,z/ .C*/
<Legat.x,:,z/ @ <Hic.z/ @ 8erg.x,:/ .C(/
Legat.a,b,d(/ .C>/
Hic.d(/ .C-/
<Legat.x,:,z/ @ <Hic.z/ @ 8erg.x,:/ .C(/
Legat.b,c,d5/ .C0/
Hic.d5/ .C9/
BaLx, cLzC
BaLxC
BbL:, d(LzC
BbLx, cL:C
Bd5LzC
#igura 3./ emonstrarea teoremei Merg*a0c+ utilizind rezolutia
*6
&e observa din acest exemplu ca, in fiecare punct, exista numeroase perec#i de clauze care
pot rezolva. 4ste rolul strategiei de control de a elimina, partial sau total, aceasta ambiguitate.
3.3.& Strategii rezoluti(e
Algoritmul respingerii prin rezolutie in logica cu predicate de ordinul I prezentat in sectiunea
anterioara, ca si cel din calculul propozitional de altfel, contine o etapa nedeterminista, pasul *.(.
In acest pas al algoritmului nu se spune nimic despre modul in care trebuie selectate cele doua
clauze care rezolva. 4ste rolul strategiei rezolutive de a transforma acest pas intr-un pas
determinist. 6eoarece rezolutia este o metoda de inferenta, modul de aplicare repetata a rezolutiei
pentru a rezolva problema este stabilit de strategia de control utilizata. &trategia rezolutiva trebuie
sa dea criteriile de selectie a perec#ilor de clauze care rezolva, in cazul in care exista mai multe
astfel de clauze. 4ventual, strategia de control poate sa stabileasca si care literali din cele doua
clauze care rezolva sint selectati pentru a produce rezolventul.
&e reaminteste faptul ca o strategie rezolutiva este completa daca, prin aplicarea ei, se poate
demonstra teorema .se produce clauza vida/ ori de cite ori formula de demonstrat este teorema.
Cele mai importante strategii rezolutive sint prezentate in continuare.
Strategia dezvoltarii pe latime sau pe nivel, numita si metoda saturarii nivelului, are la
baza urmatoarea idee2 se calculeaza toti rezolventii posibili de pe un nivel, acesti
rezolventi se adauga la acest nivel pentru a forma nivelul urmator si se reia procesul
pentru nivelul urmator. Aceasta strategie este o strategie completa dar prezinta
dezavanta=ul unui consum mare de resurse spatiu si timp.
Strategia multimii suport are la baza urmatoarea idee2 se imparte multimea de clauze in
doua submultimi de clauze &
(
si &
5
, de preferinta astfel incit, pentru orice interpretare I,
clauzele din &
(
sint adevarate in I, iar clauzele din &
5
sint false in I. &e aplica rezolutia
numai intre perec#i de rezolventi din multimi diferite, deci
C &
( (

si
C &
5 5

. Aceasta
strategie este completa si poate fi asimilata cu o cautare pe nivel in spatiul starilor.
Strategia rezolutiei semantice combina strategia multimii suport cu rezolvarea in
simultan a mai multor clauze. In acest fel se incearca eliminarea clauzelor inutile prin
rezolvarea simultana a unui grup de clauze, ordonarea predicatelor si ordonarea clauzelor.
&trategia rezolutiei semantice este o strategie completa.
Strategia rezolutiei liniare are la baza urmatoarea idee2 orice rezolvent C
i
obtinut in
rezolutie este utilizat ca unul din cei doi rezolventi pe baza carora se obtine urmatorul
rezolvent
C , i A(, 5,..., n -(
i K(
. Aceasta strategie este completa si, in plus, simplu si
eficient de implementat.
*-
Strategia rezolutiei de intrare liniara este un caz particular al strategiei rezolutiei liniare
in care una din clauzele care rezolva apartine intotdeauna setului initial de axiome. 4ste o
strategie foarte eficienta dar nu este completa. Aceasta strategie de control sta la baza
functionarii mecanismului de demonstrare a teoremelor din limba=ul Prolog, asa cum se
va explica in detaliu in Capitolul ((.
Strategia rezolutiei unitare, numita si strategia preferintei unitare, este un alt caz
particular al strategiei rezolutiei liniare, in care una din clauzele ce rezolva este o clauza
unitara, deci o clauza care contine un singur literal. Aceasta strategie nu este completa.
Cele doua exemple de demonstrare a teoremelor prezentate in sectiunea anterioara, i.e.
problema delfinilor inteligenti si problema de transport, au folosit o strategie rezolutiva liniara, in
particular rezolutia de intrare liniara. In acelasi timp se poate considera ca s-a aplicat si o strategie
a multimii suport in care multimea de clauze s-a impartit in multimea &
(
care contine toate
clauzele provenite din setul initial de axiome si multimea &
5
care contine clauzele provenite din
negarea teoremei de demonstrat.
Aplicind strategia dezvoltarii pe latime in cazul problemei delfinilor inteligenti se vor obtine
pentru primele doua nivele rezolventii .distincti/ prezentati in 3igura *.9. 3iind o strategie de
cautare pe nivel, strategia dezvoltarii pe latime, daca poate deduce clauza vida, va gasi automat si
drumul cel mai scurt spre solutie. 6e multe ori, in demonstrarea teoremelor intereseaza mai putin
drumul cel mai scurt spre clauza vida si mai mult numarul de rezolventi generati. 6in aceasta
cauza strategii care genereaza mai putini rezolventi, cum ar fi strategiile liniare, sint preferate.
<C.x/ @ L.x/ <6.:/ @ <L.:/ 6.a/ I.a/ <I.u/ @ C.u/
<C.x/ @ <6.:/ L.x/ @ <I.x/ <L.a/ C.a/
<6.a/ <C.a/ <I.a/ <6.:/ @ <I.:/ <6.:/ @ <I.:/
#igura 3.1 Strategia dez(oltarii pe latime
&trategiile prezentate ofera criterii de selectie a clauzelor utilizate in producerea
rezolventului, deci o modalitate sistematica de generare a rezolventilor, dar de multe ori, nu
indica selectia unei perec#i unice de clauze dintre clauzele ce pot rezolva la un moment dat. In
plus, nu se spune nimic despre perec#ea de literali complementari care trebuie selectata in cazul
in care doua clauze pot rezolva in mai multe feluri. Pentru rezolvarea acestor probleme si
construirea unui program performant de demonstrare a teoremelor trebuie utilizate si criterii
euristice 'C#ang,Lee,()-*+.
*9
3.3., 'btinerea raspunsurilor utilizind respingerea prin rezolutii
"e#nica demonstrarii teoremelor poate fi utilizata si pentru a obtine raspunsuri la intrebari despre
universul problemei descris de axiome '$ilsson,()9G+. 8ulte teoreme sint reprezentate prin
formule care contin variabile cuantificate existential, de forma
. x/P.x/
. In aceste cazuri este de
dorit sa se poata raspunda la intrebari de tipul !Ce valoare are x daca formula
. x/P.x/
este
adevarataE! Pentru a putea raspunde la aceste intrebari este nevoie de o metoda de demonstratie
constructiva. Aceasta metoda se obtine printr-o extindere a metodei respingerii rezolutiei.
&e considera urmatorul enunt2 !6aca rivei merge oriunde merge 8i#ai si 8i#ai este la
scoala, unde este riveiE!. Pentru a rezolva aceasta problema, se exprima cunostintele in modelul
logic
.A(/
. x/.4steLa.mi#ai, x/ 4steLa.grivei, x//
.A5/
4steLa.mi#ai, scoala/
.C/
. :/4steLa.grivei, :/
3orma clauzala ec#ivalenta este2
.C(/
< 4steLa.mi#ai, x/ 4steLa.grivei, x/
.C5/
4steLa.mi#ai, scoala/
.C*/
< 4steLa.grivei, :/
6emonstratia teoremei
. :/4steLa.grivei, :/
este banala, arborele de deductie fiind
prezentat in 3igura *.).a/. Pentru a putea obtine insa si o instanta a variabilei :, instanta care va
indica unde este rivei, se adauga clauzei care a rezultat din negarea teoremei c#iar negarea ei,
astfel incit aceasta sa devina o tautologie2
< 4steLa.grivei, :/ 4steLa.grivei, :/
. Apoi, urmarind
structura arborelui de deductie generat anterior, se executa aceleasi rezolutii care s-au executat
pentru demonstrarea teoremei, asa cum se prezinta in 3igura *.).b/. Instanta obtinuta in radacina
acestui nou arbore, deci formula care inlocuieste clauza vida a arborelui initial, contine raspunsul
la intrebare. 6eci locul in care se afla rivei este scoala.
*)
.C*/ <4steLa.grivei,:/ <4steLa.mi#ai,x/ @ 4steLa.grivei,x/ .C(/
.C>/ <4steLa.mi#ai,x/ 4steLa.mi#ai,scoala/ .C5/
BxL:C
BscoalaLxC
.a/
.C*/ <4steLa.grivei,:/ @ <4steLa.mi#ai,x/ @ 4steLa.grivei,x/ .C(/
.C>/ <4steLa.mi#ai,x/ @ 4steLa.mi#ai,scoala/ .C5/
BxL:C
BscoalaLxC
.b/
!steLa*gri(ei02+
!steLa*gri(ei0x+
!steLa*gri(ei0scoala+
#igura 3.3 'btinerea raspunsurilor la intrebari utilizind rezolutia
Procesul descris implica transformarea fiecarei clauze care apare din negarea teoremei intr-o
tautologie. Arborele de deductie modificat este deci o demonstratie prin rezolutie a faptului ca
formula din radacina se deduce logic din axiome si tautologii, ceea ce inseamna de fapt numai din
axiome. Acest lucru =ustifica faptul ca procesul descris pentru a obtine raspunsuri este corect.
&intetizind, obtinerea raspunsurilor la intrebari utilizind metoda respingerii prin rezolutie
este un proces format din urmatorii pasi2
.(/ &e construieste arborele de respingere prin rezolutie care demonstreaza teorema pe
baza multimii initiale de axiome.
.5/ &e substituie functiile &Jolemn, .daca exista/, din clauzele care rezulta din negarea
teormei cu noi variabile.
.*/ Clauzele care rezulta din negarea teoremei sint transformate in tautologii prin
adaugarea literalilor potriviti.
.>/ &e construieste un arbore de deductie modificat cu aceeasi structura cu cea a
arborelui initial. 3iecare rezolutie in arborele modificat utilizeaza aceleasi substitutii
ca cele folosite in arborele de respingere initial.
>G
.0/ Clauza obtinuta in radacina arborelui de deductie modificat contine raspunsul
cautat.
Logica cu predicate de ordinul I se inscrie in domeniul logicii clasice. &tudiile de logica si
abordarile logice ale problemelor de inteligenta artificiala au investigat insa si alte tipuri de logici,
cum ar fi logicile multivalente, in special logicile vagi, logicile modale si temporale si logicile
nemonotone, caz particular al logicilor modale. Logicile nemonotone au un rol important in
inteligenta artificiala deoarece sint capabile sa elimine o parte din limitarile logicii clasice in
domeniul reprezentarii si rationamentului, utilizind cunostinte de bun simt.
3.% !xercitii si probleme
(. &a se construiasca tabelele de adevar asociate urmatoarelor formule2
P .P ;/
P .; P/
< P < .P ;/
P .; P/ P
.P < ;/ .< P ;/
&a se discute caracterul .tautologie, contradictie, realizabila/ fiecarei formule.
5. &a se transforme urmatoarele formule in forma normal con=unctiva2
.P ;/ 1
P .< P ; 1/
.< P ;/ .P < ;/ &
*. &e considera urmatoarea formula
. x/.P.x/ . x/P.x//
.
.a/ &a se demonstreze ca aceasta formula este intotdeauna valida daca domeniul ei de
interpretare contine un singur element.
.b/ 3ie domeniul
6 A Ba, bC
. &a se gaseasca o interpretare a formulei peste 6, interpretare
pentru care formula este falsa.
>. &e considera domeniul
6 A B(, 5C
si urmatoarea interpretare2
c d
( 5
f .(/ f .5/
5 (
P.(,(/ P.(, 5/ P.5,(/ P.5, 5/
a a f f
&a se evalueze valorile de adevar ale urmatoarelor formule in interpretarea de mai sus2
P.c, f .c// P.d, f .d//
. x/. :/P.:, x/
>(
. x/. :/.P.x, :/ P.f .x/, f .:///
0. &a se transforme in forma clauzala formula2
. x/.< P.x, a/ .. :/.P.:, g.x// . z/.P.z, g.x// P.:, z/////
6. &e considera exemplul asasinului roman din &ectiunea *.5.0 si se cere2
.a/ &a se transforme axiomele in forma clauzala.
.b/ &a se demonstreze utilizind metoda respingerii prin rezolutie teorema
6evotat.marcus, cezar/
.
.c/ &a se demonstreze prin metoda respingerii prin rezolutie teorema
Ura.marcus, cezar/
.
.d/ Ce se poate spune despre adevarul teoremei
< 6evotat.marcus, cezar/
.
-. &e considera problema de transport prezentata in &ectiunea *.*.> in care se modifica enuntul
.9/ in urmatorul fel2
.9?/ Pot circula biciclete fie pe drumul d5 fie pe drumul d*, dar niciodata pe ambele drumuri
in acelasi timp.
&e cere2
.a/ &a se exprime enunturile in logica cu predicate de ordinul ID
.b/ &a se demonstreze, in noile conditii, utilizind metoda respingerii prin rezolutie, teorema
8erg.a, c/
.
9. &e stie ca un grup satisface urmatoarele > axiome2
A(. Pentru orice
x, : , x :
A5. Pentru orice
x, :, z , x : z/ A .x :/ z .
A*. x e A e x A x pentru orice x , unde e este elementul identic al grupului.
A>. Pentru fiecare x exista un element
x
-(

astfel incit
x x A x x A e
-( -(

&e cere2
.a/ &a se exprime axiomele A(A> in logica cu predicate de ordinul I utilizind predicatele
P.x,:,z/ pentru
x : A z
si I.x/ pentru
x
-(
.
.b/ &a se exprime in logica cu predicate teorema2
6aca x x A e pentru orice x atunci pentru orice
u, v , u v A v u
, deci este
comutativ.
.c/ &a se demonstreze teorema pe baza axiomelor date.
). &e considera urmatorul enunt2 !Pentru orice persoane x, :, z, daca x este parintele lui : si :
este parintele lui z, atunci x este bunicul lui z!.
>5
.a/ &e cere sa se demonstreze utilizind rezolutia ca !4xista persoane x si : astfel incit x este
bunicul lui :!.
.b/ &a se utilizeze metoda de obtinere a raspunsurilor pe baza respingerii prin rezolutie
pentru a afla instantele variabilelor x si : din enuntul de la punctul .a/.
>*

S-ar putea să vă placă și