Sunteți pe pagina 1din 78

UNIVERSITATEA BABE-BOLYAI CLUJ-NAPOCA

FACULATATEA DE MATEMATIC I INFORMATIC


SECIA INFORMATIC

LUCRARE DE DIPLOM
ARHITECTURI DE SISTEME EXPERT.
APLICAIE N MEDICIN.

Absolvent:

ndrumtor:

OANA FRUNZ

Lect. Gabriela erban

IUNIE 2004

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

CUPRINS

I. INTRODUCERE..... 4
1.1 Inteligena Artificial traditional4
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 Definiia Sistemelor Expert14
2.2 Concepte de baza ale Sistemelor Expert...15
2.3 Arhitectura unui Sistem Expert18
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 evaluare24
III. ORGANIZAREA UNUI SISTEM EXPERT .25
3.1 Baza de cunotine 26
3.1.1 Metode de reprezentare a cunoaterii .........26
3.2 Motorul de inferen ..32
3.3 Agenda 33
3.4 Modul de achiziie al cunoaterii ..34

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


3.5 Modul de explicaie ...........................................................................35
IV. METODE DE REALIZARE A SISTEMELOR EXPERT ...................35
4.1 Etapele realizrii 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 aplicaiei ..43
5.1.1 Descrierea aplicaiei ..44
5.2 Baza de cunotine ..45
5.3 Mecanismul de inferena ....53
VI. CONCLUZII ......73
VII. BIBLIOGRAFIE ..76

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

PREFA
Lucrarea de fa descrie un Sistem Expert, arhitectura acestuia, modul n care acesta face
deducii 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 gsi
i descrierea unei aplicaii practice de Sistem Expert de diagnoz i tratament numit MEDEXPERT.
Sistemul este capabil s ajute un personal medical la diagnosticarea disfuncionalitilor :
Ulcer Duodenal, Gastrit Acut, Litiaz Biliar. Odat ajuns la o anumit concluzie, pacientul
sufer de o anumit afeciune, aplicaia, este capabil s sugereze i un tratament innd cont de
starea pacientului interogat.
Utilizatorii pot fi att doctori ct i pacieni. Un utilizator doctor are posibilitatea
modificrii, tergerii, adugrii unor cunotine n baza de date pe care sitemul o posed.
Un pacient care ruleaz aplicaia o poate folosi doar pentru a-i verifica starea de sntate
din punct de vedere al disfuncionalitilor mai sus menionate.
innd cont de capacitile pe care MED-EXPERT le are, el poate fi considerat un partener
de ncredere atunci cnd este nevoie de o mn de ajutor n materie de diagnostic i tratament.

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

I.INTRODUCERE
1.1 Inteligena Artificial Tradiional

Ce este Inteligena Artificial? O intrebare, al crei raspunsul nu este simplu de dat.


Problemele pe care le dezbat cercettorii, care ncearc s ne dea un rspuns la aceast ntrebare, au
dus la cercetari complexe incepute cu mult timp in urma, i care continu i in ziua de astzi.
Ca s putem rspunde la aceast intrebare ar trebui mai inti s inelegem ce inseamn
Inteligena. A spune c inteligena este doar abilitatea de a gndii abstract si de a inelge lucrurile
care ne nconjoar, este prea puin. Inteligena inseamn mult mai mult dect att i include
abilitatea de a realiza aciuni complexe, capacitatea de invare, de adaptare, de a reaciona cu
mediul inconjurator, de a trii emoii.
Dup ce am reuit s ne facem o idee despre ce inseamn inteligena am putea spune c,
Inteligena Artificial este cutarea de a reproduce diferite aspecte ale inteligenei in materiale nonbiologice si sisteme [1]. Una dintre cele mai cunoscute definii ale Inteligenei Artificiale este:
studiul in care putem face calculatoarele s realizeze lucruri, care pentru moment, sunt mai bine
fcute de ctre oameni (Rich, 1991).
Inteligena artificial este o inteligena real? Rspunsul 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, Inteligena
Sintetic ar fi un nume mai potrivit, la fel cum o perl sintetic nu poate fi una natural dar este e
perl adevrat.
Scopul Inteligenei Artificiale este s ineleag sistemele reale inteligente (naturale sau
sintetice) prin sintetizarea lor [2]. Simularea unui cutremur, nu este un cutremur adevrat, astfel
tendina este de a crea inteligen, la fel cum ne-am putea imagina crend un cutremur. Modelul
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 dect fiecare individ al speciei

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


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 schimbri. La fel cum i o companie poate sa dezvolte, sa
comercializeze i distribuie produse ceea ce necesit o colecie de aptitudini mult mai mari dect
cea a unui singur individ.
Societatea, vazut ca un agent poate fi considerat ca cel mai inteligent agent cunoscut
vreodat. Exemplele pe care le lum i care vrem s le transpunem intr-o lume artificial sau
sintetic, sunt att de natura biologic ct i de natur organizaional.
Instructiv, am putea considera o analogie intre dezvolatrea mainilor de zbor n ultimele
secole i dezvolarea mainilor care gndesc in ultimele decenii. Spre deosebire de mainile de zbor,
care doar imit aciune pe care o fac unele animale, cercetrile din Inteligena Computaional,
incerc sa creeze maini care sunt inteligente i care nu mimeaza organizaia uman. Aceasta duce
la o anumit asemnare intre intrebarea: Pot calculatoarele intradevr s gndeasc?

intrebarea: Pot avioanale s zboare? [2].


Rdcinile Inteligenei Artificiale i conceptul de maini inteligente pot fi gsite n
mitologia Greaca. Primul sistem inzestrat cu un raionament, 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 menionat realizarea mainii Turing din secolul 20,
instrument care ar putea fi folosit la verificarea inteligenei unei maini. Cercetarile si realizrile din
zilele noastre, au fcut posibile conceperea unor sisteme nzestarte cu capacitai foarte apropiate de
cele umane, roboii. Acest domeniu de cunoatere i cercetare, a devenit astazi foarte raspndit i in
tiinele sociale incluznd studii economice, militare i de previziune.
Logica, sistemele de reguli, lingvistica, i conceptul de raionament sunt ideile care stau la
baza Inteligenei Artificiale tradiionale, la rdcina creia se afl limbajele de programare Lisp si
Prolog.

ARHITECTURI DE SISTEME EXPERT.APLICAII 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 aplicaii software care imit judecata experilor umani dintr-un
domeniu bine conturat [3].
Un Sistem Expert este un sftuitor computerizat care este capabil s raioneze
(i nu doar s arate o enumerare de date), dar care se ocup de obicei de un spaiu mic de
cunotine, numite de altfel domeniu de cunotine. Cunotina pe care o posed este activ
deoarece ea poate fi folosit pentru a deduce noi informaii din ceea ce este deja cunoscut despre o
problem. Avnd in vedere faptul c, cunotina pe care care o posed un sitem expert tinde s fie
legat de aplicaii specifice, ele nu sunt aa de rspndite ca bazele de date, a cror cunotin poate
fi folosit in diferite aplicaii. Cea mai des intlnit reprezentare de cunotine la Sistemele Expert o
reprezint regulile. Dr. Marvin Minsky definea Inteligena 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 computaional, proiectarea
sistemelor de configuraie pentru calculatoare. Aceste aplicaii au fost privite ca o tehnologie nou
foarte important i guvernele rilor industriale au ntmpinat-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 Inteligenei Artificiale aplicate.

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

1.2.1

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

Modularitate. Cunoaterea care st la baza puterii de raionament a unui

sistem expert

este divizat n reguli. n felul acesta piese elementare de cunoatere pot fi uor adugate,
moficicate ori eliminate. Modularitatea reprezentrii cunoaterii asigur totodat i posibilitatea de
meninere la zi a bazei de cunotine de ctre mai muli experi simultan. Ea poate reprezenta astfel
opera unui colectiv de autori adesea dezvoltndu-se pe o perioad lung de timp, simultan cu
intrarea ei in folosin.
Transparen. Un Sistem Expert poate explica soluia pe care o d la o anumit problem.
Aceasta este de altfel un factor de importana major n asigurarea credibilitii sistemelor expert
puse s furnizeze diagnostice medicale de exemplu. Pentru ca un medic s aib incredere ntr-un
diagnostic furnizat de main, el trebuie s il ineleag. 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 greit sau un tratament inadecvat pe cine s-ar da in judecat?
Soluii in condiii de incertitudine. Sistemele Expert pot oferi n general soluii
problemelor care se bazeaza pe date nesigure ori incomplete. Dintr-un anumit punct de vedere un
Sistem Expert funcioneaz ca o main care tie s niveleze asperitaile, ori care poate trece cu
uurin peste ele. Adesea un mecanism foarte fin este i foarte pretenios, el putnd funciona pe o
condiie pentru care a fost proiectat. Aceasta este i cazul unui program clasic, pentru care neputina
de a furniza valoarea exact a unui parametru l poate arunca pe o condiie de eroare. Un Sistem
Expert tie s fac fa fie unor cunotinte incomplete ori incerte asupra domeniului de expertiz,
fie unor date de intrare incomplete ori incerte.

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

1.2.2

Prin ce difer un Sistem Expert de un expert uman?

Sistemele Expert se deosebesc de specialitii umani n mai multe privine. Un Sistem Expert
nu poate ajunge la concluzii n mod intuitiv. De asemenea el nu poate examina o situaie din diverse
perspective. Ele nu pot recurge pentru a raiona la principiile primale i nu pot trasa analogii. n
mod obinuit ele nu pot inva din experiena. Dar odat cu evoluia tehnologiei, s-ar putea realiza
si Sisteme Expert care s invee, si care s fie capabile sa-i imbunataeasc capacitatea de
cunoatere dinamic. Aceasta ar reprezenta o strns colaborare cu Reelele Neuronale, colaboare
care ar putea da rezulate excepionale i care ar putea fii de un real ajutor.
Tendina 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
muli experi i specialiti sunt necesari, dar acetia nu sunt obinuii 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 reacie mai scurt i de o memorie i o
capacitate de invare crescut.
n continuare, se va realiza o comparaie ntre un Sistem expert i un expert uman:
Tabelul 1.1. Comparaie dintre expertul uman si Sistemul Expert

Factorul
Timpul disponibil
Localizare spaial
Sigurana informaiilor
Performana
Viteza de lucru
Costul

Expertul uman

Sistemul Expert

Numai n zile lucrtoare


Numai local

Oricnd
Oriunde, mai ales n medii

De nenlocuit
Variabil
Variabil
Mare

improprii omului
nlocuibil
Consistena permanent
Rapid
Acceptabil

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


Ca o concluzie, putem spune, c introducerea unui Sistem Expert va ameliora calitatea
deciziilor luate datorit faptului c acestea deschid largi posibilitai raionamentelor prin
exploatarea unui numr mult mai mare de variante dect cele dinn mintea omului, acesta
datorndu-se i faptului c ele au o capcitate mult mai mare de memorare dect un specialist uman.
De asemenea, aceasta i va permite s efectueze raionamente identice, rezultnd astfel o mare
capacitate de anticipare.

1.2.3

Exemple de Sisteme Expert

n funcie de domeniul lor de aplicaie, sistemele expert pot fi imparite n trei

categorii

