Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

18
1 6.1 Introducere Cunoştinţele sunt reprezentate într-o formă simbolică, care poate fi manipulată de sistemele expert. Ele reprezintă o înţelegere individuală a unui subiect (domeniu) dat. Un domeniu este o arie de focalizare a subiectului. În dezvoltarea sistemelor expert, focalizarea pe un anumit domeniu reprezintă un punct cheie al reuşitei. Dacă dimensiunea domeniului ales este prea cuprinzătoare, cunoştinţele necesare se axează pe un număr mare de topici, iar performanţele sistemului expert vor avea de suferit. După achiziţionarea cunoştinţelor de la expertul specializat pe un anumit domeniu, este necesară codificarea acestor cunoştinţe în sistemul expert. Pentru aceasta este necesară structurarea cunoştinţelor într-un mod care să permită rezolvarea problemei într-un mod similar celui urmat de un expert uman. Acest procedeu este cunoscut sub numele de reprezentarea cunoştinţelor. Reprezentarea cunoştinţelor este o metodă de codificare a cunoştinţelor în baza de cunoştinţe a unui sistem expert. 6. REPREZENTAREA CUNOŞTINŢELOR

description

curs sisteme informatice

Transcript of Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

Page 1: Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

1

6.1 Introducere Cunoştinţele sunt reprezentate într-o formă simbolică, care poate fi manipulată de sistemele expert. Ele reprezintă o înţelegere individuală a unui subiect (domeniu) dat. Un domeniu este o arie de focalizare a subiectului. În dezvoltarea sistemelor expert, focalizarea pe un anumit domeniu reprezintă un punct cheie al reuşitei. Dacă dimensiunea domeniului ales este prea cuprinzătoare, cunoştinţele necesare se axează pe un număr mare de topici, iar performanţele sistemului expert vor avea de suferit. După achiziţionarea cunoştinţelor de la expertul specializat pe un anumit domeniu, este necesară codificarea acestor cunoştinţe în sistemul expert. Pentru aceasta este necesară structurarea cunoştinţelor într-un mod care să permită rezolvarea problemei într-un mod similar celui urmat de un expert uman. Acest procedeu este cunoscut sub numele de reprezentarea cunoştinţelor. Reprezentarea cunoştinţelor este o metodă de codificare a cunoştinţelor în baza de cunoştinţe a unui sistem expert.

6. REPREZENTAREA CUNOŞTINŢELOR

Page 2: Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

Reprezentarea cunoştinţelor este un fapt crucial. Cercetările în domeniul IA au arătat clar că chiar rezolvarea unor probleme aparent simple necesită o cantitate importantă de cunoştinţe. De exemplu, simpla înţelegere a unei singure propoziţii necesită cunoaşterea atât a limbajului, cât şi a contextului. În mod similar, înţelegerea unei scene vizuale necesită înţelegerea tipurilor de obiecte existente în scenă. Rezolvarea unei probleme dintr-un anumit domeniu necesită în general cunoştinţe despre obiectele din domeniu şi despre modul în care trebuie raţionat în domeniul respectiv – şi amândouă aceste tipuri de cunoştinţe trebuie reprezentate. Cunoştinţele trebuie reprezentate în mod eficient, astfel încât să poată fi înţelese. Eficienţa este importantă, deoarece ar fi imposibil, sau cel puţin nepractic, să fie reprezentat explicit fiecare fapt necesar în soluţionarea unei probleme. Există extrem de multe fapte potenţial utile la care nici nu te-ai gândit vreodată. Este necesar să putem deduce noi fapte din faptele şi cunoştinţele deja existente şi să putem capta într-o formă generală abstractizată trăsăturile generale ale unor seturi de obiecte din lumea reală. Cunoaşterea trebuie astfel reprezentată încât să nu i se piardă înţelesul şi legătura cu lumea reală. O schemă de reprezentare a cunoştinţelor asigură o mapare a trăsăturilor din lumea reală într-un limbaj formal de reprezentare. Limbajul formal va capta doar anumite aspecte ale lumii reale, pe care le considerăm importante în cadrul problemei noastre. Putem ignora din greşeală anumite aspecte cruciale şi eşua astfel în rezolvarea problemei (cum ar fi, de exemplu ignorarea frecării într-o problemă de mecanică). În orice caz, când se manipulează limbajul formal cu ajutorul unui calculator, trebuie să fim convinşi că expresiile obţinute au sens în lumea reală. La acest fapt se referă termenul de semantică utilizat în limbajele de reprezentare.

