Vous êtes sur la page 1sur 6

1

Algoritmi genetici


Calculul cognitiv denot o Iamilie de metode de rezolvare a problemelor care imit
inteligenta 'gsit n natur. Obiectivul comun al acestor metode este de a solutiona situatiile ce au
rezistat abordrilor de tip analitic. Din aceast categorie Iac parte retelele neuronale, logica Iuzzy,
automatele celulare, algoritmii genetici, Iractalii, teoria haosului. Fiecare din aceste metode ncerc
s 'simuleze soIt lumea real si s proceseze datele de o manier 'ct mai natural.
Algoritmii genetici sunt strategii de rezolvare a problemelor cu ajutorul computerelor bazate
pe teorii evolutioniste. Solutiile potentiale sunt Iortate s conlucreze ntr-un anumit mediu, avnd ca
rezultat solutiile cele mai bune n timp. Unul din principalele beneIicii ale algoritmilor genetici este
acela c pentru a rezolva o anumit problem este nevoie de o cunoastere a evolutiei solutiilor
potentiale si nu construirea dinainte a uneia optime. Acest lucru devine evident cu ct complexitatea
unei probleme se mreste, solutia optima n cazul acest caz este mult mai greu de determinat, o
astIel de abordare Iiind mult mai bun. n plus metodele utilizate de algoritmii genetici sunt utilizate
si n rezolvarea problemelor de ctre oameni.
Se poate spune c algoritmii genetici sunt proceduri de cutare bazate pe mecanisme
naturale de selectie natural si genetic. Algoritmii genetici au Iost dezvoltati de John Holland n
1960 pentru a permite contemporanilor si s gseasc solutii pentru probleme diIicile, cum ar Ii
Iunctiile de optimizare si inteligenta artiIicial.
AstIel, algoritmii genetici s-au dovedit utili n rezolvarea problemelor NP-complete. De
exemplu, una dintre cele mai importante probleme n proiectarea compilatoarelor este s optimizeze
codul generat dintr-un program scris ntr-un limbaj oarecare. n aceast privint, ne intereseaz s
paralelizm operatiile matematice de baz (adunri, scderi, nmultiri, mprtiri) pe mai multe
unitti de executie sau pe mai multe procesoare. Aceast problem este NP-complet, adic nu
exist algoritmi polinomiali care s o rezolve. O abordare posibil ar Ii Iolosirea algoritmilor
genetici.

Algoritmii genetici
Algoritmii genetici sunt tehnici de rezolvare a problemelor NP-complete (dar nu numai) aplicnd
principii ale selectiei naturale: se Iolosesc populatii din care se selecteaz anumiti indivi:i pentru
incruciare (cross-over), se evalueaz indivizii populatiilor pstrndu-se numai cei care convin, se
aplic mutatii pe indivizi selectati arbitrar, astIel nct populatia evolueaz, iar individul cel mai bun
din populatia Iinal este Iie chiar solutia cea mai bun a problemei, Iie o alt solutie Ioarte apropiat
de cea optim. Asadar, un algoritm genetic nu garanteaz gsirea solutiei optime, dar conduce la
gsirea unei solutii apropiate de optim.

n continuare sunt prezentate punctele principale prin care un AG diIer de tehnicile
conventionale de cutare si optimizare. Acestea sunt:

1. AG sunt "orbi"
Un AG trateaz problema de rezolvat ca pe o "cutie neagr", necesitnd Ioarte putine
inIormatii despre aceasta. Din acest punct de vedere, un AG reprezint o metod slab de cutare.
Dar se observ n practic o Ioarte mare eIicient, putere de rezolvare a problemei, ceea ce este o
caracteristic a metodelor puternice de cutare. Deci la acest punct apare un aparent paradox: AG
sunt metode slabe de cutare cu eIicient Ioarte ridicat. Dup cum este argumentat n lucrrile de
specialitate, AG sunt metode slabe evolutioniste ce reprezint proprietatea de inteligent emergent,
puterea lor venind dintr-o exploatare soIisticat a inIormatiilor obtinute cu un eIort de cutare
relativ limitat (GreIenstette, 1987).

