Sunteți pe pagina 1din 4

CAPITOLUL 7

ALGORITMI GENETICI
7.1. Generalitati 9

Algoritmii genetici reprezinta o familie de modele computational inspirate de


teoria evolutiei. Ace§ti algoritmi codifica solutiile posibile ale unor probleme specifice
intr-o structura de date de tip cromozom §i aplica acestor structuri operatori de
recombinare, pentru a pastra informatia utila.
Implementarea unui algoritm genetic incepe cu o populatie de cromozomi (in
general aleasa aleator). Se evalueaza, apoi, aceste structuri §i se aloca facilitati
reproductive astfel incat acei cromozomi, care reprezinta o solutie mai buna pentru
problema tinta, sa aiba mai multe §anse de a se reproduce decat acei cromozomi care
sunt solutii mai proaste. Definirea unei solutii bune se face, in general, in raport cu
populatia curenta.
Algoritmii genetici se pot utiliza pentru optimizarea unei functii F(xi, x2, ... xM)
ceea ce inseamna ca dorim sa minimizam sau sa maximizam aceasta functie. In acest
caz variabilele ce desemneaza parametrii sunt reprezentate in general prin §iruri binare
(variabilele fiind discretizate apriori).

7.2. Algoritmul genetic canonic


Primul pas in implementarea unui algoritm genetic consta in generarea
populatiei initiale.
In algoritmul genetic canonic fiecare membru al acestei populatii va fi un §ir
binar de lungime L corespunzand codificarii problemei. Fiecare §ir este denumit fie
genotip fie cromozom. In majoritatea cazurilor populatia initiala este generata aleator.
Fiecare §ir este evaluat §i i se atribuie un fitness.
Functia de evaluare sau functia obiectiv reprezinta o masura a performantei in
raport cu o anumita multime de parametrii. Functia fitness transforma aceasta masura a
performantei in alocare de facilitati reproductive.
In algoritmul genetic canonic fitness-ul este definit prin relatia:

unde:
62
f reprezinta evaluarea asociata cu §irul i;
f - evaluarea medie a tuturor §irurilor populatiei.

Este util ca executia unui algoritm genetic sa fie considerata ca un proces in


doua etape:

1. prima etapa consta in aplicarea unei selectii populatiei curente rezultand o


populatie intermediara;
2. a doua etapa consta in aplicarea recombinarilor §i mutatiilor populatiei
intermediare pentru a crea o populatie urmatoare.

Trecerea de la populatia curenta la populatia urmatoare reprezinta o generatie in


executia unui algoritm genetic.
Figura urmatoare explica acest lucru: o generatie se compune din faza selectiei §i
faza recombinarii. Mutatia (nu apare in desen) poate interveni dupa crossover.

Selectie Recombinare
(duplicare) (crossover)
Sir 1 Sir 1 Descendent A (1x2)
**4^
Sir 2 Sir 2 Descendent B (1x2)
^
Sir 3 Sir 3 ' " ч ^ Descendent A (2x4)
Descendent D (2x4)

Generatie Generatia Generatia


curenta t intermediara t urmatoare t+1

In figura de mai sus §irurile care alcatuiesc o generatie reprezinta variabilele


functiei de optimizat, variabile ce sunt de regula anumiti parametrii ai unui fenomen.
Aceste variabile sunt convertite in §iruri binare prin operatia de discretizare. Generatiei
f. .
curente i se aplica operatia de selectie astfel: se calculeaza fitness-ul -=^ §i apoi se
asociaza §anse mai mari §irurilor cu fitness mai mare. Metoda de asociere a §anselor
depinde de algoritmul folosit. De exemplu poate fi folosita o metoda similara cea
utilizata la jocul de ruleta. La jocul de ruleta, pe roata, fiecarui numar i se aloca un
anumit spatiu inegal pe circumferinta rotii. Numerele care vor avea alocat un sector de
cerc mai mare au §anse mai mari sa capteze bila ruletei.
O alta metoda poate fi cea a extragerii aleatoare cu rest. Pentru a aplica aceasta
metoda se parcurg urmatoarele etape:
63
- se calculeaza fitness-ul §i pentru -=->1 partea intreaga indica numarul de
§iruri identice plasate in populatia intermediara;
f.
- partea fractionara -=■ reprezinta §ansa de a mai plasa o copie a §irului. De
exemplu pentru un fitness egal cu 1,36 se plaseaza o copie in generatia
intermediara §i se mai poate plasa una cu probabilitatea 0,36.

