Sunteți pe pagina 1din 20

Analiza comparativa a algoritmilor de

optimizare multicriteriala (AOM) vs


algoritmi inteligenti(AI)
Tudor Geanina-Monica

314 AC

1
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
8. Prezentare Prezi
2
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);
 algoritmul de explorare a unui labirint in vederea gasirii unei iesiri (una din solutii: se
tine o mâna 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

3
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,
incorporând 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 rezolvat corect. Luarea deciziei
implica informatia cantitativa obtinuta din model cu judecarea intuitiva a factorilor
calitativi.

4
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

5
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, ace stia 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 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

6
 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. 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 uso r 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

7
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 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 C1 C2 C3 C4 C5
Costul Obiectul Durata Eficienta Forta de munca
Min/max min max max Max min
News 60 900 22 51 8
Herrald 30 520 31 13 1
Panouri 40 650 20 58 2
publicitare
Scrisori 92 750 60 36 3
CMM 52 780 58 90 1
NCB 80 920 4 75 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

8
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

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

10
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 in tr-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 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

11
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, 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 restrâns, 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

12
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 incât 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 auto-adaptare. De exemplu, ES foloseste vectori reali ca
reprezentare de 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

13
Algoritmii genetici sunt tehnici de cautare si optimizare a solutiilor bazate pe principi ile 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).

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

14
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

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: mutati e 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

15
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

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.

16
3.6 Puncte tari/Puncte slabe

Tipul de Avantaje Dezavantaje


algoritmi
Retele -se pot invata din experienta -timp de lucru mare din
neuronale -se autoorganizeaza cauza formarii bazei de
-structura transparenta reguli greoaie
-integrarea dificila a
modulelor de programare
Tehnica -usor de inteles di de pus in practica -nu este util in cazul
fuzzy -flexibila solutiilor simple
-accepta si date imprecise
-poate lucre cu functii complexe cu grad
mare de precizie
-poate apela la cunstintele expertilor
-se bazeaza pe limbajul natural
Algoritmii -O buna adaptabilitate -consum mare de resurse
evolutivi -Eficienta mare -costuri exaggerate
-se obtine rezultatul de la prima rulare -caracter aleator
Algoritmi -Se adapteaza repede -reprezentare dificila
genetici -conduc la o solutie optima -timp indelungat
-implementare facila -dependeta de parametric
-au nevoie doar de valorile functiilor obiectiv

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,

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

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 scrisulu i, 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

18
 Daca I se spune ca masina este potrivita pentru baiat, dar ca exista si altele mai
bune, atunci sansele cred
 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.

19
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, János Fülöp
 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

20

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