Sunteți pe pagina 1din 22

Analiza comparativa a algoritmilor

de optimizare multicriteriala (AOM)


vs algoritmi inteligenti(AI)
Tudor Geanina-Monica
314 AC

Cuprins:
1.Introducere
1.1 Algoritmi-generalitati
1.2 Optimizarea- generalitati
1.3 Obiectivele optimizarii
1.4 Rezultate asteptate
2.Algoritmi de optimizare multicriteriala
(AOM):
2.1 Generalitati
2.2 Metode de luare a deciziilor
2.3Metoda PROMETHEE-GAIA
2.4 Analiza PROMETHEE-GAIA
2.5 Obiective
2.6 Puncte tari/ Puncte slabe
3.Algoritmi inteligenti (AI)
3.1 Generalitati
3.2 Retele neuronale
3.2.1 Clasificare
3.3Logica Fuzzy
3.4 Algoritmi evolutivi
3.5 Algoritmi genetici
3.5.1 Terminologie
3.5.2 Pseudocod
3.5.3Principii
3.5.4 Metode de selectie
3.6 Puncte tari/ Puncte slabe
4.Tehnici de implementare pentru AOM si AI
5.Studiu de caz: AOM vs AI
6.Concluzii
7.Bibliografie
2

8.Prezentare Prezi

1.Introducere
1.1 Algoritmi-Generalitati
Algoritmul reprezinta in matematica si informatica o metoda sau o
procedura de calcul alcatuita din pasi elementari necesari pentru
rezolvaea unei probleme sau categorii de probleme. De obicei, algoritmii
se implementeaza in mod concret prin programarea adecvata a unui
calculator sau a mai multora. Algoritmii prezinta o serie de proprietati,
printre care cele mai importante sunt:

Generalitatea - algoritmul rezolva o clasa de probleme, nu o problema


particulara;

Claritatea algoritmul nu contine ambiguitati ;

Finitudinea algoritmul se termina dupa un numar finit de pasi;

Completitudinea algoritmul tine cont de toate cazurile particulare ale


problemei generale ( Ex : calculul lui 2 la n. Caz particular : 2 la 0 care
trebuie tratat separat.) ;

Eficienta algoritmul se va executa numar minim de pasi, folosind un


minim de memorie ;

Realizabilitatea algoritmul poate fi codificat intr-un limbaj de


programare;

Ca exemple de algoritmi putem aminti urmatoarele:

algoritmul de constructie a unui automobil (urmarind schitele de


fabricatie);

algoritmul de folosire a unei masini-unelte (citind manualul de folosire);


3

algoritmul de explorare a unui labirint in vederea gasirii unei iesiri (una


din solutii: se tine o mna pe perete si se merge fara a o dezlipi de
acesta).

Algoritm pentru Semnaturi Digitale

Insa, un exemplu de algoritm executat de om in viata de zi cu zi poate


fi gatirea unei omlete:
pas 1.Pune tigaia pe foc
pas 2.Pune o lingurita de ulei in tigaie
pas 3.Cit timp uleiul nu s-a incins asteapta
pas 4.Pune oualele in tigaie
pas 5.Astepta pana cand se rumenesc
pas 6.Daca nu tii regim, pune sare

1.2 Optimizarea-generalitati
Optimizarea reprezinta activitatea de selectare, din multimea solutiilor
posibile unei probleme, a acelei solutii care este cea mai buna in raport cu
un criteriu predefinit. Insa luarea unei decizii implica mai intai existenta
unor solutii ce pot fi luate in considerare si intr-un astfel de caz scopul nu
este doar sa identificam toate solutiile posibile, ci sa o alegem pe cea
care se potriveste cel mai bine in raport cu obiectivele, telurile, dorintele
noastre si nu numai.
In luarea unei decizii, se stabileste criteriul de decizie, se selecteaza
alternativele, se construieste un model, se evalueaza alternativele
folosind modelul, apoi se selecteaza cea mai buna alternativa. Un model
este o abstractie si o simplificare a unei probleme reale, incorpornd ideal
elementele esentiale si relatiile din problema reala. Rezolvarea unui
model inseamna obtinerea concluziilor logice care rezulta, concluzii ce
constituie un ghid efectiv in luarea deciziei daca modelul este proiectat si
4

