Sunteți pe pagina 1din 53

Tema :

Reprezentarea cunoaşterii
Sisteme bazate pe cunoştinţe
Pentru elaborarea sistemelor bazate pe
cunoştinţe este necesar să avem ăn vedere două
aspecte esenţiale:
• Gasirea unei reprezentări a cunoştinţelor cît
mai adecvată clasei de probleme de rezolvat.
• Construirea unui model de prelucrare a
cunoştinţelor (denumit şi motor de inferenţă)
Reprezentarea cunoaşterii
Obiectul IA este obţinerea de artefacte care se
comportă inteligent, similar unui om.
În funcţie de idea fundamentală acceptată, în IA
sunt două abordări:
• Conexionistă - se bazează pe idea că IA este
“emergentă” reţelelor neuronale destul de complexe
• Simbolică – bazată pe ipoteza a sistemelor simbolice
fizice a lui H.Simon şi A.Newell,consideră că orice
sistem inteligent este un sistem fizic de prtelucrare a
simbolurilor
Reprezentarea cunoaşterii
Conform definiţiei a lui Alan Newell:
Cunoaşterea este cea ce poate fi atribuit unui agent uman sau
artificial asfel încît comportarea sa să poatî fi catalogată drept
raţională.
Pot fi identificate mai multe moduri de cunoştinţe:
• Cunoştinţe declarative (de ex. Clasificarea algoritmelor de
sortare, conceptele unui limb. de progr. ,etc.)
• Cunoştinţe procedurale referitoare la modul cum poate fi
rezolvată o problemă
• Scheme generice de rezolvare de probleme şi modul
• în care acestea sunt clasificate şi particularizate (deex. “divide
şi impera”)
Cunoaşterea în funcţie de nivelul de
complexitate semantică
Problematica reprezentării simbolice
Reprezentarea cunoştinţelor într-un calculator constă
în găsirea şi realizarea unei corespondenţe între lumea
reală şi un sistem simbolic ce permite efectuarea
raţionamentelor.
Pe scurt, reprezentarea este o schemă sau modalitate
folosită pentru a captura elementele esenţiale ale
domeniului unei probleme. O reprezentare manipulabilă
este o reprezentare care facilitează prelucrarea
computaţională.
Problematica reprezentării simbolice

Reprezentarea cunoaşterii presupune pe de o parte


existenţa unor fapte, adică adevăruri într-o anumită
situaţie sau univers de discurs relevant şi pe de altă
parte reprezentarea faptelor într-un formalism ales.

Mai exact, faptele sunt lucrurile pe care vrem să le


reprezentăm, iar reprezentările lor sunt lucrurile pe
care le vom putea manipula efectiv.
Lumea reală- agent- lumea simbolurilor
Două caracteristici ale reprezentării
cunoaşterii:
• abstractizarea, adică reprezentarea
numai a informaţiilor necesare unui
anumit scop;

• raportul dintre expresivitate şi eficienţă;


Activitatea de reprezentare a cunoaşterii
este bazată pe trei componente majore:
• There are 5 main types of knowledge representation in Artificial Intelligence.

1. Meta Knowledge - Its a knowledge about a knowledge and how to gain them

2. Heuristic - Knowledge - Representing knowledge of some expert in a field or subject.

3. Procedural Knowledge - Gives information/ knowledge about how to achieve something

4. Declarative Knowledge - Its about statements that describe a particular


object and its attributes , including some behavior in relation with it

5.Structural Knowledge - Describes what relationship exists between concepts/ objects


Modelul unui sistem trebuie să includă:
• concepte – subdiviziuni logice ale sistemului în
subsisteme;

• entităţi – componente individuale (sau obiecte),


care pot fi la rândul lor descompuse în primitive,
care formează baza elementară a modelului

• proprietăţi, atribute, valori ale entităţilor sau


conceptelor;

• constrângeri şi asociaţii – includ relaţiile şi


