Vous êtes sur la page 1sur 7

Algoritmi

genetici

I.Istoric
Rezolvarea problemelor care implic folosirea
unor expresii matematice a fost intens studiat n
ultimele decenii. In matematic optimizarea este
neleas ca nsemnnd gsirea unei soluii optime.
Drumul de la rezultatele teoretice, referitoare la
teoreme de existen, unicitate, caracterizare a
soluiei, etc., la optimizarea efectiv este de multe
ori prea lung, fie datorit complexitii prea mari a
problemelor reale fa de modelul matematic
utilizat, fie datorit complexitii (timp, memorie)
algoritmilor utilizai.
La mijlocul anilor 70, odat cu creterea
performanelor calculatoarelor i, implicit, a
complexitii problemelor reale ce se puteau rezolva
cu ajutorul calculatorului, au devenit frecvente
situaiile n care modelele clasice de optimizare nu
mai conduceau la soluii acceptabile pentru
probleme modelabile pe calculator. Tot mai
frecvent, probleme din biologie, climatologie,
chimie, mecanica, analiza datelor, etc., probleme ale
cror modele includ sute sau mii de variabile, ale
cror funcii de optimizat prezint multiple optime
locale i neregulariti nestudiate din punct de
vedere numeric, rmneau nerezolvate sau cu soluii
aproximate grosier.
In anul 1970 profesorii Hans-Paul Schwefel
(Dortmund) i Ingo Rechenberg (Berlin) avnd de
rezolvat o problem de mecanica fluidelor,
referitoare la optimizarea formei unui corp ce se
deplaseaz ntr-un fluid, au cutat o noua tehnica de
optimizare deoarece metodele cunoscute pn n
acel moment nu conduceau la o soluie acceptabil.
Ideea lor a ntruchipat conjectura lui Rechenberg,
ramas pn azi justificarea fundamental a aplicrii
tehnicilor evolutive: Evoluia natural este, sau
cuprinde, un proces de optimizare foarte eficient,

care, prin simulare, poate duce la rezolvarea de


probleme dificil de optimizat. Modelul de simulare
propus de Rechenberg i Schwefel este cunoscut azi
sub numele de strategii evolutive i iniial se
aplica doar problemelor de optimizare de variabila
continua.
A doua direcie de studiu s-a conturat la
Universitatea San Diego; punctul de pornire a fost
tot simularea evoluiei biologice iar structura de
date aleas a fost maina cu numr finit de stri.
Urmnd aceasta abordare, Fogel genereaz
programe simple,

anticipnd programarea genetica. Dup mai muli ani de studiere a simulrii


evoluiei, John Holland de la Universitatea Michigan a propus in 1973 conceptul de algoritm genetic. Au fost
abordate probleme de optimizare discret iar structura de date aleasa a fost irul de bii. ntr-o accepiune strict,
noiunea de algoritm genetic se refera la modelul studiat de Holland si de studentul sau De Jong. ntr-un sens
mai larg, algoritm genetic este orice model bazat pe ideea de populaie i care folosete operatori de selec ie i
recombinare pentru a genera noi puncte n spaiul de cutare.

Algoritmul Genetic

Algoritmii genetici sunt utilizati pentru a rezolva probleme cu un spatiu foarte mare de cautare a solutiei si
care necesita un volum ridicat de resurse computationale si de timp pentru a procesa toate solutiile posibile.
Algoritmul genetic si are originea n biologie si mprumuta o serie de termeni din acest domeniu cum ar
fi: cromozom, gena sau alela. Cromozomul este o solutie candidat care poate fi reprezentata n diferite moduri,
n functie de problema. Cromozomii sunt alcatuiti din gene, care sunt entitati care codifica un anumit element
din solutia candidata. n cele din urma, o alela reprezinta una dintre trasaturile posibile ale unei gene. De
exemplu, un cromozom poat e fi reprezentat sau codificat ca un vector n care fiecare element poate avea o
valoare cuprinsa ntre 0 si 10. O gena este elementul din vector care este situat la o anumita pozitie, cunoscuta
sub numele de locus. Trasaturile pe care le poate avea o gena sunt numere ntre 0 si 10, o alela putnd fi, de
exemplu, numarul 4.
Pseudocodul algoritmului genetic este prezentat n Algoritmul de mai jos, iar n continuare este discutata
structura algoritmului genetic clasic.

1 Generarea populatiei initiale;


2 Evaluarea populatiei;
3 while conditia de stop nu este satisfacuta do
4 Selectia;
5 ncrucisarea;

