Sunteți pe pagina 1din 8

INTELIGENŢĂ ARTIFICIALĂ 2009/2010

CURS 4

3. Reprezentarea cunoştiinţelor şi modelarea raţionamentului


Inteligenţa Artificială, aşa cum s-a arătat într-un capitol anterior, se bazează pe exploatarea
anumitor cunoştiinţe relative la aplicaţia abordată. Pentru a putea fi exploatată această
cunoştiinţă trebuie reprezentată într-o manieră adecvată. Modul de reprezentare ales va
influenţa decisiv eficacitatea mecanismului de gândire (inferenţă) utilizat.

3.1 Logica predicatelor


Punctul forte al unei reprezentări logice este acela că ea permite un mecanism de raţionare
(inferenţă) foarte puternic. Punctul slab al unei astfel de reprezentări este acela că
reprezentarea nu este ierarhizabilă: toate elementele cunoaşterii, chiar dacă sunt fundamentale
sau nu, sunt puse practic pe picior de egalitate. Vom evidenţia aceste caracteristici în cele ce
urmează.

De exemplu într-o aplicaţie de robotică este necesar să se reprezinte, într-o structură de date,
caracteristici descriptive cum ar fi "obiectul a este deasupra obiectului b şi lângă obiectul c".
Acest tip de expresie se reprezintă greu sub formă de număr, vector sau matrice.

Logica predicatelor (de primul ordin) este un formalism care permite rezolvarea problemelor
de tipul prezentat mai sus.

3.1.1 Concepte fundamentale

Logica predicatelor este un limbaj care utilizează simbolurile următoare:


ƒ predicat
ƒ funcţie
ƒ variabilă
ƒ constantă

Numai predicatul este un concept nou şi deci trebuie explicat. Predicatul operează cu
variabile, funcţii şi constante. El defineşte:
ƒ fie o proprietate legată de acest simbol (dacă are un singur argument),
ƒ fie o relaţie între două sau mai multe simboluri (dacă are mai multe argumente).

Dacă expresiile Ei sunt simbolizate cu Si atunci:

(E1) Petrică este mare.


(S1) MARE (petrică)

unde "MARE" este un predicat care conferă o proprietate de mărime constantei "petrică".

CURS 4 IA 2009/2010 1/8


(E2) Acest argument este fals.
(S2) FALS(argument)

dacă ADEVĂRAT este predicatul corespunzător proprietăţii de veridicitate atunci se poate


simboliza E2 prin S 2' :

