Sunteți pe pagina 1din 224

Modele naturale i Algoritmi

Evolutivi
Corina Rotar
CUPRINS
1INTRODUCERE.................................................................................................................1
2METAEURISTICI.....................................................................................................................5
2.1.1Cutare local Hill Climbing.............................................................................6
2.1.2Cutare TABU.......................................................................................................8
2.1.3Recoacere simulat Simulated Annealing..........................................................9
3PARADIGMA ALGORITMILOR GENETICI.............................................................13
4ISTORIC ............................................................................................................................13
5MODELUL NATURAL AL ALGORITMILOR GENETICI......................................................................14
6DESCRIERE ALGORITM GENETIC..............................................................................................15
7FUNCIONAREA ALGORITMULUI GENETIC.................................................................................26
8APLICAII..........................................................................................................................28
9SELECIA...........................................................................................................................29
9.1.1Selecia proporional.........................................................................................30
9.1.2Selecia prin concurs...........................................................................................35
9.1.3Selecia prin etichetare........................................................................................36
10FUNCIA DE EVALUARE......................................................................................................38
11CODIFICARE BINAR..........................................................................................................39
11.1.1Codificarea cromozomial binar....................................................................39
11.1.2Teorema schemelor...........................................................................................46
11.1.3Operatori de ncruciare pentru codificarea binar.........................................47
11.1.4Operatorul de mutaie pentru codificarea binar.............................................56
11.1.5Inversiunea .......................................................................................................61
12CODIFICARE REAL - SPECIFIC ..........................................................................................62
12.1.1Operatorul de ncruciare pentru codificarea real.........................................63
12.1.2Operatorul de mutaie pentru codificarea real...............................................66
13CONSIDERAII PRIVIND OPERATORII GENETICI.........................................................................67
14EXEMPLE DE REZOLVARE A PROBLEMELOR CU ALGORITMI GENETICI...........................................70
14.1.1Exemplu 1 Optimizare numeric....................................................................70
14.1.2Exemplu 2 Optimizare numeric.....................................................................76
14.1.3Exemplu 3 Optimizare numeric.....................................................................79
15STRATEGII EVOLUTIVE............................................................................................84
16 STRATEGIA EVOLUTIV (1+1)............................................................................................85
16.1.1Reprezentarea indivizilor..................................................................................85
16.1.2Mutaia..............................................................................................................85
16.1.3Algoritmul strategiei evolutive (1+1)................................................................87
17 STRATEGIA EVOLUTIV (+1)..............................................................................................88
17.1.1Recombinarea ...................................................................................................89
17.1.2Mutaia..............................................................................................................90
17.1.3Algoritmul strategiei evolutive (+1)..................................................................91
18STRATEGIILE (1,), (1+).....................................................................................................91
19STRATEGIILE EVOLUTIVE (+) I (,).......................................................................................92
19.1.1Reprezentarea individului.................................................................................93
19.1.2Recombinarea....................................................................................................93
ii
19.1.3Mutaia..............................................................................................................94
19.1.4Selecia .............................................................................................................96
19.1.5Algoritmul strategiilor evolutive (+) i (,)........................................................97
20PROGRAMAREA GENETIC....................................................................................99
21DESCRIEREA PARADIGMEI GP...........................................................................................100
21.1.1Natura indivizilor supui evoluiei..................................................................100
21.1.2Spaiul de cutare............................................................................................103
21.1.3Funcia de performan...................................................................................104
21.1.4Operatori specifici programrii genetice........................................................105
21.1.5Algoritmul programrii genetice.....................................................................110
22EXEMPLU DE APLICAII PG: REGRESIA SIMBOLIC. PROBLEMA 11-MULTIPLEXORULUI BOOLEAN. 111
23PROGRAMAREA EVOLUTIV...............................................................................116
24DESCRIEREA TEHNICII ORIGINALE.......................................................................................118
24.1.1Automate finite maina Turing.....................................................................118
24.1.2Reprezentarea indivizilor populaiei...............................................................120
24.1.3Evaluarea indivizilor.......................................................................................120
24.1.4Operatorii specifici..........................................................................................120
24.1.5Algoritmul programrii evolutive pentru automate finite............................121
25PROGRAMAREA EVOLUTIV CONTEMPORAN OPTIMIZAREA NUMERIC...................................122
25.1.1Reprezentarea indivizilor populaiei...............................................................122
25.1.2Evaluarea indivizilor populaiei......................................................................123
25.1.3Operatori specifici...........................................................................................123
25.1.4Algoritmul meta-Programrii Evolutive.........................................................124
26PARADIGMA SWARM INTELLIGENCE...............................................................126
27TEHNICA ANT COLONY OPTIMIZATION .............................................................................127
27.1.1Modelul natural...............................................................................................127
27.1.2Tehnica ACO...................................................................................................131
27.1.3Aplicaii...........................................................................................................137
28TEHNICA PARTICLE SWARM OPTIMIZATION.........................................................................138
28.1.1Modelul natural ..............................................................................................138
28.1.2Algoritmul PSO...............................................................................................139
28.1.3Aplicaii...........................................................................................................142
29SISTEME IMUNE ARTIFICIALE.............................................................................143
30 MODELUL BIOLOGIC ......................................................................................................143
30.1.1Anatomia sistemului imun...............................................................................144
30.1.2Celulele imune.................................................................................................144
30.1.3Activitatea sistemului imun.............................................................................145
30.1.4Caracteristicile majore ale sistemului imun...................................................147
31 SISTEME IMUNE ARTIFICIALE............................................................................................147
31.1.1Modele biologice n sistemele imune artificiale..............................................148
32PRINCIPIUL SELECIEI CLONALE.........................................................................................149
33 PRINCIPIUL SELECIEI NEGATIVE.......................................................................................151
34 TEORIA REELEI IMUNE...................................................................................................152
iii
35PRINCIPALELE APLICAII ALE SISTEMELOR IMUNE ARTIFICIALE.................................................153
36ALTE TEHNICI NATURAL-EVOLUTIVE..............................................................154
37SISTEME DE CLASIFICARE INSTRUIBILE...............................................................................154
37.1.1LCS .................................................................................................................155
37.1.2ZCS..................................................................................................................157
37.1.3XCS..................................................................................................................160
38ALGORITMI MEMETICI......................................................................................................161
39DIFFERENTIAL EVOLUTION................................................................................................163
40APLICAII N OPTIMIZARE...................................................................................167
41ALGORITMI EVOLUTIVI PENTRU OPTIMIZARE UNICRITERIAL...................................................167
41.1.1Avantaje i dezavantaje ale algoritmilor evolutivi pentru rezolvarea
problemelor de optimizare unicriterial...................................................................168
41.1.2Particulariti ale algoritmilor evolutivi de optimizare unicriterial.............169
41.1.3Explorare versus exploatare...........................................................................170
41.1.4Elitismul...........................................................................................................172
41.1.5Tratarea restriciilor.......................................................................................172
42OPTIMIZARE MULTIMODAL..............................................................................................173
42.1.1Tehnica Sharing..............................................................................................175
42.1.2Tehnica Crowding...........................................................................................177
42.1.3Tehnica Clearing.............................................................................................177
42.1.4Tehnica Speciation..........................................................................................178
42.1.5Funcii de test..................................................................................................179
43OPTIMIZARE MULTICRITERIAL..........................................................................................183
43.1.1Problema general de optimizare multicriterial...........................................184
43.1.2Avantaje i dezavantaje ale algoritmilor evolutivi de rezolvarea problemelor
de optimizare multicriterial.....................................................................................187
43.1.3Clasificarea metodelor evolutive de optimizare multicriterial.....................188
43.1.4Tehnici de agregare.........................................................................................188
43.1.5Tehnici non-agregare......................................................................................191
43.1.6Optimizare evolutiv multicriterial versus diversitatea populaiei...............199
43.1.7Optimizare evolutiv multicriterial versus elitism........................................200
43.1.8Funcii de test optimizare multicriterial.....................................................208
44OPTIMIZARE DINAMIC.....................................................................................................212
45BIBLIOGRAFIE...........................................................................................................215
iv
CAPITOL I
1 Introducere
Inclus pentru o perioad de timp n domeniul generos al
Inteligenei Artificiale, Calculul Evolutiv (Evolutionary Computation)
se detaeaz treptat n ultimele decenii de orice ncadrare, devenind
un domeniu de sine stttor, acumulnd noi paradigme, cercetri
variate i aplicaii cu succes ntr-o mare varietate de probleme
dificile. Ca urmare, studiul tehnicilor evolutive necesit dedicarea
unui spaiu mai larg pentru a cuprinde panorama ntregii cercetri
depuse n sensul construirii acestui domeniu. Cercetrile actuale
integreaz Calculul Evolutiv, alturi de Sistemele Fuzzy i Calculul
Neuronal, sub titulatura de Calcul Inteligent, ntr-una dintre cele mai
noi i prolifice ramuri ale Inteligenei Artificiale, considerat
succesoarea tehnicilor tradiionale ale Inteligenei Artificiale. Un
domeniu mai larg care ncorporeaz tehnicile inspirate de modele
inteligente observabile n natur este denumit Calcul Natural
(Natural Computation). n intersecia generoas a Calculului Evolutiv
i Calculului Natural sunt cuprinse unele dintre cele mai ingenioase
instrumente de rezolvare a problemelor dificile, denumite frecvent
tehnici de inspiraie natural.
Informatica cunoate prin aceast noua tendin o schimbare
major: probleme grele, de complexitate ridicat, pentru care
aplicarea unei metode tradiionale devine ineficient sau uneori
imposibil, pot fi rezolvate cu succes prin abordri din arealul
Calculului Inteligent. Calculul Evolutiv i Calculul Neuronal, sunt
incluse ca obiect de studiu n universiti, fapt pentru care ne
permitem s afirmm c aceast ramur devine una de importan
considerabil. De asemenea, literatura de specialitate se
mbogete ntr-un ritm rapid, de la an la an, cu noi cercetri
efectuate n aceast direcie. Numrul mare al lucrrilor publicate
(articole, cri, teze de doctorat) i a jurnalelor dedicate subiectului
1
aduc o dovad suplimentar a interesului crescut al comunitii
cercettorilor n dezvoltarea aplicaiilor viabile ale Calculului Evolutiv.
Principalele direcii ale Calculului Evolutiv sunt: Algoritmii
genetici, Strategiile Evolutive, Programarea Genetic, Programarea
Evolutiv. Acestora li se altur algoritmi inedii bazai pe paradigme
naturale ca: sistemele imune, coloniile de furnici, etc. Cartea de fa
i propune o introducere n sfera Calculului Evolutiv i Natural prin
prezentarea celor mai populare tehnici inspirate de natur.
Structura crii permite o parcurgere facil, fiecrui model
natural ce contribuie la dezvoltarea unei clase de tehnici fiindu-i
consacrat un capitol separat, cantitativ proporional cu importana
sau popularitatea subiectului. Capitolul se dedic n exclusivitate
celei mai reprezentative direcii a calculului Evolutiv, punctul de start
al dezvoltrii ulterioare a domeniului: Algoritmii Genetici. n anii n
care genetica i informatica cunoteau o dezvoltare accentuat,
preocuparea n aceste ramuri ale tiinei fiind extrem de motivat de
progresul tehnologic, la congruena celor dou ramuri sus
menionate ia natere un capitol aparte al informaticii cu rdcini
puternice n arealul biologiei.
n primele decade ale istoriei Algoritmilor genetici cercetarea se
restrnge n cteva centre universitare, avnd un nceput timid.
Cartea lui J. Holland din 1975 [1.1.1.2] este prima lucrare care
prezint n mod sistematic i riguros aspecte teoretice ale
subiectului. Nu este un domeniu cruia s i se ofere o importan
practic considerabil de la bun nceput, fapt care marcheaz o
uoar stagnare a cercetrii din primii ani. Subiectul cunoate o
revenire puternic prin lucrri ulterioare (vezi de exemplu lucrarea lui
D. Goldberg din 1989, [1.1.1.2]), strnind interesul nspre
dezvoltarea i identificarea posibilelor aplicaii ale algoritmilor
genetici.
Algoritmul genetic standard este n esen un algoritm de
cutare i optimizare n spaiul soluiilor posibile. O populaie de
soluii posibile este generat, ulterior, asupra indivizilor acesteia
aplicndu-se operatori specifici inspirai de ncruciarea, mutaia i
selecia natural. Noua generaie este alctuit din descendenii
populaiei vechi, acetia din urm fiind noi soluii posibile prin care se
2
exploreaz spaiul de cutare. De-a lungul evoluiei se nregistreaz
o cretere a performanelor indivizilor populaiei curente, fapt care
asigur convergena algoritmului nspre soluiile reale ale problemei
considerate.
Este important maniera de calcul a performanelor indivizilor
(denumii n mod uzual cromozomi). Se utilizeaz n acest sens o
funcie de evaluare a calitii soluiilor posibile. Valorile
performanelor individuale se folosesc n procesul de selecie,
favorizndu-se ncruciarea i mutaia indivizilor performani, ceea ce
aduce cu sine o evoluie pozitiv a populaiei nspre soluiile dorite.
Funcia de evaluare joac un rol important n cadrul algoritmului
genetic: o alegere inspirat a acesteia poate conduce la soluii foarte
bune ntr-un numr mai mic de generaii. De asemenea, alegerea
operatorilor genetici folosii cade n sarcina programatorului, fapt
pentru care cunoaterea subiectului i o bun experien a celui care
dezvolt algoritmul constituie un real avantaj. Structura algoritmului
genetic standard este simpl. n schimb, detaliile legate de maniera
de codificare a soluiilor, tipul operatorilor folosii, tehnica de selecie
aplicat i alegerea valorilor inspirate pentru parametrii algoritmului
sunt cele care decid n final dac rezultatele obinute sunt cele
satisfctoare. Putem afirma c dezvoltarea unui algoritm genetic
pentru rezolvarea unei probleme concrete este n fapt un act creativ
care permite programatorului o mare flexibilitate n alegerea
tehnicilor folosite pentru atingerea scopului dorit.
Ulterior apariiei Algoritmilor Genetici, se contureaz paradigma
Strategiilor Evolutive. Acestea din urm mprumut caracteristici
definitorii ale algoritmilor genetici ns propun operatori specifici
strategiilor i modele noi de populaii. n anii 60 , un grup de
cercettori de la Universitatea Tehnic din Berlin, ca un rspuns la
cercetarea american n algoritmii inspirai de evoluie i genetic,
dezvolt i teoretizeaz ceea ce astzi cunoatem sub titulatura de
strategii evolutive. Pionierii Strategiilor Evolutive sunt recunoscui ca
fiind Ingo Rechenberg i Hans-Paul Schwefel ( [1.1.1.2], [1.1.1.2] ).
Mai trziu, prin lucrri reprezentative sunt constituite strategiile
evolutive contemporane reprezentnd strategii evolutive revizuite
i generalizate pentru a permite un domeniu mai larg al aplicaiilor
3
practice i obinerea unor rezultate mai bune [1.1.1.2]. Capitolul
este dedicat Strategiilor Evolutive.
n paralel cu dezvoltarea Algoritmilor Genetici, se impune
direcia Programrii Genetice. Dei structura algoritmului general al
Programrii genetice este similar structurii algoritmului genetic
standard, perspectiva din care sunt abordate problemele de rezolvat
este complet diferit: n cazul algoritmilor genetici sunt evoluate
soluiile problemei, iar programarea genetic evolueaz programele
(algoritmii) care rezolv cu succes problema dat. Paradigma
programrii genetice este puin exploatat n comparaie cu popularii
algoritmi genetici, ns n anii 90 se nregistreaz o puternic
revenire, prin eforturile lui J. Koza [1.1.1.2] de a susine ramura
programrii genetice prin teoretizarea acesteia i aplicarea
metodelor specifice n probleme diverse. O descriere a paradigmei
programrii genetice este oferit n capitolul .
Paradigma Programrii Evolutive, cel de-al patrulea pion
important al Calculului Evolutiv, apare n anii 60 i ncorporeaz
tehnici de generare automat a comportamentul inteligent al unui
sistem. Dei n multe aspecte, programarea evolutiv este similar
celorlalte tehnici evolutive pomenite (exemplu: evoluia unei
populaii de soluii, aplicarea operatorilor genetici, supravieuirea
celor mai performani indivizi), prin reprezentarea flexibil a
indivizilor populaiei, programarea evolutiv i ctig un loc distinct
n scena Calculului Evolutiv. Cel de-al -lea capitol al crii de fa
descrie aspecte importante ale Programrii Evolutive.
Imaginaia cercettorilor nu are limite, reuind s descopere
modele inteligente n cele mai neateptate aspecte ale naturii. Spre
exemplu, comportamentul colectiv al stolurilor de psri sau al
coloniilor de furnici ne furnizeaz una dintre cele mai recente
paradigme ale Calculului Natural: Swarm Intelligence [1.1.1.2] . n
capitolul 6 este detaliat paradigma Swarm Intelligence, punnd n
eviden dou direcii importante de cercetare a subiectului:
metodele evolutive inspirate de comportamentul furnicilor i tehnicile
de optimizare Particle Swarm Optimization.
Complexitatea structural i funcional a organismului uman
reprezint o real provocare n Inteligena Artificial. Precum
4
sistemul nervos ofer o bogat surs de inspiraie n ramura
Calculului Neuronal, sistemul imun natural se dovedete de
asemenea un puternic model demn de luat n considerare. Lucrri
reprezentative (vezi [1.1.1.2],[1.1.1.2],[1.1.1.2]) contureaz o
direcie nou ncadrat Calculului Evolutiv, denumit n mod sugestiv
Sisteme Imune Artificiale. Prin aplicaii neateptate n sfera securitii
reelelor, optimizare sau recunoaterea formelor, sistemele imune
artificiale ctig un teren important n cercetarea actual.
Metodelor evolutive inspirate de modelul sistemului imun le este
consacrat capitolul .
Pentru a ntregi panorama, fr a pretinde ns o acoperire
complet a arealului Calculului Evolutiv, sub titlul Alte tehnici
evolutive am selectat n capitolul cteva metode ingenioase
ncadrate domeniului abordat. Acestea sunt metode evolutive
importante att prin originalitatea lor ct i prin direciile noi pe care
le deschid.
Principala aplicabilitate a algoritmilor evolutivi se exprim n
rezolvarea problemelor de optimizare, fapt pentru care acestui
subiect i-am dedicat un capitol separat. Optimizarea multiobiectiv i
optimizarea multimodal sunt abordate n capitolul din perspectiva
tehnicilor evolutive. De asemenea sunt evideniate dificultile
problemelor de optimizare n medii dinamice.
2 Metaeuristici
Contrar progresului tehnologiei informatice, o serie de probleme
dificile nu pot fi rezolvate prin algoritmi tradiionali care ne-ar
conduce la soluiile exacte ale acestora. Acest lucru este cauzat fie
de timpul de execuie prea mare pe care l necesit metodele
respective, fie de spaiul de memorie insuficient pentru
reprezentarea i stocarea soluiilor. n aceste situaii, este preferat
determinarea unei aproximri a soluiei optime ntr-o manier mai
eficient. Euristicele sunt metode generale de aproximare a soluiilor
problemelor grele, fr a garanta ns corectitudinea rezultatului
obinut. O supra clas a acestor metode, denumit metaeuristici,
ncorporeaz frecvent elemente ale unei cutri aleatoare.
Metaeuristicile sunt tehnici generale dedicate rezolvrii problemelor
5
de complexitatea combinatoric, care fac uz de euristici ntr-o
manier eficient. Metaeuristicile se disting prin construirea pas cu
pas a soluiei acceptabile, prin rafinarea unei soluii posibile pentru
obinerea unei bune aproximri a optimului, prin iterarea unei
euristici simple, de baz, respectiv, prin exploatarea soluiilor
obinute ntr-o etap anterioar sau explorarea aleatoare a spaiului
de cutare. Practic, o astfel de tehnic se poate interpreta ca o
strategie de ghidare a cutrii executat de alte euristici. Cele mai
reprezentative metaeuristici sunt: Hill-Climbing, Simulated Annealing,
cutarea Tabu i algoritmii ncadrai Calculului Evolutiv.
2.1.1 Cutare local Hill Climbing
Metaeuristica Cutarea local cuprinde algoritmi de rezolvare a
problemelor de optimizare. n general, aplicarea acestor algoritmi
este indicat n cazul acelor probleme care pot fi formulate ca
determinarea unei soluii care maximizeaz un criteriu dat ntr-o
mulime de soluii posibile. Principiul de funcionare a unui algoritm
de cutare local este urmtorul: n mod iterativ, pornind de la o
soluie posibil curent, se va explora vecintatea acesteia n
cutarea unei noi soluii vecine mai bune. Atingerea unui numr
prestabilit de iteraii poate constitui o condiie de terminare a
algoritmului. Alt modalitate de ncheiere a execuiei algoritmului
poate fi stabilit prin nregistrarea unei stagnri a cutrii (n ultimele
k iteraii cea mai bun soluie gsit nu a fost modificat n sensul
creterii valorii criteriului de optimizare).
Principiul de funcionare i condiia de terminare a unui algoritm
de cutare local nu garanteaz determinarea exact a soluiei
optime. Cu toate acestea, algoritmii de cutare local au o
rspndire larg, n mod special n domeniul Inteligenei Artificiale,
fiind aplicai cu succes n rezolvarea a numeroase problemelor de
optimizare dificile.
n cazul n care alegerea soluiei vecine se face n ideea de a
maximiza local criteriul de optimizare, tehnica de cutare local este
cunoscut sub denumirea de Hill-Climbing.
6
Un algoritm Hill Climbing exploreaz mulimea de soluii
posibile n sensul creterii criteriului de optimizare. Pornind de la o
prim soluie candidat aleas aleator, algoritmul modific soluia
curent, obinnd o soluie candidat. Soluia mai bun dintre cele
dou devine soluie curent i procesul se reia pn cnd nu mai
este posibil o mbuntire a soluiei curente. Rezultatul algoritmului
este reprezentat de ultima soluie pe care acesta a prelucrat-o. De
notat faptul c tehnica Hill Climbing nu garanteaz determinarea
optimului global, ns algoritmii de acest gen sunt alternative
eficiente n situaia n care o aproximare bun a optimului este
suficient.
Algoritmul general Hill Climbing este descris n continuare:
Algoritm Hill Climbing este:
Generare aleatoare soluie posibil x
Cttimp (condiie_de_terminare = false)
Fie V(x) vecintatea soluiei x
x=AlegeBest (V(x))
Dac x este mai bun dect x atunci
x:=x
sfDac
SfCttimp
SfAlgoritm
Denumirea algoritmului provine dintr-o analogie cu situaia
determinrii vrfurilor (maximelor) unei funcii de dou variabile, ale
crei grafic este o suprafa n spaiul 3-dimensional i poate fi
comparat cu un relief geografic format din dealuri i vi.
Coordonatele oricrui punct de pe suprafaa considerat reprezint o
posibil soluie. Soluiile cu altitudine mai mare sunt de preferat, fiind
mai apropiate de maximele funciei. Pornind de la o soluie iniial
aleas aleator, algoritmul descrie o urcare pas cu pas nspre vrfurile
(hills) suprafeei.
Datorit manierei n care se actualizeaz soluia curent,
prefernd la fiecare pas cea mai bun soluie vecin, algoritmul Hill
Climbing este un algoritm de tip Greedy. Alegerea lacom (greedy)
a soluiei vecine poate genera un inconvenient major al procedurii,
respectiv, convergena i blocarea ntr-un optim local. Exist variante
7
ale algoritmului standard prin care se elimin aceast problem:
Random-Restart Hill Climbing este un algoritm de cutare local
care permite execuia repetat a unei proceduri Hill Climbing avnd
ca punct de plecare diferite soluii posibile. Soluiile rezultate n urma
execuiilor procedurii Hill Climbing sunt reinute i cea mai bun
dintre acestea este soluia final a algoritmului.
2.1.2 Cutare TABU
Algoritmii de cutare Tabu sunt o clas de algoritmii de cutare
local care fac uz de o memorie n care sunt reinute soluiile
verificate. Denumirea acestor algoritmi provine de la cuvntul Taboo
(echivalent Tabu) al crui multiple sensuri sunt: sacru, interzis,
ascuns, etc.
Un algoritm de cutare Tabu va porni de la o soluie candidat
aleas aleator i va explora n mod iterativ spaiul soluiilor posibile.
Fiecare soluie parcurs va fi marcat ca fiind tabu, prin aceasta
interzicndu-se o reverificare ulterioar a sa. n ideea de a marca
soluiile recent parcurse se va utiliza o list tabu, avnd semnificaia
unei memorii temporare. Vecintatea soluiei curente va exclude
acele soluii care sunt memorate n lista tabu. Alegerea noii soluii se
face din vecintatea modificat a soluiei curente, fapt pentru care
soluiile recent verificate nu vor putea fi reparcurse. Spre deosebire
de tehnicile Hill Climbing, cutarea tabu implic explorarea spaiului
de cutare prin mutarea de la o soluie la cel mai bun vecin, chiar
dac acest lucru duce la o deteriorare a valorii criteriului de
maximizat. Prin aceast caracteristic, abordarea permite o
probabilitate mai mare de mutare din optimele locale.
n anumite circumstane, algoritmii de cutare Tabu pot fi
suplimentai prin proceduri de intensificare a cutrii ntr-o regiune
promitoare a spaiului soluiilor, respectiv, prin proceduri de
diversificare pentru a stimula cutarea ntr-o regiune slab explorat.
Componenta de intensificare implic modificarea regulilor de alegere
a noilor soluii pentru a exploata trsturile soluiilor dovedite a fi
bune n etapele anterioare. Alte strategii de intensificare rezult prin
reveniri n regiuni promitoare ale spaiului i explorarea acestora
mai amnunit. Strategia de diversificare se realizeaz prin
8
examinarea regiunilor neexplorate i generarea unor soluii mult
diferite de cele care au fost deja parcurse.
2.1.3 Recoacere simulat Simulated Annealing
Algoritmii de recoacere simulat [1.1.1.2] sunt inspirai de un
proces termodinamic, acela al nclzirii brute a unei buci de metal,
urmat de o rcire lent (recoacere) a acestuia n scopul atingerii
minimului global al energiei interne i a dispunerii atomilor ntr-o
reea cristalin ordonat. Procesul fizic este deseori utilizat n
metalurgie n scopul obinerii unor materiale cu defecte minime. n
etapa de nclzire atomii se distribuie ntr-un mod aleator, iar n
etapa de rcire lent atomii se reorganizeaz pentru a se ajunge la
configuraii de energie mai mic dect cea iniial.
Analogia dintre procesul termodinamic descris i algoritmul de
minimizare Simulated Annealing se poate rezuma prin urmtoarele
echivalene:
- energia sistemului = funcia criteriu (se dorete minimizarea
valorilor acestora)
- strile sistemului = spaiul de cutare
- starea curent a sistemului = soluia candidat
- modificarea strii sistemului = modificarea soluiei curente
- temperatura sistemului = parametrul de control T (denumit
sugestiv temperatur)
Inspirat de procesul termodinamic al recoacerii simulate,
algoritmul general Simulated Annealing (prescurtat SA) va permite
nlocuirea soluiei curente cu o soluie vecina aleatoare, chiar dac
performana noii soluii este mai mic. Comparnd strategia de
alegere a noii soluii candidat din algoritmul Hill Climbing, se observ
o diferen major: algoritmul SA nu va parcurge vecintatea soluiei
curente pentru a alege cel mai bun vecin, ci prefer o soluie
aleatoare. Probabilitatea de acceptare a noii soluii este dependent
de performana sa i de parametrul temperatur T. Parametrul de
control T are iniial o valoare mare i treptat descrete, avnd rolul
de a controla gradul n care este permis nlocuirea soluiei curente
cu o soluie mai slab. Astfel, valori mari ale temperaturii corespund
9
unei mari probabiliti de a nlocui soluia curent cu una mai slab,
n timp ce valori mici ale parametrului vor induce o mic probabilitate
de a prefera soluiile slabe, fapt pentru care comportamentul unu
algoritm SA n ultimele iteraii este asemntor algoritmului Hill
Climbing.
Pornind de la modelul fizic, fiecrei stri s a sistemului i este
asociat o probabilitate de apariie P
T
(s):
)
) (
exp(
) (
1
) (
T k
s E
T Z
s P
B
T

, unde:
- S mulimea strilor sistemului
- S s este starea sistemului
- T - temperatura sistemului
- Z(T) factor de normalizare
- E(s) energia strii s
-
B
k
- constant fizic pozitiv (constanta lui Boltzmann)
Pentru a folosi acest model fizic n optimizare ar fi necesar
generarea strilor-soluiilor n conformitate cu distribuia Boltzmann
pentru valori din ce in ce mai mici ale temperaturii T. Acest lucru este
realizabil dac este posibil calcularea lui Z(T). ns, practic,
determinarea lui Z(T) este imposibil deoarece necesit calcularea
unei sume pentru toate strile posibile ale sistemului:


S s
B
T k
s E
T Z )
) (
exp( ) (
Pentru a depi dificultatea calculului valorii
) (T Z
este
posibil folosirea algoritmului Metropolis 1953 [1.1.1.2] prin care
strile sistemului sunt generate aleator, n mod independent, i
probabilitatea de acceptare a unei stri depinde doar de starea
curent.
Notm:
- T - temperatura curent (se consider constant n timpul
execuiei algoritmului Metropolis)
-
init
x
- valoarea iniial a soluiei
10
-
max
i
- numrul maxim de iteraii ale procesului
Algoritmul Metropolis este descris n continuare.
Algoritmul Metropolis(T,
init
x ,
max
i ,
max i
x ) este:
Iniializare
( )
init
x x 0 , i:=0
Cttimp (
max
i i <
)
x:=Perturba(x(i))
Dac f(x)<f(x(i)) atunci
x(i+1):=x (acceptare nou soluie, cu probabilitatea:1)
altfel
(acceptare nou soluie cu probabilitatea:
( ) ( )

,
_

T
x f x f '
exp )
Genereaz aleator
1 0 q
Dac
( ) ( )

,
_


<
T
x f x f
q
'
exp atunci
x(i+1):=x
Altfel
x(i+1):=x
SfDac
SfDac
i:=i+1
( ) i x x
i

max
SfCttimp
sfAlgoritm
Generarea noii soluii x se face printr-o perturbaie aplicat
soluiei curente x(i). n general perturbaia const n stabilirea unei
vecinti asociate soluiei x(i) i alegerea unei soluii din vecintatea
respectiv.
Algoritmul general Simulated Annealing conine o secven de
subalgoritmi Metropolis pentru valori din ce n ce mai mici ale
parametrului temperatur T:
11
Notm cu
t
x
, soluia curent a problemei, la momentul de timp
t.
Algoritm Simulated_Annealing este
Iniializare
0
x
Iniializare temperatura iniial
0
T T
0 t
Cttimp (
max
t t < ) /*
max
t
- numrul maxim de iteraii */
Cheam Metropolis(T,
t
x
,
max
i ,
1 + t
x ) /*se
determin
1 + t
x
*/
( ) t T e Descrester T ,
1 + t t
SfCttimp
SfAlgoritm
O component important a unui algoritm SA o constituie
strategia de descretere a parametrului temperatur. Oferim n
continuare cteva variante de modificare a valorii temperaturii:
1.
t
T
T
+

1
0
, t- timpul,
0
T
- temperatura iniial
2.
t
T
T
ln 1
0
+

3. T T , unde 1 0 < < (ex. 95 . 0 )


Alegerea inspirat a modului de descretere a temperaturii este
una dintre condiiile succesului algoritmului SA. Descreterea
temperaturii corespunde unei cutri controlate n spaiul strilor:
iniial, prin valori mari ale temperaturii este accentuat exploatarea
spaiului de cutare prin acceptarea cu o mai mare probabilitatea a
strilor generate indiferent de calitatea acestora, iar, ulterior, valorile
mici ale temperaturii induc exploatarea local.
12
CAPITOL II
3 Paradigma Algoritmilor Genetici
4 Istoric
Primele semnale privind posibilitatea simulrii proceselor
evolutive cu ajutorul calculatorului au fost nregistrate n anii 50.
Unul dintre pionierii acestui domeniu, biologul Alex S. Fraser (1923-
2002), prin lucrrile sale (ex. "Simulation of genetic systems by
automatic digital computers" 1957), a reuit s aduc n atenia
cercettorilor ideea simulrii seleciei artificiale a organismelor.
Interesul asupra fenomenelor evoluiei, privite din perspectiv
computaional, a crescut n decadele urmtoare, culminnd cu
lucrarea de referin a lui John Holland (Adaptation in Natural and
Artificial Systems ,1975) n care este descris algoritmul genetic
standard. Holland elaboreaz Teorema schemelor n ncercarea de a
explica fora algoritmilor genetici n rezolvarea problemelor de
cutare i optimizare. n paralel cu dezvoltarea algoritmilor genetici
se contureaz i celelalte direcii majore ale Calculului Evolutiv:
strategiile evolutive, programarea genetic, programarea evolutiv.
Cu toate acestea, cea mai prolific direcie rmne cea a algoritmilor
genetici, popularitatea lor fiind justificat de simplitatea i succesul
nregistrat n rezolvarea multor probleme dificile.
Un alt punct de referin n istoria algoritmilor inspirai de
fenomene naturale l constituie lucrrile lui David E. Goldberg (vezi
de ex. Genetic Algorithms in Search, Optimization and Machine
13
Learning, 1989 ) n care sunt revzute i formulate principiile
algoritmilor genetici, dintr-o perspectiv matur asupra noului
domeniu conturat. Goldberg furnizeaz o ipotez interesant dar
controversat asupra abilitii algoritmului genetic de a gsi soluiile
bune a multor probleme. Cu toate c Goldberg afirm c teorema
schemelor (Holland, 1973) susine ipoteza blocurilor constructive,
teoria formulat de Goldberg nu se verific n totalitate i nu
reuete s explice potenialul algoritmilor genetici n rezolvarea
problemelor.
Studiul teoretic i aplicabilitatea algoritmilor genetici n
rezolvarea multor probleme grele se datoreaz cercettorilor
amintii, astfel nct acetia sunt recunoscui pe drept ca fiind
prinii Algoritmilor Genetici.
5 Modelul natural al algoritmilor genetici
Principala surs de inspiraie a algoritmilor genetici este n mod
cert teoria evoluiei naturale enunat de Charles Darwin (1809-
1882). Cu toate acestea, descoperirile din genetic au influenat de
asemenea structura algoritmilor genetici. Teoria Darwinist
reprezint un ansamblu de observaii asupra evoluiei privit la nivel
macroscopic i identificarea factorilor responsabili de acest fenomen.
Adaptarea unei populaii este interpretat prin dou principii majore:
selecia natural supravieuirea celor mai adaptai indivizi i
mutaia variaie a caracteristicilor indivizilor aprut ca rspuns la
mediul nconjurtor. Cercetrile i lucrrile lui Darwin (ex. Originea
speciilor, 1959) nasc controverse i astzi, ns afirmaiile conform
crora evoluia este cluzit de principiul supravieuirii celor mai
performani indivizi i a diversificrii prin mutaiile aprute, sunt
fundamentele algoritmilor evolutivi.
Teoria neo-darwinist, sau teoria ereditii este un alt punct de
vedere asupra evoluiei, de data acesta interpretat prin transferul de
material genetic de la prini la descendeni. La sfritul secolul al
XIX-lea, un preot i om de tiin austriac, Gregor Mendel (1822-
1884) descoper mai mult sau mai puin accidental teoria ereditii
prin experimentele efectuate n vederea ncrucirii speciilor diferite
de mazre. Acesta las posteritii cteva nsemnri n caietele sale
14
de observaii i o lucrare publicat care a fost ignorat la vremea
aceea. Mai trziu, aceste observaii enunate de Mendel sunt
recunoscute ca fiind legile ereditii i autorul acestora este
considerat printele geneticii moderne. Multe aspecte ale algoritmilor
genetici sunt mprumutate din genetic. Dintre acestea remarcm
motenirea trsturilor (genelor) prinilor de ctre descendeni,
codificarea indivizilor prin secvene de gene, dar i caracterul aleator
al aportului trsturilor provenite de la prini.
Algoritmii genetici nu respect strict ingredientele celor dou
teorii amintite iar terminologia mprumutat nu acoper semnificaia
original; acetia se formeaz ca o reet practic inspirat de
evoluie i ereditate n care factorul uman a strecurat secvene de
calcule i parametri artificiali n scopul obinerii unor rezultate mai
bune. Privit la nivel superficial, un algoritm genetic simuleaz
evoluia unei populaii, ns, n esen, fenomenul evoluiei artificiale
este ghidat de funcii matematice i controlat prin parametrii
suplimentari pentru a genera o soluie ct mai apropiat de optimul
problemei. Avantajul imediat al algoritmilor genetici const n gradul
mare de generalitate i paleta larg a problemelor abordate.
Originalitatea, simplitatea i sursa inedit de inspiraie poate justifica
parial atenia acordat dezvoltrii acestor metaeuristici. Succesul
real nregistrat n probleme de dificultate ridicat este argumentul
forte al algoritmilor genetici.
6 Descriere algoritm genetic
Pe scurt, un algoritm genetic opereaz cu o mulime de indivizi
(denumii n mod uzual cromozomi) asupra crora se aplic
operatorii genetici. Fiecare individ reprezint o soluie posibil din
spaiul de cutare. Maniera de codificare a unei soluii este binar,
real sau specific, n funcie de opiunea noastr i de contextul
problemei. Mulimea de cromozomi formeaz o populaie. Evoluia
populaiei este condus de dou elemente: operatorii genetici i
funcia de evaluare a calitii cromozomilor. Selecia, ncruciarea i
mutaia sunt operatorii genetici uzuali, fiind inspirai de procesele
naturale care stau la baza evoluiei.
15
Indiferent de natura problemei considerate se poate construi cel
puin o funcie de evaluare a soluiilor posibile. Prin aceasta, fiecrui
individ al populaiei i se atribuie o valoare numeric reprezentnd
performana sa n raport cu cerinele problemei. Ulterior, msura
calitii indivizilor populaiei curente este folosit n procesul de
selecie a acelor indivizi, denumii prini, asupra crora se aplic
operatorii de ncruciare i mutaie pentru obinerea noii generaii.
Principiul este simplu: cu ct prinii selectai sunt mai performani,
cu att ansa ca descendenii obinui s fie calitativ superiori este
mai mare. Procesul se reia avnd ca populaie curent noua
generaie de cromozomi. Se observ de-a lungul evoluiei populaiei
o cretere a calitii indivizilor si. Dup un numr considerabil de
generaii soluia global a problemei poate fi aproximat suficient de
bine printr-un individ al ultimelor generaii.
Conceperea unui algoritm genetic de rezolvare a unei probleme
concrete presupune evidenierea urmtoarelor componente:
1. individul
2. populaia
3. funcia de evaluare
4. selecia
5. operatorii de variaie (ncruciare i mutaie)
6. condiia de oprire a algoritmului
1) Individul
Analiznd specificaiile problemei, putem identifica spaiul de
cutare. Orice punct al acestuia constituie o soluie posibil. n
funcie de specificul soluiei posibile, putem determina o manier
inspirat de codificare numeric sau nenumeric a acesteia.
Codificarea unei soluii formeaz un cromozom i identific un
individ al populaiei curente. Fiecare cromozom este format dintr-un
ir de valori ale unui alfabet dat. Valoarea de pe o poziie oarecare a
irului codificrii se numete gen. Alfabetul A al valorilor genelor
este stabilit n prealabil i poate fi:
- valori binare:
{ } 1 , 0 A
- valori reale:
R

16
- alt alfabet (codificare specific)
Lungimea irului de gene din codificarea cromozomului poate fi
constant sau variabil i depinde de numrul de trsturi definitorii
ale unei soluii posibile a problemei:
Fie c un cromozom oarecare i A alfabetul genelor din
reprezentarea sa. Cromozomul c se descrie prin vectorul de n
elemente:
( )
n
c ,..., ,
2 1
,
unde A
i
,
{ } n i ,..., 2 , 1 .
n funcie de alfabetul genelor, codificarea cromozomial se
clasific n:
- codificare binar,
{ } 1 , 0 A
- codificare real,
R
- codificare specific alta dect cea binar sau real.
2) Populaia
O mulime finit de cromozomi alctuiete populaia.
Dimensiunea populaiei (numrul de indivizi care o formeaz) este n
general o valoare constant pe care o stabilim n prealabil i
reprezint un parametru important al algoritmului dezvoltat. ntr-o
abordare mai flexibil, dimensiunea populaiei poate fi variabil, un
exemplu n acest sens ar fi descreterea numrului de indivizi de-a
lungul evoluiei, odat cu creterea performanei acestora, fapt care
ar uura determinarea soluiilor finale din ultima generaie produs.
Nu este exclus utilizarea mai multor populaii cooperante (exemplu)
sau a unei populaii suplimentare cu rol de memorie n care sunt
reinute soluii bune gsite n cadrul generaiilor intermediare (vezi
de ex.). Modelul standard al algoritmului genetic presupune
exploatarea unei unice populaii de dimensiune constant. Formal, o
astfel de populaie se descrie astfel:
{ }
m
c c c P ,..., ,
2 1
,
unde:
{ } m j ,..., 2 , 1
, j
c
reprezint un cromozom.
17
Prima generaie se numete populaie iniial i construirea
acesteia se face n principal prin generarea aleatoare a unor soluii
posibile n domeniul de cutare. Dac sunt cunoscute zone ale
spaiului care conin soluii bune ale problemei, populaia iniial
poate fi mbogit cu indivizi care codific puncte din aceste zone.
n aceast manier se accelereaz convergena populaiei, oferindu-
se ansa ca nc de la primele generaii s fie obinute soluii optime
ale problemei. Exist puine situaii n care procedeul descris mai sus
poate fi aplicat deoarece din specificaiile problemei rareori putem
deduce zonele promitoare ale spaiului de cutare. Modelul
standard al algoritmului genetic presupune generarea aleatoare a
populaiei iniiale.
Cu ct dimensiunea populaiei este mai mare, cu att ansa
obinerii rapide a unei bune aproximri a soluiilor problemei crete.
De asemenea, distribuia indivizilor populaiei joac un rol important
n economia construirii algoritmului genetic: o distribuie echilibrat a
populaiei iniiale mrete substanial viteza de identificare a zonelor
promitoare ale spaiului de cutare. Acest fapt aduce cu sine o
convergen mai bun nspre soluiile problemei.
n concluzie, o populaie de dimensiune suficient de mare i
avnd un grad de diversitate considerabil reprezint unul dintre
factorii majori ce conduc la obinerea soluiilor dorite.
3) Funcia de evaluare
Una dintre condiiile fundamentale ale funcionrii eficiente ale
unui algoritm genetic o reprezint alegerea inspirat a funciei de
evaluare. n cazul unei probleme de optimizare numeric (ex.
determinarea maximului/minimului global al unei funcii
matematice), funcia de evaluare se poate alege ca fiind chiar funcia
criteriu sau o funcie construit pe baza funciei criteriu.
Pentru o mai bun nelegere prezentm n continuare un
exemplu:
Fie
R D f :
,
[ ] , D
, dat de formula:
( ) ( ) x x f sin
18
Se dorete determinarea maximului funciei f.
Criteriul care ghideaz cutarea soluiei globale este
maximizarea funciei date, respectiv, determinarea punctului x
pentru care
( ) x sin
este maxim.
Orice valoare real din intervalul
[ ] ,
poate fi reprezentat
n limbaj binar, cu o anumit precizie impus. Un cromozom al
populaiei corespunztor unei valori reale x va fi construit ca un
vector de cifre binare ale codificrii punctului x. Asupra codificrii
binare vom reveni ntr-un paragraf urmtor. Se impune observaia c
o abordare mai flexibil permite ca reprezentarea cromozomial a
unui punct x al spaiului de cutare s fie dat de o un vector
particular cu o singur component. Unica gen a codificrii
reprezint chiar valoarea real a punctului corespunztor.
n acest caz particular, funcia de evaluare este dat de nsi
funcia criteriu. Fie cromozomul c reprezentarea (binar sau real) a
punctului x. Funcia de evaluare este construit astfel:
( ) ( ) x c a performant sin
Valorile calculate ale funciei de performan calific i
difereniaz indivizii populaiei. Astfel, este posibil identificarea
indivizilor performani ai populaiei, cei crora li se ofer ulterior o
mai mare ans de a produce descendeni.
Exist situaia n care este dificil de exprimat matematic
criteriul de optimizare al problemei date. n aceste situaii, utilizatorul
va construi funcii de evaluare prin care se va ncerca calificarea ct
mai coerent a soluiilor candidat, fapt pentru care rezultatele oferite
de algoritmul dezvoltat sunt dependente de factorul uman. Mai mult,
probleme de optimizare de dificultate ridicat sunt cele n care se
dorete determinarea optimelor multiple ale unei funcii (optimizare
multimodal) sau cele n care se impun anumite restricii (optimizare
cu restricii). Pentru rezolvarea acestor probleme, funcia de
evaluare va fi atent construit pentru a respecta restriciile impuse,
respectiv, pentru a permite populaiei s convearg nspre toate
optimele funciei criteriu.
19
Un alt caz n care construirea funciei de evaluare necesit un
efort mai mare este cel al problemelor de optimizare multiobiectiv.
Asupra acestor probleme vom reveni ntr-un capitol ulterior cu o
prezentare detaliat.
n discuia referitoare la funcia de evaluare ne-am referit strict
la probleme de optimizare. Justificarea acestui fapt rezid din
afirmaia c orice problem de cutare a soluiilor n spaiul soluiilor
posibile, cutare ghidat de unul sau mai multe criterii, poate fi
reinterpretat ca o problem de optimizare: din mulimea soluiilor
posibile se caut acelea care optimizeaz cel mai bine criteriile
problemei. Dei principala aplicabilitate a algoritmilor genetici const
n rezolvarea problemelor de optimizare, afirmaia precedent ne
permite extinderea ariei de aplicabilitate a algoritmilor genetici i
nspre probleme de alt gen.
4) Selecia
Am vorbit n rndurile precedente de structura populaiei i
calificarea indivizilor si prin funcia de evaluare. Evoluia populaiei,
obinerea generaiilor de indivizi mai performani dect predecesorii
lor, este cauzat de operatorul de selecie i operatorii de variaie
(recombinarea i mutaia) aplicai.
Unul dintre factorii majori ai evoluiei este selecia natural. O
interpretare simplificat a acestui fenomen ne permite nelegerea
procesului prin care o populaie poate converge nspre anumite
puncte ale spaiului de cutare, respectiv, nspre soluiile unei
probleme date. Pornind de la observaia acceptat c indivizii
performani ai unei specii dau natere la descendeni asemntori i
de performane apropiate i, n schimb, indivizii slab calificai produc
indivizi noi ale cror performane sunt n general slabe, ne putem
imagina dou scenarii:
- n primul scenariu, indivizii unei populaii sufer ncruciri i
mutaii pur aleatoare, fr a se aplica principiul seleciei
20
- al doilea scenariu implic o selecie prealabil a prinilor noii
generaii, selecie fcut pe baza valorilor de performan a
indivizilor populaiei curente
Cele dou populaii ale scenariilor descrise se monitorizeaz de-
a lungul evoluiei. Se observ c, dac n primul caz absena seleciei
induce o stagnare n procesul evoluiei populaiei nspre indivizi de
calitate superioar, n a doua situaie, selecia favorizeaz o cretere
accelerat a performanei medii a generaiilor produse. Comparnd
ultimele generaii ale ambelor scenarii putem deduce importana
seleciei n evoluia unei populaii.
Implementarea operatorului de selecie se face n variate
maniere. Unul dintre cei mai populari algoritmi de selecie este cel al
seleciei proporionale inspirat de algoritmul ruletei. Selecia
proporional presupune alegerea prinilor noii generaii n mod
proporional cu valoarea de performan a acestora. Altfel spus,
probabilitatea de selectare a unui individ performant este mai mare
dect a unuia slab calificat, i aceast probabilitate este direct
proporional cu valoarea performanei individului. Acest procedeu
favorizeaz o convergen rapid a populaiei, ns n unele cazuri
prezint dezavantaje majore, fapt pentru care se opteaz pentru
implementarea altor variante de selecie.
Algoritmii detaliai ai operatorilor de selecie vor fi prezentai
ntr-un paragraf dedicat.
5) Operatorii de variaie (ncruciare i mutaie)
Selecia propriu-zis nu este suficient pentru a induce
dinamica unei populaii. Indivizii selectai vor suferi modificri prin
operatorii genetici de variaie pentru a permite obinerea unor
descendeni diferii, respectiv pentru a permite o explorare bun a
spaiului de cutare. Principalii operatori de variaie sunt ncruciarea
i mutaia.
Varianta standard a operatorului de ncruciare se aplic asupra
a doi prini selectai anterior i produce unul sau doi descendeni
care motenesc trsturile prinilor n proporii diferite. Prezentm
21
n continuare un operator de ncruciare aplicabil pentru codificarea
binar. Tipul operatorului este de 2:2, respectiv, din 2 prini se
produc 2 descendeni. Datorit specificului su, operatorul descris
mai jos este cunoscut sub denumirea de ncruciare cu un punct de
tietur.
Fie
1
c i
2
c doi indivizi oarecare ai populaiei curente:
( )
n
c ,..., ,
2 1 1

( )
n
,..., , c
2 1 2

Se genereaz aleator o valoare natural
{ } n t ,..., 2 , 1
, avnd
semnificaia punctului de tietur. Ambii prini se vor diviza,
obinndu-se secvenele:
( )
t
c ,..., ,
2 1
1
1
, ( )
n t t
c ,..., ,
2 1
2
1 + +

( )
t
c ,..., ,
2 1
1
2
, ( )
n t t
c ,..., ,
2 1
2
2 + +

Descendenii
1
d i
2
d ai prinilor
1
c i
2
c se obin prin
concatenarea secvenelor obinute:
2
2
1
1 1
c c d +
2
1
1
2 2
c c d +
Observaie: Operatorul + are n aceast descriere formal
semnificaia concatenrii secvenelor.
Se obin astfel noii indivizi:
( )
n t t
d ,..., , ,...,
1 1 1 +
i
( )
n t t
d ,..., , ,...,
1 1 2 +

Prin aplicarea ncrucirii, noii indivizi motenesc genele


prinilor, fapt pentru care acetia sunt asemntori indivizilor care i
produc. Se ntlnete deseori situaia n care o anumit soluie a
spaiului de cutare nu poate fi obinut prin aplicarea operatorului
de ncruciare descris. Exist de asemenea suficiente argumente n
favoarea aplicrii altor tipuri de operatori de ncruciare (exemplu:
22
ncruciarea cu puncte multiple de tietur). Pentru asigurarea unei
bune explorri a spaiului de cutare, un alt operator genetic este
introdus: mutaia. Teoria evoluiei naturale menioneaz faptul c
selecia nu este unicul factor responsabil al fenomenului evoluiei.
Mutaia natural, definit prin micile modificri la nivelul codificrii
cromozomiale, este cea care, n combinaie cu mecanismul seleciei,
asigur adaptarea la mediu. Implementarea procesului natural al
mutaiei se face prin operatorul de mutaie, care la rndul su
cunoate variate forme descrise n lucrri de specialitate.
Prezentm n continuare o variant simpl a operatorului de
mutaie. Acest operator este de tipul 1:1, respectiv, dintr-un printe
selectat se obine un unic descendent prin alterarea valorii unei
singure gene. De asemenea, aplicabilitatea operatorului descris este
strict limitat la codificarea cromozomial binar.
Fie c un cromozom al populaiei curente:
( )
n k
c ,..., ,..., ,
2 1

Se genereaz aleator o poziie k din secvena binar a


codificrii.
Individul mutant ( )
n k
c ,..., ,..., , '
2 1
se obine prin
copierea nealterat a genelor printelui c, cu excepia genei de pe
poziia k. Valoarea genei mutate se obine prin inversare:
Dac 1
k
atunci
0
k

Altfel
1
k

SfDac
Alegerea operatorilor folosii joac un rol decisiv n economia
dezvoltrii algoritmilor genetici. Utilizatorul opteaz pentru anumite
forme ale operatorilor genetici pe baza unor criterii care sunt de cele
mai multe ori subiective. Specificaiile problemei sunt cele care ne
pot oferi informaiile necesare pentru a decide maniera de codificare
a indivizilor. Odat stabilit forma de codificare (binar, real,
specific), paleta operatorilor se restrnge semnificativ. Cu toate
23
acestea, diversitatea procedeelor de ncruciare i mutaie,
clasificate pe tipul codificrii pre-fixate, fac dificil alegerea inspirat
a celor mai eficiente variante. Preferinele se ndreapt nspre acei
operatori care se dovedesc a fi eficieni n rezolvarea unor probleme
similare. Lipsa constrngerile legate de implementarea operatorilor
genetici, permite utilizatorului s i construiasc operatori specifici
problemei sau clasei de probleme pe care le abordeaz.
6) Condiia de oprire a algoritmului genetic
Paragrafele anterioare prezint succint principalele ingrediente
ale unui algoritm genetic. Se contureaz astfel structura unui
algoritm de acest tip. n esen, algoritmul genetic este o procedur
repetitiv prin care o populaie de soluii posibile, prin aplicarea
operatorilor genetici (selecie, ncruciare, mutaie) produce noua
generaie. Procesul se reia pentru noua populaie obinut pn cnd
o condiie de terminare este ndeplinit. Condiia de terminare a
algoritmului se refer n general la atingerea unui numr maxim
prestabilit de generaii. Exist i situaii n care utilizatorul poate s
impun o cu totul alt condiie de ncheiere a evoluiei, condiie
independent de numrul populaiilor generate. Un exemplu n acest
sens ar fi nregistrarea unui anumit grad de uniformitate n cadrul
populaiei. n situaia n care indivizii populaiei devin asemntori
putem considera c diversitatea slab a populaiei nu mai permite o
explorare eficient a spaiului de cutare. Mai mult, putem
concluziona c indivizii populaiei s-au stabilit n zona cea mai
promitoare, corespunztoare soluiei globale. Experimentele arat
c nu ntotdeauna aceast concluzie este adevrat. Populaia poate
fi atras de un punct de optim local, producndu-se fenomenul de
convergen prematur. Convergena prematur este unul dintre
fenomenele nedorite ale unui algoritm genetic i evitarea acestui
neajuns comport cteva modificri n structura algoritmului:
alegerea unei alte scheme de selecie, reiniializarea aleatoare unei
seciuni din populaie sau accentuarea mutaiilor produse. O alt
soluie oferit este cea prin care sunt monitorizate ultimele k
generaii obinute. Pentru a nu cdea n posibila capcan scderii
temporare a gradului de diversitate a populaiei putem considera un
24
numr mai mare de generaii analizate din punct de vedere al
asemnrii indivizilor. n aceast manier obiectivitatea deciziei de
terminare a evoluiei crete substanial. Parametrul k reprezint n
acest caz o valoare numeric natural prestabilit.
Revenind la condiia de terminare, ca i n cazul celorlalte
componente ale algoritmului genetic, alegerea acesteia se face de
ctre proiectantul algoritmului la o atent observare a
comportamentului populaiei de-a lungul generaiilor. O bun
experien a proiectantului ct i concluziile experimentelor
efectuate sunt factori principali ai construirii unui algoritm genetic
valoros.
nainte de a furniza schema algoritmului genetic standard, este
important s afirmm c acest algoritm nu funcioneaz ca un ablon
de rezolvare a oricrei probleme. Detalii legate de implementare,
alegerea operatorilor, construirea funciei de evaluare, precum i
stabilirea parametrilor implicii reprezint aspecte care difereniaz
algoritmii obinui din punct de vedere al aplicabilitii acestora pe
anumite clase de probleme.
Presupunem c cele 6 elemente enumerate anterior au fost
stabilite. n acest caz putem formula structura algoritmului genetic:
Schema algoritmului genetic standard:
Algoritmul AG_standard este:
Fie
( ) 0 P
- populaia iniial;
0 t ;
Cttimp (NOT condiie de
terminare)
Evaluare( ( ) t P )
( ) t P
S
=Selecie (
( ) t P
)
( ) t P
R
=ncruciare( ( ) t P
S
)
( ) 1 + t P
=Mutaie ( ( ) t P
R
)
t:=t+1
SfCttimp
SfAlgoritm
Notm:
25
t numrul generaiei curente.
S
P - mulimea indivizilor selectai
R
P - mulimea indivizilor obinui prin ncruciare
Soluia final a algoritmului genetic este dat de cel mai
performant individ al ultimei generaii produse. Se impune observaia
c aceast variant de extragere a rezultatului nu este cea mai
eficient. Ne imaginm urmtorul scenariu: un individ performant,
extrem de apropiat de soluia global a problemei) este obinut ntr-
una dintre generaiile intermediare. Principiul seleciei ne conduce la
supoziia c probabilitatea acestuia de a fi selectat n vederea
aplicrii operatorilor de variaie este mare. Operatorul de ncruciare
nu asigur pstrarea prinilor performani n noua generaie. Astfel,
individul considerat n scenariul nostru va fi distrus, neavnd
certitudinea c descendenii si sunt cel puin la fel de performani
ca i el. Observm astfel c indivizii calificai ai generaiilor
intermediare pot dispare pe parcursul evoluiei populaiei.
Remedierea acestui fenomen poate fi fcut extrem de simplu
prin suplimentarea algoritmului iniial cu o form de elitism. Prin
elitism, cel mai bun, sau cei mai buni k indivizi ai generaiei curente
vor fi copiai nemodificai n noua generaie. Se evit n acest mod
pierderea soluiei globale dac aceasta este obinut ntr-o etap
intermediar a evoluiei.
7 Funcionarea algoritmului genetic
Intuitiv, algoritmul genetic va conduce populaia de soluii
posibile nspre soluiile optime ale problemei de rezolvat. De cele mai
multe ori acest fenomen decurge n mod firesc, fr anomalii, i
putem spune c algoritmul converge nspre optimele problemei.
Exist i situaia n care indivizii populaiei se blocheaz n zone sub-
optimale ale spaiului de cutare, evoluia lor ulterioar fiind
ngreunat sau imposibil. n aceste situaii rezultatul oferit de
algoritm este eronat. Cauzele acestui anomalii sunt multiple. Una
dintre cele mai frecvente surse de eec este alegerea neinspirat a
26
funciei de evaluare i a operatorului de selecie, rezultnd pierderea
diversitii populaiei i incapacitatea de a determina soluiile
globale. Fenomenul nedorit, descris ca obstrucionarea explorrii
spaiului de cutare i blocarea populaiei n zone corespunztoare
optimelor locale, este denumit convergen prematur.
n esen convergena prematur este cauzat de pierderea
diversitii genetice a indivizilor ntr-o etap timpurie a evoluiei, fapt
care genereaz o stagnare a evoluiei ulterioare. Probabilitatea ca
indivizii asemntori ai populaiei curente s genereze descendeni
diferii este redus, ceea ce induce o rezisten sporit la dislocarea
indivizilor din zonele de blocaj.
n scopul evitrii convergenei premature au fost dezvoltate
diferite strategii de meninere a diversitii populaiei. Dintre acestea
enumerm:
- stabilirea unei dimensiuni mai mari a populaiei;
- aplicarea unor operatori genetici care s-au dovedit benefici
evoluiei i meninerii diversitii (ex. ncruciarea
uniform)
- strategii de mperechere care evit obinerea de indivizi
similari prin aplicarea ncrucirii
- aplicarea mutaiei cu o mai mare probabilitate
- evitarea folosirii operatorului de selecie proporional care
n anumite situaii va favoriza evoluia doar a unei mici
fraciuni de indivizi din populaie, conducnd la
omogenizarea populaiei
Un alt aspect al funcionrii algoritmului genetic este cel al
elitismului. n multe situaii, o soluie bun a problemei (codificat ca
individ al populaiei) poate s apar ntr-una dintre generaiile
intermediare; avnd o performan mare, ansa de a fi selectat n
vederea supunerii acesteia la aciunea operatorilor de variaie
(mutaie i ncruciare) este mare. Aplicarea operatorilor genetici
poate s distrug soluia performant, fapt pentru care evoluia
populaiei este ncetinit. Remedierea acestui fenomen const n
aplicarea unor strategii de salvare a indivizilor performani
determinai n populaiile intermediare. n mod sugestiv, aceti
indivizi cu performane ridicate se denumesc elit i procedeul prin
27
care elita este meninut de-a lungul populaiilor se denumete
elitism. Cea mai simpl strategie de elitism const n copierea elitei
n noua generaie. Acest transfer garanteaz protejarea soluiilor
calificate de-a lungul evoluiei i o mai bun convergen a
algoritmului genetic.
Funcionarea algoritmului genetic este strns legat de dou
concepte duale: explorarea i exploatarea spaiului de cutare.
Primul concept se refer la capacitatea populaiei de a acoperi
spaiul soluiilor posibile prin cutare global i este strns legat de
proprietatea de diversitate a populaiei. Cel de-al doilea concept se
refer la capacitatea populaiei de a asigura cutarea local n zonele
promitoare ale spaiului i corespunde unei mbuntiri a
indivizilor n vederea obinerii unei aproximri mai bune a soluiilor
finale. Cele dou fenomene definite de conceptele sus-menionate
sunt duale n sensul n care, accentuarea unuia conduce n mod
gradual la inhibarea apariiei celuilalt. Astfel, o explorare asidu a
spaiului de cutare, marcat prin meninerea unei populaii diverse,
ngreuneaz procesul de rafinare a soluiilor bune i cauzeaz a
stagnare n evoluia populaiei. Contrar, accentuarea exploatrii
zonelor promitoare conduce la o explorare defectuoas a spaiului
de cutare i poate conduce la fenomenul de convergen
prematur. Ambele situaii descrise trebuie evitate. Pentru buna
funcionare a algoritmului genetic din perspectiva celor dou
concepte, este necesar stabilirea unui echilibru explorare-
exploatare obinut n principal prin aplicarea unui mecanism de
evaluare i selecie bine ales.
8 Aplicaii
Paleta de aplicaii ale Algoritmilor genetici este nelimitat.
Concepui ca instrumente de optimizare, algoritmii genetici sunt
aplicabili i n probleme de alt gen, prin reformularea problemelor
respective ca probleme de cutare a soluiilor optime n spaiul de
cutare. Identificarea corect a obiectivelor problemei date,
delimitarea spaiului soluiilor posibile, determinarea unei maniere de
reprezentare a soluiilor, construirea unei funcii de evaluare
corespunztoare i alegerea inspirat a operatorilor de variaie, sunt
28
cteva dintre ingredientele care asigur aplicabilitatea algoritmilor
genetici. Literatura de specialitate este mbogit periodic cu
cercetri dedicate aplicaiilor algoritmilor genetici n probleme reale.
Enumerm mai jos cteva dintre cele mai reprezentative probleme
pentru care algoritmii genetici s-au dovedit eficieni:
- optimizarea numeric;
- proiectarea i optimizarea reelelor neuronale;
- proiectarea automat a sistemelor;
- probleme de control;
- planificarea sarcinilor;
- probleme de transport;
- probleme din domeniul telecomunicaiilor;
- problema comis-voiajorului;
- etc.
9 Selecia
Responsabilitatea operatorului de selecie este aceea de a
avantaja indivizii performani ai populaiei, respectiv de a favoriza
cutarea n apropierea acelor soluii care s-au dovedit a fi
performante relativ la obiectivele problemei. Efectul operatorului de
selecie poate fi controlat prin intermediul a doi parametri: presiunea
de selecie i timpul de aciune.
a) Presiunea de selecie (selection pressure) se definete ca
fiind msura n care indivizii performani ai populaiei produc
descendeni n noua generaie. Valoarea mic a presiunii de selecie
permite fiecrui individ al populaiei s fie selectat cu o probabilitate
rezonabil pentru a produce descendeni. Valorile apropiate ale
probabilitilor de selecie induc o slab exprimare a preferinei
nspre exploatarea indivizilor performani. Contrar, valorile mari ale
presiunii de selecie favorizeaz cei mai buni indivizi ai generaiei
curente, fapt pentru care convergena populaiei este accelerat.
Principalul neajuns al stabilirii unei presiuni mari de selecie const n
posibilitatea producerii efectului de convergen prematur datorat
pierderii diversitii populaiei.
29
b) Timpul de aciune (takeover time) se definete astfel:
- fie un algoritm evolutiv nzestrat doar cu operator de
selecie
- generaia iniial conine o singur instan a unei soluii
optimale i dimensiunea populaiei este constant.
Timpul de aciune se exprim prin numrul de generaii n care
un algoritmul produce o generaie alctuit exclusiv din instane ale
soluiei optimale iniiale.
Se poate observa c cei doi parametri ai operatorului discutat
sunt duali: creterea valorii presiunii de selecie produce
descreterea valorii timpului de aciune i, reciproc, presiunea mare
de selecie induce un numr mai mare de generaii n care se
produce o populaie format din copii ale soluiei iniiale.
Prezentm n continuare cele mai reprezentative variante ale
operatorului de selecie.
9.1.1 Selecia proporional
Propus de James E. Baker [1.1.1.2 ], selecia proporional este
una dintre cele mai populare tehnici de selecie. Pe baza principiului
de avantajare a indivizilor calificai, mecanismul seleciei impune
fiecrui individ al generaiei curente o probabilitate de selectare -
proporional cu valoarea performanei sale.
Fie ( ) { }
n
c c c t P ,..., ,
2 1
- generaia curent t.
Fie { }
n
fit fit fit Fit ,..., ,
2 1
- mulimea valorilor de performan
ale cromozomilor:
{ } n i ,..., 2 , 1
, ( )
i i
c fitness fit
Notm cu fitness funcia de evaluare a performanei
cromozomilor.
Performana total a generaiei curente t se calculeaz prin
formula:
( )

n
i
i
fit t Fitness
1
30
Definiie1: Probabilitatea de selecie a individului ( ) t P c
i
este
dat de raportul dintre performana sa i performana total a
populaiei curente:
( ) t Fitness
Fit
p
i i
S

.
O variant a procedurii de selecie proporional este aceea n
care sunt extrase elementele populaiei prin aplicarea de n ori a
algoritmului de baz, n fiind dimensiunea populaiei, formndu-se o
populaie intermediar asupra creia se aplic ulterior operatori de
variaie. Populaia intermediar este format din copii ale indivizilor
generaiei
( ) t P
: unii indivizi vor fi reprezentai de mai multe ori i
alii nu vor fi selectai deloc. Cunoscnd dimensiunea populaiei n i
probabilitile de selecie ale indivizilor se poate determina numrul
mediu de copii ale fiecrui individ.
Definiie2: Numrul mediu de selecii ale individului ( ) t P c
i
este
dat de formula:
i i
p n n , respectiv:
( ) ( ) t Fitness
Fit
n
t mediu Fitness
Fit
n
i i
i

_
.
Algoritmul seleciei proporionale este inspirat de algoritmul
ruletei (Monte Carlo). Ruleta standard este reprezentat de un disc
mprit n n sectoare de lungimi egale. Probabilitile de a nimeri
oricare sector al ruletei sunt egale.
Ruleta n varianta modificat este mprit n n sectoare
corespunztoare indivizilor populaiei curente. Lungimile sectoarelor
sunt proporionale cu valorile
{ } n i p
i
,..., 2 , 1 , . La o utilizare a ruletei
se selecteaz individul corespunztor sectorului indicat.
Probabilitatea de a indica un sector oarecare este direct
proporional cu dimensiunea lui. Utilizarea de n ori a ruletei
modificate conduce la formarea populaiei intermediare de indivizi
S
P
asupra crora se aplic ulterior recombinarea sau mutaia.
Algoritmul Ruletei este
31
Date de intrare: n
Pentru i de la 1 la n

i
k
k i
p q
1
:
SfPentru
Pentru i de la 1 la n
Genereaz aleator [ ] 1 , 0 q
Dac
1
0 q q < < atunci selecteaz
1
c
Dac
k k
q q q < <
1
atunci
selecteaz
k
c
SfPentru
SfAlgoritm
Avantajele i dezavantajele seleciei proporionale:
Principalul avantaj al folosirii seleciei proporionale ntr-un
algoritm genetic este capacitatea acesteia de a favoriza exploatarea
indivizilor performani ai populaiei. Aceiai manier de selecie
poate fi defectuoas n dou situaii:
- populaia conine un numr mic de indivizi cu performane
mult mai mari dect performanele celorlali;
- populaia este relativ omogen: performanele indivizilor sunt
apropiate;
Pentru a exemplifica afirmaiile de mai sus vom construi dou
scenarii simple:
1. Scenariul 1. Fie populaia curent format din n indivizi. Dintre
acetia, primii n-1 au performane de ordinul de mrime
m
10

i al n-lea individ are performana de un ordin de mrime
superior
1
10
+ m
. Ruleta imaginar este descris n imaginea
urmtoare:
32
Figura 1 mprirea sectoarelor ruletei pentru scenariul 1
Intuitiv, probabilitatea extragerii individului de performan
superioar este mare, fapt pentru care numrul de copii ale
acestuia n populaia intermediar este de asemenea mare.
Consecina acestui fenomen este convergena rapid a
populaiei nspre zona reprezentat de individul performant.
Dac acest individ corespunde unei soluii optime locale i nu
optimului global se produce fenomenul nedorit de
convergen prematur.
2. Scenariul 2. Fie populaia curent format din indivizi ale cror
performane sunt de valori apropiate. Ruleta este descris n
imaginea urmtoare:
Figura 2 mprirea sectoarelor ruletei pentru scenariul 2.
Individ
performant
33
n aceast situaie operatorul de selecie nu reuete s fac o
distincie clar ntre indivizii performani i cei slabi.
Probabilitile de selecie ale indivizilor au valori apropiate
ceea ce conduce la o convergen nceat a populaiei nspre
optimele problemei.
Pentru depirea dezavantajelor ntlnite n scenariile
prezentate anterior, operatorul de selecie a fost modificat
corespunztor, genernd variante noi ale seleciei proporionale.
Varianta I. Soluia oferit de aceast variant a operatorului
const n diminuarea probabilitii de selecie a individului selectat
cu o cantitate constant pozitiv. Prin acest artificiu, practic, cu
fiecare selecie a sa, ansa individului de a mai fi ales ulterior scade.
Consecina acestui procedeu de micorare a ansei la selecie este
de a prentmpina fenomenul de convergen rapid nspre optimele
locale ale spaiului de cutare.
Varianta II. Fiecrui individ i se asociaz o etichet avnd
semnificaia numrului maxim de selecii permise. Valoarea etichetei
(rang) unui individ este dat de numrul de ordine a acestuia n irul
de indivizi ordonai cresctor dup performan.
Varianta III. Ruleta imaginar asociat acestei tehnici de
selecie este format din n sectoare de lungimi proporionale cu
probabilitile de selecie. Diferena const n nzestrarea ruletei cu n
pointeri echidistani astfel nct, la o singur nvrtire a ruletei vor fi
extrai toi cei n indivizi ai populaiei intermediare. Prin acest
procedeu se va exclude posibilitatea seleciei aceluiai individ de un
numr foarte mare de ori, n situaia n care acesta are o
performan mult mai mare dect restul populaiei.
Depirea impedimentelor ntlnite la selecia proporional se
poate face prin tehnici de scalare a funciei de performan. Prin
modificarea valorilor funciei de performan se urmrete ca
populaia curent s nu conin indivizi mult mai calificai dect
restul, respectiv, gradul de diversitate a performanelor populaiei s
fie suficient de ridicat pentru a favoriza cutarea n zonele
promitoare. Literatura de specialitate ofer diferite variante de
34
scalare a funciei de performan (fitness). Scalarea poate fi static
sau dinamic n funcie de independena, respectiv, dependena de
numrul generaiei.
Prezentm n continuare cteva dintre metodele de scalare
utilizate n mod frecvent:
Scalarea liniar
Asupra funciei de performan se aplic legea:
( ) b y a y S + , unde a i b sunt parametri prestabilii. Astfel,
funcia transformat de performan devine:
( ) ( ) b c fit a c t transforma fit + _
Scalarea prin ridicare la putere
Legea de transformare este formulat astfel: ( )
n
y y S , unde n
reprezint un parametru ntreg supraunitar.
Funcia transformat de performan devine:
( ) ( )
n
c fit c t transforma fit _
9.1.2 Selecia prin concurs
Selecia prin concurs presupune pregtirea unei submulimi de
indivizi ai populaiei curente, indivizi alei aleator. Dimensiunea
submulimii este de minim 2 indivizi. Elementele submulimii intr n
competiie direct prin comparaii ale valorilor de funciei de
performan. Cel mai bun individ conform funciei performan va
ctiga concursul, devenind un printe al generaiei urmtoare. La
fiecare aplicare a operatorului de selecie va fi determinat un singur
printe. Selecia se aplic de n ori, n reprezentnd dimensiunea
dorit a populaiei. Indivizii calificai ai generaiei curente vor fi
selectai repetat, n schimb, alii, de performane mai slabe, nu vor fi
selectai niciodat.
Dimensiunea submulimii de indivizi care intr n concurs este o
valoare prin care se poate controla presiunea de selecie. Cu ct
numrul de concureni este mai mare, cu att convergena populaiei
este mai rapid, fapt pentru care se poate produce efectul de
convergen prematur. O variant acceptabil a seleciei prin
concurs este cea n care numrul concurenilor ar fi n numr de 2.
35
Mai jos este descris algoritmul operatorului de selecie prin concurs
binar:
Algoritm ConcursBinar este
Fie ( ) { }
n
c c c t P ,..., ,
2 1
populaia curent
Selecteaz aleator doi cromozomi ai populaiei curente:
i
c i j
c
Dac
( ) ( )
j i
c fit c fit >
atunci
Returneaz
i
c
Altfel
Returneaz j
c
SfDac
SfAlgoritm
9.1.3 Selecia prin etichetare
Principiul seleciei prin etichetare const n atribuirea fiecrui
individ al populaiei a unei valori reprezentnd rangul acestuia, n
concordan cu valoarea funciei fitness i stabilirea unei probabiliti
de selecie dependent de rangul atribuit. Practic, populaia va fi
supus unei proceduri de ordonare descresctoare dup valorile de
performan, i poziia ocupat de indivizi n mulimea ordonat este
cea care determin probabilitatea de selecie.
Se consider populaia P format dintr-un numr de n
cromozomi. Fiecare individ
i
c al populaiei va fi etichetat printr-un
rang
i
r determinat de poziia ocupat n populaia ordonat
descresctor dup valorile de performan. Valorile etichetelor
i
r

sunt numere naturale din mulimea
{ } n ,..., 2 , 1
. Astfel cel mai
performant individ al populaiei va primi rangul n, iar cel mai slab
individ este etichetat cu valoarea 1.
Spre deosebire de procedura de selecie proporional, nu
performana, ci valoarea etichetei
i
r va influena probabilitatea de
selecie a individului
i
c . Aceast diferen va induce un avantaj
major ale seleciei prin etichetare fa de selecia proporional cu
36
fitness-ul. Scenariile defectuoase ale seleciei proporionale:
populaia relativ omogen sau diferenele mari ntre performanele
indivizilor, nu vor mai fi un impediment n cazul seleciei prin
etichetare. Etichetarea produce o scalare uniform n cadrul
populaiei, fapt pentru care situaiile de stagnare a cutrii sau
convergena prematur ntlnite la selecia proporional sunt
depite.
Dependena probabilitii de selecie poate fi liniar sau
neliniar n funcie de rangul individului.
Dependena liniar a probabilitii de selecie
i
p a
cromozomului
i
c poate fi formulat astfel:
( )
1
]
1

,
_


1
1
1 1 2
1
n
r
Max Max
n
p
i
i
unde: Max reprezint numrul mediu de descendeni ateptai
ai celui mai performant individ.
Probabilitatea de selectare a celui mai performant individ din
populaie, etichetat cu rangul n este dat de valoarea:
n
Max
p
best

Probabilitatea de selecie a celui mai slab individ este dat de:
n
Max
p
worst

2
Numrul mediu de selecii ale celui mai bun individ se poate
deduce astfel:
best best
p n n
, adic
Max n
best

Presiunea de selecie exprimat ca numrul mediu de
descendeni ai celui mai performant individ este o constant a
procedurii de selecie i influeneaz n mod direct echilibrul dintre
cutarea global i exploatarea zonelor promitoare. Astfel, o
presiune de selecie mare va produce o exploatare accentuat a
vecintii celui mai performant individ i o scdere a diversitii
globale a populaiei. Presiunea mic a seleciei va avea ca efect
meninerea diversitii populaiei i favorizarea explorrii spaiului de
cutare.
37
O variant de etichetare neliniar a populaiei genereaz
probabiliti de selecie formulate astfel:
( )
i
r n
i
a a p

1
unde: a reprezint un parametru subunitar al procedurii, avnd
semnificaia probabilitii de selecie a celui mai bun individ din
populaie.
10 Funcia de evaluare
Efectul operatorului de selecie este acela de a ghida populaia
nspre cele mai promitoare regiuni ale spaiului de cutare. Spre
deosebire de operatorii standard de variaie, operatorul de selecie
este strns legat de valoarea de performan a indivizilor. Aceste
valori sunt furnizate de funcia de evaluare (funcia fitness).
Proiectarea unei funcii de evaluare inspirate este n multe situaii
cheia succesului algoritmilor genetici. Definii iniial ca tehnici de
optimizare a funciilor, datorit impactului favorabil pe care l-au
nregistrat n cazul acestui tip de probleme, algoritmii genetici au fost
nzestrai cu funcii de evaluare construite pe baza funciei criteriu de
optimizat. De asemenea, operatorii de selecie dezvoltai s-au
dovedit eficieni n optimizarea unicriterial (o singur funcie
criteriu), unimodal (o singur soluie optim). Obstacole
considerabile au aprut n momentul dezvoltrii tehnicilor evolutive
dedicate optimizrii multimodale, respectiv multicriteriale.
Determinarea multiplelor optime, sau ghidarea cutrii de ctre cel
puin dou criterii de optimizare reprezint probleme abordate cu
dificultate de ctre algoritmii genetici. Este aproape imposibil s
furnizm un ablon de construire a funciei de evaluare (fitness).
Specificul problemei, dimensiunea spaiului de cutare, numrul i
dispunerea optimelor ct i numrul de criterii implicate, sunt
elemente eseniale avute n vedere n procesul de formulare a
funciei ce ghideaz procesul de optimizare.
n cea mai accesibil problem abordat de algoritmii genetici:
maximizarea unei funcii criteriu, funcia de evaluare a
performanelor soluiilor se alege ca fiind nsi funcia criteriu sau o
funcie dependent de aceasta. Problemele de minimizare se pot
reformula ca probleme de maximizare printr-un artificiu simplu
38
aplicat funciei de performan: aceasta se deduce din funcia
criteriu aplicnd o transformare elementar. n schimb, n privina
problemelor de optimizare multimodal, optimizare cu restricii sau
optimizare multicriterial nu putem furniza o reet general de
construire a funciei de evaluare. Vom reveni asupra acestui subiect
n capitolul dedicat aplicaiilor algoritmilor evolutivi n optimizare.
11 Codificare binar
Mulimea simbolurilor binare formeaz cel mai scurt alfabet
care genereaz un limbaj capabil s exprime informaii variate. Pe
baza acestui considerent este evident de ce algoritmul genetic
standard utilizeaz codificarea cromozomial binar. Cercetrile
iniiale asupra convergenei algoritmului genetic se bazeaz pe acest
tip de codificare (de ex. Teorema schemelor) i reprezint pn
astzi un punct major de referin n istoria domeniului. Fiecare
cromozom al populaiei este format de o secven finit de valori
binare. Lungimea cromozomilor poate fi constant sau variabil.
Dezvoltarea ulterioar a algoritmilor evolutivi produce o
schimbare important la nivelul codificrii soluiilor i a operatorilor
genetici utilizai. Pentru anumite clase de probleme alfabetul binar
devine insuficient pentru a realiza o codificare adecvat, fapt pentru
care s-au introdus alte variante de codificare i operatori specifici
acestora.
11.1.1 Codificarea cromozomial binar
Cazul I. Spaiul de cutare real unidimensional.
Fie R D spaiul de cutare al unei probleme date.
Fie D s o soluie posibil a problemei considerate i
cromozomul ( ) t P c reprezentarea binar a soluiei s. Notm cu
1
a
i
1
b limitele inferioar, respectiv, superioar a domeniului D:
[ ]
1 1
, b a D .
Pentru a obine secvena binar din codificarea cromozomului c
se vor efectua urmtorii pai:
39
1. Se aplic o transformare T pentru a translata valoarea s n
intervalul
[ ] 1 , 0
. Fie s valoarea subunitar obinut:
( )
1 1
1
b a
b s
s T

;
( ) s T s '
.
2. Se convertete s n binar, cu precizia w, obinnd irul de n
valori binare:
( ) { }
n
n
x x x 1 , 0 ,..., ,
2 1
.
Observaie: Pentru a asigura precizia dorit a codificrii sunt
necesare n poziii binare. Numrul de poziii binare necesare
se determin din relaia urmtoare:
n n
w
a b
2 2
1 1 1
<

<

Exemplu:
Fie
[ ] 6 , 2 D
i un punct oarecare a domeniului: s=3,42.
Dorim s construim codificarea binar a punctului s cu precizia
3
10

w
.
Funcia de transformare devine:
( )
4
2

s
s T
Aplicnd transformarea T vom obine valoarea subunitar
355 . 0 ' s . Numrul de cifre binare ale reprezentrii se deduce din
relaia:
n n
2
10
4
2
3
1
< <

Respectiv:
n n
2 4000 2
1
< <

Rezolvnd inegalitatea dubl se obine n=12.


Aplicnd algoritmul conversiei din baza 10 n baza 2 (metoda
nmulirilor succesive cu 2), valoarea 355 . 0 ' s reprezentat n
binar este: 0,010110101110. Cromozomul c se formeaz din cifrele
binare ale prii fracionare:
( ) c 0 1 1 1 0 1 0 1 1 0 1 0
.
Primele gene ale cromozomului sunt cifre binare semnificative ale
reprezentrii. Alterarea acestora produce modificri majore n
structura cromozomial. Unii operatori de variaie in cont de poziia
40
genelor pentru a controla amplitudinea modificrilor produse (vezi de
ex. Mutaia adaptiv).
Procedura invers de determinare a punctului s corespunztor
codificrii binare c implic urmtoarele etape:
1. Se convertete reprezentarea cromozomial din binar n real.
Rezultatul acestei etape este valoare s.
2. Se aplic transformarea invers
( ) ( )
1 1 1
' ' ' a a b s s T +
pentru
a obine [ ]
1 1
, b a s .
Exemplu (continuare): Fie
( ) 0 1 1 1 0 1 0 1 1 0 1 0 c
un cromozom oarecare.
Dorim s determinm valoarea real
[ ] 6 , 2 s
a punctului reprezentat
de c.
Pentru a obine valoarea s se convertete numrul
0,010110101110 n baza 10. Numrul obinute este: ... 354980 . 0 ' s
. Se observ c precizia codificrii este cea stabilit
3
10

w
.
n etapa a doua se aplic transformarea
( ) 2 4 ' ' ' + s s T

rezultnd valoarea aproximativ
4 1 9 9 2 , 3 " s
a punctului s
considerat iniial n exemplul nostru.
Aplicabilitate: Codificarea binar descris la cazul I se aplic cu
succes n cazul problemelor de optimizare a funciilor reale de o
singur variabil.
Cazul II. Spaiul de cutare real multidimensional.
Fie
k
R D ,
k
D D D D ...
2 1
spaiul de cutare al unei
probleme date.
Notm cu
i
a
i
i
b
limitele inferioar, respectiv, superioar a
domeniului
i
D
: [ ]
i i i
b a D , .
Fie D s , ( )
k
s s s s ,.. ,
2 1
o soluie posibil a problemei
considerate i cromozomul ( ) t P c reprezentarea binar a soluiei s.
{ } k i ,..., 2 , 1
, [ ]
i i i
b a s ,
Pentru a obine secvena binar din codificarea cromozomului c
se vor efectua urmtorii pai:
41
1. Determin secvenele binare
k
c c c ,..., ,
2 1
prin care se
reprezint valorilor reale
k
s s s ,.. ,
2 1
. n aceast etap se
recurge la algoritmul de conversie prezentat la cazul I, pentru
fiecare valoare real
i
s ,
{ } k i ,..., 2 , 1
.
2. Formeaz cromozomul c prin concatenarea secvenelor
obinute la pasul anterior:
( )
k
c c c c ...
2 1

Aplicabilitate: n general, metoda de codificare prezentat la


cazul II se aplic n optimizarea funciilor reale de mai multe
variabile.
Cazul III. Marcarea prezenei trsturilor individului prin valori
binare.
n cazul problemelor pentru care o soluie potenial este
reprezentat de un ansamblu de trsturi distincte manifestate sau,
din contr, absente, codificarea binar reprezint o soluie la
ndemna proiectantului.
Considerm un spaiu de cutare ale crui elemente sunt
formate de subansambluri de trsturi. Fie m numrul total de
caracteristici ale soluiilor posibile. Fiecare trstur se poate situa
ntr-una dintre strile prezent, absent, marcate cu valorile binare
1 sau 0.
Fiecare trstur (caracteristic) este identificat printr-un
numr de ordine i,
{ } ,...,m i 1
. Reprezentarea elementelor spaiului
de cutare este dat de o secvena de m valori binare:
( )
m
x x x c ,..., ,
2 1
,
{ } m i ,..., 2 , 1
, { } 1 , 0
i
x
Semnificaia genelor este urmtoarea:

'

e absenta tica i est caracteris


a e prezent tica i est caracteris
x
i
, 0
, 1
Implementarea acestui tip de codificare este simpl. Prezentm
n continuare exemple de aplicabilitate a codificrii descrise pentru
dou probleme populare: problema damelor i problema rucsacului
(variant).
Problema Damelor (generalizare):
42
Reamintim enunul problemei: Pe o tabl de ah de n n
ptrate (n linii i n coloane) dorim s poziionm n dame astfel
oricare dou s nu se afle n conflict.
O soluie posibil a problemei este dat de orice aranjare a
pieselor pe tabla de ah. Imaginea bidimensional a unei soluii
posibile ne conduce la ideea generrii unor structuri cromozomiale
de tip matrice de ordinul n (codificare specific problemei), ns o
analiz atent a cerinelor problemei ne conduce la o manier
simplificat de reprezentare a soluiilor.
Cunoscnd specificul pieselor utilizate se deduce faptul c pe
fiecare linie a tablei de ah suntem nevoii s plasm maxim o dam.
Plasarea mai multor dame pe aceiai linie conduce la o stare
conflictual. Numrul de dame fiind egal cu numrul de linii, rezult
faptul c fiecare linie va conine minim o dam.
Pe baza observaiilor precedente, putem stabili cert c o soluie
viabil a problemei implic plasarea fiecrei dame pe cte o linie
diferit a tablei de ah (n mod analog se deduce prezena unei
singure dame pe fiecare coloan). O dam va controla o unic linie,
fapt pentru care putem identifica numrul de ordine al damei cu
indicele liniei ocupate. Fixm astfel prima dam pe linia 1, a doua
dam pe linia 2, ..., a n-a dam pe linia n. Diferena dintre soluiile
posibile este dat de poziiile ocupate de dame n coloanele tablei.
Fiecare coloan este alctuit din n ptrate. Stabilim c prezena
damei ntr-o csu este marcat prin valoarea 1, respectiv, absena
damei este marcat de valoarea 0.
Pentru clarificare considerm cazul particular al unei table de
ah cu 4*4 csue pe care dorim s plasm 4 dame. Cromozomul
urmtor identific o posibil soluie a problemei:
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1
linia 1, dama
1
linia 2, dama
2
linia 3, dama
3
linia 4, dama
4
Interpretarea codificrii soluiei este urmtoarea:
- dama 1 este situat pe linia 1, coloana 1
43
- dama 2 este situat pe linia 2, coloana 3
- dama 3 este situat pe linia 3, coloana 2
- dama 4 este situat pe linia 4, coloana 4
Cromozomul
( ) 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 c
corespunde
urmtoarei aranjri a pieselor pe tabla de ah:

General, o soluie este reprezentat printr-un cromozom de


lungime n*n, format din n subsecvene a cte n gene. Pentru ca o
soluie s fie valid, fiecare subsecven din compunerea
cromozomului conine o singur valoare 1. n caz contrar individul
conine ambiguiti n privina plasrii damelor pe cele n coloane.
Spre exemplu, pentru cazul particular prezentat anterior (n=4),
fiind dat cromozomul de mai jos, din interpretarea sa ar rezulta c
doua dam este poziionat pe coloana 3 i coloana 4 (imposibil):
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1
Menionm c prin aplicarea ulterioar a operatorilor de variaie
regula de codificare poate fi nclcat. Este necesar proiectarea
unor operatori genetici specifici codificrii prin care este asigurat
consistena soluiilor generate. Altfel, aplicnd operatorii standard,
rata producerii descendenilor invalizi este foarte mare.
Problema rucsacului (variant)
Problema rucsacului este studiat n mod nencetat de cteva
decenii datorit importanei practice pe care o prezint ct i a
complexitii crescute recunoscute. n general, problema rucsacului
este formulat astfel: fiind dat o mulime de obiecte caracterizate
fiecare prin profit i capacitate proprie, i un rucsac de capacitate
maxim, se cere determinarea submulimii de obiecte pentru care
suma profiturilor este maxim i suma capacitilor acestora nu
44
depete capacitatea sa. Varianta problemei descrise n aceste
rnduri nu permite divizarea obiectelor date, fiecare dintre acestea
fiind selectat n ntregime sau deloc.
Problema rucsacului este formulat astfel:
Fie { }
n
o o o O ,..., ,
2 1
o mulime de n obiecte i W capacitatea
maxim a rucsacului.
Fiecare obiect
i
o este caracterizat prin profit i capacitate:
-
i
p : profitul obiectului i,
{ } n i ,..., 2 , 1
-
i
w
: capacitatea obiectului i,
{ } n i ,..., 2 , 1
Se dorete determinarea ansamblului de k obiecte:
{ } { } k I n I I i O o
i
, ,..., 2 , 1 , | ,
pentru care:

I i
i
p
- maxim,
i
W w
I i
i

.
Soluiile posibile ale problemei sunt reprezentate de orice
submulime de obiecte ncrcate n rucsac, pentru care suma
capacitilor individuale nu depete capacitatea maxim impus.
Dintre aceste soluii se urmrete determinarea aceleia care
maximizeaz suma profiturilor. Se impune observaia c soluiile
posibile difer att prin obiectele selectate ct i prin numrul
acestora. Numrul variabil de obiecte ce alctuiesc soluiile
problemei ne conduce la ideea reprezentrii acestora prin cromozomi
de lungime variabil. n aceast situaie, un cromozom ar fi format
de irul variabil al indicilor obiectelor selectate i alfabetul codificrii
nu este cel binar. Mai mult, acest tip de codificare impune un efort
suplimentar n privina alegerii i implementrii operatorilor genetici.
Ar fi util s concepem o manier de reprezentare binar prin
cromozomi de lungime constant.
Pornind de la observaia c starea unui obiect relativ la o soluie
posibil oarecare poate avea doar una dintre valorile selectat sau
neselectat (marcate prin valorile 1 sau 0), deducem urmtoarea
manier de codificare binar:
45
Fie ( ) { }
n
n
x x x c 1 , 0 ,..., ,
2 1
un cromozom de lungime fix egal
cu numrul total de obiecte. Semnificaia genelor este urmtoarea:
{ } n i ,..., 2 , 1
, 1
i
x dac obiectul
i
o este selectat, i 0
i
x n
caz contrar.
Soluia optim a problemei este reprezentat printr-un
cromozom ( )
n
x x x c ,..., ,
2 1
*
, pentru care:

n
i
i i
p x
1
- maxim
i
W w x
n
i
i i

1
.
Exemplu: Considerm numrul de obiecte n=10. Cromozomul
( ) 1 0 1 0 0 0 0 0 1 1 c
ne indic faptul c din mulimea celor 10 obiecte
au fost alese pentru ncrcare obiectele ale cror numr de ordine
este 1,2,8 i 10.
11.1.2 Teorema schemelor
Teorema schemelor [1.1.1.2] reprezint unul dintre rezultatele
teoretice importante ale Algoritmilor Genetici. Recunoscut ca
teorem fundamental, aceasta garanteaz convergena algoritmilor
genetici, prin proliferarea n timp a acelor cromozomi coninnd
secvene de gene cu performane mari.
Teorema schemelor este oferit pentru algoritmul genetic
canonic, cu reprezentare cromozomial binar de lungime fix l,
nzestrat cu operatori de selecie proporional, ncruciare cu un
singur punct de tietur i mutaie.
Noiunea central a teoremei o reprezint schema, aceasta fiind
definit astfel:
Schema = secven de caractere peste alfabetul binar extins
{0,1,*}, de lungime l (l reprezint chiar lungimea reprezentrii
cromozomului).
Exemple de scheme de lungime l=8:
s1=100**01* ,
46
s2=***11*00,
s3=111*000*.
Ordinul schemei s, notat o(s) se definete ca numrul de apariii
ale caractere binare 0 sau 1, respectiv, numrul de caractere diferite
de simbolul genetic * din compunerea schemei.
Exemplu: o(s1)=5, o(s2)=4, o(s1)=6.
Lungime definitorie a schemei, notat ( ) s se determin ca
fiind distana (numrul de caractere) de la prima apariie, pn la
ultima apariie a unui caracter binar 0 sau 1.
Exemplu:
( ) 7 1 s
,
( ) 5 2 s
,
( ) 7 3 s
Performana unei scheme, notat ( ) s f - este media
performanelor cromozomilor populaiei curente care conin schema
s.
Prin aplicarea operatorului de ncruciare cu un singur punct de
tietur (
c
p
- reprezint probabilitatea de aplicare a ncrucirii),
probabilitatea de supravieuire a schemei s, notat p(s) este dat de
inegalitatea:
( )
( )
1
1


l
s
p s p
c

Numrul de apariii ale schemei s n generaia t+1 se deduce
pe baza numrului de apariii ale schemei s n generaia t:
( ) ( )
( )
mediu
f
s f
t s m t s m + , 1 ,
unde:
mediu
f - este performana medie a cromozomilor
populaiei curente
Expresia urmtoare exprim esena Teoremei schemelor:
( ) ( )
( ) ( )
( )
,
_

+
m c
mediu
p s o
l
s
p
f
s f
t s m t s m
1
1 , 1 ,

unde
m
p - reprezint probabilitatea de mutaie.
Conform acestei teoreme, numrul de reprezentani ai
schemelor favorabile crete odat cu timpul, fapt care garanteaz
convergena algoritmului genetic.
11.1.3 Operatori de ncruciare pentru codificarea binar
47
Selecia nu asigur dinamica populaiei. Practic, prin aplicarea
operatorului de selecie, fr apelul vreunui operator de variaie a
structurii cromozomilor populaiei curente, spaiul de cutare nu
poate fi explorat. Pentru a provoca migrarea indivizilor nspre zone
favorabile corespunztoare soluiilor globale, este necesar
modificarea structurii acestora. ncruciarea rspunde cu succes
acestui deziderat. Sursa de inspiraie a acestui operator genetic o
reprezint ncruciarea intercromozomial natural. Intuitiv,
operatorul discutat permite transferul de informaie stocat n
codificarea indivizilor prini nspre descendenii acestora.
Schema algoritmului genetic standard sugereaz aplicarea
operatorului de ncruciare asupra unei mulimi de indivizi selectai n
prealabil:
( ) t P
S
. Aceast mulime se denumete n mod uzual
bazinul de selecie i este format din copii ale cromozomilor
performani ai populaiei curente ( ) t P . n general operatorul de
ncruciare este aplicat asupra a doi indivizi, rezultnd unu, doi sau
mai muli descendeni. Stabilirea perechilor de indivizi ai bazinului de
selecie care se vor recombina se poate face n mod aleator, sau pe
baza unui criteriu de similaritate. De cele mai multe ori mperecherea
aleatoare a prinilor este o opiune la ndemn i nu altereaz
convergena algoritmului genetic.
ncruciarea cu un punct de tietur
Asupra operatorului de ncruciare cu un punct de tietur ne-
am oprit ntr-un paragraf anterior (a se vedea ). Algoritmul
corespunztor este prezentat mai jos:
Algoritm ncruciare_1_Tietur este:
Fie ( )
n
c ,..., ,
2 1 1
i ( )
n
,..., , c
2 1 2
prinii
selectai.
Genereaz valoarea t din mulimea
{ } n ,..., 2 , 1
.
( )
n t t
d ,..., , ,..., :
1 1 1 +

( )
n t t
d ,..., , ,..., :
1 1 2 +

SfAlgoritm.
Principala critic adus ncrucirii cu un punct de tietur
const n incapacitatea sa de a genera anumite secvene, fapt pentru
care n anumite situaii soluia global a problemei nu poate fi atins
48
doar prin aplicarea acestui operator de variaie. Urmtorul exemplu
demonstreaz afirmaia precedent.
Considerm c populaia curent conine printre indivizii si
dou scheme performante S1 i S2, ale cror combinare ar produce
indivizi foarte buni n raport cu funcia de evaluare stabilit:
S1:
( ) 1 ..0 1......... 1
S2:
( ) ..... ......1011
De asemenea, ne putem imagina c soluia final a problemei
conine cele dou secvene binare prezente n cadrul populaiei:
S3:
( ) 1 1..1011..0 1
Se poate observa faptul c aplicarea ncrucirii cu o singur
tietur nu poate produce schema dorit S3. Oricare ar fi punctul de
tietur t, aplicarea operatorului va distruge cel puin una dintre cele
dou scheme convenabile S1 sau S2.
Dac este permis, mutaia cromozomilor ar putea rezolva
acest impediment. Dar acest lucru este posibil doar n cazurile
favorabile n care printele ce conine una dintre scheme (de ex. S2
este coninut de cromozomul
2
c ), include i o secven foarte
asemntoare celeilalte scheme promitoare (S1):
1
c =
( ) 1 0 .......... 1......... 1
2
c =
( ) 1 1.......1 .......101
Dac punctul de tietur generat este t=3, se obine
descendentul
1
d :
1
d =
( ) 1 ......1 1....1011. 1
.
Ulterior, mutaia unei gene a cromozomului
1
d prin inversarea
valorii acesteia permite producerea unui individ performant ce
conine schema S3. Presupunem generat valoarea n-1 pentru
poziia genei ce va suferi mutaie. Parametrul n reprezint n acest
exemplu lungimea cromozomilor. Individul mutat '
1
d va conine
schema dorit:
'
1
d =
( ) 1 ......0 1....1011. 1
.
O alt soluie ar fi aplicarea ncrucirii cu cel puin dou puncte
de tietur.
49
Tipul operatorului descris este fie 2:2 doi prini produc doi
descendeni, fie 2:1 doi prini produc un singur descendent. n
acest ultim caz, aportul unuia dintre cei doi prini poate fi mai mare
prin motenirea de ctre descendent a mai multor gene de la acesta.
ncruciarea cu dou puncte de tietur
Tipul operatorului standard este 2:2 sau 2:1. Descriem n
continuare modul de aplicare al acestuia asupra a doi cromozomi
1
c
i
2
c de dimensiune constant n:
( )
n l k
x x x x c ,..., ,..., ,...,
1 1

( )
n l k
y y y y c ,..., ,..., ,...,
1 2

Se genereaz aleator dou valori k i l, avnd semnificaia
punctelor de tietur. Fiecare printe
1
c , respectiv
2
c , va fi divizat
n 3 secvene de gene:
( )
k
x x c ,...,
1
1
1
, ( )
l k
x x c ,...,
1
2
1 +
, ( )
n l
x x c ,...,
1
3
1 +

( )
k
y y c ,...,
1
1
2
, ( )
l k
y y c ,...,
1
2
2 +
, ( )
n l
y y c ,...,
1
3
2 +

Primul fiu este format prin concatenarea secvenelor:


1
1
c ,
2
2
c i
3
1
c :
( )
n l l k k
x x y y x x d ,..., , ,..., , ,...,
1 1 1 1 + +
.
Al doilea fiu (produs doar dac tipul operatorului este 2:2) este
construit prin alipirea secvenelor:
1
2
c ,
2
1
c i
3
2
c :
( )
n l l k k
y y x x y y d ,..., , ,..., , ,...,
1 1 1 2 + +
.
Valorile punctelor de tietur k i l se genereaz aleator din
mulimea valorilor
{ } n ,..., 2 , 1
.
Putem observa c neajunsul ilustrat la operatorul descris
anterior este eliminat n aceast ultim variant de ncruciare.
Schema performant S3 poate fi obinut prin aplicarea ncrucirii
cu 2 tieturi asupra indivizilor ce conin schemele S1 i S2, fr a mai
fi necesar intervenia ulterioar a mutaiei.
Algoritmul ncruciare_2_Tieturi este:
Fie ( )
n
x x c ,...,
1 1
i ( )
n
y y c ,...,
1 2
doi prini.
Genereaz aleator k i l din mulimea { } n ,..., 2 , 1 .
50
Dac l<k atunci
Interschimbare(k,l)
SfDac
( )
n l l k k
x x y y x x d ,..., , ,..., , ,..., :
1 1 1 1 + +

( )
n l l k k
y y x x y y d ,..., , ,..., , ,..., :
1 1 1 2 + +
(doar pentru
varianta 2:2)
SfAlgoritm
ncruciarea cu multiple puncte de tietur
Acest operator reprezint varianta generalizat a operatorului
cu 2 tieturi. Principiul procedurii este intuitiv: se consider un numr
arbitrar de puncte de tietur i descendenii se obin prin
concatenarea secvenelor rezultate n urma divizrii cromozomilor
prini. Ordinea secvenelor ce intr n componena reprezentrii
unui descendent este stabilit astfel: se alterneaz o secvena de
gene preluate din primul printe cu secven de gene din cel de-al
doilea printe. n cazul unui numr mare de tieturi, inconvenientul
major al procedurii este cauzat de fragmentarea accentuat a
cromozomilor prini, fapt care produce cu mare probabilitate
distrugerea unor posibile scheme performante. Experimental se
poate observa c aplicarea acestui operator de ncruciare cu un
numr mare de tieturi ncetinete convergena populaiei nspre
soluia global. n practic este preferat varianta cu 2 tieturi sau o
variant a operatorului cu tieturi multiple n care numrul acestora
este variabil (generat aleator) i nu prefixat ca un parametru al
algoritmului. Prezentm n continuare o variant a algoritmului de
ncruciare cu numr variabil de tieturi. Menionm c numrul
maxim de tieturi permise este dat de lungimea cromozomilor.
Algoritmul ncruciare_m_tieturi este:
Fie ( )
n
x x c ,...,
1 1
i ( )
n
y y c ,...,
1 2
doi prini
Fie m din mulimea
{ } 1 ,..., 2 , 1 n
, reprezentnd numrul de
tieturi.
Genereaz irul de tieturi
m
t t t ,..., ,
2 1
din mulimea
{ } n ,..., 2 , 1
.
Ordoneaz cresctor valorile
m
t t t ,..., ,
2 1
Fie ( )
n
z z d ,...,
1 1
i ( )
n
w w d ,...,
1 2
descendenii
51
Pentru j de la 1 la
1
t
j j
x z
; j j
y w
SfPentru
Pentru i de la 1 la m-1
Pentru j de la
i
t la
1 + i
t
Dac i este par
j j
x z
; j j
y w
Altfel
j j
y z
; j j
x w
SfDac
SfPentru
SfPentru
Pentru j de la
m
t la n
Dac m este par
j j
x z
; j j
y w
Altfel
j j
y z
; j j
x w
SfDac
SfPentru
SfAlgoritm
Prin aplicarea acestui algoritm se obin descendenii:
( ) ,..... ,..., , ,..., , ,...,
3
1
2 2
1
1 1
1 1 t t t t t
x x y y x x d
+ +

( ) ,..... ,..., , ,..., , ,...,


3
1
2 2
1
1 1
1 2 t t t t t
y y x x y y d
+ +

.
Avantajul major al operatorului descris este acela c este
general, permite obinerea oricrei scheme constructive i are un
efect pozitiv n privina asigurrii unei bune diversiti a populaiei.
Principala critic const n fragmentarea puternic a cromozomilor
specializai, fapt care ar prejudicia n mod semnificativ cutarea
local. n raport cu problematica echilibrului explorare-exploatare,
dezavantajul fragmentrii accentuate a posibilelor secvene
performante tradus printr-o exploatare ineficient a zonelor
promitoare, este suplinit de un grad mare al diversitii populaiei
interpretat ca un factor important al bunei explorri a spaiului de
cutare.
ncruciarea uniform
Procedeul ncrucirii uniforme [1.1.1.2] nu utilizeaz puncte de
tietur. Cu toate acestea, efectul este n mare msur similar
52
ncrucirii cu multiple tieturi. Descendenii se construiesc gen cu
gen. Fiecare poziie a unui descendent copiaz valoarea genelor
corespondente ale prinilor. Operatorul introduce un parametru
specific p cu semnificaia probabilitii ca o gen s provin din
primul sau al doilea printe.
Motenirea unui numr variabil de gene ale prinilor
considerai face ca descendenii s fie asemntori acestora n grade
diferite. De asemenea, procedeul descris nu exclude posibilitatea ca
o gen oarecare s fie transmis ambilor fii sau aceasta s nu fie
motenit de niciunul i, n consecin, s se piard.
Pentru valoarea
5 . 0 p
admitem c prinii au rol simetric n
producerea noilor indivizi.
Algoritmul ncruciare_Uniform este
Fie p parametrul algoritmului, [ ] 1 , 0 p
Fie ( )
n
x x c ,...,
1 1
i ( )
n
y y c ,...,
1 2
doi
prini
Fie ( )
n
z z d ,...,
1 1
i ( )
n
w w d ,...,
1 2

descendenii
/*generare primul fiu */
Pentru i de la 1 la n
Genereaz aleator [ ] 1 , 0 q
Dac
p q <
atunci
i i
x z :
Altfel
i i
y z :
SfDac
SfPentru
/*generare al doilea fiu */
Pentru i de la 1 la n
Genereaz aleator [ ] 1 , 0 q
Dac
p q <
atunci
i i
x w :
Altfel
i i
y w :
SfDac
SfPentru
SfAlgoritm
53
Avantajul major al ncrucirii uniforme const n posibilitatea
controlrii exploatrii locale prin ajustarea corespunztoare a
parametrului p. Gradul de asemnare a descendenilor cu primul
printe crete n mod proporional cu valoarea parametrului p.
Valoarea parametrului p ne poate indica n ce msur se realizeaz
cutarea local. Ar fi util s considerm parametrul p dependent de
vrsta populaiei. n acest mod, se poate produce o explorare
eficient a spaiului la nceputul evoluiei populaiei i o accentuare a
exploatrii n ultimele generaii.
ncruciarea punctual
Operatorul standard de ncruciare cu tieturi nu ine cont de
calitatea punctelor de tietur. Astfel, probabilitatea distrugerii unor
secvene bune este mare. Pentru a depi acest inconvenient,
Schaffer i Morishima [1.1.1.2] propun un mecanism prin care se
estimeaz valoarea tieturii; ulterior punctele slabe sunt ignorate i
cele dovedite bune vor fi incluse n continuare n algoritmul de
ncruciare. Se accept afirmaia c un punct de tietur este slab
dac performana descendentului obinut prin aplicarea ncrucirii
este mai slab dect a prinilor care l genereaz. n caz contrar,
punctul de tietur rmne valid. Pentru a memora informaiile
legate de validarea sau invalidarea punctelor de tietur, codificarea
cromozomial este modificat. Fiecare cromozom al populaiei este
constituit din secvene binare de lungime 1 2 n :
( )
1 1 1
,..., , ,...,

n n
t t x x c
Prima secven binar de lungime n are semnificaia genelor
codificrii. Cea de-a doua parte a codificrii conine marcatorii
posibilelor puncte de tietur:
{ } 1 ,..., 2 , 1 n i , { } 1 , 0
i
t cu semnificaia:

'

id ietur etur NU este ta i dac


taietur valid de este punct i dac
t
i
- 0,
, 1
Fiind doi prini selectai, se pune ntrebarea care dintre
tieturile marcate n codificarea acestora vor fi luate n considerare.
Soluia oferit de autori este de a considera puncte de tietur
active, toate tieturile valide ale ambilor prini. n aceast manier,
tieturile aflate n conflict, respectiv cele care sunt valide pentru un
54
printe i invalide n cel de-al doilea printe, vor participa de
asemenea la ncruciare. Algoritmul stabilirii tieturilor aplicate n
cazul ncrucirii a doi prini este furnizat n continuare:
Algoritm Stabilire_Tieturi este
Fie ( )
1 1 1
,..., , ,...,

n n
t t x x c i ( )
1 1 1
,..., , ,...,

n n
s s y y c
doi prini
Fie irul de tieturi ce se vor aplica prinilor considerai:
( ) ( ) ) 0 ,..., 0 , 0 : ,...
1 1

n
h h
Fie m contorul tieturilor valide:
0 : m
Pentru i de la 1 la n-1
Dac ( ) ( ) 1 1
i i
s t atunci
1 :
i
h
1 : + m m
SfDac
SfPentru
SfAlgoritm
ncruciarea punctual introduce o form de adaptare a
tieturilor aplicate. Prin aceasta, anumite puncte de tietur care se
dovedesc inutile procesului de cutare devin inactive. Vor supravieui
doar acelea care produc descendeni superiori, fapt pentru care
convergena populaiei este mbuntit.
ncruciarea segmentat
Tehnica ncrucirii segmentate, propus de Eshelman,
Caruana, Schaffer [1.1.1.2], reprezint o variant a ncrucirii cu
multiple tieturi. Specificul procedurii const n numrul variabil de
tieturi.
Fie n dimensiunea cromozomilor. Se consider un parametru
global m avnd semnificaia numrului maxim de tieturi permise.
Acest parametru verific condiia: n m< Numrul de tieturi utilizate
la aplicarea operatorului este o valoare aleatoare generat din
mulimea:
{ } m ,..., 2 , 1
. Prin acest mecanism se introduce o mai mare
diversitatea n privina recombinrii cromozomiale. Numrul
fragmentelor de gene n care se divide un cromozom printe variaz
de la valoarea 2 la n.
55
Un posibil algoritm de generare a tieturilor este descris n
continuare. Considerm un parametru suplimentar
[ ] 1 , 0 s
,
reprezentnd probabilitatea ca o poziie din codificarea
cromozomial s fie acceptat ca punct de tietur.
Algoritm Generare_Tieturi
Fie [ ] 1 , 0 s - parametru al
algoritmului
Fie T mulimea tieturilor:
: T
Pentru i de la 1 la n-1
Genereaz aleator [ ] 1 , 0 q
Dac
s q <
atunci
} { : i T T

SfDac
SfPentru
SfAlgoritm
Observaie: Pentru 1 s ncruciarea segmentat se reduce la
varianta clasic a ncrucirii cu numr constant de tieturi.
ncruciarea amestecat
Propus de Caruana, Eshelman, Schaffer [1.1.1.2], ncruciarea
amestecat este mai degrab un mecanism suplimentar cu care se
nzestreaz orice variant a operatorului de recombinare. Ideea
dezvoltrii unei astfel de tehnici provine din necesitatea introducerii
unui grad mare de diversitate a descendenilor obinui.
Operatorul acioneaz n trei etape:
Pasul I: Genele prinilor
1
c i
2
c sunt amestecate folosind un
operator de permutare. Fie '
1
c i '
2
c indivizii rezultai.
Pasul II. Aplic asupra cromozomilor '
1
c i '
2
c un operator de
ncruciare (orice variant de tipul 2:2) rezultnd descendenii '
1
f
i '
2
f .
Pasul III. Genele fiilor sunt rearanjate prin aplicarea permutrii
inverse rezultnd
1
f i
2
f .
11.1.4 Operatorul de mutaie pentru codificarea binar
56
Intervenia operatorului de mutaie devine extrem de util n
cazurile n care ncruciarea nu faciliteaz obinerea anumitor
secvene de gene sau pentru a combate efectul de convergen
prematur a populaiei. Fie prin aplicarea unei presiuni de selecie
prea mare, fie prin pierderea diversitii indivizilor prin aplicarea
neadecvat a altor operatori, ne putem confrunta cu o uniformizare a
populaiei, fapt pentru care cutarea ulterioar devine deficitar. n
aceste situaii mutaia devine factorul principal de revigorare a
populaiei. Mai mult, probabilitatea ca soluia global s fie situat n
imediata apropiere a unui individ performant este mare. Intuitiv, o
uoar modificare a trsturilor acestuia poate conduce la gsirea
soluiei dorite, ducnd la o accelerare remarcabil a convergenei
algoritmului.
Mutaia uniform puternic
Mutaia este operatorul unar care acioneaz la nivelul
reprezentrii cromozomiale a unui individ selectat n prealabil.
Rezultatul procedurii de mutaie este un nou individ format parial
din gene motenite de la printele su. Gradul de asemnare al
cromozomilor printe i fiu este dependent de numrul genelor care
sufer modificri. Pentru a controla aceast trstur a mutaiei se
consider un parametru adiional cu semnificaia probabilitii ca o
poziie din reprezentarea cromozomial s fie alterat. n mod uzual
notm acest parametru cu
M
p . Cu ct valoarea parametrului
M
p
este mai mare, cu att asemnarea descendenilor cu prinii este
mai puin evident.
Varianta uniform a operatorului presupune utilizarea unei
valori constante a probabilitii de mutaie
M
p pe tot parcursul
evoluiei populaiei.
Algoritm Mutaie_Tare_Uniform
este
Fie ( )
n
x x c ,...,
1
- cromozomul
printe
Fie [ ] 1 , 0
M
p parametrul
algoritmului
Fie ( )
n
y y d ,...,
1
-cromozomul
57
fiu
Pentru i de la 1 la n
Genereaz aleator
[ ] 1 , 0 q
Dac
M
p q < atunci
i i
x y 1 :
Altfel
i i
x y :
SfDac
SfPentru
SfAlgoritm
Observaie: Dac
M
p are valoarea 1, operatorul de mutaie
descris de algoritmul anterior are efectul complementarii genelor
printelui.
Mutaia uniform slab
O variant a mutaiei uniforme este cea n care gena mutant a
printelui se poate transmite nemodificat fiului. Numim aceast
form a operatorului mutaie slab. Specificul procedurii const n
stabilirea unei probabiliti de alterare a genelor selectate, astfel
nct, dei o gen oarecare este supus mutaiei, fiul poate s
moteneasc valoarea iniial din codificarea printelui. n esen,
genele mutante ale fiului nu sunt copiate din printe, ci se
construiesc prin atribuirea de valori binare
{ } 1 , 0
.Se stabilete
valoarea subunitar 5 . 0 r reprezentnd probabilitatea de alocare a
valorii 1 pentru gena considerat.
Algoritmul mutaiei uniforme slabe este descris n continuare:
Algoritm Mutaie_Slab_Uniform
este
Fie ( )
n
x x c ,...,
1
- cromozomul
printe
Fie [ ] 1 , 0
M
p parametrul
algoritmului
Fie 5 . 0 r
Fie ( )
n
y y d ,...,
1
-cromozomul fiu
Pentru i de la 1 la n
Genereaz aleator
[ ] 1 , 0 q
58
Dac
M
p q < atunci
Genereaz aleator
[ ] 1 , 0 s
Dac r s < atunci
1 :
i
y
Altfel
0 :
i
y
SfDac
Altfel
i i
x y :
SfDac
SfPentru
SfAlgoritm
Mutaia neuniform
Se poate intui c o dinamic eficient a populaiei este aceea n
care prima etap a evoluiei asigur o bun explorare a spaiului de
cutare, respectiv, ultima etap realizeaz o exploatare accentuat a
zonelor promitoare. Acest procedeu permite iniial determinarea
zonelor corespunztoare optimelor, fapt pentru care exploatarea
ulterioar a acestora garanteaz o ans mare de determinare a
soluiilor globale. Ne putem imagina scenariul n care ordinea celor
dou etape enunate este inversat. n aceast situaie, exploatarea
iniial poate lesne genera efectul de convergen prematur, iar
explorarea ulterioar poate produce pierderea soluiilor calificate
obinute n etapa precedent.
Principiul elementar aplicat n stabilirea ordinii celor dou faze
ale evoluiei este cel prin care asigurm la nceput cutarea global,
urmat de faza final n care soluiile intermediare obinute sunt
rafinate. n practic, acest deziderat se poate atinge prin controlarea
probabilitii de mutaie
M
p . n acest caz, valoarea parametrului
M
p nu mai este o constant. Se stabilete o regul prin care
probabilitatea de mutaie descrete odat cu creterea indicelui
generaiei, astfel nct:
- indivizii generaiilor iniiale vor fi supui mutaiei cu o
probabilitate mare, asigurnd o bun diversitate a
populaiei; (explorare)
59
- spre sfritul evoluiei, procentul mutaiilor scade
considerabil, ceea ce permite o cutare local eficient.
(exploatare)
Probabilitatea de mutaie depinde de vrsta populaiei, notat
) (t
M
p . Proiectantul algoritmului are libertatea de a construi funcia
care descrie aceast dependen. Descreterea valorii
) (t
M
p poate fi
liniar, exponenial, etc., n funcie de rapiditatea cu care dorim s
se instaleze etapa de rafinare a soluiilor.
Thomas Back [1.1.1.2] propune formule de variaie a
probabilitii de mutaie n funcie de indicele generaiei curente:
Varianta 1.
Legea de modificare a probabilitii de mutaie n funcie de
timp (timpul este exprimat n numrul generaiilor produse) este
urmtoarea:
( ) ( )
t
e p t p

m m

1
unde:
t reprezint indicele generaiei curente

- parametru ntreg supraunitar


1
prin care se
gestioneaz viteza de descretere a probabilitii de mutaie
( ) 1
m
p - probabilitatea de mutaie la generaia iniial (se
stabilete de ctre utilizator)
Varianta 2.
Legea de transformare dependent de timp este exprimat
prin:
( )
t
T
L
t p
m

max
2
2
1
unde:
t reprezint indicele generaiei curente
T
max
numrul maxim de generaii permise
L lungimea cromozomului (numrul de gene din reprezentarea
cromozomial)
Probabilitatea de mutaie la prima generaie este de 0.5. La
ultima generaie valoarea parametrului scade la
L 1
.
60
O alt form de variaie a parametrului
m
p
este printr-o lege
dependent de valoarea de performan a indivizilor:
( )
( ) ( ) L c fitness
c p
m
+

1 2
1
unde:
c un individ (cromozom) al populaiei curente,
( ) t P c
fitness funcia de performan
L lungimea cromozomului
Prin aceast lege de modificare a valorii probabilitii de
mutaie este permis alterarea accentuat a indivizilor de calitate
slab i o mutaie subtil a indivizilor cu performane considerabile.
Principiul acestei forme de adaptare a mutaiei este intuitiv: o
valoare mare a performanei unui individ ne sugereaz apropierea
acestuia de optimul din spaiul de cutare, astfel, probabilitatea ca
individul respectiv s sufere mutaii scade considerabil pentru a nu
produce ndeprtarea de soluia din zon.
Mutaia adaptiv
n codificarea binar poziia genelor are un rol decisiv. Alterarea
primelor gene induce o amplitudine mult mai mare a mutaiei n
comparaie cu modificarea genelor de la sfritul cromozomului.
innd cont de poziia genelor reprezentrii, putem controla puterea
operatorului de mutaie. Astfel, pentru a asigura diversitatea
populaiei este indicat s producem mutaii la nivelul genelor
semnificative, efectul acestora fiind generarea unor descendeni
puin asemntori prinilor. De asemenea, accentuarea cutrii
locale generarea indivizilor apropiai de prini - se va realiza n
condiiile n care mutaiile genelor semnificative sunt rare.
Dependena parametrului
M
p de locaia genelor nu este greu de
realizat practic.
n algoritmul operatorului de mutaie adaptiv valoarea
probabilitii de mutaie este condiionat de poziia genelor.
11.1.5 Inversiunea
61
Literatura dedicat domeniului abund n operatori inedii,
inspirai sau nu de procese naturale, aplicabili n rezolvarea unor
probleme specifice sau avnd un grad mare de generalitate.
Operatorul de inversiune i are rdcinile n procese naturale
ntlnite la nivel cromozomial. Tipul operatorului este 1:1, respectiv
procedeul se aplic asupra unui singur cromozom rezultnd un unic
descendent. Principiul inversiunii este simplu: valorile a dou gene se
interschimb. Poziiile genelor inversate se genereaz aleator. Alt
variant a operatorului presupune transcrierea invers a unei
subsecvene de gene a cromozomului
n practic ntlnim foarte rar utilizarea operatorului de
inversiune, preferina fiind clar nspre implementarea ncrucirii i
mutaiei. Inversiunea are mai degrab un statut istoric dect
funcional dat fiind faptul c primii operatori genetici sugerai sunt
ncruciarea, mutaia i inversiunea [1.1.1.2]. Frecvena mic de
utilizare a acestui operator i are explicaia logic n faptul c
mutaia sau recombinarea pot suplini absena lui, efectul operatorilor
de variaie populari fiind n anumite condiii similar inversiunii.
O posibil generalizare a operatorului descris este aceea prin
care se inverseaz secvene distincte de gene. Lungimile secvenelor
sunt egale pentru a nu produce suprapunerea genelor sau depirea
lungimii maxime a cromozomilor.
12 Codificare real - specific
ntr-un exemplu anterior (vezi ) a fost tratat o problem de
optimizare a unei funcii reale. Folosind codificarea cromozomial
binar, abordarea descris pierde din naturalee i flexibilitate: valori
reale vor fi transformate i exprimate n secvene binare cu o precizie
prestabilit. Funcia de performan, identic cu funcia criteriu a
problemei are ca parametru o valoare real. Calcularea
performanelor indivizilor populaiei presupune conversia invers din
binar n real a reprezentrii soluiilor posibile, i astfel, un cost
suplimentar n procesul de calcul. Soluia elegant n cazul
optimizrii funciilor reale const n utilizarea unei reprezentri
cromozomiale adecvate, utiliznd valori reale.
62
Fie
k
R D ,
k
D D D D ...
2 1
spaiul de cutare al unei
probleme date.
Notm cu
i
a i
i
b limitele inferioar, respectiv, superioar ale
domeniului
i
D : [ ]
i i i
b a D , .
Fie D x , ( )
k
x x x x ,.. ,
2 1
o soluie posibil a problemei
considerate i cromozomul
( ) t P c
reprezentarea real a soluiei x.
{ } k i ,..., 2 , 1
, [ ]
i i i
b a x ,
Cromozomul c, n codificarea real este exprimat prin secvena
de valori reale: ( )
k
x x x c ,..., ,
2 1
.
Exemplul amintit poate fi rezolvat natural utiliznd codificare
cromozomial real:
Fie
R D f :
,
[ ] 6 , 2 D
i un punct oarecare a domeniului:
s=3,42.
Codificarea real a soluiei s este urmtoarea: ( )
1
x c , unde
42 , 3
1
x .
Menionm c aceast form de reprezentare a soluiilor
posibile este aplicabil n toate situaiile n care un punct al spaiului
de cutare comport o exprimare prin valori reale. Optimizarea
funciilor reale este doar o clas de probleme n care codificarea
real este preferat codificrii binare.
Operatorii genetici descrii n paragrafele dedicate codificrii
binare nu pot fi aplicai n cazul unei codificri reale a soluiilor.
Mutaia, exprimat ca alterare unei gene prin inversarea valorii
iniiale sau recombinarea utiliznd puncte de tietur devin
nepotrivite n acest context. Corespunztor codificrii cromozomiale
reale exist operatori specifici de mutaie i ncruciare. Seciunile
urmtoare prezint cteva variante populare de operatori genetici
specifici codificrii reale.
12.1.1 Operatorul de ncruciare pentru codificarea real
ncruciarea discret
Operatorul de ncruciare discret este o variant similar
ncrucirii uniforme din seciunea codificrii binare. Ca i n primul
63
caz, un parametru subunitar exprim probabilitatea ca genele fiilor
s provin din primul sau al doilea printe. Notm cu p parametrul
prin care este modelat rolul prinilor n transmiterea genelor:
[ ] 1 , 0 p
. Valoarea p=0.5 anun rolul simetric al celor doi prini
selectai pentru ncruciare.
Algoritmul de ncruciare discret este descris n cele ce
urmeaz:
Algoritmul ncruciare_Discret este
Fie p parametrul algoritmului,
[ ] 1 , 0 p
Fie ( )
n
x x c ,...,
1 1
i ( )
n
y y c ,...,
1 2
doi
prini
Fie ( )
n
z z d ,...,
1 1
i ( )
n
w w d ,...,
1 2

descendenii
Pentru i de la 1 la n
Genereaz aleator
[ ] 1 , 0 q
Dac
p q <
atunci
i i
x z :
i i
y w :
Altfel
i i
y z :
i i
x w :
SfDac
SfPentru
SfAlgoritm
ncruciarea continu
Operatorul de ncruciare continu implic doi prini selectai
n prealabil. Descendenii obinui motenesc o parte a genelor
corespondente ale prinilor, restul genelor obinndu-se ca medie
aritmetic a genelor provenite din ambii prini. Procedeul descris va
produce descendeni ce conin secvene de trsturi similare. Un
parametru suplimentar va indica raportul dintre genele care se
motenesc nemodificate i genele care sufer mutaii.
Algoritmul ncruciare_Continu este
Fie p parametrul algoritmului,
[ ] 1 , 0 p
Fie ( )
n
x x c ,...,
1 1
i ( )
n
y y c ,...,
1 2
doi
64
prini
Fie ( )
n
z z d ,...,
1 1
i ( )
n
w w d ,...,
1 2

descendenii
Pentru i de la 1 la n
Genereaz aleator
[ ] 1 , 0 q
Dac
p q <
atunci
2
:
i i
i
y x
z
+

2
:
i i
i
y x
w
+

Altfel
i i
x z :
i i
y w :
SfDac
SfPentru
SfAlgoritm
O variant a operatorului de ncruciare continu, denumit
ncruciare continu complet, produce un singur descendent ale
crui gene sunt obinute ca medii ale genelor corespondente din
ambii prini.
ncruciarea convex
ncruciarea convex produce descendeni ale cror gene sunt
combinaii liniare (convexe) ale genelor prinilor. Operatorul este
caracterizat printr-un parametru subunitar prin care se poate
controla importana prinilor n constituirea descendenilor.
Valoarea 0.5 stabilit parametrului ne conduce la varianta de
ncruciare continu complet. Algoritmul este descris n cele ce
urmeaz.
Algoritmul ncruciare_Convex este
Fie parametrul algoritmului,
[ ] 1 , 0
Fie ( )
n
x x c ,...,
1 1
i ( )
n
y y c ,...,
1 2
doi
prini
Fie ( )
n
z z d ,...,
1 1
i ( )
n
w w d ,...,
1 2

descendenii
Pentru i de la 1 la n
( )
i i i
y x z + 1 :
65
( )
i i i
x y w + 1 :
SfPentru
SfAlgoritm
Parametrul poate fi o constant prestabilit de-a lungul
evoluiei populaiei. n anumite scheme de ncruciare convex
parametrul poate fi variabil, generat pentru fiecare pereche de
prini sau pentru fiecare gen construit a descendenilor.
Generarea parametrului pentru fiecare poziie a descendenilor
construii creeaz un hibrid ntre ncruciare i mutaie.
12.1.2 Operatorul de mutaie pentru codificarea real
Codificarea real a cromozomilor implic apariia altor proceduri
de mutaie specific. n funcie de dependena de indicele generaiei
t se disting dou clase de operatori de mutaie: mutaie
independent de timp: mutaia uniform i mutaia dependent de
generaie sau neuniform.
Mutaia uniform a cromozomilor n reprezentare real
presupune ca indiferent de generaie, cu o probabilitate fixat, s fie
alterat valoarea unei gene prin nlocuirea acesteia cu o nou
valoare aleator generat din domeniul de definiie.
Fie ( )
n i
x x x x c ,..., ,..., ,
2 1
cromozomul supus mutaiei. n mod
aleator se stabilete poziia i a genei ce va fi alterat, urmnd ca
aceast poziie s fie nlocuit cu o valoare nou generat.
Probabilitatea de mutaie a genelor este constant i are aceiai
valoare pentru toate genele.
Procedura de mutaie neuniform este construit pe principiul
de a favoriza o explorare eficient a spaiului de cutare n primele
generaii ale evoluiei i o exploatare accentuat a soluiilor
performante n ultimele generaii. Acest deziderat se realizeaz prin
implicarea a doi parametrii suplimentari variabili prin care se indic
natura modificrii genelor, respectiv, amplitudinea schimbrii i
aplicarea unei legi de alterare inspirat de algoritmul Metropolis de
recoacere simulat. n acest scop se va stabili un indice maxim T al
generaiei la care amplitudinea mutaiei devine nul i amplitudinea
66
iniial r a mutaiilor. Se consider domeniul de definiie a valorii
genei
i
x ca fiind intervalul [ ]
i i
b a , i t reprezint indicele generaiei
curente.
Legea de alterare a genei selectate devine:
1. Stabilete aleator sensul alterrii genei
i
x
,
{ } 1 , 1 + p
, cu semnificaia:
p=1 creterea valorii
p=-1: descreterea valorii
2. Dac p=1 atunci
x
i
' =x
i
b
i
x
i

[
1r

1
t
T

]
Altfel /*(p=-1)*/
1
1
]
1



,
_

T
t
i i i i
r a x x x
1
1 ) ( '
SfDac
13 Consideraii privind operatorii genetici
Analizai din perspectiva echilibrului explorare-exploatare,
operatorii genetici se mpart n dou categorii corespunztor aciunii
exercitate asupra populaiei:
- operatori care favorizeaz exploatarea celor mai prolifice
soluii curente
- operatori care permit extinderea cutrii i n alte zone ale
spaiului
Din prima categorie fac parte operatorii de selecie. Rolul
acestora const n avantajul pe care l atribuie indivizilor care s-au
dovedit a fi performani n conformitate cu funcia de evaluare. Cea
de-a doua categorie ncorporeaz operatorii de ncruciare i mutaie
a cror sarcin const n modificarea cromozomilor, asigurnd
progresul ulterior al populaiei n ansamblu.
La o parcurgere a descrierii Algoritmului genetic standard (vezi
) se poate observa ordinea aciunilor asupra populaiei. n aceast
organizare, selecia precede aciunea operatorilor de variaie.
Principiul este evident: dintre indivizii populaiei curente se vor alege
67
cei mai valoroi pentru a continua cutarea. Indivizii selectai
formeaz o populaie distinct de generaia curent. n realitate ci
doi operatori de variaie considerai se aplic asupra a dou populaii
distincte. ncruciarea acioneaz asupra prinilor selectai ( ) t P
S
,
iar mutaia va altera indivizii obinui prin ncruciare ( ) t P
R
. Selecia
se aplic de dou ori: prima dat pentru a delimita prinii ce vor fi
supui ncrucirii, i a doua oar pentru a decide care dintre
descendenii obinui prin recombinare vor suferi mutaii. n
dezvoltarea algoritmului genetic nu este obligatorie alegerea
aceleiai variante de selecie pentru ncruciare i mutaie.
Algoritmul genetic este puternic parametrizat: dimensiunea
populaiei i numrul maxim de generaii produse sunt parametri
evideni ai evoluiei. Introducerea operatorilor genetici adaug noi
parametri specifici: probabilitatea de ncruciare, probabilitatea de
mutaie, etc. n continuare vom descrie i discuta efectul acestor
parametri asupra dinamicii populaiei.
1) Probabilitatea de ncruciare
Considerm o populaie de dimensiune constant n. Efectul
seleciei pentru ncruciare este de a forma o populaie intermediar
( ) t P
S
de dimensiune n, constituit din copii ale indivizilor generaiei
curente
( ) t P
. Se poate observa c anumii cromozomi ai populaiei
curente nu se regsesc n ( ) t P
S
, n timp ce alii se copiaz de mai
multe ori.
Notm cu
C
p - probabilitatea ca un cromozom al populaiei
intermediare s fie supus ncrucirii. Altfel spus, fiecare individ al
populaiei ( ) t P
S
poate produce descendeni cu o probabilitate
C
p .
Exemplu: pentru parametrul stabilit 7 . 0
C
p se nelege faptul
c 70% dintre cromozomii populaiei intermediare vor fi supui
aciunii operatorului de ncruciare.
n general valorile probabilitii de ncruciare se situeaz n
intervalul [ ] 95 . 0 , 2 . 0 . Admitem c valorile mici a parametrului
provoac o ncetinire a explorrii spaiului de cutare, n schimb,
valorile mari ale acestuia conduc la progresul accelerat al populaiei.
68
n continuare prezentm detaliat mecanism de aplicare a
operatorului de ncruciare innd cont de parametrul specific
C
p
.
Se consider populaia intermediar de n indivizi selectai pentru
ncruciare:
( ) t P
S
. Deoarece ncruciarea este un operator ce
acioneaz asupra a doi indivizi din
( ) t P
S
este necesar stabilirea
modului n care se face mperecherea acestora. n general perechile
de prini supui recombinrii se stabilesc n mod aleator.
Considerm
C
p - probabilitatea de ncruciare.
Algoritmul complet de mperechere i ncruciare este
urmtorul:
Algoritmul Recombinare este:
/*construirea populaiei intermediare Q , de dimensiune n*/
Fie
: Q
Cttimp (
n Q <
)
Pentru fiecare ( ) t P c
S
execut
Genereaz aleator
[ ] 1 , 0 q
Dac
C
p q < atunci
{ } c Q Q :
SfDac
SfPentru
SfCttimp
/*aplicarea ncrucirii asupra perechilor de indivizi stabilite
aleator*/
Fie ( ) : t P
R
Cttimp (
( ) n t P
R
< )
Genereaz aleator poziiile i i j a doi indivizi din
populaia Q
ncruciare(
i
c , j
c
), rezultnd descendenii
1
d i
2
d
( ) ( ) { }
2 1
, : d d t P t P
R R

SfCttimp
SfAlgoritm
2) Probabilitatea de mutaie
69
Acest parametru este caracteristic mutaiei. n mod uzual se
noteaz cu
M
p i semnific n ce msur indivizii selectai vor fi
supui aciunii operatorului. n general, valoarea parametrului
M
p
este de ordinul
3
10

i intervalul recomandat de valori este


[ ] 01 . 0 , 001 . 0
.
Considerm o populaie intermediar de dimensiune n. Indivizii
sunt reprezentai de secvene binare de lungime prestabilit k.
Fiecare gen din reprezentarea cromozomial poate fi modificat cu
o probabilitate dat de valoarea lui
M
p . n acest caz numrul mediu
de gene mutate este de
M
p k n . Cu ct valoarea lui
M
p este mai
mare, cu att efectul mutaiei n generaia produs este mai evident.
Ne imaginm un algoritm genetic nzestrat cu operatori de
selecie i mutaie. Se poate deduce clar c pentru valori mici ale
parametrului
M
p , noua generaie obinut va fi asemntoare
populaiei curente. Accelerarea cutrii se poate produce prin
ajustarea n mod corespunztor a parametrilor algoritmului.
Clasificarea operatorilor de mutaie se face i n funcie de
parametrul reprezentativ
M
p . Astfel, mutaia uniform presupune o
valoare constant pentru parametrul
M
p n timpul evoluiei, iar
mutaia neuniform se caracterizeaz prin dependena valorii
parametrului
M
p de numrul generaiei curente.
14 Exemple de rezolvare a problemelor cu algoritmi
genetici
n scop didactic vom prezenta dou probleme simple de
optimizare a unor funcii reale cu o singur, respectiv, mai multe
variabile.
14.1.1 Exemplu 1 Optimizare numeric
Fie funcia
R D f :
, unde:
[ ] , 0 D
i
( ) ( ) x x f sin
Se dorete determinarea maximului global al funciei f n
domeniul D.
70
Pentru rezolvarea problemei de optimizare (maximizare) cu
ajutorul unui algoritm genetic, se vor parcurge etapele urmtoare:
1. Stabilirea manierei de codificare
2. Stabilirea funciei de evaluare
3. Alegerea operatorilor genetici: selecie, ncruciare,
mutaie
4. Stabilirea parametrilor de control
5. Alegerea condiiei de terminare a execuiei algoritmului
6. Stabilirea formei de elitism aplicate (dac este cazul)
Vom detalia n continuare componentele principale ale
algoritmului genetic pentru problema dat.
Codificarea soluiilor
Pornind de la observaia c funcia f este o funcie real de o
singur variabil x ale crei valori fac parte din domeniul continuu
[ ] , 0 D
, se pot deduce dou variante de codificare a soluiilor
posibile. Practic, orice valoare real x din domeniul de cutare D este
o posibil soluie a problemei. Aceasta poate fi reprezentat binar,
prin procedeul descris n , sau, mai natural, admite codificarea real
descris n .
Codificarea binar
Fiecare soluie x din intervalul dat poate fi reprezentat printr-o
secven de n valori binare ( )
n
c c c c ,..., ,
2 1
, unde n se va stabili n
funcie de precizia dorit a codificrii. Metoda de determinare a
secvenei binare este descris n paragraful . Subalgoritmul care
realizeaz acest procedeu este urmtorul:
Subalgoritm Codificare(Intrare: x, n ; Ieire: ( )
n
c c c c ,..., ,
2 1
)
Execut
0
0

x
xt =>

x
xt
Pentru i de la 1 la n
2 xt c
i

2 2 xt xt xt
SfPentru
SfSubalgoritm
71
Populaia de indivizi este notat P i este format dintr-un
numr fixat de dimpop secvene binare: { }
dimpop
c c c P ,..., ,
2 1
.
Populaia iniial este generat aleator prin procedura urmtoare:
Subalgoritm Generare(Ieire: { }
dimpop
c c c P ,..., ,
2 1
)
Pentru i de la 1 la dimpop
x , unde - este o valoare subunitar
generat aleator
Cheam Codificare(x,
( )
n
i i i i
c c c c ,..., , 2 1
)
SfPentru
SfSubalgoritm
Funcia fitness
Alegerea funciei de evaluare a performanelor indivizilor nu
este problematic n cazul acestei probleme. Fiind vorba de o
problem de maximizare, cu ct valoarea funciei f n punctul x este
mai mare cu att calitatea acestei soluii este mai bun. Astfel, n
mod natural, funcia fitness este aleas ca fiind nsi funcia de
optimizat:
) ( ) ( x f x fitness
.
Problema care apare n contextul evalurii indivizilor rezid din
maniera de codificare binar pe care am utilizat-o. Fiecare individ
este o secven binar prin care se reprezint valoarea real a
soluiei x. naintea evalurii unui individ este necesar aplicarea
algoritmului invers prin care se determin valoarea real
corespunztoare reprezentrii binare:
/*transformarea secvenei binare in valoarea reala
echivalenta*/
Subalgoritm Decodificare (Intrare: ( )
n
c c c c ,..., ,
2 1
, Ieire: x)


+ + +
n
i
i
i
n
n
c c c c xt
1
2
2
1
1
2 2 ... 2 2
( ) + xt xt x 0 0
SfSubalgoritm
/*Funcia de evaluare a calitii unui individ*/
Subalgoritm Fitness(Intrare: ( )
n
c c c c ,..., ,
2 1
, Ieire: fit )
72
Decodificare( ( )
n
c c c c ,..., ,
2 1
,x)
( ) x fit sin
SfSubalgoritm
Evaluarea populaiei curente, la momentul t, se realizeaz prin
determinarea valorilor de performan a tuturor elementelor
populaiei:
Subalgoritm Evaluare(Intrare: ( ) { }
dimpop
c c c t P ,..., ,
2 1
)
Pentru i de la 1 la dimpop
Cheam Fitness(
i
c
,
i
fit )
SfPentru
SfSubalgoritm
Operatorii genetici
n exemplul curent am optat pentru urmtorii operatori genetici:
ncruciarea cu 2 puncte de tietur de tipul (2:1), mutaia uniform
puternic i selecia proporional.
/*procedura de selecie a unui printe*/
Subalgoritm Selecie(Ieire: ind)
//ind - reprezinta indicele din populaie al printelui selectat
sumafit=0
Pentru i de la 1 la dimpop
sumafit=sumafit+fit
i

//unde fit
i
reprezint performanta calculat a
individului
i
c
SfPentru
ind=0
r sumafit s
, unde r - este o valoarea aleatoare subunitar
Cttimp ( 0 s AND
dimpop ind
)
ind
fit s s //unde fit
ind
reprezint performanta
individului
ind
c
ind=ind+1
SfCttimp
SfSubalgoritm
/*procedura de ncruciare*/
73
Subalgoritm ncruciare(Intrare:
1 ind
c
,
2 ind
c
Ieire:
( )
n
d d d d ,..., ,
2 1
)
Fie
1
t i
2
t
//
2 1
t t < - dou valori generate aleator n mulimea
{ } dimpop ,..., 2 , 1

Pentru i de la 1 la
1
t
1 ind
i i
c d
SfPentru
Pentru i de la
1
t +1 la
2
t
2 ind
i i
c d
SfPentru
Pentru i de la
2
t +1 la n
1 ind
i i
c d
SfPentru
SfSubalgoritm
/* procedura de mutaie*/
Subalgoritm Mutaie(Intrare:
ind
c
,
M
p Ieire: ( )
n
d d d d ,..., ,
2 1
)
Pentru i de la 1 la n
Genereaz aleator
[ ] 1 , 0 q
Dac
M
p q < atunci
ind
i i
c d 1
Altfel
ind
i i
c d
SfDac
SfPentru
SfSubalgoritm
Parametrii de control
Probabilitatea de mutaie
M
p se stabilete la valoarea 0.001.
Dimensiunea populaiei este de 100 de indivizi, iar precizia dorit a
codificrii ne conduce la o reprezentare pe 10 n poziii binare a
fiecrui cromozom.
74
Condiia de terminare si elitismul
Algoritmul genetic va fi nzestrat cu o form de elitism prin care
cel mai performant individ al generaiei curente se va copia
nemodificat n noua generaie. Condiia de terminare se refer la
atingerea unui numr de 100 Tmax de generaii produse.
Subalgoritm Elita(Ieire: best)
poz_best=1
Pentru i de la 1 la dimpop
Dac
i
fit
>
best poz
fit
_
atunci
poz_best=i
SfDac
SfPentru
best=
best poz
c
_
// individul de pe poziia poz_best din populaia
( ) { }
dimpop
c c c t P ,..., ,
2 1

SfSubalgoritm
Algoritmul genetic
Fiind descrii subalgoritmii care realizeaz operaiile principale,
un algoritm genetic care rezolv problema de optimizare considerat
este urmtorul:
Algoritm AlgoritmGenetic este
Cheam Generare(P(0))
0 t
Cttimp ( Tmax t )
/*evaluare populaie curent*/
Cheam Evaluare(P(t))
/*reine best cel mai bun individ din populaie*/
Cheam Elita(best)
/*creare populaie intermediar
S
P ,
{ }
dimpop
S
s s s P ,..., ,
2 1
*/
Pentru i de la 1 la dimpop
Cheam Selecie(ind)
75
ind i
c s
SfPentru
/*creare populaie intermediar
R
P ,
{ }
dimpop
R
r r r P ,..., ,
2 1
*/
Pentru i de la 1 la dimpop
Genereaz aleator ind1 i ind2 din mulimea
{ } dimpop ,..., 2 , 1

Cheam ncruciare(
1 ind
s
,
2 ind
s
;
i
r
)
SfPentru
/*formare populaie nou ( ) { }
dimpop
c c c t P ,..., , 1
2 1
+
*/
Pentru i de la 1 la dimpop
Cheam Mutaie(
M
i
p r , ;
i
c
)
SfPentru
/*elitism: copiaz pe prima poziie n noua
populaie cel mai bun individ al generaiei vechi*/
best c
1
t=t+1
SfCttimp
SfAlgoritm
14.1.2 Exemplu 2 Optimizare numeric
Fie funcia
R D f :
, unde:
[ ] , 0 D
i
( ) ( ) x x f sin
Se dorete determinarea maximului global al funciei f n
domeniul D.
1. Codificarea indivizilor
Problema enunat a fost tratat n primul exemplu utiliznd
codificarea cromozomial binar. Pornind de la observaia c
dimensiunea spaiului de cutare este 1, i orice valoare din
intervalul [ ] , 0 D este o soluie posibil a problemei, ntr-un mod
mai natural, un individ al populaiei poate fi reprezentat prin valoarea
real corespunztoare:
76
( ) x c ,
[ ] , 0 x
Cu excepia procedurilor specifice care depind de maniera de
codificare a indivizilor (ncruciarea, mutaia), ceilali subalgoritmi
descrii n exemplul 1 se simplific semnificativ, nemaifiind necesar
conversia din reprezentare binar n real, respectiv din valoare real
n secven binar.
Populaia iniial { }
dimpop
c c c P ,..., ,
2 1
este generat aleator
printr-o procedur elementar:
Subalgoritm Generare(Ieire: { }
dimpop
c c c P ,..., ,
2 1
)
Pentru i de la 1 la dimpop
x , unde - este o valoare subunitar
generat aleator
x c
SfPentru
SfSubalgoritm
2. Evaluare indivizilor
Funcia de fitness i procedura de evaluare a populaiei curente
devine:
Subalgoritm Fitness(Intrare: x c , Ieire: fit )
( ) x fit sin
SfSubalgoritm
Subalgoritm Evaluare(Intrare: ( ) { }
dimpop
c c c t P ,..., ,
2 1
)
Pentru i de la 1 la dimpop
Cheam Fitness(
i
c
,
i
fit )
SfPentru
SfSubalgoritm
3. Stabilirea operatorilor genetici:
Operatorul de selecie este cel descris n exemplul precedent,
deoarece selecia este o procedur care depinde doar de calitatea
indivizilor i nu i de maniera de reprezentare a acestora. Operatorii
genetici de ncruciare i mutaie sunt alei dintre cei specifici
77
codificrii reale: ncruciare convex de tipul (2:1) i mutaie
neuniform.
Subalgoritm ncruciare (Intrare: ( ) x c
ind

1
, ( ) y c
ind

2
Ieire:
( ) z d
)
Genereaz aleator
[ ] 1 , 0
( ) y x z + 1 :
SfSubalgoritm
Subalgoritm Mutaie(Intrare: ( ) x c
ind
,
M
p , r, t, T Ieire:
( ) y d
)
Genereaz aleator
[ ] 1 , 0 q
Dac
5 . 0 q
atunci
1
1
]
1

+

,
_

T
t
r x x y
1
1 ) (
Altfel
1
1
]
1



,
_

T
t
r x x y
1
1 ) 0 (
SfDac
SfSubalgoritm
Fa de abordarea din exemplul 1, mulimea parametrilor de
control va fi completat cu parametrii care intervin n subalgoritmii
specifici:
- amplitudinea iniial a mutaiilor r
- numrul generaiei T la care amplitudinea mutaiilor devine
nul.
Condiia de ncheiere a execuiei algoritmului, procedura de
elitism i structura algoritmului genetic - nu se modific fa de
varianta de rezolvare n care se utilizeaz codificare binar.
Soluii:
Figurile urmtoare prezint populaia la diferite momente de
timp n evoluie. Pentru o bun vizualizare am reprezentat punctele
de coordonate ( ) ( ) x f x, corespunztoare indivizilor populaiei.
78
0
0
0
0
1
1
1
1
0 0.5 1 1.5 2 2.5 3

0.0
0.2
0.4
0.6
0.8
1.0
1.2
-0.35 0.15 0.65 1.15 1.65 2.15 2.65 3.15

0.00
0.20
0.40
0.60
0.80
1.00
1.20
0 0.5 1 1.5 2 2.5 3
Figura 3 Populaia la generaiile 0, 10 i 100
Dup un numr de 100 de generaii, soluia oferit de
algoritmul genetic codificat de cel mai performant individ al ultimei
generaii este: x=1.5707963, f(x)=1.0000000, ceea ce corespunde
unei aproximri foarte bune a maximului funciei sin n intervalul
considerat.
14.1.3 Exemplu 3 Optimizare numeric
Fie funcia
R D f :
, unde:
( ) ( )


n
i
i
x x x x f x f
1
2
2 2 1
,..., ,
i 12 . 5 12 . 5
i
x , n i ,..., 1 .
Se dorete determinarea maximului global al funciei f n
domeniul D.
79
Figura 4 graficul funciei De Jong 1 pentru cazul particular n=2 (dou
variabile)
Aceast funcie este cunoscut sub denumirea de funcia De
Jong 1 i este o funcie continu, convex i unimodal, a crui
optim global (minim) este:
( ) 0
*
x f , 0
*

i
x , n i ,..., 1
1. Codificarea indivizilor
Fa de exemplele precedente, funcia de optimizat este
scalabil n privina numrului de variabile. Codificarea cromozomial
poate fi stabilit att codificare binar (vezi de ex. , Cazul II) ct i
codificare real. n abordarea curent am optat pentru reprezentarea
real a indivizilor fiind mult mai flexibil:
( )
n
x x x c ,..., ,
2 1
, unde 12 . 5 12 . 5
i
x , n i ,..., 1
2. Evaluare indivizilor
Fiind vorba de o problem de minimizare, valoarea de
performan a unei soluii trebuie s fie cu att mai mare cu ct
valoarea funciei f n punctul respectiv este mai mic. Aceast
observaie ne conduce la ideea necesitii gsirii unei transformri de
scal a funciei obiectiv.
Pentru exemplul de fa am considerat urmtoarea funcie de
fitness:
( )
( )

n
i
i
n
x
x x x f
c fitness
1
2
2 1
1
1
,..., , 1
1
80
Subalgoritmul de determinare a performanei unui individ se
modific corespunztor:
Subalgoritm Fitness(Intrare:
x c
, Ieire: fit )
Suma=0
Pentru i=1 la n
Suma=Suma+
2
i
x
SfPentru
fit=1/(1+Suma)
SfSubalgoritm
3. Stabilirea operatorilor genetici:
Maniera de codificare i structura multidimensional a
cromozomilor decide asupra operatorilor de variaie folosii.
Operatorul de selecie rmne cel descris n exemplul 1.
/*ncruciare convex*/
Subalgoritm ncruciare (Intrare: ( ) x c
ind

1
, ( ) y c
ind

2
Ieire:
( ) z d
)
Fie ( )
n
x x c ,...,
1 1
i ( )
n
y y c ,...,
1 2
doi prini
Fie ( )
n
z z d ,...,
1
descendentul
Pentru i de la 1 la n
Genereaz aleator
[ ] 1 , 0
( )
i i i
y x z + 1 :
SfPentru
SfSubalgoritm
/*mutaie neuniform*/
Subalgoritm Mutaie(Intrare: ( ) x c
ind
,
M
p , r, t, T Ieire:
( ) y d
)
Pentru i =1 la n
Genereaz aleator
[ ] 1 , 0 p
Dac
M
p p atunci
Genereaz aleator
[ ] 1 , 0 q
Dac
5 . 0 q
atunci
81
1
1
]
1

+

,
_

T
t
i i i
r x x y
1
1 ) 12 . 5 (
Altfel
( )
1
1
]
1



,
_

T
t
i i i
r x x y
1
1 ) 12 . 5 (
SfDac
SfDac
SfPentru
SfSubalgoritm
Celelalte aspecte ale rezolvrii problemei de optimizare:
parametrii de control, condiia de terminare, elitismul i structura
algoritmului genetic, sunt cele definite n exemplele precedente.
Soluii:
-6
-4
-2
0
2
4
6
-6 -4 -2 0 2 4 6
X1
X
2

-6
-4
-2
0
2
4
6
-6 -4 -2 0 2 4 6
X1
X
2
Figura 5 Distribuia indivizilor la prim generaie (stnga) i generaia
10 (dreapta), n domeniul de cutare.
Pentru o populaie de 100 de cromozomi i un numr de
variabile n=20, algoritmul furnizeaz n 100 de generaii o
aproximare bun a minimului global:
Xminim=(0.03668, 0.04366, -0.03351, -0.0164,
0.044645921, 0.03719, 0.037897959, -0.0313,
-0.0276, -0.01, -0.0308, 0.04236, -0.0148,
-0.0401, 0.0406, -0.0369, -0.0011, -0.0403,
-0.0489, 0.04253)
82
-6
-4
-2
0
2
4
6
-6 -4 -2 0 2 4 6
X1
X
2
Figura 6 Distribuia indivizilor la generaia 100 n domeniul de cutare.
Populaie converge nspre minimul global al funciei
Populaia de indivizi este reprezentat n figurile alturate, fiind
surprins la diferite generaii. Au fost reprezentate punctele ale
cror coordonate sunt date de valorile primelor dou variabile
( )
2 1
, x x din reprezentarea cromozomilor.
83
CAPITOL III
15 Strategii Evolutive
Paradigma Strategiilor Evolutive se contureaz din anii 1960
cnd un grup de cercettori de la Universitatea Tehnic din Berlin
lanseaz un model de algoritm evolutiv care ncorporeaz trsturi
definitorii inspirate de principii observate n natur. Ideea de baz a
Strategilor Evolutive este de a evolua parametrii strategiei n paralel
cu soluia problemei. Primele aplicaii ale unei strategii evolutive s-au
ncadrat n aria problemelor de hidrodinamic. Dificultatea acestor
probleme ct i imposibilitatea aplicrii unor metode de optimizare
tradiionale conduc la dezvoltarea unui algoritm prin care att soluia
ct i parametrii de control ai strategiei evolueaz n paralel prin
aciunea operatorului de mutaie.
Prima variant a unei strategii evolutive nu include principiul
evoluiei colective a unor indivizi, grupai n aa numita populaie.
Strategia (1+1) presupune alterarea unui singur individ (soluie)
rezultnd un unic descendent. Cei doi indivizi, printele i
descendentul acestuia sunt ulterior evaluai i comparai, urmnd ca
cel mai performant s supravieuiasc. Procedeul se repet pn la
ndeplinirea unei condiii de terminare a algoritmului. Ca i n cazul
algoritmilor genetici, cutarea n spaiul soluiilor posibile este
ghidat de funcia de evaluare: funcie prin care se poate ataa
84
fiecrei soluii o valoare de performan. Operatorul principal al unei
strategii de acest gen este mutaia.
Deficienele strategiei (1+1) au fost depite ulterior prin
dezvoltarea strategilor bazate pe populaii: (

+1), (

+), (

,
).
16 Strategia evolutiv (1+1)
Notaia prin care este identificat tipul strategiei evolutive ne
indic elementele definitorii ale acesteia: numrul de indivizi ai
generaiei curente, numrul de descendeni rezultai n urma aplicrii
operatorilor de variaie i metoda de selecie a noii generaii. n cazul
strategiei discutate, notaia (1+1) se traduce prin aciunile
urmtoare: la fiecare etap a evoluiei, unicului individ (1) al
generaiei curente sufer o mutaie rezultnd un singur descendent
(1) i cei doi (+) intr n competiie pentru ca cel mai performant
dintre acetia s supravieuiasc n noua generaie.
16.1.1 Reprezentarea indivizilor
Codificarea individului este diferit de codificarea cromozomial
din paradigma algoritmilor genetici. Un individ al strategiei evolutive
este codificat prin secvena:
( ) , x c
,
unde
n
R x
,
n
R
.
Vectorul ( )
n
x x x ,...,
1
este format din componente reale i
reprezint o soluie posibil a spaiului de cutare.
Vectorul ( )
n
,...,
1
de n componente reale reprezint
vectorul dispersie i are semnificaia perturbaiilor produse la nivelul
fiecrei componente a vectorului x.
16.1.2 Mutaia
Operatorul de mutaie acioneaz astfel: fiecare component
i
x a vectorului soluie va fi alterat cu o valoare aleatoare de medie
85
0 si deviaie standard
i
. Deviaia standard

este adaptat pe
baza regulii de succes 1/5 pe care o vom discuta ulterior.
Notm: ( ) ( ) ( ) ( ) t t x t c , individul strategiei evolutive la
generaia t.
Descendentul acestuia, notat ( ) ( ) ( ) ( ) 1 , 1 1 + + + t t x t c , este
obinut astfel:
( ) ( ) ( ) t t x t x + +1
, respectiv:
( ) ( ) ( ) t t x t x
i i i
+ +1 ,
{ } n i ,..., 2 , 1 .
Soluiile
( ) 1 + t x
i
( ) t x
sunt comparate urmnd ca soluia mai
bun conform funciei de performan s supravieuiasc.
Deviaia standard

, interpretat ca valoare a pasului de


mutaie, este adaptat de-a lungul evoluiei pe baza regulii de succes
1/5. Aceast lege de adaptare a pasului de mutaie a fost
determinat experimental.
Se consider c o mutaie este de succes dac descendentul
obinut este mai bun dect printele acestuia. Valoarea de 1/5 este
sugerat pentru rata mutaiilor de succes dintre toate mutaiile
efectuate. Dac rata mutaiilor de succes depete valoarea
indicat, deviaia standard va fi mrit. Contrar, o rata a mutaiilor
de succes mai mic dect 1/5 indic necesitatea micorrii deviaiei
standard.
Utilizarea acestei reguli se explic prin sporirea eficienei
cutrii: intuitiv, o rata mic a mutaiilor de succes ne conduce la
concluzia c soluia codificat este deprtat de soluia global a
problemei, fapt pentru care mrirea pasului de mutaie ar putea fi
benefic i ar accelera convergena. De asemenea, o rat mare a
mutaiilor de succes indic scenariul contrar n care soluia codificat
se situeaz n apropierea soluie globale, fapt pentru care micorarea
pasului de mutaie ar accentua cutarea local.
Rolul regulii de succes 1/5 se poate traduce prin stabilirea
echilibrului ntre cutarea global i cutarea local. Cu toate
acestea caracterul determinist al ajustrii pasului de mutaie i
absena unei populaii veritabile constituie un dezavantaj major al
86
strategiei, conducnd n anumite situaii spre eecul datorat
convergenei nspre un optim local.
Regula de succes 1/5 ajusteaz dispersia

la fiecare k
generaii. Parametrul k se consider de obicei k=10*n, unde n este
dimensiunea spaiului de cutare. Notm cu s(k) numrul
mutaiilor de succes din ultimele k generaii i p(k) frecvena
mutaiilor de succes este dat de formula:
k
k s
k p
) (
) (
16.1.3 Algoritmul strategiei evolutive (1+1)
Algoritmul general al strategiei evolutive (1+1) este descris n
cele ce urmeaz:
Algoritmul ES(1+1) este:
Iniializeaz P(0)={c=(x, )}; 0 t ;
Evalueaz individul c prin funcia de fitness
Cttimp (NOT condiie de terminare)
Calculeaz frecvena mutaiilor de succes p(k) .
Aplic mutaia asupra printelui c=(x, ) obinnd descendentul
c=(x, )
unde:

'

<
>

5
1
) ( ,
5
1
) ( ,
5
1
) ( ,
'
k p daca
k p daca
k p daca

i parametri 1 > ,
1 <
.
Dac fitness(c)>fitness(c) atunci
87
P(t+1):={c=(x, )}
Altfel
P(t+1):={c=(x, )}
SfDac
t:=t+1
SfCttimp
SfAlgoritm
Referitor la parametri i

utilizai n procedura de
adaptare a dispersiei, acetia sunt alei n general invers
proporional:
1
. Schwefel [1.1.1.2] propune o regul mai
precis pentru determinarea acestora:
n

,
n
, i 817 . 0
n general, la stabilirea parametrului se ine cont de sugestia
ca acesta s fie ncadrat n intervalul:
[ ] 85 . 0 , 82 . 0
.
17 Strategia evolutiv (

+1)
Unul dintre dezavantajele majore ale strategiei (1+1) decurge
din absena unei populaii care ar permite o mai bun explorare a
spaiului de cutare. Propunerea strategiei multimembru (

+1) este
un rspuns pozitiv la acuzele aduse strategiei individuale (1+1) i un
pas semnificativ n dezvoltarea strategiilor evolutive moderne.
Principiul strategiei (

+1) este acela al utilizrii unei populaii


de

prini cu aceiai rat de mperechere care vor participa la


obinerea unui unic descendent. Ulterior, prinii i descendentul vor
concura pentru a forma noua generaie. Practic, cel mai slab individ
dintre cei (

+1) ai populaiei intermediare va fi eliminat. Avantajul


imediat al strategiei descrise decurge din prezena unei populaii de
indivizi care permite cutarea global i indirect o mai mic
probabilitate de eec dat de convergena prematur nspre soluiile
optime locale.
O alt noutate pe care o aduce strategia (

+1) este
posibilitatea exploatrii operatorului de recombinare. Dac n
strategia iniial (1+1) folosirea operatorului de recombinare nu era
88
posibil, n cazul strategiilor bazate pe populaii, prin creterea
numrului de prini la

>1 recombinarea devine viabil.


17.1.1 Recombinarea
Operatorul de ncruciare folosit n strategia (

+1) este uor


diferit de operatorul descris n capitolul dedicat Algoritmilor genetici.
O prim diferen este dat de paritatea acestuia: dac n cazul
algoritmilor genetici numrul de descendeni ai ncrucirii este n
general 2 i doar n cteva cazuri particulare 1, la strategia (

+1),
datorit restricionrii numrului de descendeni la 1, recombinarea
va genera doar un singur individ.
De asemenea, de cele mai multe ori se aplic un operator de
recombinare de tip panmictic, respectiv numrul de prini ce
transmit caracteristici unicului fiu este np,
<np 1
. n general,
alegerea numrului de prini ce contribuie la procedura de
recombinare este ales np=2 sau
np
. n situaia folosirii unui
numr de
np
prini ce contribuie la formarea descendentului
vorbim de o recombinare global.
Principalele proceduri de recombinare utilizate n strategiile
evolutive sunt:
- recombinarea discret
- recombinarea panmictic discret
- recombinarea continu
- recombinarea panmictic continu
- recombinarea convex
- recombinarea panmictic convex
Operatorii de recombinare discret, continu i convex sunt
cei descrii n capitolul dedicat Algoritmilor Genetici. Operatorii
panmictici corespunztori se difereniaz doar prin implicarea unui
numr mai mare de prini la transmiterea trsturilor ctre
descendentul produs. Spre exemplu, operatorul de recombinare
discret panmictic se poate descrie prin algoritmul:
Algoritmul
ncruciare_Discret_Panmictic este
89
Fie
np
c c c ,... ,
2 1
prinii selectai, unde:
{ } np k ,..., 2 , 1 , ( )
k
k
k
x c , .
Fie ( ) , ,...,
1 n
z z d descendentul produs
Pentru i de la 1 la n
Genereaz aleator { } np k ,..., 2 , 1
k
i i
x z
SfPentru
SfAlgoritm
Algoritmul descris mai sus ne nfieaz cazul n care fiecare
gen a descendentului este copie a genei corespondente (de pe
aceiai poziie) a unui individ extras aleator din mulimea prinilor
selectai.
Structura dual a unui individ ( ) , x c , prin care se codific
att soluia posibil din spaiul de cutare x, ct i parametrii de
control , face ca operatorul de recombinare s poat fi aplicat n
dou maniere:
1. doar asupra vectorului x
2. att asupra vectorului x, ct i asupra vectorului

Se constat o mai bun convergen a strategiei n situaia


descris la punctul 2, corespunztoare extinderii ncrucirii i asupra
parametrilor de control.
17.1.2 Mutaia
Descendentul obinut prin aplicarea uneia dintre procedurile de
recombinare enumerate anterior va fi ulterior supus aciunii
operatorului de mutaie. Procedura de mutaie este similar celei
descrise la strategia (1+1) cu meniunea c folosirea unei populaii
de prini face imposibil exploatarea regulii de succes 1/5 enunat
la strategia individual, respectiv, stabilirea unei alte reguli similare
de control al parametrilor este dificil. Acest inconvenient major al
strategiei induce o rezerv n ceea ce privete aplicarea acesteia n
rezolvarea problemelor.
Importana strategiei evolutive (

+1) este mai degrab una


istoric, fiind prima strategie evolutiv bazat pe conceptul de
90
populaie i constituind o real deschidere nspre dezvoltarea
ulterioar a strategiilor moderne.
17.1.3 Algoritmul strategiei evolutive (

+1)
Algoritmul Strategiei evolutive (

+1) este descris n


continuare, fiind evideniate etapele importante n evoluia populaiei
i maniera de construire a noii generaii:
Algoritmul ES (

+1) este:
1. Iniializeaz
{ }

c c c P ,..., , ) 0 (
2 1

; 0 : t
2. Cttimp (NOT condiie de terminare)
a. Evalueaz populaia
( ) t P
b. Aplic operatorul de recombinare obinnd
descendentul d
c. Aplic operatorul de mutaie asupra d obinnd d
d. Selecteaz primii

indivizi din
( ) { } ' d t P
pentru a
constitui noua generaie
( ) 1 + t P
e. 1 : + t t
n etapa de formare a noii generaii, att prinii ct i urmaul
acestora concureaz pentru a supravieui. Regula aplicat este un
elitist: cel mai slab printe sau urma este eliminat pentru a pstra
dimensiunea constant a populaiei.
Obinerea unui singur descendent la fiecare iteraie a
algoritmului strategiei (

+1) nu depete cu totul deficienele


strategiei individuale (1+1), ns o posibilitate de mbogire
semnificativ a strategiilor este sugerat de strategia (

+1) prin
utilizarea conceptului de populaiei i evoluia colectiv a indivizilor.
Din acest punct de vedere, strategiile moderne (

+) i (

, )
sunt cert superioare strategiilor (1+1) i (

+1).
18 Strategiile (1, ), (1+)
Alte variante de strategii evolutive care exploateaz conceptul
de populaie sunt strategiile (1, ), (1+). Ambele variante au n
comun utilizarea unei populaii de urmai, n timp ce numrul
91
prinilor este de data aceasta limitat la 1. Diferena celor dou
strategii const n maniera de elitist sau ne-elitist de supravieuire.
Astfel, strategia ne-elitist (1, ) implic nlocuirea printelui cu cel
mai performant descendent produs, fapt pentru care durata de via
a soluiei este limitat la o singur generaie, n timp ce strategia
elitist (1+) permite ca un printe mai performant dect
descendenii si s supravieuiasc n noua populaie.
Studii aprofundate (vezi de ex. [1.1.1.2]) asupra convergenei
strategiilor (1, ), (1+) relev faptul c numrul mai mare de
urmai per generaie aduce o mbuntire semnificativ a vitezei de
convergen comparativ cu modelul strategiei (1+1).
n ceea ce privete valoarea parametrului , s-au stabilit
valorile optime de 5, respectiv 6 descendeni per generaie [1.1.1.2].
Aceste valori conduc la o probabilitate de apariie a urmailor de
succes de:
{ }
6
1
,
5
1 1

,
valoare care este apropiat de cea postulat n Regula de succes 1/5.
Operatorul specific al strategiilor discutate este cel al mutaiei.
Operatorul de recombinare nu se poate aplica datorit lipsei unei
populaii de prini.
19 Strategiile evolutive (

+) i (

, )
Cunoscute sub denumirea de strategii evolutive moderne,
aceste strategii reprezint modele generalizate bazate pe conceptul
de populaie. Astfel, spre deosebire de strategiile descrise anterior,
att cei

prini ct i cei descendeni formeaz populaii de


indivizi care concureaz sau nu la constituirea noii generaii. Prin
mrirea att a numrului de prini ct i a numrului de urmai
produi la fiecare generaie, strategiile moderne sunt n progres fa
de modelele iniiale mbinnd avantaje multiple ce ne conduc la
viteze de convergen net superioare.
Diferena conceptual ntre strategiile (

+) i (

, )
const n maniera de constituire a noii generaii: n strategia (

+)
prinii i descendenii intr n competiie pentru supravieuire, n
timp ce strategia (

, ) implic nlocuirea prinilor cu cei mai


92
performani

descendeni din cei produi (


< < 1
). Efectele
folosirii uneia dintre procedurile supravieuire sunt diferite.
19.1.1 Reprezentarea individului
n cazul strategiilor evolutive moderne, fiecare individ al
populaiei este reprezentat printr-un ansamblu de doi vectori:
vectorul soluie i vectorul perturbaiilor. Reprezentarea extins a
unui individ implic o structur format din 3 componente vectoriale:
( ) , , x c
. Vom reveni asupra acestui subiect n paragraful dedicat
mutaiilor corelate.
19.1.2 Recombinarea
Spre deosebire de Algoritmii genetici, operatorul de
recombinare este unul secundar n paradigma strategiilor evolutive,
mutaia fiind operatorul principal. Cu toate acestea, o mare varietate
de proceduri de recombinare sunt aplicate i rolul acestora este
subliniat de cercettori, observndu-se o remarcabil accelerare a
procesului de cutare n cazul utilizrii recombinrii [1.1.1.2].
n general, operatorii de recombinare descrii n capitolul
dedicat Algoritmilor Genetici se aplic i n cazul Strategiilor
evolutive. Diferenele care pot aprea sunt produse de generalizarea
operatorilor pentru a permite implicarea mai multor prini n
transmiterea informaiei ctre descendent. Acest tip de recombinare
este cunoscut sub denumirea de recombinare panmictic. O list a
operatorilor preferai n dezvoltarea Strategiilor evolutive a fost
prezentat n paragraful .
Principiul recombinrii este urmtorul: n prima etap sunt
selectai un numr de np prini; caracteristicile prinilor selectai
sunt ulterior combinate pentru a crea un singur descendent.
Structura individului este alctuit din dou elemente: vectorul
( )
n
x x x ,...,
1
- format din componente reale reprezint o soluie
posibil din spaiului de cutare i vectorul ( )
n
,...,
1
de n
componente reale, reprezentnd vectorul dispersie cu semnificaia
perturbaiilor produse la nivelul fiecrei componente a vectorului x.
93
Datorit acestui aspect, operatorul de recombinare poate aciona n
dou moduri: doar asupra vectorului x sau asupra ambilor vectori din
structura individului. Varianta ultim este cea mai utilizat. Mai mult,
se permite aplicarea procedurilor diferite de recombinare asupra
celor dou componente ale unui individ.
Literatura de specialitatea sugereaz un comportament bun al
strategiilor evolutive care aplic recombinarea discret pentru
vectorii x i recombinarea convex pentru vectorii parametrilor de
control

.
Datorit importanei acordate acestui tip de recombinare,
prezentm algoritmul operatorului de recombinare convex n
varianta generalizat care permite exploatarea trsturilor provenite
din mai mult de 2 prini. Aceast procedur este denumit
recombinare convex global(panmictic) i este descris n
continuare:
Algoritmul Recombinare_Convex_Panmictic
este
Fie ( )
n n
z z d ,..., , ,...,
1 1
descendentul produs
Pentru i de la 1 la n
Selecteaz aleator 2 prini:
( )
1 1
1 1 1
,..., , ,...,
n n
x x c i
( )
2 2
1 1 2
,..., , ,...,
n n
y y c
Genereaz aleator [ ] 1 , 0
i
i [ ] 1 , 0
i

( )
i i i i i
y x z + 1 i
( )
2 1
1
i i i i i
+
SfPentru
SfAlgoritm
Algoritmul descris mai sus este o variant a ncrucirii convexe
panmictice care implic alterarea vectorilor variabilelor obiect i a
vectorilor dispersie

n aceiai manier. Programatorul are


libertatea de a concepe algoritmi de recombinare care implic
tratamentul difereniat al celor dou componente.
19.1.3 Mutaia
94
Operatorul de cutare principal, mutaia, este studiat n dou
variante: mutaia standard i mutaia corelat valabil pentru
reprezentarea extins a indivizilor populaiei.
Mutaia standard este aplicabil n cazul reprezentrii de baz a
indivizilor:
( ) , x c
. Ambele componente vectoriale: vectorul
( )
n
x x x ,...
1
i vectorul dispersie ( )
n
,...,
1
sunt supuse
aciunii acestui operator. n prima etap sunt alterate perturbaiile
( )
n
,...,
1
i ulterior, vectorul poziiilor ( )
n
x x ,...
1
.
Regula mutaiei standard aplicat individului
( ) , x c
,
finalizat cu obinerea mutantului
( ) ' , ' ' x c
este urmtoarea:
{ } n i ,..., 2 , 1
, ( ) ( ) ( ) 1 , 0 1 , 0 exp '
0 i i i
N N +
{ } n i ,..., 2 , 1
, ( ) 1 , 0 ' '
i i i i
N x x +
unde, prin ( ) 1 , 0
i
N s-a notat o realizare a unei variabile
aleatoare de lege normal cu medie 0 i dispersia 1.
Parametrii
0
i

sunt constante de control:


-
0

controleaz n mod global mrimea pasului de mutaie i


cantitatea ( ) 1 , 0
0
N este aceeai pentru toate
componentele vectorului

.
-

controleaz schimbrile individuale i cantitatea
( ) 1 , 0
i
N se calculeaz pentru fiecare component
i
a
vectorului dispersie
n [1.1.1.2] este propus o alt schem de mutaie mutaia
corelat, valabil pentru reprezentarea extins a individului. Ideea
acestei scheme de mutaie este aceea de a adapta paii mutaiei n
scopul creterii probabilitii de a nregistra mutaii de succes.
Fie c un individ n reprezentarea extins:
( ) ( )
k n n
x x x x c ,..., , , ,..., , , ,..., , , ,
2 1 2 1 2 1
,
unde:
( )
2
1

n n
k .
Primele dou componente sunt cele pe care le regsim i n
reprezentarea standard a individului. Cea de-a treia component este
alctuit dintr-un numr de
( ) 2 1 n n
unghiuri de rotaie
i
.
95
Aceste unghiuri de rotaie au rolul de a stabili direcia cutrii n
scopul obinerii unei convergene mai bune.
Mecanismul mutaiilor corelate const n parcurgerea a 3 etape:
1. Modificarea valorilor :
)) 1 , 0 ( ) 1 , 0 ( exp( '
0 i i i
N N + ,
n 2
1
0

,
n 2
1

2. Modificarea unghiurilor de rotaie :
) 1 , 0 ( '
j j j
N +
,
o
5 .
3. Modificarea valorilor vectorului soluie x:
) ' , ' , 0 ( '
i i i
N x x + , unde prin N(0, , ) am notat
realizarea unui vector aleator cu o distribuie normal
n-dimensional, de medie 0, dispersie i unghiuri de
rotaie .
19.1.4 Selecia
Procedura de selecie este una complet determinist. Indiferent
de natura strategiei (

+) sau (

, ), cei mai performani indivizi


din populaia intermediar de urmai (sau urmai i prini) se
transfer necondiionat n noua generaie. Spre deosebire, alte
mecanisme de selecie folosite de Algoritmii genetici permit, cu o
anumit probabilitate, ca indivizi mai slabi s fie selectai pentru a
forma noua populaie. Cu toate c selecia (

+) garanteaz
supravieuirea celor mai performani indivizi i pare a fi mai eficient
dect selecia (

, ), exist situaii n care acest lucru nu mai este


valabil:
1. n cazul optimizrii n mediu dinamic, efectul seleciei (

+)
este de a reine soluia/soluiile curente, fapt pentru care
urmrirea optimului dinamic este ngreunat. Spre deosebire,
selecia (

, ) permite abandonarea soluiilor performante a


populaiei curente, o mai bun explorare a spaiului de cutare i
astfel, convergena nspre optimul nestaionar.
96
2. n cazul optimizrii globale a unei funcii multimodale, strategia (

, ) permite uitarea soluiilor performante corespunztoare


optimelor locale produse n generaia curent, fapt pentru care
stagnarea cutrii ntr-o zon de optim local este puin probabil.
n comparaie, strategia (

+), prin caracterul si elitist, poate


produce efectul nedorit al convergenei premature nspre soluii
optime locale.
19.1.5 Algoritmul strategiilor evolutive (

+) i (

, )
Algoritmul strategiilor evolutive (

+) i (

, ) are o
structur asemntoare algoritmului genetic. Algoritmul standard al
strategiilor evolutive este descris n continuare:
Algoritmul Strategiilor evolutive (

+)/(

,
) este:
Fie
( ) 0 P
- populaia iniial; 0 t ;
Cttimp (NOT condiie de terminare)
Evaluare(
( ) t P
)
( ) t P

=Recombinare (
( ) t P
)
( ) t P '

= Mutaie ( ( ) t P

)
Evaluare( ( ) t P '

)
( ) 1 + t P
=Selecie( ( ) ( ) t P t P '

) sau
Selecie( ( ) t P '

)
t:=t+1
SfCttimp
SfAlgoritm
Sub denumirea de strategii contemporane [1.1.1.2], [1.1.1.2]
se introduc extinderi ale strategiilor evolutive (

, ), (

+)
notate prin (

,k, ,p). Aceast formulare sugereaz dou aspecte


prin care strategiile contemporane de difereniaz de strategiile
multipopulaie discutate:
- durat de via a indivizilor este limitat la un numr de k
iteraii, 1 k .
- n procesul de recombinare se implic un numr de p prini
Strategiile moderne (

, ), (

+) devin cazuri particulare


ale strategiei generale (

,k, ,p). Astfel, pentru k stabilit la


97
valoarea 1, strategia contemporan se transform ntr-o strategie de
tipul (

, ), iar pentru k , recunoatem strategia (

+).
Folosirea unei selecii de tip concurs n locul seleciei (

, )
reprezint de asemenea o particularitate a strategiei generale.
98
CAPITOL IV
20 Programarea Genetic
Pornind de la observaia c probleme aparent diferite,
provenind din domenii ca inteligena artificial, procesarea simbolic
sau maini instruibile, pot fi interpretate prin prisma cerinei de
determinare a programului care le rezolv cu succes, John Koza
[1.1.1.2] dezvolt o paradigma important a Calculului Evolutiv:
Programarea Genetic. n cele din urm, indiferent de tipul problemei
abordate, scopul este acela de a determina un program care, pornind
de la anumite date de intrare s furnizeze soluiile corecte ale
problemei. Prin termenul de program ne putem referi la: plan de
aciune, strategii de control optimal, arbore de decizie, mulime de
reguli de producie, sau general, compunerea unor funcii. Datele de
intrare asupra crora va opera un astfel de program sunt
reprezentate de variabile independente, atribute, valorile returnate
de senzori, etc. , sau generic, prin argumentele funciilor.
O abordare prin care se urmrete obinerea programelor care
rezolv cu succes o clas de probleme devine plauzibil n msura n
care programele pot fi de dimensiuni, forme i complexiti diferite.
De asemenea, aceste programe trebuie s fie capabile s manipuleze
structurile decizionale i repetitive, recursivitatea, calculele cu
variabile de tipuri diferite, apelul subprogramelor i utilizarea
valorilor precalculate. n plus, aciunile efectuate de ctre programe
s fie ierarhizate.
99
Esena Programrii Genetice const n ideea de a evolua
programe i nu soluii posibile (ca n cazul Algoritmilor Genetici).
Aplicnd proceduri inspirate din evoluia natural, scopul unui
algoritm de programare genetic este de a obine cel mai bun
program care rezolv problema dat. Rezolvarea unei proleme
oarecare se poate reformula ca fiind procesul de cutare a celui mai
potrivit program din spaiul programelor posibile, care o rezolv
corect.
21 Descrierea paradigmei GP
Algoritmul programrii genetice are o structur asemntoarea
algoritmilor genetici pe care i-am pomenit ntr-un capitol precedent.
O populaie de indivizi iniial generat aleator va fi ghidat de o
funcie fitness i va evolua prin aplicarea operatori de variaie, astfel
nct, spre finalul evoluiei, populaia va conine o instan a soluiei
dorite sau cel puin o aproximare a acesteia. Diferena major fa
de AG const n evoluia programelor posibile ce pot rezolva
problema i nu a soluiilor posibile ale problemei respective. Aceast
nou perspectiv de abordare a problemelor necesit evidenierea
urmtoarelor elemente definitorii:
- natura indivizilor care evolueaz
- spaiul de cutare
- funcia de evaluare a indivizilor
- operatorii de variaie a structurii indivizilor
- criteriul de terminare a algoritmului GP
- identificarea soluiei finale
- parametrii specifici algoritmului
21.1.1 Natura indivizilor supui evoluiei
Prin individ nelegem n mod curent un element al populaiei
care evolueaz. Dac n cazul AG un individ este reprezentat de o
secven liniar de valori binare sau reale, n cazul PG aceast form
de codificare devine insuficient pentru a surprinde dinamica i
complexitatea unui program. Structurile care evolueaz n contextul
programrii genetice sunt programe structurate ierarhic, ale cror
100
dimensiune, form i complexitate se poate modifica dinamic de-a
lungul procesului evoluiei.
O structur prin care se reprezint un program poate fi o funcie
compus recursiv din mulimea de n funcii date { }
n
f f F ,...,
1
i
mulimea de m simboluri terminale { }
m
t t T ,...,
1
.
Fiecare funcie F f
i
are un numr exact de argumente, i n
funcie de specificul problemei, funciile F f
i
pot fi: operatorii
aritmetici (+ , - , * , / ), operatorii logici (AND, OR, NOT), funcii
standard matematice (sin, cos, exp, ...), operatorul decizional
(IF...THEN...ELSE) sau cel iterativ (DO...UNTIL), etc.
Terminalii T t
i
pot fi variabile, constante valorice sau logice
sau alte entiti atomice precum funciile fr argumente n cazul n
care rezultatul funciei respective nu este evaluabil ci const n
efecte produse n starea sistemului.
Ne punem ntrebarea care ar fi cea mai potrivit manier de
codificare a unui program, respectiv, ce reprezint de fapt, n
paradigma GP, un individ. Rspunsul la aceast ntrebare l
furnizeaz Koza [1.1.1.2] argumentndu-i afirmaiile pe baza unor
avantaje imediate oferite de limbajul LISP
1
.
Programele sunt descrise complet n limbaje de programare
precum: Pascal, C, LISP, etc. Toate aceste limbaje ofer facilitatea de
a manipula compunerea funciilor. Dintre toate limbajele de descriere
a programelor, Koza identific limbajul LISP ca fiind cel mai potrivit
scopului programrii genetice. Justificarea acestei alegeri se bazeaz
pe cteva motive subliniate de autor:
- n limbajul LISP programele i datele au aceiai form, ceea
ce conduce la facilitatea de a modifica un program i de a-l
executa imediat.
- Forma comun de reprezentare a datelor i programelor
LISP este echivalent arborelui de derivare
2
corespunztor
unui program. n faza de compilare a programelor descrise
n orice limbaj de programare, acest arbore de derivare este
generat, ns, cu excepia limbajului LISP, n celelalte
1
LIPS limbaj de programare conceput de John McCarthy n 1958
2
Arbore de derivare arbore de reprezentare a structurilor sintactice n concordan cu
regulile unei gramatici formale.
101
limbaje arborele de derivare nu este accesibil, fapt pentru
care, modificarea sa prin aplicarea operatorilor de variaie
genetici este ngreunat.
- LISP permite manipularea structurilor (programelor) de
dimensiuni variabile, neprecizate n avans.
- LISP faciliteaz manipularea structurilor ierarhice.
Un program LISP este reprezentat de o expresie simbolic (S
expresie) n form polonez prefixat. Spre exemplu: (* 2(+ 1 3) este
evaluat la valoarea 8 i este o expresie obinut prin compunerea a
dou funcii corespunztoare operatorilor aritmetici + i *. Dac
considerm urmtoarea mulime de funcii primitive
{ } NOT OR AND F , ,
i mulimea de terminali { }
2 1
, t t T , simbolurile
terminale pot fi reformulate ca funcii fr argumente.
Mulimea reunit de funcii i terminali este format din
elementele: { }
2 1
, , , , t t NOT OR AND T F C . Orice expresie
simbolic (S expresie) corect format cu elementele mulimii C este
reprezentat grafic printr-un arbore n care nodurile sunt etichetate
cu elementele mulimii C. Rdcina i nodurile interne ale unui astfel
de arbore conin ntotdeauna funcii
F f
i nodurile frunze ale
arborelui conin elemente ale mulimii T. Spre exemplu: expresia
logic ( ) ( ) ( ) ( )
1 0 1 0
t t t t , reformulat ca S expresie devine:
( ) ( ) ( ) ( ) ( )
1 0 1 0
NOTt NOTt t ORt AND AND .
Arborele corespunztor este reprezentat n figura urmtoare:
102
Figura 7 Arborele etichetat corespunztor unei S-expresii
21.1.2 Spaiul de cutare
Se poate observa c arborele din Figura 3 este echivalent
arborelui de derivare pe care compilatorul l genereaz pentru
reprezentarea programelor. Din observaia precedent se poate
deduce c spaiul de cutare este dat de mulimea tuturor S
expresiilor care pot fi formate cu funciile i terminalii precizai prin
mulimile F i T, respectiv, spaiul de cutare este reprezentat de
mulimea arborilor posibili corespunztori expresiilor simbolice.
Aceti arbori au nodurile rdcin i intermediare etichetate cu
funciile disponibile din F i nodurile terminale sunt etichetate cu
terminalii T.
Populaia iniial este generat aleator. Fiecare individ generat
n faza de iniializare reprezint un arbore de tipul menionat
anterior. Pentru a realiza practic acest lucru se urmresc urmtorii
pai:
AND
AND NOT
OR NOT
t0 t1 t0
t1
103
1. Selectarea aleatoare a unei funcii f din F ca rdcin a
arborelui. Nivel:=0.
2. Identificarea numrului de argumente a funciei f , f
na
3. Numrul de argumente va stabili numrul de noduri de
pe nivelul imediat urmtor.
4. Nivel:=Nivel+1.
5. Pentru fiecare nod al nivelului curent
Selecteaz aleator eticheta c a nodului din
mulimea T F C
Dac
F c
atunci
Salt la pasul 2
Altfel
Stop.
21.1.3 Funcia de performan
Evoluia indivizilor populaiei este ghidat de funcia de
performan (fitness). Aceast funcie trebuie s califice fiecare
structur arborescent de tipul descris anterior printr-o valoare
numeric prin care se poate estima performana programului
corespunztor. Valorile de performan stau la baza procesului de
selecie. n majoritatea cazurilor este dificil s furnizm o funcie de
evaluare pentru structurile arborescente prin care se reprezint
programele.
n general, funcia de evaluare se poate defini ca suma
distanelor dintre rezultatul evalurii S-expresiei i rezultatul corect
dorit, pentru toate cazurile posibile. Dac numrul de cazuri este
foarte mare, se va restrnge numrul acestora n vederea calculrii
valorii de performan. Pentru S-expresia descris prin arborele din
Figura 3, numrul de cazuri posibile este de patru, respectiv
combinaiile posibile ale valorilor variabilelor
2 1
, t t . Performana unei
S-expresii logice este dat de numrul de nepotriviri dintre
rezultatele evalurii i rezultatul dorit.
n situaia n care S-expresiile au valori numerice, performana
individului corespunztor este dat de suma diferenelor dintre
104
valorile obinute n urma evalurii expresiei i rezultatul ateptat. n
alte cazuri, rezultatul evalurii unei S-expresii nu este luat n
considerare n vederea calculrii performanei. Acest lucru se
ntrevede cnd calitatea unui program exprimat prin S-expresia
respectiv este legat direct de alte valori produse indirect de
program.
21.1.4 Operatori specifici programrii genetice
Pentru a fi realizabil evoluia unei populaii de indivizi, alturi
de funcia de performan se impune descrierea manierei n care
indivizii se modific. Paragraful curent este dedicat operatorilor
specifici, care au efect similar operatorilor genetici din paradigma
algoritmilor genetici.
Structura specific individului n paradigma programrii
genetice induce necesitatea dezvoltrii unor proceduri noi care
simuleaz procesele naturale de selecie, ncruciare, mutaie.
Operatorii descrii n capitolul dedicat algoritmilor genetici nu sunt
aplicabili n programarea genetic, din cauza diferenelor structurale
majore n ceea ce privete reprezentarea indivizilor supui evoluiei.
Operatorul de selecie - reproducere
Principiul seleciei este modelat prin intermediul operatorului de
reproducere proporional cu performana, operator similar seleciei
proporionale despre care am discutat ntr-un capitol precedent.
Efectul acestuia este de a stimula structurile calificate s se
reproduc i s supravieuiasc. Practic acest lucru este realizat prin
selecia, cu o probabilitate proporional cu performana, a indivizilor
populaiei curente. Astfel, indivizii cu performane ridicate vor avea o
mai mare ans de a se reproduce i supravieui dect cei ale cror
performane sunt inferioare.
Operatorul de recombinare ncruciare
Rolul operatorului de ncruciare este acela de a ncuraja
diversitatea populaiei prin crearea descendenilor care motenesc
trsturi provenite din prini diferii. ncruciarea folosit n
paradigma programrii genetice este un operator binar, respectiv,
105
doi prini selectai vor transmite informaii cel puin unui
descendent. Procedeul const n alegerea unui punct de tietur
pentru fiecare printe, astfel nct segmentele obinute n urma
mpririi celor 2 prini s fie de asemenea S-expresii valide.
Descendentul se va obine prin concatenarea a dou S-expresii
provenite din prini diferii.

AND
NOT AND
OR NOT
t0 t1 t0
t1
OR
OR
t0 t1
NOT
t1
Figura 8 Structurile arborescente naintea ncrucirii: Prile obinute
n urma aplicrii tieturii sunt marcate punctat, respectiv, continuu.
Acestea vor participa obinerea descendenilor din figura urmtoare.
Punctele de tietur sunt sugerate prin segmente ce intersecteaz
muchiile arborilor.
Figurile 8 i 9 prezint maniera de producere a unui
descendent utiliznd o procedur valid de ncruciare. Pentru buna
vizualizare a exemplului prezentat, am optat pentru reprezentarea
arborescent a programelor.

AND
NOT
t1
OR
t0 t1
OR
NOT
t1
AND
OR NOT
t0 t1 t0
Figura 9 Dup ncruciare, cei doi indivizi obinui motenesc din fiecare
printe cte o parte. Aceast manier de ncruciare asigura cerina ca
ambii descendeni s corespund unor S-expresii valide.
106
n funcie de poziia punctului de tietur, se disting
urmtoarele cazuri particulare ale operatorului de ncruciare:
1. punctul de tietur este rdcina arborelui
i. daca punctul de tietur este rdcina n
ambii prini, operatorul se reduce la o form
particular a operatorului de reproducere
ii. dac punctul de tietur este rdcina unui
singur printe dintre cei doi implicai, un
descendent se obine prin nlocuirea unei
pri a printelui secund cu ntreg arborele
corespunztor primului printe, respectiv, al
doilea descendent este format dintr-un
segment al printelui secund.
2. punctul de tietur este un nod terminal:
iii. dac n ambii prini punctele de tietur
indic noduri terminale, descendenii se obin
prin interschimbarea frunzelor terminale
respective ale arborilor prini.
iv. Dac n primul printe se genereaz punct de
tietur corespunztor unui terminal, unui
dintre descendeni va conine arborele
printelui prim cu expandarea nodului
terminal selectat printr-un subarbore al
printelui secund. Al doilea descendent este
format prin suprimarea unui subarbore al
printelui secund i nlocuirea sa cu un
terminalul indicat din printele prim.
Exemplul descris n figurile anterioare prin arbori reprezentai
grafic se poate rescrie prin S-expresiile corespunztoare:
Prinii:
AND (AND (OR(t0 t1) NOT (t0)) NOT (t1))
OR (NOT (t1) OR (t0 t1))
Descendenii:
AND (OR (t0 t1) NOT(t1))
OR (NOT(t1) AND(OR (t0 t1) NOT(t0)))
Operatorul de mutaie
107
Operatorul de mutaie este un operator secundar n
Programarea Genetic. Cu toate acestea, precum n paradigma
Algoritmilor Genetici, mutaia este capabil s dezvolte structuri noi
pe care operatorul de ncruciare nu le poate produce. Avantajul
utilizrii acestui operator este evident: meninerea diversitii
populaiei i obinerea de noi structuri imposibil de generat prin alte
procedee de ncruciare.
Mutaia opereaz asupra unui singur printe selectat n
prealabil, rezultnd un unic descendent S-expresie. Procedeul const
n parcurgerea urmtoarelor etape:
- selectarea aleatoare a unui punct de tietur n S- expresia
LISP: punctul de tietur este un nod terminal sau
intermediar al arborelui de reprezentare
- tergerea subarborelui ce are ca rdcin nodul selectat
- generarea aleatoare a unui subarbore
- inserarea subarborelui generat n punctul de tietur
Parametrul principal de control al procedurii este reprezentat de
adncimea maxim a subarborelui nou prin care se expandeaz
arborele trunchiat n punctul de tietur.
Exemplu:
Fie individul reprezentat n figura 10.a). Considerm ca punct
de trunchiere nodul marcat. Subarborele nou se genereaz de
adncime maxim 3 (Figura 10. b)):
a)
Subarborele de
expandare
b)
AND
NOT AND
OR NOT
t0 t1 t0
t1
OR
t0 t1
108
Figura 10 Arborele de reprezentare a individului printe - a) i
subarborele nou generat - b). Punctul de tietur este marcat nodul
marcat.
n urma aplicrii operatorului de mutaie se poate obine
descendentul reprezentat n Figura 11:
Figura 11 Arborele de reprezentare a individului obinut prin mutaie
Un caz particular al mutaiei descrise mai sus este cel n care
subarborele de expandare este de fapt un terminal solitar, practic un
subarbore de adncime maxim 0.
Operatorul de permutare
Operatorul de permutare este un operator unar i are efect
similar operatorului de inversiune prezentat la capitolul dedicat
Algoritmilor genetici. Aciunea operatorului de permutare standard sa
const n selecia aleatoare a unui noi terminat corespunztor unei
funcii de k argumente, generarea aleatoare unei permutri de k
dintre cele k! permutri posibile i reordonarea argumentelor funciei
selectate conform permutrii generate. Practic, procedeul
reordoneaz argumentele unei funcii din cadrul S-expresiei
considerate. De observat c n cazul unei funcii comutative, efectul
imediat al operatorului este nul. Consecina operaiei descrise se
constat doar n urma unei aplicri ulterioare a altor operatori de
variaie: ncruciare, mutaie.
Operatorul de editare
Rolul operatorului de editare este acela de a modifica i
simplifica S-expresiile coninute n populaia curent. Aplicarea
operatorului nu ine cont de calitatea indivizilor, fiecare dintre noii
AND
NOT
t1
OR
t0 t1
109
indivizi obinui ntr-o etap a evoluiei vor fi supui procedurii de
editare. Corespunztor domeniului problemei, aciunea operatorului
poate consta n:
- nlocuirea subexpresiilor calculabile imediat cu valoare la
care sunt fost evaluate. Funciile ale cror argumente sunt
doar constante atomice, pot fi lesne nlocuite cu valoare
calculat.
- Pentru probleme cu domeniu boolean (1 i 0), expresii de
forma: ( AND X X ), ( OR X X ), (NOT (NOT ( X))), sunt
nlocuite cu X.
- Pentru probleme cu domeniu numeric, nlocuirea cu
constanta 0 a expresiilor de scdere a dou subexpresii
identice, sau, nlocuirea cu 0 a expresiilor de multiplicare cu
0, etc.
Motivul introducerii acestei proceduri este clar: operatorul de
editare simplific S-expresiile, realiznd prin aceasta o gestionare
economic a resurselor calculatorului.
Operatorul de definire a blocurilor constructive
Acest operator este introdus n scopul descoperirii automate a
blocurilor constructive utile i const n aplicarea procedurii de
nlocuire a unui subarbore din individul selectat cu o funcie nou,
definit n acest scop. Funcia creat este o funcie fr parametrii i
corpul acesteia este reprezentat de subarborele nlocuit. Efectul
pozitiv al acestor nlocuiri const n evitarea cazurilor n care blocuri
potenial utile sunt distruse prin aplicarea operatorului de
ncruciare. Subarborii sunt substituii de ctre funcii indivizibile,
fapt pentru care acetia vor fi tratai n continuare ca noduri ale
arborilor de reprezentare a S-expresiilor. Mai mult, blocurile
constructive identificate prin funciile corespunztoare vor avea
ansa de a se propaga n generaiile urmtoare.
21.1.5 Algoritmul programrii genetice
Algoritmul general al programrii genetice este constituit din
urmtorii pai:
110
1. Generarea populaiei iniiale de compuneri aleatoare a
funciilor i terminalilor identificai (generarea aleatoare
a programelor reprezentate prin S-expresii)
2. Cttimp condiia de continuare a algoritmului este valid
a. Execut fiecare program al populaiei pentru
determinarea valorii de performan
b. Creeaz noua generaie prin aplicarea operaiilor
urmtoare:
i. Reproducere
ii. ncruciare
iii. Mutaia
3. Identific soluia final a problemei (cel mai performant
program obinut de-a lungul evoluiei populaiei)
Sunt enumerate n continuare cteva dintre principalele clase
de probleme care cer determinarea soluiei vzut ca program de
rezolvare a unei sarcini. Algoritmul de Programare Genetic se
recomand prin natura sa ca instrument potrivit de rezolvare a
acestor probleme:
- regresie simbolic
- proiectarea reelelor neuronale
- prelucrarea imaginilor
- probleme de planificare
- rezolvarea ecuaiilor
- programarea automat determinarea automat a
programelor care rezolv problem data
- recunoaterea formelor
22 Exemplu de aplicaii PG: Regresia simbolic.
Problema 11-multiplexorului boolean
Una dintre aplicaiile cunoscute ale Programrii genetice const
n rezolvarea problemelor de regresie simbolic. Regresia simbolic
se definete sumar ca fiind procesul prin care se determin o ecuaie
pornind de la un numr dat de puncte. Astfel, cunoscnd perechi de
valori obinute prin msurarea a dou mrimi se caut o expresie
care descrie relaia dintre cele dou mrimi considerate. Procedeul
111
regresiei simbolice const n construirea expresiei dorite pornind de
la elementele atomice: operatori, constante, variabile. Arborele
asociat expresiei are ca noduri terminale operanzii, iar nodurile
intermediare sunt operatorii. Reprezentarea expresiei dorite prin
arbori induce posibilitatea folosirii Programrii genetice n scopul
obinerii soluiei dorite.
n scop didactic vom prezenta problema 11-multiplexorului
(descris n amnunt n Koza [1.1.1.2]), care de altfel se ncadreaz
clasei problemelor de regresie simbolic boolean. Problema
multiplexorului boolean este un caz special de regresie simbolic n
care variabilele dependente sau independente au valori Booleene iar
funciile ce se compun sunt de asemenea funcii booleene.
Sarcina unui multiplexor boolean pe 11 bii este de a decoda
adrese binare pe 3 bii (a
0
, a
1
, a
2
) i de a returna valoarea regitrilor
corespunztori (d
0
, d
1
, d
2
, d
3
, d
4
, d
5
, d
6
, d
7
). Practic, multiplexorul
boolean este o funcie cu 11 argumente dintre care primele 3
determin adresa i urmtoarele 8 reprezint rspunsul cutat.
Figura urmtoare descrie un astfel de multiplexor, avnd intrarea 1
1 0 0 ... 0 i ieirea corespunztoare: 1 .
Figura 12 Multiplexorul boolean cu 11 intrri
n general, pentru o funcie multiplexor boolean cu N
argumente, intrrile sunt reprezentate de k bii de adres: a
i
,
i=1,2,...k, i 2
k
bii de date: d
j
, j=1,2,... 2
k
, unde 2
k
=N-k. n cazul
particular al multiplexorului descris n figura alturat, adresele sunt
a
0
1
a
1
1
a
2
0
d
0
0
d
7
0
Output 1
112
reprezentate pe 3 bii, datele pe 2
3
bii, respectiv intrarea este
reprezentat de o secven:
(a
0
, a
1
, a
2
d
0
, d
1
, d
2
, d
3
, d
4
, d
5
, d
6
, d
7
).
Pentru aplicarea algoritmului Programrii Genetice n
soluionarea problemei 11- multiplexorului este necesar
parcurgerea urmtoarelor etape:
1. determinarea mulimii de terminali
2. determinarea mulimii de funcii primitive
3. stabilirea funciei de evaluare - fitness
4. stabilirea parametrilor de control
5. stabilirea condiiei de terminare a execuiei
algoritmului de PG.
1. Mulimea de terminali
Mulimea de simboluri terminale care stau la baza alctuirii
programelor, respectiv S-expresiilor, se deduce uor din specificaiile
problemei. Dat fiind faptul c argumentele funciei multiplexor sunt
n numr de 11, bii de adrese i date, mulimea de terminale T este
format din:
{ }
7 1 0 2 1 0
,..., , , , , d d d a a a T .
Valorile terminalilor sunt valorile binare 0 sau 1.
2. Mulimea de funcii
Mulimea de funcii care stau la baza compunerii programelor
(S-expresiilor) ce rezolv problema considerat este dat de:
{ } IF NOT OR AND F , , ,
Fiecare dintre cele 4 primitive coninute de mulimea F are un
numr de argumente de intrare: 2,2,1, respectiv, 3 argumente.
Mulimea F este suficient pentru a se putea compune orice expresie
boolean.
Odat ce mulimile T i F au fost stabilite, se poate deduce
dimensiunea spaiului de cutare. Spaiul de cutare este constituit
din mulimea tuturor expresiilor LISP care se pot compune recursiv
pe baza primitivelor coninute de F, avnd ca i argumente terminalii
113
din T. Practic, numrul combinaiilor de N argumente este de 2
N
,
astfel nct, dimensiunea spaiului de cutare rezult ca fiind
N
2
2
.
3. Funcia fitness
O etap important a dezvoltrii tehnicii PG este stabilirea
funciei de evaluare a calitii programelor reprezentate de S-
expresii. De regul, calitatea unor astfel de programe rezult n urma
unor examinri repetate ale ieirilor pentru un numr de cazuri de
test. Aceast mulime a cazurilor de test trebuie s fie
reprezentativ, fapt pentru care, n problema analizat, Koza
[1.1.1.2] prefer utilizarea tuturor celor 2048 (2
11
) de combinaii
posibile ale argumentelor ca i cazuri de test n vederea evalurii
fitness-ului. Desigur, nu este exclus limitarea acestor cazuri la un
eantion mai mic.
Pentru stabilirea funciei de performan (fitness), se consider
fitness-ul nerafinat, definit ca numrul de cazuri de test n care
valoarea boolean returnat de S-expresia evaluat pentru un numr
dat de combinaii de argumente, este corect. Dat fiind faptul c
numrul maxim de cazuri de test este de 2048, valoarea fitness-ului
nerafinat variaz ntre limitele [0,2048]. Valoare maxim 2048 a
fitness-ului nerafinat se traduce printr-o corectitudine absolut a S-
expresiei evaluate.
Fitness-ul standardizat se construiete pe baza fitness-ului
nerafinat, n ideea c valorile mici ale fitness-ului corespund
performanelor mari ale indivizilor, i reciproc, valori mari denot
indivizi de calitate slab. Stabilirea fitness-ului standardizat se poate
face printr-o scalare liniar: din valoarea maxim a fitness-ului
nerafinat (ex. 2048) se va scdea valoarea fitness-ului nerafinat
calculat pentru individul considerat. De asemenea, o variant
plauzibil pentru stabilirea fitness-ului ar fi s se calculeze suma
distanelor Hamming (nepotrivirile) dintre valorile obinute la
evaluarea S-expresiei i cele corecte dorite.
4. Parametrii de control
Parametrii majori de control constau n dimensiunea populaiei
i numrul de generaii produse. Valorile acestor parametrii se
114
stabilesc de utilizator, n funcie i de dimensiunea spaiului de
cutare. Spre exemplu, n cazul problemei multiplexorului boolean
(vezi spre exemplu [1.1.1.2]) este recomandat utilizarea unei
populaii de dimensiune considerabil: 4000 i a unui numr maxim
de generaii produse: 50.
Un aspect important este dat de procentul indivizilor care vor fi
supui operatorului de ncruciare, respectiv operatorului de
reproducere proporional cu performana. n [1.1.1.2] este sugerat
raportul de 90-10 a procentelor indivizilor ce vor fi supui operatorilor
implicai: ncruciare i reproducere.
5. Condiia de terminare a execuiei
Pentru c valoarea de 2048 a fitness-ului nerafinat ne indic
corectitudinea absolut a unui individ, o posibil condiie de
terminare a execuiei algoritmului este dat de obinerea valorii 0
pentru fitness-ul standardizat prin scalare liniar (vedei paragraful 3
din capitolul curent). De asemenea, situaia tipic de atingere a
numrului prestabilit de generaii produse este o variant de validare
a condiiei de terminare a execuiei.
115
CAPITOL V
23 Programarea Evolutiv
Programarea evolutiv (evolutionary programming) conceput
iniial de Fogel [1.1.1.2], ncorporeaz tehnici prin care se genereaz
automat comportamentul inteligent al unui sistem descris printr-un
automat finit. Comportamentul inteligent al sistemului este
interpretat prin prisma capacitii acestuia de a se adapta la mediu
informaional, respectiv prin capacitatea automatului de a prezice
corect simbolul urmtor, cunoscndu-se succesiunea de simboluri de
intrare. Se disting dou direcii n dezvoltarea acestei paradigme:
1. Programarea evolutiv tradiional aplicat ndeosebi n
machine learning (nvarea automat), exploateaz
structuri modelate prin automate finite deterministe;
2. Programarea evolutiv contemporan aplicat n
rezolvarea problemelor de optimizare numeric,
exploateaz structuri asemntoare indivizilor unei
populaii din paradigma strategiilor evolutive.
Paradigma programrii evolutive este din cteva puncte de
vedere asemntoare Algoritmilor Genetici i Strategiilor Evolutive:
- utilizarea unei populaii supuse evoluiei;
- exploatarea operatorilor specifici: selecie, mutaie;
- evaluarea elementelor populaiei printr-o funcie de
performan;
- supravieuirea celor mai performani indivizi ai populaiei.
116
n contrast cu celelalte dou paradigme amintite, Programarea
evolutiv se distinge prin faptul c permite o codificare a elementelor
populaiei mult mai flexibil. Astfel, dac algoritmii genetici folosesc
vectori de valori binare sau reale prin care se reprezint o posibil
soluie a problemei, Programarea Evolutiv permite o codificare mult
mai natural, evolund structuri dependente de specificul problemei
de rezolvat.
Exist multe similitudini ntre Strategiile evolutive moderne i
Programarea evolutiv contemporan incluznd maniera de
reprezentare a elementelor populaiei i accentuarea importanei
operatorului de mutaie. Diferenele majore constau n:
1. Programarea evolutiv nu folosete aproape deloc
operatorul de recombinare, n schimb strategiile evolutive
moderne fac uz de acest operator.
2. Spre deosebire de strategiile evolutive (

+), i (

, ),
programarea evolutiv utilizeaz acelai numr de prini
i descendeni:

=.
3. Funcia fitness F este obinut din funcia obiectiv prin
scalare acesteia i eventual perturbarea aleatoare pentru a
se obine valori pozitive:
( ) ( ) ( ) v c F G c F +
*
,
unde: v- reprezint un vector prin care se realizeaz
perturbarea i G reprezint funcia de scalare.
4. Mecanismul seleciei reduce mulimea de 2

prini i
descendeni la un numr de

indivizi utiliznd o form de


selecie prin concurs generalizat.
5. n Programarea evolutiv contemporan, mutaia unui
individ c presupune adugarea unui vector ale crui
componente sunt variabile aleatoare cu repartizare
normal, avnd media 0 i deviaia standard
i
calculat
ca rdcina ptrat a unei transformri liniare a valorii
fitness-ului:
z x x
i i i
+
( )
i i i
x F + ,
117
unde
i
i
i
sunt parametri specifici componentelor i z
variabil aleatoare de lege normal cu media 0 i
deviaia standard 1.
6. n varianta autoadaptiv, meta-Programarea evolutiv,
dificultatea alegerii eficiente a parametrilor
i
i
i
este
depit. Astfel, mutaia unui individ implic alterarea
deviaiei standard prin formula:
z
i i i
+
2 2
,
unde

reprezint un parametru de control.


24 Descrierea tehnicii originale
ntr-un articol din 1966, Fogel, Owens i Walsh [1.1.1.2] propun
o nou metod evolutiv pe care o denumesc Programare Evolutiv.
n forma original, abordarea presupune reprezentarea indivizilor
prin automate finite, evaluarea acestora pe baza unei funcii care
msoar rata de succes n prezicerea secvenelor de simboluri,
exploatarea operatorului de mutaie i utilizarea unei selecii
deterministe de tipul (

). Ideea principal a acestei abordri


este de a exploata mai degrab legtura comportamental dect
legtura genetic structural dintre prini i descendeni.
24.1.1 Automate finite maina Turing
Populaia asupra creia sunt aplicate principiile evoluiei este
constituit de elemente modelate prin automate finite. Pentru a
nelege mecanismul programrii evolutive vom oferi definiia
automatului finit determinist i modalitile de reprezentare ale
acestuia.
Definiie: Prin automat finit determinist nelegem ansamblul:
{ } F s Q AF , , , ,
0
, unde:
- Q este mulimea finit a strilor
- este mulimea finit a simbolurilor de intrare
-
Q Q :
este funcia de tranziie
-
Q s
0
reprezint starea iniial
118
- F este mulimea finit a strilor finale
Reprezentarea automatelor finite se realizeaz n dou moduri:
printr-o tabel de tranziie sau printr-un graf orientat ale crui noduri
sunt strile automatului i arcele reprezint tranziiile, fiind sunt
etichetate cu simbolurile de intrare, respective de ieire
corespunztoare.
Maina Turing, al crui inventator a fost Alan Turing (1912-
1954) este un model teoretic extrem de simplu, similar unui automat
finit, prin care se urmrete codificarea algoritmilor, respectiv
simularea logicii unui calculator.
Conceptual, o main Turing const din urmtoarele elemente:
1. O band de memorie infinit, mprit n celule adiacente.
Fiecare celul poate conine un simbol dintr-un alfabet finit
sau simbolul vid dac nu este ocupat.
2. Un cap de scriere-citire a simbolurilor pe sau de pe band,
care se poate deplasa la stnga sau la dreapta
3. O mulime finit de stri de control.
4. O mulime finit de simboluri de scriere-citire care se
depun sau se scot de pe banda de memorie.
5. O tabel de aciuni (funcia de tranziie a automatului) care
spune mainii ce simbol s scrie, cum s deplaseze capul
de scriere-citire (la stnga sau la dreapta) i care va fi noua
stare a mainii, tiindu-se simbolul citit de pe band i
starea curent.
6. Condiia de oprire a mainii este dat de situaia n care n
tabela de aciuni nu exist intrare pentru combinaia
curent de simbol citit i stare a sistemului.
Algoritmul Programrii evolutive vizeaz o subcategorie de
maini Turing echivalente automatelor finite deterministe, n care
capul de citire-scriere este restricionat doar la deplasarea spre
dreapta pe banda de memorie.
Dinamica unei maini Turing se poate rezuma astfel: maina
Turing transform o secven de simboluri de intrare ntr-o secven
de simboluri de ieire. Simbolurile de ieire reprezint predicia
119
mainii asupra urmtoarei stri n care se va situa maina.
Comportamentul inteligent se traduce astfel prin abilitatea
dispozitivului de a realiza predicii bune asupra mediului reprezentat
prin secvena simbolurilor de intrare. Calitatea unei predicii poate fi
evaluat prin compararea simbolului de ieire cu urmtorul simbol de
intrare. Cu ct distana dintre cele dou simboluri este mai mare, cu
att eroarea previziunii este mai mare.
24.1.2 Reprezentarea indivizilor populaiei
Paradigma programrii evolutive original folosete o populaie
de >1 prini. Fiecare printe este un automat finit (main
Turing). Reprezentarea automatului finit este posibil prin diagrama
de tranziie, respectiv printr-o structur de date specific grafurilor.
24.1.3 Evaluarea indivizilor
Performana unui automat finit se calculeaz prin simularea
funcionrii acestuia pentru o mulime de test, msurnd raportul
dintre numrul de simulri ncheiate cu succes i numrul total de
simulri. Un element al populaiei (automat finit) este cu att mai
bun cu ct rata de succes calculat este mai mare.
Mulimea de test este finit i alegerea ei este de obicei
problematic dat fiind faptul c n foarte puine situaii se vor putea
testa toate variantele posibile.
24.1.4 Operatorii specifici
Autorii paradigmei descrise n acest capitol noteaz faptul c
aplicarea unui operator de recombinare asupra structurilor de
reprezentare a automatelor finite nu prezint un interes. Aplicarea
unui operator de variaie asupra unei diagrame de tranziie trebuie
s produc de asemenea o diagram de tranziie. Din aceste
considerente, unicul operator prin care se realizeaz perturbarea
elementelor populaiei este cel al mutaiei.
Mutaia aplicat asupra reprezentrii unui automat finit se va
putea realiza n urmtoarele situaii:
- prin schimbarea strii iniiale
120
- prin tergerea sau adugarea unei stri
- schimbarea simbolului de ieire
- modificarea tranziiei unei stri
Corespunztor variantelor posibile de alterare a unui element
se pot descrie proceduri specifice de mutaie. Pentru fiecare individ
supus operatorului de mutaie se va stabili n mod aleator care dintre
procedurile amintite se aplic. De menionat faptul c efectul
mutaiei este dependent de varianta aleas. Astfel, adugarea sau
tergerea unei stri va produce un descendent mult diferit structural
de printele su n comparaie cu alterarea structurii prin schimbarea
unui simbolul de ieire.
24.1.5 Algoritmul programrii evolutive pentru automate
finite
Structura general a algoritmului de Programare evolutiv
pentru automate finite este descris n continuare:
1. Genereaz aleator populaia iniial de

indivizi:
( ) { }

c c c t P ,..., ,
2 1

, 0 : t , unde fiecare individ


i
c codific
un automat finit (main Turing finit). Mulimea de instruire,
constituit din lista simbolurilor de intrare observate
(verificate) este iniial vid.
2. Mulimea simbolurilor de intrare observate pn la acest
moment sunt prezentate mainilor Turing.
3. Evalueaz performanele fiecrui individ (main Turing) al
populaiei utiliznd o funcie de ctig prin care se calculeaz
calitatea prediciilor efectuate de maina corespunztoare n
raport cu mulimea simbolurilor de intrare.
4. Aplic operatorul specific de mutaie asupra fiecrui printe
din generaia curent, obinnd

descendeni.
5. Calculeaz performanele descendenilor obinui la pasul 3 n
aceiai manier n care au fost evaluai prinii.
6. Fiecare element c al mulimii reunite de 2

prini i
descendeni este etichetat printr-o valoare natural r
reprezentnd numrul de indivizi ai mulimii respective care
sunt mai puin performani dect c. Primii

indivizi n
121
ordinea descresctoare a valorilor rangurilor r sunt copiai n
noua generaie
( ) 1 + t P
7. Cea mai bun main din generaia curent este folosit
pentru a face predicia noilor simboluri de intrare. Simbolul
asupra cruia s-a fcut predicia corect este pus n lista
simbolurilor de intrare observate.
8. Dac condiia de terminare este ndeplinit atunci
STOP
Altfel
1 : + t t
Salt la pasul 2.
25 Programarea evolutiv contemporan
optimizarea numeric
Cu toate c ideea Programrii Evolutive este original i paleta
aplicaiilor este una bogat, pentru o bun bucat de timp, aceast
direcie de cercetare a fost puin exploatat. Renaterea programrii
evolutive are loc prin studii dedicate extinderii conceptelor sale n
optimizarea numeric. Specificul problemelor de optimizare numeric
induc schimbri majore n privina manierei de reprezentare a
elementelor populaiei.
Programarea evolutiv modern impune ca un individ s nu mai
fie reprezentat printr-o structur adecvat reprezentrii automatelor
finite ci printr-o structur similar reprezentrii specifice Strategiilor
evolutive. Dezvoltarea celor dou paradigme foarte asemntoare
este un caz surprinztor n care dou comuniti de cercettori, n
mod independent, ajung la rezultate i modele similare.
Prezentm n continuare modulele principale ale meta-
programrii evolutive, denumire sub care se regsesc tehnici
dedicate optimizrii, ce ncorporeaz mecanisme de autoadaptare a
parametrilor de control.
25.1.1 Reprezentarea indivizilor populaiei
Considerm o problem de maximizare fr restricii formulat
astfel:
122
( )

'

n
R x
x f m a x
n dezvoltarea unui algoritm evolutiv care rezolv problema
dat se impune alegerea manierei de reprezentare a elementelor
populaiei. n cazul meta-programrii evolutive, un individ al
populaiei este codificat prin secvena:
( )
2
, x c , unde
n
R x
,
n
R
2

.
Vectorul ( )
n
x x x ,...,
1
este format din componente reale i
reprezint o soluie posibil a spaiului de cutare.
Vectorul ( )
2 2
1
2
,...,
n
de n componente reale reprezint
vectorul dispersie i are semnificaia perturbaiilor produse la nivelul
fiecrei componente a vectorului x.
25.1.2 Evaluarea indivizilor populaiei
Evaluarea indivizilor populaiei se face prin funcia fitness.
Aceasta este obinut din funcia obiectiv F, prin scalare acesteia i
eventual perturbarea aleatoare pentru a se obine valori pozitive:
( ) ( ) ( ) v c F G c F +
*
,
unde: v- reprezint un vector prin care se realizeaz perturbarea i G
reprezint funcia de scalare.
25.1.3 Operatori specifici
Operatorii implicai n algoritmul meta-programrii evolutive
sunt cel de selecie i mutaia. Selecia presupune ca fiecare element
c al mulimii reunite de 2

prini i descendeni s fie etichetat


printr-o valoare natural r reprezentnd numrul de indivizi ai
mulimii respective care sunt mai puin performani dect c. Ulterior,
cei mai puternici

indivizi (primii

indivizi din mulimea ordonat


descresctor dup rangul r) supravieuiesc i constituie noua
generaie.
123
Pstrnd notaiile specifice strategiilor evolutive moderne,
selecia descris n acest paragraf poate fi descris prescurtat ca
selecie de tipul (

) i este o form determinist a seleciei.


Fie

un parametru suplimentar al procedurii de mutaie i


- o notaie pentru
2

. Operatorul de mutaie n varianta meta-


programrii evolutive presupune alterarea structurii
( ) , x c
i
producerea individului
( ) ' , ' ' x c
, astfel:
z x x
i i i
+ '
z
i i i
+ ' .
Aa cum deja am remarcat, algoritmul programrii evolutive nu
face uz de procedura de recombinare. n schimb, strategiile evolutive
moderne implic exploatarea acestui operator. Diferen major a
celor dou paradigme s-ar putea justifica pe baza interpretrii din
perspective diferite a modelului biologic care st la baza dezvoltrii
acestora. n programarea evolutiv o soluie este o codificare a unei
specii i nu a unui individ, precum n strategiile evolutive. Astfel, o
recombinare a indivizilor de specii diferite ar fi departe de modelul
biologic utilizat.
25.1.4 Algoritmul meta-Programrii Evolutive
Algoritmul de meta-Programare Evolutiv este schiat mai jos:
1. Genereaz aleator populaia iniial de

indivizi:
( ) { }

c c c t P ,..., ,
2 1

, 0 : t , unde fiecare individ


i
c
este
reprezentat de structura ( )
i i
i
x c , , ( )
i
n
i i
x x x ,...,
1
,
( )
i
n
i i
,...,
1
. Vectorul
i
x
de n componente codific o
posibil soluie i vectorul
i

codific parametrii adaptrii.


2. Evalueaz performanele fiecrui individ al populaiei curente
pe baza funciei fitness stabilit.
3. Pentru fiecare printe din generaia curent:
( ) t P c
,
( ) , x c
determin descendentul
( ) ' , ' ' x c
astfel:
z x x
i i i
+ ' ,
124
z
i i i
+ '
pentru
{ } n i ,..., 2 , 1
unde

este parametru suplimentar al procedurii de mutaie


i - notaie pentru
2

4. Calculeaz performanele descendenilor obinui la pasul 3.


5. Fiecare element c al mulimii reunite de 2

prini i
descendeni este etichetat printr-o valoare natural r
reprezentnd numrul de indivizi ai mulimii respective care
sunt mai puin performani dect c. Primii

indivizi n
ordinea descresctoare a valorilor rangurilor r sunt copiai n
noua generaie
( ) 1 + t P
6. Dac condiia de terminare este ndeplinit atunci
STOP
Altfel
1 : + t t
Salt la pasul 3
Domeniul de aplicabilitate al tehnicilor de programare evolutiv
este larg. Practic, orice problem rezolvabil prin algoritmi genetici
sau strategii evolutive poate fi abordat printr-un algoritm de
programare evolutiv. Optimizarea numeric, probleme de
planificare i control, probleme de transport, proiectarea reelelor
neuronale sunt doar cteva dintre problemele generale de interes n
care modelele programrii evolutive au fost implementate cu succes.
125
CAPITOL VI
26 Paradigma Swarm Intelligence
Swarm Intelligence SI (inteligena roiurilor) reprezint una
dintre cele mai noi i prolifice paradigme naturale n Inteligena
Artificial. ncadrat n domeniul Calculului Natural, disciplina SI
cuprinde algoritmi i metode de rezolvare a problemelor reale,
inspirate de comportamentul colectiv al sistemelor descentralizate,
cu organizare proprie. Principalele surse de inspiraie a modelului SI
sunt: coloniile de furnici, bancurile de peti, roiurile de insecte,
stolurile de psri, etc. Sistemele naturale menionate prezint
trsturi interesante: indivizii acestor colectiviti, n absena unui
control supervizat, interacioneaz pe baza unor reguli relativ simple,
rezultnd un comportament inteligent al grupului.
Structural, un sistem SI este format dintr-o populaie de indivizi
relativ omogeni. Dinamica unui astfel de sistem este dobndit prin
interaciuni cu mediul nconjurtor i interaciuni locale ntre
elementele populaiei.
Caracteristicile comportamentale ale acestor sisteme SI sunt
urmtoarele:
- n absena unui control extern sau a unor mecanisme
interne supervizoare, fiecare individ acioneaz independent
de aciunea comun a celorlali, ns, n ansamblu, populaia
acioneaz n mod coordonat, rezultnd un comportament
inteligent
126
- interaciunea dintre indivizi se bazeaz pe reguli
comportamentale simple; fiecare individ reacioneaz n
concordan cu maniera de percepie a vecintii sale
- populaia, dei necontrolat ca ansamblu, pe baza
interaciunilor locale ale elementelor sale formeaz un grup
organizat.
Dintre sistemele naturale cu comportament inteligent care
funcioneaz dup principiile mai sus enunate se evideniaz:
coloniile de furnici i stolurile de psri. Corespunztor celor dou
modele oferite de natur, s-au dezvoltat, n mod independent, dou
clase de metode specifice cu aplicabilitate n rezolvarea problemelor
de optimizare: tehnicile Ant Colony Optimization (ACO) i tehnicile
Particle Swarm Optimization (PSO).
27 Tehnica Ant Colony Optimization
Ant Colony Optimization, prescurtat ACO, este o direcie relativ
nou a Calculului Natural, avnd ca i punct de pornire modelul
biologic al coloniilor de furnici. Metaeuristica propus de M. Dorigo
[1.1.1.2] reprezint o alternativ viabil n abordarea problemelor
grele de optimizare combinatorial. De altfel, una dintre cele mai
populare demonstraii a robusteii i eficienei tehnicii ACO o
constituie aplicarea acesteia n rezolvarea problemei comis-
voiajorului.
n ciuda datrii recente a acestei paradigme n Calculul Natural,
un numr mare de algoritmi inspirai de comportamentul coloniilor
de furnici au fost identificai n literatura de specialitate. Acest volum
impresionant de lucrri demonstreaz o real popularitate a tehnicii
ACO. Depind graniele teoretice, tehnicile ACO au fost aplicate cu
succes ntr-o mare varietate de probleme considerate dificile:
optimizare combinatorial, rutarea reelelor de telecomunicaii,
probleme de planificare a activitilor, ordonare secvenial, etc.
27.1.1 Modelul natural
Modelul biologic ce st la baza dezvoltrii tehnicii ACO este
reprezentat de o populaie de insecte (furnici) care, datorit
127
colaborrii prin interaciuni locale a indivizilor si, este capabil s
realizeze diverse sarcini dificile. Comportamentul colectiv al
populaiei de insecte este unul complex, cu toate c, n parte, fiecare
individ (insect) realizeaz sarcini simple.
Unul dintre cele mai interesante aspecte al comportamentului
coloniilor de furnici este cel al gsirii celui mai scurt drum ntre
muuroi i sursa de hran. Aceste furnici sunt totodat capabile s se
adapteze la schimbrile de mediu, precum apariia unui obstacol i
modificarea drumului cunoscut ntre muuroi i o sursa de hran.
Interesant este faptul c acest comportament inteligent al coloniei nu
este susinut de simul vizual al furnicilor. Biologii, prin studierea
aspectelor comportamentale i structurale a coloniilor de furnici, au
artat faptul c fiecare furnic este aproape oarb, iar sarcinile
efectuate de aceasta nu pot fi justificate pe baza dovezilor vizuale.
Interaciunea furnicilor cu mediul i adaptarea acestora la
schimbrile survenite este datorat altor mecanisme specifice.
Furnicile comunic prin intermediul mirosului. Astfel, n timpul
deplasrii furnicilor ntre muuroi i sursa de hran, fiecare furnic va
emite o substan chimic denumit feromon. Alegerea drumului pe
care se va deplasa este fcut n mod aleator dac furnica nu
detecteaz urme de feromoni. n cazul prezenei acestei substane
chimice, furnica va alege cu o mai mare probabilitate drumul marcat
de feromoni. Mai mult, n cazul existenei mai multor ci marcate de
feromoni, furnicile prefer acele drumuri care sunt cel mai bine
marcate. Cu ct cantitatea de substan chimic depus este mai
mare, cu att probabilitatea alegerii drumului respectiv este mai
mare. Feromonii depui de furnici au capacitatea de a se evapora n
timp ceea ce permite ca o direcie nefolosit s nu mai fie luat n
considerare.
Observaiile biologilor au avut un real impact asupra dezvoltrii
tehnicii ACO. Modelul comportamental i maniera de comunicare a
furnicilor n gsirea drumului optim ntre hran i muuroi sunt
descrise mai jos:
1. Se consider scenariul prezentat n Figura 13. Drumul dintre
cele dou puncte de interes (muuroiul i sursa de hran) nu
128
este obturat de niciun obstacol. n aceast situaie furnicile
urmeaz n mod firesc calea direct ntre cele dou locaii.

MUUROI HRAN
Figura 13 Drumul furnicilor de la muuroi la hran n absena unui
obstacol
2. Apariia unui obstacol pe drumul de acces al furnicilor ntre
cele dou locaii este descris n Figura 14. Furnicile situate
naintea obstacolului nu mai au posibilitatea s urmreasc
calea marcat de feromoni, fapt pentru care trebuie s ia o
decizie legat de direcia n care se vor deplasa: stnga sau
dreapta.
n mod aleator aproximativ jumtate dintre furnici vor alege s
ocoleasc obstacolul prin dreapta, iar jumtate vor alege s
ocoleasc obstacolul prin stnga. O situaie similar se
ntlnete i de cealalt parte a obstacolului.


MUUROI HRAN
O
B
S
T
A
C
O
L

Drumul A
Drumul B
Figura 14 Apariia obstacolului n drumul furnicilor produce o mprire
probabilistic a grupului n cele dou variante ocolitoare: stnga i
dreapta.
3. Cele dou drumuri existente dup apariia obstacolului difer
prin lungimea lor. n figura anterioar se poate observa c
drumul A este mult mai scurt dect drumul B. Furnicile care au
129
ales calea mai scurt de ocolire a obstacolului vor reconstitui
mai rapid calea de feromoni ntrerupt de obstacol dect
furnicile care au ales calea mai lung. Astfel, pe drumul A se
va depune o cantitate mai mare de feromoni n unitatea de
timp dect pe drumul B. Acest fapt va determina ca un numr
mai mare de furnici s aleag calea respectiv, ceea ce va
conduce ulterior la creterea cantitii de feromoni depus.
Datorit acestui proces toate furnicile vor alege calea mai
scurt foarte repede (figura 11).

MUUROI HRAN
O
B
S
T
A
C
O
L

Drumul A
Drumul B
Figura 15 Configuraia final a coloniei de furnici n drumul cel mai
scurt ntre cele dou obiective. Populaia s-a adaptat rapid la
schimbarea survenit n mediu.
Procesul de gsire a celui mai scurt drum ntre dou obiective
este cauzat n principal de urmtorii factori:
- furnicile sunt atrase de drumul marcat cu cea mai mare
cantitate de feromoni
- persistena feromonilor face ca un drum mai scurt s fie
ntotdeauna puternic marcat de feromoni
- datorit procesului de evaporare a feromonilor, n timp, un
drum mai lung va fi uitat de ctre furnici
Modelului biologic al coloniilor de furnici i corespunde modelul
artificial conceput de cercettori din domeniul Calculului Natural. n
modelul artificial, furnicile sunt denumite furnici artificiale sau ageni,
iar comunicarea acestora se realizeaz prin aa-numiii feromoni
artificiali. Tehnicile inspirate de comportamentul biologic descris n
acest paragraf se preteaz cel mai bine n aplicaii de optimizare.
Precum modelul natural realizeaz un proces de optimizare gsirea
130
drumului optim, i tehnicile inspirate din acesta sunt dezvoltate n
ideea aplicabilitii lor n probleme de optimizare combinatorial.
Ideea principal a tehnicii ACO este cea a cutrii paralele
realizat de ctre o populaie de ageni care colaboreaz, bazndu-
se pe datele problemei i pe o memorie dinamic ce reine informaii
utile din rezultatele obinute anterior. Folosirea informaiilor despre
calitatea rezultatelor obinute n prealabil este caracteristica major
a algoritmilor ACO.
27.1.2 Tehnica ACO
Denumirea de tehnic ACO definete cadrul general al
algoritmilor inspirai de paradigma biologic a coloniilor de furnici. n
acest cadru se vor regsi o varietate de algoritmi ACO aplicai n
probleme diverse de optimizare. Primul algoritm ACO, sub denumirea
Ant System, propus n [1.1.1.2], a fost aplicat pentru rezolvarea
problemei comis-voiajorului (TSP - Travelling Salesman Problem).
Contrar dificultii algoritmului Ant System de a depi performanele
algoritmilor tradiionali de rezolvare a problemei considerate,
principiile enunate au stat la baza dezvoltrii i rafinrii ulterioare a
algoritmilor ACO.
n paragraful curent vom furniza structura general a unui
algoritm ACO, punnd n eviden aspectele pe care programatorul
va trebui s le urmreasc n dezvoltarea i implementarea unui
algoritm de acest gen pe o problem concret.
Definirea problemei
Se consider urmtoare problema de optimizare descris prin
ansamblul:
( ) , , f S
,
unde:
S- reprezint mulimea soluiilor posibile
f - este funcia obiectiv care ataeaz fiecrei soluii un cost:
( ) s f
, S s .

- este mulimea restriciilor problemei


Se cere determinarea acelei soluii
S s
*
, care verific
restriciile problemei i are costul minim.
131
Din perspectiva algoritmilor ACO, abordarea problemei descrise
mai sus implic o reformulare i identificarea urmtoarelor elemente:
a. O mulime finit de componente
{ }
n
c c c C ,..., ,
2 1

.
b. Strile problemei sunt definite prin secvene de
elemente ale mulimii C:
( )
ik i i i
c c c c x ,..., , ,
3 2 1
, unde C c c c c
ik i i i
,..., , ,
3 2 1
c. Cunoscnd mulimea tuturor secvenelor de
componente peste mulimea C:
( ) { } C c c c c c c c c x x X
ik i i i ik i i i
,..., , , , ,..., , , |
3 2 1 3 2 1
i mulimea restriciilor , se poate deduce mulimea
strilor posibile ale problemei:
X
, X X .
d. Se d mulimea de soluii posibile:
*
S , unde X S
*
i
S S
*
.
e. Funcia obiectiv f ataeaz fiecrei soluii S s un cost:
( ) s f
. n anumite cazuri, costurile sunt ataate strilor
i nu soluiilor.
Elementele enunate pot fi reprezentate sub forma unui graf
complet
( ) L C G ,
, unde nodurile sunt elemente din mulimea C i L
este mulimea muchiilor prin care se conecteaz nodurile. Acest graf
se mai numete i graf de construcie i are urmtoarele
particulariti:
A. Nodurile grafului sunt componente din mulimea
{ }
n
c c c C ,..., ,
2 1

B. Nodurile
C c
i

i muchiile
L l
ij

pot fi etichetate cu
valorile

(notate
i
pentru noduri i ij

pentru
muchii), avnd semnificaia urmei de feromoni.
C. Strile problemei sunt drumuri n graful G. Strile
posibile, respectiv, drumurile posibile n graful G , sunt
acele stri care verific restriciile specifice
problemei.
D. Muchiile
L l
ij

pot fi etichetate cu valorile ij

, avnd
semnificaia atractivitii informaii despre problem
sau informaii determinate prin aplicarea unei euristici,
132
utile n decizia furnicii de a efectua o mutare n spaiul
strilor posibile.
Soluia dorit a problemei este drumul optim n graful G.
Comportamentul furnicii artificiale
Rolul furnicilor artificiale este de a construi soluia problemei
prin parcurgerea drumurilor n graful complet G . Aceste furnici se
comport ca o populaie de ageni asincroni i concureni care se
mic prin mulimea strilor problemei. Soluia final este construit
de ageni pas cu pas, prin adugarea la soluiile pariale a acelor
componente care verific restriciile impuse.
Dinamica furnicilor se realizeaz pe baza unei mulimi de decizii
locale stohastice induse de valorile a doi parametri:
- Urma de feromoni
- Atractivitate.
Determinarea unei soluii complete este nsoit de actualizarea
urmelor de feromoni, respectiv de actualizarea valorilor

pentru a
putea fi ulterior folosit n cutare de ctre celelalte furnici. De
asemenea, completarea soluiei pariale cu o nou component
i
c
(nod al grafului) poate fi nsoit de o actualizare a valorii asociate
i
sau a valorii ij

ataate conexiunii (muchiei).


Tehnica general ACO este descris de un algoritm repetitiv. La
fiecare iteraie a algoritmului, fiecare agent furnic va efectua o
trecere de la starea x la starea y, respectiv, va mbogi o soluie
parial x prin adugarea unei noi componente
C c
i

, producnd o
nou soluie mai complet y. Decizia prin care o furnic va traversa
spaiul strilor se face pe baza informaiilor furnizate de urmele de
feromoni i gradul de atractivitate.
Considerm c unui agent i corespunde starea x, reprezentnd
secvena de componente ( )
ik i i i
c c c c x ,..., , ,
3 2 1
, un drum posibil n
graful G. Aceast stare corespunde unei furnici situate n nodul
ik
c
care a efectuat n prealabil o traversare a drumului
ik i i i
c c c c ,..., , ,
3 2 1
.
133
Alegerea nodului
nou
c ce va fi adugat secvenei x pentru a
obine noua stare ( )
nou ik i i i
c c c c c y , ,..., , ,
3 2 1
se va face din mulimea
nodurilor vecine nodului curent
ik
c . Dac exist mai multe
posibiliti, furnica va decide mutarea urmtoare cu o probabilitate
calculabil n funcie de urma de feromoni i gradul de atractivitate.
n plus fa de activitatea concurent a agenilor, algoritmii ACO
pot fi nzestrai cu dou proceduri importante de control:
- evaporare a feromonilor activitate efectuat pentru a
imprima populaiei de furnici trstura de a uita drumurile
slab marcate; efectul acestui proces const n evitarea
convergenei rapide nspre soluii sub-optimale ale
problemei.
- procedura daemon (efectuat opional) are scopul apelrii
unor activiti centralizate pe care furnicile n mod individual
nu le-ar putea realiza. Spre exemplu, apelarea unor
proceduri specifice de cutare local, sau amplificarea
urmelor de feromoni la acele componente care s-au dovedit
utile n construirea celor mai bune soluii.
Algoritmul Ant System este primul algoritm inspirat de
comportamentul coloniilor de furnici, aplicat n cazul problemei comis
voiajorului (TSP). Acesta nu a reuit s depeasc performanele
algoritmilor clasici, ns reprezint un algoritm de referin pentru
cercetarea ulterioar. Vom prezenta n continuare structura original
a algoritmului Ant System, aplicat pentru rezolvarea problemei TSP.
Problema comis voiajorului (TSP) este formulat astfel:
Se d:
o un numr de n localiti: { }
n
c c c C ,..., ,
2 1

o un numr de muchii
( ) { } C j i j i l L
ij
, | ,
o costurile ataate muchiilor:
ij
d
,
C j i ,
o localitatea de plecare C c
start

Un comis-voiajor, situat iniial n localitatea de plecare
start
c
trebuie s parcurg toate localitile, o singur dat, revenind n final
n localitatea iniial.
134
Se cere: determinarea drumului optim parcurs de comis-
voiajor, respectiv determinarea drumului de cost minim.
Algoritmul AS, descris n [1.1.1.2] , consider m furnici, fiecare
situat aleator ntr-unul dintre cele n orae. Memoria agenilor reine
n aceast prim etap doar oraul de plecare. n mod iterativ, cele
m furnicile vor completa soluia parial prin mutri succesive dintr-
un ora n altul. La un pas al procesului, o furnic k situat n
localitatea i va decide oraul urmtor j. Mutarea n oraul j se va face
cu o probabilitate
( ) t p
k
ij
dat de formula:
( )
( )
( )
( )

k V l
il il
ij ij k
ij
t
t
t p




,
unde:
- ij

are semnificaia urmei de feromoni ntre locaiile i i j.


- ij

- reprezint atractivitatea deciziei de efectua o mutare


n oraul j i este determinat prin formula:
ij
ij
d
1

,
unde
ij
d
este distana euclidian dintre localitile i i j.
-
( ) k V
- vecintatea posibil a furnicii k, reprezentat oraele
rmase nevizitate de aceasta.
-

,

doi parametri suplimentari prin care se controleaz


influena pe care o vor avea parametrii specifici ij

,
respectiv ij

, asupra alegerii oraului urmtor: spre


exemplu, valoarea 0 va induce un comportament
asemntor tehnicii greedy, oraul ales j este cu o mare
probabilitate cel mai apropiat de oraul i. n situaia n care
0
, alegerea urmtoarei localiti se face n mod
independent de distane, i doar n funcie de intensitatea
urmei de feromoni.
- t este o variabil care contorizeaz numrul de tururi
complete
135
Se consider c un tur este ncheiat cnd furnicile au parcurs
fiecare cte un drum de lungime dat n. n acest moment intervine
aciunea procedurii de actualizare a urmelor de feromoni.
Actualizarea urmelor de feromoni se face n dou sensuri: prin
evaporarea acestora (multiplicarea valorilor ij

cu un factor
subunitar) i depozitarea de feromoni pe muchiile drumurilor
parcurse de furnici:
( ) ( ) ( ) ( )

+ +
m
k
k
ij ij ij
t t t
1
1 1
,
unde:
-

, rata de evaporare, este un factor prin care se controleaz
evaporarea feromonilor. Valoarea mic a parametrului


induce efectul de uitare a drumurilor slabe parcurse deja de
furnici. Uitarea este benefic pentru evitarea deciziilor
dovedite greite ntr-un tur anterior.
-
( ) t
k
ij

reprezint cantitatea de feromoni depus de furnica k
pe muchia (i,j) i se determin prin formula:
( )
( )

'


altfel
i,j ia rcurs much ica k a pa dacac fu
t k L
t
k
ij
0
,
1
) (
,
-
( ) t k L ,
- distana parcurs de furnica k n turul t.
Cantitatea de feromoni depus pe muchiile parcurse este cu
att mai mare cu ct drumul este mai scurt. Efectul imediat este de a
stimula furnicile s prefere drumurile mai scurte.
Intuitiv procedura descris conduce la determinarea soluiei
optime, ns, n comparaiile cu algoritmii tradiionali, algoritmul
original Ant System nu a reuit s ofere o performan mai bun. O
extensie important a algoritmului const n modificarea manierei de
depozitare a feromonilor. Astfel, se reine cel mai bun drum parcurs
i acesta se va actualiza dup ncheierea fiecrui tur. Muchiile care
fac parte din drumul respectiv vor fi preferate, n etapa de depozitare
a feromonilor, oferindu-li-se o pondere suplimentar. Pentru acele
muchii, formula devine:
136
( )
( )

'


altfel
ia (i,j) rcurs much ica k a pa dacac fu
t k L
e
t
ij
0
,
*
*
,
unde:
-
( ) t k L ,
*
- este lungimea celui mai scurt drum
- e este un ntreg pozitiv cu rolul de a accentua urma de
feromoni a muchiilor ce fac parte din drumul cel mai bun.
O alt perfectare a algoritmului AS const n implicarea doar a
celor mai performante w ( m w < 1 ) furnici n etapa de depozitare a
feromonilor. O furnic este cu att mai performant cu ct reuete
s parcurg un drum mai scurt. Prin aceasta, furnicile care nu au
parcurs drumuri bune nu vor actualiza urmele de feromoni, fapt
pentru care n etapele ulterioare, drumurile slabe vor fi treptat uitate.
Cu ct numrul de furnici performante care vor depozita feromoni
este mai mic, cu att gradul de elitism al procedurii este mai mare.
Algoritmul Ant Colony System (ACS) [1.1.1.2], conine un
mecanism suplimentar prin care se realizeaz un echilibru ntre
exploatarea informaiilor provenite din tururile anterioare i
explorarea spaiului de cutare. Acest mecanism este format dintr-o
procedur elitist asemntoare celei descrise n algoritmul AS
(actualizarea feromonilor doar de ctre cele mai performante furnici)
i dintr-o procedur prin care deciziile locale supra viitorului ora
vizitat se vor lua n mod pseudo-aleator pentru a favoriza explorarea
eficient a spaiului de cutare.
27.1.3 Aplicaii
Algoritmii ACO s-au dovedit nu doar alternative viabile a
tehnicilor tradiionale, dar i mai eficieni dect acestea n cteva
probleme de interes major. Enumerm cteva dintre problemele
abordate cu algoritmi Ant Colony Optimization:
- problema ordonrii secveniale (ex. Problema comis
voiajorului descris n paragrafele anterioare) este prima
problem abordat de ctre o tehnic ACO.
- problema atribuirii cuadratice se cere atribuirii a unui
numr de m faciliti unui numr de n locaii n aa fel
137
nct costul de atribuire s fie minim; funcia costului de
atribuire este cuadratic.
- diverse probleme de planificare a activitilor
- probleme de rutare a vehiculelor
- problema colorrii grafurilor
- probleme dinamice n reele de telecomunicaii
- probleme de optimizare multiobiectiv
28 Tehnica Particle Swarm Optimization
Tehnica Particle Swarm Optimization este propus n 1995 de
ctre Kennedy i Eberhart [1.1.1.2] i cuprinde algoritmi dedicai
rezolvrii unei variate palete de probleme de optimizare. Modelul de
inspiraie al acestei clase de algoritmi este cel al comportamentului
stolurilor de psri, respectiv al bancurilor de peti. Aparent haotice,
aceste sisteme naturale dovedesc un comportament colectiv
inteligent, oferind cercettorilor din domeniul Calculului Natural idei
surprinztoare pentru dezvoltarea unei noi metaeuristici.
28.1.1 Modelul natural
Studiul comportamentului social al unor specii este n general
preocuparea biologilor. Cu toate acestea, cercettori din domenii
diferite au furnizat informaii valoroase privind procesul prin care
ansambluri de organisme (ex. stolurile de psri, bancurile de peti),
n mod sincronizat i imprevizibil realizeaz micri de mprtiere i
regrupare rapid, n absena unui mecanism de control centralizat
(vezi de ex. [1.1.1.2]). Scopul examinrii acestor sisteme este acela
al identificrii i modelrii artificiale a resorturilor prin care grupul de
organisme nzestrate cu o inteligen neglijabil, realizeaz ca
ansamblu un comportament inteligent.
Numrul mare al tehnicilor inspirate de modele naturale
(creierul uman, evoluia speciilor, inteligena colectiv a roiurilor,
etc.) este justificat de necesitatea dezvoltrii unor metode
computaionale alternative celor tradiionale, n scopul rezolvrii unor
probleme dificile. Modelul comportamental al roiurilor de particule
este analizat i din perspectiva inteligenei artificiale, reuind s
ofere direcii importante de dezvoltare n Calculul Natural.
138
Comportamentului colectiv al roiului poate fi descris prin
urmtoarele principii [1.1.1.2]:
- fiecare membru ncearc s se ndeprteze de vecinii si n
cazul n care acetia sunt prea apropiai Separarea
- fiecare membru va opera o micare nspre poziia medie a
vecinilor si - Coeziunea
- fiecare membru se aliniaz la direcia medie a vecinilor si
Alinierea.
Aceste trei principii simple sunt completate de Eberhart i
Kennedy [1.1.1.2] prin introducerea conceptului de cuib. Astfel,
comportamentul colectiv al membrilor populaiei sugerat de
principiile separrii, coeziunii i alinierii este dublat de: atracia
membrilor spre locaia cuibului, memoria locaiei cuibului i
partajarea informaiei despre locaia cea mai apropiat a cuibului.
Simplificat, tehnica Particle Swarm Optimization se poate defini
ca o procedur de rezolvare a problemelor de optimizare prin
imitarea proceselor naturale observate la nivelul comportamentului
roiurilor de particule.
Evoluia spectaculoas i rapid a tehnicii PSO este datorat
simplitii modelului propus i a rezultatelor bune pe care le ofer. n
paragrafele urmtoare sunt descrise tehnica original PSO i
principalele domenii de aplicabilitate ale acesteia.
28.1.2 Algoritmul PSO
Tehnica PSO presupune existena unei populaii de m indivizi
care realizeaz n mod colectiv un proces de cutare i optimizare.
Din acest punct de vedere, PSO i Algoritmii Genetici prezint
similitudini evidente. Diferenele ntre cele dou paradigme se disting
la nivelul reprezentrii indivizilor i a mecanismelor prin care
populaiile realizeaz procesul de cutare. Contrar Algoritmilor
Genetici care presupun dispariia unor indivizi ai populaiei i
nlocuirea acestora cu noi descendeni, populaia n paradigma PSO
este alctuit din indivizi - particule care nu mor, ns i modific
atributele (poziia n spaiu, viteza de micare).
139
Practic, n tehnica PSO, procesul de cutare este realizat de
ctre o singur generaie de indivizi, printr-o dinamic condus de
interaciunile cu mediul i interaciunile locale ntre membrii.
Algoritmul tehnicii PSO este un algoritm repetitiv n care fiecare
iteraie t este reprezentat de o mutare colectiv a indivizilor.
Se consider spaiul de cutare
d
R
, i funcia
multidimensional R R f
d
: . Se dorete determinarea maximelor
funciei considerate. n acest scop, funcia de performan (fitness)
prin care se vor califica indivizii populaiei este funcia f.
Notm populaia de particule la pasul t:
( ) ( ) ( ) ( ) { } t p t p t p t P
m
,..., ,
2 1
.
Fiecare element ( ) t p
i
ale populaiei este caracterizat prin
urmtoarele elemente:
- Un vector ( ) ( ) ( ) ( ) [ ] t x t x t x t X
d
i i i i
,..., ,
2 1
al poziiei ocupate n
spaiul d-dimensional
- Un vector ( ) ( ) ( ) ( ) [ ] t v t v t v t V
d
i i i i
,..., ,
2 1
, avnd semnificaia
vitezei particulei ( ) t p
i
, este vectorul direciei n care se va
mica particula n absena altor influene
- vectorul ( ) ( ) ( ) ( ) [ ] t z t z t z t X
d
i i i
local
i
,..., ,
2 1
, memoreaz cea mai
bun poziie ocupat de particula
( ) t p
i
n etapele anterioare.
Calificarea unei particule se face pe baza a dou valori de
performan: performana poziiei ( ) t X
i
ocupate n mod curent de
particul: ( ) ( ) t X f
i
i performana celei mai bune poziii ( ) t Z
i

ocupate n etapele precedente: ( ) ( ) t Z f
i
.
Vecintatea lui ( ) t p
i
este notat prin ( )
i
p N i reprezint
mulimea de particule ( ) t p
k
care sunt apropiate de particula ( ) t p
i
.
Apropierea se poate determina pe baza unei funcii distan dist i a
unui prag prin care se delimiteaz vecinii. Vecintatea particulei
i
p se rescrie astfel:
( ) ( ) { }
k i k i
p p dist p p N , | .
140
Se noteaz prin ( ) t p
N
i
- particula care ocup cea mai bun
poziie ( ) t X
N
i
din vecintatea ( )
i
p N a particulei ( ) t p
i
.
Se noteaz prin
( ) t p
global - particula care ocup cea mai bun
poziie ( ) t X
global
din ntreaga populaie
( ) t P
, la pasul t.
Micarea unei particule oarecare ( ) t p
i
este influenat de:
- poziia celei mai performante particule din populaie (global
best)
- poziia celei mai performante particule din vecintate
(neighborhood best)
- poziia cea mai bun ocupat de
( ) t p
i
n iteraiile anterioare
(local best).
Formulele generale de calculare a vitezei i poziiei particulei
i
p
n iteraia t sunt urmtoarele:
( ) t V
i
( ) ( ) ( ) ( ) 1 1
1
+ t X t X rand c t V
i
local
i i
( ) ( ) ( ) 1
2
+ t X t X rand c
i
global
i
( ) ( ) ( ) 1
3
+ t X t X rand c
i
N
i
( ) ( ) ( ) t V t X t X
i i i
+ 1
unde:
3 2 1
, , c c c - reprezint constante pozitive, i
rand reprezint un numr aleator subunitar cu distribuie
uniform.
S-a constatat o ncetinire semnificativ a convergenei
algoritmului PSO n cazul n care poziiile celor mai performante
particule din vecintate (neighborhood best) afecteaz viteza
particulelor. n plus, cercetrile ulterioare au inclus un factor
suplimentar cu semnificaia ineriei. Algoritmul standard PSO
exclude contribuia poziiilor celor mai buni vecini i include aportul
ineriei, astfel, formulele de actualizare a vitezelor i poziiilor devin:
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 1 1 1
2 1
+ + t X t X rand c t X t X rand c t V t V
i
global
i i
local
i i i

,
( ) ( ) ( ) t V t X t X
i i i
+ 1 ,
141
unde:
- Constantele pozitive
2 1
, c c
au n general valoarea
2 ,
2 1
c c
i
reprezint influenele cognitiv i social, respectiv,
aportul local-individual i global-social asupra micrii
particulei.
- Factorul inerie

are o valoare subunitar (ex. 9 . 0 ).


Etapele unui algoritm PSO sunt urmtoarele:
1. Generare aleatoare populaie iniial
( ) 0 P
, t=0.
2. Cttimp (condiia_de_terminare=false) execut
2.1. Evaluare populaie, utiliznd funcia fitness
2.2. Actualizarea poziiilor performante ( ) t X
global
i
( ) t X
local
i
2.3. Pentru fiecare particul i,
m i ,..., 2 , 1
execut
2.3.1. Modific viteza folosind formula:
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 1 1 1
2 1
+ + t X t X rand c t X t X rand c t V t V
i
global
i i
local
i i i

2.3.2. Modific poziia folosind formula:
( ) ( ) ( ) t V t X t X
i i i
+ 1
28.1.3 Aplicaii
Un studiu recent [1.1.1.2] prezint o investigaie util asupra
progreselor nregistrate de tehnica PSO n aplicaii variate. Cteva
dintre principalele domenii de aplicabilitate ale algoritmilor PSO sunt
enumerate n continuare:
- rezolvarea problemelor de optimizare numeric
- optimizarea multiobiectiv
- optimizare multimodal
- rezolvarea problemelor de optimizare cu restricii
- antrenarea reelelor neuronale
- procesarea imaginilor.
142
CAPITOL VII
29 Sisteme imune artificiale
Paleta modelelor biologice care ar putea constitui baza unor noi
paradigme ale calculului natural este larg. Evoluia speciilor,
comportamentul coloniilor de furnici i a roiurilor de particule,
structura i funcionarea creierului, sunt doar cteva dintre cele mai
studiate surse de inspiraie natural care au generat metode
generale de rezolvare a unor clase de probleme dificile. n ansamblu,
prin noi principii, concepte i algoritmi eficieni de inspiraie natural,
s-a conturat o direcie extrem de fertil a Inteligenei Artificiale.
Succesele aplicaiilor practice, studiile teoretice i ingeniozitatea
subiectului sunt o motivaie puternic n identificarea altor modele
naturale care ar putea genera noi tehnici. Una dintre cele mai
recente paradigme ale Calcului natural este cea bazat pe principiile
funcionrii sistemelor imune ([1.1.1.2],[1.1.1.2],[1.1.1.2]).
n acest capitol este descris modelul natural al sistemului imun
ct i modelul artificial propus i descris n [1.1.1.2], model aplicat cu
succes n rezolvarea problemelor de optimizare multimodal.
30 Modelul biologic
Sistemul imun reprezint un ansamblu de celule, molecule i
organe, cu rol n recunoaterea i combaterea anumitor disfuncii
(infecii) ale organismului. Acest sistem se dovedete a fi capabil s
efectueze sarcini complexe ca: recunoaterea formelor, nvarea i
143
memorarea, tolerana la zgomot, generarea diversitii sau
optimizarea. Complexitatea acestui sistem este comparabil cu a
unui creier uman. Din aceste considerente, sistemele imune
constituie un subiect fecund de studiu att pentru biologi ct i
pentru matematicienii sau informaticienii interesai de dezvoltarea a
noi tehnici computaionale bazate pe principiile imunologice.
30.1.1 Anatomia sistemului imun
Sistemul imun este alctuit din urmtoarele uniti anatomice:
- vasele limfatice: reea de vase prin care este transportat
limfa (fluid ce conine celule imune)
- mduva osoas: esut situat n oase, cu rol n producerea
celulelor imune
- timusul: o parte din celulele generate de mduva osoas sunt
supuse multiplicrii i maturizrii la nivelul acestei glande,
transformndu-se ulterior n celule T.
- apendicele: nod limfatic specializat n protejarea activitii
digestive
- splina: organ la nivelul cruia leucocitele distrug
microorganismele ce au ptruns n sistemul circulator
- nodurile limfatice: locurile de convergen a vaselor limfatice;
aici sunt stocate celule imune i la nivelul acestor noduri se
produc rspunsurile imune.
30.1.2 Celulele imune
Sistemul imun conine o multitudine de celule imune, variate ca
tip sau ca funcionalitate. Celulele imune se nasc n mduva
osoas i ptrund n sistemul circulator sanguinic i limfatic. O
clasificare a celulelor imune este descris in figura alturat:
Limfocitele: sunt reprezentate de trei categorii importante de
celule imune: celulele B, celulele T i celulele NK (natural killer).
Celulele B se transform dup activare n celule plasmatice i
genereaz anticorpii, ca rspuns la apariia unor proteine externe ca
viruii, bacteriile, celulele canceroase, etc.
144
Anticorpii reprezint de fapt proteine specifice care recunosc i
se leag de alte proteine. n aceast manier, anticorpii semnaleaz
altor celule imune s ucid sau ingereze substana de care s-au
legat. Anticorpii constituie un mecanism important de recunoatere
i semnalare a variatelor tipuri de disfuncii ale organismului.
Celulele T au rol n reglarea activitii altor celule imune i n
distrugerea prin atac direct a celulelor infectate. Sunt recunoscute
trei subcategorii de celule T (mprite dup modul n care i
desfoar aciunea):
- celule T helper (Th) au rol n activarea altor celule imune,
inducnd proliferarea i diviziunea limfocitelor B.
- celule T citotoxice elimin invadatorii (microbi, virui,
celule canceroase) prin inocularea acestora cu substane
nocive provocnd ulterior distrugerea lor.
- celule T supresoare (Ts) inhib activitatea celulelor imune
pentru ca rspunsul sistemului imun s nu degenereze n
boli autoimune sau reacii alergice.
Celulele NK se comport asemntor celulelor T cu excepia
faptului c aciunea lor nu este condiionat de recunoaterea unui
antigen specific. Aceste celule protejeaz organismul de variate
infecii microbiene.
Fagocitele: sunt capabile de ingerarea i digerarea
microorganismelor i particulelor antigenice. Cele mai importante
fagocite sunt enumerate n cele ce urmeaz: monocite, macrofage,
eusinofile, basofile, neutrofile. Macrofagele au rol important la
nceputul rspunsului sistemului imun. Ele recunosc antigenele
patogenilor, distrug microorganismele prin fagocitoz i stimuleaz
activitatea limfocitelor.
Sistemul complement: este alctuit din celule plasmatice
care circul inactive prin organism i suplinesc funcionalitatea
anticorpilor; distruge bacteriile prin citoliz.
30.1.3 Activitatea sistemului imun
n cele ce urmeaz vom descrie maniera n care sistemul imun
va proteja organismul de atacul unui antigen (invadator).
145
Mecanismul este extrem de complex, astfel nct ne vom limita la
simularea unui rspuns simplificat al sistemului imun.
Sub denumirea de antigen se disting doua categorii de
elemente care pot fi recunoscute de sistemul imun:
- celulele care fac parte din organismul propriu, fiind
inofensive, sunt recunoscute de sistemul imun i se
denumesc antigene proprii
- elementele care sunt strine organismului propriu (virui,
bacterii, etc.) poart denumirea de antigene strine.
O corect funcionare a sistemului imun natural presupune
distingerea ntre cele dou categorii de antigene (proprii i strine) n
procesul complex al recunoaterii antigenelor; n caz contrar ar apare
aa numitele boli autoimune n care sistemul imun ar ataca
substane i esuturi ale propriului organism.
Cele doua clase de celule imune, celulele B i celulele T au rolul
de a realiza procesul de recunoatere al antigenelor, ns ntr-o
manier diferit: celulele B, originate la nivelul mduvei spinrii au
rolul de a recunoate antigenele libere, n timp ce celulele T sunt
capabile de a recunoate antigenele prezente n alte celule
accesoare.
O parte dintre limfocitele B i T alctuiesc memoria sistemului
imun, rmnnd n sistemul circulator, astfel nct, la o ulterioar
invazie cu aceleai antigene, sistemul imun este capabil s se
apare cu mai mare eficien.
Recunoaterea antigenelor precede rspunsul imun. Acest
rspuns se poate descrie prin totalitatea aciunilor pe care le
realizeaz sistemul imun n scop de aprare a organismului. Absena
unui rspuns imun este datorat imunitii dobndite (rezistena
specific a unui organism fata de infecia cu un anumit agent
patogen).
Etapele rspunsului imun sunt:
- captarea antigenului de ctre macrofage;
- fragmentarea si transferul informaiei antigenice ctre
sistemul imunologic.
Rspunsul imun poate fi primar (la prima ptrundere a
antigenului) i secundar (la ptrunderi ulterioare). Rspunsul imun
146
secundar este mai rapid i mai intens dect cel primar datorit
celulelor cu memorie imunologica (limfocite).
Celulele specializate n prezentarea antigenelor, cum ar fi
macrofagele pe care le-am pomenit anterior, vor recunoate i
fragmenta antigenele producnd peptide antigenice. Peptidele se
altur moleculelor complexului major de histocompatibilitate.
Complexul major de histocompatibilitate (MHC) este reprezentat de o
familie de gene a cror produi (antigene) sunt exprimate pe
suprafaa diferitelor celule. Limfocitele T dein receptori moleculari,
fiind capabile s recunoasc diferite combinaii de peptide din MHC.
Activate prin procesul de recunoatere, limfocitele T vor genera
semnale chimice care mobilizeaz alte componente ale sistemului
imun. Datorit receptorilor moleculari pe care i posed, limfocitele B
vor rspunde acestor semnale chimice, devenind active. Celulele B
activate se vor divide i diferenia n celule plasmatice ce secret
anticorpii. Legndu-se de antigenele gsite, anticorpii pot s le
neutralizeze sau pot provoca distrugerea lor.
30.1.4 Caracteristicile majore ale sistemului imun
- unicitatea: fiecare organism este nzestrat cu propriul su sistem
imun;
- este capabil s recunoasc molecule strine organismului de care
aparine;
- poate detecta patogeni pe care organismul nu i-a mai ntlnit
pn n acel moment;
- celulele sistemului sunt distribuite n tot organismul, neexistnd
un control centralizat al mecanismelor imune;
- tolerana la zgomot: sistemul este flexibil, nu este necesar
recunoaterea cu precizie maxim a patogenilor;
- sistemul poate nva structurile patogenilor, astfel nct
rspunsul ulterior la aceiai patogeni este mult mbuntit (mai
puternic i mai rapid).
31 Sisteme imune artificiale
147
Metafora biologic a sistemelor imune st la baza dezvoltrii de
noi tehnici computaionale i a construirii de variate sisteme
evolutive numite sisteme imune artificiale.
Pentru definirea i dezvoltarea unui sistem imun artificial sunt
luate n considerare urmtoarele aspecte:
- mecanismele imunologice reprezint sursa de inspiraie n
vederea construirii algoritmilor i structurilor implicate;
- modelarea principiilor imunologice pentru descrierea unor
procese complexe ca: optimizarea, nvarea, recunoaterea
formelor, etc., rezultnd de aici nelimitate aplicaii poteniale;
- nelegerea i exploatarea unui fenomen natural ca rspunsul
imun al unui organism deschide noi direcii de cercetare n
scopul obinerii a noi tehnici computaionale menite s rezolve
probleme complexe;
Fr a surprinde n ntregime complexitatea structural i
funcional a unui sistem imun artificial, o posibil definiie a
acestuia este urmtoarea: Sistemul imun artificial este un sistem
computaional bazat pe metafora biologic a sistemului imun
natural.
31.1.1 Modele biologice n sistemele imune artificiale
Timusul este un organ mic, situat n cavitatea toracic. Acesta
face parte din sistemul limfatic, ajut la maturarea limfocitelor T,
avnd rol foarte important in rspunsul imunitar al organismului.
Dup ce au fost generate celulele T, acestea migreaz n timus unde
va avea loc procesul de maturare. n timpul procesului de maturare
sunt eliminate din populaia de celule T toate celulelor T care au
recunoscut antigene proprii. Procesul acesta este denumit selecie
negativ.
Celulele B care au recunoscut antigene strine vor prolifera i
se vor diferenia n celule memorie i celule efectuare, proces
denumit selecie clonal.
O teorie deosebit de interesant este cea a existenei unei aa
numite reele imune. Conform acestei teorii (Jerne, 1974), sistemul
imun este privit ca o vast reea de molecule i celule care activeaz
i se recunosc reciproc i n absena vreunui antigen. Cu toate
148
controversele care le implic teoria sus-menionat, ea devine un
idee atractiv pentru dezvoltarea unor modele computaionale.
Cele trei procese descrise succint: selecia negativ, selecia
clonal i reeaua imun constituie principalele surse de inspiraie n
dezvoltarea sistemelor imune artificiale.
32 Principiul seleciei clonale
Principiul seleciei clonale reprezint algoritmul aplicat de
sistemul imun pentru a genera un rspuns imun la stimulul antigenic.
Ideea central a acestei teorii este c doar celulele care au calitatea
de a recunoate antigenele sunt selectate pentru proliferare
(clonare) n defavoarea celorlalte.
Principalele caracteristici ale acestei teorii sunt:
- noile celule imune sunt clone ale celulelor prini i sunt
supuse unui mecanism de mutaie cu rat mare (hipermutaie
somatic);
- cele mai noi limfocite difereniate ce poart receptori
autoreactivi sunt eliminate;
- proliferarea (clonarea) i diferenierea n celule memorie sau
celule plasm la contactul celulelor mature cu antigenele;
- persistena clonelor interzise, rezistente la eliminarea
timpurie.
Algoritmul seleciei clonale
De Castro i Von Zuben (1999) [1.1.1.2] au propus un algoritm
bazat pe principiul seleciei clonale cu rezultate bune n problemele
de recunoaterea formelor i optimizare multimodal. n cele ce
urmeaz este prezentat algoritmul seleciei clonale aa cum a fost
descris de ctre autorii acestuia.
Principiul seleciei clonale este succesiunea de aciuni
(algoritmul) efectuate de ctre sistemul imun pentru a descrie
rspunsul imun. Ideea de baz este aceea c celulele imune care au
capacitatea de a recunoate antigenele vor prolifera.
Algoritmul bazat pe principiul seleciei clonale are n vedere
urmtoarele aspecte:
149
- Populaia este alctuit din dou pri, o
subpopulaie P
r
i o subpopulaie cu rol de memorie M.
- Cei mai buni indivizi ai populaiei P sunt
selectai n vederea generrii unei populaii intermediare P
n
.
- Indivizii populaiei P
n
vor fi clonai copiai n
mod repetat, formnd astfel populaia de clone C.
- Indivizii populaiei C vor suferi modificri prin
mutaii i recombinri pentru a se constitui populaia C
*
. O
parte a populaiei C
*
va nlocui memoria M.
- Pentru a crete gradul de diversitate al
populaiei, un numr prestabilit de indivizi generai aleator
pot intra necondiionat n populaia P
r
, nlocuind o parte a
sa. Acest proces de remprosptare a populaiei este
opional.
- Soluiile algoritmului se regsesc n
subpopulaia memorie M care, pe parcursul algoritmului a
reinut cei mai performani indivizi.
Algoritmul Seleciei Clonale este schiat n cele ce urmeaz:
1. Generarea unei mulimi P de soluii candidat,
compus dintr-o submulime de celule memorie M i o
subpopulaie rmas P
r
:
P=M P
r
.
2. Determinarea celor mai buni n indivizi ai
populaiei P pe baza msurrii performanei acestora. Fie
aceti cei mai buni n indivizi reinui n populaia P
n
.
3. Clonarea indivizilor P
n
rezultnd populaia
intermediar de clone C.
4. Populaia C este supus mutaiei rezultnd
astfel o populaie de clone maturizate C
*
.
5. Sunt re-selectai indivizi mbuntii ai
populaiei C
*
pentru a recompune submulimea memorie M.
Unii indivizi din C
*
pot nlocui civa membrii ai populaiei
P.
150
6. nlocuirea a d indivizi cu afiniti sczute din
populaia P cu ali d noi indivizi generai, pentru pstrarea
diversitii n populaie.
33 Principiul seleciei negative
n modelul natural al sistemului imun, la nivelul glandei timus,
are loc maturarea celulelor T. Procesul de maturare are ca rezultat
eliminarea din populaia de celule T a acelora care au recunoscut
elemente proprii ale organismului. Practic toate celulele T care
prsesc timusul vor intra n sistemul circulator avnd proprietatea
de a tolera elementele proprii organismului.
Principiul seleciei negative reprezint a paradigm viabil
pentru recunoaterea formelor, prin memorarea informaiilor despre
mulimea complementar (elemente strine) a formelor de
recunoscut (elemente proprii).
Se consider P mulimea de elemente proprii care se pot
recunoate i vor fi protejate sau monitorizate (antigenele proprii).
Mulimea M reprezint mulimea de detectori avnd scopul de a
identifica toate antigenele care nu aparin mulimii P, respectiv
antigenele strine.
Algoritmul seleciei negative acioneaz n dou etape:
Etapa I. Generarea mulimii de detectori M
1. Genereaz aleator mulimea de candidai C
2. Compar elementele din C cu cele din mulimea P.
a. Dac un element P a se potrivete (este
recunoscut) cu un element din C, atunci
{ } a C C \
i
{ } a M M .
Rezultatul acestei faze este mulimea de detectori M.
Etapa II. Monitorizarea elementelor strine
Fie P o mulime de elemente de monitorizat.
1. Pentru toate elementele din mulimea de detectori M d
a. Dac d recunoate elementul ' P a , acest
lucru se traduce printr-o detecie a unor antigene
151
strine, datorit faptului c n etapa premergtoare
ne-am asigurat c mulimea M NU recunoate
elementele proprii ale coleciei de elemente
protejate. n acest caz se va apela o procedur
specific.
Procedura care va fi apelat la o posibil detectare a
antigenelor strine depinde de natura problemei de rezolvat i nu
poate fi detaliat n aceast faz.
O alt aplicabilitate a principiului seleciei negative o regsim n
studii de specialitate dedicate deteciei intruilor n reele de
calculatoare. Modelul biologic al sistemului imun ofer cteva
similitudini structurale i funcionale cu cele ale unui sistem
informatic prin care se asigur securitatea unei reele de
calculatoare. Ambele sisteme monitorizeaz activitatea organismului,
respectiv a reelei de calculatoare, i prin aciuni specifice resping
atacurile potenialilor intrui. Att sistemul imun ct i sistemul de
detecie a intruilor au capacitatea de a recunoate i de a face
distincia ntre cele dou categorii de elemente: proprii (celulele
organismului, respectiv, activitatea reelei de calculatoare) i strine
(antigenele, respectiv, potenialele atacuri informatice).
Primele studii dedicate implementrii unui sistem de detecie a
intruilor inspirat de paradigma sistemului imun natural au aprut de
la sfritul anilor 90. Algoritmul central al sistemului propus este cel
al seleciei negative.
34 Teoria reelei imune
Ideea de baz a teoriei reelei imune [1.1.1.2] este aceea
conform creia sistemul imun natural are un comportament dinamic
i n afara vreunui atac extern. Acest comportament este argumentat
de principiul interconectrii moleculelor i celulelor imune i
capacitii acestora de a se recunoate reciproc. Dei teoria reelei
imune este combtut de imunologi, cercettorii din arealul
inteligenei artificiale devin interesai de aceasta, considernd-o ca
fiind o important surs de inspiraie n dezvoltarea sistemelor imune
artificiale.
152
Printre ncercrile de dezvoltare a unei reele imune artificiale
avnd ca surs de inspiraie teoria lui Jerne [1.1.1.2] se numr i
propunerea prin care se urmrete obinerea unui instrument
computaional eficient n rezolvarea unor problemele de optimizare,
de clasificare sau de analiz a datelor. Reeaua aiNET descris n
[1.1.1.2] i sistemul imun artificial: RLAIS propus n [1.1.1.2] sunt
dou dintre cele mai reprezentative modelri artificiale ale sistemelor
imune din perspectiva teoriei reelei imune.
35 Principalele aplicaii ale sistemelor imune
artificiale
Pentru mai multe informaii privind aplicabilitatea sistemelor
imune artificiale a se vedea [1.1.1.2], [1.1.1.2]. Cele mai
reprezentative aplicaii ale sistemelor imune artificiale sunt
enumerate n continuare:
- Recunoaterea formelor;
- Aproximarea funciilor;
- Optimizare numeric;
- Analiza i clasificarea datelor;
- nvarea automat;
- Detectarea anomaliilor;
- Securitatea calculatoarelor i a reelelor de
calculatoare;
- Control i planificare.
153
CAPITOL VIII
36 Alte tehnici natural-evolutive
Fr a micora din importana metodelor evolutive prezentate
n paragrafele urmtoare, am considerat oportun gruparea acestora
ntr-un singur capitol. Popularitatea celorlalte tehnici prezentate n
aceast carte pare c umbrete interesul pentru dezvoltarea
metodelor descrise n capitolul curent; acest fapt este demonstrabil
printr-o parcurgere a bibliografiei dedicate subiectelor, care relev un
decalaj cantitativ al materialelor dedicate primelor categorii, n
defavoarea tehnicilor enumerate n continuare.
37 Sisteme de Clasificare Instruibile
Sistemele de clasificare instruibile (LCS) au fost introduse de
Holland [1.1.1.2], cel care este de altfel i unul dintre principalii
creatori ai Algoritmilor Genetici. n definiia original un sistem de
clasificare este un sistem bazat pe reguli, nzestrat cu mecanisme
prin care regulile sunt testate i procesate n mod paralel n scopul
generrii de noi reguli mai bune. Un astfel de sistem este capabil s
nvee s efectueze cele mai bune aciuni n funcie de informaiile
de intrare.
Sub titulatura de Learning Classifier System sunt grupate
tehnici de nvare automat care combin algoritmi evolutivi,
proceduri de nvare prin interaciune (reinforcement learning) i
diverse alte euristici pentru generarea unor sisteme adaptive.
154
Algoritmii evolutivi i principiile ce stau la baza construirii lor au fost
descrii pe larg n acest volum. nvarea prin interaciune [1.1.1.2]
reprezint o form de nvare computaional n care un agent este
proiectat n scopul maximizrii unor recompense pe care le
dobndete prin interaciunea cu mediul.
Literatura dedicat subiectului cuprinde dou variante
importante ale sistemelor de clasificare instruibile descrise de
Holland. Diferena major a celor dou const n maniera n care se
definete funcia de performan (fitness):
- ZCS - strength-based classifier system
- XCS - accuracy-based classifier system
Vom prezenta n continuare structura standard a unui sisteme
de clasificare: LCS, aa cum a fost descris original de inventatorul
acestora, dar i cele dou variante derivate din acesta: ZCS i XCS.
37.1.1 LCS
Noiunea de sistem de clasificare a fost introdus de Holland i
Reitman (1978) [1.1.1.2] i definete o clas de sisteme de reguli,
compuse din:
- mulimea de clasificatori: un clasificator este n esen o
regul de tipul IF...THEN....
- procedur de evaluare a performanelor care se dirijeaz
aciunile sistemului n mediu dat
- un algoritm de nvare utilizat n scopul urmririi
succeselor nregistrate de clasificatori
- un algoritm genetic prin care mulimea de reguli
evolueaz n sensul obinerii unor reguli mai bune.
Ulterior, n studiile lui Holland, sistemele de clasificare au fost
nzestrate cu mecanisme de nvare prin interaciune, devenind
sisteme de clasificare instruibile.
Modelul descris de Holland n 1986 [1.1.1.2] presupune
receptarea unor date de intrare codificate binar, pe baza crora
sistemul genereaz rspunsul potrivit i efectueaz aciuni de
modificare a strii mediului.
Intrrile sistemului sunt reinute ntr-o zon de memorie
denumit sugestiv lista de mesaje. O populaie de n clasificatori
155
{ }
n
r r P ,...,
1
este iniial generat aleator i ulterior evolut printr-
un algoritm genetic. Fiecare clasificator
i
r are semnificaia unei
reguli de tipul: IF condiie Then aciune i codific condiia i aciunea
n format binar. Alfabetul binar
} 1 , 0 {
poate fi extins prin adugarea
simbolului generic # care poate nlocui att simbolul 1, ct i
simbolul 0. n anumite situaii, condiiile i aciunile regulilor sunt
secvene de simboluri ale alfabetului ternar
} # , 1 , 0 {
.
La apariia unui mesaj de intrare, reprezentat printr-o secven
binar, populaia de reguli (clasificatori) este scanat n vederea
determinrii acelor reguli ale cror condiii se potrivesc intrrii
curente. Mesajul de intrare i condiia regulii sunt secvene de
lungime egal k.
Un mesaj ( )
k
m m m ,...,
1
,
{ } k i ,..., 2 , 1
,
{ } # , 1 , 0
i
m se
potrivete condiiei ( )
k
c c c ,...,
1
, { } k i ,..., 2 , 1 , { } 1 , 0
i
c dac
urmtoarea afirmaie este adevrat:
{ } k i ,..., 2 , 1 , ' # '
i i i
c c m
Submulimea de reguli care recunosc secvena de intrare
formeaz mulimea de potrivire M (match-set). Din mulimea M se va
alege regula ctigtoare, a crei aciune devine activ. Mesajul de
intrare curent este eliminat i secvena de codificare a aciunii regulii
selectate va fi rescris n lista de mesaje n vederea pregtirii
urmtoarei iteraii. De asemenea, lista de mesaje poate fi completat
cu aciunile altor reguli selectate din mulimea de potrivire.
Fiecare regul r din mulimea de potrivire M, la momentul t,
este calificat printr-o valoare calculat prin formula:
( ) ( ) ( ) t r fitness t r spec t r , , ,
,
unde:
-

este o constant subunitar
- spec(r,t) are semnificaia relevanei regulii r i reprezint
numrul de simboluri din condiia regulii diferite de
simbolul neutru #
- fitness(r,t) reprezint performana regulii r la momentul t
Valoare
( ) t r,
este denumit n mod sugestiv licitaie, avnd
semnificaia unei oferte plasate de clasificatorul r la momentul t.
156
Procedura de alegere a regulilor active care vor furniza aciunea
sistemului este o procedur de selecie proporional cu valorile .
Cele mai bune reguli vor fi rspltite n mai mare msur n timp ce
regulile slabe vor fi penalizate. Un clasificator este cu att mai bun cu
ct are capacitatea de a propune aciuni eficiente n situaiile
corespunztoare. Eficiena este estimat printr-un algoritm de
nvare prin instruire, propus de Holland sub denumirea de Bucket
Brigade Algorithm.
Recompensa primit de clasificatorii selectai este media
valorilor nregistrate de cei mai buni clasificatori (regulile
ctigtoare). Mecanismul de instruire se realizeaz printr-o
procedur simpl de partajare a performanelor regulilor
ctigtoare.
Mulimea de clasificatori P este evoluat printr-un Algoritm
Genetic. Fiecare individ al populaiei este reprezentarea unei reguli,
respectiv, codificarea binar a cele dou pri: condiie i aciune.
Operatorii genetici de ncruciare i mutaie vor genera noi reguli pe
baza celor mai performante reguli ale mulimii curente. Selecia
prinilor noii populaii se face proporional cu valoarea
performanelor. Probabilitatea de selecie a unui clasificator
i
r
, n
vederea aplicrii ulterioare a operatorilor genetici, este dat de
formula:
( )
( )
( )

P r
i
i
S
t r fitness
t r fitness
t r p
,
,
,
n cazul unui sistem LCS, rezultatul Algoritmului Genetic este
interpretat n mod diferit fa de situaia clasic a optimizrii: nu se
dorete determinarea celui mai performant clasificator, ci obinerea
unei mulimi de reguli care mpreun realizeaz comportamentul
dorit.
Fiecrui clasificator i este ataat o valoare fitness prin care se
estimeaz utilitatea clasificatorului n colectarea recompensei
externe. Dou direcii importante se disting n dezvoltarea sistemelor
de clasificare instruibile: abordrile ZCS i XCS, ale crei diferen
major const n procedura de estimare a valorilor fitness.
37.1.2 ZCS
157
Abordarea ZCS (Zeroth Level Classifier System) a fost introdus
de Wilson n 1994 [1.1.1.2]. Sistemul descris de Wilson pstreaz o
mare parte din structura original al sistemelor LCS propuse de
Holland. Modificrile aduse au scopul de a simplifica i clarifica cadrul
teoretic dar totodat se dorete o mbuntire a performanelor
sistemelor de clasificare instruibile.
Spre deosebire de modelul descris de Holland, sistemul ZCS:
- nu utilizeaz lista de mesaje
- nu utilizeaz valori de licitaie ale clasificatorilor
- nu face uz de simbolul neutru # n reprezentarea aciunilor
regulilor
- alegerea regulilor care vor furniza aciunea sistemului se
face din mulimea de potrivire, strict pe baza valorilor de
performan.
Mulimea de potrivire M se determin n mod analog abordrii
originale LCS. Regulile care recunosc mesajul de intrare vor forma
mulimea M. Din mulimea M, cea mai performant regul, conform
funciei fitness, devine activ. Aceast regul, mpreun cu toi
membrii mulimii M care furnizeaz aciuni identice regulii
ctigtoare, vor constitui mulimea regulilor active A (mulimea
regulilor ce vor forma aciunea sistemului). Toi membrii mulimii A,
vor contribui cu o fraciune fix (
1 0 <
) din performan la
construirea unei valori comune:
( )



A a
t a fitness B , .
Fitness-ul fiecrui membru al populaiei A va fi micorat cu
cantitatea corespunztoare reinut n valoarea comun B.
( ) ( ) ( ) t a fitness t a fitness t a fitness , , ,
(1)
Dac prin efectuarea aciunii unui clasificator a, A a sistemul
obine o recompens imediat w, atunci performana fiecrui
clasificator din mulimea A va fi mrit cu o cantitate:
A
w
:
( ) ( )
A
w
t a fitness t a fitness

+

, ,
(2)
Mulimea A este format din regulile active identificate n
etapa anterioar. Dac A' atunci performanele acelor
158
clasificatori a reinui n mulimea A vor fi mrite cu o cantitate
A'
B
, unde
1 0 <
:
( ) ( )
A'
B
t a fitness t a fitness

+

, ' , '
(3)
Mulimea A va nlocui mulimea A i valoarea B va fi fixat la 0.
De asemenea, pentru a ncuraja exploatarea clasificatorilor
performani, elementele mulimii M care nu fac parte din mulimea
activ A pot fi penalizate: performanele clasificatorilor care recunosc
mesajul de intrare dar n schimb furnizeaz alt aciune dect cea
activ, vor fi micorate cu o fraciune

,

.
Actualizarea mulimii active A implic o recalculare a valorilor
fitness urmnd etapele descrise anterior.
Un algoritmul genetic are scopul de a produce noi clasificatori.
La fiecare iteraie t, cu o probabilitate prestabilit, algoritmul genetic
va fi apelat. Aciunea acestuia const n selectarea prinilor pe baza
valorii de performan, aplicarea operatorilor specifici (recombinare,
mutaie) i nlocuirea populaiei vechi cu noii descendeni obinui.
Fiecare printe va transmite jumtate din valoarea fitness unui
descendent propriu. n aceast manier, fitness-ul total al prinilor i
descendenilor se conserv.
Exist situaia n care mulimea de potrivire M este vid sau nu
conine clasificatori ale cror valoare total de performan s
depeasc o fraciune predefinit

a mediei performanei
populaiei P. n acest caz o procedur suplimentar covering este
apelat n scopul completrii aciunii algoritmului genetic. Rolul
acesteia este de a produce noi clasificatori ale cror condiii se
potrivesc mesajului de intrare i conin un numr aleator de simboluri
neutre #. Aciunile clasificatorilor generai de procedura covering
sunt secvene aleatore de simbolurile binare. Unii membrii ai
populaiei P vor fi nlocuii de noii indivizi produi i algoritmul
general al sistemului va fi reluat din etapa de determinare a mulimii
de potrivire M. Procedura covering nu utilizeaz informaiile
populaiei P, precum algoritmul genetic, ns se dovedete benefic
din moment ce situaia nerecunoaterii mesajului de intrare de ctre
clasificatorii din P este posibil i nu poate fi evitat.
159
37.1.3 XCS
Sistemele XCS propuse de Wilson [1.1.1.2] difer de sistemele
de clasificare ZCS i LCS prin maniera n care este calculat
performana clasificatorilor, dar i prin cteva aspecte ale
algoritmului genetic utilizat.
Prin predicie se nelege msura cantitativ a recompensei
ateptate de clasificator n situaia executrii aciunii acestuia. n
sistemele XCS , performana unei reguli este estimat pe baza
acurateii prediciei pe care o efectueaz i nu pe baza recompensei
primite. Astfel, algoritmul genetic aplicat populaiei de clasificatori va
favoriza supravieuirea acelor clasificatori care au realizat o estimare
bun a recompensei (fie aceasta mare sau mic) n defavoarea
acelora care prezic recompense mari.
Fiecare clasificator va fi nsoit de urmtorii trei parametri:
- predicia p, avnd semnificaia recompensei ateptate
- eroarea e a prediciei
- fitness-ul clasificatorului F
Calcularea valorii de fitness a unui clasificator oarecare se
realizeaz prin parcurgerea urmtoarelor etape:
1. Actualizarea prediciei p:
( ) p r p p +
,
unde prin r s-a notat valoarea recompensei primate,

- constant subunitar.
2. Actualizarea erorii prediciei:
( ) e p r e e +
3. Determinarea acurateii prediciei:

'

,
_

<


altfel
e
e
e e daca
k
v
0
0
1


, unde 0 > v .
4. Determinarea acurateii relative a prediciei, calculat n
funcie de valorile acurateii celorlali clasificatori din
mulimea regulilor active A.
160

A x
x
k
k
k'
5. Actualizarea fitness-ului:
( ) F k F F + '
Apariia noilor clasificatori este datorat unui algoritmul genetic
AG i a procedurii covering (similar celei descrise la sistemele ZCS).
Algoritmul genetic este aplicat la fiecare
AG
t
iteraii asupra mulimii
active A, i nu asupra populaiei P. Prinii noii generaii de
clasificatori sunt selectai din mulimea A n manier proporional cu
fitness-ul. Deoarece populaia global este considerat de
dimensiune constant, adugarea noilor clasificatori obinui prin
operatori genetici implic tergerea unor clasificatori ai generaiei
curente. Selectarea indivizilor ce vor fi teri se face pe baza
estimrii dimensiunii mulimii active A din care fac parte, n mod
proporional cu valoarea estimat.
Ne rezumm la a enumera n continuare principalele aplicaii
ale sistemelor de clasificare:
- data minning
- optimizare
- modelare
- probleme de control
38 Algoritmi memetici
Algoritmii memetici reprezint o alt direcie important n
Calculul Evolutiv. Ideea de baz al acestei clase de tehnici este de a
combina principiile cutrii globale cu cele ale exploatrii locale n
cadrul unei populaii evoluate printr-un algoritm evolutiv. Modelul
natural este evident: evoluia unei populaii este nsoit de nvarea
individual a membrilor si de-a lungul duratei de via. Practic un
algoritm memetic este un algoritm evolutiv care accentueaz
rafinarea indivizilor printr-un proces separat de cutare local.
Datorit combinrii algoritmului evolutiv cu procedurile de
cutare local (spre exemplu Hill Climbing), algoritmii memetici mai
sunt cunoscui sub denumirea de algoritmi evolutivi hibrizi.
161
Denumirea algoritmilor memetici este inspirat din noiunea de
meme introdus de Dawkins n 1976 [1.1.1.2] . Acesta definete
conceptul de meme ca gen cultural, respectiv, acea trstur
individual care este supus adaptrii nainte de a fi transmis
generaiei urmtoare. Precum gena este definit ca unitate
informaional, purttoare de caracteristici biologice, structurale i
interactive ale individului, meme este definit ca o unitate
informaional ipotetic, purttoare de informaie cultural.
Structura general a unui algoritm memetic este descris n
continuare:
Algoritmul AM este:
Fie
( ) 0 P
- populaia iniial; 0 t ;
LocalSearch(
( ) 0 P
)
Evaluare( ( ) t P )
Cttimp (NOT condiie de terminare)
( ) t P
S
=Selecie (
( ) t P
)
( ) t P
M
=Mutaie( ( ) t P
S
)
CutareLocal( ( ) t P
M
)
Evaluare( ( ) t P
M
)
( ) ( ) ( ) t P Generatie CreareNoua t P
M
+1
t:=t+1
SfCttimp
SfAlgoritm
Procedura de cutare local este utilizat n scopul creterii
valorilor de performan ale indivizilor generaiei curente. n acest
sens se pot alegere euristici variate prin care un individ nregistreaz
un progres local. O procedur simpl de cutare local este descris
mai jos:
Procedura Local(curent) este:
Repeta
Genereaz n vecintatea individului curent un nou
individ: vecin
Dac fitness(vecin)>fitness(curent) atunci
curent=vecin
SfDac
Pncnd (condiie de terminare)
162
SfProcedur
Efectul procedurii de cutare local este gsirea unui individ mai
performant din vecintatea celui curent care s-l nlocuiasc pe
acesta n evoluia ulterioar. Algoritmul memetic poate cuprinde o
procedur de rafinare local a tuturor membrilor populaiei sau doar
a unei submulimi a acesteia, selectate pe baza unor condiii
specifice.
39 Differential evolution
Differential Evolution [1.1.1.2] este o metod de rezolvare a
problemelor de optimizare, care mprumut caracteristici ale
Strategiilor Evolutive. n general, Differential Evolution este asociat
cu optimizarea funciilor multidimensionale. Tehnica este valoroas i
n cazul optimizrii multimodale, fiind capabil s determine multiple
optime ale problemei de rezolvat. O succint caracterizare a metodei
DE se deduce din urmtoarele afirmaii:
- DE este o metod de cutare bazat pe populaie;
- DE utilizeaz codificare real a soluiilor candidat;
- DE folosete un procedeu specific de mutaie;
- Algoritmii DE sunt comprehensibili i simplu de
implementat, oferind soluii bune;
Structura general a unui algoritm DE nu difer semnificativ de
structura algoritmului evolutiv standard. Se parcurg aceleai etape:
iniializare populaie, construire nou generaie prin aplicarea
operatorilor de selecie, mutaie, recombinare, repetarea procesului
pn la validarea unei condiii de terminare. Esena metodei este
dat de operatorul de mutaie specific: differential mutation.
Se consider o problem de minimizare a unei funcii
R D f :
,
n
R D . Fiecare individ ( ) t x
i
al populaiei P la generaia t
este un vector n-dimensional reprezentnd o soluie posibil a
spaiului de cutare D:
( ) ( ) ( ) ( ) ( ) t x t x t x t x
n
i i i i
,..., ,
2 1

Populaia P la fiecare generaie t este constituit dintr-un numr


de minim 4 elemente:
163
( ) ( ) ( ) ( ) { } t x t x t x t P
m
,..., ,
2 1
, unde 4 m
Iniializarea populaie const n definirea limitelor inferioar i
superioar pentru fiecare parametru al vectorilor soluie i generarea
aleatoare cu o distribuie uniform n intervalul definit, a valorilor
parametrilor:
{ } m i ,..., 2 , 1 ,
{ } n j ,..., 2 , 1 , [ ]
j j j
i
x x x
sup inf
, .
Pentru un numr de Tmax generaii, sau ct timp o condiie
prestabilit este valid, populaia va fi supus operatorilor de:
mutaie, recombinare i selecie. Dintre aceti operatori ne vom opri
asupra operatorului de mutaie prin care se aduce principala
diferen a metodei DE fa de ceilali algoritmi evolutivi.
Mutaia presupune crearea unui nou vector mutant obinut
printr-o combinare a trei vectori distinci ai populaiei curente,
selectai n mod aleator. n aceast etap, printele (individul curent)
nu contribuie la formarea noului vector:
1. Fie
i
x
- individul curent.
2. Genereaz aleator 3 valori distincte
{ } m i i i ,..., 2 , 1
3 2 1

,
reprezentnd indici din populaia curent a trei vectori:
1 i
x ,
2 i
x ,
3 i
x .
3. Vectorul mutant
i
y
este format, aplicnd regula:
( )
3 2 1 i i i i
x x F x y + , unde:
F se numete factor de mutaie i are valori cuprinse
n intervalul: [0,2]
Vectorul rezultat
i
y se numete vector donor
Recombinarea se aplic imediat asupra vectorului printe i
asupra vectorului donor producnd un nou individ de ncercare care
motenete att trsturi ale printelui ct i trsturi noi, obinute
din vectorul donor. Dac notm noul vector rezultat
i
z , atunci:
4. Fie
i
x
- individul curent i
i
y
- vectorul donor obinut la
punctul 3
5. Vectorul ( )
n
i i i i
z z z z ,..., ,
2 1
se obine astfel:
164
{ } n j ,..., 2 , 1
,

'


>

Ind CR sau j d dacdac v


Ind CR R dacac r x
z
j
i
j
i j
i
Unde:
- Ind este un numr natural selectat aleator din
mulimea indicilor
{ } n ,..., 2 , 1
, utilizat n formula de
determinare a vectorului
i
z n scopul obinerii unui
vector
i
z diferit de vectorul donor
i
y
- CR reprezint o valoare subunitar cu semnificaia
probabilitii de a accepta trsturi din vectorul
donor
- Rand este o valoare generat aleator n intervalul
[0,1]
Selecia const n compararea valorilor de performan a
vectorului printe i a vectorului de ncercare i supravieuirea n
noua generaie a celui care este mai performant:
6. Dac performana(
i
x
)>performana(
i
z
) atunci
i
x supravieuiete n noua generaie
Altfel
i
z l nlocuiete pe
i
x n noua generaie
SfDac
Paii 1,2,...,6 descrii mai sus se execut n mod repetat pn la
ndeplinirea unei condiii de terminare a algoritmului. Aceast
condiie se poate referi la atingerea unui numr maxim prestabilit de
generaii.
Aparent similar algoritmilor evolutivi (strategii evolutive,
algoritmi genetici), prin maniera specific de creare a noilor indivizi,
metoda DE ofer rezultate surprinztor mai bune dect acetia n
multe probleme de optimizare. Mai mult, s-a demonstrat
superioritatea metodei DE fa de metoda Simulated Annealing,
pentru o bogat palet de probleme de optimizare (vezi de ex.
[1.1.1.2]) .
Crowding Differential Evolution [1.1.1.2] este un algoritm
Differential Evolution mbuntit cu un mecanism de meninere a
diversitii populaiei. Ideea de baz a algoritmului const n
165
nlocuirea de ctre descendeni a celor mai apropiai similari
prini din vecintate. Algoritmul CrowdingDE se aplic cu succes n
optimizarea multimodal, reuind s menin n cadrul populaiei
multiplele optime ale problemelor considerate.
166
CAPITOL IX
40 Aplicaii n optimizare
Prin definiia lor, algoritmii evolutivi sunt dedicai rezolvrii
problemelor de optimizare. Capitolul curent prezint modul n care
algoritmii evolutivi abordeaz aceast clas de probleme, evideniind
particularitile, avantajele i dezavantajele utilizrii tehnicilor
evolutive, ct i principalele rezultate obinute n domeniu.
41 Algoritmi evolutivi pentru optimizare unicriterial
Primele aplicaii de succes ale algoritmilor evolutivi (genetici)
constau n rezolvarea problemelor de optimizare unicriterial.
Succesul nregistrat n aceast prim etap a dezvoltrii direciei
Algoritmilor Evolutivi a generat o accentuare a cercetrii pe aceast
traiectorie neconvenional, implicit, conducnd la popularizarea
tehnicilor evolutive dezvoltate.
Paragrafele urmtoare prezint elementele specifice acestui
subiect.
Problema general de optimizare unicriterial
Problema general de optimizare unicriterial fr restricii este
formulat astfel:
Fie f o funcie
R D f :
,
n
R D .
167
P:
( )

'

D x
x f min
Funcia f se numete criteriu sau funcia obiectiv.
Pentru a rezolva aceast problem de optimizare (minimizare)
suntem interesai s determinm vectorul D x
*
de variabile decizie
care satisface definiia de optim (minim) global:
Definiie 1: (minim global) Fie
R D f :
,
n
R D . Spunem c
D x
*
este punct de minim global al funciei f dac:
( ) ( ) x f x f D x
*
, .
n anumite situaii, contextul problemei nu permite
determinarea optimului global, sau impune ca soluia s satisfac
doar definiia optimului local:
Definiie 2: (minim local) Fie
R D f :
,
n
R D . Spunem c
D x
*
este punct de minim local al funciei f dac:
( ) ( ) ( ) ( ) D x V x , x f x a.. f x V
* * *
,
unde prin ( )
*
x V am notat vecintatea lui
*
x .
41.1.1 Avantaje i dezavantaje ale algoritmilor evolutivi
pentru rezolvarea problemelor de optimizare
unicriterial
Particularitile problemelor de optimizare unicriterial,
respectiv complexitatea acestora, susin utilizarea metodelor
evolutive n rezolvarea acestei clase de probleme. Obiectivele
problemelor n cauz sunt traduse prin funcii ale cror valori optime
suntem interesai s le determinm. n general, tehnicile tradiionale
non-evolutive pretind funciei - funciilor de optimizat ndeplinirea
unor condiii suplimentare de genul: derivabilitate, continuitate,
convexitate, etc. Abordarea evolutiv elimin acest neajuns, forma
funciei i caracteristicile acesteia nealternd maniera de rezolvare a
problemei de optimizat. n plus, n situaia problemelor de optimizare
168
unicriterial real, evaluarea performanelor soluiilor candidat se
face n general prin intermediul funciei obiectiv.
Un alt argument n favoarea exploatrii tehnicilor evolutive
const n simplitatea implementrii unor astfel de algoritmi.
n situaia n care o aproximare a soluiei nu este de ajuns,
exist suficiente argumente ce pledeaz n favoarea utilizrii
tehnicilor clasice de rezolvare. Algoritmul evolutiv nu ofer n general
dect o soluie aproximativ, astfel nct, nevoia de determinare a
soluiei exacte elimin n multe situaii folosirea acestor metode,
recomandnd metodele clasice. n anumite probleme considerate
grele, cu un nalt grad de dificultate i complexitate, ineficiena
tehnicilor clasice conduce la optarea pentru algoritmii evolutivi, pe
principiul: o soluie aproximativ, mulumitoare, este de preferat unei
rezolvri ineficiente.
Algoritmii evolutivi s-au dovedit a fi instrumente bune de
rezolvare a problemelor de optimizare. De asemenea, n multe
situaii acetia au reuit s furnizeze soluii mai bune dect metodele
tradiionale de optimizare. Acetia sunt folosii cu succes n cazul
problemelor considerate grele, cu un grad mare de complexitate,
precum optimizarea multimodal, problemele de optim nestaionar,
optimizarea multicriterial, etc.
41.1.2 Particulariti ale algoritmilor evolutivi de
optimizare unicriterial
Fiind dat o problem general de optimizare real unicriterial
P, pentru a aplica un algoritm evolutiv A de rezolvare a acesteia, este
necesar n prealabil evidenierea ctorva elemente definitorii ale
acestuia: modalitatea de codificare a soluiilor, dimensiunea
populaiei, operatorii genetici utilizai, tehnica de selecie i nu n
ultimul rnd funcia de performan funcia prin intermediul creia
se evalueaz calitatea fiecrui individ al populaiei.
n general, n cazul optimizrii reale unicriteriale, funcia de
performan coincide sau deriv din funcia obiectiv. Presupunnd c
se dorete determinarea maximului funciei obiectiv f din domeniul
D, unde:
R D f :
i
n
R D , este natural s considerm o
169
codificare real a soluiilor posibile i s definim ca funcie de
evaluare nsi funcia de maximizat.
Astfel, fiecare cromozom al populaiei reprezint chiar un punct
din spaiul de cutare:
( ) D x x x x
n
,..., ,
2 1
Operatorii genetici folosii sunt alei dintre cei specifici
codificrii reale. De asemenea, tehnica de selecie este aleas n
concordan cu contextul problemei. Posibile variante de operatori
genetici i tehnici de selecie sunt descrise pe larg n lucrri
reprezentative ale literaturii ncadrate domeniului abordat (vezi de
ex. [1.1.1.2], [1.1.1.2]).
Un alt aspect al implementrii unui algoritm evolutiv n cazul unei
probleme de optimizare unicriterial real l reprezint condiia de
oprire. n ce situaii algoritmul poate fi considerat ncheiat i ne poate
furniza soluia final? Sunt precizate n continuare trei posibile
mijloace de a considera ncheiat procesul de optimizare:
- atingerea unui numr oarecare de generaii;
- uniformizarea populaiei: atingerea unui grad
oarecare prestabilit al diversitii populaiei;
- ncetinirea procesului de cutare, spre exemplu:
dac n ultimele k generaii ale algoritmului
populaia nu i-a modificat n esen coninutul,
algoritmul se poate considera ncheiat;
- obinerea unei soluii de calitatea dorit.
Pentru a nu se pierde soluii bune prin trecerea de la o
generaie la alta, algoritmul poate fi suplimentat printr-o form de
elitism. Cea mai simpl manier de implementare a elitismului este
aceea de a transfera nemodificat cel mai bun individ (sau cei mai
buni m indivizi) al generaiei curente n noua generaie.
41.1.3 Explorare versus exploatare
Comportamentul algoritmului evolutiv pentru rezolvarea
problemelor de optimizare n general i n particular a problemelor de
optimizare unicriterial este strns legat de conceptele de exploatare
i explorare a spaiului de cutare. Mai mult, se poate aprecia, c un
bun echilibru ntre cele dou aspecte ale cutrii ar putea constitui
170
cheia succesului unui algoritm evolutiv. Pentru nceput, vom descrie
cele dou concepte discutate n acest paragraf, urmnd a justifica
afirmaia precedent i a analiza legtura dintre acestea i efectul de
convergen prematur.
Explorarea spaiului de cutare ar putea fi cuantificat prin
gradul de acoperire a spaiului soluiilor posibile din care se dorete
extragerea soluiei optime globale, n dinamica procesului de
cutare. O explorare ineficient a spaiului de cutare poate conduce
la capcana convergenei premature nspre un punct de optim local.
Exploatarea spaiului de cutare se definete printr-o
accentuare a cutrii n zonele care se dovedesc promitoare. n
absena acestui fenomen, n ciuda unei explorri eficiente,
apropierea de optimul global este ngreunat. Referindu-ne strict la
optimizarea global, o exploatare prea intens a spaiului de cutare
ar putea fi sursa unei convergene premature nspre un optim local,
perceput greit ca soluia global a problemei.
Cele dou aspecte ale cutrii conturate mai sus sunt legate
datorit faptului c un grad ridicat de explorare a spaiului de
cutare poate reduce gradul de exploatare a zonelor promitoare,
respectiv capacitatea algoritmului de a converge nspre punctele de
optim; reciproc, exploatarea accentuat a zonelor promitoare
reduce substanial capacitatea de explorare eficient a spaiului
soluiilor posibile, respectiv, capacitatea algoritmului de a descoperi
i alte zone promitoare.
O alt interpretare a echilibrului explorare-exploatare poate fi
furnizat prin prisma a dou concepte specifice problematicii
algoritmilor evolutivi, respectiv convergena i diversitatea
populaiei. Dac explorarea eficient a spaiului de cutare este
tradus printr-un grad ridicat al diversitii populaiei, exploatarea
intens a teritoriilor promitoare - privilegiate ale spaiului de
cutare - este tradus prin convergena populaiei nspre soluiile de
optim.
Intuitiv, un bun echilibru ntre aceste dou aspecte ale cutrii
se dovedete a fi una dintre cerinele eseniale n dezvoltarea unui
algoritm evolutiv. Parametrizarea algoritmilor evolutivi permite
factorului uman ajustarea echilibrului explorare-exploatare pe o
problem concret. Cu toate acestea, stabilirea unui echilibru
171
explorare-exploatare rmne o not problematic n economia
dezvoltrii i aplicrii algoritmilor evolutivi n optimizare.
41.1.4 Elitismul
Elitismul a reprezentat ntotdeauna un subiect major de discuie
n arealul Calculului Evolutiv. n procesul evoluiei populaiei, indivizi
performani din generaiile intermediare ar putea fi pierdui n urma
aplicrii operatorilor genetici specifici (recombinare, mutaie,
inversiune). Acest fenomen nu este de dorit, dat fiind faptul c
procesul de convergen a populaiei nspre soluia optim este
ncetinit. Din aceste considerente s-au cutat variate mecanisme de
supravieuire a indivizilor performani de la o generaie la alta, n
scopul accelerrii convergenei algoritmului evolutiv. Literatura de
specialitate recomand i valideaz abordri evolutive elitiste, pe
care ne propunem s le enumerm n cele ce urmeaz.
Pentru a nu se pierde soluii bune prin trecerea de la o
generaie la alta, algoritmul poate fi suplimentat printr-o form de
elitism. Cea mai simpl manier de implementare a elitismului este
aceea de a transfera nemodificai cei mai buni n indivizi al generaiei
curente n noua generaie.
O alt form de elitism o reprezint aceea prin care nu se
permite ca prini performani s fie nlocuii n noua generaie de
ctre descendeni proprii mai slabi. Dei prin implementarea acestei
forme de elitism, gradul de explorare a spaiului de cutare are de
suferit, avantajul cert rezid din faptul c nu este permis
ndeprtarea populaiei curente de zonele dovedite deja a fi
promitoare.
Un alt mecanism de elitism, utilizat cu precdere n probleme
de optimizare multicriterial, const n utilizarea, n mod explicit, a
unei populaii suplimentar de elite denumit arhiv sau
memorie extern.
41.1.5 Tratarea restriciilor
Fiind date funciile:
R R h ,..., h , g ,..., g f,
n
k 1 m 1
:
172
s se determine punctele de minim ale funciei f relative la
mulimea:
( ) ( ) { } k 1, j 0, x ,h m 1, i 0, x g : R x F
j i
n

Formal o astfel de problem se noteaz (vezi notaia (1) ).
( )
( )
( )

'

,...,k , ,j x
j
h
,...,m , ,i x
i
g
ctiile sub restri
x f
2 1 0
2 1 0
min
(1)
Funciile:
m 1,2,..., i g
i
,
p 1,2,..., i h
i
,
din formula (1) reprezint restriciile de egalitate, respectiv,
restriciile de inegalitate.
Cea mai popular metod de tratare a restriciilor este metoda
funciilor de penalizare. Funcia criteriu este modificat prin
adugarea unor termeni suplimentari modelnd restriciile. Astfel,
dac o soluie x violeaz o restricie g
i
atunci, funcia criteriu va fi
amendat (penalizat) cu un factor proporional cu
( )
2
) ( x g
i
.
Pentru a trata restriciile inegalitii se va considera o funcie:
R R t : :
( )
.

'

<

0 , 0
0 ,
a
a a
a t
(2)
Problemei de minim i vom ataa urmtoarea funcie de
penalizare:
( ) ( ) ( ) ( ) ( ) ( ) [ ] .
2
1 1
2


+ +
k
j
j
m
i
i
x h t x g x f x P
(3)
Problema de optimizare cu restricii se va reduce astfel la o
problem clasic de optimizare, respectiv minimizarea funciei P sau
maximizarea funciei:
P
P
+

1
1
'
(4)
42 Optimizare multimodal
173
De cele mai multe ori determinarea optimului global al unei
funcii nu este suficient n contextul problemei considerate. De
aceea s-au cutat metode care s ne furnizeze toate optimele
funciei obiectiv. Problemele de optimizare n care este formulat
explicit cerina determinrii multiplelor optime ale unei funcii (i nu
doar a optimului global) se numesc probleme de optimizare
multimodal.
Problemele reale au n majoritatea cazurilor ca rezultat mai
multe soluii. Acestea pot fi soluii optime sau doar soluii bune
(aproape optimale). Un avantaj al determinrii soluiilor multiple
pentru o problem dat const n posibilitatea alegerii finale a uneia
dintre acestea n concordan cu necesitile date de context.
n majoritatea situaiilor reale, funciile ce modeleaz
matematic un fenomen sau o stare au, de obicei, mai multe puncte
de optim (maxim sau minim). Metodele evolutive au fost dezvoltate
i n acest sens, pentru a permite obinerea multiplelor optime ale
obiectivului de optimizat.
Revenind la sus-amintitul echilibru explorare-exploatare, n
cazul problemelor de optimizare multimodal acest echilibru devine o
cerin fundamental. Pe de o parte, populaia trebuie s conin
indivizi reprezentani pentru multiplele zone promitoare ale
spaiului de cutare, corespunztoare optimelor problemei. Pe de
alta parte, zonele promitoare trebuie sa fie exploatate eficient
pentru a furniza soluii bune.
Principalul neajuns al algoritmilor evolutivi standard const n
pierderea diversitii populaiei fapt care suprim posibilitatea
determinrii multiplelor optime. Paragraful urmtor descrie cteva
metode de eliminare a acestui inconvenient.
Diversitatea populaiei reprezint un factor important in
economia dezvoltrii i aplicrii algoritmilor evolutivi n probleme de
optimizare multimodal. Algoritmul evolutiv clasic se confrunt cu
urmtoarea dificultate major: gradul redus al diversitii populaiei
sau convergena rapid nspre optimul global sau un optim local din
spaiul de cutare nu permite captarea multiplelor optime ale
problemei de rezolvat. Din aceste considerente, cercetarea nscris
arealului calculului evolutiv se focalizeaz i pe acest direcie:
cutarea de noi metode evolutive capabile s trateze cu succes
174
problema optimizarii multimodale. Paragrafele urmtoare descriu
cele mai cunoscute metode de meninerea diversitii populaiei din
literatura de specialitate.
42.1.1 Tehnica Sharing
Tehnica Sharing este o procedur care nsoete algoritmul
evolutiv n problemele de optimizare multimodal. Propus de
Goldberg, aceast tehnic este inspirat de conceptele naturale de
ni ecologic i de evaluare partajat a resurselor.
ntr-un spaiu n care coexist mai multe puncte de optim,
tehnica algoritmului genetic standard va provoca de cele mai multe
ori convergena populaiei nspre un punct de optim, ignorndu-le pe
celelalte. Pentru a permite populaiei s evolueze nspre multiplele
optime, algoritmul genetic trebuie mbogit cu un mecanism prin
care n populaie vor coexista subpopulaii corespunztoare tuturor
punctelor de optim. Aceast partiionare a populaiei este sugerat
de conceptul biologic al nielor ecologice. Fiecare subpopulaie tinde
s ocupe o anumit zon a spaiului de cutare, respectiv, converge
nspre un punct de optim.
Fenomenul natural de coexisten i evoluie a mai multor
specii n aceiai zon (ni ecologic) este explicat prin partajarea
resurselor existente n acea zon. ntr-o manier identic, indivizii
populaiei care sunt situai n aceiai ni vor partaja resursele
acesteia. Partajarea resurselor ntre indivizii unei nie este modelat
matematic printr-o modificare a funciei de performan
corespunztoare acestora.
Se consider o populaie de n indivizi: { }
n
x x x P ,..., ,
2 1
. ntre
oricare indivizi ai populaiei se poate stabili un grad de mprire a
resurselor. Acesta se cuantific printr-o funcie
[ ] 1 0 R , s:
, numit
funcie de partajare, ce verific urmtoarele axiome:
- s este descresctoare
- s(0) =1
-
0 ) ( lim

d s
d
Pentru a stabili gradul de partajare dintre oricare doi indivizi se
va defini n prealabil o funcie distan. Aceasta poate fi dup caz:
175
distana Euclidian, distana Hamming, distana Levenstein, etc. Fie
acest distan d. Cele trei axiome prezentate mai sus pot fi
explicate dup cum urmeaz: cu ct distana dintre indivizi este mai
mic cu att gradul de partajare este mai mare, i reciproc; indivizii
apropiai mpart n mare msur resursele zonei ocupate n timp ce
indivizii deprtai au practic un grad de partajare aproape nul.
O funcie de partajare ce verific axiomele cerute este
urmtoarea:

'

<

a dac ,
a d d, dac
a
s(d)
0
1
1
(5)
Parametru a se numete diametrul niei i semnific distana
maxim dintre doi indivizi pentru care acetia nu mai sunt
considerai ca aparteneni ai aceleiai nie.
Funcia de evaluare se va modific dup formula:
i
i
i
m
x f
x f
) (
) (
*

(6)
n care cantitatea
i
m semnific valoarea niei i se calculeaz dup
formula:

n
j
j i i
x x d s m
1
)) , ( (
(7)
Funcia de evaluare astfel modificat se va numi funcie de
evaluare partajat.
Pentru a evidenia maniera n care sunt meninute n populaie
soluiile optimale se consider cazul urmtor:
Vecintatea V a unei soluii optimale este relativ srac n
indivizi. Prin calcularea funciei de evaluare partajat vor fi favorizai
indivizii acestei zone. Valoarea niei
i
m corespunztoare unui individ
oarecare din vecintatea V este mic n raport cu valoarea niei
corespunztoare unui individ dintr-o zon aglomerat, acest lucru
explicndu-se prin faptul c aportul gradelor ne-nule la valoarea niei
este relativ mic. Astfel, valoarea funciei de evaluare partajat,
respectiv, probabilitatea de selectare a indivizilor dintr-o vecintate
srac devine mai mare.
Reciproc, pentru a se evita convergena prematur spre puncte
de optim corespunztoare unor zone aglomerate, probabilitatea de
176
selecie a indivizilor din aceste zone este mai mic prin modificarea
adus funciei de evaluare. Se stabilete astfel un echilibru ntre cele
dou concepte: explorarea, respectiv exploatarea spaiului soluiilor
posibile.
n populaie va fi meninut diversitatea prin favorizarea
seleciei indivizilor din zone pe cale de dispariie. Este evident
mpiedicarea zonelor aglomerate de a se dezvolta, provocnd n
acest mod o convergen prematur.
42.1.2 Tehnica Crowding
Tehnicile de aglomerare (crowding) au fost propuse de De Jong
[1.1.1.2]. Scopul acestei tehnici este de a provoca indivizii populaiei
s se stabileasc n jurul celor mai promitoare regiuni ale spaiului
de cutare, corespunztoare multiplelor puncte de optim.
Fiecare regiune optim imprim indivizilor aparteneni o
anumit probabilitate de selecie pentru ncruciare. Numrul de
indivizi concentrai n jurul unui punct de optim este proporional cu
puterea de atracie a acelui punct.
Diversitatea populaiei este meninut printr-un mecanism de
nlocuire a indivizilor asemnatori. Gradul de asemnare dintre
oricare doi indivizi se msoar printr-o funcie distan stabilit n
concordan cu contextul problemei respective.
Simplificat, ideea de baz a tehnicii Crowding este aceea prin
care un nou descendent nu l va nlocui pe printele su, ci va nlocui
cel mai asemntor individ dintr-un grup de ali indivizi ai populaiei.
Grupul de indivizi este stabilit n mod aleator i dimensiunea grupului
este un parametru specific tehnicii: factorul de aglomerare.
42.1.3 Tehnica Clearing
Tehnica Clearing [1.1.1.2] este inspirat de acelai principiu al
partajrii resurselor n cadrul unei nie ecologice. Din acest punct de
vedere exist similitudini evidente ntre tehnica clearing i sharing.
Spre deosebire de sharing, tehnica clearing stabilete un nvingtor
al fiecrei subpopulaii (cel mai performant individ din subpopulaie)
care va prelua toate resursele existente ale niei, fapt pentru care
celorlali indivizi ai subpopulaiei li se vor atribui performane nule. O
177
form de generalizare a tehnicii Clearing implic acceptarea mai
multor ctigtori n fiecare subpopulaie.
Niele sunt stabilite pe baza unei funcii de msurare a distanei
ntre indivizi i a unui parametru suplimentar: diametrul clearing ,
avnd o semnificaie similar diametrului niei definit n procedura
sharing.
Mecanismul de Clearing se aplic ntre etapele de evaluare i
selecie ale algoritmului genetic. Folosind o msur a similaritii
(distana Hamming, distana Euclidian, etc.) se vor stabili
subpopulaiile populaiei curente i ulterior, indivizii ctigtori ai
fiecrei subpopulaii. Performanele indivizilor dominani se
pstreaz n timp ce performanele celorlali indivizi vor fi resetate la
valoarea 0. Prin aceasta, se consider c fiecare individ dominant a
preluat n ntregime resursele niei sale.
42.1.4 Tehnica Speciation
Tehnica Speciation reprezint de asemenea o procedur de tip
niching, inspirat de fenomenul natural al apariiilor speciilor. n
natur, procesul de speciation apare n cazul organismelor similare,
cu capacitate de reproducere, care evolueaz i devin prea diferite
pentru a mai putea partaja informaia genetic. Evoluia i
diferenierea speciilor are loc n perioade mari de timp. Protejarea
natural a trsturilor specifice unei specii este datorat
imposibilitii combinrii materialului genetic provenit de la specii
diferite.
Spre exemplu, algoritmul SCGA (Species Conserving Genetic
Algorithm) [1.1.1.2] este un algoritm evolutiv nzestrat cu un
mecanism suplimentar n scopul meninerii multiplelor subpopulaii
corespunztoare optimelor problemei, exploatnd conceptul de
specie. Principiul algoritmului este de a partiiona populaia n mai
multe subpopulaii de indivizi pe baza unei msuri a similaritii
acestora. Fiecare dintre aceste subpopulaii are semnificaia unei
specii i este construit n jurul unui individ dominant: smna
speciei. Toi indivizii dominani ai speciilor vor fi conservai prin
copierea nealterat a acestora n noua generaie, n scopul meninerii
multiplelor zone de interes a spaiului de cutare.
178
Fiecare specie se definete ca o mulime de indivizi cu aceleai
caracteristici. Pentru identificarea speciilor este necesar definirea
unei funcii de msurare a distanei i a unui parametru suplimentar
(distana speciei) indicnd valoarea maxim a distanei ntre oricare
doi indivizi pentru a mai fi considerai similari. Practic, fiecare specie
este o subpopulaie a populaiei curente pentru care distana dintre
oricare doi indivizi este mai mic dect distana speciei. Acest
parametru este stabilit de ctre factorul uman i valoarea sa
influeneaz n mod semnificativ rezultatul algoritmului. Unul dintre
principalele dezavantaje ale tehnicii decurge din dificultatea alegerii
unor valori potrivite ale distanei speciilor.
42.1.5 Funcii de test
Dezvoltarea unui algoritm evolutiv de optimizare numeric
necesit o testare a performanei acestuia i stabilirea specificului
problemelor pe care le rezolv cu succes. Din aceste considerente, se
practic o evaluare a comportamentului algoritmului dezvoltat pentru
probleme de test cunoscute, pentru care se cunosc dificultile cu
care se confrunt algoritmul.
n optimizarea multimodal, literatura de specialitate ofer
funcii de test construite n scopul confruntrii algoritmilor evolutivi
cu variate obstacole. Cteva dintre cele mai populare funcii
multimodale sunt prezentate n continuare:
Funcia Himmelblau
( ) ( ) ( )
2
2
2 1
2
2
2
1 2 1
7 11 , + + + x x x x x x f
Domeniul de cutare: 5 5
i
x , i=1,2.
Aceast funcie are 4 minime globale n domeniul considerat i
poziia acestora este cunoscut:
f(3,2) = 0
f(-3.78, -3.28) = 0.0054
f(-2.81, 3.13) = 0.0085
f(3.58, -1.85) = 0.0011
Funcia Ratsrigin
( ) ( ) ( )
2 1
2
2
2
1 2 1
2 cos 10 2 cos 10 20 , x x x x x x f + +
179
Domeniul de cutare: 12 . 5 12 . 5
i
x , i=1,2.
Aceast funcie de test are 120 de minime locale i un optim
global, distribuite echidistant n domeniul de cutare.

Figura 16 Graficul funciei Rastrigin pe domeniul [ ] [ ] 2 , 2 2 , 2
Funcia Griewank
( ) ( )
( )
1
100
100
4000
1
,..., ,
1 1
2
2 1
+




n
i
i
n
i
i n
i
x
x x x x f
Domeniul de cutare: 500 500
i
x , i=1,...,n.
Figura 17 Graficul funciei Griewank, pentru dou variabile, pe
domeniul [-10,10]x[-10,10]
Funcia Schwefel
( ) ( ) ( )

+
n
i
i i n
x x n x x x f
1
2 1
sin 9829 . 418 ,..., ,
Domeniul de cutare: 500 500
i
x , i=1,...,n.
180
Figura 18 Graficul funciei Schwefel pentru dou variabile, pe domeniul
[-500,500]x[-500,500]
Exemplu: Comportamentul unui algoritm genetic n cazul unei
probleme de optimizare multimodal.
Am considerat urmtoarea problem de maximizare:
Maximizeaz
( ) ( ) x x f 6 sin
unde:
[ ] 1 , 0 x
Funcia f prezint 3 puncte de maxim n domeniul prestabilit.
Cazul 1. Figurile urmtoare nfieaz populaia de indivizi la
diferite intervale de timp, evoluat printr-un algoritm genetic
standard, nenzestrat cu mecanisme de meninere a diversitii (de
ex. sharing) . n acest prim caz, populaia converge nspre un singur
optim al problemei, ignornd celelalte soluii (Figurile 19,20,21).
Figura 19 Populaia iniial generat aleator.
181
Figura 20 Populaia dup 50 de generaii. Algoritm Genetic fr sharing
-1.5
-1
-0.5
0
0.5
1
1.5
0 0.2 0.4 0.6 0.8 1
Figura 21 Populaia dup 100 de generaii determin un singur punct
de optim.
Cazul 2: Figurile urmtoare prezint comportamentul unei
populaii evoluate printr-un algoritm genetic nzestrat cu mecanism
suplimentar de meninerea diversitii (sharing). Se observ c dup
50 de generaii, se formeaz subpopulaii corespunztoare zonelor
de interes din spaiul de cutare, iar, dup 100 de generaii,
populaia se stabilizeaz n multiplele optime ale funciei.
182
Figura 22 Populaia iniial
Figura 23 Populaia dup 50 de generaii
Figura 24 Populaia dup 100 de generaii
43 Optimizare multicriterial
Algoritmii Evolutivi pentru optimizarea multicriterial, datorit
avantajelor multiple pe care le dovedesc, reprezint una dintre cele
183
mai puternice direcii actuale de cercetare. Seciunile urmtoare
definesc conceptele principale ale Optimizrii evolutive multicriteriale
i enumr elemente specifice ale acestui subiect.
43.1.1 Problema general de optimizare multicriterial
Optimizarea multicriterial (denumit i optimizare multi-
obiectiv sau optimizare vectorial) poate fi definit ca o problem de
cutare a unui vector funcie ale crui elemente reprezint funciile
criteriu (obiective).
Fiecare funcie obiectiv reprezint descrierea matematic a
criteriilor de performan care sunt n multe situaii n conflict. Astfel,
termenul de optimizare este folosit n sensul determinrii unei soluii
care ar da valori acceptabile tuturor funciilor obiectiv.
Problema general de optimizare multicriterial este formulat
mai jos:
Fie k funcii obiectiv:
R D f
l
: ,
n
R D , l=1,2,...,k (8)
i restriciile
( ) 0 x g
i
, ,m , , i 2 1 (9)
( ) 0 x h
i
,
,p , , i 2 1 (10)
Considerm problema de minimizare P cu urmtoarele cerinele
(problema de maximizare se formuleaz analog):
S se determine vectorul:

,
_

*
*
2
*
1
*
n
x
x
x
x

(11)
care satisface restriciile (9),(10) i minimizeaz funcia vector:
( )
( )
( )
( )

,
_

x f
x f
x f
x f
k

2
1
(12)
unde x reprezint vectorul de variabile decizie.
184
Problema de minimizare (P) se formuleaz astfel:
( )
( ) { }
( ) { }

'

p 1,2,..., j , x h
m 1,2,..., i , x g
D x
x f
j
i
0
0
min
Cu alte cuvinte, suntem interesai n determinarea din
mulimea, notat F, a valorilor ce satisfac constrngerile (9) i (10),
valorile particulare
*
1
x ,
*
2
x , ,
*
n
x ce produc valorile optime ale
funciilor obiectiv
l
f , l=1,2,...,k.
Condiiile (9) i (10) delimiteaz regiunea soluiilor posibile F.
Problema care apare este aceea c noiunea de optim nu este clar
conturat n acest context, din moment ce rar ntlnim situaia
urmtoare:
F x
,
( ) ( ) x f x f
i i

*
,
k , 1,2, i (13)
n situaia descris prin relaia (13), soluia dorit ar fi
*
x
, dar
practic situaii de acest tip se ntlnesc foarte rar, nct toate ( ) x f
l

s aib minim n F ntr-un punct comun
*
x
.
Datorit acestui neajuns, trebuie stabilit o norm clar pentru a
determina ce ar putea fi considerat soluie optimal.
1.1.1.1 Optim Pareto
Cea mai popular noiune de optimalitate a fost introdus de
Vilfredo Pareto la sfritul secolului XIX.
Se consider problema de minimizare P cu k obiective.
Definiie 3: Spunem c un vector
F x
*
de variabile decizie
este Pareto optimal dac nu exist un alt vector F x astfel nct:
( ) ( )
*
x f x f
i i
, pentru fiecare k , 1,2, i
i
k 1,2,..., j
, astfel nct ( ) ( )
*
x f x f
j j
< .
185
Aceast definiie formal exprim faptul c vectorul
*
x
este
Pareto optimal dac nu exist nici un vector posibil de variabile
decizie F x , care ar descrete unele criterii fr s cauzeze o
cretere simultan a cel puin unui criteriu.
Acest concept introdus ne va furniza, nu o soluie ci o mulime
de soluii numit mulime optimal Pareto.
Vectorii
*
x
ce corespund soluiilor incluse n mulimea Pareto
se numesc nedominai. Vectorii nedominai, determinai de soluiile
optimale Pareto formeaz frontul Pareto.
Definiie 4: (condiia de slab nedominare) Spunem c un
vector
F x
*
de variabile decizie este slab nedominat Pareto dac
nu exist un alt vector F x astfel nct:
( ) ( )
*
i i
x f x f < , pentru fiecare ,k , , i 2 1 .
Figura 25 Exemplu: Optimizare multicriterial. Se dorete minimizarea
celor dou criterii. Din mulimea de vectori reprezentai, doar vectorii
(2,3) i (4,1) sunt nedominai n sens Pareto, deoarece nu exist ali
vectori care s fie mai buni dect acetia n ambele criterii implicate.
1.1.1.2Vector ideal
Fie F - mulimea valorilor ce satisfac constrngerile (9) i (10):
( ) { } ( ) { } { } p 1,2,..., j , x h m 1,2,..., i , x g D x F
j i
0 , 0 :
Presupunem problema de minimizare cu k obiective descris n
formula (14):
186

'



. ) , , , (
min )) ( , ), ( ), ( ( ) (
: ) (
2 1
2 1
F x x x x unde
x f x f x f x f
P
n
k

(14)
Pentru fiecare obiectiv separat
i
f , ,k , , i 2 1 se consider c
s-a determinat minimul:
( ) ( ) ( ) ( )
[ ]
T
i
n
i i i
x x x x
0 0
2
0
1
0
,..., ,
( )
( ) ( ) x x
i
i 0
i
0
i
f
min
F x
f : f


Se noteaz cu
[ ]
T
k
f f f f
0 0
2
0
1
0
,..., ,
- vectorul ideal.
43.1.2 Avantaje i dezavantaje ale algoritmilor evolutivi de
rezolvarea problemelor de optimizare multicriterial
Specificul problemelor de optimizare multicriterial,
complexitatea ridicat a multor probleme reale multiobiectiv,
conduc, n mod implicit, nspre dezvoltarea unor metode
nedeterministe apte s ofere soluii aproximative. Algoritmii Evolutivi
se dovedesc a fi eficieni n rezolvarea problemelor de acest gen,
oferind n majoritatea cazurilor o aproximare bun a frontului Pareto.
n general Algoritmii evolutivi au o aplicabilitate bun n
optimizare. Acetia s-au dovedit a fi utili n optimizarea unicriterial
i optimizarea multimodal. Din aceste considerente, dezvoltarea
tehnicilor evolutive este direcionat i nspre optimizarea
multicriterial.
Algoritmii evolutivi ofer soluii multiple pentru problema
considerat fapt care constituie un argument favorabil exploatrii
acestor tehnici n optimizarea multicriterial, unde soluia dorit este
n fapt o mulime de soluii optimale de compromis.
Algoritmii evolutivi nu pretind funciilor obiectiv ndeplinirea
unor condiii suplimentare fapt care extinde aplicabilitatea acestor
tehnici nspre variate tipuri de probleme de optimizare multicriterial.
Un astfel de algoritm ofer soluiile problemelor considerate
indiferent de forma frontului Pareto: convex, concav, discontinuu,
etc.
Un algoritm evolutiv, la o singur rulare conduce populaia de
soluii posibile nspre frontul Pareto, reuind astfel s ofere nu doar o
187
singur soluie aa cum tehnicile tradiionale o fac, ci o mulime de
soluii optimale prin care este aproximat frontul real Pareto.
Inconvenientele Algoritmilor evolutivi multicriteriali decurg n
principal din gradul de aproximare a frontului real Pareto, grad ce ar
putea fi considerat insuficient n anumite contexte. De asemenea, n
anumite cazuri, timpul de execuie al acestor algoritmi este mai
mare, aspect constituind un alt dezavantaj al utilizrii algoritmilor
evolutivi.
Algoritmi evolutivi sunt parametrizai. Dimensiunea populaiei,
numrul maxim de generaii produse, probabilitatea de mutaie,
probabilitatea de recombinare sau presiunea de selecie sunt doar
civa dintre parametrii cu care este nzestrat un algoritm de acest
gen. Rezultatelor obinute prin utilizarea tehnicilor evolutive sunt
puternic dependente de parametrii menionai, aceast situaie
reprezentnd un dezavantaj major.
43.1.3 Clasificarea metodelor evolutive de optimizare
multicriterial
Cel mai popular concept de optimalitate n cazul problemelor de
optimizare multicriterial, respectiv, conceptul de optimalitate
Pareto, st la baza clasificrii tehnicilor evolutive multicriteriale n
dou categorii:
- Tehnici Pareto sune acele tehnici evolutive destinate
optimizrii multicriteriale care fac uz, n mod explicit, de
conceptul de optimalitate n sens Pareto pentru evaluarea
performanelor infivizilor populaiei curente.
- Metodele non-Pareto sunt metode evolutive care nu
folosesc conceptul de optimalitate Pareto n evaluarea
calitii indivizilor populaiei curente.
43.1.4 Tehnici de agregare
Tehnica de combinare a funciilor obiectiv ntr-o singur funcie
este denumit n mod curent metoda agregrii funciilor i este
aplicat cu un relativ succes n probleme n care comportamentul
funciilor obiectiv este mai mult sau mai puin cunoscut. n cele ce
188
urmeaz sunt prezentate cteva dintre cele mai populare tehnici de
agregare.
Metoda ponderilor
Metoda ponderilor (vezi de ex. [1.1.1.2]) const n ataarea
fiecrui criteriu
i
f
a unei valori subunitare, pozitive,
i
w
numit
pondere. Problema de optimizare multicriterial se transform ntr-o
problem de optimizare unicriterial ce va fi rezolvat folosind
metode specifice acestei clase de probleme. Convenind c este
impus determinarea minimului, problema se poate formaliza astfel:
( )

k
i
i i
x f w
1
min
(1
)
1 0
i
w
(2
)
De obicei se consider,
1
1

k
i
i
w
(3
)
Ponderile
i
w
reprezent importana relativ a obiectivelor.
Aceast metod a fost prima tehnic dezvoltat pentru
generarea soluiilor n optimizarea multicriterial. Este o metod
eficient computaional i genereaz soluia puternic non-dominat.
Unul dintre neajunsuri ar fi acela al modului de determinare a
valorilor ponderilor n cazul n care nu avem suficiente informaii
despre problem.
Dac mulimea soluiilor posibile este convex, atunci poate fi
gsit o mulime complet de soluii Pareto. n caz contrar aceast
metod nu garanteaz obinerea ntregii mulimi de soluii Pareto.
Metoda programrii scopului
n aceast abordare [1.1.1.2], fiecrei funcii obiectiv i este
atribuit o valoare scop ce trebuie atins. Aceste valorile sunt
ncorporate n problem sub forma unor restricii adiionale. Funcia
obiectiv va ncerca s minimizeze deviaiile absolute ale obiectivelor
189
de la scop. Cea mai simpl formalizare a acestei tehnici este
urmtoarea:
( )

k
i
i i
T x f
1
min
F x
(4
)
Criteriul este acela de a minimiza suma valorilor absolute a
diferenelor dintre valorile int impuse i valorile obinute.
Inconvenientul principal este acela al determinrii eficiente a
valorilor int
i
T n situaia n care contextul problemei nu ne
ofer suficiente informaii n acest sens.
Metoda atingerii scopului
Principiul de baz al acestei metode este de a considera doi
vectori: un vector de ponderi
k
w w w ,..., ,
2 1
i un vector scop
k
b b b ,..., ,
2 1
pentru funciile obiectiv
k
f f f ,..., ,
2 1
, urmnd ca cea
mai bun soluie de compromis
*
x
s se determine rezolvnd
problema urmtoare:
Minimizeaz

(5)
( ) 0 x g
j
,
m 1,2,..., j
(restriciile inegalitii) (6)
( )
i i i
w b x f + , k 1,2,..., i (7)
unde:

reprezint o variabil scalar ne-restricionat de semn i


ponderile ndeplinesc condiia:
1
1

k
i
i
w .
Dac anumite ponderi sunt nule, 0
i
w , k 1,2,..., i , atunci
limita maxim a obiectivului
i
f devine chiar
i
b .
Metoda -restriciilor
Metoda -restriciilor [1.1.1.2] const n optimizarea (ex.
minimizarea) unei funcii obiectiv (de regul, cea mai preferat sau
cea considerat principal), considernd celelalte funcii ca restricii
legate de anumite praguri permise
i
, k 1,2,..., i . Nivelele
i
sunt
190
apoi alterate pentru a genera ntreaga mulime optimal Pareto.
Metoda este descris astfel:
A. Determin minimul celei de-a r-a funcie obiectiv, respectiv
determin
*
x
astfel nct:
( ) ( ) x f x f
r
F x
r

min
*
(8
)
( )
i i
x f
,
k 1,2,..., i
,
r i
.
(9
)
Cu
i

se noteaz valorile presupuse pentru fiecare funcie


obiectiv, valori pe care nu dorim s le depeasc acestea.
B. Se repet pasul A pentru diferite valori ale pragurilor
i

pn cnd
se gsete o soluie satisfctoare.
Observaie: Este uneori necesar s se repete procedura de mai sus
pentru diferite valori ale indicelui r.
Pentru determinarea valorilor pragurilor
i
se procedeaz astfel:
pentru fiecare funcie obiectiv
i
f , k 1,2,..., i , se determin
vectorul optim
*
i
x , astfel nct ( )
*
i i
x f este minim. Se consider apoi
c limita inferioar a valorii pragului
i

este dat de ( )
*
i i
x f i cea
superioar, de ( )
*
r i
x f , pentru k 1,2,..., i , r i :
( ) ( )
* *
r i i i i
x f x f
,
k 1,2,..., i
,
r i
.
(10
)
Metoda evolutiv descris folosete ca funcie de evaluare a
calitii soluiilor posibile, funcia criteriu principal. Celelalte funcii
criteriu sunt considerate restricii cu o valoare fix. Algoritmul va fi
rulat n mod repetat pentru diferite valori ale restriciilor, astfel nct,
problema de optimizare multicriterial se reduce la o problem de
optimizare unicriterial cu restricii.
43.1.5 Tehnici non-agregare
Pentru a depi dificultile invocate n metodele bazate pe
agregarea funciilor obiectiv, multe lucrri consacrate domeniului au
urmrit dezvoltarea unor metode alternative. Aceste metode sunt
191
bazate pe proceduri imprimnd o anume dinamic a populaie sau
proceduri ce trateaz n mod diferit obiectivele implicate.
Cteva dintre cele mai populare metode de acest gen sunt
prezentate n cele ce urmeaz.
Metoda VEGA
Abordarea lui Schaffer, denumit VEGA (Vector Evaluated
Genetic Algorithm), a fost propus n [1.1.1.2]. Principiul acestei
metode este acela c fiecare component a vectorului funcie
(fiecare funcie obiectiv) corespunde unei sub-populaii specifice
populaiei curente de indivizi. n aceste condiii, fiecare sub-populaie
va converge ctre optimul corespunztor funciei obiectiv ataate.
Toate sub-populaiile au aceiai dimensiune i mecanismul de
selecie este independent pentru fiecare sub-populaie n
concordan cu funcia obiectiv corespondent. Operatorul de
ncruciare nu ine cont de limitele sub-populaiilor.
Avantajul major al metodei propuse de Schaffer const n
simplitatea sa. ns, dup cum a observat i autorul metodei, soluiile
generate aplicnd metoda VEGA sunt doar local non-dominate i nu
n mod necesar global non-dominate. Acest impediment este cauzat
de metoda de selecie aleas, prin care, indivizii sunt selectai n
funcie de un singur criteriu.
De altfel, n populaie ar putea s apar soluii de performan
medie i aceste soluii se pot dovedi folositoare pentru soluia de
compromis cutat, ns sub schema de selecie propus, ansele de
supravieuire a acestor soluii sunt reduse. Tehnica de selecie
aplicat va prefera doar soluiile ce se remarc n raport cu un
criteriu.
n pofida acestui dezavantaj major precizat mai sus, abordarea
lui Schaffer este folosit cu succes i se dovedete a fi simplu de
implementat.
Metoda optimizrii ierarhice (ordonarea lexicografic)
Metoda optimizrii ierarhice (vezi de ex. [1.1.1.2]) consider
obiectivele ordonate n raport cu importana dat acestora. Soluia
optim
*
x
este apoi obinut prin minimizarea funciilor obiectiv
192
ncepnd cu cea mai important i continund progresiv n
concordan cu ordinea fixat.
Convenim c indicele funciilor obiectiv
i
f , ,...,k , i 2 1
reprezint att numrul obiectivului ct i eticheta de ordine
(importana obiectivului). Astfel, ( ) x f
1
i ( ) x f
k
reprezint cel mai
important, respectiv, cel mai puin important criteriu.
Prima problem este formulat astfel:
Minimizeaz ( ) x f
1
(11
)
( ) 0 x g
j
,
m 1,2,..., j (12
)
Fie
*
1
x soluia primei probleme i ( )
*
1 1
*
1
x f f .
A doua problem este formulat:
Minimizeaz ( ) x f
2
(13
)
( ) 0 x g
j
,
m 1,2,..., j (14
)
( )
*
1 1
f x f
(15
)
Fie
*
2
x soluia problemei i ( )
*
2 2
*
2
x f f .
A i-a problem este formulat:
Minimizeaz ( ) x f
i
(16
)
( ) 0 x g
j
,
m 1,2,..., j (17
)
( )
*
h h
f x f , unde 1 - i 1,2,..., h
(18
)
Fie
*
i
x soluia problemei i.
193
Soluia final
*
k
x , reprezentat de soluia ultimei probleme
(problema a k-a), este considerat soluia dorit a problemei
generale,
*
x
.
Folosirea genului pentru identificarea obiectivelor
Este o abordare asemntoare tehnicii VEGA, dar n care
conceptul de gen este folosit pentru a face distincia ntre cele dou
obiective ale unei probleme de optimizare bi-criterial. n aceast
abordare este permis doar reproducerea indivizilor de genuri
diferite, unde genul este stabilit prin natere. n populaia iniial,
numrul indivizilor de primul gen este egal cu numrul indivizilor de
genul al doilea, ns pe parcurs acest echilibru nu se va pstra
datorit aplicrii operatorilor genetici. La fiecare generaie cel mai
slab individ corespunztor unui gen este eliminat i nlocuit din
populaie cu un altul, generat aleator, de acelai gen. Metoda
folosete strategii evolutive pentru anumite forme de atracie
sexual care ar modifica ulterior maniera de reproducere a indivizilor
populaiei. Ideea este de a modela atracia sexual observabil n
natur, pentru a determina o reproducere nu att de aleatoare.
Ulterior s-a incorporat conceptul de gen/sex n algoritmul
genetic, dar ntr-un mod mai general. n aceast situaie, numrul de
sexe (genuri) nu este limitat la dou, problema de optimizare
extinzndu-se la o problem cu mai mult de dou obiective (numrul
de obiective este egal cu numrul de genuri considerate). O noutate
a acestei metode este aceea c permite ncruciarea generalizat a
mai multor prini.
Reproducerea multi-prini const n a selecta cte un printe
din fiecare gen i de a genera un unic descendent pentru care fiecare
printe i aduce contribuia genetic ntr-o mai mare sau mai mic
msur. Genul noului individ este transmis de ctre printele al crui
aport genetic transferat a fost cel mai mare.
Indivizii sunt evaluai folosindu-se mai multe funcii de
performan corespunztoare genurilor existente.
De-a lungul procesului iterativ descris de algoritmul genetic se
va reine i actualiza periodic o list de soluii ne-dominate. La final,
aceast list conine soluiile optimale Pareto.
194
Tehnica genurilor pentru identificarea obiectivelor este n mare
o variant a abordrii VEGA, diferind modul n care sunt definite sub-
populaiile corespunztoare multiplelor obiective. Diferena major
const n folosirea ncrucirii panmitice care impune anumite
restricii de ncruciare, evitnd ncrucirile aleatoare ntre indivizii
sub-populaiilor diferite permis de abordarea lui Schaffer.
Abordarea Ponderal Min-Max
Abordarea ponderal Min-Max (vezi de ex. [1.1.1.2]) este
prezentat n continuare. Se consider vectorul de funcii criteriu:
( )
( )
( )
( )

,
_

x f
x f
x f
x f
k

2
1
, F x .
i notm
{ } k 1,2,..., I
.
Fie
0
i
f valorile optime ale funciilor criteriu determinate n mod
individual pentru fiecare criteriu. Pentru fiecare I i se vor
determina valorile:
( )
( )
0
0
1
i
i i
i
f
f x f
x z

(19
)
( )
( )
( ) x f
f x f
x z
i
i i
i
0
2

(20
)
cu observaia c F x , ( ) 0 x f
i
.
Dac problema este de minimizare a tuturor criteriilor, atunci
valorile (21) i (20) reprezint incrementele relative ale funciilor
obiectiv.
Se definete urmtorul vector:
( ) ( ) ( ) ( ) [ ]
T
k 2 1
x z ,..., x z , x z x z
(21
)
I i
:
( ) ( ) ( ) { } x z x z x z
i i i
2 1
, max
(22
)
195
Optimul min-max se definete astfel:
Definiie: Spunem c
F x
*
este optimal min-max dac F x are
loc urmtoarea recuren:
1)
( ) ( ) { } x z
I i

F x
x v
i

max min
*
1

{ }
1 1
i I unde
1
i reprezint indicele pentru care ( ) x z
i
este maximal
la pasul 1).
Dac exist o mulime F X
1
, astfel nct
1
X x satisface pasul
1) atunci:
2)
( ) ( ) { } x z
I I i

X x
x v
i
1 1
*
2
\
m a x m i n


{ }
2 1 2
,i i I unde
2
i reprezint indicele pentru care
( ) x z
i
este maximal la pasul 2).

Dac exist o mulime F X


r

1
, astfel nct
1

r
X x
satisface pasul (r-1) atunci:
r)
( ) ( ) { } x z
I I i

X x
x v
i
r 1 - r
r
1
*
\
m a x m i n


{ }
r r r
i I I
1
unde
r
i reprezint indicele pentru care
( ) x z
i
este maximal la pasul r).

Dac exist o mulime F X


k

1
, astfel nct
1

k
X x satisface pasul (k-1) atunci:
k)
( ) ( ) { } x z
I I i

X x
x v
i
k 1 - k
k
1
*
\
m a x m i n

.
196
unde ( )
*
1
x v , ( )
*
2
x v , , ( )
*
x v
k
reprezint mulimea valorilor
optimale ale deviaiilor, n ordine descresctor.
De notat faptul c, dei aceast definiie recurent conine
ecuaii complicate, n multe modele de optimizare primul pas este
suficient pentru a determina optimul.
Semnificaia optimului descris anterior este aceea c,
presupunnd cunoscute extremele fiecrei funcii obiectiv, soluia
dorit este cea care d cele mai mici valori pentru incrementele
relative la toate funciile obiectiv.
Punctul F x
*
ce satisface ecuaiile pailor 1) i 2) poate fi numit
cea mai bun soluie de compromis dac considerm criteriile
simultan cu acelai grad de importan.
Folosirea ponderilor generate aleator i a elitismului.
Un algoritm similar cu tehnica Min-Max este descris n [1.1.1.2],
ns n acest caz, ponderile sunt generate n mod diferit i mulimea
de soluii ne-dominate (n sens Pareto) produse la fiecare generaie
este pstrat separat de populaia curent.
Algoritmul este descris mai jos:
1. Se genereaz aleator o populaie iniial de M indivizi.
2. Cttimp (condiia) execut:
2.1 Pentru fiecare individ al populaiei sunt calculate valorile
celor k funcii obiectiv; sunt determinate soluiile ne-
dominate i sunt introduse ntr-o populaie distinct de
populaia curent (
curent
P ) notat:
non
P . Fie N numrul de
soluii ne-dominate existente n populaia
non
P i M
dimensiunea populaiei curente
curent
P .
2.2 Se selecteaz din
curent
P un numr de (M-N) perechi de
prini dup cum urmeaz:
2.2.a. Se genereaz aleator k valori subunitare:
[ ] 1 , 0 ,..., ,
2 1

k
r r r .
197
2.2.b. Pentru fiecare individ
x
al populaiei se calculeaz
performana acestuia dup formula:
( ) ( )


k
i
i i
x f w x f
1

unde: k reprezint numrul de obiective

k
i
k
i
i
r
r
w
1
, k 1,2,..., i .
Obs: Se poate observa c k 1,2,..., i , 0
i
w i 1
1

k
i
i
w .
2.2.c. Probabilitatea de selectare a unui printe oarecare x
este:
( )
( ) ( )
( ) ( ) { }

curent
curent
curent
P x
P f x f
P f x f
x p
min
min

unde: ( )
curent
P f
min
- cea mai mic performan
nregistrat n populaia
curent
P .
2.2.d. Se aplic operatorul de ncruciare asupra celor (M-
N) perechi de prini. Apoi, se aplic operatorul de mutaie
asupra noilor soluii generate.
2.2.e. Un numr de E soluii din populaia curent
curent
P
sunt selectate aleator i sunt adugate la cele (M-N)
soluii obinute n pasul anterior pentru a putea construi
noua populaie de M indivizi.
Deoarece scopul autorilor este acela de a aplica algoritmul
genetic asupra problemelor de optimizare combinatorial, acetia
propun folosirea unei proceduri de cutare local conform creia,
pentru fiecare individ sunt examinate soluiile dintr-o vecintate
oarecare a acestuia.
198
Dac una dintre posibilele soluii din vecintatea considerat
este mai performant dect individul, atunci aceasta l va nlocui.
Cutarea local este aplicat asupra celor M indivizi din populaia
curent
P .
43.1.6 Optimizare evolutiv multicriterial versus
diversitatea populaiei
Algoritmul genetic standard are tendina de a converge spre o
singur soluie. Acest lucru este de cele mai multe ori dorit; spre
exemplu, n cazul problemelor de optimizare unicriterial global
(unimodal). Exist ns situaii n care acest fenomen de
convergen nspre o unic zon a spaiului de cutare este nedorit.
Problemele de optimizare multimodal ct i problemele de
optimizare multicriterial reprezint situaii n care convergena
prematur a algoritmului standard spre o soluie unic mpiedic
determinarea optimelor multiple (optimizare multimodal) sau a
mulimii optimale Pareto (optimizare multicriterial). Eliminarea
acestui neajuns se face prin mbogirea algoritmul evolutiv/genetic
standard cu un mecanism suplimentar ce permite obinerea, n final,
a mai multor soluii din spaiul de cutare. Acest aspect este strns
legat de gradul de diversitate a populaiei. Astfel, principiul este
urmtorul: cu ct populaia de indivizi este mai divers, cu att ansa
de supravieuire a soluiilor multiple este mai mare. Reciproc, un
grad mic de diversitate n interiorul populaiei scade ansele de
obinere simultan a mai multor soluii.
Concluzia este c diversitatea populaiei este de o necesitate
crucial n rezolvarea problemelor de optimizare multicriterial.
nc din anii de pionierat ai algoritmilor genetici, cercettorii au
semnalat un fenomen nedorit, congergena prematur, pe care l-au
regsit, de asemenea i n natur (genetic drift). Tot natura a fost
cea care a furnizat soluia la acest inconvenient. Astfel, inspirai de
procese naturale, cercettorii au gsit ci de depire a fenomenului
de convergen prematur a populaiei. Vom pomeni aici cteva
dintre tehnicile evolutive care reuesc evitarea fenomenul menionat:
tehnica de aglomerare, conceptul de ni ecologic, modelul insular,
sisteme imune, cromodinamica genetic.
199
43.1.7 Optimizare evolutiv multicriterial versus
elitism
Elitismul poate fi neles ca fenomenul prin care nu este permis
distrugerea indivizilor elit din populaia activ n favoarea altora
mai slabi. Formal, o definite a acestui concept este dat de ctre
Laumanns, Zitzler, Thiele, n [1.1.1.2]:
Definiie: (Elitism) Fie P(t) populaia curent la generaia t.
Notm cu p
t
(x) probabilitatea individului x din P(t) de a fi selectat
pentru reproducere la generaia t. Se spune c algoritmul evolutiv
utilizat este elitist, dac i numai dac, oricare ar fi relaia de
preferin dat de contextul problemei, are loc urmtoarea
condiie:
( ) 0 : :
1 *
>
+
x p P x N t
t t
,
unde: { } x x P x P x P
k t k t t
: :
*
- reprezint toi indivizii
nedominai din P
t
i
( )
t w
t
w P P

- reprezint mulimea tuturor


indivizilor produi pn la generaia t.
Elitismul a reprezentat ntotdeauna un subiect major de discuie
n arealul Calculului Evolutiv. Spre deosebire de optimizarea
unicriterial, problema elitismului n optimizarea multicriterial
devine mult mai complicat. n acest caz, soluiile candidat nu sunt
total ordonate i mai mult, pot fi incomparabile. Cu toate acestea,
abordrile evolutive recurg la diferite forme de elitism i aceast
trstur suplimentar a tehnicilor evolutive de optimizare
multiobiectiv se dovedete a fi avantajoas.
Multe din abordrile elitiste fac uz de o a doua populaie
suplimentar de elite. n legtur cu populaia elitist se pot
formula mai multe ntrebri:
- Care soluii sunt selectate pentru a alctui elita i pentru
ct timp?
- Cum este actualizat populaia elitist?
- Cum afecteaz elita performanele populaiei curente i
invers?
- Cum se implic populaia de elite n producerea de
descendeni?
200
- Cnd i n ce condiii membrii populaiei de elite sunt
reinserai n populaia curent?
Tehnici evolutive Pareto
n continuare sunt prezentate cele mai populare tehnici de
optimizare evolutiv Pareto.
Abordrile evolutive Pareto i au originea n propunerea lui
Goldberg de a folosi ierarhizarea pe clase de soluii nedominate a
populaiei curente i selecia corespunztoare pentru determinarea
frontului Pareto al problemei de optimizare multicriterial. Procesul
se poate descrie astfel: se determin soluiile nedominate din
populaia curent, se eticheteaz cu 1 i se elimin temporar din
populaie. Populaia rmas se supune unui proces asemntor
rezultnd astfel clasa indivizilor de rang 2. Procesul se ncheie n
momentul n care toi indivizii populaiei au fost etichetai.
O alt sugestie a lui Goldberg este aceea de a se utiliza n
aceste rezolvri tehnici de meninerea diversitii populaiei (ex.
mecanism de ni) pentru a mpiedica populaia s convearg spre
un singur punct al frontului de soluii optimale Pareto.
MOGA
O abordare prin care este urmat propunerea lui Goldberg este
cea prezentat n [1.1.1.2] i cunoscut sub denumirea de MOGA.
Aceast tehnic utilizeaz de asemenea o form de etichetare a
indivizilor populaiei ns dup o schem diferit.
Astfel, fie c un individ oarecare al populaiei, rangul acestuia se
calculeaz dup formula:
t
c
p c rang + 1 ) ( (1)
unde:
t
c
p - reprezint numrul de indivizi din populaia P la generaia
t care domin individul c.
Performanele indivizilor populaiei la generaia t sunt calculate
dup urmtoarea procedur:
201
1. Indivizii populaiei sunt etichetai dup schema anterioar i
populaia este ordonat n raport cu rangurile atribuite
indivizilor si.
2. Atribuirea valorilor de performan printr-o tehnic de
interpolare n concordan cu o anumit funcie, n general
liniar.
3. Medierea performanelor indivizilor cu acelai rang.
Punctul 3 se poate interpreta ca o manier de blocare a
performanelor pentru producerea unei mari presiuni de selecie.
Acest lucru ar putea conduce la o convergen prematur.
Ca i cazul metodei descrise de ctre Goldberg, autorii metodei
MOGA propun o metod de ni pentru evitarea inconvenientului
precizat, cu deosebirea c partajarea se face n spaiul valorilor
funciei obiectiv i nu a valorilor parametrilor. Aceast schem de
partajare mpiedic existena simultan n populaie a doi vectori
diferii i cu aceleai valori ale obiectivelor.
NSGA-I (Nondominated Sorting genetic Algorithm -I)
Aceast abordare este propus n 1993 de ctre Deb i Srinivas
[1.1.1.2]. Principiul acestei metode const n evidenierea claselor de
indivizi ai populaiei curente pe baza conceptului de nedominare.
Indivizii nedominai ai populaiei curente sunt grupai ntr-o clas,
atribuindu-le o valoare fals de performan, proporional ns cu
dimensiunea populaiei. Diversitatea populaiei este meninut prin
partajarea valorilor false de performan a indivizilor clasificai.
Aceast prim clas de indivizi evaluai este eliminat temporar din
populaia curent i procesul se reia pentru populaia rmas pn
cnd toi indivizii generaiei respective au fost clasificai.
Abordarea folosete selecia proporional astfel nct indivizii
primei clase, avnd valori maxime ale funciei de performan, vor
furniza mai multe copii n vederea generrii descendenilor dect
ceilali indivizi ai populaiei. Pe de o parte, selecia proporional va
grbi convergena populaiei spre regiunea soluiilor nedominate iar
pe de alt parte, partajarea n spaiul valorilor parametrilor, permite
buna distribuire a populaiei de-a lungul frontului de soluii Pareto.
202
S-a afirmat c abordarea NSGA-I nu este mai eficient nici
computaional, i nici n ceea ce privete calitatea frontului Pareto
produs dect abordarea MOGA..
NSGA-II (Nondominated Sorting genetic Algorithm -II)
NSGA-II [1.1.1.2] reprezint o variant mbuntit a
precedentei NSGA-I. Dezavantajele semnalate ale primei versiuni au
fost n principal:
- complexitatea mrit a sortrii pe baza non-dominanei:
O(mN3), unde N este dimensiunea populaiei i m
numrul de obiective;
- lipsa elitismului (s-a verificat faptul c tehnicile elitiste sunt
superioare celor ne-elitiste);
- impedimentul necesitii specificrii valorii parametrului de
partajare, valoare de care eficiena algoritmului este strns
legat.
Deb, Agrawal, Pratap, Meyarivan, autorii acestui algoritm,
ncearc s depeasc inconvenientele observate, dezvoltnd un
algoritm rapid, elitist i independent de parametrul de partajare.
Algoritmul dezvoltat (NSGA II) devine rapid un algoritm de referin
n literatura de specialitate.
Structura general a algoritmului NSGA II este descris n cele
ce urmeaz.
Algoritm Nondominated Sorting Genetic Algorithm II
1. Generare populaie iniial P
0
de dimensiune N; t:=0;
2. Generare populaie Q
0
de N descendeni ai populaiei P
0
(prin
aplicarea operatorilor genetici: selecie, recombinare, mutaie)
3. cttimp (condiie de terminare=fals) execut
a. R
t
=P
t
Q
t
;
b. Sorteaz populaie R
t
n concordan cu relaia de
nedominare

rezultnd fronturile: { } ,.... F , F F
2 1
.
c. Construiete populaia P
t+1
prin adugarea soluiilor din
fronturile ,.... F , F
2 1
n ordinea dat de indicii
fronturilor pn cnd se depete dimensiunea N.
d. Sorteaz descresctor soluiile din P
t+1
pe baza valorilor
de estimare a gradului de aglomerare.
203
e. Trunchiaz populaia P
t+1
rezultnd populaia P
t+1
de
dimensiune N. (se aleg primii N indivizi ai populaiei
sortate).
f. Generare populaie Q
t+1
prin aplicarea operatorilor
genetici asupra populaiei P
t+1
.
g. t:=t+1;
Autorii algoritmului NSGA II propun un mecanism ingenios de
estimare a gradului de aglomerare a soluiilor. Fiind dat un element
al populaiei, se determin cel mai mare cuboid care l conine pe
acesta i nu conine un alt element al subpopulaiei de care aparine,
determinate n prealabil prin procedeul de sortare pe baza
nondominrii. Dimensiunea acestui cuboid se utilizeaz pentru a se
face discriminarea ntre punctele situate pe acelai nivel de
nondominare.
Principiul este urmtorul: dintre oricare dou puncte cu ranguri
diferite se prefer acela cu un rang mai mic, i dintre oricare doi
indivizi situai pe acelai nivel de nedominare (acelai rang) se va
favoriza selecia aceluia care este situat ntr-o zona mai srac n
indivizi, respectiv individul situat n cuboidul cu dimensiunea mai
mare.
NPGA (Niched Pareto Genetic Algorithm)
Algoritmul NPGA propus de Horn i Nafpliotis [1.1.1.2]
introduce, n esen, un nou tip de selecie, capabil s conduc
populaia nspre mai multe soluii ale problemei, soluii care aparin
frontului Pareto.
Algoritmul de selecie folosit de NPGA este bazat pe schema
seleciei prin concurs, n care intervine i conceptul de dominan
Pareto. Modificrile aduse schemei de selecie constau n sugerarea
unei dimensiuni apropiate de valoarea 10 a setului de comparaie i
maniera de rezolvare a situaiilor de egalitate. Astfel, cei doi
indivizi candidat sunt comparai cu toi indivizii setului de comparaie
pentru a stabili dominana. n situaiile de egalitate, cnd fie ambii
indivizi sunt dominai, fie sunt ambii ne-dominai, decizia se ia n
conformitate cu funcia de evaluare partajat. Principiul este de a
avantaja indivizii aflai n nie srace, fapt care contribuie la
meninerii diversitii populaiei.
204
NPGA s-a dovedit a fi o tehnic rapid i eficient n
determinarea frontului Pareto. Principala critic adus acesteia este
faptul c performana algoritmului este strns legat att de
valoarea factorului de partajare ct i de dimensiunea prestabilit a
setului de comparaie.
SPEA I (Strength Pareto Evolutionary Algorithm - I)
Exist cteva caracteristici ale algoritmului SPEA pe care le
putem regsi la alte metode evolutive de optimizare multicriterial
dezvoltate. Aceste trsturi comune sunt:
- algoritmul folosete conceptul de dominan Pareto n
evaluarea indivizilor populaiei curente;
- utilizeaz o memorie extern pentru pstrarea soluiilor
nedominate gsite pn la momentul respectiv;
- algoritmul este suplimentat printr-un mecanism de
clasificare pentru a reduce numrul soluiilor nedominate
memorate.
Unicitatea sa provine din maniera de evaluare a indivizilor i
tehnica de ni pe care o ncorporeaz:
- fitnessul unui individ se calculeaz relativ la soluiilor
nedominate memorate;
- soluiile din arhiv particip la selecie;
- este oferit o tehnic de ni pentru pstrarea diversitii
populaiei, tehnic ce nu face apel la parametrii de tipul
distanei ci doar la conceptul de optimalitate Pareto.
Algoritmul SPEA [1.1.1.2] reprezint unul dintre cele mai
populare tehnici de optimizare multicriterial din literatur.
SPEA 2 (Strength Pareto Evolutionary Algorithm 2)
Algoritmul SPEA 2 este dezvoltat de Zitzler, Laumanns, Thiele
[1.1.1.2] i reprezint o variant mbuntit a predecesorului SPEA.
Testele autorilor au demonstrat faptul c aceast SPEA 2 ofer soluii
care depesc rezultatele SPEA n diferite probleme de test pe care
le-au considerat.
Algoritmul SPEA 2
0. Iniializare populaia curent P
0

205
1. Iniializare arhiva

0
Q
, t=0.
2. Cttimp (nu s-a atins numrul maxim de generaii admis: T t)
2.2 Evaluarea indivizilor populaiei curente pe baza schemei
modificate de asignare a performanei.
2.3 Toi indivizii nedominai din P
t
i Q
t
intr n P
t+1
. Un
procedeu de trunchiere este aplicat.
2.4 Selecie prin concurs.
2.5 Aplicarea operatorilor de variaie.
2.6 t = t+1;
Diferenele majore fa de tehnica SPEA constau n:
- determinarea performanelor indivizilor se face dup o
schem modificat, lundu-se n considerare pentru fiecare
individ i de evaluat att indivizii populaiei curente pe care
acesta i domin, ct i indivizii care l domin.
- estimarea densitii se face pe baza unui procedeu ce ia n
considerare cel mai apropiat al k-lea individ din generaie,
unde k reprezint un parametru al algoritmului.
- nou metod de trunchiere a arhivei este propus
Rezultate algoritmului se identific prin soluiile nedominate din
ultima generaie. Evaluarea fiecrui individ (notat i) din populaia
curent (P
t
) se face n maniera urmtoare:
Fitness(i)=R(i)+D(i)
unde:
( ) ( )
t t
Q P j j S i R

, , j domin i i S(i) este numrul de


indivizi din
t t
Q P pe care individul i i domin.
( )
( ) i k p
i D
, 2
1
+

, unde p(k,i) reprezint distana fa de cel


mai apropiat al k-lea individ din generaie.
PAES (Pareto Archived Evolutionary Strategy )
Algoritmul PAES este propus de Knowles i Corne [1.1.1.2] i
reprezint n esen o strategie evolutiv de tipul (1+1). Algoritmul
206
presupune meninerea unei populaii arhive de soluii nedominate.
Aceast arhiv are dou scopuri: primul de a memora soluii
nedominate generate i al doilea de a controla presiunea de selecie
pentru a se gsi soluii mai bune.
Algoritmul PAES
1. Generarea unei soluii curente iniiale.
2. Evaluarea soluiei curente i adugarea acesteia la arhiv
3. Ct timp (condiie de oprire = fals)
a. Muteaz soluia curent pentru a genera soluia
candidat
b. Evalueaz soluia candidat
c. Dac soluia candidat nu este dominat de soluia
curent atunci
i. compar soluia candidat cu membrii arhivei
ii. actualizeaz arhiva
iii. selecteaz o nou soluie curent dintre soluia
curent precedent i soluia candidat.
PESA
Algoritmul PESA este propus de Corne, Knowles, i Oates
[1.1.1.2]. Principiul de baz al tehnicii PESA const n controlarea
seleciei i pstrarea diversitii printr-o schem bazat pe divizarea
spaiului n hiper-ptrate. PESA ncorporeaz idei din SPEA i PAES.
Ca i algoritmul SPEA, algoritmul PESA folosete dou populaii: o
populaie intern ce evolueaz i o populaie extern de dimensiune
mai mare ce constituie arhiva de soluii nedominate generate pn la
momentul respectiv.
ntr-o manier asemntoare algoritmului PAES, algoritmul
PESA menine o divizare prin hiper-gril a spaiului ce permite s se
pstreze o imagine a gradului de aglomerare din diferite regiuni ale
arhivei. Spre deosebire de ambele tehnici mai sus menionate, PESA
folosete o selecie bazat pe msura aglomerrii.
Algoritmul PESA
1. Iniializarea populaiei interne PI(0) i evaluarea indivizilor
acesteia. Iniializarea populaiei externe PE(0) = ; t=0.
2. Incorporeaz soluiile nedominate din PI(t) n PE(t).
207
3. Dac (condiia de terminare = fals) atunci
Genereaz PI(t+1) prin operatorii de variaie: recombinare i
mutaie
Altfel
ntoarce PE(t). STOP.
4. Salt la pasul 2.
La pasul 2, un individ al populaiei curente PI(t) intr n arhiva
PE(t) doar dac este att nedominat de ctre ceilali indivizi ai
generaiei sale ct i nedominat de ctre nici un individ al arhivei.
Selecia prinilor pentru aplicarea operatorilor de variaie
(recombinare i mutaie) se face pe baza gradului de aglomerare.
Gradul de aglomerare al unui individ oarecare este proporional cu
numrul de indivizi din hipercubul individului respectiv.
43.1.8 Funcii de test optimizare multicriterial
Testarea performanelor algoritmilor evolutivi de optimizare
multicriterial implic probleme de test i metrici de evaluare special
concepute pentru a determina avantajele, limitrile, dar i o ierarhie
obiectiv a metodelor evolutive dedicate acestui segment de
probleme.
Una dintre cele mai populare suite de probleme de test este cea
propus n [1.1.1.2], avantajul major al problemelor descrise
constnd n testarea abilitii algoritmului de a face fa mai multor
dificulti dar i numrul scalabil de variabile i obiective. Suita
cunoscut sub denumirea de DTLZ, este format din 7 probleme care
implic un numr de M obiective de minimizat i n variabile:
DTLZ1:
Minimizeaz ( ) ( ) ( )
M M
x g x x x x f +

1 ...
2
1
1 2 1 1
Minimizeaz ( ) ( ) ( ) ( )
M M
x g x x x x f +

1 1 ...
2
1
1 2 1 2

208
( ) ( ) ( ) ( )
M M
x g x x f +

1 1
2
1
1 1
Minimizeaz
( ) ( ) ( ) ( )

,
_

M
X
i
x
i i M M
x x X x g 5 . 0 20 cos 5 . 0 100
2

[ ] 1 , 0
i
x , n 1,2,..., i
Sunt sugerate urmtoarele valori:
5
M
X k
, 1 + k M n .
Dificultatea determinrii soluiilor acestei probleme const n
capacitatea populaiei de a converge spre un hiperplan. Exist 11
k
-1
fronturi Pareto optimale locale care pot atrage algoritmul.
Soluiile optimale Pareto corespund lui 5 . 0 *
i
x ,
M i
X x * .
Frontul Pareto este format de hiperplanul liniar:
5 . 0
1

M
i
i
f
DTLZ2:
Minimizeaz ( ) ( ) ( ) ( ) ( ) +
1 1 1
5 . 0 cos ... 5 . 0 cos 1
M M
x x X g x f
Minimizeaz ( ) ( ) ( ) ( ) ( ) +
1 1 2
5 . 0 sin ... 5 . 0 cos 1
M M
x x X g x f

Minimizeaz ( ) ( ) ( ) ( ) +
1
5 . 0 sin 1 x X g x f
M M
( ) ( )


M i
X x
i M
x X g
2
5 . 0
[ ] 1 , 0
i
x , n 1,2,..., i
Cea de-a doua funcie DTLZ are un front Pareto real sferic.
Soluiile optimale Pareto corespund lui 5 . 0 *
i
x ,
M i
X x * ,
Frontul Pareto este format de:
209
1
1
2

M
i
i
f
.
Se sugereaz utilizarea urmtoarelor valori pentru parametrii:
10
M
X k
, 1 + k M n .
DTLZ3:
Minimizeaz ( ) ( ) ( ) ( ) ( ) +
1 1 1
5 . 0 cos ... 5 . 0 cos 1
M M
x x X g x f
Minimizeaz ( ) ( ) ( ) ( ) ( ) +
1 1 2
5 . 0 sin ... 5 . 0 cos 1
M M
x x X g x f

Minimizeaz ( ) ( ) ( ) ( ) +
1
5 . 0 sin 1 x X g x f
M M
( ) ( ) ( ) ( )

,
_

M
X
i
x
i i M M
x x X x g 5 . 0 20 cos 5 . 0 100
2

[ ] 1 , 0
i
x , n 1,2,..., i
Aceast problem introduce multiple fronturi locale optimale
Pareto, care pot atrage populaia evaluat prin algoritmul testat.
Frontul Pareto global este format de:
1
1
2

M
i
i
f
DTLZ4:
Minimizeaz
( ) ( ) ( ) ( ) ( ) +

a
M
a
M
x x X g x f
1 1 1
5 . 0 cos ... 5 . 0 cos 1
Minimizeaz
( ) ( ) ( ) ( ) ( ) +

a
M
a
M
x x X g x f
1 1 2
5 . 0 sin ... 5 . 0 cos 1

Minimizeaz
( ) ( ) ( ) ( ) +
a
M M
x X g x f
1
5 . 0 sin 1
( ) ( )



M
X
i
x
a
i M
x X g
2
5 . 0
210
[ ] 1 , 0
i
x , n 1,2,..., i
Forma funciei DTLZ4 este asemntoare funciei DTLZ2;
singura modificare const n nlocuirea variabilei
i
x cu
a
i
x .
Autorii sugereaz folosirea parametrului 100 a .
DTLZ5:
Minimizeaz ( ) ( ) ( )
,
_


,
_

+

2
cos ...
2
cos 1
1 1 1

M M
X g x f
Minimizeaz
( ) ( ) ( )

,
_


,
_


,
_

+

2
sin .
2
cos .. .
2
cos 1
1 2 1 2

M M M
X g x f

Minimizeaz ( ) ( ) ( )

,
_

+
2
sin 1
1

M M
X g x f
( ) ( )


M
X
i
x
i M
x X g
2
5 . 0
i
( ) ( )
( ) ( )
i M
M
i
x x g
x g
2 1
1 4
+
+

[ ] 1 , 0
i
x , n 1,2,..., i
Problema DTLZ5 testeaz abilitatea algoritmului de a converge
nspre frontul Pareto reprezentat prin curba de ecuaie:
1
1
2

M
i
i
f
,
pentru valorile 5 . 0
i
x , n i ,..., 2 , 1 .
DTLZ6:
Minimizeaz ( )
1 1
x x f

Minimizeaz ( )
1 1

M M
x x f
Minimizeaz ( ) ( ) ( ) ( ) g f f f h X g x f
M M M
, ,..., , 1
1 2 1
+
211
( )


+
M
X
i
x
i
M
M
x
X
x g
9
1
( ) ( )

1
]
1

+
+

1
1
3 sin 1
1
M
i
i
i
f
g
f
M h
[ ] 1 , 0
i
x , n 1,2,..., i
Funcia DTLZ6 are front Pareto este discontinuu, existnd 2
M-1
regiuni optimale.
Se sugereaz utilizarea urmtoarelor valori pentru parametrii:
20
M
X k
, 1 + k M n .
Problema testeaz abilitatea unui algoritm evolutiv multicriterial
de a menine multiple subpopulaii corespunztoare zonelor
optimale.
DTLZ7:
Minimizeaz
( )
[ ]
( ) [ ]
[ ]

M
n
j
M
n
j i
j
i
x
M
n
x f
1

1
,
M j ,..., 2 , 1
unde:
( ) ( ) ( ) 0 1 4 x f x f x g
i M j ,
1 ,..., 2 , 1 M j
( ) ( ) ( ) ( ) [ ] 0 1 min 2
1
1 ,
+ +

x f x f x f x g
j i
M
j i M M
[ ] 1 , 0
i
x , n 1,2,..., i
Problema DTLZ7 este dificil datorit formei frontului Pareto
(acesta este format dintr-o dreapt i un hiperplan) dar i datorit
celor M-1 restricii impuse.
44 Optimizare dinamic
Sub titulatura de optimizare dinamic sunt cuprinse diferite
clase de probleme. Din perspectiva algoritmilor evolutivi, problema
de optimizare dinamic const n determinarea optimelor funciei
criteriu, cnd aceasta i modific forma n timp, fapt care genereaz
poziii variabile ale punctelor de optim la momente de timp diferite.
212
Aceast problem este recunoscut i sub denumirea sugestiv de
optimizare n mediu dinamic. Stadiul cercetrii actuale n aceast
direcie este relativ incipient. Principalul inconvenient al algoritmilor
evolutivi folosii n optimizarea n mediu dinamic rezid din pierderea
diversitii populaiei n urma convergenei spre optimele curente ale
problemei, ceea ce provoac incapacitatea populaiei de a explora
ulterior spaiul de cutare i de a se adapta la schimbrile survenite.
Tehnicile de evitare a acestui neajuns sunt clasificate n trei
categorii [1.1.1.2]:
1. Algoritmii evolutivi sunt lsai s evolueze n sensul clasic,
ns la detectarea unei schimbri n mediu se execut
aciuni explicite de amplificare a gradului de diversitate a
populaiei, spre exemplu, reiniializarea populaiei sau
creterea ratei de mutaie pentru cteva generaii
succesive. Dezavantajul acestei tehnici rezid din
necesitatea meninerii unui mecanism suplimentar prin care
se verific apariia schimbrilor.
2. Algoritmii evolutivi sunt nzestrai cu mecanisme de evitare
a convergenei n sperana c o bun diversitate a populaiei
ar putea conduce la o adaptare mai rapid a acesteia la
schimbrile survenite.
3. Algoritmii evolutivi sunt suplimentai printr-o memorie-
arhiv la care se poate apela pentru informaii utile din
generaiile anterioare. Aceste abordri sunt potrivite n
situaiile n care optimul revine n locaiile anterioare.
Funcii de test pentru optimizarea dinamic evolutiv
Moving Peak Benchmark este o problem de optimizare special
conceput pentru testarea abilitii algoritmului evolutiv de a
determina soluiile optime n mediu dinamic. De asemenea, aceasta
testeaz i capacitatea algoritmului de a gsi i menine multiplele
optime care se modific n timp. Precum se deduce din denumirea
problemei, se dorete determinarea vrfurilor funciei date n
contextul n care, periodic, acestea i modific poziiile i
caracteristicile.
Fiecare vrf (optim) este caracterizat prin:
nlimea
i
h , amplitudinea
i
w i locaia ( )
i
n
i i
p p p ,..., ,
2 1
.
213
Funcia de optimizat este de urmtoarea form:
( ) ( )
n i
k i
n
x x x f x x x f ,..., , max ,..., ,
2 1
, 1
2 1

( )
( )

n
j
i
j j i
i
n i
p x w
h
x x x f
1
2
2 1
1
,..., ,
,
unde:
n- reprezint numrul de variabile
k- reprezint numrul de vrfuri
Vrfurile se modific att la locaie, ct i ca nlime i
amplitudine. n general, se consider vrfurile de form conic,
amplitudinea fiind n acest caz diametrul bazei conului respectiv.
Aceast problem popular (MBP) testeaz abilitatea unui algoritm
evolutiv de a determina optimul, respectiv, optimele corespunztoare
vrfurilor dinamice.
Dezvoltarea algoritmilor evolutivi care fac fa cerinelor
problemei de optimizare n mediu dinamic este necesar. n
problemele reale de optimizare deseori se ntlnete situaia ca
optimul s difere n timp. Un caz particular l reprezint problema
dinamic a comis voiajorului pentru care se dorete determinarea
drumului optim n condiiile n care, la anumite intervale de timp, pot
s dispar sau s apar orae pe harta corespunztoare. O abordare
interesant este tehnica Ant Colony Optimization, care reuete cu
succes s furnizeze soluiile problemei dinamice a comis voiajorului.
J. Branke [1.1.1.2] ofer o investigaie deosebit de util a
problematicii optimizrii n medii dinamice din perspectiva
algoritmilor evolutivi. Lucrarea intitulat Evolutionary Optimization
in Dynamic Environments prezint principalele aplicaii ale
algoritmilor evolutivi n probleme de optimizare dinamic, un sumar
al metodelor evolutive dedicate subiectului i tendinele cercetrii
actuale.
214
45 Bibliografie
1. Kirkpatrick S., Gelatt C. D., Vecchi M. P., Optimization by
Simulated Annealing, Science, Vol 220, Numar 4598, p. 671-680,
1983.
2. Goldberg, David. Genetic Algorithms in Search, Optimization, and
Machine Learning. Addison-Wesley, 1989.
3. Holland, J. H., Adaptation in Natural and Artificial Systems. Univ.
of Michigan Press: Ann Arbor. 1975.
4. Rechenberg, I., Evolutionsstrategie '94. Frommann-Holzboog
Verlag, Stuttgart, 1994.
5. Schwefel, H.-P., Evolution and Optimum Seeking. Wiley, New York,
NY, 1995.
6. Schwefel, H.-P., Rudolph G., Contemporary Evolution Strategies,
p. 893-907 in F. Morana et al. (eds.): Advances in Artificial Life.
Berlin: Springer 1995.
7. Koza, J.R., Genetic Programming: On the Programming of
Computers by Means of Natural Selection, MIT Press, 1992.
8. Eberhart R., Shi Y., Kennedy J., Swarm intelligence, Morgan
Kaufmann, 2001.
9. de Castro, L. N., Von Zuben, F. J., "Artificial Immune Systems: Part
I Basic Theory and Applications " , Technical Report RT DCA
01/99, 1999.
10. de Castro, L. N., Timmis, J. I., "Artificial Immune Systems: A Novel
Paradigm to Pattern Recognition", in Artificial Neural Networks in
Pattern Recognition , J. M. Corchado, L. Alonso, C. Fyfe (eds.),
SOCO-2002, University of Paisley, UK, pp. 67-84, 2002.
11. Hofmeyr S. A., Forrest S., Architecture for an Artificial Immune
System, Evolutionary Computation 8(4): p. 443-473, 2000.
215
12. Metropolis N. , Rosenbluth A. W., Rosenbluth M. N., Teller A. H.,
Teller E., Equation of State Calculations by Fast Computing
Machines, J. Chem. Phys., 21, 1953.
13. Baker, J. E., Reducing Bias and Inefficiency in the Selection
Algorithm, in Proceedings of the Second International
Conference on Genetic Algorithms - ICGA , p. 14-21, 1987.
14. Schaffer, J.D., Morishima, A., "An adaptive crossover distribution
mechanism for genetic algorithms", Genetic Algorithms and their
Applications, in Proceedings of the Second International
Conference on Genetic Algorithms - ICGA, p.36-40, 1987.
15. Eshelman L. J., Caruana R., Schaffer J. D., Biases in the
Crossover Landscape, in Proceedings of the 3rd International
Conference on Genetic Algorithms - ICGA, p. 10-19, 1989.
16. Schwefel, H. Numerical Optimization of Computer Models,
Wiley, Chichester, 1981.
17. Koza J. R., Genetic programming: on the programming of
computers by means of natural selection, MIT Press, Cambridge,
MA, 1992.
18. Koza, J.R., Genetic Programming: A Paradigm for Genetically
Breeding Populations of Computer Programs to Solve Problems,
Stanford University Computer Science Department, Technical
Report STAN-CS-90-1314, 1990.
19. Caruana R., Eshelman L. J., Schaffer J. D., Representation and
Hidden Bias II: Eliminating Defining Length Bias in Genetic Search
via Shuffle Crossover, in Proceddings of IJCAI, Vol I, p. 750-755,
Morgan Kaufmann, 1989.
20. Sywerda G., Uniform crossover in genetic algorithms, in
Proceedings of the Third International Conference on Genetic
Algorithms, J. D. Schaffer, Ed. Morgan Kaufmann Publishers, 1989.
21. Oyman A. I., Beyer H.-G., Schwefel H.-P., "Convergence Behavior
of the (1 +, lambda) Evolution Strategy on the Ridge Functions."
Technical Report SyS-1/98, University of Dortmund, Department
of Computer Science, Systems Analysis Research Group, 1998.
22. Schwefel, H. P. , Bck, T., Evolution Strategies II. Theoretical
aspects, Genetic Algorithms in Engineering and Computer
Science, John Wiley, Chichester, 1995.
216
23. Dorigo M., Sttzle T., Ant Colony Optimization, MIT Press, 2004.
24. Dorigo M., Maniezzo V., Colorni A., Ant System: Optimization by
a colony of cooperating agents. IEEE Transactions on Systems,
Man, and Cybernetics-Part B, 26(1):29-41,1996.
25. Dorigo M., Gambardella L.M., Ant Colony System: A Cooperative
Learning Approach to the Traveling Salesman Problem, IEEE
Transactions on Evolutionary Computation, Vol. 1,p.53-66, 1997.
26. Kennedy J., Eberhart R., Particle swarm optimization, in Proc. of
the IEEE Int. Conf. on Neural Networks, Piscataway, NJ, p. 1942
1948, 1995.
27. Reynolds C. W., Flocks, herds, and schools: A distributed
behavioral model, ACM Computer Graphics, 21(4), p. 2534,
1987.
28. Rudolph G., An Evolutionary Algorithm for Integer
Programming, in Y. Davidor, H.-P. Schwefel, and R. Mnner
(editori): Parallel Problem Solving From Nature, 3, Berlin:
Springer, 1994.
29. De Castro L. N., Von Zuben F. J., Artificial Immune Systems,
Tehnical Report, TR DCA 01/99 December, 1999.
30. Banks A., Vincent J., Anyakoha C., A review of particle swarm
optimization. Part II: hybridisation, combinatorial, multicriteria
and constrained optimization, and indicative applications,
Natural Computing, Vol 7., No.1, p. 109-124, 2008.
31. Jerne, N. K. (1974), Towards a Network Theory of the Immune
System, Ann. Immunol. (Inst. Pasteur) 125C, pp. 373-389.
32. De Castro, L. N., & Von Zuben, F. J., aiNet: An Artificial Immune
Network for Data Analysis, In Data Mining: A Heuristic Approach,
H. A. Abbass, R. A. Sarker, and C. S. Newton (editori), Idea Group
Publishing, USA, Chapter XII, p. 231-259, 2001.
33. Timmis, J, Neal, M., A resource limited artificial immune
system, Knowledge Based Systems, 14(3-4), p 121-130, 2001.
34. Sutton, R., Barto, A., Reinforcement Learning. MIT Press, 1998.
35. Holland, J.H., Reitman, J.H. Cognitive Systems Based in Adaptive
Algorithms, In Waterman, Hayes-Roth (editori) Pattern-directed
Inference Systems. Academic Press, 1978.
217
36. Holland, J.H., A Mathematical Framework for Studying Learning
in Classifier Systems, Physica D 2(1-3): 307-317, 1986.
37. Wilson, S.W., ZCS: A Zeroth-level Classifier System,
Evolutionary Computation 2(1):1-18, 1994.
38. Wilson, S.W., Classifier Fitness Based on Accuracy,
Evolutionary Computation 3(2): 149-76, 1995.
39. De Castro, L. N. , Von Zuben, F. J., Artificial Immune Systems:
Part I Basic Theory and Applications, Technical Report RT DCA
01/99, 1999.
40. De Castro, L. N. , Von Zuben, F. J., Artificial Immune Systems:
Part II A Survey Of Applications, Technical Report RT DCA
02/00, 2000.
41. Dawkins R., Gena Egoist, Editura Tehnic, 2006.
42. Li J-P, Balazs M. E., Parks G. T., Clarkson P. J., A species
conserving genetic algorithm for multimodal function
optimization, Evolutionary Computation, Vol. 10, No.3, p.207-234,
2002.
43. Storn R., Price K., Differential Evolution - A Simple and Efficient
Heuristic for Global Optimization over Continuous Spaces, Journal
of Global Optimization, 11, p. 341359, 1997.
44. Jurgen Branke, Evolutionary Approach to Dynamic Optimization
Problems- Updated Survey, GECCO Workshop on evolutionary
Algorithms for Dynamic Optimization Problems, p 27 30, 2001.
45. Deb K., Thiele L., Laumanns M, Zitzler E., Scalable Test
Problems for Evolutionary Multi-Objective Optimization, In A.
Abraham, L. Jain, R. Goldberg, (editori), Evolutionary
Multiobjective Optimization, p 105-145. London: Springer-Verlag,
2005.
46. Thomsen, R., Multimodal Optimization Using Crowding-Based
Differential Evolution, in Proceedings of the 2004 IEEE Congress
on Evolutionary Computation, IEEE Press, 2004.
47. De Jong K. A., An analysis of the behavior of a class of genetic
adaptive systems. PhD thesis, Univ. Michigan, Ann Arbor, 1975.
48. Petrowski A., A Clearing Procedure as a Niching Method for
Genetic Algorithms, IEEE International Conference on
Evolutionary Computation (ICEC'96), Nagoya, 1996.
218
49. Branke J., Evolutionary Optimization in Dynamic Environments,
Kluver Academic Publishers, 2002.
50. Bck T., Evolutionary Algorithms in Theory and Practice, Oxford
University Press, 1996.
51. Fogel L.J., Owens A.J., Walsh M.J., Artificial Intelligence through
Simulated Evolution, John Wiley, NY, 1966.
52. Zadeh L.A., "Optimality and non-scalar valued performance
criteria," IEEE Trans. Automatic Control, vol. 8, pp. 59-60, 1963.
53. Charnes A, Cooper W.W, Ferguson R, Optimal estimation of
executive compensation by linear programming, Management
Science, 1, 138-151, 1955.
54. Ritzel B. J., Eheart J. W., Ranjithan S., Using genetic algorithms
to solve a multiple objective groundwater pollution containment
problem. Water Resources Research, 30(5):1589-1603, 1994.
55. Schaffer J. D. Multiple Objective Optimization with Vector
Evaluated Genetic Algorithms. In Genetic Algorithms and their
Applications: Proceedings of the First International Conference on
Genetic Algorithms, p. 93-100. Lawrence Erlbaum, 1985.
56. Coello C. A.. C., An Updated Survey of Evolutionary Multiobjective
Optimization Techniques : State of the Art and Future Trends , In
1999 Congress on Evolutionary Computation, Washington, D.C.,
1999.
57. Laumanns M., Zitzler E, Thiele L.. A Unified Model for Multi-
Objective Evolutionary Algorithms with Elitism, n 2000 Congress
on Evolutionary Computation, volume 1, p. 46-53, Piscataway,
New Jersey, July 2000. IEEE Service Center, 2000.
58. Fonseca, C.M., Fleming, P.J., Multiobjective Optimization and
Multiple Constraint Handling with Evolutionary Algorithms I: A
Unified Formula, Research Report no. 564, Sheffield, United
Kingdom, 1995.
59. Srinivas N., Deb K.. Multiobjective Optimization Using
Nondominated Sorting in Genetic Algorithms. Evolutionary
Computation 2(3): 221-248 (1994).
60. Deb, K., Agrawal, S., Pratap, A., Meyarian, T., A Fast Elitist Non-
dominated Sorting Genetic Algorithm for Multiobjective
219
Optimization NSGA II, in Proceedings of the Parallel Solving from
Nature VI Conference, 2000.
61. Horn, J., Napfliotis, N., Multiobjective Optimization Using Niched
Pareto Genetic Algorithm, Illigal Report 93005, Illinois
Evolutionary Algorithms Labopratory, University of Illinois, Urbana
Champaingn, 1993.
62. Zitzler, E., Deb, K., Thiele, L, Comparison of Multiobjective
Evolutionary Algorithms: Empirical Results, Evolutionary
Computation, vol. 8, no. 2, 2000.
63. Zitzler, E., Laumanns, M., Thiele, L., SPEA 2: Improving the
Strenth Pareto Evolutionary Algorithm for Multiobjective
Optimization, 2000.
64. Corne, D., Knowles, J., Oates, M., The Pareto Envelope-based
Selection Algorithm for Multiobjecive Optimization in Proceedings
of the Parallel Solving from Nature VI Conference, 2000.
65. Knowles, J., Corne, D., The Pareto Archived Evolution Strategy: A
New Baseline Algorithm for Multiobjecive Optimization. In
Proceedings of the 1999 Congress on Evolutionary Computation
(CEC'99), Volume 1, p. 98-105, 1999.
220