Documente Academic
Documente Profesional
Documente Cultură
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
#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
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
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/.
>*