Documentos de Académico
Documentos de Profesional
Documentos de Cultura
A L G O RIT MO S G E N T I C O S
4.1. INTRODUCCIN
La estructura de un algoritmo gentico simple se corresponde con la estructura de
cualquier programa evolutivo (ver figura 1.1). Durante la iteracin t, un algoritmo
gentico mantiene una poblacin de soluciones potenciales (cromosomas, vectores),
P(t) = {xt1, ..., xtn}. Cada solucin xtn se evala para dar alguna medida de su fitness.
Entonces, se forma una nueva poblacin (iteracin t + 1) al seleccionar los individuos
ms adaptados. Algunos miembros de esta nueva poblacin se someten a alteraciones
por medio de crossover y mutacin, para formar nuevas soluciones. El crossover
combina las caractersticas de dos cromosomas padres para formar dos hijos similares al
intercambiar segmentos entre los padres. La idea detrs de la aplicacin del operador de
crossover es el intercambio de informacin entre diferentes soluciones potenciales. La
mutacin altera arbitrariamente uno o ms genes del cromosoma seleccionado, estos
cambios aleatorios se realizan con probabilidad usualmente baja. La idea detrs del
operador de mutacin es introducir alguna variabilidad en la poblacin.
Para resolver un problema particular, un algoritmo gentico (como cualquier
programa evolutivo) deber tener los siguientes componentes:
' Una representacin gentica de las soluciones potenciales del problema.
' Una forma de crear la poblacin inicial de soluciones potenciales.
' Una funcin de evaluacin que juegue el papel de medio ambiente, y permita
ordenar las soluciones de acuerdo a su fitness.
' Operadores genticos que alteren la composicin de los hijos.
' Valores de varios parmetros que el algoritmo gentico utiliza.
Grefenstette y Baker [81] presentan una versin modificada de la descripcin de un
algoritmo gentico. Esta descripcin difiere del paradigma presentado por Holland,
donde la seleccin se hace para obtener padres para recombinacin [84].
ALGORITMOS GENTICOS
4.1.1. VOCABULARIO GA
Como los GAs tienen sus races tanto en la gentica natural como en la ciencia de la
computacin, la terminologa usada en la literatura de algoritmos genticos es una
mezcla de la natural y de la artificial.
En un organismo biolgico, la estructura que codifica la prescripcin especificando
como est construido el organismo se llama cromosoma. Se pueden necesitar uno o ms
38
ALGORITMOS GENTICOS
Algoritmos Genticos
Explicacin
Solucin
Genes (bits)
Locus
Alelos
Fenotipo
Solucin decodificada
Genotipo
Solucin codificada
4.1.2. REPRESENTACIN
Hay un conjunto de mecanismos de representacin (tambin llamada codificacin)
que se usan para resolver distintos problemas de optimizacin en GAs, entre ellas se
encuentran la codificacin binaria, real, permutaciones, etc.
4.1.2.1.CODIFICACIN BINARIA
La codificacin binaria es una eleccin excelente para problemas en los cuales un
individuo se mapea naturalmente en un string de ceros y unos. Un string binario se usa
como un cromosoma para representar valores reales de la variable x. El largo del vector
depende de la precisin requerida. Por ejemplo E = [10001010] es un string binario con
ocho genes. El locus del i-simo gen es simplemente el i-sima posicin en el string y
su valor o alelo lo da E[i].
39
ALGORITMOS GENTICOS
4.1.2.2.CODIFICACIN REAL
En problemas de optimizacin de funciones reales se da una funcin n-dimensional,
por ejemplo f(x, y, z). El objetivo de optimizacin es tpicamente el requerimiento para
ubicar el valor mximo (o mnimo) de la funcin en un dominio dado. En GAs clsicos,
usados en problemas de optimizacin de funciones reales, una solucin potencial al
problema se codifica en un string de bits. En un ejemplo tridimensional f(x, y, z), una
solucin potencial podr ser f(x1, y1, z1) y x1, y1, z1 se codificarn como substrings
tridimensionales. Esos substrings se concatenarn para formar un nico genotipo de
strings de bits. Cada parmetro se puede codificar como un nico string binario o como
un nmero en punto flotante tradicional.
El principal objetivo detrs de esta implementacin es que el algoritmo gentico est
ms cerca del espacio del problema. Esto fuerza, pero tambin permite, que los
operadores sean ms especficos del problema. Por ejemplo, esta representacin tiene la
propiedad que dos puntos cercanos en el espacio de representacin pueden tambin ser
cercanos en el espacio del problema, y viceversa. Esto no es generalmente verdad en la
opcin binaria, donde la distancia en una representacin es normalmente definida por el
nmero de posiciones de bits diferentes. Sin embargo, es posible reducir tal
discrepancia usando codificacin Gray.
40
ALGORITMOS GENTICOS
4.1.2.4.OTRAS REPRESENTACIONES
Se han usado otras estrategias de codificacin en algoritmos evolutivos. Entre ellas
se puede incluir representacin con rboles [90], matrices [22, 15, 140], y
codificaciones con estructuras heterogneas [71].
4.1.3. CROSSOVER
El crossover es el principal operador gentico. Es un operador sexual. Trabaja sobre
dos cromosomas a la vez y genera hijos al recombinar ambas caractersticas de los
cromosomas. Una forma simple de realizar el crossover deber consistir en elegir en
forma aleatoria un punto de corte, y generar el hijo combinando el segmento de un
padre a la izquierda del punto de corte con el segmento a la derecha del otro padre. Este
mtodo trabaja con la representacin de strings de bits y se ha extendido a otras
representaciones. La performance del algoritmo gentico depende, en gran parte, del
comportamiento del operador de crossover usado.
La probabilidad de crossover (indicada por pc) se define como la relacin entre el
nmero de hijos producidos en cada generacin y el tamao de la poblacin
(generalmente indicado por pop_size). Esta probabilidad controla el nmero esperado de
cromosomas que se someten a la operacin de crossover. Una alta probabilidad de
crossover permite una mayor exploracin del espacio de soluciones, reduciendo las
41
ALGORITMOS GENTICOS
i+1,
, s n )
4.1.4. MUTACIN
La mutacin es un operador de background en los GAs el cual produce cambios
aleatorios en varios cromosomas. Una forma simple de realizar la mutacin deber ser
alterar uno o ms genes. En un algoritmo gentico, la mutacin cumple el rol de
reposicin de genes perdidos en la poblacin durante el proceso de seleccin y de
provisin de aquellos genes que no estn presentes en la poblacin inicial.
Puntos de corte
42
ALGORITMOS GENTICOS
ALGORITMOS GENTICOS
cual combina elementos de bsqueda estocstica y dirigida, las cuales pueden hacer un
balance entre exploracin y explotacin del espacio de bsqueda. Al comienzo de la
bsqueda gentica existe una poblacin diversa y aleatoria, el operador de crossover
tiende a realizar una bsqueda general al explorar todo el espacio de soluciones.
Mientras se desarrollan soluciones con fitness alto, el operador de crossover provee
exploracin en el vecindario de cada una de ellas. En otras palabras, la clase de
bsqueda (exploracin o explotacin) que un operador de crossover realice deber estar
determinada por el ambiente del sistema gentico (la diversidad de la poblacin), pero
no por el operador en s mismo. Adems, los operadores genticos simples se disean
como mtodos de bsqueda de propsito general (mtodos de bsqueda independientes
del dominio), esencialmente realizan una bsqueda a ciegas y podran no garantizar la
produccin de mejores hijos.
4.1.7. META-HEURSTICAS
Al principio los GAs se crearon como una herramienta genrica para la resolucin
de muchos problemas difciles. En la mayora de los primeros trabajos en GAs se us la
44
ALGORITMOS GENTICOS
ALGORITMOS GENTICOS
decodificacin
espacio de
soluciones
espacio
codificado
Evaluacin
Operaciones
y Seleccin
codificacin
ilegal
espacio
codificado
no factible
factible
espacio de
soluciones
zona
factible
'
La factibilidad de un cromosoma.
'
La legalidad de un cromosoma.
'
La unicidad de la traslacin.
La factibilidad hace referencia a si una solucin decodificada cae en una regin
46
ALGORITMOS GENTICOS
espacio
codificado
1a n mapping
espacio de
soluciones
n a1 mapping
1 a 1 mapping
47
ALGORITMOS GENTICOS
48
ALGORITMOS GENTICOS
4.4. SELECCIN
El principio detrs del algoritmo gentico es esencialmente la seleccin natural de
Darwin. La seleccin provee la fuerza motora a un algoritmo gentico. La presin
selectiva es crtica. En un extremo, la bsqueda terminar prematuramente; mientras
que en el otro, el progreso ser ms lento que el necesario. Tpicamente, se sugiere una
baja presin selectiva al comienzo de los algoritmos genticos en favor de una amplia
exploracin del espacio de bsqueda, mientras se recomienda una alta presin selectiva
al final, para explotar las regiones ms prometedoras del espacio de bsqueda. La
seleccin dirige la bsqueda del GA a travs de regiones prometedoras del espacio de
bsqueda.
Se presentan tres cuestiones bsicas relacionadas con la fase de seleccin [68]:
' Espacio de muestreo.
' Mecanismo de muestreo
' Probabilidad de seleccin.
Cada una de ellas ejerce una influencia significativa sobre la presin selectiva y por
consiguiente en el comportamiento del algoritmo gentico.
ALGORITMOS GENTICOS
50
ALGORITMOS GENTICOS
muestreos extendidos. Una ventaja que presenta esta opcin es que se puede mejorar la
performance del GA al incrementar las probabilidades de crossover y mutacin.
Muestreos estocsticos.
'
Muestreos determinsticos.
'
Muestreos mixtos.
4.4.2.1.MUESTREOS ESTOCSTICOS
Una caracterstica comn de los mtodos encasillados en esta categora es que la
fase de seleccin determina el nmero de copias que cada cromosoma recibir
basndose en su probabilidad de supervivencia [11]. De este modo la fase de seleccin
est compuesta de dos partes:
' Determinar el valor esperado de hijos del cromosoma.
' Convertir el valor esperado en un nmero de hijos.
Un valor esperado de hijos del cromosoma es un nmero real que indica el nmero
promedio de hijos que un cromosoma deber recibir. El procedimiento de muestreo se
usa para convertir el valor esperado real en nmero de hijos.
El mtodo ms conocido en esta clasificacin es la seleccin proporcional de
Holland o roulette wheel selection. La idea es determinar la probabilidad de seleccin
(tambin llamada probabilidad de supervivencia). Para el cromosoma k con fitness fk, su
probabilidad de seleccin pk se calcula de la siguiente manera:
pk =
fk
pop _ size
fj
j =1
51
ALGORITMOS GENTICOS
52
ALGORITMOS GENTICOS
4.4.2.2.MUESTREOS DETERMINSTICOS
Esta opcin generalmente selecciona los mejores pop_size cromosomas desde el
espacio de muestreo. Tanto la seleccin ( + ) como la ( ,) pertenecen este mtodo.
Ambas opciones prohiben que cromosomas duplicados entren en la poblacin durante la
seleccin.
Truncation selection y block selection pertenecen a este mtodo, los cuales ordenan
todos los cromosomas de acuerdo a su fitness y selecciona el mejor como padre [137].
En truncation selection se define un umbral T tal que se seleccionan los T% mejores
cromosomas y cada uno recibe alrededor de 100/T copias. Block selection es
equivalente a truncation selection ya que para una poblacin dada de tamao pop_size,
se dan simplemente s copias a los pop_size/s mejores cromosomas.
La seleccin elitista asegura que el mejor cromosoma se mantiene a travs de las
generaciones si no se selecciona a travs del proceso de seleccin. Bajo ciertas
condiciones muy generales, la introduccin del elitismo garantiza la convergencia
terica al ptimo global; en la prctica, mejora la velocidad de convergencia de los GAs
cuando la funcin de evaluacin es unimodal, es decir, no existen subptimos, sin
embargo la velocidad de convergencia empeora con funciones fuertemente
multimodales.
El muestreo determinstico de Brindle est basado sobre el concepto de nmero
esperado [20]. La probabilidad de seleccin para cada cromosoma se calcula de la
forma usual, pk =f k / f k . El nmero esperado de cada cromosoma se calcula como
ek = pk pop_size. A cada cromosoma se le asignan muestras en relacin a la parte
entera del nmero esperado, y entonces la poblacin se ordena en funcin a la parte
fraccional del nmero esperado. Los cromosomas restantes necesarios para completar se
sacan de la parte superior de la lista ordenada.
El reemplazo generacional (reemplazo del conjunto entero de padres por sus hijos)
se puede ver como otra versin de una opcin determinstica. Una modificacin al
53
ALGORITMOS GENTICOS
4.4.2.3.MUESTREOS MIXTOS.
Esta opcin tiene tanto caractersticas determinsticas como aleatorias. Un ejemplo
tpico es seleccin por torneo presentado por Goldberg [76]. Este mtodo elige en
forma aleatoria un conjunto de cromosomas y escoge el mejor del conjunto de
reproduccin. El nmero de cromosomas en el conjunto se llama tamao del torneo. Un
tamao de torneo comn es 2. Esto se denomina torneo binario.
Stochastic tournament selection fue sugerido por Wetzel [142]. En este mtodo, las
probabilidades de seleccin se calculan en la forma usual y se muestrean pares
consecutivos de cromosomas usando seleccin por ruleta. Luego de sortear un par, esos
cromosomas con alto fitness se insertan en la nueva poblacin. El proceso contina
hasta que se completa la poblacin.
Remainder stochastic sampling propuesto por Brindle es una versin modificada del
muestreo determinstico [20]. En este mtodo, a cada cromosoma se le asignan muestras
acorde a la parte entera del nmero esperado, y entonces los cromosomas compiten en
funcin de la parte fraccional del nmero esperado para los lugares restantes en la
poblacin.
54
ALGORITMOS GENTICOS
funcin
55
ALGORITMOS GENTICOS
Seleccin estabilizante.
'
Seleccin direccional.
'
Seleccin disruptiva.
La seleccin estabilizante tambin se la llama como seleccin normalizada, porque
ALGORITMOS GENTICOS
[79].
Denotando
un
nico
individuo
por
xi=(xi,1,...,xi,l)
(i {1,, pop_size) para distinguir sus bits, el bias b(P(t)) de una poblacin se calcula
como:
pop _ size
l
pop _ size
1
max (1 ai , j ), (ai, j ) [0.5,1.0]
b( P(t )) =
l pop _ size j =1
i =1
i =1
'
57
ALGORITMOS GENTICOS
'
'
previsible; mientras que las dos ltimas son causa original de muchos inconvenientes
que se debern atacar por separado. De manera esquemtica, se puede decir que todos
esos inconvenientes tienen su base en dos hechos:
1. Debilidad.
2. Problemas de diversidad derivados del uso de poblaciones finitas.
58
ALGORITMOS GENTICOS
extraviar; para eso es necesario partir de una mala poblacin inicial o plantear un
problema especialmente diseado para que se extrave.
Para que el mecanismo bsico de los GAs funcione correctamente es necesario
proporcionarle una mnima cantidad y calidad de informacin. Si no se le proporciona
ese mnimo el mecanismo no funciona con propiedad, y el GA evolucionar
incorrectamente.
Como es de suponer, el factor que ms contribuye a la existencia de desorientacin
es la forma de la funcin de fitness. Tpicamente, la desorientacin es frecuente en
problemas en los que los puntos ptimos estn aislados y rodeados de puntos de muy
bajo fitness. Sin embargo, la desorientacin suele estar fuertemente estimulada por la
mala codificacin que oculte la ya de por s escasa informacin disponible. De modo
recproco, una buena codificacin reduce la probabilidad de extravo.
Un caso especialmente desfavorable ocurre cuando hay una fuerte interaccin entre
dos o ms atributos, de tal forma que la contribucin a la aptitud de un individuo que
realiza cierto gen depende grandemente de los valores que tomen otros. A este
fenmeno se denomina epistasis o acoplamiento y su presencia garantiza la
desorientacin dado que en esas condiciones resulta muy difcil constituir buenos
bloques constructivos.
59
ALGORITMOS GENTICOS
consecuencia una bsqueda aleatoria. Para que la seleccin resulte efectiva, la poblacin
debe contener en todo momento una cierta variedad de aptitudes.
Cuando la poblacin es finita tampoco se puede tener gran disparidad de aptitudes,
pues ello suele afectar muy negativamente a la diversidad de la poblacin.
Es imprescindible tener control sobre la diversidad de aptitudes de la poblacin para
evitar que se produzca una convergencia prematura ya sea por mucha diversidad
(superindividuos que son aptos en un cierto momento pero no los ms aptos absolutos)
o incluso por demasiado poca (deriva gentica).
60