gabis/docdiplome/sistemeexpert/luc... · web viewregulile pot fi clasificate în funcţie de natura...

113
UNIVERSITATEA “BABEŞ-BOLYAI” CLUJ-NAPOCA FACULATATEA DE MATEMATICĂ ŞI INFORMATICĂ SECŢIA INFORMATICĂ LUCRARE DE DIPLOMĂ ARHITECTURI DE SISTEME EXPERT. APLICAŢIE ÎN MEDICINĂ. Absolventă: Îndrumător: OANA FRUNZĂ Lect. Gabriela Şerban

Upload: others

Post on 26-Jan-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

UNIVERSITATEA “BABEŞ-BOLYAI” CLUJ-NAPOCA

FACULATATEA DE MATEMATICĂ ŞI INFORMATICĂ

SECŢIA INFORMATICĂ

LUCRARE DE DIPLOMĂ

ARHITECTURI DE SISTEME EXPERT.

APLICAŢIE ÎN MEDICINĂ.

Absolventă: Îndrumător:

OANA FRUNZĂ Lect. Gabriela Şerban

IUNIE 2004

Page 2: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

CUPRINS

I. INTRODUCERE…………………………………………………………..... 4

1.1 Inteligenţa Artificială tradiţtională……………………………………4

1.2 Ce sunt Sistemele Expert?.......................................................................6

1.2.1 Prin ce diferă un Sistem Expert de un program calsic? ...........7

1.2.2 Prin ce diferă un Sistem Expert de un expert uman ? ..............9

1.2.3 Exemple de Sisteme Expert…………………………………….10

II. CONCEPTE FUNDAMENTALE IN TEORIA SISTEMELOR EXPERT

2.1 Definiţia Sistemelor Expert……………………………………………14

2.2 Concepte de baza ale Sistemelor Expert……………………………...15

2.3 Arhitectura unui Sistem Expert………………………………………18 2.4 Sisteme multi-expert…………………………………………………...21 2.4.1 Arhitectura Sistemului multi-expert…………………………..21

2.4.2 Comunicarea intre modulele de cunoastere………………….22

2.5 Criterii de evaluare……………………………………………………24

III. ORGANIZAREA UNUI SISTEM EXPERT ………………………….25 3.1 Baza de cunoştinţe …………………………………………………26 3.1.1 Metode de reprezentare a cunoaşterii .......………………..26 3.2 Motorul de inferenţă ………………………………………………..32

3.3 Agenda ………………………………………………………………33 3.4 Modul de achiziţie al cunoaşterii …………………………………..34

2

Page 3: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

3.5 Modul de explicaţie ...........................................................................35

IV. METODE DE REALIZARE A SISTEMELOR EXPERT ...................35

4.1 Etapele realizării Sistemelor Expert…………………………….....35

4.2 Alegerea unei Probleme ....................................................................37

4.3 Generatoare de Sisteme Expert ……………………………………38

V. MED-EXPERT. APLICATIE ÎN MEDICINĂ …………………………41

5.1 Scopul aplicaţiei ……………………………………………………..43

5.1.1 Descrierea aplicaţiei …………………………………………..44

5.2 Baza de cunoştinţe …………………………………………………..45

5.3 Mecanismul de inferenţa …………………………………………....53

VI. CONCLUZII ……………………………………………………………......73 VII. BIBLIOGRAFIE …………………………………………………………..76

3

Page 4: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

PREFAŢĂ

Lucrarea de faţă descrie un Sistem Expert, arhitectura acestuia, modul în care acesta face

deducţii şi alte probleme aferente modului de concepere, realizare a unui astfel de sistem.

Ca suport al problemelor teoretice care vor fi prezentate în această lucrare, se va putea găsi

şi descrierea unei aplicaţii practice de Sistem Expert de diagnoză şi tratament numită MED-

EXPERT.

Sistemul este capabil să ajute un personal medical la diagnosticarea disfuncţionalităţilor :

Ulcer Duodenal, Gastrită Acută, Litiază Biliară. Odată ajunsă la o anumită concluzie, pacientul

suferă de o anumită afecţiune, aplicaţia, este capabilă să sugereze şi un tratament ţinând cont de

starea pacientului interogat.

Utilizatorii pot fi atât doctori cât şi pacienţi. Un utilizator doctor are posibilitatea

modificării, ştergerii, adăugării unor cunoştinţe în baza de date pe care sitemul o posedă.

Un pacient care rulează aplicaţia o poate folosi doar pentru a-şi verifica starea de sănătate

din punct de vedere al disfuncţionalităţilor mai sus menţionate.

Ţinând cont de capacităţile pe care MED-EXPERT le are, el poate fi considerat un partener

de încredere atunci când este nevoie de o « mână de ajutor » în materie de diagnostic şi tratament.

4

Page 5: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

I.INTRODUCERE

1.1 Inteligenţa Artificială Tradiţională

Ce este Inteligenţa Artificială? O intrebare, al cărei raspunsul nu este simplu de dat.

Problemele pe care le dezbat cercetătorii, care încearcă să ne dea un răspuns la această întrebare, au

dus la cercetari complexe incepute cu mult timp in urma, şi care continuă şi in ziua de astăzi.

Ca să putem răspunde la această intrebare ar trebui mai intâi să inţelegem ce inseamnă

Inteligenţa. A spune că inteligenţa este doar abilitatea de a gândii abstract si de a inţelge lucrurile

care ne înconjoară, este prea puţin. Inteligenţa inseamnă mult mai mult decât atât şi include

abilitatea de a realiza acţiuni complexe, capacitatea de invăţare, de adaptare, de a reacţiona cu

mediul inconjurator, de a trăii emoţii.

După ce am reuşit să ne facem o idee despre ce inseamnă inteligenţa am putea spune că,

Inteligenţa Artificială este căutarea de a reproduce diferite aspecte ale inteligenţei in materiale non-

biologice si sisteme [1]. Una dintre cele mai cunoscute definiţi ale Inteligenţei Artificiale este: ”

studiul in care putem face calculatoarele să realizeze lucruri, care pentru moment, sunt mai bine

făcute de către oameni” (Rich, 1991).

Inteligenţa artificială este o inteligenţa reală? Răspunsul cel mai des pe care l-am putea auzi,

ar fi ca nu, la fel cum o perlă artificială este una falsă, nu una adevarată. Poate că, ”Inteligenţa

Sintetică” ar fi un nume mai potrivit, la fel cum o perlă sintetică nu poate fi una naturală dar este e

perlă adevărată.

Scopul Inteligenţei Artificiale este să inţeleagă sistemele reale inteligente (naturale sau

sintetice) prin sintetizarea lor [2]. Simularea unui cutremur, nu este un cutremur adevărat, astfel

tendinţa este de a crea inteligenţă, la fel cum ne-am putea imagina creând un cutremur. Modelul

5

Page 6: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

individului inteligent este omul, dar am putea considera ca model de inteligenţă si o colonie de

furnici pentru că ele, privite in ansamblu sunt net mai inteligente decât fiecare individ al speciei

privit separat. Colonia este cea care poate să descopere hrană şi să o exploateze foarte eficient şi tot

ea este in masură să se adapteze la noi schimbări. La fel cum şi o companie poate sa dezvolte, sa

comercializeze şi distribuie produse ceea ce necesită o colecţie de aptitudini mult mai mari decât

cea a unui singur individ.

Societatea, vazută ca un agent poate fi considerată ca cel mai inteligent agent cunoscut

vreodată. Exemplele pe care le luăm şi care vrem să le transpunem intr-o lume ”artificială” sau

”sintetică”, sunt atât de natura biologică cât şi de natură organizaţională.

Instructiv, am putea considera o analogie intre dezvolatrea maşinilor de zbor în ultimele

secole şi dezvolarea maşinilor care gândesc in ultimele decenii. Spre deosebire de maşinile de zbor,

care doar imită acţiune pe care o fac unele animale, cercetările din Inteligenţa Computaţională,

incercă sa creeze maşini care sunt inteligente şi care nu mimeaza organizaţia umană. Aceasta duce

la o anumită asemănare intre intrebarea: ”Pot calculatoarele intradevăr să gândească?” şi

intrebarea: ”Pot avioanale să zboare?” [2].

Rădăcinile Inteligenţei Artificiale şi conceptul de maşini inteligente pot fi găsite în

mitologia Greaca. Primul sistem inzestrat cu un raţionament, a fost realizat in secolul 5 B.C. de

catre Aristotel care a inventat logica silogistă. Descoperirile şi realizarile în acest domeniu au

continuat şi inca continuă, dar merită să fie menţionată realizarea maşinii Turing din secolul 20,

instrument care ar putea fi folosit la verificarea inteligenţei unei maşini. Cercetarile si realizările din

zilele noastre, au făcut posibile conceperea unor sisteme înzestarte cu capacitaţi foarte apropiate de

cele umane, roboţii. Acest domeniu de cunoaştere şi cercetare, a devenit astazi foarte raspândit şi in

ştiinţele sociale incluzând studii economice, militare şi de previziune.

Logica, sistemele de reguli, lingvistica, şi conceptul de raţionament sunt ideile care stau la

baza Inteligenţei Artificiale tradiţionale, la rădăcina căreia se află limbajele de programare Lisp si

Prolog.

6

Page 7: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

1.2 Ce sunt Sistemele Expert?

Sistemele Expert au fost pentru prima dată introduse impreună cu conceptul de Inteligenţă

Artificială. Acestea fac parte dintr-o gamă de instrumente indinspensabile pentru realizarea de

instrumente automate sau interactive capabile să realizeze sarcini complexe. Sistemele Expert pot fi

considerate programe soft care operază intr-un sistem sofisticat la fel cum o fac si expertii umani.

Cu alte cuvinte, acestea sunt aplicaţii software care imită judecata experţilor umani dintr-un

domeniu bine conturat [3].

Un Sistem Expert este un ”sfătuitor computerizat” care este capabil să raţioneze

(şi nu doar să arate o enumerare de date), dar care se ocupă de obicei de un spaţiu mic de

cunoştinţe, numite de altfel ”domeniu de cunoştinţe”. Cunoştinţa pe care o posedă este activă

deoarece ea poate fi folosită pentru a deduce noi informaţii din ceea ce este deja cunoscut despre o

problemă. Având in vedere faptul că, cunoştinţa pe care care o posedă un sitem expert tinde să fie

legată de aplicaţii specifice, ele nu sunt aşa de răspândite ca bazele de date, a căror cunoştinţă poate

fi folosită in diferite aplicaţii. Cea mai des intâlnită reprezentare de cunoştinţe la Sistemele Expert o

reprezintă regulile. Dr. Marvin Minsky definea Inteligenţa Artificială ca fiind: "Domeniu de studiu

care incearcă să construiască sisteme care dacă ar fi încercate de oameni ar fi considerate

inteligente”[4].

Înca din anii 1970, o varietate de Sisteme Expert, au fost folosite cu succes in diferite

domenii, cum ar fi cel al medicinei, al chimiei si chiar in domeniul computaţional, proiectarea

sistemelor de configuraţie pentru calculatoare. Aceste aplicaţii au fost privite ca o tehnologie nouă

foarte importantă şi guvernele ţărilor industriale au întâmpinat-o investind in cercetarea acestui

domeniu. Cu toate că proiectele încrezatoare care s-au lansat la acea vreme nu s-au realizat in

totalitate, o dezvoltare puternică in acest domeniu a avut loc. Sistemele Expert, sunt de departe cea

mai importantă parte comercială din tehnologiile Inteligenţei Artificiale aplicate.

7

Page 8: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

1.2.1 Prin ce diferă un sistem expert de un program clasic? [5]

Modularitate. Cunoaşterea care stă la baza puterii de raţionament a unui sistem expert

este divizată în reguli. În felul acesta piese elementare de cunoaştere pot fi uşor adăugate,

moficicate ori eliminate. Modularitatea reprezentării cunoaşterii asigură totodată şi posibilitatea de

menţinere la zi a bazei de cunoştinţe de către mai mulţi experţi simultan. Ea poate reprezenta astfel

opera unui colectiv de autori adesea dezvoltându-se pe o perioadă lungă de timp, simultan cu

intrarea ei in folosinţă.

Transparenţă. Un Sistem Expert poate explica soluţia pe care o dă la o anumită problemă.

Aceasta este de altfel un factor de importanţa majoră în asigurarea credibilităţii sistemelor expert

puse să furnizeze diagnostice medicale de exemplu. Pentru ca un medic să aibă incredere într-un

diagnostic furnizat de maşină, el trebuie să il inţeleagă. Cu toate acestea, Sistemele Expert de

diagnostic medicinal nu au fost foarte des folosite şi asta din principii de etică. Dacă un astfel de

sistem ar furniza un diagnostic greşit sau un tratament inadecvat pe cine s-ar da in judecată?

Soluţii in condiţii de incertitudine. Sistemele Expert pot oferi în general soluţii

problemelor care se bazeaza pe date nesigure ori incomplete. Dintr-un anumit punct de vedere un

Sistem Expert funcţionează ca o maşină care ştie să niveleze asperitaţile, ori care poate trece cu

uşurinţă peste ele. Adesea un mecanism foarte fin este şi foarte pretenţios, el putând funcţiona pe o

condiţie pentru care a fost proiectat. Aceasta este şi cazul unui program clasic, pentru care neputinţa

de a furniza valoarea exactă a unui parametru îl poate arunca pe o condiţie de eroare. Un Sistem

Expert ştie să facă faţă fie unor cunoştinte incomplete ori incerte asupra domeniului de expertiză,

fie unor date de intrare incomplete ori incerte.

8

Page 9: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

1.2.2 Prin ce diferă un Sistem Expert de un expert uman?

Sistemele Expert se deosebesc de specialiştii umani în mai multe privinţe. Un Sistem Expert

nu poate ajunge la concluzii în mod intuitiv. De asemenea el nu poate examina o situaţie din diverse

perspective. Ele nu pot recurge pentru a raţiona la principiile primale şi nu pot trasa analogii. În

mod obişnuit ele nu pot invăţa din experienţa. Dar odată cu evoluţia tehnologiei, s-ar putea realiza

si Sisteme Expert care să inveţe, si care să fie capabile sa-şi imbunataţească capacitatea de

cunoaştere dinamic. Aceasta ar reprezenta o strânsă colaborare cu Reţelele Neuronale, colaboare

care ar putea da rezulate excepţionale şi care ar putea fii de un real ajutor.

Tendinţa generală, este de a înlocui expertul uman cu cel artificial deoarece specialistul

uman este mai greu de abordat, este foarte ocupat şi nu se poate fi in mai multe locuri, sau mai

mulţi experţi şi specialişti sunt necesari, dar aceştia nu sunt obişnuiţi să îşi confrunte punctele de

vedere. De semenea, în cazul sistemelor de gestiune a proceselor, este posibilă extindrea expertizei

umane într-o manieră care să beneficieze de un timp de reacţie mai scurt şi de o memorie şi o

capacitate de invăţare crescută.

În continuare, se va realiza o comparaţie între un Sistem expert şi un expert uman:

Tabelul 1.1. Comparaţie dintre expertul uman si Sistemul Expert

Factorul

Expertul uman Sistemul Expert

Timpul disponibil Numai în zile lucrătoare Oricând

Localizare spaţială Numai local Oriunde, mai ales în medii

improprii omului

Siguranţa informaţiilor De neînlocuit Înlocuibil

9

