Sunteți pe pagina 1din 53

I.

Sisteme bazate pe cunotine


I.1. Arhitectura i dinamica unui SBC. Baza de cunotine
Un program sau o multitudine de programe care nglobeaz cunotine dintr-un
domeniu specific i soluioneaz probleme dintr-un cadru bine delimitat folosind strategii de
raionare reprezint un sistem bazat pe cunotine (SBC). Diagnoza, monitorizarea, predicia,
analiza, planificarea, comanda sau controlul sunt principalele obiective urmrite prin crearea
unui astfel de sistem. Soluionarea problemelor menionate implic efectuarea unor
raionamente, cunoscute ca artificiale, asemntoare raionamentelor umane.
Baza de cunotine (BC) i motorul de inferene (MI) reprezint principalele
componente ale acestui tip de sistem. ntr-o abordare tiinific1, un sistem bazat pe
cunotine este alctuit dintr-un sistem cognitiv i unul rezolutiv. Pe lng componentele
menionate, un astfel de sistem trebuie s conin un modul de achiziie a cunotinelor
(MAC) i o interfa cu utilizatorul (IU). De asemenea, alte module posibile ar fi cel
explicativ (ME) sau cel de nvare (MI). Toate modulele identificate nglobeaz sistemul de
consultare. Achiziia cunotinelor i modalitile folosite pot constitui un alt modul, n
funcie de arhitectura sistemului (SBC) folosit. n cazul folosirii unui sistem, prioritatea
maxim este reprezentat de algoritmii de conducere (achiziia de date, transmiterea
comenzilor).
I.1.1. Baza de cunotine
Baza de cunotine nglobeaz n general toate cunotinele dintr-un anumit domeniu
n form de concepte, idei, teorii, reguli, metode, limbaje, abstractizri, din sfera de aplicaie
a sistemului.
Volum
nelepciune
(Experien)
Cunotine

Informaie

(Sintez)

(Analiz)

Date
(Procesarea observaiilor de
Sofisticare
baz)
i
complexitat
e

Surs: Elaborare proprie


Figura I.1 Piramida datelor unui SBC

n unele cazuri, poate cuprinde i cunotine generale utile n rezolvarea problemelor


propuse. Cunotinele euristice (reguli, principii, metode, criterii, idei) formeaz un caz
1 Mihaela Oprea (2002), Sisteme bazate pe cunotine, p 9-10;
2

special de cunotine, fiind deduse, din experiena acumulat de-a lungul multor ani, de ctre
oameni specializai. Au menirea de a alege opiunea cea mai eficient dintre diverse
alternative de aciune, pentru realizarea unui scop bine definit. Importana procesrii
cunotinelor este surprins n Figura 1 :1.
Elementele bazei de cunotine sunt :
a) Baza de fapte: cuprinde datele iniiale, extrase din enunul problemei supuse rezolvrii.
De asemenea conine i rezultatele intermediare create n cursul raionamentelor efectuate
de motorul de inferen.
b) Motorul de inferen: nlnuie cunotinele preluate n prealabil din baza de cunotine i
realizeaz raionamente necesare rezolvrii aplicaiei propuse din domeniul specific SBCului.
c) Modulul de achiziie a cunotinelor: preia informaiile furnizate de experii umani n
domeniu sau de ctre inginerul de cunotine.
d) Interfaa utilizator: asigur comunicarea ntre utilizator i sistemul de consultare SBC
e) Modulul explicativ: ofer explicaii referitoare la raionamentele realizate de ctre
motorul de interferen.
f) Modulul de nvare: mbuntete rezultatele SBC-ului, deducnd noi cunotine din
cele deja existente, prin analizarea cunotinelor euristice sau prin achiziia altora noi.
Aceste elemente sunt redate n figura 1:2.

Surs:Elaborare proprie
Figura 1.2 Arhitectura unui SBC

BC nsumeaz informaii specializate dintr-o anumit arie de cunotine, culese de un


inginer instruit n acest domeniu. Categorisite din perspectiva inteligenei artificiale,
3

cunotinele pot fi: clasificri, reguli, idei, calcule .a. Acestea se mpart n cunotine exacte
sau perfecte i cunotine imperfecte, nesigure sau certe. La rndul lor acestea se compun din
informaii inexacte, incomplete, incomensurabile.
Diversele metode sau caracteristici care permit selectarea unui anumit tip de aciune
n obinerea unui rezultat optim, nglobeaz o form special de cunotine, cunoscute ca
euristici. Este esenial ca orice sistem inteligent s aib o anumit organizare i reprezentare a
cunotinelor, n special SBC.
Auxiliare bazei de cunotine, sunt baza de fapte i memoria de lucru. Acestea
cuprind date concrete a unei probleme care trebuie soluionat dar i cele intermediare,
rezultate n urma aciunilor MI. n alte lucrri de specialitate baza de fapte este inclus n
baza de cunotine. Memoria de lucru nregistreaz informaiile operaionale ale SBC pe
parcursul desfurrii proceselor. Completitudinea, coerena i neredundana sunt calificatorii
n baza crora se msoar eficiena i valoarea unei baze de date.
Aadar completitudinea subliniaz importana volumului de informaii necesar pentru
a evita o stopare brusc a sistemului. Coerena marcheaz faptul c o baz de cunotine nu
produce fapte contradictorii n relaie cu o baz de informaii concrete, necontradictorii.
I.1.2. Tipuri de redare a cunotinelor
Ilustrarea cunotinelor presupune identificarea unei legturi ntre lumea real i
simbolurile specifice, care determin execuia unor raionamente printr-un algoritm.
Detalierea elementelor diferitelor entiti din mediul exterior reflect un grad de cunoatere a
acestora.
Totalitatea cunotinelor aferente lumii exterioare formeaz domeniul de
competen al SBC. n mod ideal, cunotinele trebuie reprezentate corect i concis, astfel
nct s poat fii preluate i valorificate de sistemul bazat pe cunotine. Pentru a garanta
succesul, n general informaiile sunt nfiate printr-o metod specific, un limbaj special de
reprezentare a cunotinelor. Indiferent de metoda aleas, aceasta trebuie s garanteze
posibilitatea obinerii de noi cunotine, prin interogare sau efectuare de raionamente.
n literatura de specialitate exist diferite abordri ale metodelor de reprezentare a
cunotinelor. Conform studiilor realizate de Robert MacGregor2 principalele modele de
redare sunt: modelul logicii formale, modelul regulilor de producie, modelul cunotinelor
structurate i cel al cunotinelor incerte (reele semantice).
a) Modelul logicii formale
Acest model utilizeaz tiina principiilor formale de raionament. Presupune o
anumit sintax, semantic i mod de inferen sintactic. Aadar nglobeaz un limbaj
specific, i regulile prin care se asociaz nelesul simbolurilor cu valoarea de adevr
(adevrat sau fals). n funcie de numrul acestor valori, poate fi logic dual sau polivalent.
Modelul aceasta necesit folosirea a dou metode: logica propoziional i logica
predicatelor de ordinul I. Prima metod implica lucrul exclusiv cu propoziii declarative,
entitile descrise fiind fixe sau unice. (Andrei e buctar). Predicatele i cuantificrile
reprezint un plus pe care l aduce a doua metod, obiectele expuse putnd fi unice sau chiar
variabile asociate unei entiti unice (Toi buctarii sunt abseni).
b) Modelul regulilor de producie
Acesta reprezint o metod aparte de exprimare a cunotinelor, sub forma unor
indicaii formulate ntr-un limbaj apropiat de cel natural. n cadrul acestui model cunotinele
sunt redate prin dou tipuri de entiti: reguli i fapte. Regulile sunt nite euristici speciale
care genereaz cunotine. Un sistem de reguli este de forma: IF cauz THEN efect.
2 Robert MacGregor (1991), Principles of Semantic Networks: Explorations in the
Representation of Knowledge, p: 385-400
4

Regulile pot fi deductive sau inductive n funcie de poziionarea condiiei nainte sau
dup premisa formulat. Ele fac legtura dintre cauz i efect i sunt memorate ca structuri
de control. Faptele sunt declaraii unitare asupra unui caz particular, ca o instan a unui
raionament logic.
Regulile sunt formate din dou pri: LHS (n englez: left hand side), indicnd
premisa i RHS (n englez: right hand side), viznd concluzia. Fiind legate logic prin
implicaie, adevrul minii stngi condiioneaz adevrul minii drepte: LHS->RHS.
Astfel, dac premisa poate fi ndeplinit ntr-un cadru specificat, atunci consecina se poate
efectua n acelai cadru.
Fiecare regul este ca o pies ntr-un puzzle de cunotine dintr-un anumit domeniu.
Legturile dintre reguli i procesele declanate de acestea conduc la rezolvarea problemei.
Acest model permite utilizarea unor aciuni asociate consecinelor, precum execuia unor
proceduri sau funcii externe. Regulile pot fi nlnuite nainte sau napoi, figura I.3 i figura
I.4 ilustrnd acest lucru. Se noteaz c starea scopului este notat cu D, iar coninutul iniial
al memoriei de lucru cu A,E.

Figura 1: 3 nlnuirea nainte a regulilor de producie.

Avantajele utilizrii acestui model n redarea cunotinelor sunt posibilitatea


exprimrii regulilor n form extern, uor de utilizat apropiat de limbajul natural i forma
intern, util rezolvrii problemei propuse.
De asemenea divizarea cunotinelor n diverse pri independente care pot funciona
mai eficient n vederea obinerii unui rezultat, constituie un alt aspect pozitiv al acestui model
de reprezentare a cunotinelor.

Figura 1:4 nlnuirea napoi a regulilor de producie

c) Modelul cunotinelor structurate


Cuprinde mai multe metode de reprezentare: cadre, grafuri, dependente, scenarii
conceptuale i reele semantice. n funcie de scopurile urmrite n rezolvarea problemei
propuse, aceste metode au rolul de a reprezenta cunotinele ntr-o manier organizat i
sistematizat, pentru o funcionare optim a SBC-ului.
Metodele menionate sunt incluse automat n funcia de reprezentare a modelului
propus. Din aceast cauz, anumite aciuni sunt ntreprinse de sistem n mod instinctiv de
mecanismele infereniale asociate structurii de redare. Un loc mai important ntre aceste
metode l ocup reelele semantice, reprezentate prin grafuri orientate cu arce i noduri.
Acestea creeaz relaii ntre diferite concepte precum:
Meronymy - Ex. Coama este un meronym al calului, coarnele sunt un meronym al
taurului.
Holonymy - Ex. Fructul este un holonym al cojii.
Hyponymy - Ex. Bicicleta este un hyponym al ciclismului.
Hypernymy - Ex. Legum este un hypernym al morcovului.
Synonymy - Ex. A reda este sinonim cu a reprezenta
Reprezentarea structurat a cunotinelor se mparte n modele de tip: structuri slabe
i structuri puternice .
Prima clas structuri slabe nu conine de fapt informaii despre cunotinele care
vor fi reprezentate n viitor. Reelele semantice menionate anterior i cadrele se ncadreaz
n aceast categorie ntruct nu determina un flux pozitiv n rezolvarea problemei, ci se
concentreaz mai mult pe partea organizaional.
A doilea tip structuri puternice se difereniaz de primul prin faptul c include
noiuni specifice referitoare la entiti i legturile dintre acestea. Scenariile i dependenele
conceptuale aparin acestei clase.
d) Modelul cunotinelor incerte

n seciunea anterioar am explicat modul de redare a cunotinelor certe i metodele


aferente acestora. ns, n viaa real, cunotinele care predomin sunt cele incerte. Acestea
sunt relative, cauzale, depind de mediu sau de situaie.
n timp, s-au dezvoltat dou categorii importante de metode consacrate redrii
informaiilor incomplete sau contradictorii.
Prima clas cuprinde tehnici care mresc sfera de reprezentare a cunotinelor prin
atribuirea unei cote numerice a certitudinii multiplelor informaii din baza de cunotine.
Raionamentul propriu acestei categorii este cel incert sau statistic.
Cea de-a doua clas nglobeaz metode care se axeaz pe lrgirea axiomelor din
sistemul bazat pe cunotine pentru a facilita exercitarea unui raionament specific
cunotinelor incerte. Raionamentul nemonoton este propriu acestei metode, fiind o
universalizare a raionamentului monoton logic cu predicate de ordin I.
Fragmentarea cunotinelor sau incorectitudinea pot determina incertitudinea. Aceasta
se poate revela n baza de cunotine unde exist implicaii slabe la mijlocul intervalului de
valori. Transpunerea cunotinelor ntr-o implicaie ar putea determina compromiterea valorii
reale ale acestora. Un SBC trebuie s admit i s foloseasc implicaiile slabe concomitent
cu alte informaii n vederea obinerii unui rezultat pozitiv.
Conform Stuart Russel, Peter Norvig3 exist un grad de incertitudine atribuit i
informaiilor preluate din diferite baze de date, materiale de specialitate, cursuri ale
experilor. Pot exista referine eronate, informaii incomplete sau care sunt deja incluse ntrun alt domeniu de specialitate.
Aa cum am menionat anterior, exist sisteme de cunotine bazate pe reguli. Tocmai
acest tip de incertitudine a determinat compilarea regulilor ntr-o reea, menit pentru a
verifica i analiza regulile din baza de cunotine n vederea detectrii erorilor. Verificarea
informaiilor de ctre inginerul de cunotine sau consultarea lanului de raionamente
efectuat poate preveni pe viitor lipsa pieselor de cunoatere.
I.1.3. Metoda de ntocmire a bazei de cunotine
Construirea unei baze are n vedere parcurgerea etapelor prezentate mai jos.Acestea
sunt reprezentate grafic n figura 1.5.
a) Cutarea i alegerea subiectului sistemului bazat pe cunotine
Aceast etap necesit aprofundarea domeniului vizat. Asimilarea
informaiilor i stabilirea legturilor dintre punctele necesare este important.
b) Fixarea lexicului de predicate, constante sau funcii
Pasul acesta presupune transpunerea noiunilor indispensabile de la stadiul
cmpului de expertiz la nivelul logic, prin crearea i atribuirea unor denumiri. Aceste
denominaii formeaz anterior un vocabular cunoscut n termeni academici c
ontologia domeniului. Etapa 1 i 2 constituie ingineria ontologic. Ontologia este
un concept complex, pe care l voi dezvolta n capitolul dedicat studiului de caz.
c) Codificarea informaiilor din domeniu de expertiz
Prin crearea unor structuri logice i a unor axiome, se apeleaz lista informal
de concepte aferente ontologiei. Astfel, termenii devin mai accesibili interpretrii de
ctre specialiti i devine realizabila rularea proceselor de inferen pentru generare
unor noi consecine.
d) Codificarea detaliilor secvenei de problem.
Aceast etap presupune crearea unor indicaii atomice simple despre
instanele noiunilor deja existente n ontologie.
e) Verificarea bazei de cunotine prin accesarea procesului de inferen.

3 Stuart Russell , Peter Norvig (2009)Artificial Intelligence: A Modern Approach,partea IV


Uncertain Knowledge and Reasoning
7

Pasul acesta necesit efectuarea procedurii de inferen pe aspectele specifice


ale problemei, pentru a genera raionamente necesare.

Surs : Elaborare proprie