rezolvat corect. Luarea deciziei implica informatia cantitativa obtinuta din


model cu judecarea intuitiva a factorilor calitativi.

1.3 Obiectivele optimizarii


Orice inginer ce lucreaza permanent cu algoritmi pentru rezolvarea a
diferite probleme doreste sa-i optimizeze pentru a obtine un rezultat din
ce in ce mai performant. Avand in vedere ca isi propune gasirea celei mai
bune solutii dintre toate cele existente, optimizarea are ca prim obiectiv
imbunatatirea performantelor in raport cu un anumit criteriu. Totodata,
algoritmii au ca scop folosirea unei cantitati cat mai mici de resurse, in
acest proces avand un rol semnificativ eficienta codului. Totodata, prin
optimizare se doreste creearea unor algoritmi cat mai performanti prin
reducerea memoriei utilizate si a timpului de executie.

1.4 Rezultate asteptate


Avand in vedere ceea ce isi propune optimizarea, este de asteptat ca si
rezultatele sa apara. Astfel, in urma procesului de optimizare putem fi
siguri de cresterea nivelului de performanta al algoritmilor. In acelasi
timp, va creste nivelul fiabilitatii si al mentenantei. Algoritmul respectiv
este unul stabil si capabil sa ruleze pe orice masina de calcul.

2.Algoritmi de optimizare
multicriteriala(AOM)
2.1Generalitati
O clasa de probleme cu un grad mare de complexitate admite existenta
mai multor functii obiectiv. Problemele in care mai multe functii obiectiv
trebuie optimizate simultan se numesc probleme de optimizare
multicriteriala (optimizare multiobiectiv, optimizare vectoriala). De cele
mai multe ori criteriile de optim sunt contradictorii, ingreunand
semnificativ stabilirea unei tehnici de rezolvare a problemelor de acest
gen. O abordare simplista permite convertirea criteriilor intr-o singura
functie obiectiv, problema reducandu-se la o problema de optimizare
clasica cu un singur obiectiv. Fiecare criteriu isi va aduce aportul in
aceasta functie printr-o pondere prestabilita. Alegerea ponderilor pentru
definirea unei unice functii obiectiv cunoaste adesea o rezolvare
subiectiva care ar afecta solutia finala. Motivele prezentate incurajeaza
cercetarea altor tehnici de rezolvare a problemelor multicriteriale.
Cele mai multe probleme de decizii economice, industriale, financiare sau
politice sunt multicriteriale. De exemplu, nimeni nu cumpara o masina
tinand cont doar de pret (criteriul financiar), caci se iau in considerare si
alte aspect cum ar fi confortul, calitatea, performanta, prestigiul, etc.
Totodata, oamenii au pareri diferite, astfel incat daca mai multe persone
ar fi puse in fata unei multimi de masini si lasate sa aleaga, acestia nu ar
avea aceeasi optiune, fiecare orientandu-se dupa propriile sale gusturi si
criterii. Problema selectiei sau punerii intr-o anumita ordine a
alternativelor supusa la o evaluare multicriteriala nu este una usoara atat
6

din punct de vedere economic, cat si matematic. De obicei, nu exista nicio


solutie optima; nicio alternativa nu este cea mai buna pentru o conditie.
Calitatea ridicata implica totodata un pret mai mare. Astfel, criteriile de
selectare se afla intr-un asa zis conflict. De aceea trebuie luate In
considerare cele mai bune compromisuri.

2.2 Metode de luare a deciziilor


In ultimii ani au fost propuse multe metode de consultanta asupra
deciziilor pentru a fi de ajutor in algerea celor mai bune decizii. Toate
aceste metode pornesc de la acelasi tabel de evaluare, insa ele difera in
functie de informatiile aditionale cerute. Amintim cateva dintre aceste
metode :
1.Metode elementare:

Analiza pro si contra


Metoda maximax si maximin
Metode conjunctive si disjunctive
Metode lexicografice

2.Metode MAUT:

SMART ( Simple multiattribute rating technique )

3.Procesul de ierarhizare analitica(AHP)


4.Metode Outranking:

Metoda ELECTRE
Metoda PROMETHEE (Preference Ranking organization
Method forEnrichment Evaluation)

2.3 Metoda PROMETHEE-GAIA