importante [5]
1. Sisteme expert de diagnostic. Problemele tratate de acestea pot fi recunoscute dup
urmtoarele proprietai;
-domeniu const din dou mulimi finite, disjuncte una coninnd observaii, cealalt
soluii i dintr-o cunoatere complex, adesea incert si incomplet despre relaiile dintre aceste
dou mulimi;
-problema este definit printr-o mulime de observaii, mulime ce poate fi incomplet;
-rezultatul diagnosticului este selecia uneia sau mai multor soluii ale problemei;
-n cazul n care calitatea soluiei poate fi inbunatait prin considerarea unor observaii
suplimentare, una din sarcinile clasificrii o reprezint gsirea acelei submulimi de observaii
suplimentare care ar trebui cerute pentru a le completa pe cele existente.
2. Sisteme expert de construcie: aici soluia nu mai poate fi gasit prin cautarea intr-o
mulime existent. Soluia este acum construit ca o secven de pai ori o configuraie de elemente
intercondiionate (astfel vazut, o problem de diagnostic poate fi considerat un caz special al unei
probleme de construcie). Definirea problemei inseamn precizarea condiiei iniiale ale problemei,
precizarea cerinelor asupra soluiei i a spaiului soluiilor (combinaiile teoretic posibile de obiecte
elementare care respect ori nu cerinele).
3. Sisteme expert de simulare: dac n sistemele expert de diagnostic i construcie soluia
era selectat ori respectiv asamblat, simularea servete numai pentru precizarea efectelor anumitor

10

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


presupoziii asupra unui sistem. Un sistem este privit ca o unitate a crei comportare poate fi
inferat din cunoaterea comportrii prilor componente. Simularea const din determinarea
valorilor unor parametrii de ieire din valorile date ale unor parametrii de intare. Adesea o simulare
este cerut pentru a verifica dac soluia oferit de un Sistem Expert proiectat pentru a furnciona n
diagnostic sau construcie este ntardevar cea dorit.
Exist diferite alte clasificri ale Sistemelor Expert, i o alta posibil ar fi [6]

Sisteme expert pentru diagnostic

Sisteme expert pentru reparaii

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 aprut n momentul n care NASA a hotart trimiterea unui vehicul pe
Marte, avnd ca scop, printre altele bineneles, cercetarea structurii chimice a solului acestei
planete. Cercettorii de la Stanford au construit n acest scop chimitilor n identificarea structurii
chimice a unor substane n funcie de spectograma de mas.
MYCIN
MYCIN este unul dintre cele mai vechi sisteme exert iar crearea sa a influenat foarte mult
isoria dezvoltrii sistemelor expert. Sistemul, a fost dezvoltat la Stanford n anii 70. Misiunea lui
era diagnosticarea i recomandarea de tratament pentru diferite infecii ale sngelui.
Aplicaia de diagnostic a fost dezvolat in parte pentru a exploara cum fac experii umani
estimri brute (dar importante) bazandu-se doar pe unele informaii pariale. Oricum, problema este
important i din punct de vedere practic: exist muli doctori nceptori sau nespecializati care
trebuie s fac aceste aproximri asupra diagnosticului, deci existena unui sistem expert ar fi foarte
util n acordarea unui tratament ct 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 greit mult n diagnosticare, pentru

11

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


c, din contra, testele au ntrecut cu mult ateptrile 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 greit, pe cine dm in judecat?
MYCIN avea cunotina reprezentat prin seturi de reguli IF-THEN cu diferite grade de
certitudine.
IF infecia este primar-bacterian
AND locul de unde s-a prelevat cultura este unul steril
AND poarta de intare suspectat este tractul gastronintestinal
THEN avem evidena de grad 0.7 c infecia este bacteroid.
Scris in Lisp, cu regulile reprezentate formal, MYCIN este un sitem direcionat de scop,
folosind strategia de raionament napoi.
Aplicaia raioneaza, pe baza rspunsurilor pe care le primete la anumite ntrebri i pe
baza cunotinei pe care o posed. Exist trei stadii principale ale dialogului. La nceput, se adun
datele iniiale despre caz pentru ca sistemul s produc o diagnoz larg. Apoi, se pun ntrebri mai
specifice pentru a testa ipoteze specifice. n finalul acestei faze se propune un diagnostic. Al treilea
stadiu cuprinde ntrebri pentru determinarea unui tratament, avnd in vedere diagnosticul gsit i
informaii 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
cnd se propune tratamentul poate solicita tratament alternativ dac primul nu este satisfactor.
Cu toate c a fost un proiect de pionerat n domeniul Sistemelor Expert, MYCIN a avut i
cteva probleme care au fost rezolvate mai trziu prin folosirea unor taxonomii explicite a bolilor
(reprezentat ca un sistem de cadre) pentru a reprezenta adevruri despre diferite tipuri de boli. n
acest fel, s-a rezolvat problema amestecrii regulior cu domeniu de cunotine.
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, crora li se prezint cazuri diverse, li se verific concluziile i li
se explic unde au greit.
Sistemele Expert, au fost i sunt folosite i n alte domenii dect cel de diagnostic medicinal.
Domeniul ecconomic i financiar-contabil, utilizeaz unele dine cele mai cunoscute aplicaii expert.

12

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


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 clienilor: SMERTIOS, ALVIN, MATIAS;
- mprumuturi comerciale: CLASS;
- creditare i analiza crii de credit: FCA, Application Expert, MOZART, CRES, Credite
Expert;
- transfer de bani: A-CLASS-ATRANS, TEXPERT;
Finane, asigurri, planificare impozite i taxe sunt de asemenea ramuri ale domeniului
economic care se bucur de facilitaile oferite de aplicaii ale Inteligenei Artificiale.
Compania danez CRI A/S, specializat n aplicaii ale noilor tehnologii informaionale nc
din 1978, a elaborat periodic un repertoriu al sistemelor esxpert [7] .
Unele exemple pentru domeniul gestiunii, finanelor i contabilitaii din ediia 1986 sunt:
1. Contabilitate
AUTOMATED TAX pregtire documente de impozitare;
AGGREGATE Assistant proiectare situaii financiare din conturi
AYMM (Finance) selectare finanare guverne pentru noi debuee de afaceri
FOLIO determinare obiective de investiii pentru protofoliile clienilor;
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 vnzri
COMEX gestiune afaceri n agricultur
CONCEPT gestiune, modele i planificarea marketing
MARKETER asisten n decizii de marketing
Exemple de Sistemele Expert, sunt folosite cu succes i domenii cum ar fi: reparaii de
echipamente, analizri de investiii, planificri de asigurri, determinarea de trasee pentru livrare,
oferte de contracte, consiliere pentru clieni, controlul produciei i instruire.

13

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

II. CONCEPTE FUNDAMENTALE IN TEORIA

SISTEMELOR

EXPERT
2.1 Definiia Sistemelor Expert

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


sistemelor expert, d pentru un astfel de sistem urmtoarea definiie:
un program inteligent care folosete cunoatere i proceduri de inferen pentru a
rezolva probleme suficient de dificile nct s necesite o expertiz semnificativ pentru gsirea
soluiei. [5]
Un sistem expert este un program care urmrete un grup de cunotine pentru obinerea n
acelai mod ca i experii umani a rezultatelor despre activitai dificil de examinat. Principala
caracteristic a sistemelor expert este derivat din baza de cunotine mpreun cu un algoritm de
cutare specific metodei de rationare. Un sistem expert trateaz cu succes probleme pentru care o
soluie algoritmic clar nu exist. [9]
Un Sistem Expert este un program care urmrete un grup de cunotine pentru obinerea n
acelai mod ca i experii umani a rezultatelor despre activiti dificil de examinat. Principala
caracteristic a sistemelor Expert este derivat din baza de cunotine mpreun cu un algoritm de
cutare specific metodei de raionare. Un Sistem Expert trateaz cu success probleme pentru care
o solutie algoritmic cla nu exist. [10]
Unul din fondatorii Inteligenei Artificiale, H.Simon, spunea despre Sistemele Expert c sunt
o reprezentare a comportamentului uman, care se bazeaz pe modelul raionalitaii limitate, model
care ine seama de limitele ntalnite da ctre un decident veritabil, att n planul informaiilor, ct
i n cel al raionamentului.
O definie original aparine 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 acioneze n toate privinele ca expertul uman. Emularea este
ceva mai mult dect simularea, care cere doar s se acioneze prin imitarea condiiilor realizate.
14

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


Definiiile date de ali autori, sunt foarte asemntoare. Sistemele expert sunt sisteme de
programare bazate pe tehnicile Inteligenei Artificiale, care nmagazineaz cunotinele experilor
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
cunotine, n virtutea faptului c conine cunotine oferite de un expert uman n acest domeniu.
Definiia tradiional a unui program este :
Algoritm + Structuri de date= Program
In Sistemele Expert, definiia se schimb astfel:
Motor de inferen + Baza de cunotine = Sistem Expert [8]
Cu toate c au fost date diferite definiii despre Sistemele expert, unele caracteristici
comune, se pot stabili. Unele idei care contureaz noiunea de Sistem Expert sunt :

Din punct de vedere conceptual Sistemele expert vizeaz reconstituirea raionamentului


uman pe baza expertizei obinute de la experi ;

Sistemele Expert dispun de cunotine i de capacitatea de a desfura activitai


intelectuale umane;

Sistemele Expert sunt organizate pentru achiziia i exploatarea cunoaterii dintr-un


domeniu particular numit domeniul problemei;

Sistemele Expert dispun de metode de invocare a cunoaterii i exprimarea expertizei,


comportndu-se ca un asistent inteligent ;

Ca nivel de realizare informatic, Sistemele Expert se bazeaz pe principiul separrii


cunoaterii (bazei de cunotine) de programul care o trateaz (motorul de inferen) ;

Sistemele Expert sunt capabile s memoreze cunoaterea, s stabileasc legturi ntre


cunotine i situaii pe baza faptelor i prelucrrii cunoaterii incerte.

Sistemele Expert incearc s reproduc raionamentul experilor umani asupra cunotinelor


puse la dispoziia lor ntr-o anumit manier, ajungnd s le modifice i chiar s ofere explicaii
asupra unor raionamente fcute.

15

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

2.2 Concepte de baza ale Sistemelor Expert

Conceptele de baz ale uniu Sistem Expert sunt: expertiza i experii, transferul expertizei,
regulile de inferen i capacitatea de a explica.
Expertiza este o cunoatere intensiv, specific domeniului problemei, achiziionat prin
instruire, citire sau experien ndelungat. Urmtoarele tipuri de cunotere 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 fcut ntr-o situaie problematic dat,
pentru soluionarea problemei;

Startegii globale despre soluionarea tipurilor de probleme;

Metacunoatere.

Toate aceste tipuri e cunoatere permit experilor s ia decizii mai rapide i mai bune dect
neexperii n soluionarea problemelor complexe. Este nevoie de ani muli de pregtire pentru a
deveni expert.
Expertiza este de obicei asociat cu un nalt grad de inteligen i are asociat o mare
cantitate de cunotine. Experii umani au o caracteristic suplimentar n sensul c inva din
succesele i greelile fcute n trecut, iar cunoaterea o pot memora, organiza i regsi rapid. Ei pot
apela structurile cunoaterii din experiena proprie.
Experii sunt dificil de definit, ei pot fi persoane cu mai multe nivele sau grade de
expertiz. ntrebarea este ct 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 activitai ale expertului cum ar fi:

Recunoaterea i formularea problemei;

Rezolvarea problemei cu exactitate i rapiditate;

Explicarea soluiei;

16

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

nvarea din experien;

Restructurarea cunoaterii;

Fragmenatrea regulilor;

Toate acestea indic capacitatea experilor de a transforma datele unei probleme arbitrare
intr-o form care conduce la o soluie rapid. Aceasta este posibil datorit capacitaii de nvare din
experien a unor lucruri noi, de fragmentare a regulilor cunoscute, de determinare a relevanei
cunoaterii i a limitei acesteia in domeniu. Toate aceste activiti trebuie desfaurate 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 raiuni 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 sntatea omului

Asistarea experilor umani de ctre programe specializate este tot mai des ntlnit in marile
firme i nu numai. Principalele motive pentru care se dezvolt Sistemele expert capabile s asiste
experii n munca lor sunt:

ajut expertul n executarea sarcinilor de rutin n scopul mbuntairii productivitii


