Sunteți pe pagina 1din 9

UNIVERSITATEA POLITEHNICA BUCURESTI STRUCTURI DE DATE SI ALGORITMI

! !

ANALIZA COMPARATIVA A ALGORITMILOR DE OPTIMIZARE MULTICRITERIALA (OM) VS ALGORITMI BAZATI PE TEHNICI DE INTELIGENTA ARTIFICIALA (TIA)

DIACONU MIHAI ALIN

"#$%&'$!()*+,"!

-&$./#0!)&1$&!"%&#!

UNIVERSITATEA POLITEHNICA BUCURESTI STRUCTURI DE DATE SI ALGORITMI

INTRODUCERE
Peste tot in jurul nostru, se petrec evenimente, unele cauzate de om, altele nu, dar omenierea incearca sa le optimizeze deoarece asta ne dicteaza firea umana, sa producem cat mai mult din cat mai putin si cat mai repede.

CE INSEAMNA SA OPTIMIZEZI?
A optimiza inseamna sa perfectionezi, sa ajungi la eficienta maxima, fara a compromite functionalitatea. Pentru ingineri, optimizarea inseamna o colectie de metode si tehnici de design al produsului, astfel incat folosirea acestuia sa fie cat mai aproape de perfectiune, atunci cand i se furnizeaza parametrii ceruti. Desigur ca optimizare nu apare de la sine, de cele mai multe ori, pentru a optimiza un proces este nevoie de rezolvarea unor probleme matematice simple/complexe astfel incat sa creezi o functie care are nevoie de cat mai putine date de intrare, care sa returneze raspunsul corect, si care sa aibe cel mai mic timp de rulare posibil. Sa luam un exemplu, avem un dreptunghi de 1000 m2 si noi trebuie sa ii gasim dimensiunile laturilor, astfel incat perimetrul acestuia sa fie cat se poate de mic. Rezolvare: min: p = 2( x + y ) A = 1000 = x * y => 1000/x = y => p = 2(x + 1000/x) ! p' = 2 - 2000 x -2 => 2x2 - 2000 = 0 => x = 10 * sqrt(10) => y = x In acest exemplu, optimizarea este simpla, deoarece tot ce am facut a fost sa folosim o metoda simpla de a gfla cei doi parametrii, in realitate problemele sunt mult mai complexe

"#$%&'$!()*+,"!

-&$./#0!)&1$&!"%&#!

UNIVERSITATEA POLITEHNICA BUCURESTI STRUCTURI DE DATE SI ALGORITMI

CE INSEAMNA OPTIMIZARE MULTICRITERIALA?


Cunoscuta si sub numele de programare multiobiectiva, optimizare vectoriala, optimizare multiobiectiva, este un design de algoritmi pentru luarea de decizii, care folosesc criterii multiple.

UNDE SE FOLOSESTE OPTIMIZAREA MULTICRITERIALA?


In economie, problemele de optimizare vin cu mai multe obiecte care trebuiesc puse in balans, spre exemplu, o banca centrala cum este BNR-ul, trebuie sa stabileasca o politica monetara care sa balanseze in aceelasi timp inflatia, somajul, bugetul etc. In controlul automatizat, unde variabilele unor obiecte nu pot fi descrise la modul: cu cat este mai mic cu atat este mai bine sau invers, pentru aceste variabile exista un target ideal, si scopul functiei este de a ajunge cat mai aproape de aceasta valoare, pentru ficare obiect in parte. Spre exemplu la un avion, trebuie reglat fluxul de combustibil, flaps-urile, profundoarele, astfel incat sa consume un anumit volum de combustibil, sa ajunga la o anumita ora la destinatie.

DE CE OPTIMIZAREA MULTICRITERIALA?

Principalul factor de diferentiere este faptul ca se optimizarea multicriteriala poate fi programata folosind software de programare lineara, poate sa proceseze multe variabile si obiecte.

"#$%&'$!()*+,"!

-&$./#0!)&1$&!"%&#!

UNIVERSITATEA POLITEHNICA BUCURESTI STRUCTURI DE DATE SI ALGORITMI

De asemenea, rezultatul pe care sistemul il va furniza este unul cunoscut, sau pretabilit, din acest punct de vedere, optimizarea multicriteriala fiind opusul algoritmilor bazati pe inteligenta artificiala, deoarece acestia pot furniza un raspuns neasteptat.

CE ESTE INTELIGENTA ARTIFICIALA?