interacţiunile cauzale dintre entităţi sau concepte
Metodele de reprezentare a
cunoaşterii sunt numeroase
Toate au însă două caracteristici comune:
- admit utilizarea mai multor limbaje de
programare existente sau a generatoarelor
de sisteme expert iar rezultatul este
memorat;
- prin conţinutul lor, rezultatele reprezentării
(fapte, reguli, cadre, obiecte...) se pot utiliza
în mecanismele de raţionament.
Metodele de reprezentare a cunoaşterii se
clasifică în: metode declarative
şi metode procedurale.

O metodă este declarativă dacă se


utilizează la reprezentarea faptelor şi
aserţiunilor.

O metodă este procedurală dacă se


utilizează la reprezentarea acţiunilor sau
procedurilor.
Arhitectură de descriere a bazei
de cunoştinţe
METODE DE REPREZENTARE A CUNOAŞTERII
Curs 7
1. Tipuri de raţionament
2. Metode declarative
2.1 Teorema de completitudine a calculului
propoziţional
2.2 Logica propoziţională
2.3 Logica predicatelor
3. Procesul de rezoluţie
4. Concluzii
Tipuri de raţionament
• Raţionamentul este un lanţ de judecăţi, al
cărui obiectiv este obţinerea de noi
adevăruri.

• Judecata este o formă fundamentală de


logică, exprimată prin propoziţii prin care se
afirmă sau se neagă ceva şi care are o
valoare de adevăr (adevărat sau fals).

Într-un raţionament, o judecată numită


premisă este legată de o alta, concluzia, prin
operaţia logică numită inferenţă.
Cele mai importante tipuri de raţionament
Raţionamentul deductiv -Din premise cu caracter
general se extrage o concluzie cu caracter particular.

Un exemplu în acest sens este silogismul clasic:


Socrate este om. Toţi oamenii sunt muritori.
În consecinţă, Socrate este muritor.
Cele mai importante tipuri de raţionament
Raţionamentul inductiv – de la premise cu
caracter particular se ajunge la o concluzie generală
Cele mai importante tipuri de raţionament
De exemplu:
Observaţie: Mihai nu a terminat programul pe
care trebuia să îl facă la termenul
limită fixat.
Observaţie: Mihai se interesează de preţul
componentelor de calculatoare.
Experienţă anterioară: Mihai îşi îndeplineşte
întotdeauna sarcinile cu conştiinciozitate.

Concluzie: Calculatorul lui Mihai s-a defectat.


Cele mai importante tipuri de raţionament

Cele două metode de raţionament prezentate


conduc la diferite maniere de cercetare.

Cercetarea inductivă este mai deschisă


spre explorare iar rezultatele finale nu sunt
întotdeauna foarte precis conturate.

Cercetarea deductivă este mai strictă şi se


concentrează asupra testării şi confirmării
ipotezelor.
Cele mai importante tipuri de raţionament
Raţionamentul transductiv – Premisele şi
Concluzia sunt la acelaşi nivel de generalitate.
Acest tip de raţionament face apel la găsirea unor
analogii şi este folosit în multe teste de intelig., în
enunţuri de genul:
„Trompeta este pentru cântat ceea ce cartea
este pentru ...”
În acest caz, subiectul trebuie să identifice relaţia
dintre obiect şi principala proprietate funcţională a
sa, pentru ca apoi această relaţie să fie aplicată
celuilalt obiect.
Teorema de completitudine a calculului
propoziţional

Fie X o mulţime (posibil infinită) de propoziţii


atomice şi P(X) cea mai mică supramulţime a
lui X care odată cu două elemente p,q ∊ P(X )
conţine şi elementele ¬p şi p→q .
Se poate observa că P(X) este definită inductiv
prin următoarele reguli:
• orice p∊X se află în P(X)
• dacă p∊X , atunci ¬p∊ X
• dacă p, q∊P(X ) , atunci ( p→q)∊P(X )
• elementele lui P(X) se construiesc numai cu
ajutorul celor trei regulilor anterioare.
Teorema de completitudine a calculului
propoziţional
Un element din P(X) se numeşte propoziţie sau
formulă a calculului propoziţional.
O deducţie în calculul propoziţional este
un şir p1, p2 ..., pn de elemente pi ∊P(X ) ,
astfel încât pentru orice i, 1≤ i < n , pi
este o axiomă sau există j,k < i , astfel
încât pk = pj → pi .
În acest caz, pn este o teoremă a calculului
propoziţional şi o vom nota: ⊢ pn.
Teorema de completitudine a calculului
propoziţional
Se numeşte tautologie a sistemului logic considerat
orice formulă bine formată A, care este adevărată pentru
orice interpretare.

