Sie sind auf Seite 1von 45

Tcnicas de Seleccin

Las estrategias evolutivas utilizan la seleccin en dos casos Para elegir los individuos para la reproduccin. Para determinar la forma de construccin de la nueva poblacin antes de pasar a la prxima generacin. Una parte fundamental del funcionamiento de los Algoritmos Genticos (AG) es la seleccin de los candidatos para la reproduccin.
1

Tcnicas de Seleccin en AGs

Pueden clasificarse en tres grupos Seleccin Proporcional Seleccin mediante torneo Seleccin de estado uniforme

Seleccin Proporcional

Los individuos son elegidos en funcin de su contribucin de aptitud respecto al total de la poblacin. Grupos dentro de la Selec.Proporcional La Ruleta Sobrante Estocstico Universal Estocstica Muestreo Determinstico
3

Mtodo de la ruleta

Caractersticas

Es simple pero ineficiente. Posee complejidad O(n2). Presenta el problema de que el individuo menos apto puede ser seleccionado ms de una vez.

Algoritmo de la Ruleta (Segn De Jong)


Calcular la suma de los valores esperados T Repetir N veces (N es el tamao de la poblacin) Generar un nmero aleatorio r entre 0 y T Recorrer secuencialmente los individuos, sumando los valores esperados, hasta que la suma sea mayor o igual a r. El individuo que haga que la suma exceda el lmite r es el seleccionado.
5

Mtodo de la Ruleta. Ejemplo


Individuo Aptitud o Fitness Prob. de Seleccin Nro. de Copias

25 0.09 286

1
2 3 4 TOTAL

25
81 36 144 286

0.09
0.28 0.13 0.50 1.00

0.35
1.13 0.51 2.01 4.00

Es un valor entre 0 y 1. Ser ms alto cuanto mejor sea el valor de fitness del individuo. Se calcula como (Valor de fitness/Suma de fitness)
6

Mtodo de la Ruleta. Ejemplo


Individuo Aptitud o Fitness Prob. de Seleccin Nro. de Copias

1
2 3 4 TOTAL

25
81 36 144 286

0.09
0.28 0.13 0.50 1.00

0.35
1.13 0.51 2.01 4.00

286 f 71.5 4 25 0.35 71.5

El nmero de copias esperadas depende de la relacin entre el valor de aptitud del individuo y el fitness promedio de la poblacin. Se calcula como (Valor de fitness/Fitness Promedio)

Mtodo de la Ruleta. Ejemplo


Individuo Aptitud o Fitness Prob. de Seleccin Nro. de Copias

1
2 3 4 TOTAL

25
81 36 144 286

0.09
0.28 0.13 0.50 1.00

0.35
1.13 0.51 2.01 4.00

Note que la relacin es siempre la misma


25 0.09 0.35 286 1 4
8

Mtodo de la Ruleta. Ejemplo


Individuo 1 2 3 4 Aptitud o Fitness 25 81 36 144 Prob. de Seleccin 0.09 0.28 0.13 0.50 Ve = Nro. de Copias 0.35 1.13 0.51 2.01

TOTAL

286

1.00

4.00

En el ejemplo T=4. Suponga que r=1.3 Hasta el individuo 1 la suma=0.35<r

Al sumar el individuo 2 la suma=1.48>r


Por lo tanto, se selecciona al individuo 2.
9

Anlisis de la ruleta

Problemas

Diferencias entre el valor de copias esperado y el valor real de copias obtenido.

El peor individuo puede seleccionarse varias veces.

Complejidad

El algoritmo es de O(n2) tornndose ineficiente conforme crece n (el tamao de la poblacin)


10

Sobrante Estocstico

Fue propuesto por Booker y Brindle como una alternativa para aproximarse ms a los valores de copias esperados por individuo. Asigna determinsticamente las partes enteras de los valores esperados para cada individuo y luego utiliza otro esquema (proporcional) para la parte fraccionaria. Esto reduce los problemas de la ruleta pero puede llevar a la convergencia prematura.
11

Algoritmo del Sobrante Estocstico

Asignar de manera determinstica la cantidad de valores esperados a cada individuo (parte entera).

Los valores restantes (sobrante del redondeo) se usan probabilsticamente para rellenar la poblacin. Variantes Sin reemplazo Con reemplazo
12

Algoritmo del Sobrante Estocstico

Variantes

Sin reemplazo : Cada sobrante se usa para sesgar el tiro de una moneda que determina si una cadena se selecciona de nuevo o no. Con reemplazo : Los sobrantes se usan para dimensionar los segmentos de una ruleta y se usa esta tcnica de manera tradicional.
13

Sobrante Estocstico. Ejemplo

2 padres se eligen de manera determinstica y los otros dos segn la variante adoptada.
14

Sobrante Estocstico. Ejemplo