Inteligenta artificiala este o arie a stiintei calculatoarelor care studiaza sa creeaza algoritmi inteligenti, majoritatea cercetatorilor din aceasta ramura, o descriu ca "stiita agentilor inteligenti", unde un agent inteligent este un system care percepe mediul care il inconjoara si ia decizii care sa il avantajeze in diverse situatii.

SCOPUL INTELIGENTEI ARTIFICIALE


Simularea inteligentei artificiale a fost impartita in mai multe sub-straturi specifice: 1. DEDUCTIA SI REZOLVAREA PROBLEMEI Inca din anii 90, cercetatorii au realizat algoritmi care sa imite rationamentul oamenilor. Astfel ei au reusit sa creeze algoritmi care puteau sa se descurce in cazul in care informatiile furnizate nu erau complete, acestea folosindu-se ulterior in pobabilistica si economie. 2. REPREZENTAREA CUNOSTINTELOR Reprezentarea rezulaturilor in grafuri si arbori pentru a realiza cunostinte de baza. 3. PLANIFICAREA Agentii inteligenti trebuie sa isi seteze idealuri sa se le indeplineasca. Trebuie sa fie capabili sa vada in viitor, sa prezica outputul si inputul care va urma. (asemanator unui joc de sah) 4. INVATAREA Agentii inteligenti trebuie sa aibe capabilitatea de a invata adica de a gasi similitudini in datele de intrare pentru a ajunge la output fara calcularea lor. Astfel, agentul inteligent se auto-optimizeaza, timpul de rulare teoretic scurtandu-se.

"#$%&'$!()*+,"!

-&$./#0!)&1$&!"%&#!

UNIVERSITATEA POLITEHNICA BUCURESTI STRUCTURI DE DATE SI ALGORITMI

5. PROCESAREA LIMBAJULUI NATURAL. Procesarea limbajului natural le ofera agentilor inteligenti capabilitatea de a intelege si a raspune in limbaje pe care oamenii le vorbesc(Engleza, Romana etc). Astfel, se pote folosi un input vocal, scris, practic orice sursa venita de la om.

METODOLOGIA INTELIGENTEI ARTIFICIALE


In momentul de fata nu exista o metodologie standard, deoarece parerile sunt impartite in randul cercetatorilor, deoarece intrebarea principala este daca sistemul trebuie sa se asemene omului sau nu. De la aceasta intrebare pleaca o multitudine de alte intrebari, daca sistemul trebuie sa fie bazat pe logica sau psihologie etc. Din cauza acestor pareri impartite, au aparut mai multe abordari. 1. SIMULAREA CREIERULUI UMAN SI CIBERNETICA Totul a pornit de la conectarea neurologiei cu teoria informatiei si cibernetica. Cea mai mare realizare a fost designul arhitecturilor electronice care sa imite inteligenta rudimentara, dar aceasta abordare a ineput sa fie din ce in ce mai putin raspandita. 2. SIMULAREA COGNITIVA In anii 80, cercetatorii au incercat o noua abordare, de a imita aptitudinea oamenilor de a rezolva probleme, reusind sa creeze astfel arhitectura Soar. 3. BAZA LOIGICA Unii cercatatori au ajuns la concluzia ca cea mai simpla si eficienta abordare ar fi cea logica, respective parcurgearea unei secvente de cod care verifica valoarea de adevar a unor situatii, astfel, a fost realizat limbajul de programare Prolog.

"#$%&'$!()*+,"!

-&$./#0!)&1$&!"%&#!

UNIVERSITATEA POLITEHNICA BUCURESTI STRUCTURI DE DATE SI ALGORITMI

INSTRUMENTE
1.RETELE NEURALE ARTIFICIALE

O retea nurala artificiala este un sistem care imita sistemul central nervos, prin gruparea neuronilor artificiali supa un model computational bazat pe teoria conectivitatii. In mare, aceasta retea este un sistem informatic care isi schimba structura in functie de informatia care trece prin el. In termini stiintifici, o retea neurala este un sistem non linear de modelare a datelor staistice, sau un sistem de luare a deciziilor. Un exemplu classic de retea neurala este paienjenisul lui Hopfield. 2. METODE PROBABILISTICE Cum am enuntat si mai sus, in inteligenta artificiala, exista ideea de agenti inteligenti, adica de sisteme care invata singuri, astfel incat, poate sa caute similitudini(patterns) in datele de intrare sis a estimeze datele de iesire.

"#$%&'$!()*+,"!

-&$./#0!)&1$&!"%&#!

UNIVERSITATEA POLITEHNICA BUCURESTI STRUCTURI DE DATE SI ALGORITMI

