Sunteți pe pagina 1din 33

Cursul 2 si 3

Introducere in Inteligenta artificiala


Tehnologia sistemelor inteligente are in vedere rezolvarea unor probleme complexe in diverse domenii
care necesita expertiza umana, fiind insa restrictionata in cazul anumitor aplicatii concrete.
Fie ca este vorba de inteligenta umana, fie de inteligenta artificiala un sistem inteligent trebuie sa fie
capabil sa transforme datele in informatii si informatiile in cunostinte.
Exploatarea optima a celor doua resurse informationale (bazele de cunostinte si bazele de date), necesita
proiectarea fiecareia din cele doua componente ca o extensie naturala a celeilalte, in cadrul unui sistem
integrat.
La momentul actual, analistii fac o diferentiere explicita cu privire la diversele tehnici de programare ce
stau la baza dezvoltarii unor computere tot mai performante:
- tehnici traditionale sau clasice de programare bazate pe algoritmi asociati cu logica clasica
(limbaje de programare precum Cobol, Fortran, Basic, C etc);
- tehnici de programare specifice inteligentei artificiale, respectiv cele bazate pe algoritmi asociati
logicii fuzzy (sistemele expert, retelele neuronale, recunoasterea formelor, data mining, agentii
inteligenti etc.).
Inteligenta este capacitatea de a intelege usor, de a sesiza esentialul si de a face fata unor situatii
neprevazute (dictionar);
Inteligenta reprezinta capacitatea de a percepe, intelege si a invata in cadrul unor situatii noi (definitia
cea mai comuna)
Termenul de IA (Inteligenta Artificiala ) a fost utilizat pentru prima data in 1960 in cadrul unui articol
scris de catre Minsky intitulat "Pasii catre o inteligenta artificiala" in care se prezentau in premiera,
modalitatii de rezolvare simbolica a problemelor de analiza matematica pe un calculator. Termenul care s-a
introdus cu aceasta ocazie a cauzat numeroase discutii datorita implicatiilor pe care le ridica :
ce este inteligenta?
este aceasta o caracteristica umana?
pot fi masinile inteligente?
se poate vorbi de o inteligenta artificiala?
programele produse prin IA sunt inteligente?
diverse definitii care s-au acceptat pentru IA:
1975 - IA este domeniul care se ocupa cu studiul conceptelor care permit ca masinile sa fie inteligente
1981 - IA este un domeniu al informaticii care isi propune crearea unor sisteme inteligente de calcul care sa
posede acele caracteristici care sunt asociate in general cu inteligenta in domeniul uman: rationament,
capacitate de invatare, de rezolvare si de comunicare.
1990 - IA este un domeniu al informaticii care incepe acolo unde informatica clasica se opreste, destinat
rezolvarii problemelor pentru care nu exista un algoritm de calcul sau pentru care algoritmii sunt prea
complicati pentru a fi rezolvati in maniera clasica.
IA prezinta un punct de vedere diferit fata de cel clasic in rezolvarea unei probleme.
Clasic se manipuleaza informatii numerice care sunt prelucrate in contextul unor algoritmi.
enunt ---> algoritm de calcul >rezultat
Din punct de vedere al IA se manipuleaza cunostinte utilizate in cadrul unor strategii.
problema > (informatii / cunostinte + strategie de rezolvare) > concluzie
Inteligenta, cunoastere, rationament

In dictionarul limbii engleze inteligenta este definita prin capacitatea de a intelege noul si capacitatea de a
face fata unor situatii neprevazute.
Inteligenta este capacitatea de a percepe, intelege si invata in contextele unor situatii noi.
Aceste caracteristici impun prezenta a doua componente, capacitate de cunoastere si de a rationa (de a
efectua deductii logice).
Cunoasterea este fenomenul prin care se face un transfer de informatii de la obiect la observator. In cursul
acestui transfer sunt receptionate numai caracteristicile esentiale. Deci cunoasterea nu are un caracter
enciclopedic, avnd loc o abstractizare si o filtrare a informatiei receptionate.
Structural cunoasterea este formata din piese de cunoastere ( numite entitati ) prin care sunt reprezentate
diversele caracteristici ale fenomenului observat. Pentru construirea unei piese de cunoastere se utilizeaza
doua notiuni:
concepte (rezultatele unui proces de abstractizare prin care se deduc acele caracteristici ce permit incadrarea
obiectului intr-o anumita clasa).
instante (caracteristici individuale care apartin unui obiect).
Categoriile de cunoastere (dupa prof. Giarratano):
cunoastere filozofica prezentata in tratatele de filozofie;
cunoastere apriori este universal adevarata, precede orice alta cunoastere si nu poate fi negata fara
contradictie (ex. enunturile din logica, legile matematice);
cunoasterea posteriori este cunoasterea derivata din simturi, experienta si poate fi negata pe baza
unei noi cunoasteri fara a fi introdusa contradictia (ex. EXSYS este cel mai bun mediu de dezvoltare
de sisteme bazate pe reguli de productie).
Deductiile logice (rationamentul) reprezinta un lant de judecati a caror obiectiv este obtinerea unor noi
adevaruri.
Prin judecata se intelege o propozitie simpla prin care se afirma sau se neaga ceva si care intotdeauna
prezinta valoarea adevarat.
Judecatile pot fi de tip:
predictie, daca ofera un raport intre un obiect si o insusire a acestuia si
de tip relatie daca reflecta un raport intre doua sau mai multe obiecte.
Problematica reprezentarii simbolice
Este posibila reprezentarea cunoasterii?
Simbolurile sunt entitati care pot tine locul obiectelor din lumea reala, intr-un sens abstract si absolut.
Actiuni si simboluri diferite pot avea aceeasi semnificatie pentru observatori din culturi diferite, pe cnd
aceleasi actiuni si simboluri pot avea semnificatii diferite.
Informatica si, mai ales, inteligenta artificiala subscriu ideii ca descrierea simbolica a realitatii este
posibila, intruct aceasta este o modalitate convenabila de prelucrare a fenomenelor reale complexe.
Reprezentarea cunostintelor intr-un calculator consta in gasirea si realizarea unei corespondente intre
lumea reala si un sistem simbolic ce permite efectuarea rationamentelor.
Reprezentarea este o schema sau modalitate folosita pentru a captura elementele esentiale ale domeniului
unei probleme.
Reprezentarea cunoasterii presupune:
existenta unor fapte, adica adevaruri intr-o anumita situatie sau univers de discurs relevant
reprezentarea faptelor intr-un formalism ales. Mai exact, faptele sunt lucrurile pe care vrem sa le
reprezentam, iar reprezentarile lor sunt lucrurile pe care le vom putea manipula efectiv.
Trebuie avute in vedere doua caracteristici ale reprezentarii cunoasterii:

