Date post: | 21-Nov-2015 |
Category: |
Documents |
Upload: | catalina-dobre |
View: | 23 times |
Download: | 3 times |
SISTEME EXPERT AMELIA B{DIC{
VALENTIN LI|OIU
Editura REPROGRAPH, Craiova, 2007
I. SISTEME INFORMATICE
1.1. CONCEPTUL DE SISTEM INFORMATIC
Func\ionarea unui sistem informa\ional-decizional presupune, @n
principal, desf[]urarea urm[toarelor activit[\i:
- culegerea datelor despre starea sistemului condus ]i a mediului
@nconjur[tor;
- trasmiterea datelor @n vederea prelucr[rii;
- prelucrarea datelor, ob\inerea informa\iilor ]i trasmiterea
acestora;
- adoptarea deciziilor, dezagregarea sau desintetizarea acestora ]i
trasmiterea lor spre execu\ie;
- asigurarea controlului ]i urm[ririi @nf[ptuirii deciziilor.
Utilizarea tehnicii electronice de calcul a produs modific[ri majore @n
modul de realizare a acestor activit[\i ]i implicit a determinat apari\ia
conceptului de sistem informatic.
Sistemul informatic economic este un ansamblu de elemente
interconectate func\ional @n scopul automatiz[rii ob\inerii informa\iilor,
fundament[rii, trasmiterii ]i urm[ririi deciziilor.
Sistemul informatic se interpune @ntre sistemul de decizie ]i sistemul
de execu\ie fiind subordonat acestora. El este inclus @n cadrul sistemului
informa\ional ]i are drept obiect de activitate, @n general, culegerea,
trasmiterea ]i prelucrarea automat[ a datelor. Prin implementarea unor
modele matematice ]i utilizarea tehnicii electronice de calcul, @n activit[\ile
enumerate, sistemul informatic imprim[ valen\e sporite sistemului
informa\ional sub aspect cantitativ ]i calitativ. Astfel, asist[m la o cre]tere
a capacit[\ii de calcul sub aspectul volumului datelor de prelucrat ]i al
opera\iilor de efectuat, la cre]terea exactit[\ii informa\iilor, la sporirea
operativit[\ii @n informare, @n codi\iile cre]terii compexit[\ii activit[\ilor
economice etc. Toate acestea determin[ o apropiere mai mare a
decidentului de fenomenele ]i procesele economice pe care le coordoneaz[,
cu multitudinea efectelor economice pozitive ce deriv[ din aceasta.
#n ceea ce prive]te raportul dintre sistemul informatic ]i sistemul
informa\ional se poate aprecia c[ este un raport de la parte la @ntreg de la
2
subsistem la sistem. Utilizarea pe scar[ larg[ a mijloacelor de calcul ]i
teletrasmisie a condus la cre]terea sferei de cuprindere a sistemului
informatic, aceasta tinz`nd s[ o egaleze pe cea a sistemului informa\ional.
Practic @ns[, @n activit[\iile economice acest lucru nu va fi posibil niciodat[,
tot timpul @n cadrul sferei sistemului informa\ional exist`nd activit[\i ce nu
vor putea fi automatizate @n totalitate (completarea documentelor primare,
avizarea opera\iilor efectuate, preluarea pe supor\ii tehnici de date,
trasmiterea documentelor primare @ntre posturile de prelucrare etc.).
#ns[, dac[ accept[m ideea includerii @n sfera sistemului informatic
economic a activit[\ilor de conducere a proceselor tehnologice cu ajutorul
calculatoarelor de proces, putem asista la automatizarea complet[ a acestei
componente a procesului decizional ]i la reglarea automat[ a procesului
tehnologic. #ntr-o astfel de situa\ie sfera sistemului informatic dep[]e]te
sfera sistemului informa\ional. Aceast[ problem[ r[m`ne @ns[ deschis[
discu\iilor.
1.2. STRUCTURA SISTEMULUI INFORMATIC
Un sistem informatic este compus, @n principal, din urm[toarele
elemente :
1) baza tehnico-material[;
2) sistemul de programe;
3) baza ]tiin\ifico-metodologic[;
4) baza informa\ional[;
5) resursele umane ]i cadrul organizatoric.
1. Baza tehnico-material[ sau HARDWARE-ul sistemului informatic
este constituit[ din totalitatea mijloacelor de culegere, trasmitere, stocare ]i
prelucrare a datelor, @n care locul central @l ocup[, desigur, calculatorul
electronic.
Pentru realizarea unui sistem informatic este nevoie @ns[ ]i de:
echipamente de culegere date; echipamente de verificare; echipamente de
trasmitere; alte echipamente de teleprelucrare; supor\i tehnici de date.
2. Sistemul de programe sau SOFTWARE-ul cuprinde totalitatea
programelor pentru func\ionarea sistemului informatic @n concordan\[ cu
obiectivele ce i-au fost stabilite. Se au @n vedere at`t programele de baz[
(SOFTWARE-ul de baz[ : sistemul de operare + medii de programare +
3
programe utilitare) c`t ]i programele aplicative prin care sunt rezolvate
probleme concrete, particulare ale beneficiarului (SOFTWARE-ul aplicativ
sau utilizator).
3) Baza ]tiin\ifico-metodologic[ este alc[tuit[ din metodologiile de
realizare a sistemelor informatice ]i din modelele matematice ale
fenomenelor ]i proceselor economice.
4) Baza informa\ional[ cuprinde datele de prelucrat, sistemele ]i
nomenclatoarele de coduri, precum ]i fluxurile informa\ionale.
5) Resursele umane se refer[ la personalul de specialitate necesar
func\ion[rii sistemului informatic, respectiv anali]ti, programatori, ingineri
de sistem, operatori etc.
Cadrul organizatoric este cel specificat @n regulamentul de organizare
]i func\ionare a agentului economic @n care func\ioneaz[ sistemul
informatic.
Realizarea unor sisteme informatice viabile presupune ac\iuni
conjugate de asigurare a tuturor elementelor men\ionate, neglijarea chiar ]i
numai a unuia dintre acestea put`nd compromite sistemul !n ansamblu.
4
11..33.. CCLLAASSIFICAREA SISTEMELOR INFORMATICE
Sistemele informatice se pot clasifica dup[ mai multe criterii.
A) #n func\ie de domeniul de utilizare sistemele informatice se
clasific[ @n :
1) Sisteme informatice pentru conducerea activit[\ilor economico-
sociale. Specific acestor sisteme este faptul c[ datele de intrare sunt, de
regul[, consemnate pe documente justificative @ntocmite de om (]i uneori
cu mijloace tehnice), iar informa\iile sunt furnizate de c[tre sistem tot sub
form[ scris[ (liste, rapoarte etc) @n vederea perceperii lor de c[tre om.
2) Sisteme informatice pentru conducerea proceselor tehnologice. Se
caracterizear[ prin aceea c[ datele de intrare sunt asigurate prin intermediul
unor dispozitive automate care trasmit sub form[ de semnale (impulsuri)
valori ale diferi\ilor parametrii (presiune, temperatur[, umiditate etc.). #n
cele mai multe cazuri, informa\iile sunt trasmise tot sub form[ de semnale
unor organe de execu\ie regulatoare care modific[ automat parametrii
procesului tehnologic.
3) Sisteme informatice pentru activitatea de cercetare ]tiin\ific[ ]i
proiectare. Asigur[ automatizarea calculelor tehnico-inginere]ti,
proiectarea asistat[ de calculator ]i alte facilit[\i necesare speciali]tilor din
domenile respective.
4) Sisteme informatice speciale. Func\ioneaz[ @n domeniul inform[rii
]i document[rii tehnico-]tiin\ifice ]i economice, al prest[rii de servicii de
informare, pentru popula\ie, @n sectoarele speciale (poli\ie, armat[) etc.
B) Dup[ nivelul ierarhic ocupat de sistemul obiect (sistemul
economic pe care este grefat sistemul informatic), sistemele informatice
pot fi :
1) Sisteme informatice pentru conducerea activit[\ii la nivelul
organiza\iilor economice individuale. Acestea pot fi descompuse @n
subsisteme informatice asociate func\iilor specifice agentului economic
sau chiar unor activit[\i.
2) Sisteme informatice pentru conducerea activit[\ii la nivelul
organismelor economice cu structuri de grup. Reflect`nd ierarhizarea din
5
cadrul sistemului economic, structura unui sistem informatic de acest tip
rezult[ prin integrarea, dup[ principii sistemice, a subsistemelor
informatice aferente unit[\ilor componente, ie]irile acestora fiind preluate
de sistemul informatic al organului de conducere al @ntregii organiza\ii
complexe.
3) Sisteme informatice teritoriale. Sunt constituite la nivelul
unit[\ilor administrativ-teritoriale ]i servesc la fundamentarea deciziilor
adoptate de organele locale de conducere.
4) Sisteme informatice pentru conducerea ramurilor, subramurilor ]i
activit[\ilor la nivelul economiei na\ionale. Se constituie la nivelul
ramurilor, subramurilor ]i activit[\ilor individualizate @n virtutea diviziunii
sociale a muncii ]i specificate @n clasificarea ramurilor economiei na\ionale.
Sunt elaborate ]i administrate de ministere, departamente sau organe care
au prin lege sarcina de a conduce metodologic grupele respective de
activit[\i.
5) Sisteme informatice func\ionale generale. Au ca atribut principal
faptul c[ intersecteaz[ toate ramurile ]i activit[\ile ce au loc @n spa\iul
economiei na\ionale, furniz`nd informa\iile necesare coordon[rii de
ansamblu ]i sincroniz[rii lor @n cadrul ecnomiei de pia\[. #n aceast[
categorie includem, @n principal, sistemul financiar, sistemul bancar ]i
sistemul statistic.
C) Dup[ gradul de integrare a sistemului informatic @n procesul
decizional se identific[ urm[toarele tipuri de sisteme informatice:
1) Sisteme pentru prelucrarea datelor (Data Processing Systems -
DPS). Sunt sisteme tranzac\ionale, clasice, care au drept scop prelucrarea
datelor ]i punerea la dispozitie decidentului uman a informa\iilor @n vederea
fundament[rii decziilor.
2) Sisteme informatice pentru management (Management
Information Systems - MIS). Ca ]i DPS-urile prelucreaz[ date specifice
activit[\ii agentului economic ]i furnizeaz[ decidentului uman informa\ii,
dar acestea sunt grupate @n rapoarte diferite @n func\ie de tipul de decizie ce
urmeaz[ a fi luat[ pe baza lor ]i de decidentul c[ruia i se adreseaz[.
Aceasta deoarece cre]terea complexit[\ii activit[\ii economice ]i implicit
cre]terea volumului de informa\ii din care decidentul trebuia s[ le
selec\ioneze pe cele utile, a condus la imposibilitatea efectu[rii unei selec\ii
6
operative ]i @n acela]i timp eficiente. MIS-urile au adus nou structurarea
informa\iilor @n urma prelucr[rii tranzac\iilor pe grupe de obiective sau
activit[\i, ceea ce a determinat apari\ia unor colec\ii de informa\ii cu
destina\ie precis[ pentru un anumit obiectiv de rezolvat ]i \in`nd seama de
nivelul ierarhic la care se afl[ decidentul (respectiv dac[ este vorba de o
decizie strategic[, de una tactic[ sau de una operativ[). Pentru aceasta MIS-
urile utilizeaz[ pe scar[ larg[ modele matematice pentru simularea
proceselor economice ]i fundamentarea deciziilor.
3) Sisteme suport de decizii (Decision Systems Suport - DPS).
Aceste sisteme informatice includ modele matematice ]i lucreaz[ cu baze
de date sau cu baze de cuno]tin\e. #n urma prelucr[rii rezult[ variante de
decizii din care decidentul uman alege pe cele corespunz[toare, pe care
eventual le poate corecta \in`nd seama de o serie de al\i factori dec`t cei ce
pot fi transpu]i @ntr-un algoritm (psihologici, istorici, geografici, religio]i
etc.)
4) Sistemele expert (Expert Systems - ES). Constituie o clas[
particular[ de sisteme informatice care se bazeaz[ pe inteligen\a artificial[.
Ele au drept scop reproducerea cu ajutorul calculatorului a cuno]tin\elor ]i
ra\ionamentelor exper\ilor umani ]i pot hot[r` la un moment dat care este
cea mai bun[ variant[ de ac\iune @ntr-o situa\ie dat[.
Dup[ o perioad[ de studiu @n laborator ]i de folosire cu prec[dere @n
domeniile medical ]i tehnic, sistemele expert se utilizeaz[ din ce @n ce mai
mult @n activit[\ile economice: @n b[nci, @n institu\iile financiare, @n
conducerea produc\iei, @n marketing etc.
Ele marcheaz[ o evolu\ie care nu se rezum[ la simpla trecere de la
prelucrarea datelor la prelucrarea cuno]tin\elor, ci implic[ simultan o
participare din ce @n ce mai mare a instrumentului informatic @n procesul
decizional.
De remarcat c[ cele patru tipuri de sisteme informatice au ap[rut,
cronologic, @n ordinea precizat[ (DPS - anii 50, MIS - anii 60, DSS - anii
70, iar SE au @nceput s[ fie utilizate dup[ anii 80).
#n prezent ele pot func\iona independent sau sunt integrate @n sisteme
informatice complexe. O clas[ special[ de sisteme informatice @n care sunt
integrate din punct de vedere func\ional sistemele informatice anterior
prezentate o reprezint[ sistemele integrate pentru asistarea deciziilor
(SIAD).
7
I I . ELEMENTE DE BAZ{ ALE INTELIGEN|EI ARTIFICIALE
2.1. INTELIGEN|A ARTIFICIAL{ }I PRELUCRAREA AUTOMAT{ A DATELOR
Perioada actual[ se caracterizeaz[ prin dezvoltarea rapid[ a unei noi
ramuri a informaticii: informatica bazat[ pe inteligen\a artificial[.
Informatica clasic[ are la baz[ no\iunile de prelucrare algoritmic[,
care const[ @n descompunerea problemei @n pa]i elementari, aranjarea
acestora @ntr-o anumit[ ordine utiliz`nd structurile standard de control
(secven\ial[, alternativ[ ]i repetitiv[) ]i prelucrarea serial[, pas cu pas,
pentru ob\inerea rezultatului.
Acest mod de prelucrare este specific calculatoarelor von Neumann,
dar este mai pu\in specific creierului uman care execut[ @n principal
ra\ionamente ]i mai pu\in calcule ]i este orientat spre o prelucrare paralel[.
Tabelul 2.1 - Paralel[ @ntre creierul uman ]i calculator
Caracteristici Creierul uman Calculatorul
Nm[rul de neuroni sau de
circuite de baz[
2*1010 ?
Dimensiunea unui neuron
sau a unui circuit de baz[
0,5*10-7 cm3 10-4 cm3
Timpul de transfer al unui
semnal
10-3 secunde 10-9 secunde
Modul de func\ionare paralel secven\ial
#n informatica clasic[ se adapteaz[ modul natural de rezolvare a
problemelor de c[tre creierul uman la modul de lucru al calculatorului.
Altfel spus, se efectueaz[ apropierea omului de calculator prin
algoritmizare (formalizare). Aceasta se face cu eforturi umane foarte mari,
8
uneori cu posibilitatea de eroare ]i nu poate cuprinde toate domeniile de
activit[\i.
Informatica bazat[ pe inteligen\a artificial[ @ncearc[ o adaptare a
calculatorului ]i a instrumentelor informatice la modul de lucru al
creierului uman, un mod nealgoritmic, bazat pe ra\ionament. Altfel spus, se
realizeaz[ apropierea calculatorului de om.
Dac[ @n informatica clasic[ materia prim[ o constituie datele, @n
prelucrarea inteligent[ elementele fundamentale sunt cuno]tin\ele,
reprezent`nd corela\ii logice ]i semantice dintre fapte prin intermediul
regulilor de ra\ionament.
Prelucrarea algoritmic[ este str`ns legat[ de no\iunea de procedur[,
ca expresie a algoritmului, @n timp ce prelucrarea inteligent[ are caracter
declarativ, deoarece modul de achi\ionare, introducere ]i organizare a
cuno]tin\elor nu influen\eaz[ ra\ionamentul ci cel mult concluziile. #n felul
acesta a ap[rut o nou[ no\iune, prelucrarea simbolic[, @n care dispare
distinc\ia dintre date ]i programe.
Sintetic, tabloul comparativ dintre programele din informatica
clasic[ ]i programele de inteligen\[ artificial[ este cel din tabelul 2.2.
#n sistemele informa\ionale economice inteligen\a artificial[ este @n
leg[tur[ cu rezolvarea problemelor de luare a deciziilor. Programele de
inteligen\[ artificial[ opereaz[ asupra conceptelor, faptelor ]i situa\iilor,
oferind r[spunsuri @n mod asem[n[tor cu solu\ionarea uman[ a
problemelor.
Caracteristica de baz[ a inteligen\ei artificiale este c[utarea
euristic[. #n problemele complexe, num[rul solu\iilor posibile poate fi
enorm, de aceea rezolvarea problemelor pe baza tehnologiei inteligen\ei
artificiale este @n mod obi]niut orientat[ dup[ reguli empirice, referitoare la
euristici (intui\ie, experien\[, generalizare), folosindu-se intens cuno]tin\ele
@n domeniu. Inteligen\a programelor este puternic dependent[ de cantitatea
cuno]tin\elor disponibile @n baza de cuno]tin\e ]i structurile de control ale
cunoa]terii introduse @n motorul de inferen\e.
9
Tabelul 2.2 - Deosebiri @ntre programele din informatica clasic[ ]i
cele de inteligen\[ artificial[
Programele din informatica clasic[ Programele de inteligen\[
artificial[
1. Au ca obiectiv ob\inerea
informa\iilor prin prelucrarea
datelor.
1. Au ca obiectiv rezolvarea unei
probleme prin prelucrarea
cuno]tin\elor.
2. Execut[ @ndeosebi prelucrarea
numeric[ a datelor din fi]iere ]i baze
de date, folosind limbaje
procedurale.
2. Execut[ prelucrarea simbolic[
a cuno]tin\elor, folosind limbaje
simbolice.
3. Solu\ia este ob\inut[ prin opera\ii
explicite, codificate @n limbaje
procedurale prin algoritmi.
3. Solu\ia este ob\inut[ prin
inferen\[ logic[ (c[utare
euristic[).
4. Structura de control ]i datele sunt
@nregistrate @n ceea ce se nume]te
procedur[.
4. Structura de control este
separat[ de cuno]tin\e ]i este
introdus[ @n motorul de inferen\e.
5. Se actualizeaz[ mai greu, cu
instrumente specifice fiec[rui limbaj
de programare.
5. Sunt u]or de actualizat prin
dialog @n limbaj apropiat de cel
natural.
6. Cer, @n dialogul om-calculator,
numai r[spunsuri exacte.
6. Tolereaz[ ]i r[spunsuri
aproximative.
7. De la ele se cer numai solu\ii
perfecte.
7. Produc ]i solu\ii uzual
acceptabile.
Cuno]tin\ele trebuie s[ fie disponibile pentru utilizare atunci c`nd
sunt necesare, @n timpul c[ut[rii. Pe aceast[ cale, schimb[ri @n cunoa]tere
impun numai schimb[ri @n baza de cuno]tin\e.
Prin contrast, datele de prelucrat ]i structurile de control @n
programele algoritmice conven\ionale sunt integrate. Ca urmare aceste
programe sunt mai dificil de modificat, pentru c[, de cele mai multe ori,
schimb[rile @ntr-o parte a programului implic[ schimb[ri ]i @n celelalte,
chiar dac[ sunt concepute modular.
10
2.2. INTELIGEN|A ARTIFICIAL{: ISTORIC, CONCEPT, DOMENIU
Antecedentele inteligen\ei artificiale trebuie c[utate la vechii greci,
dar ideea form[rii unei discipline de cercetare a inteligen\ei umane ]i a
ra\ion[rii formale a condus diverse grupuri din S.U.A. ]i Europa dup[ cel
de al doilea r[zboi mondial.
Inteligen\a artificial[ @]i are originea @n dezvolt[rile produse @n mai
multe ]tiin\e de grani\[, toate aceste dezvolt[ri fiind @n leg[tur[ cu
dezvoltarea rela\iilor dintre om ]i tehnic[ dintre om ]i ma]in[. Dintre aceste
]tiin\e amintim: informatica, teoria sistemelor, cibernetica, logica
matematic[, lingvistica matematic[, teoria cunoa]terii, psihologia,
fiziologia creierului, teoria deciziei, teoria informa\iei, teoria automatelor
etc.
Prima abordare privind inteligen\a ma]inilor este datorat[ lui Alan
Turing, care a elaborat @n 1947 un raport @n aceast[ privin\[, raport publicat
@n 1948. #n 1950, prin lucr[rile lui Shannon ]i Turing se fac unele @ncerc[ri
referitoare la programarea ma]inilor de calcul pentru jocul de ]ah ]i se emit
idei referitoare la ma]inile inteligente, fapte ce au condus la apari\ia unui
nou domeniu de studiu: inteligen\a artificial[. #n acest sens se remarc[
lucr[rile laboratoarelor de inteligen\[ artificial[ de la Massachussets
Technollogy Institute (S.U.A.) ]i Edinburgh (Sco\ia).
#n anul 1956, un mic grup de oameni de ]tiin\[ au hot[r`t organizarea
la Darmouth College, S.U.A., a unei conferin\e, unde s[ se fac[ publice
unele rezultate @n domeniul inteligen\ei artificiale. De fapt, cu acest prilej
John McCarty a introdus termenul de inteligen\[ artificial[.
Inteligen\a este definit[, @n general, ca fiind facultatea de a @n\elege
u]or, de a sesiza esen\ialul, de a rezolva situa\ii sau probleme noi1.
Inteligen\a natutral[ este deci facultatea de a @n\elege, de a capta
cuno]tin\e, puterea de a face fa\[ cu succes orc[rei situa\ii, mai ales celor
neobi]nuite ]i celor neprev[zute. Ea se caracterizeaz[ ]i prin capacitatea de
a reac\iona cu vitez[ suficient[ pentru a corecta procesele anterioare c`t ]i
1 Vasile Breban - Dic\ionar general al limbii rom`ne, Editura Enciclopedic[,
Bucure]ti, 1982
11
propiul comportament ]i prin u]urin\a de a @n\elege sau de a descoperi
corela\ia dintre obiecte concrete sau abstracte, de a opera cu abstrac\iuni @n
vederea dirij[rii ac\iunilor c[tre scopul dorit.
Dac[ avem @n vedere c[, dup[ unele estim[ri, creierul uman are o
structur[ alc[tuit[ din 2*1010 neuroni ]i socotind c[ fiecare neuron ar putea
stabili p`n[ la 600.000 de conexiuni nervoase rezult[ c[ num[rul total de
conexiuni ar fi de 102.783.000.
Actualele re\ele artificiale sunt de dimensiuni ne`nsemnate, iar
func\ionalitatea acestora nu este suficient de bine definit[ ]i datorit[
faptului c[ neurofiziologia nu a explicat modul @n care opereaz[ neuronii ]i
contextele neuronale interconectate. Simpla constatare a uria]ei puteri
combinatorie a neuronilor din creierul uman nu ajut[ la descoperirea
mecanismului g`ndirii. Ceea ce conteaz[ a fi cunoscut este nu construc\ia
fizic[ a creierului, ci logica opera\iilor pe care le execut[. De aceea,
reproducerea cu ajutorul ma]inilor a unor tr[s[turi specifice inteligen\ei
umane este posibil[ numai pentru cele suficient de bine cunoscute ]i
st[p`nite.
Inteligen\a artificial[, numit[ uneori ]i inteligen\a ma]inii sau
programarea euristic[, reprezint[ o ]tiin\[, dar ]i o tehnologie de v`rf care a
atras un num[r mare de cercet[tori, determin`nd realiz[ri de prestigiu ]i
multe aplica\ii @n cele mai diferite domenii.
O simpl[ trecere @n revist[ a acestor domenii ne relev[ c[ inteligen\a
artificial[ este @n leg[tur[ cu elaborarea de programe care s[ rezolve
probleme din orice domeniu la nivelul expertului uman ]i s[ comunice
rezultatele @n limbaj natural.
Cercet[rile @n domeniul inteligen\ei artificiale sunt axate pe
abordarea cu ajutorul calculatoarelor electronice a comportamentului
inteligent al ma]inilor de orice tip. Se au @n vedere dou[ obiective
principale:
- @n\elegerea comportamentului inteligent;
- producerea de ma]ini inteligente, mai utile societ[\ii dec`t cele
ale prezentului.
#n literatura de specialitate nu exist[ @n momentul acesta o defini\ie
unanim acceptat[ at`t pentru inteligen\a artificial[ c`t ]i pentru inteligen\a
uman[.
12
#n accep\iunea mai multor autori, inteligen\a artificial[ const[ @n
ansamblul disciplinelor informatice care tind s[ realizeze pe calculator un
comportament de imitare a inteligen\ei naturale.
Calculatoarele actuale sunt, @n cea mai mare parte a lor, calculatoare
seriale ce nu corespund cerin\elor inteligen\ei artificiale care necesit[
paralelism de nivel @nalt.
Autorii americani A. Barr ]i E. Feigenbaum arat[ c[ inteligen\a
artificial[ este cel mai interesant ]i controversat subdomeniu al ]tiin\ei
calculatoarelor ]i studiaz[ posibilit[\ile de dotare a sistemelor de calcul cu
componente (programe ]i echipamente) care s[ presteze activit[\i @n
manier[ inteligent[ av`nd propriet[\i pe care, @n mod obi]nuit, le asociem
comportamentului uman cum ar fi: @n\elegerea limbajului natural, @nv[\area
]i ra\ionamentul @n rezolvarea problemelor.
P. Winston precizeaz[ c[ inteligen\a artificial[ este studiul ideilor
care permit calculatorelor s[ efectueze acele lucruri care fac pe oameni s[
fie mai inteligen\i. Tot acest autor arat[ c[ obiectivele principale ale
inteligen\ei artificiale sunt acelea de a face mai utile calculatoarele ]i de a
@n\elege principiile care fac posibil[ inteligen\a1.
#n prezent inteligen\a artificial[ are mai multe domenii de
preocupare, dintre care enumer[m:
1.PRELUCRAREA LIMBAJULUI NATURAL }I MODELAREA
CONCEPTUAL{
Unul dintre primele obiective ale inteligen\ei artificiale a fost crearea de
programe capabile s[ @n\eleag[ limbajul natural. De la @nceput facem
observa\ia c[ procesul de "@n\elegere" a limbajului natural este cu mult mai
complicat dec@t simpla analiz[ sintactic[ ]i semantic[ a unor secven\e de
simboluri. O abordare corect[ depinde de utilizarea extensiv[ a cunoa]terii @n
domeniul discursului ]i a idiomurilor din domeniul respectiv, c`t ]i de
abilitatea de a aplica cunoa]terea contextual[ general[ la rezolvarea
omisiunilor ]i ambiguit[\ilor caracteristice vorbirii umane. Datorit[
cantit[\ilor uria]e de cunoa]tere necesare @n\elegerii limbajului natural,
majoritatea realiz[rilor au fost ob\inute @n domenii problem[ restr`nse ]i bine
fundamentate.
1 preluat din Ioan Andone - Inteligen\a artificial[ ]i sistemele expert @n
contabilitate, Editura Moldova, Ia]i, 1993, pg 30
13
Una dintre problemele majore ale automatiz[rii procesului de @n\elegere
a limbajului natural o reprezint[ colectarea ]i organizarea cunoa]terii astfel
@nc`t aceasta s[ poat[ fi folosit[ la analiza limbajului. Pentru aceasta s-au
dezvoltat diverse tehnici de codificare ]i structurare semantic[. Principala
problem[ este punerea la punct a unor formalisme de reprezentare suficient de
generale pentru a fi utilizate @ntr-o gam[ c`t mai larg[ de aplica\ii, sau pentru
a fi u]or de adaptat structurilor specifice diverselor domenii. Majoritatea sunt
extensii sau modific[ri ale formalismului re\elelor semantice.
Unul dintre primele programe pentru @n\elegerea limbajului natural este
SHRDLU conceput de Winograd @n 1973. Acest program este capabil s[
poarte o conversa\ie cu utilizatorul pe tema configura\iilor posibile ale unui
microunivers de cuburi colorate de diferite forme.
Dintre principalele aplica\ii ale prelucr[rii limbajului natural
men\ion[m:
traducerea automat[ @ntre diverse limbaje;
construirea unor editoare inteligente de texte;
interogarea bazelor de date @n limbaj natural;
generarea automat[ de documente;
extragerea automat[ de informatii din texte - rezumare automat[;
generarea de explica\ii @n limbaj natural.
2.SISTEME EXPERT
Cercet[rile de inteligen\[ artificial[ din ultimii ani demonstreaz[ un
interes cresc`nd pentru domeniul sistemelor bazate pe cuno]tin\e. #n general,
prin sistem bazat pe cuno]tin\e se @n\elege un sistem de calcul care folose]te
reprezent[ri simbolice ale cuno]tin\elor umane, @ntr-o manier[ ]i la un nivel
asem[n[toare ra\ionamentului uman. Domeniul inteligen\ei artificiale care se
ocup[ cu construirea sistemelor bazate pe cuno]tin\e se nume]te ingineria
cuno]tin\elor. O clas[ aparte a acestor sisteme ]i anume sistemele expert,
dovedesc la ora actual[ un interes nu numai pur ]tiin\ific, dar ]i comercial.
Sistemele expert sunt sisteme capabile de a rezolva probleme dintr-un
domeniu restr`ns de expertiz[ sau pentru a da sfaturi @ntr-o manier[ ]i la un
nivel comparabile cu ale exper\ilor din domeniul respectiv. Ele sunt sisteme
bazate pe cuno]tin\e deoarece, de]i domeniul de expertiz[ poate fi foarte
14
restr`ns, pentru a atinge performan\e comparabile cu ale exper\ilor umani,
necesit[ stocarea unui volum foarte mare de cunoa]tere.
Unul dintre primele sisteme expert este DENDRAL, construit la
Stanford la sf`r]itul anilor 60. DENDRAL a fost proiectat pentru deducerea
structurii interne a moleculelor organice pe baza formulei canonice ]i a
informa\iei ob\inute din spectrograma de mas[ referitoare la leg[turile
chimice prezente @n molecul[. Un alt sistem expert dezvoltat la Stanford la
mijlocul anilor 70 este MYCIN. Acest sistem utilizeaz[ cunoa]terea expert[
din domeniul medical pentru diagnosticarea ]i prescrierea de terapii ale
infec\iilor bacteriene din s@nge. MYCIN este unul dintre primele programe
care efectueaz[ ra\ionamente @n prezen\a unor informa\ii incerte ]i/sau
incomplete. #n plus numeroase dintre tehnicile folosite la ora actual[ pentru
dezvoltarea sistemelor expert, cum sunt spre exemplu regulile de produc\ie ]i
inferen\a prin @nl[n\uire @napoi, sunt mo]tenite din MYCIN.
#n ciuda a]tept[rilor ini\iale ar fi o gre]eal[ s[ se supraaprecieze
abilitatea tehnologiei sistemelor expert @n rezolvarea problemelor. Dintre
deficien\ele cel mai des reclamate ale acestei tehnologii men\ion[m:
dificultatea captur[rii cunoa]terii de profunzime din domeniul problemei,
inabilitatea oferirii unor explica\ii adecvate pentru solu\iile propuse ]i lipsa de
flexibilitate @n rezolvarea unor probleme diverse. Cu toate aceste limit[ri,
sistemele expert s-au dovedit utile @n numeroase aplica\ii din domenii ca:
diagnosticare, proiectare, planificare, monitorizare, predic\ie, interpretare,
depanare, control, etc.
3.PLANIFICARE AUTOMAT{
Problema planific[rii automate presupune existen\a unui robot capabil
s[ efectueze o serie de ac\iuni primitive ]i const[ @n g[sirea unei secven\e de
astfel de ac\iuni prin care robotul poate @ndeplini un anumit obiectiv de nivel
@nalt, precizat anterior. Aparent, rezolvarea unei astfel de probleme nu cere
prea mult[ inteligen\[, mai ales dac[ ne g@ndim c[, spre exemplu, un copil mic
nu pare s[ aib[ probleme cu mi]carea (navigarea) @n mediul @nconjur[tor ]i cu
manipularea a diverse obiecte ca: juc[rii, unelte de m`ncat, comutatoare de
lumin[, etc. Totu]i, atunci c@nd astfel de activit[\i realizate aproape incon]tient
de om trebuie realizate de o ma]in[, este necesar s[ se apeleze la tehnici
similare cu cele necesare pentru rezolvarea unor probleme mult mai
complicate. Una dintre sursele de dificultate este existen\a unui num[r foarte
15
mare de secven\e de mi]c[ri posibile. Scrierea unui program care s[ descopere
@ntr-un timp rezonabil o secven\[ c`t mai bun[ de mi]c[ri din num[rul uria]
de posibilit[\i necesit[ printre altele reprezentarea cunoa]terii despre spa\iul
de manevr[ al robotului ]i controlul adecvat al procesului de c[utare.
Deseori robotul trebuie s[-]i formuleze planul de ac\iune pe baza unor
informa\ii incomplete ]i ulterior s[ fie capabil s[-]i revizuiasc[ planul pe
m[sura execut[rii sale. Aceasta se poate datora spre exemplu faptului c[
robotul nu dispune de senzori adecva\i pentru localizarea tuturor obstacolelor
din calea sa. O situa\ie similar[ apare atunci c@nd robotul @]i desf[]oar[
activitatea @ntr-un mediu ambiant supus schimb[rii, el trebuind s[ fie capabil
s[-]i revizuiasc[ planul drept r[spuns la schimb[rile din mediu.
Unul dintre primele de sisteme de planificare automat[ este sistemul
STRIPS (Stanford Research Institute Planning System), care a fost dezvoltat
la Institutul de Cercet[ri din Stanford la @nceputul anilor 70.
Cercet[rile de robotic[ au ajutat la dezvoltarea a numeroase tehnici de
inteligen\[ artificial[, cum ar fi spre exemplu modelarea lumii prin st[ri ]i a
proceselor de schimbare prin tranzi\ii de stare.
4.DEMONSTRAREA AUTOMAT{ A TEOREMELOR
Principalul punct de atrac\ie al demonstr[rii automate a teoremelor st[
@n rigoarea ]i generalitatea logicii matematice ]i este rezultatul urm[toarelor
dou[ elemente:
procesele de deduc\ie din logica matematic[ pot fi formalizate prin
tratarea diverselor sisteme logice ca sisteme formale;
numeroase probleme pot fi reprezentate @ntr-un sistem logic "bine
ales", iar instan\a problemei ce trebuie rezolvat[ poate fi formulat[ ca teorem[
@n sistemul logic respectiv.
Astfel c[ logica, prin mecanismele sale de reprezentare ]i deduc\ie,
reprezint[ o unealt[ deosebit de util[ @n rezolvarea problemelor din inteligen\a
artificial[.
Principala problem[ a demonstr[rii automate a teoremelor este c[ f[r[
utilizarea unor tehnici speciale de tipul regulilor euristice un demonstrator de
teoreme poate produce un num[r foarte mare de rezultate intermediare @nainte
de ob\inerea rezultatului corect, rezultate ce ulterior se pot dovedi redundante
sau nerelevante pentru rezolvarea problemei.
16
Unul dintre primele programe de demonstrare a teoremelor este
programul Logic Theorist al lui Newell ]i Simon din 1963, program ce poate
rezolva c@teva dintre teoremele formulate @n primul capitol al c[r\ii Principia
Mathematica a lui Whitehead ]i Russel.
Sistemul logic cel mai folosit @n inteligen\a artificial[ este sistemul
logicii predicatelor cunoscut ]i sub numele de sistemul logicii de ordinul
@nt`i. Majoritatea celorlalte sisteme logice sunt variante sau extensii ale sale.
Foarte atractiv din punct de vedere al calculabilit[\ii este un subset al logicii
de ordinul @nt`i numit forma clauzal[ a logicii.
#n 1965 J.A.Robinson a avut uimitoarea intui\ie de a eviden\ia
importan\a a dou[ elemente @n demonstrarea automat[ a teoremelor:
regula de inferen\[ cunoscut[ sub numele de regula rezolu\iei;
opera\ia de testare a egalit[\ii structurale a arborilor, numit[
unificare.
Cercet[rile lui Robinson @mpreun[ cu forma clauzal[ a logicii au dat
na]tere unei noi paradigme de programare numit[ programarea logic[ ]i
reprezentat[ de limbajul de programare Prolog. Astfel c[ limbajul Prolog
poate fi considerat drept o implementare de succes a ideilor demonstr[rii
automate a teoremelor.
Dintre domeniile de aplicabilitate ale demonstr[rii automate a
teoremelor amintim:
proiectarea ]i verificarea circuitelor logice;
verificarea automat[ a corectitudinii programelor;
generarea automat[ a programelor din specifica\ii formale;
verificarea ]i controlul sistemelor complexe.
5.PROBLEME DE PERCEP|IE
Obiectivul unui proces de percep\ie este transformarea unei cantit[\i
mari ]i neorganizat[ de date de intrare numerice numit[ scen[ @ntr-o
reprezentare condensat[, structurat[ ]i cu un pronun\at caracter simbolic.
Aceast[ transformare se nume]te @n\elegere iar rezultatul s[u poate fi folosit
@n procese de analiz[, interpretare, sintez[ de ac\iuni, etc. Rezult[ c[ un proces
de percep\ie poate fi imaginat drept o implementare a sim\urilor ma]inii - v[z,
auz, pip[it, prin intermediul c[rora ma]ina @n\elege contextul @n care se afl[ ]i
ac\ioneaz[ @n consecin\[.
17
Spre exemplu, o scen[ vizual[ este citit[ prin intermediul unor senzori
(camer[ de luat vederi) ]i codificat[ sub forma unei matrici de valori de
intensit[\i luminoase. Aceast[ scen[ este prelucrat[ @n vederea detect[rii unor
elemente primitive de imagine de tipul: segmente, curbe simple, col\uri, etc.
Un al doilea nivel de prelucrare poate pune @n eviden\[ informa\ii referitoare
la caracterul tridimensional al scenei @n termeni de suprafe\e ]i forme. O
ultim[ prelucrare poate duce la reprezentarea scenei printr-o descriere
sintetic[, de nivel @nalt, de tipul: "Un cer cu nori ]i un deal cu un copac @n
v`rf". Trebuie s[ facem observa\ia c[ natura ]i calitatea reprezent[rii finale
depind de obiectivele sistemului de percep\ie.
Dezvoltarea @n\elegerii este caracterizat[ de acelea]i dificult[\i
specifice ]i celorlalte subdomenii ale inteligen\ei artificiale. Astfel, se
apreciaz[ c[ fiin\ele inteligente @n\eleg ceea ce v[d prin integrarea imaginilor
optice achizi\ionate cu o complex[ cunoa]tere aprioric[ dezvoltat[ de-a lungul
timpului prin experiment[ri de percep\ie vizual[ a obiectelor din mediul
@nconjur[tor. Spre deosebire de vederea artificial[, @n care scena perceput[
const[ @n principiu din valori reprezent`nd intensit[\i luminoase, @n
recunoa]terea vorbirii ea const[ din valori reprezent`nd intensit[\i acustice,
problema principal[ r[m`n`nd @ns[ aceea]i ]i anume integrarea scenei cu o
complex[ cunoa]tere aprioric[ dezvoltat[ @n timp.
6.ACHIZI|IE DE CUNO}TIN|E }I #NV{|ARE AUTOMAT{
Procesul de colectare, structurare, transfer ]i transformare a expertizei
@n rezolvarea de probleme, sau @n general al cunoa]terii dintr-un anumit
domeniu, de la una sau mai multe surse de cuno]tin\e la un program se
nume]te achizi\ie de cuno]tin\e. Persoana ce realizeaz[ aceast[ activitate se
nume]te inginer de cuno]tin\e. #n particular, dac[ cuno]tin\ele sunt ob\inute
prin intervievarea unor exper\i umani, procesul se nume]te extragerea
cuno]tin\elor. Facem observa\ia c[ nu @ntotdeauna sursele de cuno]tin\e sunt
exper\i umani. Ele pot fi spre exemplu articole ]tiin\ifice, tratate de
specialitate sau baze de date.
Ini\ial achizi\ia de cuno]tin\e se realiza manual, exclusiv prin activitatea
desf[]urat[ de inginerul de cuno]tin\e. Relativa ineficien\[ a procesului de
achizi\ie manual[ a cuno]tin\elor (aceast[ activitate decurgea extrem de greoi
]i cu un mare consum de resurse - timp ]i efort) a determinat numero]i
cercet[tori s[ @ncerce automatizarea sa. A ap[rut astfel o nou[ direc\ie de
18
cercetare @n inteligen\a artificial[, cunoscut[ sub numele de extragerea
automat[ a cuno]tin\elor, care se preocup[ de elaborarea unor metode prin
care cunoa]terea exper\ilor umani este transferat[ automat c[tre un program
prin efectul lateral produs de interac\iunea dintre om ]i calculator.
Al\i cercet[tori au @ncercat s[ utilizeze tehnici de @nv[\are automat[
pentru solu\ionarea problemei achizi\iei cuno]tin\elor. Facem observa\ia c[
@nv[\area automat[ este un subdomeniu bine conturat al inteligen\ei
artificiale, distinct de achizi\ia cuno]tin\elor. Dup[ Herbert Simon, prin
@nv[\are se @n\elege orice schimbare @ntr-un sistem care permite sistemului
@mbun[t[\irea competen\ei ]i performan\ei @n rezolvarea ulterioar[ a aceleia]i
probleme sau a unei probleme @nrudite. Prin competen\[ se @n\elege
capacitatea unui sistem inteligent de a generaliza cu mai pu\ine gre]eli, iar
performan\a se refer[ la @mbun[t[\irea eficien\ei @n func\ionare a sistemului.
7.REZOLVAREA PROBLEMELOR DIFICILE
Numeroase probleme se refer[ la determinarea unei solu\ii optime @n
raport cu un anumit criteriu dintr-o multitudine de solu\ii posibile. #n astfel de
cazuri solu\ia @mbrac[ deseori forma unei planific[ri optimale sau a unei
mul\imi optimale de elemente. Un exemplu tipic @l reprezint[ problema
comis-voiajorului care presupune determinarea unui drum de lungime minim[
ce pleac[ dintr-un ora] ini\ial, viziteaz[ fiecare ora[ o singur[ dat[ ]i revine
apoi @n ora]ul ini\ial.
#n majoritatea problemelor de acest tip domeniul solu\iilor posibile este
foarte mare, astfel @nc@t @ncercarea de rezolvare prin generarea tuturor
solu\iilor posibile ar produce o explozie combinatoarial[ ce epuizeaz[
resursele de calcul (timp ]i memorie) ale celor mai performante calculatoare.
O mare parte din aceste probleme sunt membre ale unei clase
cunoscut[ @n teoria calculabilit[\ii sub numele de clasa problemelor NP-
complete. Timpul necesar celor mai bune metode cunoscute p@n[ la ora
actual[ de rezolvare a problemelor NP-complete cre]te exponen\ial @n raport
cu dimensiunea problemei. Nu se ]tie @nc[ dac[ exist[ metode mai rapide, dar
se ]tie c[ dac[ o astfel de metod[ exist[ pentru o singur[ problem[ NP-
complet[, ea poate fi convertit[ @ntr-o metod[ la fel de rapid[ pentru
rezolvarea oric[rei probleme NP-complete.
Cercet[torii de inteligen\[ artificial[ au fost preocupa\i de punerea la
punct a unor metode de rezolvare a problemelor dificile astfel @nc`t curba timp
19
- dimensiune problem[ s[ creasc[ c`t mai @ncet, chiar ]i atunci c`nd ea cre]te
exponen\ial. Astfel s-au imaginat diverse metode de @nt`rziere sau de
moderare a inevitabilei explozii combinatoriale. Folosirea cunoa]terii din
domeniul problemei s-a dovedit ]i de aceast[ dat[ a fi cheia ob\inerii unor
metode eficiente de rezolvare.
Se apreciaz[ c[ a fi computa\ional dificil[ este o caracteristic[ comun[
a tuturor problemelor de inteligen\[ artificial[. Unii cercet[tori, spre exemplu
Rich, consider[ c[ inteligen\a artificial[ nu este altceva dec`t @ncercarea de
rezolvare a problemelor NP-complete @n timp polinomial.
8.INTELIGEN|A ARTIFICIAL{ LA NIVEL SUBSIMBOLIC
#n inteligen\a artificial[ exist[ dou[ abord[ri fundamental diferite.
Prima dintre ele are la baz[ ipoteza sistemelor fizice de simboluri ]i este
cunoscut[ @n literatur[ drept inteligen\a artificial[ la nivel simbolic. Ea este
dominant[ din punct de vedere istoric ]i se caracterizeaz[ printr-un grad @nalt
de abstractizare, o imagine macroscopic[ a lumii, c`t ]i prin folosirea unor
tehnici de reprezentare ]i prelucrare cu un pronun\at caracter simbolic.
Men\ion[m c[ la tehnici similare apeleaz[ ]i psihologia clasic[.
Reprezentative pentru aceast[ abordare sunt ingineria cuno]tin\elor ]i
programarea logic[.
Cea de a doua abordare utilizeaz[ modele biologice microscopice
similare cu cele @nt`lnite @n fiziologie ]i genetic[. Facem observa\ia c[ aceste
modele nu reprezint[ @n mod necesar reconstruc\ii ale modelelor biologice
@nrudite. Reprezentative pentru aceast[ abordare sunt re\elele neuronale ]i
algoritmii genetici. Aceast[ abordare @n inteligen\a artificial[ este cunoscut[ @n
literatur[ sub numele de inteligen\a artificial[ la nivel subsimbolic.
Re\elele neuronale se bazeaz[ pe un model al creierului biologic care
const[ dintr-un num[r foarte mare de neuroni interconecta\i @ntre ei. De]i un
neuron este o entitate biologic[ simpl[ care considerat[ separat nu este
capabil[ s[ realizeze mare lucru, se apreciaz[ c[ puterea unui creier este
rezultatul num[rului uria], de ordinul bilioanelor sau trilioanelor de
interconexiuni, @ntre neuronii componen\i. O re\ea neuronal[ este un model de
calcul ce const[ dintr-un num[r foarte mare de unit[\i simple de prelucrare,
numite neuroni artificiali, interconectate @ntre ele potrivit unui ]ablon de
conexiuni. O re\ea neuronal[ trebuie @nt`i s[ @nve\e dintr-o mul\ime de
exemple, pentru ca apoi s[ foloseasc[ cunoa]terea dob@ndit[ la rezolvarea
20
unor probleme de predic\ie, clasificare, control, etc. Problema @nv[\[rii unei
re\ele neuronale este @n principiu problema g[sirii intensit[\ilor conexiunilor
@ntre elementele de prelucrare care permit re\elei s[ efectueze prelucrarea
dorit[. Men\ion[m c[ procesul de @nv[\are poate fi @n anumite aplica\ii
practice extrem de dificil. Un argument @n favoarea modelului re\elelor
neuronale fa\[ de modelul simbolic este faptul c[ oamenii rezolv[ mai u]or ]i
mai repede o problem[ pe m[sur[ ce @]i @mbog[\esc orizontul cunoa]terii.
Spre deosebire de ei, extinderea bazei de cuno]tin\e a unui sistem inteligent
tradi\ional poate duce la sc[derea performan\elor sale prin cre[terea timpului
necesar opera\iilor de c[utare. O arhitectur[ masiv paralel[ de tip re\ea
neuronal[ nu pare @ns[ a fi afectat[ de acest neajuns.
Algoritmii genetici, cunoscu\i ]i drept algoritmi evolu\ioni]ti,
reprezint[ modele de calcul inspirate de genetic[ ]i evolu\ionism. Ideea lor de
baz[ este utilizarea unor metode de c[utare progresiv[ a unor solu\ii din ce @n
ce mai bune @ntr-o manier[ similar[ mecanismului selec\iei naturale din
genetic[ prin care o specie evolueaz[ astfel @nc@t s[ se adapteze mai bine la
mediul @nconjur[tor. Un algoritm genetic efectueaz[ trei prelucr[ri
fundamentale, ]i anume: selec\ie, @ncruci]are ]i muta\ie. Selec\ia este opera\ia
prin care se prefer[ indivizii mai buni @n raport cu cei mai slabi. #ncruci]area
este procesul prin care se genereaz[ un nou individ prin combinarea a doi
indivizi existen\i. Muta\ia este procesul de schimbare @nt`mpl[toare a unui
anumit individ, produc`ndu-se un individ nou.
Datorit[ faptului c[ modelele subsimbolice consider[ inteligen\a drept
rezultat al interac\iunii comportamentului unui num[r mare de unit[\i simple
de prelucrare, ele sunt cunoscute @n literatur[ ]i sub numele de modele
conexioniste sau echivalent modele de prelucrare paralel distribuit[.
O problem[ important[ la ora actual[ @n inteligen\a artificial[ este
integrarea nivelurilor simbolic ]i subsimbolic. Acest lucru a dat na]tere la
ceea ce se numesc sistemele hibride de inteligen\[ artificial[.
9.LIMBAJE }I MEDII DE PROGRAMARE
Unul dintre produsele cele mai importante ale cercet[rilor de inteligen\[
artificial[ @l reprezint[ evolu\ia ascendent[ a limbajelor de programare ]i a
mediilor de dezvoltare a produselor software. Acestea includ:
limbaje evoluate de programare, cum sunt spre exemplu
limbajele Lisp ]i Prolog;
21
nuclee de sisteme expert, care furnizeaz[ programatorului un
formalism de reprezentare a cuno]tin\elor ]i un motor de inferen\[;
sisteme cadru pentru construirea sistemelor bazate pe
cuno]tin\e, ce reprezint[ medii speciale orientate spre dezvoltarea sistemelor
bazate pe cuno]tin\e, furniz@nd @n acest sens unul sau mai multe limbaje
evoluate de programare ]i/sau formalisme de reprezentare a cuno]tin\elor.
Cercet[rile de inteligen\[ artificial[ au contribuit de asemenea la
cre]terea num[rului de paradigme de programare ce au devenit ulterior unelte
utile @n special pentru ingineria program[rii ]i au o leg[tur[ mai mic[ cu ideile
ini\iale specifice inteligen\ei artificiale. Prin paradigm[ de programare se
@n\elege un cadru conceptual care ne dirijeaz[ @n procesul de proiectare a unui
program ]i @n final determin[ structura acestuia. Acest cadru conceptual
con\ine o mul\ime de ]abloane conceptuale care controleaz[ modul @n care
g`ndim ]i formul[m solu\iile unei probleme. Odat[ imaginat[ solu\ia unei
probleme @n termenii ]abloanelor conceptuale specifice paradigmei, ea trebuie
exprimat[ @ntr-un limbaj de programare. #n acest scop facilit[\ile oferite de
limbaj trebuie s[ reflecte @n mod adecvat ]abloanele conceptuale ale
paradigmei. Dac[ un limbaj de programare satisface aceast[ condi\ie se spune
c[ el suport[ paradigma respectiv[.
Facem observa\ia c[ @n practic[ deseori un limbaj de programare care
suport[ bine o paradigm[ se confund[ cu paradigma. Un exemplu tipic @l
reprezint[ limbajul C++ care se confund[ cu programarea orientat[ pe obiect.
Paradigmele program[rii de nivel @nalt se @mpart @n dou[ mari categorii:
paradigme opera\ionale sau procedurale ]i defini\ionale sau declarative.
#ntre paradigmele opera\ionale se eviden\iaz[ urm[toarele: paradigma
imperativ[, paradigma orientat[ pe obiect, paradigma func\ional[ (varianta
opera\ional[), paradigma asincron paralel[, paradigma sincron paralel[.
#ntre paradigmele defini\ionale se eviden\iaz[ urm[toarele: paradigma
func\ional[ (varianta defini\ional[), paradigma transforma\ional[, numit[ ]i
bazat[ pe reguli, paradigma logic[, paradigma restric\ional[, numit[ ]i
bazat[ pe constr`ngeri.
#n general, limbajele de programare destinate aplica\iilor de inteligen\[
artificial[ sunt multiparadigm[, adic[ suport[ mai multe paradigme. De
exemplu, limbajul CLIPS suport[ trei paradigme ]i anume: imperativ[,
transforma\ional[ ]i orientat[ pe obiect.
22
2.3. CUNOA}TERE, METACUNOA}TERE }I SISTEM COGNITIV
Din punct de vedere ]tiin\ific este stabilit[ leg[tura dintre inteligen\[
]i cunoa]tere. Aceasta prin prisma relev[rii tr[s[turilor fundamentale ]i a
scheletului ra\ional al cuno]tin\elor, pe care ni le formul[m, @ntr-un cadru
adecvat, despre un fenomen, un proces, un eveniment sau o situa\ie, prin
efectuarea de ra\ionamente, discernerea generalului ]i conturarea ordinii
conceptuale prin abstractizarea experien\ei ]i a particularului.
Cunoa]terea, ca no\iune, poate fi mai bine @n\eleas[ dac[ este privit[
din dou[ puncte de vedere:
- ca un act intelectual, denumit ]i observa\ie, prin care se stabile]te un
transfer de informa\ie de la un obiect observat c[tre un subiect cunosc[tor;
- ca informa\ie latent[, descriptiv[ ]i definitorie, depozitat[ @n structurile
de memorie ale subiectului cunosc[tor.
Cunoa]terea se define]te ca o reflectare activ[ @n con]tin\[ a lumii
reale, a esen\ialului ]i generalului din fenomene ]i a leg[turilor obiective
ale realit[\ii. Ea se bazeaz[ pe capacitatea de descompunere ]i analiz[, de
sintez[ a unor obiecte abstracte, inexistente, pornind de la propriet[\i
specificate, deci de l[rgire a orizontului elementelor posibile.
Cunoa]terea are dou[ componente:
- una reflexiv[, bazat[ pe reflectarea exterioar[, ulterioar[ a faptului
]tiin\ific;
- una generativ[, constructiv[, bazat[ pe crearea de obiecte abstracte ]i
pe construirea de momente ini\iale pentru procesele de formare a unor fapte
]tiin\ifice ]i programe de c[utare.
Cunoa]terea are o serie de caracteristici.
Este o categorie filozofic[ fundamental[.
Are o natur[ psihologic[ deoarece este @ntotdeauna raportat[ la
subiectul cunosc[tor.
Este empiric[, @n sensul c[ informa\ia despre realitatea
@nconjur[toare este sesizat[ nemijlocit prin organe senzoriale sau prin
intermediul aparatelor ]i instrumentelor specifice.
Este teoretic[ dac[ se bazeaz[ pe ra\ionament ]i judec[\i, subliniind
esen\a leg[turilor interne, cauzalitatea ]i legit[\ile care dezvolt[ structuri ]i
23
procese. Cunoa]terea teoretic[ se dezvolt[ din cunoa]terea empiric[ prin
analiz[, sintez[, induc\ie, deduc\ie, generalizare ]i particularizare.
Cunoa]terea are un caracter individual, se justific[ din punct de
vedre cauzal, iar prin teoria ]tiin\ific[ ob\ine valoarea de adev[r ]i se
obiectivizeaz[.
Cunoa]terea despre lume suport[ un continu proces de rafinare, ceea
ce @nseamn[ c[, de fapt, cunoa]terea este @ntotdeauna part\ial[ ]i
incomplet[.
Pentru inteligen\a artificial[ este mai relevant[ transpunerea
conceptului de cunoa]tere de la subiec\ii cunosc[tori de tip uman la
subiec\ii cunosc[tori de tip program pentru calculator, deci de la psihologia
g`ndirii la inteligen\a artificial[.
#n acest context, trebuie subliniat c[ informa\ia latent[, obiectiv[, cu
caracter de generalitate @n care intr[ defini\iile, legile, regulile, conceptele,
clasific[rile formeaz[ ceea ce denumim cunoa]tere.
Aceasta este achi\ionat[ ca urmare a unui proces de instruire,
observare a realit[\ii, abstractizare ]i obiectivizare prin rafinare
permanent[.
Pentru a fi utilizat[ de c[tre produs-program, cunoa]terea este
memorat[ @ntr-o baz[ de cuno]tin\e sub forma unor piese de cunoa]tere,
care descriu faptele, fenomenele, procesele ]i evenimentele din acea parte a
lumii reale care formeaz[ domeniul de competen\[ al programului
inteligent.
Prin intermediul pieselor de cunoa]tere se pot reprezenta orice fel de
no\iuni relevante pentru un domeniu, respectiv este vorba de concepte ]i
instan\e.
Conceptele materializeaz[ rezultatele procesului de abstractizare,
prin care se specific[ @nsu]irile esen\iale, necesare ]i suficiente pentru a
decide apartenen\a obiectelor la o clas[ sau alta.
Instan\ele sunt no\iuni individuale, particulariz[ri ale conceptelor
c[rora li s-a dat descrierea.
Pe un plan mai general, cunoa]terea despre cunoa]tere ]i despre
reprezentarea ei este numit[ metacunoa]tere, o cunoa]tere de ordin
superior, extins[ asupra domeniului de competen\[ al cunoa]terii.
Totalitatea pieselor de cunoa]tere despre un domeniu, memorate @n
baza de cuno]tin\e, constituie un model al lumii la care programul
24
inteligent are acces prin intermediul procedurilor de organizare, c[utare ]i
recunoa]tere.
#n inteligen\a artificial[ toate aceste componente, piese de cunoa]tere
plus procedurile de acces la cuno]tin\e formeaz[ un sistem cognitiv. Pentru
sistemele cognitive intereseaz[ @n mod deosebit clasificarea cunoa]terii.
2.4. RA|IONAMENT, INFEREN|{ }I EURISTIC{
Cunoa]terea este o m[sur[ obiectiv[ a realit[\ii, dar prin ea @ns[]i nu
reprezint[ dec`t un poten\ial. #n inteligen\a artificial[ prezint[ interes
cunoa]terea @n ac\iune, @n care pe baza ra\ionamentelor ]i judec[\ilor se
ob\in piese de cunoa]tere noi.
Ra\ionamentul este un lan\ de judec[\i desf[]urate @n scopul ob\inerii
unor adev[ruri noi pe baza cunoa]terii disponibile.
Judecata este formula logic[ fundamental[, cu valoare de adev[r,
exprimat[ printr-o propozi\ie @n care se afirm[ sau se neag[ ceva despre
altceva.
#n cazul ra\ionamentului o judecat[ numit[ premis[ este legat[ de o
alt[ judecat[ numit[ concluzie prin opera\ia de deviere logic[ numit[
inferen\[.
Ra\ionamentele care folosesc lan\urile inferen\iale pentru trecerea de
la premise la concluzii sunt ra\ionamente formale.
Ele se aplic[ @n situa\ii de completitudine faptic[, adic[ situa\iilor @n
care exist[ toate elementele necesare @n re\eaua inferen\ial[. #n cazul
incompletitudinii faptice, pentru a nu se ajunge la impas @n solu\ionarea
problemei a fost dezvoltat ra\ionamentul prin analogie sau metaforic.
Inferen\a este o opera\ie prin care, pe baza cunoa]terii unui num[r
finit de enun\uri numite premise, se trece la acceptarea unui alt element
numit concluzie.
#ntr-o inferen\[, premisa formeaz[ condi\ia suficient[ a concluziei,
dar aceea]i concluzie poate fi ob\inut[ ]i din alte premise.
Premise Concluzie
Inferen\[
25
O inferen\[ este corect[ dac[ enun\urile componente sunt adev[rate
]i s-au respectat regulile de formare a limbajului ]tiin\ific din domeniul @n
cauz[.
Ra\ionamentele formale sunt de trei tipuri:
- deductive
- transductive
- inductive
Un ra\ionament este deductiv dac[ premisa const[ @ntr-o judecat[ cu
caracter general, iar concluzia este o judecat[ cu caracter particular.
Caracterul general sau particular se refer[ la pozi\ia de subordonare a
celor dou[ judec[\i @n ierarhia pieselor de cunoa]tere.
Ra\ionamentul este transductiv dac[ at`t premisa c`t ]i concluzia se
afl[ la acela]i nivel de generalitate.
Ra\ionamentul este inductiv dac[ produce o concluzie cu caracter
general plec`nd de la premise cu caracter particular.
Ra\ionamentul nu folose]te obiecte fizice din lumea real[, ci
simboluri prin care acestea se reprezint[ ca piese de cunoa]tere @n baza de
cuno]tin\e. Este vorba de acea abstractizare a realit[\ii prin care unui
obiect, unei situa\ii, unui eveniment sau proces (numit generic fapt) i se
atribuie un simbol care devine caracteristic[. De exemplu, dac[ observ[m
realitatea universului contabil, raport[m informa\ia la conceptele
elementare mijloace, resurse, activ, pasiv, debit, credit, care se noteaz[ cu
M, R, A, P, D, C. Prin combinarea conceptelor elementare dup[ legi
contabile, prin ra\ionamente definim concepte noi: cont, balan\[, bilan\ etc.
Ra\ionamentele pentru rezolvarea problemelor simbolice se bazeaz[
@n @ntregime pe reguli de inferen\[ - acele ptrocedee prin care se determin[
consecin\ele unor anumite presupuneri ce se fac despre formule sau
enun\uri @ntr-o teorie ]tin\ific[.
Se utilizeaz[ @n mod frecvent @n inteligen\a artificial[ procedeul pur
formal prin care se deduc teoreme din axiome prin @nl[n\uirea @nainte a
inferen\elor sau prin care se determin[ validitatea unor teoreme enun\ate
prin @nl[n\uirea @napoi a inferen\elor.
Aceste strategii de @nl[n\uire a inferen\elor se aplic[ pentru
exploatarea caracteristicilor sintactice ale reprezent[rii pieselor de
cunoa]tere.
26
Atunci c`nd se dore]te solu\ionarea problemelor cu luarea @n seam[ a
caracteristicilor semantice ale pieselor de cunoa]tere se folose]te
construc\ia numit[ model.
Orice model are caracteristici regulile de coresponden\[ ]i semantica.
Este vorba de concepte (teoreme, semne, simboluri), postulate (axiome ]i
legi), reguli de transformare a conceptelor ]i regulile de coresponden\[ @ntre
conceptele modelului ]i realitatea modelat[.
Modelele teoretice ale inteligen\ei artificiale sunt cunoscute @n
limbajul logicii matematice.
#n stadiul actual al inteligen\ei artificiale se cunosc mai bine
ra\ionamentele directe, de tipul celor men\ionate anterior sub denumirea de
ra\ionamente formale.
Se cunosc ]i ra\ionamente informale care pornesc de la semnifica\iile
cuprinse @n enun\urile problemelor ]i surprind interpret[ri structurale,
semnifica\ii de natur[ rela\ional[, propriet[\i primitive sau complexe.
Ra\ionamentul informal se bazeaz[ ]i el pe regulile de inferen\[ general
valabile.
Euristica este o modalitate de cunoa]tere menit[ s[ sugereze
efectuarea de ac\iuni plauzibile sau evitarea de ac\iuni neplauzibile, cu rol
important @n cre]terea eficien\ei rezolv[rii problemelor.
Etimologic termenul de euristic[ provine din fran\uzescul euristique
]i desemneaz[ acel procedeu metodologic care serve]te la descoperirea
unor cuno]tin\e noi (grecescul heuriskein = a descoperi).
Termenul de euristic[ desemneaz[ acea cunoa]tere de natur[
neformal[, cu caracter de ra\ionament bazat pe experien\[, specializare
generalizare ]i analogie, cu ajutorul c[rreia se efectueaz[ o interpretare, se
ia o decizie sau se ac\ioneaz[ pentru atingerea unui obiectiv.
Deci euristica introduce ra\ionamentul bazat pe reguli care nu provin
din formalismul logicii matematice de rezolvare a problemelor, ci din
m[estria ]i experien\a specific[ domeniului problemei.
27
2.5. TIPURI DE PROBLEME #N INTELIGEN|A ARTIFICIAL{
Dintr-un punct de vedere mai pragmatic, inteligen\a artificial[ este
privit[ ca domeniu de cercetare av`nd drept obiectiv descoperirea ]i
utilizarea unor metode foarte generale de rezolvare a problemelor.
Problema se refer[ la o dificultate de natur[ cognitiv[, o ntrebare
ce se constituie ca moment ini\ial al activit[\ii inteligente. Dificultatea
rezult[ din insuficien\a sau inadecvarea r[spunsului la @ntrebarea privind o
entitate necunoscut[, ori din incapacitatea sistemului de a construi un
r[spuns prin aplicarea procedeelor de care dispune.
Enun\ul problemei are urm[toarele componente structurale: datele,
condi\iile ]i necunoscutele.
Datele problemei - semnific[ enun\urile descriptive referitoare al
obiectele abstracte sau concrete, sau cele referitoare la propriet[\ile
obiectelor.
Condi\iile problemei - sunt specificate prin enun\uri explicite sau
implicite despre opera\iile permise a fi aplicate asupra obiectelor
men\ionate ori referitoare la regulile c[rora li se supun opera\iile (aspectul
procedural).
Necunoscutele problemei - se refer[ la obiectele, propriet[\ile sau
condi\iile neformulate explicit @n enun\ul problemei, despre a c[ror
existen\[ se ]tie sau nu c[ reprezint[ o consecin\[ a enun\ului.
Prin rezolvarea problemei, se va putea da sau nu o determinare
fiec[rei necunoscute. #n procesul rezolv[rii problemei exist[ ini\ial
delimitate corect datele ]i condi\iile formulate @n enun\. Acestora li se pot
ad[uga noi piese de cunoa]tere din baza de cuno]tin\e a sistemului
rezolutiv, c[utate ]i selectate, fie prin referire direct[ la enun\, fie prin
lan\uri inferen\iale, ale c[ror premise au fost formulate @n enun\.
Analiza enun\urilor problemelor care satisfac aceste condi\ii de
formulare, ne relev[ trei mari categorii de probleme: probleme bine
formulate, probleme incomplet formulate ]i probleme gre]it formulate.
La problemele bine formulate sunt satisf[cute condi\iile de
suficien\[ ]i necesitate, pentru toate componentele din enun\ iar
necunoscutele specificate alc[tuiesc @mpreun[ cu datele problemei un
model consistent;
28
#n cazul problemelor incomplet formulate se disting unele lipsuri,
at`t @n datele problemei, @n condi\iile acesteia c`t ]i @n specificarea
necunoscutelor;
La problemele gre]it formulate se disting contradic\ii,
inconsisten\e sau componentele problemei nu sunt prezentate clar @n enun\.
A) Problemele bine formulate pot fi la r`ndul lor: probleme de tip
interogativ, pedicativ ]i imperativ.
Problemele interogative au definite clar trei componente: ipoteza
sau datele problemei, procesul la care sunt supuse datele ]i rezultatul. Dou[
dintre aceste componente trebuie definite complet, oferind astfel
posibilitatea introducerii necunoscutei @n cea de a treia component[. Dac[
not[m cu I-ipoteza, cu P- procesul, cu R - rezultatul ]i cu X - necunoscuta,
atunci putem identifica tipurile de probleme interogative de tip IPX, de tip
IRX ]i de tip XPR. #n aceste condi\ii, dac[ toate componentele sunt
cunoscute, adic[ mnemonica este IPR, atunci enun\ul problemei reprezint[
un fapt. Un fapt devine problem[ dac[ una dintre cele trei componente este
considerat[ necunoscut[.
Problema de tip IPX are enun\ul de forma "Care este rezultatul X
al aplic[rii procesului P asupra obiectelor din ipoteza I? "De aici reiese clar
c[ sunt cunoscute ipoteza ]i procesul, fie din enun\, fie din completarea cu
piese de cunoa]tere din baza de cuno]tin\e. Rezultatul X se va determina
efectiv prin aplicarea procesului P asupra obiectelor din ipoteza I. Este
vorba de o problem[ clasic[ de prelucrare a datelor.
Problema interogativ[ de tip IXR corespunde unui enun\ de forma
"Ce proces X trebuie aplicat asupra obiectelor din ipoteza I, pentru a ob\ine
rezultatul R?". Este una dintre cele mai delicate probleme ale inteligen\ei
artificiale, datorit[ faptului c[ are caracter creativ. Solu\ia sa este
abordabil[ pe trei c[i:
- pe baza unor reguli euristice de forma:
DAC{ ((ipoteza este de tip t(R) }I
(rezultatul este de tip t(R) ATUNCI
(metoda este (METODA 1) sau (METODA n));
- pe baza unor ra\ionamente prin analogie:
- pe baza unor metode de sintez[ procedural[.
Probleme interogative de tip XPR le corespunde enun\ul de forma
"Ce obiecte X trebuie prelucrate de c[tre procesul P, pentru a ob\ine
29
rezultatul R?" Se @n\elege c[, asemenea probleme pot fi solu\ionate direct
dac[ procesul P admite o invers[ notat[ P-1. Deoarece enun\ul problemelor
ne d[ R=P(X), atunci solu\ia va fi X=P-1(R). Dac[ problema nu admite o
invers[ pentru P, atunci numai abordarea prin metode reductive ar putea
@nlesni ob\inerea unei solu\ii.
Problemele predicative au o structur[ asem[n[toare cu acelea
interogative, componentele fiind ipoteza, procesul inferen\ial ]i concluzia.
Natura componentelor difer[, deoarece ipoteza ]i concluzia sunt entit[\i cu
valoare de adev[r (TRUE sau FALSE).
Induc\ia este problema predictiv[ @n care ipoteza este necunoscut[
iar rezultatul se ob\ine prin "descoperirea" unor concepte ini\iale, a unor
cauzalit[\i sau a oric[ror premise prin interpretarea rezultatelor ob\inute pe
baza unor reguli de inferen\[ cunoscute. Acest proces rezolutiv care
utilizeaz[ induc\ia poart[ numele de @nv[\are din exemple.
Demonstra\ia este problema predicativ[ @n care procesul inferen\ial
este necunoscut iar solu\ia se ob\ine printr-un lan\ inferen\ial, de la ipotez[
spre concluzie, care trebuie sesizat ca o concluzie derivabil[ din ipotez[.
Acest proces rezolutiv este specific demonstr[rii automate a teoremelor.
Deduc\ia este o problem[ predicativ[ @n care concluzia este
necunoscut[ iar solu\ia se ob\ine aplic`nd regulile de inferen\[ asupra
expresiilor date prin ipotez[. Deduc\ia este frecvent @nt`lnit[ ca urmare a
aplic[rii procedeelor de descompunere a problemelor @n subprobleme, ]i
mai rar ca problem[ dat[ de utilizatorii sistemului inteligent.
Problemele de tip imperativ au caracteristic faptul c[ enun\ul lor nu
con\ine necunoscute din triada IPR (ipoteza-proces-rezultat), nu furnizeaz[
date de intrare iar rezultatul procesului este apriori cunoscut. Pentru
rezolvarea unor astfel de probleme sistemul se comport[ ca executor al
unor comenzi pentru producerea rezultatului cunoscut, adic[ a efectului
actual dorit. Nu este lipsit[ de sens existen\a problemelor imperative, dac[
avem @n vedere posibilitatea ca o situa\ie problematic[ s[ fie stratificat[ pe
mai multe niveluri conceptuale, @n care o problem[ imperativ[ de pe un
anumit nivel s[ se descompun[ @n probleme de alte tipuri pe nivelurile
inferioare.
B) Probleme incomplet formulate sunt cele care nu pot avea solu\ie
dec`t dac[, prin aplicarea unor procedee care nu altereaz[ enun\ul, se
ob\ine o nou[ form[ de enun\, care satisface condi\ile de bun[ formulare.
30
Procedeele care se aplic[ @n astfel de cazuri sunt: reducerea
enun\ului, completarea enun\ului, extinderea obiectivelor ]i descompunerea
problemei.
Reducerea enun\ului are loc prin eliminarea elementelor lipsite de
relevan\[, care altereaz[ buna formulare a problemei, dar f[r[ a-i afecta
specificul problematic.
Completarea enun\ului se face cu date transmise prin mo]tenire de
la prototipurile conceptuale existente @n alte piese de cunoa]tere din enun\
sau cu date asumate prin analogie cu obiecte din aceea]i categorie, definite
mai bine. Se pot folosi ]i date noi ]i reformul[ri prin interac\iunea
utilizatorului cu sistemul, a]a @nc`t s[ rezulte un nou enun\ care satisface
cerin\ele de bun[ formulare.
Extinderea obiectivelor problemelor se refer[ la o clas[ superioar[
de obiecte care s[ cuprind[ ]i problema @n cauz[, numai dac[ este posibil[
introducerea unor obiecte abstracte, parametri sau condi\ii suplimentare
care s[ permit[ reformularea enun\ului @n vederea satisfacerii condi\iilor de
bun[ formulare.
Descompunerea @n subprobleme urm[re]te ob\inerea unor
subprobleme bine formulate ]i a altora incomplet formulate dar de
complexitate mai redus[ dec`t problema ini\ial[, a c[ror rezolvare s[ poat[
fi f[cut[ par\ial sau chiar integral, dac[ se pot aplica procedeele men\ionate.
Inteligen\a artificial[ nu-]i propune s[ rezolve problemele gre]it
formulate. Totu]i, sistemele inteligente pot fi dotate cu analizoare de
probleme care s[ eviden\ieze inconsisten\ele de formulare, furniz`nd
utilizatorului explica\ii @n leg[tur[ cu refuzul sistemului de a solu\iona
problema.
31
I I I . SISTEME EXPERT: NO|IUNI DE BAZ{
3.1. DEFINIREA }I CARACTERISTICILE SISTEMELOR EXPERT
Elementul central al prelucr[rii inteligente @l constituie ra\ionamentul
artificial, ca imitare a celui natural, efectuat de creierul uman. #n orice
domeniu de activitate exist[ probleme cu grad ridicat de dificultate, care
pot fi rezolvate numai de exper\ii, forma\i ca speciali]ti @n urma unei vaste
experien\e @n domeniul respectiv.
A]a cum @nc[ nu exist[ o defini\ie unanim acceptat[ pentru
inteligen\a artificial[, nu exist[ @nc[ o defini\ie unic[ pentru sistemele
expert.
#n general, sistemele expert pot fi definite ca fiind programe bazate
pe tehnicile inteligen\ei artificiale, care @nmagazineaz[ cuno]tin\ele
exper\ilor umani dintr-un domeniu bine definit ]i apoi le folosesc pentru
rezolvarea problemelor din acel domeniu.
Sistemele expert @ncearc[ s[ imite @n principal ra\ionamentele
exper\ilor umani prin ra\ionamente artificiale. Mai mult dec`t preluarea
cuno]tin\elor expertului uman, sistemele expert le multiplic[ ]i expliciteaz[
experien\a acestora. Este cunoscut faptul c[ un expert uman @ntr-un
domeniu se formeaz[ foarte greu ]i necesit[, pe l`ng[ preg[tirea ]i
experien\a personal[, ]i calit[\i native. De aceea multiplicarea cuno]tin\elor
exper\ilor umani prin intermediul sistemelor expert este, @n zilele noastre, o
necesitate obiectiv[.
Pentru o mai bun[ @n\elegere a unor aspecte privitoare la defenirea
sistemelor expert, este necesar[ o partajare a cuno]tin\elor expertului uman
dintr-un anumit domeniu. Un expert uman recunoa]te, define]te ]i rezolv[
probleme din domeniul s[u de expertiz[, av`nd o capacitate crescut[ de a
se orienta @n aspecte precum complexitatea, incompletitudinea,
incertitudinea, inconsisten\a, confuzia ]i aprecierile vagi.
Pornind de aici expertul uman trebuie s[ aduc[ problema @n stadiul @n
care lucrurile sunt c`t mai simple, complete, precise, consistente ]i clare,
adic[ s[ treac[ problema din sfera expertizei @n sfera cuno]tin\elor comune
32
de specialitate. #n acest stadiu, rezolvarea problemei poate fi sus\inut[
eventual de prelucr[ri algoritmice utiliz`nd baze de date. #n ngeneral,
expertul uman ac\ioneaz[ @ntr-o clas[ de probleme slab structurate, pentru
care nu se pot defini algoritmi de rezolvare.
#ncerc`nd s[ imite expertul uman, sistemele expert posed[
urm[toarele caracteristici:
- cuno]tin\ele sunt independente de mecanismul de ra\ionament, se
introduc global, nu depind unele de altele, iar modificarea unui element nu
influen\eaz[ ra\ionamentul;
- spre deosebire de programerea clasic[, unde trebuia s[ se descrie
explicit toate prelucr[rile @ntr-o manier[ static[, sistemele expert se
caracterizeaz[ printr-o abordare declarativ[ @n care se specific[ cuno]tin\ele
care vor fi exploatate @n mod dinamic de mecanismul de ra\ionament;
- sistemele expert trebuie s[ fie capabile s[ explice ra\ionamentele f[cute
]i s[ argumenteze solu\iile ob\inute, @ntr-o manier[ asem[n[toare expertului
uman;
- cuno]tin\ele manipulate de sistemele expert sunt @n principal de natur[
simbolic[, spre deosebire de programele clasice care utilizeaz[
preponderent date numerice;
- sistemele expert trebuie s[ fie capabile s[ gestioneze baze de cuno]tin\e
de volum mare ]i s[ trateze cuno]tin\e inexacte ]i incomplete;
- sistemele expert utilizeaz[ metode empirice, bazate pe experien\[, care
conduc la solu\iile cele mai bune;
- sistemele expert sunt specializate @ntr-un anumit domeniu ]i nu @n
rezolvarea unei probleme, ca sistemele informatice clasice.
O problem[ mult discutat[ @n privin\a utiliz[rii sistemelor expert este
aceea a raportului dintre relevan\[ ]i precizie. Se ]tie, din teoria general[ a
sistemelor, c[ un sistem descompus @ntr-un num[r mic de subsisteme are o
relevan\[ mare ]i o precizie mic[, iar cu c`t descompunerea avanseaz[,
relevan\a scade ]i precizia cre]te. Prelucrarea algoritmic[ se caracterizeaz[
printr-o precizie mare iar sistemele expert printr-o relevan\[ mare, pe care o
preia din practica rezolv[rii problemelor ceea ce face ca ele s[ fie un mijloc
important de dominare a complixit[\ii.
Sistemele expert pot oferi solu\ii mai productive dec`t programele
algoritmice @n situa\iile @n care cerin\ele informa\ionale se schimb[ foarte
des. De asemenea, sistemele expert permit extinderea ariei informaticii
33
c[tre domenii greu de algoritmizat @n care informa\iile sunt preponderent
calitative: educa\ie, politic, juridic etc.
Dac[ avem @n vedere scopul pentru care un sistem expert este
realizat, el trebuie s[ @ndeplineasc[ anumite cerin\e func\ionale, care vor fi
prezentate @n continuare.
Performan\[ ridicat[. Sistemul trebuie s[ fie capabil s[ r[spund[ la
un nivel de competen\[ cel pu\in egal cu al unui expert @n domeniul
respectiv.
Timp de r[spuns adecvat. Sistemul trebuie s[ fie capabil s[ r[spund[
@ntr-un timp rezonabil, cel pu\in comparabil cu timpul necesar unui expert
s[ ia o decizie @n acea]i problem[. Aceast[ constr`ngere privind timpul de
r[spuns este foarte sever[ @n cazul sistemelor expert @n timp real, c`nd
r[spunsul sistemului trebuie s[ fie dat @ntr-un anumit interval impus de
sistemul fizic pe care @l modeleaz[.
Nivel ridicat de @ncredere. Sistemul nu trebuie s[ dea r[spunsuri
gre]ite care s[ produc[ pagube, @n caz contrar el neput`nd fi utilizat.
Capacitatea de a fi u]or @n\eles. Un sistem expert trebuie s[ poat[
explica pa]ii ra\ionamentului s[u @n timpul unei execu\ii. Aceasta @nseamn[
c[ sistemul trebuie s[ aib[ capacitatea de explicare, @ntr-o manier[
asem[n[toare celei @n care un expert uman @]i poate explica ra\ionamentul.
Flexibilitate. Datotit[ unei mari cantit[\i de informa\ie pe care un
sistem expert o are, este important ca el s[ posede un mecanism eficient
pentru manipularea cuno]tin\elor, respectiv pentru ad[ugarea, ]tergerea ]i
modificarea acestora.
Exist[ mai multe motive care au impus ca necesare aceste ceri\e
func\ionale pentru un sistem expert:
- #n multe cazuri securitatea oamenilor sau a unor sisteme fizice depind
de r[spunsurile unui sistem expert. Acesta trebuie s[-]i justifice concluzile,
adic[ s[ permit[ o verificare inteligibil[ a ra\ionamentului s[u de c[tre om;
- #n faza de dezvoltare a unui sistem expert, trebuie s[ fie confirmat
faptul c[ @nc[rcarea cuno]tin\elor @n baza de cuno]tin\e s-a f[cut corect ]i c[
ele sunt corect folosite de c[tre expertul uman. O bun[ facilitate de
explicare face ca inginerul de cuno]tin\e s[ verifice mai u]or corectitudinea
cuno]tin\elor;
- Un alt motiv se refer[ tot la depanare, datorit[ interac\iunilor care
exist[ @n sisttemele expert. Controlul execu\iei nu este secven\ial ]i @n
34
general ordinea @n care sistemul expert rezolv[ o problem[ genereaz[ o
dificil[ @n\elegere a modului @n care el lucreaz[.
Sistemele expert pot fi folosite de sine st[t[tor sau pot fi integrate @n
alte sisteme informatice @n func\ie de necesit[\i. O clas[ special[ de sisteme
informatice @n care sistemele expert pot fi integrate u]or din punct de
vedere func\ional sunt sistemele interactive pentru asistarea deciziilor
(SIAD). Un SIAD este un sistem informatic care utilizeaz[ cuno]tin\ele
dintr-un domeniu de aplica\ie pentru a ajuta decidentul @n rezolvarea unor
probleme slab structurate, respectiv greu de algoritmizat ]i programat.
Structura unui SIAD este prezentat[ @n figura 3.1
Biblioteca de modele Biblioteca de
reprezent[ri grafice
INTERFATA
UTILIZATOR
Sistemul de modelare Subsistemul de
prezentare al
informa\iilor
Subsistemul statistic,
previziune, optimizare SISTEM EXPERT
Sistem de gestiune a bazelor de
date
Baza de date Fi]iere externe
Figura 3.1 - Structura unui S.I.A.D.
35
Principalele caracteristici ale unui SIAD sunt:
- experien\a, intui\ia, judec[\ile ]i preferin\ele decidentului sunt
esen\iale;
- interactivitate de nivel @nalt;
- c[utarea solu\iilor necesit[ manipul[ri de date, c[utare de informa\ii,
modelare, calcule;
- procedurile care urmeaz[ s[ se execute la un moment dat nu sunt
cunoscute apriori, aceasta depinz`nd de date sau de rezultatele
intermediare;
- criterile de decizie sunt numeroase, conflictuale ]i depind adesea de
utilizator;
- datele nu sunt totdeauna dinainte cunoscute.
- timpul de r[spuns pentru ob\inerea unei solu\ii satisf[c[toare este
limitat.
3.2. STRUCTURA UNUI SISTEM EXPERT
Elementele centrale ale unui sistem expert (fig. 3.2) sunt: baza de
cuno]tin\e, baza de fapte, motorul de inferen\[, modulul explicativ,
modulul de achizi\ie a cuno]tin\elor ]i interfa\a cu utilizatorul.
Baza de cuno]tin\e con\ine ansamblul de cuno]tin\e specializate
@ntr-un anumit domeniu, preluate de cognitician de la expertul uman.
Procesul de creare a bazei de cuno]tin\e const[ @n preluarea acestora de la
expertul uman, modelarea de c[tre cognitician @n conformitate cu cerin\ele
metodei de reprezentare, introducerea @n baz[ ]i validarea. Acest proces
este unul foarte laborios ]i necesit[ o conlucrare permanent[ @ntre
cognitician ]i expertul uman. Realizare lui necesit[ foarte multe itera\ii ]i
teste @n cursul c[rora @ns[]i expertul uman poate fi pus @n dificultate pentru
argumentarea unor op\iuni.
36
Reprezentarea cuno]tin\elor
Prelucrarea cuno]tin\elor
EXPERT
MODUL DE ACHIZI|IONARE A
CUNO}TIN|ELOR
Achizi\ia
cuno]tin\elor
BAZA DE CUNO}TIN|E
BAZA DE
FAPTE
BAZA DE
CUNO}TIN|E
MOTOR DE
INFEREN|E
MODUL
EXPLICATIV
INTERFATA UTILIZATOR
UTILIZATOR
COGNITICIAN
Baza de fapte con\ine datele unei probleme concrete care urmeaz[ a
fi rezolvat[ (formularea problemei) precum ]i faptele rezultate @n urma
Utilizarea cunostintelor
Figura 3.2 - Arhitectura unui sistem expert
37
ra\ionamentelor efectuate de motorul de inferen\[ asupra bazei de
cuno]tin\e. #n unele publica\ii, baza de fapte este inclus[ @n baza de
cuno]tin\e. Totu]i, trebuie f[cut[ distinc\ia @ntre cuno]tin\e, care descriu
rezolvarea unei clase de probleme ]i fapte care descriu aser\iuni de
instan\iere a unei probleme din clasa respectiv[.
Motorul de inferen\[ este elementul efectiv de prelucrare @n sistemul
expert, care pornind de la fapte (datele de intrare ale problemei) activeaz[
cuno]tin\ele corespunz[toare din baza de cuno]tin\e, construind astfel
ra\ionamente care conduc la noi fapte (de ie]ire). Altfel spus, motorul de
inferen\[ construie]te un plan de rezolvare @n func\ie de specificul
problemei, utiliz`nd cuno]tin\e din domeniul respectiv.
#n urma ac\iunii motorului de inferen\[, @ntr-un anumt context, baza
de cuno]tin\e se @mbog[\e]te fie prin ad[ugarea unor elemente noi, fie prin
modificarea celor existente. #n ultim[ instan\[, motorul de inferen\[ este un
program care implementeaz[ modalit[\ile de ra\ionament: deductiv,
inductiv ]i mixt, dar care este independent de baza de cuno]tin\e.
Modulul explicativ are rolul de a prezenta @ntr-o form[ larg
accesibil[ (@n limbaj natural) justificarea ra\ionamentelor efectuate de
motorul de inferen\[ ]i @ntreb[rile la care trebuie s[ r[spund[ utilizatorul.
De asemenea, acest modul este util ]i expertului uman pentru verificarea
coeren\ei bazei de cuno]tin\e.
Modulul de achizi\ie a cuno]tin\elor are rolul de a transforma
cuno]tin\ele din forma @n care le exprim[ cogniticianul (inginerul de
cuno]tin\e) @n forma intern[ de memorare pe suportul tehnic de date.
Totodat[, acest modul asigur[ ]i interfa\a de comunicare cu baza de
date sau cu alte sisteme. Pe viitor, calculatorele din noile genera\ii vor
permite achizi\ia de cuno]tin\e @n limbaj natural, ceea ce va duce la
dezvotarea rapid[ a sistemelor expert. Rolul inginerului de cuno]tin\e @n
realizarea unui sistem expert este similar rolului analistului pentru
realizarea unui sitem informatic clasic
Interfa\a cu utilizatorul realizeaz[ dialogul utilizatorului cu sistemul
expert, @n sensul furniz[rii de c[tre utilizator a datelor de intrare ]i a
rezultatelor problemei de rezolvat de c[tre sistem.
Toate elementele unui sistem expert, mai pu\in baza de cuno]tin\e ]i
baza de fapte, formeaz[ a]a numitul sistem esen\ial. Acest sistem permite
dezvoltarea rapid[ de sisteme expert prin crearea unor noi baze de
38
cuno]tin\e, opera\ie cunoscut[ sub denumirea de instan\ierea unui sistem
expert. Este posibil de realizat acest lucru, deoarece algoritmii de
ra\ionament implementa\i @n motorul de inferen\[ sunt @n general aceea]i,
indiferent de sistemul expert pe care dorim s[-l dezvolt[m. Cu toate acestea
nu se poate construi un mecanism universal de inferen\[ pentru toate
domeniile de expertiz[.
3.3. DOMENII DE UTILIZARE ALE SISTEMELOR EXPERT
Teoretic sistemele expert se pot aplica @n orice domeniu al
cunoa]terii. P`n[ @n acest moment au fost realizate sute de sisteme expert,
raportate @n publica\ii ]tiin\ifice, @n c[r\i sau la conferin\e, de]i probabil
num[rul lor este mult mai mare.
Unele sisteme expert au fost proiectate ca instrumente de cercetare,
dar cele mai multe func\ioneaz[ @n domenii industriale, medicale sau
economice.
Principalele clase de aplica\ii ale sistemelor expert sunt prezentate @n
continuare.
Sisteme expert de configurare care asambleaz[ componentele unui
anumit sistem. De exemplu XCON (ini\ial R1) este unul din cele mai
folosite sisteme expert pentru configurarea calculatoarelor unei firme.
Sisteme expert de diagnoz[. Ele efectueaz[ opera\ii de diagnosticare
@n domenii precum cel medical, industrial sau financia-contabil. Cel mai
cunoscut este MYCIN, sistem expert de diagnoz[ pentru bolile infec\ioase
bacteriale.
Sisteme expert de @nv[\are (instruire). Sunt sisteme de @nv[\are
inteligent[, @n care cei care se instruiesc pot pune @ntreb[ri asem[n[toare
celor puse unui instructor uman. Exemple: GUDON (instruirea @n bolile
infec\ioase bacteriale), SEAMER (instruire pentru opera\iile dintr-o uzin[
electric[), CADHELP (instruire pentru proiectarea asistat[ de calculator).
Sisteme expert de interpretare. Sunt sisteme care explic[ datele
observate. Acestea sunt folosite @n special @n domeniul chimiei:
CRYSALYS (interpreteaz[ structura proteinelor 3D), DENDRAL
(interpreteaz[ structura molecular[).
Sisteme expert de monitorizare. Ele compar[ datele observate cu cele
a]teptate pentru a analiza performan\ele unor sisteme. Exemplu:
39
YES/MVS, sistem de monitorizare ]i control pentru sistemul de operare
IBM MVS.
Sisteme expert de planificare. Planific[ ac\iunile pentru a produce
anumite efecte a]teptate. Exemplu: SPEX (planific[ experiment[ri @n
biologie molecular[).
Sisteme expert de prognoz[. Prognozeaz[ rezultatele @ntr-o anumit[
situa\ie.
Sisteme expert de control. Sunt sisteme de reglare ]i control al unui
proces. #n general sunt sisteme complexe ce cuprind: interpretare,
diagnoz[, monitorizare, planificare, prognoz[ ]i remediere. De asemenea,
necesit[ de multe ori cerin\a de sisteme @n timp real, pentru a putea
r[spunde @n timp util sistemului controlat.
Utilizate ini\ial cu prec[dere @n medicin[, chimie, fizic[ ]i alte
domenii tehnice, @n ultimul timp sistemele expert sunt din ce @n ce mai mult
utilizate @n economie, la nivelul @ntreprinderilor ]i @n institu\iile financiar-
bancare. #n activit[\ile economice principalele clase de aplica\i ale
sistemelor expert sunt: sistemele expert de diagnoz[, sistemele expert de
planificare, sistemele expert de prognoz[ ]i sistemele expert de control.
La nivelul @ntreprinderilor, principalele activit[\i pentru care se pot
dezvolta sisteme expert sunt: analiza ]i planificarea economico-financiar[,
gestiunea trezoreriei, alegerea variantelor de finan\are a investi\iilor etc.
Ca o caracterizare general[ a acestor clase de probleme este faptul c[
ele necesit[ utilizarea elementelor din teoria deciziei. Din cele trei categorii
de decizii (de rutin[, @n condi\ii de incertitudine ]i @n condi\ii de risc)
ultimele dou[ categorii sunt cele mai indicate pentru realizarea sistemelor
expert. Acestea @]i dovedesc utilitatea @n selectarea celor mai bune variante
de ac\iune @n condi\iile existen\ei unei multitudini de factori de influen\[,
ale c[ror efecte sunt mai mult sau mai pu\in anticipate de decidentul uman
@n momentele critice.
#n acest sens, se poate spune c[ domeniul bancar ocup[ o pondere
@nsemnat[ @n cadrul sistemelor expert aflate @n exploatare cu bune rezultate.
De exemplu aproape 50% din b[ncile franceze dezvolt[ sau exploateaz[
sissteme expert ]i se apreciaz[ c[ p`n[ la sf`r]itul secolului fenomenul se
va generaliza.
Printre cele mai utilizate sisteme expert @n acest domeniu sunt cele
pentru asistarea deciziei de creditare, cele care fac recomand[ri @n
40
efectuarea plasamentelor, cele care fac diagnoz[ cu privire la evolu\ia unor
firme, institu\ii financiar-bancare sau a unor segmente de pia\[ etc.
Important de re\inut este faptul c[ merg`nd @n paralel cu exper\ii
umani solu\iile date de asemenea sisteme expert au fost acelea]i @n
propor\ie de peste 95%.
#n ultimul timp s-a extins aplicarea sistemelor expert @n cadrul
burselor de valori ]i burselor de m[rfuri.
41
IV. REPREZENTAREA CUNO}TIN|ELOR
4.1. METODE FOLOSITE #N REPREZENTAREA CUNO}TIN|ELOR
Capacitatea sistemelor expert de a rezolva probleme depinde de
volumul ]i calitatea cuno]tin\elor de care acestea dispun ]i pe care le pot
folosi pentru efectuarea de ra\ionamente.
Reprezentarea cunoa]terii urm[re]te descrierea domeniului @n care
sistemul efecteaz[ ra\ionamente sub form[ de entit[\i corespunz[toare
obiectelor (indivizilor) ]i sub form[ de rela\ii @ntre acestea.