Page 3: Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

În general, un limbaj bun pentru reprezentarea cunoştinţelor trebuie să aibă cel puţin următoarele caracteristici: • trebuie să permită exprimarea cunoştinţelor ce trebuie

reprezentate; • trebuie să permită inferarea de noi cunoştinţe utilizând setul

de fapte de bază. Limbajul trebuie să fie clar şi să aibă sintaxa şi semantica bine definite. Înţelesul expresiilor ce pot fi utilizate trebuie să fie clar pentru a fi siguri de înţelesul rezultatului obţinut. De exemplu, dacă avem următorul fapt “Elefantul este gri” trebuie să ştim clar dacă aceasta înseamnă că “toţi elefanţii sunt gri” sau “anumiţi elefanţi sunt gri” sau altceva.

Unele dintre aceste trăsături pot fi prezente şi în limbaje nespecifice IA, cum ar fi limbajele deductive sau orientate spre obiecte, care au fost influenţate de cercetările în domeniul IA. Există speranţa îmbinării fertile a ideilor din ambele categorii de limbaje în scopul obţinerii unor baze de cunoştinţe / baze de date multiutilizator robuste, cu semantica bine definită, flexibilitate în reprezentarea cunoştinţelor şi capabilităţi de inferenţă. Totuşi, în prezent cele două domenii sunt încă separate. 6.2 Tipuri de cunoştinţe În tabelul 6.1. sunt enumerate diferitele tipuri de cunoştinţe. Detalierea lor este făcută în continuare. Cunoştinţele procedurale descriu cum se rezolvă o problemă. Regulile, strategiile, agendele şi procedurile constituie exemple tipice de cunoştinţe procedurale utilizate în sistemele expert.

Page 4: Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

Tabelul 6.1 Tipuri de cunoştinţe Cunoştinţe procedurale -reguli

-strategii -agende -proceduri

Cunoştinţe declarative -concepte -obiective -fapte

Meta-cunoştinţe -cunoştinţe despre alte tipuri de cunoştinţe -cunoştinţe dobândite utilizând alte tipuri de cunoştinţe

Cunoştinţe euristice -reguli de bun simt Cunoştinţe structurale -seturi de reguli, concepte,

subconcepte, obiecte

Cunoştinţele declarative descriu ce se cunoaşte despre o problemă. Aceste cunoştinţe includ declaraţii simple (care pot fi adevărate sau false), cât şi liste de declaraţii, care permit o descriere mai completă a unui anumit obiect sau concept. Metacunoştinţele descriu cunoştinţe despre cunoştinţe Ele sunt utilizate pentru a direcţiona raţionamentul în sisteme expert şi arată cum trebuie utilizate şi controlate cunoştinţele din domeniu. Cunoştinţele euristice descriu reguli de bun simţ, adică reguli dobândite din experienţă. Ele sunt denumite şi cunoştinţe de suprafaţă. Cunoştinţele structurale descriu structura cunoştinţelor. Ele prezintă un model mental al problemei, model care este utilizat de expert şi care include concepte, subconcepte şi obiecte.

Page 5: Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

6.3 Tehnici de reprezentare a cunoştinţelor

6.3.2 Reguli de producţie Reprezentarea cunoştinţelor prin reguli de producţie este modul de reprezentare cel mai utilizat în sistemele expert (Cârstoiu, 1994). Cunoştinţele din regulile de producţie sunt de natură procedurală şi pot fi definite următoarele componente: • cunoştinţe declarative sau factuale, care reprezintă piese de

cunoaştere stocate sub forma unor structuri de date într-o colecţie numită context;

• cunoştinţe procedurale reprezentate sub forma unei colecţii de tip condiţie-acţiune denumite şi reguli de producţie, colecţie ce formează baza de reguli;

• cunoştinţe strategice sau de control formate din reguli ce privesc secvenţele de acţiuni din procesul de rezolvare.

