Sunteți pe pagina 1din 7

INTELIGENTA COMPUTATIONALA

SISTEME INTELIGENTE

Definitia sistemelor inteligente trebuie sa plece de la notiunea de inteligenta.


Exista numeroase acceptiuni ale notiunii de inteligenta:
- abilitatea de a intelege anumite fenomene si de a folosi cunostintele extrase din
experiente
- abilitatea de a capata si de a retine cunostinte
- abilitatea de a raspunde repede si eficient unor noi situatii, etc.
Conform DEX, inteligenta este capacitatea individului de a intelege usor si bine , de a
sesiza ce este esential, de a rezolva situatii sau probleme noi pe baza experientei
acumulate anterior.
Definitie ( R. Marks). Un sistem inteligent este un sistem care imita anumite aspecte ale
inteligentei naturale. Aceste aspecte includ: invatare, adaptabilitate, robustete in
domeniile problemei, imbunatatirea performantei (in timp si spatiu), comprimarea
informatiei (datele se transforma in cunostinte), rationament extrapolat.

Dintr-o perspectiva computationala, un sistem inteligent trebuie sa fie caracterizat de :


- flexibilitate
- adaptabilitate
- invatare
- capacitate de rationament
- abilitatea de management a incertitudinii si a informatiei imprecise.

Sistem inteligent flexibil: -capabil de a suporta o cantitate de variatie


-flexibilitatea in a fi utilizat
-flexibilitate la schimbare: posibilitatea de a suferi imbunatatiri
Sistem inteligent adaptiv: -abilitatea de a se schimba pentru a suferi modificari
-abilitatea de a suferi perturbatii
-abilitatea de a se adapta eficient si rapid la circumstantele in
schimbare
Prin urmare, un sistem adaptiv este un sistem deschis care este capabil sa isi ajusteze
comportamentul corespunzator schimbarilor din mediu sau din interiorul sistemului.
Sistem inteligent capabil de rationament: genereaza concluzii din cunostintele
disponibile folosind tehnici logice precum deductia si inductia.
Deductia: se pleaca de la o baza de cunostinte suficiente asupra universului problemei si
se extrag reguli esentiale.
Inductia: se generalizeaza o problema plecand de la un set de exemple.
Sistem capabil de invatare=pe baza unui set de date (intrari), un sistem este capabil sa
se autoinstruiasca si sa isi imbunatateasca comportamentul.

Exemple de sisteme inteligente: persoanele, animalele mai mari, robotii, o afacere, o


natiune

1
Sistem inteligent artificial=un program de calculator care functioneaza in acelasi mod
precum creierul biologic, numai ca intr-un mod electronic si nu prin activarea neuronilor
biologici. Este similar cutiei negre: are inputuri si invata care outpuri sunt acceptate.
Un sistem inteligent artificial stocheaza experiente in memorie, le generalizeaza si poate
sa prelucreze noi inputuri.

INTELIGENTA ARTIFICIALA

Inteligenta artificiala (AI) este domeniul ce se ocupa cu studiul sistemelor


inteligente.
In timp s-au propus mai multe definitii ale AI.
Prezentam cateva din aceste definitii:
Richard E. Bellman (1978) defineste AI ca automatizarea activitatilor pe care le
asociem cu gandirea umana, activitati precum luarea deciziilor, rezolvarea problemelor,
invatarea.
Richard Stottler (1999): AI este imitarea gandirii umane si proceselor cognitive
pentru a rezolva probleme complexe.
Patrick Henry Winston (1999): AI este studiul calculului care face posibile intelegerea,
rationamentul si actiunea. Din perspectiva acestei definitii, AI difera mult de psihologie
datorita accentului mai mare pe calcul.
Multe enciclopedii o definesc prin raportare la inteligenta umana.
Webopedia (2002) defineste AI ca ramura a informaticii care studiaza modul in care
computerele se comporta ca oamenii.
Whatis.com (2001): simularea proceselor inteligentei umane de catre masini, in special
de catre calculatoare.
AI Depot (2001): AI este o ramura a stiintei care se refera la a ajuta masinile sa gaseasca
solutii la probleme complexe intr-un mod asemanator oamenilor. Aceasta presupune a
imprumuta caracteristici ale inteligentei umane si a le aplica sub forma de algoritmi.

INTELIGENTA COMPUTATIONALA