Figura 1:5 Crearea bazei de cunotine

I.2. Motorul de inferen


I.2.1. Profilarea i realizarea MI
Specialitii4 afirm c MI folosete cunotinele acumulate printr-o form unic de
reprezentare n vederea elaborrii unor sfaturi expert sau a unor concluzii concise. n
principal, el deine cheia rezolvrii majoritii problemelor. Aadar, el decide care este etapa
urmtoare, schema global de aciuni sau urmtoarea piesa de cunoatere utilizat. Un alt
aspect important aferent MI este reprezentat de o declanare a cererii de noi informaii
utilizatorului, pentru actualizarea bazei de cunotine. Studierea cunotinelor din baza
specific este realizat tot de motorul de inferen.
n continuare voi defini cteva concepte eseniale n nelegerea mecanismului motor:
Inferen-este o modalitate de a raiona, care presupune parcurgerea enunurilor succesiv
ntr-o modalitate deductiv sau inductiv. ntr-o schem simpl de idei inferen leag
premisele de concluzie.
Deducia-reprezint baza raionamentelor n care concluzia este rezultat n urma
interogrii premiselor. La polul opus, inducia este un tip de raionament care vizeaz
parcurgerea unor etape n trecerea de la particular la general i de la fapte la noiuni
importante.
Raionamentul-trebuie privit ca un sistem de lanuri infereniale care fac legtura ntre
premisa unei probleme propuse i concluzia final. Raionamentul se bazeaz pe
cunotinele acumulate n baza specific i faptele emise n enunul problemei. Dac
volumul de cunotine corecte i concise este suficient pentru a formula o concluzie,
raionamentul este direct.n caz contrar, se face apel la raionamentul metaforic, denumit
i raionament prin analogie. Schemele logice de control asigura derularea corect a
raionamentului, prin urmrirea succesiunii optime a inferenelor.
4 Alecsandru Tacu, Romul Vancea,tefan Holban, Aurel Burciu(1998),
Inteligena artificial.Teorie i aplicaii n economie, p: 240-265
8

I.2.2. Structura motorului de inferen


Potrivit articolului Sisteme expert si neuroexpert5, nucleul MI este compus dintr-un
programator, analizator de reguli, i o interfa cu structura de cunotine. Programatorul are
scopul de a stabili faptele i regulile preselectate de schema logica de control. Regulile i
faptele sunt interpretate de ctre analizator, al crui obiectiv este adaptarea scopurilor la
faptele cunoscute ntr-o faz dat, aa cum se observ n figura 1.6.

Surs: Elaborare proprie


Figura I:6 Ciclul de baz a motorului de inferen

n afara nucleului, MI are trei componente auxiliare: procesorul de incertitudine,


procesorul de explicare Why (De ce?) i procesorul de explicare How (Cum?) Primul tip de
procesor presupune analiza faptelor care nu au o definiie clar sau au un grad de
incertitudine ridicat.Al doilea procesor, Why processor, explic utilizatorului motivul n
spatele cruia se afla utilizarea unei anumite inferene. Aflat n strns legtur How
Processor ofer explicaii asupra regulilor, deciziilor luate pentru a ajunge la rezultatul
ateptat.
Interfaa cu baza de cunotine faciliteaz comunicarea ntre MI i structura de
cunotine. Urmrete extragerea faptelor i regulilor din BC, pentru a fi interpretate.
MI folosete cunotinele deinute i creaz diferite raionamente stabilind ordinea de
nlnuire a inferenelor. Nu conteaz raionamentul utilizat .Conform Mihaela Oprea6 ciclul
de via cuprinde 4 etape:
Selecionare - Alegerea cunotinelor care aparin domeniului de interes, practic datele
care ajut la rezolvarea problemei. Preselecia datelor este important deoarece semnific
o economie valoroas de timp, avnd n vedere ca aceleai cunotine vor fii folosite n
toate etapele care urmeaz. Cu ct baza de cunotine este mai mare, cu att realizarea
seleciei datelor este mai util.
Filtrare - Se construiete o submulime de date aplicabile prin potrivirea condiiilor din
cunotine (a premisei) cu caracteristicile problemei propuse. Dac n submulime nu
exist nici un element, se va face apel la utilizator pentru furnizarea de noi date relevante.
5 Sursa :Sisteme expert si neuroexpert http://www.scritub.com/tehnicamecanica/SISTEME-EXPERT-SI-NEUROEXPERT441911164.php [Accesat la
21/03/2016]
6 Mihaela Oprea (2002), Sisteme bazate pe cunotine, pp 50-60;
9

Clarificarea conflictelor - Utilizndu-se anumite principii de triere, se permite alegerea


regulilor care vor fii n mod sigur ntrebuinate.
Executare-in mod evident const n aplicarea regulilor i adugarea de noi fapte la
structura de cunotine.
I.2.3. Modaliti de funcionare a MI
Motoarele de inferen pot lucra n dou moduri: plecnd de la premisa nspre
soluionare (forward chhaining - nlnuire nainte) sau plecnd de la concluzii (backward
chaining-nlnuire napoi). ntr-un sistem bazat pe cunotine care folosete ca mod de
redare a informaiilor reguli de producie este vital direcia de utilizare a acestora. Astfel,
regulile pot fii nirate nainte prin recunoaterea prii stngi cu memoria dinamic (ML) sau
napoi, prin identificare seciunii drepte i satisfacerea laturii stngi a normei, care devine
scop. n funcie de modul de reprezentare a regulilor se contureaz cele dou tipuri de
raionamente: deductiv i inductiv.
Considernd c datele de caz ale problemei propuse rezolvrii se afl n memoria de
lucru, iar scopul principal este gsirea unei soluii, se aplic nlnuirea nainte a regulilor.
Astfel se va gsi secvena de reguli care va stabili modul de soluionare a chestiunii propuse.
Starea iniial a datelor nesupuse nici unui proces se va modifica n memoria dinamic,
crend o mulime de conflicte. Regulile care nu determina modificarea coninutului memoriei
dinamice sunt eliminate. Acesta este modul n care se manifest raionamentul deductiv.
La polul opus, raionamentul inductiv presupune nlnuirea napoi a regulilor, adic
se ncearc satisfacerea scopului prin selectarea unei reguli care este oarecum determinat de
concluzie. Executarea acestei reguli depinde de realizarea scopurilor din premisa, aadar
trebuie cutate acele norme care menioneaz scopurile n concluzie. n cazul n care nu
exist astfel de reguli sau cele existente sunt deja stocate n memoria dinamic, se solicita
utilizatorului noi informaii, despre validitatea informaiilor furnizate.
Acelai fel de reguli pot fii nlnuite fie ntr-o direcie, fie ntr-alta. Problema se
pune n a verifica i test c direcia aleas s fie optim rezolvrii problemei. Dac
cunotinele sunt verosimile, ambele tipuri de raionamente genereaz o concluzie valid,
ns unul poate ajunge la rezultatul prevzut printr-o multitudine de reguli i etape iar altul
printr-un simplu proces logic.
Aceasta combinaie de nlnuire a regulilor este cunoscut ca i raionament mixt.
Sistemul de control are menirea de a comuta ntre sensuri, n funcie de indicaia primit la
momentul respectiv. Acest tip de raionament este folosit mai rar.
Este de folos atunci cnd rezolvarea problemei necesit un raionament deductiv, dar
aria de cutare este considerabil. ntr-o astfel de situaie, se ntrebuineaz raionamentul
deductiv pentru a limita arealul de cutare.
Aplicarea acestor tipuri de raionamente are avantaje i dezavantaje. n cazul celui
deductiv, faptul c permite generarea tuturor soluionrilor posibile i adugarea de noi fapte
(deduse) la fiecare etap de inferen reprezint un aspect pozitiv cu siguran. ns acest tip
de raionament are i inconveniente substaniale. Voi enumera cteva dintre laturile mai puin
plcute ale acestei metode de procesare:
- Cantitatea de cunotine trebuie s depeasc o anumit valoare numeric pentru ca
sistemul s poat funciona optim.
- Exist riscul unei explozii combinatoriale a complexitii , adic numrul de etape de
baz parcurse de motorul de inferen s fie foarte mare. Aceast suprasolicitare poate fi
determinat de o cantitate uria de reguli i fapte.
- Nu este interactiv; atunci cnd este o situaie critic, iar mecanismul de inferen
ntmpin erori sau complicaii, utilizatorul nu are acces la informaii despre faptele
necunoscute.
n cazul raionamentului inductiv, avantajele constau n spaiul de memorie necesar
mic, durata de soluionare a problemelor scurt, i oferirea de informaii ctre utilizator n
10

situaii critice. Dezavantajul major const n riscul de a fi create bucle infinite, de exemplu:
pentru a demonstra un fapt trebuie demonstrat un altul, apoi cel iniial.
Raionamentul mixt are rolul de a combina avantajele raionamentelor descrise
anterior, i de a compensa aspectele negative ale acestora. Astfel, motorul de inferen
fixeaz obiectivul, determin faptele deductibile, utiliznd iniial raionamentul inductiv
pentru a obine de la utilizator cunotine despre faptele interogabile, necunoscute nc. Apoi,
aplic al doilea tip de raionament n scopul deducerii tuturor cunotinelor posibile.
I.3. Programarea i implementarea modulurilor
I.3.1. Modulul explicativ
Scopul modulului explicativ (ME) este de a reda justificarea proceselor efectuate de
motorul de inferen (MI) ntr-o manier abordabil. De asemenea, are rolul de a genera
ntrebrile care solicit atenia utilizatorului. Specialistul uman beneficiaz de acest modul,
facilitnd verificarea coerenei bazei de cunotine. n linii mari, ME permite urmrirea
traseului urmat de sistemul rezolutiv, evideniind greelile sau eecurile i justificnd soluiile
obinute n urma raionamentelor.
Cea mai important trstur comun a sistemelor bazate pe cunotine este facilitatea
de lmurire. Aceast trstur permite utilizatorului s observe ce tip de raionamente sunt n
execuie. Astfel, utilizatorul, va putea s neleag ruta cunotinelor parcurse de sistem i s
deduc motivaia din spatele unor ntrebri formulate de ctre acesta. De asemenea,
garanteaz transparena deciziilor finale sau intermediare. Importana acestei faciliti este
foarte evident n procesul depanrii bazelor de cunotine. Ofer avantajul de a identifica
erorile, lacunele, inconsistenele i genereaz un proces pentru corectarea lor.
Un sistem bazat pe cunotine cruia i lipsete modulul explicativ este privit cu
scepticism de ctre specialitii n domeniu. Unele sisteme care rezolv probleme matematice,
cum ar fi Macsyma, nu necesit acest modul. Dar, n principal, un SBC care are facilitatea
explicrii conceptelor este mai popular n rndul utilizatorilor.
n cazul n care utilizatorul trebuie instruit n aria de expertiz a SBC-ului, sau este
necesar indicarea unor limite, o explicaie simpl, uor inteligibil poate fi o valoroas
msur de a aciona. Implementarea unui SBC capabil s genereze explicaii accesibile,
presupune abordarea unor concepte specifice cu un anumit nivel de structur, detaliere, sau
complexitate a informaiilor furnizate.
La nceputul dezvoltrii SBC, metodele tradiionale ale programelor de explicare
furnizau explicaii prin convertirea codului de program sau a etapelor de execuie, n limbaj
natural. n vreme ce aceste tehnici puteau oferi informaii despre comportamentul
programului, ele nu reueau s furnizeze justificaii pentru modul de procesare sau
raionament. Problema consta n faptul c informaiile necesare pentru a da aceste explicaii
erau deja folosite n cadrul crerii programului, nefiind nenregistrate ca parte a codului.
Mai trziu a aprut XPLAIN, un sistem dezvoltat de W.R.Swartout, care este capabil
s justifice lanul de raionamente, fr a irosi cunotinele. Acest sistem utilizeaz structura
domeniului de rezolvare, pentru a genera informaii despre starea curent a procesului. Acest
sistem este un succes, ns dezvoltarea unui SBC care s ofere cunotine unui domeniu
foarte mare de utilizatori presupune un efort titanic. Impedimentele nu sunt de natur
informatic, ci de natur uman, dat fiind incertitudinea surselor i a informaiilor furnizate
.Aadar, marea majoritate a sistemelor ofer explicaii limitate la descrierea i analizarea
etapelor de raionament, prin acceptarea sau excluderea membrilor unei multitudini de
ipoteze luate n considerare. Spre deosebire de XPLAIN, foarte puine sunt capabile s ofere
o justificare a irului de raionamente, sau s-i adapteze comportamentul la gradul de
cunoatere a utilizatorului.
11

n secvena anterioar am abordat n principal problemele care au o tent psihologic


Exist ns cteva elemente suplimentare, datorate cerinelor tehnice de a exista unele
instrumente de inspecie a coninutului bazei de cunotine i a comportamentului motorului
de inferen. Instrumentele acestea trebuie s aib trsturi specifice fiecrui potenial
consumator: utilizatorul final sau inginerul de cunotine. n mod normal, specialistul
domeniului de expertiz este interesat de reprezentarea cunotinelor, n timp ce utilizatorul,
de modul de ntrebuinare a cunotinelor n vederea rezolvrii problemei propuse.
Acesta este modul ideal n care funcioneaz un sistem bazat pe cunotine, nzestrat
cu un modul de explicare:
1. Programul adreseaz ntrebri utilizatorului, iar acesta rspunde direct prin accesarea
lanului corespunztor de simboluri. Beneficiarului i este oferit posibilitatea de a amna
rspunsul la o interogare, pentru a accesa mai nti unele informaii din baza de
cunotine.
2. Utilizatorul rspunde prin comenzi numai dup ce sistemul a generat o ntrebare sau la
sfritul unei sesiuni de consultaie.
3. Sistemul nregistreaz ntr-un spaiu de cutare inferen din timpul consultrii, apoi
genereaz explicaii i raionamente pe baza rspunsurilor utilizatorului.
Un SBC are n componen diverse faciliti preioase utilizatorului:
Oportunitatea de a stabili ordinea raionamentelor:
Trace facility este o opiune extrem de valoroas pentru inginerul de cunotine,
care faciliteaz realizarea unei descrieri ample ale etapelor de raionare ale sistemului.
Analizarea diverselor nivele descriptive i vizualizarea tuturor proceselor de inferen sunt
posibile prin intermediul acestei variante optime.
Oportunitatea de a primi explicaii:
Aa cum am menionat anterior exist anumite opiuni ale sistemului care faciliteaz
o mai bun nelegere a proceselor infereniale. n principiu, exist trei moduri de oferire a
explicaiilor:
- Facilitatea De ce? (why facility) permite solicitantului s interogheze pe ce a fost
bazat o ntrebare generat automat. Aceast opiune indica regulile aplicate i subscopul
care a condus la formulare ntrebrii de ctre motorul de inferen. Prin solicitarea
succesiv a acestei faciliti, este posibil s se afle toi paii sau regulile folosite n
chestionar. Scopul care a declanat n primul rnd procesul de inferen va fi placardat de
ctre why facility
- Facilitatea Cum? (how facility) propune o investigaie asupra modului n care a fost
folosit un atribut, dac au fost derivate valori ale sale printr-o anumit regul de producie
sau dac a fost adresat vre-o ntrebare solicitantului, n privina acestuia.
- Facilitatea: De ce nu? (why not facility) este opus opiunii De ce?(why facility).n
timpul unei interogri, ea ofer ansa de a nelege de ce valorile unui atribut nu au fost
derivate. Sistemul bazat pe cunotine analizeaz toate regulile de producie i emite o
concluzie n privina modului n care normele au fost aplicate dar au euat. Aceste moduri
de explicare folosesc cunotinele situate n structura de norme, dar i cele din aria de
cutare a inferenei, care au fost nscrise n timpul interogrii
n concluzie, modulul explicativ are ca scop justificarea concluziilor i soluiilor
generate de sistemul bazat pe cunotine. Interpreteaz irurile de raionamente create de
sistemul rezolutiv, evideniaz cauza nereuitelor, profileaz cunotinele lips din lanul de
inferene sau a celor eronate.

