7/27/2019 Analiza comparativa a algoritmilor de optimizare multicriteriala vs algoritmi bazati pe tehnici de inteligenta artificiala
1/14
Dumitrescu Sorin Alexandru, 314AC
Analiza comparativa a algoritmilor de optimizare multicriteriala (OM)
vs
algoritmi bazati pe tehnici de inteligenta artificiala (TIA)
Introducere
Viata este plina de alegeri si decizii. (Phil Rich)
Luarea de decizii inseama mai mult decat a inchide ochii si a selecta o varianta,
sau a lasa alegerea in voia unui joc al sortii. Aceasta presupune a avea in vedere a
numerosi factori care vor influenta din prima instanta, sau in viitor, cursul evenimentului
radacina si/sau a unuia sau mai multor evenimente declansate de precedentul.
Inca din cele mai vechi timpuri, omul a aspirat sa isi automatizeze viata, din nevoia
de a evita munca repetitiva. Inevitabil, s-a nascut conceptul de optimizare.
Ce inseamna optimizarea?
Optimizarea reprezinta procesul de selectare, din multimea solutiilor posibile ale
unei probleme, a acelei solutii care este cea mai satisfacatoare in raport cu unul sau maimulte criterii predefinite. Acest proces implica existenta a 3 componente:
O problema tehnica;
Existenta mai multor solutii pentru aceeasi problema;
Unul sau mai multe criterii de selectare a solutiei optime.
7/27/2019 Analiza comparativa a algoritmilor de optimizare multicriteriala vs algoritmi bazati pe tehnici de inteligenta artificiala
2/14
Dumitrescu Sorin Alexandru, 314AC
Prin optimizare, se doreste obtinerea de rezultate cel putin similar calitative, insa
se impune ca procesul sa fie mai optim din punct de vedere financiar, al timpului, al
complexitatii, sau al oricarui alt factor relevant pentru procesul in cauza.
Desigur, optimizarea fara niciun efect negativ advers, este dificil de obtinut. Ca
exemplu, putem aminti de strategia chineza a procesului de productie:
calitate sub media internationala;
costuri substantial scazute;
care, in final, conduc catre beneficii financiare, surprinzator sau nu, extrem de
avantajoase.
Orice proces presupune existenta unul algoritm dupa care va functiona.
Ce reprezinta un algoritm?
Un algoritm este o metoda de calcul alcatuita din pasii necesari solutionarii unei
probleme. Implicit, procesul de optimizare se bazeaza pe algoritmi, fiecare oferind o
alta abordare asupra subiectului.
Chiar si luarea unei decizii se face dupa un algoritm:
1. definirea problemei;2. determinarea cerintelor;3. stabilirea obiectivelor;4. identificarea alternativelor;5. definirea criteriului pe baza caruia se face alegerea;
6. selectarea unei decizii;7. evaluarea alternativelor;8. validarea solutiei.
In paginile care urmeaza, vom prezenta doua tipuri de algoritmi de optimizare:
multicriteriala (OM)
si
bazati pe tehnici de Inteligenta Artificiala (TIA).
7/27/2019 Analiza comparativa a algoritmilor de optimizare multicriteriala vs algoritmi bazati pe tehnici de inteligenta artificiala
3/14
Dumitrescu Sorin Alexandru, 314AC
Algoritmi de optimizare multicriteriala
Optimizarea multicriteriala se ocupa cu functii matematice de optimizare, care
implica eficientizarea simultana a mai mult decat a unei functii. Este o tehnica folosita
vaste domenii de activitate ca: inginerie aplicata, economie, finante si productie.
Pentru a lamuri conceptul multicriterial, vom apela la un exemplu elocvent si
anume, eficientizarea procesului de procesare a deseurilor.
Printr-o mai buna sortare a deseurilor, se poate obtine o rata mai mare a reciclarii
materialelor si in acelasi timp cresterea cantitatii de energie alternativa obtinuta prin
transformarea gunoiului nereciclabil, printre altele, in gaz metan. In linii mari, putem
compara procesul cu marirea unei fractiia
b, crescand numaratorul (a), si in acelasi
timp scazand si numitorul (b). Astfel avem de-a face cu o situatie win-win.
7/27/2019 Analiza comparativa a algoritmilor de optimizare multicriteriala vs algoritmi bazati pe tehnici de inteligenta artificiala
4/14
Dumitrescu Sorin Alexandru, 314AC
Avantaje
timp de executie redus;
precizie mare a rezultatelor;
rezultate imbunatatite.
Dezavantaje
complexitatea sporita a
algoritmului.
Ce instrumente foloseste?
Prin instrument intelegem un algoritm propriu-zis, dupa care se face
optimizarea.
7/27/2019 Analiza comparativa a algoritmilor de optimizare multicriteriala vs algoritmi bazati pe tehnici de inteligenta artificiala
5/14
Dumitrescu Sorin Alexandru, 314AC
Algoritmi multi attribute si multi-objective
Multiple attribute utility theory (MAUT)
Aceasta metoda consta in 7 pasi:
1. Identificarea entitatii care va lua decizia;
2. Identificarea problemei;
3. Identificarea optiunilor;
4. Identificarea valorilor relevante in cazul respectiv;
5. Clasarea valorilor relevante in functie de importanta;
6. Determinarea probabilitatii fiecarei optiuni de a maximiza fiecare valoare
relevanta in parte;
7. Calcului statistic.
Analytic hierarchy process (AHP)
Metoda se aplica dupa urmatorul algoritm:
1. Modelarea problemei sub forma ierarhica;
2. Stabilirea prioritatilor in cadrul ierarhiei;
7/27/2019 Analiza comparativa a algoritmilor de optimizare multicriteriala vs algoritmi bazati pe tehnici de inteligenta artificiala
6/14
Dumitrescu Sorin Alexandru, 314AC
3. Intocmirea unei ierarhii care contine principalele elemente (prioritatile);
4. Verificarea consistentei deciziilor;
5. Luarea unei decizii finale.
ELimination Et Choix Traduisant la REalit (ELECTRE)
Este o metoda folosita pentru a elimina solutii inacceptabile. Consta in doua
parti:
1. Construirea unor relatii de surclasare intre diferite actiuni, luate doua cate doua;
2. Implementarea actiunilor recomandate dupa primul pas.
Preference ranking organization method for enrichment of evaluations
(PROMETHEE)
Este o metoda care se bazeaza pe clasament. Se foloseste pentru a gasi o solutie
de compromis intre mai multi factori caracteristici problemei. Dupa compararea
criteriilor si cuantificarea lor, daca exista alternative cu valori similare, perechea de
solutii este declarata incomparabila. Prin urmare, se construiesc noi criterii care vor
ajuta la luarea unei decizii optime.
7/27/2019 Analiza comparativa a algoritmilor de optimizare multicriteriala vs algoritmi bazati pe tehnici de inteligenta artificiala
7/14
Dumitrescu Sorin Alexandru, 314AC
Algoritmi de optimizare bazati pe tehnici de inteligenta artificiala
Pentru a putea intelege aceste tehnici, vom discuta intai despre inteligenta
artificiala.
Ce este inteligenta artificiala?
Inteligenta artificiala este un domeniu de cercetare in cadrul informaticii, sau
produsul rezultat in urma acesteia.
Cea mai uzuala definitie este cea data de John McCarthy, in 1955:
[] o masina care se comporta intr-un mod care poate fi considerat inteligent, daca ar fi
vorba de un om
Cum functioneaza algoritmii bazati pe inteligenta artificiala?
Acesti algoritmi se bazeaza pe tehnici de invatare (self-learning sau external
learning), ducand astfel catre o auto-optimizare.
HAL 9000, Artificial Intelligence Entity
7/27/2019 Analiza comparativa a algoritmilor de optimizare multicriteriala vs algoritmi bazati pe tehnici de inteligenta artificiala
8/14
Dumitrescu Sorin Alexandru, 314AC
Un exemplu concret de optimizare prin AI este bijuteria industriei automotive
japoneze, automobilul creat de NISSAN, GT-R. Tehnologia care se afla in spatele
acestuia, permite atingerea unor performante inegalabile pentru aceasta categorie.
Algoritmul inteligent scaneaza carosabilul in prealabil, schimband activ
setarile suspensiei, cutiei de viteze, mecanismului de directie si programelor de
asistenta la condus, asigurand coeficienti maximi de aderenta, care permit eficientizarea
transmiterii puterii efective la roti, fara compromiterea altor factori ca masa, pret,
consum, aerodinamicitate, s.a.
Avantaje
versatilitate ridicata;
functionare autonoma;
capacitatea de invatare;
Dezavantaje
posibilitatea obtinerii de rezultate
neasteptate/nedorite
complexitate foarte ridicata a
algoritmilor.
7/27/2019 Analiza comparativa a algoritmilor de optimizare multicriteriala vs algoritmi bazati pe tehnici de inteligenta artificiala
9/14
Dumitrescu Sorin Alexandru, 314AC
Ce tipuri de algoritmi bazati pe inteligenta artificiala exista?
In continuare vom prezenta urmatoarele patru tipuri de algoritmi de optimizare:
Retea neuronala aritificiala
Logica Fuzzy
Algoritmi evolutivi
Algoritmi genetici
Reteaua neuronala artificiala
Aceasta idee porneste de la conceptul celulei specifice a sistemului nervos,
neuronul. Neuronii sunt celule individuale care comunica intre ele prin sinapse prin
impulsuri electrice. Aceasta conglomeratie de celule interconectate formeaza o retea
neuronala.
Reteaua neuronala a fost luata ca exemplu in incercarile de formare pe cale
artificiala a unei inteligente cat mai apropiata de cea naturala. Astfel s-au creat retele
neuronale artificiale, capabile sa imite procesele naturale.
Aceste retele poseda capacitatea de invatare in urma interactiunii cu mediul
incojurator, care faciliteaza optimizarea procesului analizat. Interpretarea informatiilor
si stimulilor externi permite crearea unui model propriu al procesului, care va fi capabil
sa raspunda si sa interpreteze autonom valorile transmiise de alti stimuli, neutilizatipana la momentul dat in procesul de invatare. Stilul de invatare este cel pe baza
exemplului.
Progresul in acest sens este unul lent, unitatile retelei fiind mult inferioare
neuronilor, in termeni de putere de calcul individuala.
7/27/2019 Analiza comparativa a algoritmilor de optimizare multicriteriala vs algoritmi bazati pe tehnici de inteligenta artificiala
10/14
Dumitrescu Sorin Alexandru, 314AC
Logica Fuzzy
Logica Fuzzy ofera o metoda flexibila de tratare a incertitudinii. Se foloseste
pentru a reprezenta si evalua concepte sau criterii abstracte si/sau imprecise. Abordarea
problemei se face catalogand criteriile binar, cu 1 si 0. Dupa aceasta etapa, se
efectueaza o clasificare a alternativelor dupa numarul de 1 si 0 care le sunt atribuite pe
baza criteriilor.
Algoritmi evolutivi
Acesti algoritmi se folosesc de invatarea inductiva, nesupervizata, bazata pe
observatii. Utilizeaza modele care se inspira din evolutia biologica precum mutatie,
recombinare, reproducere, selectie naturala.
Algoritmi genetici
Se bazeaza pe selectie naturala si pe principiile geneticii enuntate de Charles
Darwin.
Supravieuiete cel care e cel mai bine adaptat "
Acest tip de algoritm nu va recomanda solutia optima, ci solutia cea mai
apropiata de optim. El se va repeta, ducand la eliminarea solutiilor ineficiente, pana la
gasirea celei potrivite.
7/27/2019 Analiza comparativa a algoritmilor de optimizare multicriteriala vs algoritmi bazati pe tehnici de inteligenta artificiala
11/14
Dumitrescu Sorin Alexandru, 314AC
Algoritmizare si implementare
Vom incepe prin exemple de implementare a algoritmilor de optimizare
multicriteriali.
Sa luam in considerare un avion de vanatoare. Principalele criterii de optimizare
sunt:
viteza
fiabilitate
autonomia de zbor
incarcatura maxima utila a armamentului
elemente de avionica
consum
pret
Putem optimiza prin inlocuirea motorului curent cu unul mai performant, insa
construit din aliaje mai usoare. Prin aceasta schimbare, se mareste puterea viteza,
scade greutatea autonomie de zbor sporita, consum mai redus, se poate mari
incarcatura maxima utila a armamentului transportat.
In cazul algoritmilor de optimizare bazati pe tehnici de inteligenta artificiala,
vom prezenta un exemplu de algoritm de foloseste ambele tipuri de invatare.
Primul exemplu il constituie un sistem de control al site-ului qoffice.ro. Asistentul
vocal, este capabil sa ofere informatii optime din punct de vedere al locatiei geografice
si a preferintelor. Algoritmul se foloseste de auto-invatare din parametrii primiti de la
utilizatori si de invatare manuala primita de la administratori. Astfel sistemul se
optimizeaza treptat, fiind capabil sa ofere rezultate din ce in ce mai precise.
7/27/2019 Analiza comparativa a algoritmilor de optimizare multicriteriala vs algoritmi bazati pe tehnici de inteligenta artificiala
12/14
Dumitrescu Sorin Alexandru, 314AC
Studiu de caz Optimizare multicriteriala vs Algoritmi Fuzzy
Optimizarea multicriteriala si algoritmiide tipFuzzy sunt unele dintre cele mai
raspandite metode de eficientizare a unui proces. Aplicatiile acestora acopera toate
domeniile de activitate, de la inginerie aplicata pana la economie.
Algoritmii Fuzzy, spre deosebire de OM, deseori pot complica o problema
simpla, fiind limitati la aprecierea binara a criteriilor.
Totusi, optimizareamulticriteriala se va confrunta cu probleme in cazul in care
se aleg criterii ce nu pot fi apreciate in mod absolut. Conceptele abstracte, insa se vor
rezolva prin intermediul unul algoritm Fuzzy.
Desi este catalogat ca un algoritm de optimizare bazat pe inteligenta
artificiala, Fuzzy se poate incadra la randul sau in cadrul algoritmilor multicriteriali.
7/27/2019 Analiza comparativa a algoritmilor de optimizare multicriteriala vs algoritmi bazati pe tehnici de inteligenta artificiala
13/14
Dumitrescu Sorin Alexandru, 314AC
Concluzii
Optimizarea este procesul care sporeste calitatea vietii, care impune evolutia
tehnologiei si care faciliteaza dezvoltarea gandirii umane. Nascuta din nevoie,
optimizarea a devenit o nevoie in orice domeniu de activitate.
Privind catre viitor, vom putea previzualiza o lume construita pe baza
algoritmilor, din ce in ce mai inteligenti, mai optimi si mai versatili. Rezultatele obtinute
vor fi precise, personalizate si vor avea o tenta personala de comunicare.
Recunoasterea greselilor si eliminarea lor, treptat, va aduce la nivel global o
crestere multicriteriala, care va pune bazele urmatoarei etape a evolutiei omenirii.
Optimizarea este calea catre progres.
7/27/2019 Analiza comparativa a algoritmilor de optimizare multicriteriala vs algoritmi bazati pe tehnici de inteligenta artificiala
14/14
Dumitrescu Sorin Alexandru, 314AC
Bibliografie
Introduction to Decision Making Methods, Jnos Flp
The Decision-making Poketbook, Neil Russell-Jones
Evolutionary Algorithms for Solving Multi-Objective Problems, Carlos A. Coello
Coello; Gary B. Lamont; David A. Van Veldhuisen
Multiple Criteria Decision Making, Zeleny M.
Fuzzy logic and arithmetical hierarchy, Hjek, Petr
Fuzzy Logic, Kosko, Bart; Isaka, Satoru
A Field Guide to Genetic Programming, Poli, R., Langdon, W. B., McPhee
Genetic Algorithms in Ruby
Computational Intelligence An introduction, Andries P. Engelbrecht
An introduction to Neural Networks, Kevin Gurney
wikipedia.org
mit.edu
artint.info
ieeexplore.ieee.org
http://ai4r.rubyforge.org/geneticAlgorithms.htmlhttp://ai4r.rubyforge.org/geneticAlgorithms.html