Page 10: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Performanţa Variabilă Consistenţa permanentă

Viteza de lucru Variabilă Rapidă

Costul Mare Acceptabil

Ca o concluzie, putem spune, că introducerea unui Sistem Expert va ameliora calitatea

deciziilor luate datorită faptului că acestea deschid largi posibilitaţi raţionamentelor prin

exploatarea unui număr mult mai mare de variante decât cele dinîn mintea omului, acesta

datorându-se şi faptului că ele au o capcitate mult mai mare de memorare decât un specialist uman.

De asemenea, aceasta îi va permite să efectueze raţionamente identice, rezultând astfel o mare

capacitate de anticipare.

1.2.3 Exemple de Sisteme Expert

În funcţie de domeniul lor de aplicaţie, sistemele expert pot fi imparţite în trei categorii

importante [5]

1. Sisteme expert de diagnostic. Problemele tratate de acestea pot fi recunoscute după

următoarele proprietaţi;

-domeniu constă din două mulţimi finite, disjuncte – una conţinând observaţii, cealaltă

soluţii – şi dintr-o cunoaştere complexă, adesea incertă si incompletă despre relaţiile dintre aceste

două mulţimi;

-problema este definită printr-o mulţime de observaţii, mulţime ce poate fi incompletă;

-rezultatul diagnosticului este selecţia uneia sau mai multor soluţii ale problemei;

-în cazul în care calitatea soluţiei poate fi inbunataţită prin considerarea unor observaţii

suplimentare, una din sarcinile clasificării o reprezintă găsirea acelei submulţimi de observaţii

suplimentare care ar trebui cerute pentru a le completa pe cele existente.

2. Sisteme expert de construcţie: aici soluţia nu mai poate fi gasită prin cautarea intr-o

mulţime existentă. Soluţia este acum construită ca o secvenţă de paşi ori o configuraţie de elemente

intercondiţionate (astfel vazută, o problemă de diagnostic poate fi considerată un caz special al unei

probleme de construcţie). Definirea problemei inseamnă precizarea condiţiei iniţiale ale problemei,

10

Page 11: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

precizarea cerinţelor asupra soluţiei şi a spaţiului soluţiilor (combinaţiile teoretic posibile de obiecte

elementare care respectă ori nu cerinţele).

3. Sisteme expert de simulare: dacă în sistemele expert de diagnostic şi construcţie soluţia

era selectată ori respectiv asamblată, simularea serveşte numai pentru precizarea efectelor anumitor

presupoziţii asupra unui sistem. Un sistem este privit ca o unitate a cărei comportare poate fi

inferată din cunoaşterea comportării părţilor componente. Simularea constă din determinarea

valorilor unor parametrii de ieşire din valorile date ale unor parametrii de intare. Adesea o simulare

este cerută pentru a verifica dacă soluţia oferită de un Sistem Expert proiectat pentru a furncţiona în

diagnostic sau construcţie este întardevar cea dorită.

Există diferite alte clasificări ale Sistemelor Expert, şi o alta posibilă ar fi [6]

Sisteme expert pentru diagnostic

Sisteme expert pentru reparaţii

Sisteme expert pentru instruire

Sisteme expert de inerpretare

Sisteme expert pentru prognoză

Sisteme expert pentru proiectare si planificare

Sisteme expert de monitorizare şi control

DENDRAL

Primul sistem expert a apărut în momentul în care NASA a hotarât trimiterea unui vehicul pe

Marte, având ca scop, printre altele binenţeles, cercetarea structurii chimice a solului acestei

planete. Cercetătorii de la Stanford au construit în acest scop chimiştilor în identificarea structurii

chimice a unor substanţe în funcţie de spectograma de masă.

MYCIN

MYCIN este unul dintre cele mai vechi sisteme exert iar crearea sa a influenţat foarte mult

isoria dezvoltării sistemelor expert. Sistemul, a fost dezvoltat la Stanford în anii ’70. Misiunea lui

era diagnosticarea şi recomandarea de tratament pentru diferite infecţii ale sângelui.

Aplicaţia de diagnostic a fost dezvolată in parte pentru a exploara cum fac experţii umani

estimări brute (dar importante) bazandu-se doar pe unele informaţii parţiale. Oricum, problema este

importantă şi din punct de vedere practic: există mulţi doctori începători sau nespecializati care

11

Page 12: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

trebuie să facă aceste aproximări asupra diagnosticului, deci existenţa unui sistem expert ar fi foarte

utilă în acordarea unui tratament cât mai eficient. Dar MYCIN n-a fost niciodată utilizat în practică,

şi asta nu din cauza că nu a fost destul de performant sau că ar fi greşit mult în diagnosticare, pentru

că, din contra, testele au întrecut cu mult aşteptările membrilor catedrei de medicină de la Stanford.

A fost mai mult din cauze etice şi legale legate de folosirea calculatoarelor în medicină: dacă se

pune un diagnostic greşit, pe cine dăm in judecată?

MYCIN avea cunoştinţa reprezentată prin seturi de reguli IF-THEN cu diferite grade de

certitudine.

IF infecţia este primar-bacteriană

AND locul de unde s-a prelevat cultura este unul steril

AND poarta de intare suspectată este tractul gastronintestinal

THEN avem evidenţa de grad 0.7 că infecţia este bacteroidă.

Scris in Lisp, cu regulile reprezentate formal, MYCIN este un sitem direcţionat de scop,

folosind strategia de raţionament înapoi.

Aplicaţia raţioneaza, pe baza răspunsurilor pe care le primeşte la anumite întrebări şi pe

baza cunoştinţei pe care o posedă. Există trei stadii principale ale dialogului. La început, se adună

datele iniţiale despre caz pentru ca sistemul să producă o diagnoză largă. Apoi, se pun întrebări mai

specifice pentru a testa ipoteze specifice. În finalul acestei faze se propune un diagnostic. Al treilea

stadiu cuprinde întrebări pentru determinarea unui tratament, având in vedere diagnosticul găsit şi

informaţii despre pacient. Acesta se încheie evident cu propunerea unui tratament. În orice moment

utilizatorul poate întreba de ce i se adreseaza o anumită întrebare sau cum s-a ajuns la concluzie, iar

când se propune tratamentul poate solicita tratament alternativ dacă primul nu este satisfacător.

Cu toate că a fost un proiect de pionerat în domeniul Sistemelor Expert, MYCIN a avut şi

câteva probleme care au fost rezolvate mai târziu prin folosirea unor taxonomii explicite a bolilor

(reprezentată ca un sistem de cadre) pentru a reprezenta adevăruri despre diferite tipuri de boli. În

acest fel, s-a rezolvat problema amestecării regulior cu domeniu de cunoştinţe.

S-au dezvoltat multe sisteme pornind de la MYCIN. De exemplu, EMYCIN a fost primul

shell de sistem exert dezvoltat din MYCIN. Un nou sistem expert numit PUFF a fost dezvoltat

pornind de la MYCIN, dar specializat pe boli de inimă. Sistemul numit NEOMYCIN a fost

dezvoltat pentru a instrui doctori, cărora li se prezintă cazuri diverse, li se verifică concluziile şi li

se explică unde au greşit.

12

Page 13: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Sistemele Expert, au fost şi sunt folosite şi în alte domenii decât cel de diagnostic medicinal.

Domeniul ecconomic şi financiar-contabil, utilizează unele dine cele mai cunoscute aplicaţii expert.

În sistemul de audit şi control sunt folosite sistemele: FINEXPRO, FINEXPERT, GIPA,

CREDITEXPERT în cel de planificare CAPEX.

Activitatea bancară, a fost şi este un domeniu în care se folosesc frecvent sisteme expert.

- gestiunea conturilor clienţilor: SMERTIOS, ALVIN, MATIAS;

- împrumuturi comerciale: CLASS;

- creditare şi analiza cărţii de credit: FCA, Application Expert, MOZART, CRES, Credite

Expert;

- transfer de bani: A-CLASS-ATRANS, TEXPERT;

Finanţe, asigurări, planificare impozite şi taxe sunt de asemenea ramuri ale domeniului

economic care se bucură de facilitaţile oferite de aplicaţii ale Inteligenţei Artificiale.

Compania daneză CRI A/S, specializată în aplicaţii ale noilor tehnologii informaţionale încă

din 1978, a elaborat periodic un repertoriu al sistemelor esxpert [7] .

Unele exemple pentru domeniul gestiunii, finanţelor şi contabilitaţii din ediţia 1986 sunt:

1. Contabilitate

AUTOMATED TAX – pregătire documente de impozitare;

AGGREGATE Assistant – proiectare situaţii financiare din conturi

AYMM (Finance) – selectare finanţare guverne pentru noi debuşee de afaceri

FOLIO – determinare obiective de investiţii pentru protofoliile clienţilor;

TAXADVISOR – consiliere şi analiză în probleme de impozite pentru

Intreprinderi

TICOM – evaluarea controlului intern in auditing

ESTEAM – gestiune portofolii pentru investitii profitabile

AUDITOR – asistare la evaluarea debitorilor slabi

2. Gestiune

APEX – management vănzări

COMEX – gestiune afaceri în agricultură

CONCEPT – gestiune, modele şi planificarea marketing

MARKETER – asistenţă în decizii de marketing

13

Page 14: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Exemple de Sistemele Expert, sunt folosite cu succes şi domenii cum ar fi: reparaţii de

echipamente, analizări de investiţii, planificări de asigurări, determinarea de trasee pentru livrare,

oferte de contracte, consiliere pentru clienţi, controlul producţiei şi instruire.

II. CONCEPTE FUNDAMENTALE IN TEORIA SISTEMELOR

EXPERT

2.1 Definiţia Sistemelor Expert

Edward Feigenbaum, professor la Universitatea Stanford, un pionier al tehnologiei

sistemelor expert, dă pentru un astfel de sistem următoarea definiţie:

”… un program inteligent care foloseşte cunoaştere şi proceduri de inferenţă pentru a

rezolva probleme suficient de dificile încât să necesite o expertiză semnificativă pentru găsirea

soluţiei.” [5]

Un sistem expert este un program care urmăreşte un grup de cunoştinţe pentru obţinerea în

acelaşi mod ca şi experţii umani a rezultatelor despre activitaţi dificil de examinat. Principala

caracteristică a sistemelor expert este derivată din baza de cunoştinţe împreună cu un algoritm de

căutare specific metodei de rationare. Un sistem expert tratează cu succes probleme pentru care o

soluţie algoritmică clară nu există. [9]

Un Sistem Expert este un program care urmăreşte un grup de cunoştinţe pentru obţinerea în

acelaşi mod ca şi experţii umani a rezultatelor despre activităţi dificil de examinat. Principala

caracteristică a sistemelor Expert este derivată din baza de cunoştinţe împreună cu un algoritm de

căutare specific metodei de raţionare. Un Sistem Expert tratează cu success probleme pentru care

o solutie algoritmică claă nu există. [10]

Unul din fondatorii Inteligenţei Artificiale, H.Simon, spunea despre Sistemele Expert că sunt

o reprezentare a comportamentului uman, care se bazează pe modelul raţionalitaţii limitate, model

care ţine seama de limitele întalnite da către un decident veritabil, atât în planul informaţiilor, cât

şi în cel al raţionamentului.

14

Page 15: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

O definiţe originală aparţine profesorilor J. Giarratano şi Riley (NASA) : un Sistem expert

este un sistem care emulează abilitatea de a lua decizii a expertului uman. Termenul «  emulează »

înseamnă că sistemul este menit să acţioneze în toate privinţele ca expertul uman. Emularea este

ceva mai mult decât simularea, care cere doar să se acţioneze prin imitarea condiţiilor realizate.

Definiţiile date de alţi autori, sunt foarte asemănătoare. Sistemele expert sunt sisteme de

programare bazate pe tehnicile Inteligenţei Artificiale, care înmagazinează cunoştinţele experţilor

umani dintr-un domeniu bine definit şi apoi le folosesc, pentru rezolvarea problemelor din acest

domeniu ; Un sistem computerizat capabil să ofere sfaturi într-un domeniu particular de

cunoştinţe, în virtutea faptului că conţine cunoştinţe oferite de un expert uman în acest domeniu.

Definiţia tradiţională a unui program este :

Algoritm + Structuri de date= Program

In Sistemele Expert, definiţia se schimbă astfel:

Motor de inferenţă + Baza de cunoştinţe = Sistem Expert [8]

Cu toate că au fost date diferite definiţii despre Sistemele expert, unele caracteristici

comune, se pot stabili. Unele idei care conturează noţiunea de Sistem Expert sunt :

Din punct de vedere conceptual Sistemele expert vizează reconstituirea raţionamentului

uman pe baza expertizei obţinute de la experţi ;

Sistemele Expert dispun de cunoştinţe şi de capacitatea de a desfăşura activitaţi

intelectuale umane;

Sistemele Expert sunt organizate pentru achiziţia şi exploatarea cunoaşterii dintr-un

domeniu particular numit domeniul problemei;

Sistemele Expert dispun de metode de invocare a cunoaşterii şi exprimarea expertizei,

comportându-se ca un « asistent inteligent » ;

Ca nivel de realizare informatică, Sistemele Expert se bazează pe principiul separării

cunoaşterii (bazei de cunoştinţe) de programul care o tratează (motorul de inferenţă) ;

Sistemele Expert sunt capabile să memoreze cunoaşterea, să stabilească legături între

cunoştinţe şi situaţii pe baza faptelor şi prelucrării cunoaşterii incerte.

Sistemele Expert incearcă să reproducă raţionamentul experţilor umani asupra cunoştinţelor

puse la dispoziţia lor într-o anumită manieră, ajungând să le modifice şi chiar să ofere explicaţii

asupra unor raţionamente făcute.

15

Page 16: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

2.2 Concepte de baza ale Sistemelor Expert

Conceptele de bază ale uniu Sistem Expert sunt: expertiza şi experţii, transferul expertizei,

regulile de inferenţă şi capacitatea de a explica.

Expertiza este o cunoaştere intensivă, specifică domeniului problemei, achiziţionată prin

instruire, citire sau experienţă îndelungată. Următoarele tipuri de cunoştere sunt exemple de ceea ce

se include în expertiză:

Fapte despre domeniul problemei;

Teorii din domeniul problemei;

Reguli şi proceduri privind domeniul problemei;

Reguli sau euristici despre ce trebuie făcut într-o situaţie problematică dată,

pentru soluţionarea problemei;

Startegii globale despre soluţionarea tipurilor de probleme;

Metacunoaştere.

Toate aceste tipuri e cunoaştere permit experţilor să ia decizii mai rapide şi mai bune decât

neexperţii în soluţionarea problemelor complexe. Este nevoie de ani mulţi de pregătire pentru a

deveni expert.

Expertiza este de obicei asociată cu un înalt grad de inteligenţă şi are asociată o mare

cantitate de cunoştinţe. Experţii umani au o caracteristică suplimentară în sensul că invaţă din

succesele şi greşelile făcute în trecut, iar cunoaşterea o pot memora, organiza şi regăsi rapid. Ei pot

apela structurile cunoaşterii din experienţa proprie.

Experţii sunt dificil de definit, ei pot fi persoane cu mai multe nivele sau grade de

expertiză. Întrebarea este căt de multă expertiză trebuie să posede o persoană calificată într-un

domeniu înainte de a fii considerată un expert?

Expertiza umană incluide o gamă largă de activitaţi ale expertului cum ar fi:

16

Page 17: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Recunoaşterea şi formularea problemei;

Rezolvarea problemei cu exactitate şi rapiditate;

Explicarea soluţiei;

Învăţarea din experienţă;

Restructurarea cunoaşterii;

Fragmenatrea regulilor;

Toate acestea indică capacitatea experţilor de a transforma datele unei probleme arbitrare

intr-o formă care conduce la o soluţie rapidă. Aceasta este posibil datorită capacitaţii de învăţare din

experienţă a unor lucruri noi, de fragmentare a regulilor cunoscute, de determinare a relevanţei

cunoaşterii şi a limitei acesteia in domeniu. Toate aceste activităţi trebuie desfaşurate eficient (rapid

şi cu cost redus) şi eficace (cu rezultate de calitate). Pentru a imita un expert uman este necesar să

se construiască un sistem cu toate aceste caracteristici.

Există doua motive pentru care se decide construirea unui Sistem Expert : înlocuirea unui

expert şi asistarea unui expert în activitatea sa.

Principalele raţiuni pentru înlocuirea expertului uman sunt:

a face expertiza posibilă în orice moment

automatizarea unei sarcini rutine care necesită un expert

expertul este foarte scump

expertiza este cerută in medii de lucru periculoase pentru sănătatea omului

Asistarea experţilor umani de către programe specializate este tot mai des întâlnită in marile

firme şi nu numai. Principalele motive pentru care se dezvoltă Sistemele expert capabile să asiste

experţii în munca lor sunt:

ajută expertul în executarea sarcinilor de rutină în scopul îmbunătaţirii productivităţii

sale

ajută expertul în executarea sarcinilor dificile în scopul unui mai bun control al

complexităţii

punerea la dispoziţia expertului a informaţiei dificil de procurat la momentul oportun

Transferul expertizei constituie de fapt obiectivul unui Sistem Expert. Transferul are loc

de la expertul uman la calculator şi de aici la utilizatorii experţi sau nonexperţi. Acest proces implica

patru activitaţi:

achiziţia cunoaşterii de la experţi sau/şi din alte surse

17

Page 18: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

reprezentarea cunoaşterii în calculator

inferenţierea pe baza cunoaşterii stocate

transferul cunoaşterii către utilizator

Inferenţierea (procesul de inferenţiere) o trasătură unică, dar majoră a Sistemului Expert,

este abilitatea de a raţiona. Pe baza expertizei memorate în baza de cunoştinţe şi a programului care

poate avea acces la o bază de date sau la un fişier calculatorul este programat să facă inferenţe.

Inferenţele sunt executate de către componenta numită motor de inferenţă care posedă proceduri şi

cunoaştere procedurală în legătură cu soluţionarea problemei.

Regulile Majoritatea Sistemelor Expert în funcţiune sunt bazate pe reguli de forma

IF..THEN::ELSE memorate în baza de cunoştinţe. Mai recent reprezentarea prin cadre a devenit un

complement al reprezentării prin reguli în anumite aplicaţii.

Capacitatea explicativă este o trăsătură majoră a Sistemelor Expert în legătură cu explicarea

sfatului pe care-l dau sau a recomandărilor făcute pentru alternativele decizionale.

2.3 Arhitectura unui Sistem Expert

Toate caraceristicile Sistemelor Expert determină o structură specifică a acestora, structură

care poate fi grupată în jurul a trei module principale, module ce determină un sistem esential: Baza

de cunoştinţe, Mecanismul de inferenţe şi Baza de fapte.

Cu toate acestea, un Sistem Expert, este bazat pe două componente distincte complementare:

noi tehnologii de programare ce permit utilizarea a foarte multe cunoştinţe, precum şi modul de

inferenţă dintre acestea, şi noi construcţii şi metodologii dezvoltate ce permit utilizarea efectivă a

acestor tehnologii pentru probleme complexe. Combinarea cât mai eficientă a acestor componente,

duc la realizarea unor Sisteme Expert de real succes.

Pentru realizarea unui sistem, este nevoie, de o strânsa cooperare între un specialist în

domeniu, şi un inginer de cunoştinte. Expertul trebuie să fie capabil să işi raporteze cunoştinţele şi

să reuşească să interpretze o anumită informaţie. Inginerul, este cel care transpune informaţia

primită într-o formă de reprezentare specifică sistemelor informatizate ţinând seama de cele trei

module principale ale unui Sistem Expert.

18

Page 19: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

În literatura de specialitate, aditional acestor trei componente specifice mai apar şi altele

noi, fără de care Sistemul Expert nu ar putea fi folosit : modul de achizitie al cunoştinţelor,

interfaţa utilizator şi modul de explicaţii.

Baza de cunoştinţe este reprezentată ca o structură de date ce conţine ansamblul

cunoştinţelor specializate introduse de către expertul uman. Este o componentă cognitivă

cunoaşterea fiind memorată într-un spaţiu special organizat, spaţiu în care se descriu situaţii

evidente, fapte reale sau ipotetice, precum şi euristici. În cazul memorării cunoaşterii sub formă de

reguli de producţie, baza de cunoştinţe conţine două componente: baza de fapte şi baza de reguli,

iar motorul de inferenţă se mai numeşte interpretor de reguli.

Mecanismul de inferenţă poate fi denumit şi interpretor deoarece, el preia cunoştinţele din

baza de date şi le utilizează pentru construirea unui raţionament, pentru a forma inferenţe şi a trage

concluzii. Acesta urmăreşte o serie de obiective majore cum ar fi: alegerea startegiei de control în

funcţie de problema curentă, comutarea între acestea pentru a putea realiza o deducţie executarea

acţiunilor care sunt prevazute în planul de rezolvare.

Baza de fapte este reprezentată de o memorie auxiliară ce conţine toate datele utilizatorului

(fapte iniţiale ce descriu enunţul problemei de rezolvat) şi rezultatele intermediare produse în cursul

procedurii de deducţie.

Modul de achiziţie al cunoştinţelor preia cunoştinţele specializate furnizate de expertul

uman sau inginerul de cunoştinţe ce nu este specifică reprezentării interne, şi apoi verifică

validitatea acestora în final generând o baza de cunoştinţe coerentă.

Interfaţa utilizator est cea care asigură dialogul dintre utilizator şi sistem, fără nici un

ajutor din partea proiectantului de sistem sau a unui specialist în ingineria cunoaşterii. Prin

intermediul acesteia, se preiau parametrii problemei pe măsură ce componenta de control are nevoie

de ei. Există Sisteme Expert care au o interfaţă foarte complexă, furnizând chiar şi dicţionare, fiind

capabilă de analize lexicale şi sintactice. Cu toate acestea ea trebuie sa fie simpla şi calară pentru a

fi posibilă utiltizarea facilă a ei.

Modul de explicaţii urmăreşte obţinerea de explicaţii asupra desfăşurării proceselor

inferenţiale făcute, a soluţiilor obţinute în sesiunile de consulatre. Acesta poate oferii evidentieri în

cazul lipsei unor cunoştinţe sau a inconsistenţei acestora, uneori fiind capabil de dezvăluirea

cauzelor unor eşecuri

Următoarea figură (Figura 2.1) prezintă arhitectura unui Sistem Expert

19

Page 20: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Expertuman

Modul de achiziţie a cunoştinţelor

Baza de cunoştinţe

Baza de fapte

Modul de explicare

Interfaţa utilizatorUtilizator

20

Inginer de cunoştinţe

Mecanism de inferenţă

Page 21: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

2.4 Sisteme multi-expert

Sistemele multi-expert sunt o abordare mai recentă şi mai promiţătoare care tinde să

depăşească Sistemele Expert. Ele reprezintă programe folosite pentru rezolvarea unor probleme

foarte complexe care includ opinii diferite legate de acceasi problemă, cunoştinţe care au fost

achiziţionate prin diferite expertize. Un Sistem Expert bazat pe un sistem multiplu are unele

avantaje, cum ar fi:

1) posibilitatea de a împarţii experienţa, cunoştinţa si resursele;

2) o mai mare credibilitate ;

3) o raţionare mai buna datorită observaţiilor facute de alţi agenţi constituenţi. [11]

Există două scheme de dezvoltare a sistemelor multi-expert. Prima este cea în care sistemul

este alcătuit din mai multe subsisteme (agenţi ) care abordează diferite părţi ale problemei.

Problema care trebuie rezolvată la astfel de sisteme, o reprezintă coordonarea şi cooperarea

subsistemelor. A doua schemă este caracterizată de o singură bază de cunoştinţe conţinând

informaţii de la mai multi experţi .

Hanachi (1996) a propus o tehnică specifică de dezvolatre a Sistemelor Expert. Această

tehnică presupune existenţa a două baze de date una activă şi una deductivă care se comportă ca un

sistem informaţional cooperativ. Acest sistem, menţine informaţii despre dezvolatrea proiectului si

un set de reguli care coordonează şi controlează diferite activitaţi.

Rezolvarea şi încorporarea opiniilor conflictuale reprezintă o problemă majoră pentru

reprezentarea cunoaşterii. Lietal (1995) sugerează un raţionament fuzzy care combină cunoştinţa

experţilor şi ţine cont de independenţa acestora. Aceast mod de abordare a problemei « identifică »

cazurile de intrare şi găseşte informaţia cea mai potrivită pentru a fi folosită intr-un caz individual.

Cercetătorii constată azi o evoluţie către interacţiuni frecvente şi complexe între cei mai diverşi

specialişti dintr-un domeniu restrâns, în scopul exercitării unei activităţi de nivel înalt.

21

Page 22: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

2.4.1 Arhitectura Sistemului multi-expert

Arhitectura unui Sistem multi-expert are la bază arhitectura unui Sistem Expert, dar are în

plus unele principii care trebuie respectate :

trebuie să conţină mai multe module de cunoaştere, identice celor din componenţa unui

Sistem Expert

trebuie facută o separare între motoarele de inferenţă şi modulele de cunoaştere

pe intervalul unei expertize modularitatea cunoaşterii trebuie să rămână validă,

adaugarea, modificare sau ştergerea unui modul de cunoaştere nu va trebui să afecteze

direct alte module din sistem

sistemul trebuie să permită aflarea soluţiei la o anumită problemă dacă aceasta există

raţionamentul folosit trebuie să fie semănător celui uman. Aceasta este şi restricţia

principală pentru rezolvarea în sistem multiexpertiză a problemelor complexe. Reţeaua

de module de cunoaştere este legată slab astfel că nici un modul nu poate avea o vedere

generală şi completă asupra reţelei pentru a servi ca supraveghetor.

2.4.2 Comunicarea intre modulele de cunoastere

În cadrul unui Sistem multi-expert există două tipuri de comunicaţii: între sistem şi

utilizator şi între modulele de cunoaştere ale sistemului.

Primul tip de comunicare se face prin intermediu Interfeţei utilizator, asemeni Sistemelor

Expert clasice.

Cel de-al doilea tip de comunicare este ilustrat in Figura 2.2 reprezentată mai jos

22

Page 23: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

SISTEMUL MULTI-EXPERT

= modul de cunoaştere

= comunicaţie

Comunicarea care se realizează într-un Sistem multi-expert poate fi de mai multe tipuri:

- comunicarea prin partajarea informaţiei

- comunicarea prin trimiterea de mesaje

- comunicarea prin cunoaşterea declarativă

Comunicarea prin partajarea informaţiei se caracterizează prin existenţa unei structuri

de date partajată în care iniţial se află datele problemei, care se modifică pe parcursul execuţiei

programului, în final obţinându-se rezultatul problemei. Acest mod ce comnunicare este cel mai des

folosit, utilizându-se în comunicarea între module.

Comunicarea prin trimiterea de mesaje constă în schimbul unor mesaje între modulele de

cunoaştere conform unui protocol dinainte stabilit. Mesajul are ataşata marca emiţătorului, mesajul

propriu-zis, si receptorul sau receptorii căruia îi este adresat. Transmiterea mesajului se poate face

direct, numai la unul sau la mai mulţi receptori identificaţi anterior, sau prin difuziune ceea ce

înseamnă că, mesajul este transmis tuturor modulelor în acelaşi timp.

23

Utilizator

Page 24: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Comunicarea prin cunoaşterea declarativă se bazează pe faptul că, numele receptorilor şi

conţinutul mesajelor reprezintă conţinutul unui modul de cunoaştere particular numit modulul de

cunoaştere declarativă (MCD).

Cunoaşterea declarativă a acestui modul permite constiutuirea bazei de fapte iniţiale pentru

modulul de cunoaştere activat. După soluţionarea problemei într-un modul informaţiile comunicate

de către MCD îi vor fi returnate cu eventualele modificări.

Avantajul paralelismului pe care acest mod de comunicare îl oferă, este umbrit de fapul că,

modulul principal controlează rezoluţia iar celelalte module de cunoaştere nu sunt total

independente.

2.5 Criterii de evaluare a Sistemelor multi-expert

Principalele motive pentru care se aleg Sistemele multi-expert în aplicaţiile mari şi

complexe sunt: rapiditatea, siguranţa, calitatea soluţiei, eficacitatea, claritatea, costul şi adecvarea la

domeniu.

Rapiditatea este una dintre cele mai importante criterii de evaluarea a acestor sisteme, în

special atunci când este implementat pe o arhitectură multiprocesor.

Siguranţa pe care o oferă acest tip de sisteme, asigură continuitatea funcţionarii acestuia

chiar dacă un modul lipseşte sau nu rezolvă corect o subproblemă, a generat un eşec. În acest fel

este eliminată posibilitatea unui eşec total şi este asigurată o buna fiabilitate.

Calitatea soluţiei este ridicată, deoarece cunoaşterea este repartizată pe mai multe module,

asfel încât soluţia obţinută este mai bună decât dacă aceasta ar fi inegrată intr-un singur modul.

Eficacitatea are în vedere timpii de rezoluţie care în cazul partajării cunoaşterii între mai

mule module este mai mare.

Claritatea este dată tot de modularitate, sistemul este vizibil iar cantitatea de informaţii

necesară unei decizii momentane se reduce.

Adecvarea la domeniul aplicativ al problemei este luat în considerare, deoarece experţii

acordă mai multă incredere în sisteme ce reflectă propria lor abstractizare şi conceptualizare.

24

Page 25: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Costurile de concepere sunt mai reduse datorită modularităţii care oferă posibilitatea

achiziţiei cunoaşterii în paralel de la toţi experţii, precum şi validarea globală a prototipului.

III. ORGANIZAREA UNUI SISTEM EXPERT

Ideea esenţială care stă la baza concepţiei constructive a Sistemelor Expert, este aceea că un

expert uman îşi construieşte soluţia la o problemă din piese elementare de cunoaştere, familiare

acestuia anterior, şi pe care expertul le selectează şi le aplică într-o anumită secvenţă. Pentru a

furniza o soluţie coerentă la o problemă dată, cunoaşterea trebuie să fie formalizată, reprezentată

într-o formă adecvată proceselor de inferenţă, ca apoi să poată fi manipulată conform unei anumite

metode de rezolvare a problemei. Ca o consecinţă imediată a celor prezentate mai sus, se pune

problema separării cunoaşterii asupra domeniului, a datelor problemei- baza de cunoştinţe – şi a

parţii responsabile cu organizarea proceselor inferenţiale care să implice aceste cunoştinţe –

sistemul de control (motorul de inferenţe), acestea fiind de fapt şi modulele principale ale unui

Sistem Expert.

