Documentos de Académico
Documentos de Profesional
Documentos de Cultura
AlgoritmosGeneticosPaper PDF
AlgoritmosGeneticosPaper PDF
4.2 Seleccin
Como ya hemos visto anteriormente es necesario hacer una
seleccin con los individuos ms capacitados para que stos sean
los que se reproduzcan con ms probabilidad de acuerdo con la
teora de Darwin en la cual los ms capacitados son los que deben
sobrevivir y crear una nueva descendencia ms facultada.
Por lo tanto una vez evaluado cada cromosoma y obtenida su
puntuacin, se tiene que crear la nueva poblacin teniendo en
Figura 5. Caso de seleccin por ruleta.
cuenta que los buenos rasgos de los mejores se transmitan a sta.
Esta seleccin se puede realizar de varias formas como se ver a
continuacin.
4.4 Mutacin
Tras el cruce, tiene lugar la mutacin. Si nos referimos en
trminos de evolucin, la mutacin se manifiesta de forma
extraordinaria, nada comn. Las mutaciones suelen en promedio
ser beneficiosas pues contribuyen a la diversidad gentica de la
Figura 18. Mutacin de rama para una codificacin en rbol.
especie. Adems previenen a las soluciones de la poblacin de
verse limitadas por un ptimo local. Por lo tanto la mutacin
consiste en modificar ciertos genes de forma aleatoria atendiendo 5. OTROS OPERADORES
a la probabilidad de mutacin establecida con anterioridad. La En algunos problemas se pueden utilizar otro tipo de operadores
mutacin depende de la codificacin y de la reproduccin. Si se que buscan soluciones de forma ms ordenada o que actan en las
abusa de la mutacin podemos caer en el uso del algoritmo ltimas fases para optimizar la solucin.
gentico como una simple bsqueda aleatoria. Por lo tanto antes
de aumentar las mutaciones, conviene estudiar otras soluciones 5.1 Cromosomas de longitud variable.
que aporten diversidad a la poblacin como podra ser el aumento Puede suceder que para ciertas aplicaciones como en las redes
del tamao de la poblacin o garantizar la aleatoriedad de la neuronales no se conozca de antemano el nmero de neuronas que
poblacin inicial. vamos a utilizar por lo que habr que disponer de alguna tcnica
Para el caso de una codificacin binaria, la mutacin consiste para solventar el problema.
simplemente en la inversin del gen mutado que corresponder
con un bit. En el caso de una codificacin numrica, la mutacin En estos casos, necesitamos dos operadores ms: aadir y
podra consistir en sustituir un nmero por otro o intercambiar un eliminar. Estos operadores se utilizan para aadir un gen, o
nmero por otro que est en otra posicin del cromosoma. En el eliminar un gen del cromosoma. La forma ms habitual es
caso de codificacin por valor directo en el que por ejemplo duplicar uno ya existente, el cual sufre mutacin y se aade al
usemos nmeros reales, la mutacin puede consistir simplemente lado del anterior. En este caso, los operadores del algoritmo
en modificar el valor en unos decimales. Por ltimo, en una gentico simple (seleccin, mutacin, crossover) funcionarn de
codificacin en rbol, la mutacin podra radicar en el cambio de la forma habitual, salvo, claro est, que slo se har crossover en
operador, de un nmero o incluso en la mutacin de una rama la zona del cromosoma de menor longitud. Estos operadores
entera. permiten, adems, crear un algoritmo gentico de dos niveles: a
nivel de cromosoma y a nivel de gen.
Veamos unos ejemplos para analizar el fenmeno de la mutacin:
5.2 Operadores de Nicho
Estos operadores estn encaminados a mantener la diversidad
gentica de la poblacin, de forma que cromosomas similares
sustituyan slo a cromosomas similares, y son especialmente
tiles en problemas con muchas soluciones. Un algoritmo
gentico con estos operadores es capaz de hallar todos los
mximos, dedicndose cada especie a un mximo. Ms que
operadores genticos, son formas de enfocar la seleccin y la
evaluacin de la poblacin.
6. VENTAJAS DE LOS ALGORITMOS poblacin demasiado pronto, provocando que el
algoritmo converja hacia el ptimo local que representa
GENTICOS ese individuo, en lugar de rastrear el paisaje adaptativo
Una clara ventaja es que los algoritmos genticos son lo bastante a fondo para encontrar el ptimo global.
intrnsicamente paralelos, es decir, operan de forma Esto es un problema especialmente comn en las
simultnea con varias soluciones, en vez de trabajar de poblaciones pequeas, donde incluso una variacin
forma secuencial como las tcnicas tradicionales. Esto aleatoria en el ritmo de reproduccin puede provocar
significa que mientras tcnicas tradicionales slo que un genotipo se haga dominante sobre los otros.
pueden explorar el espacio de soluciones hacia una
solucin en una direccin al mismo tiempo, y si la 8. APLICACIONES DE LOS
solucin que descubren resulta subptima, no se puede
hacer otra cosa que abandonar todo el trabajo hecho y ALGORITMOS GENTICOS
empezar de nuevo. Sin embargo, los algoritmos La aplicacin ms comn de los algoritmos genticos ha sido la
genticos simplemente desechan esta solucin solucin de problemas de optimizacin, en donde han mostrado
subptima y siguen por otros caminos. ser muy eficientes. Sin embargo, no todos los problemas pudieran
ser apropiados para esta tcnica. Se recomienda en general tomar
Cuando se usan para problemas de optimizacin
en cuenta las siguientes caractersticas del mismo antes de intentar
resultan menos afectados por los mximos locales
usarla:
(falsas soluciones) que las tcnicas tradicionales.
Muchos algoritmos de bsqueda pueden quedar Su espacio de bsqueda debe estar delimitado dentro de
atrapados en los ptimos locales: si llegan a lo alto de un cierto rango.
una colina del paisaje adaptativo, descubrirn que no Debe poderse definir una funcin de aptitud que nos
existen soluciones mejores en las cercanas y concluirn indique qu tan buena o mala es una cierta respuesta.
que han alcanzado la mejor de todas, aunque existan
picos ms altos en algn otro lugar del mapa, situacin Las soluciones deben codificarse de una forma que
que no sucede para algoritmos genticos. resulte relativamente fcil de implementar en la
computadora.
Otra ventaja es su habilidad para manipular muchos
parmetros simultneamente. Resulta interesante en Dentro de los distintos problemas de optimizacin podemos
caso de tener varios objetivos a resolver. encontrar unas reas de aplicacin:
No necesitan conocimientos especficos sobre el Diseo por computadora de nuevos materiales que
problema que intentan resolver. Realizan cambios cumplan mltiples objetivos.
aleatorios en sus soluciones candidatas y luego utilizan
la funcin de aptitud para determinar si esos cambios
Optimizacin del la carga de containers.
producen una mejora o no.
Resulta sumamente fcil ejecutarlos en las modernas Asignacin de procesos en topologas de redes con
arquitecturas masivas en paralelo. procesamiento distribuido.
Usan operadores probabilsticos, en vez de los tpicos
operadores determinsticos de las otras tcnicas. Ubicacin de archivos en sistemas de almacenamiento
distribuido.
7. DESVENTAJAS DE LOS ALGORITMOS
Diseo de circuitos integrados.
GENETICOS
Definir una representacin del problema. El lenguaje Optimizacin de la infraestructura de telefona celular.
utilizado para especificar soluciones candidatas debe ser
robusto, debe ser capaz de tolerar cambios aleatorios Ingeniera Aeroespacial.
que no produzcan constantemente errores fatales o
resultados sin sentido. Se puede solucionar mediante la Juegos.
definicin de los individuos como listas de nmeros
donde cada nmero representa algn aspecto de la
Robtica
solucin candidata.
Pueden tardar mucho en converger, o no converger en 9. EJEMPLOS PRCTICOS
absoluto, dependiendo en cierta medida de los En el siguiente enlace, se puede apreciar de forma prctica los
parmetros que se utilicen -tamao de la poblacin, conocimientos expuestos en relacin a los algoritmos genticos.
nmero de generaciones http://homepage.sunrise.ch/homepage/pglaus/gentore.htm#Applet
Pueden converger prematuramente debido a una serie de En esta pgina se encuentra un applet de Java en el que se muestra
problemas. Si un individuo que es ms apto que la un relieve de un determinado paisaje generado de forma aleatoria.
mayora de sus competidores emerge muy pronto en el Se puede elegir la poblacin inicial. Al ejecutar el programa, el
curso de la ejecucin, se puede reproducir tan algoritmo trata de buscar la mxima altura a la que podemos
abundantemente que merme la diversidad de la ascender.
Otro ejemplo de algoritmo gentico se puede encontrar en 11. REFERENCIAS
http://www.rennard.org/alife/english/gavgb.html donde el
[1] http://es.wikipedia.org/wiki/Algoritmo_gen%C3%A9tico
algoritmo trata de buscar una copia de una figura partiendo de
otras generadas de forma aleatoria. [2] http://www.redcientifica.com/doc/doc199904260011.html
[3] http://geneura.ugr.es/~jmerelo/ie/ags.htm
10. CONCLUSIONES
Como hemos podido ver a lo largo del documento los algoritmos [4] http://www.lsi.upc.es/~iea/transpas/9_geneticos/index.htm
genticos son actualmente una fuerte fuente de resolucin de [5] http://casa.ccp.servidores.net/genetico.html
problemas complejos al realizar su ejecucin en paralelo pudiendo
[6] http://homepage.sunrise.ch/homepage/pglaus/gentore.htm#A
as obtener diferentes soluciones al problema.
pplet
Sin embargo, como se ha podido observar, no hay ninguna
[7] http://the-geek.org/docs/algen/
estrategia que sea siempre invencible, sino que hay un conjunto
de estrategias que suelen dar buenos resultados. As pues, habr [8] http://www.alfredorahn.com/docs/AG_Clase_3.ppt
que ajustar los parmetros de accin en funcin de cada problema [9] http://www.alfredorahn.com/docs/AG_Clase_4.ppt
a modelar para obtener una solucin que se adapte mejor a unas
determinadas condiciones. Sin embargo, en una situacin real [10] http://www.fiec.espol.edu.ec/investigacion/topico/algoritmos
puede suceder que no se conozcan los parmetros iniciales o que geneticos.pdf
no se sepa la duracin del algoritmo. [11] http://www.rennard.org/alife/english/gavgb.html
Por lo tanto habr que elegir con sumo cuidad los parmetros
iniciales. Un crossover elevado es recomendable para la mayora
de los problemas aunque hay situaciones en las que un crossover
menor dar mejores resultados. La mutacin deber ser baja,
entorno al 1%. Para una ptima resolucin, el resto de parmetros
habr que determinarlos en funcin del problema. La poblacin a
elegir debe atender a un valor ptimo (no por tener una poblacin
mayor, se va a tener una solucin mejor), la codificacin
depender del problema a resolver como se ha visto con
anterioridad y por ltimo el mtodo de seleccin ms utilizado es
el de seleccin por rueda de ruleta, aunque como se ha
comentado, depender de la cuestin que nos trate.
Por ltimo, se pretende que estos algoritmos se parezcan lo ms
posible a lo que en realidad sucede en la naturaleza. Por ejemplo,
cuando una poblacin queda aislada en la naturaleza, como
sucede, por ejemplo, con los linces de Doana, se pierde
diversidad al haber un grupo reducido que se reproduce entre si
constantemente perdindose esa tan necesaria diversidad para
sobrevivir. De hecho se ha comprobado que no evolucionan y que
su adaptacin a las condiciones no mejora en funcin del cambio
de stas.
Por lo tanto hay que tener cuidado con la perdida de diversidad en
nuestra poblacin, que se puede conseguir entre otras formas
mediante la mutacin.