Documente Academic
Documente Profesional
Documente Cultură
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
+
( )
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 +
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
< <
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
'
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 +
( )
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
+ +
.
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:
'
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
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
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
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
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),
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
+1)
Algoritmul Strategiei evolutive (
+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) 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
+) i (
, )
const n maniera de constituire a noii generaii: n strategia (
+)
prinii i descendenii intr n competiie pentru supravieuire, n
timp ce strategia (
.
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
.
-
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 (
+) garanteaz
supravieuirea celor mai performani indivizi i pare a fi mai eficient
dect selecia (
+)
este de a reine soluia/soluiile curente, fapt pentru care
urmrirea optimului dinamic este ngreunat. Spre deosebire,
selecia (
+) 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 (
, ), (
+).
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:
( ) { }
c c c t P ,..., ,
2 1
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
indivizi (primii
indivizi:
( ) { }
c c c t P ,..., ,
2 1
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 .
.
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
, 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
,
respectiv 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
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
'
>
'
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:
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
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).
{ }
r r r
i I I
1
unde
r
i reprezint indicele pentru care
( ) x z
i
este maximal la pasul r).
.
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
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