In continuare,vom prezenta in detaliu una dintre cele mai eficiente si
usoare metodologii de a trata problemele multicriteriale si anume
PROMETHEE-GAIA. A fost dezvoltat un software usor de utilizat numit
Decision Lab in colaborare cu compania canadiana Visual Decision
pentru a asista toate tipurile de factori de decizie. Acest software trateaza
matrice similare cu cele din Tabelul 1, unde a 1 , a2 , ai , an sunt n
alternative posibile, iar f 1 , f2 , fj, fk sunt k criterii de evaluare.
7

Fiecare evaluare f j(ai) trebuie sa fie un numar real. O astfel de matrice


poate modela multe aplicatii din lumea reala. In unele situatii exista o
cerinta usoara si astfel matricea se obtine imediat, pe cand in alte cazuri
ar putea fi o problema destul de complexa care sa necesite multe luni de
munca si analiza. O serie de autori printre care B. Roy (1985), D.
Bouyssou (1984), R. Keeney (1992), S. Zionts (1989) si P. Vincke (1992) au
analizat cum sa modelezi o situatie multicriteriala din lumea reala. Acestia
au pus accentul pe faptul ca matricea trebuie sa fie de cele mai multe ori
evolutiva: in timpul progresului procedurii de decizile, pot fi luate in
considerare alternative suplimentare pentru a castiga informatie. In timp
ce noi criterii de evaluare ar putea fi adaugate, altele temporale pot fi
eliminate.Astfel, structura matricii se obtine progresiv. In timp ce
softwarul Decision Lab furnizeaza metode care sa se ocupe usor de
matricile evolutive, metodologia PROMETHEE nu ia in considerare de una
singura astfel de argumente. Ea incepe cand matricea este deja
construita. Chiar si in acest caz, nu este o sarcina usoara sa finalizezi
decizia. Apar intrebari de genul Care sunt cele mai bune compromisuri?
sau Care este cea mai eficienta clasificare?.

Cerintele pot fi formulate pentru o procedura multicriteriala potrivita.


Aceasta trebuie sa fie flexibila. O analiza minutioasa trebuie sa fie
posibila, fiind obtinute clasificari partiale si totale. Ar trebui sa fie afisata
o viziune clara asupra caracterului conflictual al criteriului si influenta
unui set particular de valori. Totodata, ar trebui sa fie posibil sa se ia in
considerare constrangeri de limitare suplimentare. Toate aceste conditii
sunt acoperite de procedura PROMETHEE-GAIA.
Desigur, vom intelege si mai bine toate aceste lucruri luand un exemplu
concret. Sa presupunem ca o fabrica de biciclete isi propune sa faca
reclama produselor sale. Dupa lungi discutii, 6 masuri de marketing se au
in vedere: publicitatea in ziarul international News, in ziarul Herald,
pe panourile publicitare din marile orase, prin trimiterea unor scrisori
8

personale sau prin spoturile publicitare televizate ale canalelor CMM sau
NCB. Totodata, se iau in considerare 5 criterii de evaluare:
costul(exprimat in 1000 US $), obiectivul (masurat in 10 000 oameni),
durata actiunii (in zile), eficienta (exprimata pe o scara de la 0-100) si
numarul de oameni implicati in actiuni din interiorul companiei (forta de
munca).
Trecandu-le pe toate in Tabelul 2, obtinem o matrice ce contine 30 de
evaluari. Unele criterii trebuie sa fie minimizate (costul si forta de munca),
pe cand altele trebuie sa fie maximizate (obiectivul, durata, eficienta).
Initial, trebuie sa fie alocate marimi egale tuturor criteriilor. Chiar si
pentru o astfel de problema mica, nu este evidenta cea mai buna metoda
de a face publicitate. Ba chiar nicio alternativa nu este optima pentru 5
criterii.

Criteriul
Min/max
News
Herrald
Panouri
publicit
are
Scrisori
CMM
NCB

C1
Costul
min

C2
Obiectul
max

C3
Durata
max
22
31
20

C4
Eficient
a
Max
51
13
58

C5
Forta de
munca
min
8
1
2

60
30
40

900
520
650

92
52
80

750
780
920

60
58
4

36
90
75

3
1
6

2.4 Analiza PROMETHEE & GAIA