Inteligenta Computationala (CI), subdomeniu al AI, cuprinde concepte, paradigme,


algoritmi si implementarea sistemelor care manifesta comportamente inteligente in
medii complexe.
CI se bazeaza in special pe metode inspirate din natura. Aceste metode au avantajul ca
tolereaza cunostintele incomplete, incerte si deci faciliteaza gasirea unor solutii care
sunt aproximative si robuste in acelasi timp.
Problemele complexe din domenii variate precum tehnic, comercial, financiar, necesita
aplicatii pe calculator care trebuie sa arate un comportament inteligent. Aceste aplicatii
intentioneaza sa sprijine procesul de luare a deciziilor, sa controleze procese, sa
recunoasca si sa interpreteze patternuri sau sa manevreze vehicule sau roboti autonomi
intr-un mediu incert.
Calitatea unui sistem inteligent depinde in principal de cat de bine este rezolvata
problema reprezentarii informatiei.

2
Termenul de inteligenta computationala s-a impus cu ocazia Congresului Mondial de CI
(IEEE) din 1994, Orlando, Florida.
R. Marks (1993) defineste CI enumerand componentele sale: retele neuronale, algoritmi
genetici, sisteme fuzzy, programare evolutiva si artificial life.

NOTA: Artificial Life (sau A-LiFe) este un domeniu care examineaza sistemele
referitoare la viata, procesele ei, evolutiei ei cu ajutorul simularilor cu modele de
calculator, robotica si biochimie. ALife imita biologia traditionala incercand sa recreeze
anumite aspecte ale fenomenelor biologice.

Definitie (Eberhart et al., 1996). CI este definita ca o metodologie (care implica


calculatorul ) care manifesta o abilitate de a invata si/ sau a trata situatii noi in care
sistemul este perceput ca poseda unul sau mai multe atribute legate de rationament,
precum generalizarea, descoperirea, asocierea si abstractizarea.

In versiunea actuala, CI are urmatoarele domenii:


-logica fuzzy (fuzzy logic)
-calcul evolutionist (evolutionary computation)
-retele neuronale (neural networks)
-sisteme hibride (hybrid systems)

Domeniile sunt intr-o relatie de complementaritate (nu concurentiala), in care fiecare


contribuie cu avantajele si tehnicile proprii la solutionarea problemelor.

SOFT COMPUTING

In 1984, L. A. Zadeh a propus o noua abordare a masinilor inteligente, separand Hard


Computing de Soft Computing.
Hard Computing este orientat catre analiza si designul sistemelor si proceselor fizice si
are drept caracteristici precizia, formalizarea si categoricitatea. Conform Rudas si Fodor
[2008 ], Hard Computing se bazeaza pe logica binara, sisteme crisp (bazate pe logica
bivalenta), analiza numerica, teoria probabilitatilor, ecuatii diferentiale, analiza
functionala, programare matematica, teoria aproximarii si crisp software.
Soft Computing este orientat catre analiza si designul sistemelor inteligente.
Conform Rudas si Fodor [ 2008 ], Soft Computing se bazeaza pe logica fuzzy, retele
neuronale artificiale si rationamente probabilistice incluzand algoritmii genetici , teoria
haosului si machine learning.
In Hard Computing imprecizia si incertitudinea sunt proprietati indezirabile; in Soft
Computing toleranta la imprecizie si incertitudine este exploatata pentru a obtine o solutie
acceptabila cu un cost scazut, tractabilitate (usor de controlat).
Conform lui Zadeh (1994), Soft Computing este:
o multime de metodologii care ofera o fundamentare pentru conceperea si designul
sistemelor inteligente.
urmareste o formalizare a abilitatii remarcabile a omului de a lua decizii rationale in
situatii imprecise si incerte

3
Teza principala a Soft Computing este sa exploateze toleranta la imprecizie, incertitudine
si adevar partial pentru a realiza tractabilitate, robustete, solutii la un cost scazut si un
raport mai bun cu realitatea.
NOTA Robustete
Un sistem robust presupune ca el este relativ putin sensibil la erori sau perturbatii si are
o capacitate puternica de a se reface. De exemplu, un ecosistem care a suferit daune
serioase, cum ar fi un foc, in general se va reface relativ rapid. Un motiv al acestei
tolerante la erori, este organizarea distribuita si redundanta: acele parti ale sistemului care
nu au suferit daune contribuie si coopereaza la refacerea celor afectate.
Un alt motiv al robustetii poate fi gasit in fluctuatii, miscarile aleatoare sau zgomote.
Sistemele au tendinta de a prezenta miscari aleatoare care determina, mai departe, o
variabilitate si diversitate intrinseca, ceea ce face autoorganizarea posibila. O anumita
cantitate de incertitudine, determinate de comportamentul fluctuant, aleator al sistemului,
va facilita mai degraba decat va impiedica autoorganizarea.