abstractizarea, adica reprezentarea numai a informatiilor necesare unui anumit scop, element esential pentru
gestionarea complexitatii;
raportul dintre expresivitate si eficienta: unele reprezentari expresive sunt ineficiente, de aceea, pentru a
creste eficienta trebuie sacrificata expresivitatea, fara a limita capacitatea reprezentarii de a surprinde
esentialul.
De exemplu, o reprezentare expresiva a numerelor neintregi este cea sub forma de fractii sau radicali.
Din punct de vedere al computerelor, aceasta nu este insa eficienta, asa ca se prefera reprezentarea in virgula
mobila (memorndu-se cifrele semnificative si pozitia lor fata de virgula). In acest caz, nu se poate
reprezenta exact orice numar, insa se poate aproxima cu o precizie dorita, ceea ce este suficient in
majoritatea cazurilor.
In vederea utilizarii prin program, cunoasterea este memorata sub forma unor piese de cunoastere, ce
descriu fapte, fenomene, procese, evenimente, obiecte cu insusiri dintr-o parte a lumii reale, acea parte ce
constituie domeniul de competenta al programului.
Piesele de cunoastere alcatuiesc un model al lumii, la care programul are acces prin intermediul unor
proceduri specifice (organizare, clasificare, cautare si recunoastere).
Modelul unui sistem trebuie sa includa:
concepte - subdiviziuni logice ale sistemului in subsisteme;
entitati - componente individuale (sau obiecte), care pot fi la rndul lor descompuse in:
primitive (elemente atomice), care formeaza baza elementara a modelului;
proprietati, atribute, valori ale entitatilor sau conceptelor (de exemplu obiecte, functia unui
subsistem); unele sunt de tip cantitativ (vrsta", inaltime"), altele de tip calitativ (inteligent",
frumos");
constrngeri si asociatii - includ relatiile si interactiunile cauzale dintre entitati sau
constrngeri si asociatii - includ concepte (de exemplu: continut in", determina" etc.)
Totalitatea pieselor de cunoastere, a modului de stocare si a procedurilor de acces la acestea definesc un
sistem cognitiv.
Sisteme de reprezentare a cunoasterii
Activitatea de reprezentare a cunoasterii poate fi gndita ca fiind bazata pe trei componente majore:
stabilirea sistemului de meta-reprezentare, ce are ca obiectiv asigurarea unor modalitati adecvate de
reprezentare a cunoasterii despre modelul lumii reale, ct si pentru componentele proprii ale sistemului
inteligent;
stabilirea sistemului de clasificare, ce urmareste gruparea in clase, precum si ordonarea acestora dupa
criterii ce rezulta din analiza relevantei proprietatilor folosite pentru caracterizarea obiectelor ce formeaza
piesele de cunoastere;
stabilirea sistemului de organizare, privitor la gruparea si ordonarea elementelor si claselor, in vederea
asigurarii desfasurarii unor procese fundamentale, precum: accesul, cautarea, corespondenta, substituirea,
inferenta deductiva, inferenta transductiva, inferenta inductiva, gruparea si regruparea, organizarea si
reorganizarea, protectia.
Schema reprezentarii cunoasterii
Sistemul de meta-reprezentare se intelege descrierea cunostintelor despre cunoasterea insasi.
Principalele piese de meta-cunoastere se refera la:
reprezentarea obiectelor;
reprezentarea strategiilor de rationament;
reprezentarea functiilor;
auto-reprezentare (imaginea" sistemului
reprezentarea relatiilor;
inteligent despre el insusi).
reprezentarea regulilor de inferenta;

Tipuri de reprezentari
reprezentarea descriptiva - se realizeaza prin caracterizarea directa a componentelor, structurii si
proprietatilor piesei de cunoastere;
reprezentarea comparativa - pentru a se reprezenta o piesa de cunoastere A, expresia B contine o referinta la
o piesa de cunoastere auxiliara, denumita prototip, si o informatie ce marcheaza diferentele dintre A si piesa
prototip:
reprezentarea constructiva (generativa) - presupune o relatie generatoare a elementelor componente,
structurii si proprietatilor piesei de cunoastere;
reprezentarea enumerativa - presupune referiri la elementele unei multimi, care este definita ca piesa de
cunoastere.
O reprezentare completa se poate obtine doar printr-o combinatie finita a metodelor de reprezentare,
deoarece cunoasterea despre un obiect este data partial in termeni descriptivi, partial in termeni comparativi
si partial in termeni generativi sau enumerativi.
Sistemul de clasificare
Sistemul de clasificare urmareste stabilirea unui numar finit de clasificari ale pieselor de cunoastere,
pentru a realiza ordinea conceptuala.
Clasificarea presupune stabilirea unor grupari numite clase, pe baza unor asemanari intre elementele
aceleiasi clase.
Prin criteriu de clasificare se intelege stabilirea categoriilor logice, a proprietatilor ce determina pe
multimea pieselor de cunoastere o impartire in clase.
Procesul de clasificare se desfasoara in doua etape:
clasificarea conceptuala, prin care proprietatile obiectului sunt analizate din punct de vedere
al relevantei in raport cu obiectele utilitare ale sistemului, pentru a fi grupate apoi in criterii;
clasificarea instantiala, prin care piesele de cunoastere sunt plasate in clase potrivit
criteriului de clasificare stabilit pentru fiecare piesa de cunoastere.
Un criteriu de clasificare care nu poate decide satisfacerea conditiilor de unicitate a clasificarii este un
criteriu de clustering. In acest caz, un element poate sa apartina mai multor clase.
De exemplu, un calculator de buzunar poate fi considerat:
un instrument de calcul (functional),
un dispozitiv electronic (structural),
un obiect mic de culoare neagra (aspectului fizic)
Apartenenta la clase nu modifica proprietatile ce definesc obiectul ca membru al unei anumite clasei, ci
asigura o serie de trasaturi de importanta secundara.
Sistemul de organizare
Defineste activitatea de ordonare si grupare a pieselor de cunoastere dupa:
criteriile functionale ce rezulta din analiza modalitatilor de preluare din baza de cunostinte a unor informatii
necesare pentru efectuarea unor procese rezolutive (care modeleaza rationamentul).
Principalele criterii conceptuale de organizare sunt:
- accesul la piesele de cunoastere si la componentele lor;
- modul de executie a proceselor inferentiale;
- existenta relatiilor de ordine;
- protectia impotriva manevrelor neautorizate;
Limbajele destinate cu precadere inteligentei artificiale ofera putine facilitati de organizare a bazei de
cunostinte. Aceste aspecte sunt lasate in seama realizatorilor de aplicatii.
Descrierea bazei de cunostinte

reprezentarea cunoasterii urmareste descrierea sub forma simbolica a universului in care sistemul efectueaza
rationamente.
Intereseaza in special cunostintele despre entitati (reprezentari ale obiectelor) si despre relatiile dintre ele.
O arhitectura de descriere a bazei de cunostinte poate fi construita pe trei nivele, in functie de locul in care
se prelucreaza cunostintele:
Nivelul intern descrie structura de stocare fizica a cunostintelor in baza de cunostinte. Se descriu detaliile
complete ale stocarii, precum si modul de acces la cunostinte.
Nivelul conceptual descrie structura intregii baze de cunostinte pentru o comunitate de utilizatori. Se face o
descriere completa a bazei de cunostinte, ascunzndu-se detaliile legate de stocarea fizica, concentrndu-se
asupra descrierii entitatilor, tipurilor de date, a relatiilor dintre ele si a restrictiilor asociate.
Nivelul extern descrie baza de cunostinte din perspectiva diferitilor utilizatori, care au fiecare propriile
interese. Exista tendinta sa li se ascunda utilizatorilor detaliile de care nu sunt interesati.
Nu exista o distinctie neta intre cele trei nivele.
Totusi, in majoritatea sistemelor cognitive se remarca un nivel conceptual puternic, care suplineste de multe
ori celelalte nivele.
In aplicatiile practice apare o contopire intre nivelele conceptual si extern.
Din punctul de vedere al programatorului, reprezentarea cunoasterii poate fi :
Reprezentarile declarative sunt mai costisitoare, ocupa mai mult spatiu, pot avea elemente redundante,
insa stergerea sau adaugarea de elemente se face foarte simplu (aceste operatii sunt de fapt actualizari ale
unor liste de fapte).
Reprezentarile procedurale sunt mai compacte, dar mai putin flexibile, intruct se bazeaza pe o multime
de actiuni (de obicei de forma daca-atunci").
Ierarhia cunoasterii
La baza piramidei stau semnalele sau zgomotele. Acestea nu au semnificatie simbolica, adica nu pot fi
intelese de catre un subiect cunoscator.
Prin semne intelegem o unitate sau un simbol primar al unei viitoare informatii (exemple de semne in sens
general: o litera, o cifra, simbolul unui cont in contabilitate etc); asadar, intelegem o materie primara ce se
prelucreaza in vederea obtinerii unor fapte, date sau procese; De exemplu, o scriere hieroglifica necunoscuta
poate fi confundata cu o serie de desene abstracte, incoerente.
Pe nivelul inferior al ierarhiei sunt datele, fapte simple ale lumii reale, la cel mai de jos nivel de intelegere.
Prin date se inteleg doua sau mai multe semne combinate, mixate pentru a ajunge la un nou inteles in
procesul de cunoastere a individului fata de mediul inconjurator (o propozitie, o fraza, un enunt, o axioma in
matematica etc).
In limbaj uzual se folosete adesea sintagma de date si cea de informatie, remarca valabila att in
economie, ct si in stiinta calculatoarelor.
Datele pot fi definite ca secvente de simboluri, care incep sa aiba sens.
Datele au o valoare pur sintactica, adica pot fi descrise complet prin reprezentari structurate, formale.
Datele sunt usor de stocat si prelucrat cu ajutorul calculatorului.
Prin informatii intelegem un mixaj intre doua sau mai multe date existente in ansamblul cunoasterii la un
moment dat, rezultat in urma unui proces de prelucrare pentru a ajunge la un nou inteles in comunicarea
dintre indivizi.
Transformam datele in informatii atunci cnd adaugam valoare unei informatii si un anumit inteles prin
procese precum contextualizarea, categorizarea, corectarea etc. (exemple de informatii in sens general: o
teorie, un concept, rulajul unui cont de pasiv sau activ in contabilitate, o secventa dintr-un program
software)

Prin cunostinte intelegem o forma mult mai finisata a diferitelor informatii existente in organizatii,
societate sau in mintea indivizilor.
Informatiile acumulate in istoria de milenii a umanitatii au fost si sunt permanent sistematizate sub forma
unor cunostinte, pentru a facilita accesul cercetatorilor la diverse categorii de cunostinte.
Exista zeci de abordari cu privire la crearea si procesarea cunostintelor, transferul si transformarea lor pe
diverse tipuri (exemple de cunostinte in sens general: un model de management, un model matematic, un
program complet de software, un manual, o baza de date, balanta contabila si bilantul contabil etc)
Cunostintele reprezinta urmatorul nivel de intelegere. Ele deriva din informatii carora li se aplica reguli si
euristici. La acest nivel actioneaza tehnicile de data mining, care pot identifica tendinte ascunse sau modele
nebanale.
Inductia de reguli" este o tehnica de data mining care furnizeaza rezultate de forma: oamenii care cumpara
lapte cumpara si pine in 80% din cazuri".
Cunostintele, la care se adauga judecati si valori, precum si experienta si invatare, se transforma in
intelepciune. Pe acest nivel se realizeaza utilizarea cunoasterii acumulate.
Intelepciunea acumulata de individ ramne o forma superioara a cunostintelor pe care le poseda la un
moment dat acesta.
Mai recent, teoria propune termenul enlightenment, aceasta notiune desemnnd o calitate a
cunostintelor dusa dincolo de intelepciune.
Mai precis, este vorba despre cea mai inalta forma a intelegerii la care poate ajunge o persoana (intuitiv
spunem ca este vorba despre cea mai inalta forma a experientei acumulata de expertul uman intr-o anumita
profesiune).
Datele, acumulate intr-un context cu semnificatie, devin informatii.
Ele sunt abstractii informale, care nu pot fi formalizate printr-o teorie logico-matematica.
Daca spunem Suceava e un oras frumos", aceasta informatie are o natura subiectiva, depinde ce intelege
fiecare om prin frumos".
Enuntul anterior este reprezentabil intr-un calculator, insa sub forma de date; pentru a fi prelucrat
computational, frumos" ar trebui cuantificat de exemplu pe o scara numerica, de la 1 la 10.
Diferenta fundamentala dintre date si informatii este faptul ca datele au un caracter pur sintactic, pe cnd
informatiile dispun de caracteristici semantice.
Uneori este utila separarea si regruparea informatiilor dupa anumite criterii. Aceasta analiza ajuta la
determinarea relatiilor, modelelor, tendintelor si exceptiilor, sub forma informatiilor analitice.
Vnzarile pentru lapte si pine nu depind de perioada, cele pentru mere depind:
Notiunea de intelepciune a fost mult studiata si din punct de vedere filosofic. De-a lungul timpului,
filosofii au incercat sa inteleaga natura intelepciunii si modul in care aceasta poate fi atinsa.
Insusi cuvntul filosofie" inseamna etimologic dragoste de intelepciune". In acest context, intelepciunea
poate fi vazuta si ca frica de unicitate".
Reprezentarea ierarhica a cunoasterii are si critici. Acestia considera ca unele cunostinte depind intr-adevar
de mai multe date, dar sunt cazuri in care aceleasi date sunt implicate in mai multe aspecte ale cunostintelor.
De aceea, ei considera ca piramida nu este simbolul potrivit si ca datele, informatiile si cunostintele fac
parte dintr-un tot unitar, continuu, ale carui parti nu pot fi considerate separat.
Cercetarile efectuate in cadrul unor domenii printre care: psihologia cognitiva, lingvistica, filozofia,
informatica (inteligenta artificiala), au condus la o serie de concluzii importante privind reprezentarea si
procesarea informatiei in cadrul proceselor cognitive la fiinta umana si in cadrul sistemelor artificiale si
anume:
Toate sistemele cognitive opereaza cu simboluri si au la baza un set de simboluri fundamentale;

Orice proces cognitiv poate fi definit cu ajutorul unui program utiliznd un formalism simbolic;
Un sistem de procesare a informatiei consta (conform lucrarilor lui Newell si Simon) din patru
componente fundamentale: memoria, procesorul, organele efectoare, organele receptoare;
Gndirea umana este guvernata de programe care organizeaza procese informationale simple in
secvente ordonate care se constituie in structuri complexe;
Procesorul primeste, ca intrari, structuri simbolice si realizeaza la iesire noi structuri simbolice ca
rezultat al prelucrarii.
In contextul celor prezentate, arhitectura mintii umane consta din:
memoria pe termen lung este nelimitata, permanenta, necesita timp indelungat pentru memorarea
informatiei insa ofera posibilitatea regasirii instantanee a informatiei;
memoria pe termen scurt (memoria de lucru) are capacitate limitata, iar informatia memorata poate
fi doar procesata atunci cnd aceasta memorie este activa;
procesorul cognitiv permite executia operatiilor mentale organizate sub forma unor procese
elementare controlate sau automate, cum ar fi: regasire simboluri, comparare simboluri, etc.
Procesele controlate sunt procese interpretative si pot fi executate sub atentia constientului.
Procesele automate nu adreseaza cereri memoriei de lucru, sunt declansate automat functie de structura
informatiei curente activate si se bazeaza pe invatarea secventei de operatii corespunzatoare (pot fi
comparate cu programele compilate ale calculatoarelor).
Organele efectoare: picioare, mini, gura (motoare)
Organe receptoare: neuronii (senzori)
Ce am studiat?
Deductiile logice, judecatile
Ce este un sistem inteligent?
Tipuri de reprezentari
Ce este Inteligenta?
Ierarhia cunoaterii
Ce este inteligenta artificiala?
Semnale,
date,
informatii,
Ce este cunoaterea i cte
cunotinte,
intelepciune,
categorii de cunoatere sunt
enlightenment
(dupa Giarratano)?

Cursul 4/5
Capitolul 2. Reprezentarea cunostintelor
Una din clasificarile majore cu privire la cunostinte este cea care partajeaza cunostintele in
urmatoarele doua categorii:
cunostinte explicite sunt cunostintele acumulate rational care pot fi transferate prin procese obisnuite de
predare, invatare, comunicare, etc; acestea pot fi detasate de detinator si procesate in diverse moduri la nivel
organizational (cunostintele ce se regasesc in manuale, enciclopedii, baze de date etc);
cunostinte tacite sunt cunostinte de tip non rational, cum ar fi cunostintele ce deriva din experienta sau
intuitia individului, caz in care transmiterea si procesarea lor devin relativ mai dificile (noi stim intuitiv sau
din experienta cum sa realizam diverse actiuni sau sa ne comportam in diverse contexte sociale, insa uneori
este dificil sa explicam verbal cum indeplinim acele actiuni; Maynard si Mehrtens spun ca afacerile din
viitor vor exploata pe larg cunoasterea intuitiva [82]).
Procesul de conversie a cunostintelor explicite in cunostinte tacite si invers ia forma unei spirale a
invatarii in organizatiile moderne de afaceri;
a fost ilustrat pentru prima data de profesorul japonez Nonaka Ikujiro (acest model este cunoscut in
managementul cunostintelor drept modelul SECI, adica Socializare, Externalizare, Combinare si
Internalizare)
Spirala de conversie a cunostintelor
i - individ
g grup
organizatie
Socializarea presupune partajarea cunostintelor tacite intre doua sau mai multe persoane ce se afla impreuna
in diverse contexte sociale (acasa, in organizatie); cunostintele tacite sunt generate de experienta directa a
fiecarui individ, ceea ce face ca transferul acestora catre alte persoane sa fie relativ dificil;
Externalizarea cunostintelor este procesul prin care fiecare persoana isi transforma cunostintele sale tacite
in cunostinte explicite; din moment ce devin cunostinte explicite, acestea pot fi transferate cu usurinta catre
altii, pot fi procesate si depozitate;
Combinarea este procesul prin care se creeaza noi structuri de cunostinte explicite plecnd de la o baza data
de cunostinte tot explicite; in fapt, discutam despre un proces de conversie de la o forma mai bruta a
cunostintelor catre o forma mai finisata, de mai mare semnificatie; transferul si difuzia unor cunostinte
rezultate prin conversia invocata se poate face cu usurinta in orice organizatie;
Internalizarea cunostintelor este procesul de conversie prin care se convertesc cunostinte explicite existente
la un moment dat in cunostinte tacite asociate indeosebi unei organizatii; acestea se transfera indeosebi prin
tehnici de training, learning by doing, exercitii practice
In contextul procesarii unor cunostinte pe calculator, discutam de un limbaj diferit de cel natural; acest tip de
limbaj se bazeaza pe o logica simbolica (logica de ordinul I).
Avnd sintaxa sa definita formal, logica simbolica este mult mai simpla si mai potrivita procesarii pe
calculator dect limbajul natural.
In ciuda simplitatii sale, logica simbolica este destul de expresiva pentru a specifica orice lucru care poate fi
programat pe calculator.
Limbajul de reprezentare a cunostintelor este logica propozitionala, care a fost dezvoltata de George
Boole la mijlocul secolului 19 si in care o propozitie poate fi reprezentata printr-o singura litera p,
putnd avea valoarea logica adevarat sau fals.

In acest mod de reprezentare a propozitiei se pierd detaliile (nu poate fi analizata structura interna a
propozitiei) insa, daca structura interna este importanta, propozitia poate fi impartita in parti mai
mici care pot fi reprezentate separat. Un pas important in acest sens il constituie impartirea
propozitiei in doua parti si anume: subiect si predicat.
Diferitele tipuri de rationament posibile (la care putem recurge in prezent) se bazeaza pe 2 tipuri diferite de
logica:
logica clasica, de tip aristotelic;
logica fuzzy, aparuta odata cu multimile fuzzy.
Este oarecum paradoxal, insa ambele tipuri de logica recurg in limbaje matematice la urmatorul set de
operatori utilizati in practica:
cuantificatorul existential
tie
cuantificator
(O
universal (oricare
R)
ar fi)
ope
operatorul
rato
de
rul
conjunctie
de
(AND)
neg
ope
atie
rat
(N
oru
OT)
l de
implicatie simpla
disj
implicat
unc
dubla
Logica clasica ne arata ca valoarea de adevar (V) a unei propozitii (P) este o functie de forma: V : P {0,1}
unde: domeniul de definitie este multimea tuturor propozitiilor logice, iar subdomeniul este multimea
formata din elementele 0 care au semnificatia de fals si 1 care au semnificatia de adevar.
Logica propozitiilor: Limitari
Enunturile care se refera la grupuri de obiecte necesita
enumerarea lor. Ex.:
Lui Alin ii place limba straina
Lui Bogdan ii place limba straina
...
Aceste limitari fac ca baza de cunotinte sa creasca enorm.
Solutie: Logica de ordinul I (First Order Logic FOL).
Termeni
Termenii sunt folositi pentru a reprezenta obiecte din realitate.
Constante: Ion, Maina
Cuantificatori: ,
Variabile: x, y, z, ...
Semantica
Functii: f(x)
Ce entitati din realitate sunt asociate fiecarui
Predicate: frati(x,y)
element din logica de ordinul I?
Conective i cuantificatori
Constante: obiecte din realitate
Conective: , , , ,
Predicate: relatii
Functii: relatii functionale

Propozitii simple: true sau false, dupa cum propozitia este adevarata sau falsa
Propozitii compuse: true sau false, pe baza valorilor propozitiilor componente i a tabelelor de adevar
Tabele de adevar
Semantica pentru cuantificatori
Ce se asociaza propozitiei x P(x)?
Daca, pentru fiecare x posibil, P(x) este adevarat a, atunci true; altfel, false
x P(x) este echivalenta cu P(a) ^ P(b) ^ ...
Ce se asociaza propozitiei x P(x)?
Daca exista cel putin un x pentru care P(x) este adevarata, atunci true; altfel, false
x P(x) este echivalenta cu P(a) P(b) ...
Propozitii cu cuantificatori
Toti studentii studiaza BD
s student(s) studiaza(s,BD)
Atentie la asocierea cu !
Cel putin unui student ii place BD
s student(s) place(s,BD)
Atentie la asocierea cu !
Relatii intre cuantificatori
(x P(x)) este echivalent cu P(x)
( x P(x)) este echivalent cu x P(x)
Utilizare
Tuturor studentilor le place BD
s student(s) place(s,BD)
Anumitor studenti le place BD
s student(s) place(s,BD)
Utilizare
Un singur student va cadea la BD
s student(s) cade(s,BD) ( t student(t) cade(t,BD) t = s)
Nici un student nu cumpara maini scumpe
m, s student(s) masina(m) scumpa(m) cumpara(m, s)
Aristotel propune o impartire a propozitiei in doua parti: subiect si predicat. Urmatorul este silogismul
pentru rationamentul despre contul sintetic [132]:
if contul sintetic are 20 conturi analitice and Contul 301 este un cont sintetic then Contul 301 are 20 de
conturi analitice
Premisa majora contul sintetic (s) este subiectul si are 20 conturi analitice(an) este predicatul.
Conectarea dintre cele doua premise este stabilita prin termenul contul sintetic care este numit termen de
mijloc, el apare ca subiect in prima premisa si predicat in cea de-a doua.
Cu aceasta alegere a predicatelor, propozitia contul sintetic va putea fi reprezentata prin urmatoarea
formula [132]:
(\/s)( contul sintetic (s) => number of cont analitic (s,20).
Simbolul \/ reprezinta un cuantificator universal, iar => este operatorul ce implica (if-then). Formula
poate fi citita astfel:
For all s, if s is a contul sintetic, then s has 20 cont analitic.
Logica fuzzy

Fuzzy = vag, estompat, neclar, pufos


Logica fuzzy. Spre deosebire de logica clasica, in logica fuzzy valoarea de adevar (V) a unei propozitii P
este o functie de tipul: : P [0,1]
Modificarea de la multimea {0,1} de valori, la intervalul real inchis [0,1] are ca efect obtinerea unui numar
infinit de valori pentru solutiile posibile intre valorile extreme 0 fals si respectiv 1 adevarat. Astfel, o
afirmatie AF apartinnd multimii P poate avea ca valoare de adevar numarul 0,75, intelegnd prin aceasta ca
respectiva afirmatie nu este intru totul falsa dar nici intru totul adevarata.
Probabilitati: notiuni clare, rezultate incerte
Ex.: Daca aruncam un zar, va iei un numar par
Fuzzy: notiuni ambigue, rezultate certe
Ex.: Daca un jucator e scund, nu va juca pe post de pivot
Modele pentru reprezentarea cunotintelor
Tipuri de modele pentru reprezentarea si procesarea cunostintelor:
modele logico-simbolice (a fost dezvoltata de logicieni ca o metoda formala de rationament, in principal in
domeniul matematicii, cel mai raspndit model logic fiind logica cu predicate de ordinul I);
modele conexioniste (pot fi abordate probleme complexe pentru care nu poate fi stabilit un algoritm de
rezolvare, urmnd ca algoritmul sa fie construit automat plecnd de la multimea de exemple de instruire).
Modelele logico-simbolice utilizeaza metode de reprezentare simbolica a cunostintelor si memorarea
acestora in baza de cunostinte a sistemului, precum si mecanisme care permit deducerea de noi cunostinte
din faptele memorate in baza de cunostinte.
Modelele conexioniste memoreaza difuz informatia in cadrul unei retele neuronale artificiale prin
intermediul valorilor determinate ale ponderilor conexiunilor sinaptice dintre neuroni, iar procesul de calcul
utilizat in cadrul acestor modele este cunoscut sub denumirea de calcul neuronal.
Definirea modelelor conexioniste are la baza modul de organizare si functionare a creierului uman care este
compus din 1012 neuroni, fiecare neuron fiind conectat la aproximativ 100 000 de alti neuroni prin legaturi
numite sinapse.
Semnalele transmise la intrarile unui neuron creaza in corpul celulei, prin insumare, un potential electric
care, daca depaseste un anumit prag, va genera un impuls electric ce va fi transmis catre neuronii conectati
la iesire.
Aceste aspecte au fost avute in vedere pentru definirea unui model de neuron artificial.
Neuronul functioneaza ca un dispozitiv cu n intrari ponderate si o iesire.
Intrarile xi reprezinta semnale transmise de la alti neuroni sau din mediul exterior si sunt exprimate prin
numere reale.
Fiecare semnal de intrare xi este ponderat cu un numar real wi numit pondere sinaptica, care poate fi > 0
(excitatoare), sau < 0 (inhibitoare).
Sisteme formale de rationament:
calculul propozitional (de ordinul 0) - lucreaza cu propozitii ce pot fi combinate cu ajutorul conectorilor
logici, valoarea logica a unei propozitii putnd fi adevarat sau fals;
calculul cu predicate (de ordinul 1) - utilizeaza predicate (variabile ce pot lua valori diverse, nu neaparat
booleene) in locul propozitiilor, cuantificatori de variabile, conectori, functii.
Reprezentarea cunostintelor in logica se bazeaza in esenta pe urmatoarele doua componente:
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 respectiv noi cunostinte.

Metode de reprezentare a cunostintelor in cadrul modelelor logico-simbolice:


reprezentarea cunostintelor prin reguli de productie;
reprezentarea cunostintelor prin retele semantice;
reprezentarea cunostintelor prin cadre (obiecte structurate).
De exemplu, enuntul "Toti studentii de la calculatoare stiu sa programeze" poate fi exprimat in logica cu
predicate de ordinul I astfel:
(x) (StudentLaCalculatoare(x) Programeaza(x))
Daca se stie in plus ca Radu este student la calculatoare, deci
StudentLaCalculatoare(Radu)
Se poate concluziona pe baza celor doua structuri presupuse noua structura
Programeaza( Radu)
Elementele de baza cu care se opereaza sunt propozitiile, numite si atomi sau propozitii simple. Urmatoarele
enunturi sunt propozitii:
Masina este alba
P
Oamenii traiesc pe luna
Q
Notatiile din dreapta reprezinta simbolic propozitiile enuntate.
propozitie poate fi adevarata sau falsa, deci poate avea doua valori de adevar.
De exemplu, propozitia P este adevarata si propozitia Q este falsa. Atta 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).
Propozitiile simple sau atomii se pot combina, dnd nastere la noi propozitii care sunt, la rndul lor,
adevarate sau false. Propozitiile combinate (frazele din limbajul natural) se formeaza din atomi folosind
conectorii logici. Conectorii logici indica operatiile de asociere sau combinare care sunt cele mai frecvente
in vorbire sau rationament.
De exemplu, din doua propozitii simple:
Mihaela este studenta
P1
Mihaela este in anul II
P2
se poate forma propozitia compusa:
Mihaela este studenta si Mihaela este in anul II
notata cu
P1 P2
In consecinta, alfabetul logicii propozitionale este format din simbolurile care desemneaza atomii,
conectorii logici si alte simboluri cum ar fi parantezele.
In plus exisa doua simboluri speciale pentru desemnarea valorilor logice de adevarat si fals, notate prin
conventie cu a, respectiv f.
Forma logica cea mai complexa este inferenta, mecanism prin care o anumita propozitie numita concluzie
este derivata din una sau mai multe propozitii numite premize sau ipoteze. Formulele logice sunt statice, insa
prin reguli de inferenta se pot genera formule noi din formule vechi. Cele mai cunoscute reguli de inferenta
sunt numite:
modus ponens
daca p este adevarata si p q este adevarata, atunci q este adevarata;
modus tollens
daca p este adevarata si q este adevarata, atunci daca p este falsa, q este falsa.
Modus Ponens
Principiul Modus Ponens are urmatoarea formulare:

daca L M si propozitia L este adevarata atunci propozitia M este adevarata


Dar principiul Modus Ponens poate fi enuntat si intr-o maniera ce tine cont de reprezentarea cunostintelor
prin reguli de productie:
Daca F1, F2, , Fn sunt toate adevarate si regula "daca F1 si F2 si si Fn atunci F=adevarat " este de
asemenea adevarata, atunci se poate deduce ca F este adevarat.
Altfel spus, daca se da o regula adevarata, cu partea conditie evaluata adevarat, atunci este corecta
executarea atribuirilor din partea actiune.
Modus tollens
Principiul de lucru in acest caz este urmatorul:
daca L M este adevarat si propozitia M este falsa atunci propozitia L este falsa
Admitem ca implicatia L M este totdeauna adevarata, doar daca L este adevarat si M este fals. Cnd L este
fals, oricare ar fi valoarea lui M, implicatia este adevarata; altfel spus rationamentul care a condus la
concluzie este corect.
Nu trebuie sa se confunde (LM) si (ML) pe care o vom nota (LM) si care respecta tabela de adevar:
Cursul 6/7
3. Sisteme expert. Definitie. Caracteristici
Edward Feigenbaun arata ca sistemele expert sunt acele programe concepute cu rolul de a rationa in
scopul rezolvarii unor anumite probleme pentru care in mod obisnuit se cere o anumita expertiza umana.
Louis Frenzel prezinta sistemul expert ca un program particular care incorporeaza o baza de cunostinte si
un motor de inferente; acest program se comporta ca un consilier inteligent intr-un domeniu particular.
P.G. Pigford si G. Baur arata ca sistemul expert este un produs program care emuleaza comportamentul
expertilor umani si rezolva probleme din lumea reala asociate unui domeniu particular al cunoasterii.
Jackson defineste un sistem expert ca un sistem informatic capabil de a reprezenta si a rationaliza unele
domenii de cunostinte bogate, avnd in vedere rezolvarea problemelor si oferirea unor sfaturi.
Sistemele expert sunt programe care apartin domeniului IA, programe ce inmagazineaza cunostintele
expertilor umani dintr-un anumit domeniu bine definit, proceseaza si manipuleaza aceste cunostinte,
ajungnd la concluzii proprii pe care le ofera decidentului uman. Ulterior, decidentul uman din domeniul
pentru care se dezvolta un sistem expert ramne singurul indreptatit sa selecteze sau nu concluzia oferita de
SE, eventual sa filtreze aceasta concluzie prin experienta de care dispune.
Concluzii:
din punct de vedere conceptual, sistemele expert vizeaza reconstituirea rationamentului uman pe
baza expertizei obtinute de la experti;
sistemele expert dispun de cunostinte si de capacitatea de a desfasura activitati apropiate sau chiar
similare rationamentului uman;
dispun de metode de invocare a cunoasterii si exprimarea expertizei, comportndu-se ca un sistem
inteligent;
sunt capabile sa memoreze cunostintele, sa stabileasca legaturi intre cunostinte si sa infereze
concluzii, solutii, recomandari, sfaturi pe baza faptelor si prelucrarii cunoasterii incerte (este vorba
de cunoasterea vaga fuzzy modelata de catre Zadeh);
ca nivel de realizare informatica, sistemele expert se bazeaza pe principiul separarii cunoasterii
(bazei de cunostinte) de programul care o trateaza (motorul de inferenta).
Analogia dintre expertul uman si sistemul expert

Comparatia formulata surprinde doar mecanismele extrem de generale pe care se bazeaza rationamentul
pentru expertul uman ct si pentru SE.
Din punct de vedere functional, un sistem expert poate fi definit ca fiind un program informatic care se
comporta ca un expert uman in sensul ca rezolva probleme eficient si efectiv dintr-un domeniu relativ ingust,
se adreseaza problemelor care in mod normal sunt rezolvate de specialisti umani, poate oferi un sfat
inteligent sau pot adopta o decizie inteligenta.
Construirea unor astfel de programe presupune extragerea de informatii de la specialistii in domeniu si
codificarea lor intr-un limbaj compatibil cu calculatorul. Pentru ca solutiile oferite sa fie credibile este
necesar ca sistemul expert sa prezinte urmatoarele caracteristici:
Transparenta - impune ca rationamentul efectuat sa poata fi urmarit de utilizator. Aceasta
caracteristica va permite interventia utilizatorului pentru alegerea unei cai preferate.
Credibilitate - Solutia care se ofera trebuie sa fie credibila. Acest aspect se realizeaza
atasnd la solutie un indice numeric care spune ct de corecta este din punctul de vedere al
sistemului expert (in contextul setului de cunostinte pe baza caruia s-a emis solutia si a
dialogului cu utilizatorul).
Modificare usoara - se refera la posibilitatea actualizarii simple a bazei de cunostinte ca si la
utilizarea aceluiasi nucleu pentru baze de cunostinte diferite (care insa prezinta aceeasi
structura).
Arhitectura unui sistem expert
Componentele unui sistem expert
Baza de cunostinte reprezinta cunostintele din domeniul respectiv (adica ansamblul expertizei
umane pe o problema ingusta) si are in componenta sa urmatoarele:
baza de fapte ce primeste date relative la problema propusa a fi rezolvata prin sistemul
expert; poate fi o problema din medicina, chimie, biologie, economie, etc; de exemplu,
pentru diagnosticul financiar al firmei asupra caruia ne vom concentra ulterior avem datele
din situatiile contabile (bilant, contul de profit si pierderi, tabloul fluxurilor de trezorerie etc);
baza de fapte se imbogateste pe masura functionarii sistemului expert;
baza de reguli ce reproduce rationamentul expertului uman si transfera expertiza acestuia
intr-un limbaj accesibil computerului; acestea sunt numite reguli de productie
Motorul de inferente este componenta de baza a sistemului expert, intruct aceasta componenta realizeaza
parcurgerea bazei de fapte, conform regulilor definite, pentru a ajunge la cea mai inteligenta solutie posibila
pe marginea problemei supusa spre rezolvare; practic, motorul de inferenta efectueaza rationamente ce
copiaza indeaproape rationamentul uman; mai precis, motorul de inferenta proceseaza sau manipuleaza
succesiv faptele ce i-au fost puse la dispozitie, respectnd insa un mecanism impus de inferenta, mecanism
dat de regulile de productie.
Interfata sistemului cu utilizatorul are rolul de a asigura conexiunea in exploatare intre expertul uman si
instrumentul informatic creat, respectiv ea va permite ulterior un dialog constructiv intre expertul uman si
SE; in categoria de utilizatori ai viitorului SE pot intra, dupa caz, si alte persoane dect expertul uman ce a
participat la proiectarea SE.
Sistemele expert nu actioneaza izolat de celelalte componente ale mediului exterior in care sunt ele instalate;
in contextul exploziei de retele de computere (internet si intranet) s-au dezvoltat si instrumente informatice
pentru a conecta un sistem expert dat la alte mijloace de comunicare si difuzare a cunostintelor;
in plus, daca o organizatie recurge la n sisteme expert, fiecare pe o anumita problema specifica, ele pot fi
conectate intr-un singur ansamblu.
Atribute sau facilitati oferite decidentului superior:

posibilitatea de a asista experti la proiectarea propriilor sisteme expert, iar utilizatorii la desfasurarea
activitatilor specifice;
atunci cnd din mediul extern firmei survin influente negative ale unor factori predefiniti, cnd se
activeaza semnale ce impun reevaluarea directiei in care merge organizatia, sistemul expert
atentioneaza automat top managementul;
asigura integrarea dintre sistemul de colectare a datelor (contabile sau de alta natura) cu modulele
operationale si procedurile cu specific inteligent pentru analiza economico-financiara curenta; se
asigura o consiliere permanenta pentru decidentul uman;
sensibilizarea operativa a managementului asupra unor schimbari ce survin permanent in evolutia
raporturilor dintre diferite componente ale organigramei, dintre functiunile firmei
Clasificarea sistemelor expert
In literatura de specialitate se regasesc multe criterii de clasificare, intre care amintim [6]:
functie de raportul fata de celelalte sisteme bazate pe cunostinte;
functie de natura problemelor pe care le solutioneaza sau de domeniul aplicativ;
functie de caracteristicile cunoasterii memorate sau metodele de reprezentare a cunoasterii;
functie de strategiile de control si metodele de inferenta.
Dupa natura cunoasterii reprezentate de SE deosebim:
sisteme expert bazate pe reguli, acestea fiind cele mai numeroase iar tehnologia lor fiind cel mai bine
pusa la punct; inclusiv SE pe care il propunem se bazeaza tot pe reguli si poate fi inclus in aceasta
categorie;
sisteme expert bazate pe cadre, in care cunoasterea este reprezentata sub forma unor cadre (obiecte
structurate);
sisteme hibride, care includ att reguli ct si cadre;
sisteme bazate pe modele, care sunt structurate in jurul unui model pentru simularea structurii si
functionarii unui sistem.
Dupa natura problemelor rezolvate (avnd in vedere complexitatea problemei solutionate pentru fiecare caz
in parte) exista urmatoarele tipuri de sisteme expert:
sisteme expert bazate pe colectarea faptelor doveditoare (adica a expertizei umane ce poate fi
descrisa si cuantificata ct mai precis). Ele sunt foarte importante in solutionarea expertizelor de
orice tip (contabila, tehnica, medicala etc);
sisteme expert in pasi succesivi, care au un numar mare de iesiri obtinute prin detalierea succesiva pe
niveluri a problemei in domeniu;
sisteme expert la cheie, dezvoltate pentru nevoile unui utilizator particular;
sisteme expert in timp real, in care timpul de raspuns are o limita stricta, suficienta pentru controlul
proceselor.
Dupa clasa de utilizare, functie de cum au evoluat si dupa complexitatea lor, unii autori arata ca exista:
sisteme expert de clasa I (sunt acele sisteme care sunt comercializate si acceptate ce catre utilizatori);
sisteme expert de clasa II (acele sisteme care au performante de expert dau nu au cstigat renume in
rndul utilizatorilor datorita nesigurantei solutiei oferite unde imprecizia si incertitudinea joaca un
rol important);
sisteme expert de clasa III (nu au performante de expert din cauza multor greseli rezultate in
activitatea lor, interactiunea cu utilizatorul este mai densa dect la cele de categoria I si II).
Daca tinem seama de dezvoltarile succesive intre diferite generatii de sisteme expert (trendul inregistrat pe
masura ce s-au dezvoltat in timp toate tehnicile de programare in IA), functie si de complexitate
problemelor solutionate de astfel de instrumente informatice, putem discuta de doua mari categorii de SE:

SE traditionale, care se bazeaza pe algoritmi clasici de lucru ce utilizeaza logica clasica specifice
logicii booleene;
SE fuzzy, care se bazeaza pe algoritmi evoluati de programare, algoritmi ce s-au dezvoltat odata cu
logica fuzzy.
Astfel, scoala germana clasifica sistemele expert de gestiune avnd in vedere functia lor, tipul de solutii
oferite si modul in care dialogheaza cu utilizatorul, astfel:
a) sisteme expert integrate pentru luarea deciziilor, in care sistemul obtine datele de intrare datorita
legaturilor cu alte masini sau echipamente (aparate de masurat, senzori etc), baze de date sau alte
programe informatice; in acest caz este
posibila imbunatatirea calitatii solutiilor si a
rationamentului, indeosebi atunci cnd expertul uman supervizeaza o linie automata de operatiuni;
b) sisteme expert interactive pentru luarea deciziilor, care obtin date de intrare, total sau partial, de
la expertul uman pe masura ce sisteme expert se afla in exploatare; astfel de SE sunt utile in
managementul aplicat de companii pentru a fundamenta decizii operative sau pentru a proiecta
diverse scenarii posibile cu privire la evolutia unui fenomen economic; ele sunt utile indeosebi
pentru ca permit un dialog permanent cu expertul uman;
c) sisteme expert interactive pentru consultanta, in care expertul uman raspunde de solutia
problemei, iar rolul sistemului se reduce la cel de simplu consilier; vom regasi astfel de SE in
activitatea de consultanta in management, contabilitate , finante banci etc
Literatura de specialitate ofera si alte abordari cu privire la tipurile de SE aplicate in economie; de
pilda, Luger discuta patru zone de aplicare a SE in economie:
sisteme expert pentru control intern;
sisteme expert pentru impozitare;
sisteme expert pentru planificare financiara;
sisteme expert pentru interpretarea actelor normative altele dect cele referitoare la impozite.
Majoritatea tratatelor si lucrarilor despre sistemele expert prezinta si descriu, dupa caz, anumite etape ce ar
trebui sa fie urmate de catre proiectant atunci cnd acesta isi propune sa construiasca un SE pentru o
problema (PR) bine definita. In buna masura, se prezinta sintetic anumite tehnici de achizitie a cunostintelor,
conexat sau nu etapelor ce trebuie parcurse in construirea unui sistem expert.
Discutam in continuare despre un numar de 7 etape, structurate in conceptia sistemica, ca etape de parcurs
pe drumul de construire a unui SE:
descrierea problemei PR;
recursul la expertiza;
recursul la experti;
achizitionarea cunostintelor;
explicitarea succesiva intre participanti;
definirea regulilor de inferenta;
testarea si validare modelului.
Descrierea problemei PR
este nevoie de un enunt general al problemei PR, care sa fie relativ ingusta si bine definita si pentru
care sa existe un volum de expertiza ce poate fi ulterior descrisa in limbaj matematic. In aceasta
etapa are loc primul contact intre expertul uman pentru problema PR (medic, economist etc) si
expertul in proiectarea si construirea de SE.
Recursul la expertiza
este o cunoastere intensiva, specifica domeniului problemei, achizitionata prin instruire, citire sau
experienta indelungata; putem spune ca expertiza se acumuleaza treptat de catre o persoana prin ceea

