Sunteți pe pagina 1din 33

Sisteme evolutive

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


Selecţia indivizilor pentru reproducţie
(metode de selecţie)
Population Size Crossover Rate Mutation Rate Generation Gap Elitist
n=100 0.75-0.95 0.0005-0.01 90 10

1. Roulette Wheel = Roata ruletei


- roteşte roata de n ori
- selecţia proporţională cu valoarea funcţiei de potrivire
- n indivizi cu f1, f2, ..., fn valorile lor de potrivire
k
S   fi Sk   fi
i i 1
r = random(); 0≤ r ≤ 1
q= r∙S
select individual k if Sk ≤ q ≤ Sk+1
Individul este selectat pentru operaţii genetice, dar este introdus înapoi în populaţie. Poate fi
selectat de mai multe ori.

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


2. Stochastic Universal Sampling = Eşantionul universal stochastic
- roteşte roata o singură dată; roata are n pointeri instalaţi la distanţă egală (eşantion); mai mulţi
pointeri pot indica acelaşi individ va fi selectat de mai multe ori, iar unii pot să nu fie
selectaţi niciodată
eşantion E=S/n
r=random(); 0≤ r ≤ 1
q = r∙E ; q’= E - q
for (k=0; k<n; k++)
if Si ≤ (q’+k∙E) ≤ Si+1 select i

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


3) Sigma Scaling = Scalarea sigma
- sigma = deviaţia standard a populaţiei

n  fi
 (t )  1
n ( f
i 1
i  )  i
n

if σ(t) > 0; fi 
ExpValue(i )  1  2 ( t )

if σ(t) =0; ExpValue(i) = 1.

ExpValue(i) este valoarea aşteptată a selecţiei individului i.


- gestionează presiunea selecţiei – indivizii mai potriviţi au un număr mai mare de urmaşi
- dacă σ(t) =0, indizii au probabilităţi de selecţie 1.

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


4) Elitism
- păstrează un număr dintre cei mai peformanţi indivizi în generaţia următoare
- s-ar pierde zestrea lor dacă nu ar fi selectaţi
- se păstrează cea mai bună soluţie de la o generaţie la alta

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


5) Selecţia Boltzmann
- scalarea sigma ţine presiunea selecţiei constantă pe tot parcursul execuţie (evoluţiei)
- este mai indicat ca la început selecţia să fie mai liberă, iar mai târziu să se accentueze cu
performanţa (potrivirea)
- selecţia Bolzmann utilizează o variaţie continuă a temperaturii pentru controlul ratei selecţiei
conform cu o planificare presetată.
- se menţine astfel un grad mare de diversitate
-

Soluția se considerǎ energie


ExpValue(i)  e fi / S
( e fi / S )'
1. Genereazǎ (uniform) aleator o soluție ȋn
vecinǎtatea soluției curente.

2. Acceptǎ pentru noua soluție probabilitatea p = exp(- Enew/T) / [exp(-Enew/T – exp(-Eold/T)]

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


6) Rank Selection = Selecţia după rang
- previne convergenţa prea rapidă
- indivizii sunt ordonaţi după fitness
- ExpValue(i) depinde mai mult de ordine decât de valoarea absolută a funcţiei de potrivire

- Min e valoarea aşteptată a individului cu rang =1

ranki 1
ExpValue(i)  Min  (Max  Min) n 1

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


7) Tournament Selection = Selecţia prin turnir
Metodele anterioare utilizau doi paşi:
- pas pentru crearea mediei sau calculul deviaţiei standard
- pas pentru calculul valorii aşteptate de alegere a unui individ

Algoritmul turnirului:
- se aleg aleator doi indivizi din populaţie
- se determină r = random()
- fie k un parametru (ex.: k= 0.75)
Dacă r < k  selectează ambii indivizi
Dacă r ≥ k  selectează doar individul cu fitness-ul cel mai bun

- Se aplică până când s-a selectat numărul dorit de indivizi.


- Cei doi indivizi sunt returnaţi înapoi în bazinul populaţiei.

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


3. Aplicaţii ale algoritmilor genetici
(AG)

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


Probleme rezolvate cu AG
1. Control:
- identificare
- reglare
- echilibrare
- urmărire
- evitarea rachetelor
2. Proiectare:
- aranjarea semiconductorilor
- proiectarea avioanelor de luptă
- proiectarea reţelelor de comunicaţie
- configurarea tastaturilor
3. Planificarea (scheduling):
- în sisteme flexibile de fabricaţie – planificarea activităţilor
- alocarea resurselor
4. Determinarea traiectoriilor:
- în robotică
- la traficul urban al vehiculelor
- la traficul trenurilor
Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG
5. Sisteme de învăţare:
- proiectarea reţelelor neuronale
- sisteme de clasificare
- control adaptiv cu învăţare
6. Procesarea semnalelor: proiectarea filtrelor
7. Jocuri:
- poker
- şah
- dilema prinzonierului
8. Combinatoriale:
- acoperirea seturilor
- voiajorul comercial
- rutare
- împachetare
9. Optimizare:
- colorarea grafurilor
- partiţionarea

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


C3.1 Probleme de control
Identificarea
Identificarea parametrilor unui model
- Se dă: modelul cu parametrii nedeterminaţi
- Se cere: determinarea valorilor parametrilor
Tipuri de sisteme:
- cu timp discret
- cu timp continuu
- cu evenimente discrete

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


Sisteme cu timp discret