sale

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

punerea la dispoziia expertului a informaiei 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 experi sau nonexperi. Acest proces implica patru
activitai:

achiziia cunoaterii de la experi sau/i din alte surse

reprezentarea cunoaterii n calculator

inferenierea pe baza cunoaterii stocate

17

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

transferul cunoaterii ctre utilizator

Inferenierea (procesul de infereniere) o trastur unic, dar major a Sistemului Expert,


este abilitatea de a raiona. Pe baza expertizei memorate n baza de cunotine i a programului care
poate avea acces la o baz de date sau la un fiier calculatorul este programat s fac inferene.
Inferenele sunt executate de ctre componenta numit motor de inferen care posed proceduri i
cunoatere procedural n legtur cu soluionarea problemei.
Regulile Majoritatea Sistemelor Expert n funciune sunt bazate pe reguli de forma
IF..THEN::ELSE memorate n baza de cunotine. Mai recent reprezentarea prin cadre a devenit un
complement al reprezentrii prin reguli n anumite aplicaii.
Capacitatea explicativ este o trstur major a Sistemelor Expert n legtur cu explicarea
sfatului pe care-l dau sau a recomandrilor fcute 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 cunotine, Mecanismul de inferene 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 cunotine, precum i modul de
inferen dintre acestea, i noi construcii i metodologii dezvoltate ce permit utilizarea efectiv a
acestor tehnologii pentru probleme complexe. Combinarea ct mai eficient a acestor componente,
duc la realizarea unor Sisteme Expert de real succes.
Pentru realizarea unui sistem, este nevoie, de o strnsa cooperare ntre un specialist n
domeniu, i un inginer de cunotinte. Expertul trebuie s fie capabil s ii raporteze cunotinele i
s reueasc s interpretze o anumit informaie. Inginerul, este cel care transpune informaia
primit ntr-o form de reprezentare specific sistemelor informatizate innd seama de cele trei
module principale ale unui Sistem Expert.

18

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


n literatura de specialitate, aditional acestor trei componente specifice mai apar i altele
noi, fr de care Sistemul Expert nu ar putea fi folosit : modul de achizitie al cunotinelor,
interfaa utilizator i modul de explicaii.
Baza de cunotine este reprezentat ca o structur de date ce conine ansamblul
cunotinelor specializate introduse de ctre expertul uman. Este o component cognitiv
cunoaterea fiind memorat ntr-un spaiu special organizat, spaiu n care se descriu situaii
evidente, fapte reale sau ipotetice, precum i euristici. n cazul memorrii cunoaterii sub form de
reguli de producie, baza de cunotine conine dou componente: baza de fapte i baza de reguli,
iar motorul de inferen se mai numete interpretor de reguli.
Mecanismul de inferen poate fi denumit i interpretor deoarece, el preia cunotinele din
baza de date i le utilizeaz pentru construirea unui raionament, pentru a forma inferene i a trage
concluzii. Acesta urmrete o serie de obiective majore cum ar fi: alegerea startegiei de control n
funcie de problema curent, comutarea ntre acestea pentru a putea realiza o deducie executarea
aciunilor care sunt prevazute n planul de rezolvare.
Baza de fapte este reprezentat de o memorie auxiliar ce conine toate datele utilizatorului
(fapte iniiale ce descriu enunul problemei de rezolvat) i rezultatele intermediare produse n cursul
procedurii de deducie.
Modul de achiziie al cunotinelor preia cunotinele specializate furnizate de expertul
uman sau inginerul de cunotine ce nu este specific reprezentrii interne, i apoi verific
validitatea acestora n final genernd o baza de cunotine coerent.
Interfaa utilizator est cea care asigur dialogul dintre utilizator i sistem, fr nici un
ajutor din partea proiectantului de sistem sau a unui specialist n ingineria cunoaterii. Prin
intermediul acesteia, se preiau parametrii problemei pe msur ce componenta de control are nevoie
de ei. Exist Sisteme Expert care au o interfa foarte complex, furniznd chiar i dicionare, 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 explicaii urmrete obinerea de explicaii asupra desfurrii proceselor
infereniale fcute, a soluiilor obinute n sesiunile de consulatre. Acesta poate oferii evidentieri n
cazul lipsei unor cunotine sau a inconsistenei acestora, uneori fiind capabil de dezvluirea
cauzelor unor eecuri
Urmtoarea figur (Figura 2.1) prezint arhitectura unui Sistem Expert

19

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

20

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

Expert
uman

Inginer de
cunotine
Modul de achiziie a
cunotinelor

Mecanism
de inferen

Baza de
cunotine

Baza de
fapte

Modul de
explicare

Utilizator

Interfaa utilizator

21

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

2.4 Sisteme multi-expert


Sistemele multi-expert sunt o abordare mai recent i mai promitoare care tinde s
depeasc Sistemele Expert. Ele reprezint programe folosite pentru rezolvarea unor probleme
foarte complexe care includ opinii diferite legate de acceasi problem, cunotine care au fost
achiziionate prin diferite expertize. Un Sistem Expert bazat pe un sistem multiplu are unele
avantaje, cum ar fi:
1) posibilitatea de a mparii experiena, cunotina si resursele;
2) o mai mare credibilitate ;
3) o raionare mai buna datorit observaiilor facute de ali ageni constitueni. [11]
Exist dou scheme de dezvoltare a sistemelor multi-expert. Prima este cea n care sistemul
este alctuit din mai multe subsisteme (ageni ) care abordeaz diferite pri 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 cunotine coninnd
informaii de la mai multi experi .
Hanachi (1996) a propus o tehnic specific de dezvolatre a Sistemelor Expert. Aceast
tehnic presupune existena a dou baze de date una activ i una deductiv care se comport ca un
sistem informaional cooperativ. Acest sistem, menine informaii despre dezvolatrea proiectului si
un set de reguli care coordoneaz i controleaz diferite activitai.
Rezolvarea i ncorporarea opiniilor conflictuale reprezint o problem major

pentru

reprezentarea cunoaterii. Lietal (1995) sugereaz un raionament fuzzy care combin cunotina
experilor i ine cont de independena acestora. Aceast mod de abordare a problemei identific
cazurile de intrare i gsete informaia cea mai potrivit pentru a fi folosit intr-un caz individual.

22

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


Cercettorii constat azi o evoluie ctre interaciuni frecvente i complexe ntre cei mai diveri
specialiti dintr-un domeniu restrns, n scopul exercitrii unei activiti de nivel nalt.

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 conin mai multe module de cunoatere, identice celor din componena unui
Sistem Expert

trebuie facut o separare ntre motoarele de inferen i modulele de cunoatere

pe intervalul unei expertize modularitatea cunoaterii trebuie s rmn valid,


adaugarea, modificare sau tergerea unui modul de cunoatere nu va trebui s afecteze
direct alte module din sistem

sistemul trebuie s permit aflarea soluiei la o anumit problem dac aceasta exist

raionamentul folosit trebuie s fie semntor celui uman. Aceasta este i restricia
principal pentru rezolvarea n sistem multiexpertiz a problemelor complexe. Reeaua
de module de cunoatere este legat slab astfel c nici un modul nu poate avea o vedere
general i complet asupra reelei pentru a servi ca supraveghetor.

2.4.2 Comunicarea intre modulele de cunoastere

n cadrul unui Sistem multi-expert exist dou tipuri de comunicaii: ntre sistem i
utilizator i ntre modulele de cunoatere ale sistemului.
23

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


Primul tip de comunicare se face prin intermediu Interfeei utilizator, asemeni Sistemelor
Expert clasice.
Cel de-al doilea tip de comunicare este ilustrat in Figura 2.2 reprezentat mai jos

SISTEMUL MULTI-EXPERT

Utilizator

= modul de cunoatere
= comunicaie
Comunicarea care se realizeaz ntr-un Sistem multi-expert poate fi de mai multe tipuri:
-

comunicarea prin partajarea informaiei

comunicarea prin trimiterea de mesaje

comunicarea prin cunoaterea declarativ

Comunicarea prin partajarea informaiei se caracterizeaz prin existena unei structuri


de date partajat n care iniial se afl datele problemei, care se modific pe parcursul execuiei
programului, n final obinndu-se rezultatul problemei. Acest mod ce comnunicare este cel mai des
folosit, utilizndu-se n comunicarea ntre module.

24

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


Comunicarea prin trimiterea de mesaje const n schimbul unor mesaje ntre modulele de
cunoatere conform unui protocol dinainte stabilit. Mesajul are ataata marca emitorului, mesajul
propriu-zis, si receptorul sau receptorii cruia i este adresat. Transmiterea mesajului se poate face
direct, numai la unul sau la mai muli receptori identificai anterior, sau prin difuziune ceea ce
nseamn c, mesajul este transmis tuturor modulelor n acelai timp.
Comunicarea prin cunoaterea declarativ se bazeaz pe faptul c, numele receptorilor i
coninutul mesajelor reprezint coninutul unui modul de cunoatere particular numit modulul de
cunoatere declarativ (MCD).
Cunoaterea declarativ a acestui modul permite constiutuirea bazei de fapte iniiale pentru
modulul de cunoatere activat. Dup soluionarea problemei ntr-un modul informaiile comunicate
de ctre MCD i vor fi returnate cu eventualele modificri.
Avantajul paralelismului pe care acest mod de comunicare l ofer, este umbrit de fapul c,
modulul principal controleaz rezoluia iar celelalte module de cunoatere nu sunt total
independente.

2.5 Criterii de evaluare a Sistemelor multi-expert

Principalele motive pentru care se aleg Sistemele multi-expert n aplicaiile mari i


complexe sunt: rapiditatea, sigurana, calitatea soluiei, eficacitatea, claritatea, costul i adecvarea la
domeniu.
Rapiditatea este una dintre cele mai importante criterii de evaluarea a acestor sisteme, n
special atunci cnd este implementat pe o arhitectur multiprocesor.
Sigurana pe care o ofer acest tip de sisteme, asigur continuitatea funcionarii acestuia
chiar dac un modul lipsete sau nu rezolv corect o subproblem, a generat un eec. n acest fel
este eliminat posibilitatea unui eec total i este asigurat o buna fiabilitate.
Calitatea soluiei este ridicat, deoarece cunoaterea este repartizat pe mai multe module,
asfel nct soluia obinut este mai bun dect dac aceasta ar fi inegrat intr-un singur modul.

25

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


Eficacitatea are n vedere timpii de rezoluie care n cazul partajrii cunoaterii ntre mai
mule module este mai mare.
Claritatea este dat tot de modularitate, sistemul este vizibil iar cantitatea de informaii
necesar unei decizii momentane se reduce.
Adecvarea la domeniul aplicativ al problemei este luat n considerare, deoarece experii
acord mai mult incredere n sisteme ce reflect propria lor abstractizare i conceptualizare.
Costurile de concepere sunt mai reduse datorit modularitii care ofer posibilitatea
achiziiei cunoaterii n paralel de la toi experii, precum i validarea global a prototipului.

III.

ORGANIZAREA UNUI SISTEM EXPERT

Ideea esenial care st la baza concepiei constructive a Sistemelor Expert, este aceea c un
expert uman i construiete soluia la o problem din piese elementare de cunoatere, familiare
acestuia anterior, i pe care expertul le selecteaz i le aplic ntr-o anumit secven. Pentru a
furniza o soluie coerent la o problem dat, cunoaterea 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 separrii cunoaterii asupra domeniului, a datelor problemei- baza de cunotine i a
parii

responsabile cu organizarea proceselor infereniale care s implice aceste cunotine

sistemul de control (motorul de inferene), acestea fiind de fapt i modulele principale ale unui
Sistem Expert.

Baza de cunotine

Sistemul de control

Figura 3.1 Componentele principale ale unui Sistem Expert

26

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