( S 2' ) ~ADEVĂRAT (argument)


unde s-a introdus simbolul negării.

(E3) Casa lui Petrică este de culoare galbenă.


(S3) CULOARE(casa(petrică), galben)

unde se introduc două elemente noi:


ƒ un predicat cu două argumente (care se zice "relaţional")
ƒ funcţie casa(petrică).

3.1.2 Tipuri de cuantificări


Până acum am considerat numai expresii în care intervin constante. Vom trece la o
generalizare în acest sens.

¾ Afirmaţia universală

(E1) Toţi elefantii sunt gri.

sau parafrazând E1

( E1' ) Pentru orice individ, dacă el este elefant, el este gri.

Simbolizând obţinem:

(S1) ∀ x (ELEFANT(x) ⇒ GRI(x))

unde x este o variabilă care face obiectul unei cuantificări universale, iar ⇒ este implicaţia
(IF THEN).

¾ Negaţia universală

(E1) Nici un elefant nu zboară

sau parafrazând:

( E1' ) Pentru orice individ, dacă el este elefant, atunci el nu zboară.

Simbolizând obţinem::

(S1) ∀ x (ELEFANT(x) ⇒ ~ZBOARĂ(x))

CURS 4 IA 2009/2010 2/8


¾ Afirmaţia particulară

(E1) Anumite PISICI sunt NEGRE.

sau parafrazând:

( E1' ) Există cel puţin un individ care este pisica şi negru.

Simbolizând obţinem:

(S1) ∃ x (PISICĂ(x) & NEGRU(x))

unde x este variabilă care face obiectul unei cuantificări existenţiale, iar simbolul & este
conjuncţia (AND).

¾ Negaţia particulară:

(E1) Anumiţi câini nu au păr.

( E1' ) Există cel puţin un individ care este câine şi care n-are păr.

(S1) ∃ x (CÂINE(x) & ~PĂR(x))

Logica predicatelor utilizată aici este de ordinul întâi în măsura în care predicatele nu fac
obiectul nici unei cuantificări.

¾ Disjuncţia

(E1) Leul doarme sau vânează.

(S1) VÂNEAZĂ(leu) V DOARME(leu)

¾ Proprietăţi

În logica predicatelor se dă unei expresii logice Si o interpretare prin stabilirea unei


corespondenţe între simbolurile limbajului (predicate, funcţii, variabile şi constante) şi
elementele domeniului aplicaţiei concrete (relaţii, proprietăţi, funcţii, entităţi). Se zice că o
formulă simbolică Si, în logica predicatelor, are valoarea T (true) dacă expresia corespondentă
Ei din domeniul aplicaţiei este adevărată, şi F (false) în caz contrar.

Se spune ca urmare, că două formule simbolice sunt echivalente dacă ele sunt T sau F în
acelaşi timp oricare ar fi interpretarea pe care le-o dăm.

De exemplu în:
ƒ ~(~F1) ≡ F1
ƒ F1 V F2 ≡ ~F1 ⇒ F2
ƒ ~F1 V F2 ≡ F1 ⇒ F2
ƒ legile lui De Morgan
Se pot verifica echivalenţele cu ajutorul tabelului de valori de adevăr.

CURS 4 IA 2009/2010 3/8


¾ Unificarea

Unificarea constă în a găsi termenii (constante, variabile sau funcţii) care trebuie să substituie
variabilele unei expresii pentru a o face identică cu altă expresie simbolică.

Astfel expresia P(a, x, f(y)) poate fi unificată cu:

ƒ P(a, z, f(w)) prin S1={z/x, w/y}


ƒ P(a, x, f(b)) prin S2={b/y}
ƒ P(a, b, f(c)) prin S3={b/x, c/y}

Se scrie atunci P(a, b, f(c)) = P(a, x, f(y)) s3

O mulţime de expresii simbolice va fi declarată unificabilă dacă este posibil să se găsească o


substituţie care să facă expresiile identice.

O astfel de procedură de unificare joacă un rol foarte important în procedurile de punere în


corespondenţă (matching) a diferitelor expresii.

Un aspect important care trebuie avut în vedere pentru utilzarea unificării în procesul de
inferenţă este cerinţa ca toate variabilele să fie cuantificate universal. În acest fel se va da
deplină libertate în utilizarea substituţiilor presupuse ca unificare. Variabilele cuantificate
existenţial trebuie eliminate prin înlocuirea lor cu constante care să dea afirmaţiilor respective
valoarea de adevar T (true).

De exemplu, ∃ x PĂRINTE(x, luca) poate fi înlocuită de expresia PĂRINTE(gogu, luca) sau


PĂRINTE(lenuţa, luca) dacă se presupune că gogu şi lenuţa sunt părinţii lui luca.

Procesul de eliminare a cuantificatorilor existenţiali poate fi complicat de faptul că valoarea


substituţiilor poate fi influenţată de valorile altor variabile din expresie.

De exemplu, în expresia ∀ x ∃ y MAMA(x,y) valoarea variabilei cuantificate existenţial y


depinde de x. Procesul de eliminare a cuantificatorilor existenţiali, numit şi Skolemizare,
înlocuieste fiecare variabilă cuantificată existenţial cu o funcţie care întoarce o constantă
adecvată ca o funcţie de toate sau numai de unele din variabilele din expresie.

În exemplul de mai sus pentru că y depinde de x, y poate fi înlocuit de o funcţie skolem s(x).
Aceasta conduce la un predicat ∀ x MAMA(x,s(x)).

3.1.3 Exemple de aplicaţii

3.1.3.1. Block World (lumea de cuburi)

Să presupunem că spaţiul de operare al unei aplicatii robotice este constituit dintr-o masă de
lucru şi patru cuburi a, b, c, d. Robotul este capabil să deplaseze aceste blocuri unul câte unul
în aşa fel încât să facă să evolueze configuraţia blocurilor către o configuraţie impusă.

CURS 4 IA 2009/2010 4/8


a

a d c

b c d

Figura 3.1 Si şi Sf - configuraţiile iniţială şi finală pentru o aplicaţie din lumea de cuburi

În figura 3.1 se prezintă configuraţiile iniţială şi finală.

Se vor utiliza predicatele următoare:

ƒ CUB(x) x este un cub


ƒ PE(x, y) x este pe y
ƒ MASA(x) x este o masă
ƒ LIBER(x) x e liber, nu are nimic pe el

şi atunci se poate descrie situaţia iniţială prin:

PE(a, b) & PE(b, masă) & LIBER(a) & PE(d, c) & PE(c, masă) & LIBER(d) & CUB(a) &
CUB(b) & CUB(c) & CUB(d) & MASA(masă).

iar situaţia finală prin:

LIBER(a) & PE(a, b) & PE(b, c) & PE(c, d) & PE(d, masă) & CUB(a) & CUB(b) & CUB(c)
& CUB(d) & MASA(masă)

În continuare nu vom mai folosi simbolul &, el se va subînţelege.

PE şi LIBER sunt legate prin expresia:

∀ x (LIBER(x) ⇒ ~( ∃ y) PE(y, x))

Pentru un anumit număr de acţiuni (care sunt de fapt reguli de producţie ale sistemului)
robotul va putea să facă să evolueze structura de date de la Si la Sf.

Deşi exemplul lumii de cuburi poate părea infantil la prima vedere, totuşi o astfel de lume
modelează corect o aplicaţie cu piese industriale în care nu interesează decât relaţia PE(x, y)
între piesele amintite.

Dacă scopul robotului este să apuce una dintre piese, atunci modelul lumii de cuburi asociat
situaţiei LIBER(piesă) va fi suficient pentru a face un plan de acţiuni care să permită să se
permită accesul la piesa respectivă.

CURS 4 IA 2009/2010 5/8


3.1.3.2 Robotul mobil

Multe aplicaţii legate de planurile de acţiuni sunt legate de roboţii mobili care se deplasează
prin săli care sunt legate între ele prin uşi de acces. Roboţii sunt aici capabili să transporte
cutii între aceste săli. Un exemplu este dat în figurile 3.2 şi 3.3.

S1 S2
C1
Robot
P1 P2

S3 C2 S4

P3

Figura 3.2 Situaţia iniţială pentru o aplicaţie cu un robot mobil

S1 S2

P1 P2

C1
S3 S4
C2
P3

Figura 3.3 Situaţia finală pentru o aplicaţie cu un robot mobil

Se utilizează predicatele:

ƒ SALĂ(x) x este o sală


ƒ COMUNICĂ_PRIN(x, y, z) sălile x şi y comunică prin uşa z
ƒ CUTIE(x) x este o cutie
ƒ UŞĂ(x) x este o uşă
ƒ AFLAT_ÎN(x, y) x este în sala y
ƒ ROBOT(x) x este un robot

Situaţia inţială este descrisă prin conjuncţia predicatelor:

SALĂ(S1), SALĂ(S2), SALĂ(S3), SALĂ(S4), UŞĂ(P1), UŞĂ(P2), UŞĂ(P3), CUTIE(C1),


CUTIE(C2), ROBOT(robot), COMUNICĂ_PRIN(S1, S2, P1), COMUNICĂ_PRIN(S2, S4,
P2), COMUNICĂ_PRIN(S3, S4, P3), AFLAT_ÎN(C1, S2), AFLAT_ÎN(C2, S4),
AFLAT_ÎN(robot, S1),

Situaţia finală este descrisă astfel:

AFLAT_ÎN(C1, S3), AFLAT_ÎN(C2, S3).

CURS 4 IA 2009/2010 6/8


3.2 Mecanisme de inferenţă

În logică se utilizează un număr mare de mecanisme de inferenţă pentru a produce expresii


noi plecând de la expresii iniţiale. Expresia produsă P “decurge logic” din expresiile iniţiale
I1, I2,……In.

Din punct de vedere formal, expresia P “decurge logic” din expresiile iniţiale I1, I2,……In
dacă şi numai dacă expresia (I1 & I2 &……& In) ⇒ P este o tautologie (sau o expresie
validă), adică o expresie care are valoarea T (true = adevărat) oricare ar fi interpretarea care îi
corespunde.

Prin opoziţie, o propoziţie care este întotdeauna falsă, F (false = fals), oricare ar fi
interpretarea se zice inconsistentă (de exemplu P & (~P))

O expresie care nu este inconsistentă (adică nu este falsă pentru toate interpretările care i se
pot da) se zice consistentă.

Din aceste condiţii se pot deduce următoarele afirmaţii:


ƒ o expresie este tautologie dacă şi numai dacă negaţia sa este inconsistentă,
ƒ o expresie este inconsistentă dacă şi numai dacă negaţia sa este tautologie,
ƒ expresie este non validă dacă şi numai dacă există cel puţin o interpretare pentru care
expresia este falsă,
ƒ expresie este consistentă dacă şi numai dacă există cel puţin o interpretare pentru care
expresia este adevarată,
ƒ tautologie este o expresie consistentă; invers nu este adevarat,
ƒ expresie inconsistentă este non validă; invers nu este adevărat.

Demonstrarea faptului că o expresie este o consecinţă logică a unui număr finit de alte
expresii, revine deci la a demonstra validitatea sau inconsistenţa unei anumite expresii

Expresia (I1 & I2 &……& In) ⇒ P se zice teoremă, iar P concluzia acestei teoreme.

Pentru a concretiza să considerăm mecanismul de inferenţă numit Modus Ponens. Această


procedură permite să se producă Q plecând de la P şi P ⇒ Q.

Se poate demonstra că (P & (P ⇒ Q)) ⇒ Q) este o tautologie folosind un tabel de adevăr.

P Q P⇒Q P&(P ⇒ Q) Rezultat


T T T T T
T F F F T
F T T F T
F F T F T

Se observă că expresia ia valoarea T în oricare din interpretările posibile.

Se mai poate exemplifica şi cu următoarele mecanisme:


ƒ Modulus Tollens: din P ⇒ Q şi ~Q se deduce ~P,
ƒ schimbarea cuantificatorilor:
- din ~ ( ∀ x)P(x) se deduce ( ∃ x)(~P(x))

CURS 4 IA 2009/2010 7/8


- din ~ ( ∃ x)P(x) se deduce ( ∀ x)(~P(x)),
ƒ ieşirea cuantificării universale: dintr-o cuantificare universală se deduce oricare
particularizare a acesteia (particularizare este traducerea termenului englezesc
“instantiation” care constă în a asigna o valoare constantă tuturor variabilelor unei expresii),
ƒ ieşirea cuantificării existenţiale: dintr-o cuantificare existenţială se deduce o
particularizare a acesteia cu condiţia ca valoarea dată variabilei să nu fie critică.

Scopul prezentării anterioare nu este prezentarea exhaustivă a procedurilor de inferenţă


utilizabile în logica predicatelor de prim ordin. Vom prezenta mai tîrziu o procedură de
inferenţă, numită rezolvare, foarte puternică în foate multe aplicaţii de inteligenţă artificială.

Explicăm în continuare utilizarea mecanismelor de inferenţă, pentru demonstraţia unei


teoreme.

Fie teorema:
“Oamenii nu sunt eterni
Confucius este etern
Deci, Confucius nu e om”

Se poate simboliza:

∀ x (OM(x) ⇒ ~ETERN(x))
ETERN (confucius)
Deci
~OM(confucius)

Pentru a demonstra teorema este suficient să se demonstreze că expresia:

∀ x (OM(x) ⇒ ~ETERN(x)) & (ETERN (confucius)) ⇒ ~OM(confucius)

este validă.

Aceasta se poate face în următorul mod:

1) ∀ x (OM(x) ⇒ ~ETERN(x))

2) ETERN(confucius)

3) OM(confucius) ⇒ ~ETERN(confucius) (ieşirea cuantificării universale)

4) ~OM (confucius) (Modus Tollens aplicat pentru (2) şi (3))

CURS 4 IA 2009/2010 8/8

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