ce numim invatare informala; pentru fiecare profesie, exista sute de detalii si mici secrete (skills)
ce pot fi acumulate de individ doar prin exercitarea profesiei in decursul anilor. Exemplificam): fapte
despre domeniul problemei; teorii din domeniul problemei; reguli si proceduri privind domeniul
problemei; reguli despre ce trebuie facut intr-o situatie problematica data, pentru solutionarea
problemei; strategii globale despre solutionarea anumitor probleme pe diverse categorii;
metacunoastere.
Toate aceste tipuri de cunostinte (alaturi de alte zeci de sintagme si clasificari intlnite in literatura de
specialitate) permit expertilor din toate activitatile umane sa ia decizii mai rapide si mai bune dect cei care
nu sunt experti in solutionarea problemelor complexe; aceasta remarca este valabila pentru orice activitate
profesionala bine individualizata in chimie, biologie, medicina etc.
Alaturi de cunostinte teoretice acumulate prin studiul indelungat, este nevoie de ani multi de pregatire
pentru a deveni expert intr-o anumita profesie, oricare ar fi aceasta. Totusi, numarul de ani exercitati intr-o
profesie nu echivaleaza automat cu expertiza de cea mai buna calitate, intruct sunt situatii in care un
incepator bine pregatit teoretic poate deveni rapid un expert notabil.
In legatura cu expertiza detinuta de cineva, trebuie mentionat ca ea este uzual asociata cu un inalt grad de
inteligenta si cu un volum amplu de cunostinte acumulate in timp (nu este insa obligatoriu ca o persoana
inteligenta sa fie in mod implicit expert pe un domeniu)
Recursul la experti
Prin antiteza cu salariatii ce au nivel mediu de pregatire, expertii au o caracteristica suplimentara in
sensul ca invata din succesele si greselile facute in trecut; ei recunosc esecul si invata din el, gndesc
prin analogie si isi dezvolta o memorie de tip selectiv (similar unui sahist renumit, ei isi dezvolta in
timp anumite pattern-uri dupa care vor rationa ulterior, cnd vor fi pusi in situatii similare sau
apropiate).
Este dificil sa definim in cteva cuvinte care anume sunt caracteristicile, insusirile sau abilitatile pe
care trebuie sa le posede o persoana numita expert; in plus, discutam de nivele diferite sau grade de
expertiza. Asadar, survine inevitabil intrebarea: ct de multa expertiza trebuie sa posede o persoana
calificata pe un domeniu pentru a fi acceptata ca expert?
In fine, dincolo de calitatile sau abilitatile unei persoane acceptata ca expert, este util sa amintim faptul ca,
odata ce a obtinut acest statut, persoana in cauza deruleaza anumite activitati specifice pentru a solutiona o
problema noua (dupa caz, ea defineste problema, reformuleaza problema, analizeaza comparativ cu alte
probleme din trecut, gndeste prin analogie, ignora regulile urmate in trecut, dezvolta alte reguli de urmat,
invata din experienta, poate explica solutia la care ajunge, poate oferi solutii rapide si partiale sau finale,
constientizeaza limita abilitatilor sale etc).
Toate aceste activitati trebuie desfasurate de expert eficient, rapid si cu un cost redus; rezultatul final trebuie
sa confere un plus de calitate pentru organizatia in care el activeaza.
Pentru a imita un expert uman, toate SE construite, indiferent de domeniul de aplicare, trebuie sa posede
toate caracteristicile enuntate anterior si sa raspunda exact la aceleasi cerinte invocate (in masura in care
acest lucru ar fi posibil sub raport pragmatic).
Fara indoiala, expertii umani constituie resursa cea mai valoroasa pentru orice organizatie, fie de afaceri sau
de alt tip; ei ofera organizatiei idei creative, metode noi, inventii etc; solutioneaza probleme dificile in
sectorul lor insa pot executa si activitati de rutina relativ eficient.
Contributia expertilor sporeste productivitatea intreprinderii, in sensul imbunatatirii pozitiei ei competitive
pe piata.