Sin reemplazo

flip(n)
retorna TRUE con probabilidad n

Se aplica hasta tener el nmero de padres requeridos


15

Sobrante Estocstico. Ejemplo

Con reemplazo

Armar la ruleta y aplicar

16

Anlisis del Sobrante Estocstico

Complejidad Versin sin reemplazo : O(n) 2 Versin con reemplazo : O(n )


La ms popular es la versin sin reemplazo.

El sobrante estocstico reduce los problemas de la ruleta pero puede llevar a la convergencia prematura al introducir mayor presin de seleccin.
17

Universal Estocstica

Fue introducida por Baker con el objetivo de minimizar la mala distribucin de los individuos en la poblacin en funcin de sus valores esperados.

18

Universal Estocstica.Algoritmo
ptr := rand(); sum := 0; i := 1; while (i <= n) do begin sum = sum + Ve(i); while (sum > ptr) do begin Seleccionar(i); ptr := ptr + 1; end; i:=i+1; end;
19

Universal Estocstica.Ejemplo

Suponga que el valor random generado inicialmente es ptr=0.4


20

Universal Estocstica. Ejemplo n= 4 (en el ejemplo)


ptr:=rand(); sum:=0; i:=1; while (i <= n) do begin sum = sum + Ve(i); while (sum > ptr) do Seleccionar(i); ptr := ptr + 1; end; i:=i+1; end;

Ve = [1.23 0.78 1.76 0.23]


ptr=0.4 Suma = 0 i=1 Seleccionados ninguno

begin

21

Universal Estocstica. Ejemplo n= 4 (en el ejemplo)


ptr:=rand(); sum:=0; i:=1; while (i <= n) do begin sum = sum + Ve(i); while (sum > ptr) do Seleccionar(i); ptr := ptr + 1; end; i:=i+1; end;

Ve = [1.23 0.78 1.76 0.23]


ptr=0.4 Suma = 1.23 i=1 Seleccionados ninguno

begin

22

Universal Estocstica. Ejemplo n= 4 (en el ejemplo)


ptr:=rand(); sum:=0; i:=1; while (i <= n) do begin sum = sum + Ve(i); while (sum > ptr) do Seleccionar(i); ptr := ptr + 1; end; i:=i+1; end;

Ve = [1.23 0.78 1.76 0.23]


ptr=0.4 Suma = 1.23 i=1 Seleccionados 1

begin

23

Universal Estocstica. Ejemplo n= 4 (en el ejemplo)

Ve = [1.23 0.78 1.76 0.23]

ptr:=rand(); ptr=1.4 sum:=0; Suma = 1.23 i:=1; i=1 while (i <= n) do begin Seleccionados 1 sum = sum + Ve(i); while (sum > ptr) do begin Seleccionar(i); ptr := ptr + 1; end; i:=i+1; Como (1.23<1.4), termina el ciclo end;
24

Universal Estocstica. Ejemplo n= 4 (en el ejemplo)


ptr:=rand(); ptr=1.4 sum:=0; Suma = 2.01 i:=1; i=2 while (i <= n) do begin Seleccionados 1 sum = sum + Ve(i); while (sum > ptr) do begin Seleccionar(i); ptr := ptr + 1; end; i:=i+1; end;

Ve = [1.23 0.78 1.76 0.23]

Universal Estocstica. Ejemplo n= 4 (en el ejemplo)

Ve = [1.23 0.78 1.76 0.23]

ptr:=rand(); ptr=1.4 sum:=0; Suma = 2.01 i:=1; i=2 while (i <= n) do begin Seleccionados 1, 2 sum = sum + Ve(i); while (sum > ptr) do begin Seleccionar(i); ptr := ptr + 1; end; i:=i+1; end;

Universal Estocstica. Ejemplo n= 4 (en el ejemplo)

Ve = [1.23 0.78 1.76 0.23]

ptr:=rand(); ptr=2.4 sum:=0; Suma = 2.01 i:=1; i=2 while (i <= n) do begin Seleccionados 1, 2 sum = sum + Ve(i); while (sum > ptr) do begin Seleccionar(i); ptr := ptr + 1; end; i:=i+1; Como (2.01<2.4), termina el ciclo end;

Universal Estocstica. Ejemplo n= 4 (en el ejemplo)

Ve = [1.23 0.78 1.76 0.23]

ptr:=rand(); ptr=2.4 sum:=0; Suma = 3.77 i:=1; i=3 while (i <= n) do begin Seleccionados 1, 2, 3 sum = sum + Ve(i); while (sum > ptr) do begin Seleccionar(i); ptr := ptr + 1; end; i:=i+1; end;
28

Universal Estocstica. Ejemplo n= 4 (en el ejemplo)

Ve = [1.23 0.78 1.76 0.23]