In rezumat, Soft Computing are urmatoarele subdomenii:


-sisteme fuzzy
-retele neuronale
-calcul evolutiv
-machine learning
-rationamente probabiliste

Urmarind discutia de mai sus, se observa ca CI se suprapune peste Soft Computing (au
aproximativ aceleasi subdomenii).

Logica fuzzy
Multimile si sistemele fuzzy au fost introduse de L. A. Zadeh (1965).
Terminologie:
Fuzzy: vag, neclar, imprecis, scamos, pufos, nuanat
Fuzziness: imprecizie nestatistica si caracter vag al informatiilor si datelor
Lotfi Zadeh: Motivul pentru care am ales cuvntul fuzzy este c ceea ce am avut n
minte sunt clasele care nu au granie precis delimitate.

Fuzziness se refera la imprecizie si incertitudine in informatii si date. Majoritatea


conceptelor din lumea reala sunt fuzzy.
In logica clasica, cunoscuta ca logica crisp, un element (obiect) apartine sau nu apartine
unei multimi. Aceasta inseamna ca gradul sau de apartenenta este 0 sau 1.
Intr-o multime fuzzy, gradul de apartenenta ia valori in intervalul [0, 1]. Functia de
apartenenta este notiunea centrala in teoria multimilor fuzzy.
Multimile si sistemele fuzzy au la baza logica fuzzy, care poate fi considerata logica
rationamentului aproximativ (nu se vorbeste de enunturi adevarate sau false, ci de
gradul de adevar al unui enunt). Logica fuzzy este o generalizare a logicii bivalente
(conventionala, crisp, clasica).
Multimile fuzzy modeleaza proprietatile de imprecizie, aproximare. Logica fuzzy rezolva
probleme unde logica crisp esueaza.

4
Calculul evolutionist cuprinde:
1. Algoritmi genetici (genetic algorithms)
2. Programare evolutionista (evolutionary programming)
3.Strategii evolutive (evolution strategies)
4.Programare genetica (genetic programming)
5.Optimizarea roiurilor de particule (particle swarm optimization)

Calculul evolutionist -modeleaza procese naturale: selectie, recombinare, mutatie, etc.


- lucreaza cu populatii de solutii potentiale si aplica principiul
supravietuirii celui mai bun (teoria evolutionista - Darwin) pentru a furniza
aproximari din ce in ce mai bune ale solutiei.
Indivizii din populatie evolueaza, astfel ca acestia devin mai adaptati mediului decat
indivizii din care au fost creati - similar cu adaptarea naturala.

Reele neuronale
Retelele neuronale artificiale sunt sisteme de prelucrare a informatiei ce modeleaza
structura creierului inspiratie biologica.
- Simuleaza o structura de calcul paralela, extrem de interconectata, ce contine un numar
mare de elemente de prelucrare (neuroni) relativ simple.
Elementele de prelucrare sunt conectate prin conexiuni ponderate. Ponderile
conexiunilor stocheaza informatia (cunostintele), reteaua fiind astfel capabila de
adaptare prin modificarea acestor ponderi.
Istoric:
- 1943: neuropsihologul W. McCulloch si matematicianul W. Pitts au scris prima lucrare
de retele neuronale ( A logical calculus of the ideas imanent in nervous activity )
- 1949: Donald Hebb ( The organization of the behaviour) : cu cat este mai mult
folosita, cu atat o conexiune neuronala devine mai puternica.
- 1958: Rosenblatt introduce perceptronul, retea neuronala cu un singur strat
- 1969: apare monografia Perceptronul, de Minsky si Papert
-1974: algoritmul de propagare inapoi a semnalului (Backpropagation) , descris initial
de P. Werbos in 1974, face ca retelele neuronale sa fie intens utilizate
- 1982: retelele cu instruire nesupervizata ( T. Kohonen)

