Está en la página 1de 8

ALGORITMOS GENTICOS

Arranz de la Pea, Jorge

Parra Truyol, Antonio

Universidad Carlos III


100025106@alumnos.uc3m.es

Universidad Carlos III


100023822@alumnos.uc3m.es

En este documento se pretende analizar los algoritmos genticos


descubriendo su funcionamiento y sus secretos.

1. INTRODUCCION
Cuando hablamos de algoritmos genticos, hay que hablar de
John Holland que en 1962 asienta las bases para sus posteriores
desarrollos hasta llegar a lo que se conoce hoy por algoritmos
genticos.
Un algoritmo gentico es un mtodo de bsqueda que imita la
teora de la evolucin biolgica de Darwin para la resolucin de
problemas. Para ello, se parte de una poblacin inicial de la cual
se seleccionan los individuos ms capacitados para luego
reproducirlos y mutarlos para finalmente obtener la siguiente
generacin de individuos que estarn ms adaptados que la
anterior generacin.

2. ESQUEMA BSICO
En la naturaleza todo el proceso de evolucin biolgica se hace de
forma natural pero para aplicar el algoritmo gentico al campo de
la resolucin de problemas habr que seguir una serie de pasos.
Una premisa es conseguir que el tamao de la poblacin sea lo
suficientemente grande para garantizar la diversidad de
soluciones. Se aconseja que la poblacin sea generada de forma
aleatoria para obtener dicha diversidad. En caso de que la
poblacin no sea generada de forma aleatoria habr que tener en
cuenta que se garantice una cierta diversidad en la poblacin
generada. Los pasos bsicos de un algoritmo gentico son:

Evaluar la puntuacin de cada uno de los cromosomas


generados.

Permitir la reproduccin de los cromosomas siendo los


ms aptos los que tengan ms probabilidad de
reproducirse.

Con cierta probabilidad de mutacin, mutar un gen del


nuevo individuo generado.

Organizar la nueva poblacin.

Estos pasos se repetirn hasta que se de una condicin de


terminacin. Se puede fijar un nmero mximo de iteraciones
antes de finalizar el algoritmo gentico o detenerlo cuando no se
produzcan ms cambios en la poblacin (convergencia del
algoritmo). Esta ltima opcin suele ser la ms habitual.
Veamos el esquema general de un algoritmo gentico simple:

ESTRUCTURA DE UN ALGORITMO
GENTICO SIMPLE (AGS)

Codificacin
Codificacin
Soluciones

Cromosomas

110010

1100101010

101110

1011101110

1010
1110

Cruce
Cruce

1100101110

0011011001
1100110001

0011011001
0011011001

Mutacin
Mutacin

0011001001
0011001001

Seleccin
Seleccin

Evaluacin
Evaluacin
1100101110
1100101110
1011101010
1011101010
0011001001
0011001001

Rueda
Rueda de
de la
la Ruleta
Ruleta

Decodificacin
Decodificacin

Clculo
Clculo Aptitud
Aptitud
Soluciones
Soluciones

Figura1. Esquema de un algoritmo gentico simple.

3. PARMETROS DE LOS ALGORITMOS


GENTICOS.
Para el estudio de los algoritmos genticos hay que tener en
cuenta una serie de parmetros:

3.1 Tamao de la Poblacin


Este parmetro nos indica el nmero de cromosomas que tenemos
en nuestra poblacin para una generacin determinada. En caso de
que esta medida sea insuficiente, el algoritmo gentico tiene pocas
posibilidades de realizar reproducciones con lo que se realizara
una bsqueda de soluciones escasa y poco ptima. Por otro lado si
la poblacin es excesiva, el algoritmo gentico ser excesivamente
lento. De hecho estudios revelan que hay un lmite a partir del
cual es ineficiente elevar el tamao de la poblacin puesto que no
se consigue una mayor velocidad en la resolucin del problema.

3.2 Probabilidad de Cruce


Indica la frecuencia con la que se producen cruces entre los
cromosomas padre es decir, que haya probabilidad de
reproduccin entre ellos. En caso de que no exista probabilidad de
reproduccin, los hijos sern copias exactas se los padres. En caso
de haberla, los hijos tendrn partes de los cromosomas de los
padres. Si la probabilidad de cruce es del 100% el hijo se crea
totalmente por cruce, no por partes.

3.3 Probabilidad de Mutacin