Figura 3.1 Componentele principale ale unui Sistem Expert

Aceste două componente formează inima unui Sistem Expert în jurul lor, alte componente

realizează funcţionalitatea complexă a acestuia, cum ar fi:

- interfaţa de comunicare

- componenta de achiziţie a cunoştinţelor

Baza de cunoştinţe

25

Sistemul de control

Page 26: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

- componenta explicativă

Baza de cunoştinţe, care este componenta sistemului responsabilă cu depozitarea de

informaţii asupra demeniului de expertiză şi a problemei de rezolvat, este la rândul ei formată din:

- baza de fapte

- baza de reguli

- agenda

Sistemul de control este responsabil cu desfăşurarea proceselor de inferenţă. El codifică

una sau mai multe startegii de aplicare a regulilor.

3.1 Baza de cunoştinţe

Toate Sistemele Expert, au o componentă numită baza de cunoştinţe destinată memorării

cunoaşterii dintr-un domeniu particular. Această cunoaştere este sursa de ”inteligenţă” şi se

foloseşte de către motorul de inferenţe pentru raţionarea concluziilor şi a soluţiilor problemei care

trebuie rezolvată. Colectarea şi organizarea cunoaşterii este cea mai dificilă muncă în procesul de

construire a unui Sistem Expert.

3.1.1 Metode de reprezentare a cunoaşterii

Înainte de a prezenta metodele folosite de reprezentare a cunoaşterii unui Sistem Expert, să

înţelegem mai bine seminficaţia ”de cunoaştere” şi disticţia dintr-e termenii : date, informaţie şi

cunoaştere.

Datele sunt termeni care se referă la şiruri numerice sau alfabetice despre fapte, situaţii

rezultate din numărare sau măsurare, care singure nu au nici o semnificaţie, dar pot constitui un

răspuns la o întrebare a utilizatorului.

Informaţia reprezintă o prelucrare a datelor şi o utilizare a acestora astfel încât să prezinte o

semnificaţie pentru utilizator.

26

Page 27: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Cunoaşterea, este un termen care are mai multe definiţii, unii afirmând că este o percepţie

clară şi certă a unor fapte, o înţelegere a ceva, o învăţare, o experienţă practică, o recunoaştere a

ceva; alţii afirmând că este o informaţie rafinată care are tendinţa să fie cât mai generală chiar

incompletă sau imprecisă. Ea poate să includă fapte şi informaţii , concepte, proceduri, modele şi

euristici care pot fi utilizate în inferenţe pentru soluţionarea problemelor.

Datorită variaţiei cunoaşterii atât în conţinut cât şi în aspectul exterior, apar mai multe tipuri

de cunoaştere: cunoaşterea specifică, cunoaşterea generală, cunoaşterea exactă, cunoaşterea

imprecisă, cunoaşterea procedurală si cunoaşterea declarativă.

Chiar dacă calculatoarele nu pot avea studii, experienţă şi/sau învăţătură aşa cum au

oamenii, ele pot utiliza cunoaşterea furnizată de experţii umani. Această cunoaştere constă în fapte,

concepte, teorii, metode, euristici, proceduri şi relatii. Astfel, cunoaşterea, poate fi considerată

informaţia care este organizată, analizată asfel încât calculatoarele sa o poata înţelege şi folosi în

soluţionarea problemelor.

Pentru Sistemele Expert, cunoaşterea este reprezentată de expertiza de care dispune expertul

uman, sau de cunoaşterea disponibilă din carţi. Cunoaşterea expertului este specifică unui domeniu

al problemei, asfel încât atat expertul uman, cât şi cel computerizat raţionează şi face inferenţe în

acelaşi mod atunci când are la dispoziţie anumite fapte.

Gândirea despre reprezentarea cunoaşterii se concentrează în jurul a trei teme: domeniul

cunoaşterii, limbajul de reprezentare a cunoaşterii şi mecanismele de inferenţă.

Domeniul cunoaşterii are în vedere ceea ce trebuie reprezentat din domeniul problemei.

Limbajul de reprezentare a cunaoşterii ne arată cum trebuie şi cu ce metode sau modele

trebuie reprezentată cunoaşterea.

Mecanismele de inferenţă se referă la prelucrările cele mai adecvate ale cunoaşterii din

domeniu în scopul derivării unor piese noi de cunoaştere, cele mai relevante pentru soluţionarea

problemelor.

Cu toate, că se cunosc mai multe metode de reprezentare a cunoaşterii, unele elemente

comune, se găsesc:

- admit utilizarea mai multor limbaje de programare existente sau a generatoarelor de

Sisteme Expert, iar rezultatul este memorat;

- prin conţinutul lor, rezultatele reprezentării (fapte, reguli, cadre..) pot fi utilizate în

mecanisme de raţionament

27

Page 28: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

În funcţie de modelul specific, metodele de reprezentare a cunoaşterii se clasifică în: metode

declarative şi metode procedurale.

Metodele declarative, sunt acelea, care folosesc aserţiunile şi faptele, iar metodele

procedurale sunt folosite la reprezentarea acţiunilor sau procedurilor.

Reţelele semantice, cadrele/obiectele structurate şi logica predicatelor, este specifică

metodei declarative, iar regulile şi procedurile celei procedurale. Însă, acestea, nu sunt singurele

mai există scenariile, listele, tabelele de decizie, arborii decizionali, restricţiile, reţele neuronale.

A. Regulile de producţie

Această metodă este cea mai folosită metodă de reprezentare a cunoaşterii Sistemelor

Expert, fiind foarte eficace pentru reprezentarea recomandărilor, directivelor sau strategiilor.

În locul reprezentării cunoştinţei într-un mod declarativ (ca o serie de lucruri care sunt

adevărate), regulile pot specifica ce ar trebui să facă sau ce se poate include în diferite situaţii. Un

sistem bazat pe reguli, conţine o serie de reguli IF-THEN, o serie de fapte şi un interpretor ce

controlează aplicarea regulilor.

Există două tipuri de sisteme bazate pe reguli: sisteme cu înlănţuire înainte, şi sisteme cu

înlănţuire înapoi. În primul model, se începe cu o serie de fapte iniţiale, şi se continuă să se

folosească regulile care derivează noi concluzii din acele fapte. În modelul înlănţuirii înapoi, se

porneşte cu o serie de ipoteze (goals) pe care se încearcă a fi demonstrate, şi se tot caută reguli care

ar permite să deducă acele presupuneri. Primul model, este numit şi data-driven iar al doilea goal-

driven.

Reprezentarea exactă a cunoaşterii dintr-un domeniu particular necesită un număr mare de

reguli, ca să poată fi surprinse toate detaliile. Numărul regulilor este direct proporţional cu

complexitatea cunoaşterii.

Tipologia regulilor are în vedere marea varietate a formelor cunoaşterii de reprezentat asfel:

reguli de cauzalitate, de recomandare, directivă, strategice, euristice. Regulile pot fi clasificate în

funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de

interpretare, de diagnostic, de planificare, de proiectare.

28

Page 29: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Pe lângă autonomia ridicată pe care o conferă acest mod de reprezentare, regulile pot fi

privite ca piese de cunoaştere independente, ele reprezintă şi o modalitate eficientă de procesare a

cunoaşterii.

Cauzele care produc diminuarea performanţelor sistemelor bazate pe reguli se pot elimina

prin măsuri de organizare a bazei de fapte, a bazei de reguli şi prin introducerea unor măsuri de

accelerare a procesului inferenţial.

B. Metoda bazată pe logică

Una din cele mai importante metode de reprezentare, care ne permite să reprezentăm fapte

complexe despre lume, şi să derivăm noi fapte intr-un mod care ne garantează că, dacă faptele

iniţiale sunt adevărate, actunci si concluziile sunt la fel. Logica predicatelor de ordinul întâi (cea

mai folosită), are o sintaxă bine definită, reguli şi semantici de inferenţă.

Propoziţiile cu valoare de adevăr, numite şi aserţiuni, se referă, la obiecte, concepte,

evenimente din domeniul problemei, sunt reprezentate cu tehnici specifice predicatelor de ordinul I,

calculul acestora, permiţând descrierea atributelor obiectelor, conceptelor, evenimentelor.

Calculul predicatelor este preferat de folosit, datorită structurii sale şi puterii de inferenţiere.

El este adecvat pentru unele probleme, dar suferă pentru că propoziţiile nu pot fi fragmentate în

părţi, ci trebuie tratate ca un întreg, dar cu toate acestea, ele pot fi vazute ca două părţi de bază:

- obiecte (argumente)

- predicate (aserţiuni despre atributele obiectelor)

Logica, are o importanţă deosebită în Sistemele Expert, în care motoarele de inferenţă

raţionează de la premise către concluzii. Un termen semnificativ pentru programarea logică şi

Sistemele Expert este acela de sisteme de raţionament automat (Automated Reasoning Szstems).

C. Metoda reţelelor semantice

Aceste reţele, au la bază un model cu structură dereţea, considerat din punct de vedere

conceptual ca mijloc important de reprezentare a cunoaşterii graful.

29

Page 30: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Reţeaua este un graf orientat în care cunoaşterea este reprezentată prin asocierea la noduri şi

arce a semnificaţiei sau semanticilor. Astfel, se ajunge la interpretarea în termeni de obiecte/entităţi

şi relaţii a domeniului problemei.

Cel mai întâlnit este modelul în care nodurile sunt asociate obiectelor din domeniu, iar

arcele sunt asociate legăturilor sau relaţiilor dintre obiecte. Două noduri care sunt legate printr-un

arc, înseamnă că sunt în legătură directă.

Caracteristica de bază a unei reţele semantice constă în aceea că oferă un formalism de

reprezentare a cunoaşterii împreună cu o structură de regăsire a cunoaşterii. În acest mod de

reprezentare, raţionamentul înseamnă căutarea unei căi dintre nodurile grafului folosind

cunoaşterea disponibilă din domeniu.

Aceste grafuri, pot fi de cauzalitate sau de dependenţă, fiind foarte utile pentru formalizarea

cunoaşterii în Sistemele Expert.

În reţelele de cauzalitate, semnificaţiile asociate nodurilor şi arcelor pot să difere în funcţie

de problema de soluţionat, ele oferind o adecvare foarte bună la achiziţia cunoaşterii cauzale

incomplete şi o imbunataţire a înţelegerii şi explicaţiilor pe care trebuie să le ofere Sistemul Expert.

Asfel că, în cazul unei informaţii incomplete, ea poate fi completată foarte uşor, prin introducerea

unui nou nod în graf.

În cazul grafurilor de dependenţă semnificaţia nodurilor este dată de obiecte, stări

psihologice, propoziţii, aserţiuni, iar legăturile reprezintă relaţiile dintre două obiecte şi pot fi: de

timp, de spaţiu, de posesie, de acţiune, de atribuire, de presupunere, de colecţie.

Metoda tripletelor obiect-atribut-valoare (OAV) au la bază metoda reţelelor semantice.

Această reprezentare este foarte convenabilă pentru listarea cunoaşterii în formă tabelară şi mai ales

pentru translatarea tabelelor prin reguli de inducţie în programare inteligente.

D. Metoda cadrelor şi scenariilor

Cadrele, sunt o variantă de reprezentare a cunoaşterii non-procedurale intr-un Sistem

Expert. Într-un cadru, toată informaţia relevantă referitoare la un concept particular este stocată

într-o singură entitate. Acestea seamănă foarte mult cu o înregistrare complexă record care suporta

30

Page 31: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

ierarhia. Ele sunt des folosite pentru reprezentarea cunoştinţelor specifice unor anumite evenimente

sau obiecte, cum ar fi, un tip de păsări, un pacient, etc.

În timp ce reţelele semantie se bazează pe cunoaştere bidimensională, cadrele adaugă şi cea

de-a treia dimensiune, permiţând nodurilor să aibă structură.

Cadrele diferă de reţelele semantice pentru că pot descrie un obiect sau un sistem în care se

dau detalii despre componentele şi ralaţiile între ele.

S-a dovedit, că modurile de reprezentare hibride, aduc cele mai multe îmbunătaţiri şi că

cercetările în acest domeniu, sunt de real folos.

E. Metoda obiectelor structurate

Tot mai mulţi specialişti prezintă metoda obiectelor structurate ca o metodă bazată pe cadre

deoarece, în esenţă, reprezentarea cunoaşterii prin cadre face referinţe la programarea orientată

obiecte în construirea bazei de cunoştinţe. Metoda obiectelor structurate este din ce în ce mai

utilizată în Sistemele Expert deoarece:

- reflectă multe idei ale paradigmei reprezentării cunoaşterii cu cadre şi se înscrie în rândul

metodelor cu transfer succesorial

- cunoaşterea declarativă se menţine separată de cunoaşterea procedurală

- toată cunoaşterea este concentrată într-o singură structură numită obiect

- suportă moştenirea

- este modularizată prin mecanisme de transmitere a mesajelor şi încapsulare

- unele limbaje, suportă vizualizarea a obiectelor ( C++, Java...)

Conceptele acestei metode sunt: obiect, încapsulare, transmiterea mesajelor, legarea

dinamică şi moştenirea.

F. Metoda reţelelor neuronale

Abordările care urmăresc modul în care lucrează creierul uman se concretizează în aşa-

numitele reţele neuronale şi maşini care învaţă. Maşinile care învaţă se referă la tehnologii

ultramoderne capabile să realizeze învăţarea din experienţă. Cercetările au scos la iveală mai multe

asemenea metode, precum şi algoritmi speciali, toate în faza de laborator: reţele neuronale, învăţare

31

Page 32: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

inductivă, raţionament bazat pe cazuri, algoritmi genetici, metode statistice folosite în achiziţia

cunoaşterii şi soluţionarea problemelor, învăţatrea bazată pe explicaţii.

3.2 Motorul de inferenţă

Componenta de control a unui Sistem Expert mai este numită şi motorul de inferenţă pentru

că, în cursul execuţiei la fel ca într-un proces inferenţial, sistemul este capabil să genereze fapte noi

din cele cunoscute, aplicând reguli.

Un mecanism elementar de aprindere a regulilor lucrează conform următorului algoritm:

- faza de filtrare: acum, se determină mulţimea tuturor instanţelor de reguli filtrate (MIRF)

corespunzătoare regulilor din baza de reguli (BR) care pot satisface condiţiile pe faptele

din baza de fapte (BF). În cazul în care nici o regulă nu a putut fi filtrată atunci motorul se

opreşte, în caz contrat se trece la următorul pas

- faza de selecţie: se alege o instanţă de regulă R € MIRF. Dacă MIRF conţine mai mult de

o singură instanţă, atunci se selectează regulă urmând strategia de conflict

- faza de execuţie: se execută partea de acţiuni a regulii R, cu rezultatul asupra bazei de

fapte. Se revine apoi la faza de filtrare. La unele Sisteme Expert, mai apare o subfază a

fazei de filtrare numită faza de restricţie, aici se aleg o serie de reguli care a prioro merită

să particile la acest ciclu inferenţial.

Motoarele de inferenţă implementează o proprietate numită refractibililatea, care se

manifestă în faza de filtare: o regulă nu este filtrată mai mult de o singură dată pe un set anume

de fapte. Fără această proprietate, sistemele expert ar fi antrenate în bucle triviale ce ar apărea ori

de câte ori acţiunile părţii drepte ale unei reguli nu ar produce modificări în bază.