PROMETHEE & GAIA calculeaza fluxurile pozitive si negative pentru fiecare
alternativa. Fluxul pozitiv exprima cat de mult domina o alternativa pe
alta, pe cand fluxul negativ determina cat de mult este dominata o
alternativa fata de alta. Dupa o analiza cu PROMETHEE I(clasificare
partiala) se obtine urmatorul rezultat: actiunea CMM le domina pe toate
celalalte; cele doua ziare News si Herald sunt incomparabile: primul
reprezinta o actiune puternica (cost, obiectiv ridicat, eficienta mare) pe
cand cel de-al doilea este limitat.

Totodata, prin PROMETHEE II se obtine o clasificare completa bazata pe


comparatia dintre doua fluxuri.Astfel, compania a primit ajutorul de care a
avut nevoie si detine o imagine de ansamblu asupra relatiilor dintre
metodele de promovare a produselor.

2.5 Obiective
Dupa cum am vazut in cele prezentare anterior, algoritmii de optimizare
multicriteriala isi propun reducerea pe cat de mult posibil a
incompatibilitatilor intre posibililele solutii si optinerea cat mai multor
relatii de dominare (legatura) intre acestea, pentru a putea fi astfel
comparate. Scopul final este de a crea o clasificare clara a tuturor
posibilitatilor de alegere a unei solutii .

2.6 Puncte tari/Puncte slabe

10

AOM sunt foarte des utilizati deoarece au ca avantaje timpul redus de


executie, implementare accesibila, utilizarea in numeroase domenii,
obtinerea unor rezultate precise . Insa, ca orice algoritmi, prezinta si
puncte slabe, cum ar fi faptul ca in cazul unor probleme complexe, timpul
de rulare devine mare, sunt mai dificili fata de algoritmii clasici, exista o
neconcordanta intre complexitatea problemei si hotararile utilizatorilor.

3.Algoritmii inteligenti(AI)
3.1Generalitati
In ultimii ani, a existat o crestere dramatica in ceea ce priveste interesul
si folosirea a variate tehnici de calcul software pentru aplicatii stiintifice si
ingieneresti. Sistemele inteligente este un termen destul de larg ce
acopera abordari pentru design, optimizare si control pentru numeroase
sisteme fara sa ceara modele matematice, intr-un mod asemanator cu
munca umana, si implica mai multe tehnici precum Retele
neuronale,sisteme fuzzy, algoritmi evolutivi, algoritmi genetici si totodata
combinatiile si derivatele acestora.Impreuna cu logica, rationamente
deductive acesti algoritmi inteligenti formeaza o parte din domeniul
numit Inteligenta artificiala. Doar uitandu-ne la ceasta variete de tehnici
ale inteligentei artificiale, poate fii vazuta ca o combinatie de mai multe
discipline , cum ar fi informatica, psihologie, filozofie, sociologies i
biologie.
Ce este inteligenta?
Incercarea de a gasi o definitie a inteligentei inca provoaca dezbateri
dificile. Dictionarul defineste inteligenta ca fiind capacitatea de a intelege
usor si bine, de a sesiza ceea ce este esential, de a rezolva situatii sau
probleme noi pe baza experientei acumulate anterior.Alte cuvinte tipice
care sa descrie aspect ale inteligentei sunt: creativitatea, indemanarea,
emotia, intuitia, constiinta.
Pot fi calculatoarele inteligente?
Aceasta este o intrebare care provoaca in prezent mai multe dezbateri
decat definitia inteligentei. La mijlocul anilor 1900, Alan Turing a sustinut
faptul ca masinile de calcul ar putea fi create pentru a mima procesele
11

creierului uman. Acesta credea cu certitudine ca nu exista nimic ce poate


face creierul si computerul sa nu poata. In timp ce s-a realizat cu success
modelarea sistemelor neurale biologice, nu exista inca solutii pentru
problemele complexe ale modelarii intuitiei, constiintei si emotiei, acestea
formand parti integrale ale inteligentei umane.
In 1950, turing a publicat un test de inteligenta a computerelor ce consta
intr-oapersona care pune intrebari prin intermediul unei tastaturi atat
calculatorului, cat si altei persone.Atata timp cat inetrogatorul nu
deosebeste raspunsul calculatorului de cel al omului, calculatorul este
considerat a fi intelligent.Testul acestuia nu are o probabilitate de 100%,
astfel ca opiniile lui nu pot fi sigure.
O definitie mai recenta a inteligentei artificiale a venit de la IEEE Neural
Networks Council in 1996 : a studia cum sa faci calculatoarele sa faca
lucruri pe care oamenii le fac mai bine.
In continuare vom prezenta tehnicile specific inteligentei artificiale.