I.3.2. Modulul de nvare


12

Modulul de nvare al unui sistem bazat pe cunotine presupune procurarea de


informaii noi i recunoaterea euristicilor avansate.
nvarea prin aprofundarea cunotinelor explicite i studierea prin acumularea
experienei sunt dou subuniti ale acestui modul. Abilitatea de studiere este asigurat prin
diverse metode i tehnici a sistemului bazat pe cunotine. Prin acestea se urmrete
valorificarea informaiei n interesul utilizatorului. Printre principalele metode de nvare se
numra memorarea informaiilor detaliate privind soluionarea unei probleme, asimilarea
prin experien, nvarea prin exemple, crearea I continuare voi detalia aspectele nvrii
inductive prin utilizarea metodei regulilor de producie n reprezentarea cunotinelor.
Aadar, generarea unor noi reguli se realizeaz de obicei prin inducie, mai specific,
prin tabele de decizie. Un astfel de tabel cuprinde procesele i factorii care trebuie luai n
calcul atunci cnd premisele nu sunt satisfcute. Avantajul folosirii unei metode de acest gen
este c verifica dac se iau n calcul toate combinaiile posibile de valori n vederea crerii de
noi reguli. De asemenea, se pot combina regulile, pentru simplificarea structurii.
Aa cum am menionat, aprofundarea rapid a cunotinelor este garantat prin
studierea inductiv. Dintre metodele atribuite acestui sistem de nvare cele mai importante
sunt: tehnica arborelui decizional, asimilarea cu ajutorul reelelor neuronale, programarea
genetic. Acestea funcioneaz avnd ca baz o multitudine de exemple de instruire
decizional anterioare. Astfel, algoritmii inductivi se mpart n dou tipuri: cei fundamentai
pe arbori de decizie (ID3, ASSISTANT86, GID3, C4.5), i cei care nu folosesc arbori
decizionali (ILA, DCL, RITIO).n continuare voi prezenta algoritmi de ambele feluri.
I.4.Tipuri de sisteme bazate pe cunotine
Aa cum am menionat anterior, n funcie de aplicaie exist sisteme specifice de
interpretare, diagnoz i reparaie, consultare, monitorizare i control, planificare, proiectare,
instruire i predicie. Voi detalia n continuare particularitile fiecrui tip de sistem n parte.
Aadar, exist sisteme de :
1. Interpretare
Aadar, interpretarea datelor presupune tipul cel mai utilizat de sistem, de la naterea
conceptului de SBC. Industriile extractoare utilizeaz cu succes sisteme bazate pe cunotine
pentru interpretri ale datelor geologice. De asemenea sistemul bancar, sistemul de asigurri
nu sunt strine de aceste concepte. Pe msura dezvoltrii economice sistemele inteligente
devin indispensabile.
2. Diagnosticare i reparaie
Printre primele aplicaii ale SBC se numr sistemele de diagnoz medical. Un
procent important de aplicaii pentru diagnoz i reparaie l ocupa echipamentele mai
sofisticate: generatoare, computere, stereo sistem, TV. Sistemul de diagnosticare a erorilor
este insa cel mai cercetat model de sistem de diagnosticare fault sistem.
Dac sistemul nu funcioneaz corespunztor, algoritmul ar trebui s determine ct
mai precis posibil care parte a sistemului eueaz i ce fel de eroare ntmpin. Calculul este
bazat, pe observarea automat, care furnizeaz informaii pe baza comportamentului curent.
Expresia diagnoza se refer, de asemenea i la rspunsul ntrebrii dac sistemul este
eronat sau nu, i la procesul de furnizare a rspunsului. Acest cuvnt provine din cmpul
lexical medical, unde diagnoza semnific procesul de identificare a unei boli dup
simptomele specifice.
Diagnoza expert este bazat pe experiena utilizrii sistemului. Utiliznd aceast
experien, se construiete o cartografiere care asocieaz eficient erorile observate cu
diagnosticul corespondent. Experiena poate fi furnizat de un operator uman (n acest caz,
cunotina uman trebuie tradus n limbaj de programare) sau prin modele similare din
trecut. n aceast circumstan, exemplele trebuie clasificate ca fiind corecte sau eronate (i
13

n acest caz, dup tipul de eroare). Metodele de nvare ale programului sunt apoi utilizate
pentru a generaliza exemplele.
3. Consultare
Cunoscute ca i sisteme suport de decizie, acestea presupun transmiterea unor
informaii concise utilizatorului, n vederea soluionrii unor probleme specifice cmpului de
expertiz n cauz.
4. Supraveghere i verificare
Acest tip de sisteme se regsete cu precdere n tehnologia nalt i industrie, avnd
multe trsturi comune cu sistemele de interpretare. Diferena principal dintre acestea este
dat de sistemul n cauz, prin modul de lucru on-line pe parcursul supravegherii procesului
vizat. Scopul major este de a menine un anumit echilibru n vederea obinerii unor efecte
favorabile. Exemple potrivite pentru o astfel de aplicaie sunt oferite de procesele industriei
farmaceutice, care mbina i compun reacii chimice i etape de prelucrare extrem de
complexe. De asemenea controlul la distan, prin wireless, a unor motoare electrice de joas
tensiune, implicnd optimizarea buclelor de reglare i evoluia mrimilor msurate,
reprezint un alt exemplu potrivit.
5. Previziune
nglobarea unui software de predicie preexistent ntr-un astfel de sistem bazat
permite specialistului instruit n domeniu s obin un rezultat cu o probabilitate ct mai
ridicat. Acest gen de aplicaii abordeaz o sfer larg de informaii, pornind de la
meteorologie pn la bursa de valori.
6. Pregtire
Gruparea unor secvene de aciuni n vederea obinerii unui rezultat dorit, presupune
planificare. Controlul experimentelor, planificarea pailor diferitelor procese industriale,
chiar emiterea unei strategii militare, pot fii obiectivele unor aplicaii de acest tip.
7. Programare
Sistemele bazate pe cunotine pentru proiectare pot oferi suport utilizatorului
specializat, dar pot s funcioneze i autonom, opernd diverse pri ale proiectului. Reeaua
de circuite electrice, irigaiile computerizate sunt exemple de aplicaii care urmeaz
principiile acestui sistem.
8. Instruire
Cunoscute sub denumirea de: Intelligent Tutoring Systems sau SII, aceste sisteme
de instruire sunt create incorpornd tehnici din Inteligena artificial, tiine sociale,
psihologie, urmrind simularea comportamentului persoanelor specializate n predarea de
diferite concepte. Aceste sisteme au inteligena necesar pentru a genera automat cunotine,
tehnici noi, specializate pe gradul de nelegere a beneficiarului vizat. Complexitatea i
capacitatea de informaii, cumulate cu aciunea de instruire pot fi selecionate att de ctre
solicitant (de cele mai multe ori studentul) ct i de sistem.
Tehnicile machine learning sunt folosite pentru automonitorizarea, evaluarea i
mbuntirea performanelor sistemului. Un astfel de SII trebuie s ncorporeze cunotine
specifice domeniului instruit (modulul expert), spre a le manipula i prezenta utilizatorului
(modulul student). Obiectivele principale ale SII sunt identificarea corect a profilului
studentului, generarea concis a informaiilor pe baza profilului, verificarea posibilelor erori
i a feed-backului.

14

II. Metode i tehnici de procesare a cunotinelor


II.1. Rolul cunotinelor n Inteligena Artificial
Cunotinele sunt informaiile despre un domeniu care pot fi folosite pentru a rezolva
problemele acestuia. Pentru a soluiona mai multe probleme, este nevoie de multe
cunotine, iar acestea trebuie reprezentate n computer. Ca o parte a determinrii unui
program s rezolve diferite probleme, este necesar ca omul s defineasc modul n care
aceste cunotine vor fi reprezentate. O schem de reprezentare este o form de afiare a
informaiilor utilizat de un agent. Redarea unei pri de informaie se numete reprezentarea
intern a cunotinelor. O baz de cunotine este reprezentarea tuturor cunotinelor stocate
de un agent.
n cadrul sistemelor bazate pe cunotine sunt codificate mai multe tipuri de
cunotine:
- Cunotine procedurale : redau modul n care se rezolv o problem. Sunt reguli,
strategii, agende, proceduri i funcii.
-

Cunotine declarative : ilustreaz ce este cunoscut despre problem: concepte, obiecte,


fapte;

Cunotine bazate pe motenire : acestea descriu modul de organizare a informaiilor. Pot


fi de dou tipuri: nestructurate(reele semantice) sau structurate(cadre)

Meta-cunotinele sunt informaii de care este nevoie pentru rezolvarea unei


probleme, adic date despre modul in care noi tim cum s facem ceva. Noi tim originea
cunotinelor noastre legate de un anumit subiect, gradul de corectitudine a unor informaii
sau coeficientul de relaionare a unor date cu lumea real. Meta-cunotinele presupun, de
asemenea, ceea ce cunoatem noi n privina performanelor proprii, ca un proces cognitiv,
aspectele pozitive, negative, gradul de calificare ntr-un domeniu de expertiz sau intuiia
nnscut ntr-o anumit arie de rezolvare a problemelor. O exemplificare proprie a metacunostinelor poate fi reprezentat de un robot care planifica o cltorie. Abilitatea de a citi
semnele rutiere este perceput ca fiind o meta-cunotina.
Euristicile sunt criterii, metode sau principii utilizate pentru a decide care dintre
posibilele alternative de derulare a aciunii promite cea mai eficace cale de rezolvare a
problemei.
Construirea unor sisteme inteligente capabile s ating obiective ca planificarea,
comunicarea, analiza financiar (.a) presupune analiza i nelegerea modului n care aceste
sarcini sunt realizate de ctre om n primul rnd. n ali termeni, trebuie perceput felul n care
cineva se comport inteligent n funcie de cunotinele sale.
Analog se transmite faptul c un program de calculator are cunotinele necesare s
manipuleze un robot, s sesizeze limbajul folosit etc. Specialitii atribuie cunotine
programelor n aceeai manier n care informaiile sunt relaionate persoanelor. Astfel, un
program este contient de obiectivele sale, de procese, avnd abilitatea de a analiza
eecurile i experimentele nereuite pentru un rezultat optim n viitor. Cunotin este un
concept dezbtut de sute de ani de ctre psihologi, educatori, filozofi.
Odat cu extinderea ariei inteligenei artificiale, s-a pus accentul tot mai mult
pragmatismul cunotinelor i mbuntirea tipului de programare. n cadrul IA, redarea
informaiilor este o mbinare a unor baze de date i a unor metode interpretative, care,
utilizate n mod corespunztor, vor determina un comportament cu o structur versatil.
Pentru a se uura efortul de reprezentare a cunotinelor, s-au creat clase de structuri
de date pentru memorarea lor. De asemenea s-au elaborat procedurile care s permit
gestionarea optim a acestor configurri, pentru efectuarea unor inferene.
Structurile de date nu reprezint cunotine. n mod metaforic, putem afirma c o
carte este o surs de cunotine, dar n lipsa unui cititor este doar o colecie de foi imprimate
15

cu cerneal. n mod similar sunt abordate deseori conceptele list i pointer ca i


cunotin n sine, cnd de fapt ele reprezint un set de reguli i conduite utilizate pentru a
obine un comportament de o anumit manier.
Pe parcursul ultimilor ani, metodele i teoriile de procesare a cunotinelor s-au
dezvoltat rapid. Recunoaterea i redarea cunotinelor este un domeniu important al IA n
prezent, iar cercetrile n vederea mbuntirii metodelor sunt n continu desfurare.
II.1.1. Conceptele timpurii ale procesrii cunotinelor i dezvoltarea lor
Conform lui Ron Brachman (1985, Knowledge Representation and Reasoning )
reelele semantice au fost printre conceptele incipiente ale reprezentrii cunotinelor. De
asemenea, n aceast categorie se ncadreaz i structurile de date i algoritmii pentru cutare
rapid general.
Cadrele i regulile reprezint urmtoarele concepte care au fost dezvoltate. Limbajul
structural a avut diferite mecanisme pentru exprimarea i ncadrarea componentelor n
structura de date, prin sloturi. Sloturile sunt analoage relaiilor din cadrul modelrii de tip
entitate-relaie i proprietilor din modelarea orientat obiect.
Perioada i aria de dezvoltare a metodelor de reprezentare a cunotinelor s-a
suprapus puternic cu cea a cercetrilor privind structura datelor i algoritmii asociai tiinei
calculatoarelor.
n sistemele timpurii apare limbajul de programare LISP, modelat dup conceptul
lambda calculus, fiind un sistem formal a logicii matematice utilizat n exprimarea
calculelor bazate pe funciile abstracte, folosind conexiunea ntre variabile i substituia7 .
Standardul utilizat de Brachman i de majoritatea dezvoltatorilor din domeniul
inteligenei artificiale este FOL. Limitaiile teoretice nseamn c o implementare integral a
FOL nu este practic. Cercettorii trebuie s fie clari n privina prezentrii lor.
O tehnic folosit la nceputurile dezvoltrii IA este definirea limbajelor create dup
modelul FOL. Cel mai cunoscut exemplu este Prolog, dar mai exist multe limbaje special
formulate pentru crearea cadrului potrivit reprezentrii. Acestea pot valida modelele logice i
deduce noi teorii din cele deja existente. n mod esenial, ele simuleaz automat etapele prin
care un specialist n logic ar analiza un model.
Dou concepte despre care Ron Brachman afirma c nelegerea i aplicarea lor este
esenial, sunt meta reprezenatarea i incompletitudinea8.
Meta-Reprezentarea - n domeniul tiinei calculatoarelor aceasta se numete
refleie. Vizeaz capacitatea unui sistem de a avea acces la informaii privind propria stare.
Un exemplu potrivit n acest sens ar fi protocolul meta-obiect din Smalltalk sau CLOS, care
ofer dezvoltatorilor acces la clasa de obiecte i i mputernicete s redefineasc structura
bazei de date dinamic, chiar n timpul de desfurarea a proceselor.
Incompletitudine - Logica tradiional necesita axiome suplimentare i constrngeri
pentru a face fa provocrilor lumii reale, spre deosebire de lumea matematicii. De
asemenea este folositoare asocierea unui anumit grad de ncredere cu o afirmaie, de
exemplu fraza: Pitagora este om, cu un grad de ncredere de 50%, este mai relevant
dect Pitagora este om. Aceasta a constituit printre primele inovaii din cadrul cercetrii
sistemelor expert, care s-a dezvoltat prin adugarea unor instrumente comerciale i
abilitatea de a asocia factorii de ncredere cu regulile i concluziile.n studiile mai recente
au denumit aceast tehnic: logic fuzzy.
7Alonzo Church , tradus si adaptat din articolul what-is-lambda-calculus-and-why-should-youcare http://zeroturnaround.com/rebellabs/what-is-lambda-calculus-and-why-should-you-care/
[11/03/2016]
8 Ron J Brachman , The Future of Knowledge Representation , Extended
Abstract, p: 8
16