Nos indica la frecuencia con la que los genes de un cromosoma
son mutados. Si no hay mutacin, los descendientes son los
mismos que haba tras la reproduccin. En caso de que haya
mutaciones, parte del cromosoma descendiente es modificado y si
la probabilidad de mutacin es del 100%, la totalidad del
cromosoma se cambia. En este caso, no se cambian simplemente
unos bits del cromosoma sino que se cambian todos, lo que

significa que se produce una inversin en el cromosoma y no una


mutacin por lo que la poblacin degenera muy rpidamente.

o valores sea mxima y que la suma de los pesos no supere el de


la capacidad de la mochila.

4. OPERACIONES DE LOS ALGORITMOS


GENTICOS.

4.1.2 Codificacin Numrica

Tras parametrizar el problema en una serie de variables, se


codifican en un cromosoma. Todos los operadores utilizados por
un algoritmo gentico se aplicarn sobre estos cromosomas, o
sobre poblaciones de ellos. En el algoritmo gentico va implcito
el mtodo para resolver el problema. Hay que tener en cuenta que
un algoritmo gentico es independiente del problema, lo cual lo
hace un algoritmo robusto, al resultar til en cualquier mbito de
accin, pero a la vez dbil, pues no est especializado en ninguno.
Las soluciones codificadas en un cromosoma compiten para ver
cul constituye la mejor solucin (aunque no necesariamente la
mejor de todas las soluciones posibles). El ambiente, constituido
por las otras soluciones, ejercer una presin selectiva sobre la
poblacin, de forma que slo los mejor adaptados (aquellos que
resuelvan mejor el problema) sobrevivan o leguen su material
gentico a las siguientes generaciones, igual que en la evolucin
de las especies. La diversidad gentica se introduce mediante
mutaciones y reproduccin sexual.
Por lo tanto, un algoritmo gentico consiste en hallar de qu
parmetros depende el problema, codificarlos en un cromosoma, y
aplicar los mtodos de la evolucin: seleccin y reproduccin
sexual con intercambio de informacin y mutaciones que generen
diversidad.

4.1 Codificacin de las Variables


Los cromosomas de alguna manera debern contener informacin
acerca de la solucin que representa. La codificacin se puede
realizar de varias formas. La ms utilizada es mediante una cadena
de nmeros binarios (1s o 0s). Pero tambin se puede realizar la
codificacin mediante nmeros enteros o incluso cadenas de
palabras.
La eleccin de la codificacin depender tambin del problema a
resolver pues puede darse la situacin en la que la resolucin de
un caso sea ms ptimo el uso de una codificacin basada en
nmeros reales mientras que esa codificacin complique la
solucin en otro caso. As pues hay que estudiar la codificacin
ms ptima segn el caso que se est estudiando.

4.1.1 Codificacin Binaria


Es la codificacin ms extendida debido a que los primeros
algoritmos genticos utilizaron este tipo de codificacin. En este
caso, cada cromosoma es una cadena de bits (0 o 1). A su favor
tiene que puede abarcar muchos cromosomas incluso con un
nmero reducido de genes. Sin embargo por otro lado esta opcin
no es la idnea para muchos problemas y en algunas ocasiones es
necesario realizar correcciones despus de la reproduccin y/o
mutacin.
Este tipo de codificacin se utiliza por ejemplo en el problema de
la mochila. En este problema tenemos una mochila con una cierta
capacidad y una serie de objetos que queremos introducir. Estos
objetos tendrn un peso y un beneficio o un valor para nosotros.
La capacidad de la mochila es inferior a la suma del peso de todos
los objetos. El objetivo es conseguir que la suma de los beneficios

En este tipo de codificacin se utilizan cadenas de nmeros que


representan un nmero en una secuencia. Se utiliza en problemas
en los que hay que ordenar algo, donde resulta muy til. En
algunos casos tambin es necesario como en el caso anterior
realizar correcciones tras relaciones o mutaciones.
Un ejemplo clsico de este tipo de codificacin es el problema del
viajante de comercio. En este caso tenemos una serie de ciudades
por las que el comerciante debe pasar y las distancias entre ellas.
El objetivo es que el comerciante, partiendo de una ciudad origen,
recorra todas las ciudades y vuelva al punto de partida pero
recorriendo el menor nmero de kilmetros, por lo que habr que
localizar la combinacin de ciudades que minimice dicho
recorrido.

Figura 2. Esquema del problema del viajante

4.1.3 Codificacin por Valor Directo


