Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Computacion Evolutiva PDF
Computacion Evolutiva PDF
Computacin evolutiva
Jos M. Sempere
Departamento de Sistemas Informticos y Computacin
Universidad Politcnica de Valencia
Computacin Evolutiva
1.
2.
3.
4.
5.
6.
7.
8.
Bibliografa
T. Mitchell.
Mitchell. Machine Learning.
Learning. McGrawMcGraw-Hill. 1997.
A.Y.
A.Y. Zomaya (Ed.)
Ed.) Handbook of NatureNature-Inpired and Innovative Computing.
Computing. Springer.
Springer. 2006.
L. Kallel,
Kallel, B. Naudts,
Naudts, A. Rogers (Eds.)
Eds.) Theoretical Aspects of Evolutionary Computing.
Computing.
Springer.
Springer. 2001
x
x1
x2
x3
xn
poblacin inicial
operadores genticos
Operadores Genticos
Recombinacin (crossover)
La recombinacin pretende recoger la informacin almacenada por dos
individuos y transmitirla a un descendiente.
Si tomamos cadenas binarias podemos establecer (entre otras) dos
operaciones
(a) Cruce puntual (point crossover)
10010101101 100101
01101001011 001101
(punto de cruce)
10010101101 001101
110110110110110110
Operadores Genticos
Recombinacin
Si tomamos vectores n-dimensionales podemos establecer (entre otras) las
siguientes operaciones
(x1, x2, , xn)
(padres)
(y1, y2, , yn)
( x + yi )
zi = i
2
zi = xi yi
zi = Q( xi , yi )
(Q es una conectiva borrosa)
Operadores Genticos
Mutacin
La mutacin pretende introducir ciertas componentes de aleatoriedad
en las nuevas poblaciones con el fin de favorecer las bsquedas locales
evitando que los algoritmos tiendan a mnimos locales.
(a) En cadenas binarias
1001010110 1 100101
1001010110 0 100101
(punto de mutacin)
(b) En vectores n-dimensionales
zi = xi + N i (0, i )
(Ni(a,b) es una distribucin Gaussiana)
Operadores de seleccin
La seleccin de individuos para poblaciones futuras se basa en un anlisis de
su funcin de capacidad (fitness). La funcin de capacidad es totalmente
dependiente del problema que se est intentando resolver (i.e., en clasificacin
de patrones el nmero de aciertos, en juegos interactivos el nmero de partidas
ganadas, etc.). Una vez evaluada la capacidad de cada individuo podemos
establecer distintos criterios de seleccin. La mayora de ellos se basan en
establecer para cada individuo una probabilidad de ser seleccionado de acuerdo
con la siguiente frmula
pi =
fi
jP
Operadores de seleccin
Algunos criterios (operadores) de seleccin son los siguientes
Mtodo de la ruleta: Girar la siguiente ruleta para seleccionar al individuo
2
3
4
1
p1
Seleccin mediante ranking: Se ordenan los individuos de acuerdo con su
funcin de capacidad. Se asignan nuevas probabilidades de acuerdo con
el orden preestablecido y se aplica el mtodo de la ruleta.
Seleccin mediante torneo: Se seleccionan k individuos de la poblacin
(aleatoriamente). Se selecciona el mejor de los k individuos.
Mecanismos de competicin
Los mecanismos de competicin se aplican cuando se desea eliminar algunos
individuos de la poblacin con el objetivo de que sta no crezca de forma
incontrolada. Tambin se aplican para refinar ms los mecanismos de seleccin
de forma que sta se haga sobre los mejores individuos. Habitualmente, la
generacin de nuevos individuos reemplazan a una fraccin de individuos de
la poblacin.
Algunos mecanismos de competicin son los siguientes:
Elitismo: Los n individuos mejores (generados o ya existentes) pasan
a la siguiente poblacin.
Truncamiento: Se selecciona un porcentaje de los mejores individuos
a cuyos padres se les aplica los operadores de seleccin
para la siguiente generacin.
Estrategias Evolutivas
Las estrategias evolutivas fueron desarrolladas a principios de los 60 por
Rechenberg y Schwefel como un mtodo de resolucin de problemas de
optimizacin en ingeniera
Habitualmente trabajan con espacios de genotipos igual a Rn
Se utilizan los siguientes parmetros:
Tamao de la poblacin inicial
Tamao de la poblacin descendente
Tamao de la familia (padres) (1 )
Un individuo de la poblacin se define por el par (x,) donde x es un punto
en el espacio Rn definido por (x1, x2, , xn) y es un vector de desviaciones
definido como (1, 2, , n).
10
Algoritmos genticos
Los algoritmos genticos fueron desarrollados a finales de los 60 por
J. Holland y sus colaboradores. Posteriormente, fueron redefinidos por
De Yong, Goldberg, Michalewicz y otros.
El Algoritmo Gentico Simple (SGA) difiere de otras aproximaciones como
las Estrategias Evolutivas o los Algoritmos Evolutivos en los dos siguientes
aspectos:
1. Se utiliza un espacio de bsqueda de genotipos que se representan
como cadenas binarias (Paso 0 del algoritmo)
2. Se utiliza la siguiente secuencia para la seleccin y la aplicacin de
operadores (Paso 4 del algoritmo)
Seleccin estocstica
Recombinacin
Mutacin
GENOCOP
Criaderos de GA
GAVaPS
Algoritmos de niching
niching
Los algoritmos de niching intentan dar solucin a los problemas relacionados
con
(1) Mantener la diversidad de la poblacin
(2) Converger a varias soluciones
(3) Prevenir una convergencia prematura cuando slo se exige una
solucin
Algunos mecanismos utilizados son los de (1) crowding, (2) fitness sharing,
(3) mating restriction, (4) deterministic crowding, (5) probabilistic crowding,
etc.
11
Programacin gentica
La programacin gentica es una tcnica de optimizacin evolutiva propuesta
inicialmente por Koza en 1992.
Las principales diferencias con otras aproximaciones son:
1. Las soluciones se representan como rboles (Paso 0 del algoritmo)
(que permiten describir programas en LISP, funciones, estructuras
de programacin, etc.)
2. La aplicacin de seleccin y aplicacin de operadores obedece al
siguiente esquema (Paso 4 del algoritmo)
i=0
Repetir
Elegir operador (PS, PC, PM)
Aplicar operador (seleccin, recombinacin, mutacin)
i = i+1
hasta i = n
Programacin evolutiva
La programacin gentica es otra tcnica evolutiva propuesta por Fogel y
sus colaboradores en 1966.
Las principales diferencias con otras aproximaciones son:
1. Las soluciones se representan mediante mquinas de estados
finitos (autmatas) (Paso 0 del algoritmo)
2. No se utiliza recombinacin como operador gentico
(Paso 4 del algoritmo)
12
13