Sunteți pe pagina 1din 22

Sisteme evolutive

Obiective:
Îmbinarea cunoştinţelor multidisciplinare din domeniul ingineriei sistemelor,
calculatoarelor şi tehnologiei informaţiei în vederea cercetării, proiectării,
optimizării, implementării şi testării de teorii, algoritmi şi metode originale
specifice sistemelor complexe de control, şi ale reţelelor industriale.
 Definirea problemelor pretabile pentru soluţionarea prin metode euristice
(metaeuristice)
 Rezolvarea unor probleme de control optimal pentru sisteme complexe
 Conceperea algoritmilor euristici
 Implementarea algoritmilor eurisitci
 Sintetizarea de algoritmi de control pentru sisteme complexe.

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


1
Curs

Notiuni si concepte ale sistemelor evolutive


Algoritmi genetici (AG)
Utilizarea algoritmilor genetici în sisteme de control
Utilizarea algoritmilor genetici în proiectare
Determinarea traiectoriilor cu algoritmi genetici
Utilizarea algoritmilor genetici la reţele neuronale şi sisteme fuzzy
Metode evolutive pentru probleme de optimizare multiobiectiv
Algoritmi evolutivi pentru probleme de optimizare cu restrictii
Utilizarea algoritmilor genetici în sisteme de clasificare
Programarea genetică (PG)
Sinteza algoritmilor de control utilizând PG
Bloat control
Genetic network programming (GNP, Reţele genetice de programare)
Aplicaţii ale GNP

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


2
Evaluare
Varianta 1:
1. Conceperea soluţiei aplicaţiei de cercetare (tema de disertaţie) folosind metode evolutive
2. Prezentarea soluţiei la o dată programată la curs
3. Corectarea sau/şi completarea soluţiei (dacă este cazul) până la data examenului

Varianta 2:
Rezolvarea unei aplicaţii date la examen utilizând o metodă evolutivă specificată
Nota_finală = 0.66∙E + 0.33∙L

Proiect: implementarea + testarea soluţiei; din tema de la disertație

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


3
1. Introducere în SE
Noţiuni şi concepte
ale sistemelor evolutive
Wikipedia:
In computer science, evolutionary computation is a subfield of artificial intelligence (more
particularly computational intelligence) that involves combinatorial optimization problems.

Evolutionary computation uses iterative progress, such as growth or development in a


population. This population is then selected in a guided random search using parallel processing
to achieve the desired end. Such processes are often inspired by biological mechanisms of
evolution.
Evolution of the population then takes place after the repeated application of the above
operators.
An evolutionary algorithm (EA) is a subset of evolutionary computation, a generic
population-based metaheuristic optimization algorithm. An EA uses some mechanisms inspired
by biological evolution: reproduction, mutation, recombination, and selection.

Evolutionary programming is one of the four major evolutionary algorithm paradigms. It is


similar to genetic programming, but the structure of the program to be optimized is fixed, while
its numerical parameters are allowed to evolve.
Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte
4
Calculul evolutiv este o adaptare a conceptelor din teoria selecţiei naturale şi a evoluţiei
speciilor.

Algoritmi evolutivi: transpun la nivelul metodelor de calcul numeric paradigmele teoriei


evoluţioniste.

Scop:
Rezolvă probleme de optimizare cu grad mare de complexitate.
Caută soluţii într-un spaţiu foarte mare şi complex

Justificare
Au un grad mare de generalitate
Nu cer condiţii severe de aplicabilitate

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


5
Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte
6
Proces evolutiv:
 Se realizează pe durata unui număr mare de generaţii
 Se observă proprietăţile topologice ale spaţiului de căutare
 Se experimentează capacitatea de adaptare a soluţiilor concurente

Tehnici evolutive: conţin un set de metode şi procedee evolutive

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


7
Tehnici de căutare a soluţiilor:
 Tehnici bazate pe calcule
o Metode directe – ex.: Fibonacii, Newton, etc.
o Metode indirecte
 Tehnici de căutare ghidate aleator
o Simulated annealing – la fiecare pas se consideră o vecinătate a stării curente şi se decide
probabilistic dacă se deplasează spre o stare vecină
o Algoritmi evolutivi (evolutionary algorithms)
 Strategii evolutive (evolutionary strategies)
 Algoritmi genetici
 Paraleli
o Centralizaţi
o Distribuiţi
 Secvenţiali
o Steady-state
o Generational
 Tehnici enumerative (enumerative teqhniques) programarea dinamică

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


8
Domeniul de căutare a soluţiei
 Extrem de mare şi complex
 Necunoscut complet
 Dinamic (modificabil, variabil?)

Tehnici de calcul evolutiv – trăsături esenţiale:


 Eficienţă şi robusteţe
 Grad mare de adaptare la probleme diverse şi complexe

Se bazează pe:
Structură  individ  populaţie -- generaţie  evaluare adaptare

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


9
Tehnici evolutive - Direcţii de dezvoltare:
 Algoritmi genetici –
o model general de proces adaptiv
o structura considerată în procesul adaptiv este o reprezentare a parametrilor de decizie
 Strategii evolutive
o Structurile existente în populaţie sunt o imagine a parametrilor de decizie
o Diferă de AG prin mecanismele de înnoire a materialului genetic
 Programarea evolutivă