Aceste dou componente formeaz inima unui Sistem Expert n jurul lor, alte componente
realizeaz funcionalitatea complex a acestuia, cum ar fi:
-

interfaa de comunicare

componenta de achiziie a cunotinelor

componenta explicativ
Baza de cunotine, care este componenta sistemului responsabil cu depozitarea de

informaii asupra demeniului de expertiz i a problemei de rezolvat, este la rndul ei format din:
-

baza de fapte

baza de reguli

agenda
Sistemul de control este responsabil cu desfurarea proceselor de inferen. El codific

una sau mai multe startegii de aplicare a regulilor.

3.1 Baza de cunotine

Toate Sistemele Expert, au o component numit baza de cunotine destinat memorrii


cunoaterii dintr-un domeniu particular. Aceast cunoatere este sursa de inteligen i se
folosete de ctre motorul de inferene pentru raionarea concluziilor i a soluiilor problemei care
trebuie rezolvat. Colectarea i organizarea cunoaterii este cea mai dificil munc n procesul de
construire a unui Sistem Expert.

3.1.1 Metode de reprezentare a cunoaterii

27

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


nainte de a prezenta metodele folosite de reprezentare a cunoaterii unui Sistem Expert, s
nelegem mai bine seminficaia de cunoatere i disticia dintr-e termenii : date, informaie i
cunoatere.
Datele sunt termeni care se refer la iruri numerice sau alfabetice despre fapte, situaii
rezultate din numrare sau msurare, care singure nu au nici o semnificaie, dar pot constitui un
rspuns la o ntrebare a utilizatorului.
Informaia reprezint o prelucrare a datelor i o utilizare a acestora astfel nct s prezinte o
semnificaie pentru utilizator.
Cunoaterea, este un termen care are mai multe definiii, unii afirmnd c este o percepie
clar i cert a unor fapte, o nelegere a ceva, o nvare, o experien practic, o recunoatere a
ceva; alii afirmnd c este o informaie rafinat care are tendina s fie ct mai general chiar
incomplet sau imprecis. Ea poate s includ fapte i informaii , concepte, proceduri, modele i
euristici care pot fi utilizate n inferene pentru soluionarea problemelor.
Datorit variaiei cunoaterii att n coninut ct i n aspectul exterior, apar mai multe tipuri
de cunoatere: cunoaterea specific, cunoaterea general, cunoaterea exact, cunoaterea
imprecis, cunoaterea procedural si cunoaterea declarativ.
Chiar dac calculatoarele nu pot avea studii, experien i/sau nvtur aa cum au
oamenii, ele pot utiliza cunoaterea furnizat de experii umani. Aceast cunoatere const n fapte,
concepte, teorii, metode, euristici, proceduri i relatii. Astfel, cunoaterea, poate fi considerat
informaia care este organizat, analizat asfel nct calculatoarele sa o poata nelege i folosi n
soluionarea problemelor.
Pentru Sistemele Expert, cunoaterea este reprezentat de expertiza de care dispune expertul
uman, sau de cunoaterea disponibil din cari. Cunoaterea expertului este specific unui domeniu
al problemei, asfel nct atat expertul uman, ct i cel computerizat raioneaz i face inferene n
acelai mod atunci cnd are la dispoziie anumite fapte.
Gndirea despre reprezentarea cunoaterii se concentreaz n jurul a trei teme: domeniul
cunoaterii, limbajul de reprezentare a cunoaterii i mecanismele de inferen.
Domeniul cunoaterii are n vedere ceea ce trebuie reprezentat din domeniul problemei.
Limbajul de reprezentare a cunaoterii ne arat cum trebuie i cu ce metode sau modele
trebuie reprezentat cunoaterea.

28

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


Mecanismele de inferen se refer la prelucrrile cele mai adecvate ale cunoaterii din
domeniu n scopul derivrii unor piese noi de cunoatere, cele mai relevante pentru soluionarea
problemelor.
Cu toate, c se cunosc mai multe metode de reprezentare a cunoaterii, unele elemente
comune, se gsesc:
-

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


Sisteme Expert, iar rezultatul este memorat;

prin coninutul lor, rezultatele reprezentrii (fapte, reguli, cadre..) pot fi utilizate n
mecanisme de raionament
n funcie de modelul specific, metodele de reprezentare a cunoaterii se clasific n: metode

declarative i metode procedurale.


Metodele declarative, sunt acelea, care folosesc aseriunile i faptele, iar metodele
procedurale sunt folosite la reprezentarea aciunilor sau procedurilor.
Reelele 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, restriciile, reele neuronale.

A. Regulile de producie
Aceast metod este cea mai folosit metod de reprezentare a cunoaterii Sistemelor
Expert, fiind foarte eficace pentru reprezentarea recomandrilor, directivelor sau strategiilor.
n locul reprezentrii cunotinei ntr-un mod declarativ (ca o serie de lucruri care sunt
adevrate), regulile pot specifica ce ar trebui s fac sau ce se poate include n diferite situaii. Un
sistem bazat pe reguli, conine 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 nlnuire nainte, i sisteme cu
nlnuire napoi. n primul model, se ncepe cu o serie de fapte iniiale, i se continu s se
foloseasc regulile care deriveaz noi concluzii din acele fapte. n modelul nlnuirii napoi, se
pornete cu o serie de ipoteze (goals) pe care se ncearc a fi demonstrate, i se tot caut reguli care

29

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


ar permite s deduc acele presupuneri. Primul model, este numit i data-driven iar al doilea goaldriven.
Reprezentarea exact a cunoaterii dintr-un domeniu particular necesit un numr mare de
reguli, ca s poat fi surprinse toate detaliile. Numrul regulilor este direct proporional cu
complexitatea cunoaterii.
Tipologia regulilor are n vedere marea varietate a formelor cunoaterii de reprezentat asfel:
reguli de cauzalitate, de recomandare, directiv, strategice, euristice. Regulile pot fi clasificate n
funcie de natura funciei informatizate cu Sisteme Expert, asfel: reguli pentru probleme de
interpretare, de diagnostic, de planificare, de proiectare.
Pe lng autonomia ridicat pe care o confer acest mod de reprezentare, regulile pot fi
privite ca piese de cunoatere independente, ele reprezint i o modalitate eficient de procesare a
cunoaterii.
Cauzele care produc diminuarea performanelor sistemelor bazate pe reguli se pot elimina
prin msuri de organizare a bazei de fapte, a bazei de reguli i prin introducerea unor msuri de
accelerare a procesului inferenial.
B. Metoda bazat pe logic
Una din cele mai importante metode de reprezentare, care ne permite s reprezentm fapte
complexe despre lume, i s derivm noi fapte intr-un mod care ne garanteaz c, dac faptele
iniiale sunt adevrate, actunci si concluziile sunt la fel. Logica predicatelor de ordinul nti (cea
mai folosit), are o sintax bine definit, reguli i semantici de inferen.
Propoziiile cu valoare de adevr, numite i aseriuni, se refer, la obiecte, concepte,
evenimente din domeniul problemei, sunt reprezentate cu tehnici specifice predicatelor de ordinul I,
calculul acestora, permind descrierea atributelor obiectelor, conceptelor, evenimentelor.
Calculul predicatelor este preferat de folosit, datorit structurii sale i puterii de infereniere.
El este adecvat pentru unele probleme, dar sufer pentru c propoziiile nu pot fi fragmentate n
pri, ci trebuie tratate ca un ntreg, dar cu toate acestea, ele pot fi vazute ca dou pri de baz:
-

obiecte (argumente)

predicate (aseriuni despre atributele obiectelor)

30

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


Logica, are o importan deosebit n Sistemele Expert, n care motoarele de inferen
raioneaz de la premise ctre concluzii. Un termen semnificativ pentru programarea logic i
Sistemele Expert este acela de sisteme de raionament automat (Automated Reasoning Szstems).
C. Metoda reelelor semantice
Aceste reele, au la baz un model cu structur dereea, considerat din punct de vedere
conceptual ca mijloc important de reprezentare a cunoaterii graful.
Reeaua este un graf orientat n care cunoaterea este reprezentat prin asocierea la noduri i
arce a semnificaiei sau semanticilor. Astfel, se ajunge la interpretarea n termeni de obiecte/entiti
i relaii a domeniului problemei.
Cel mai ntlnit este modelul n care nodurile sunt asociate obiectelor din domeniu, iar
arcele sunt asociate legturilor sau relaiilor dintre obiecte. Dou noduri care sunt legate printr-un
arc, nseamn c sunt n legtur direct.
Caracteristica de baz a unei reele semantice const n aceea c ofer un formalism de
reprezentare a cunoaterii mpreun cu o structur de regsire a cunoaterii. n acest mod de
reprezentare, raionamentul nseamn cutarea unei ci dintre nodurile grafului folosind
cunoaterea disponibil din domeniu.
Aceste grafuri, pot fi de cauzalitate sau de dependen, fiind foarte utile pentru formalizarea
cunoaterii n Sistemele Expert.
n reelele de cauzalitate, semnificaiile asociate nodurilor i arcelor pot s difere n funcie
de problema de soluionat, ele oferind o adecvare foarte bun la achiziia cunoaterii cauzale
incomplete i o imbunataire a nelegerii i explicaiilor pe care trebuie s le ofere Sistemul Expert.
Asfel c, n cazul unei informaii incomplete, ea poate fi completat foarte uor, prin introducerea
unui nou nod n graf.
n cazul grafurilor de dependen semnificaia nodurilor este dat de obiecte, stri
psihologice, propoziii, aseriuni, iar legturile reprezint relaiile dintre dou obiecte i pot fi: de
timp, de spaiu, de posesie, de aciune, de atribuire, de presupunere, de colecie.
Metoda tripletelor obiect-atribut-valoare (OAV) au la baz metoda reelelor semantice.
Aceast reprezentare este foarte convenabil pentru listarea cunoaterii n form tabelar i mai ales
pentru translatarea tabelelor prin reguli de inducie n programare inteligente.

31

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

D. Metoda cadrelor i scenariilor


Cadrele, sunt o variant de reprezentare a cunoaterii non-procedurale intr-un Sistem
Expert. ntr-un cadru, toat informaia relevant referitoare la un concept particular este stocat ntro singur entitate. Acestea seamn foarte mult cu o nregistrare complex record care suporta
ierarhia. Ele sunt des folosite pentru reprezentarea cunotinelor specifice unor anumite evenimente
sau obiecte, cum ar fi, un tip de psri, un pacient, etc.
n timp ce reelele semantie se bazeaz pe cunoatere bidimensional, cadrele adaug i cea
de-a treia dimensiune, permind nodurilor s aib structur.
Cadrele difer de reelele semantice pentru c pot descrie un obiect sau un sistem n care se
dau detalii despre componentele i ralaiile ntre ele.
S-a dovedit, c modurile de reprezentare hibride, aduc cele mai multe mbuntairi i c
cercetrile n acest domeniu, sunt de real folos.
E. Metoda obiectelor structurate
Tot mai muli specialiti prezint metoda obiectelor structurate ca o metod bazat pe cadre
deoarece, n esen, reprezentarea cunoaterii prin cadre face referine la programarea orientat
obiecte n construirea bazei de cunotine. Metoda obiectelor structurate este din ce n ce mai
utilizat n Sistemele Expert deoarece:
-

reflect multe idei ale paradigmei reprezentrii cunoaterii cu cadre i se nscrie n rndul
metodelor cu transfer succesorial

cunoaterea declarativ se menine separat de cunoaterea procedural

toat cunoaterea este concentrat ntr-o singur structur numit obiect

suport motenirea

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 motenirea.

32

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

F. Metoda reelelor neuronale