In ultima instanta, expertii umani existenti in mii de organizatii sunt cei care conduc trendul cunoasterii
sociale si fac diferenta esentiala intre tarile bogate si tarile sarace; prosperitatea sociala a devenit astazi
dependenta de volumul si calitatea cunostintelor explicite si tacite pe care le poseda o tara la un moment dat.
Evident, ambele categorii de cunostinte, respectiv cele explicite si cele tacite, pot fi exploatate eficient prin
recursul la experti umani; SE si retelele de calculatoare au devenit un vector major ce potenteaza efortul
expertilor umani in sensul invocat anterior.
Pe de alta parte, subintelegem ca organizatiile de afaceri sau de alt tip trebuie sa si recompenseze, adica sa
plateasca expertii umani de care dispun intr-un anumit domeniu; uneori, costul unor astfel de experti este
departe de a fi neglijabil.
Problema majora a fost si ramne aceea de a compara permanent ce costuri genereaza pentru organizatie
utilizarea unui expert uman fata de utilizarea unui SE, pentru a solutiona acceptabil acelasi tip de problema.
Principalele ratiuni pentru inlocuirea expertului uman pot fi urmatoarele:
a face expertiza disponibila si dupa orele de program si in oricare din punctele de lucru ale
organizatiei;
automatizarea unei sarcini de rutina care necesita asistarea unui expert;
expertul uman se pensioneaza sau a decedat;
expertul uman este foarte scump;
expertiza necesara se localizeaza in medii periculoase de lucru pentru individ.
Asistarea expertului uman in activitatea sa zilnica constituie o situatie obisnuita in marile firme; intre astfel
de situatii in care se recurge uzual la utilizarea SE pentru sarcini de asistare amintim: asistarea unui medic
pentru a stabili un diagnostic, asistarea unui specialist al bancii cnd calculeaza bonitatea unei firme in
vederea acordarii unui credit etc.
Etape in construirea unui sistem expert
Achizitionarea cunostintelor
In functie de natura problemei PR propusa a fi solutionata prin noul SE conceput, de tipul de
cunostinte si expertiza existenta deja la momentul respectiv, se gndesc si selecteaza cele mai
potrivite tehnici pentru a capta cunostintele disponibile, pentru a le defini ct mai complet, ct si
pentru a construi cea mai convenabila baza de cunostinte ce vor fi procesate ulterior de motorul de
inferenta.
Explicitarea succesiva intre participanti
aceasta etapa de parcurs in construirea unui SE se afla intr-o conexiune directa cu alte etape ale
acestui demers, inclusiv cu etapa de testare si validare a modelului propus de proiectant.
Definirea regulilor
In sensul cel mai general, spunem doar ca majoritatea sistemelor expert in functiune sunt
bazate pe reguli de inferenta de forma IF...THEN...ELSE (DACA...ATUNCI....ALTFEL),
reguli memorate in baza de cunostinte.
Testarea si validarea modelului
Dupa conceperea motorului de inferenta, discutam de o etapa de consultare si validare a SE
conceput, situatie in care utilizatorii finali sunt solicitati sa dialogheze in mod succesiv cu SE:
utilizatorul adreseaza intrebari pentru a clarifica gradul de atingere al obiectivului vizat de SE
sau alte aspecte conexe;
SE accepta intrebarile utilizatorului si formuleaza, dupa caz, raspunsuri mai amanuntite sau
mai sintetice

