Algoritmos Genéticos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

ALGORITMOS GENÉTICOS

En este documento se pretende analizar los algoritmos genéticos


descubriendo su funcionamiento y sus ESTRUCTURA DE UN ALG ORITMO
secretos. GENÉTICO SIMPLE (A GS)

1. INTRODUCCION 110010 1010


Cromosomas
Cuando hablamos de algoritmos genéticos, hay que hablar de C
CCooddiiffiiccaacciióónn 101110 1110 C
CCrruuccee
1100101010
John Holland que en 1962 asienta las bases para sus posteriores Soluciones 1011101110 1100101110
desarrollos hasta llegar a lo que se conoce hoy por algoritmos
0011011001
genéticos 1100110001 M
M
Muuttaacciióónn
. 00001111001111000011

00001111000011000011
Un algoritmo genético es un método de búsqueda que imita la SSeelleecccciióónn EEE vvaalluuaacciióónn

teoría de la evolución biológica de Darwin para la resolución de 11110000110011111100


problemas. Para ello, se parte de una población inicial de la cual
se seleccionan los individuos más capacitados para luego
reproducirlos y mutarlos para finalmente obtener la siguiente
11001111110011001100 CCCáállccuulloo A
A
generación de individuos que estarán más adaptados que la 00001111000011000011
Appttiittuudd

anterior generación. RRRuueeddaa ddee llaa RRRuulleettaa D


DDeeccooddiiffiiccaacciióónn SSoolluucciioonneess

2. ESQUEMA BÁSICO Figura1. Esquema de un algoritmo genético