Faza de selecţie, se mai poate numi, şi strategia de control a unui Sistem Expert, deoarece,

ea este legătura de trecere de la o stare la alta în procesul de raţionament, pentru rezolvarea

problemelor. Ea determină cum o căutare să fie direcţionată în scopul atingerii stării finale. Cele

mai folosite strategii de control, sunt cele înainte (forward-chaining) şi înapoi (backward-chaining).

32

Page 33: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Strategia de control înainte este bazată pe fapte, deoarece, se porneşte de la un set de fapte

iniţiale şi se caută ”înainte ” până se ajunge la scop. Regulile, sunt folosite ”spre înainte”, ele

generând fapte noi, şi tot asa pană când se ajunge la starea scop, sau până când nu mai sunt reguli

care pot fi utilizate.

Strategia de control înapoi, se mai numeşte şi strategia bazată pe scop. În acest caz, ne

depalasăm înapoi, de la scop înspre faptele iniţiale cunoscute. Prima dată, se caută in baza de fapte

dacă scopul se gaseşte acolo în cazul în care nu se găseşte, se caută dacă nu se află printre

concluziile unei reguli. Dacă se găseşte, ea se numeşte stare de scop, apoi se verifică daca

premizele acestei noi stări, se află în baza de fapte. Dacă nu există, atunci acestea devin noi scopuri

şi se continuă procesul până se găseşte o premiză care nu este suportată de nici o regulă. Această

metodă este similară cu demonstrarea ipotezelor de către experţii umani.

Strategia de control mixă combină cele două strategii pentru ca în timpul căutării prin baza

de cunoştinţe să înlăture inconveninetele acestora, reţinând numai cele care ar putea fi folosite cu

succes.

Metaregulile se referă la reguli care conţin starea procesului deductive şi modifică dinamic

ordinea priorităţii regulilor de declanşare.

3.3 Agenda

Agenda este structura de date care memorează la fiecare moment instanţele regulilor.

Aceste instanţe sunt dispuse într-o listă, instanţa de regulă aflată pe prima poziţie fiind aceea ce va

fi apoi utilizată.

Există două criterii care dictează ordinea instanţelor regulilor din agendă. Primul este

prioritatea declarată a regulilor, al doilea strategia de rezoluţie a conflictelor. Folosind aceste

doua criterii, insantele sunt ordonate în agendă în mod descrescător priorităţilor declarate, iar cele

cu priorităţi egale în ordinea dată de strategia de rezoluţie a conflictelor.

33

Page 34: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

3.4 Modul de explicaţie

Unele dintre cunoştinţele conţinute într-un Sistem Expert au un caracter euristic. Din acest

motiv soluţia furnizată de sistem nu este în mod necesar optimă. Este chiar posibil ca această soluţie să

nu fie nici măcar corectă. Rezultă de aici necesitatea ca Sistemul Expert să îşi explice modul în care a

ajuns la o anumită concluzie. De acest lucru se ocupă modulul de explicaţii, care permite trasarea

drumului urmat în raţionament de către sistemul rezolutiv şi emiterea justificărilor pentru soluţiile

obţinute, evidenţiindu-se în acest mod cauza greşelilor sau motivul eşecului. El ajută expertul să

verifice consistenţa bazei de cunoştinţe.

34

Page 35: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

IV. METODE DE REALIZARE A SISTEMELOR EXPERT

Dezvoltarea limbajelor de programare, tendinţa lor de a utiliza diverse forme de expresie

umană, au făcut mai uşoară munca de realizare a unui Sistem Expert. Necesitatea de reprezentare a

unui bagaj foarte mare de cunoştinţe, capacitatea de deducţie rapidă şi eficienta a soluţiilor

problemelor sunt unele din problemele care trebuie luate în considerare.

Realizarea unui Sistem Expert presupune achiziţia cunoştinţelor, care se face cu un

generator de Sisteme Expert sau achiziţia cunoştinţelor şi reprezentarea lor prin implementarea

motorului de inferenţă, în final urmând faza de validare.

4.1 Etapele realizării Sistemelor Expert

Calitatea şi utilitatea unui Sistem Expert depind în mod esenţial de cunoştinţele pe care le

încorporează şi utilizează. Efortul principal în realizarea unui Sistem Expert este orientat spre

cunoştinţe. Aceasta începe cu identificarea structurii generale corespunzătoare domeniului de

expertiză şi continuând cu colectarea, reprezentarea, validarea şi utilizarea acestora.

Primul lucru necesar în realizarea unui Sistem Expert este culegerea cunoştinţelor relevante

de la un expert uman. Aceste cunoştinţe sunt de obicei de natură euristică, iar culegerea lor într-un

mod care poate fi utilizat de calculator este în general o misiune dificilă. Un inginer de cunoştinţe

are ca scop culegerea cunoştinţelor de la un expert uman şi construirea bazei de cunoştinţe a

sistemului. Munca depusă de inginer, este foarte anevoiasă, deoarece achiziţionarea de cunoştinţe

35

Page 36: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

de la expertul uman este dificilă, exprimarea cu exactitate a cunoştinţelor şi regulilor nu este tocmai

la îndemâna oricui. Este necesar conceperea unui prototip iniţial bazat pe informaţiile obţinute de la

expert, urmând apoi rafinarea iterativă folosind reacţiile expertului şi a potenţialilor utilizatori ai

sistemului.

Un mod de realizare a sistemului, uşor de verificat şi modificat va fi un atuu puternic în

toată munca care trebuie depusă. De asemenea, sistemul, trebuie să fie capabil să-şi explice

raţionamentul şi să răspundă la întrebări despre procesul de soluţionare al problemei. Capaciatatea

de adăugare şi ştergere a unor blocuri de cunoştinţe trebuie să fie luată în considerare.

Reprezentarea cunoştinţelor prin reguli, este una din cele mai folosite metode, de obicei ele

nu au concluzii precise ci doar un anumit grad de certitudine cum că concluzia este adevărată dacă

condiţia este adevărată.

Etapele care trebuie parcurse în procesul de creare a unui Sistem Expert sunt:

analiza preliminară

modelarea conceptuală

colectarea cunoştinţelor

reprezentarea cunoaşterii

validarea sistemului

introducerea în exploatare şi mentinerea în funcţiune

Două din cele mai cunoscute metode de realizare a sistemelor expert sunt cea propusă de

societatea de informatică COGNITECH, si de societatea KADS.

Prima metodă, folosesc o metodă de realizare prin prototipaj, care cuprinde trei etape:

A. Un studiu de fezabilitate realizat mai întâi cu ajutorul unei machete de siteme expert

B. Realizarea prototipuli de test, această etapă construirea unui prototip pe care se

expertimentează diferitele moduri de reprezentare a cunoştinţelor. În cursul acestei

etape se urmăreşte construirea unei versiuni capabile să acopere domeniul de expertiză

ce formează obiectul sistemului.

C. În final, Sistemul Expert este realizat pornind de la prototip. Dacă rezultatele sunt

satisfăcătoare şi structura sistemului realizat ca prototip, dă rezultate bune, urmează

faza de industrializare.

Metoda KADS (Knowledge Acquisition Documentation Szstem) este o metodă de inginerie

a cunoştinţelor dezvoltate în cadrul Comunităşii Europene, în intenţia definirii unui standard

36

Page 37: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

metodologic european pentru conceperea şi realizarea de sisteme şi aplicaţii care utilizează baze de

cunoştinţe. Această metodă, cuprinde următoarele etape:

definirea aplicaţiei

analiza

proiectarea

implementarea

exploatarea şi menţinerea în funcţiune

Propunerea acestei metode, constă într-un demers de modelare al expertizei care

diferenţiază descrierea domeniului de descriere al raţionamentelor, tot aşa cum pentru aplicaţiile

convenţionale se diferenţiază descrierea datelor de cea a prelucrărilor. În acest scop există o

structură pe patru nivele: domeniu (descriere obiectelor, atributelor, relaţiilor, formule de calcul,

euristici), inferenţă (descrierea primitivelor de raţionament folosite pentru rezolvarea problemei),

activitate (etapele de reţionament şi structura de inferenţă), strategie (planul generel de rezolvare a

problemei).

4.2 Alegerea unei Probleme

Realizarea unui Sistem Expert implică mule ore de muncă şi o anumită sumă de bani. Pentru

a evita costurile şi eşecurile ruşinoase, cercetaătorii, au dezvoltat o serie de reguli de ghidare care

ne ajută să determinăm dacă o problemă este potrivită pentru ca o problema să fie rezolvată cu

ajutorul unui sistem expert: [12]

1. Nevoie unei soluţii trebuie să justifice costurile dezvoltării aplicaţiei. Trebuie să

fie o relaţie de echitabilitate între cost si rezultatul final.

2. Expertiza umana nu este la îndemână în toate situaţiile atunci când este nevoie

de ea. Dacă cunoştinţa « expertului » este disponibilă oricând, atunci nu va fi

nevoie de realizarea unui sistem expert. Cu toate acestea, în domenii Cum ar fi

exploatarea petrolului şi medicină se întâmplă destul de rar ca cunoştinţa

37

Page 38: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

specializată să fie oferită de un sistem expert, făra ca să se apeleze la

cunoştinţele unui expert în materie.

3. Problema poate fi retolvată folosind tehnicile de deducţie simbolice. Nu ar trebui

să se ceară dexteritate manuală sau aptitudini psihologice.

4. Problema este bine structurată şi nu necesită (multă) cunoştinţă de bază. Această

cunoştinţă este greu de capturat şi reprezentat. S-a arătat că unele domenii tehnice

sunt mai uşor de abordat, şi că tind să implice o cantitate destul de redusă de

informaţie formalizată.

5. Problema nu poate fi uşor rezolvată folosind tehnicile computerizate tradiţionale.

Dacă există un bun algoritm care să soluţioneye problema, atunci nu est enevoie

de un sistem expert pentru rezolvarea acestuia.

6. Existenţa cooperări şi voinşei unor experţi umani. Pentru ca un proiect să aibă

success este esenţial ca experţii să fie doritori să ajute şi să nu se simtă

ameninţaţi. De asemenea, este nevoie de un management al proiectului şi de

potenţiali utilizatori.

7. Problema este de scop şi de mărime potrivită. De obicei, este nevoie de probleme

care necesită o expertiză specializată, dar care necesită un timp destul de scurt

pentru un expert uman ca să fie rezolvată (o oră maxim).

Trebuie să fie clar că doar o clasă destul de redusă de probleme sunt potrivite pentru

sistemele expert. Cu toate acestea, dată o anumită problemă sistemele expert pot aduce beneficii

enorme. Sisteme au fost dezvoltate spre exemplu pentru a folosi la analiza unor mostre de petrol, la

configurarea unui sistem de calculator. Ambele siteme sunt (sau au fost) folosite scutind sume

enorme de bani.

4.3 Generatoare de Sisteme Expert

38

Page 39: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

După cum am văzut în capitolele anterioare, un Sistem Expert conţine un motor de

inferenţă, o bază de cunoştinţe, o baza de fapte şi o serie de alte componente auxiliare. Deci un

Sistem Expert oricât de performant ar fi nu este numai un motor de inferenţă, ci necesită mai ales o

mare acumulare de cunoştinţe, care trebuie introduse în sistem. Acel program informatic, care nu

are bază de cunoştinţe dar care este capabil să o primească şi să o exploateze este un generator de

Sisteme Expert, sau altfel numit instrument de elaborare sau shell, adică este o “cochilie goală”,

care trebuie umplută. Acest generator conţine, pe lângă motorul de inferenţă, utilitare de elaborare

şi de exploatare indinspensabile.

Un generator de Sisteme Expert este un instrument care permite realizarea mai multor

Sisteme Expert, dar fiecare dintre acestea este o entitate separată, adică sunt sisteme diferite care nu

au nici o legătură între ele.

Majoritatea Sistemelor expert din prima generaţie au fost prevăzute cu un software pentru

achiziţia de cunoştinţe, mai mult sau mai puţin complet. S-au comercializat deci sisteme care să

înmagazineze cunoştinţe.

Pentru crearea unui Sistem expert, cu ajutorul unui generator de sisteme expert, trebuie

completată baza de cunoştinţe a acestuia. În ea trebuie introduse fapte şi reguli, acestea fiind unele

dintre funcţiile principale ale editorului. Toate sistemele evoluate posedă un astfel de editor, care

serveşte la achiziţia cunoştinţelor.

Alături de acest editor, există şi alte utilitare, precum trasorul, motorul de elaborare, modul

de învăţare şi eventual alte module specializate în explicaţii, comentarii şi calcule. Acestea din

urmă nu sunt prezente în toate sistemele expert.

Fiecare dintre aceste module trebuie să poată comunica cu utilizatorul, deci există interfeţe

care permit dialogul cu acestea. O arhitectură simplă a unui generator de sisteme expert este

prezentată schematic în Figura 4.1

39

Page 40: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Este de remarcat faptul că fiecare modul poate fi dotat cu propria interfaţă de dialog cu

observaţia că pentru sistemele industriale este neapărat nevoie de interfaţă de procedeu, pentru a

achiziţiona în mod automat datele care provin de la captatoare şi automate. De exemplu, în

domeniul gestiunii interfeţele sunt destinate, de cele mai multe ori, extragerii datelor din bazele de

date şi să înscrie în ele noi informaţii.

40

Baza de cunoştinţe

Editor

Învăţare

Trasor

Alte module

Interfaţa utilizator

Motorul de inferenţe

Interfaţaprocedeu

Page 41: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Cel mai celebru dintre sistemele expert din generaţia veche este sistemul MYCIN. El a făcut

să apară numeroase aplicaţii şi a dat naştere motorului de elaborare EMZCIN. Acesta conţine

celebrul modul de achiziţie a cunoştinţelor, cunoscut sub numele de TEIRESIAS.

Tot în aceeaşi perioadă de dezvoltare, s-a născut sistemul CASNET, un alt sistem expert

medical, destinat pentru stabilirea diagnosticului şi a terapiei glaucomului. Sistemul CASNET a dat

naştere sistemului EXPERT.

Un alt reprezentatnt de seamă din rândul sistemelor expert este sistemul PROSPECTOR.

Acesta este destinat detectării zăcămintelor de minerale şi a fost dezvoltat dând naştere unui sistem

de elaborare numit KAS. Sistemul OPSS a provenit dintr-o familie de limbaje ale inteligenţei

artificiale, momentat fiind inclus în sistemul KNOWLEDGE CRAFT. Un sistem destinat analizei

limbajului natural, care a adus multe idei noi care mai târziu au fost reluate este HEARSAZ-III.

41

Page 42: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

V. MED-EXPERT - SISTEM EXPERT APLICAŢIE ÎN MEDICINĂ

De la începuturile istoriei moderne ale calculatoarelor, cercetătorii, au visat să creeze un

“creier electronic”. Dintre toate domeniile de cercetare, domeniul creării sistemelor computerizate

inteligene (AI) a fost unul dintre cel mai ambiţios şi nu surprinzător cel mai controversat.

Se pare, că, încă de la început, savanţii şi doctorii au fost captivaţi de potenţialul pe care

acesată tehnologie o poate avea în medicină. Folosind calculatoare inteligente capabile să stocheze

şi să proceseze o cantitate enormă de informaţii, se spera la dezvolatrea unor « doctori în cutii »

capabili să asiste şi să depaşească capacitaţile cadrelor medicale în materie de diagnostic.

