CATEGORII DOCUMENTE |
Metode pentru reprezentarea cunostintelor
s1. Caracteristici ale cunoastintelor
Abilitatea inteligentei artificiale de a furniza rezultate utile, depinde atat de calitatea cat si de cantitatea de cunostinte de care dispune si pe care le poate folosi la efectuarea rationamentelor.
Unul din cele mai interesante rezultate obtinut in ultimele trei decade de cercetare in domeniul IA, este ca inteligenta presupune cunoastere.
Aceasta inseamna ca, cunostintele trebuie sa detina o serie de proprietati care le fac indispensabile pentru IA. Dintre aceste proprietati, mai importante se pare ca sunt urmatoarele:
-sunt voluminoase;
-este greu de caracterizat acuratetea lor;
-se schimba continuu;
-difera de date prin modul lor propriu de organizare.
Cunostiintele pot fi clasifcate in diverse tipuri, iar una din caile princare se face aceasta clasificare o constituie modul de dobandire a lor. Din acest punct de vedere putem spune ca avem cunostinte induse si cunostinte deduse. Vom explica acest caracter al canostintelor pe baza unui exemplu.
Sa presupunem ca mai multi copii incearca sa capete cunostinte in domeniul jocului de tenis de camp. Sa presupunem ca la scoala respectiva exista copii cu varste intre 5 si 10 ani. Este aproape evident ca cei cu varsta frageta de 5 ani vor avea serioase dificultati in lovirea mingii de tenis, mai ales ca aceasta se arunca in aer pentru a o putea lovi mai de sus si cu mai mult succes. Dupa cativa ani de experienta copii vor putea insa sa fie capabil sa lobeze mingea la cativa metri in aer. Dar acest lucru nu se va putea realiza imediat, ei nefiind capabili sa calculeze traiectoria mingii. Trebuie sa recunoastem faptul ca noi oamenii, in general, nu vom putea calcula traiectoria mingii. Dar deprinderea, de a executa lovituri care sa ne asigure un anumit efect al loviturii, o capatam in timp, printr-un exercitiu continuu.
In acest caz spunem ca avem de aface cu niste cunostinte induse.
Fata de aceste lucruri putem spune ca un calculator poate sadetermine cu anticipatie care va fi traiectoria mingii functie de taria loviturii, de viteza imprimata mingii,de unghiul de lovire si de legea gravitatiei, a lui Newton. Astfel de cunostinte spunem ca sunt deduse.
Inteligenta artificiala se bazeaza pe ideea simularii rationamentului uman pentru reprezentarea cunostintelor si efectuarea proceselor deductive si in acest scop se axeaza pe studiile si cercetarile privind proceseleintelectului uman.
Prelucrarea cunostintelor presupune defnirea de structuri de stocare si manipulare care sa faca posibila efectuarea rationamentelor. Asa cumpentru stocarea si utilizarea datelor se folosesc structuri de date, pentru stocarea si utilizarea cunostintelor se definesc structuri de cunostinte.
Desi pentru marea majoritate a oamenilor termenii de informatie, data si cunostinte sunt sinonimi, totusi in domeniul inteligentei artificiale exista o diferentiere clara intre ei. Confuzia, din vorbirea curenta care seface intre acesti termeni, se datoreaza faptului ca nu exista o definitie unanim acceptata a lor. De cele mai multe ori se constata ca cei trei termeni se definesc unul prin intermediul altuia. De exemplu, in dictionarul cuvintelor incrucisate Collins Gem, cei trei termeni se definesc astfel:
Datele reprezinta o serie de fapte, adica de informatii.
Informatia inseamna cunoastere.
Cunostintele reprezinta informatiile decaresedispunela un moment dat, despre un domeniu concret al activitatii umane.
Din punctul de vedere al inteligentei artificiale datele sunt folosite pentru a descrie informatii simple precum valorile numerice, sirurile decaractere, sau valorile booleane.
Studierea si intelegerea lumii reale impune folosirea unor informatii complexe precum: procesele, procedurile, actiunile, cauzalitatea, timpul, dar totodata presupune si rationament. Aceste tipuri de informatii sunt descris prin termenul de cunostinte, iar datele reprezinta o submultime a lor.
Mai exact, cunostintele se definesc ca fiind o descriere simbolica(sau model) a unui domeniu (sau univers al discursului).
Spre deosebire de date care pot fi doar modificabile, cunostintele prezinta si alte proprietati ce le confera un caracter specific, la care, formalismul de reprezentare trebuie sa raspunda cat mai bine.
Una din caracteristicile specifice cunostintelor este data de faptul ca ele pot fi incomplete. Incompletitudinea cunostintelor se datoreaza faptului ca acestea, referindu-se la un anumit domeniu al activitatii umane, sunt implicite pentru expertul uman, sunt cunostinte induse (de exemplu, faptul ca pasarile pot zbura), sau sunt dificil de transmis sau formulat. Acest lucru impune gasirea de modalitati de reprezentare a cunostintelor si de rationament cu ele in conditii de incompletitudine.
O alta caracteristica a cunostintelor se refera la faptul ca ele pot fi certe, sau pot fi mai putin sigure (de exemplu de foarte multe ori auzim expresii de forma: rata probabila a inflatiei este). Deci formalismul de reprezentare a lor trebuie sa prevada modalitati de rationament in conditii de incertitudine. Incertitudinea si incompletitudinea apar in mod frecvent in viata noastra cotidiana. De exemplu daca vom considera ca intr-o luna geroasa de iarna, dupa cateva zile cu temperaturi scazute, sub zero grade Celsius, urmeaza o zi cu 50 C, atunci aceasta zi o consideram ca fiind calduroasa. Dar daca o astfel de zi apare intr-o luna de vara cu temperaturi de peste l00 Celsius, atunci vom spune despre ea ca este racoroasa.
O alta caracteristica a cunostintelor se refera la faptul ca ele se modifica odata cu schimbarile survenite in domeniul in care sunt utilizate. Deoarce intre cunostinte, in general, exista o stransa dependenta, schimbarile suferite de unele pot antrena, prin efect direct sau indirect, modificarea altora, care ar deveni perimate prin schimbarea celor dintai. Cunostintele exprima, in general, informatii specifice unui domeniu, deci unei clase de obiecte materiale sau conceptuale. Nu este exclus insa, ca in aceasta clasa sa existe si obiecte care fac exceptie sau chiar sunt in contradictie cu unele proprietati ale clasei din care fac parte. Aceasta impune gasirea de modalitati de reprezentare adecvate pentru tratarea exceptiilor.
La ora actuala exista mai multe metode (tehnici) de reprezentare a cunostintelor, care raspund mai bine sau mai putin bine la problemele specifice cunostintelor, probleme care au fost enumerate mai sus.
Dintre aceste metode enumeram aici:
logica propozitiilor si calculul predicatelor;
reguli de productie;
metode orientate obiect;
retele semantice;
grafuri conceptuale;
metoda cadrelor (frame-urilor) lui Minsky.
s4. Logica propozitiilor si calculul predicatelor
Printre primele metode folosite pentru reprezentarea cunostintelor si pentru construirea sistemelor expert s-a numarat logica propozitiilor, referita adesea ca logica de ordinul @ntai. #n cadrul acestei metode, cunostintele sunt reprezentate prin intermediul propozitiilor, ceea ce faciliteaza folosirea inferentei logice. De exemplu, asertiunea
Toate companiile au un presedinte.
este o propozitie formala (un fapt).
Avantajul reprezentarii formale @l constituie faptul ca logica formala are o serie de reguli, numite reguli de inferenta, prin intermediul carora faptele cunoscute pot fi folosite pentru deducerea altor fapte, care, la randul lor, devin fapte cunoscute. Mai mult, veridicitatea oricarei asertiuni poate fi verificata, @ntr-o maniera specifica. De exemplu, sa adaugam @nca un fapt, la cel mentionat anterior:
Orice casa de brokeraj este o companie.
Din cele doua fapte putem concluziona, folosind reguli de inferenta, ca urmatoarea asertiune este adevarata:
Toate casele de brokeraj au un presedinte.
Acest tip de logica este bine adaptat reprezentarii relatiilor @n memoria calculatorul;ui deoarece structura sa corespunde limbajului binar
al calculatoarelor.
Exemplu. Sa presupunem ca logica propozitiilor este folosita pentru memorarea urmatoarei asertiuni @n calculator.
A1: Daca vom creste preturile p, atunci vom creste veniturile r.
Aceasta asertiune statueaza faptul ca daca p este adevarat, atunci r este adevarat. #ntr-un calculator, o conditie adevarata este reprezentata prin valoarea 1, iar una falsa este reprezentata prin valoarea 0. Prin urmare, @n zona de memorie @n care este reprezentata valoarea lui r, vom avea 1 ori de cate ori @n zona de memorie corespunzatoare lui p, avem valoarea 1.
Ce se @ntampla daca introducem o a doua asertiune @n calculator si anume
A2: Noi am crescut preturile.
Acum, prima parte a asertiunii A1 este adevarata, adica zona corespunzatoare de memorie contine valoarea 1, prin urmare calculatorul va cauta o noua zona de memorie a carei valoare s-a schimbat @n 1, va gasii zona corespunzatoare lui r si deci va putea transmite:
Veniturle vor creste.
#n domeniul sau de aplicabilitate logica propozitiilor este deosebit de eficienta, dar din pacate domeniul ei de aplicabilitate este redus. Un argument @n acest sens este redat de o lege destul de veche care spune ca "orice regula admite o exceptie". De exemplu, sa consideram urmatoarea forma argument:
A1: Pasarile pot zbura.
A2: Strutul este o pasare.
A3: Deci strutul zboara.
Ultima concluzie este perfecta din punctul de vedere al inferentei logice, dar strutul nu poate zbura.
O alta limitare a logicii propozitiilor provine din faptul ca ea lucreaza numai cu asertiuni concrete, care pot fi adevarate sau false. Ea nu poate realiza asertiuni despre evenimente generale care pot fi individualizate. Pentru a acoperii acest neajuns inteligenta artificiala foloseste calculul predicatelor care este o versiune modificata a logicii propozitiilor.
Calculul predicatelor constituie o extensie a logicii propozitiilor. Un predicat poate realiza asertiuni despre obiecte care pot fi false sau adevarate. Acest lucru permite calculatoarelor sa traga concluzii nu numai @n cazuri particulare dar chiar atunci cand unele conditii s-au schimbat. Acest lucru presupune ca sitemele de calcul sunt @nzestrate cu reguli generale, folosind variabile @n locul valorilor concrete.
ss Reguli de productie
Reprezentarea cunostintelor prin reguli de productie face parte din categoria metodelor procedurale, fiind cunoscute si sub denumirea de sisteme de productie. Aceste metode @si au originea @n teoria logicii formale, unde sunt cunoscute si sub denumirea de reguli de rescriere (rewriting rules).
Un sistem de productie este un sistem @n care regulile de productie sunt predefinite si permit generarea de noi elemente.
De exemplu, regulile gramaticale dintr-un limbaj oarecare precizeaza modul cum pot fi construite fraze corecte, plecand de la cuvinte.
Mecanismul regulilor de productie a fost propus de E. Post (1943) si a fost dezvoltat prin contributia unui mare numar de cercetatori. A. Newell si H. A. Simon au fost primii care prin lucrarile lor le-au folosit @n aplicatiile IA. Ideea de baza @n sistemele de productie o constituie faptul ca cunostintele procedurale si/sau factuale sunt reprezentate prin reguli, numite de productie, sub forma unor perechi conditie-actiune. Forma generala fiind: "Daca conditie atunci actiune" @n care, actiune este un concept si nu neaparat o miscare @n sens fizic. Partea conditie este ceea ce sistemul trebuie sa recunoasca pentru a putea declansa regula.
Potrivit metodei de reprezentare a cunostintelor prin reguli de productie, organizarea cunoasterii se face pe trei nivele: declarativ (factual), procedural si strategic (de control).
Nivelul declarativ (factual) presupune reprezentarea pieselor de cunoastere sub forma unor structuri memorate nerestrictiv @ntr-o colectie denumita context sau baza de fapte (BF).
Nivelul procedural (operatoriu) presupune reprezentarea pieselor de cunoastere sub forma unor perechi premisa-concluzie, memorate @ntr-o baza de reguli (BR).
#n cadrul cunoasterii strategice (strategiile de control) piesele de cunoastere sunt reguli ce privesc desfasurarea procesului de rezolvare a problemelor ca o suita de decizii asupra secventelor de actiuni.
Prin urmare o baza de cunostinte @n sistemele de productie se compune din: baza de fapte, baza de reguli si strategiile de control.
Un sistem de productie are la baza regulile de productie si mecanismul inferential.
Regulile de productie au forma conditie-actiune, unde, asa cum am vazut, partea conditie precizeaza conditiile care trebuie @ndeplinite ca sa se poata desfasura o actiune. Din acest motiv, aceasta parte se mai numeste si declansator (trigger).
Atunci cand este @ndeplinita conditie vom spune despre regula respectiva ca este selectata pentru declansare. Regula selectata pentru declansare intra @mpreuna cu alte reguli selectate @n mecanismul inferential @ntr-o competitie de stabilire a prioritatii celei mai mari numita filtrare, @n urma caruia va fi acceptata pentru declansare o singura regula.
Mecanismul inferential se desfasoara sub forma unor cicluri de baza @n urmatoarele doua etape: evaluare si executie.
#n etapa de evaluare se determina daca exista @n baza de reguli disponibila, reguli de declansat si daca acestea au partea de conditie @ndeplinita.
#n etapa de executie se declanseaza regulile retinute @n etapa de evaluare.
Mecanismul poate fi oprit @n @n oricare din cele doua etape. Oprirea @n etapa de evaluare este determinata de absenta regulilor declansatoare iar oprirea @n etapa de executie poate fi determinata de un ordin dat de o regula declansata.
Etapa de evaluare cuprinde @n principiu trei faze si anume: selectia, filtrarea si rezolvarea conflictelor.
#n cadrul fazei de selectie se determina, plecand de la starea curenta sau trecuta a bazei de fapte si a bazei de reguli, un ansamblu F1 al bazei de fapte si un ansambul de reguli R1 al bazei de reguli, care pot fi comparate @n faza de filtrare.
#n faza de filtrare (pattern matching) se realizeaza compararea partii declansator din fiecare regula din ansamblu R1 cu ansamblu F1 de fapte. Toate regulile care sunt compatibile cu F1 sunt grupate @ntr-un subansamblu de reguli, R2, denumit "ansamblu de conflict". Elementele acestei submultimi intra @ntr-o competitie, numita rezolvarea conflictelor, @n urma careia o singura regula se va declansa.
#n faza de rezolvare a conflictelor se determina o submultime de reguli, R3, a lui R2 care vor fi efectiv lansate @n executie.
Etapa de excutie presupune declansarea regulilor retinute @n faza de rezolvare a conflictelor. Daca multimea R3 este vida, procesul inferential se opreste sau se poate relua de la stabilirea submultimii R2, examinandu-se posibilitatea declansarii altor reguli.
Cunostintele care sunt @n baza de fapte sunt numite si cunostinte afirmative, ele constituie datele primare ale problemei. Cunostintele continute @n reguli sunt cunostinte opratorii si ele precizeaza modul cum vor fi folosite faptele din baza de fapte. Cunostintele din sistemul de control se refera la modul de rezolvare a problemei si ele precizeaza ordinea @n care se aplica regulile.
#n practica nu este @ntotdeauna simplu sa se decida care sunt cunostintele care fac parte din BF si cele care trebuie scrise sub forma de reguli. Deosebirea dintre cele doua depinde, @n mare masura, de modalitatea @n care a fost modelata situatia concreta si de problema de rezolvat.
Sa consideram urmatorul exemplu: Sa presupunem ca se doreste alegerea plasarii unei investitii cu ajutorul unui sistem care poate modela rationamentul decidentului.
Presupunem ca baza de fapte contine urmatoarele piese de cunoastere:
Regiunea R1 este agricola;
Regiunea R2 este industriala;
Orasul O1 are traditie muncitoreasca;
Orasul O2 are traditie administrativa, fara uzine.
Acestea sunt faptele, iar regulile pot fi de tipul:
Daca orasul O1 are traditie muncitoreasca
Daca regiunea R1 este industriala
Atunci forta de munca calificata disponibila este mare.
Daca orasul O1 are traditie administrativa
Daca regiunea R1 este putin industrializata
Atunci forta de munca calificata este redusa.
Acest mod de formalizare este oportun daca se doreste plasarea unei uzine @ntr-un loc deja ales. Dimpotriva, daca din anumite regiuni se cunoaste ca este necesar sa se investeasca @ntr-unul din orasele O1, O2, , On, atunci problema de mai sus se modifica. #n acest caz se folosesc cunostinte afirmative ca:
#n orasul O1 forta de munca calificata este mare.
#n orasul O2 exista putina forta de munca calificata pentru activitatea scontata.
Se observa ca regula din prima abordare a devenit fapt. Totul depinde din ce punct de vedere este privita problema.
s4. Reprezentari succesorale
Formalismele succesorale de reprezentare a cunostintelor se bazeaza pe ideea ca, ceea ce este adevarat pentru un concept este adevarat si pentru conceptele derivate din el. Din aceasta perspectiva, cunostintele pot fi organizate in ierarhii compuse din mai multe nivele, incepand cu cele mai generale si terminand cu cele particulare. Elementele aflate pe un anumit nivel contin numai descrierea proprietatilor care le sunt specifce. Alaturi de acestea ele mostenesc toate proprietatile nivelelor superioare. Din aceasta perspectiva, a reprezentarilor succesorale, mai cunoscute sunt metodele orientate obiect, retele semantice, retele neuronale, grafuri conceptuale, hipertextele si cadrele (frame-urile). Cu o parte din aceste metode vom face cunostinta in cele ce urmeaza.
s4.1. Metode orientate obiect
Pentru exemplificare, sa consideram o societate comerciala care vinde aparate electrocasnice si articole de imbracaminte. Pentru aparatele electrocasnice se cunosc urmatoarele caracteristici: cod, denumire, pret, TVA, cantitate vanduta, greutate, garantie si putere de consum. Pentru articolele de imbracaminte se cunosc urmatoarele caracteristici: cod, denumire, pret, TVA, cantitate vanduta, culoare, marime.
Din analiza acestor caracteristici se constata ca unele din ele sunt comune aparatelor electrocasnice si articolelor de imbracaminte, cu ajutorul lor putem defini o multime mai larga de elemente si anume multimea marf. Caracteristicile ramase sunt specifice aparatelor electrocasnice sau articolelor de imbracaminte. Aceasta situatie o putem reprezenta grafic conform abstractizarii din Figura s1, de mai jos.
MARF{ cod denumire pre TVA (pre * 0,22) cantitate
v`ndut[ @mbr[c[minte culoare m[rime electrocasnice greutate garanie putere de consum
Fig. s1. Reprezentarea cunostintelor prin metode orientate pe obiecte
Se observa ca multimea mai larga de elemente marfa contine doua submultimi 'electrocasnice' si 'imbracaminte'. Electrocasnice si imbracaminte devin specializari ale conceptului mai larg de marfa. Cele doua submultimi contin elemente specifice caracterizate si individualizate prin proprietatile: greutate, garantie, putere de consum - pentru electrocasnice si culoare, marime - pentru imbracaminte.
In acelasi timp, pe langa proprietatile specifice claselor din care fac parte elementele acestora mostenesc si proprietatile clasei mai largi -
marfa si anume: cod, denumire, pret, TVA, cantitate vanduta. Aceasta proprietate de mostenire sau de succesiune a proprietatilor clasei mai largi la o subclasa este tranzitiva. Adica, daca pentru clasa de elemente 'aparate electrocasnice' se definesc noi specializari, cum ar fi de exemplu 'televizoare' si 'aspiratoare', acestea vor mosteni pe langa proprietatile specifice clasei aparatelor electrocasnice si proprietatile clasei marfa. Intre cele doua specializari ale clasei de elemente marf: electrocasnice si imbracaminte, spunem ca se realizeaza o relatie de partajare a proprietatilor. Aceasta relatie este deosebit de eficienta deoarece ea impune o ordonare a cunostintelor si favorizeaza operatiile de consultare. In cazul cand pentru o anumita subclasa exista exceptii de la proprietatile mostenite de pe nivelele superioare, atunci acestea vor fi mascate prin redefinire. Reluand exemplul nostru de mai sus, se stie ca valoarea TVA se determina inmultind pretul cu procentul TVA. Acest calcul, definit la nivelul conceptului marf, este mostenit atat de catre aparatele electrocasnice, cat si de elementele specializarii imbracaminte.
Dar sa presupunem ca printre aparatele electrocasnice se gasesc si televizoare destinate exportului, pentru care nu se calculeaza TVA.
In acest caz, relatia de calcul a valorii TVA nu mai este corecta, ea trebuie inlocuita cu o alta in care procentul TVA sa fie 0. Prin urmare, in subclasa televizoarelor distingem doua specializari dupa cum se percepe sau nu TVA. #n acest caz structura problemei noastre se reprezinta astfel ca @n Figura s2 de mai sus.
Din aceasta reprezentare se constata ca am defnit alte doua subspecializari ale conceptului de marfa relative la specializarea electrocasnice, pentru una din subspecializari valoarea TVA se calculeaza
normal, pentru cealalta se schimba procentul TVA.
#n literatura de specialitate exista mai multe metode pentru reprezentarea cunostintelor bazate pe mostenirea proprietatilor.
MARF{ cod denumire pre TVA (pre * 0,22) cantitate
v`ndut[ @mbr[c[minte culoare m[rime electrocasnice greutate garanie putere de consum televizoare diagonal[ tip aspiratoare debit presiune cu TVA f[r[ TVA TVA (0*pre)
Fig. s2. Reprezentarea specializarilor @n metodele oriecntate pe obiecte
s4.2. Retele semantice
Retelele semantice constituie una din caile prin care se face reprezentarea cunostintelor dintr-un domeniu concret din lumea reala. Acest model de reprezentare a aparut ca o consecinta a modului de surprindere a structurilor relationale de mare complexitate.
O retea semantica este o diagrama ce reprezinta conexiunile (relatiile) dintre diferitele concepte specifice ale unui domeniu al cunoasterii. Astfel de conexiuni exista in memoria oamenilor iar diagrama reprezinta mijlocul prin care acestea sunt expuse, se transmit si se prelucreaza. Informatiile se obtin din aceste diagrame in urma unui proces de analiza si interpretare. Aspectul de graf al reprezentarii constituie doar o varianta de evolutie pentru caracteristicile puse @n relief prin reprezentarea cunostintelor cu predicate de ordinul @ntai.
Retelele semantice sunt construite pe baza a trei concepte fundamentale: noduri, arce, etichete.
Nodurile reprezint obiecte, concepte, lucruri. fennmene, entitati @ntr-un domeniu oarecare.
Din punct de vedere geometric nodurile sunt cercuri sau elipsoide.
Arcele reprezinta legaturile dintre noduri. Acestea materializeaza actiuni, efecte sau alte tipuri de interactiuni intre obiecte concrete sau conceptuale. Arcele sunt inzestrate cu sageti care indica ordinea de parcurgere (citire) a retelei.
Etichetele descriu obiectele sau relatiile dintre acestea.
Modelul de reprezentare prin retele semantice a fost folosit inca din 1966 de catre Ross Quillian pentru reprezentarea structurii semantice a cuvintelor limbii engleze.
Pentru exemplificarea folosirii retelelor semantice sa consideram asertiunea: cainele este un animal. Aceasta asertiune, sau fapt din realitatea inconjuratoare, se reprezinta prin intermediul retelelor semantice sub forma din Figura ss
c`inele animal este_un
Fig. ss Reprezentarea prin retele semantice a relatiei dintre conceptul
caine si animal, descrisa prin asertiunea 'cainele este un animal'
Aici cainele este un concept mai general care acopera un mare numar de instantieri individuale ale altor concepte, precum animal.
De remarcat este faptul ca directia sagetilor intr-o retea este foarte importanta: relatia nu poate fi citita decat in directia precizata de sageti. Din aceste motive este incorect sa spunem ca animal este un caine. Bineinteles ca exista o relatie si intre conceptul general animal si conceptul mai particular caine. O astfel de relatie este redata in Figura s4.
c`inele animal conine (include)
Fig. s4. Reprezentarea prin retele semantice
a relatiei dintre conceptul animal si caine
Aceasta relatie poate fi interpretata astfel: animal este o clasa de entitati care contine clasa caine.
Diagrama din Figura s1 care descrie relatia dintre clasa caine si clasa animal, se poate dezvolta ca sa contina si alte cunostinte despre animale, @n general si despre caini, in special. De exemplu noi stim ca animalele se pot clasifica in mai multe subclase, cum ar fi: mamifere, reptile, amfibii, pasari, pesti s.a.m.d. (de altfel exista si alte clasificari ale animalelor, de exemplu, in vertebrate, carnivore, ierbivore, etc). De asemenea despre clasa cainilor, stim ca exista mai multe rase de caini: buldog, pechinez, labrador. Toate acestea le putem insera in diagrama noastra precum arata reteaua din Figura s5.
c`inele este_o_ras[ buldog pechinez labrador mamifer este_un animal este_o pe]ti reptil[ p[s[ri fiin[ este_un_fel_de
Fig. s5. Retea semantica dezvoltata
Referitor la aceasta retea vom nota cateva idei care pot fi extinse la intregul concept de retele semantice. Prima idee ar fi ca aceasta diagrama ofera cunostinte mult mai multe decat pare la prima vedere si anume cainele este o clasa particulara de animale si anume este un mamifer. A doua idee este ca labradorul este o rasa de caini si in nici un caz un labrador nu este un peste. Deci, in general putem spune ca urmand orice cale descrisa de sageti, se pot obtine cunostinte noi si ca elementele de pe nivelele inferioare ale ierahiei, descrisa de retea, mostenesc toate proprietatile elementelor de pe nivelele superioare.
c`inele este_o_ras[ buldog pechinez labrador mamifer este_un animal este_o pe]ti reptil[ p[s[ri fiin[ este_un_fel_de 4 picioare are
Zack
Fig. s6. Retea semantica dezvoltata
Astfel de cunostinte, care pot fi adevarate sau false, precum cele exprimate intr-o retea semantica, le mai numim si fapte cunoscute.
Acum, sa dezvoltam reteaua semantica din Figura s3 presupunand ca avem un caine, Zack, care este din rasa labrador si sa mai presupunem ca toti cainii au 4 picioare.
Aceste cunostinte le inseram in retea si obtinem reteaua din Figura s4.
Conform principiului mostenirii proprietatilor deducem ca Zack este un caine cu 4 picioare, este un mamifer si, in acelasi timp, este o fiinta.
Descrierea facuta prin retele semantice se realizeaza prin obiecte formale intensionale, denumite si concepte, dar si prin obiecte extensionale, denumite si instante.
Relatia dintre obiecte si instante este denumita si instantiere sau denotare si are caracter extensional, pe cand relatia dintre instante si obiecte, denumita si conceptualizare, are caracter intensional. Cele doua procese pot fi privite drept procese inverse unul altuia. Conceptualizarea se defineste ca un proces de generalizare, iar instantierea ca un concept de specializare.
Numim generalizare a unui concept C o definitie mai putin restrictiva a acestuia, D, @n care orice instanta a conceptului C este o instanta si pentru D. Prin generalizare se renunta la o serie de proprietati ale conceptului C si anume cele mai putin relevante pastrand numai pe acelea care pot defini un al concept.
Specializarea este un proces invers generalizarii @n care definitia unui concept A este o specializare a unui concept mai general B, daca ea contine pe langa proprietatile lui B o serie de alte proprietati aditionale.
Aceasta stare de lucruri se poate reprezenta ca @n Figura s7.
concept X instant[ W instaniere (extensiune) conceptualizare (intensiune)
Fig. s7. Legatura dintre conceptualizare si instantiere
Ceea ce cu ajutorul calculului predicatelor de ordinul intai se poate reprezenta si sub forma:
intensiune(concept(X), instanta(W)),
care precizeaza faptul ca un concept X este o intensiune a unei instante W;
extensiune(instanta(W), concept(X)),
care precizeaza faptul ca instanta W este o extensiune a conceptului X.
O instanta poate reprezenta un obiect din lumea reala sau un alt concept din planul ideatic. Atunci cand instanta este un concept, ea poate avea la randul sau o alta instanta. In acest fel se obtine o ierarhie conceptuala structurata pe mai multe nivele. Nivelul de baza al ierarhiei conceptuale este denumit si nivel infim si reprezinta totdeauna un obiect al lumii reale, deci este o instanta.
Toate nivelele unei ierarhii conceptuale, cu exceptia penultimului, sunt generice, penultimul nivel este un concept individual, concept ale carui instante sunt elemente din lumea reala.
Conceptul find de fapt un obiect cu structura, este alcatuit din entitati formale numite componente, si din relatiile care le leaga pe acestea.
Componentele fiind dependente de concept, pot avea aceeasi natura cu a conceptului, ca parti ale unui intreg, sau pot avea naturi diferite de ale acestuia, ca atribute ale unor obiecte.
Natura relatiilor care pot fi reprezentate prin retele semantice este foarte diversificata si ea poate fi : epistemologica; compozitionala; de apartenenta; cauzala; modala.
Relatiile epistemologice sunt acele relatii care permit descrierea semnificatiei unui concept cu ajutorul altor concepte mai putin generale.
Relatiile de compozitie sunt relatii intre concepte si componentele lor.
Relatiile de apartenenta descriu apartenenta conceptelor sau instantelor la clase sau multimi.
Relatiile cauzale sunt relatii intre conceptele de tip obiect si conceptele de tip actiune.
Relatiile modale se stabilesc intre componente si conceptele carora le sunt atasate.
De foarte multe ori este greu de formulat un concept, dar se pot descrie clase ce apartin multimii instantelor unui concept. Asemanator ierarhiei conceptuale, se pot defini ierarhii de clasificare intre ale caror componente se stabilesc relatii taxonomice. Descrierea relatiilor taxonomice intre obiectele plasate in nodurile relatiei se face cu ajutorul primitivelor taxonomice, care asigura interpretarea uniforma a acestor legaturi in toata reteaua. Primitivele taxonomice sunt specificate ca simboluri relationale (predicate) ce eticheteaza arcele relatiei, la ale caror concepte se gasesc noduri intre care se defineste o relatie de apartenenta de la obiect la clasa.
Principalele primitive taxonomice sunt:
- relatia de apartenenta a obiectului la clasa, specificata de regula sub forma unui predicat de forma:
Este(obiect, clasa),
cu semnificatia de apartenenta cunoscuta din teoria multimilor, obiect E clasa.
- relatia de incluziune a unei submultimi intr-o multime, specificata printr-un predicat de forma:
Este_submultime(multime_1, multime 2),
cu semnificatia din teoria multimilor multime_l multime 2.
De exemplu, apartenenta persoanei Popescu la clasa oamenilor, care se exprima sub forma Popescu este Om, se va transforma intr-o retea
semantica de forma prezentata @n Figura s8:
Popescu Este instant[
Fig. s8. Apartenenta unei persoane la clsa OM
Utilizarea primitivei taxonomice Este permite reprezentarea in cazul in care mai multe persoane sunt membre ale aceleiasi clase: de exemplu, multimea oamenilor, informaticienilor, cercetatorilor, are reprezentarea din Figura s9.
Popescu Informaticieni Ion Cercet[tor Este Este_submulime
Fig. s9. Utilizarea primitivei taxonomice Este
Primitivele taxonomice asigura mostenirea proprietatilor conceptului de catre instantele sale. De exemplu, proprietatea conceptului individual Automobil de a fi mijloc de transport este mostenita de instanta Dacia 1300, deoarece Dacia este automobil (si) automobil este mijloc de transport. Deci Dacia 1300 este mijloc de transport, bineinteles ca se aplica regula deductiva de inferenta.
Proprietatea conceptului mijloc de transport, cea de a avea motor, se transmite si asupra conceptului mai put,in general, automobil, dar si asupra descendentilor sai extensionali. Dacial300 are motor asa cum reiese din reprezentarea semantica din Figura s10, de mai jos.
automobil mijloc transport motor Este Este are
Fig. s10. Proprietatea de transmitere a mostenirii de la mijloc de transport la Dacia 1300
Orice noua proprietate adaugata ulterior conceptului mijloc de transport se va transmite prin mostenire tuturor descendentilor sai extensionali. De exemplu, adaugarea proprietatii ca mijlocul de transport are un sistem de rulare va fi transmisa tuturor automobilelor si deci, in particular, si pentru Dacia 1300. Este necesar a se aminti ca relatiile taxonomice se regasesc in orice retea semantica si au inconvenientul folosirii abuzive a singurei primitive semantice Este.
Relatiile taxonomice se pot stabili intre urmatoarele tipuri de noduri: concepte generice, concepte individuale, instante. In situatii in care nodurile sunt concepte generice (deci cu un grad mai mare de generalitate), de tipul multime, relatia taxonomica prin primitiva Este semnifica incluziunea determinata de un concept generic la multimea determinata de un alt concept generic, indicand faptul ca orice element al unei submultimi este in acelasi timp un element si al multimii si ca toate proprietatile conceptului generic de nivel superior vor fi mostenite de conceptele de pe nivelele inferioare si de instantele acestora.
Un alt mod de stabilire a unei relatii taxonomice este cel furnizat de folosirea logicii predicatelor. De exemplu pentru a specifica faptul ca un obiect oarecare x este automobil se poate utiliza predicatul automobil(x).
Proprietatile aceluiasi obiect de a fi mijloc de transport se exprima prin mijloc de transport(x). Intre predicate se stabilesc relatii taxonomice ca cea reprezentata @n Figura s11, de mai jos:
automobil(x) mijloc de transport(x) specificaie a
conceptului mijloc de transport generalizare a conceptului automobil
Fig. s11. Reprezentarea relatiilor de taxonomie
Formula ce reprezinta o generalizare a predicatului automobil(x) prin predicatul mijloc de transport(x) este:
x automobil(x) mijloc de transport(x).
Care se poate citi astfel: orice obiect x care este un automobil este si un mijloc de transport. Se mai spune ca predicatul automobil(x) este o specializare a predicatului mij loc de transport(x).
O alta interpretare a relatiilor taxonomice intre conceptele generice din relatiile semantice este oferita de teoria l - care este o abstractizare a conceptelor descrise prin variabilele formale.
Variabilele formale in expresiile predicatelor ajuta la desfasurarea corecta a procesului substitutiei. Teoria l, conversiei introduce notatii distincte pentru interpretarea relatiei f(x) ca functie de argumentul x. De exemplu, operatorul de abstractizare functionala l,x f(x) arata ca relatia f este de argument variabil x cu conditia ca x sa fie termen liber in f (adica sa nu fie precedat de cuantificatorul universal sau existential).
In aceasta ordine de idei, relatia de trei argumente g(x,y,z) poate fi interpretata astfel:
1 ) functie de o singura variabila si atunci se introduce notatia l,x g(x,y,z), daca variabila este x;
2) functie de doua variabile si atunci folosim notatia l,xy g(x,y,z);
3) functie de trei variabile si atunci folosim notatia l,xyz g(x,y,z).
De exemplu, pentru descrierea conceptului generic Poligon se procedeaza astfel:
Poligon =
in care
Daca se doreste extinderea conceptului poligon spre conceptul triunghi se va obtine: Triunghi=lXY h(X,Y,3), iar pentru dreptunghi avem:
Dreptunghi
=
Cunoscand modul in care au fost definite componentele structurale ale conceptelor, reteaua semantica asociata este identica cu cele descrise anterior, cu deosebirea ca semnificatia relatiei Este difera fundamental de celelalte asertiuni asa cum se poate deduce din reteaua semantica prezentata @n Figura s12.
Dreptunghi Triunghi Poligon Este Este
Fig. s12. Retea semantica pentru instantierea conceptelor
Aceasta retea semantica ilustreaza modul de instantiere a conceptelor prin restrictionarea valorilor unor variabile ale conceptului generic.
Este posibil ca abstractizarea sa puna in relatie concepte generice ce se includ unele in altele. De exemplu, analizand relatia g de mai sus, se poate observa ca exista cel putin trei concepte generice lx g(x,y,z), ly g(x,y,z), lz g(x,y,z) care sunt in relatia l-abstractizare a conceptului generic lxyz g(x,y,z).
Incluziunea apare totdeauna cand un concept generic de nivel inferior are o descriere structurala proprie. Variabilele formale din abstractizarea conceptului inferior trebuie sa se regaseasca in abstractizarea de nivel superior. Daca variabilele formale apar la nivel superior, dar nu sunt precizate in abstractizarea de nivel inferior, atunci ele trebuie sa figureze in partea descriptiva a acestuia, fie ca simboluri, fie ca restrictii ale valorilor.
Interpretarea relatiei taxonomice intre instante si un concept porneste in modul cel mai general de la considerarea faptului ca instanta este considerata ca element al multimii generate de concept.
O alta interpretare este data atunci cand nodul conceptual specifica un predicat. In acest caz relatia Este are ca semnificatie asignarea instantelor la variabila formala a predicatului caruia i se confera o valoare de adevar.
In Figura s13, de mai jos este reprezentata o relatie taxonomica folosind predicatele si in care apar instantele individuale Adrian, Popescu, Vasile care au pe langa proprietatile mostenite prin apartenenta la clasa Om si Informatician si proprietatea de a fi student ca urmare a valorilor de adevar date de instanta predicatului Student(x)
Informaticieni Este concept generic predicativ instane individuale Popescu Vasile Student(x) concepte
generice Este
Fig. s1s Relatie taxonomica folosind predicate
Sa observam ca retelele semantice ne permit reprezentarea proprietatilor cunostintelor, de la care nu exista exceptii. Pentru a reprezenta exceptiile in retele semantice suntem nevoiti sa adaugam noduri si relatii suplimentare, care vor ingreuna manipularea retelelor semantice. Sa presupunem ca Bety, care este o catelusa de rasa pechineza, are doar 3 picioare, deoarece in urma unui accident si-a pierdud un picior. Acest lucru se precizeaza in reteaua noastra semantica din Figura s4, in felul urmator: se inlocuieste relatia are cu un_caine_normal_are si totodata se foloseste o relatie de forma:
3 picioare are Bety
prin care precizam ca Bety are 3 picioare.
Exceptiile de la regulile comune trebuie precizate pentru fiecare caz in parte. Acest lucru are un efect negativ asupra scopului pentru care au fost concepute diagrame de acest tip, care este acela de a prezenta intr-o forma simpla si clara relatiile dintre diferite concepte.
In literatura de specialitate exista foarte multe tipuri de retele semantice. O prima clasificare a acestora contine: retele semantice simple, sortate si extinse.
s4.2.1. Retele semantice simple
Acestea sunt retele in care nodurile sunt entitati individuale, iar arcele reprezinta relatiile dintre acestea. In aceste retele nu se introduc specializari ale arcelor si nodurilor, fapt ce impune ca interpretarea sa fie data de continutul descrierii ce este asociat fiecaiui simbol ce figureaza ca eticheta de nod sau arc. La interpretare se asociaza fiecarui simbol de eticheta o procedura proprie de determinare a semnificatiei, singura trasatura comuna a elemetelor retelei fiind legata de structura si se manifesta sub forma de proceduri fizice de parcurgare a retelei. Cu ajutorul retelelor semantice simple se pot reprezenta asertiuni libere de orice variabila deoarece nu se admit specializari aferente nodurilor si arcelor.
Pentru exemplificare sa presupunem ca 'la sustinerea lucrarii de licenta de catre Ion, care este un bun student, colegul sau Vasile ii ofera un cadou frumos'. Reprezentarea acestui fapt cunoscut prin retele semantice simple, se face ca in Figura s14.
susine lucrare de licen[ eveniment ofer[ eveniment2 cadou frumos Ion Vasile student student bun calitate este coleg receptor agent obiect aciune calitate cauzeaz[ este referitor agent
Fig. s14. Retea semantica simpla
Din studiul retelei semantice se observa ca in aceasta reprezentare asertiunea nu este realizata in forma propozitionala. Se cunoaste faptul ca Ion si Vasile sunt studenti, adica apartin clasei student. Actiunea de oferire a cadoului de catre Vasile este un eveniment pentru care Vasile este agent si Ion receptor. Pentru Ion sustinerea lucrarii de licenta este de asemenea un eveniment care provoaca aparitia celui de-al doilea eveniment, cel al oferirii cadoului.
Pentru descrierea unei retele semantice simple se va descompune acesta in triplete de forma: (nod sursa, relatie, nod destinatie).
In cazul nostru avem:
(Eveniment_1 este sustinerea lucrarii de licenta)
(Eveniment_1 referitor la Ion)
(Ion este student)
(Ion calitate student bun)
(Ion coleg Vasile)
(Vasile este student)
(Eveniment_l cauzeaza eveniment_2)
(Eveniment_2 actiune ofera)
(Eveniment_2 obiect cadou)
(cadou calitate frumos)
(Eveniment_2 receptor Ion)
(Eveniment 2 agent Vasile), s.a.m.d
s4.2.2. Retele semantice sortate
Acest tip de retele semantice se caracterizeaza prin faptul ca permit specializari atat la nivelul nodurilor, cat si al arcelor, indicand prin aceasta diferentele de natura structurala ce nu pot fi rezolvate prin intermediul etichetelor. Cel mai simplu mod de etichetare este acela prin care se specifica un nod de tip propozitie. In elaborarea tehnicilor de etichetare a nodurilor si tipurilor de relatii, se cunosc mai multe abordari dintre care cea mai utilizata este cea elaborata de Filmore. Filmore stabileste un numar restrans de relatii primitive ce pot acoperi o varietate semantica larga. Dintre aceste primitive putem enumera : predictia, agentul, receptorul, obiectul, instrumentul, timpul si locul.
Predictia stabileste ca nodul sursa este de tip propozitional, indican o instantiere a predicatului specificat in eticheta nodului destinatie ce reprezinta o instanta sau o stare (echivalenta cu verbul in propozitie).
Agentul are ca nod destinatie o entitate cu capacitatea de a efectua actiune. Entitatea mai este numita si actor si are rolul de subiect logic.
Receptorul indica faptul ca un nod destinatie este o entitate ce este afectata de actiunea specificata pentru propozitia din nodul sursa.
Instrumentul are ca nod destinatie o entitate ce este folosita de agent la efectuarea actiunii suportate de subiect.
Locul are ca nod destinatie o entitate ce exprima o propozitie referitoare la locul desfsurarii actiunii.
Timpul indica un nod destinatie ce precizeaza timpul cand se desfasoara actiunea. Acesta poate fi exprimat fe prin momentul initial si momentul final, fie ca o relatie de durata ce arata valoarea intervalului fara sa specifice scara timpului. Pentru exemplificare, sa consideram faptulcunoscut ca 'Maine contabila va achita la banca facturi pentru furnizori'.
Acest fapt se reprezinta prin reteaua semantica din Figura s15, de mai jos :
P Se achit[ furnizori casiera facturi la m`ine predicie agent receptor loc obiect timp
Fig. s15. Retea semantica sortata
Starea de lucruri descrisa de o predictie da o valoare de adevar predicatului. Starile de lucruri care nu se modifica in timp se numesc statice, iar care sufera modificari in timp, se numesc dinamice. Daca in cadrul predicatului exista un argument numit controlor ce are drept rol determinarea starii de lucruri asociate predictiei, se presupune ca starea respectiva este controlata. Astfel dinamismul si controlul determina noi sorturi ale predictiei si anume :
actiunea - stare dinamica si controlata;
procesul - stare dinamica necontrolata;
pozitia - stari de lucruri statice controlate;
situatia - stari de lucruri statice necontrolate.
Pentru predicatele din sortul actiune, relatiile cauzale de baza determina argumentele portii nucleare, cum sunt : AGENTUL si OBIECTUL. Relatiile cauzale periferice specifica receptorul actiunii, directia desfsurarii acesteia, instrumentul folosit, sursa obiectelor actiunii si timpul de desfasurare a acesteia.
Predicatele din sortul proces nu au relatii cauzale de tip agent, deoarece sortul este necontrolat, singura relatie cauzala de baza este obiectul afectat. Relatiile periferice sunt cele ce precizeaza relatiile cauzale economice ce apar la sortul actiune. De exemplu : procesul eroziunii automobilului de catre umezeala. Cu toate ca exista o cauza a procesului de eroziune, asupra umezelii nu se poate exercita nici un control, motiv pentru care in relatia cauzala se poate insera clima ca fiind cea care produce acest proces. Reprezentarea acestei predictii este redata @n Figura s15.
P Se achit[ umezeal[ automobil proces obiect clima
Fig. s15. Reprezentarea predictiei prin retele semantice
s4.1.s Retele semantice extinse
Principala caracteristica a retelelor semsntice extinse este data de specializarea nodurilor si a celor programarii logice, definindu-se sorturi de noduri (simboluri functionale, variabile, constante) si sorturi de arce (relatii conditionale si conclusive). Corespondenta intre functia semantica si relatia folosita se face pe baza oricarei metode pentru retelele semantice sortate, fiind posibile extensii prin intermediul relatiilor multisortate ce sunt definite pe baza mai multor criterii. Daca la o retea semantica extinsa se mai adauga facilitati specifice, se obtine metoda de retea de tip hiperretea. De exemplu pentru reprezentarea piese de cunoastere 'balena este peste, dar naste pui vii pe care ii hraneste cu lapte', se adauga o exceptie la clasa pestilor prin introducerea simbolului 'exceptie'.
Principalele criterii de diferentiere a tipurilor de retele semantice extinse se bazeaza pe :
setul primitivelor semantice si metodelor de tratare a neprimitivelor;
sorturile pentru noduri si arce;
mecanisme de defnire a altor sorturi (definirea sorturilor pentru piesele de metacunostinte);
conventii de reprezentare grafica.
Reprezentarea prin hiperretele incearca sa elimine dezavantajele majore aparute in retelele traditionale, legate de problemele specifce ale compozitiei, decompozitiei, probleme dominante in sistemele cu caracter tehnic, cum sunt : proiectarea asistata de calculator, sistemele expert pentru conducerea robotilor industriali, sistemele expert economice, etc..
Ideea de baza a acestei reprezentari porneste de la asimilarea modului in care este constientizata cunoasterea ca urmare a aprofundarii. In primul moment se definesc entitati denumite si obiecte pentru care se produc niste piese de cunoastere, initial atomice, deosebite in mod obisnuit prin nume. Legaturile dintre acestea determina semnifcatii prin dependentele dintre ele, formand aspecte relationale ale lumii reale. Odata cu rafinarea cunoasterii se ajunge la concluzia ca obiectele considerate initial ca atomice, sunt de fapt obiecte compuse ce au o structura mai mult sau mai putin complicata. Obiectele care intra in componenta acestora sunt considerate noi obiecte atomice pentru care se incearca descrierea structurii, a componentei si a legaturilor dintre ele. In final, mergand de la general la particular sau de sus in jos (Top-Down), de la o retea considerata initial binara, se ajunge la un graf de o aritate superioara.
Una din problemele care pot sa apara la utilizarea retelelor semantice este aceea ca semnificatia arcelor si nodurilor difera de la un interpret la altul si deci o retea poate fi interpretata in diverse moduri. Sa consideram reteaua semantica din Figura. s16 si sa vedem cum poate fi ea interpretata.
telefon inst t54 modificator negru
Fig. s16. Retea semantica cu mai multe interpretari
Exista cel putin trei interpretari ale acestei retele.
l. Ea reprezinta conceptul de telefon negru; bineinteles ca un astfel de lucru poate exista.
2. Ea reprezinta un telefon negru specific.
s Ea reprezinta o asertiune intre conceptele telefon si negru; adica unul, sau toate telefoanele sunt negre.
Datorita ambiguitatilor, asemanatoare celor de mai sus, care pot sa apara la utilizarea retelelor semantice, acestea pot fi inlocuite cu grafuri conceptuale.
s4.s Grafuri conceptuale
Grafurile conceptuale sunt asemanatoare retelelor semantice dar ele nu utilizeaza etichete pentru notarea arcelor. Grafurile conceptuale au fost introduse @n literatura de specialitate de catre J. F. Sowa si ele folosesc nodurile atat pentru reprezentarea conceptelor, (claselor de entitati) cat si a relatiilor dintre acestea, iar arcele reprezinta legaturile dintre noduri.
Conceptele nu pot fi legate decat cu relatii iar acestea nu pot fi legate decat cu concepte. Din punct de vedere geometric, conceptele se reprezinta prin dreptunghiuri iar relatiile prin elipsoizi.
concept relaie
Nodurile concept reprezinta obiecte concrete sau abstracte din spatiul discursului iar nodurile relatie reprezinta legaturile (relatiile) dintre concepte.
Relatiile se pot conecta (lega) cu unu sau mai multe concepte.
Numarul de concepte cu care se leaga o relatie defineste aritatea acesteia.
Cateva astfel de relatii sunt prezentate in Figura s17.
p[s[rile zboar[ Relaie unar[
(1 - ar[)
c`ine culoare Relaie binar[
(2 - ar[) brun
copilul p[rini Relaie
ternar[ (3 - ar[) tata mam
Fig. s17. Diverse tipuri de relatii
Confuzii semantice pot sa apara si in cazul grafurilor conceptuale daca mai multi indivizi, (mai multe entitati), ai unei clase de entitati au acelasi nume. Pentru a rezolva o astfel de problema, fiecare instanta a obiectului, va primi un cod propriu si, in acelasi timp, se va atasa o relatie nume pentru a atribui nume de entitate codului respectiv. De exemplu, sa presupunem ca avem doi caini care au acelasi nume, unul este negru iar celalat gri, atunci aceasta situatie o vom reprezenta ca in Figura s18.
Zack negru nume c`ine: culoare Zack gri nume c`ine: culoare
Fig. s18. Graf conceptual
Daca numele este unic si nu exista pericolul unei confuzii, atunci numele poate substitui codul, de exepmlu caine:Zack.
In grafurile conceptuale este permisa utilizarea variabilelor, ceea ce ne faciliteaza reprezentarea, aceleiasi entitati nespecificate, in doua noduri distincte. De exemplu pentru a reprezenta asertiunea: Cainele isi scarpina urechea cu piciorul, putem utiliza conceptul caine:*X pentru a reprezenta cainele ca agent dar si ca un intreg care contine cele doua componente principale: urechea si piciorul. Aceste lucruri se reprezinta ca in graful conceptual din Figura s19.
nume c`ine:*X scarpin[ ureche c`ine:*X picior instrument agent parte parte
Fig. s19. Schema relationala cu variabile si cu repetarea unei entitati
ss Reprezentarea cunostintelor prin cadre (frame-uri)
Inainte de a continua cu prezentarea metodei cadrelor de reprezentare a cunostintelor, se impune o scurta trecere @n revista a posibilitatilor de dezvoltare a bazei de cunostinte.
#n acest sens, trebuie mentionat faptul ca exista mai multe cai prin care se poate dezvolta o baza de cunostinte si anume: sisteme expert, algoritmi genetici, retele neuronale, retele semantice si cadre. Noi vom folosi cadrele din doua motive: primul dintre ele fiind acela ca frame-urile sunt foarte apropiate de sistemele orientate obiect si deci sunt folosite mai natural de inginerii de cunostinte; al doilea este ca sunt mai flexibile decat aceastea, flexibilitate care este foarte importanta pentru dezvoltarea noilor tehnologiipentrusistemele bazate pe cunostinte.
Sa vedem ce sunt cadrele si cum pot fi ele utilizate pentru reprezentarea cunostintelor.
#n primul rand trebuie sa spunem ca frame-urile au fost inventate de Marvin Minsky care @n cartea sa intitulata LabLab prezinta pentru prima data aceasta tehnica de lucru. Cadrele sunt foarte asemanatoare obiectelor. Deci sa vedem cateva fapte legate de obiecte.
Un obiect, ca cele utilizate in C++ sau Pascal, este un container de variabile (caracteristici) ale caror valori descriu aspectul unui singur lucru (fapt cunoscut). De exemplu un obiect reprezentand o masina va trebui sa
contina o caracteristica sau o variabila pentru definirea motorului cu care este echipata masina; cate o caracteristica pentru culoare, pentru locul unde a fost fabricat obiectul (masina), pentru numarul de usi, pentru modelul de fabricatie etc. Acest model al conceptului, avand variabile ale caror valori descriu un obiect punctual, este referit adesea ca un triplet obiect/ atribut/ valoare.
Obiectele sunt grupate, de obicei, in clase de obiecte care constituie descrierea unei intregi multimi de obiecte. Astfel, clasa tuturor masinilor va trebui sa descrie lucrurile comune tuturor masinilor si anume: faptul ca toate masinile sunt echipate cu un motor, au un numar de usi, au o culoare, o anumita destinatie etc. Deci de notat este faptul ca o clasa descrie informatii mai abstracte decat le-ar face un obiect punctual. Un obiect masina, are o colare anume, sa zicem gri. Deci clasa obiectelor masina trebuie sa contina informatii care sa stabileasca faptul ca orice masina are o culoare, dar aceasta informatie nu precizeaza nimic despre culoarea unei masini particulare oarecare. Din acest punt de vedere putem spune ca, clasele contin meta-date (meta cunostinte), dar ele pot sa contina si metode care sa descrie comportamentul obiectului (adica o masina, de exemplu, poate fi pornita, condusa si manevrata pe drumurile publice). Aceste metode, care din punct de vedere informatic sunt niste programe (proceduri sau functii), dau un caracter dinamic obiectelor, opus caracterului static, sugerat de container de informatii. Orice instanta a unei clase de obiecte poate apela metodele clasei respective. In fine, mai putem adauga faptul ca orice clasa poate mostenii atat informatiile cat si comportamentul altor clase si poate transmite aceste informatii si comportament, tuturor instantelor sale. De exemplu, clasa tuturor masinilor va mosteni, in mod natural, toate proprietatile, variabilele si metodele clasei vehiculelor, deoarece, aceasta din urma este o generalizare a clasei masinilor. Mai mult, este posibil ca o clasa sa aiba mosteniri de la mai multe clase. De exemplu, daca vrem sa proiectam o masina amfibie, atunci vom dori sa mostenim atat proprietati ale clasei vehiculelor cat si proprietati ale clasei vapoarelor.
Cadrele au cu un nivel de detaliere mai mult decat obiectele. Aceasta detaliere se realizeaza prin intermeul asa numitelor fatete care sunt comonente ale atributelor. In literatura de specialitate fantele mai sunt cunoscute si sub denumirea de rubici.
Prin urmare, in timp ce in sistemul obiectelor avem de-a face cu triplete de forma obiect/atribut/valoare, in sistemul bazat pe cadre avem quadrupluri de forma cadru/fanta/fateta/valoare.
In metoda obiectelor, atributele sunt variabile care descriu lucruri (fapte) despre obiecte. In frame-uri acest rol este preluat de fante iar fatetele pot fi privite ca variabile ale caror valori descriu fanta corespunzatoare.
In fiecare fanta exista un tip special de fateta, sa zicem valoare, care va contine valoarea fantei respective. Alte fatete, din aceeasi fanta, pot fi utilizate pentru a memora alte informatii utile despre fanta respectiva. Apare o intrebare: Cat de multe valori poate contine o fanta ? In sistemul bazat pe obiecte, fiecare atribut poate avea o singura valoare la un moment dat. In sistemul bazat pe frame-uri o fanta poate avea mai multe valori. Pentru a stabili numarul de valori pe care le poate lua o fanta, se poate defini o fanta pe care s-o numim cardinalitate, care va stoca numarul de valori ce pot fi memorate in fateta valoare a fantei respective.
In reprezentarea prin cadre se disting o serie de primitive semantice care plaseaza cunoasterea in conceptul mai larg oferit de structura cadrului, iar din aceasta categorie citam: primitive utilizate la descrierea piesei cunoasterii; primitivee ce exprima reprezentari legate de utilizarea cadrului.
Relatiile aferente utilizarii frame-urilor, relatii ce caracterizeaza piesa de cunoastere si legaturile sale cu universul problemei se pot imparti in:
-generalizare - acestea sunt concepte cu definitii mai putin restrictive;
- specializare - sunt concepte cu descrieri ce satisfac o restrictie impusa;
- apartenenta - care precizeaza clasa din care face parte piesa de cunoastere si prin care se mostenesc proprietatile acesteia;
- compozitia - sunt obiectele ce intra in alcatuirea altor obiecte;
- proprietatile - reprezinta caracteristicile specifice obiectului dat.
Pentru ilustrarea modului de folosire a cadrelor sa presupunem ca vrem sa reprezentam o universitate cu profil economic. Atunci vom avea urmatoarele:
cadru: universitate economica
fanta: generalizare
fateta: institutie de invatamant superior
fanta: specializare
fateta: pregatire economica
fanta: apartenenta
fateta: universitate
fanta: adresa
fateta: strada
fateta: numar
fateta: cod postal
fateta: oras
fateta:tara
fanta: compozitie
fateta: conducere
valoare: rector
valoare: prorector stiintific
valoare: prorector administrativ
valoare: prorector cadre
valoare: secretariat stiintific
fateta: compartimente
valoare: finante
valoare: relatii internationale
valoare: banci si burse de valori
fanta: proprietati
fateta: pregatire
valoare: cursuri zi
valoare: cursuri ff
valoare: cursuri postuniversitare
Fantele constituie elemente care stocheaza proprietatile cadrului. O fanta se compune din: nume, fatete, precum si (eventual) predicate atasate. Numele fantelor servesc pentru identificare. Avand un caracter local, ele trebuie sa fie unice in interiorul cadrului in care apar. Orice fanta trebuie sa aiba o valoare si aceasta poate fi vida in momentul defnirii fantei si poate face obiectul operatiilor uzuale de atribuire si consultare. Pentru o reprezentare cat mai exacta a realitatii se face distinctie intre o valoare nula (zero sau nimic) si valoarea nedefinita. In situatia in care intr-un cadru s-a definit o fanta fara sa se fi definit o valoare pentru ea, atunci aceasta are rolul de a preciza ca o entitate trebuie sa aiba proprietatea stabilita de fanta respectiva. Aceasta proprietate apare la toate elementele descrise de cadrul respectiv. Deoarece toate persoanele au o data a nasterii, atunci cand definim un cadru referitor la angajatii unei societati comerciale, trebuie sa prevedem o fanta corspunzatoare @n care se stocheaza data nasterii.
Desi un cadru are obligatoriu fante, totusi se permite utilizarea si de cadre fara fante. In felul acesta se poate asigura flexibilitatea necesara in reprezentarea unor cunostinte abstracte. Datorita caracterului local al numelui fantelor, referirea la acestea se face prin calificare cu numele cadrului caruia ii apartine. In forma generala calificarea are aspectul:
(nume_fanta of nume_cadru)
De exemplu daca avem cadrul de mai jos:
Cadru: Ionescu
Fanta: Antecedent Valoare: Client
Fanta: Venit Valoare: 30000
Fanta: Domiciliu Valoare: Craiova,
referirea la fanta Venit a acestui cadru se face sub forma (Venit of Ionescu).
O fanta poate avea ca valoare un alt cadru, ca @n exemplu prezentat mai sus. Aici Client, care este valoarea fantei Antecedent este un cadru catre care face referire cadrul Ionescu. Referirea la o fanta a unui cadru invocat de un alt cadru se face @n mod natural ca @n exemplu de mai jos. Presupunand ca reprezentarea clientilor unei banci comerciale se face prin cadrul Client, care contine o fanta Garant, prin care se precizeaza girantii unui @mprumut al unui client al sau cai-sj; valoare este numele
cadrului care reprezinta garantul persoanei respective. Acest lucru ne
permite sa folosim exprimari de tipul:
(Venit of (Garant of Ionescu))
prin care se precizeaza continutul fantei 'Venit' al cadrului corespunzator
persoanei garante pentru Ionescu. Ca un exemplu concret, am putea avea urmatoarele cadre:
Cadru: Popescu
Fanta: Antecedent; Valoare: Client
Fanta: Venit Valoare: 30000
Fanta: Domiciliu Valoare: Craiova
Cadru: Ionescu
Fanta: Antecedent Valoare: Client
Fanta: Venit Valoare: 20000
Fanta: Domiciliu Valoare: Bucuresti
Fanta: Garant Valoare: Popescu
Flexibilitatea interogarilor cu frame-uri poate creste considerabil prin utilizarea de variabile. Folosind simbolul :=, pentru operatia de atribuire de valori, expresia, X:= (Venit of (Garant of Ionescu)) va transmite in variabila X valoarea 30000, care reprezinta venitul realizat de garantul lui Ionescu.
Pentru a modifica venitul aceluias garant, cu valoarea care se afla in variabila Y, utilizam expresia
(Venit of (Garant of Ionescu)):=Y
In situatia in care cadrul Ionescu ar avea mai multi giranti, atunci definim mai multe fatete de tip garant. De exemplu:
Fanta: Garant
Fateta: Cardinalitate Valoare: 2
Fateta: Garant1 Valoare: Ionescu
Fateta: Garant2 Valoare: Georgescu
si deci se poate face referire la oricare din acestia utilizand procedeul calificarii. De exemplu expresia:
(Venit of (Garant1 of Ionescu))
face referire la venitul realizat de primul girant al lui Ionescu.
Cadrele ofera un procedeu de organizare si grupare a cunoastintelor in structuri. Ele se deosebesc de conceptele de structura a inregistrarii si respectiv inregistrare, asa cum sunt acestea folosite in diversele limbaje de programare si in bazele de date, prin doua proprietati fundamentale taxonomice: mostenirea proprietatilor si predicatelor asociate.
In ceea ce priveste transferul succesoral de proprietati se tine seama ca, frame-urile sunt organizate in ierarhii taxonomice in care fiecare element de pe un nivel, mosteneste proprietatile elementelor de penivelele superioare. Pozitionarea unui cadru in interiorul ierarhiei se face prin specificarea antecedentilor sai, denumiti si parinti. Orice cadru trebuie sa aiba cel putin un parinte. Pentru a face aplicabila aceasta regula pentru toate cadrele, fara exceptie, varfului ierarhiei, cel care nu poate avea antecedente, i se atribuie valoarea Nil sau o alta valoare conventionala. Pentru orice cadru se pot defini mai multe fante. In plus, fiecare cadru mosteneste fantele tuturor antecedentilor sai. Prin urmare, o fanta poate fi definita o singura data pe un nivel adecvat, fiind automat preluata de toti descendentii cadrului in care a fost definita.
Mostenirea in sitemul bazat pe cadre este asemanatoare celei din sistemul bazat pe obiecte, singura diferenta o constituie faptul ca in sistemul bazat pe cadre, in locul claselor vom folosi un mecanism de instantiere diferit. Una din tehnicile cele mai cunoscute este clonarea.
In cadrul acestei tehnici se realizeaza un duplicat al prototipului, care, ulterior poate fi modificat. Pentru a nu modifca un frame atat de mult incat sa nu mai putem reasambla cadrul initial, se introduc o serie de restrictii ce limiteaza actiunea de clonare de la un cadru la altul. In mod obisnuit este permisa inlocuirea oricarei valori a unei fante atat timp cat tipul datei din fanta clonei este identic cu cel din fanta obiectului original. Mai mult, se pot adauga fante noi, dar nu se pot sterge fante deja omologate. Aceasta regula vine in sprijinul ideii de clonare: se doreste obtinerea unui cadru similar unuia deja existent, deci nu se pot efectua modificari dramatice care sa duca la realizarea unui cadru total diferit de cel original.
Datorita fatetelor nu mai avem nevoie, in mod necesar, de clase de
obiecte. In locul claselor vom folosi prototipurile sau exemplarele. Un prototip se defineste ca fiind un obiect care serveste drept model pentru toate obiectele similare. Deci, in timp ce in sistemul de reprezentare a cunostintelor bazat pe obiecte definim o clasa pentru toate masinile, in sistemul bazat pe frame-uri se poate defini o masina (un model) care poate fi utilizata ca un exemplar (prototip) pentru tot grupul de masini.
Aceasta teorie pleaca de la unele cercetari psihologice care au aratat ca oamenii au tendinta de a identifca o familie de obiecte sau de entitati oarecare si de a face rationamente in legatura cu acestea, fcand referinta la un singur obiect, reprezentativ pentru acea familie.
Prin urmare, un concept care descrie o categorie de elemente poate fi materializat prin unul singur dintre ele, cel mai cunoscut, mai semnificativ si anume prototipul.
Un prototip reuneste caracteristicile care apar cel mai frecvent la elementele categoriei si contine numai informatii generale; implicite, care pot fi asumate in absenta informatiilor specifice.
Crearea unui element care partajeaza proprietatile unui prototip (adica are in acelasi timp cu prototipul proprietatile acestuia) se realizeaza
prin specializare sau copiere diferentiata. El va poseda in realitate numai acele proprietati care il diferentiaza de prototip, cele comune cu acesta vor fi mostenite.
La randul sau, un element poate fi prototipul altor elemente, daca acestea sunt definite ca specializari ale sale.
Partajarea proprietatilor prin prototip, faciliteaza foarte mult rezolvarea unor probleme legate de reprezentarea cunostintelor in inteligenta artificiala. Astfel, cunostintele tipice unei anumite clase de elemente sunt stocate de catre prototip si sunt mostenite ca informatii implicite de acesta.
Elementele care constituie exceptii se reprezinta prin mascarea proprietatilor implicite, nepartajate de acestea, fara sa se strice ierarhia deja stabilita.
Adaptarea cunostintelor la schimbari se face si ea mult mai usor. Cunostintele care au suferit modificari la nivelul prototipului se repercuteaza automat asupra tuturor elementelor reprezentate de acesta.
Pentru exemplificare sa consideram urmatoarele cadre:
Cadru: Persoana
Fanta: Antecedent Valoare: Nil
Fanta: Varsta Valoare:
Fanta: Sex Valoare:
Cadru: Barbat
Fanta: Antecedent Valoare: Persoana
Fanta: Sex Valoare: barbatesc
Cadru: Femeie
Fanta: Antecedent Valoare: Persoana
Fanta: Sex Valoare: femeiesc
Cadru: Popescu
Fanta: Antecedent Valoare: Barbat
Fanta: Varsta Valoare: 45
Cadru: Mariana
Fanta: Antecedent Valoare: Femeie
Fanta: Varsta Valoare: 35
In acest exemplu, cadrele 'Barbat' si 'Femeie', care mostenesc fantele antecedentului lor sunt definite doar prin valoarea atributului (fantei sex). Cadrul 'Popescu' mosteneste atat fantele cadrului 'Barbat' cat si pe cele ale cadrului 'Persoana' si prin urmare el s-a definit numai prin fanta specifica si anume varsta sa.
Deoarece, partajarea fantelor include atat fatetele cat si valorile acestora, valorile atribuite intr-un cadru, aflat pe un anumit nivel al ierarhiei, devin valori implicite pentru toate cadrele descendente din acesta.
Sa consideram de exemplu un cadru referitor la imprumuturile acordate de o banca clientilor sai si sa presupunem ca avem urmatoarea structura:
Cadru: Imprumut
Fanta: Antecedent Valoare: Nil
Fanta: Suma_acordata Valoare:
Fanta: Rata_dobanda Valoare: 40%
Fanta: Termen_rambursare Valoare:
Fanta: Client Valoare:
Cadrul privitor la imprumutul acordat clientului Popescu va mosteni ca valoare implicita, rata dobanzii anuale (rata_dobanda) care este de 40%, si aceasta nu mai trebuie declarata:
Cadru: Credite_clienti
Fanta: Antecedent Valoare:Imprumut
Fanta: Suma_acordata Valoare: 40000
Fanta: Termen_rambursare Valoare: 30/11/1998
Fanta: Client Valoare: Popescu
Exceptiile de la valorile implicite se pot introduce foarte simplu prin specificarea valoriilor particulare. De exemplu, daca pentru clientul Georgescu, rata dobanzii anuale este de 35%, atunci cadrul corespunzator acestuia arata astfel:
Cadru: Credite_clienti
Fanta: Antecedent Valoare:Imprumut
Fanta: Suma_acordata Valoarte: 50000
Fanta: Temen_rambursare Valoare: 30/10/1999
Fanta: Rata_dobanda Valoare: 35%
Fanta: Client Valoare: Georgescu
In cazul in care se poate defini o clasa de clienti cu credite preferentiale - de exemplu pentru functionarii bancii, este bine sa se defineasca un cadru subordonat cadrului Imprumut, care va fixa valoarea pentru rata dobanzii la o anumita suma. Aceasta valoare va fi transmisa prin mostenire la toate cadrele subordonate acestuia. De exemplu am putea avea:
Cadru: CreditFunctionari
Fanta: Antecedent Valoare: Imprumut
Fanta: Rata_dobanda Valoare:25%
Cadru: Credite_preferentiale
Fanta: Antecedent Valoare: CrditFunctionari
Fanta Suma acordata Valoare:10000
Fanta: Termen_rambursare Valoare:10/06/1997
Fanta: ClientValoare: Avram
Alaturi de avantajele deja evocate: organizarea si structurarea cunostiintelor, transmiterea valorilor implicite, reprezentarea si tratarea exceptiilor, transferul succesural creaza premize foarte bune pentru mentinerea coerentei logice in baza de cunostiinte. Astfel, modificarea valorii unei fante pe un anumit nivel se propaga automat pe toate nivelele care-i succed in arbore.
Un alt lucru interesant, care apare prin utilizarea frame-urilor, este ca se pot adauga proceduri noi la fatetele unei fante. Acestea sunt automat
activate de sistem cand se intampla ceva anume in el. De exemplu, se poate adauga, intr-o fateta a unei fante, o procedura care sa mentina o relatie inversa, automat, ori de cate ori o valoare este atribuita unei fante. Aceste proceduri care se activeaza automat sunt denumite demoni.
In ideea dezvoltarii unei baze de cunostinte vom insista mai mult asupra cadrelor pentru a vedea mai exact ce sunt acestea si ce pot face.
Un cadru are fante, care, la randul lor au fatete, iar fatetele au valori. Deci o multime specifica de valori, intr-o baza de cunostinte, poate fi un triplet care contine numele cadrului, al fantei si al fatetei continuta in fanta respectiva. In reprezentarea unui cadru, fateta valoare poate fi omisa pe cand toate celelalte fatete trebuie sa fie mentionate explicit.
In continuare dam cateva exemple de exprmari folosind frame-urile.
masina.motor.valoare - contine numele fantei care modeleaza motorul in cadrul numit masina;
masina.motor - acealasi lucru ca mai sus (fateta valoare este omisa);
masina.motor/pistoane-contine lista tuturor cadrelor care modeleaza pistoanele in motorul din masina;
masina.motor/pistoane.cardinalitate - contine numarul permis de pistoane din motor din masina.
Este important sa distingem rolul punctelor si al slash-ului @n exemplele de mai sus.
masina este numele cadrului, nu masina propriu-zisa.
Este important sa facem distinctia necesara si in acest caz: cand vrem sa facem o analiza pe o masina, noi vrem sa operam de fapt pe frame-ul care modeleaza masina, nu pe numele masina.
motor este de asemenea un nume si anume este numele unui cadru continut in cadru masina.
Primul si al doilea exemplu de mai sus vor sa identifice cadrul care modeleaza motorul unei masini, nu masina insasi.
Cand utilizam un slash (/), aceasta vrea sa insemne ca partea de nume din fata slash-ului trebuie rezolvata inainte de a trece la tratarea partii de dupa slash. Astfel, in cel de-al treilea exemplu de mai sus, expresia masina.motor, prin care ne referim la motor, este rezolvata pentru cadrul curent. Apoi numele fantei pistoane este cautat in sus in frame si valoarea din fateta valoare a acesteia este returnata (fateta valoare este implicita aici).
In ultimul exemplu, se cauta valoarea unei fatete particulare, denumita cardinalitate, a fantei pistoane din cadrul identificat prin numele masina.motor.
Este esential sa facem distinctia necesara intre numele cadrelor si cadrele insasi, deoarece cadrele pot fi vazute ca definitii ale numelor si diferite persoane pot avea diferite semnificatii pentru aceleasi denumiri. Astfel, ori de cate ori un nume de cadru sau de fanta sau de fateta este necesar a fi cautat, procesul de cautare apare intr-o maniera naturala.
Un alt aspect important al folosirii cadrelor in sistemele de reprezentarea cunostintelor il poate constitui utilizarea numelor date fantelor din diferite cadre. Acest lucru poate fi descris mult mai bine pe baza unor exemple. Sa consideram instructiunile de mai jos:
alb este o culoare
masina mea are o culoare
masina mea este alba.
In primul caz, folosim culoare ca un concept care denota mai multe ucruri (asemanator claselor @n sistemele bazate pe obiecte). Spunand ca alb este o culoare spunem de fapt ca alb este numele a ceva care este o instanta a unei multimi de lucruri pe care noi le numim culori.
A doua instructiune de mai sus identifica o fanta intr-un cadru. Cadru este masina-mea iar fanta este culoare. Dar nu se precizezaza nici o valoare particulara acestei fante.
Ultimul exemplu de mai sus stabileste faptul ca frame-ul masina-mea are anumita proprietate (nenumita de data aceasta) a carei valoare este alb (este vorba aici de nume nu de culoare). Este foarte usor sa deducem de aici ca fanta din cadrul masina-mea, care are alb asignat ca valoare, este culoare. De ce ? Deoarece noi stim din prima instructiune ca alb este o culoare.
Aici am folosit termenul de culoare ca fiind un prototip pentru toate culorile, dar si ca nume pentru o fanta dintr-un frame. Daca veti reflecta ceva mai mult asupra acestor lucruri veti ajunge la concluzia ca trebuie sa existe niste relatii intre numele atributelor obiectelor in general
si numele tipurilor de valori pe care acestea pot sa le aiba ca valori.
Dar amintitiva ca termenii sunt definiti intr-un context si prin urmare trebuie sa aiba aceeasi semnificatie ori de cate ori sunt folositi in contextul dat. Aceasta inseamna ca odata ce am defini culoare ca un prototip pentru toate culorile din baza de cunostinte, trebuie sa-1 folosim in acelasi mod in acel context. In acest fel va puteti gandi la aceasta ca defnind tipul fantei intr-o maniera universal valabila in contextul dat.
Acest punct de vedere este foarte diferit de modul cum erau tratate instantele in sistemul conventional bazat pe obiete, unde ati putea utiliza acelasi nume, in doua clase de obiecte diferite, pentru a desemna doua lucruri total diferite.
In sistemul nostru bazat pe frame-uri cand numele unei fante este de asemenea si numele unui frame (de exemplu culoare, mai sus), atunci acest nume defineste o relatie intre cadre (dar pot fi si alte lucruri). De exemplu, cadrul culoare defineste o relatie intre obiectele care au culori (precum masina) si obiectele care sunt culori (de exemplu alb). Deci, ori de cate ori folosim un nume de relatie ca nume de fanta, sub@ntelegem ca avem o instanta a relatiei definita intre lucruri particulare. Cadrul care defineste relatia contine informatii folosite in mod obisnuit pentru definirea frame-urilor.
Cadrele pot mosteni atat proprietati cat si actiuni de la alte cadre. #n aceste cazuri, se foloseste o fanta speciala care reprezinta aceasta relatie pe care o numim specializare si una pentru inversa ei pe care o numim generalizare. Desi nu folosim clase, un cadru reprezinta o specializare a altui cadru daca unul din cele doua cadre este clona celuilalt.
Cadrele se pot conecta intre ele intr-o structura echivalenta structurii ierarhice din sistemele orientate obiect.
s5. Reprezentarea cunostintelor incerte
Pana acum ne-am ocupat numai de reprezentarea cunostintelor certe, adica informatii exprimate prin asertiuni ce puteau lua una din valorile logice de adevar adevarat sau fals. Deci, @n acest sens, discutiile noastre de pana acum ne-au obligat sa fim foarte exacti @n exprimari. Totusi, informatiile cu care lucreaza un agent economic sunt, @n marea lor majoritate, inexacte. Uneori nu poti fi sigur decat partial despre veridicitatea unei asertiuni. Unele concept sau cuvinte sunt @n mod inerent inexacte. De exemplu, cum se poate deterina cu exactitate veridicitatea asertiunii ca cineva este @nalt? Conceptul de @nalt contine @n sine @nsusi o forma de inexactitate. Mai mult managerii societatilor comerciale iau foarte adesea decizii bazate doar pe informatii partiale sau incomplete. #n sistemele expert, inexactitatea poate sa apara din mai multe motive: unul ar fi ca sursa din care se obtine informatia este nesigura, altul ar fi ca formularea unor ipoteze se face pe baza unor date incomplete.
O sursa de incertitudine apare si atunci cand utilizatorul nu poate sa raspunda clar la @ntrebarile formulate de sistem. de exemplu, daca i se cere sa aleaga @ntre doua raspunsuri B sau C, el poate raspunde ca este sigur de B @n proportie de 30% iar de C, @n proportie de 70%.
O alta sursa de incertitudine @si are originea @n imprecizia informatiilor. #n multe situatii, o multime de simptome poate conduce la stabilirea unui diagnostic care se dovedeste a fi inexact.
Pentru a putea lucra cu conceptele inexacte avem nevoie de o altfel de logica si o alta inferenta care sa ne permita acest lucru si anume avem nevoie de o logica inexacta si de o inferenta inexacta. Necesitatea metodelor de inferenta inexacta apare datorita faptului ca foarte adesea noi dispunem de piese de cunoastere sau de date inexacte pe care trebuie sa le combinam.
Pentru reprezentarea informatiilor inexacte @n sistemele expert, avem la dispozitie trei cai principale si anume: probabilitatile subiective, factorii de certitudine si logica fuzzy.
Privitor la aceste metotode trebuie sa remarcam faptul ca exista o oarecare confuzie @n folosirea celor trei termeni. Mult timp factorul de certitudine (CF = Certainty Factor) a fost confundat cu probabilitatile subiective de foarte multi cercetatori. Iar @n ce priveste logica fuzzy trebuie sa spunem ca acest termen a fost mult timp utilizat pentru orice metoda care trata rationamentul inexact.
Metoda cea mai directa de reprezentare a cunostintelor inexacte consta @n atribuirea unei probabilitati, pe care o numim subiectiva, oricarei propozitii. Daca E este suma tuturor informatiilor din sistem, atunci fiecarei propozitii H i se asociaza cate o valoare, derivata conform inferentei de tip Bayes, ce va reprezenta probabilitatea ca H sa se @ntample @n lumina @ntregii informatii din sistem. Teorema lui Bayes ne ofera o cale pentru determinarea probabilitatilor de aparitie a fiecarui eveniment particular danduse multimea observatiilor facute de noi. Aceasta teorema @si are radacinile @n teoria clasica a probabilitatilor si presupune o distributie aleatoare a valorilor. Cu ajutorul acestei teoreme putem sa calculam probabilitati complexe pentru regulile cunoscute. Sa presupunem ca stim probabilitatea P(A) ca sa se realizeze evenimentul A si probabilitatea P(B) sa se realizeze evenimentul B. Presupunand @n continuare ca cele doua evenimente A si B sunt independente putem calcula probabilitatea ca A si B sa se realizeze @n acelasi timp si aceasta este P(A) P(B). Teorema lui Bayes stabileste ca daca ipotezele H1, , Hn sunt independente si daca se cunosc probabilitatile de aparitie a diverselor ipoteze si a evenimientului E, atunci probabilitatea de realizare a ipotezei Hi @n coditiile realizarii evenimentului E, este data de formula
unde:
P(Hi,E) este probabilitatea realizarii ipotezei Hi danduse E;
P(Hi) este probabilitatea ca ipoteza Hi sa se realizeze;
P(E,Hi) este probabilitatea realizarii evenimentului E danduse Hi;
n reprezinta numarul de ipoteze.
Puterea acesstui model nu consta @n faptul ca putem sa obtinem aceasta probabilitate ci ea consta @n faptul ca ceea ce stim sau am inferat noi despre o propozitie este reprezentat printr-o singura valoare probabila.
Acestei metode i se pot aduce doua critici. Prima dintre ele consta @n aceea ca o singura valoare nu ne poate spune prea multe despre precizia ei, precizie care pare a fi foarte mica atunci cand valoarea este dedusa dintr-o evidenta ea @nsasi incerta. Pentru a spune ca probabilitatea, ca o propozitie data, (o ipoteza) H, sa fie realizata @ntr-o situatie data, este de 0.5 (exprimare @n intervalul (0,1)), @n mod uzual se face referire la o valoare medie care este adevarata @n interiorul intevalului respectiv. De exemplu, 0.5 plus sau minus 0.001 este complet diferit de 0.5 plus sau minus 0.3 si de aceea cele doua valori 0.501 si 0.499 vor fi aproximate cu o.5. A doua critica care se poate aduce acestei metode este ca o singura valoare este luata @n considerare atat @n ipoteza H cat si @n negatul acesteia fara sa se precizeze cat de mare este aceasta @n propozite si cat @n negatul propozitiei.
Probabilitatile subiective exprima un grad de @ncredere sau cat de puternic o valoare sau situatie este crezuta a fi adevarata.
Factor de certitudine.
Aceasta metoda constituie o alternativa la metoda probabilitatilor subiective si @n cadrul ei, pentru validitatea ei, se merge pe doua valori separate. Una din valori masoara gradul de @ncredere @n realizarea propozitiei H danduse E (un eveniment), iar cea de a doua masoara gradul de ne@ncrede realizarea lui H danduse E. Cele doua masuri sunt independente asa @ncat ele nu pot fi probabilitati, cu toate acestea ele pot fi interpretate, @n extremis, ca probabilitati. Adica, daca masura de @ncredere MB (Measure of Belief) @n realizarea lui H, danduse E, este 1, atunci aceasta @nseamna ca avem convingerea ca ipoteza H se realizeaza @n mod sigur. Cele doua masuri sunt combinate @ntr-o singura apreciere a lui H, danduse E, rezultand ceea ce se cheama, factor de @ncredere CF (Certainty Factor) (CF(H,E)), care se defineste astfel:
CF(H,E) = MB(H,E) - MD(H,E)
unde MD(H,E) este masura neincrederii @n realizarea ipotezei P danduse E.
}i aceasta metoda este supusa criticilor privind precizia ei, deoarece ambele valori sunt valori punctuale.
#n ceea ce priveste calculul factorului de @ncredere, @n ultimul timp s-au propus si alte formule, astfel ele se poate calcula si cu formula
CF(H,E)
=
unde MB(H,E) este masura @ncrederii @n ipoteza H danduse E, iar MD(H,E) este masura neincrederii @n ipoteza H danduse E. Daca ipotezele H1, H2, , Hn sunt mutual exclusiviste, atunci trebuie sa avem
Exprimarea factorului de @ncredere prin probabilitati subiective.
Asa cum am vazut mai sus, cele doua masuri ale @ncrederii si neincrederii nu au un fundament probabilistic, Heckerman @n 1986 a aratat cum MB si MD pot fi definiti @n termeni de probabilitati. Astfel calculul celor doa masuri se face dupa formulel de mai jos:
unde P(H) este probabilitatea realizarii ipotezei H, iar P(H,E) este probabilitatea realizarii ipotezei H danduse evenimentul E.
Calculul masurilor @n sistele bazate pe reguli.
#n sisteme bazate pereguli de productie exista mai multe metode pentru calcularea probabilitatilor subiective sau a factorilor de certitudine. #n general, regulile includ @n ele @nsele un factor de certitudine si anume @n concluzia lor.
Exemplu.
Daca inflatia este mai mare de 5 procente
atunci valoarea stocurilor va descreste, CF = 0.7.
Prin aceasta regula expertul vrea sa transmita faptul ca daca inflatia este de peste 5 procente atunci @ncrederea ca probabilitatea ca valoarea stocurile sa scada este de 70%.
Unele reguli pot fi complet certe, adica au CF = 1.
#n sistemele expert apare foarte des necesitatea calcularii factorului de certitudine al unei concluzii intermediare sau finale. Calculul factorilor de certitudine se complica si mai mult daca regulili invoca operatorii and sau or. #n aceste cazuri pentru calculul factorului de certitudine se poate recurge la formulele de mai jos
CF(A and B) = min(CF(A), CF(B))
CF(A or B) = max(CF(A), CF(B)).
De exemplu, o regula poate arata astfel: "Daca rata inflatiei este de peste 5 procente si rata somajului este de peste 7 procente, atunci valoarea stocurilor va descreste." Sa presupunem acum ca sansa ca rata inflatiei sa fie de peste 5 procente este de 75%, iar sansa ca rata somajului sa fie de peste 7 procente este de 85%. Care va fi factorul de @ncredere al concluziei obtinute, ca valoarea stocurilor scade? #ntr-un astfel de caz, CF se calculeaza conform primei formule si este de 75%.
Este @nsa posibil ca aceeasi concluzie sa se obtina din doua sau mai multe reguli, atunci se pune @ntrebarea care va fi factorul de @ncredere al acestei concluzii?
Exemplu. Sa presupunem ca avem urmatoarele doua reguli @ntr-un sistem bazat pe reguli de productie.
R1: Daca rata inflatiei este mai mica de 5 procente, atunci valoare de piata a stocurilor creste, CF = 0.7.
R2: Daca rata somajului este mai mica de 7 procente, atunci valoare de piata a stocurilor creste, CF = 0.6.
Sa presupunem acum ca se prevede ca rata inflatiei pe anul urmator sa fie sub 4 procente iar rata somajului sa fie de 6.5 procente (adica presupunem ca sunt @ndeplinite ipotezele din cele doua reguli). Factorul de @ncredere @n concluzia celor doua reguli se calculeaza conform formulei de mai jos
CF(R1,R2) = CF(R1) + CF(R2) - CF(R1) CF(R2).
Prin urmare trebuie sa credem ca sansa ca valoarea de piata a stocurilor sa creasa este de 88%, deoarece CF = 88%.
Pentru calculul factorului de certitudine al unei concluzii obtinute din trei reguli se aplica formula
CF(R1,R2,R3) = CF(R1,R2) + CF(R3) - CF(R1,R2) CF(R3),
unde prin CF(R1,R2) am notat factorul de certitudine al concluziei obtinute din cele doua reguli.
Exemplu. Sa adaugam la cele doua reguli de mai sus @nca una:
R3: Daca rata de schimb creste, atunci valoarea stocurilor creste, CF = 0.85.
Presupunand ca ipotezele din cele trei reguli sunt @ndeplinite si aplicand formula de mai sus, deducem ca factorul de certitudine al concluziei ca valoarea stocurilor creste este de 98.2%.
Pe baza formulelor de mai sus putem sa dam o formula cu ajutorul careia sa calculam factorul de certitudine al unei concluzii obtinute din mai multe reguli. Daca o concluzie apare @n n reguli atunci factorul de @ncredere @n concluzia respectiva se calculeaza cu formula
CF(R1,R2, ,Rn)=CF(R1,R2, ,Rn-1)+CF(Rn)-CF(R1,R2, ,Rn1) CF(Rn)
care se obtine imediat prin inductie matematica.
Logica fuzzy este o supramultime a logicii clasice booleane care a fost extinsa pentru a da posibilitatea utilizatorilor sa manevreze conceptul de partial adevarat, o valoare de adevar cuprinsa @ntre complet adevarat si complet fals. Logica fuzzy a fost introdusa de Lotfi Zadeh, de la Universitatea din Berkeley, @n anii 60 cu scopul de a modela
incertitudinea din limbajul natural.
Zadeh @nsusi sustine ca decat sa privim teoria fuzzy ca pe o simpla teorie, mai bine am privi procesul de fuzzyficare ca o metodolgie de generalizare a oricarei teorii specifice de la discret la continuu.
Submultimi fuzzy.
Asa cum @ntre logica booleana si conceptul de submultime din teoria clasica a multimilor exista o legatura stansa tot asa exista o legatura puternica @ntre logica fuzzy si multimile fuzzy.
#n
teoria clasica a multimilor, o submultime
Aceasta aplicatie poate fi vazuta ca o multime de perechi ordonate cu
primul element din multimea
Graficul acestei functii arata astfel:
Fig. s20. Graficul functiei caracteristice
#n mod asemanator se poate defini o submultime fuzzy
#n aceasta maniera se defineste o aplicatie de la multimea
elementelor lui
Sa vedem cateva exemple concrete @n care folosirea multimilor fuzzy este providentiala.
Pentru @nceput sa consideram o multime X de numere reale cuprinse @ntre 0 si 10 pe care o numim universul discursului (spatiul problemei). Acum, sa @ncerca sa definim o submultime A alui X ca fiind formata din toate numerele reale cuprinse @ntre 5 si 8; A=a5,8s. Sa exprimam acum, multimea A prin functia sa caracteristica, adica functia care asociaza fiecarui element din X unul din numerele 1 sau 0 dupa cum x apatine sau nu lui A. Functia caracteristica se defineste astfel
deci
Fig. s21. Graficul functiei caracteristice a multimii A
Functia caracteristica este interpretata astfel: elementele lui X carora li se asigneaza valoarea 1 sunt Elemente care sunt @n multimea A, iar cele carora li se asigneaza valoarea 0, sunt Elemente care nu sunt @n multimea A.
Conceptul de multimi fuzzy se dovedeste a fi bine adaptat
pentru un domeniu larg de aplicatii. #n aceasta ordine de idei sa consideram
urmatorul exemplu prin care vrem sa definim multimea oamenilor tineri. Mult mai
formal noi putem nota
Evident, aceasta problema este una structurala, chiar daca noi mutam varsta maxima la care cineva poate fi considerat tanar, la o alta valoare, mereu va apare aceasta @ntrebare.
O cale, mult mai naturala de construire a multimii B ar fi sa relaxam separatia dintre tanar si netanar. Acest lucru @l putem face evitand deciziile stricte de genul "Da, el/ea face parte din multimea oamenilor tineri", sau "Nu, el/ea nu fac parte din multimea oamenilor tineri", ci folosind fraze mult mai flexibile precum "Ei bine, el/ea este @ntr-adevar tanar (tanara)" sau "Nu, el/sau ea nu mai este asa de tanar (tanara)".
Dar sa explicitam mai mult aceste lucruri si sa vedem cum multimile fuzzy ne permit sa definim notiuni ca el/ea este putin mai tanar. #n primul exemplu noi am codificat toate elementele universului discursului cu 0 sau 1. O cale mai directa de a generaliza acest concept este de a admite mai multe valori @ntre 0 si 1. De fapt, noi admitem o infinitate de variante @ntre 0 si 1 si anume @ntregul interval a0,1s.
De data aceasta, interpretarea numerelor asignate elementelor universului discursului este mult mai dificila. Desigur ca, numarul 1 asignat unui element @nseamna ca elementul respectiv este @n B, iar numarul 0 asignat unui element al spatiului problemei, @nseamna ca elementul respectiv nu este @n multimea B. Oricare din celelalte valori @nseamna o apartenenta graduala la multimea B.
Pentru a fi mult mai concreti vom reprezenta grafic multimea oamenilor tineri prin intermediul functiei ei de apartenenta. Graficul respectiv este redat @n Figura s22.
Fig. s22. Graficul functiei
de apartenenta la multimiea fuzzy B
Din acest grafic se poate citi ca varsta de 25 ani face parte din varsta tanara @ntr-o proportie de 25%. Aceasta interpretare este posibila deoarece, asa cum am spus mai sus, nu este rational sa consideram ca o persoana care are 20 de ani si o zi ne este tanara. Deci am fost obligati sa consideram mai multe grade de tinerete.
Dupa ce am vazut ce este o multime fuzzy sa vedem @n continuare ce putem face cu aceste multimi. Deci sa introducem operatiile de baza asupra multimilor fuzzy: intersectia, reuniunea si negatia (complementara unei multimi). #n lucrarea sa, @n care pune bazele multimilor fuzzy Lotfi Zadeh a sugerat ca pentru intersectie sa se foloseasca notiunea de operator minimal, iar pentru reuniune cea de operator maximal.
Este usor de constatat, ca daca cei doi operatori coincid cu intersectia si, respectiv cu reuniunea, este suficient sa consideram grade de apartenenta @ntre 0 si 1.
#n ideea clarificari acestor lucruri, vom da cateva exemple. Fie A multimea fuzzy a numerelor reale din intervalul 5, 8, iar B multimea numerelor reale din jurul lui 4. Graficul functiilor de apartenenta ale celor doua multime este redat @n Figura s2s
a)
b)
Fig. s2s Graficul functiilor de apartenenta la multimile fuzzy A si B
#n continuare prezentam
graficul functiilor de apartenenta pentru operatorul minimal
Fig. s24. Graficul functiei de apartenenta a operatorului minimal (linia @ngrosta)
Fig. s25. Graficul functiei de apartenenta a operatorului maximal (linia @ngrosta)
Fig. s26. Graficul functiei de apartenenta a negatiei multimii A (linia @ngrosta)
Multimile fuzzy pot fi introduse si altfel. Sa reluam exemplu cu multimea oamenilor simpli, sa-l dezvoltam definind alte trei multimi: cea a oamenilor tineri (varsta tanara), a varstei de mijloc si a oamenilor @n varsta (batrani). Considerand universul discursului ca fiind intervalul a0,80s si limitele de varsta a0,20s, pentru varsta tanara, a35,45s, pentru varsta de mijloc si a60,80s, pentru batrani, atunci cele trei multimi, pe care le notam cu A1, A2 si respectiv A3, le definim prin functiile lor de apartenenta de mai jos:
Graficele celor trei functii de apartenenta sunt redate @n Figura s27, iar @n Figura s28 este reprezentat graficul functiei caracteristice a complementarei multimii A1, adica a negatiei acesteia. #n Figura s29 este prezentat graficul functiei caracteristice a complementarei lui As
Fig. s27. Graficele functiilor
de apartenenta ale multimilor A1, A2 si As
Fig. s28. Graficul functiei
caracteristice a multimii complementare lui A1
Fig. s29. Graficul functiei
caracteristice a multimii negatiei (complementare) lui A3
Daca
A este o multime oarecare, atunci, din teoraia clasica a multimilor se stie ca
multimea complementara, pe care o putem nota cu
respectiv
#n Figura s30 este reprezentata grafic functia de
apartenenta
Fig. s30. Graficul functiei
de apartenenta a operatiei de intersectie
Logica fuzzy.
Unele programe de inteligenta artificiala exploateaza tehnici de aproximare a rationamentului. Aceste tehnici, care folosesc teoria matematica a multimilor fuzzy, simuleaza procesele rationamentului uman premitand calculatorului sa se comporte mai putin precis si mai putin logic decat calculatoarele obisnuite.
Incertitudinea si aproximarile, adesea destinul managerilor, sunt programate si implementate @n calculator. #nseamna oare aceasta ca masinile sunt mai confuze @n gandirea lor decat oamenii uneori? Nici pe departe. Dimpotriva, @n acest fel calculatoarele pot realiza decizii mult mai inteligente. La ora actuala s-au realizat programe care folosesc limbajul natural, cu ajutorul caruia se @mbunatateste expresia adjectivelor si adverbelor precum "asemanator", "foarte diferit", "probabil", "marginal".
Ideea de baza este ca deciziile luate nu @ntotdeauna se bazeaza pe alb sau negru, adevarat sau fals, adesea ele invoca culoarea gri si deci termenul "poate fi". De fapt, procesul creativ al deciziilor este nestructurat, @nselator, este polemic si incoerent.
Ideile teoriei multimilor fuzzy sunt avantajoase din urmatoarele motive:
garanteaza flexibilitatea. Rationamentul rigid poate foarte usor sa duca la obtinerea unor concluzii insatisfacatoare. Faceti loc pentru lucruri neasteptate si atunci foarte usor va puteti schimba strategia la nevoie.
lasa camp deschis optiunilor. Daca sunteti confruntat cu un numar de posibilitati, este nevoie sa le luati pe toate @n calcul. Dupa aceea folosindu-va de fapte si de intuite puteti face o supozitie buna.
elibereaza imaginatia. Pentru @nceput, din experienta, stiti ca ceva nu se poate realiza deoarece toate faptele sunt @mpotriva realizarii sale. De ce nu @ncercati sa va @ntrebati singuri '"Dar daca ?' Urmarti alta cale si vedeti unde ajungeti. Veti sfarsi prin a lua o decizie mai buna.
este mai iertatoare. Cand esti fortat sa iei o decizie alb sau negru, nu-ti poti permite sa gresesti, deoarece daca gresest pierzi. Alte cai sunt mai iertatoare. Aca ceva @ti imaginezi ca este 80% gri si el est de fapt 90% gri, nu vei fi penalizat prea mult.
In contrast cu factorul de @ncredere si cu probabilitatile subiective, care sunt utilizate doar cu cel mult doua valori, (de exemplu gradul de @ncredere si de ne@ncredere), multimile fuzzy sunt mai adaptate pentru evaluarea unei valori numerice dintr-un spectru de valori posibile. Logica fuzzy @nca nu a fost utilizata @n sistemele expert @n trecut si asta deoarece este foarte complexa si cere o putere de calcul foarte mare.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 3313
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved