Sei sulla pagina 1di 179

Algoritmos Genticos

D.Sc. Yvn Jess Tpac Valdivia


Doctorado en Ciencia de la Computacin
Universidad Nacional de San Agustn

April 21, 2012


Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

1 / 57

Algoritmos Genticos

Algoritmos Genticos
Introduccin

Denominados inicialmente planes reproductivos genticos.


[Holland, 1962a, Holland, 1962b] observ que usando reglas simples
llegaba a comportamientos adaptativos, posibilitando estudiar la evolucin
en sistemas complejos.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

2 / 57

Algoritmos Genticos

Algoritmos Genticos
Introduccin

Denominados inicialmente planes reproductivos genticos.


[Holland, 1962a, Holland, 1962b] observ que usando reglas simples
llegaba a comportamientos adaptativos, posibilitando estudiar la evolucin
en sistemas complejos.
Haba que considerar los siguientes principios:
a) la adaptacin ocurre en un ambiente.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

2 / 57

Algoritmos Genticos

Algoritmos Genticos
Introduccin

Denominados inicialmente planes reproductivos genticos.


[Holland, 1962a, Holland, 1962b] observ que usando reglas simples
llegaba a comportamientos adaptativos, posibilitando estudiar la evolucin
en sistemas complejos.
Haba que considerar los siguientes principios:
a) la adaptacin ocurre en un ambiente.
b) la adaptacin es un proceso poblacional

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

2 / 57

Algoritmos Genticos

Algoritmos Genticos
Introduccin

Denominados inicialmente planes reproductivos genticos.


[Holland, 1962a, Holland, 1962b] observ que usando reglas simples
llegaba a comportamientos adaptativos, posibilitando estudiar la evolucin
en sistemas complejos.
Haba que considerar los siguientes principios:
a) la adaptacin ocurre en un ambiente.
b) la adaptacin es un proceso poblacional
c) Comportamientos individuales pueden representarse como programas.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

2 / 57

Algoritmos Genticos

Algoritmos Genticos
Introduccin

Denominados inicialmente planes reproductivos genticos.


[Holland, 1962a, Holland, 1962b] observ que usando reglas simples
llegaba a comportamientos adaptativos, posibilitando estudiar la evolucin
en sistemas complejos.
Haba que considerar los siguientes principios:
a) la adaptacin ocurre en un ambiente.
b) la adaptacin es un proceso poblacional
c) Comportamientos individuales pueden representarse como programas.
d) Pueden generarse comportamientos futuros haciendo variaciones
aleatorias en los programas.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

2 / 57

Algoritmos Genticos

Algoritmos Genticos
Introduccin

Denominados inicialmente planes reproductivos genticos.


[Holland, 1962a, Holland, 1962b] observ que usando reglas simples
llegaba a comportamientos adaptativos, posibilitando estudiar la evolucin
en sistemas complejos.
Haba que considerar los siguientes principios:
a) la adaptacin ocurre en un ambiente.
b) la adaptacin es un proceso poblacional
c) Comportamientos individuales pueden representarse como programas.
d) Pueden generarse comportamientos futuros haciendo variaciones
aleatorias en los programas.
e) las salidas de los programas mantienen relacin, si sus respectivas
estructuras tambin la mantienen.
Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

2 / 57

Algoritmos Genticos

Algoritmos Genticos
Definicin

Definicin
Los Algoritmos Genticos son algoritmos estocsticos que implementan
mtodos de bsqueda a partir de un modelo computacional de algunos
fenmenos Neodarwinianos como: la herencia gentica y la supervivencia
de los ms aptos.
La metfora que est por detrs de los algoritmos genticos es la evolucin
natural.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

3 / 57

Algoritmos Genticos

Algoritmos Genticos
Componentes de un Algoritmo Gentico

[Michalewicz, 1996] afirma que para poder aplicar el algoritmo gentico se


requiere de los siguientes componentes:

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

4 / 57

Algoritmos Genticos

Algoritmos Genticos
Componentes de un Algoritmo Gentico

[Michalewicz, 1996] afirma que para poder aplicar el algoritmo gentico se


requiere de los siguientes componentes:
Una representacin de las soluciones potenciales del problema, de
naturaleza genotpica, denominada cromosoma.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

4 / 57

Algoritmos Genticos

Algoritmos Genticos
Componentes de un Algoritmo Gentico

[Michalewicz, 1996] afirma que para poder aplicar el algoritmo gentico se


requiere de los siguientes componentes:
Una representacin de las soluciones potenciales del problema, de
naturaleza genotpica, denominada cromosoma.
Una forma de crear una poblacin inicial de posibles soluciones, que
se suele basar en un proceso aleatorio.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

4 / 57

Algoritmos Genticos

Algoritmos Genticos
Componentes de un Algoritmo Gentico

[Michalewicz, 1996] afirma que para poder aplicar el algoritmo gentico se


requiere de los siguientes componentes:
Una representacin de las soluciones potenciales del problema, de
naturaleza genotpica, denominada cromosoma.
Una forma de crear una poblacin inicial de posibles soluciones, que
se suele basar en un proceso aleatorio.
Una funcin de aptitud que hace el papel del ambiente.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

4 / 57

Algoritmos Genticos

Algoritmos Genticos
Componentes de un Algoritmo Gentico

[Michalewicz, 1996] afirma que para poder aplicar el algoritmo gentico se


requiere de los siguientes componentes:
Una representacin de las soluciones potenciales del problema, de
naturaleza genotpica, denominada cromosoma.
Una forma de crear una poblacin inicial de posibles soluciones, que
se suele basar en un proceso aleatorio.
Una funcin de aptitud que hace el papel del ambiente.
Operadores genticos que alteren la composicin de los cromosomas
seleccionados.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

4 / 57

Algoritmos Genticos

Algoritmos Genticos
Componentes de un Algoritmo Gentico

[Michalewicz, 1996] afirma que para poder aplicar el algoritmo gentico se


requiere de los siguientes componentes:
Una representacin de las soluciones potenciales del problema, de
naturaleza genotpica, denominada cromosoma.
Una forma de crear una poblacin inicial de posibles soluciones, que
se suele basar en un proceso aleatorio.
Una funcin de aptitud que hace el papel del ambiente.
Operadores genticos que alteren la composicin de los cromosomas
seleccionados.
Parametrizaciones, para los diferentes parmetros que utiliza el
algoritmo gentico (tamao de la poblacin, probabilidad de aplicar
crossover, mutacin, nmero mximo de generaciones, etc.)
Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

4 / 57

Algoritmos Genticos

Algoritmo Gentico Cannico

Algoritmo Gentico Cannico


[Goldberg, 1989] introdujo el modelo de AG con individuos
compuestos por cadenas de nmeros binarios bi {0, 1} para tratar
problemas de optimizacin numrica.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

5 / 57

Algoritmos Genticos

Algoritmo Gentico Cannico

Algoritmo Gentico Cannico


[Goldberg, 1989] introdujo el modelo de AG con individuos
compuestos por cadenas de nmeros binarios bi {0, 1} para tratar
problemas de optimizacin numrica.
En este modelo se aprecia el concepto de genotipo que es cada una
de las cadenas binarias bi que codifican a una respectiva solucin o
fenotipo xi .

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

5 / 57

Algoritmos Genticos

Algoritmo Gentico Cannico

Algoritmo Gentico Cannico


[Goldberg, 1989] introdujo el modelo de AG con individuos
compuestos por cadenas de nmeros binarios bi {0, 1} para tratar
problemas de optimizacin numrica.
En este modelo se aprecia el concepto de genotipo que es cada una
de las cadenas binarias bi que codifican a una respectiva solucin o
fenotipo xi .
Aunque una codificacin de fenotipo a genotipo 1 : X 7 G no est
limitada a la representacin binaria en {0, 1}, esta codificacin es muy
parecida a los cromosomas biolgicos.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

5 / 57

Algoritmos Genticos

Algoritmo Gentico Cannico

Algoritmo Gentico Cannico


[Goldberg, 1989] introdujo el modelo de AG con individuos
compuestos por cadenas de nmeros binarios bi {0, 1} para tratar
problemas de optimizacin numrica.
En este modelo se aprecia el concepto de genotipo que es cada una
de las cadenas binarias bi que codifican a una respectiva solucin o
fenotipo xi .
Aunque una codificacin de fenotipo a genotipo 1 : X 7 G no est
limitada a la representacin binaria en {0, 1}, esta codificacin es muy
parecida a los cromosomas biolgicos.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

5 / 57

Algoritmos Genticos

Algoritmo Gentico Cannico

Algoritmo Gentico
Procedimiento Gentico Elemental

El pseudocdigo para un algoritmo bsico es el siguiente:

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

6 / 57

Algoritmos Genticos

Algoritmo Gentico Cannico

Algoritmo Gentico
Procedimiento Gentico Elemental

El pseudocdigo para un algoritmo bsico es el siguiente:


Procedimiento Elemental:
t=0

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

6 / 57

Algoritmos Genticos

Algoritmo Gentico Cannico

Algoritmo Gentico
Procedimiento Gentico Elemental

El pseudocdigo para un algoritmo bsico es el siguiente:


Procedimiento Elemental:
t=0
inicializar poblacin de genotipos Gt

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

6 / 57

Algoritmos Genticos

Algoritmo Gentico Cannico

Algoritmo Gentico
Procedimiento Gentico Elemental

El pseudocdigo para un algoritmo bsico es el siguiente:


Procedimiento Elemental:
t=0
inicializar poblacin de genotipos Gt
decodificar y evaluar las estructuras de Gt

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

6 / 57

Algoritmos Genticos

Algoritmo Gentico Cannico

Algoritmo Gentico
Procedimiento Gentico Elemental

El pseudocdigo para un algoritmo bsico es el siguiente:


Procedimiento Elemental:
t=0
inicializar poblacin de genotipos Gt
decodificar y evaluar las estructuras de Gt
mientras cfin = falso hacer
t =t +1
seleccionar Gt de Gt1
operar Gt , formando Gt
evaluar Gt

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

6 / 57

Algoritmos Genticos

Algoritmo Gentico Cannico

Algoritmo Gentico
Procedimiento Gentico Elemental

El pseudocdigo para un algoritmo bsico es el siguiente:


Procedimiento Elemental:
t=0
inicializar poblacin de genotipos Gt
decodificar y evaluar las estructuras de Gt
mientras cfin = falso hacer
t =t +1
seleccionar Gt de Gt1
operar Gt , formando Gt
evaluar Gt
fin mientras

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

6 / 57

Algoritmos Genticos

Ciclo de un Algoritmo Gentico

Algoritmo Gentico
Ciclo de un Algoritmo Gentico

Evaluacin de
la descendencia

f()

Individuo

x1
x2
x3
x4

Genotipo

Fitness

100100
010010
010110
000001

1296
324
484
1

Seleccin de
Progenitores

Evolucin

Cruce

Nueva poblacin
de descendientes

Reproduccin
Mutacin

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

7 / 57

Algoritmos Genticos

Representacin

Representacin
Una representacin es fundamental al modelar un algoritmo gentico y
debe cumplir algunas caractersticas como:

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

8 / 57

Algoritmos Genticos

Representacin

Representacin
Una representacin es fundamental al modelar un algoritmo gentico y
debe cumplir algunas caractersticas como:
Describir adecuadamente el espacio de bsqueda relevante al problema

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

8 / 57

Algoritmos Genticos

Representacin

Representacin
Una representacin es fundamental al modelar un algoritmo gentico y
debe cumplir algunas caractersticas como:
Describir adecuadamente el espacio de bsqueda relevante al problema
Codificar genticamente la esencia del problema
Se evoluye el cdigo (fenotipo) se evoluye la solucin (genotipo)

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

8 / 57

Algoritmos Genticos

Representacin

Representacin
Una representacin es fundamental al modelar un algoritmo gentico y
debe cumplir algunas caractersticas como:
Describir adecuadamente el espacio de bsqueda relevante al problema
Codificar genticamente la esencia del problema
Se evoluye el cdigo (fenotipo) se evoluye la solucin (genotipo)

Ser compatible con los operadores de cruce y mutacin.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

8 / 57

Algoritmos Genticos

Representacin

Representacin
Una representacin es fundamental al modelar un algoritmo gentico y
debe cumplir algunas caractersticas como:
Describir adecuadamente el espacio de bsqueda relevante al problema
Codificar genticamente la esencia del problema
Se evoluye el cdigo (fenotipo) se evoluye la solucin (genotipo)

Ser compatible con los operadores de cruce y mutacin.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

8 / 57

Algoritmos Genticos

Representacin

Representacin
Una representacin es fundamental al modelar un algoritmo gentico y
debe cumplir algunas caractersticas como:
Describir adecuadamente el espacio de bsqueda relevante al problema
Codificar genticamente la esencia del problema
Se evoluye el cdigo (fenotipo) se evoluye la solucin (genotipo)

Ser compatible con los operadores de cruce y mutacin.


Una representacin adecuada contribuir en el xito del algoritmo
evolutivo.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

8 / 57

Algoritmos Genticos

Representacin

Representacin
De acuerdo al mtodo de solucin se tiene algunas representaciones a ser
usadas:

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

9 / 57

Algoritmos Genticos

Representacin

Representacin
De acuerdo al mtodo de solucin se tiene algunas representaciones a ser
usadas:
Mtodo de solucin
Numrica
Orden
Grupos
Enteros
Mixto

Tpac, Y. Computacin Evol (UNSA)

Representacin (cromosoma)
Binaria, real
Listas
Vectores
Entero
Combinada (por ejemplo: real y listas)

Doctorado en CC.

April 21, 2012

9 / 57

Algoritmos Genticos

Representacin

Representacin
De acuerdo al mtodo de solucin se tiene algunas representaciones a ser
usadas:
Mtodo de solucin
Numrica
Orden
Grupos
Enteros
Mixto

Representacin (cromosoma)
Binaria, real
Listas
Vectores
Entero
Combinada (por ejemplo: real y listas)

El cromosoma codifica una solucin al problema. Se tendrn tantos genes


como parmetros. Dada la funcin a optimizar f (x) = f (x1 , x2 )
C1

x1

y1

C2

x2

y2

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

Binario,
Real,
entero,
mixto

April 21, 2012

9 / 57

Algoritmos Genticos

Representacin

Codificacin Binaria
Implica usar el alfabeto binario B = {0, 1} obteniendo una cadena binaria
de longitud l pertenece a un espacio Bl = B . . . B = {0, 1}l

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

10 / 57

Algoritmos Genticos

Representacin

Codificacin Binaria
Implica usar el alfabeto binario B = {0, 1} obteniendo una cadena binaria
de longitud l pertenece a un espacio Bl = B . . . B = {0, 1}l
Sea una funcin a optimizar f (x), donde x = {x1 , . . . , xn }.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

10 / 57

Algoritmos Genticos

Representacin

Codificacin Binaria
Implica usar el alfabeto binario B = {0, 1} obteniendo una cadena binaria
de longitud l pertenece a un espacio Bl = B . . . B = {0, 1}l
Sea una funcin a optimizar f (x), donde x = {x1 , . . . , xn }.
Cada variable xi debe codificarse a una cadena binaria de longitud li ,
usando la codificacin i1 : Qi 7 Bli .

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

10 / 57

Algoritmos Genticos

Representacin

Codificacin Binaria
Implica usar el alfabeto binario B = {0, 1} obteniendo una cadena binaria
de longitud l pertenece a un espacio Bl = B . . . B = {0, 1}l
Sea una funcin a optimizar f (x), donde x = {x1 , . . . , xn }.
Cada variable xi debe codificarse a una cadena binaria de longitud li ,
usando la codificacin i1 : Qi 7 Bli .
El cromosoma total tendr una longitud
x1

Tpac, Y. Computacin Evol (UNSA)

i=1 li .

xi

z }| {
100
. . . 1} . . .
| {z
l1

Pn

z }| {
010
. . . 0} . . .
| {z
li

Doctorado en CC.

xn

z }| {
110
. . . 0}
| {z
ln

April 21, 2012

10 / 57

Algoritmos Genticos

Representacin

Codificacin Binaria
Implica usar el alfabeto binario B = {0, 1} obteniendo una cadena binaria
de longitud l pertenece a un espacio Bl = B . . . B = {0, 1}l
Sea una funcin a optimizar f (x), donde x = {x1 , . . . , xn }.
Cada variable xi debe codificarse a una cadena binaria de longitud li ,
usando la codificacin i1 : Qi 7 Bli .
El cromosoma total tendr una longitud
x1

Tpac, Y. Computacin Evol (UNSA)

i=1 li .

xi

z }| {
100
. . . 1} . . .
| {z
l1

Pn

z }| {
010
. . . 0} . . .
| {z
li

Doctorado en CC.

xn

z }| {
110
. . . 0}
| {z
ln

April 21, 2012

10 / 57

Algoritmos Genticos

Representacin

Codificacin Binaria
Implica usar el alfabeto binario B = {0, 1} obteniendo una cadena binaria
de longitud l pertenece a un espacio Bl = B . . . B = {0, 1}l
Sea una funcin a optimizar f (x), donde x = {x1 , . . . , xn }.
Cada variable xi debe codificarse a una cadena binaria de longitud li ,
usando la codificacin i1 : Qi 7 Bli .
El cromosoma total tendr una longitud
x1

i=1 li .

xi

z }| {
100
. . . 1} . . .
| {z
l1

Pn

z }| {
010
. . . 0} . . .
| {z
li

xn

z }| {
110
. . . 0}
| {z
ln

Se representan hasta 2l puntos de bsqueda diferentes gi G.


Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

10 / 57

Algoritmos Genticos

Representacin

Codificacin de Real a Binario


Sea la funcin f (x), x = {x1 , . . . , xn } X Rn , a ser optimizada.
Se requiere codificarla cumpliendo las siguientes propiedades:

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

11 / 57

Algoritmos Genticos

Representacin

Codificacin de Real a Binario


Sea la funcin f (x), x = {x1 , . . . , xn } X Rn , a ser optimizada.
Se requiere codificarla cumpliendo las siguientes propiedades:
Cada individuo x = {x1 , . . . , xn } X deve codificarse a una palabra
binaria de longitud l. Para esto se define una funcin de codificacin:
1 : X 7 Bl

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

(1)

April 21, 2012

11 / 57

Algoritmos Genticos

Representacin

Codificacin de Real a Binario


Sea la funcin f (x), x = {x1 , . . . , xn } X Rn , a ser optimizada.
Se requiere codificarla cumpliendo las siguientes propiedades:
Cada individuo x = {x1 , . . . , xn } X deve codificarse a una palabra
binaria de longitud l. Para esto se define una funcin de codificacin:
1 : X 7 Bl

(1)

Cada variable xi pose su propio domnio, tal que


xi hlefti , righti i , i = (1, . . . , n). Por lo tanto, debe existir una
funcin de codificacin para cada variable xi :
i1 : hlefti , righti i R 7 Bli

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

(2)

April 21, 2012

11 / 57

Algoritmos Genticos

Representacin

Codificacin de Real a Binario


Si se especifica una precisin de pi dgitos decimales para cada xi , el
espacio Bli deber ser capaz de codificar al menos
(righti lefti ) 10pi valores para xi .
(righti lefti ) 10pi
diferentes soluciones
dominio
de xi
lefti

Tpac, Y. Computacin Evol (UNSA)

Precision

1
10pi

Doctorado en CC.

righti

April 21, 2012

12 / 57

Algoritmos Genticos

Representacin

Codificacin de Real a Binario


Si se especifica una precisin de pi dgitos decimales para cada xi , el
espacio Bli deber ser capaz de codificar al menos
(righti lefti ) 10pi valores para xi .
(righti lefti ) 10pi
diferentes soluciones
dominio
de xi
lefti

Precision

1
10pi

righti

El valor li N queda definido por la ecuacin:


2li
li
Tpac, Y. Computacin Evol (UNSA)

(righti lefti ) 10pi

(3)

log2 (righti lefti ) + pi log2 (10)


Doctorado en CC.

April 21, 2012

12 / 57

Algoritmos Genticos

Representacin

Decodificacin de Binario a Real


Se define la decodificacin i de binario a real para una variable xi como:

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

13 / 57

Algoritmos Genticos

Representacin

Decodificacin de Binario a Real


Se define la decodificacin i de binario a real para una variable xi como:
i : Bli 7 hlefti , righti i R

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

(4)

April 21, 2012

13 / 57

Algoritmos Genticos

Representacin

Decodificacin de Binario a Real


Se define la decodificacin i de binario a real para una variable xi como:
i : Bli 7 hlefti , righti i R

(4)

consiste en convertir la cadena binaria bi a decimal y escalarla al intervalo


de dominio hlefti , righti i de acuerdo a la ecuacin 5:

xi(real) = lefti +

lX
i 1

2j aj

j=0

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

righti lefti
2li 1

(5)

April 21, 2012

13 / 57

Algoritmos Genticos

Representacin

Decodificacin de Binario a Real


Se define la decodificacin i de binario a real para una variable xi como:
i : Bli 7 hlefti , righti i R

(4)

consiste en convertir la cadena binaria bi a decimal y escalarla al intervalo


de dominio hlefti , righti i de acuerdo a la ecuacin 5:

xi(real) = lefti +

lX
i 1

2j aj

j=0

righti lefti
2li 1

(5)

Si una variable lefti xi righti es codificada en binario, la cadena


binaria binf = (00 . . . 0) representa el valor lefti y la cadena binaria
bsup = (11 . . . 1) representa el valor righti .
Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

13 / 57

Algoritmos Genticos

Representacin

Codificacin Binaria
Ventajas y desventajas

Ventajas:
La codificacin binaria : X 7 Bl es simple y fcil de manipular, nos
da buenos resultados y facilita la accin de los operadores genticos.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

14 / 57

Algoritmos Genticos

Representacin

Codificacin Binaria
Ventajas y desventajas

Ventajas:
La codificacin binaria : X 7 Bl es simple y fcil de manipular, nos
da buenos resultados y facilita la accin de los operadores genticos.
Se pueden codificar diversos tipos de espacios a binario:
(Z 7 Bl , R 7 Bl , etc.)

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

14 / 57

Algoritmos Genticos

Representacin

Codificacin Binaria
Ventajas y desventajas

Ventajas:
La codificacin binaria : X 7 Bl es simple y fcil de manipular, nos
da buenos resultados y facilita la accin de los operadores genticos.
Se pueden codificar diversos tipos de espacios a binario:
(Z 7 Bl , R 7 Bl , etc.)
Desventajas:
Distancia de Hamming

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

14 / 57

Algoritmos Genticos

Representacin

Codificacin Binaria
Ventajas y desventajas

Ventajas:
La codificacin binaria : X 7 Bl es simple y fcil de manipular, nos
da buenos resultados y facilita la accin de los operadores genticos.
Se pueden codificar diversos tipos de espacios a binario:
(Z 7 Bl , R 7 Bl , etc.)
Desventajas:
Distancia de Hamming
Incremento de la dimensionalidad

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

14 / 57

Algoritmos Genticos

Representacin

Codificacin Binaria
Ventajas y desventajas

Distancia de Hamming: Poca coherencia de la distancia en bits entre


bi , bj y la distancia real de las variables xi , xj .
Esto se puede mitigar con el uso del Cdigo de Gray.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

15 / 57

Algoritmos Genticos

Representacin

Codificacin Binaria
Ventajas y desventajas

Distancia de Hamming: Poca coherencia de la distancia en bits entre


bi , bj y la distancia real de las variables xi , xj .
Esto se puede mitigar con el uso del Cdigo de Gray.

Tpac, Y. Computacin Evol (UNSA)

Decimal

Binario

Gray

0
1
2
3
4
5
6
7

000
001
010
011
100
101
110
111

000
001
011
010
110
111
101
100

Doctorado en CC.

April 21, 2012

15 / 57

Algoritmos Genticos

Representacin

Codificacin Binaria
Ventajas y desventajas

Aumento de la dimensionalidad: En una codificacin 1 : Rn 7 Bl


siempre ocurre que l  n por efecto de la discretizacin y la baja
cardinalidad del espacio resultante.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

16 / 57

Algoritmos Genticos

Representacin

Codificacin Binaria
Ventajas y desventajas

Aumento de la dimensionalidad: En una codificacin 1 : Rn 7 Bl


siempre ocurre que l  n por efecto de la discretizacin y la baja
cardinalidad del espacio resultante.
Funcion a
optimizar

f (x) = f (x1, x2) = 0.5

(1.0 + 0.001 (x21 + x22))

x = (x1, x2)

Fenotipo
11
21

Codificacion

Genotipo

 p
2
sin x21 + x22 0.5

Dimensi
on 2

: R 7 B
: R 7 B6
6

x1

x2
Dimensi
on 12

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

16 / 57

Algoritmos Genticos

Inicializacin de la Poblacin

Inicializacin de la poblacin X0
Ciclo de un Algoritmo Gentico

Evaluacin de
la descendencia

f()

Individuo

x1
x2
x3
x4

Genotipo

Fitness

100100
010010
010110
000001

1296
324
484
1

Seleccin de
Progenitores

Evolucin

Cruce

Nueva poblacin
de descendientes

Reproduccin
Mutacin

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

17 / 57

Algoritmos Genticos

Inicializacin de la Poblacin

Inicializacin de la poblacin X0
Sea la poblacin X = {xi }m
i=1 , donde x = {x1 , . . . , xn }.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

18 / 57

Algoritmos Genticos

Inicializacin de la Poblacin

Inicializacin de la poblacin X0
Sea la poblacin X = {xi }m
i=1 , donde x = {x1 , . . . , xn }.
D

Se inicializa cada variable xj leftj , rightj , j = 1, . . . , n de cada


individuo xi X0 , i = 1, . . . , m conforme:
xj = leftj + (rightj leftj )U(t)

(6)

donde U(t) es un generador de nmeros aleatorios (0,1)

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

18 / 57

Algoritmos Genticos

Inicializacin de la Poblacin

Inicializacin de la poblacin X0
Sea la poblacin X = {xi }m
i=1 , donde x = {x1 , . . . , xn }.
D

Se inicializa cada variable xj leftj , rightj , j = 1, . . . , n de cada


individuo xi X0 , i = 1, . . . , m conforme:
xj = leftj + (rightj leftj )U(t)

(6)

donde U(t) es un generador de nmeros aleatorios (0,1)

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

18 / 57

Algoritmos Genticos

Inicializacin de la Poblacin

Inicializacin de la poblacin X0
Sea la poblacin X = {xi }m
i=1 , donde x = {x1 , . . . , xn }.
D

Se inicializa cada variable xj leftj , rightj , j = 1, . . . , n de cada


individuo xi X0 , i = 1, . . . , m conforme:
xj = leftj + (rightj leftj )U(t)

(6)

donde U(t) es un generador de nmeros aleatorios (0,1)


Si se est empleando un mapeamiento 1 : Rn 7 Bl , entonces:
Inicializar generando bits aleatorios 0 1 y colocarlos en las cadenas
bi

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

18 / 57

Algoritmos Genticos

Inicializacin de la Poblacin

Inicializacin de la poblacin X0
Sea la poblacin X = {xi }m
i=1 , donde x = {x1 , . . . , xn }.
D

Se inicializa cada variable xj leftj , rightj , j = 1, . . . , n de cada


individuo xi X0 , i = 1, . . . , m conforme:
xj = leftj + (rightj leftj )U(t)

(6)

donde U(t) es un generador de nmeros aleatorios (0,1)


Si se est empleando un mapeamiento 1 : Rn 7 Bl , entonces:
Inicializar generando bits aleatorios 0 1 y colocarlos en las cadenas
bi
La precisin y dominios estn garantizados por la codificacin
1 : Rn 7 Bl
Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

18 / 57

Algoritmos Genticos

Evaluacin y Aptitud

Evaluacin y Aptitud
Ciclo de un Algoritmo Gentico

Evaluacin de
la descendencia

f()

Individuo

x1
x2
x3
x4

Genotipo

Fitness

100100
010010
010110
000001

1296
324
484
1

Seleccin de
Progenitores

Evolucin

Cruce

Nueva poblacin
de descendientes

Reproduccin
Mutacin

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

19 / 57

Algoritmos Genticos

Evaluacin y Aptitud

Evaluacin y Aptitud
Funcin de Evaluacin:
La funcin de evaluacin f (x) es el enlace entre el algoritmo gentico y el
problema en cuestin. Se puede definir como el resultado de aplicar en el
problema a ser optimizado, los valores del individuo x = {x1 , . . . , xn }.
f (xi ) = evaluacin de xi

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

20 / 57

Algoritmos Genticos

Evaluacin y Aptitud

Evaluacin y Aptitud
Funcin de Evaluacin:
La funcin de evaluacin f (x) es el enlace entre el algoritmo gentico y el
problema en cuestin. Se puede definir como el resultado de aplicar en el
problema a ser optimizado, los valores del individuo x = {x1 , . . . , xn }.
f (xi ) = evaluacin de xi
Aptitud:
La aptitud a es el valor numrico que se le asigna a cada individuo
(fenotipo) xi indicando qu tan bueno es con respecto a los dems
individuos de la poblacin X para la solucin del problema.
a(f (xi ), X) = aptitud de xi

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

20 / 57

Algoritmos Genticos

Evaluacin y Aptitud

Ejemplo de Aplicacin
Sea la funcin F6 (x1 , x2 ) definida por:

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

21 / 57

Algoritmos Genticos

Evaluacin y Aptitud

Ejemplo de Aplicacin
Sea la funcin F6 (x1 , x2 ) definida por:


sin
F6 (x1 , x2 ) = 0.5

Tpac, Y. Computacin Evol (UNSA)

x12

x22

2

0.5

1.0 + 0.001 x12 + x22

Doctorado en CC.

(7)

2

April 21, 2012

21 / 57

Algoritmos Genticos

Evaluacin y Aptitud

Ejemplo de Aplicacin
Sea la funcin F6 (x1 , x2 ) definida por:


sin
F6 (x1 , x2 ) = 0.5

x12

x22

2

0.5

1.0 + 0.001 x12 + x22

(7)

2

que tiene muchos mximos y mnimos locales, y un ptimo global


x = (0, 0) tal que f (x ) = f (0, 0) = 1.00.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

21 / 57

Algoritmos Genticos

Evaluacin y Aptitud

Ejemplo de Aplicacin
Sea la funcin F6 (x1 , x2 ) definida por:


sin
F6 (x1 , x2 ) = 0.5

x12

x22

2

0.5

1.0 + 0.001 x12 + x22

(7)

2

que tiene muchos mximos y mnimos locales, y un ptimo global


x = (0, 0) tal que f (x ) = f (0, 0) = 1.00.
Se desea optimizar esta funcin considerando los siguientes domnios:
x1 h100, 100i
x2 h100, 100i

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

21 / 57

Algoritmos Genticos

Evaluacin y Aptitud

Ejemplo de Aplicacin
Visualizacin 3D de la funcin f6
mximo global
1

f6(x1, x2)

0.8
0.6
0.4
0.2
0
10
5

10
5

5
x2
Tpac, Y. Computacin Evol (UNSA)

5
10

10
Doctorado en CC.

x1

April 21, 2012

22 / 57

Algoritmos Genticos

Evaluacin y Aptitud

Ejemplo de Aplicacin
Definiendo el cromosoma e inicializando

Se desea codificar a binario ( 1 : X 7 Bl ) con una precisin de 4 a 5


cifras decimales por cada variable xi . Se calcula li N usando la ecuacin
3 de la siguiente manera:

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

23 / 57

Algoritmos Genticos

Evaluacin y Aptitud

Ejemplo de Aplicacin
Definiendo el cromosoma e inicializando

Se desea codificar a binario ( 1 : X 7 Bl ) con una precisin de 4 a 5


cifras decimales por cada variable xi . Se calcula li N usando la ecuacin
3 de la siguiente manera:
log2 ((100 (100) 104 ) li
log2 (2 106 ) li
20.93 li

Tpac, Y. Computacin Evol (UNSA)

log2 ((100 (100) 105 )


log2 (2 107 )
24.25

Doctorado en CC.

April 21, 2012

23 / 57

Algoritmos Genticos

Evaluacin y Aptitud

Ejemplo de Aplicacin
Definiendo el cromosoma e inicializando

Se desea codificar a binario ( 1 : X 7 Bl ) con una precisin de 4 a 5


cifras decimales por cada variable xi . Se calcula li N usando la ecuacin
3 de la siguiente manera:
log2 ((100 (100) 104 ) li
log2 (2 106 ) li
20.93 li

log2 ((100 (100) 105 )


log2 (2 107 )
24.25

donde li = 21, 22, 23, 24, seleccionamos li = 22. El cromosoma tendr una
longitud total l1 + l2 = 44 bits.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

23 / 57

Algoritmos Genticos

Evaluacin y Aptitud

Ejemplo de Aplicacin
Definiendo el cromosoma e inicializando

Se desea codificar a binario ( 1 : X 7 Bl ) con una precisin de 4 a 5


cifras decimales por cada variable xi . Se calcula li N usando la ecuacin
3 de la siguiente manera:
log2 ((100 (100) 104 ) li
log2 (2 106 ) li
20.93 li

log2 ((100 (100) 105 )


log2 (2 107 )
24.25

donde li = 21, 22, 23, 24, seleccionamos li = 22. El cromosoma tendr una
longitud total l1 + l2 = 44 bits.
La inicializacin de X0 consistir simplemente en el llenado de bits {0, 1}
aleatorios en cada cromosoma binario bi .

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

23 / 57

Algoritmos Genticos

Evaluacin y Aptitud

Ejemplo de Aplicacin
Evaluando

Es necesario aplicar decodificacin : G 7 X para poder evaluarlos.


Genotipo

x1

x2

: B12 7 R2

Fenotipo

Funcion de
evaluacion

Tpac, Y. Computacin Evol (UNSA)

x = (x1, x2)

f (x) = f (x1, x2) = 0.5

Doctorado en CC.

 p
2
sin x21 + x22 0.5

(1.0 + 0.001 (x21 + x22))

April 21, 2012

24 / 57

Algoritmos Genticos

Seleccin

Seleccin
Ciclo de un Algoritmo Gentico

Evaluacin de
la descendencia

f()

Individuo

x1
x2
x3
x4

Genotipo

Fitness

100100
010010
010110
000001

1296
324
484
1

Seleccin de
Progenitores

Evolucin

Cruce

Nueva poblacin
de descendientes

Reproduccin
Mutacin

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

25 / 57

Algoritmos Genticos

Seleccin

Seleccin
Dada una poblacin inicial X0 = {xi }m
i=1 , y sus aptitudes At = a(X0 ), se
seleccionan los individuos a reproducirse de acuerdo a su aptitud, que se
comporta como una probabilidad de seleccin.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

26 / 57

Algoritmos Genticos

Seleccin

Seleccin
Dada una poblacin inicial X0 = {xi }m
i=1 , y sus aptitudes At = a(X0 ), se
seleccionan los individuos a reproducirse de acuerdo a su aptitud, que se
comporta como una probabilidad de seleccin.
En algoritmos genticos hay 2 tipos de seleccin
Seleccin proporcional: los individuos se seleccionan de acuerdo a
su contribucin de aptitud con respecto al total de aptitud de la
poblacin

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

26 / 57

Algoritmos Genticos

Seleccin

Seleccin
Dada una poblacin inicial X0 = {xi }m
i=1 , y sus aptitudes At = a(X0 ), se
seleccionan los individuos a reproducirse de acuerdo a su aptitud, que se
comporta como una probabilidad de seleccin.
En algoritmos genticos hay 2 tipos de seleccin
Seleccin proporcional: los individuos se seleccionan de acuerdo a
su contribucin de aptitud con respecto al total de aptitud de la
poblacin
Seleccin mediante torneo: propuesta en [Wetzel, 1983], tiene
como idea bsica seleccionar individuos comparando directamente sus
aptitudes.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

26 / 57

Algoritmos Genticos

Seleccin

Seleccin Proporcional
Dentro de este grupo, se tiene las siguientes estrategias

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

27 / 57

Algoritmos Genticos

Seleccin

Seleccin Proporcional
Dentro de este grupo, se tiene las siguientes estrategias
Seleccin por Ruleta (Roulette Selection)
Sobrante Estocstico
Universal Estocstico
Muestreo Determinstico.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

27 / 57

Algoritmos Genticos

Seleccin

Seleccin Proporcional
Dentro de este grupo, se tiene las siguientes estrategias
Seleccin por Ruleta (Roulette Selection)
Sobrante Estocstico
Universal Estocstico
Muestreo Determinstico.
Adicionalmente existen otras tcnicas que implementan los siguientes
aditamentos
Escalamiento-
Uso de jerarquas
Seleccin de Boltzmann

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

27 / 57

Algoritmos Genticos

Seleccin

Seleccin por Ruleta


Es la estrategia ms utilizada por su simplicidad y facilidad de
entendimiento. Su algoritmo es:

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

28 / 57

Algoritmos Genticos

Seleccin

Seleccin por Ruleta


Es la estrategia ms utilizada por su simplicidad y facilidad de
entendimiento. Su algoritmo es:
Requiere: Xt (poblacin), At (vector de aptitudes)
calcular Bt = {b1 , . . . , bm } (aptitudes acumuladas)
bi = ai
bi = bi1 + ai

i=1
i>1

j=0
generar uj = bm U(0, 1)
mientras uj
/ [xj , xj+1 ] hacer
j =j +1
fin mientras
seleccionar xj Xt
Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

28 / 57

Algoritmos Genticos

Seleccin

Seleccin por Ruleta


Dado un individuo xi y su aptitud a(xi , Xt ), su probabilidad de seleccin
pxi por ruleta ser:
a(xi , Xt )
pxi = Pm
(8)
k=1 ak

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

29 / 57

Algoritmos Genticos

Seleccin

Seleccin por Ruleta


Dado un individuo xi y su aptitud a(xi , Xt ), su probabilidad de seleccin
pxi por ruleta ser:
a(xi , Xt )
pxi = Pm
(8)
k=1 ak
Anlisis:
Complejidad computacional O(n 2 ).

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

29 / 57

Algoritmos Genticos

Seleccin

Seleccin por Ruleta


Dado un individuo xi y su aptitud a(xi , Xt ), su probabilidad de seleccin
pxi por ruleta ser:
a(xi , Xt )
pxi = Pm
(8)
k=1 ak
Anlisis:
Complejidad computacional O(n 2 ).
Sujeta al error de muestreo, no siempre se cumple el valor esperado
Es [xi ] de seleccin

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

29 / 57

Algoritmos Genticos

Seleccin

Seleccin por Ruleta


Dado un individuo xi y su aptitud a(xi , Xt ), su probabilidad de seleccin
pxi por ruleta ser:
a(xi , Xt )
pxi = Pm
(8)
k=1 ak
Anlisis:
Complejidad computacional O(n 2 ).
Sujeta al error de muestreo, no siempre se cumple el valor esperado
Es [xi ] de seleccin
Se puede usar bsqueda binaria reduciendo la complejidad total a
O(n log n).

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

29 / 57

Algoritmos Genticos

Seleccin

Seleccin por Ruleta


Sea la poblacin Xt = {xi }61 de la siguiente tabla:
Individuo i
x1
x2
x3
x4
x5
Total

Tpac, Y. Computacin Evol (UNSA)

fenotipo
11010110
10100111
00110110
01110010
11110010

ai At
254
47
457
194
85
1037

Doctorado en CC.

bi Bt
254
301
758
952
1037

ai /bm (%)
24.49%
4.53%
44.07%
18.71%
8.20%
100.00%

April 21, 2012

30 / 57

Algoritmos Genticos

Seleccin

Sobrante Estocstico
Es una alternativa que busca una mejor aproximacin del valor esperado
de seleccin Es [xi ] definido por la ecuacin 9:
Es [xi ] = m

Tpac, Y. Computacin Evol (UNSA)

a(f (xi ), Xt )
bm

Doctorado en CC.

(9)

April 21, 2012

31 / 57

Algoritmos Genticos

Seleccin

Sobrante Estocstico
Es una alternativa que busca una mejor aproximacin del valor esperado
de seleccin Es [xi ] definido por la ecuacin 9:
Es [xi ] = m

a(f (xi ), Xt )
bm

(9)

Consiste en:
1

Asignar en forma determinstica el conteo de los valores esperados, es


decir, la parte entera de et = m(ai /bm ) para despus,

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

31 / 57

Algoritmos Genticos

Seleccin

Sobrante Estocstico
Es una alternativa que busca una mejor aproximacin del valor esperado
de seleccin Es [xi ] definido por la ecuacin 9:
Es [xi ] = m

a(f (xi ), Xt )
bm

(9)

Consiste en:
1

Asignar en forma determinstica el conteo de los valores esperados, es


decir, la parte entera de et = m(ai /bm ) para despus,

Completar los individuos faltantes por el redondeo mediante un


esquema probabilstico y proporcional (por ejemplo, una ruleta).

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

31 / 57

Algoritmos Genticos

Seleccin

Sobrante Estocstico
Se ilustra un ejemplo del uso del sobrante estocstico

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

32 / 57

Algoritmos Genticos

Seleccin

Sobrante Estocstico
Se ilustra un ejemplo del uso del sobrante estocstico
Individuo i
x1
x2
x3
x4
Total

Fenotipo
110100
011010
111001
001101

Tpac, Y. Computacin Evol (UNSA)

ai At
220
140
315
42
717

et
1.23
0.78
1.76
0.23
4.00

Doctorado en CC.

int(et )
1
0
1
0
2

et int(et )
0.23
0.78
0.76
0.23

April 21, 2012

32 / 57

Algoritmos Genticos

Seleccin

Sobrante Estocstico
Se ilustra un ejemplo del uso del sobrante estocstico
Individuo i
x1
x2
x3
x4
Total

Fenotipo
110100
011010
111001
001101

ai At
220
140
315
42
717

et
1.23
0.78
1.76
0.23
4.00

int(et )
1
0
1
0
2

et int(et )
0.23
0.78
0.76
0.23

Con esta metodologa, se reducen los problemas de muestreo de la ruleta,


aunque se puede causar convergencia prematura debido a la mayor presin
selectiva.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

32 / 57

Algoritmos Genticos

Seleccin

Seleccin por Torneo


Propuesta en [Wetzel, 1983], tiene como idea bsica seleccionar individuos
comparando directamente sus aptitudes.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

33 / 57

Algoritmos Genticos

Seleccin

Seleccin por Torneo


Propuesta en [Wetzel, 1983], tiene como idea bsica seleccionar individuos
comparando directamente sus aptitudes.
Requiere: Xt , At
desordenar Xt
escoger k individuos (comnmente k = 2)
comparar los k individuos por su aptitud a()
seleccionar el individuo con mejor aptitud

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

33 / 57

Algoritmos Genticos

Seleccin

Seleccin por Torneo


Propuesta en [Wetzel, 1983], tiene como idea bsica seleccionar individuos
comparando directamente sus aptitudes.
Requiere: Xt , At
desordenar Xt
escoger k individuos (comnmente k = 2)
comparar los k individuos por su aptitud a()
seleccionar el individuo con mejor aptitud
La seleccin por torneo es bastante simple y determinista con
caracterstica extintiva.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

33 / 57

Algoritmos Genticos

Seleccin

Seleccin por Torneo


Propuesta en [Wetzel, 1983], tiene como idea bsica seleccionar individuos
comparando directamente sus aptitudes.
Requiere: Xt , At
desordenar Xt
escoger k individuos (comnmente k = 2)
comparar los k individuos por su aptitud a()
seleccionar el individuo con mejor aptitud
La seleccin por torneo es bastante simple y determinista con
caracterstica extintiva.
Hay una versin probabilstica que elimina la caracterstica extintiva, ya
que, en algunas ocasiones, elementos menos aptos pueden ganar el torneo
y ser seleccionados.
Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

33 / 57

Algoritmos Genticos

Seleccin

Seleccin por Torneo


Anlisis:
La versin determinista garantiza seleccin del mejor individuo.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

34 / 57

Algoritmos Genticos

Seleccin

Seleccin por Torneo


Anlisis:
La versin determinista garantiza seleccin del mejor individuo.
En un torneo, siempre se escogen k individuos complejidad O(1).

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

34 / 57

Algoritmos Genticos

Seleccin

Seleccin por Torneo


Anlisis:
La versin determinista garantiza seleccin del mejor individuo.
En un torneo, siempre se escogen k individuos complejidad O(1).
Se requieren m competencias de k individuos para escoger una nueva
poblacin por una generacin complejidad O(m).

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

34 / 57

Algoritmos Genticos

Seleccin

Seleccin por Torneo


Anlisis:
La versin determinista garantiza seleccin del mejor individuo.
En un torneo, siempre se escogen k individuos complejidad O(1).
Se requieren m competencias de k individuos para escoger una nueva
poblacin por una generacin complejidad O(m).
La tcnica es eficiente y fcil de implementar.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

34 / 57

Algoritmos Genticos

Seleccin

Seleccin por Torneo


Anlisis:
La versin determinista garantiza seleccin del mejor individuo.
En un torneo, siempre se escogen k individuos complejidad O(1).
Se requieren m competencias de k individuos para escoger una nueva
poblacin por una generacin complejidad O(m).
La tcnica es eficiente y fcil de implementar.
No requiere escalar la funcin de aptitud, las comparaciones se hacen
directamente.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

34 / 57

Algoritmos Genticos

Seleccin

Seleccin por Torneo


Anlisis:
La versin determinista garantiza seleccin del mejor individuo.
En un torneo, siempre se escogen k individuos complejidad O(1).
Se requieren m competencias de k individuos para escoger una nueva
poblacin por una generacin complejidad O(m).
La tcnica es eficiente y fcil de implementar.
No requiere escalar la funcin de aptitud, las comparaciones se hacen
directamente.
En la versin determinista, se puede introducir una presin selectiva fuerte;
individuos menos aptos no sobreviven.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

34 / 57

Algoritmos Genticos

Seleccin

Seleccin por Torneo


Anlisis:
La versin determinista garantiza seleccin del mejor individuo.
En un torneo, siempre se escogen k individuos complejidad O(1).
Se requieren m competencias de k individuos para escoger una nueva
poblacin por una generacin complejidad O(m).
La tcnica es eficiente y fcil de implementar.
No requiere escalar la funcin de aptitud, las comparaciones se hacen
directamente.
En la versin determinista, se puede introducir una presin selectiva fuerte;
individuos menos aptos no sobreviven.
Se puede regular la presin selectiva variando la cantidad k de individuos
que compiten.
Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

34 / 57

Algoritmos Genticos

Seleccin

Seleccin de Boltzmann
Basada en la heurstica de Simulated Annealing variacin de
temperatura:
Temperatura alta al inicio (menor presin selectiva)
Temperatura baja al fina (ms presin selectiva)

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

35 / 57

Algoritmos Genticos

Seleccin

Seleccin de Boltzmann
Basada en la heurstica de Simulated Annealing variacin de
temperatura:
Temperatura alta al inicio (menor presin selectiva)
Temperatura baja al fina (ms presin selectiva)

Se calcula el valor esperado de cada indivduo tpicamente usando:


e f (i)/T
E[i, t] =

t
e f (i)/T

(10)

donde T es la temperatura y hit es el promedio de las aptitudes de la


poblacin

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

35 / 57

Algoritmos Genticos

Seleccin

Seleccin de Boltzmann
Basada en la heurstica de Simulated Annealing variacin de
temperatura:
Temperatura alta al inicio (menor presin selectiva)
Temperatura baja al fina (ms presin selectiva)

Se calcula el valor esperado de cada indivduo tpicamente usando:


e f (i)/T
E[i, t] =

t
e f (i)/T

(10)

donde T es la temperatura y hit es el promedio de las aptitudes de la


poblacin
Una vez calculados los valores esperados, se hace la seleccin
mediante una ruleta

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

35 / 57

Algoritmos Genticos

Reproduccin

Operadores Genticos
Ciclo de un Algoritmo Gentico

Evaluacin de
la descendencia

f()

Individuo

x1
x2
x3
x4

Genotipo

Fitness

100100
010010
010110
000001

1296
324
484
1

Seleccin de
Progenitores

Evolucin

Cruce

Nueva poblacin
de descendientes

Reproduccin
Mutacin

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

36 / 57

Algoritmos Genticos

Reproduccin

Operadores Genticos
Manipulan el genotipo, influyen en la transmisin de la informacin
gentica de padres a hijos.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

37 / 57

Algoritmos Genticos

Reproduccin

Operadores Genticos
Manipulan el genotipo, influyen en la transmisin de la informacin
gentica de padres a hijos.
Los operadores tienen dos categoras principales:
Cruces (cruzamientos o crossover): que forman dos nuevos individuos
a partir de la recombinacin de informacin de los dos individuos
seleccionados para operar. Los ms conocidos son:
cruce de un punto

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

37 / 57

Algoritmos Genticos

Reproduccin

Operadores Genticos
Manipulan el genotipo, influyen en la transmisin de la informacin
gentica de padres a hijos.
Los operadores tienen dos categoras principales:
Cruces (cruzamientos o crossover): que forman dos nuevos individuos
a partir de la recombinacin de informacin de los dos individuos
seleccionados para operar. Los ms conocidos son:
cruce de un punto
cruce de dos puntos

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

37 / 57

Algoritmos Genticos

Reproduccin

Operadores Genticos
Manipulan el genotipo, influyen en la transmisin de la informacin
gentica de padres a hijos.
Los operadores tienen dos categoras principales:
Cruces (cruzamientos o crossover): que forman dos nuevos individuos
a partir de la recombinacin de informacin de los dos individuos
seleccionados para operar. Los ms conocidos son:
cruce de un punto
cruce de dos puntos
cruce uniforme

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

37 / 57

Algoritmos Genticos

Reproduccin

Operadores Genticos
Manipulan el genotipo, influyen en la transmisin de la informacin
gentica de padres a hijos.
Los operadores tienen dos categoras principales:
Cruces (cruzamientos o crossover): que forman dos nuevos individuos
a partir de la recombinacin de informacin de los dos individuos
seleccionados para operar. Los ms conocidos son:
cruce de un punto
cruce de dos puntos
cruce uniforme

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

37 / 57

Algoritmos Genticos

Reproduccin

Operadores Genticos
Manipulan el genotipo, influyen en la transmisin de la informacin
gentica de padres a hijos.
Los operadores tienen dos categoras principales:
Cruces (cruzamientos o crossover): que forman dos nuevos individuos
a partir de la recombinacin de informacin de los dos individuos
seleccionados para operar. Los ms conocidos son:
cruce de un punto
cruce de dos puntos
cruce uniforme

Mutaciones: que forman un nuevo individuo a partir de alteraciones


en los genes de un nico individuo seleccionado, la ms conocida es la
mutacin de bit.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

37 / 57

Algoritmos Genticos

Reproduccin

Cruce de 1 punto
A partir de un par de genotipos seleccionados g1 y g2 y un punto de corte
aleatorio, se generan dos descendientes g10 y g20 como ilustra la figura.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

38 / 57

Algoritmos Genticos

Reproduccin

Cruce de 1 punto
A partir de un par de genotipos seleccionados g1 y g2 y un punto de corte
aleatorio, se generan dos descendientes g10 y g20 como ilustra la figura.
Resultado despus del Crossover

Individuos antes del crossover


Individuo 1

Hijo 1

Individuo 2

Hijo 2

Punto de corte

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

38 / 57

Algoritmos Genticos

Reproduccin

Cruce de 2 puntos
En este caso, se usan dos puntos de corte, generados aleatoriamente. Se
obtiene un segmento de los cromosomas padre g1 y g2 que se
intercambiar conforme ilustra la figura,

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

39 / 57

Algoritmos Genticos

Reproduccin

Cruce de 2 puntos
En este caso, se usan dos puntos de corte, generados aleatoriamente. Se
obtiene un segmento de los cromosomas padre g1 y g2 que se
intercambiar conforme ilustra la figura,
Resultado despus del Crossover

Individuos antes del crossover


Individuo 1

Hijo 1

Individuo 2

Hijo 2

Intervalo de
corte

Tpac, Y. Computacin Evol (UNSA)

Intervalo de
corte

Doctorado en CC.

April 21, 2012

39 / 57

Algoritmos Genticos

Reproduccin

Cruce Uniforme
Este operador recorre los cromosomas escogidos g1 y g2 y mediante un
sorteo U(t)i determina cul gene g1i g2i formar los genes de los
descendientes g10 y g20 .

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

40 / 57

Algoritmos Genticos

Reproduccin

Cruce Uniforme
Este operador recorre los cromosomas escogidos g1 y g2 y mediante un
sorteo U(t)i determina cul gene g1i g2i formar los genes de los
descendientes g10 y g20 .
Individuo 1

Hijo 1

Individuo 1

Hijo 2

Tpac, Y. Computacin Evol (UNSA)

Individuo 2

Individuo 2

Doctorado en CC.

April 21, 2012

40 / 57

Algoritmos Genticos

Reproduccin

Mutacin
Escoge algn gen gi g y lo altera por otro valor. Tratndose de un
individuo con genotipo binario, un gen sera un bit y su alteracin es de
valor 1 a valor 0 o viceversa.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

41 / 57

Algoritmos Genticos

Reproduccin

Mutacin
Escoge algn gen gi g y lo altera por otro valor. Tratndose de un
individuo con genotipo binario, un gen sera un bit y su alteracin es de
valor 1 a valor 0 o viceversa.
Individuo

Bit modificado
Individuo despus
de la mutacin

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

41 / 57

Algoritmos Genticos

Reproduccin

Dilema Exploiting Exploring


En los sistemas de aprendizaje se desea aprovechar los conocimientos
existentes (Exploiting) y tambin buscar nuevo conocimiento (Exploring).
Los algoritmos evolutivos no son ajenos a esta situacin.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

42 / 57

Algoritmos Genticos

Reproduccin

Dilema Exploiting Exploring


En los sistemas de aprendizaje se desea aprovechar los conocimientos
existentes (Exploiting) y tambin buscar nuevo conocimiento (Exploring).
Los algoritmos evolutivos no son ajenos a esta situacin.
Exploiting: aprovechar la informacin que la poblacin actual Xt
tiene sobre el espacio de bsqueda

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

42 / 57

Algoritmos Genticos

Reproduccin

Dilema Exploiting Exploring


En los sistemas de aprendizaje se desea aprovechar los conocimientos
existentes (Exploiting) y tambin buscar nuevo conocimiento (Exploring).
Los algoritmos evolutivos no son ajenos a esta situacin.
Exploiting: aprovechar la informacin que la poblacin actual Xt
tiene sobre el espacio de bsqueda
Exploring: ir a regiones del espacio de bsqueda no visitadas antes,
no quedarse en ptimos locales.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

42 / 57

Algoritmos Genticos

Reproduccin

Dilema Exploiting Exploring


En los sistemas de aprendizaje se desea aprovechar los conocimientos
existentes (Exploiting) y tambin buscar nuevo conocimiento (Exploring).
Los algoritmos evolutivos no son ajenos a esta situacin.
Exploiting: aprovechar la informacin que la poblacin actual Xt
tiene sobre el espacio de bsqueda
Exploring: ir a regiones del espacio de bsqueda no visitadas antes,
no quedarse en ptimos locales.
Los cruces proveen la caracterstica Exploiting
Las mutaciones proveen la caracterstica Exploring.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

42 / 57

Algoritmos Genticos

Reproduccin

Dilema Exploiting Exploring


En los sistemas de aprendizaje se desea aprovechar los conocimientos
existentes (Exploiting) y tambin buscar nuevo conocimiento (Exploring).
Los algoritmos evolutivos no son ajenos a esta situacin.
Exploiting: aprovechar la informacin que la poblacin actual Xt
tiene sobre el espacio de bsqueda
Exploring: ir a regiones del espacio de bsqueda no visitadas antes,
no quedarse en ptimos locales.
Los cruces proveen la caracterstica Exploiting
Las mutaciones proveen la caracterstica Exploring.
La parametrizacin adecuada de las caractersticas exploiting exploring
ser dado mediante el ajuste de las probabilidades de uso de los operadores
genticos.
Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

42 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Aptitud
Durante el clculo de la aptitud de la poblacin, se puede encontrar los
dos siguientes problemas:

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

43 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Aptitud
Durante el clculo de la aptitud de la poblacin, se puede encontrar los
dos siguientes problemas:
Poca presin selectiva: Aptitudes con valores similares, haciendo la
seleccin muy prxima a la bsqueda aleatoria.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

43 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Aptitud
Durante el clculo de la aptitud de la poblacin, se puede encontrar los
dos siguientes problemas:
Poca presin selectiva: Aptitudes con valores similares, haciendo la
seleccin muy prxima a la bsqueda aleatoria.
Sperindividuo: algunos individuos con aptitud muy alta con
respecto a los dems. La seleccin escoge slo estos individuos,
perdiendo diversidad gentica y ocurriendo convergencia prematura.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

43 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Aptitud
Durante el clculo de la aptitud de la poblacin, se puede encontrar los
dos siguientes problemas:
Poca presin selectiva: Aptitudes con valores similares, haciendo la
seleccin muy prxima a la bsqueda aleatoria.
Sperindividuo: algunos individuos con aptitud muy alta con
respecto a los dems. La seleccin escoge slo estos individuos,
perdiendo diversidad gentica y ocurriendo convergencia prematura.
Para tratar estos efectos se realiza ajustes en las aptitudes:
Aptitud = Evaluacin

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

43 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Aptitud
Durante el clculo de la aptitud de la poblacin, se puede encontrar los
dos siguientes problemas:
Poca presin selectiva: Aptitudes con valores similares, haciendo la
seleccin muy prxima a la bsqueda aleatoria.
Sperindividuo: algunos individuos con aptitud muy alta con
respecto a los dems. La seleccin escoge slo estos individuos,
perdiendo diversidad gentica y ocurriendo convergencia prematura.
Para tratar estos efectos se realiza ajustes en las aptitudes:
Aptitud = Evaluacin
Windowing

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

43 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Aptitud
Durante el clculo de la aptitud de la poblacin, se puede encontrar los
dos siguientes problemas:
Poca presin selectiva: Aptitudes con valores similares, haciendo la
seleccin muy prxima a la bsqueda aleatoria.
Sperindividuo: algunos individuos con aptitud muy alta con
respecto a los dems. La seleccin escoge slo estos individuos,
perdiendo diversidad gentica y ocurriendo convergencia prematura.
Para tratar estos efectos se realiza ajustes en las aptitudes:
Aptitud = Evaluacin
Windowing
Normalizacin lineal

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

43 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Aptitud
Aptitud = evaluacin:
Cuando no hay necesidad de ajustes en la funcin de evaluacin f (xi ) para
obtener la aptitud, entonces:

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

44 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Aptitud
Aptitud = evaluacin:
Cuando no hay necesidad de ajustes en la funcin de evaluacin f (xi ) para
obtener la aptitud, entonces:
a(f (xi ), Xt ) = f (xi )

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

(11)

April 21, 2012

44 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Aptitud
Aptitud = evaluacin:
Cuando no hay necesidad de ajustes en la funcin de evaluacin f (xi ) para
obtener la aptitud, entonces:
a(f (xi ), Xt ) = f (xi )

(11)

Windowing:
Cuando existe competicin prxima, se puede ajustar la aptitud usando la
siguiente expresin:

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

44 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Aptitud
Aptitud = evaluacin:
Cuando no hay necesidad de ajustes en la funcin de evaluacin f (xi ) para
obtener la aptitud, entonces:
a(f (xi ), Xt ) = f (xi )

(11)

Windowing:
Cuando existe competicin prxima, se puede ajustar la aptitud usando la
siguiente expresin:
a(f (xi ), Xt ) = f (xi ) fmin (Xt ) + amin

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

(12)

April 21, 2012

44 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Aptitud
Aptitud = evaluacin:
Cuando no hay necesidad de ajustes en la funcin de evaluacin f (xi ) para
obtener la aptitud, entonces:
a(f (xi ), Xt ) = f (xi )

(11)

Windowing:
Cuando existe competicin prxima, se puede ajustar la aptitud usando la
siguiente expresin:
a(f (xi ), Xt ) = f (xi ) fmin (Xt ) + amin

(12)

donde fmin (Xt ) es la evaluacin mnima hallada en la poblacin Xt , y


amin (opcional) es una aptitud mnima de sobrevivencia para garantizar la
reproduccin de los cromosomas menos aptos.
Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

44 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Aptitud
Normalizacin lineal:
Sea una poblacin Xt con m individuos ordenada por las evaluaciones Ft .
La idea es ajustar las aptitudes desde un vmin hasta un vmax con pasos
fijos como se indica en el algoritmo:

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

45 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Aptitud
Normalizacin lineal:
Sea una poblacin Xt con m individuos ordenada por las evaluaciones Ft .
La idea es ajustar las aptitudes desde un vmin hasta un vmax con pasos
fijos como se indica en el algoritmo:
Requiere: Xt , Ft
Requiere: vmin , vmax
ordenar Xt decrecientemente segn Ft
i=0
mientras i < m hacer
crear At = {ai }m
i=1 usando:
(vmax vmin )
(i 1)
ai = vmin +
m1
i =i +1
fin mientras

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

45 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Aptitud
Sea una poblacin X = {xi }6i=1 , cuyas evaluaciones f (xi ) son las
especificadas en la segunda columna de la tabla:

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

46 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Aptitud
Sea una poblacin X = {xi }6i=1 , cuyas evaluaciones f (xi ) son las
especificadas en la segunda columna de la tabla:
xi

f (xi )

x6
x5
x4
x3
x2
x1

200
9
8
7
4
1

ai
hvmin , vmax i = h10, 60i

ai
hvmin , vmax i = h1, 101i

60
50
40
30
20
10

101
81
61
41
21
1

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

46 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Aptitud
Sea una poblacin X = {xi }6i=1 , cuyas evaluaciones f (xi ) son las
especificadas en la segunda columna de la tabla:
xi

f (xi )

x6
x5
x4
x3
x2
x1

200
9
8
7
4
1

ai
hvmin , vmax i = h10, 60i

ai
hvmin , vmax i = h1, 101i

60
50
40
30
20
10

101
81
61
41
21
1

x6 es un sper-individuo
Existe competicin prxima entre x3 , x4 y x5 ,

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

46 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Aptitud
Evaluacin y aptitud normalizada (lineal)
200

150

Aptitud

f(x)

100
vmin = 1
vmax = 101

50

0
x1

vmin = 10
vmax = 60

x2

x3

x4

x5

x6

Individuos
Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

47 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Seleccin
Se debe tratar la brecha generacional que se refiere a la transicin de
individuos de la poblacin Xt a la poblacin Xt+1 .

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

48 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Seleccin
Se debe tratar la brecha generacional que se refiere a la transicin de
individuos de la poblacin Xt a la poblacin Xt+1 .
Elitismo:
Consiste en tener una copia del mejor individuo xbest Xt para colocarlo
en la poblacin Xt+1 despus del proceso de evolucin (seleccin,
reproduccin, evaluacin).

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

48 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Seleccin
Se debe tratar la brecha generacional que se refiere a la transicin de
individuos de la poblacin Xt a la poblacin Xt+1 .
Elitismo:
Consiste en tener una copia del mejor individuo xbest Xt para colocarlo
en la poblacin Xt+1 despus del proceso de evolucin (seleccin,
reproduccin, evaluacin).
Se reduce el efecto aleatorio del proceso evolutivo

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

48 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Seleccin
Se debe tratar la brecha generacional que se refiere a la transicin de
individuos de la poblacin Xt a la poblacin Xt+1 .
Elitismo:
Consiste en tener una copia del mejor individuo xbest Xt para colocarlo
en la poblacin Xt+1 despus del proceso de evolucin (seleccin,
reproduccin, evaluacin).
Se reduce el efecto aleatorio del proceso evolutivo
Se garantiza que el mejor individuo xbest Xt+1 ser siempre mejor o
igual a xbest Xt

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

48 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Seleccin
Se debe tratar la brecha generacional que se refiere a la transicin de
individuos de la poblacin Xt a la poblacin Xt+1 .
Elitismo:
Consiste en tener una copia del mejor individuo xbest Xt para colocarlo
en la poblacin Xt+1 despus del proceso de evolucin (seleccin,
reproduccin, evaluacin).
Se reduce el efecto aleatorio del proceso evolutivo
Se garantiza que el mejor individuo xbest Xt+1 ser siempre mejor o
igual a xbest Xt
Se prueba que el Elitismo es condicion necesaria para la convergencia
al ptimo [Rudolph, 1994].

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

48 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Seleccin
Steady-state
Existe un reemplazo parcial de los individuos de Xt al generar Xt+1 . La
metodologa de realizacin de Steady State es la siguiente

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

49 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Seleccin
Steady-state
Existe un reemplazo parcial de los individuos de Xt al generar Xt+1 . La
metodologa de realizacin de Steady State es la siguiente
seleccionar k < m individuos de Xt
operar estos k individuos (cruces, mutacion)
eliminar los k peores elementos de Xt
obtener Xt+1 insertando los n individuos generados

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

49 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Seleccin
Steady-state
Existe un reemplazo parcial de los individuos de Xt al generar Xt+1 . La
metodologa de realizacin de Steady State es la siguiente
seleccionar k < m individuos de Xt
operar estos k individuos (cruces, mutacion)
eliminar los k peores elementos de Xt
obtener Xt+1 insertando los n individuos generados

donde k es la fraccin de individuos a reemplazarse, k < m, y se define


k = GAP m.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

49 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Seleccin
Steady-state - funcionamiento
x16
x15
x14
x13
x12
x11
x10
x09
x08
x07
x06
x05
x04
x03
x02
x01

99
95
81
76
67
58
44
42
36
22
20
19
17
10
8
5

Poblacion Xt y
evaluaciones f (xi )
Tpac, Y. Computacin Evol (UNSA)

99
95
81
76
67
58
44
42
36
22
38
6
121
88
58
17

38
6
121
88
58
17
k nuevos
individuos
Doctorado en CC.

reemplazar los
k peores

121
99
95
88
81
76
67
58
58
44
42
38
36
22
17
6
Poblacion Xt+1 y
evaluaciones f (xi )
April 21, 2012

50 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Seleccin
Steady-state sin repetidos:
Es el reemplazo parcial de la poblacin excluyendo los individuos repetidos:

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

51 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Seleccin
Steady-state sin repetidos:
Es el reemplazo parcial de la poblacin excluyendo los individuos repetidos:
Evita las repeticiones que son ms frecuentes en poblaciones con
Steady-state que son ms estticas.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

51 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Seleccin
Steady-state sin repetidos:
Es el reemplazo parcial de la poblacin excluyendo los individuos repetidos:
Evita las repeticiones que son ms frecuentes en poblaciones con
Steady-state que son ms estticas.
Ms eficiencia en el paralelismo de bsqueda, dado que se garantizan
elementos diferentes (diversidad).

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

51 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Seleccin
Steady-state sin repetidos:
Es el reemplazo parcial de la poblacin excluyendo los individuos repetidos:
Evita las repeticiones que son ms frecuentes en poblaciones con
Steady-state que son ms estticas.
Ms eficiencia en el paralelismo de bsqueda, dado que se garantizan
elementos diferentes (diversidad).

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

51 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Seleccin
Steady-state sin repetidos:
Es el reemplazo parcial de la poblacin excluyendo los individuos repetidos:
Evita las repeticiones que son ms frecuentes en poblaciones con
Steady-state que son ms estticas.
Ms eficiencia en el paralelismo de bsqueda, dado que se garantizan
elementos diferentes (diversidad).
Dado un individuo repetido:
Se reemplaza por un nuevo individuo generado aleatoriamente
(verificando que no sea repetido)

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

51 / 57

Algoritmos Genticos

Reproduccin

Ajustes en la Seleccin
Steady-state sin repetidos:
Es el reemplazo parcial de la poblacin excluyendo los individuos repetidos:
Evita las repeticiones que son ms frecuentes en poblaciones con
Steady-state que son ms estticas.
Ms eficiencia en el paralelismo de bsqueda, dado que se garantizan
elementos diferentes (diversidad).
Dado un individuo repetido:
Se reemplaza por un nuevo individuo generado aleatoriamente
(verificando que no sea repetido)
Se opera (cruzar o mutar) hasta obtener un individuo diferente

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

51 / 57

Algoritmos Genticos

Monitoreo de un AG

Monitoreo de un AG
Para verificar el comportamiento de una poblacin X durante las
generaciones, se emplean curvas de desempeo de las ejecuciones de un
algoritmo que son los siguientes tipos:

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

52 / 57

Algoritmos Genticos

Monitoreo de un AG

Monitoreo de un AG
Para verificar el comportamiento de una poblacin X durante las
generaciones, se emplean curvas de desempeo de las ejecuciones de un
algoritmo que son los siguientes tipos:
Curva best-so-far

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

52 / 57

Algoritmos Genticos

Monitoreo de un AG

Monitoreo de un AG
Para verificar el comportamiento de una poblacin X durante las
generaciones, se emplean curvas de desempeo de las ejecuciones de un
algoritmo que son los siguientes tipos:
Curva best-so-far
Curva online

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

52 / 57

Algoritmos Genticos

Monitoreo de un AG

Monitoreo de un AG
Para verificar el comportamiento de una poblacin X durante las
generaciones, se emplean curvas de desempeo de las ejecuciones de un
algoritmo que son los siguientes tipos:
Curva best-so-far
Curva online
Curva offline

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

52 / 57

Algoritmos Genticos

Monitoreo de un AG

Monitoreo de un AG
Para verificar el comportamiento de una poblacin X durante las
generaciones, se emplean curvas de desempeo de las ejecuciones de un
algoritmo que son los siguientes tipos:
Curva best-so-far
Curva online
Curva offline
Curva best-so-far:
Observa los valores xbest (t) durante las generaciones 1 t:

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

52 / 57

Algoritmos Genticos

Monitoreo de un AG

Monitoreo de un AG
Para verificar el comportamiento de una poblacin X durante las
generaciones, se emplean curvas de desempeo de las ejecuciones de un
algoritmo que son los siguientes tipos:
Curva best-so-far
Curva online
Curva offline
Curva best-so-far:
Observa los valores xbest (t) durante las generaciones 1 t:
(13)

vbest (t) = f (xbest )(t)

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

52 / 57

Algoritmos Genticos

Monitoreo de un AG

Monitoreo de un AG
Para verificar el comportamiento de una poblacin X durante las
generaciones, se emplean curvas de desempeo de las ejecuciones de un
algoritmo que son los siguientes tipos:
Curva best-so-far
Curva online
Curva offline
Curva best-so-far:
Observa los valores xbest (t) durante las generaciones 1 t:
(13)

vbest (t) = f (xbest )(t)

donde f (xbest )(t) es la evaluacin del mejor elemento de la generacin t.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

52 / 57

Algoritmos Genticos

Monitoreo de un AG

Monitoreo de un AG
Curva online:
Visualiza la rpida obtencin de buenas soluciones y la convergencia
de la poblacin.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

53 / 57

Algoritmos Genticos

Monitoreo de un AG

Monitoreo de un AG
Curva online:
Visualiza la rpida obtencin de buenas soluciones y la convergencia
de la poblacin.
Cada punto de la curva es dado por :
von (t) =

Tpac, Y. Computacin Evol (UNSA)

t
1 X
f (Xt )
t + 1 i=0

Doctorado en CC.

(14)

April 21, 2012

53 / 57

Algoritmos Genticos

Monitoreo de un AG

Monitoreo de un AG
Curva online:
Visualiza la rpida obtencin de buenas soluciones y la convergencia
de la poblacin.
Cada punto de la curva es dado por :
von (t) =

t
1 X
f (Xt )
t + 1 i=0

(14)

donde f (Xt ) es la media de las evaluaciones de todos los individuos


xi Xt , para la generacin t (t = 0 es la poblacin inicial).

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

53 / 57

Algoritmos Genticos

Monitoreo de un AG

Monitoreo de un AG
Curva off-line:
Visualiza la obtencin de buenas soluciones sin importar el tiempo
tomado para encontrarlas.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

54 / 57

Algoritmos Genticos

Monitoreo de un AG

Monitoreo de un AG
Curva off-line:
Visualiza la obtencin de buenas soluciones sin importar el tiempo
tomado para encontrarlas.
Cada punto de la curva es dado por:
voff (t) =

Tpac, Y. Computacin Evol (UNSA)

t
1 X
f (xbest )(t)
t + 1 i=0

Doctorado en CC.

(15)

April 21, 2012

54 / 57

Algoritmos Genticos

Monitoreo de un AG

Monitoreo de un AG
Curva off-line:
Visualiza la obtencin de buenas soluciones sin importar el tiempo
tomado para encontrarlas.
Cada punto de la curva es dado por:
voff (t) =

t
1 X
f (xbest )(t)
t + 1 i=0

(15)

donde f (xbest )(t) es la evaluacin del mejor elemento de la


generacin t, (t = 0 es la poblacin inicial).

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

54 / 57

Algoritmos Genticos

Monitoreo de un AG

Monitoreo de un AG
Curva off-line:
Visualiza la obtencin de buenas soluciones sin importar el tiempo
tomado para encontrarlas.
Cada punto de la curva es dado por:
voff (t) =

t
1 X
f (xbest )(t)
t + 1 i=0

(15)

donde f (xbest )(t) es la evaluacin del mejor elemento de la


generacin t, (t = 0 es la poblacin inicial).
Son necesarias muchas ejecuciones y curvas online, off-line medias para
tener una mejor visualizacin del comportamiento de un algoritmo
gentico.
Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

54 / 57

Algoritmos Genticos

Monitoreo de un AG

Monitoreo de un AG
Ejemplo de Curvas off/online, best-so-far
Optimizaci
on de localizaci
on y n
umero de pozos
Valor Presente Neto

Curvas de monitoreo
Curva online

1,600

Curva off-line

1,500

Curva best-so-far

1,400
1,300
1,200
1,100
1,000
900
800
700
600
500
400
300
200
1 4 7 11 17 23 29 35 41 47 53 59 65 71 77 83 89 95 102 110 118 126 134 142 150 158 166 174 182 190 198

Iteraciones

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

55 / 57

Bibliografa

Bibliografa I
Goldberg, D. E. (1989).
Genetic Algorithms in Search, Optimization and Machine Learning.
Addison-Wesley Publishing Co., Reading, Massachusetts.
Holland, J. H. (1962a).
Concerning efficient adaptive systems.
In Yovits, M. C., Jacobi, G. T., and Goldstein, G. D., editors,
Self-Organizing Systems1962, pages 215230. Spartan Books,
Washington, D.C.
Holland, J. H. (1962b).
Outline for a logical theory of adaptive systems.
Journal of the Association for Computing Machinery, 9:297314.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

56 / 57

Bibliografa

Bibliografa II
Michalewicz, Z. (1996).
Genetic Algorithms + Data Structures = Evolution Programs.
Springer-Verlag, New York, third edition.
Rudolph, G. (1994).
Convergence analysis of canonical genetic algorithms.
IEEE Transactions on Neural Networks, 5:96101.
Wetzel, A. (1983).
Evaluation of the effectiveness of genetic algorithms in combinatorial
optimization.
PhD thesis, University of Pittsburgh, Pittsburgh, Philadelphia, USA.

Tpac, Y. Computacin Evol (UNSA)

Doctorado en CC.

April 21, 2012

57 / 57

Potrebbero piacerti anche