Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Inteligencia Artificial
12 de Mayo de 2011
ndice
ndice.............................................................................................................................. 2 Objetivos......................................................................................................................... 3 Definiciones y conceptos bsicos del tema.....................................................................3 Estructura.................................................................................................................... 6 Tipos de Representacin........................................................................................... 6 Tamao de la poblacin............................................................................................6 Poblacin Inicial........................................................................................................ 6 Funcin Objetivo....................................................................................................... 6 Operador de Seleccin..............................................................................................6 Operador de Cruce.................................................................................................... 7 Operador de Mutacin..............................................................................................7 Ventajas....................................................................................................................... 7 Desventajas................................................................................................................. 7 Cundo usar algoritmos genticos?............................................................................8 Antecedentes y desarrollo histricos...............................................................................8 Fundamentos biolgicos..................................................................................................9 Estado del arte................................................................................................................ 9 reas de aplicacin y clases.......................................................................................10 Desarrollos actuales en el mundo y en Mxico..............................................................11 Caso Prctico................................................................................................................. 12 Bibliografa consultada.................................................................................................. 14 Cuestionario.................................................................................................................. 15
Objetivos
Explicar el concepto de Algoritmo Gentico, as como todos los aspectos que lo rodean. Mostrar un ejemplo prctico para mejor comprensin del tema.
siguiente ciclo: 1. Generacin de una poblacin inicial de manera aleatoria. 2. Evaluar el desempeo de todos los individuos de la poblacin, tomando en cuenta alguna funcin objetivo. 3. Crear una nueva poblacin mediante la ejecucin de operaciones como el crossover y mutacin sobre individuos cuyo desempeo haya sido evaluado. 4. Descartar la poblacin vieja e iterar usando la nueva, hasta que el nmero de generaciones alcanza al criterio de terminacin.
Generacion=0
Criterio de terminaci n?? NO Evaluacin de cada individuo en la poblacin SI Generacion++ Individuos =M? NO
SI Resultado Propuesto
Fin
Mutacin Seleccin de la operacin Gentica Cruce 2 Individuos seleccionados en base a su desempeo Ejecucin Crossover Insercin de 2 individuos en la nueva poblacin Individuo seleccionado en base a su desempeo Ejecucin Mutacin Insercin del mutante en la nueva poblacin
Individuos=Individuos+ 2
Individuos=Individuos+ 1
Una iteracin de este ciclo constituye una generacin. Este comportamiento puntual no se observa como un todo dentro de las poblaciones en la naturaleza pero si representa un modelo de implementacin conveniente. La primera generacin (generacin 0) de este proceso opera sobre una
poblacin de individuos generados aleatoriamente. Desde entonces las operaciones genticas en conjunto con la medida del desempeo trabajan para mejorar la poblacin.
Estructura
Tipos de Representacin Durante los primeros aos el tipo de representacin utilizado era siempre binario, debido a que se adapta perfectamente al tipo de operaciones y el tipo de operadores que se utilizan en un AG. Sin embargo, las representaciones binarias no son siempre efectivas por lo que se empezaron a utilizar otro tipo de representaciones. En general, una representacin debe identicar las caractersticas constituyentes del conjunto a estudiar, de forma que distintas representaciones dan lugar a distintas perspectivas y por tanto distintas soluciones. Tipos bsicos de representaciones: Representacin binaria: Cada gen es un valor 1 0. Representacin entera: Cada gen es un valor entero. Representacin real: Cada gen es un valor real.
Tamao de la poblacin Una cuestin que se puede plantear es la relacionada con el tamao idneo de la poblacin. Parece intuitivo que las poblaciones pequeas corren el riesgo de no cubrir adecuadamente el espacio de bsqueda, mientras que el trabajar con poblaciones de gran tamao puede acarrear problemas relacionados con el excesivo costo computacional. Poblacin Inicial Habitualmente la poblacin inicial se escoge al azar. Si los individuos de la poblacin inicial se obtuviesen como resultado de alguna tcnica heurstica o de optimizacin local puede suceder que se acelere la convergencia del AG. Sin embargo en algunos casos la desventaja resulta ser la prematura convergencia del algoritmo, queriendo indicar con esto la convergencia hacia ptimos locales. Funcin Objetivo El resultado al cual se desea llegar. Operador de Seleccin El operador de Seleccin es el encargado de transmitir y conservar aquellas caractersticas de las soluciones que se consideran valiosas a lo largo de las generaciones. El principal medio para que la informacin til se transmita es que aquellos individuos mejor adaptados tengan ms probabilidades de reproducirse. Sin embargo, es necesario tambin incluir un factor aleatorio que permita reproducirse a individuos que aunque no estn muy bien adaptados, puedan contener alguna informacin til para posteriores
generaciones, con el objeto de mantener as tambin cierta diversidad en cada poblacin. Operador de Cruce El operador de Cruce permite realizar una exploracin de toda la informacin almacenada hasta el momento en la poblacin y combinarla para crear mejores individuos. Operador de Mutacin La mutacin se considera un operador bsico, que proporciona un pequeo elemento de aleatoriedad en el entorno de los individuos de la poblacin. Si bien el operador de cruce es el responsable de efectuar la bsqueda a lo largo del espacio de posibles soluciones, el operador de mutacin va ganando en importancia a medida que la poblacin de individuos va convergiendo. El objetivo del operador de mutacin es producir nuevas soluciones a partir de la modicacin de cierto nmero de genes de una solucin existente, con la intencin de fomentar la variabilidad dentro de la poblacin. Existen muy diversas formas de realizar la mutacin, desde la ms sencilla (puntual), donde cada gen muta aleatoriamente con independencia del resto de genes, hasta conguraciones ms complejas donde se tienen en cuanta la estructura del problema y la relacin entre los distintos genes.
Ventajas
Los AG son intrnsecamente paralelos. Ya que los AG tienen descendencia mltiple, pueden explorar el espacio de soluciones en mltiples direcciones a la vez. Debido al paralelismo que les permite evaluar implcitamente muchos esquemas a la vez, los AG funcionan particularmente bien resolviendo problemas cuyo espacio de soluciones potenciales es realmente grande, demasiado vasto para hacer una bsqueda exhaustiva en un tiempo razonable. Poseen la habilidad para manipular muchos parmetros simultneamente. Muchos problemas de la vida real no pueden denirse en trminos de un nico valor que hay que minimizar o maximizar, sino que deben expresarse en trminos de mltiples objetivos. La virtud de esta tcnica es que permite a los AG comenzar con una mente abierta, por as decirlo. Cualquier estrategia de resolucin de problemas que dependa de un conocimiento previo, debe inevitablemente comenzar descartando muchos caminos a priori, perdiendo as cualquier solucin novedosa que pueda existir.
Desventajas
La primera y ms importante consideracin al crear un AG es denir una representacin del problema. El lenguaje utilizado para especicar soluciones candidatas debe ser robusto; es decir, debe ser capaz de tolerar cambios aleatorios que no produzcan constantemente errores
7
fatales o resultados sin sentido. El problema de cmo escribir la funcin objetivo debe considerarse cuidadosamente para que se pueda alcanzar una mayor aptitud y verdaderamente se d una solucin mejor para el problema dado. Un problema muy conocido que puede surgir con un AG se conoce como convergencia prematura, esto a raz de una incorrecta definicin de la poblacin inicial. No utilizar AG en problemas resolubles de manera analtica, pues estos mtodos analticos tradicionales consumen mucho menos tiempo y potencia computacional que los AG y, a diferencia de los AG, a menudo est demostrado matemticamente que ofrecen la nica solucin exacta.
A finales de 1980s la General Electric comenz a vender el primer producto de Algoritmo Gentico para solucionar problemas de procesos industriales. En 1989 se cre el producto Evolver que fue el primer producto de Algoritmo Gentico para Computadoras personales.
Fundamentos biolgicos.
En la naturaleza, los individuos de una poblacin compiten constantemente con otros por recursos tales como la comida, agua y refugio. Los individuos que tienen ms xito en la lucha por los recursos tienen mayores probabilidades de sobrevivir y generalmente una descendencia mayor. Al contrario, los individuos peor adaptados tienen un menor nmero de descendientes, o incluso ninguno. Esto implica que los genes de los individuos mejor adaptados se propagarn a un nmero cada vez mayor de individuos de las sucesivas generaciones. La combinacin de caractersticas buenas de diferentes ancestros puede originar en ocasiones que la descendencia est incluso mejor adaptada al medio que los padres. De esta manera, las especies evolucionan adaptndose ms y ms al medio a medida que transcurren las generaciones [Beasley et al., 1993]. Pero la adaptacin de un individuo no slo est determinada por su composicin gentica. Influyen otros factores como el aprendizaje, en ocasiones adquirido por el mtodo de prueba y error, en ocasiones adquirido por imitacin del comportamiento de los padres. Para imitar esta adquisicin de conocimiento se han desarrollado variantes como el Ajuste Fino, consistentes en pequeas modificaciones de los genes de un cromosoma. Por ejemplo, estas modificaciones pueden realizarse tomando como resultado e mejor individuo tras la ejecucin de varias generaciones de un Algoritmo Gentico cuya poblacin previamente ha sido creada a partir de ligeras variaciones del individuo al que se desea incorporar el conocimiento.
RML Technologies Inc.: Programa Discipulus 5 que usa la programacin gentica basada en los algoritmos genticos para predecir modelos. JAGA: Software para crear aplicaciones que funcionen con algoritmos genticos y programacin gentica.
En la actualidad los usos y tecnologas de los algoritmos genticos van mejorando y creciendo cada da ms. A continuacin se mencionan algunas reas y clases donde se aplican los algoritmos genticos.
10
11
Caso Prctico
Nuestro caso prctico se basa en el modelo cinemtico denominado "Strandbeest" creado por el escultor cinemtico Theo Jansen. Este modelo esta formado por mltiples eslabones unidos, a los cuales se les conecta algn mecanismo actuador, como un motor, y esto provoca que el modelo reaccione con un movimiento similar a una pierna humana. 20
29 cms. 10
17 cms
5 cm
-10
-20
-30
30 cms.
-40
La figura anterior muestra al modelo con medidas de los eslabones. Con estas medidas se sigue un paso con la forma marcada con rojo.
-60 -50 -40 -30 -20 -10 0 10 20
-50
Estos parmetros de las longitudes de los eslabones, son introducidos al algoritmo gentico desarrollado en Matlab. Los parmetros son codificados de forma especial para especificar la funcin objetivo, la cual en este caso es dar un paso con mayor longitud en X. Durante las simulaciones, se obtenan resultados dependiendo de los parmetros de entrada, por ejemplo:
Parametros:
u=10; m=.6*u; d=2*u; l1=2.9*u; l2=1.9*u; l3=3*u;
20 10 0 -10 -20
muy
variados
Resultados: dx = 25.0118
dy =
4.8270
-40
-30
-20
-10
10
20
30
40
50
12
Trayectoria de la pata
0
Desplazamiento en x
20
40
60
80
100
120
140
Desplazamientos en y
-30
-25
-20
-15
-10
20
40
60
80
100
120
140
Pero tambin se dieron casos en donde no eran posibles fsicamente los resultados obtenidos: Parametros: u=10; m=.6*u; d=2*u; l1=2.8*u; l2=2.0*u; l3=3*u; Resultados: dx = 25.4300 0.8542 dy =
-40
-30
-20
-10
10
20
30
40
50
20
40
60
80
100
120
140
-47.5
-48
-48.5
13
En base a estos resultados se obtuvo que las mejores medidas son las siguientes: U=10
M .6 6 cm D 2 20 cm
20 29 cm 10 19 cm 0 6 cm
L1 2.9 29 cm
L2 1.9 19 cm
Dx 25.0118
Dy 4.8270
-10
-20 30 cm -30
-40
-50
Bibliografa consultada
E. Gmez-Ramrez & F. Mazzanti, Cellular Neural Networks Learning using Genetic Algorithm, 7mo. Congreso Iberoamericano de Reconocimiento de Patrones, CIARP 2002, Noviembre 19-22, CIC-IPN, Cd. de Mxico, Mxico. 2002. A.G. Snchez de Tagle Horta. Introduccin a los algoritmos genticos. T esis
(ingeniero en ciberntica y en sistemas computacionales)--Universidad La Salle. Escuela de Ingeniera. C.L., Karr et al. Industrial applications of genetic algorithms. Boca Ratn. 1999
-60 -50 -40 -30 -20 -10 0 10 20
http://www.sistedes.es/TJISBD/Vol-2/No-4/articles/pris-08-dominguezmutantesGeneticos.pdf
14
Cuestionario
1. Qu son los algoritmos genticos?
a) Son algoritmos de bsqueda que se basan en iteraciones y buscan resultados ptimos. b) Son algoritmos de bsqueda basados en la mecnica de la seleccin natural y de la gentica natural que consisten en una poblacin de soluciones codificadas de forma similar a cromosomas. c) Son algoritmos de bsqueda basados en la mecnica de la seleccin natural y de la gentica natural que siempre brindan el resultado ms ptimo. d) Son algoritmos basados en matemticas avanzadas, los cuales son codificados de modo similar a una ecuacin.
2. Cules son los tipos que existen para representar las caractersticas
constituyentes del conjunto a estudiar? a) Binario, real y entero b) Binario, cadenas c) Nmeros y d) Entero y y caracteres. cadenas. fracciones.
3. Qu ventajas ofrecen los algoritmos genticos?
a) Manipulan muchas variables al mismo tiempo y se trabaja con la mente abierta. b) Puede presentarse la convergencia prematura y trabajan de forma paralela. c) Definir la representacin del problema y manipular muchas variables al mismo tiempo. d) Se trabaja con la mente abierta y dan siempre la mejor solucin a un problema.
4. Cules son los operadores utilizados en algoritmos genticos?
b) De seleccin,
cruce y crecimiento.
b) Ingo Rechenberg
c)Charles Darwin
d)
E.
Ramrez es el nombre conocimiento? a)Ajuste Gentico d)Ajuste Biolgico a)1972 d)1869 de la tcnica que imita la adquisin de
b)Ajuste Fino
c)Ajuste
Natural
b)1960
c)1975
15
8. Para qu sirve Perfect Table Plan? a) Organizar Cocteles b) Organizar Bodasc) Organizar cursos Organizar clases 9. Mencione una aplicacin de los algoritmos genticos a) Optimizacin b) Estudio c) Crear clones d)Programacin
d)
automtica 10.Software con el cual podemos hacer modelado de algoritmos genticos a) Mat Lab b) Word c) Angry Birds d) Paint
16