Abordrile care urmresc modul n care lucreaz creierul uman se concretizeaz n aanumitele reele neuronale i maini care nva. Mainile care nva se refer la tehnologii
ultramoderne capabile s realizeze nvarea din experien. Cercetrile au scos la iveal mai multe
asemenea metode, precum i algoritmi speciali, toate n faza de laborator: reele neuronale, nvare
inductiv, raionament bazat pe cazuri, algoritmi genetici, metode statistice folosite n achiziia
cunoaterii i soluionarea problemelor, nvatrea bazat pe explicaii.

3.2 Motorul de inferen

Componenta de control a unui Sistem Expert mai este numit i motorul de inferen pentru
c, n cursul execuiei la fel ca ntr-un proces inferenial, sistemul este capabil s genereze fapte noi
din cele cunoscute, aplicnd reguli.
Un mecanism elementar de aprindere a regulilor lucreaz conform urmtorului algoritm:
-

faza de filtrare: acum, se determin mulimea tuturor instanelor de reguli filtrate (MIRF)
corespunztoare regulilor din baza de reguli (BR) care pot satisface condiiile pe faptele
din baza de fapte (BF). n cazul n care nici o regul nu a putut fi filtrat atunci motorul se
oprete, n caz contrat se trece la urmtorul pas

faza de selecie: se alege o instan de regul R MIRF. Dac MIRF conine mai mult de
o singur instan, atunci se selecteaz regul urmnd strategia de conflict

faza de execuie: se execut partea de aciuni 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 restricie, aici se aleg o serie de reguli care a prioro merit
s particile la acest ciclu inferenial.
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
33

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


de fapte. Fr aceast proprietate, sistemele expert ar fi antrenate n bucle triviale ce ar aprea ori
de cte ori aciunile prii drepte ale unei reguli nu ar produce modificri n baz.
Faza de selecie, se mai poate numi, i strategia de control a unui Sistem Expert, deoarece,
ea este legtura de trecere de la o stare la alta n procesul de raionament, pentru rezolvarea
problemelor. Ea determin cum o cutare s fie direcionat n scopul atingerii strii finale. Cele
mai folosite strategii de control, sunt cele nainte (forward-chaining) i napoi (backward-chaining).
Strategia de control nainte este bazat pe fapte, deoarece, se pornete de la un set de fapte
iniiale i se caut nainte pn se ajunge la scop. Regulile, sunt folosite spre nainte, ele
genernd fapte noi, i tot asa pan cnd se ajunge la starea scop, sau pn cnd nu mai sunt reguli
care pot fi utilizate.
Strategia de control napoi, se mai numete i strategia bazat pe scop. n acest caz, ne
depalasm napoi, de la scop nspre faptele iniiale cunoscute. Prima dat, se caut in baza de fapte
dac scopul se gasete acolo n cazul n care nu se gsete, se caut dac nu se afl printre
concluziile unei reguli. Dac se gsete, ea se numete stare de scop, apoi se verific daca
premizele acestei noi stri, se afl n baza de fapte. Dac nu exist, atunci acestea devin noi scopuri
i se continu procesul pn se gsete o premiz care nu este suportat de nici o regul. Aceast
metod este similar cu demonstrarea ipotezelor de ctre experii umani.
Strategia de control mix combin cele dou strategii pentru ca n timpul cutrii prin baza
de cunotine s nlture inconveninetele acestora, reinnd numai cele care ar putea fi folosite cu
succes.
Metaregulile se refer la reguli care conin starea procesului deductive i modific dinamic
ordinea prioritii regulilor de declanare.

3.3 Agenda
Agenda este structura de date care memoreaz la fiecare moment instanele regulilor.
Aceste instane sunt dispuse ntr-o list, instana de regul aflat pe prima poziie fiind aceea ce va
fi apoi utilizat.
Exist dou criterii care dicteaz ordinea instanelor regulilor din agend. Primul este
prioritatea declarat a regulilor, al doilea strategia de rezoluie a conflictelor. Folosind aceste

34

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


doua criterii, insantele sunt ordonate n agend n mod descresctor prioritilor declarate, iar cele
cu prioriti egale n ordinea dat de strategia de rezoluie a conflictelor.

3.4 Modul de explicaie


Unele dintre cunotinele coninute ntr-un Sistem Expert au un caracter euristic. Din acest
motiv soluia furnizat de sistem nu este n mod necesar optim. Este chiar posibil ca aceast soluie s
nu fie nici mcar 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 explicaii, care permite trasarea
drumului urmat n raionament de ctre sistemul rezolutiv i emiterea justificrilor pentru soluiile
obinute, evideniindu-se n acest mod cauza greelilor sau motivul eecului. El ajut expertul s
verifice consistena bazei de cunotine.

35

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

IV. METODE DE REALIZARE A SISTEMELOR EXPERT

Dezvoltarea limbajelor de programare, tendina lor de a utiliza diverse forme de expresie


uman, au fcut mai uoar munca de realizare a unui Sistem Expert. Necesitatea de reprezentare a
unui bagaj foarte mare de cunotine, capacitatea de deducie rapid i eficienta a soluiilor
problemelor sunt unele din problemele care trebuie luate n considerare.
Realizarea unui Sistem Expert presupune achiziia cunotinelor, care se face cu un
generator de Sisteme Expert sau achiziia cunotinelor i reprezentarea lor prin implementarea
motorului de inferen, n final urmnd faza de validare.

4.1 Etapele realizrii Sistemelor Expert

Calitatea i utilitatea unui Sistem Expert depind n mod esenial de cunotinele pe care le
ncorporeaz i utilizeaz. Efortul principal n realizarea unui Sistem Expert este orientat spre

36

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


cunotine. Aceasta ncepe cu identificarea structurii generale corespunztoare domeniului de
expertiz i continund cu colectarea, reprezentarea, validarea i utilizarea acestora.
Primul lucru necesar n realizarea unui Sistem Expert este culegerea cunotinelor relevante
de la un expert uman. Aceste cunotine 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 cunotine
are ca scop culegerea cunotinelor de la un expert uman i construirea bazei de cunotine a
sistemului. Munca depus de inginer, este foarte anevoias, deoarece achiziionarea de cunotine
de la expertul uman este dificil, exprimarea cu exactitate a cunotinelor i regulilor nu este tocmai
la ndemna oricui. Este necesar conceperea unui prototip iniial bazat pe informaiile obinute de la
expert, urmnd apoi rafinarea iterativ folosind reaciile expertului i a potenialilor utilizatori ai
sistemului.
Un mod de realizare a sistemului, uor 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
raionamentul i s rspund la ntrebri despre procesul de soluionare al problemei. Capaciatatea
de adugare i tergere a unor blocuri de cunotine trebuie s fie luat n considerare.
Reprezentarea cunotinelor 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 adevrat dac
condiia este adevrat.
Etapele care trebuie parcurse n procesul de creare a unui Sistem Expert sunt:

analiza preliminar

modelarea conceptual

colectarea cunotinelor

reprezentarea cunoaterii

validarea sistemului

introducerea n exploatare i mentinerea n funciune

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 nti 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 cunotinelor. n cursul acestei
37

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


etape se urmrete 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
satisfctoare 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 cunotinelor dezvoltate n cadrul Comunitii Europene, n intenia definirii unui standard
metodologic european pentru conceperea i realizarea de sisteme i aplicaii care utilizeaz baze de
cunotine. Aceast metod, cuprinde urmtoarele etape:

definirea aplicaiei

analiza

proiectarea

implementarea

exploatarea i meninerea n funciune

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


