Sunteți pe pagina 1din 14

INTELIGENTA COMPUTATIONALA – CURS 1

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

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


Extrapolarea este o extindere ipotetica a unei notiuni, legi, teorii, de la un
domeniu mai larg la altul, trecerea de la o idee la alta, mai complexa, cu o
sfera mai larga, etc.

2
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
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.
Scopul unui sistem inteligent artificial este de a imita sau depăși funcțiile
cognitive umane, îmbunătățind eficiența, precizia și îndeplinirea sarcinilor la
o scară sau viteză pe care oamenii nu le pot atinge.
Componentele unui sistem inteligent artificial sunt:
●Datele. Sistemele inteligente artificiale necesită cantități mari de date
pentru a învăța și a lua decizii. Aceste date pot exista sub diferite forme,
precum text, imagini, numere etc., in functie de task-uri.
●Algoritmi. În centrul sistemelor inteligente artificiale se află algoritmii –
seturi de reguli sau instrucțiuni – care permit sistemului să proceseze date, să
învețe din ele și să ia decizii. Acești algoritmi pot varia de la simple afirmații
condiționate la rețele neuronale complexe care imită structura și funcția
creierului uman.
●Machine Learning (ML). Acesta este un domeniu al inteligentei
artificiale care se concentrează pe construirea de sisteme care învață din

3
date, îmbunătățindu-și performanța în timp, fără a fi programate în mod
explicit pentru fiecare sarcină. Învățarea profundă (Deep Learning), un
subdomeniu al ML, utilizează rețele neuronale cu mai multe straturi pentru a
analiza modele complexe în seturi mari de date.
●Natural Language Processing (NLP). Această tehnologie permite
sistemelor inteligente artificiale să înțeleagă, să interpreteze și să genereze
limbajul uman, permițând interacțiuni mai naturale între oameni și mașini
prin voce sau text.
●Robotica. Unele sisteme AI sunt încorporate în roboți, permițându-le să
îndeplinească sarcini fizice, să interacționeze cu mediul lor și să navigheze
în mod autonom.
●Computer Vision. Sistemele AI echipate cu viziune computerizată pot
interpreta și înțelege lumea vizuală - recunoscând obiecte, fețe, scene și
activități în imagini și videoclipuri.
●Sisteme suport de decizie. AI poate fi utilizată pentru a asista sau
automatiza procesele de luare a deciziilor, analizând cantități mari de date
pentru a identifica modele, a prezice rezultatele și a recomanda acțiuni.

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:
4
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.

5
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.
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, evolutia ei cu ajutorul simularilor
cu modele de calculator, robotica si biochimie. A-Life 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.

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

7
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
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, determinata
de comportamentul fluctuant, aleator al sistemului, va facilita mai degraba
decat va impiedica autoorganizarea.

8
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, nuanţat
Fuzziness: imprecizie nestatistica si caracter vag al informatiilor si datelor
Lotfi Zadeh: “Motivul pentru care am ales cuvântul fuzzy este că ceea ce
am avut în minte sunt clasele care nu au graniţe 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.

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

Incertitudinea si imprecizia sunt aspecte ale informatiei imperfecte ce apare


in studiul unor sisteme complexe din natura si societate. In literatura exista
si metode clasice de reprezentare a informatiei imperfecte, precum teoria
probabilitatilor si analiza intervalelor.

Teoria probabilitatilor modeleaza incertitudinea bazata pe sansa si are ca


punct de plecare frecventa de realizare a evenimentelor. Din cauza
impreciziei masuratorilor uneori este mai indicat ca datele sa fie reprezentate
prin intervale ale dreptei reale. Acest fapt a condus la analiza intervalelor sau
calculul intervalelor.
Studierea unor notiuni ca “multimea oamenilor inalti” sau a unor propozitii
“ne intalnim in jurul pranzului” nu intra in sfera teoriei probabilitatilor sau
a calculului intervalelor. Exemple de acest fel pun in evidenta un alt tip de
incertitudine, numita “FUZZINESS” sau “VAGUENESS”.

Calculul evolutionist cuprinde:


1. Algoritmi genetici (genetic algorithms)
2. Programare evolutionista (evolutionary programming)

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

Reţele 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:

11
- 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)-harti cu auto-
organizare (Self-Organizing Maps)

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.
Exista mai multe modalitati de a obtine sisteme hibride:

12
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

13
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):


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

14

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