De exemplu,
formula ¬( p V q)→(¬p ^¬q) este adevărată indiferent de
valorile de adevăr ale propoziţiilor p şi q
Teorema de completitudine a calculului propoziţional afirmă că
în calculul propoziţional mulţimea teoremelor coincide cu
mulţimea tautologiilor: ⊢p ↔ ⊨ p
Teorema de completitudine a calculului
propoziţional
Orice propoziţie adevărată în orice caz este
o teoremă, care poate fi folosită ulterior în
procesul de inferenţă.

Exemple de reguli de inferenţă complete sunt:


• Modus Ponens: ( p ∧ ( p→q))→q
• Modus Tolens: (( p→q) ∧ ¬q)→¬p
• Procesul de rezoluţie, care va fi detaliat în
cele ce urmează.
Logica propoziţională

Reprezentarea propoziţiilor cu literele alfabetului


latin este o practică obişnuită în această logică.
Sa statuat chiar o notaţie simplificată pentru
declararea propoziţiilor. De exemplu:

P = "Tribuna Economică apare joia"


Q = "Astăzi este luni"
________________________________
→R= "Tribuna Economică nu apare astăzi"
Logica propoziţională
Silogismul are două premise şi o concluzie, inferată
din premise. Sintaxa generală a silogismului este:

Premisa-1: Toţi x sunt y


Premisa-2: z este un x
___________________
Concluzia: z este un y

Acest raţionament este valabil indiferent cu ce se


substituie x, y şi z.
Logica propoziţională

Un exemplu clasic este următorul:

Premisa-1: Toţi oamenii sunt muritori


Premisa-2: Socrate este om
_________________________________
Concluzia: Socrate este muritor

În silogism numai forma (sintaxa) este importantă.


Separarea sintaxei de semantică face din logică un
instrument puternic.
Logica propoziţională

Tautologia este o propoziţie compusă care este


adevărată, în timp ce elementele sale sunt adevărate
sau false.
Contradicţia este propoziţia compusă care este
întotdeauna falsă.
Propoziţia contingenţă este propoziţia care nu este
nici tautologie şi nici contradicţie. De exemplu:
pV~p este tautologie
p^~p este contradicţie
Logica propoziţională
Prin ele însele, propoziţiile nu sunt de mare
utilitate dar, dacă se combină cu ajutorul
conectorilor logici, se pot obţine propoziţii noi care
se utilizează în situaţii complexe la soluţionarea
problemelor. De exemplu:

P=” Luni se deschide bursa”


Q= „Astăzi este duminica”
_____________________________
—>R= Astăzi nu se deschide bursa
NOT Q= Astăzi nu este duminică
Logica propoziţională

În logica propoziţională, faptele se


reprezintă sub forma formulelor bine
formate:
Afirmaţie: E soare.
Reprezentare: soare

Afirmaţie: Dacă plouă, nu e soare.


Reprezentare: ploua→¬soare
Sunt numeroase cazurile în care un enunţ depinde
de mai multe argumente. De exemplu, în propoziţia
„Socrate este om”, avem de-a face cu o clasă, cea
a oamenilor, şi cu un obiect care are proprietăţile
corespunzătoare clasei. În această situaţie, avem de-
a face cu un predicat. Instanţa „Socrate” face
predicatul „om” adevărat:
Afirmaţie: Socrate este om.
Reprezentare: om(Socrate)
Logica predicativă permite utilizarea
cuntificatorilor universali şi existenţiali:
Afirmaţie: Toţi atenienii sunt greci.
Reprezentare: ?x, atenian(x)→ grec(x)
În cazul când cel puţin o instanţă conferă valoare
adevărată predicatului, se foloseşte cuantificatorul
existenţial.
Afirmaţie: Orice lucru are un preţ.
Reprezentare:
∀x∃p, lucru(x) ^ pret( p)→valoare(x, p)