a b e
Procesul real este: x (k  1)    x(k )   u ( k )
c d f
x(0)=[0,0]
Valorile a,b,c,d,e,f,i,j sunt cunoscute. i 
Modelul cu parametrii de identificat y (k )  g hx(k )   u (k )
 j
a ' b'   e' 
xM ( k  1)    xM ( k )    u ( k )
 c' d '  f '
 i' 
yM (k )  g ' h'xM (k )   u (k ) M
 j '
Se cer valorile pentru a’,b’,c’,d’,e’,f’,i’,j’
Funcţia de potrivire (fitness function):

J  min
a ',b ',c ',d ',e ', f ',g ',h ',i ', j '
k
[( x ( k )  x ' ( k )) 2
 (( y ( k )  y ' ( k )) 2
]

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


Cromozom=?
Operatori ?
Selecţie?
Populaţie?
Criteriul de oprire?

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


X1(K+1)
Process x2(k+1)
u(k)
y(k+1)

X’1(K+1)
Model x’2(k+1)
Y’(k+1)

Evaluator
Fitness function

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


C3.2 Sisteme de control
Sistem de reglare
Se consideră o anumită instalaţie cu model cunoscut, parametrii instalaţiei
măsuraţi sau identificaţi.
Concepeţi un sistem de reglare de tip PID. Determinaţi parametrii
regulatorului.

Sistem de urmărire
Se consideră un anumit sistem dinamic (instalaţie, plant, robot) cu modelul dat
şi cu parametrii lui cunoscuţi.
Se dă o anumită traiectorie în funcţie de timp.
Se cere determinarea comenzilor (în funcţie de timp) care forţează instalaţia să
evolueze cât mai aproape de traiectoria cerută.

Constrângeri
Se dă un sistem ce trebuie controlat astfel încât să evolueze cu respectarea unor
constrângeri date.

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


C3.3. Sisteme cu logică fuzzy

Sarcini:
 determinarea parametrilor funcţiilor de apartenenţă
 determinarea regulilor logice

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


Fuzzificarea -defuzzificarea

Degree of
membership

d1
1 L M H
d’1

s1 x1 s2
0 Mărimea măsurată
0 a
Fig. 2. Membership functions
max

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


Reguli în logica fuzzy
IF (x1 is A1) AND (x2 is A2) AND …. (xn is An) AND
(y1 is B1) AND (y2 is B2) AND …. (yn is Bn)
THEN (z1 is C1); (z2 is C2);…; (zn is Cn)

Ai, Bi, Ci belong to the set {H, M, L}; i=1, 2, …

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


Degree of
membership

1 L M H
d1
d2
0
li mi hi max
Control signal value
0
. m

z   ( zi )
Fig. 3. Defuzzification
i
j 1
gi  m

 (z
j 1
i )

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


x1 R1 z1
y1 e1
x2 R2 z2
y2 e2
x3 R3 z3
y3 e3
x4 R4 z4
y4
Fig. 4. The general structure of the hierarchical fuzzy logic controller.

Hierarchical FLC

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


y1 R1
x1 e1
y2 R12 e12 R2 z2
x2 e2
y3 R23 e23 R3 z3
x3 e3
y4 R34
e34 R4 z4
x4

y z
x R0 e
Fig. 6. Generic fuzzy rule set template.

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


The control rule matrix for independent controllers

Xi
L M H
L (L;L) (?;?) (?;?)
Yj M (?;?) (?;?) (?;?)
H (?;?) (?;?) (H;H)

IF (xi is Ai) AND (yj is Bi)THEN (z1 is C1); (z2 is C2)

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


Genetic Algorithm

Fuzzy Logic
Controller Coordinator
Others
Membership Fuzzy Membership Fuzzy
Functions Rules Functions Logic Controllers

Defuzzifi-
Inference
cation
Fuzzification

Model or processes

Fig. 12. Genetic design and distributed fuzzy logic control.

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


Generic genetic algorithm:
input: r0i, v0i, u0i; i =1, …, N
output: RuleMat
for vi = H- to H+
Initialize a population;
for xi = H- to H+
while (solution does not fulfill precision)
Simulate the system;
Evaluate the performance;
Select individuals for reproduction;
Create offsprings;
endwhile
endfor
endfor

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


C4. Probleme de alocarea resurselor
Planificarea mişcării trenurilor

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG
Soluţie OFFLINE
Se dau:
Structura
Un set de trenuri

Se cer:
Genomul
Mappingul
Fitness function

Se determină:
Modul de alocare a resurselor

Modul de rezolvare OFFLINE

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


Soluţie ONLINE
Se dau:
Structura
Un set de trenuri
O planificare anterioară a
trenurilor = alocare a resurselor
Un tren are întârziere = abatere de
la planificarea iniţială.
Se cer:
Genomul
Mappingul
Fitness function
Se determină:
O nouă alocare a resurselor. Modul de rezolvare ONLINE

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


Controlul traficului urban al vehiculelor
Planificarea alocării timpilor
Stop Flow split
line

Intersection
Flow
Lane
Detector
Traffic lights

Uncontrolled
input and output
Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG
Problema 1.
Determinarea duratelor fazelor

Intersection
1
Stream Intersectio
Traffic
1 ni Stream
Intersection lights 4 Intersection
2 4
Stream Lane Stop
2 2 Stream
line
3
Intersection
3

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


Problema 2.
Determinarea fluxurilor

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG


*
***
*****
*** END ***
*****
***
*

Tiberiu Leţia: Sisteme evolutive: Aplicaţii ale AG

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