Sistemele expert pot adresa la rndul lor intrebari si pot astepta raspunsuri de la utilizatori.
Acelasi mod de consultare poate fi folosit si de catre constructorul de sisteme expert in timpul
fazelor de dezvoltare, cnd se testeaza interfata utilizator si modulul explicativ.
Tehnici de achizitie a cunostintelor
O diferenta evidenta dintre rezolvarea conventionala a problemelor si problemele de cunoastere este gradul
pna la care achizitia de cunostinte este importanta.
Procesul initial de achizitie a cunostintelor consta in identificarea cunostintelor importante de domeniu, a
subseturilor de cunostinte si vocabularul de care att inginerul de cunostinte, ct si expertul de sistem va
avea nevoie.
In timp ce interviul nestructurat nu este eficient sau recomandat atunci cnd inginerul de cunoastere trebuie
sa izoleze niste date specifice, atmosfera sa informala si deschisa poate permite inginerului de cunostinte sa
devina familiar cu domeniul si sa identifice terminologia importanta si surse de cunostinte importante pentru
investigari ulterioare.
Analiza conceptuala - utiliznd tehnici de analiza conceptuala, ca de exemplu dictionare de concepte sau
tehnici de sortare a conceptelor, inginerul de cunostinte cauta sa inteleaga si sa reprezinte grafic modul in
care expertul de domeniu a organizat mental conceptele in domeniu.
Analiza de domeniu - dupa ce cunostintele de baza au fost identificate, inginerii de cunostinte folosesc
diverse tipuri de tehnici pentru identificarea cadrului domeniului si a relatiilor de baza din domeniu. Aceste
tehnici permit inginerului de cunostinte sa invoce si sa reprezinte grafic informatii importante pe care
expertul de domeniu s-ar putea sa nu fie in stare sa le exprime verbal.
De exemplu, tehnicile de analiza de domeniu (exemplu analiza procesului) ofera inginerului de cunostinte o
structura care reprezinta procesele majore, cerintele, constrngerile si actiunile pe care un expert le foloseste
atunci cnd rezolva probleme tipice din domeniu.
Interviuri structurate - interviul structurat spre deosebire de varianta nestructurata, produce date specifice
(de obicei de natura declarativa) ca raspuns la intrebarile esentiale. Cu acest pas incepe rafinarea
continutului actual al bazei de cunostinte si proiectarea. Odata ajunsa la acuratete informatia rafinata a fost
preluata, inginerul de cunostinte incepe translatarea cunostintelor declarative si procedurale critice in alte
reprezentari (pseudo-cod, un anumit limbaj de reprezentare a cunostintelor sau cod efectiv).
Analiza solutiei - dupa ce inginerul de cunostinte a identificat structura domeniului, procesele majore din
domeniu si modul in care subseturile, conceptele si atributele par a fi inrudite, acesta poate analiza
strategiile solutiilor expertului. In acest punct inginerul de cunostinte detine o oarecare intelegere a
domeniului si a organizarii sale. Aceasta cunostinta ii permite sa selecteze si sa genereze probleme pentru
expertul de domeniu pentru ca acesta sa le rezolve. Scopul principal al acestei etape este ca inginerul de
cunostinte sa identifice prioritatile, euristicile, alternativele, atributele si punctele critice pe care expertul de
domeniu le foloseste.
Unelte si prototipuri de achizitie a cunostintelor - in aceasta etapa inginerul de cunostinte poate folosi o
varietate de unelte de achizitie a cunostintelor pentru a aborda procesul de implementare potrivit pentru un
anumit stagiu de dezvoltare. Acestea pot varia de la simulari software inrudite cu domeniul, programe
inteligente de editare, programe inductive pna la prototipuri ale sistemului expert dezvoltat.
Trecerea in revista a performantei prototipurilor timpurii permite inginerului de cunostinte si expertului de
domeniu sa investigheze acuratetea si completitudinea bazei de cunostinte, precum si procedurile de
inferenta care au fost aplicate. In plus, prototipurile permit evaluarea eficientei reprezentarilor selectate si
aspectul bazei de cunostinte.

Putem privi o baza de cunostinte in termenii unei mapari dintre obiectele si relatiile din domeniul
problemei si obiectele si relatiile unui program. Rezultatele inferentei asupra bazei de cunostinte ar trebui sa
corespunda actiunilor sau observatiilor din lumea reala.
Exista principii generale de organizare a cunostintelor care se aplica pe o varietate de domenii si care pot fi
suportate de limbajele de reprezentare. De exemplu, ierarhiile de clase sunt gasite att in sisteme de
clasificare stiintifice, ct si in cele obisnuite.
Progresul in sistemele bazate pe cunostinte depinde de descoperirea principiilor organizarii cunostintelor si
de suportul lor in unelte de reprezentare de nivel inalt. Este necesar sa facem distinctie intre o schema de
reprezentare si mediul implementari ei. Aceasta este similara cu distinctia dintre structurile de date si
limbajele de programare. Limbajele de programare sunt mediul de implementare, iar structura datelor este
schema.
Cunostintele declarative sunt in general disponibile in memoria de scurta durata, care permite expertilor de
domeniul sa le exprime verbal, astfel inct un interviu structurat ar putea fi o tehnica potrivita de achizitie a
cunostintelor. Cu toate acestea, daca inginerul de cunostinte cauta sa identifice euristici analogice de
rezolvare a problemelor, interviul ar fi mai putin potrivit deoarece cunostintele episodice sunt foarte dificil
de exprimat verbal pentru un expert. In acest caz, tehnici ca simulari si urmariri de procese ar fi mult mai
indicate.
Tehnica de achizitie a cunostintelor selectata ar trebui, de asemenea, sa depinda de faza de dezvoltare. De
exemplu, in timpul familiarizarii cu domeniul sau pe parcursul etapei de identificare a dezvoltarii, inginerii
de cunostinte vor fi mai mult preocupati cu identificarea conceptelor majore, vocabular si organizare a
domeniului.
In timpul acestei faze ei pot folosi interviuri nestructurate, analiza continutului si tehnici de sortare a
conceptelor. Mai trziu, cnd inginerii de cunostinte sunt interesati mai ales in izolarea euristicilor de
rezolvare a problemelor si a constrngerilor, tehnica primara poate fi urmarirea proceselor si analiza
protocoalelor.
Repere istorice in dezvoltarea sistemelor expert
Intre diverse eforturi pentru dezvoltarea sistemelor expert le amintim pe cele depuse de cele trei grupuri de
savanti americani, respectiv:
grupul 1: Newell, Shaw si Simon, care au creat General Problem Solver [110];
grupul 2: Minsky si McCarty, care, in anii '60, au desfasurat o munca semnificativa in dezvoltarea
sistemelor expert [84];
grupul 3: Ledeberg, Buchanan si Feigenbaum, care in aceeasi perioada au lucrat la Dendral [19].
Fara a accentua perspectiva istorica cu privire la SE, amintim ca P. Harmon si D. King preconizau in anii '80
doua etape distincte de dezvoltare [63]:
prima perioada, pna la inceputul anilor '90, caracterizata de aplicarea sistemelor expert de marime
medie la solutionarea unor probleme specifice, ingust definite pe cele mai diferite sectoare de
activitate;
a doua perioada, preconizata a fi intre anii '90 si 2000, urma sa fie marcata de un accent major pe
calitatea conferita SE construita, in sensul ca ele urmau sa se apropie tot mai mult de rationamentul
uman.
Ideea folosirii metodelor bazate pe reguli a fost propusa pentru prima data de Post [100] si de atunci
abordarea este folosita in specificatia gramaticilor si in constructia de analiza gramaticala pentru limbajele
de programare specifice SE.
La sfrsitul anilor '60 si inceputul anilor '70, abordarea bazata pe reguli a inceput sa fie folosita in
constructia sistemelor expert cum ar fi DENDRAL [20] si MYCIN [108].