3.2Retele neuronale
Retelele neuronale reprezinta o metoda generica de mapare sau
reprezentare a relatiilor de intrare si de iesire sau modele de functii
neliniare sau date printr-unul sau mai multe straturi ale unui grup
interconectat de neuroni artificiali (Reprezentarea se afla in figura de mai
jos). Retelele neuronale sunt formate din noduri de procesare numite
neuroni care colecteaza semnalele de intrare, le proceseaza si apoi
genereaza informatia de iesire si leaga conexiunile furnizate de-a lungul
straturilor de neuroni. De obicei, neuronii prelucreaza informatia de
intrare printr-o functie de activare si genereaza semnalul de iesire cand
intensitatea semnalelor de intrare depaseste un anumit prag, care este
apoi trecut in alti neuroni prin conexiuni. Neuronii si conexiunile de-a
lungul nivelurilor adiacente de neuroni furnizeaza retelelor neuronale
puterea de calcul a relatiilor arbitrare neliniare aproximative.

3.2.1Clasificare
Retelele neuronale pot fi grupate in retele supravegheate si
nesupravegheate in functie de metodele de formare. Retelele
nesupravegheate se refera la acele retele neuronale care nu necesita date
12

de iesire de-a lungul invatarii sau formarii cum ar fi retele de rezonanta


adaptive. Retelele supravegheate cum ar fi cele multistrat necesita atat
date de intrare, cat si de iesire de-a lungul formarii lor. Totodata, retelele
neuronale pot fi grupate in retele statice si dinamice in functie de
structura lor. Retelele statice furnizeaza maparea intre datele de intrare si
de iesire fara nicio conexiune dependent de timp intre straturi sau intre
neuronii din structura retelei. Pe de alta parte, retelele dinamice au
incorporat conexiuni de feedback cu intarzieri si prin urmare pot oferi o
structura mai compacta pentru reprezentarea relatiilor dinamice.

3.3 Logica fuzzy


Incertitudinile sau complexitatea multor sisteme fizice sau procese duc
adesea la o dificultate in dezvoltarea de modele analitice exacte. Cu
toate acestea, oamenii pot inca sa descrie comportamentul acestor
sisteme prin procesele lor cognitive, cel putin calitativ. Un expert poate fi
in masura sa controleze un proces bazat pe cunostintele sale si
observarea procesului, chiar si fara niciun model matematic.Setul de teorii
fuzzy este '' un corp de concepte si tehnici care dau o forma de precizie
matematica proceselor cognitive umane, care sunt de multe ori imprecise
si ambigue fata de standardele matematicii clasice '' (Kaufmann si Gupta,
13

1988). Intr-adevar, aceasta teorie permite sa se ocupe de elemente vagi