Pentru un sistem expert este deosebit de importantă cunoaşterea faptelor furnizate de către utilizator, fapte care permit sistemului să înţeleagă starea curentă. Sistemul trebuie să fie însă înzestrat şi cu cunoştinţe suplimentare, care să-i permită să manevreze inteligent faptele în scopul rezolvării unei probleme date (Durkin, 1994). Una dintre structurile utilizate frecvent pentru a asigura aceste cunoştinţe suplimentare este regula. Regula este o structură de reprezentare a cunoştinţelor, care leagă anumite informaţii cunoscute cu alte informaţii care pot fi deduse (inferate). Regulile pot reprezenta cunoaşterea în diferite feluri cum ar fi: • relaţie:

DACĂ bateria e moartă ATUNCI maşina nu porneşte

Page 6: Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

• recomandare

DACĂ maşina nu porneşte ATUNCI ia un taxi

• directivă

DACĂ maşina nu porneşte ŞI sistemul de alimentare este ok ATUNCI verifică sistemul electric

• strategie

DACĂ maşina nu porneşte ATUNCI verifică întâi sistemul de alimentare şi apoi

sistemul electric • euristică

DACĂ maşina nu porneşte ŞI maşina este Oltcit ATUNCI verifică plutitorul.

În cazul sistemelor de expert, pentru stabilirea bazelor de cunoştinţe euristice, există mai multe abordări (Frost, 1986; Torasso şi Console,1989). În general, reguli specifice sunt aplicate pentru a stabili corelaţii logice între simptome observate şi cauze. Propagarea de la cauze la simptome observabile urmăreşte, în general, relaţia cauză-efect, unde proprietăţi fizice şi variabile sunt legate unele de altele cantitativ şi ca funcţii de timp. Totuşi, în mare parte din cazuri, legile fizice care guvernează fenomenul sunt mult prea complicate pentru a fi exprimate în formă analitică sau sunt prea complicate pentru a fi utilizate în calcule. În aceste cazuri, numai cauzalităţile sunt cunoscute într-o formă calitativă.

Page 7: Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

Cum şi legătura temporală între cauze şi efecte (dinamica) nu este cunoscută, cauzalităţile se restrâng, în general, la comportarea statică. Câteodată se cunoaşte doar sensul (semnul) unor modificări consecutive. Cunoştinţele euristice aşa cum apar ele în modele calitative, se pot exprima sub formă de reguli:

DACĂ <condiţie> ATUNCI <concluzie> (6.1) Premiza (partea de condiţie) conţine fapte exprimate sub forma unor simptome observate Si ca intrări, iar concluzia este reprezentată de evenimentele Ek şi incidentele Fj ca o cauză logică a faptelor. Înlănţuirea regulilor stabileşte dependinţele cauzale dintre simptome şi incidente de o manieră ierarhică. De aceea, sunt introduse evenimentele intermediare Ek. Această procedură conduce la un arbore de decizie incident-simptom ("fault-symptome tree") legând simptomele şi evenimentele ca în Figura 6.6.

Figura 6.6 Structura arborelui incidentelor simptomului

cu cunoaşterea euristică

Page 8: Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

Stabilirea rezultatelor arborelui incident-simptom foloseşte analiza utilizând arborii de incidente FTA ("Fault Tree Analysis") pornind de la apariţia incidentelor, trecând prin evenimente intermediare spre simptome observabile (cauzalităţi fizice) sau analiza arborilor de evenimente ETA ("Event Tree Analysis"), pornind de la simptome spre incidenţe (Lee şi alţii, 1985). Simptomele şi evenimentele sunt asociate cu legăturile ŞI şi SAU (vezi Figura 6.6) şi regulile devin

DACĂ < [ ξi ŞI ξi+1 ŞI . . . ξv ] SAU (6.2) [ξi’ ŞI ξi’-1 ŞI ξv’-1 ] SAU [ . . . ] > ATUNCI < [ ηk ] >

unde

Si :simptome, Si EK :evenimente, Si Fj :incidente, Si Γ: legături logice.

În modelul clasic de arbore de analiză, simptomele si evenimentele sunt considerate variabile binare cu ξi = 1, pentru valoarea adevărat şi ξi = 0 pentru fals. Condiţia regulilor DACĂ – ATUNCI poate fi calculată folosind ecuaţii booleene pentru conectori seriali-paraleli:

( )Γ ε η εγ

= = − −

∏∏K j

v j

1 111

( )

(6.3)

unde

ξ ∈ [ Ek, Si ] set de evenimente, simptome (intrări)

Page 9: Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

η ∈ [ Ek, Fj ] set de evenimente, incidente (ieşiri) γ : numărul de conjuncţii ν(j) : numărul de literali pe conjuncţie

Aceasta se bazează pe următoarele relaţii de bază pentru algebre booleene

ŞI: ε 1∧ε η ε ε2 1 2→ = (6.4) SAU :ε 1∨ε η ε ε ε ε2 1 2 1 2→ = + − (6.5)

NOT:ε η ε1 11→ = − (6.6) Bazându-se pe experienţă, un expert formează mai multe seturi de reguli, ce pot fi aplicate problemei considerate (Durkin, 1994). Un set de reguli poate fi aplicat unei probleme date, fiind fără utilizare în alte probleme. Seturile de reguli pot fi organizate într-un mod ierarhic, stil tipic pentru modul uman de rezolvare a problemelor. Aceasta serveşte unei direcţionări a modului de raţionament în scopul unei investigări mai detaliate a problemei. Acest tip de structură modulară asigură o ordonare naturală a setului de reguli specific domeniului, propunând şi o abordare top-down de rezolvare a problemei, în care seturi specifice de reguli sunt utilizate numai atunci când este necesar. Un alt avantaj al acestei abordări este acela al uşurării dezvoltării şi întreţinerii sistemului. În timpul dezvoltării unui sistem expert, atenţia poate fi focalizată, la un moment dat, asupra unui singur modul. În plus, deoarece o mare parte a efortului este consumată pentru modificarea şi menţinerea bazei de cunoştinţe, aspectul modular utilizat în proiectare facilitează diminuarea acestui efort. Un alt avantaj tehnic oferit de această abordare este acela că, deoarece fiecare modul poate fi un sistem expert separat, este posibilă integrarea de tipuri diferite de metode de reprezentare a cunoştinţelor şi de strategii de inferenţă în cadrul aceluiaşi sistem.

Page 10: Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

Reguli variabile În anumite aplicaţii avem de executat aceeaşi operaţie asupra unui set similar de obiecte. Se poate scrie aceeaşi regulă pentru fiecare obiect în parte, dar acest lucru este foarte laborios şi ineficient, conducând atât la un consum nejustificat de memorie, cât şi la o întreţinere dificilă a sistemului. Să considerăm următorul exemplu, care are drept concluzie faptul că studentul Ion Popescu a promovat examenul:

DACĂ Ion Popescu este student ŞI Ion Popescu are nota_examen > 4 ATUNCI Ion Popescu a promovat examen

Regula verifică dacă Ion Popescu este student şi nota_examen pe care o are pentru a decide dacă el a promovat examenul. Dacă se doreşte aceeaşi verificare şi pentru alte persoane, atunci ar trebui scrisă o regulă similară pentru fiecare dintre ele, ceea ce este ineficient. De aceea se utilizează reguli “pattern-matching”, care include variabile, care pot fi utilizate pentru a se potrivi cu declaraţii similare apărute în cadrul problemei. Considerăm din nou exemplul precedent, dar scriem regula utilizând variabile:

DACĂ ?X este student ŞI ?X are nota_examen > 4 ATUNCI ?X a promovat examen

Sunt parcurse faptele din memoria de lucru pentru a vedea dacă se potrivesc cu primele două premise ale regulii. Dacă sunt găsite astfel de fapte, atunci se poate trage concluzia de promovare a examenului.

Page 11: Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

Pentru a vedea cum lucrează regula presupunem că în memoria de lucru există următoarele informaţii (fapte):

Ion Popescu este student Ion Popescu nota_examen = 7 Maria Ionescu este student Maria Ionescu nota_examen = 9

Prima premisă parcurge această listă de informaţii şi asignează variabilei ?X numele studenţilor găsiţi în memoria de lucru. Este apoi verificată a doua premisă pentru a vedea dacă persoanele instanţiate în ?X au nota_examen peste 4. Dacă se găseşte îndeplinită şi această condiţie, atunci amândouă premisele se potrivesc si concluzia regulii este ca studentul instanţiat ?X a promovat examenul, iar această informaţie se poate adăuga memoriei de lucru, ca două noi aserţiuni:

Ion Popescu a promovat examen Maria Ionescu a promovat examen

Regulile “pattern-matching” asigură un mod eficient de procesare a informaţiei, atât din punct de vedere al codificării sistemului, cât şi din punct de vedere al întreţinerii lui. De asemenea, ele permit capturarea directă în reguli a informaţiilor obţinute de la expertul în domeniu. De exemplu, în cazul precedent expertul putea să comunice următoarea informaţie:

“Dacă un student are nota la examen peste 4, atunci el a promovat examenul”.

Regulile “pattern-matching” sunt frecvent utilizate în SE bazate pe cadre (vezi Subcapitolul 9.1.10).

Page 12: Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

Reguli incerte Un expert poate furniza o regulă, care stabileşte asociaţii inexacte între premisă şi concluzie. De exemplu:

DACĂ Inflaţia este mare ATUNCI Aproape sigur dobânda la banca este mare

Pentru a capta în regulă gradul de încredere pe care expertul îl are în cele afirmate anterior, utilizăm un factor de certitudine prin care codificăm afirmaţia “Aproape sigur”. Exemplul devine:

DACĂ Inflaţia este mare ATUNCI Dobânda la bancă este mare FC = 0.8

6.3.4 Cadre Ca o extensie a reţelelor semantice a apărut schema, propusă de Barlett în 1932. Ea este o unitate care conţine cunoştinţe declarative şi procedurale despre un anumit obiect şi păstrează informaţii stereotipe despre un concept, informaţii generice care pot fi particularizate pe un caz concret. Proiectanţii de sisteme expert utilizează astfel de structuri de date pentru reprezentarea cunoştinţelor stereotipe referitoare la un anumit concept sat obiect şi le denumesc cadre. Termenul a fost propus de Minski (1975). Structura generală a unui cadru este prezentată în Figura 6.7. Cadrul are un nume (Obiect 1), care reprezintă numele obiectului reprezentat în cadru. Există, de asemenea, câmpuri (Proprietate 1, Proprietate 2 etc.) care sunt trăsături sau atribuite care descriu obiectul reprezentat. Fiecărei proprietăţi i se atribuie o valoare

Page 13: Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

(Valoare 1, Valoare 2 etc.). Aceste proprietăţi şi valorile lor formează o listă de declaraţii de tip O-A-V. Valorile proprietăţilor pot fi de trei tipuri: booleene, numerice sau şir de caractere.

Nume cadru Obiect 1

Clasă Obiect 2

Proprietăţi Proprietate 1 Valoare 1

Proprietate 2 Valoare 2 . . . . . .

Figura 6.7 Structura generală a cadrului În cadru este inclus şi un câmp opţional denumit clasă, care reprezintă numele unui alt cadru (Obiect 2) corelat cu cadrul Obiect 1. Relaţia dintre aceste două cadre este de tipul ”este –un” discutat în cadrul reţelelor semantice. Se formează astfel o relaţie de forma „Obiect 1 este un Obiect 2”. Un exemplu este prezentat în Figura 6.8.

Nume cadru Ion

Clasă Om

Proprietăţi Vârstă 30

Sex M . . . . . .

Figura 6.8 Exemplu de cadru

Page 14: Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

Deci, Ion este un om, în vârstă de 30 de ani de sex masculin etc.

Cladrul clasă reprezintă caracteristicile generale ale unui set de obiecte. Sunt definite proprietăţile comune şi valorile asociate lor. Proprietăţile pot fi de două tipuri: • statice, care descriu trăsături care nu se schimbă în timp; • dinamice, care descriu trăsături care se schimbă în timpul

operării sistemului în Figura 6.9 este reprezentată o astfel de clasă.

Proprietăţile Culoare şi Nr_aripi sunt statice, iar Foame este dinamică. Valorilor necunoscute li se asigură valori în momentul în care este luată în consideraţie o anume pasăre. Cadrele instanţă descriu o instanţă specifică a unui cadru clasă şi moştenesc proprietăţile şi valorile acesteia. În cazul în care este necesar, pot fi adăugate şi proprietăţi suplimentare (vezi Figura 6.10). De exemplu, apare proprietatea „Trăieşte_în” cu valoarea colivie.