difereniaz descrierea domeniului de descriere al raionamentelor, tot aa cum pentru aplicaiile
convenionale se difereniaz descrierea datelor de cea a prelucrrilor. n acest scop exist o
structur pe patru nivele: domeniu (descriere obiectelor, atributelor, relaiilor, formule de calcul,
euristici), inferen (descrierea primitivelor de raionament folosite pentru rezolvarea problemei),
activitate (etapele de reionament 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 eecurile ruinoase, cercetatorii, au dezvoltat o serie de reguli de ghidare care
ne ajut s determinm dac o problem este potrivit pentru ca o problema s fie rezolvat cu
ajutorul unui sistem expert: [12]

38

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


1. Nevoie unei soluii trebuie s justifice costurile dezvoltrii aplicaiei. Trebuie s
fie o relaie de echitabilitate ntre cost si rezultatul final.
2. Expertiza umana nu este la ndemn n toate situaiile atunci cnd este nevoie
de ea. Dac cunotina expertului este disponibil oricnd, atunci nu va fi
nevoie de realizarea unui sistem expert. Cu toate acestea, n domenii Cum ar fi
exploatarea petrolului i medicin se ntmpl destul de rar ca cunotina
specializat

s fie oferit de un sistem expert, fra ca s se apeleze la

cunotinele unui expert n materie.


3. Problema poate fi retolvat folosind tehnicile de deducie simbolice. Nu ar trebui
s se cear dexteritate manual sau aptitudini psihologice.
4. Problema este bine structurat i nu necesit (mult) cunotin de baz. Aceast
cunotin este greu de capturat i reprezentat. S-a artat c unele domenii tehnice
sunt mai uor de abordat, i c tind s implice o cantitate destul de redus de
informaie formalizat.
5. Problema nu poate fi uor rezolvat folosind tehnicile computerizate tradiionale.
Dac exist un bun algoritm care s soluioneye problema, atunci nu est enevoie
de un sistem expert pentru rezolvarea acestuia.
6. Existena cooperri i voinei unor experi umani. Pentru ca un proiect s aib
success este esenial ca experii s fie doritori s ajute i s nu se simt
ameninai. De asemenea, este nevoie de un management al proiectului i de
poteniali utilizatori.
7. Problema este de scop i de mrime 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

39

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


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

4.3

Generatoare de Sisteme Expert

Dup cum am vzut n capitolele anterioare, un Sistem Expert conine un motor de


inferen, o baz de cunotine, o baza de fapte i o serie de alte componente auxiliare. Deci un
Sistem Expert orict de performant ar fi nu este numai un motor de inferen, ci necesit mai ales o
mare acumulare de cunotine, care trebuie introduse n sistem. Acel program informatic, care nu
are baz de cunotine 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 conine, pe lng 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 legtur ntre ele.
Majoritatea Sistemelor expert din prima generaie au fost prevzute cu un software pentru
achiziia de cunotine, mai mult sau mai puin complet. S-au comercializat deci sisteme care s
nmagazineze cunotine.
Pentru crearea unui Sistem expert, cu ajutorul unui generator de sisteme expert, trebuie
completat baza de cunotine a acestuia. n ea trebuie introduse fapte i reguli, acestea fiind unele
dintre funciile principale ale editorului. Toate sistemele evoluate posed un astfel de editor, care
servete la achiziia cunotinelor.
Alturi de acest editor, exist i alte utilitare, precum trasorul, motorul de elaborare, modul
de nvare i eventual alte module specializate n explicaii, comentarii i calcule. Acestea din urm
nu sunt prezente n toate sistemele expert.

40

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


Fiecare dintre aceste module trebuie s poat comunica cu utilizatorul, deci exist interfee
care permit dialogul cu acestea. O arhitectur simpl a unui generator de sisteme expert este
prezentat schematic n Figura 4.1

Baza de cunotine

Editor

Motorul de inferene

Trasor

Interfaa utilizator

nvare

Alte module

41

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

Interfaa
procedeu

Este de remarcat faptul c fiecare modul poate fi dotat cu propria interfa de dialog cu
observaia c pentru sistemele industriale este neaprat nevoie de interfa de procedeu, pentru a
achiziiona n mod automat datele care provin de la captatoare i automate. De exemplu, n
domeniul gestiunii interfeele sunt destinate, de cele mai multe ori, extragerii datelor din bazele de
date i s nscrie n ele noi informaii.
Cel mai celebru dintre sistemele expert din generaia veche este sistemul MYCIN. El a fcut
s apar numeroase aplicaii i a dat natere motorului de elaborare EMZCIN. Acesta conine
celebrul modul de achiziie a cunotinelor, cunoscut sub numele de TEIRESIAS.
Tot n aceeai perioad de dezvoltare, s-a nscut sistemul CASNET, un alt sistem expert
medical, destinat pentru stabilirea diagnosticului i a terapiei glaucomului. Sistemul CASNET a dat
natere sistemului EXPERT.
Un alt reprezentatnt de seam din rndul sistemelor expert este sistemul PROSPECTOR.
Acesta este destinat detectrii zcmintelor de minerale i a fost dezvoltat dnd natere unui sistem
de elaborare numit KAS. Sistemul OPSS a provenit dintr-o familie de limbaje ale inteligenei
artificiale, momentat fiind inclus n sistemul KNOWLEDGE CRAFT. Un sistem destinat analizei
limbajului natural, care a adus multe idei noi care mai trziu au fost reluate este HEARSAZ-III.

42

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

V. MED-EXPERT - SISTEM EXPERT APLICAIE N MEDICIN

De la nceputurile istoriei moderne ale calculatoarelor, cercettorii, au visat s creeze un


creier electronic. Dintre toate domeniile de cercetare, domeniul crerii sistemelor computerizate
inteligene (AI) a fost unul dintre cel mai ambiios i nu surprinztor cel mai controversat.
Se pare, c, nc de la nceput, savanii i doctorii au fost captivai de potenialul pe care
acesat tehnologie o poate avea n medicin. Folosind calculatoare inteligente capabile s stocheze
i s proceseze o cantitate enorm de informaii, se spera la dezvolatrea unor doctori n cutii
capabili s asiste i s depaeasc capacitaile cadrelor medicale n materie de diagnostic.
Cu asfel de motivaii nalte, un grup destul de restrns de oameni de tiint i profesionaliti
medicali, au pus bazele unei noi discipline numite Inteligena Artificial n Medicin (AIM).
Cercetrile fcute au avut ca viziune revoluionarea medicinei i depairea barierelor tehnologiei.

43

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


Sistemele AIM au ca scop sprijinirea personalului medical n cursul normal de probleme care
apar, asistnd la sarcinile care se bazeaz pe manipularea de date i cunotine. Un sistem inteligent,
ar putea alerta un medic, atunci cnd acesta detecteaz o contraindicaie la un tratament planificat,
sau atunci cnd detecteaz modificri n starea unui pacient.
Sistemele Expert, sunt cele mai comune tipuri de sisteme AIM folosite n medicin. Ele
conin cunotin medical, de obicei despre un anumit cmp de studiu, i sunt capabile s raioneze
cu date de la pacieni individuali, pentru a deduce unele concluzii. Cu toate c exist multe metode
de reprezentare a cunotinei cea mai utilizat e cea care folosete un set de reguli.
Medicina, a pus bazele unei dorine de dezvoltare a unor maini capabile s nvee dnd
posibilitate oamenilor de tiin s dezvolte sisteme complexe capabile s fac acest lucru. Cu toate,
c, au fost i sunt nc folosite un numr destul de mare de sisteme expert n medicin, n prezent,
sistemele capabile s nvee sunt nc folosite n mod experimental. Cu toate acestea sunt multe
situaii n care ele pot aduce un real suport.

5.1 Scopul aplicaiei practice

Stresul i ritmul vieii cotidiene, au fcut ca problemele digestive s fie o adevrat


problem n ziua de azi. Tot mai mult lume, este prins n acest vrtej al epocii pe care o trim,
nct uneori, uitm sau amnm s facem chiar i cele mai elementare activiti zilnice.
Numrul de persoane care sufer de Ulcer Duodenal, de Gastrite Acute, a crescut alarmant n
ultima perioad declannd un adevrat semnal de alarm. Un ajutor, adus personalului medical, ar
fi de un real folos oferind posibilitatea tratrii i diagnosticrii mai multor persoane care sufer de
aceste boli.
Dezvotarea unei aplicaii care ar putea ajuta la diagnosticarea i oferirea unui tratament
pentru aceste disfuncionaliti, ar aduce un real sprijin att medicilor ct i pacienilor.
Accesarea unei astfel de aplicaii, de ctre pacienii nregistrai ai unui spital, ar fi un
adevrat atuu. Posibilitatea modificrii anumitor date pe care sitemul le are, ct i posibilitatea

44

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


adugrii de noi cunotine 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 pacienii 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 desfurarea unor examene paraclinice (de
laborator). Asfel c, baza de cunotine va fi folosit pentru toate aceste trei boli fr o delimitare
rigid.
Modul n care raioneaz 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 disfuncionaliti, apar la un anumit pacient.
Sistemul nu se oprete doar la diagnosticare, el fiind capabil s ofere i un tratament pentru
un anumit diagnostic gsit.
MED-EXPERT, poate fi utilizat att de medicii care au conturi de acces, ct i de pacienii
internai la un anumit spital.
Pacienii, posednd un cont dat la internare, au acces doar de folosire a acestui sistem, fiind
capabili s-i verifice singuri starea de sntate din punctul de vedere al problemelor medicale mai
sus menionate
Medicii, care au acces de utilizare a sistemului, pot folosi acest aplicaie, att ca un
program de diagnosticare medical, ct i avnd posibilitatea adugrii, modificrii bazei de
cunotine pe care acesta o posed.

5.1.1 Descrierea aplicaiei

La rularea MED-EXPERT-ului, va aprea o fereastr de Logare care va trebui completat


cu un nume de User si o Parol corespunztoare. Aceste date sunt primite de fiecare medic care
lucreaz in spital i de fiecare pacient internat, date care sunt reinute n Bazele de date Medici
si Pacieni .

45

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


n cazul n care datele nu sunt introduse corect, aplicaia nu va rula i va afia un mesaj de
atenionare.
Logarea cu succes, va duce la posibilitatea folosirii MED-EXPERT-ului, de ctre
utilizatorul avizat fie medic fie pacient.
Dac utilizatorul este medic, atunci pe ecran va aprea o fereastr care ofer posibilitatea
alegerii unor opiuni de utilizare a aplicaiei.
Un medic, va putea s vizualizeze baza de cunotine a sistemului (simptomele, procentele
pe care acestea le ocup att n boal ct 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 cunotine, sau va
putea aduga o noua entitate de cunoatere, un simptom. Medicul mai poate vizualiza lista cu
pacieni ai spitalului, i lista cu pacienii diagnosticai.
De asemenea, acesta va putea rula sistemul de diagnoz i tratament. La alegerea acestei
opiuni, va aprea pe ecran o fereastr care va ajuta medicul s fac o diagnoz a unui anumit
pacient.
Aceeasi fereastr, va aprea i n cazul logrii unui pacient, el nebenficiind de apariia
ferestrei cu opiuni de modificare a bazei de cunotine ale sistemului.
Aceast fereastr, reprezint Interfaa Utilizator a sistemului, interfat prin care
utilizatorul interacioneaz cu aplicaia, i care face posibil culegerea de date de la pacient/doctor,
necesare raionamentului.
Pe fereastr, se va putea vedea o imagine semnificativ fiecrui simptom care este interogat,
simptomul, o casu, n care se poate introduce rspunsul pacientului/medicului i un buton, care
trebuie s fie folosit dup ce s-a rspuns la ntrebarea care apare pe ecran.
Butonul, nu va mai putea fi folosit atunci cnd se ajunge la un diagnostic, el va fi inactiv, iar
pe ecran, va mai aprea o fereastr, n care se va confirma diagnosticul i tratamentul.
Rspunsurile 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 semnificaia DA, iar o valoare mai mic dect 0
cu semnificaia de NU.
n funcie de rspunsurile pe care sistemul le primete de la pacient, acesta i va croi
drumul spre scopul final i va pune doar ntrebrile corespunztoare.
Fereastra aplicaiei MED-EXPERT ofer posibilitatea rulrii ei ori de cte ori dorete
utilizatorul.

46

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

5.2 Baza de cunotine

n literatura de specialitate, exist o serie de metode de reprezentarea a bazei de cunotine a


unui Sistem Expert, metode care au fost descrise n aceast lucrare. Sistemele Expert, cu aplicaie n
medicin adesea folosesc metoda regulilor, calcule i formul de natur probabilistic. Cel mai
cunoscut sistem de diagnoz, MYCIN, folosete aceast metod de reprezentare.
Pentru Sistemul Expert, MED-EXPERT, am ales metoda reelelor semantice. Colaborarea ,
cu expertul uman n materie medical, m-a fcut s ajung la aceast concluzie, gsind aceast
reprezentare natural, uor de prelucrat i logic.
Se tie c, reele semantice sunt de dou tipuri, cauzale i decizionale. Modelul cel mai
potrivit pentru aceast aplicaie este cel decizional.
Reeaua este un graf orientat n care cunoaterea este reprezentat prin asocierea ntre
noduri i arce a semnificaiei sau semanticilor. Astfel, se ajunge la interpretarea n termeni de
obiecte/entiti i relaii a domeniului problemei.
Nodurile sunt asociate obiectelor din domeniu n cazul de fa unui simptom, iar arcele sunt
asociate legturilor sau relaiilor dintre obiecte. Dou noduri care sunt legate printr-un arc,
nseamn c sunt n legtur direct n funie de rezultaul primit de la un pacient despre un
simptom, urmeaz s fie chestionat un alt simptom.
Caracteristica de baz a unei reele semantice const n aceea c ofer un formalism de
reprezentare a cunoaterii mpreun cu o structur de regsire a cunoaterii. n acest mod de
reprezentare, raionamentul nseamn cutarea unei ci dintre nodurile grafului folosind
cunoaterea disponibil din domeniu.
Bazndu-m pe caracteristicele acestui mod de reprezentare a cunotinei, prin modul
natural n care raioneaz medicul, cea mai potrivit transpunere am gsit-o n reeaua semantic
decizional.
Un nod al acestei reele reprezint o entitate Simptom, care este caracterizat de:
-

simptomul n sine, ntrebarea care este dresat pacientului

47

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


-

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 nsemntate mai mare
pentru o anumit boal iar pentru altul mai mic.
Ca n toate cazurile de aplicaii, existena excepiilor este un lucru ct se poate de natural. i

aici aceast problem apare i trebuie tratat ct mai eficient i mai natural.
Excepiile pot aprea atunci cnd procentele simptomelor difer. Tinnd cont de cunotina
achiziionat de la expertul uman, s-a dovedit c n cazul unor simptome, procentele difer n
funcie de sex, i de rspunsul afirmativ sau negativ pe care l primim de la pacient.
Tinnd cont de informaiile achiziionate, de problemele care apar, am hotart, ca,
cunotina acestui sistem, s fie reprezentat astfel: toat baza de cunotine se poate regsii in baza
de

date

SimptomeBoli,

care

conine

tabelele

Simptom,

ProcentSimptomBoli,

ProcentSimptomBoala, ExcDaNu.
Tabelul Simptom, are urmtoarea structur:
ID (int) identific unic fiecare simptom;
Simptom (text) simptomul propriu-zis;
DA (int) cmpul conine identificatorul urmtorului simptom care va fi interogat de
sistem, dac se rspunde pozitiv la cel curent;
NU (int) cmpul conine identificatorul urmtorului simptom care va fi interogat de
sistem, dac se rspunde negativ la cel curent.
Tabelul Simptom:

48

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

ID
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

Simptom
Aveti dureri abdominale?
Aveti dureri in epigastru?
Aveti dureri in hipocondrul drept?
Durerile sunt vii,ascutite?
Durerile se accentueaza in inspir profund?
Durerea apare noaptea?
Durerea apare dupa masa?
Durerea cedeaza dupa alimentatie sau antiacide?
Durerea cedeaza la caldura sau antispastice?
Durerea se amelioreaza daca va ghemuiti?
Sunteti agitat?
Va este greata?
Ati avut varsaturi bilioasa?
Ati avut varsaturi acide
Ati avut hematemeza sau malena?
Sexul (F>=0|M<0)?
Sunteti fumator (DA>=0|Nu<0)?
Consumati alimente bogate in grasimi?
Aveti un orar de mese regulat?
Sunteti expus la stres?
Urmati tratament aniinflamator (DA>=0|Nu<0)?
In familie aveti antecedente de Ulcer Duodenal
(DA>=0|Nu<0)?
In familie aveti antecedente de Litiaza Biliara
(DA>=0|Nu<0)?
Suferiti de obezitate sau DZ (DA>=0|Nu<0)?
Dimineata, simtiti uneori gust amar sau cefalee?
Colecistul apare destins la palpare?
Exista sensibilitate vie la palparea hipocondrului
drept cu semnul Murphy pozitiv?
Exista sensibilitate vie la palparea epigastrului?
Exista o usoara sensibilitate la palparea epigastrului?
Exista subfrebilitate?
Exista subicter (DA>=0|Nu<0)?
Exista hiperbilirubinemie directa (DA>=0|Nu<0)?
Ecografic, exista litieaza biliara sau malformatii ale
colecistului (DA>=0|Nu<0)?
Exista anemie hipocroma (DA>=0|Nu<0)?
Reactia Gregersen este pozitiva (DA>=0|Nu<0)?
Examenul baritat al tubului digestiv superior releva
modificari specifice pentru Ulcer Duodenal (DA>=0|
Nu<0)?
Examenul baritat al tubului digestiv superior releva
modificari specifice pentru Gastrita Acuta (DA>=0|
Nu<0)?
Endoscopia digestiva superioara releva leziuni
specifice Ulcerului Duodenal (DA>=0|Nu<0)?
Endoscopia digestiva superioara releva leziuni
specifice Gastritei Acute (DA>=0|Nu<0)?

49

DA

NU
2
4
4
5
6
7
8
10
10
11
12
13
15
15
16
17
18
19
20
21
22
23

11
3
5
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

24

24

25
26
27
30

25
26
27
28

30
30
31
32
33
34

29
30
31
32
33
34

35
36
37

35
36
37

38

38

39

39

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


Tabelul ProcentSimptomBoal, are urmtoarea 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

UD
5
5
5
5
2,5
2,5
0
2,5
1
2,5
3
7
0
1
0
0
2,5
0
0
0
0
2,5
2,5
2,5
10
15
5
2,5
10
10
15
30
0
0
0

GA
10
10
10
10
5
5
5
1
5
2
6
2
14
14
0
4
4
6
5
5
5
0
0
0
0
0
10
10
0
0
0
0
6
14
5

50

5
1
0
0
0
2,5
2,5
1
1
0
3
1
7
7
0
0
0
3
2,5
2,5
0
0
0
0
0
0
5
5
0
0
0
0
3
7
0

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


37
38
39

0
80
0

0
0
0

25
0
50

Tabelul ProcentSimptomBoli, are urmtoarea structur:


ID (int) - identific unic fiecare simptom;
EXC (text) conine numele tabelului n care se afl informaii despre simptomele care
prezint excepii;
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
1
2 ExcDaNu
3
4
5
6
7
8
9
10
11
12
13
14
15
16 ExcDaNu
17
18
19
20
21
22

LB

UD
50
0
60
60
60
50
40
0
70
10
80
33
80
0
10
0
0
60
0
0
0
0

51

GA
35
0
30
40
40
50
30
70
20
80
20
33
10
50
60
0
100
40
50
50
30
100

20
0
10
0
0
0
30
30
10
10
0
33
10
50
30
0
0
0
50
50
70
0

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

100
100
100
100
100
20
10
90
100
100
100
0
0
0
0
0
0

0
0
0
0
0
60
20
10
0
0
0
50
50
100
0
100
0

0
0
0
0
0
20
70
0
0
0
0
50
50
0
100
0
100

Tabelul ExcDaNu, are urmtoarea 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 rspuns afirmativ;
UD_DA (double) - procentul pe care l ocup simptomul pentru boalaUlcer Duodenal, ntre
celelalte boli, n cazul unui rspuns afirmativ;
GA_DA (double) - procentul pe care l ocup simptomul pentru boala Gastrit Acut, ntre
celelalte boli, n cazul unui rspuns afirmativ;
LB_NU (double) - procentul pe care l ocup simptomul pentru boala Litiaz Biliar, ntre
celelalte boli n cazulu unui rspuns negativ;
UD_NU (double) - procentul pe care l ocup simptomul pentru boalaUlcer Duodenal, ntre
celelalte boli, n cazul unui rspuns negativ;
GA_NU (double) - procentul pe care l ocup simptomul pentru boala Gastrit Acut, ntre
celelalte boli, n cazul unui rspuns negativ;

52

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


Tabelul ExcDaNu:
ID
2
16

LB_DA

UD_DA
30
80

GA_DA
35
10

LB_NU
35
10

UD_NU
33
10

GA_NU
33
80

Datele despre pacienii internai care pot s beneficieze se serviciile oferite de aceast
aplicaie sunt prezente n baza de date Pacieni, care conine Tabelul Pacieni i are urmtoarea
structur:
ID (int)

- numrul de identificare al fiecrui pacient;

NUME (tex)

- numele pacientului;

ADRESA (text)

- adresa pacientului;

DIAGNOSTIC (text) - diagnosticul care este pus de ctre medic (aplicaia


MED-EXPERT) ;
USER (text)

- numele de User pe care l primete pacientul la internare i cu


care poate s se logeze pentru a folosi MED-EXPERT-ul;

PAROLA (text)

- parola User pe care o primete pacientul la internare i cu


care poate s se logeze pentru a folosi MED-EXPERT-ul;

ID

Tabelul
Pacienti:

NUME
1 Pop Marian

ADRESA
str. Mihai
Viteazu nr25
Bucuresti
2 Ion Vasile
str. Crangasi
nr56 ClujNapoca
3 Marian Nadas str. Mihai
Eminescu nr 5
Iasi
4 Maria Ionescu str. Victoriei
nr117 Suceava
5 Lavinia Ciceu str. Abatorului
nr3 ClujNapoca
6 Ioana
str.
Vasilescu
Observatorului
nr45 ClujNapoca
7 Silvica Negura str. Crangasi nr
11 Bucuresti
8 Silviu
str. Bucium
Tampescu
nr88 targoviste
9 Rares Neagu str. Bujor nr33
Zalau
10 Ionut Iliescu
str.
Memorandumu
lui nr7 ClujNapoca

DIAGNOSTIC
USER
Ulcer Duodenal pm25

PAROLA
pm25

iv56

iv56

Liteaza Biliara

mn5

mn5

Gastrita Acuta

mi117

mi117

lc3

lc3

iv45

iv45

sn11

sn11

Ulcer Duodenal st88

st88

rn33

rn33

53
Liteaza Biliara ii7

ii7

33
10

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


Datele despre doctorii care lucreaz n spital i care pot s beneficieze de serviciile oferite
de aceast aplicaie sunt prezente n baza de date Doctori, care conine Tabelul Doctor i are
urmtoarea structur:
ID (int)

- numrul de identificare al fiecrui doctor;

NUME (tex)

- numele doctorului;

SPECIALIZARE(text) - specializarea fiecrui medic;


USER (text)

- numele de User pe care l primete medicul i cu care poate


s se logeze pentru a folosi MED-EXPERT;

PAROLA (text)

- parola User pe care o primete medicul i cu


care poate s se logeze pentru a folosi MED-EXPERT-ul;

Tabelul Doctor:
ID

NUME
1 Nicolaie
Ionescu
2 Otilia Gaina
3 Ion Gherman
4 Marian
Vasilescu
5 Maria
Negoiescu

SPECIALIZARE
USER
medic primar
ni28796

PAROLA
ni28796

pediatru
chirurg
neurolog

og38796
ig23786
mv87213

og38796
ig23786
mv87213

dermatolog

mn32449

mn32449

Datele despre medicaia pe care sistemul o ofer pacienilor, sunt reinute n baza de date
Medicaie. Baza de date conine:
Tabelul Boli cu urmtoarea structur:
IDBoala (text) identific unic fiecare boal;
Denumire (text) denumirea boli;
Tabelul Medicamante cu urmtoarea structur:
IDMed (text)

identific unic fiecare medicament;

Denumire (text) denumirea medicamentului;


Dozaj (text)

- dozalul care trebuie administrat;


54

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


Tabelul Reteta cu urmtoarea structur:
IDBoala (text) identificatorul bolii pentru care s-a prescrsi reeta;
IDMed (text)

identificatorul medicamentului prescris;

5.3 Mecanismul de inferen


Punctul forte al Sistemelor Expert, l reprezint capacitatea lor de a face inferene i s
deduc concluzii pe baza unor date. Aceasta este partea care face un Sistem Expert inteligent. Chiar
i atunci cnd este posibil s se reprezinte baza de cunotine 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 inferene. Acesta este un program care interpreteaz
regulile din baza de cunotine dndu-i posibilitatea obinerii unei soluii. Pentru aceasta, exist
dou strategii, ce a nlnuirii nainte, i cea a nlnuirii napoi. Un model particular de motor de
inferen este cel care le folosete pe amndou.
Bazndu-m pe modul n care am stocat informaia pe care o deine sistemul, am hotrt c,
cea mai apropiat i mai potrivit metod de utilizare a motorului de inferen este cel cu nlnuire
nainte.
Rspunsurile pe care le primete aplicaia la evaluarea fiecrui simptom n parte, face foart
uoar alunecarea spre concluzia dorit. Reeaua semantic, care modeleaz baza de cunotine a
sistemului, este foarte apropiat unui arbore de decizie, care n funcie de un rezultat primit la un
moment dat, se ndreapt spre un anumit nod. Astfel, c, dificultatea de a decide care este
urmtorul simptom care trebuie evaluat, este rezolvat, nca din conceperea reelei care descrie
cunotina sistemului. Legturile, acestei reele decizionale, este dat de rezultatul afirmativ sau
negativ, pe care sistemeul le primete de la un anumit pacient.
Momentul n care motorul de inferene se oprete, este atunci cnd 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 situaie general despre starea lui de sntate

55

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


relative la bolile investigate. Acest moment, ofer utilizatorului aplicaiei i o reet innd 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 inferene, nu a
putut deduce c o anumit afeciune apare pn n momentul n care sunt interogate rezultatele de
la analizele paraclinice, odat evaluate aceste analize, se poate deduce clar situaia pacientului.
Procentele finale ale afeciunilor, care ne ajut la evaluarea strii pacientului, sunt calculate
n timpul derulrii algoritmului dup care lucreaz motorul de inferen, i tine seama de rezultatele
primite de la bolnav asfel:
-

rezultatul pe care aplicaia l primete este un numr din intervalul [-5..5], acest rezultat,
va fi ponderat dup urmtorea formul:
Raspuns(r)=(r+5)/10 astfel nct s avem o apreciere ct mai realist asupra situaiei;

formula dup care se vor calcula procentele fiecrei boli n parte, se calculeaz la fiecare
pas, i este:
Pboal= Pboal + ((Procent_boal*Raspuns(r) )* Procent_boli)/100;
innd cont de cele afirmate pn acum, am putea deduce, c, algoritmul dup care lucreaz

motorul de inferen este:


Algoritm MED-EXPERT:
Ct timp ((not_diagnostic) sau (not_sfrit_simptome)) execut
Pentru fiecare boal execut
Calculeaz Pboal;
Sfpentru
Determin id_simptom_urmtor;
SfCattimp
Prescrie Reet;
SfMED-EXPERT
Urmnd acest mod de deducie cu nlnuire nainte, tinnd cont de toate excepiile care ar
putea aprea i de datele din baza de fapte (cele care in de fiecare pacient n parte), sistemul MEDExpert, este capabil s diagnosticheze i s ofere un tratament pentru persoanele suferinde de
disfuncionalitile amintite anterior.

56

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

CAZURI DE UTILIZARE
innd cont de modul n care poate fi utilizat aplicaia MED-Expert, am putea evidenia
urmtoarele cazuri de utilizare:
1. Logarea unui utilizator
Aplicaia permite s fie folosit doar de persoanele care au aceste drepturi, de aceea
primul pas n rularea MED-Expertului o reprezint logarea, operaie a crei interfa este:

Acest caz de utilizare, conine dou subcazuri:


Logarea unui medic utilizatorul care se logheaza n vederea utilizrii aplicaiei, 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 aplicaia. n caz contrar, se va semnala un mesaj de
eroare n care medicul este atenionat de introducerea incorect a datelor de identificare.
Logarea unui pacient - utilizatorul care se logheaza n vederea utilizrii aplicaiei, 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 continuare aplicaia. n caz contrar, se va semnala un mesaj de
eroare n care pacientul este atenionat de introducerea incorect a datelor de identificare.

57

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


2. Vizualizri informaii
Aceast operaie, este permis numai utilizatorilor de tip medic, la fel ca i toate
operaiile asupra bazelor de date pe care aplicatia le gestioneaz. Toate aceste operaii 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 folosee. Un posibil rezultat al acestei operaii ar
putea arta astfel:

58

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

2.2 Vizualizare Procente Boala aceast opiune permite unui medic, s vizualizeze
procentele pe care le ocup simptomele n cadrul fiecrei boli.

59

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

2.3 Vizualizare Procente Boli aceast opiune permite unui medic, s vizualizeze
procentele pe care le ocup simptomele ntre disfuncinalitile tratate de aplicae. n
cazul n care exist expepii, un simptom are procente diferite n unele situaii, acestea
vor fi de asemeni afiate.

60

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

2.4 Vizualizare Paceni Internai aceast opiune permite unui medic, s vizualizeze
toi pacienii internai n spital n cadrul departamentului aferent.

2.5 Vizualizare Pacieni Diagnosticai - aceast opiune permite unui medic, s


vizualizeze toi pacienii diagnosticai internai n spital n cadrul departamentului
aferent.

61

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


3. Adugarea unui nou Simptom
Un medic poate s gestioneze baza de cunotine a aplicaiei. El poate s adauge un nou
Simptom, mpreun cu toate informaiile aferente acestuia prin intermediul unei interfee.

62

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

4. Modificarea unui Simptom


O alt opiune pe care un medic o are, este cea de modificare a unui Simptom coninut n
baza de cunotine a aplicaiei. Aceast operaie, dispune de asemenea de o interfat,
prin care medicul poate s modifice unele informaii ale unui Simptom dorit. Dup ce se
introduce id-ul Simptomului pe care dorim s l modificm, introducerea acestul id
conine funcii de validarea a identificrii unui Simptom existent n baza de date, datele
aferente Simptomului vor aparea pe interfaa pus la dispoziie de ctre aplicaie dup
apsarea tastei Enter n cmpul de introducere al id-ului cerut.

63

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

5. tergerea unui Simptom


Dup introducerea corect a unui id, care identific un Simptom, folosit de aplicaie n
cadrul ferestrei de tergere, un medic, poate s renune la utilizarea unui anumit
Simptom.

6. Utilizare MED-Expert
Cel mai important caz de utilizare al aplicaiei, folosirea sistemului expert, care este
capabil s decid daca un anumit pacient sufer de una din disfuncionalitile
analizate. Modul n care se folosete interfaa sistemului, am prezentat-o ntr-un
paragraf anterior, acum vom identifica aceast interfat, impreun cu cea a unei reete.
Reeta, 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 disfuncionalitate, i ofer un tratament pentru corectarea acesteia.

64

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

65

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

DIAGRAMA DE CALSE

AdaugareSimptom
bs : BrookerSimptom
idsimp : ArrayList

Medic
bs : BrookerSimptom

Tabele
caz : int

actualizare()
ModificareSimptom
bs : BrookerSimptom
idsimp : ArrayList

StergereSimptom
bs : BrookerSimptom
idsimp : ArrayList

actualizare()
Simptom
id : int
nextid : int
simptom : string
imagine : string
LB_boli : double
UD_boli : double
GA_boli : double
LB_boala : double
UD_boala : double
GA_boala : double

Med-Expert
Plitbil : double
Pulcerd : double
Pgastra : double
nrSimptome : int
r : int
diag : int
idcurent : int
index : int
ret : Reteta
bs : BrookerSiptom

Reteta
caz : int
boala : string
cazboala : int
Logare
pac : Pacient
doc : Doctor
bs : BrookerSimptom

Diagnostic(index : int) : int


Raspuns(ras : int) : double

Doctor
id : int
nume : string
specializare : string
user : string
parola : string

Pacient
id : int
nume : string
diagnostic : string
adresa : string
user : string
parola : string
get()
set()

get()
set()
Brookersimptom
idcurent : int
sim : Simptom
doc : XmlTextReader
idsimp : ArrayList
getNrSimptom() : int
Final(id : int) : int
getIntrebare(id : int) : string
getImagine(idcurent : int) : string
getSimptom(idcurent : int, rasp : int) : Simptom
delSimptom(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) : ArrayList
getSimptomModif(id : int) : ArrayList
getProcentboalaM(id : int) : ArrayList
getProcenteBoliM(id : int) : ArrayList
ModSimptom(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

COD SURS
66

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

Clasa Simptom, conine toate datele necesare i aferente unei entiti Simptom care
intervine n aplicaie. De asemenea conine i metodele aferente de regsire i de iniializare a
datelor membru.
public class Simptom
{
private
private
private
private
private
private
private
private
private
private

int id ;
int nextid;
string simptom;
string imagine;
double LB_boli;
double UD_boli;
double GA_boli;
double LB_boala;
double UD_boala;
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;

67

ARHITECTURI DE SISTEME EXPERT.APLICAII 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 conine toate datele necesare aplicaiei pentru a lucra cu acest tip de
entiate.Metodele acestei clase, ne permit iniialiyarea datelor membru ct i regasirea acestora.

68

ARHITECTURI DE SISTEME EXPERT.APLICAII 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;
}

69

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


public string getParola()
{
return parola;
}
}

Clasa BrookerSimptom, este clsa care se ocup de executarea operaiilor


asupra bazelor de date, cunotina 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()
{
}
public int Final(int id)

//imi returneaza cate simptome


am in BD

//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)

70

ARHITECTURI DE SISTEME EXPERT.APLICAII 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"]);

71

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


}
else
{

if (exceptie.Equals("ExcDaNu"))
{
ds.Clear();
da = new OleDbDataAdapter("Select * From ExcDaNu
ID="+idcurent , db);
da.Fill(ds, "Exc");
da.Dispose();
if (raspuns>0)
//am raspuns cu
DA

where

{
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)
{

72

ARHITECTURI DE SISTEME EXPERT.APLICAII 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

//pe poz o se afla ramura DA si


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

73

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

public void ModSimptom(int id,string simptom, int da, int nu)


modific Simptomul cu Id-ul id

//imi

{
}
public void ModProcenteBoli(int id, string ex, double lbd, double udd,
double gad, double lbn, double udn, double gan)
{
}//modProcenteBoli

74

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

VI.CONCLUZII

Oricum le-am numi, sistemele cognitive sau sistemele inteligente, Sistemele Expert
constituie o subramur a tehnologiei Inteligenei Artificiale i s-au remarcat deja n numeroase
aplicaii. 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 pn la nceputul anilor 90, caracterizat de aplicarea sistemelor expert de


mrimee medie la soluionarea unor probleme specifice. Ele au format gustul pentru
aceast tehnologie i un numr mare de cognicieni;

a doua perioad, cu ncepere din 1992, va atinge apogeul la nceputul acestui mileniu,
cnd sistemele expert sunt concepute pentru reproducerea raionamentului uman pn la
punctul n care vor concura cu experii umani n materie de inteligen i expertiz
Dar ce ne ofer viitorul imediat n domeniul Sistemelor Expert? Se ntrevd patru direcii de

dezvoltare:

dezvoltarea masiv de generatoare de Sisteme Expert i sisteme neuronale, cu care se


vor putea concepe, de ctre experi, noi aplicaii n cele mai diferite domenii.
Cogniticienii vor avea i ei un rol crescut deoarece se vor concentra mai puin asupra
domeniilor aplicative;

dezvoltarea unor metode mai noi, mai performante de achiziie i reprezentare a


cunoaterii, care vor deveni tot mai disponibile i accesibile. Acesta este sectorul cel mai
interesant pentru cogniticianul viitorului;

viitorul cel mai promitor aparine sistemelor neuronale, care se inspir din structurile
creierului uman i a cror originalitate ine seama de distribuirea cunoaterii. Sistemele
neuronale vor fi nedisociate de Sistemele Expert, acestea implicndu-se unele pe altele.
Deja se afl n comer generatoare de Sisteme Expert care utilizeaz descrierea
obiectelor, care fac parte integrant din baza de cunotine, dar acestea nu sunt dect

75

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.


nite precursori ntruct se va ajunge la sisteme inteligente care depesc 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.
innd cont de prezentarea fcut sistemelor informatice bazate pe cunotine, i n
particular a Sistemelor Expert, putem meniona cteva avantaje ale acestora:

sunt colecii de informaii valoroase;

sunt indinspensabile n lipsa expertizei umane;

n unele situaii, pot fi mai ieftine i mai eficiente dect experii umani;

pot fi mai rapide dect experii umani;

dac sunt flexibile, pot fi actualizate cu uurin;

pot fi folosite pentru instruirea de noi experi umani;

la cerere, pot explica premisele i linia de raionament;

trateaz incertitudinea ntr-o manier explicit, care spre deosebire de cazul experilor
umani poate fi inspectat i verificat;

Cu toate acestea, unele limite ale acestor sisteme exist:

nu pot raiona pe baza intuiiei sau bunului sim, deoarece acestea nu sunt uor
reprezentabile;

sunt limitate la un domeniu restrns; cunotine din alte domenii nu pot fi uor integrate
nici nu pot generaliza n mod convingtor;

procesul de nvtare nu este automat; pentru actualizrile cunotinelor este nevoie de


intervenia uman;

n prezent, nu pot raiona pe baza teoriilor sau analizelor;

cunotinele nmagazinate n baza de cunotine depind foarte mult de expertul uman


care le exprim i actualizeaz.

Sistemele Expert, sunt un element cheie n aa numita a 5-a generaie de calculatoare.


Aceste maini, nu i vor spune doar ceea ce vrei s tii, ci i cum s gseti ceva, fr ca s fie
nevoie s cunoti un limbaj de programare.

76

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

Cu toate c argumente pro i contra exist n ceea ce privete capacitatea calculatoarelor de


a aciona inteligent, ele totui se nchin n faa a ceea ce matematicienii numesc dovad
existent . Ct de mult poate tehnologia informaional s fie aplicat n domenii ca medicina,
trafic aerian, operaii nucleare este doar o ntrebare care i gsete rspunsul din ce n ce mai mult
n viaa real.

77

ARHITECTURI DE SISTEME EXPERT.APLICAII N MEDICIN.

VII. BIBLIOGRAFIE
1) http://www.ifi.unizh.ch/groups/ailab/people/bongard/migros/LectMon830.pdf
2) Computaional 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, Bucureti 2002
6) Sisteme Expert cu Prolog - Constantin Sambotin, Bucureti 1997
7) Sisteme inteligente n management, contabilitate, finane bnci 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 Crstoiu
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

78

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