6 Mutatia;
7 Crearea noii populatii;
8 Evaluarea Crearea noii populatii;
9 end
10 Returnarea celei mai bune solutii;
Algoritmul 2.1: Pseudocodul Algoritmului Genetic
Populatia initiala este de obicei generata aleator prin selectarea unei alele din trasaturile disponibile pentru
fiecare gena. Uneori solutia obtinuta prin rularea unui alt algoritm pentru aceeasi problema poate fi folosita
pentru a initializa unul sau mai multi cromozomi din populatia initiala.
Fitness-ul cromozomului este o metoda de evaluare a calitatii solutiei: cu ct este mai mare valoarea fitnessului, cu att este mai buna solutia. Algoritmul genetic se executa pna cnd este satisfacuta conditia de stop:
pna cnd un numar suficient de iteratii s-au executat de la startul algoritmului sau daca solutia cea mai buna
nu a mai fost mbunatatita dupa un anumit numar de itertii. La fiecare iteratie sunt selectate mai multe perechi
de cromozomi pentru reproducere: ncrucisare si mutatie. Procesul de selectie a cromozomilor care urmeaza sa
se reproduca, se poate realiza n mai multe moduri. Cele mai cunoscute modalitati de selectie sunt: selectia
bazata pe fitness, selectia bazata pe rang sau selectia-turnir.
Selectia bazata pe fitness este cea mai utilizata metoda deoarece, n aceasta situatie, probabilitatea ca un
cromozom sa fie selectat este direct propotionala cu fitness-ul lui. Operatorul de ncrucisare este aplicat, cu o
anumita probabilitate, unei perechi de cromozomi, numiti si cromozomi parinti, pentru a produce doi
cromozomi copii. Cea mai cunoscuta metoda de a realiza ncrucisarea a doi cromozomi este ncrucisarea cu
un punct de taiere ales aleatoriu. Aceasta metoda presupune producerea a doi cromozomi copii care vor avea
jumatate din gene de la un parinte si cealalta jumatate de la celalalt parinte.
Alte doua metode de ncrucisare folosite sunt ncrucisarea multi-punct si ncrucisarea uniforma.
Celalalt operator utilizat n procesul de reproducere este mutatia, care n majoritatea situatiilor implica
nlocuirea valorii unei gene cu o alta alela. O alta modalitate de a realiza mutatia unui cromozom este de a
selecta aleatoriu doua gene si de a interschimba alelele lor. n urma reproducerii se formeaza o noua populatie
care va contine si cromozomi din vechea populatie. Pentru a se asigura ca cea mai buna solutie nu se pierde, cel
mai bun cromozom din vechea populatie este pastrat n populatia noua, proces numit elitism.
Atunci cnd conditia de stop este satisfacuta, cromozomul cu fitness-ul cel mai mare este ales ca fiind
solutia algoritmului. Spatiul de cautare este suficient de mare pentru ca un algoritm exhaustiv sa aiba o durata
de executie extraordinar de mare pentru a obtine cea mai buna solutie. Algoritmul genetic nu face o cautare
exhaustiva, prin urmare, este posibil ca solutia obtinuta sa nu fie cea mai buna solutie existenta, dar totusi va fi
o solutie foarte buna obtinuta ntr-un timp scurt.

Aplicaii ale algoritmilor genetici


Algoritmii genetici reprezint o metod cu care pot fi atacate relativ uor probleme dificile de optimizare
sau control, cu rezultate bune sau chiar optimale. Cnd se vorbete de aplicarea unei idei din software, se refer
n general la un prototip care arat cum ar putea fi folosit respectiva idee ntr-un domeniu practic.
Un exemplu l constituie sistemul care funcioneaz la instalaia de maleabilizare a unui laminor de
platbande de oel, unde operatorul unei macarale este ajutat s decid unde s pun oelul laminat nainte de
maleabilizare, cum s grupeze arjele n cuptorul de maleabilizare i cum s aranjeze oelul laminat maleabilizat
pentru a fi expediat n funcie de comenzile primite.