prin gruparea elementelor, care nu au limite clare, in clase diferite. Logica
fuzzy foloseste functii a caror valoare variaza de la 0 la 1, si permite
captarea reprezentari lingvistice ale cunostintelor. Imprecizia cunoasterii
este asigurata de functiile asociate cu fiecare variabila lingvistica. Intr-un
sens restrns, logica fuzzy este un system logic care este o generalizare a
logicii cu valori multiple (Zadeh, 2007). Datorita acestui motiv, teoria
fuzzy a fost aplicata la diverse probleme de inginerie care sunt prea
complexe sau prost definite pentru analiza matematica conventionala.
Intr-un sistem fuzzy cunostintele sunt reprezentate de reguli if-then
asociate cu variabile fuzzy. Aceste reguli, impreuna cu functiile amintite
anterior sunt prelucrate prin asa-numita regula compozitionala a
inferentei. Spre deosebire de alte procese de rationament in cazul in care
rationamentul calitativ este utilizat cu normele lingvistice pure, logica
inferentei fuzzy implica sinteza numerica pe baza functiilor , pentru a
forma un tabel de decizie fuzzy. Deoarece cantitatile sintetizate intr-o
procedura de rationament fuzzt sunt in general neclare, decizia finala
este, de asemenea neclara.
3.4 Algoritmi evolutivi
Algoritmii evolutivi sunt algoritmi de calcul care sunt inspirati de procesul
evolutiv al naturii. Ei imita principiile selectiei naturale, care favorizeaza
speciile mai puternice si ghideaza evolutia viitoare astfel inct sa
supravietuiasca in conditiile lor de mediu. Accentul principal al
algoritmilor evolutivi este cautarea punctul optim global.
Algoritmi evolutivi se bazeaza pe asa-numitul subsimbol, care este,
numeric, reprezentarea cunostintelor. Contrar primelor zile ale AI care a
subliniat reprezentarile simbolice folosind logica predicatelor, plase
semantice, sau cadre, algoritmii evolutivi simuleaza procese evolutive in
forme de calcul. Algoritmii evolutici tipici includ strategia evolutiva (ES),
Programarea evolutiva(EP) ,algoritmi genetic (GA).Algoritmii genetici sunt
cei mai populare algoritmi evolutici si au fost utilizati in mod activ in
diverse domenii de aplicare. Cele trei algoritmi de ES, EP, si GA sunt de
aceeasi natura, deoarece toati sunt dezvoltati din aceeasi idee de
aplicarea a principiului evolutiei organice la probleme de optimizare. Cu
toate acestea, ei sunt destul de diferiti in procedurile de punere in
aplicare, cum ar fi in schema de reprezentare si de abilitati de autoadaptare. De exemplu, ES foloseste vectori reali ca reprezentare de
14

codificare, in timp ce GA utilizeaza siruri binare de reprezentare, iar EP


masini de stare finite.
Desi au reprezentari total diferite, cei trei algoritmi ai si cateva trasaturi
commune si anume:

Populatia
Notiunea de fitness
Notiunea de populatie dinamica bazata pe fitness
Notiunea de mostenire de la parinti la copii

3.5 Algoritmi genetici


Algoritmii genetici sunt tehnici de cautare si optimizare a solutiilor bazate
pe principiile lui Darwin cu privire la selectia naturala.Acestia au aparut in
conditiile in care pe de o parte, algoritmii traditionali si-au dovedit
limitele, iar pe de alta parte s-a dorit implementarea unei solutii la
cheie in raport cu varietatea problemelor ce trebuiau rezolvate.
Algoritmul lucreaza cu o populatie de solutii candidat, care evolueaza si
se adapteaza unui mediu( in cazul de fata, mediul este functia de
optimizat). Genotipul sufera urmatoarele modificari:

In urma mutatiei (modificarea unei gene din codificarea unui individ)


In urma recombinarii codului genetic a doi indivizi;

Dupa principiul evolutionist survival of the fittest, de la o generatie la


alta se va favoriza supravietuirea celor mai buni (bine adaptati)
indivizi.
Acestia pot avea o abordare conexivista ( solutii bazate pe retele
neuronale), cat si calcul evolutionar(algoritmi evolutivi).

15

3.5.1 Terminologie:

Individ(cromozom)=solutie candidat, genele codifica o anumita


informative asociata organismulu respective. Fiecare gena ocupa un
loc bine determinat In cadrul unui lant cromozomial.
Genom=format din totalitatea cromozomilor asociati organismului
respective
Robustetea(unei solutii)= gradul de apropiere a solutiei de cea
optima

3.5.2 Implementarea in pseudocod:

begin
t := 0
initialize the population P(t)
evaluate P(t)
while (not termination-condition) do
begin
t := t + 1
select P(t) from P(t -1)
alter P(t)
evaluate P(t)
end
end

16

3.5.3 Principii :
1)Functia de robustete-are rolul de a cuantifica optimalitatea unei solutii
2)Principiul cautarii solutiei in cadrul unui spatiu dat cautarea in spatial
solutiei se face in cadrul a 4 etape functionale:
a)etapa de initializare: spatial solutiilor este populat in mod aleator cu
solutii inividuale necesare pentru a acoperi intreg spatial.
b)etapa de selectie- o parte din populatie este selectata pentru a genera
o noua generatie de indivizi.Aceasta generatie este realizata pe baza a
doua mecanisme generice: mutatie si incrucisare.
c)etapa de finalizare- cuprinde spatial solutiilor identificat in baza
utilizarii functiei de robustete si stopat prin utilizarea uneia din
urmatoarele conditii:
-a fost generat un numar preimpus de generatii
-se refera la intervalul de timp alocat realizarii de noi generatii
-identificarea solutiei optime sau respectarea unei conditii.