II.1.2. Prelucrarea cunotinelor


n mod tipic, noi asociem faptele cu termenul de cunotine, de exemplu: Assist se
ocup de programare i repararea calculatoarelor sau societatea X are un numr de aciuni.
Astfel exist anumite ci de a descrie faptele ca obiecte sau evenimente. Pentru codificarea
evenimentului nsui trebuie indicat timpul secvenei specifice i relaia cauza efect. Un
comportament mai complex solicita ns cunotine dincolo de obiecte i evenimente:
informaii despre modul n care se realizeaz lucrurile, performana sau gradul de nelegere a
acestora.
Eventualitatea folosirii informaiilor este cea mai important latur a proceselor de
examinare i comparare a schemelor de reprezentare a cunotinelor. Sistemele IA descriu
obiectivele n termeni de sarcini cognitive ca: identificarea obiectelor, replicarea la ntrebri
sau manevrarea unui robot. n mod obinuit, folosirea optim a cunotinelor cuprinde trei
etape:
1. Procurarea informaiilor relevante n vederea rezolvrii problemei
n mod obinuit ne raportm la studiere ca la o aprofundarea cunotinelor, dar ea
presupune mai mult dect acumularea de noi fapte n memoria cognitiv. Potrivit teoriei lui
Piaget, achiziionarea de cunotine duce la ceva nou despre care noi tim deja ceva. n cadrul
unui sistem IA, structura datelor este clasificat nainte de a fii adugat n baza de date.
Astfel, dac este nevoie, ea poate fii recuperat anterior. n majoritatea tipurilor de SBC,
structurile noi pot coexista cu cele vechi, stabilind relaii i uneori crend o interfa pe
parcursul ndeplinirii unui task.
2. Recptarea datelor
La momentul n care sistemele acumuleaz mai multe informaii diferite,
determinarea tipului de cunotine relevante rezolvrii problemei este un proces esenial.
Specialitii au artat un interes deosebit de-a lungul timpului fa de acest aspect la IA. S-au
elaborat numeroase scheme de reprezentare, lundu-se n considerare comportamentul
memoriei individului. Referirea la recuperarea faptelor se face prin asocierea de cuvinte:
legtura/legare i adunare/punere laolalt.
Aadar, se formeaz o legtur cnd o structur de date urmeaz a colaboracu o alta
pentru a soluiona o problem. Cnd exist o multitudine de structuri programate s
interacioneze, se creeaz o subunitate n cadrul unei structuri mai largi.
3. Abilitatea de a procesa faptele pentru a obine o soluie.
II.2. Metode de redare a cunotinelor
Reprezentarea cunotinelor este o o component a Inteligenei artificiale, care
vizeaz nelegerea, dezvoltarea i implementarea modurilor de prezentare a cunotinelor n
cadrul sistemelor astfel nct programele (agenii) s poat utiliza cu succes aceast
informaie., adic:
S deduc informaii noi pe baza cunotinelor primite
S comunice cu oamenii n limbaj natural
S decid paii urmtori, s plnuiasc aciuni viitoare
Schemele de reprezentare a cunotinelor sunt nefolositoare fr capacitatea de a se
putea raiona cu ele. Studiul raionamentelor corecte este reprezentat de logic. Exist mai
multe sisteme logice. Asfel, procesarea cunotinelor ntr-un sistem presupune reprezentarea
17

n mod corect i formularea unor raionamente logice pe baza acestora. Aceste raionamente
determina n final o concluzie ce constituie soluia problemei. Logica este relevana n
reprezentarea cunotinelor deoarece constituie studiul legturilor relaii-limba, condiiile de
adevr, reguli de inferen. Nu este surprinztor faptul c reprezentarea logic mprumuta o
mulime de elemente i tehnici ale logicii simbolice formale.
nainte ca un sistem s nceap s raioneze, formuleze, nvee, plnuiasc sau s
explice comportamentul su, trebuie s fie capabil s formuleze ideile implicate n procesele
desfurate.
II.2.1. Tehnici formale de reprezentare
II.2.1.1. Faptele
n limbajul de specialitate ele sunt numite: unitile atomice ale cunotinelor9.
Fiind blocuri de informaii de baz, ele reprezint cunotinele declarative, adic exprima
detalii i particulariti ale obiectelor. O propoziie este o instan a unei fapte, creia i este
asociat o valoare de adevr. Poate fi adevrat sau fals. n principal, n Inteligena
artificial, se folosesc propoziiile mpreun cu termenul de adevr asociat. Faptele pot fi:
Cu o singur valoare sau valori multiple
Fiecare atribut poate defini una sau mai multe valori n acelai timp, spre exemplu:
Un computer poate avea doar un singur desktop, dar mai multe sisteme de operare, aadar,
atributului sistem de operare poate avea mai multe valori.
Incerte
Uneori este esenial reprezentarea faptelor incerte, astfel nct este indicat c aceste
valori s fie asociate cu un grad de incertitudine, de exemplu: Este o ans de aizeci la sut
c astzi s plou.
Fuzzy
Aceste fapte sunt ambiguu prin natura lor, n principal datorit subiectivitii
descrierii acestora. Atunci cnd sunt definite, este necesar menionarea valorii de adevr a
acestora. Un exemplu potrivit ar fii: Modulul acesta de nvare este dificil.
Trio Obiect Atribut Valoare (OVT)
Sunt folosite pentru a afirma proprieti diferite ale aceluiai obiect. Schema
semnificativ:
Obiect: Ansatasia
Atribut: nuana pielii
Valoare: mslinie
Sora Anastasiei este
Sonya
Object: Sonya
Attribute: sora
Universalele sunt afirmaii generale despre lume ca Toi oamenii sunt muritori.
Faptele sunt exemple specifice de universale ca Pitagora este om de aceea este muritor. n
termeni logici, definiiile i universalele definesc cuantificrile universale, n vreme ce
faptele intesc cuantificrile existeniale, Toate formele de reprezentare a cunotinelor
trebuie s vizeze acest aspect i majoritatea realizeaz acest lucru prin unele seturi de teorii,
modelarea universalelor ca seturi i subseturi i definiiile ca elemente ale acestora.

9 Jerome R Ravetz , Scientific Knowledge and Its Social Problems


18

II.2.1.2. Regulile
Acestea sunt o alt form de redare a cunotinelor. Conform lui Durkin o regul este
O structur de date care leag anumite informaii de altele cu scopul de a obine o concluzie
sau de a deduce un adevr10.
O regul este compus din dou componente: premisa ( partea IF) i concluzie
( partea THEN). Mai multe premise pot fi asociate folosind operatorii logici sau ori i,
altfel spus utiliznd disjuncii sau conjuncii.
Regulile pot fi:
Reguli de relaie - Acestea sunt utilizate pentru a exprima o legtur direct dintre
dou evenimente, obiecte: Dac sistemul nu funcioneaz, atunci are o erori.
Reguli de recomandare - Acestea fac o referire pe baza unor date cunoscute: Dac i
uzi telefonul, atunci pune-l pe calorifer.
Reguli directive - Sunt similare regulilor menionate anterior, dar ele presupun
sugestia unui mod de aciune specific, nu sunt vagi: Dac i uzi telefonul i nu l poi
pune pe calorifer, atunci usuc-l cu foehnul.
Reguli variabile - Presupun c acelai tip de norme s fie aplicat la mai multe obiecte:
Dac Z este un individ i are coeficientul de inteligen mai mare dect 140, atunci Z
este geniu. Astfel de norme sunt numite i reguli modelatoare. Regula este comparatia
cu fapte cunoscute iar posibiliti diferite de variabile sunt testate pentru a determina
adevrul ei.
Reguli incerte - Acestea introduc faptele incerte n sistem: Dac nu a plouat niciodat
n perioada asta a anului atunci probabil nu va ploua nici acum.
Meta-reguli - Acestea impun modul n care se folosesc alte reguli: Dac nu i merge
computerul i nu ai un antivirus optim, atunci utilizeaz regulile de diagnosticare a
sistemului.
Metoda reprezentrii prin regulile de producie sta la baza dezvoltrii sistemelor
expert.Aceast metod presupune transformri succesive a unui context iniial .O regul de
producie este format din dou pri condiionale:
- Contextuala: Specific aria n care este aplicabil regul
- Transformaionala: Parte de aciune, care determin modificarea contextului.
Dezavantajul acestei metode const n existena unor domenii n care este dificil
formalizarea regulilor, iar numrul lor poate deveni prea mare pentru a putea fi manipulate de
sistemul de calcul.
II.3. Prelucrarea cunotinelor
Atunci cnd utilizatorul solicita sistemului s fac ceva, dar nu indic modul n care
s realizezeze comanda propus, sitstemul trebuie s raioneze, adic s furnizeze o soluie,
bazndu-se pe cunotinele acumulate sau deduse.Cu ct problemele sunt mai complexe, cu
att procesul de raionare a acestuia devine mai dificil. El trebuie s fie capabil s deduc,
analizeze i s verifice o mulime de fapte noi.
Dup modul de procesare a cunotinelor, exist mai multe metode de raionament:
- Metoda formal
Utilizeaz reguli prevzute de interferen formulate prin manipularea sintactic a
structurilor de date; deduce informaii din datele preexistente n baza de cunotine;
reprezentarea formal presupune logica matematic.
- Metoda procedural
Folosete modele procedurale simulate pentru a rspunde interogrilor i a soluiona
problemele.De exemplu, cnd sistemul trebuie s rspund la o ntrebare de genul: Cat este
7-2? programul folosete un model procedural aritmetic.
10Jussi Kantola, Waldemar Karwowski (2004), Knowledge Service Engineering Handbook
19

Metoda meta-nivel
Se bazeaz pe rspunsurile primite de la utilizator, n formularea sau deducerea de noi
ipoteze.
Pe scurt, cunotinele se afla n legtur una cu cealalt, sistemul trebuie s se
preocupe constant de modul n care noile date vor fi integrate n program, vor interaciona cu
cele vechi sau cum vor putea fi recuperate. De asemenea, eficacitatea i raionamentul sunt
vitale n programarea sistemelor inteligente, prin acestea ncercndu-se captarea aspectelor
complexe ale gndirii umane.
II.3.1. Eficiena raionamentelor
Raionamentul reprezint o structur informaional desfurat i ierarhizata, n

care gndirea pornete de la anumite date i ajunge la obinerea altora noi, sub forma unor
concluzii. n acest caz, concluzia este propoziia la care vrem s ajungem, iar restul
propoziiilor sunt premisele acestei concluzii. Raionamentul este specific gndirii
propoziionale, n care secvenele de idei sunt organizate.11
Eficiena de a raiona se refer la eficacitatatea modului de procesare a sistemului
adic la capacitatea bazei de cunotine de a fii actualizata i a motorului de a crea noi
inferene n o perioad rezonabil de timp.
ntr-o msur, aceasta este reversul exprimrii adecvate.n general, cu ct e mai
puternic reprezentarea, cu att e formulat mai expresiv, cu att mai puin eficient va fi
raionamentul generat automat. Eficiena a fost o problem la nceputul implementrii
programelor de reprezentare a cunotinelor, dar studiile arat c unele sisteme expert
contemporane ating un grad nalt de eficacitate.
II.3.2. Tipuri de raionament
Conform specialitilor din domeniu Ronald Brachman & Hector Levesque12 exist
cteva tipuri principale de raionament:
1. Raionament deductiv
Acest tip de raionament este bazat pe deducerea unor noi informaii din cunotinele
deja acumulate. Un argument deductiv ofer aseriuni care determin imediat concluzia.
2. Raionament inductiv
Este bazat pe formarea or inducerea unor generaliti dintr-un numr limitat de
observaii
Diferena esenial ntre raionamentul inductiv i cel deductiv este faptul c primul
este bazat pe experiena, n vreme ce al doilea, pe reguli.n mod normal, al doilea va fi corect
ntotdeauna
3. Raionament abductiv
Deduciile urmeaz aceleai reguli logice ca axiomele. Abducia este o form de deducie
care permite o inferen plauzabila, adic concluzia ar putea fi greit.
4. Raionament analogic
Este construit pe baza analizei modului natural de gndire a oamenilor.Cu toate
acestea este destul de dificil soluionarea unei probleme prin intermediul acestui mod de
raiune, la fel ca i n cazul raionamentelor de tip generalizare i abstractizare.
11Preluat din articolulRationament deductiv, inductiv si
euristicahttp://experimentala.ro/0doc//TRANSPORTURI/cognitiva%20pdf/Rationamentul%20inductiv%20deductiv
%20si%20euristica.pdf [Accesat la 11.03.2016;12:42 AM]
12

Ronald Brachman & Hector Levesque (2004) Knowledge Representation and Reasoning

20

Acesta funcioneaz prin analogie, adic observ diferenele sau asemnrile dintre
dou situaii sau probleme diferite, i aplic soluia care a determinat concluzia procesului
analog.
5. Raionament obinuit
Este o form informal de raionament, care genereaz soluii sau concluzii bazate pe
experien. Opereaz cu reguli euristice i cunotine euristice.
6. Raionament nemonoton.
Acesta presupune diferite tipuri de raionament ipotetic. Sistemul asocieaza faptele
cu regulile i utilizeaz tot fapte ca s le justifice. n sistemele bazate pe reguli aceast
capacitate este cunoscut ca sistemul de mentenana a adevrurilor.
Este utilizat atunci cnd este posibil c faptele cazului abordat s se schimbe dup o
perioad de timp. Dac cauza este nlturat, faptele asociate sunt terse de asemenea.

21

III. Sisteme expert


III.1. Prezentare general
Sistemele expert reprezint o ramur a inteligenei artificiale n care programele ating
cel mai nalt nivel a gradului de rezolvare a problemelor. n mod normal, baza de date a
acestora conine cunotine ale experilor umani, n contrast cu informaiile culese din cri
sau de la non-experti. Foarte des, termenii sistem expert i sistem bazat pe cunotine
sunt percepui ca fiind sinonimi. mpreun, reprezint cel mai rspndit tip de aplicaii
inteligente.
Crearea unui sistem expert necesit ingineri de cunotine .Sarcina acestor experi
const n furnizarea i verificarea tuturor cunotinelor necesare rezolvrii unei probleme.
Acesta trebuie s aleag modul de reprezentare a cunotinelor n memoria computerului. De
asemenea, are rolul de a selecta o metod de procesare, astfel nct computerul s utilizeze
eficient cunotinele.
Ipoteza fundamental a inteligenei artificiale enun c un comportament inteligent
poate fi descris precis ca o manipulare a simbolurilor i poate fi procesat de computer cu
ajutorul abilitilor de procesare a simbolurilor. La sfritul anilor 1950, au fost inventate
limbaje de programare speciale, pentru a facilita manipularea simbolurilor. Cel mai
proeminent se numete LISP(List Processing-procesarea de tip list).
Datorit eleganei simple i flexibilitii, cele mai multe programe de cercetare IA au
fost scrise n LISP. Aplicaiile comerciale ns nu mai folosesc acest limbaj.La nceputul
anilor 1970 a fost creat alt limbaj de programare, n Frana, numit PROLOG(Programming n
Logic-Programarea n logica).
LISP i are bazele n o arie a matematicii, PROLOG n alta. Programele scrise n
PROLOG au un comportament similar cu cele bazate pe reguli, scrise n LISP.PROLOG, nu
a devenit imediat dup apariie un limbaj popular, ci abia n 1980 a fost recunoscut de
majoritatea programatorilor. De atunci au aprut o varietate de limbaje de programare bazate
pe logic, iar termenul prolog a devenit generic.