Un alt exemplu este aceea de a realiza optimizarea unor obiective variate n alctuirea orarelor pentru
cursuri sau examene. Aplicaii ale algoritmilor genetici este de exemplu controlul curgerii de gaz printr-o
conduct, n regim staionar i n regim tranzitoriu. De-a lungul conductei, presiunea gazului descrete n mod
natural i trebuie mrit cu ajutorul unor compresoare. Obiectivul const n meninerea presiunii n punctele de
livrare la nivelul dorit, cu minimizarea energiei folosite n compresoare i ndeplinirea altor restricii. De
asemenea, este necesar detectarea, pe baza msurrii presiunii, a scurgerilor probabile, evitnd, pe ct posibil,
alarmele false.
Ali cercettori descriu o aplicaie n proiectarea reelelor de comunicaii ntre staii aflate la mare
distan. Optimizarea planificrilor - utilizarea algoritmilor pentru planificarea examenelor se dau un set de
examene i un numr fix de csue libere n orar : obiectivul e de a aeza fiecare examen ntr-una dintre csue,
astfel nct nici un student s nu aib examene aflate n csue consecutive, nici prea multe examene n aceeai
zi. De asemenea, anumite examene nu pot fi puse n anumite csue. Reprezentarea folosit este natural : exist
o gen pentru fiecare examen, altele fiind date de mulimea csuelor din orar. Evident, majoritatea
cromozomilor generai aleator vor nclca mai multe restricii. Funcia de fitness conine termini de penalizare
pentru fiecare restricie nclcat i se dovedete stabil fa de valorile efective ale acestor termeni. Algoritmul
genetic are deci o form convenional, cu excepia unui operator de mutaie mai deosebit. Acesta exercit o
uoar presiune pentru mbuntirea orarului. Implementarea unui operator mai tare, care efectueaz acea
schimbare care duce la cea mai bun mbuntire a unui cromozom, se dovedete extrem de duntoare.
Algoritmul genetic a gsit o soluie n care doar unul dintre studeni a avut de susinut dou examene
consecutive. Algoritmul a obinut o astfel de soluie, nu ntotdeauna aceeai, n 50% din rulri. S-au aplicat
metode similare pentru a genera orarul cursurilor; aici un cromozom reprezint, pentru fiecare curs, ora de
ncepere i locul de desfurare, existnd penalizri pentru lipsa de spaiu n sala de curs, pentru distane prea
mari ntre slile unde se desfoar dou cursuri consecutive. Metodele tradiionale de planificare, sun mai
rapide dac restriciile sunt de tip aceste evenimente nu pot avea loc simultan, dar algoritmii genetici
reprezint o soluie superioar dac exist i alte restricii mai complicate.

Sisteme inteligente bazate pe algoritmi genetici


Mecanismul specific acestor sisteme este inspirat din funcionare sistemelor biologice, n sensul c
ncurajeaz soluiile candidat capabile s rezolve o problem i penalizeaz soluiile fr succes. n felul acesta
se obin, dup mai multe generaii, soluii foarte bune pentru probleme de optimizare complexe, cu un mare
numr de parametri. Ideea de baz a unui algoritm genetic const n a ncepe cu o populaie de soluii, fiecare
mai performant dect precedentele. Fazele ciclului prin care opereaz un asemenea algoritm sunt:
1. crearea unei populaii de membri,(soluii candidat la rezolvarea unei probleme),
2. selecia membrilor care s-au adaptat cel mai bine necesitilor problemei de soluionat,
3. reproducerea (se folosesc operatorii genetici de ncruciare i mutaie, pentru a obine noi membri),
4. evaluarea gradului n care noii membri corespund mai bine soluionrii problemei,
5. abandonarea populaiei vechi prin nlocuirea ei cu populaia nou din noua generaie.
Un asemenea ciclu se repet pn cnd este identificat cea mai bun soluie la problema n cauz.
Datorit structurii lor inerent paralele, sisteme inteligente bazate pe algoritmi genetici s-au dovedit performante
n problemele de cutare i identificare a structurilor i relaiilor specifice n cadrul bazelor de date i bazelor de
cunotine voluminoase (data mining). Un succes particular s-a obinut cu ele n problemele de optimizare
referitoare la selectarea personalului i selectarea portofoliilor. i aceste sisteme, deoarece pot nva relaii i
structuri complexe n cadrul seturilor de informaii i cunotine incomplete, se pot adapta schimbrilor
survenite n mediile n care funcioneaz, i pot fi utilizate ca instrumente pentru descoperirea unor cunotine
noi. Ele pot oferi explicaii la deciziile luate ntr-un format perceptibil de ctre om.

Aplicaiile acestor sisteme s-au diversificat rapid i s-au dovedit utile domeniul afacerilor financiare, comerului
cu titluri, evalurii creditelor, deteciei fraudelor i prediciei falimentului. De exemplu, unii cercettori au
folosit asemenea sisteme la inferarea unor reguli pentru predicia falimentului ntreprinderilor, pe baza
indicatorilor financiari obinui din bilan (financial ratios). Ali cercettori descriu modul de utilizare a
algoritmilor genetici n alocarea bugetar, n vederea asistrii guvernelor i administraiilor locale la adoptarea
celor mai bune decizii

Bibliografie
http://www.bel.utcluj.ro/rom/dce/goltean/tice/10_AlgoritmiGenetici.pdf
http://www.ace.tuiasi.ro/users/103/2012_Alexandrescu_Adrian__PhD%20rez.pdf
https://en.wikipedia.org/wiki/John_Henry_Holland
https://en.wikipedia.org/wiki/Ingo_Rechenberg
https://en.wikipedia.org/wiki/Hans-Paul_Schwefel

Vous aimerez peut-être aussi