o S-au utilizat în special la automate cu stări finite care reprezintă schimbările unui mediu
o Se utilizează la probleme de optimizare cu parametrii continui
 Programare genetică – se caută cel mai bun program care poate rezolva o problemă de
optimizare – determină calculatoarele să rezolve automat probleme
 Sisteme de clasificare – construiesc clasificatori prin mecanisme evolutive

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


10
Algorimi genetici – descriere generală
Metodă de căutare şi/sau optimizare
Soluţionează:
 Optimizări liniare + neliniare (cu restricţii neliniare?)
 Optimizări multiobiectiv

Populaţie = o mulţime de soluţii posibile


Generaţie = o etapă a algoritmului
Individ cromozom  o soluţie posibilă

Evaluarea indivizilor – conform cu obiectivele problemei de optimizare (fitness function –


funcţie de potrivire)
Indivizii mai potriviţi (adaptaţi) sunt mai avantajaţi să supravieţuiască şi să se reproducă
Reproducere  noi soluţii posibile – se obţine prin încrucişarea materialului genetic
Procesul de reproducere realizează direcţionarea căutărilor soluţiilor către alte puncte.

Operatori:
 Recombinare – încrucişare  direcţionare eficientă
 Mutaţie  mici variaţii în materialul genetic al copiilor

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


11
Trăsături relevante:
 Analizează în paralel o mulţime (populaţie)
 Utilizează reguli stochastice de tranziţie
 Se bazează pe cunoaşterea valorilor funcţiei obiectiv
 Operează cu o codificare a setului de parametrii

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


12
Avantaje:
 Solicită doar valorile funcţiei obiectiv – pot fi folosite modele (simulate) pentru mediul în
care evoluează indivizii
 Nu cer un formalism complicat
 Nu sunt pretenţioşi referitor la condiţiile de lucru
 Au un grad mare de generalitate
 Euristica cerută se încadrează în algoritm
 Se pot utiliza şi pentru funcţii care nu sunt continue sau derivabile
 Sunt robuşti datorită numărului mare de puncte de căutare care se consideră la un moment dat
– se aplică şi la funcţii obiectiv zgomotoase sau lent variabile în timp
 Sunt eficienţi la optimizări neliniare, multiobiectiv,
o cu restricţii neliniare,
o cu spaţii mari de căutare,
o cu număr mare de variabile de decizie
 Evită blocarea algoritmului în puncte de optim local
 Sunt uşor:
o de implementat – au o structură flexibilă
o de reconfigurat
 Au un potenţial ridicat de paralelizare

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


13
Dezavantaje:
 Execuţia lor consumă mult timp datorită multelor puncte de căutare
 Nu garantează găsirea unui optim global
 Performanţele sunt dependente de modul de codificare şi selectare a indivizilor
 Performanţele depind de calitatea generatorului de numere aleatoare

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


14
Algoritmii evolutivi:
 sunt tehnici din inteligenţa artificială
 utilizează
o noţiuni de
 inteligenţă
 învăţare
 adaptare
o observaţii pentru învăţarea inductivă

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


15
Biogenetică
 genom – informaţia ereditară a unui organism viu (codificată în ADN)
 genotip (genotype) – mulţime particulară de gene moştenite din
genom care asigură trăsături specifice organismului viu – structura
este cromozomul (chromosome) - reprezentarea codificată a unui
individ– este colecţia tuturor genelor - este şirul de caractere prin care
este codificat un individ
 fenotip (phenotype) – caracteristicile observabile ale organismului
(morfologie, dezvoltare, proprietăţi biochimice sau fiziologice,
comportament) – este expresia genotipului în mediu – este
reprezentarea decodificată a unui individ – corespunde la structura şi
comportament observabil
 genă – o unitate sau o secţiune dintr-un genotip sau cromozom – cea
mai mică informaţie genetică – idică o anumită trăsătură a individului
– este unitatea de transfer a eredităţii

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


16
 alelă – valoarea luată de gene – alfabetul din care ia valori o genă –
domeniul din care ia valori gena
 locus – loc – poziţia ocupată de o genă în cromozom
 populaţie – setul câtorva indivizi – corespunde la unitatea de evoluţie
 individ – un membru al populaţiei – este o soluţie candidat este
unitatea de selecţie
 mapping – decodifică fenotipul şi creează reprezentantul individului
 morfogeneză – procesul biologic care face ca un organism să se
dezvolte la forma sa (creşterea celulelor + diferenţiere)
 fitness – potrivire – exprimă performanţa unui fenotip (individ) relativ
la obiectiv – măsoară succesul unui individ (organism) în viaţă

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


17
Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte
18
2. Algoritmi genetici
Structura programului care implementează algoritmul genetic
Alegerea cromozomului – genotip (genotype)
Construirea individului = soluţie = mapping
Evaluarea individului (a soluţiei)  Funcţie de performanţă + simularea
mediului – Fitness function
Selectarea unor indivizi (soluţii) pentru reproducere  criterii de
alegere
Construirea unor noi indivizi (soluţii) – operatori genetici

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


19
Genotype – structure of the chromosome

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


20
Genetic operators:
 mutation - mutaţie
 crossover - încrucişare

Evolution:
 selection - selecţie
 application of genetic operators

Fitness function:
 behavior evaluation
 structure evaluation

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


21
*
****
*** END ***
****
*

Tiberiu Leţia: Sisteme evolutive: Noţiuni şi concepte


22

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