Ordinea acestor cuantificatori nu poate fi schimbată. În


exemplul anterior, dacă ei se inversează, vom avea:
Reprezentare:
∃p∀x, lucru(x) ^ pret( p)→valoare(x, p)
Semnificaţie:
Există un (singur) preţ pe care îl au toate lucrurile.
Afirmaţie:
Studenţii învaţă cursurile care-i interesează.
Reprezentare 1:
∀x∀y, student(x) ∧ curs( y) ∧ interes(x,y)
→invatare(x, y)
Însă această reprezentare nu ne spune nimic
despre cursurile care nu-i interesează pe studenţi,
şi care sunt totuşi învăţate. Alte reprezentări se pot
referi la faptul că dintre cursurile învăţate, cel puţin
unele sunt interesante sau că orice student are un
curs preferat pe care îl învaţă cu interes:
Reprezentare 2:
∀x∃y, student(x) ^curs(y)^invatare(x,y)
→interes(x, y)
Dacă se dă o bază de cunoştinţe şi o propoziţie
adevărată, corect formulată, este foarte important să se
răspundă la întrebarea dacă respectiva propoziţie s-a derivat
logic din baza de cunoştinţe.

O secvenţă de reguli de inferenţă pentru derivarea din baza


de cunoştinţe iniţială a unei propoziţiei dorite se numeşte
demonstraţie, propoziţia derivată se numeşte teoremă iar
propoziţia iniţială, aşa cum se afla în baza de cunoştinţe,
reprezintă axioma.

Soluţionarea problemei, în acest caz, este considerată ca o


derivare logică (deducţie) a propoziţiilor dintr-un set de axiome
care descriu domeniul problemei.

Această situaţie este tipică pentru demonstrarea teoremelor.


Calculul predicatelor
Calculul predicatelor permite ca o propoziţie
să fie fragmentată în două părţi de bază:
- obiecte (argumente);
- predicate (aserţiuni despre atributele
obiectelor).

Calculul predicatelor permite totodată utilizarea


variabilelor şi funcţiilor de variabile, face uz de
enunţurile logicii simbolice şi permite utilizarea
tuturor proprietăţilor calculului prepoziţional.
Calculul predicatelor
Aceste caracteristici fac din calculul
predicatelor o metodă mai puternică decât
calculul prepoziţional şi mai preferată în
reprezentarea cunoaşterii.

De exemplu:
Propoziţia: "Creditează 101 cu 70.000.000“
Predicatul: creditează(101,70.000.000)
Calculul predicatelor

Una dintre caracteristicile calculului


predicatelor este lucrul cu variabile şi pe
această filieră s-au introdus variabile în
fapte şi în reguli.

De exemplu cont-de-activ(x)
Calculul predicatelor
Calculul predicatelor utilizează şi cuantificatorii.
Un cuantificator se reprezintă printr-un simbol
care stabileşte domeniul unei variabile
(limitele). Este vorba despre cei doi cuantificatori
utilizaţi mai înainte: (x) cuantificatorul universal,
care stabileşte că o propoziţie care conţine o
variabilă este true pentru toate valorile posibile
ale variabilei x, ∃x cuantificatorul existenţial,
care stabileşte că o propoziţie este true pentru
cel puţin o valoare a variabilei.
Calculul predicatelor

Calculul predicatelor utilizează şi cuantificatorii.


∀ (x) cuantificatorul universal, care stabileşte că
o propoziţie care conţine o variabilă este true
pentru toate valorile posibile ale variabilei x.

∃x cuantificatorul existenţial, care stabileşte că


o propoziţie este true pentru cel puţin o valoare
a variabilei x.
Calculul predicatelor

Exemplul l

"Toţi Popescu sunt cetăţeni ai României"


"Un Popescu este un cetăţean din Iaşi"
Dacă folosim cunatificatorul universal putem scrie:
(Pentru toţi x)[Popescu(x)— >cetăţean-român(x)]
sau
∀(x), Popescu(x)— >cetăean-român(x)

Ultima expresie se citeşte astfel


"Dacă x este un Popescu
atunci cetăţean român"
Calculul predicatelor
Exemplul 2