Surs : Elaborare proprie


Figura 3.1 Limbaje de programare in Inteligena artificiala

22

De-a lungul anilor, SE au cunoscut o ascenden rapid, att n privina tehnicilor de


creare ct i a sferelor de aplicabilitate. Creterea semnificativ a domeniilor concrete de
aplicare a SE se datoreaz n principal multitudinilor de probleme enunate n vederea
soluionrii acestora cu ajutorul inteligenei artificiale. Pe msur ce aceste sisteme au
evoluat, s-au concretizat anumite principii de lucru, care stau la baza proiectrii i
implementrii lor. Conform Alecsandru P.Tacu,Romul Vancea13, acestea pot fi enumerate
astfel :
1. Procurarea eficient a cunotinelor, prin formularea concis a informaiilor obinute de la
experii umani.
2. Valorificarea maxim a resurselor obinute, prin:
- nlnuirea i mbinarea cunotinelor n vederea obinerii unor noi informaii,
rezultate din urm aplicrii raionamentelor i regulilor prestabilite.
- Observarea modului n care se infereaz cunotinele noi rezultate, care sunt supuse
unor procese mpreun cu cele deja existente.
- Generarea unor soluii sintetice, menite s cluzeasc expertul uman.
3. Susinerea eficient a tuturor proceselor aferente prelucrrii cunotinelor (tergere,
adugare, verificare) indiferent de modul n care BC a fost structurat iniial.
n adiie la aceast serie de pai care trebuie urmai, creatorul unui sitem expert
trebuie s se asigure c proiectul su ndeplinete anumite cerine. n literatur de
specialitate, sunt conturate trei cerine principale la care conceptul de sistem expert trebuie s
aib un feedback pozitiv :
1. Limitarea riscurilor,
2. Aprofundarea treptat,
3. Simularea creativitii.
Astfel, limitarea riscurilor vizeaz non-compatibilitatea posibil a cunotinelor ce
trebuie introduse n baza de date. Incompatibilitatea reprezint un risc real, ntruct exist o
sfer mare de domenii de aplicabilitate a cror cunotine se suprapun la un anumit nivel.
Specificacitatea sistemelor expert este dat n special de mrimea impresionant a bazei de
date i a cunotinelor eterogene. Aadar, dac aceste cunotine nu sunt valide, iar sursa nu
este verosimil, conceptul de infereniere a datelor este inutil.
Aprofundarea treptat presupune c programul creat s fie capabil s nmagazineze
cunotine noi, s procesese dinamic raionamentele, s se poat adapta la noi tipuri de
analiz i la modificri importante aprute n mediul extern.
Simularea creativitii vizeaz conferirea unor caracteristici instrumentului informatic
propus, trsturi specifice expertului uman (ex : intuiie, imaginaie), care s poat prevedea
consecinele aplicrii unei reguli sau a unui raionament.
a) Sistemele expert si mediul intern sau extern
Sistemele expert sunt o subclas a SBC.n primul capitolul al acestei lucrri am
detaliat modul n care funcioneaz un sistem bazat pe cunotine, astfel c n continuare voi
accentua particularitile SE.
Aadar, SE se afla n o strns legtur cu alte elemente ale mediului extern n care
funcioneaz.De exemplu, odat cu dezvoltarea reelelor informatice de tipul internet i
intranet, au fost create instrumente informatice utile conectrii sistemelor la mijloace de
difuzare a cunsotintelor sau de. Comunicare. Mai mult, dac o entitate utilizeaz mai multe
SE, specializate pe domenii diferite, acestea pot fi accesate simultan, ntr-un singur
ansamblu.

13 Alecsandru P Tacu, Romul Vancea,tefan Holban, Aurel Burciu (1998),


Inteligena artificial.Teorie i aplicaii n economie, p: 250-265
23

Utilizarea inteligenei artificiale n viaa real, prin intermediul SE constituie o


modalitate de maximizare a eficienteia entitilor i indivizilor, n aria de procesare,
dezvoltare i valorificare a cunotinelor.
n cadrul entitilor economice decidentul superior beneficiaz de faciliti oferite de
SE :
- ansa de a secunda experi n realizarea unor noi SE, sau de a ndruma utilizatorii n
realizarea unor sarcini specifice.
- Atenionarea imediat, n cazul apariiei unei influene negative din exteriorul firmei,
datorat unor factori predefiniti. Sistemul activeaz semnale ce impun reevaluarea
situaiei actuale a organizaiei.
- Procesul de colectare a datelor este interconectat cu modulul operaional i cel
procedural, astfel nct sistemul asigur o consiliere permanent.
- Alertarea managementului n vederea soluionrii unor probleme ce apar permanent n
evoluia raporturilor dintre elemente specifice ale organigramelor sau a funciunilor
organizaiei.
b) Modul de funcionare al unui SE

Surs:Elaborare proprie
Figura 3.2 Modul de funcionare al unui SE

Componentele principale ale unui sistem expert se pot observa n figura 3.2 .Aa cum
am menionat anterior, sistemele expert sunt create n vederea rezolvrii unor probleme.
Soluia generat de ctre sistem se bazeaz pe cunotinele introduse (intrri). Astfel,
rezultatul ar putea fi greit dac datele nu sunt valide, crendu-se reguli eronate sau conflicte
informaionale. Aici intervine motorul de inferene, considerat inima sistemului expert.
Acesta comport patru etape :
1. Selecionarea
n acesta etap se extrag din BC elemente specifice ariei de soluionare a problemei
propuse.Se realizeaz o separare a BC, care va facilita cutarea datelor n etapele urmtoare.
Etapa de selecie este necesar doar n situaia unei baze de cunotine mari, care vizeaz mai
multe domenii ale cunoaterii.

24

2. Trierea
Aceast faz presupune analizarea premiselor normelor selectate anterior n raport cu
elementele ce caracterizeaz problema propus, n vederea generrii regulilor declanabile.
Dac n urma acestui proces nu rezult nici o regul, atunci sistemul expert semnaleaz o
situaie de eec, pe care trebuie s o explice.De asemenea, utilizatorul este solicitat s
rspund la o serie de ntrebri, n vederea gsirii unei explicaii pentru acest comportament
procedural.
3. Soluionarea erorilor
Etapa menionat este necesar atunci cnd n urma filtrajului realizat anterior, rezult
mai multe reguli declanabile. n acest caz trebuie aleas una pentru a fi executat. Poate fi
aleas o norm be baza unor principii ca : cea mai complex regul, prima regul din lista
sau cea mai des folosit.
4. Executarea normei alese
Aceast etap const n mbogirea bazei de fapte cu una sau mai multe fapte.De
asemenea, aici,motorul de inferen utilizeaz un raionament n vederea generrii concluziei.
Revenind la componente, trebuie menionat c n afar de MI i intrri, orice sistem
expert prezint i un constituent de ieire. Este esenial ca rezultatele SE s fie organizate ct
mai sintetic i inteligibil pentru a fi utile expertului uman. n funcie de acestea, decidentul
superior va putea s ia decizia final corect.
III.2. Clasificarea sistemelor expert
La momentul actual exist numeroase modele de sisteme expert, care propun soluii
la o multitudine de probleme reale i de interes. Privite din perspectiva domeniului de
aplicabilitate, aceste SE au i caracteristici comune, dar i diferite.De exemplu, din punctul
de vedere a expertizei umane, a datelor culese i introduse, un sistem destinat folosirii n aria
medical este substanial diferit de unul folosit n economie. Privite n ansamblu, procesele
care stau la baza rezolvrii problemelor sunt comparabile.
De-alungul anilor au fost formulate diferite clasificri ale sistemelor expert.
Comparnd diferitele lucrri de specialitate, se observ c exist multe suprapuneri pe
marginea acestui subiect, datorate i terminologiei folosite de cercettori.
Conform Stuart Russel (2009)14, SE pot fi clasificate :
1. Potrivit naturii cunotinelor redate :
a) Sisteme expert fundamentate pe reguli
Acest tip de sistem este cel mai des ntlnit, tehnologia lor fiind cea mai dezvoltat.
b) Sisteme expert ntemeiate pe cadre
n cadrul acestui tip de SE, cunotinele constituie obiecte structurate
c) Sisteme expert hibride
Acest model de SE combin att cadrele ct i regulile.
d) Sisteme bazate pe tipare
Acestea sunt construite pe baza unui model
2. Potrivit naturii problemelor soluionate :
a) SE fundamentate pe achiziionarea faptelor relevante.
Sunt utile n expertiza oricrui domeniu de activitate, bazndu-se pe cunotinele
experilor umani care sunt descrise i cuantificate cu precizie maxim.
b) Sisteme expert n etape consecutive.
14 Stuart J. Russell , Peter Norvig, (2005) Artificial Intelligence :A Modern
Approach.p:278-300;
25

Acestea prezint multe ieiri, dobndite prin prezentarea detaliat graduala a


problemei propuse
c) Sisteme expert la cheie.
Sunt proiectate i particularizate pentru un utilizator anume.
d) Sisteme expert rapide.
Perioada de rspuns a sistemului este limitat, optim controlului proceselor.
3. Potrivit categoriei de folosin
a) SE de categoria I.
Aceste tipuri de sisteme sunt puternic comercializate i utilizate cu succes de o
varietate de persoane.
b) Sisteme expert de categoria II.
SE acestea nu sunt foarte populare n rndul utilizatorilor, datorit gradului de
incertitudine a soluiei oferite sau a impreciziei. Totui, performanele acestora se ncadreaz
n tiparul expert.
c) Sisteme expert de categoria III.
Nu sunt des solicitate, deoarece prezint multe greeli n activitatea lor, interaciunea
cu utilizatorul este mai dens iar perfomanele nu sunt de nivelul expert.
4. Potrivit dezvoltrii inteligenei artificiale de-a lungul timpului :
a) SE tradiionale.
Acestea sunt fundamentate pe logic booleana, utilizat n construcia unor algoritmi
simpli, clasici.
b) SE fuzzy
Acestea sunt bazate pe logic fuzzy, prezentat prin algoritmii evoluai de
programare.
III.2.1. Sisteme expert bazate pe reguli
Programele convenionale folosite n rezolvarea problemelor utilizeaz algoritmi bine
structurai i strategii de raionare concrete, pentru a gsi o soluie. n cazul problemelor mai
dificile cu care SE se confrunt mai eficient metod este utilizarea euristicilor : strategii care
duc adesea la o concluzie corect, dar care uneori eueaz.
Sistemele convenionale bazate pe reguli, folosesc cunotinele umane n rezolvarea
problemelor reale din lumea n care trim, probleme care n mod normal necesit inteligen
uman. Cunotinele sunt reprezentate n computer sub forma regulilor sau a datelor. n
funcie de necesitatea problemei, aceste reguli i date sunt utilizate n gsirea unei soluii
Sistemele expert bazate pe reguli joac un rol important n Inteligena artificial, iar
aplicaiile lor n stabilirea unor obiective, planificare, design, programare, diagnoz, s.a.
Odat cu progresul tehnologic din ultimul deceniu, utilizatorii au posibilitatea de a
alege dintr-o mulime de pachete comerciale de software, care au o interfa grafic
prietenoas. Programele tradiionale proceseaz sarcinile utiliznd o logic de luare a
deciziilor care implic foarte puine cunotine n afar algoritmului specific rezolvrii.
Un sistem expert const n reguli de tipul if-then, o mulime de fapte i un interpretor
care controleaz aplicarea regulilor n funcie de fapte. Aceste reguli if-then sunt utilizate
n formularea frazelor condiionale care se adreseaz bazei complete de cunotine.
O singur regul are forma dac X este A atunci y este B. Partea if a regulei x
este A este numit antecedent sau premis, n vreme ce partea then, adic y este B se
numete consecin sau concluzie.
Exist dou feluri principale de motoare de inferen utilizate n SE bazate pe reguli :
nlnuite nainte sau napoi:
n prima categorie, faptele iniiale sunt procesate nti, iar regulile sunt folosite pentru
a obine concluzii referitoare la acele fapte.
26

n a doua categorie, ipoteza este analizat nti, mai apoi fiind construite reguli care
ar putea duce la soluia final. n timp ce procesarea este n desfurare se creeaz noi
ipoteze, care trebuie validate. Conform Stuart J. Russell, Peter Norvig 15, un exemplu potrivit
n acest sens ar fi:
Regula 1: Dac A si C atunci Y
Regula 2: Dac A si X atunci Z
Regula 3: Dac B atunci X
Regula 4: Dac Z atunci D

Surs:Elaborare proprie
Figura 3.3. Principiul de desfurare a inferenelor n cadrul unui SE bazat pe reguli.

III.2.2. Sisteme expert fuzzy


Universul informaiei este nconjurat de imprecizie i incertitudine. Raionamentul
uman poate procesa concepte vagi, inexacte n o manier acceptabil. n mod normal,
gndirea uman, raionarea, procesul de percepie nu pot fii exprimate n mod precis. Aceste
tipuri de experien pot fi rar exprimate sau msurate utiliznd teoria statistic sau
probabilistic.
a) Logica fuzzy
Logica fuzzy ofer un cadru de prezentare pentru incertitudinea modelelor, forma
uman de gndire, raionamente .a.
Sistemele fuzzy au fost introduse de ctre Zadeh n 1965. Conform Luger George,
Stubblefield William (2004) 16, un sistem expert fuzzy este un SE care utilizeaz o colecie
de funcii i reguli fuzzy, n detrimentul logicii booleene. Regulile utilizate ntr-un sistem
fuzzy sunt de forma :
15 Stuart J. Russell , Peter Norvig(2009) , Artificial Intelligence :A Modern
Approach.p: 280-300;
16 Luger George,Stubblefield William (2004), Artificial Intelligence: Structures
and Strategies for Complex Problem Solving, p: 200-210
27

Dac A este scund i B este nalt atunci X este mediu.


A i B sunt variabile de intrare iar X este variabil de ieire.
Aici nalt, scund, mediu sunt seturi fuzzy definite pe A, B i respectiv X. Premisa
regulei descrie n ce msur se aplic regul, n timp ce concluzia atribuie o funcie unei sau
mai multor variabile de ieire.
Dou concepte importante care prezint interconectarea regulilor ntr-un sistem fuzzy
sunt intersecia i uniunea.
b) Modul de funcionare a unui sistem expert fuzzy
Competenele principale ale unui sistem fuzzy sunt : interfaa de fuzificare, baza de
reguli fuzzy, motorul de inferen i o interfa pentru defuzificare, aa cum se poate observa
in figura 3.4:

Surs:Elaborare proprie
Figura 3.4. Modul de funcionare a unui sistem expert fuzzy

Variabilele de intrare sunt fuzificate n timp ce funciile definite pe aceste variabile


sunt aplicate pe valoarea lor actual, pentru a determina gradul de adevr al fiecrui
antecedent.
Utiliznd o procedur de inferen potrivit, valoarea de adevr al antecedentei este
computata i aplicat prii de concluzie a fiecrei reguli. Aceasta determin apariia unui
subset fuzzy care trebuie atribuit fiecrei variabile de ieire a fiecrei reguli.
Din nou, utiliznd o procedur de compunere potrivit, toate subseturile fuzzy
atribuite sunt combinate pentru a forma un singur subset pentru variabilele de ieire.
n final, defuzificarea este utilizat pentru a converti rezultatul fuzzy ntr-un rezultat
concret. Sistemul de inferen fuzzy accepta fie rezultate fuzzy fie concrete, dar el produce
doar ieiri de tip fuzzy.
Prin defuzificare este extras ieirea concret care reprezint cel mai bine setul
fuzzy.Cu intrri i ieiri concrete, un sistem de inferen fuzzy implementeaz un traseu
nonlinear din spaiul de intrare ctre cel de ieire prin un numr de reguli de tipul if then.
Regulile fuzzy if-then i raionamentul fuzzy reprezint vertebra sistemelor expert
fuzzy, fiind cele mai importante unelte care se bazeaz pe teoria seturilor fuzzy. Baza de
reguli fuzzy se caracterizeaz prin faptul c premisele i concluziile implic variabile
lingvistice.
28

Cunotinele experilor sunt principala surs care stau la baza construirii unui SE
fuzzy. Exist numeroi parametrii i componente care trebuie configurate pentru a controla
un proces.
Conform Nadia Nedjah,Luiza de Macedo Mourelle(2005)17, in funcie de necesarul de
performan a problemei, mediul, funciile, baza de reguli i mecanismul de inferen trebuie
adaptate. Imitarea proceselor reelelor neuronale, gruparea sau organizarea informaiilor sunt
tehnici utilizate pentru a genera reguli.
Computarea evoluionist (EC) este o alt metod, bazat pe procesele genetice ale
creaturilor biologice, utilizat n soluionarea problemelor de optimizare. Prin replicarea
procesului de evoluie (coonform Darwin), EC ar putea soluii la diferitele probleme ale
lumii reale, dac acestea ar fi codificate corect (reprezentarea problemelor este numit
cromozomiere).

17 Nadia Nedjah, Luiza de Macedo Mourelle(2005)Fuzzy Systems Engineering:


Theory and Practice, p: 120-130
29

III.3. Sisteme expert de diagnosticare


Conform Frederick Hayes-Roth18, SE de diagnosticare presupun analiza i
evidenierea relaiilor cauz efect aferente unor probleme propuse soluionrii. Majoritatea
lor sunt bazate pe reguli. n vederea elaborrii unui diagnostic corect, se utilizeaz att logica
boolean, ct i logica fuzzy.
Odat cu dezvoltarea IA, numrul domeniilor n care se utilizeaz un sistem expert
pentru diagnosticare a crescut rapid. Astfel, exist SE pentru diagnosticarea economic,
financiar, computaionala, medical, chimic s.a. Cel mai des abordate sisteme expert de
diagnosticare sunt cele care vizeaz domeniul medical.Alte sisteme populare relevante sunt
cele care presupun diagnosticarea finaciar-economic i SE pentru diagnosticarea erorilor.
III.3.1. Sisteme expert de diagnosticare medical
Astzi exist numeroase programe care ofer diagnostic online sau offline, cu un grad
de certitudine ridicat. Cum funcioneaz aceste programe ?
Conform C.S.Pierce19 unul dintre sistemele de referin n diagnoz medical este
MYCIN. Dezvolat la nceputul anilor 70 la Universitatea Stanford, alturi de pionerul
DENDRAL, MYCIN constituie un model pentru SE de diagnosticare proiecate n perioada
modern.
MYCIN reprezint primul dintre o nou generaie de programe computaionale care
raioneaz, i explic raionamentele i genereaz sfaturi sau instruciuni similare cu cele
oferite de experii umani.
Proiectarea i dezvoltarea acestui SE marcheaz o tranziie n cercetarea n domeniul
inteligenei artificiale. Succesul acestui proiect a demonstrat c tehnologia sistemelor expert
de diagnosticare a fost suficient de puternic nct s prseasc spaiul laboratoarelor, cu
problemele academice bine configurate, i s intre n mediul comercial. Aici se gsesc
informaii incerte sau incomplete, utilizatori sceptici care au nevoie de justificri, i domenii
unde cantitatea de informaii substaniale este relativ mic.
MYCIN a fost primul sistem expert de dimensiuni mari, capabil s proceseze la un
nivel de expert uman i care s ofere o explicaie a raionamentelor realizate. Majoritatea SE
dezvoltatate anterior au folosit MYCIN c referin n definirea lor. Mai mult de att,
tehnicile dezvoltate pentru MYCIN au devenit larg acceptate ca unele de creare a SE.
MYCIN A fost proiectat pentru a ajuta la tratarea i diagnosticarea meningitei i a
infetiilor cauzate de bacterii. Iniial, MYCIN a fost n mod strict un sistem de cercetare.
Cercettorii din domeniul inteligenei artificiale au decis s dezvolte structura acestui SE,
prin abordarea unei probleme complicate, cu ramificaii practice i clare.
a) Expertiza MYCIN
Pentru a utiliza MYCIN, medicii fizicieni trebuie s stea n faa unui computerterminal care este conectat la un DEC-20(unul dintre computerele principale ale Digital
Equipment Corporation), n care se afla programul MYCIN.Atunci cnd MYCIN este evocat,
el iniiaz un dialog. Medicul rspunde diferitelor ntrebri. Eventual MYCIN furnizeaz un
diagnostic i o prescripie detaliat pentru medicamente.
MYCIN raioneaz n funcia datelor asociate cu pacienii. Ia n considerare, de
exemplu. Rezultatele de laborator a fluidelor analizate, simpromele artate de pacient i alte
caracteristici generale ale pacientului, c vrsta sau sex. MYCIN obine aceste informaii prin
interogarea fizicianului.
18 Frederick Hayes-Roth,Philip Klahr,David Mostow(2002) , Knowledge
Acquisition,Knowledge Programming,and Knowledge Refinement, p: 300-305
19 Jarrett Ernest Brock(2002), C.S. Pierce's Logic of Vagueness, p: 25-30
30

O consultatie MYCIN se realizeaz n dou faze. Prima diagnoz este realizat pentru
a identifica cele mai probabile infecii aflate n organism. Apoi, un medicament sau mai
multe sunt prescrise care ar trebui s se aplice tuturor organismele posibile. Antibioticile
prescrise ar trebui s determine dispariia afeciuni identificate.De asemenea, trebuie s
interacioneze favorabil i s se protiveasca profilului pacientului.
MYCIN poate cere rezultatele unui test care nu este nc realizat. n acest caz,
fizicianul trebuie s rspund : necunoscut. Aceasta modalitate este corect ntruct, n
cazul diagnosticrii unei infecii, doctorii au rar oportunitatea de a deine un set complet de
analize medicale. Mai mult, datorit faptului c tratamentul imediat este important, doctorii
au nvat s lucreze cu informaii pariale. MYCIN se adapteaz acestei situaii, acceptnd
necunoscut ca rspuns corect.
Ca un specialist uman,MYCIN va lucra cu informaii incomplete. n adiie la
informaiile necunoscute, ar putea fi informaii care sunt nesigure din punct de vedere
medical. Diferite ambiguiti apar n diferite culturi,sau n modul de scriere.
Pentru a adapta incertitudinile, toate informaiile furnizate MYCIN-ului, trebuie s fie
gradate printr-un factor de certitudine un numr ntre -1 i +1 care indic doz de ncredere
a doctorului n raspunul dat.De aceea, dac un doctor este sigur n mod moderat de
manifestarea unei simptome, poate rspunde la o ntrebare prin DA.4, pentru a indica o
ncredere limitat n rspunsul su.
Atunci cnd utilizatorii ntreab de ce? aunci cnd programul cere diverse date,
MYCIN va explica ce ipotez este luat n considerare i modul n care cerina prezenta de a
furniza date va ajuta la formularea unei concluzii. Dup ce diagnoz i prescripia sunt
complete, dac dorete fizicianul poate urnri tot arborele dianosticului MYCIN.
Explicaiile MYCIN, dei foarte folositoare, sunt limitate la o recenzie a procesului
de raionare i a cunotinelor deinute. MYCIN nu poate justifica sau explica regulile nsi,
nici nu poate defini termenii utilizai. De aceea mdeicii nu pot ntreba De ce este utilizat
aceast regul? sau Ce este pseudomona aeruginosa?.
Regulile conin informaii achiziionate de un expert.Se presupune c temenii utilizai
de MYCIN i rspunsurile cerute sunt familiare fizicienilor care utilizeaz programul.
Sistemele bazate pe cunotine trebuie construite cu grij pentru a fi compatibile cu
trsturile comunitii de utilizatori. Inginerii de cunotine care au dezvoltat MYCIN au avut
responsabilitatea ca termeni precum pat, cultura, microbacterie s fie familiari
utilizatorilor sistemului
b) Eficiena MYCIN
Acest SE a fost evaluat prin diferite metode. Succesul sau n rezolvarea a cteva sute
de cazuri a confirmat competena sa n identificarea agnetilor infecioi, selectnd doze
potrivite de medicamente i recomansand teste adiionale pentru diagnosticare.
ntr-o evaluare mai complex, 8 evaluatori independeni cu expertiz n
managementul meningitei au comparat prescripia de medicamente generat de acest SE cu
cea creat de 9 experi umani specializai n cazuri grave de meningit.
n faza incipient a evalurii, MYCIN i membrii univeristari ai Facultii de
Medicin Stanford au evaluat fiecare 10 cazuri alese n prealabil cu grij, n vederea oferirii
unei varieti de probleme dificile.
n etapa a doua, specialistilor n boli infecioase proeminente le-a fost atribuit cte un
set de cazuri pe care le-au evaluat i diagnosticat, fr s tie identitatea celor care au prescris
reetele sau c specialistul ar putea fi un computer.Au fost utilizate dou criterii de evaluare
:
Primul criteriu:
Prescripiile au fost evaluate pentru a verifica dac medicamentele recomandate sunt
eficiente n combaterea agentului de infectare dup ce a fost identificat n final. MYCIN i
ali trei membrii ai facultii au prescris o terapie compatibil n toate cele 10 cazuri.
31

Al doilea criteriu:
Presupunea ca medicamentul prescris s fie aceptabil pentru ali patogeni posibili,
fr riscul de supradozare. Dup acest criteriu, MYCIN a fost considerat mai eficient dect
toi experii umani.
n acest studiu, experii au evaluat prescripia acestui SE ca fiind corect n 65% din
cazuri, n vreme ce specialitii umani nu au trecut pragul de 62,5%.
Avantajul MYCIN n faa acestor oameni foarte pregtii este dat de cel puin patru
factori :
- Baza de cunotine este derivat din experienele celor mai buni practicieni umani, bolile
sunt foarte detaliate.De asemenea este mai cuprinztoare dect informaiile deinute dect
majoritatea doctorilor din domeniu meningitei.
- MYCIN nu trece cu vederea nimic, nici nu uit detalii.
Este considerat fiecare posibilitate. Doctorii afirm c Trebuie ca s te
gndeti nti la boal ca s i recunoti simptomele. MYCIN ia n considerare orice
boal posibil despre care are cunotine.
- Programul nu sar niciodat repede la concluzii, i nici nu eueaz n cererea unor poriuni
importante de informaii. Nu conteaz ct de evident este boal, MYCIN verifica toate
detaliile i ia n considerare toate alternativele.
- MYCIN este localizat ntr-un centru medical major i informaiile deinute sunt tot timpul
curente. O mare parte a recomandrilor terapeutice se bazeaz pe date recente, publicate
n articole specializate. Astfel de informaii nu se gsesc n cri i nu este posibil ca toi
specialitii umani s le tie.
Evalurile variate la care a fost supus MYCIN demonstreaz c acest sistem expert
este la fel de bun, dac nu mai bun dect majoritatea specialitilor umani.
c) Flexibilitatea MYCIN
Programul original a fost schimbat de mai multe ori n scopul cercetrii tiinifice.
Spre deosebire de programele tradiionale, MYCIN este foarte uor de modificat. Fiecare
regul a sistemului formeaz un modul separat. Orice regul particular poate fi modificat
sau tears, iar sistemul poate s funcioneze n continuare.De asemenea, o regul poate fii
adugat iar sistemul o ncorporeaz n procesul de diagnosticare imediat.
Abilitatea de a modifica sau adug reguli este o caracteristic cheie a sistemelor
expert. Aceast trstur este la fel de necesar la fel ca capacitatea unui sistem de a raiona
sau da explicaii asupra deciziilor luate.SE sunt dezvoltate i meninute gradual cu implicarea
activ a unui sau mai muli experi. Pentru a fii relevant i eficient, un program trebuie s fie
uor de actualizat.
III.3.2. Sisteme expert de diagnosticare a erorilor
Ca o subclas a inteligenei artificial, diagnoza presupune dezvoltarea de algoritmi i
tehnici care determin corectitudinea modului de funcionare a unui sistem. Dac sistemul nu
funcioneaz corespunztor, algoritmul ar trebui s determine ct mai precis posibil care parte
a sistemului eueaz i ce fel de eroare ntmpin.
Computarea este bazat pe observare, care furnizeaz informaii pe baza
comportamentului curent. Expresia diagnoz se refer de asemenea i la rspunsul
ntrebrii dac sistemul este eronat sau nu, dar i la procesul de furnizare a rspunsului. Acest
cuvnt provine din cmpul lexical medical, unde diagnoza semnific procesul de identificare
a unei boli dup simptomele specifice.
Diagnoz expert este bazat pe experiena utilizrii sistemului. Utiliznd aceast
experien, se construiete o cartografiere care asocieaza eficient erorile observate cu
diagnosticul corespondent. O abordare puin diferit este construcia unui sistem dup un
32