En la naturaleza todo el proceso de evolución biológica se hace simple.
de forma natural pero para aplicar el algoritmo genético al
campo de la resolución de problemas habrá que seguir una 3. PARÁMETROS DE LOS ALGORITMOS
serie de pasos. Una premisa es conseguir que el tamaño de la
población sea lo suficientemente grande para garantizar
GENÉTICOS.
Para el estudio de los algoritmos genéticos hay que tener
la diversidad de soluciones. Se aconseja que la población en
sea generada de forma aleatoria para obtener dicha cuenta una serie de
diversidad. En caso de que la población no sea generada de parámetros:
forma aleatoria habrá que tener en cuenta que se garantice
una cierta diversidad en la población generada. Los pasos 3.1 Tamaño de la Población
básicos de un algoritmo genético son: Este parámetro nos indica el número de cromosomas que
tenemos en nuestra población para una generación determinada.
• Evaluar la puntuación de cada uno de los cromosomas
En caso de que esta medida sea insuficiente, el algoritmo
generados.
genético tiene pocas posibilidades de realizar reproducciones
• Permitir la reproducción de los cromosomas siendo con lo que se realizaría una búsqueda de soluciones escasa y
los más aptos los que tengan más probabilidad poco óptima. Por otro lado si la población es excesiva, el
de reproducirse. algoritmo genético será excesivamente lento. De hecho estudios
revelan que hay un límite a partir del cual es ineficiente elevar
• Con cierta probabilidad de mutación, mutar un gen el tamaño de la población puesto que no se consigue una mayor
del nuevo individuo generado. velocidad en la resolución del problema.
• Organizar la nueva población.
3.2 Probabilidad de Cruce
Estos pasos se repetirán hasta que se de una condición Indica la frecuencia con la que se producen cruces entre
de terminación. Se puede fijar un número máximo de los cromosomas padre es decir, que haya probabilidad
iteraciones antes de finalizar el algoritmo genético o detenerlo de reproducción entre ellos. En caso de que no exista
cuando no se produzcan más cambios en la población probabilidad de reproducción, los hijos serán copias exactas se
(convergencia del algoritmo). Esta última opción suele ser la los padres. En caso de haberla, los hijos tendrán partes de los
más habitual. cromosomas de los padres. Si la probabilidad de cruce es del
Veamos el esquema general de un algoritmo genético 100% el hijo se crea totalmente por cruce, no por partes.
simple:
3.3 Probabilidad de Mutación
Nos indica la frecuencia con la que los genes de un cromosoma
son mutados. Si no hay mutación, los descendientes son
los mismos que había tras la reproducción. En caso de que
haya mutaciones, parte del cromosoma descendiente es
modificado y si la probabilidad de mutación 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 inversión en el cromosoma y no o valores sea máxima y que la suma de los pesos no supere el
una mutación por lo que la población degenera muy de la capacidad de la mochila.
rápidamente.
4.1.2 Codificación Numérica
4. OPERACIONES DE LOS ALGORITMOS En este tipo de codificación se utilizan cadenas de números
GENÉTICOS. que representan un número en una secuencia. Se utiliza en
Tras parametrizar el problema en una serie de variables, se problemas en los que hay que ordenar algo, donde resulta
codifican en un cromosoma. Todos los operadores utilizados muy útil. En algunos casos también es necesario como en
por un algoritmo genético se aplicarán sobre estos el caso anterior realizar correcciones tras relaciones o
cromosomas, o sobre poblaciones de ellos. En el algoritmo mutaciones.
genético va implícito el método para resolver el problema. Hay Un ejemplo clásico de este tipo de codificación es el problema
que tener en cuenta que un algoritmo genético es del viajante de comercio. En este caso tenemos una serie de
independiente del problema, lo cual lo hace un algoritmo ciudades por las que el comerciante debe pasar y las distancias
robusto, al resultar útil en cualquier ámbito de acción, pero a la entre ellas. El objetivo es que el comerciante, partiendo de una
vez débil, pues no está especializado en ninguno. ciudad origen, recorra todas las ciudades y vuelva al punto
Las soluciones codificadas en un cromosoma compiten para de partida pero recorriendo el menor número de kilómetros,
ver cuál constituye la mejor solución (aunque no por lo que habrá que localizar la combinación de ciudades
necesariamente la mejor de todas las soluciones posibles). El que minimice dicho recorrido.
ambiente, constituido por las otras soluciones, ejercerá una
presión selectiva sobre la población, de forma que sólo los
mejor adaptados (aquellos que resuelvan mejor el problema)
sobrevivan o leguen su material genético a las siguientes
generaciones, igual que en la evolución de las especies. La
diversidad genética se introduce mediante mutaciones y
reproducción sexual.
Por lo tanto, un algoritmo genético consiste en hallar de qué
parámetros depende el problema, codificarlos en un
cromosoma, y aplicar los métodos de la evolución: selección y
reproducción sexual con intercambio de información y
mutaciones que generen diversidad.
Figura 2. Esquema del problema del viajante
4.1 Codificación de las Variables 4.1.3 Codificación por Valor Directo
Los cromosomas de alguna manera deberán contener
Este tipo de codificación será el utilizado en caso de resolución
información acerca de la solución que representa. La
de problemas en el que se requiera del uso de valores de
codificación se puede realizar de varias formas. La más utilizada
cifrado complicado como podría ser en el uso de números
es mediante una cadena de números binarios (1s o 0s). Pero
reales, cuya codificación con números binarios sería muy
también se puede realizar la codificación mediante números
complejo. En codificación por valor directo cada cromosoma
enteros o incluso cadenas de palabras.
es una cadena de valores relacionados con el problema a
La elección de la codificación dependerá también del problema estudiar, pudiendo ser desde números decimales, cadenas de
a resolver pues puede darse la situación en la que la resolución caracteres o incluso una combinación de varios de ellos. Su
de un caso sea más óptimo el uso de una codificación basada aplicación es muy buena en ciertos problemas concretos. Por
en números reales mientras que esa codificación complique el contrario para la utilización de esta codificación,
la solución en otro caso. Así pues hay que estudiar la normalmente es necesario desarrollar nuevas técnicas de
codificación más óptima según el caso que se esté estudiando. reproducción y mutación especificas hacia la resolución
del problema.
4.1.1 Codificación Binaria Una aplicación de esta codificación se da en la resolución
Es la codificación más extendida debido a que los primeros de problemas para la búsqueda de pesos para las redes
algoritmos genéticos utilizaron este tipo de codificación. En neuronales. En este asunto se trata de encontrar el peso de las
este caso, cada cromosoma es una cadena de bits (0 o 1). A su neuronas para ciertas entradas y así entrenar a la red para
favor tiene que puede abarcar muchos cromosomas incluso obtener la salida deseada. El valor del peso de las entradas
con un número reducido de genes. Sin embargo por otro lado vendrá representado en el propio cromosoma con dicha
esta opción no es la idónea para muchos problemas y en codificación.
algunas ocasiones es necesario realizar correcciones después
de la reproducción y/o mutación.
Este tipo de codificación 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 tendrán 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
Figura 4. Rueda de ruleta de selección.
Figura 3. Esquema red neuronal
4.2.2 Selección por Rango
4.1.4 Codificación en Árbol En este método a cada cromosoma se le asigna un rango numérico
Este tipo de codificación se utiliza principalmente en el basado en su aptitud y la selección se realiza en base a
desarrollo de programas o expresiones para programación este ranking. Veamos la diferencia entre el caso anterior y este
genética. Cada cromosoma será en este caso un árbol con ciertos a través de un ejemplo gráfico.
objetos.
En este método, los cambios aleatorios pueden generarse
cambiando el operador, alterando el valor de un cierto nodo
del árbol o simplemente sustituyendo un subárbol por otro.

