Sei sulla pagina 1di 3

ALGORITMOS GENETICOS.

Un ejemplo simple de algoritmo gentico

Sea X el problema a resolver. Dada una representacin de candidatas a soluciones en una


cadena de bits, un algoritmo gentico simple, tal y como se describe en Mitchell M. (1998),
trabajara del siguiente modo:

1. Comenzar con una poblacin P generada aleatoriamente de n cromosomas de l bit.

2. Calcular la capacidad f(x) para cada cromosoma x de P.


Repetir los siguientes pasos hasta que se hayan creado n descendientes:
a. Seleccionar un par de cromosomas padre de P , siendo la probabilidad de seleccin
una funcin creciente de la capacidad. La seleccin se realiza con remplazamiento, es decir,
que el mismo cromosoma puede ser seleccionado en ms de una ocasin para ser padre.
b. Con probabilidad pc (probabilidad de cruce, o tasa de cruce), cruzar el par en un punto
elegido aleatoriamente (con probabilidad uniforme) para formar dos descendientes. Si no tiene
lugar ningn cruce, formar dos descendientes que sean copias exactas de sus respectivos
padres. (Obsrvese que aqu la probabilidad de cruce se define como la probabilidad de que dos
padres se crucen sobre un nico punto. Hay otras versiones de algoritmos genticos que son de
cruces en mltiples puntos, en los que la tasa de cruce para una pareja de padres es el n
de puntos en los que tiene lugar un cruce).

c. Mutar los dos descendientes en cada lugar con probabilidad pm (probabilidad de


mutacin, o tasa de mutacin), y colocar los cromosomas resultantes en la nueva poblacin
P. Si nes impar, se puede rechazar aleatoriamente a un miembro de la nueva poblacin.

3. Remplazar la poblacin actual P con la nueva P.


4. Volver al paso 4. Cada iteracin del proceso recibe el nombre de generacin. Lo usual es
iterar el algoritmo de 50 a 500 o ms veces. El conjunto completo de generaciones se llama
serie6 . Al concluir una serie, a menudo se encuentran entre la poblacin uno o ms
cromosomas con elevada capacidad. Como la aleatoriedad juega un importante papel en
cada serie, dos series con diferentes nmeros aleatorios en el origen darn lugar
generalmente a comportamientos diferentes. Los investigadores en algoritmos genticos
acostumbran a reportar estadsticas (tales como el mejor potencial hallado en una serie, y la
generacin donde se encontr el individuo con la mejor capacidad, etc.) evaluadas sobre
muchas series diferentes del algoritmo gentico sobre el mismo problema. El procedimiento
arriba descrito es en realidad la base de la mayora de las aplicaciones de los Algoritmos
Genticos. Desde luego, quedan muchos detalles importantes en los que se debera
profundizar, como cul ha de ser el tamao de la poblacin, y cules las probabilidades de
cruce (pc) y de mutacin (pm). De esos detalles depender, en gran parte, el xito o
fracaso del Algoritmo Gentico que estemos aplicando. Asimismo, podemos encontrar otros
Algoritmos Genticos mucho ms complejos (y eficaces) que el que se ha utilizado, como
aquellos que trabajan sobre otras representaciones adems de las cadenas de bits, o los que
emplean otros operadores de cruce y mutacin, pero se pretende realizar una primera
aproximacin del lector al campo de los Algoritmos Genticos, no desarrollar un completo
estudio del mismo. Algunas aplicaciones de los Algoritmos genticos Aunque, como se
ha comentado, el Algoritmo que se utiliz en el apartado anterior es muy simple, ha servido
para que los estudios realizados en torno a l, se hayan aplicado a diversos problemas y
modelos en ingeniara, y en la ciencia en general7. Cabe destacar entre ellos:

Optimizacin: Se trata de un campo especialmente abonado para el uso de los Algoritmos


Genticos, por las caractersticas intrnsecas de estos problemas. No en vano fueron la
fuente de inspiracin para los creadores estos algoritmos. Los Algoritmos Genticos se han
utilizado en numerosas tareas de optimizacin, incluyendo la optimizacin numrica, y los
problemas de optimizacin combinatoria.
Programacin automtica: Los Algoritmos Genticos se han empleado para desarrollar
programas para tareas especficas, y para disear otras estructuras computacionales tales
como el autmata celular, y las redes de clasificacin.

Aprendizaje mquina: Los algoritmos genticos se han utilizado tambin en muchas de


estas aplicaciones, tales como la prediccin del tiempo o la estructura de una protena. Han
servido asimismo para desarrollar determinados aspectos de sistemas particulares de
aprendizaje, como pueda ser el de los pesos en una redneuronal, las reglas para sistemas de
clasificacin de aprendizaje o sistemas de produccin simblica, y los sensores para robots.

Economa: En este caso, se ha hecho uso de estos Algoritmos para modelizar procesos de
innovacin, el desarrollo estrategias de puja, y la aparicin de mercados econmicos.
Sistemas inmunes: A la hora de modelizar varios aspectos de los sistemas inmunes
naturales, incluyendo la mutacin somtica durante la vida de un individuo y el
descubrimiento de familias de genes mltiples en tiempo evolutivo, ha resultado til el
empleo de esta tcnica.
Ecologa: En la modelizacin de fenmenos ecolgicos tales como las carreras de
armamento biolgico, la coevolucin de parsito-huesped, la simbiosis, y el flujo de
recursos.

Gentica de poblaciones: En el estudio de preguntas del tipo Bajo qu condiciones ser


viable evolutivamente un gene para la recombinacin?

Evolucin y aprendizaje: Los Algoritmos Genticos se han utilizado en el estudio de las


relaciones entre el aprendizaje individual y la evolucin de la especie.
Sistemas sociales: En el estudio de aspectos evolutivos de los sistemas sociales, tales
como la evolucin del comportamiento social en colonias de insectos, y la evolucin de la
cooperacin y la comunicacin en sistemas multi-agentes. Aunque esta lista no es, en modo
alguno, exhaustiva, s transmite la idea de la variedad de aplicaciones que tienen los
Algoritmos Genticos.

Gracias al xito en estas y otras reas, los Algoritmos Genticos han llegado a ser un campo
puntero en la investigacin actual.
BIBLIOGRAFIA.

Banzhaf W. Reeves C. (editors) (1999) Foundations of Genetic Algorithms.5 Morgan


Kaufmann Publishers Bauer, R.J. (1994) Genetic Algorithms and investment strategies
Wiley Finance Edition Goldberg D.E. (1989) Genetic Algorithms in Search, Optimization
and Machine
Learning. Addison-Wesley Langdon W.B., Poli R. (2002) Foundations of Genetic
Programming. Springer Mitchell M. (1998) An introduction to Genetic Algorithms. MIT
Press.