model, spre deosebirea de crearea innd cont de expertiz. Natural, exist avantaje i
dezavantaje ale utilizrii acestei metode.
Principalele dezavantaje ale acestor metode sunt :
Dificultatea de a dobndi experien.
n mod obinuit o expertiz este disponibil numai dup o perioad ndelungat de
utilizare a sistemuului.De aceea aceste metode nu sunt potrivite pentru sisteme critice de
tipul siguran sau misiune (control central nuclear, orbitare robot n spaiu).
Cunotin acumulat prin experiena nu poate fii niciodat garantat complet.
n cazul apariiei unei erori nentlnite anterior, care determin o observare
neateptat, este imposibil furnizarea unui diagnostic.
Complexitatea nvrii
Procesul off-line de construire a unui sistem expert necesit o perioad mare de timp
i o cantitate mare de memorie.
Mrimea final a sistemului expert.
Deoarece sistemul nregistreaz orice observaie i o asociaz unui diagnostic, n
unele cazuri va pretinde un spaiu de depozitare foarte mare.
Lipsa robusteii.
La cea mai mic modificare fcut n sistem, procesul construirii sistemului expert
trebuie reluat.
Aadar, un sistem este perceput ca fiind de diagnosticare dac indiferent de
comportamentul sistemului analizat, determina fr ambiguitate un diagnostic unic.
Problema diagnozei este foarte importanata n proiectarea unui sistem deoarece, pe de
o parte poate reduce numrul de senzori pentru reducerea costurilor i pe de alt parte poate
spori cantitatea pentru o probabilitate mai mare de detectare a eventualilor erori.
Exist civa algotitmi de rezolvare a acestor probleme. O clas de algoritmi rspunde
ntrebrii dac un sistem este potrivit pentru diagnosticare i o alt verifica senzorii care fac
sistemul diagnozabil i opional se conforma criteriului de optimizare a costurilor. n general
ns, modelul sistemului transmite dac este potrivit pentru diagnoz sau nu.
CRIB sau Banca de restaurare a incidentelor computeriale, este unul dintre cele mai
importante aplicaii dezvoltate pentru diagnosticarea greelilor computeriale. Dei poseda
puin din cunotinele structurale sau funcionale a unor sisteme expert mai avansate, acest
sistem este foarte flexibil, prietenos cu utilizatorul, i un sistem de inferen direcionat pe
model, adecvat att pentru diagnosticarea prii hardware sau software.
Obinerea cunotinelor de la experi este dificil. Prin restricionarea formelor
cunotinelor solicitate fr a sacrifica perfomanele sistemului, dezvoltatorii CRIB au
proiectat un instrument de diagnosticare optim.
III.3.3. Sisteme expert de diagnosticare economico-financiar
Specialitii considera c o diagnoz financiar este necesar pentru a msura
profitabilitatea capitalului investit i pentru a estima echilibru financiar i economic.De
eceea, scopul principal al diagnozei economico-financiare este de a releva starea economic a
companiei i de a identifica eventualele relaii cauz-efect.
Sistemele expert pentru diagnosticarea economic sunt unelte unice i moderne. Care
au fost adoptate rapid de ctre marile companii datorit flexibilitii i eficienei cu care
proceseaz diferitele date economice, determinnd astfel creterea productivitii i a
profitului. Managerii trebuie s defineasc o strategie n legtur cu oportunitatea de a utiliza
sistemele expert n rezolvarea diferitelor probleme complexe.
Numrul de sisteme expert n domeniul economic a crescut mult n ultima vreme
datorit avantajelor pe care le ofer :
33

Performan
Aceste sisteme nu pierd date n timpul proceselor lungi i sunt capabile s lucreze
permanent
Posibilitatea multiplicrii
Se pot crea copii ale programului iar utilizatorii pot nva modul de funcionare
singuri
Eficien
Implica cheltuieli mai mici, fa de costul expertizei umane.
Consisten
Aceleasi activiti sunt procesate n aceeai modalitate
Obiectivitate
Programul nu poate fi influenat, spre deosebire de expertul uman
Documentare
Unui sistem expert economic i pot fi furnizate informaii permanente n timpul
procesului de diagnosticare
O diagnoz financiar incepe prin determinarea i interpretarea unui set de indicatori
economico-financiari. Pentru a putea face o diagnoz financiar, un sistem expert poate
calcula indicatorii: lichiditate general, lichiditate curent, rata general de solvabilitate,
independena financiar, capitalul permanent, trezoreria net, rata dobnzii, evaluarea
imobilizrilor.
Acest sistem de diagnoz economic este un program standard care este compus din
urmtoarele elemente :
1. Baza de date
Cunotinele reprezint descrieri ale unor cmpuri caracteristice economiei, relaiile
dintre aceste cmpuri, cazurile particulare, excepii, strategii de rezolvare, i de asemenea un
set de condiii aplicabile problemelor economice propuse. Baza de cunotine poate fi creat
utiliznd sistemul, care are rolul de a aduna, i calcula date referitoare la bunurilor
imobilizate, capitalul propriu, datorii extraordinare, credite de trezorerie, datorii curente .a.
2. Baza de fapte
Conine informaii pozitive care pot fii folosite n analiza unui cmp specific.
Proceseaz datele introduse de experi utiliznd baza de reguli. Astfel, sistemul expert de
diagnoz financiar calculeaz urmtorii indicatori : capitalul nvestit, independena
financiar, volumul investiiilor, rata datoriilor, trezoreria net s.a.
3. Baza de reguli
Conine reguli care unesc faptele. Pentru a analiza o situaie financiar, baza de reguli
are anumite restricii, care presupun atribuirea unei valori fiecrui indicator n parte, valoare
estimat n funcie de perioada de timp n care variaz.
4. Motorul de inferen
Opereaz baza de date, creaz nalogii care deduc noi fapte i adopt ia decizii pentru
a modifica baza de date succesiv pn toate regulile au fost utilizate sau pn cnd concluzia
final este stabilit.
Astfel, sistemul de diagnoz financiar calculeaz valoarea final care caracterizeaz
situaia financiar i permite companiei analizate s fie integrat n o categorie :
- Dac rezultatul final (TS) este mai mic dect 5.5 atunci starea financiar a companiei
este slab.
- Dac TS este mai mare sau egal cu 5.5 i mai mic dect 7.5, situaia este
satisfctoare.
34

Dac TS este mai mare sau egal cu 7.5 i mai puin de 8.75, situaia financiar este
bun.

IV. Studiu de caz


IV.1.Introducere in ontologii
La nceputul dezvoltrii lor, baza de cunotere a SBC-urilor a fost relativ mic Aceste
cunotine erau menite s rezolve probleme reale, nu doar s demonstreze diferite concepte
Spre exemplu, nu erau erau folosite sisteme expert pentru diagnoz medical general, c i
pentru anumite feluri de boli specifice.
n timp, inteligen artificial a evoluat i odat cu aceast, a nceput s fie eviden
nevoia de baze de date mai mari, modulare, care s poat fi interconectate i integrabile.
Aceast cerere a devenit ramp de lansare a disciplinei inginerie ontologic, care viza
proiectarea i crearea unor baze de date consistente care pot fi folosite pentru diverse
proiecte.
n funcie de scopul construirii ontologiei exist mai multe metode de construcie i
respectiv limbaje. Ontologiile, conform unora din definiiile clasice pot fi reprezentate i de
un dicionar. Pentru a fi ns utilizate de webul semantic ontologiile trebuie s fie utilizate de
calculatoare i astfel trebuie s fie exprimate n limbaje pe care s le poat nelege uor att
calculatoarele ct i oamenii.
Limbajele principale folosite n definirea ontologiilor sunt bazate pe XML, un limbaj
care este foarte uor interpretat de computere. RDF (Resource Description Framework) este
bazat pe sintaxa XML, care folosete un model de reprezentare a grafurilor pentru a formula
afirmaii despre resurse recunoscute prin URI-uri (Uniform Resource Identifier).
URI-urile au valoare de cheie primar pentru RDF, adic un URI va recunoate n
mod unic o resurs. RDF are scopul de a oferi metadate despre resurse web (autor, descriere,
dat) sau modele de redare a cunotinelor i de a permite diferitelor aplicaii s
interacioneze.
Elementul cheie al unui document RDF este tripletul. Un triplet este o propoziie cu
un subiect, predicat i obiect (proprietate). Resursele identificate prin URI-uri sunt subiectul
i predicatul, iar obiectul este o resurs sau o valoare unic.
Prin intermediul RDF pot fi reprezentate mai multe tipuri de resurse predefinite, dar
pot fi create i tipuri noi de resurse prin extensia numit RDF Schem. RDF Schem (RDFS)
faciliteaz crearea unor instane, proprieti i clase folosind sintaxa RDF. OWL este un
limbaj conceput pentru a defini ontologii. Este un limbaj care extinde RDF-urile.
Protege este o platform pentru dezvoltarea aplicaiilor bazate pe cunotine dar i un
editor de ontologii. A fost proiectat n Java la universitatea Stanford, fiind open-source.
Printre particularitile sale se numra suportul pentru RDF, formatul propriu pentru stocarea
informaiilor, o interfa grafic de creare a ontologiilor. Prin aceast interfa grafic unic
utilizatorul poate crea clase, proprieti sau instane. n plus, programul faciliteaz
proiectarea relaiilor de tip motenire ntre clase. Relaiile pot fi definite prin stabilirea
domeniului i co-domeniului proprietilor.
Prin adagarea de plugin-uri la Protege, utilizatorul are acces la o varietate mai larg
de opiuni de prelucrare. n mod cert, cel mai utilizat plugin este acela care inlesnete accesul
la mecanismele limbajului OWL. Salvarea, editarea, crearea, importarea de ontologii n
format OWL dar i lucrul cu baze de cunotine prin intermediul driverului JDBC n care pot
fi stocate ontologiile sunt opiunile oferite de acesta.

35

IV.2.Ontologie organizaional
O entitate economic este format din departamente i subdivizii, o grupare de ageni
organizaionali (membrii unui departament sau subdivizie), un set de roluri pe care membrii
l joac n organizaie i un arbore de scopuri pe care membrii ncearc s le ating. Orice tip
de organizaie implic un set de constrngeri a activitilor realizate de agenii
organizaionali. Astfel .cu ajutorul Protg, am creat o ontologie care nsumeaz elementele
dintr-un mediu economic organizaional i relaiile dintre acestea. Ontologia mea este
format din clase, subclase, proprieti ale datelor, proprieti ale claselor i instane.
a) Clase

Agentul organizational: are unul sau mai multe roluri.Fiecare rol este creat pentru a
servi unui scop bine definit i este asociat cu autoritatea potrivit nivelului organizaional
la care activeaz. Agenii fac diferite activiti n cadrul unei entiti, iar fiecare activitate
presupune consumul de resurse .Este un set de constrngeri care stabilete limitele unei
activiti .Un agent organizaional poate fi membru al unei echipe care are un scop
special,are abiliti necesare, i are un set ce legturi de comunicare cu ceilali ageni
organizaionali.

Legturile de comunicare: sunt stabilite ntre ageni organizaionali aflai n diverse


roluri.Presupun noiunea de comunicare voluntar n care agenii i ofer informaii care
cred c sunt relevante altor ageni.Acest schimb de informaii nu creeaz obligaii pentru
ali ageni.Reprezint, n principiu, informaia pe care un membru al unei organizaii este
interesat s o primeasc sau pe care o distribuie benevol la alii.
Autoritatea adecvat: este necesar pentru ca rolul s slujeasc scopului.Include dreptul
de a utiliza resurse,de a iniia activiti,i dreptul de a executa diferite activiti .
Puterea de decizie: presupune dreptul unui agent organizaional de a performa diferite
aciuni c i creeaz"iniiaz"suspend".Puterea de decizie se mparte natural n dou
clase:puterea de decizie a activitii i a strii
Puterea de decizie a activitii: specific varietatea de aciuni pe care un agent
organizaional o poate parcurge n cadrul unei activiti, de exemplu: execut", sau
suspend".Chiar dac o aciune poate fi aprobat, e posibil c agentul organizaional
care are rol n activitatea respectiv s nu fie n msur s ia decizia de iniiere a
activitii.
Puterea de decizie asupra strii: specific gama prin care un agent organizaional poate
obin o stare prin executarea unor aciuni specifice de exemplu creeaz. Puterea de
decizie a strii nu numai c specific schimbrile unei stri permise, dar poate fi folosit
pentru a restriciona gestiunea strii resurselor, de exemplu starea de consum sau
utilizare.

Un fel special de autoritate este relaia de control ntre doi ageni


organizaionali.Pentru c agentul1 s aib autoritate asupra agentului 2 trebuie c agentul
1 s aib autoritate asupra unui rol care agentul 2 l are ntr-o activitate economic.Pentru
c acest lucru s fie posbil cei doi trebuie s fie legai printr-o legtur cu autoritatea.

Legtur cu autoritatea: este folosit atunci cnd comunicarea este menit pentru a crea
obligaii, presupune doi ageni, unul aflat ntr-o poziie de autoritatesupervizor" i altul
ntr-o poziie de executare(supervizat).De exemplu un supervizor i poate cere unui altuia
s execute o aciune A1, dar s nu o execute pe alt A2.
Scop: este atins dac starea de care este legat printr-o proprietate satisfcut_de" este
adevrat.De asemenea,este satisfcut de performana unui proces.Scopurile pot fi numite
direct prin proprietatea depinde_de".
36

Stare: a activa" descrie ce trebuie s fie valabil pentru ca o activitate s fie


nfptuit.Starea de "a cauza" definete ce trebuie s fie valabil atunci cnd activitatea sa sfrit . O activitate, mpreun cu starea activat" i cauzat", este denumit grupul
activitii".
Un rol definete una sau mai multe funcii prototip ntr-o organizaie

Una sau mai multe resurse pot fi alocate pentru a sluji unui rol .Ele sunt alocate de un
agent care are autoritate.

Proces: presupune reele de activitate definite pentru a atinge diferite scopuri


Politic: specifica constrngeri asupra proceselor interorganizationale.Acestea sunt unice
n funcie de rolul organizaiei.

b) Proprieti ale claselor


Fiecare clas are un set de proprieti care se aplic membrilor clasei dar i
subclaselor.Acestea faciliteaz crearea unei legturi ntre clase i instanele acestora .
De exemplu proprietatea pentru_activitate:definete activitatea pe care agentul este n
msur s o fac, pentru_aciune definete aciunea pe care un agent este nsrcinat s o fac sau
are_rol definete rolul agentului organizaional ntr-o anumit activitate .

37

c) Instane ale claselor:


Instanele definesc membrii unei clase anume care au diferite proprieti i
atribute.Diferena dintre subclase i acestea este dat de faptul c instanele nu pot avea
subordonat.Instanele din ontologia mea nglobeaz organizaii guvernamentale i nonprofit
din Romnia, funcii ale agenilor organizaionali n poziie de autoritate, tipuri de ownership
.a.

d)ValidareaontologieiprinFusekiServer
nurmancrcriiontologieipeserverulFuseki,amconstatatcontologiacreateste
corectdinpunctdevederetehniciinformaional.Mesajuldesuccestriples=365confirm
faptulcncreaiameaexist365depropoziiicare au un subiect, predicat i un obiect
(proprietate).

38

39

e)Schemasimplificatarelaiilordinontologiaorganizaional

40