Este tipo de codificacin ser el utilizado en caso de resolucin de
problemas en el que se requiera del uso de valores de cifrado
complicado como podra ser en el uso de nmeros reales, cuya
codificacin con nmeros binarios sera muy complejo. En
codificacin por valor directo cada cromosoma es una cadena de
valores relacionados con el problema a estudiar, pudiendo ser
desde nmeros decimales, cadenas de caracteres o incluso una
combinacin de varios de ellos. Su aplicacin es muy buena en
ciertos problemas concretos. Por el contrario para la utilizacin de
esta codificacin, normalmente es necesario desarrollar nuevas
tcnicas de reproduccin y mutacin especificas hacia la
resolucin del problema.
Una aplicacin de esta codificacin se da en la resolucin de
problemas para la bsqueda de pesos para las redes neuronales.
En este asunto se trata de encontrar el peso de las neuronas para
ciertas entradas y as entrenar a la red para obtener la salida
deseada. El valor del peso de las entradas vendr representado en
el propio cromosoma con dicha codificacin.

Figura 3. Esquema red neuronal

4.1.4 Codificacin en rbol


Este tipo de codificacin se utiliza principalmente en el desarrollo
de programas o expresiones para programacin gentica. Cada
cromosoma ser en este caso un rbol con ciertos objetos.
En este mtodo, los cambios aleatorios pueden generarse
cambiando el operador, alterando el valor de un cierto nodo del
rbol o simplemente sustituyendo un subrbol por otro.

Figura 4. Rueda de ruleta de seleccin.

4.2.2 Seleccin por Rango


En este mtodo a cada cromosoma se le asigna un rango numrico
basado en su aptitud y la seleccin se realiza en base a este
ranking. Veamos la diferencia entre el caso anterior y este a travs
de un ejemplo grfico.

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
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.

Figura 5. Caso de seleccin por ruleta.

4.2.1 Seleccin por Rueda de Ruleta


Se crea para esta seleccin una ruleta con los cromosomas
presentes en una generacin. Cada cromosoma tendr una parte de
esa ruleta mayor o menor en funcin a la puntuacin que tenga
cada uno. Se hace girar la ruleta y se seleccin el cromosoma en el
que se para la ruleta. Obviamente el cromosoma con mayor
puntuacin saldr con mayor probabilidad. En caso de que las
probabilidades difieran mucho, este mtodo de seleccin dar
problemas puesto que si un cromosoma tiene un 90% de
posibilidades de ser seleccionado, el resto apenas saldr lo que
reducira la diversidad gentica.

Figura 6. Caso de seleccin por ranking.


Vemos como en este ltimo caso se va a producir una variedad
gentica mucho ms rica que en el primer caso. El problema de
esta seleccin es que la convergencia puede ser ms lenta ya que
no existe tanta diferencia entre el mejor cromosoma y el resto
como ocurra antes.

4.2.3 Seleccin Elitista


En ciertas ocasiones puede suceder que tras el cruce y la
mutacin, perdamos el cromosoma con mejor adaptacin. Este
mtodo de seleccin copia el mejor cromosoma o alguno de los
mejores en la nueva poblacin. El resto se realiza de la misma
forma que hemos visto anteriormente. El elitismo puede mejorar
el funcionamiento de los algoritmos genticos al evitar que se

pierda la mejor solucin. Una variacin del elitismo es que el


mejor cromosoma solo se copie a la siguiente generacin en caso
de que tras una reproduccin/mutacin no se haya generado un
cromosoma mejor.

de que ese cromosoma dominante presente algunos genes no


deseados. Hay diferentes formas de realizar los cruces para cada
codificacin siendo algunas tcnicas aplicables indistintamente a
las distintas codificaciones como veremos a continuacin.

4.2.4 Seleccin por Estado Estacionario

4.3.1 Crossover 1 Punto

La descendencia de los individuos seleccionados en cada


generacin vuelve a la poblacin gentica preexistente,
reemplazando a algunos de los miembros menos aptos de la
anterior generacin. Se conservan algunos individuos entre
generaciones.

Los dos cromosomas padres se cortan por un punto. Se copia la


informacin gentica de uno de los padres desde el inicio hasta el
punto de cruce y el resto se copia del otro progenitor. Es una de
las formas clsicas de crossover.
Veamos algunos ejemplos grficos:

4.2.5 Seleccin por Torneo