4.2 Selección
Como ya hemos visto anteriormente es necesario hacer
una selección con los individuos más capacitados para que éstos
sean los que se reproduzcan con más probabilidad de acuerdo
con la teoría de Darwin en la cual los más capacitados son los
que deben sobrevivir y crear una nueva descendencia más
facultada. Figura 5. Caso de selección por ruleta.
Por lo tanto una vez evaluado cada cromosoma y obtenida su
puntuación, se tiene que crear la nueva población teniendo en
cuenta que los buenos rasgos de los mejores se transmitan a
ésta.
Esta selección se puede realizar de varias formas como se
verá a continuación.

4.2.1 Selección por Rueda de Ruleta


Se crea para esta selección una ruleta con los cromosomas
presentes en una generación. Cada cromosoma tendrá una parte
de esa ruleta mayor o menor en función a la puntuación que
tenga cada uno. Se hace girar la ruleta y se selección el Figura 6. Caso de selección por ranking.
cromosoma en el que se para la ruleta. Obviamente el
Vemos como en este último caso se va a producir una variedad
cromosoma con mayor puntuación saldrá con mayor
genética mucho más rica que en el primer caso. El problema
probabilidad. En caso de que las probabilidades difieran
de esta selección es que la convergencia puede ser más lenta
mucho, este método de selección dará problemas puesto que si
ya que no existe tanta diferencia entre el mejor cromosoma y
un cromosoma tiene un 90% de posibilidades de ser
el resto como ocurría antes.
seleccionado, el resto apenas saldrá lo que reduciría la
diversidad genética. 4.2.3 Selección Elitista
En ciertas ocasiones puede suceder que tras el cruce y
la mutación, perdamos el cromosoma con mejor adaptación.
Este método de selección copia el mejor cromosoma o alguno
de los mejores en la nueva población. El resto se realiza de
la misma forma que hemos visto anteriormente. El elitismo
puede mejorar el funcionamiento de los algoritmos genéticos
al evitar que se
pierda la mejor solución. Una variación del elitismo es que de que ese cromosoma dominante presente algunos genes
el mejor cromosoma solo se copie a la siguiente generación en no deseados. Hay diferentes formas de realizar los cruces para
caso de que tras una reproducción/mutación no se haya cada codificación siendo algunas técnicas aplicables
generado un cromosoma mejor. indistintamente a las distintas codificaciones como veremos a
continuación.
4.2.4 Selección por Estado Estacionario
La descendencia de los individuos seleccionados en cada 4.3.1 Crossover 1 Punto
generación vuelve a la población genética preexistente, Los dos cromosomas padres se cortan por un punto. Se copia
reemplazando a algunos de los miembros menos aptos de la información genética de uno de los padres desde el inicio
la anterior generación. Se conservan algunos individuos hasta el punto de cruce y el resto se copia del otro progenitor.
entre generaciones. Es una de las formas clásicas de crossover.
Veamos algunos ejemplos
4.2.5 Selección por Torneo
gráficos:
Se escogen de forma aleatoria un número de individuos de
la población, y el que tiene puntuación mayor se
reproduce, sustituyendo su descendencia al que tiene menor
puntuación.

4.2.6 Selección Escalada


Al incrementarse la aptitud media de la población, la fuerza de
la presión selectiva también aumenta y la función de aptitud se
hace más discriminadora. Este método puede ser útil para
seleccionar más tarde, cuando todos los individuos tengan
una aptitud relativamente alta y sólo les distingan pequeñas
diferencias en la aptitud.

4.2.7 Selección Jerárquica