Cu asfel de motivaţii înalte, un grup destul de restrâns de oameni de ştiintă şi profesionalişti

medicali, au pus bazele unei noi discipline numite Inteligenţa Artificială în Medicină (AIM).

Cercetările făcute au avut ca viziune revoluţionarea medicinei şi depaşirea barierelor tehnologiei.

Sistemele AIM au ca scop sprijinirea personalului medical în cursul normal de probleme care

apar, asistând la sarcinile care se bazează pe manipularea de date şi cunoştinţe. Un sistem inteligent,

ar putea alerta un medic, atunci când acesta detectează o contraindicaţie la un tratament planificat,

sau atunci cănd detectează modificări în starea unui pacient.

Sistemele Expert, sunt cele mai comune tipuri de sisteme AIM folosite în medicină. Ele

conţin cunoştinţă medicală, de obicei despre un anumit câmp de studiu, şi sunt capabile să raţioneze

cu date de la pacienţi individuali, pentru a deduce unele concluzii. Cu toate că există multe metode

de reprezentare a cunoştinţei cea mai utilizată e cea care foloseşte un set de reguli.

Medicina, a pus bazele unei dorinţe de dezvoltare a unor maşini capabile să înveţe dând

posibilitate oamenilor de ştiinţă să dezvolte sisteme complexe capabile să facă acest lucru. Cu toate,

42

Page 43: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

că, au fost şi sunt încă folosite un număr destul de mare de sisteme expert în medicină, în prezent,

sistemele capabile să înveţe sunt încă folosite în mod experimental. Cu toate acestea sunt multe

situaţii în care ele pot aduce un real suport.

5.1 Scopul aplicaţiei practice

Stresul şi ritmul vieţii cotidiene, au făcut ca problemele digestive să fie o adevărată

problemă în ziua de azi. Tot mai multă lume, este prinsă în acest vârtej al epocii pe care o trăim,

încât uneori, uităm sau amânăm să facem chiar şi cele mai elementare activităţi zilnice.

Numărul de persoane care suferă de Ulcer Duodenal, de Gastrite Acute, a crescut alarmant în

ultima perioadă declanşând un adevărat semnal de alarmă. Un ajutor, adus personalului medical, ar

fi de un real folos oferind posibilitatea tratării şi diagnosticării mai multor persoane care suferă de

aceste boli.

Dezvotarea unei aplicaţii care ar putea ajuta la diagnosticarea şi oferirea unui tratament

pentru aceste disfuncţionalităţi, ar aduce un real sprijin atât medicilor cât şi pacienţilor.

Accesarea unei astfel de aplicaţii, de către pacienţii înregistraţi ai unui spital, ar fi un

adevărat atuu. Posibilitatea modificării anumitor date pe care sitemul le are, cât şi posibilitatea

adăugării de noi cunoştinţe care să poată fi utilizate, ar face ca munca unui doctor, să fie mai

eficentă şi mai accesibilă.

Sistemul MED-EXPERT, este un Sistem Expert de diagnostic medical care oferă şi

tratament pentru pacienţii care suferă de Ulcer Duodenal, Litiază Biliară şi Coliculi Biliari.

Toate aceste boli au unele simptome comune, dar şi unele care le poat departaja oferind

posibilitatea uneori ajungerii la un diagnostic înainte de desfăşurarea unor examene paraclinice (de

laborator). Asfel că, baza de cunoştinţe va fi folosită pentru toate aceste trei boli fără o delimitare

rigidă.

43

Page 44: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Modul în care raţionează sistemul ajută personalul medical să determine dacă pacientul

suferă de o anumită boală şi nu numai. MED-EXPERT este capabil să determine şi procentele în

care celelalte disfuncţionalităţi, apar la un anumit pacient.

Sistemul nu se opreşte doar la diagnosticare, el fiind capabil să ofere şi un tratament pentru

un anumit diagnostic găsit.

MED-EXPERT, poate fi utilizat atăt de medicii care au conturi de acces, căt şi de pacienţii

internaţi la un anumit spital.

Pacienţii, posedând un cont dat la internare, au acces doar de folosire a acestui sistem, fiind

capabili să-şi verifice singuri starea de sănătate din punctul de vedere al problemelor medicale mai

sus menţionate

Medicii, care au acces de utilizare a sistemului, pot folosi acestă aplicaţie, atât ca un

program de diagnosticare medicală, căt şi avănd posibilitatea adăugării, modificării bazei de

cunoştinţe pe care acesta o posedă.

5.1.1 Descrierea aplicaţiei

La rularea MED-EXPERT-ului, va apărea o fereastră de Logare care va trebui completată

cu un nume de User si o Parolă corespunzătoare. Aceste date sunt primite de fiecare medic care

lucrează in spital şi de fiecare pacient internat, date care sunt reţinute în Bazele de date « Medici »

si « Pacienţi ».

În cazul în care datele nu sunt introduse corect, aplicaţia nu va rula şi va afişa un mesaj de

atenţionare.

Logarea cu succes, va duce la posibilitatea folosirii MED-EXPERT-ului, de către

utilizatorul avizat fie medic fie pacient.

Dacă utilizatorul este medic, atunci pe ecran va apărea o fereastră care oferă posibilitatea

alegerii unor opţiuni de utilizare a aplicaţiei.

Un medic, va putea să vizualizeze baza de cunoştinţe a sistemului (simptomele, procentele

pe care acestea le ocupă atât în boală cât şi între boli), va putea şterge un anumit simptom care este

identificat printr-o anumită cheie (ID), va putea modifica unele date din baza de cunoştinţe, sau va

44

Page 45: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

putea adăuga o noua entitate de cunoaştere, un simptom. Medicul mai poate vizualiza lista cu

pacienţi ai spitalului, şi lista cu pacienţii diagnosticaţi.

De asemenea, acesta va putea rula sistemul de diagnoză şi tratament. La alegerea acestei

opţiuni, va apărea pe ecran o fereastră care va ajuta medicul să facă o diagnoză a unui anumit

pacient.

Aceeasi fereastră, va apărea şi în cazul logării unui pacient, el nebenficiind de apariţia

ferestrei cu opţiuni de modificare a bazei de cunoştinţe ale sistemului.

Această fereastră, reprezintă Interfaţa Utilizator a sistemului, interfată prin care

utilizatorul interacţionează cu aplicaţia, şi care face posibilă culegerea de date de la pacient/doctor,

necesare raţionamentului.

Pe fereastră, se va putea vedea o imagine semnificativă fiecărui simptom care este interogat,

simptomul, o casuţă, în care se poate introduce răspunsul pacientului/medicului şi un buton, care

trebuie să fie folosit după ce s-a răspuns la întrebarea care apare pe ecran.

Butonul, nu va mai putea fi folosit atunci când se ajunge la un diagnostic, el va fi inactiv, iar

pe ecran, va mai apărea o fereastră, în care se va confirma diagnosticul şi tratamentul.

Răspunsurile valide care pot fi primite de sistem, sunt în intervalul [-5...5], o valoare mai

mare sau egală cu 0, va fi înregistrată de sistem, cu semnificaţia DA, iar o valoare mai mică decât 0

cu semnificaţia de NU.

În funcţie de răspunsurile pe care sistemul le primeşte de la pacient, acesta îşi va « croi »

drumul spre scopul final şi va pune doar întrebările corespunzătoare.

Fereastra aplicaţiei MED-EXPERT oferă posibilitatea rulării ei ori de câte ori doreşte

utilizatorul.

5.2 Baza de cunoştinţe

În literatura de specialitate, există o serie de metode de reprezentarea a bazei de cunoştinţe a

unui Sistem Expert, metode care au fost descrise în această lucrare. Sistemele Expert, cu aplicaţie în

medicină adesea folosesc metoda regulilor, calcule şi formul de natură probabilistică. Cel mai

cunoscut sistem de diagnoză, MYCIN, foloseşte această metodă de reprezentare.

45

Page 46: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Pentru Sistemul Expert, MED-EXPERT, am ales metoda reţelelor semantice. Colaborarea ,

cu expertul uman în materie medicală, m-a făcut să ajung la această concluzie, găsind această

reprezentare naturală, uşor de prelucrat şi logică.

Se ştie că, reţele semantice sunt de două tipuri, cauzale şi decizionale. Modelul cel mai

potrivit pentru această aplicaţie este cel decizional.

Reţeaua este un graf orientat în care cunoaşterea este reprezentată prin asocierea între

noduri şi arce a semnificaţiei sau semanticilor. Astfel, se ajunge la interpretarea în termeni de

obiecte/entităţi şi relaţii a domeniului problemei.

Nodurile sunt asociate obiectelor din domeniu în cazul de faţă unui simptom, iar arcele sunt

asociate legăturilor sau relaţiilor dintre obiecte. Două noduri care sunt legate printr-un arc,

înseamnă că sunt în legătură directă în funţie de rezultaul primit de la un pacient despre un

simptom, urmează să fie chestionat un alt simptom.

Caracteristica de bază a unei reţele semantice constă în aceea că oferă un formalism de

reprezentare a cunoaşterii împreună cu o structură de regăsire a cunoaşterii. În acest mod de

reprezentare, raţionamentul înseamnă căutarea unei căi dintre nodurile grafului folosind

cunoaşterea disponibilă din domeniu.

Bazându-mă pe caracteristicele acestui mod de reprezentare a cunoştinţei, prin modul

natural în care raţionează medicul, cea mai potrivită transpunere am găsit-o în reţeaua semantică

decizională.

Un nod al acestei reţele reprezintă o entitate Simptom, care este caracterizat de:

- simptomul în sine, întrebarea care este dresată pacientului

- procentul pe care îl ocupă în fiecare din bolile Ulcer Duodenal, Gastrită Acută, Litiază

Biliară

- procentele pe care îl ocupă între aceste boli. Un simptom, are o însemnătate mai mare

pentru o anumită boală iar pentru altul mai mică.

Ca în toate cazurile de aplicaţii, existenţa excepţiilor este un lucru cât se poate de natural. Şi

aici această problemă apare şi trebuie tratată cât mai eficient şi mai natural.

Excepţiile pot apărea atunci când procentele simptomelor diferă. Tinând cont de cunoştinţa

achiziţionată de la expertul uman, s-a dovedit că în cazul unor simptome, procentele diferă în

funcţie de sex, şi de răspunsul afirmativ sau negativ pe care îl primim de la pacient.

46

Page 47: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Tinând cont de informaţiile achiziţionate, de problemele care apar, am hotarât, ca,

cunoştinţa acestui sistem, să fie reprezentată astfel: toată baza de cunoştinţe se poate regăsii in baza

de date SimptomeBoli, care conţine tabelele Simptom, ProcentSimptomBoli,

ProcentSimptomBoala, ExcDaNu.

Tabelul Simptom, are următoarea structură:

ID (int) – identifică unic fiecare simptom;

Simptom (text) – simptomul propriu-zis;

DA (int) – câmpul conţine identificatorul următorului simptom care va fi interogat de

sistem, dacă se răspunde pozitiv la cel curent;

NU (int) – câmpul conţine identificatorul următorului simptom care va fi interogat de

sistem, dacă se răspunde negativ la cel curent.

Tabelul Simptom:

47

Page 48: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

ID Simptom DA NU

1 Aveti dureri abdominale? 2 112 Aveti dureri in epigastru? 4 33 Aveti dureri in hipocondrul drept? 4 54 Durerile sunt vii,ascutite? 5 55 Durerile se accentueaza in inspir profund? 6 66 Durerea apare noaptea? 7 77 Durerea apare dupa masa? 8 88 Durerea cedeaza dupa alimentatie sau antiacide? 10 99 Durerea cedeaza la caldura sau antispastice? 10 10

10 Durerea se amelioreaza daca va ghemuiti? 11 1111 Sunteti agitat? 12 1212 Va este greata? 13 1313 Ati avut varsaturi bilioasa? 15 1414 Ati avut varsaturi acide 15 1515 Ati avut hematemeza sau malena? 16 1616 Sexul (F>=0|M<0)? 17 1717 Sunteti fumator (DA>=0|Nu<0)? 18 1818 Consumati alimente bogate in grasimi? 19 1919 Aveti un orar de mese regulat? 20 2020 Sunteti expus la stres? 21 2121 Urmati tratament aniinflamator (DA>=0|Nu<0)? 22 2222 In familie aveti antecedente de Ulcer Duodenal

(DA>=0|Nu<0)?23 23

23 In familie aveti antecedente de Litiaza Biliara (DA>=0|Nu<0)?

24 24

24 Suferiti de obezitate sau DZ (DA>=0|Nu<0)? 25 2525 Dimineata, simtiti uneori gust amar sau cefalee? 26 2626 Colecistul apare destins la palpare? 27 2727 Exista sensibilitate vie la palparea hipocondrului

drept cu semnul Murphy pozitiv?30 28

28 Exista sensibilitate vie la palparea epigastrului? 30 2929 Exista o usoara sensibilitate la palparea epigastrului? 30 3030 Exista subfrebilitate? 31 3131 Exista subicter (DA>=0|Nu<0)? 32 3232 Exista hiperbilirubinemie directa (DA>=0|Nu<0)? 33 3333 Ecografic, exista litieaza biliara sau malformatii ale

colecistului (DA>=0|Nu<0)?34 34

34 Exista anemie hipocroma (DA>=0|Nu<0)? 35 3535 Reactia Gregersen este pozitiva (DA>=0|Nu<0)? 36 3636 Examenul baritat al tubului digestiv superior releva

modificari specifice pentru Ulcer Duodenal (DA>=0|Nu<0)?

37 37

37 Examenul baritat al tubului digestiv superior releva modificari specifice pentru Gastrita Acuta (DA>=0|Nu<0)?

38 38

38 Endoscopia digestiva superioara releva leziuni specifice Ulcerului Duodenal (DA>=0|Nu<0)?

39 39

39 Endoscopia digestiva superioara releva leziuni specifice Gastritei Acute (DA>=0|Nu<0)?

0 0

48

Page 49: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Tabelul ProcentSimptomBoală, are următoarea structură:

ID (int) - identifică unic fiecare simptom;

LB (double) – procentul pe care îl ocupă simptomul în boala Litiază Biliară;

UD (double) - procentul pe care îl ocupă simptomul în boalaUlcer Duodenal;

GA (double) - procentul pe care îl ocupă simptomul în boala Gastrită Acută;

Tabelul ProcentSimptomBoală:

ID LB UD GA2 5 10 53 5 10 14 5 10 05 5 10 06 2,5 5 07 2,5 5 2,58 0 5 2,59 2,5 1 1

10 1 5 111 2,5 2 012 3 6 313 7 2 114 0 14 715 1 14 716 0 0 017 0 4 018 2,5 4 019 0 6 320 0 5 2,521 0 5 2,522 0 5 023 2,5 0 024 2,5 0 025 2,5 0 026 10 0 027 15 0 028 5 10 529 2,5 10 530 10 0 031 10 0 032 15 0 033 30 0 034 0 6 335 0 14 736 0 5 0

49

Page 50: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

37 0 0 2538 80 0 039 0 0 50

Tabelul ProcentSimptomBoli, are următoarea structură:

ID (int) - identifică unic fiecare simptom;

EXC (text) – conţine numele tabelului în care se află informaţii despre simptomele care

prezintă excepţii;

LB (double) – procentul pe care îl ocupă simptomul pentru boala Litiază Biliară, între

celelalte boli;