Se escogen de forma aleatoria un nmero de individuos de la
poblacin, y el que tiene puntuacin mayor se reproduce,
sustituyendo su descendencia al que tiene menor puntuacin.

4.2.6 Seleccin Escalada


Al incrementarse la aptitud media de la poblacin, la fuerza de la
presin selectiva tambin aumenta y la funcin de aptitud se hace
ms discriminadora. Este mtodo puede ser til para seleccionar
ms tarde, cuando todos los individuos tengan una aptitud
relativamente alta y slo les distingan pequeas diferencias en la
aptitud.

4.2.7 Seleccin Jerrquica


En esta seleccin, los individuos atraviesan mltiples rondas de
seleccin en cada generacin. Las evaluaciones de los primeros
niveles son ms rpidas y menos discriminatorias, mientras que
los que sobreviven hasta niveles ms altos son evaluados ms
rigurosamente. La ventaja de este mtodo es que reduce el tiempo
total de clculo al utilizar una evaluacin ms rpida y menos
selectiva para eliminar a la mayora de los individuos que se
muestran poco o nada prometedores, y sometiendo a una
evaluacin de aptitud ms rigurosa y computacionalmente ms
costosa slo a los que sobreviven a esta prueba inicial.

Figura 7. Crossover 1 punto para codificacin binaria.

4.2.8 Otras Selecciones


Existen otras tcnicas de seleccin que simplemente se
comentarn a continuacin.
Una de ellas es la seleccin por prueba de aptitud en las que los
cromosomas con ms aptitud tienen ms posibilidad de ser
seleccionados pero no la certeza.
La seleccin generacional en la que ningn miembro de la
poblacin anterior se encuentra en la nueva.

4.3 Reproduccin o Crossover


Una vez se realiza la seleccin de los cromosomas se procede a
realizar la reproduccin o cruce entre dos de estos cromosomas
Ms concretamente, el crossover consiste en el intercambio de
material gentico entre dos cromosomas. El objetivo del cruce es
conseguir que el descendiente mejore la aptitud de sus padres.
Para aplicar el cruce habr que seleccionar con anterioridad dos
individuos de la poblacin con una de las diversas tcnicas de
seleccin que hemos mencionado en el punto anterior. Adems
esta seleccin puede elegir el mismo padre para un descendiente.
Esto no es ningn problema pues se asegura la perpetuacin del
cromosoma ms dominante pero si este cruce se produjese con
mucha frecuiencia podra acarrear consecuencias adversas en caso

Figura 8. Crossover punto para codificacin por valor directo.

este nmero supera un cierto umbral se elegir un padre


determinado y si no lo supera se elige al otro.
Veamos algn ejemplo:

Figura 9. Crossover punto para codificacin en rbol.

Figura 12. Crossover uniforme para codificacin binaria.

4.3.2 Crossover 2 Puntos


Se trata de la misma filosofa que en el caso anterior peo en este
caso los padres se cortan por dos puntos. Se copiar al
descendiente los genes de un cromosoma progenitor desde el
principio hasta el primer punto de cruce, los genes del otro
progenitor desde el primer punto de cruce hasta el segundo y del
segundo punto de cruce hasta el final se copiar del otro
progenitor.
Viendo unos ejemplos grficos:

Figura 13. Crossover uniforme para codificacin por valor


directo.
Otra opcin es seleccionar una mscara. En caso de que el bit
correspondiente a la mscara est a 1, se copia el gen de un
progenitor y en caso de que est a 0 se copia el gen del otro
progenitor.
Veamos un ejemplo:

Figura 10. Crossover 2 puntos para codificacin por valor directo

Figura 14. Codificacin uniforme con mscara para codificacin


binaria.

4.3.4 Crossover Aritmtico


Figura 11. Crossover 2 puntos para codificacin binaria

4.3.3 Crossover Uniforme


Cada gen del descendiente se obtiene de cualquiera de los padres
de forma aleatoria. Una opcin es generar un nmero aleatorio. Si

Los progenitores se recombinan segn algn operador aritmtico


para generar su descendiente.
Veamos algunos ejemplos:

Figura 17. Mutacin simple para una codificacin binaria.

Figura 15. Crossover aritmtico genrico.