Prin recombinare se intelege aplicarea cu o probabilitate p c operatorul crossover


perechilor de §iruri aleator formate.
Functionarea operatorului de crossover va fi explicata prin urmatorul exemplu.
Presupunem doua §iruri binare din generatia intermediara. Pentru a putea urmari modul
de functionare a operatorului cel de-al doilea §ir a fost reprezentat cu simbolurile “x” §i
“y” in loc de “1” §i “0”. Cele doua §iruri sunt:

primul §ir: 1101011011


al doilea §ir: yxxyxxxxyy

Folosind un punct de recombinare aleator ales, un crossover simplu (1-point


crossover) apare ca:

1101V011011
yxxy/\xxxxyy

In urma aplicarii operatorului de recombinare obtinem descendentii:

1101xxxxyy
§i
yxxy011011

Dupa recombinare se poate aplica operatorul de mutatie. Fiecare bit din


populatie se va schimba cu o mica probabilitate p m (in general rata mutatiei este sub
1%).
Dupa ce procesele de selectie, recombinare §i mutatie au luat sfar§it, populatia
urmatoare poate fi evaluata. Evaluarea, selectia, recombinarea §i mutatia formeaza o
generatie in executarea unui algoritm genetic. Generatia urmatoare devine generate
curenta §i algoritmul este reluat pana se atinge obiectivul propus definit de functia
obiectiv.
Teoria algoritmilor genetici presupune o mare varietate de metode §i tehnici
utilizate, incepand de la modul de reprezentare a variabilelor functiei de optimizat §i
terminand cu metodele de calcul.
Rezultatele foarte bune obtinute in unele domenii ale inteligentei artificiale au
impus aceasta metoda pe langa retelele neurale §i multimile nuantate ca instrumente
foarte puternice de lucru.
In concluzie putem spune ca un lucru izbitor la algoritmii genetici §i modelele
paralele este bogatia acestor forme de calcul. Ceea ce pare o mica schimbare in algoritm
duce adeseori la comportari surprinzatoare.
64
Retelele neurale, multimile nuantate §i algoritmii genetici sunt adesea utilizate
impreuna, in diverse domenii ale inteligentei artificiale cum ar fi analiza imaginilor,
recunoa§terea formelor §i a vorbirii, sisteme expert etc.

65

S-ar putea să vă placă și

  • Lista de Comenzi Linux
    Lista de Comenzi Linux
    Document5 pagini
    Lista de Comenzi Linux
    Briceac Doina
    Încă nu există evaluări
  • Velicanu
    Velicanu
    Document7 pagini
    Velicanu
    charme4109
    Încă nu există evaluări
  • Velicanu
    Velicanu
    Document7 pagini
    Velicanu
    charme4109
    Încă nu există evaluări
  • Art01 PDF
    Art01 PDF
    Document8 pagini
    Art01 PDF
    Silviu Petronel
    Încă nu există evaluări
  • Velicanu
    Velicanu
    Document7 pagini
    Velicanu
    charme4109
    Încă nu există evaluări
  • Oracle
    Oracle
    Document27 pagini
    Oracle
    Briceac Doina
    Încă nu există evaluări
  • Lab Optica Rom
    Lab Optica Rom
    Document10 pagini
    Lab Optica Rom
    Briceac Doina
    Încă nu există evaluări
  • Grafica
    Grafica
    Document18 pagini
    Grafica
    Briceac Doina
    Încă nu există evaluări
  • Optika Oglinzi Lentile
    Optika Oglinzi Lentile
    Document3 pagini
    Optika Oglinzi Lentile
    Briceac Doina
    Încă nu există evaluări
  • Optika Oglinzi Lentile
    Optika Oglinzi Lentile
    Document3 pagini
    Optika Oglinzi Lentile
    Briceac Doina
    Încă nu există evaluări