Sistemul MYCIN a fost proiectat pentru a diagnostica si a prescrie tratament pentru o boala infectioasa (in
particular, o infectie bacteriana a sngelui).
Prima problema de solutionat este de a decide ce fel de bacterie a cauzat boala (sau cel putin
verosimile posibilitati) si
A doua, conexa la cea anterioara, este de a decide ce fel de antibiotic se prescrie pacientului pentru a
ucide virusul.
MYCIN este scris in LISP si contine aproximativ 500 de reguli, aproape jumatate din ele pentru infectii ale
sngelui si o mare parte pentru infectii de meningita.
Un alt sistem expert des intlnit, poate cel mai frecvent folosit dintre toate sistemele expert, este sistemul
DENDRAL. Programul DENDRAL este proiectat pentru a analiza spectrul de masa al datelor si a deduce o
ipoteza structurala completa pentru molecula. DENDRAL foloseste trei etape pentru rezolvarea unei
probleme.
Prima etapa este una in care constrngerile pe solutie sunt deduse din spectrul datelor. Avnd acele
constrngeri, plus alte constrngeri specificate de chimist, programul genereaza toate structurile care satisfac
specificul problemei.
La sfrsit se testeaza structurile candidate pentru a o alege pe cea mai buna. Aceasta metoda este numita
strategia plan - generate - and - test. DENDRAL a fost scris prima data in LISP, dar a fost rescris in BCPL
pentru eficacitate; se utilizeaza in universitati si in industrie, peste tot in SUA, Europa si Australia.
La inceputul anilor '80, tehnologia sistemelor expert produce aplicatii comerciale cum ar fi:
CASNET (Causal Association Network) specializat in diagnosticul glaucomului; el utilizeaza
reprezentarea cunostintelor pe mai multe nivele ca observatii, stari psihopatologice, diagnostice;
HERSHAY sistem expert pentru recunoasterea parolei;
INTERNIST sistem expert utilizat pentru diagnosticarea bolilor in medicina interna;
MOLGEN specializat in biologia moleculara;
PROPSPECTOR specializat in prospectiuni miniere.
Evolutia sistemelor expert pe diverse domenii de aplicare
Sisteme expert pe probleme economice
Newell si Simon au creat un program, Logical Theorist, pentru a simula comportamentul decidentului aflat
in situatii concrete si medii specifice, avnd obligatia sa adopte o decizie strategica.
Pentru domeniul gestiunii in general, sistemele expert prezinta interes datorita performantelor detinute in
prelucrarea cunostintelor date si informatii in special in planul calitatii corectitudinii si operativitatii,
facilitnd atingerea obiectivelor
Domeniul financiar-bancar este in prezent cel mai bine acoperit cu sisteme expert aflate in exploatarea
pentru plasamentul creditelor, gestiunea portofoliilor, depistarea fraudelor, planificarea impozitelor si
taxelor, diagnoza financiara, planificarea bancara.
Companiile de asigurari si de investitii utilizeaza deja sisteme expert in scopul imbunatatirii serviciilor in
raport cu firmele concurente.
Domeniul managementului este cel mai receptiv si cel mai bine dotat cu sisteme expert in utilizare curenta,
intruct toate conditiile tehnologice, economice si sociale necesare introducerii lor au fost deja create
Sistemele expert aplicabile in contabilitate se orienteaza mai ales spre marirea capacitatii de examinare a
situatiilor contabile oferite de sistemele clasice. Astfel, sistemele expert pot sesiza, analiza si chiar emite
decizii de redresare a eventualelor abateri de la comportamentul optim
Cursul 8

Predicate si clauze Horn


Clauza logic Horn = un sistem formal de rationament despre lucruri si despre modul de relationare a
acestora.
Componentele structurale ale unei propozitii:
Prima se refera la sintaxa unei propozitii, modul in care sunt interconectate componentele
propozitionale (subiect, predicat, adjective etc.)
Ce de a doua se refera la semantica propozitiei, aspect care ia in considerare semnificatia acordata
fiecarui element propozitional.
Deoarece este greu de relevat componentele interne a unei propozitii astfel inct ambele aspecte mentionate
anterior sa poata fi luate in considerare de masina ce efectueaza deductii logice, a devenit necesara definirea
unui limbaj specializat in care urmeaza a fi descrise premisele.
La construirea limbajului se utilizeaza patru multimi:
constante {a,b,c}
simboluri functionale {f,g,h,...} fiecare caracterizat de un numar de argumente
simboluri relationale {P,Q,R,...} fiecare caracterizat de un numar de argumente
o multime infinita de variabile {x, y,z,x1,y1,...}
Cu aceste multimi se construiesc termenii limbajului prin care se cuantifica informatia din cadrul unei
propozitii (atom) sau fraze din limbajul natural:
1.orice constanta sau variabila este un termen;
2. daca t1.....,tn sunt termeni, atunci orice simbol functional de n argumente de forma f(t1.......,
tn) este un termen;
3.o propozitie simpla (denumirea este de formula atomica) este definita de un simbol
relational
de
n
argumente
in
care
argumentele
sunt
termeni
de
forma P(t1.....,tn ).
Exemplu:
consideram constantele Ana, Dan, Radu; simbolurile functionale este; mama
simbolurile relationale Este_copilul_lui, Este_frate_cu, este_Tata
Urmatoarele constructii sunt termeni avnd interpretarile:
este(mama,ana) - este mama Anei
mama(ana)
Este_Tata(Mama(x)) - este tatal mamei lui x
Urmatoarele constructii sunt propozitii simple:
Este_copilul_lui(x, Mama(x)) - x este copilul mamei sale
Este_copilul_lui(Dan, Mama(Ana)) - Dan este copilul mamei Anei
Este_frate_cu(Tata(Dan), Tata(Radu)) tatal lui Dan este frate cu tatal lui Radu
Este_copilul(Mama(x), x) - mama lui x este propriul sau copil
Aceste propozitii pot fi sau nu adevarate, functie de interpretarea pe care o atribuim constantelor,
simbolurilor functionale si simbolurilor relationale intlnite.
Lund in considerare ca interpretarea pentru simbolurile functionale si relationale este sugerat de numele
lor, atunci primele trei propozitii vor fi adevarate intotdeauna iar ultima falsa. Se observa ca sintaxa
limbajului este insuficienta pentru a obtine noi adevaruri. Din acest motiv limbajul se completeaza cu
operatorii relationali:
sau (), si (), nu ( ), implica ()
la care se adauga cuantificatorii oricare ar fi () si exista ().