3.5.4 Metode de selectie


Determinarea populatiei intermediare ce contine parintii care vor fi supusi
operatorilor genetici de recombinare si mutatie - selectarea indivizilor
care vor produce urmasi.
Metode:
1.Metoda ruletei
Selectia unui cromozom se face pe baza principiului robustetei, astfel
incat cea mai performanta solutie are cea mai mare sansa de a fi aleasa.
2. Incrucisarea
a)Incrucisarea intr-un punct
Se alege in mod aleator un punct pozitionat similar in cadrul lanturilor a
doi cromozomi, apoi se sliteaza cromozomii parinti in dreptul [unctului
respectivi, iar copiii sunt create prin interschimbarea elementelor splitate

17

B)Incrucisarea in doua puncte


Ofera o diferentiere mai mare a generatiei copii si difera de cea intr-un
punct prin faptul ca se interschimba si ultimul element din lanturile a doi
cromozomi.
Incrucisarea a doua solutii bune poate sa nu ofere o solutie la fel de buna
pentru generstia copii.Daca in urma procesului de incrucisare copiii
obtinuti sunt mai putini performanti decat parintii lor, atunci generatia
copii trebuie eliminate prin procesul de selectie. In procesul de selectie,
sunt copiati cei mai buni cromozomi (cele mai bune solutii), urmand ca
ulterior sa fie generate o noua populatie. La fiecare etapa de generare a
unei noi populatii de cromozomi trebuie retinuti cei mai buni cromozomi
din cadrul generatiei respective. Acest procedeu poarta numele de
elitism.
3)Mutatia- Mecanismul mutatiei cuprinde inversarea aleatoare a bitilor din
cadrum unei solutii in vederea pastrarii diversitatii populatiei.

Ca si concluzii generale, putem afirma ca metoda algoritmilor genetici


este o metoda de cautare in orb, cautare bazata pe principia ale
biologiei.In cazul in care modelul de rezolvare a unei problem este
cunoscut, utilizarea tehnicii algoritmilor genetici nu este justificata.In
asemenea cazuri, se folosesc algoritmi traditionali care conduc intr-un
interval de timp bine precizat la solutie.Utilizarea tehnicilor bazate oe
algoritmi genetici este avanajoasa in toate solutiile in care exista un grad
mare de incertitudine cu privire la aplicativitatea unui algoritm classic.In
asemenea situatii, impasul poate fi deposit prin utilizarea principiilor
selectiei naturale.

3.6 Puncte tari/Puncte slabe


Tipul de
algoritmi
Retele
neuronale

Avantaje

Dezavantaje

-se pot invata din experienta


-se autoorganizeaza
-structura transparenta

-timp de lucru mare din


cauza formarii bazei de
reguli greoaie
-integrarea dificila a

18

Tehnica
fuzzy

Algoritmii
evolutivi

Algoritmi
genetici

-usor de inteles di de pus in practica


-flexibila
-accepta si date imprecise
-poate lucre cu functii complexe cu
grad mare de precizie
-poate apela la cunstintele
expertilor
-se bazeaza pe limbajul natural
-O buna adaptabilitate
-Eficienta mare
-se obtine rezultatul de la prima
rulare
-Se adapteaza repede
-conduc la o solutie optima
-implementare facila
-au nevoie doar de valorile functiilor
obiectiv

modulelor de
programare
-nu este util in cazul
solutiilor simple

-consum mare de
resurse
-costuri exaggerate
-caracter aleator
-reprezentare dificila
-timp indelungat
-dependeta de
parametric

4. Tehnici de implementare pentru