EXEMPLE DE IMPLEMENTARI
Cea mai vasta arie in care este implementata inteligenta artificiala o reprezinta jocurile. De multi ani, companiile mari ( Electronic Arts, RockStar, WestWood, etc) investesc din ce in ce mai mult in studiul inteligenti artificale pentru a creea un mediu cat mai realist. Cel mai mult se lucreaza la NPC-uri ( non player characters ), pentru a ii creea cat mai realist posibil, acestia trebuie sa gaseasca singuri drumuri catre diferite obiective, catre pozitia jucatorului, sa decida ce arma sa foloseasca, ce stil de atac sa foloseasca,cum sa reactioneze in anumite situatii( fuga, ascunda etc ), invata din experienta trecuta, astfel incat sa poata prezice viitoarele actiuni ale jucatorului. O un trend in jocuri, este voice recognition, ceea ce dinou ii trimite pe cercetatori catre implementarea inteligentei artificiale, deoarece trebuie sa foloseasca un limbaj natural pe care s ail proceseze si sa vina cu raspunsuri cat mai umane. Un alt exemplu de implementare a inteligentei artificiale, este CleverBot, un sistem, care prin intermediul unui website, ii ofera utilizatorului posibilitatea de a vorbi cu sistemul, si de a primii un raspuns cat se poate de uman, spre exemplu il poti intreba horoscopul, s ail intrebi cum se simte, s ail intrebi detalii despre o personalitate, etc. Un lucru foarte interesant, care i-a facut sip e creatorii lui sa isi puna intrebari este faptul ca acest sistem nu este capabil sa inteleaga ca nu este o fiinta umana. In prezent, din cauza faptului ca invata singur diferite limbaje naturale, a ajuns sa vorbeasca chiar si limba romana.

OPTIMIZARE MULTICRITERIALA VS ALGORITMI FUZZY


In prezent, optimizarea multicriteriala si algoritmii fuzzy, reprezinta cele mai raspandite arii in demeniul sistemelor de luare a deciziilor. Principala problema a algoritmilor fuzzy, este faptul ca valoarea de adevar a datelor este reprezentata binar, astfel, un set de date poate fi adevarat sau fals, in optimizarea multicriteriala aceasta problema este inexistenta, luarea deciziilor facandu-se pe baza mai multor criterii. In schimb, optimiarea multicriteriala complica solutionarea problemelor simple, care nu necesita decat evaluarea starii de adevar a datelor, spre exemplu, OM-ul nu este cea mai buna alegere in cazul optimizarii sistemului de franare al masinii, in acest caz, algoritmii fuzzy sunt perfecti.

"#$%&'$!()*+,"!

-&$./#0!)&1$&!"%&#!

UNIVERSITATEA POLITEHNICA BUCURESTI STRUCTURI DE DATE SI ALGORITMI

De asemenea, oprimizarea multicriteriala nu este tocmai folositoare in cazul in care criteriile evaluate sunt interdependente, adica se pot deduce prin rezolvarea unor ecuatii lineare.

CONCLUZIE
In concluzie, optimizarea multicriteriala si algoritmii bazati pe tehnici de inteligenta artificiala reprezinta solutii pentru diverse probleme, in cazul in care dorim sa creem un sistem care sa invete automat, care sa proceseze un limbaj natural, sau sa ne furnizeze un raspuns imprevizibil, daca dorim in schimb sa realizam un sistem de control, care sa decida pasii necesari astfel incat anumite criterii sa ajunga cat mai aproape de o valoare prestabilita, atunci, optimizarea multicriteriala este alegerea perfecta.

"#$%&'$!()*+,"!

-&$./#0!)&1$&!"%&#!

UNIVERSITATEA POLITEHNICA BUCURESTI STRUCTURI DE DATE SI ALGORITMI

BIBLIOGRAFIE
Lotov, A. V.; Miettinen, K. (2008). "Visualizing the Pareto Frontier" Miettinen, K.; Mkel, M. M. (2006). "Synchronous approach in interactive multiobjective optimization"

Myers, Courtney Boyd ed. (2009). The AI Report. Forbes June 2009
Skillings, Jonathan (3 July 2006). "Getting Machines to Think Like Us" http://www.mit.edu http://www.stanford.edu http://www.cam.ac.uk http://wikipedia.org Dreyfus, Hubert (1992). What Computers Still Can't Do.

"#$%&'$!()*+,"!

-&$./#0!)&1$&!"%&#!

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