ptr:=rand(); ptr=3.4 sum:=0; Suma = 3.77 i:=1; i=3 while (i <= n) do begin Seleccionados 1, 2, 3 sum = sum + Ve(i); while (sum > ptr) do begin Seleccionar(i); ptr := ptr + 1; end; i:=i+1; Como (3.77>3.4), el individuo 3 se end; seleccionar otra vez

29

Universal Estocstica. Ejemplo n= 4 (en el ejemplo)

Ve = [1.23 0.78 1.76 0.23]

ptr:=rand(); ptr=3.4 sum:=0; Suma = 3.77 i:=1; i=3 while (i <= n) do begin Seleccionados 1, 2, 3, 3 sum = sum + Ve(i); while (sum > ptr) do begin Seleccionar(i); ptr := ptr + 1; end; Ya se seleccionaron todos los i:=i+1; padres necesarios termina. end;
30

Anlisis de la Seleccn Universal Estocstica


Complejidad : O(n) Problemas

Puede ocasionar convergencia prematura.


Hace que los individuos ms aptos se multipliquen muy rpidamente.

No resuelve el problema de la seleccin proporcional que busca que el nmero de copias reales coincida con los valores de copias esperados.
31

Muestreo Determinstico
Algoritmo

(similar al sobrante estadstico pero requiere ordenacin)

Calcular Pselect=fitnes(pi)/suma de los fitness

Calcular Ve(pi) = Pselect*n


Asignar determinsticamente la parte entera de Ve(pi). Ordenar la poblacin segn los valores decimales. Obtener los padres faltantes de la parte superior de la lista.
32

Muestreo Determinstico. Ejemplo

33

Anlisis del Muestreo Determinstico

Complejidad :

La asignacin determinstica es O(n) La ordenacin es O(n log n)

Problemas

Padece de los mismos problemas que el sobrante estadstico.

34

Seleccin por Torneo

Los mtodos de seleccin proporcional requieren de dos pasos

Calcular la aptitud media. Calcular el valor esperado de copias de cada individuo.

La seleccin por torneo realiza la seleccin en base a comparaciones directas de los individuos. Es fcil de paralelizar.
35

Seleccin por Torneo

Hay dos tipos de seleccin por torneo Determinstica Probabilstica

36

Seleccin por torneo Determinstica

Algoritmo Barajar los individuos de la poblacin Escoger un nmero p de individuos (generalmente 2). Compararlos en base a su aptitud. El ganador del torneo es el individuo ms apto. Debe barajarse la poblacin un total de p veces para seleccionar N padres.
37

Seleccin por torneo Determinstica. Ejemplo

Padres : (6) y (1) (3) y (6) (4) y (3)


38

Seleccin por torneo Probabilstica.

El algoritmo es igual a la versin determinstica salvo por la eleccin del ganador del torneo.

En vez de seleccionar siempre al individuo ms apto, se utiliza la funcin flip(p)

si el resultado es TRUE, se elige al ms apto. Si no, se selecciona el menos apto.

El valor de p permanece fijo durante todo el proceso evolutivo y su valor es 0.5<p<=1


39

Seleccin por torneo Probabilstica. Ejemplo

Note que si p=1 la tcnica se reduce a la versin determinstica.


40

Anlisis de la Seleccin por Torneo

La versin determinstica garantiza que el mejor individuo ser seleccionado p veces (siendo p el tamao del torneo).
Complejidad

Cada competencia requiere la seleccin aleatoria de un nmero constante de individuos de la poblacin O(1)

Se requieren n competencias para completar una generacin.


Por lo tanto el algoritmo es O(n).
41

Anlisis de la Seleccin por Torneo (cont)

Es eficiente y fcil de implementar.


Puede introducir una presin selectiva muy alta en la versin determinstica ya que lo malos individuos no tienen oportunidad de sobrevivir. Puede regularse la presin selectiva variando el tamao del torneo. A medida que se aumente el tamao del torneo se realizar mayor presin selectiva.
42

Seleccin uniforme

Se utiliza en AGs no generacionales donde slo unos cuantos individuos son reemplazados en cada generacin (los menos aptos).

Resulta til cuando los individuos resuelven un problema de forma colectiva (no individual).
43

Seleccin uniforme

Algoritmo

Sea G la poblacin original Seleccionar R individuos (1<=R<M) de entre los ms aptos (ej: R=2) Efectuar cruza y mutacin a los R individuos seleccionados. Sean H sus hijos. Elegir al mejor individuo en H ( o a los mejores) Reemplazar los peores individuos de G por los mejores individuos de H.
44

Anlisis de la Seleccin Uniforme


Mecanismo especializado de seleccin Su complejidad es O(n log n). Los AGs no generacionales no son muy comunes en problemas de optimizacin, aunque s pueden utilizarse.

45

Das könnte Ihnen auch gefallen