Algoritmos Geneticos

20
INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÓMPUTO Profesor: M. en .C. José Luis Calderón Osorno Algoritmos Genéticos Algoritmos Genéticos REDES NEURONALES ARTIFICIALES I

description

Practica guía de algoritmos genéticos.

Transcript of Algoritmos Geneticos

  • INSTITUTO POLITCNICO NACIONALESCUELA SUPERIOR DE CMPUTOProfesor:M. en .C. Jos Luis Caldern OsornoAlgoritmos GenticosREDES NEURONALES ARTIFICIALES I

  • Su nombre se deriva de que estn basados en modelos de cambio gentico en una poblacin de individuos. Tienen como fundamento los principios de seleccin natural y supervivencia, postulados por Darwin en su libro El origen de las especies publicado en 1859. Se reconoce a Holland como su fundador quien, en 1975, intuy la posibilidad de incorporar la semntica de la evolucin natural a procesos de optimizacin, surgiendo as los principios de esta tcnica. Se encuentran bien descritos en textos de Goldberg, Davis, Michalewicz y Reeves.ALGORITMOS GENTICOSAntecedentes histricos

  • Los Algoritmos Genticos (AG) puede verse como una familia de procedimientos de bsqueda adaptativos. Los Algoritmos Genticos son un mtodo de optimizacin mediante procesos de bsqueda. El Algoritmo Gentico es un proceso de cmputo que emula la forma de actuar de la evolucin biolgica.ALGORITMOS GENTICOSDefiniciones

  • La idea bsica es generar un conjunto con algunas de las posibles soluciones. Cada una va a ser llamada individuo, y a dicho conjunto se le denominar poblacin. Cada individuo tiene una informacin asociada a l. Tiene asociada una funcin de adaptacin que determina el grado de adaptacin de un individuo. A dicha informacin se le denomina cdigo gentico. Las caractersticas de los individuos, sean beneficiosas o no, se van a denominar fenotipos. La informacin asociada a un individuo se compone de partes indivisibles denominados cromosomas. ALGORITMOS GENTICOSDescripcin general

  • Un fenotipo puede estar en ms de un cromosoma, en cuyo caso puede ser que el hijo herede un fenotipo que no tena ni el padre ni la madre, sino una combinacin de ambos. En caso de que el hijo tenga parte de los genes del padre y parte de los genes de la madre que intervienen en un fenotipo, se va a crear una caracterstica nueva asociada a ese fenotipo.ALGORITMOS GENTICOSDescripcin general

  • Son algoritmos estocsticos, es decir, dos ejecuciones distintas pueden dar dos soluciones distintas. Son algoritmos de bsqueda mltiple, luego dan varias soluciones. Son los algoritmos que hacen una barrida mayor al subespacio de posibles soluciones vlidas. A diferencia de los otros algoritmos, cuya convergencia y resultado final son fuertemente dependientes de la posicin inicial, la convergencia del algoritmo gentico es poco sensible a la poblacin inicial si esta se escoge de forma aleatoria y es lo suficientemente grande. ALGORITMOS GENTICOSCaractersticas

  • Por su grado de penetracin casi nulo, la curva de convergencia asociada al algoritmo presenta una convergencia excepcionalmente rpida al principio, que casi enseguida se bloquea. Esto de debe a que el algoritmo gentico es excelente descartando subespacios realmente malos. La optimizacin es funcin de la representacin de los datos. Es una bsqueda paramtricamente robusta. Eso quiere decir que slo si se escoge realmente mal los parmetros del algoritmo, ste no va a converger. ALGORITMOS GENTICOSCaractersticas

  • Trabajan con un conjunto de parmetros codificados y no con los parmetros mismos. Inician la bsqueda desde un conjunto de puntos, no de uno solo. Usan una funcin a optimizar en lugar de la derivada u otro conocimiento adicional. Usan reglas de transicin probabilsticas no determinsticas. ALGORITMOS GENTICOSDiferencias con otros mtodos

  • PROCEDIMIENTO AGtiempo = 0inicializa_poblacin(tiempo)evala_poblacin(tiempo)mientras no condicin_de_terminacintiempo = tiempo + 1construye_poblacin(tiempo) a partir de poblacin(tiempo 1) usando seleccinmodifica_poblacin(tiempo) usando operadores genticosevala_poblacin(tiempo)reemplazarfin mientrasALGORITMOS GENTICOSAlgoritmo gentico bsico

  • Codificacin de los parmetros de un problema. Funcin de aptitud. Es base para determinar qu individuos (soluciones) tienen mayor o menor probabilidad de sobrevivir. Criterios de tamao de poblacin. Balance entre una poblacin muy pequea (convergencia a un mximo local) y una poblacin muy grande (mayor utilizacin de recursos computacionales). Criterio de seleccin. Los individuos son escogidos de acuerdo a su aptitud. Los ms aptos tienen mayor probabilidad de contribuir con una o ms copias en la siguiente generacin (simulacin de la seleccin natural).ALGORITMOS GENTICOSPuntos a considerar en un AG bsico

  • ALGORITMOS GENTICOSPuntos a considerar en un AG bsico Criterio de paro. Normalmente cuando un porcentaje alto de la poblacin converge a un valor. Si con ese valor no se llega a la medida esperada, entonces se toma una pequea proporcin y se inyecta diversidad gentica'' (se generan aleatoriamente nuevos individuos), o inclusive se reemplaza completamente la poblacin. Operadores genticos. Los principales son: cruza(crossover), mutacin, seleccin (algunos autores lo consideran como tal) y reemplazo (aunque existen ms).

  • ALGORITMOS GENTICOSOperadores genticos: SELECCINProceso que escoge los miembros de la poblacin que sern utilizados para la reproduccin. Su meta es dar ms oportunidades de seleccin a los miembros ms aptos de la poblacin. Lo ms comn es implementar una ruleta con truco para elegir a los individuos, donde los ms aptos tienen una mayor parte en la ruleta, por lo tanto, ms probabilidad de ser escogidos. Existen otros mtodos como el torneo en que dos individuos son elegidos aleatoriamente y se escoge al ms apto.

  • ALGORITMOS GENTICOSOperador que consiste en unir en alguna forma los cromosomas de dos padres para formar dos descendientes.Lo ms sencillo es implementar cruza de un punto, que toma dos individuos y corta sus cromosomas en una posicin seleccionada al azar, para producir dos segmentos anteriores y dos posteriores, los posteriores se intercambian para obtener dos cromosomas nuevos, como se ve en la siguiente figura: Operadores genticos: CRUZA

  • ALGORITMOS GENTICOSSe encarga de modificar en forma aleatoria uno o ms genes del cromosoma de un descendiente. La siguiente figura muestra el quinto gen siendo mutado, a lo que se conoce como mutacin sencilla:Operadores genticos: MUTACIN

  • ALGORITMOS GENTICOSEs el mtodo por el cual se insertan los hijos en la poblacin, por ejemplo mediante la eliminacin del individuo ms dbil o al azar.Operadores genticos: REEMPLAZO

  • ALGORITMOS GENTICOSExisten varios paquetes y bibliotecas de algoritmos genticos en el mercado, a continuacin se presentan algunos:GAGSGenerador de aplicaciones basadas en algoritmos genticos, escrito en C++. Desarrollado por el grupo de J.J. Melero.Direccin primaria:kal-el.ugr.es/gags.html Direccin para descargar va FTP:kal-el.ugr.es/GAGS/. GALIBBiblioteca de algoritmos genticos de Matthew. Conjunto de clases en C++ de algoritmos genticos.Direccin primaria: lancet.mit.edu/ga/ Direccin para descargar va FTP:lancet.mit.edu/pub/ga/ SOFTWARE

  • SOFTWAREGPDATAPara desarrollar algoritmos genticos en C++. Direccin primaria:cs.ucl.ac.uk/genetic/papers/ Direccin para descargar va FTP: ftp.cs.bham.ac.uk/pub/authors/W.B.Langdon/gp-code/ GPJPPBibliotecas de clases para desarrollar algoritmos genticos en Java Direccin primaria: www.turbopower.com/~ kimk/gpjpp.asp. ALGORITMOS GENTICOS

  • SOFTWARELIL-GP Herramientas para programacin gentica en C. Direccin primaria:isl.msu.edu/GA/software/lil-gp/index.htmlDireccin para descargar va FTP:isl.cps.msu.edu/pub/GA/lilgp/

    GPsysSistema de programacin gentica en Java.Direccin primaria:www.cs.ucl.ac.uk/staff/A.Qureshi/gpsys.html. ALGORITMOS GENTICOS

  • Dudas ???

  • Hasta la prxima !!!