AOM si AI
In paragrafele anterioare am vorbit depsre optimizare si despre tipurile de
algoritmi existenti, imrepuna cu structurile lor, caracteristici, avantaje si
dezavantaje. Implementarea acestora se poate face intr-o gama alrga de
domenii in functie de problemele care apar. O sa vedem in continuare
situatii concrete in care putem implementa acesti algoritmi.
Un exemplu cunoscut de aplicare a algoritmilor de optimizare
multicriteriala este cel al raului Nestor, in care s-au folosit algoritmii AHP
so PROMETHEE pentru a planifica curgerea apei, rezolvarea nevoilor de
alimentare cu apa, generarea de energies i cerintele mediului
inconjurator. Totodata, acesti algoritmi sunt utilizati in industria chimica,
economica, politica, financiara, inginereasca si in alte domenii unde se
lucreaza cu o cantitate mare de date si este necesara luarea unei decizii
care sa aiba la baza mai multe criteria de selectie. Un astfel de domeniu
este sic el bancar sau contabil.

19

Algoritmii inteligenti sunt utilizati de exemplu in jocurile pe calculator


(retelele neuronale), pentru a controla sisteme industrial (tehnica fuzzy),
pentru recunoasterea acustica a vorbirii natural, recunoasterea automata
a formelor (inclusive a scrisului, a sunetelor).

5.Studiu de caz: AOM vs AI


In continuare vom realiza un studio de caz pentru algoritmii multicriteriali
si cei inteligenti, mai exact tehnica fuzzy.
Vom considera situatia in care Andrei, un tanar ce abia a implinit 18 ani
doreste sa cumpere o masina second-hand, insa este dependent totodata
si de parintii sai, care trebuie sa fie de accord cu decizia sa pentru a-I da
bani. Inainte de a se hotari ce tip de masina doreste, Andrei a luat in
considerare urmatoarele criterii de selectie:

Pret
Marca
Rulaj
Anul fabricatiei
Culoare
Dotari
Putere
Tipul combustibilului
Consum
Gandindu-se la toate acestea si punand in balanta toate posibilitatile,
Andrei a ales Volkswagen Passat 1.9 tdi din anul 2008 la pretul de
7000E.
Tatal , tinand cont de cerintele fiului sau,s-a hotarat sa intrebe mai
multe personae specializate in domeniul masinilor si se gandeste la
urmatoarele posibilitati in alegerea masinii:
Daca I se spune ca masina nu merita luata, atunci sansele sunt
aproape nule
Daca I se spune ca masina este potrivita pentru baiat, dar ca exista
si altele mai bune, atunci sansele cred

20

Daca I se spune ca masina este perfecta pentru un incepator in arta


sofatului din toate punctele de vedere, atunci sansele cresc
substantial

Privind asupra modului de algere al lui Andrei, respective al tatalui sau,


ne dam seama ca Andrei a aplicat principiile algoritmilor multicriteriali,
pe cand tatal sau a recurs la logica fuzzy.

6. Concluzii
Algoritmii multicriteriali si cei inteligenti sunt doua mari categorii de
algoritmi dezvoltati foarte mult in ultimele decenii.Acestia sunt utilizati
pentru rezolvarea variatelor probleme din viata de zi cu in in
numeroase domenii de activitate ce lucreaza cu date multe.
Prezentand diferite avantaje si dezavantaje, scopul lor este de a obtine
Solutia optima pentru rezolvarea repspectivei probleme.

21

7. Bibliografie

Computational Intelligence, Andries P. Engelbrecht


Introduction to Fuzzy Logic using MATLAB, S. N. Sivanandam, S.
Sumathi and S.N. Deepa
An introduction to Neural Networks, Kevin Gurney
Practical Genetic Algorithms, Randy L. Haupt, Sue Ellen Haupt
Intelligen Systems , Yung C. Shin
Introduction to Decision Making Methods, Jnos Flp
WATER RESOURCES PLANNING USING THE AHP AND PROMETHEE
MULTICRITERIA METHODS: THE CASE OF NESTOS RIVER GREECE
THE DECISION-MAKING POCKETBOOK , Neil Russell-Jones
How to decide with PROMETHEE, Jean-Pierre Brans and Bertrand
Mareschal
PROMETHEE methods-Chapter 5 , Jean-Pierre Brans, Bertrand
Mareschal
Multi-Criteria Decision-Making Selection Model with Application to
Chemical Engineering Management Decisions, Mohsen Pirdashti,
Arezou Ghadi, Mehrdad Mohammadi, and Gholamreza Shojatalab
Mihai Caramihai, Notiuni introductive
Romica Trandafir, Modele si algoritmi de optimizare

8.Prezentare prezi :
http://prezi.com/pxiid2a3lit6/?
utm_campaign=share&utm_medium=copy

22