Click here to load reader

Algoritmos genéticos como métodos de aproximación analítica y búsqueda de óptimos locales

  • Upload
    bikita

  • View
    63

  • Download
    0

Embed Size (px)

DESCRIPTION

Algoritmos genéticos como métodos de aproximación analítica y búsqueda de óptimos locales. Jorge Salas ChacónA03804 Rubén Jiménez Goñi A93212 Juan Camilo Carrillo CasasA91369 Marco Vinicio Artavia QuesadaA90661. Introducción. Surgimiento de los Algoritmos Genéticos: - PowerPoint PPT Presentation

Citation preview

Algoritmos genticos como mtodos de aproximacin analtica y bsqueda de ptimos locales

Jorge Salas ChacnA03804Rubn Jimnez GoiA93212Juan Camilo Carrillo CasasA91369Marco Vinicio Artavia QuesadaA90661Algoritmos genticos como mtodos de aproximacin analtica y bsqueda de ptimos localesIntroduccinSurgimiento de los Algoritmos Genticos:Problemas de computabilidad, existen problemas deterministas complejos en cuanto a espacio y tiempo, dentro de estos estn los conocidos como NP.La optimizacin encontrada en los algoritmos genticos permite dar buenos resultados, siendo esta una herramienta importante aunque no d la solucin ptima al problema.

TrminosTeora de la evolucin de Darwin: Los individuos ms fuertes y mejor constituidos sobreviven, mientras que los dbiles mueren. Las especies evolucionan con el tiempo y adquieren nuevas caractersticas para ajustarse al medio (Solano, Y.).

Individuo: Sujetos que representan las posibles soluciones a un problema dado, el cual se desea resolver mediante un algoritmo gentico. Como se ver ms adelante, es importante poder representar las caractersticas de un individuo mediante una cadena de caracteres.

Cdigo gentico: Informacin del individuo.

TrminosGenotipo: Constitucin gentica de un organismo. Conjunto de caractersticas que se transmiten a los descendientes (Solano, Y.).

Cromosomoma: Representacin del genotipo a travs de un string, como por ejemplo una cadena de bits. Estn compuestos por genes, los cuales pueden tomar valores llamados alelos (Solano, Y.).

TrminosFenotipo: Caractersticas externas observables de un organismo o individuo. Solucin perteneciente al espacio de soluciones del problema en estudio.Ejemplo: Si se desea maximizar la funcin f(x) = x2 sobre el intervalo [0, 31]

Fuente: Solano, Yadira. Algoritmos Genticos. Filminas del curso Paradigmas Computacionales CI-1441. Ao 2011, segundo semestre.

TrminosPoblacin: Conjunto de individuos que sern mutados, reproducidos y evaluados.

Funcin de fitness: Evala la aptitud de un individuo.

Operadores genticos: Principales mecanismos utilizados para la generacin de nuevos individuos.ReproduccinCruceMutacin

OrgenesFriedberg (1958)

John Holland (1975)

John Koza (1992)

Fuente: http://www.lsa.umich.edu/psych/people/directory/profiles/faculty/?uniquename=jholland

Fuente: http://www.genetic-programming.com/johnkoza.htmlAlgoritmo-Flujo del algoritmo (1)RepresentacinBinaria usualmente

Poblacin inicial

Funcin de evaluacin

Seleccin

Reproduccin

Fuente: Solano, Yadira. Algoritmos Genticos. Filminas del curso Paradigmas Computacionales CI-1441. Ao 2011, segundo semestre.

Algoritmo-Flujo del algoritmo (2)

Fuente: Russell, S., & Norvig, P. (1995). Artificial Intelligence A Modern Approach. New Jersey: Prentice Hall.

Algoritmo-Poblacin inicialPrimero, se debe buscar la forma de representar la poblacin y cmo se codificar la respuestaQu representa cada miembro de la poblacin?Sugerencias para la poblacin inicialSaber soluciones parcialesSe genera al azar, y que sea variadaTamao de la poblacin Qu ocurre si es pequea?Y si es grande?

10Algoritmo-Funcin de fitnessEs el operador que indica que tan bueno es un individuo.Puede ser una funcin matemtica, probabilstica o heurstica.Debe medir la aptitud correctamente para evitar la convergencia prematura del algoritmo.Es lo ms difcil de disear en un algoritmo gentico.

Algoritmo-Operadores genticosSeleccinDeterminado por la funcin de adaptacin

ReproduccinCruceClonacinlite

MutacinAlgoritmo-SeleccinSeleccionar individuos de la poblacin para reproducirlos

Algunas opcionesBasado en rangoRuletaRankingTorneo

Algoritmo-Reproduccin (1)Es la forma como se combinan dos cromosomas para generar los descendientes con caractersticas de ambos progenitores.Cantidad de genes por padre:Al azar.Determinados.Cruce de un punto.Cruce de n puntos.

Algoritmo-Reproduccin (2)liteSe toma un grupo de individuos sobresalientes y se conservan cruzndose entre ellos.Pueden generar buenas soluciones pero pueden provocar mnimos locales.La lite debe de aumentar entre ms cercanas estn las generaciones de llegar a su fin.ClonacinSe genera una copia del padre en la siguiente generacin.Algoritmo-Mutacin (1)Consiste en modificar de manera aleatoria parte de un individuo.

Se modifican los genes del individuo, los cuales usualmente se representan como una cadena de bits, aunque esto no es necesario.

Se debe asignar una probabilidad de ocurrencia a la mutacin.

Introduce nuevo material gentico a la poblacin.

Algoritmo-Mutacin (2)Asegura que todos los puntos del espacio de bsqueda tengan probabilidad mayor que cero de ser explorados.

Garantiza la convergencia.