UD (double) - procentul pe care îl ocupă simptomul pentru boalaUlcer Duodenal, între

celelalte boli;

GA (double) -procentul pe care îl ocupă simptomul pentru boala Gastrită Acută, între

celelalte boli;

Tabelul ProcentSimptomBoli:

ID EXC LB UD GA1 50 35 202 ExcDaNu 0 0 03 60 30 104 60 40 05 60 40 06 50 50 07 40 30 308 0 70 309 70 20 10

10 10 80 1011 80 20 012 33 33 3313 80 10 1014 0 50 5015 10 60 3016 ExcDaNu 0 0 017 0 100 018 60 40 019 0 50 5020 0 50 5021 0 30 7022 0 100 0

50

Page 51: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

23 100 0 024 100 0 025 100 0 026 100 0 027 100 0 028 20 60 2029 10 20 7030 90 10 031 100 0 032 100 0 033 100 0 034 0 50 5035 0 50 5036 0 100 037 0 0 10038 0 100 039 0 0 100

Tabelul ExcDaNu, are următoarea structură:

ID (int) - identifică unic fiecare simptom;

LB_DA (double) – procentul pe care îl ocupă simptomul pentru boala Litiază Biliară,

între celelalte boli în cazulu unui răspuns afirmativ;

UD_DA (double) - procentul pe care îl ocupă simptomul pentru boalaUlcer Duodenal, între

celelalte boli, în cazul unui răspuns afirmativ;

GA_DA (double) - procentul pe care îl ocupă simptomul pentru boala Gastrită Acută, între

celelalte boli, în cazul unui răspuns afirmativ;

LB_NU (double) - procentul pe care îl ocupă simptomul pentru boala Litiază Biliară, între

celelalte boli în cazulu unui răspuns negativ;

UD_NU (double) - procentul pe care îl ocupă simptomul pentru boalaUlcer Duodenal, între

celelalte boli, în cazul unui răspuns negativ;

GA_NU (double) - procentul pe care îl ocupă simptomul pentru boala Gastrită Acută, între

celelalte boli, în cazul unui răspuns negativ;

51

Page 52: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Tabelul ExcDaNu:

ID LB_DA UD_DA GA_DA LB_NU UD_NU GA_NU2 30 35 35 33 33 33

16 80 10 10 10 80 10

Datele despre pacienţii internaţi care pot să beneficieze se serviciile oferite de această

aplicaţie sunt prezente în baza de date Pacienţi, care conţine Tabelul Pacienţi şi are următoarea

structură:

ID (int) - numărul de identificare al fiecărui pacient;

NUME (tex) - numele pacientului;

ADRESA (text) - adresa pacientului;

DIAGNOSTIC (text) - diagnosticul care este pus de către medic (aplicaţia

MED-EXPERT) ;

USER (text) - numele de User pe care îl primeşte pacientul la internare şi cu

care poate să se logeze pentru a folosi MED-EXPERT-ul;

PAROLA (text) - parola User pe care o primeşte pacientul la internare şi cu

care poate să se logeze pentru a folosi MED-EXPERT-ul;

Tabelul

Pacienti:

ID NUME ADRESA DIAGNOSTIC USER PAROLA1 Pop Marian str. Mihai

Viteazu nr25 Bucuresti

Ulcer Duodenal pm25 pm25

2 Ion Vasile str. Crangasi nr56 Cluj-Napoca

iv56 iv56

3 Marian Nadas str. Mihai Eminescu nr 5 Iasi

Liteaza Biliara mn5 mn5

4 Maria Ionescu str. Victoriei nr117 Suceava

Gastrita Acuta mi117 mi117

5 Lavinia Ciceu str. Abatorului nr3 Cluj-Napoca

lc3 lc3

6 Ioana Vasilescu

str. Observatorului nr45 Cluj-Napoca

iv45 iv45

7 Silvica Negura str. Crangasi nr 11 Bucuresti

sn11 sn11

8 Silviu Tampescu

str. Bucium nr88 targoviste

Ulcer Duodenal st88 st88

9 Rares Neagu str. Bujor nr33 Zalau

rn33 rn33

10 Ionut Iliescu str. Memorandumului nr7 Cluj-Napoca

Liteaza Biliara ii7 ii752

Page 53: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Datele despre doctorii care lucrează în spital şi care pot să beneficieze de serviciile oferite

de această aplicaţie sunt prezente în baza de date Doctori, care conţine Tabelul Doctor şi are

următoarea structură:

ID (int) - numărul de identificare al fiecărui doctor;

NUME (tex) - numele doctorului;

SPECIALIZARE(text) - specializarea fiecărui medic;

USER (text) - numele de User pe care îl primeşte medicul şi cu care poate

să se logeze pentru a folosi MED-EXPERT;

PAROLA (text) - parola User pe care o primeşte medicul şi cu

care poate să se logeze pentru a folosi MED-EXPERT-ul;

Tabelul Doctor:

ID NUME SPECIALIZARE USER PAROLA1 Nicolaie

Ionescumedic primar ni28796 ni28796

2 Otilia Gaina pediatru og38796 og387963 Ion Gherman chirurg ig23786 ig237864 Marian

Vasilescuneurolog mv87213 mv87213

5 Maria Negoiescu

dermatolog mn32449 mn32449

Datele despre medicaţia pe care sistemul o oferă pacienţilor, sunt reşinute în baza de date

Medicaţie. Baza de date conţine:

Tabelul Boli cu următoarea structură:

IDBoala (text) – identifică unic fiecare boală;

Denumire (text) – denumirea boli;

Tabelul Medicamante cu următoarea structură:

IDMed (text) – identifică unic fiecare medicament;

Denumire (text) – denumirea medicamentului;

Dozaj (text) - dozalul care trebuie administrat;

53

Page 54: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Tabelul Reteta cu următoarea structură:

IDBoala (text) – identificatorul bolii pentru care s-a prescrsi reţeta;

IDMed (text) – identificatorul medicamentului prescris;

5.3 Mecanismul de inferenţă

Punctul forte al Sistemelor Expert, îl reprezintă capacitatea lor de a face inferenţe şi să

deducă concluzii pe baza unor date. Aceasta este partea care face un Sistem Expert inteligent. Chiar

şi atunci când este posibil să se reprezinte baza de cunoştinţe ca şi reguli, un expert uman, nu

trebuie doar să ştie să aplice unele reguli, el trebuie să cunoască şi ordinea in care ele trebuie

aplicate pentru a se putea rezolva o anumită problemă. Similar, un expert computerizat, trebuie să

decidă care şi în ce ordine trebuie selectate regulile pentru evaluare. Pentru a face aceasta, un

Sistem Expert, are în componenţă Motorul de inferenţe. Acesta este un program care interpretează

regulile din baza de cunoştinţe dându-i posibilitatea obşinerii unei soluţii. Pentru aceasta, există

două strategii, ce a înlănţuirii înainte, şi cea a înlănţuirii înapoi. Un model particular de motor de

inferenţă este cel care le foloseşte pe amândouă.

Bazându-mă pe modul în care am stocat informaţia pe care o deţine sistemul, am hotărât că,

cea mai apropiată şi mai potrivită metodă de utilizare a motorului de inferenţă este cel cu înlănţuire

înainte.

Răspunsurile pe care le primeşte aplicaţia la evaluarea fiecărui simptom în parte, face foartă

uşoară ”alunecarea” spre concluzia dorită. Reţeaua semantică, care modelează baza de cunoştinţe a

sistemului, este foarte apropiată unui arbore de decizie, care în funcţie de un rezultat primit la un

moment dat, se ”îndreaptă” spre un anumit nod. Astfel, că, dificultatea de a decide care este

următorul simptom care trebuie evaluat, este rezolvată, înca din conceperea reţelei care descrie

cunoştinţa sistemului. Legăturile, acestei reţele decizionale, este dat de rezultatul afirmativ sau

negativ, pe care sistemeul le primeşte de la un anumit pacient.

Momentul în care motorul de inferenţe se opreşte, este atunci când una din bolile evaluate,

apare într-un procent mai mare de 75% la un anumit pacient, sau în cazul în care nu ar mai fi ce

simptome să fie evaluate iar pacientului i se oferă o situaţie generală despre starea lui de sănătate

54

Page 55: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

relative la bolile investigate. Acest moment, oferă utilizatorului aplicaţiei şi o reţetă ţinând cont de

rezulatele la care s-au ajuns.

După cum am mai afirmat, această concluzie, de prezenţă a unei boli, se poate deduce, doar

din interogarea unor simptome care nu necesită analize paraclinice. Daca motorul de inferenţe, nu a

putut deduce că o anumită afecţiune apare până în momentul în care sunt interogate rezultatele de

la analizele paraclinice, odată evaluate aceste analize, se poate deduce clar situaţia pacientului.

Procentele finale ale afecţiunilor, care ne ajută la evaluarea stării pacientului, sunt calculate

în timpul derulării algoritmului după care lucrează motorul de inferenţă, şi tine seama de rezultatele

primite de la bolnav asfel:

- rezultatul pe care aplicaţia îl primeşte este un număr din intervalul [-5..5], acest rezultat,

va fi ponderat după următorea formulă:

Raspuns(r)=(r+5)/10 astfel încât să avem o apreciere cât mai realistă asupra situaţiei;

- formula după care se vor calcula procentele fiecărei boli în parte, se calculează la fiecare

pas, şi este:

Pboală= Pboală + ((Procent_boală*Raspuns(r) )* Procent_boli)/100;

Ţinând cont de cele afirmate până acum, am putea deduce, că, algoritmul după care lucrează

motorul de inferenţă este:

Algoritm MED-EXPERT:

Cât timp ((not_diagnostic) sau (not_sfărşit_simptome)) execută

Pentru fiecare boală execută

Calculează Pboală;

Sfpentru

Determină id_simptom_următor;

SfCattimp

Prescrie Reţetă;

SfMED-EXPERT

Urmând acest mod de deducţie cu înlănţuire înainte, tinând cont de toate excepţiile care ar

putea apărea şi de datele din baza de fapte (cele care ţin de fiecare pacient în parte), sistemul MED-

Expert, este capabil să diagnosticheze şi să ofere un tratament pentru persoanele suferinde de

disfuncţionalităţile amintite anterior.

55

Page 56: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

CAZURI DE UTILIZARE

Ţinând cont de modul în care poate fi utilizată aplicaţia MED-Expert, am putea evidenţia

următoarele cazuri de utilizare:

1. Logarea unui utilizator

Aplicaţia permite să fie folosită doar de persoanele care au aceste drepturi, de aceea

primul pas în rularea MED-Expertului o reprezintă logarea, operaţie a cărei interfaţă este:

Acest caz de utilizare, conţine două subcazuri:

1.1 Logarea unui medic – utilizatorul care se logheaza în vederea utilizării aplicaţiei,

este un medic al spitalului. În cazul în care medicul a realizat o logare cu succes,

numele de user si parola aferentă, au fost validate, acesta, va putea folosi în

continuare aplicaţia. În caz contrar, se va semnala un mesaj de eroare în care

medicul este atenţionat de introducerea incorectă a datelor de identificare.

1.2 Logarea unui pacient - utilizatorul care se logheaza în vederea utilizării aplicaţiei,

este un pacient al spitalului. În cazul în care pacientul a realizat o logare cu succes,

numele de user si parola aferentă, au fost validate, acesta, va putea folosi în

56

Page 57: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

continuare aplicaţia. În caz contrar, se va semnala un mesaj de eroare în care

pacientul este atenţionat de introducerea incorectă a datelor de identificare.

2. Vizualizări informaţii

Această operaţie, este permisă numai utilizatorilor de tip medic, la fel ca şi toate

operaţiile asupra bazelor de date pe care aplicatia le gestionează. Toate aceste operaţii pe

care un medic le poate face, se pot selecta din fereastra:

2.1 Vizualizare Simptome – în acest caz de utilizare, un medic, poate sa vizualizeze toate

simptomele pe care MED-Expertul le foloseţe. Un posibil rezultat al acestei operaţii ar

putea arăta astfel:

57

Page 58: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

2.2 Vizualizare Procente Boala – această opţiune permite unui medic, să vizualizeze

procentele pe care le ocupă simptomele în cadrul fiecărei boli.

2.3 Vizualizare Procente Boli – această opţiune permite unui medic, să vizualizeze

procentele pe care le ocupă simptomele între disfuncţinalităţile tratate de aplicaţe. În

58

Page 59: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

cazul în care există expepţii, un simptom are procente diferite în unele situaţii, acestea

vor fi de asemeni afişate.

2.4 Vizualizare Pacenţi Internaţi – această opţiune permite unui medic, să vizualizeze

toţi pacienţii internaţi în spital în cadrul departamentului aferent.

59

Page 60: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

2.5 Vizualizare Pacienţi Diagnosticaţi - această opţiune permite unui medic, să

vizualizeze toţi pacienţii diagnosticaţi internaţi în spital în cadrul departamentului

aferent.

3. Adăugarea unui nou Simptom

Un medic poate să gestioneze baza de cunoştinţe a aplicaţiei. El poate să adauge un nou

Simptom, împreună cu toate informaţiile aferente acestuia prin intermediul unei interfeţe.

4. Modificarea unui Simptom

O altă opţiune pe care un medic o are, este cea de modificare a unui Simptom conţinut în

baza de cunoştinţe a aplicaţiei. Această operaţie, dispune de asemenea de o interfată,

prin care medicul poate să modifice unele informaţii ale unui Simptom dorit. După ce se

60

Page 61: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

introduce id-ul Simptomului pe care dorim să îl modificăm, introducerea acestul id

conţine funcţii de validarea a identificării unui Simptom existent în baza de date, datele

aferente Simptomului vor aparea pe interfaţa pusă la dispoziţie de către aplicaţie după

apăsarea tastei Enter în câmpul de introducere al id-ului cerut.

5. Ştergerea unui Simptom

După introducerea corectă a unui id, care identifică un Simptom, folosit de aplicaţie în

cadrul ferestrei de Ştergere, un medic, poate să renunţe la utilizarea unui anumit

Simptom.

61

Page 62: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

6. Utilizare MED-Expert

Cel mai important caz de utilizare al aplicaţiei, folosirea sistemului expert, care este

capabil să decidă daca un anumit pacient suferă de una din disfuncţionalităţile

analizate. Modul în care se foloseşte interfaţa sistemului, am prezentat-o într-un

paragraf anterior, acum vom identifica această interfată, impreună cu cea a unei reţete.

Reţeta, este primită de pacient după momentul opririi motorului de inferenţă a

sistemului. În acest moment, sistemul, a ajuns la o decizie finală, un diagnostic de o

anumită disfuncţionalitate, şi oferă un tratament pentru corectarea acesteia.

62

Page 63: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

63

Page 64: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

DIAGRAMA DE CALSE

Pacientid : intnume : stringdiagnostic : stringadresa : stringuser : stringparola : string

get()set()

Doctorid : intnume : stringspecializare : stringuser : stringparola : string

get()set()

Logarepac : Pacientdoc : Doctorbs : BrookerSimptom

StergereSimptombs : BrookerSimptomidsimp : ArrayList

Tabelecaz : int

AdaugareSimptombs : BrookerSimptomidsimp : ArrayList

actualizare()

ModificareSimptombs : BrookerSimptomidsimp : ArrayList

actualizare()

Simptomid : intnextid : intsimptom : stringimagine : stringLB_boli : doubleUD_boli : doubleGA_boli : doubleLB_boala : doubleUD_boala : doubleGA_boala : double