Figura 16. Crossover realizado con un operador AND.

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
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
a la probabilidad de mutacin establecida con anterioridad. La
mutacin depende de la codificacin y de la reproduccin. Si se
abusa de la mutacin podemos caer en el uso del algoritmo
gentico como una simple bsqueda aleatoria. Por lo tanto antes
de aumentar las mutaciones, conviene estudiar otras soluciones
que aporten diversidad a la poblacin como podra ser el aumento
del tamao de la poblacin o garantizar la aleatoriedad de la
poblacin inicial.
Para el caso de una codificacin binaria, la mutacin consiste
simplemente en la inversin del gen mutado que corresponder
con un bit. En el caso de una codificacin numrica, la mutacin
podra consistir en sustituir un nmero por otro o intercambiar un
nmero por otro que est en otra posicin del cromosoma. En el
caso de codificacin por valor directo en el que por ejemplo
usemos nmeros reales, la mutacin puede consistir simplemente
en modificar el valor en unos decimales. Por ltimo, en una
codificacin en rbol, la mutacin podra radicar en el cambio de
operador, de un nmero o incluso en la mutacin de una rama
entera.
Veamos unos ejemplos para analizar el fenmeno de la mutacin:

Figura 18. Mutacin de rama para una codificacin en rbol.

5. OTROS OPERADORES
En algunos problemas se pueden utilizar otro tipo de operadores
que buscan soluciones de forma ms ordenada o que actan en las
ltimas fases para optimizar la solucin.

5.1 Cromosomas de longitud variable.


Puede suceder que para ciertas aplicaciones como en las redes
neuronales no se conozca de antemano el nmero de neuronas que
vamos a utilizar por lo que habr que disponer de alguna tcnica
para solventar el problema.
En estos casos, necesitamos dos operadores ms: aadir y
eliminar. Estos operadores se utilizan para aadir un gen, o
eliminar un gen del cromosoma. La forma ms habitual es
duplicar uno ya existente, el cual sufre mutacin y se aade al
lado del anterior. En este caso, los operadores del algoritmo
gentico simple (seleccin, mutacin, crossover) funcionarn de
la forma habitual, salvo, claro est, que slo se har crossover en
la zona del cromosoma de menor longitud. Estos operadores
permiten, adems, crear un algoritmo gentico de dos niveles: a
nivel de cromosoma y a nivel de gen.

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.

poblacin demasiado pronto, provocando que el


algoritmo converja hacia el ptimo local que representa
ese individuo, en lugar de rastrear el paisaje adaptativo
lo bastante a fondo para encontrar el ptimo global.
Esto es un problema especialmente comn en las
poblaciones pequeas, donde incluso una variacin
aleatoria en el ritmo de reproduccin puede provocar
que un genotipo se haga dominante sobre los otros.

6. VENTAJAS DE LOS ALGORITMOS


GENTICOS

Una clara ventaja es que los algoritmos genticos son


intrnsicamente paralelos, es decir, operan de forma
simultnea con varias soluciones, en vez de trabajar de
forma secuencial como las tcnicas tradicionales. Esto
significa que mientras tcnicas tradicionales slo
pueden explorar el espacio de soluciones hacia una
solucin en una direccin al mismo tiempo, y si la
solucin que descubren resulta subptima, no se puede
hacer otra cosa que abandonar todo el trabajo hecho y
empezar de nuevo. Sin embargo, los algoritmos
genticos simplemente desechan esta solucin
subptima y siguen por otros caminos.
Cuando se usan para problemas de optimizacin
resultan menos afectados por los mximos locales
(falsas soluciones) que las tcnicas tradicionales.
Muchos algoritmos de bsqueda pueden quedar
atrapados en los ptimos locales: si llegan a lo alto de
una colina del paisaje adaptativo, descubrirn que no
existen soluciones mejores en las cercanas y concluirn
que han alcanzado la mejor de todas, aunque existan
picos ms altos en algn otro lugar del mapa, situacin
que no sucede para algoritmos genticos.

Otra ventaja es su habilidad para manipular muchos


parmetros simultneamente. Resulta interesante en
caso de tener varios objetivos a resolver.

No necesitan conocimientos especficos sobre el


problema que intentan resolver. Realizan cambios
aleatorios en sus soluciones candidatas y luego utilizan
la funcin de aptitud para determinar si esos cambios
producen una mejora o no.

8. APLICACIONES DE LOS
ALGORITMOS GENTICOS
La aplicacin ms comn de los algoritmos genticos ha sido la
solucin de problemas de optimizacin, en donde han mostrado
ser muy eficientes. Sin embargo, no todos los problemas pudieran
ser apropiados para esta tcnica. Se recomienda en general tomar
en cuenta las siguientes caractersticas del mismo antes de intentar
usarla:

Su espacio de bsqueda debe estar delimitado dentro de


un cierto rango.

Debe poderse definir una funcin de aptitud que nos


indique qu tan buena o mala es una cierta respuesta.

Las soluciones deben codificarse de una forma que


resulte relativamente fcil de implementar en la
computadora.

Dentro de los distintos problemas de optimizacin podemos


encontrar unas reas de aplicacin:

Diseo por computadora de nuevos materiales que


cumplan mltiples objetivos.

Optimizacin del la carga de containers.

Resulta sumamente fcil ejecutarlos en las modernas


arquitecturas masivas en paralelo.

Asignacin de procesos en topologas de redes con


procesamiento distribuido.

Usan operadores probabilsticos, en vez de los tpicos


operadores determinsticos de las otras tcnicas.

Ubicacin de archivos en sistemas de almacenamiento


distribuido.

Diseo de circuitos integrados.

Optimizacin de la infraestructura de telefona celular.

Ingeniera Aeroespacial.

Juegos.

Robtica

7. DESVENTAJAS DE LOS ALGORITMOS


GENETICOS

Definir una representacin del problema. El lenguaje


utilizado para especificar soluciones candidatas debe ser
robusto, debe ser capaz de tolerar cambios aleatorios
que no produzcan constantemente errores fatales o
resultados sin sentido. Se puede solucionar mediante la
definicin de los individuos como listas de nmeros
donde cada nmero representa algn aspecto de la
solucin candidata.

Pueden tardar mucho en converger, o no converger en


absoluto, dependiendo en cierta medida de los
parmetros que se utilicen -tamao de la poblacin,
nmero de generaciones

9. EJEMPLOS PRCTICOS

Pueden converger prematuramente debido a una serie de


problemas. Si un individuo que es ms apto que la
mayora de sus competidores emerge muy pronto en el
curso de la ejecucin, se puede reproducir tan
abundantemente que merme la diversidad de la

En esta pgina se encuentra un applet de Java en el que se muestra


un relieve de un determinado paisaje generado de forma aleatoria.
Se puede elegir la poblacin inicial. Al ejecutar el programa, el
algoritmo trata de buscar la mxima altura a la que podemos
ascender.

En el siguiente enlace, se puede apreciar de forma prctica los


conocimientos expuestos en relacin a los algoritmos genticos.
http://homepage.sunrise.ch/homepage/pglaus/gentore.htm#Applet

Otro ejemplo de algoritmo gentico se puede encontrar en


donde
el
http://www.rennard.org/alife/english/gavgb.html
algoritmo trata de buscar una copia de una figura partiendo de
otras generadas de forma aleatoria.

11. REFERENCIAS

10. CONCLUSIONES

[3] http://geneura.ugr.es/~jmerelo/ie/ags.htm

Como hemos podido ver a lo largo del documento los algoritmos


genticos son actualmente una fuerte fuente de resolucin de
problemas complejos al realizar su ejecucin en paralelo pudiendo
as obtener diferentes soluciones al problema.
Sin embargo, como se ha podido observar, no hay ninguna
estrategia que sea siempre invencible, sino que hay un conjunto
de estrategias que suelen dar buenos resultados. As pues, habr
que ajustar los parmetros de accin en funcin de cada problema
a modelar para obtener una solucin que se adapte mejor a unas
determinadas condiciones. Sin embargo, en una situacin real
puede suceder que no se conozcan los parmetros iniciales o que
no se sepa la duracin del algoritmo.
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.

[1] http://es.wikipedia.org/wiki/Algoritmo_gen%C3%A9tico
[2] http://www.redcientifica.com/doc/doc199904260011.html
[4] http://www.lsi.upc.es/~iea/transpas/9_geneticos/index.htm
[5] http://casa.ccp.servidores.net/genetico.html
[6] http://homepage.sunrise.ch/homepage/pglaus/gentore.htm#A
pplet
[7]

http://the-geek.org/docs/algen/

[8] http://www.alfredorahn.com/docs/AG_Clase_3.ppt
[9] http://www.alfredorahn.com/docs/AG_Clase_4.ppt
[10] http://www.fiec.espol.edu.ec/investigacion/topico/algoritmos
geneticos.pdf
[11] http://www.rennard.org/alife/english/gavgb.html

También podría gustarte