La mutacin contribuye a:La diversidad gentica de la especie.Incrementar los saltos evolutivos.Desbloquear el algoritmo.

Fuente: Solano, Yadira. Algoritmos Genticos. Filminas del curso Paradigmas Computacionales CI-1441. Ao 2011, segundo semestre.

Algoritmo-Mutacin (3)Cuando los individuos se representan como cadenas de bits, existen diversas tcnicas de mutacin disponibles, entre ellas:

Mutacin multibit: Se cambia aleatoriamente ms de un bit de la cadena del individuo.

Mutacin de un bit: A diferencia de la anterior, solo se modifica un bit.

Mutacin de intercambio: Se seleccionan dos bits de la cadena aleatoriamente y se intercambian.

Mutacin de barajado: Se selecciona un rango de bits de la cadena y se reacomodan aleatoriamente.Aplicaciones de algoritmos genticos en robticaRobtica EvolutivaAdaptacin al medio ambientePorqu se usa?Es difcil ver todos los casosAmbientes no controladosson complicadosHay inconvenientes en usarlos?Forma de representacinFuncin fitnessMuchas diferencias entre ambientesimulado y real

Imagen tomada de : http://www.itas.fzk.de/v/evolutionary_robotics/info_eng.htmAplicaciones de algoritmos genticos en robtica- Ejemplos de uso (1)Control de navegacinMoverse sin colisionar con obstculosRobot KheperaModificacin de pesos en Red NeuronalFuncin fitness: rotacin de la ruedaComportamiento emergente: modul velocidadPlanificacin de trayectoriasOptimizacin de trayectorias

Aplicaciones de algoritmos genticos en robtica- Ejemplos de uso (2)

Imagen tomada de: http://www.sciencedirect.com/science/article/pii/S0263224100000440Robot KheperaAplicaciones de algoritmos genticos en robtica- Ejemplos de uso (3)Optimizacin en tcnicas de transporteCalificacin de objetosEjemplo de Nolfi y MaroccoAlgoritmos genticos mejoran red neuronalDeba identificar diferencias entre una lnea ancha y otra angostaComplicado porque depende de muchas variablesBrazos robticosEvolucionar movimientos de efectoresConstruccin de robotsOptimizacin de la suspensin

Aplicaciones de algoritmos genticos en robtica- Ejemplos de uso (4) Optimizacin de parmetrosControlador PIDBalanceo de robotAprender a caminarEvolucin cooperativaRobocopa

Imagen tomada de:http://www.humanoidsoccer.org/Aplicaciones de algoritmos genticos en robtica- Ejemplos de uso (5)Robot que aprende a evitar colisiones, mantenindose en el centro

Robot que aprende a caminar hacia adelante:

Ventajas (1)Su componente aleatorio les permite evitar caer en trampas en que los mtodos deterministas pueden caer.

No obstante, recorren el espacio de soluciones de una manera ms inteligente que una bsqueda aleatoria pura.

Menos sensibles a quedar atrapados en ptimos locales, pues trabajan con conjuntos de soluciones.Ventajas (2)Aceptan cambios en la funcin de fitness, lo cual permite mejorar el algoritmo sin mucho esfuerzo y sin modificaciones extensas al cdigo.

Se pueden aplicar en una amplia gama de reas adems de la robtica.

Permiten explotar arquitecturas en paralelo. La evaluacin de la funcin de fitness es altamente paralelizable. Ej: John Koza y el cluster Beowulf.Ventajas (3)No requieren conocimientos especficos del rea de conocimiento del problema a resolver, pues se pueden usar como caja negra. No obstante, conocimientos en dicha rea pueden ayudar a complementar el trabajo de los operadores genticos.Desventajas (1)Por su carcter aleatorio, no se puede garantizar que produzcan una buena solucin.

En general se centran en obtener una muy buena solucin, pero no la mejor de todas (es decir, la ptima), pues se les considera como un tipo de tcnica heurstica.

Pueden llegar a requerir alto poder de computo, pues se utilizan poblaciones grandes y se requieren muchas iteraciones en las cuales se evala el fitness de cada individuo. Desventajas (2)Lo anterior influye negativamente en su eficiencia y por esto se les considera lentos.

La poblacin inicial y los criterios de seleccin y reemplazo pueden influir en el tiempo que se requiere para obtener la solucin deseada.

Algunos autores consideran que su alta aplicabilidad los hace poco eficientes para algunos tipos muy especficos de problemas.Conclusiones (1)Los algoritmos genticos pueden ser utilizados en una gran cantidad de reas

Dan soluciones a diferentes tipos de problemas, en una forma relativamente eficiente

Hay que tener un sumo cuidado a la hora de representar la poblacin, su funcin fitness y de cmo seleccionamos a los individuosConclusiones (2)Los algoritmos genticos son ideales para realizar optimizaciones gracias a sus principios darwinianos.

En el rea de la robtica, son vitales para realizar pruebas en ambientes no controlados. Adems, son ms consistentes.BibliografaRussell, S., & Norvig, P. (1995). Artificial Intelligence A Modern Approach. New Jersey: Prentice Hall.

Salas, Jorge. Programacin Gentica. Proyecto de Investigacin terica del curso Paradigmas Computacionales CI-1441. Ao 2011, segundo semestre.

Solano, Yadira. Algoritmos Genticos. Filminas del curso Paradigmas Computacionales CI-1441. Ao 2011, segundo semestre.

Wahde,M. Evolutionary Robotics: The Use of Artificial Evolution in Robotics. Chalmers University of Technology, Gotemborg, Suecia,2004

Zhang, J. (2006). Genetic Algorithms for Optimal Design of Vehicle Suspensions. Engineering of Intelligent Systems, 2006 IEEE International Conference on, (pgs. 1 - 6).