Termenii limbajului prin care se construiesc structurile propozitionale respectiv frazele se pot defini astfel:
orice propozitie simpla (formula atomica) este o propozitie
daca A,B sunt propozitii simple atunci (AB), (A B), (A B) sunt propozitii
daca A este o propozitie simpla sau o propozitie a limbajului atunci constructiile ( x)A si ( x)A sunt
propozitii ale limbajului.
Relatiile de familie dintre membrii unei comunitati ar putea fi descrise prin formule de tipul:
1.( x)( y)( z)(Este_copilul_lui(x,y) (Este_copilul_lui(y,z))Este_bunicul_lui(x,z)
2. ( x)( y)( z)(Este_copilul_lui(x,Tata(y)))
(Este_frate_cu(x,y)) (Este_sora_cu(x,y))
3. ( x) (y) Este_mama_lui(y,x)
Generaliznd, propozitiile si relatiile care apar in cadrul unui limbaj natural pot fi descrise prin clauze de
forma:
unde Ai si Bi sunt formule atomice iar n, m si k pot fi eventual 0. Pentru cazul in care k = 1 clauzele poarta
denumirea de clauze Horn.
Baza de cunostinte ( ceea ce se cunoaste despre problema in cauza) este descrisa utiliznd clauze Horn.
Setul de clauze este format din:
axiome (fapte), definite prin propozitii sau fraze prin intermediul carora se descrie contextul
domeniului in care urmeaza sa fie efectuata operatia de inferenta
reguli prin intermediul carora se descriu relatii intre atributele care apar in setul de propozitii (fraze)
sau relatii intre propozitiile ce definesc contextul studiat
De exemplu o relatie care in limbaj natural este reprezentata printr-o propozitie de forma:
Ion este tatal lui Dan
Apare utiliznd clauze Horn sub forma: este_tatal_lui(ion, dan).
O proprietate, care in limbaj natural este de asemenea definita printr-o propozitie de forma:
Cerul este albastru.
Apare descrisa in baza de cunostinte sub forma: este_albastru(cerul).
O regula care in limbaj natural apare sub forma:
Lui Dan ii place culoarea albastra daca lui Ion ii place culoarea albastra.
Scrisa cu clauze Horn prezinta aspectul:
Ii_place_lui(dan,albastru) if Ii_place_lui(ion, albastru).
Aplicarea regulilor de inferenta ale sistemului logic. Modul de functionare a masinii de inferenta
Intrebarea este cum se procedeaza astfel inct sa obtinem consecinta logica de mai sus?
Formaliznd problema care ne intereseaza, (cea a verificarii deductibilitatii pe un set de axiome), se obtine:
avnd doua formule A si B, este B o consecinta logica a lui A?
Consideram un sistem de clauze Horn format din:
o multime de formule atomice: A1 ,Am denumite axiome
o multime de reguli, care sunt clauze Horn
o concluzie care este tot o formula atomica.
Variabilele care apar in axiome si reguli se vor citi cu "oricare" iar cele din concluzie cu "exista".
De exemplu pentru cele doua premise de mai sus:
Om(Socrate)
"Socrate este om"
(x) (Om(x) -->Muritor(x)) "Oricine este x, daca este om atunci x este muritor
iar o concluzie de tipul :
Muritor(x) se citeste ca o intrebare: exista x, astfel inct x sa fie muritor?

Algoritmul de verificare a deductibilitatii este implementat intr-un mecanism de inferenta care sta la baza
efectuarii deductiilor logice pe un set de axiome descrise prin clauze Horn, aspect care permite construirea
unor limbaje special dedicate modelarii modului in care gndesc oamenii.
Din cele discutate se observa ca:
mecanismul de inferenta va trebui sa dispuna de doua componente: una de cautare prin care partea
stnga a unei reguli apare ca un sablon ce se suprapune peste setul de premise.
cnd sablonul se potriveste intra in functiune cea de a doua componenta care unifica variabilele din
sablon cu cele din setul de premise (x primeste valoarea lui Socrate). Introducnd valoarea in
membrul drept se obtine un adevar nou: Muritor(Socrate).
Reprezentarea cunotintelor prin retele semantice
O colectie de propozitii poate fi reprezentata grafic sugestiv prin intermediul unei retele semantice in care
nodurile reprezinta idei iar legaturile intre noduri reprezinta asocieri ale ideilor, astfel inct reteaua
semantica defineste o structura asociativa in care o idee poate determina alte idei.
Toate aceste propozitii atasate unui nod obiect (concept) reprezinta schema conceptuala pentru acel obiect
(concept). Astfel, obiectele si conceptele din lumea reala si relatiile dintre ele pot fi definite prin retele
semantice, reprezentate prin grafuri ce contin noduri si arce.
Exemplu de retea semantica (adaptare dupa [HELU02]
Retelele semantice pot fi utilizate pentru a reprezenta cunostinte complexe, iar mecanismele de inferenta pot
utiliza arcele pentru a gasi legaturile de interes intre noduri.
Un program care ilustreaza cele mai multe trasaturi ale unei retele semantice a fost scris de Quilliam in
1967, care defineste cuvintele din engleza asemenea unui dictionar in care un cuvnt este definit in termenii
altor cuvinte iar componentele din definitie sunt definite in acelasi mod.
Fiecare nod in reteaua lui Quilliam corespunde unui concept cu legaturi asociative la alte concepte ce
formeaza definitia sa. Baza de cunostinte a fost organizata in plane, fiecare plan fiind un graf ce defineste un
singur concept.
Retelele semantice pot reprezenta predicate cu doua sau mai multe argumente, iar descrierea argumentelor,
formatul si ordinea lor, definesc baza de date relationala a faptelor.
O clasa de obiecte (concept) poate fi descrisa de un ansamblu de triplete de forma (obiect, atribut, valoare)
in care atributele definesc proprietatile clasei (conceptului) iar valorile reprezinta fapte ce caracterizeaza
fiecare obiect al clasei (conceptului) respectiv, fiecare tripleta (obiect, atribut, valoare) putnd fi descrisa de
o propozitie.
Multimea de atribute defineste clasa de obiecte similare, iar valorile definesc instantele clasei. Cunoasterea
reprezentata in cadrul unei retele semantice poate fi descrisa prin metoda OAV (Obiect-Atribut-Valoare)
care permite reprezentarea cunoasterii sub forma tabelara, reprezentare convenabila pentru translatarea
cunoasterii in reguli.
Reprezentarea cunostintelor prin cadre
Cadrele permit organizarea structurata a cunostintelor care descriu entitatile din lumea reala reprezentnd
situatii complexe sau obiecte.
Un cadru (frame, schema) este [MIKE] o structura, un sablon general folosit pentru reprezentarea unui
obiect prin proprietatile sale si consta din urmatoarele componente:
numele cadrului,
sloturi,
fatete (facets),
filleri (fillers).
Un cadru poate avea un singur nume si o multime de sloturi, fatete si valori.

Un slot defineste o proprietate a unui obiect cadru (spre exemplu nume_prenume este un slot pentru
cadrul persoana).
Fatetele identifica diferite subproprietati pe care le are un slot.
Slot filler-ul identifica o valoare sau o stare asociata unui slot pentru un obiect cadru particular.
Fiecarei fatete i se poate asocia o multime de conditii care trebuie indeplinite pentru orice completare a ei.
Exista fatete (slots) care contin valori implicite in absenta unei informatii. Fiecarei fatete i se poate asocia si
o informatie procedurala.
Un cadru poate fi reprezentat ca o structura arborescenta in care nodurile sunt asociate cu simbolurile si
valorile care definesc cunoasterea.
Un cadru poate descrie un obiect, un obiect complex, o clasa de obiecte.
Se poate generaliza reprezentarea prin cadre a unor grupuri sau clase de obiecte identificnd proprietatile
comune fiecarui grup astfel inct subclasele mostenesc proprietatile superclaselor.
Cadrele au sloturi (fatete) care pot fi completate sau necompletate, cele completate reprezentnd fapte.
Regulile de deductie pot completa sloturi necompletate in special prin regulile de mostenire.
Mostenirea poate fi suprascrisa prin asignarea unor valori explicite unor sloturi necompletate, declarnd
astfel exceptiile de la principiile generale.
Sloturile pot avea atasata o valoare, sau pot avea valori implicite, sau pot avea asociate seturi de valori
specificate de o lista.
Exista situatii in care un obiect trebuie privit din mai multe puncte de vedere si in acest caz este necesara
folosirea unui sistem de cadre.
Cadrele pot fi conectate fie prin legaturi explicite care descriu relatiile dintre punctele de vedere diferite in
care sunt privite obiectele, fie prin noduri multiple care completeaza fatetele cadrelor.
Astfel fiecare fateta a unui cadru poate fi completata cu o structura de cadre si o aceeasi structura de cadre
poate completa mai multe fatete.
Structurile de date fundamentale pentru descrierea obiectelor MIKE sunt cadrele. Sintaxa unui cadru in
MIKE este:
<obiect> instance_of | subclass_of <clasa> with
<slot1>:[<fateta-filler11>,
<fateta-filler12>,
,
<fateta-filler1n>],

<slotk>:[<fateta-fillerk1>,
<fateta-fillerk2>,
,
<fateta-fillerkp>].
unde:
<obiect>, <clasa>, <slot> poate fi orice atom (o secventa de caractere alfanumerice care incepe cu o litera
mica)
<fateta-filler> poate fi oricare din urmatoarele sase combinatii:
value:<valoare> sau <lista de valori>
inheritance:<tip mostenire>
type:<clasa> sau <lista de alternative>
cardinality:<intreg> sau <interval>
change_rule:<cod regula de schimbare>

access_rule:<cod regula de acces>


<valoare> | <lista de valori> poate fi orice atom, intreg | lista de atomi si intregi
<tip mostenire> specifica modul in care slotul va mosteni atributele de la elementele aflate deasupra lui in
ierarhie si poate fi unul din tipurile:
supersede (inlocuieste) -valorile unui slot inlocuiesc valorile din sloturile
cadrelor aflate mai sus in
ierarhie. Daca este utilizat [ ] sau daca fateta mostenire este omisa, atunci este folosita inlocuirea.
merge (combina) combina atributele sale prin reunirea lor cu cele din categoria superioara.
<clasa> sau <lista de alternative> poate fi numele unei clase in MIKE sau o lista de alternative simple
(atomi) ca de exemplu [on, off] sau unul din urmatoarele tipuri predefinite Prolog: integer, atom, list.
<cod regula de schimbare> permite unui slot sa contina o regula asociata numita demon avnd sintaxa if
then
<cod regula de acces> permite utilizarea unei reguli pentru determinarea unei valori a unui slot particular.
Exemplu de definire a unei structuri de date in MIKE:
Pacienti subclass_of Bolnavi with
Nume:unknown,
Nr_ident:unknown,
Ulcer:[value:[da,nu]].
Ionescu instance_of Pacienti with
Nume:[value:Ionescu],
Nr_ident:[value:352,type:integer],
Ulcer:da.
Cursul 9/10
Capitolul 4. Modelul regulilor de productie
O regula de productie este reprezentarea unui atom de cunoastere si are urmatoarea forma generala:
<regula> ::= [(<ident>)] daca <conditie> atunci <actiune>
unde <ident> este un sir de caractere ce identifica regula (optional).
regula contine in mod obligatoriu doua parti:
partea <conditie>, este o expresie booleana ce determina daca se poate aplica regula;
partea <actiune>, contine atribuirile care sunt efectuate daca regula este aplicata.
Cele doua parti mai sunt numite "ipoteza" si "concluzie" sau premiza si concluzie.
In compunerea celor doua parti ale unei reguli pot fi utilizate:
fapte numerice sau simbolice,
operatori aritmetici si relationali,
aplicarea calculului propozitional putndu-se face lund in considerare expresii de tip logic
construite cu acesti operanzi si operatori.
Un fapt este definit urmatoarele atribute:
identificator,
tip,
valoare,
metavaloare.
Identificatorul permite referirea faptului respectiv si este un sir format din litere, cifre si caracterul _, iar
primul caracter este in mod obligatoriu o litera. Functie de valorile pe care le pot lua, faptele pot fi de
urmatoarele tipuri:

fapte booleene - atomi in calculul propozitional putnd lua valorile: adevarat, fals;
fapte simbolice pot lua valori in multimea sirurilor de caractere;
fapte reale pot lua valori in multimea numerelor reale.
Se considera ca un fapt poate avea o singura valoare la un moment dat.
Pentru descrierea situatiei in care un fapt nu are nici o valoare (este necunoscut) se utilizeaza un descriptor
suplimentar numit metavaloare, cele mai utilizate metavalori fiind: NECUNOSCUT, CUNOSCUT,
NEDETERMINAT.
Metavaloarea unui fapt poate fi testata spre exemplu pentru a evita regulile ce contin fapte necunoscute in
partea conditie.
Dupa prezenta lor in partile conditie si actiune ale regulilor, faptele se clasifica astfel:
fapte de baza - faptele care nu apar in nici o parte actiune, valorile faptelor de baza putnd fi cerute
utilizatorului;
fapte intermediare - faptele ce pot fi gasite att in partile conditie ale anumitor reguli ct si in partile
actiune ale altor reguli;
fapte concluzie - faptele prezente numai in partile actiune
Operatorii permisi pentru construirea expresiilor:
operatori booleeni : si ( ), sau ( ), negatie (~ , );
operatori relationali : <, <, , ! , , >, >;
operatori aritmetici : +, -, *, /.
Utilizarea operatorului sau in partea conditie creaza dificultati in evaluarea automata a regulii, mai precis in
faza de explicare a rationamentului si de aceea in partea conditie se vor utiliza numai expresii normal
conjunctive.
(R) daca Nr_someri_scade sau (Nr_firme_active_mare si Cifra_afaceri_mare) atunci Impact="pozitiv"
Poate fi inlocuita de urmatoarele doua reguli:
(R1) daca Nr_someri_scade atunci Impact="pozitiv"
(R2) daca Nr_firme_active_mare si Cifra_afaceri_mare atunci Impact="pozitiv"
In logica propozitionala formulele:
(F1) (P1 sau P2 sau ... sau Pn) Q
(F2) (P1 Q) sau (P2 Q) sau...sau (Pn Q)
sunt echivalente
iar unei formule PQ, ii corespunde regula, daca P atunci Q.
Metoda de conversie a regulilor ce contin operatorul logic sau in partea conditie, in reguli cu partea
conditie exprimata in forma normal conjunctiva:
Fie o regula cu partea conditie scrisa in forma normal disjunctiva
(R) daca C11 si C12 si ... si C1n1 sau
C21 si C22 si ... si C2n2 sau ...
Cm1 si Cm2 si ... si Cmnm
atunci A
Regula (R) de mai sus poate fi convertita in m reguli, cu partile conditie scrise in forma normal conjunctiva,
astfel:
(R1) daca C11 si C12 si ... si C1n1 atunci A
...
(Rm) daca Cm1 si Cm2 si ... si Cmnm atunci A
Probleme mai dificile sunt generate de utilizarea lui sau in partea actiune intruct se introduce o
ambiguitate ce nu poate fi eliminata automat.

Pentru exemplificare se considera regula urmatoare care incearca sa stabileasca un diagnostic care sa indice
cauza ce a determinat cresterea somajului:
(R) daca Nr_someri_mare atunci Investitii_lipsa sau Nr_firme_active_mic
Aici daca faptul Nr_someri_mare este adevarat, trebuie sa se decida carui fapt, sau fapte, i se va/vor atribui
valoarea adevarat: faptului Investitii_lipsa sau faptului Nr_firme_active_mic sau ambelor fapte.
Pentru a rezolva aceasta problema se pot lua in considerare urmatoarele solutii:
se multiplica memoria de lucru pentru fiecare varianta de actiune separata prin sau,
se considera mai inti una din atribuiri, in cazul nostru Investitii_lipsa=adevarat, apoi
se revine si se executa si atribuirea Nr_firme_active_mic=adevarat.
Prezenta operatorului sau in partea actiune poate fi inlocuita de inginerul de cunostinte, in general, cu
ajutorul unui fapt suplimentar. Astfel, se pot utiliza 6 noi reguli scrise cu ajutorul faptului suplimentar
Activitate_ec_redusa dupa cum urmeaza :
(R1) daca Activitate_ec_redusa si non Investitii_lipsa atunci Nr_firme_active_mic
(R2) daca Activitate_ec_redusa si non Nr_firme_active_mic atunci Investitii_lipsa
(R3) daca Investitii_lipsa atunci Activitate_ec_redusa
(R4) daca Nr_firme_active_mic atunci Activitate_ec_redusa
(R5) daca non Investitii_lipsa si non Nr_firme_active_mic atunci non Activitate_ec_redusa
(R6) daca nr_someri_mare atunci Activitate_ec_redusa
Referitor la restrictiile privind utilizarea operatorului sau in partea actiune se fac urmatoarele precizari:
Orice formula in calculul propozitional, de forma
A1 sau A2 sau ... sau An sau non C1 sau non C2 sau ... sau non Cn numita clauza, este echivalenta cu regula
(R) daca C1 si C2 si ... si Cn atunci A1 sau A2 sau ... sau An;
Orice formula este echivalenta cu o multime de clauze si deci echivalenta cu o multime de reguli
(R) care contin operatorul sau in partea actiune;
Exista o clauza particulara, care este compusa dintr-un atom ne-negat si mai multi atomi negati, numita
clauza Horn si anume:
A sau non C1 sau non C2 sau ... sau non Cn
echivalenta cu regula
(R) daca C1 si C2 si... si Cn atunci A;
Deoarece, nu orice formula din calcul propozitional poate fi exprimata cu clauze Horn atunci:
puterea de expresie a metodei de reprezentare a cunostintelor prin reguli se reduce (nu vor putea fi
reprezentate formule care nu sunt echivalente cu clauze Horn), limitare acceptata in sistemele
comerciale (exemplu Prolog);
Puterea de expresie a metodei de reprezentare a cunostintelor prin reguli, poate fi marita prin utilizarea
negatiei deoarece orice clauza generala de forma:
A1 sau A2 sau ... sau An sau non C1 sau non C2 sau ... sau non Cn poate fi rescrisa si sub forma:
(R) daca C1 si C2 si si Cn si non A1 si non A2 si non si non An-1 atunci An
care nu are sau in partea actiune, aceasta scriere nefiind unica posibila, deoarece in partea actiune se putea
utiliza orice atom Ai, ceilalti atomi Aj fiind scrisi in partea conditie precedati de operatorul logic non.
Modelul de reprezentare bazat pe reguli de productie, cunostintele despre problema sunt reprezentate prin
doua tipuri de entitati: reguli si fapte.
Regulile sunt cunostintele reprezentate de implicatii si exprima cunostinte generale despre domeniul
problemei de rezolvat.
Faptele sunt asertiuni unitare si reprezinta cunostintele specifice care descriu un caz particular, o instanta a
problemei de rezolvat.

Regulile de productie sunt formate din doua componente:


partea stnga a regulii, prescurtat din limba engleza LHS (Left Hand Side), numita si antecedent,
premisa, conditie sau situatie
partea dreapta a regulii, prescurtat din limba engleza RHS (Right Hand Side), numita si
consecinta, concluzie, actiune sau raspuns.
Legatura logica intre partea stnga si partea dreapta a regulii este implicatia, in sensul ca adevarul partii
stngi determina adevarul partii drepte a regulii.
Pornind de la structura de control decizionala
"if-then" comuna limbajelor de programare, cele mai multe limbaje bazate pe reguli folosesc cuvintele cheie
if then (uneori when do), in romneste daca atunci, pentru a marca partea stnga, respectiv partea dreapta
a regulii.
Exemple:
R1: daca Coco zboara si Coco are pene
R3: daca masina nu porneste
atunci Coco este pasare.
si farurile nu se aprind
R2: daca pacientul are temperatura mare
atunci bateria este consumata
si tipul organismului este gram-pozitiv
sau bornele bateriei nu fac contact
si pacientul are gtul uscat
R4: daca temperatura > 95o C
atunci organismul este streptococ
atunci deschide valva de protectie

Semnificatia unei reguli de productie este urmatoarea:


daca premisa poate fi satisfacuta intr-un context dat,
atunci consecinta poate fi satisfacuta in acel context.
Daca partea dreapta a regulii defineste o concluzie, efectul satisfacerii premisei este inferarea acelei
concluzii (exemplele R1, R2 si R3).
Daca partea dreapta a regulii defineste o actiune, efectul satisfacerii premisei este executia acelei actiuni
(exemplul R4).
inferenta in reprezentarea bazata pe reguli consta in aplicarea unei astfel de reguli.
In general, partea stnga a regulii este o conjunctie de conditii, iar partea dreapta a regulii este o conjunctie
sau disjunctie de actiuni sau concluzii.
Faptele, cealalta forma de reprezentare a cunostintelor in modelul regulilor de productie, au o forma care
permite identificarea ipotezelor de satisfacut din reguli.
Spre deosebire de reguli, care sunt imperative si dinamice, faptele sunt statice si inactive.
Urmatoarele enunturi sunt exemple de fapte posibile intr-o baza de cunostinte:
Coco zboara.
Ilie are temperatura mare.
Tipul organismului o1 este gram-pozitiv.
Masina nu porneste.
Din punct de vedere logic, faptele pot fi vazute ca formule atomice;
De exemplu faptele anterioare pot fi exprimate in formalismul logic astfel:
zboara(coco)
temperature(ilie, mare)
tip(o1,gram_pozitiv)
nu_porneste(masina)
Utilizarea regulilor de productie aduce urmatoarele avantaje din punct de vedere al modelarii cunostintelor
in sistem:
separarea cunostintelor generale despre problema, de datele specifice unei instante a problemei de
rezolvat
partitionarea cunostintelor in unitati de cunostinte independente, facilitnd astfel dezvoltarea
incrementala a bazei de cunostinte
posibilitatea mentinerii a doua forme de expresie a regulilor:
o forma interna sistemului, adecvata procesului de rezolvare
o forma externa, apropiata limbajului natural, pentru interfata utilizatorului cu
sistemul.
Structura unui sistem bazat pe reguli
Baza de cunostinte contine cunostintele domeniului problemei de rezolvat, exprimate sub forma de reguli, si
cunostinte specifice instantelor problemei, exprimate sub forma de fapte.
Zona de lucru contine informatia de stare a rezolvarii problemei, informatie reprezentata prin asertiuni
temporare.
Masina de inferenta reprezinta componenta de control si executie a unui sistem bazat pe reguli. Motorul de
inferenta inspecteaza partea stnga a fiecarei reguli din baza de cunostinte pna cnd gaseste o regula care
identifica continutul memoriei de lucru, dupa care executa (aplica) aceasta regula.
In general, motorul de inferenta accepta intrebari de la utilizator si raspunde folosind informatia dinamica
din memoria de lucru (datele de caz) si cunostintele statice din baza de cunostinte (reguli).

Functionarea unui sistem bazat pe reguli este formata din executia repetata a unui ciclu de operatii care
realizeaza, in esenta, aplicarea unei reguli, deci un pas de inferenta al reprezentarii. Acest ciclu de operatii se
numeste ciclu de inferenta al sistemului expert bazat pe reguli de productie si se compune din urmatoarele
trei etape: identificare, selectie si executie.
Identificare. In timpul etapei de identificare se compara continutul memoriei de lucru cu baza de cunostinte
si regulile care identifica sunt grupate de motorul de inferenta in multimea de conflicte. Multimea de
conflicte reprezinta multimea regulilor aplicabile intr-un anumit context, context specificat de memoria de
lucru.
Selectia. Etapa de selectie consta in selectarea unei reguli din multimea de conflicte, pe baza unui criteriu de
selectie. Aceasta etapa se mai numeste si rezolvarea conflictelor.
Executie. In timpul etapei de executie se aplica regula prin executia partii drepte a regulii. Daca partea
dreapta a regulii este o concluzie, se adauga faptele din concluzie in memoria de lucru, iar daca partea
dreapta este o actiune, se executa aceasta actiune. Actiunea poate indica diverse operatii, cum ar fi: adauga
fapte in memoria de lucru, sterge fapte, modifica fapte existente, tipareste mesaje, pune intrebari, opreste
procesul de inferenta.
Cursul 11
Capitolul 5. Incertitudinea cunostintelor
Rationamentul medical este in mod inevitabil asociat cu o doza de "incertitudine". Experimentele
psihologice au relevat faptul ca nu rationamentul genereaza incertitudinea ci cunostintele folosite
pentru aplicarea lui. Daca o piesa de cunoastere reprezentabila printr-o regula are un anumit grad de
incertitudine, acesta se poate reprezenta printr-un parametru atasat acelei reguli. Primul sistem expert
care a folosit astfel de reguli a fost MYCIN (Shortliffe, 1976) dedicat diagnozei in bolile infectioase.
Regulile din acest sistem erau insotite de un factor de certitudine cuprins intre -1 si 1.
Exemplu de regula din MYCIN:
RULE 85
IF The site of trie culture is blood, and
The Gram stain of the organism is negative, and
The morphology of the organism is rod, and
The patient is a compromised host
THEN
There is a suggestive evidence (0,6) that the identity of the organism is pseudomonas aeruginosa.
Ceea ce inseamna ca daca premisele sunt adevarate, increderea (belief) ca agentul patogen este
"pseudomonas aeruginosa" a crescut cu un coeficient de 0,6 .
Factorul de certitudine este exprimat empiric de expertul care enunta regula. Un factor de certitudine avnd:
valoarea 1 indica faptul ca regula este logic adevarata, iar
valoarea -1 ca este logic falsa.
valoarea 0 inseamna incertitudine maxima ( o cunostinta despre care nu se cunoaste nimic) si nu este
normal sa scriem reguli cu un astfel de factor.
Valoarea increderii, notata bel(a), unde a este o cale intr-un arbore de decizie, se propaga de-a lungul
rationamentului pna la obtinerea unei solutii, care in final va fi insotita de o valoare a increderii in ea,
bel(sol), cuprinsa in intervalul [-1, 1].
Cunoscnd valorile bel(Pi) ale tuturor componentelor putem calcula intuitiv bel(E) alegnd maximul cnd
este vorba de o disjunctie si minimul cnd este vorba de o conjunctie.

Justificarea acestei metode este data de observata ca lantul de evidente componente are taria celei mai slabe
verigi.
Se poate observa ca bel(E)=0.4 pentru Regula 85.
Exemplu:
Rule.: if (P1 and P2) or P3 then R1 (0,7) and R2 (0,3)
Cunoscnd: bel(P1)=0,6, bel(P2)=0,4, bel(P3)=0,2
rezulta:
bel(E)=max(min(bel(P1), bel(P2)), bel(P3))=0,4
Daca avem o negatie: bel(not(E))= -bel(E).
Daca pentru o regula, bel(E) < 0, regula respectiva se va ignora in timpul rationamentului.
Valoarea de incredere in ipoteza unei reguli, o vom nota cu bel(H).
Daca bel(E)>0, atunci se calculeaza bel(H) prin produsul factorului de certitudine al regulii - CF k (knumarul regulii) cu valoarea bel(E).
bel(H) = bel(E)CFk
Pentru Regula 85 bel(H)=0,24, calculat astfel: bel(H)=0,4 0,6 = 0,24
Iar pentru RuleE vom avea bel(R1)=0,28 si bel(R2)=0,12. O formula completa de calcul ar fi:
bel(H)= (max(0,bel(E))-CFk
In continuare se prezinta un exemplu de program bazat pe reguli cu inlantuire inapoi care foloseste
strategia de tip "incearca toate regulile".
Un sistem care foloseste o astfel de strategie se mai numeste si sistem cu acumulare de probe.
Se pune problema unei decizii gastronomice in care se cere alegerea vinului potrivit pentru un meniu cu
componente specificate de utilizator.
Aceasta problema prezinta o caracteristica intlnita si in alte probleme de decizie sau diagnosticare, cum ar
fi diagnosticul medical, si anume existenta unei incertitudini asupra valorilor corecte de atribute.
De exemplu, daca meniul contine sos alb, se poate combina att un vin sec cit si un vin demisec. Pentru a
modela aceasta incertitudine, se asociaza valorilor din sistem o masura a increderii, numita factor de
certitudine sau coeficient de certitudine, notat cu CF.
Cunostintele sunt reprezentate sub forma de obiect-atribut, si valorile asociate atributelor, si sub forma de
reguli care refera obiectele si atributele din baza de cunostinte.
Aceasta inseamna ca, pe lnga reguli, baza de cunostinte contine fapte reprezentate sub forma de triplete
atribut-obiect-valoare. Atributele obiectelor pot fi de doua tipuri: monovaloare si multivaloare.
Un atribut monovaloare este un atribut care, in final, va avea o singura valoare asociata, de exemplu
culoarea vinului. Este evident ca un vin nu poate avea mai multe culori in acelasi timp.
Atributele multivaloare sunt atributele care in final pot avea mai multe valori, toate admisibile.
Valoarea fiecarui atribut este memorata impreuna cu coeficientul de certitudine asociat, coeficientul de
certitudine indicnd increderea sistemului in acea valoare.
Coeficientii de certitudine sunt valori pozitive in intervalul [0,1].
De exemplu, (vin chardonnay 0,8 riesling 0,6) indica faptul ca vinul potrivit este Chardonnay cu increderea
0,8 si Riesling cu increderea 0,6.
O regula poate avea asociat un coeficient de certitudine care indica increderea sistemului in concluzia
regulii, in cazul in care premisa este adevarata.
De exemplu, regula:
daca sos-meniu = sos-alb
atunci culoare-vin = alba 0.6
indica increderea de 0.6 in faptul ca un vin alb se potriveste unui meniu cu sos alb.

Daca regulile nu au un coeficient de certitudine asociat, acesta se considera implicit 1, indicnd incredere
totala in concluzie.
Regulile de inferenta incerta sunt:
Coeficientul de certitudine asociat valorii de atribut dedusa de o regula R este
egal cu produsul dintre coeficientul de certitudine al premisei regulii
(CF premisa R) si coeficientul de certitudine asociat regulii (CFr):
CF atr dedus R = CF premisa R CFR
Coeficientul de certitudine al premisei unei reguli R este valoarea minima a
coeficientilor de certitudine asociati fiecarei ipoteze I j din premisa acelei reguli.
Coeficientul de certitudine al unei ipoteze este stabilit de procesul de identificare a
regulii cu memoria de lucru si este egal cu coeficientul valorii de atribut care a
satisfacut ipoteza. Factorul de corectitudine al intregii premise se calculeaza astfel:
CF premisa R= min CF ipoteza iR
Daca un atribut A are deja o valoare V cu un coeficient de certitudine CF 1 in memoria
de lucru, si pe o ramura de deductie alternativa, se obtine aceeasi valoare V pentru
atributul A cu un coeficient de certitudine CF2, memoria de lucru este actualizata,
valoarea V avnd un coeficient de certitudine asociat CF pe baza formulei:
CF = CF1+CF2 (1 CF1)

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