IV.3.Ontosparql
SPARQL permite regsirea rapid a informaiilor formalizate ntr-o baz de
cunotine. n contextul n care ct mai multe informaii devin accesibile ntr-un mod formal
un astfel de limbaj permite acestora navigharea cu uurin printre informaiile existente
.Language SPARQL este un limbaj de interogare a seturilor de triple RDF oferit de Jen,
RAP, Redland .Ofer suport pentru manipularea construciilor RDF.Pune la dispoziie operaii
asupra grafurilor RDF i este independent de platforma software utilizat.
Am creat un program care s-i permit utilizatorului s manipuleze datele dintr-o
ontologie, prin intermediul sparql . n crearea acestui program m-am folosit de modulele
Apache Jena i Apache Maven, librarii dezvoltate special pentru prelucrarea ontologiilor.
1. Interfaa Ontosparql
Creat cu ajutorul Java Swing,interfaa programului este simpl i accesibil.Conine
toate elementele necesare modificrii unei ontologii din exterior.
package com.SPARQLProject.View;
import com.SPARQLProject.querySPARQL.QueryingUsingJENA;
import com.hp.hpl.jena.rdf.model.Model;
import javax.swing.JTextArea;
/**
*
* @author Alexandra
*/
public class Interface extends javax.swing.JPanel {
/**
* Creates new form Interface
*/
public Interface() {
initComponents();
}
//cod[]
//Variablesdeclarationdonotmodify
privatejavax.swing.JButtonjButton1;
privatejavax.swing.JButtonjButton2;
privatejavax.swing.JButtonjButton3;
privatejavax.swing.JButtonjButton4;
privatejavax.swing.JButtonjButton5;
privatejavax.swing.JButtonjButton6;
privatejavax.swing.JLabeljLabel1;
privatejavax.swing.JLabeljLabel2;
privatejavax.swing.JLabeljLabel3;
privatejavax.swing.JLabeljLabel4;
privatejavax.swing.JLabeljLabel5;
privatejavax.swing.JLabeljLabel6;
41

privatejavax.swing.JLabeljLabel8;
privatejavax.swing.JScrollPanejScrollPane1;
privatejavax.swing.JScrollPanejScrollPane2;
privatejavax.swing.JTextAreajTextArea1;
privatejavax.swing.JTextAreajTextArea2;
privatejavax.swing.JTextFieldjTextField1;
privatejavax.swing.JTextFieldjTextField2;
privatejavax.swing.JTextFieldjTextField3;
privatejavax.swing.JTextFieldjTextField4;
privatejavax.swing.JTextFieldjTextField5;
privatejavax.swing.JTextFieldjTextField6;
//Endofvariablesdeclaration
}
2. Interogri

ProgramulOntosparqlfaciliteazprocesareaontologieiprintreitipuride
interogri:Select,Ask,Construct.
a) InterogareaSelect
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String query = jTextArea1.getText();
QueryingUsingJENA execute = new QueryingUsingJENA(this);
execute.querySelect(query);
}
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
}
publicvoidquerySelect(Stringinterogare){
//cuajutorulmodeluluicreatsencarcontologia
//FileManager.get().readModel(model,
Stringprefix="PREFIXrdf:<http://www.w3.org/1999/02/22rdfsyntaxns#>\n"
+"PREFIXowl:<http://www.w3.org/2002/07/owl#>\n"
+"PREFIXxsd:<http://www.w3.org/2001/XMLSchema#>\n"
+"PREFIXrdfs:<http://www.w3.org/2000/01/rdfschema#>\n"
+"PREFIXontologiemodel:
<http://www.semanticweb.org/alex/ontologies/2016/5/ontologiemodel#>\n";
StringqueryString=prefix+interogare;
System.out.println(queryString);
Queryquery=QueryFactory.create(queryString);QueryExecutionqe=
QueryExecutionFactory.create(query,model);
com.hp.hpl.jena.query.ResultSetresults=qe.execSelect();
mainInterface.getResultTextArea().setText("");
OutputStreamou=newOutputStream(){
@Override
publicvoidwrite(intb)throwsIOException{
mainInterface.getResultTextArea().append(
String.valueOf((char)b));
42

}
};
ResultSetFormatter.out(ou,results,query);
qe.close();
PrinaceastainterogareSparqlutilizatorulpoatesolicitaafiareadupanumitecriterii
adatelordinontologie.nexempluldemaijossecereselectareairedareainstanelor
obiectului Autoritate.

b) InterogareaAsk
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
String query = jTextArea1.getText();
QueryingUsingJENA execute = new QueryingUsingJENA(this);
Boolean results;
results=execute.queryAsk(query);
jTextArea2.setText(results.toString());
}
private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {
}
publicJTextAreagetResultTextArea(){
returnjTextArea2;
}
publicbooleanqueryAsk(Stringinterogare){
////creazunnoumodeldeontologie
//OntModelmodel=
ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MICRO_RULE_IN
F);
//cuajutorulmodeluluicreatsencarcontologia
Stringprefix="PREFIXrdf:<http://www.w3.org/1999/02/22rdfsyntaxns#>\n"
+"PREFIXowl:<http://www.w3.org/2002/07/owl#>\n"
+"PREFIXxsd:<http://www.w3.org/2001/XMLSchema#>\n"
+"PREFIXrdfs:<http://www.w3.org/2000/01/rdfschema#>\n"
+"PREFIXontologiemodel:
43

<http://www.semanticweb.org/alex/ontologies/2016/5/ontologiemodel#>\n";
StringqueryString=prefix+interogare;
System.out.println(queryString);
Queryquery=QueryFactory.create(queryString);
QueryExecutionqe=QueryExecutionFactory.create(query,model)
booleanresults=qe.execAsk();
qe.close();
returnresults;
}
AceastainterogareSparqlrspundeprinvaloriletruesaufalse,lantrebarea
utilizatoruluidacexistsaunuanumitedatenontologie.nexemplulurmtorseverific
dacclasaspecificataareunmembruindicat.

c) InterogareaConstruct
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
String query = jTextArea1.getText();
QueryingUsingJENA execute = new QueryingUsingJENA(this);
Model results;
results=execute.queryConstruct(query);
String str=results.toString();
System.out.println(str.substring(10,str.length()-3));
jTextArea2.setText(str.substring(10,str.length()-3));
}

publicModelqueryConstruct(Stringinterogare){
////creazunnoumodeldeontologie
//OntModelmodel=
//
ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MICRO_RULE_IN
F);
//cuajutorulmodeluluicreatsencarcontologia
44

//FileManager.get().readModel(model,
Stringprefix="PREFIXrdf:<http://www.w3.org/1999/02/22rdfsyntaxns#>\n"
+"PREFIXowl:<http://www.w3.org/2002/07/owl#>\n"
+"PREFIXxsd:<http://www.w3.org/2001/XMLSchema#>\n"
+"PREFIXrdfs:<http://www.w3.org/2000/01/rdfschema#>\n"
+"PREFIXontologiemodel:

45

<http://www.semanticweb.org/alex/ontologies/2016/5/ontologiemodel#>\n";
StringqueryString=prefix+interogare;
System.out.println(queryString);
Queryquery=QueryFactory.create(queryString);
QueryExecutionqe=QueryExecutionFactory.create(query,model);
Modelresults=qe.execConstruct();
qe.close();
returnresults;
}

3.Adugaredate
a) Adugareinstan
{
privatevoidjButton4ActionPerformed(java.awt.event.ActionEventevt){
Stringindividual=jTextField2.getText();
StringclassName=jTextField1.getText();
QueryingUsingJENAexecute=newQueryingUsingJENA(this);

execute.addIndividual("http://www.semanticweb.org/alex/ontologies/2016/5/ontologi
emodel#",individual,className);
}
privatevoidjTextField3ActionPerformed(java.awt.event.ActionEventevt){
}
{
publicvoidaddIndividual(StringNS,Stringindividual,StringclassName){
OntClassclas=model.getOntClass(NS+className);
Individualind1=clas.createIndividual(NS+individual);
ind1.setOntClass(clas);
writeToOntology();
}
46

b)Adugareproprietateinstanei
privatevoidjButton6ActionPerformed(java.awt.event.ActionEventevt){
StringindividualForAddingProperty=jTextField2.getText();
StringpropertyName=jTextField3.getText();
StringpropertyValue=jTextField6.getText();
QueryingUsingJENAexecute=newQueryingUsingJENA(this);

execute.addPropertyToIndividual("http://www.semanticweb.org/alex/ontologies/201
6/5/ontologiemodel#",propertyValue,propertyName,individualForAddingProperty);

}
privatevoidjTextField6ActionPerformed(java.awt.event.ActionEventevt)
}
{
publicvoidaddPropertyToIndividual(StringNS,StringpropertyValue,String
property,Stringindividual){
ObjectProperty
objectProperty=model.getObjectProperty(NS+property);
System.out.println("Property:"+objectProperty);
IndividualinvidualToAddProperty=model.getIndividual(NS+individual);
System.out.println("Obj_individual:"+invidualToAddProperty);
IndividualpropValue=model.getIndividual(NS+propertyValue);
System.out.println("Prov_value:"+propValue);
if(propValue==null)
System.out.println("Thereisnodataintheontology");
invidualToAddProperty.addProperty(objectProperty,propValue);
writeToOntology();
}
}

c) Adugareproprietateobiectului
privatevoidjButton5ActionPerformed(java.awt.event.ActionEventevt){
StringpropertyName=jTextField3.getText();
StringpropertyDomain=jTextField4.getText();
StringpropertyRange=jTextField5.getText();
QueryingUsingJENAexecute=newQueryingUsingJENA(this);

execute.createObjectProperty("http://www.semanticweb.org/alex/ontologies/2016/5/
ontologiemodel#",propertyName,propertyDomain,propertyRange);
}
privatevoidjTextField4ActionPerformed(java.awt.event.ActionEventevt){
}
privatevoidjTextField5ActionPerformed(java.awt.event.ActionEventevt){
47

}
{
publicvoidcreateObjectProperty(StringNS,StringpropertyName,Stringdomain,
Stringrange){
ObjectPropertyobjectProperty=
model.createObjectProperty(NS+propertyName,true);
Resourceres1;
if(domain!=null)
{res1=model.getResource(NS+domain);
objectProperty.addDomain(res1);
}
Resourceres2;
if(range!=null){
res2=model.getResource(NS+range);
objectProperty.addRange(res2);
}
writeToOntology();
}

48

IV.4.Site web
Amcreatunsiteweb,ncaresuntprezentateconceptesemanticweb,informaii
despreProtg,Owl,Rdf,XML.
Aadar,ampreluatundomeniudepesiteul000webdomains.comiamnfiinatsite
ulsemanticweb.netau.net.Depesitesepotdescrcaontologii,inclusivceaorganizaionala.

Site-ul www.semanticweb.netau.netareundesignsimplusielegant

49

50

V.Concluzii
Metodele clasice de stocare a informaiilor devin treptat de domeniul trecutului. ntrun secol n care accesul la Internet i deinerea unui calculator este un lucru obinuit, este mai
util ca o enciclopedie sau un dicionar s fie n format electronic
Societatea modern are o cantitate mare de informaii din toate domeniile care trebuie
utilizate n mod corect pentru a obine avantaje. Astfel, prin intermediul ontologiilor putem
obine informaiile dorite n timp util.
Ontologiile reprezint un pas nainte n dezvoltarea inteligenei artificiale, aceste baze
de cunotine uurnd munca i facilitnd dezvoltarea de noi programe care simuleaz
comportamentul uman. Efortul imens de a transforma informaiile Wikipedia n ontologii n
baza de cunotine Dbpedia semnaleaz trecerea la o nou etapa a schimbului de informaii
web.
Programul Ontosparql, asociat cu ontologia organizaional poate fi util ntr-o
companie economic, dnd posibilitatea utilizatorului de a controla relaiile dintre ageni,
activitatea acestora, sarcinile care le au de ndeplinit. Este important faptul c, spre deosebire
de o baz de date obinuit a unei companii, aceasta ontologie constituie un model al unui
cadru organizaional, model care poate fi manipulat n funcie de cerinele entitii.

51

Bibliografie
Cri:
[1].Alecsandru P.Tacu, Romul Vancea, Stefan Holban, Aurel Burciu, Inteligena
artificiala (1998),Editura Economica Bucuresti
[2]. Mihaela Oprea,Sisteme bazate pe cunostinte (2002),Editura Matrix Rom
Bucuresti
[3]. Ron Brachman, Hector Levesque (2004), Knowledge representation and reasoning,
Editura Elsevier Philadelphia
[4]. Stuart J. Russell, Peter Norvig, Artificial Intelligence :A Modern Approach
(1995), Editura Prentice Hall,New Jersey
[5].Jozef Korbics,Jan M Koscielny,Zdzislaw Kowalczuk, Wojcieh Cholewa, Fault
Diagnosis(2004),Editura Springer, Berlin Heidelberg New York
[6]. Jerome R Ravetz, Scientific Knowledge and Its Social Problems (1998),Editura
Transaction Publishers, Londra
[7]. Jussi Kantola,Waldemar Karwowski (2004),Knowledge Service Engineering
Handbook,Editura CRC Press, Boca Raton U.S
[8].Luger George,(2008),Artificial Intelligence: Structures and Strategies for
Complex Problem Solving,Editura Addison,Wesley
[9]. Nadia Nedjah,Luiza de Macedo Mourelle(2005)Fuzzy Systems Engineering:
Theory and Practice,Editura Springer,Berlin Heidelberg New York
[10]. Frederick Hayes-Roth, Philip Klahr, David Mostow(2002), Knowledge
Acquisition, Knowledge Programming, and Knowledge Refinement,Editura Springer,Berlin
Heidelberg New York
[11].Jozef Korbics,Jan M Koscielny,Zdzislaw Kowalczuk, Wojcieh Cholewa, Fault
Diagnosis(2004),Editura Springer Berlin
[12]. Jarrett Ernest Brock (2002), C.S. Pierce's Logic of Vagueness, University
Microfilms
Articol din volumul unei conferinte:
[1]. C. Angeli, A. Chatzinikolaou " On-Line Fault Detection Techniques for Technical
Systems: A Survey ", International Journal of Computer Science & Applications,London,
2004, pp. 12 - 30
Resursa din Internet:
[1]. Alonzo Church, " What-is-lambda-calculus-and-why-should-you-care ",
http://zeroturnaround.com/rebellabs/what-is-lambda-calculus-and-why-should-you-care/,
[Accesat la 11/03/2016]
[2]. Autor anonim, Knowledge representation and reasoning
http://zeroturnaround.com/rebellabs/what-is-http://www.zeepedia.com/read.php?
knowledge_representation_and_reasoning_artificial_intelligence&b=2&c=4 [Accesat
7/03/2016]
[3]. Autor anonim, Knowledge representation and reasoning
http://zeroturnaround.com/rebellabs/what-is-http://www.zeepedia.com/read.php?
knowledge_representation_and_reasoning_artificial_intelligence&b=2&c=4 [Accesat
7/03/2016]
[4]. Alonzo Church, " Rationament deductiv,inductiv si euristica,
http://experimentala.ro/0doc//TRANSPORTURI/cognitiva%20pdf/Rationamentul
%20inductiv%20deductiv%20si%20euristica.pdf [Accesat 11/03/2016]

52

[5]. Stanford University, Stanford Encyclopedia of Philosophy,,


http://plato.stanford.edu/entries/abduction/peirce.html, articolul Peirce on Abduction
[Accesat la 1/04/2016]
Articol din revist:
[1]. Salama A. Mostafa, Mohd Sharifuddin Ahmad, Mazin Abed Mohammed,Omar Ibrahim
Obaid, " Implementing an Expert Diagnostic Assistance System for Car Failure and
Malfunction", International Journal of Computer Science Issues, Vol. 9, Issue 2, No
2,2012,p:1-7
Capitol din carte:
[1]. Harmon, P. and D. King (1985, Artificial Intelligence in Business, Editura John
Wiley,New York, pp. 100-134

53

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