" Nişte maşini ca tractoare“

∃x,maşină(x)—>arată-ca(x,tractoarele)

adică în cuvinte "Există cel puţin un x astfel


încât dacă x este o maşină atunci arată x ca
tractoarele".
Metodele logice pot fi descrise utilizînd
următorul formalizm

S=<B,F,A,R>
unde :
• B – alfabet
• F – formule-fapte,
• A – formule - acsiome,
• R – reguli de inferenţă.
Logica are o importanţă deosebită în sistemele
expert, în care motoarele de inferenţe
raţionează de la premise către concluzii. Un
termen semnificativ pentru programarea logică
şi sistemele expert este acela de sisteme de
raţionament automat
(Automated Reasoning Systems).
Procesul de rezoluţie
Poate utiliza raţionamentul înainte, în care se pleacă
de la ipoteze şi se încearcă dezvoltarea de teoreme, până
când se ajunge la concluzia dorită şi raţionamentul înapoi.

Rezoluţia este o regulă de inferenţă foarte puternică


întrodusă de Robinson în 1965 şi implementată în teorema
demonstrării automate a programelor de IA.

În Prolog, rezoluţia este principala regulă de inferenţă(este


folosită pentru a modela diversele procese de raţionament
din logica predicatelor).
Demonstraţiile se efectuează prin reducere
la absurd. Pentru a demonstra că o propoziţie
(concluzia) este adevărată, se încearcă
demonstrarea faptului că negatia sa produce o
contradicţie la nivelul ipotezelor.

Pentru a aplica această metodă, orice enunţ


predicativ trebuie adus la forma normal
conjunctivă, adică un enunţ echivalent format
dintr-o conjuncţie de disjuncţii .
Pentru transformarea unui enunţ în forma
normal conjunctivă, se urmăreşte separarea
cuantificatorilor de restul formulei, pentru a fi în
final eliminaţi. De aceea, se recomandă ca
fiecare cuantificator să fie legat de propria
variabilă.

Ideea de bază a rezoluţiei propoziţionale


este deducerea din două propoziţii, în care unul
din termeni apare cu valori de adevăr contrare, a
unei concluzii din care este eliminat termenul
respectiv.
Fie următorul exemplu:
Afirmaţii:
Afară plouă sau este soare.
Dacă este soare, atunci este cald.
Reprezentări:
ploaie V soare
soare→cald
În forma normal conjunctivă, cea de a doua
reprezentare va fi: ¬soare V cald .
una din propoziţiile ploaie sau cald
trebuie să fie adevărată. Acest lucru corespunde
formulei ploaie V cald .
Pe acest fapt se bazează procesul
de rezoluţie:

din 2 clauze: A V B şi ¬ A
rezultă: B V C.
Rezoluţia în Prolog reduce spaţiul de căutare.

Prolog se bazează pe logica predicatelor de ordinul I,


completată cu posibilităţi extralogice: intrări/ieşiri, cut
(pentru modificarea spaţiului de căutare),
assert/retract (care modifică valoarea de adevăr fără
vreo justificare logică).

Scopul de bază al rezoluţiei este de a infera o nouă


clauză (numită rezolvent) din alte două clauze (numite
părinte).
Concluzii:
Procesul de rezoluţie este o modalitate convenabilă
de a deduce noi adevăruri din premise multiple.

Un alt avantaj al său este posibilitatea aplicării


legilor logice.

Metoda beneficiază de o formalizare strictă, care


asigură consistenţa deducţiilor, nelăsând prea mult
loc interpretărilor subiective.

Există şi unele limitări; dacă există o demonstraţie,


metoda rezoluţiei garantează găsirea ei, însă dacă
nu există o astfel de demonstraţie, algoritmul poate
intra într-o buclă infinită.
Teste de inteligenţă
Testul 1.
a) toţi oamenii nu sunt răi;
b) nici un om nu este rău;
c) toţi oamenii nu sunt buni.

Testul 2.
„Ce urmează în seria următoare: 3 Z 5 Y 9 X 17 _ _ ?”

Testul 3.
„Trompeta este pentru cântat ceea ce cartea este pentru
...”

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