En esta selección, los individuos atraviesan múltiples rondas
de selección en cada generación. Las evaluaciones de los
primeros niveles son más rápidas y menos discriminatorias,
mientras que los que sobreviven hasta niveles más altos son
evaluados más rigurosamente. La ventaja de este método es
que reduce el tiempo total de cálculo al utilizar una evaluación
más rápida y menos selectiva para eliminar a la mayoría de los
individuos que se muestran poco o nada prometedores, y
sometiendo a una evaluación de aptitud más rigurosa y
computacionalmente más costosa sólo a los que sobreviven a
esta prueba inicial. Figura 7. Crossover 1 punto para codificación
binaria.
4.2.8 Otras Selecciones
Existen otras técnicas de selección que simplemente
se comentarán a continuación.
Una de ellas es la selección por prueba de aptitud en las que
los cromosomas con más aptitud tienen más posibilidad
de ser seleccionados pero no la certeza.
La selección generacional en la que ningún miembro de
la población anterior se encuentra en la nueva.

4.3 Reproducción o Crossover


Una vez se realiza la selección de los cromosomas se
Figura 8. Crossover punto para codificación por valor
procede a realizar la reproducción o cruce entre dos de estos
directo.
cromosomas Más concretamente, el crossover consiste en el
intercambio de
material genético 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 población con una de las diversas
técnicas de selección que hemos mencionado en el punto
anterior. Además esta selección puede elegir el mismo padre
para un descendiente. Esto no es ningún problema pues se
asegura la perpetuación del cromosoma más dominante pero
si este cruce se produjese con mucha frecuiencia podría
acarrear consecuencias adversas en caso
este número supera un cierto umbral se elegirá un
padre determinado y si no lo supera se elige al otro.
Veamos algún
ejemplo:

Figura 9. Crossover punto para codificación en


árbol.
Figura 12. Crossover uniforme para codificación
4.3.2 Crossover 2 Puntos binaria.
Se trata de la misma filosofía 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 Figura 13. Crossover uniforme para codificación por
gráficos: valor directo.
Otra opción es seleccionar una máscara. En caso de que el
bit correspondiente a la máscara 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 codificación por valor


directo

Figura 14. Codificación uniforme con máscara para


codificación binaria.
4.3.4 Crossover Aritmético
Los progenitores se recombinan según algún operador
aritmético para generar su descendiente.
Figura 11. Crossover 2 puntos para codificación Veamos algunos
binaria ejemplos:
4.3.3 Crossover Uniforme
Cada gen del descendiente se obtiene de cualquiera de los
padres de forma aleatoria. Una opción es generar un número
aleatorio. Si
Figura 17. Mutación simple para una codificación binaria.

Figura 15. Crossover aritmético


genérico.

Figura 16. Crossover realizado con un operador


AND.

