Académique Documents
Professionnel Documents
Culture Documents
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,
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.
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.
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.
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