Nume cadru Pasăre

Proprietăţi Culoare Necunoscută

Nr_aripi 2 Zboară Adevărat Mănâncă Insecte Foame Necunoscută

Figura 6.9 Exemplu de clasă

Page 15: Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

Nume cadru Papagal

Clasă Pasăre

Proprietăţi Culoare Galben

Nr_aripi 2 Zboară Adevărat Mănâncă Seminţe Foame Necunoscută Trăieşte_în colivie

Figura 6.10 Cadrul papagal Valorile anumitor proprietăţi pot fi modificate, cum ar fi „Mănâncă” cu noua valoare „seminţe”. În afara moştenirii unor informaţii descriptive (proprietăţi), instanţele moştenesc şi modul de comportare. Pentru a realiza acest lucru, în cadre sunt incluse şi proceduri (denumite metode), care definesc anumite acţiuni ce pot fi executate. De exemplu pentru Figura 6.10 poate fi definită o metodă care să explice secvenţa de acţiuni executate de Papagal în momentul în care îi este Foame. Acest lucru va fi dezvoltat când vor fi prezentate faţetele. Structuri ierarhizate. Pe lângă crearea unei clase şi a instanţelor sale asociate, pot fi create şi structuri complexe de cadre (vezi Figura 6.11). Conceptul de pasăre este organizat astfel într-o structură având diferite niveluri de abstractizare. Pe nivelul superior se găsesc informaţii comune tuturor păsărilor (clasa păsărilor), nivelul mediu (subclase) conţine şi informaţii specifice unor anumite categorii de păsări (informaţii care fac diferenţierea între categorii de păsări), nivelul al treilea conţinând cadrele

Page 16: Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

instanţă. Fiecare instanţă moşteneşte informaţiile aferente nivelului superior, adică informaţii de la cadrul părinte ş.a.m.d. Faţetele sporesc cunoaşterea relativă la o proprietate, asigurând control adiţional asupra valorilor unei proprietăţi şi asupra operării sistemului: a) Faţetele definesc constrângeri asupra proprietăţilor şi anume:

• definesc tipul valorii asociate unei proprietăţi (şir de caractere, numeric sau boolean);

• definesc valori împletite pentru proprietăţi; • stabilesc numărul minim sau maxim de valori pe care le

poate avea o proprietate sau gama de valori pentru ea; • asigură documentare asupra unei proprietăţi;

b) O faţetă poate fi utilizată pentru a furniza unei proprietăţi o

anumită valoare sau pentru a preciza ce se întâmplă dacă valoarea unei proprietăţi se schimbă.

Faţeta IF-NEEDED defineşte o metodă care se execută de câte ori este necesară obţinerea unei valori asociate unei anumite

Page 17: Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

17

Figura 6.11 Cadrele pentru lumea păsărilor

Pasăre

Papagal Canar

Pasăre 5 Pasăre 3

Rândunică

Pasăre 4 Pasăre 2 Pasăre 1

Page 18: Sisteme informatice pt mediul industrial - Curs 6 - Reprezentarea cunostintelor.pdf

18

proprietăţi. Această valoare se poate obţine de la utilizatori, din baze de date, spreadshet-uri, de la un algoritm, de la alt obiect sau chiar de la alt sistem expert. Acest fapt este necesar şi când valoarea unei proprietăţi depinde de valorile altor proprietăţi care se schimbă dinamic în timpul unei sesiuni de lucru. Metoda este scrisă în general în limbaj procedural. Faţeta IF-CHANGED defineşte acţiuni specifice când valoarea unei proprietăţi se schimbă. În acest caz se execută o metodă pentru anumite valori ale atributelor. Execuţia acestei metode în cadrul clasă asigură generalitate în sistem, dar fiecare instanţă poate ajusta această comportare pentru a fi potrivită propriilor nevoi. Necesitatea execuţiei acestei faţete poate fi legată de faptul că schimbarea valorii unei proprietăţi într-un cadru poate avea impact asupra valorii proprietăţii în alt cadru, cum ar fi în cazul aplicaţiilor de simulare şi control. De asemenea, schimbarea unei anumite proprietăţi într-un cadru poate conduce la necesitatea schimbării altei proprietăţi în acelaşi cadru.