4.4 Mutación
Tras el cruce, tiene lugar la mutación. Si nos referimos
en términos de evolución, la mutación se manifiesta de
Figura 18. Mutación de rama para una codificación en árbol.
forma extraordinaria, nada común. Las mutaciones suelen en
promedio ser beneficiosas pues contribuyen a la diversidad
genética de la especie. Además previenen a las soluciones de 5. OTROS OPERADORES
la población de verse limitadas por un óptimo local. Por lo En algunos problemas se pueden utilizar otro tipo de
tanto la mutación consiste en modificar ciertos genes de forma operadores que buscan soluciones de forma más ordenada o que
aleatoria atendiendo a la probabilidad de mutación establecida actúan en las últimas fases para optimizar la solución.
con anterioridad. La mutación depende de la codificación y de
la reproducción. Si se abusa de la mutación podemos caer 5.1 Cromosomas de longitud variable.
en el uso del algoritmo genético como una simple búsqueda Puede suceder que para ciertas aplicaciones como en las
aleatoria. Por lo tanto antes de aumentar las mutaciones, redes neuronales no se conozca de antemano el número de
conviene estudiar otras soluciones que aporten diversidad a la neuronas que vamos a utilizar por lo que habrá que disponer
población como podría ser el aumento del tamaño de la de alguna técnica para solventar el problema.
población o garantizar la aleatoriedad de la población inicial.
En estos casos, necesitamos dos operadores más: añadir
Para el caso de una codificación binaria, la mutación consiste y eliminar. Estos operadores se utilizan para añadir un gen,
simplemente en la inversión del gen mutado que corresponderá o eliminar un gen del cromosoma. La forma más habitual
con un bit. En el caso de una codificación numérica, la mutación es duplicar uno ya existente, el cual sufre mutación y se añade
podría consistir en sustituir un número por otro o intercambiar al lado del anterior. En este caso, los operadores del
un número por otro que está en otra posición del cromosoma. algoritmo genético simple (selección, mutación, crossover)
En el caso de codificación por valor directo en el que por funcionarán de la forma habitual, salvo, claro está, que sólo se
ejemplo usemos números reales, la mutación puede consistir hará crossover en la zona del cromosoma de menor longitud.
simplemente en modificar el valor en unos decimales. Por Estos operadores permiten, además, crear un algoritmo
último, en una codificación en árbol, la mutación podría radicar genético de dos niveles: a nivel de cromosoma y a nivel de gen.
en el cambio de operador, de un número o incluso en la
mutación de una rama entera. 5.2 Operadores de Nicho
Veamos unos ejemplos para analizar el fenómeno de la Estos operadores están encaminados a mantener la diversidad
mutación: genética de la población, de forma que cromosomas similares
sustituyan sólo a cromosomas similares, y son especialmente
útiles en problemas con muchas soluciones. Un algoritmo
genético con estos operadores es capaz de hallar todos
los máximos, dedicándose cada especie a un máximo. Más
que operadores genéticos, son formas de enfocar la selección
y la evaluación de la población.
6. VENTAJAS DE LOS ALGORITMOS población demasiado pronto, provocando que
el algoritmo converja hacia el óptimo local que
GENÉTICOS representa ese individuo, en lugar de rastrear el paisaje
• Una clara ventaja es que los algoritmos genéticos adaptativo lo bastante a fondo para encontrar el
son intrínsicamente paralelos, es decir, operan de óptimo global. Esto es un problema especialmente
forma simultánea con varias soluciones, en vez de común en las poblaciones pequeñas, donde incluso
trabajar de forma secuencial como las técnicas una variación aleatoria en el ritmo de reproducción
tradicionales. Esto significa que mientras técnicas puede provocar que un genotipo se haga dominante
tradicionales sólo pueden explorar el espacio de sobre los otros.
soluciones hacia una solución en una dirección al
mismo tiempo, y si la solución que descubren resulta 8. APLICACIONES DE LOS
subóptima, no se puede hacer otra cosa que abandonar
todo el trabajo hecho y empezar de nuevo. Sin
ALGORITMOS GENÉTICOS
embargo, los algoritmos genéticos simplemente La aplicación más común de los algoritmos genéticos ha sido
desechan esta solución subóptima y siguen por la solución de problemas de optimización, en donde han
otros caminos. mostrado ser muy eficientes. Sin embargo, no todos los
problemas pudieran ser apropiados para esta técnica. Se
• Cuando se usan para problemas de optimización recomienda en general tomar en cuenta las siguientes
resultan menos afectados por los máximos locales características del mismo antes de intentar usarla:
(falsas soluciones) que las técnicas tradicionales.
Muchos algoritmos de búsqueda pueden quedar • Su espacio de búsqueda debe estar delimitado dentro
atrapados en los óptimos locales: si llegan a lo alto de un cierto rango.
de una colina del paisaje adaptativo, descubrirán que • Debe poderse definir una función de aptitud que
no existen soluciones mejores en las cercanías y nos indique qué tan buena o mala es una cierta
concluirán que han alcanzado la mejor de todas, respuesta.
aunque existan picos más altos en algún otro lugar
del mapa, situación que no sucede para algoritmos • Las soluciones deben codificarse de una forma
genéticos. que resulte relativamente fácil de implementar
en la computadora.
• Otra ventaja es su habilidad para manipular muchos
Dentro de los distintos problemas de optimización podemos
parámetros simultáneamente. Resulta interesante
encontrar unas áreas de aplicación:
en caso de tener varios objetivos a resolver.
• No necesitan conocimientos específicos sobre • Diseño por computadora de nuevos materiales
el problema que intentan resolver. Realizan que cumplan múltiples objetivos.
cambios aleatorios en sus soluciones candidatas y
luego utilizan la función de aptitud para determinar • Optimización del la carga de containers.
si esos cambios producen una mejora o no.
• Asignación de procesos en topologías de redes
• Resulta sumamente fácil ejecutarlos en las modernas
con procesamiento distribuido.
arquitecturas masivas en paralelo.
• Usan operadores probabilísticos, en vez de los típicos • Ubicación de archivos en sistemas de
operadores determinísticos de las otras técnicas. almacenamiento distribuido.

7. DESVENTAJAS DE LOS ALGORITMOS • Diseño de circuitos integrados.


