Está en la página 1de 2

Estrategia evolutiva

Ir a la navegaciónIr a la búsqueda
En informática, las estrategias evolutivas son un tipo de algoritmos evolutivos que
se caracterizan principalmente por: La selección de individuos para la
recombinación es imparcial y es un proceso determinista, se diferencian del resto
de los Algoritmos Evolutivos principalmente por la forma del operador de mutación y
son aplicadas principalmente en problemas de optimización continua donde la
representación es a través de vectores de números reales. Fueron originalmente
creadas en la Universidad Técnica de Berlín en 1964.

La forma general de los algoritmos Estrategias Evolutivas tiene la siguiente


notación: {\displaystyle (\mu /\rho ,\lambda )-ES}{\displaystyle (\mu /\rho ,\
lambda )-ES}

Donde

µ: Tamaño de la población
ρ: Número de padres seleccionados para recombinarse
λ: Número de individuos en la descendencia
Un seudocódigo para el algoritmo general puede ser el siguiente:

0 given ρ, µ, λ ϵ N+
1 initialize P = {(xk; f(xk)) | 1 ≤ k ≤ µ}
2 while not happy
3 Q = {}
4 for k ϵ {1, ... , λ}
5 selected = select_mates(ρ, P)
6 xk = recombine(selected)
7 xk = mutate(xk)
8 Q = Q + (xk; f(xk))
9 P = P U Q
10 P = select_by_age(P)
11 P = select_best(µ, P) // by f-ranking
En el cual se tiene inicialmente un conjunto de µ padres. En cada iteración del
algoritmo se crea la descendencia (λ), para esto se seleccionan aleatoriamente ρ
padres que van a recombinarse, se muta el producto de la recombinación y se forma
el nuevo individuo. Luego de formarse el conjunto de la descendencia, se
seleccionan los mejores µ individuos entre la población anterior y la nueva
descendencia.

Una de las características distintivas de las Estrategias Evolutivas dentro de los


Algoritmos Evolutivos es el operador de mutación. Dicho operador se realiza a
través de una distribución normal multivariante:

Un vector aleatorio n-dimensional X, distribuye normal multivariante con parámetro


y matriz de covarianza definida positiva C si su función de densidad es: {\
displaystyle fx(x)={\frac {1}{(2\pi )^{n/2}\cdot \det(C)^{1/2}}}\cdot \exp(-{\frac
{1}{2}}(x-{\bar {x}})^{T}C^{-1}(x-{\bar {x}}))}{\displaystyle fx(x)={\frac {1}{(2\
pi )^{n/2}\cdot \det(C)^{1/2}}}\cdot \exp(-{\frac {1}{2}}(x-{\bar {x}})^{T}C^{-1}
(x-{\bar {x}}))}
En notación corta:
{\displaystyle X\backsim N({\bar {x}},C)}{\displaystyle X\backsim N({\bar {x}},C)}
Las distribuciones más usadas en Estrategias Evolutivas son: {\displaystyle
N(0,1),N(0,diag(\delta ^{2})),N(0,C)}{\displaystyle N(0,1),N(0,diag(\delta
^{2})),N(0,C)}

Existen otras variantes de Estrategias Evolutivas:

(1+1)-ES (Solo un padre genera una descendencia mutando, luego se selecciona el


mejor de ambos. Necesita de otros parámetros que se autoajustan)
(µ, λ)-MSC-ES
DR1, DR2, DR3
CMA-ES (Es uno de los más usados en la práctica, mantiene una matriz de parámetros
que se autoajusta)
Referencias
Ejemplo de un algoritmo de computación evolutiva.
Control de autoridades
Proyectos WikimediaWd Datos: Q2912857
Categorías: Computación evolutivaVida artificialAlgoritmos evolutivos

También podría gustarte