Académique Documents
Professionnel Documents
Culture Documents
ALGORITMOS GENETICOS
Anlisis de un Algoritmo gentico simple o Cannico
Curso: Introduccin a la Inteligencia Artificial
Docente: Ing. Vctor Hugo Valle Ros
Alumnos:
Contenido
1. Introduccin ............................................................................................... 2
2. Objetivos del Trabajo ................................................................................ 3
2.1.
Objetivo General.................................................................................. 3
2.2.
Historia ................................................................................................. 4
3.2.
Algoritmo gentico.............................................................................. 5
3.3.
3.4.
3.5.
Seleccin ............................................................................................. 6
3.5.1.
3.5.2.
3.7.
3.7.1.
3.7.2.
3.7.3.
3.8.
3.9.
Mutacin ............................................................................................ 11
3.10.
Convergencia ................................................................................. 11
4. Desarrollo ................................................................................................. 12
4.1.
Descripcin inicial............................................................................. 12
4.2.
4.3.
Ejecucin ........................................................................................... 15
4.3.1.
4.3.2.
Seleccin ..................................................................................... 16
4.3.3.
Cruce ........................................................................................... 16
4.3.4.
Mutacin ...................................................................................... 17
4.3.5.
5. Conclusiones ........................................................................................... 21
6. Bibliografa ............................................................................................... 22
1. Introduccin
Los Algoritmos Genticos son mtodos adaptativos que pueden usarse para
resolver problemas de bsqueda y optimizacin. Estos algoritmos estn
basados en el proceso gentico de los organismos vivos.
A lo largo de las generaciones, las poblaciones evolucionan en la naturaleza
de acorde con los principios de la seleccin natural y la supervivencia de los
ms fuertes, postulados por Darwin (1859). Imitando este proceso, los
algoritmos genticos son capaces de ir creando soluciones para problemas
del mundo real.
Este trabajo se centrar de manera especfica en los algoritmos genticos
simples o cannicos, de tal manera que se pueda analizar el funcionamiento
de los mismos de acuerdo a los elementos que participan en el mismo
permitindonos conocer como varan las adaptaciones promedio de cada
generacin respecto a la solucin de convergencia, as como el
comportamiento del mismo.
Para ello se desarrollar una pequea aplicacin que nos facilitar estas
tareas, as como el anlisis del mismo.
3. Marco Terico
3.1. Historia
Los primeros ejemplos de lo que hoy podramos llamar algoritmos
genticos aparecieron a finales de los 50 y principios de los 60,
programados por bilogos evolutivos que buscaban realizar modelos de
aspectos de la evolucin natural. A ninguno de ellos se le ocurri que
esta estrategia podra aplicarse de manera ms general a los problemas
artificiales, pero ese hecho no tardara en llegar.
John Holland se preguntaba cmo lograba la naturaleza, crear seres
cada vez ms perfectos. No saba la respuesta, pero tena una cierta idea
de cmo hallarla: tratando de hacer pequeos modelos de la naturaleza,
que tuvieran alguna de sus caractersticas, y ver cmo funcionaban, para
luego extrapolar sus conclusiones a la totalidad.
Fue a principios de los 60, en la Universidad de Michigan en Ann Arbor,
donde, dentro del grupo Logic of Computers, sus ideas comenzaron a
desarrollarse y a dar frutos. Y fue, adems, leyendo un libro escrito por
un bilogo evolucionista, R. A. Fisher, titulado La teora gentica de la
seleccin natural, como comenz a descubrir los medios de llevar a cabo
sus propsitos de comprensin de la naturaleza. De ese libro aprendi
que la evolucin era una forma de adaptacin ms potente que el simple
aprendizaje, y tom la decisin de aplicar estas ideas para desarrollar
programas bien adaptados para un fin determinado.
En esa universidad, Holland imparta un curso titulado Teora de sistemas
adaptativos. Dentro de este curso, y con una participacin activa por
parte de sus estudiantes, fue donde se crearon las ideas que ms tarde
se convertiran en los algoritmos genticos.
Por tanto, cuando Holland se enfrent a los algoritmos genticos, los
objetivos de su investigacin fueron dos:
3.5. Seleccin
Los algoritmos de seleccin sern los encargados de escoger qu
individuos van a disponer de oportunidades de reproducirse y cules no.
Puesto que se trata de imitar lo que ocurre en la naturaleza, se ha de
otorgar un mayor nmero de oportunidades de reproduccin a los
individuos ms aptos. Por lo tanto, la seleccin de un individuo estar
relacionada con su valor de ajuste.
Cruce de 1 punto
Cruce de 2 puntos
Cruce uniforme
aleatoriamente
para
generar
dos
segmentos
10
3.9. Mutacin
El operador de mutacin se aplica a cada hijo de manera individual, y
consiste en la alteracin aleatoria (normalmente con probabilidad
pequea) de cada gen componente del cromosoma. La Figura 6 muestra
la mutacin del quinto gen del cromosoma.
3.10. Convergencia
El concepto de convergencia est relacionado con la progresin hacia la
uniformidad: un gen ha convergido cuando al menos el 95 % de los
individuos de la poblacin comparten el mismo valor para dicho gen. Se
dice que la poblacin converge cuando todos los genes han convergido.
Se puede generalizar dicha definicin al caso en que al menos un % de
los individuos de la poblacin hayan convergido.
11
4. Desarrollo
4.1. Descripcin inicial
Como parte final del presente trabajo desarrollamos una aplicacin en el
lenguaje
de
programacin
java
que
nos
permite
simular
el
Fenotipo de cromosoma
Probabilidad de cruce
Probabilidad de mutacin
Convergencia
12
M=100, N=5 (En este caso como el valor de n es 5 el mximo valor que
encontraremos es 11111=31 en sistema decimal).
Luego de generar la poblacin inicial, se realiza la seleccin de parejas
para la reproduccin, en este caso utilizamos el mtodo del torneo, que
consiste en seleccionar un grupo aleatorio de C (Nmero de
competidores menor que tamao de la poblacin) individuos que
competirn entre s, siendo el ms adaptado el ganador que pase a la fila
de reproduccin. Existen muchas teoras y mtodos de seleccin, el
mtodo de torneo que aplicamos es determinista, en este caso se escoge
aleatoriamente a los competidores, el nmero de competidores C que
ingresemos no debe ser ni 1 ni muy elevado, mientras ms grande sea
el nmero de competidores ms probabilidades hay de escoger siempre
a los mejores adaptados dejando sin variedad a la poblacin a no escoger
individuos con menor adaptacin.
El valor que le daremos a C en esta demostracin ser 2.
Este proceso de seleccin continuar hasta contar con m/2 parejas, que
sern los padres de la siguiente generacin.
El siguiente paso consiste en determinar la probabilidad de cruce de cada
pareja, esta probabilidad est fijada en 0.5 y se aplicara aleatoriamente
a cada pareja. Una vez terminado este proceso, las parejas cuya
13
14
4.3. Ejecucin
4.3.1. Poblacin inicial:
15
Nuestra
poblacin
de
100
individuos
inicial
fue
generada
Ejemplo de cruce:
Pareja 0: tiene una probailidad de cruce mayor de 0.5 por lo que
se le puede aplicar el punto de cruce.
16
Punto de cruce =
Hijos
cruzados
11000
24
1100|0
1100|1
10111
23
1011|1
1011|0
17
18
Observamos el valor de la
generacin solucin y el
nmero de generacin
por las que se pas
19
Estadsticas de solucin
Adaptcion
1000
800
600
400
200
0
1
Numero de generaciones
Mejor
20
Media
10
5. Conclusiones
21
6. Bibliografa
Gestal, M., Rivero, D., Ramn Rabual, J., Dorado, J., & Pazos, A. (2010).
Introduccin a los Algoritmos Genticos y a la Programacin Gentica.
Madrid: Digitalia.
Vasco, U. d. (Setiembre de 2008). Campus de Gipuzkoa - Universidad del
Pais Vasco. Obtenido de
http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/t2geneticos.pdf
22