GENETICOS
• Optimización de la infraestructura de telefonía celular.
• Definir una representación del problema. El lenguaje
utilizado para especificar soluciones candidatas debe • Ingeniería Aeroespacial.
ser robusto, debe ser capaz de tolerar cambios
aleatorios que no produzcan constantemente errores • Juegos.
fatales o resultados sin sentido. Se puede solucionar
mediante la definición de los individuos como listas • Robótica
de números donde cada número representa algún
aspecto de la solución candidata. 9. EJEMPLOS PRÁCTICOS
• Pueden tardar mucho en converger, o no converger En el siguiente enlace, se puede apreciar de forma práctica
en absoluto, dependiendo en cierta medida de los conocimientos expuestos en relación a los algoritmos
los parámetros que se utilicen -tamaño de la genéticos.
población, número de generaciones… http://homepage.sunrise.ch/homepage/pglaus/gentore.htm#Ap
• Pueden converger prematuramente debido a una serie plet
de problemas. Si un individuo que es más apto En esta página se encuentra un applet de Java en el que se muestra
que la mayoría de sus competidores emerge muy un relieve de un determinado paisaje generado de forma
pronto en el curso de la ejecución, se puede aleatoria. Se puede elegir la población inicial. Al ejecutar el
reproducir tan abundantemente que merme la programa, el algoritmo trata de buscar la máxima altura a la
diversidad de la que podemos ascender.
Otro ejemplo de algoritmo genético se puede encontrar 11. REFERENCIAS
en http://www.rennard.org/alife/english/gavgb.html donde
[1]
el algoritmo trata de buscar una copia de una figura partiendo
de otras generadas de forma aleatoria. http://es.wikipedia.org/wiki/Algoritmo_gen%C3%A9tico
[2]
10. CONCLUSIONES
Como hemos podido ver a lo largo del documento los http://www.redcientifica.com/doc/doc199904260011.html
algoritmos genéticos son actualmente una fuerte fuente de [3] http://geneura.ugr.es/~jmerelo/ie/ags.htm
resolución de problemas complejos al realizar su ejecución en
[4] http://www.lsi.upc.es/~iea/transpas/9_geneticos/index.htm
paralelo pudiendo así obtener diferentes soluciones al problema.
[5] http://casa.ccp.servidores.net/genetico.html
Sin embargo, como se ha podido observar, no hay ninguna
estrategia que sea siempre invencible, sino que hay un [6]
conjunto de estrategias que suelen dar buenos resultados. http://homepage.sunrise.ch/homepage/pglaus/gentore.htm#A
Así pues, habrá pplet
que ajustar los parámetros de acción en función de cada [7] http://the-geek.org/docs/algen/
problema a modelar para obtener una solución que se adapte
[8] http://www.alfredorahn.com/docs/AG_Clase_3.ppt
mejor a unas determinadas condiciones. Sin embargo, en una
situación real puede suceder que no se conozcan los [9] http://www.alfredorahn.com/docs/AG_Clase_4.ppt
parámetros iniciales o que no se sepa la duración del [10]
algoritmo. http://www.fiec.espol.edu.ec/investigacion/topico/algorit
Por lo tanto habrá que elegir con sumo cuidad los parámetros mos geneticos.pdf
iniciales. Un crossover elevado es recomendable para la [11] http://www.rennard.org/alife/english/gavgb.html
mayoría de los problemas aunque hay situaciones en las que
un crossover menor dará mejores resultados. La mutación
deberá ser baja, entorno al 1%. Para una óptima resolución, el
resto de parámetros habrá que determinarlos en función del
problema. La población a elegir debe atender a un valor
óptimo (no por tener una población mayor, se va a tener una
solución mejor), la codificación dependerá del problema a
resolver como se ha visto con anterioridad y por último el
método de selección más utilizado es el de selección por
rueda de ruleta, aunque como se ha
comentado, dependerá de la cuestión que nos
trate.
Por último, se pretende que estos algoritmos se parezcan lo
más posible a lo que en realidad sucede en la naturaleza. Por
ejemplo, cuando una población queda aislada en la
naturaleza, como sucede, por ejemplo, con los linces de
Doñana, se pierde diversidad al haber un grupo reducido que
se reproduce entre si constantemente perdiéndose esa tan
necesaria diversidad para sobrevivir. De hecho se ha
comprobado que no evolucionan y que su adaptación a las
condiciones no mejora en función del cambio de éstas.
Por lo tanto hay que tener cuidado con la perdida de diversidad
en nuestra población, que se puede conseguir entre otras
formas mediante la mutación.

También podría gustarte