sisteme expert badica litoiu

118
SISTEME EXPERT AMELIA B{DIC{ VALENTIN LI|OIU Editura REPROGRAPH, Craiova, 2007

Upload: catalina-dobre

Post on 21-Nov-2015

22 views

Category:

Documents


3 download

DESCRIPTION

Manual sisteme expert

TRANSCRIPT

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