2. AG folosesc codificri ale variabilei problemei
2
Fiind dat un spatiu de cutare, cu un spatiu multidimensional al solutiilor posibile, o
reprezentare "cod genetic" este aleas astIel nct Iiecare punct din spatiul de cutare e reprezentat
de un sir de simboluri numit genotip. n mod uzual, variabilele sunt codiIicate ntr-un genotip de
lungime Iix, AG nu actioneaz direct asupra elementelor din spatiul strilor problemei.

3. AG folosesc popula(ii de solu(ii poten(iale
Aici apare o diIerent important Iat de alte tehnici adaptive de cutare care lucreaz de la
punct la punct, Iolosind inIormatii locale. Un AG exploreaz spatiul de cutare n mai multe puncte
simultan. Aceste puncte explorate la un moment dat Iormeaz o populatie de solutii potentiale.
Aceast explorare a spatiului de cutare e Icut simultan cu exploatarea celor mai bune solutii la
pasul curent.

4. AG folosesc operatori probabilistici
Populatia de la pasul urmtor de cutare este dedus prin aplicarea unor operatori de tip
probabilistic. Aceast caracteristic Iace ca AG s Iie o metod de tip Monte-Carlo, dar trebuie s
Iacem observatia c aceast cutare realizat nu e pur aleatoare, ci o explorare "inteligent" a
spatiului de cutare. Se spune c AG realizeaz un echilibru aproape optimal ntre explorarea
spatiului strilor si exploatarea celor mai bune solutii gsite.


Reprezentarea solu(iei
Fiecare individ al unei populatii este o reprezentare a solutiei problemei. Indivizii sunt denumiti
cromo:omi. Unul din cele mai importante lucruri n rezolvarea unei probleme Iolosind algoritmii
genetici este gsirea unei reprezentri a solutiei. n general, solutia (adic un cromozom) se
reprezint ca un tablou uni- sau multidimensional ce contine biti, ntregi, caractere sau chiar numere
reale. Cel mai utilizat mod de codare pentru cromozomi este cu ajutorul unui sir de biti. AstIel,
Iiecare cromozom va Ii un sir de biti. Fiecare bit din acest sir poate reprezenta o caracteristic a
solutiei sau sirul n ntregul su poate reprezenta un numr. Exemplu:

Cromozom 1 1101100100110110
Cromozom 2 1101111000011110

Pe cromozomi se aplic dou operatii importante:
- ncrucisarea si
- mutatia.
Prima genereaz doi cromozomi Iii din doi cromozomi printi, iar a doua operatie modiIic un
cromozom ntr-unul nou. Orice cromozom nou generat trebuie s Iie o solutie valid a problemei,
ceea ce impune alegerea cu mare atentie a reprezentrii cromozomilor (deci a solutiilor problemei).
Uneori trebuie aplicat o Iunctie de corectie pe cromozomi pentru a-i aduce la Iorme valide.

Structura algoritmului
Exist mai multe Iorme pentru un algoritm genetic, ns Iorma de la care s-a plecat si care este si
cea mai obisnuit este urmtoarea:
Procedura AlgoritmGenetic
begin
t=0
genereaz popula[ia ini[ial P(0)
repeat
evalueaz popula[ia P(t)
t=t+1
selecteaz din P(t) indivizii care se vor ncrucia
aplic operatorul de ncruciare
aplic operatorul de muta[ie
3
untiI t = t_max
end

Mai nti, generarea populatiei initiale se poate Iace crend un numr Iix de cromozomi n mod
aleator, cu conditia ca Iiecare cromozom s Iie o solutie valid a problemei de rezolvat. Evaluarea
unei populatii se Iace aplicnd o Iunctie de evaluare asupra Iiecrui individ. Functia de evaluare
(Iitness sau adecvare) este aleas de programator si ea trebuie s reIlecte apropierea sau deprtarea
unui individ de solutia optim a problemei. De alegerea corespunztoare a acestei Iunctii depinde
buna Iunctionare a algoritmului genetic. Se mai spune c aceast Iunctie descrie actiunea mediului.
Procesul de selec(ie e bazat pe "notele" ("evalurile") punctelor din populatia curent, n asa Iel
nct indivizii mai "dotati", cu "scoruri" mai ridicate contribuie mai mult la Iormarea unei populatii
intermediare. n mod uzual, solutia se Iace n mod probabilistic: genotipii au o probabilitate de a
trece n populatia intermediar ce este proportional cu "calitatea" lor. (Alt metod utilizeaz o
metod numit selectie turnir, n care se alege aleator o submultime a acestor indivizi, din care doar
cel mai adecvat este ales pentru operatiile de ncrucisare si mutatie.)
Din aceast populatie intermediar de genotipi selectati, noua generatie e dedus prin aplicarea unor
operatori genetici, precum ncruciyarea si muta(ia.
n sIrsit, tmax reprezint numrul maxim de generatii pentru care se execut algoritmul, acesta
constituind un alt parametru al algoritmului genetic.

Operatorii
1. Operatorul de incruciare se aplic pe doi cromozomi (indivizi) si genereaz alti doi, alturnd
prti din cromozomii initiali. Concret, se consider doi genotipi "printi", se genereaz aleator o
pozitie de ncrucisare undeva de-a lungul genotipului si se consider sectiunea din stnga pozitiei
respective, a unuia din printi pe care o lipeste la sectiunea din dreapta pozitiei de ncrucisare a
celuilalt printe. AstIel cei doi urmasi obtinuti mostenesc material genetic de la Iiecare din printi.

Presupunem c cei doi cromozomi sunt reprezentati sub Iorma a doi vectori:
a0 a1 a2 a3 a4 a5 a6 a7
si respectiv
b0 b1 b2 b3 b4 b5 b6 b7.
O metod ar Ii s se aleag arbitrar un indice, de exemplu 2 (vectorii ncep cu indicele 0) si rezult
urmtorii cromozomi:
a0 a1 a2 b3 b4 b5 b6 b7
si
b0 b1 b2 a3 a4 a5 a6 a7.
Pentru anumite reprezentri ale cromozomilor, aceast metod poate s nu genereze indivizi valizi
si trebuie aplicat alt tehnic.
De exemplu, (unde , reprezint punctul de ncrucisare):

Cromozom 1 11011 [ 00100110110
Cromozom 2 11011 , 11000011110
C 1 dupa ncrucisare 11011 , 11000011110
C 2 dup ncrucisare 11011 , 00100110110


2. Operatorul de mutatie schimb n general un element (ales arbitrar) al tabloului care reprezint
un cromozom. De Iapt, se spune c mutatiile modeleaz aparitia unor deIectiuni n procesul
transmiterii materialului genetic. Acestea modeleaz procesul observat n natur si au rolul evitrii
blocrii cutrii n puncte de maxim local.
Exemplu:
4

OIIspring 1 1101111000011110
OIIspring 2 1101100100110110
OIIspring 1 - dupa mutatie 1101101000011110
OIIspring 2 - dupa mutatie 1100100100111110


Aplica(ii
n continuare este prezentat un exemplu de aplicatie a algoritmilor genetici si anume determinarea
maximului unei Iunctii de gradul II (i.e. I(x) -x`22x-1). Pentru reprezentarea multimii de gene se
Ioloseste un sir de biti. Valorile reprezentate ca gene vor avea NRBITI biti. Din punct de vedere al
Iunctiei matematice, valorile acestui sir sunt privite ca ntregi, ele reprezentnd x (argumentul
Iunctiei).
Trecerea de la o generatie la alta se va Iace prin urmtorii pasi:
a. Pentru toate genele, se vor determina valorile asa numitei Iunctii de Iitness care va
determina apropierea genei respective de un punct de maxim. Acest maxim nu este maximum
absolut al Iunctiei, ci este punctul de maxim corespunztor genelor existente n generatia curent.
S-a ales Iunctia urmtoare:
Iitval(x)1/(1 valmax - I(x)))
Aceast Iunctie este apropiat de 1 pentru genele convenabile (pentru care Iunctia este
apropiat de valoarea de maxim) si e apropiat de 0 pentru genele neconvenabile.

b. Se creaz nucleul noii generatii
Nucleul noii generatii ('new generation pool) va contine un numr Iix de gene, cele mai
convenabile din generatia respectiv.

c. Se Iace numrul dorit de ncrucisri. Aceste ncrucisri se vor Iace selectnd gene
aleatoare, care nu Iac parte din nucleu, si nlocuind aceste gene cu gene obtinute prin ncrucisarea a
dou gene alese la ntmplare din nucleul noii generatii ncrucisarea se va Iace prin selectarea unei
pozitii de tiere, si crearea noii gene prin preluarea primilor biti de la prima gen si preluarea
ultimilor biti de la a doua gen printe.

d. Se Iace numrul dorit de mutatii. Aceste ncrucisri se vor Iace selectnd gene aleatoare,
care nu Iac parte din nucleu, si aplicnd asupra acestor gene o mutatie. Aceast mutatie se va Iace
prin modiIicarea aleatoare a unui bit din gena respectiv.

Se va urmri aplicatia maxga.
S se ruleze programul din aplicatie pe un exemplu de 300 de gene, 50 de gene n nucleul noii
generatii, 250 de gene obtinute din ncrucisri, 10 gene obtinute prin mutatii iar reprezentarea
genelor pe 12 biti.
ncercati s mriti numrul de biti din reprezentarea genelor.
ncercati s mriti numrul de gene din nucleul noii generatii.
Dac se micsoreaz numrul de gene noi (din ncrucisri sau mutatii) ce se ntmpl?


Aplica(ii dezvoltate
The Westinghouse Science & Technology Center(STC) este unul din liderii mondiali ai aplicatiilor
care Iolosesc algoritmi genetici pentru a rezolva probleme din lumea real. n timpul celei de a doua
jumtti a anului 1995, STC a Iost contactat pentru a crea pentru prima dat un sistem de
planiIicare a expeditiilor pentru compania Furtuna 100. STC a creat un sistem avansat de evident a
vnzrilor denumit 'Transportation Management Industry Acest produs este un sistem de evident
5
a expeditiilor ncorpornd cel mai avansat soIt de decizie, oIer companiei suport tactic, n timp
real, pentru companii care au volume mari de expeditii pe zi. Acest sistem client-server este primul
care utilizeaz algoritmi genetici pentru luarea deciziilor n cadrul aplicatiilor pentru transport.
Compania Fortuna 100 sper s economiseasc zeci de milioane de dolari Iolosind acest produs.
Aplicatii ale algoritmilor genetici pentru probleme seismice dezvolt noi probleme de test si
compar rezultatele algoritmilor genetici cu metode locale de calcul heuristic.
Supraveghetor cu algoritmi genetici. Scopul este acela de a rescrie soItul existent pentru
algoritmi genetici n scopul realizrii unui supraveghetor n domeniul transportului. Acest
supraveghetor va Ii comparat cu doua supraveghetoare deja existente.
Optimi:area retelelor. Una din primele aplicatii ale algoritmilor genetici a Iost n controlul
distributiei de gaz printr-o conduct, n regim stationar si n regim tranzitoriu. De-a lungul
conductei, presiunea gazului descreste n mod natural si trebuie mrit cu ajutorul unor
compresoare. Obiectivul const n mentinerea presiunii n punctele de livrare la nivelul dorit, cu
minimizarea energiei Iolosite n compresoare si ndeplinirea altor restrictii. De asemenea, este
necesar detectarea, pe baza msurrii presiunii, a scurgerilor probabile, evitnd, pe ct posibil,
alarmele Ialse. Analog acestei aplicatii, mai sunt o serie de aplicatii, de exemplu, n cazul retelelor
de comunicatie ntre statii aIlate la mare distant. n acest caz, una dintre restrictiile impuse era ca la
orice statie s se poat ajunge pe cel putin dou ci, astIel nct nici o statie s nu Iie izolat n urma
cderii unei singure legturi. O aplicatie similar a Iost realizat n reglarea presiunii ntr-o retea de
distribuire a apei. Deoarece pierderile datorate scurgerilor n conducte subterane cresc n mod
considerabil odat cu presiunea, este important ca aceasta s Iie mentinut la un nivel ct mai mic,
dar Ir a periclita deservirea clientilor. O metod simpl de control const n deschiderea sau
nchiderea unor supape pe traseu, modiIicnd n acest Iel topologia curgerii. n acest context,
sarcina unui algoritm genetic este de a gsi o topologie corespunztoare, care minimizeaz
presiunea apei pe traseu, ndeplinind totodat cerintele clientilor. Fiecare cromozom reprezint un
graI al topologiilor posibile ntr-un mod relativ direct, prin dou multimi: un arbore de deductie
(spanning tree) si un co-arbore de legturi suplimentare. Se utilizeaz o strategie generativ, iar
printii produc descendenti prin intermediul unui operator de recombinare specializat care
garanteaz validitatea rezultatelor. Valorile de Iitness sunt determinate printr-o analiz complet a
topologiei reprezentate. O prim comparatie cu metode enumerative sugereaz c algoritmii
genetici sunt utili n rezolvarea acestei probleme, dar, avnd n vedere c majoritatea topologiilor
generate aleatoriu au deIectul de a lsa o parte dintre clienti Ir ap, este posibil s existe variante
mbunttite ale tehnicilor conventionale care s dea rezultate cel putin la Iel de bune ca algoritmii
genetici.
Optimi:area planificrilor. De exemplu, se utilizeaz algoritmi genetici pentru:
- planiIicarea examenelor,
- problema orarului,
- problemele de optimizare a Iluxului de productie si a utilizrii Iortei de munc.
Aplicatii in industrie. Se utilizeaz algoritmi genetici pentru rezolvarea problemei de
determinare a traseelor n domeniul circuitelor VLSI. AstIel, n Iormularea cea mai simpl, se d o
plac dreptunghiular avnd un numr de intrri pe latura de jos si un numr de iesiri pe latura de
sus, ntre care trebuie Icute anumite retele de legturi.

Link-uri utile
http://cs.Ielk.cvut.cz/~xobitko/ga/
http://www.optiwater.com/GAsearch/
http://homepage.sunrise.ch/homepage/pglaus/gentore.htm#Applet
http://techni.tachemie.uni-leipzig.de/jsga/applications/Iktmax/indexeng.html
http://oldeee.see.ed.ac.uk/~rjt/ga.html
http://cmp.ameslab.gov/cmp/CMPTheory/gsa/gen2.html

6

Dic(ionar
Alele strile n care se poate gsi o gen (valori ale caracteristicilor).
Criteriu de oprire: Criteriu prin care se stabileste cand se opreste procesul evolutiv.
Cromozom inIormatie pe baza careia este construit un model matematic ce este supus
evaluarii. Deci, un cromozom este utilizat pentru a reIeri o solutie potential, si const n toate
inIormatiile necesare pentru a descrie o solutie. Se spune c cromozomii sunt purttorii inIormatiei
genetice;
Evaluare: Operatiune prin care este stabilit gradul in care modelul matematic asociat unui
cromozom satisIace un anumit criteriu de optimalitate.
Evolutie: Procedeu prin care o populatie se transIorma intr-o noua populatie prin aplicarea
selectiei si a operatorilor genetici.
Fenotip obiectul corespunztor genotipului n problema dat. Acesta este obiectul
matematic.
Fitness: Masura obtinuta in urma evaluarii unui cromozom.
Gena unitate compozitionala indivizibila a unui cromozom. Genele poart
caracteristicile ereditare, o gen controlnd una sau mai multe caracteristici.
Generatie: O populatie, in ansablul ei, privita prin prisma procesului de evolutie.
Genotip - totalitatea cromozomilor unui individ dintr-o populatie (Iiecare individ al unei
specii posed un numr determinat de cromozomi). Reprezentarea intern a acestui tip poate Ii un
sir de biti.
Locus sau loci pozitia ocupat de o gen n cadrul cromozomului.
Operator genetic binar (incrucisare): operator prin care se obtin doi cromozomi copii din
doi cromozomi parinti, eventual prin interschimbarea de gene.
Operator genetic unar (mutatie): operator prin care se obtine un cromozom copil dintr-un
cromozom parinte prin modiIicarea unor gene a cromozomului parinte.
Operator genetic: procedeu prin care un numar de cromozomi, numiti parinti, contribuie
cu anumite gene pentru a se obtine alti cromozomi, numiti cromozomi copii.
Populatie multime ce contine in mod tipic din mai multi cromozomi. n mod normal
exist un numr limitat de cromozomi si acei cromozomi care sunt deIecti sunt eliminati pentru a
Iace loc altora cu perIormante mai bune;
Selectie: Procedeu sistematic prin care sunt alesi cromozomii ce urmeaza a Ii parinti in
cadrul operatorilor genetici. In principu, cromozomii cu Iitness mai bun au sanse mai mari de a Ii
selectati.

Vous aimerez peut-être aussi