Sisteme hibride
Sistemele hibride combina doua sau mai multe tehnologii (logica fuzzy, retele
neuronale, algoritmi genetici, etc.) pentru a construi sisteme inteligente.
Fiecare din aceste tehnologii reprezinta un mod de a modela inteligenta umana. Totusi,
aceste tehnologii luate individual au restrictii si limite.
Combinand una sau mai multe tehnologii intr-un sistem hibrid, sporesc capabilitatile si
performanta sistemului si prin aceasta se obtine o mai buna intelegere a cunoasterii
umane.

5
Exista mai multe modalitati de a obtine sisteme hibride:
Combinarea: exemplul tipic este o combinatie de retele neuronale si sisteme bazate pe
reguli fuzzy.
Integrarea : aceasta arhitectura foloseste de obicei trei sau mai multe tehnologii si
introduce o ierarhie intre subsistemele individuale. De exemplu, unul dintre subsisteme
este dominant si poate distribui task-uri catre alte subsisteme.
Fuziunea: o arhitectura cuplata puternic, de obicei bazata pe o capacitate de optimizare
puternica intre algoritmi genetici si retele neuronale. Prin fuziunea unor asemenea
tehnologii distincte, eficienta de invatare a sistemului rezultat creste.
Asocierea: arhitectura in care se asociaza diverse tehnologii individuale, schimband
cunostinte si fapte reciproc.

Aplicatii ale CI:


-economie (business-finante): exista un volum mare de date deja colectate in diverse arii
precum: e-commerce, super/hypermarkets, tranzactii bancare si financiare, gata de a fi
analizate pentru a se lua decizia optima
-sanatate (domeniul medical si farmaceutic): aceste date au fost partial analizate cu
metode specific medicale si contin o mare cantitate de informatie inca neexplorata
-cercetare stiintifica (astronomie, meteorologie, biologie, lingvistica, etc.): exista un
volum mare de date care nu pot fi explorate cu metode traditionale
-procesarea limbajelor naturale: D. Rumelhart si J. McClelland au introdus retelele
neuronale in domeniul procesarii limbajului natural. Prin procesarea unui limbaj natural,
vom intelege studiul modului de constructie a regulilor unui limbaj. Cei doi specialisti au
studiat acest proces cu ajutorul unei retele neuronale capabile sa invete timpul trecut al
limbii engleze. Invatand, reteaua neuronala a progresat din faza unui incepator pana la o
faza de specialist in care era capabila de a determina timpul trecut pentru verbe
neregulate. Abilitatea retelei neuronale de a generaliza pe baza unor date incomplete si de
a se auto-organiza, au permis ca reteaua neuronala sa genereze raspunsuri corecte cand i
s-a prezentat un verb nou sau necunoscut
-recunoasterea caracterelor (scrisului de mana): Cercetatori ai companiei Nestor Inc. din
SUA au dezvoltat un sistem de calcul neuronal care are ca dispozitiv de intrare a datelor o
tableta pe care se pate scrie. Reteaua a fost antrenata cu diverse scrisuri de mana, ea fiind
capabila sa interpreteze un scris de mana oarecare cu o inalta acuitate
-recunoasterea formelor (=pattern recognition): in clasificarea tintelor radar; in domeniul
controlului industrial
-modelarea economico-financiara, cu scop de a permite analize si prognoze eficiente.
Determinarea unor elemente de tendinta economico-financiara cum ar fi consum, pret,
inflatie, volum de vanzari, necesar de aprovizionat, etc. sunt in general greu de abordat
datorita numarului mare de parametri si a imprevizibilitatii lor
-detectarea fraudelor (in tranzactii cu cartea de credit)

Bibliografie

6
C. Enachescu, Calculul neuronal, 2008
A. P. Engelbrecht, Computational Intelligence: An Introduction, 2nd Edition, John Wiley
& Sons Ltd. 2007
I. Rudas, J. Fodor, Intelligent Systems, Int. J. of Computers, Communications & Control,
2008, 132-138
S. Stancu, Calcul neuronal, Editura ASE, 2012
L. A. Zadeh, Fuzzy logic, neural networks and soft computing, Communications of the
ACM, vol. 37, pp. 77-84, 1994
L. A. Zadeh, Fuzzy sets. Information and Control, 8, 228-253, 1965.