Brookersimptomidcurent : intsim : Simptomdoc : XmlTextReaderidsimp : ArrayList

getNrSimptom() : intFinal(id : int) : intgetIntrebare(id : int) : stringgetImagine(idcurent : int) : stringgetSimptom(idcurent : int, rasp : int) : SimptomdelSimptom(argname)addSimptom(id : int, idant : int, ram : int, simp : string, da : int, nu : int)addProcentBoala(id : int, lb : double, ud : double, ga : double)addProcentBoli(id : int, ex : string, lbd : double, udd : double, gad : double, lbn : double, udn : double, gan : double)cautIDDa(id : int)cautIDNu(id : int)getCazuri(id : int) : ArrayListgetSimptomModif(id : int) : ArrayListgetProcentboalaM(id : int) : ArrayListgetProcenteBoliM(id : int) : ArrayListModSimptom(id : int, simptom : string, da : int, nu : int)ModProcenteBoala(id : int, lb : double, ud : double, ga : double)ModprocenteBoli(id : int, lb : double, ud : doble, ga : double, ex : string)getIDSimptome() : ArrayList

Medicbs : BrookerSimptom

Med-ExpertPlitbil : doublePulcerd : doublePgastra : doublenrSimptome : intr : intdiag : intidcurent : intindex : intret : Retetabs : BrookerSiptom

Diagnostic(index : int) : intRaspuns(ras : int) : double

Retetacaz : intboala : stringcazboala : int

COD SURSĂ

64

Page 65: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Clasa Simptom, conţine toate datele necesare şi aferente unei entităţi Simptom care intervine în aplicaţie. De asemenea conţine şi metodele aferente de regăsire şi de iniţializare a datelor membru.

public class Simptom { private int id ;

private int nextid;private string simptom;private string imagine;private double LB_boli;private double UD_boli;private double GA_boli;private double LB_boala;private double UD_boala;private double GA_boala;

public Simptom(){

}public void setID(int id){

this.id=id;}public void setNextId(int id){

this.nextid=id;}public void setSimptom(string simptom){

this.simptom=simptom;}public void setImagine(string imagine){

this.imagine=imagine;}public void setLB_boli(double lb1){

LB_boli=lb1;}public void setUD_boli(double ud1){

UD_boli=ud1;}public void setGA_boli(double ga1){

GA_boli=ga1;}public void setLB_boala(double lb2){

LB_boala=lb2;

65

Page 66: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

}public void setUD_boala(double ud2){

UD_boala=ud2;}public void setGA_boala(double ga2){

GA_boala=ga2;}public int getID(){

return id;}public int getNextId(){

return nextid;}public string getSimptom(){

return simptom;}public string getImagine(){

return imagine;}public double getLB_boli(){

return LB_boli;}public double getUD_boli(){

return UD_boli;}public double getGA_boli(){

return GA_boli;}public double getLB_boala(){

return LB_boala;}public double getUD_boala(){

return UD_boala;}public double getGA_boala(){

return GA_boala;}

}

Clasa Pacient conţine toate datele necesare aplicaţiei pentru a lucra cu acest tip de entiate.Metodele acestei clase, ne permit iniţialiyarea datelor membru căt şi regasirea acestora.

66

Page 67: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

public class Pacient{

private int id;private string nume;private string diagnostic;private string adresa;private string user;private string parola;public Pacient(){}public void setID(int id){

this.id=id;}public void setNume(string nume){

this.nume=nume;}public void setDiagnostic(string diag){

this.diagnostic=diag;}public void setAdresa(string adr){

this.adresa=adr;}public void setUser(string user){

this.user=user;}public void setParola(string parola){

this.parola=parola;}public int getID(){

return id;}public string getNume(){

return nume;}public string getDiagnostic(){

return diagnostic;}public string getAdresa(){

return adresa;}public string getUser(){

return user;}

67

Page 68: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

public string getParola(){

return parola;}

}

Clasa BrookerSimptom, este clsa care se ocupă de executarea operaţiilor asupra bazelor de date, cunoştinţa pe care o posedă Sistemul Expert.

public class BrookerSimptom{

private int idcurent; //id-ul simptomului curent private Simptom sim; private System.Data.DataSet ds=new System.Data.DataSet();privateSystem.Data.OleDb.OleDbConnectiondb=new System.Data.OleDb.OleDbConnection();

private OleDbDataAdapter da; private XmlTextReader doc;

public BrookerSimptom() {}

public bool openBD(){}

public int getNrSimptom() //imi returneaza cate simptome

am in BD{}

public int Final(int id) //daca returneaza 1, nu mai avem

ce simptome sa evaluam; =0 caz contrar

{

}

public string getIntrebare(int id){

}

public string getImagine(int idcurent){

}

public Simptom getSimptom(int idcurent, int raspuns)

68

Page 69: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

{sim=new Simptom();string imag,exceptie="";

try{

ds.Clear();da= new OleDbDataAdapter("Select * From Simptom

where ID="+idcurent,db);da.Fill(ds, "Simp");da.Dispose();

id=Int32.Parse(ds.Tables["Simp"].Rows[0]["ID"].ToString());sim.setID(id);

sim.setSimptom((string)ds.Tables["Simp"].Rows[0]["Simptom"]);

if (raspuns>=0){

sim.setNextId(Int32.Parse(ds.Tables["Simp"].Rows[0]["DA"].ToStrin }else sim.nextNextId(Int32.Parse(ds.Tables["Simp"].Rows[0]["NU"]); imag=getImagine(idcurent);sim.setImagine(imag);

ds.Clear();da = new OleDbDataAdapter("Select * From ProcentSimptomBoala where ID="+idcurent,db);da.Fill(ds, "SimpBoala");

da.Dispose(); sim.setGA_boala((double)ds.Tables["SimpBoala"].Rows[0]["GA"]); sim.setLB_boala((double)ds.Tables["SimpBoala"].Rows[0]["LB"]); sim.setUD_boala((double)ds.Tables["SimpBoala"].Rows[0]["UD"]);

ds.Clear();da = new OleDbDataAdapter("Select * From ProcentSimptomBoli

where ID="+idcurent , db); da.Fill(ds, "SimpBoli");da.Dispose(); try{

exceptie=(string)ds.Tables["SimpBoli"].Rows[0]["EXC"];

}catch(Exception e){

}if (exceptie.Equals("")){

sim.setGA_boli((double)ds.Tables["SimpBoli"].Rows[0]["GA"]); sim.setLB_boli((double)ds.Tables["SimpBoli"].Rows[0]["LB"]);

sim.setUD_boli((double)ds.Tables["SimpBoli"].Rows[0]["UD"]);

69

Page 70: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

}else{

if (exceptie.Equals("ExcDaNu")){

ds.Clear();da = new OleDbDataAdapter("Select * From ExcDaNu where

ID="+idcurent , db);da.Fill(ds, "Exc");da.Dispose();if (raspuns>0) //am raspuns cu

DA

{

try{

sim.setGA_boli((double)ds.Tables["Exc"].Rows[0]["GA_DA"]);

sim.setLB_boli((double)ds.Tables["Exc"].Rows[0]["LB_DA"]);

sim.setUD_boli((double)ds.Tables["Exc"].Rows[0]["UD_DA"]);

}catch(Exception excep){}

}else //consider raspunsul NU{

try {

sim.setGA_boli((double)ds.Tables["Exc"].Rows[0]["GA_NU"]);

sim.setLB_boli((double)ds.Tables["Exc"].Rows[0]["LB_NU"]);

sim.setUD_boli((double)ds.Tables["Exc"].Rows[0]["UD_NU"]); }

catch(Exception ecp) { }

} }//exceptia ExcDaNu }//am exceptie }

catch (Exception ex){}return sim;}//getSimptom

public void delSimptom(int id) {

70

Page 71: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

}

public void addSimptom( int id, int idant, int ram,string simp, int da, int nu){}

public void addProcentBoli (int id, string ex, double lbd, double udd, double gad, double lbn, double udn, double gan)

{ }//addProcentBoli

public void cautIDDa(int id) //procedura, imi seteaza toate id-urile de simptome care au ca urmator pe ramura DA pe ID{

}

public void cautIDNU(int id) //procedura imi detremina toate id-urile de simptome care au ca urmator pe ramura NU pe ID{}

public ArrayList getCazuri(int id) //returneaza id-urile simpt de pe ambele ramuri ale id-ului curent

{ //pe poz o se afla ramura DA si pe 1 ramura NU

}//getcazuri

public ArrayList getSimptomModif(int id) //imi ia informatii despre Simptomul pe care vreau sa il modific{ return rez; //rez[0]=simptomul; rez[1]=id-ul simptomului daca raspund cu DA; rez[2]=id-ul simptomului daca raspund cu NU}//getSimptomModif

public ArrayList getProcenteBoalaM(int id) //imi det procentele pe care le are Simptomul cu id-ul id

{

}//getProcenteBoalaM

public ArrayList getProcenteBoliM(int id) //imi det procentele pe care le are Simptomul cu id-ul id

{

}//getProcenteBoliM

71

Page 72: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

public void ModSimptom(int id,string simptom, int da, int nu) //imimodific Simptomul cu Id-ul id

{}

public void ModProcenteBoli(int id, string ex, double lbd, double udd, double gad, double lbn, double udn, double gan){

}//modProcenteBoli

72

Page 73: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

VI.CONCLUZII

Oricum le-am numi, sistemele cognitive sau sistemele inteligente, Sistemele Expert

constituie o subramură a tehnologiei Inteligenţei Artificiale şi s-au remarcat deja în numeroase

aplicaţii. Sistemele Expert, generatoarele de Sisteme Expert şi chiar generatoarele de sisteme

neuronale sunt deja disponibile pe piaţă şi contribuie din plin la modelarea întreprinderii viitorului.

Încă din 1985 P.Harmon şi D.King întrevedeau în materie de Sisteme Expert două perioade:

- prima perioadă până la începutul anilor ’90, caracterizată de aplicarea sistemelor expert de

mărimee medie la soluţionarea unor probleme specifice. Ele au format gustul pentru

această tehnologie şi un număr mare de cognicieni;

- a doua perioadă, cu începere din 1992, va atinge apogeul la începutul acestui mileniu,

când sistemele expert sunt concepute pentru reproducerea raţionamentului uman până la

punctul în care vor concura cu experţii umani în materie de inteligenţă şi expertiză

Dar ce ne oferă viitorul imediat în domeniul Sistemelor Expert? Se întrevăd patru direcţii de

dezvoltare:

dezvoltarea masivă de generatoare de Sisteme Expert şi sisteme neuronale, cu care se

vor putea concepe, de către experţi, noi aplicaţii în cele mai diferite domenii.

Cogniticienii vor avea şi ei un rol crescut deoarece se vor concentra mai puţin asupra

domeniilor aplicative;

dezvoltarea unor metode mai noi, mai performante de achiziţie şi reprezentare a

cunoaşterii, care vor deveni tot mai disponibile şi accesibile. Acesta este sectorul cel mai

interesant pentru cogniticianul viitorului;

viitorul cel mai promiţător aparţine sistemelor neuronale, care se inspiră din structurile

creierului uman şi a căror originalitate ţine seama de distribuirea cunoaşterii. Sistemele

neuronale vor fi nedisociate de Sistemele Expert, acestea implicându-se unele pe altele.

Deja se află în comerţ generatoare de Sisteme Expert care utilizează descrierea

obiectelor, care fac parte integrantă din baza de cunoştinţe, dar acestea nu sunt decât

73

Page 74: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

nişte precursori întrucât se va ajunge la sisteme inteligente care depăşesc multe dintre

generatoarele de Sisteme Expert actuale în sensul că:

o software-ul integrabil în sistemele neuronale va fi disponibil într-un viitor apropiat

ca instrumente hibride de concepere a sistemelor care asociază tehnici orientate

obiect celor din programarea clasică, tehnici fuzzy etc.

Ţinând cont de prezentarea făcută sistemelor informatice bazate pe cunoştinţe, şi în

particular a Sistemelor Expert, putem menţiona câteva avantaje ale acestora:

sunt colecţii de informaţii valoroase;

sunt indinspensabile în lipsa expertizei umane;

în unele situaţii, pot fi mai ieftine şi mai eficiente decât experţii umani;

pot fi mai rapide decât experţii umani;

dacă sunt flexibile, pot fi actualizate cu uşurinţă;

pot fi folosite pentru instruirea de noi experţi umani;

la cerere, pot explica premisele şi linia de raţionament;

tratează incertitudinea într-o manieră explicită, care spre deosebire de cazul experţilor

umani poate fi inspectată şi verificată;

Cu toate acestea, unele limite ale acestor sisteme există:

nu pot raţiona pe baza intuiţiei sau bunului simţ, deoarece acestea nu sunt uşor

reprezentabile;

sunt limitate la un domeniu restrâns; cunoştinţe din alte domenii nu pot fi uşor integrate

nici nu pot generaliza în mod convingător;

procesul de învăţtare nu este automat; pentru actualizările cunoştinţelor este nevoie de

intervenţia umană;

în prezent, nu pot raţiona pe baza teoriilor sau analizelor;

cunoştinţele înmagazinate în baza de cunoştinţe depind foarte mult de expertul uman

care le exprimă şi actualizează.

Sistemele Expert, sunt un element cheie în aşa numita a 5-a generaţie de calculatoare.

Aceste maşini, nu îţi vor spune doar ceea ce vrei să ştii, ci şi cum să găseşti ceva, fără ca să fie

nevoie să cunoşti un limbaj de programare.

74

Page 75: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

Cu toate că argumente pro şi contra există în ceea ce priveşte capacitatea calculatoarelor de

a acţiona inteligent, ele totuşi se “închină” în faţa a ceea ce matematicienii numesc “dovadă

existentă “. Cât de mult poate tehnologia informaţională să fie aplicată în domenii ca medicina,

trafic aerian, operaţii nucleare este doar o întrebare care îşi găseşte răspunsul din ce în ce mai mult

în viaţa reală.

75

Page 76: gabis/DocDiplome/SistemeExpert/Luc... · Web viewRegulile pot fi clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de interpretare,

ARHITECTURI DE SISTEME EXPERT.APLICAŢII ÎN MEDICINĂ.

VII. BIBLIOGRAFIE

1) http://www.ifi.unizh.ch/groups/ailab/people/bongard/migros/LectMon830.pdf

2) ”Computaţional Intelligence a logical approach” – David Poole, Alan

Mackworth, Randz Goebel

3)

4) http://www.scism.sbu.ac.uk/~darlink

5) ”Programarea Bazată pe Reguli” - Dan Cristea, Bucureşti 2002

6) ”Sisteme Expert cu Prolog” - Constantin Sambotin, Bucureşti 1997

7) ”Sisteme inteligente în management, contabilitate, finanţe bănci şi marketing” –Ioan

Andone, Alexandru Ţugui

8) http://carlisle-www.army.mil/usacsl/divisions/std/branches/keg/expert/intro.htm

9) ”Sisteme Expert” – Dorin Ioniţă Cârstoiu

10) http://scholar.lib.vt.edu/theses/available/etd-07112013190034/unrestricted/CPG_ETD.pdf

11) http://www.cee.hw.ac.uk/~alison/ai3notes/all.html

12) http://www.openclinical.org/aiinmedicine.html

13) http://www.atariarchives.org/deli/expert_systems.php

76