Utp sirn_s10_algoritmo genéticos

652 views
578 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
652
On SlideShare
0
From Embeds
0
Number of Embeds
273
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Utp sirn_s10_algoritmo genéticos

  1. 1. Sistemas Inteligentesy Redes Neuronales(SI01)Ing. José C. Benítez P.(versión original de José L. Calderón O.)(SI01)Algoritmos GenéticosSesión 10
  2. 2. Sesión 10. TemasAlgoritmos GenéticosAntecedentes históricosAntecedentes históricosDefinicionesDefinicionesDescripción generalDescripción generalCaracterísticasCaracterísticasSistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P. 2CaracterísticasCaracterísticasDiferencias con otros métodosDiferencias con otros métodosAlgoritmo genético básicoAlgoritmo genético básicoPuntos a considerar en un AG básicoPuntos a considerar en un AG básicoOperadoresOperadores genéticosgenéticosSoftwareSoftware
  3. 3. •• Su nombre se deriva porque que están basados en modelosSu nombre se deriva porque que están basados en modelosde cambio genético en una población de individuosde cambio genético en una población de individuos..•• Tienen como fundamento losTienen como fundamento los principios de selección naturalprincipios de selección naturaly supervivenciay supervivencia, postulados por Darwin en su libro, postulados por Darwin en su libro El origenEl origende las especiesde las especies publicado en 1859.publicado en 1859.Antecedentes históricosAntecedentes históricosde las especiesde las especies publicado en 1859.publicado en 1859.•• Se reconoce aSe reconoce a HollandHolland como su fundador quien, en 1975,como su fundador quien, en 1975,intuyó la posibilidad de incorporar la semántica de laintuyó la posibilidad de incorporar la semántica de laevolución natural a procesos de optimizaciónevolución natural a procesos de optimización, surgiendo así, surgiendo asílos principios de esta técnicalos principios de esta técnica..•• Se encuentran bien descritos en textos deSe encuentran bien descritos en textos de GoldbergGoldberg, Davis,, Davis,MichalewiczMichalewicz yy ReevesReeves..3Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  4. 4. •• LosLos AG puede verse como una familia deAG puede verse como una familia deprocedimientos de búsqueda adaptativos.procedimientos de búsqueda adaptativos.•• LosLos AG son un método de optimización medianteAG son un método de optimización medianteprocesos de búsqueda.procesos de búsqueda.DefinicionesDefinicionesprocesos de búsqueda.procesos de búsqueda.•• ElEl AlgoritmoAlgoritmo GenéticoGenético es un proceso de cómputo quees un proceso de cómputo queemula la forma de actuar de la evolución biológicaemula la forma de actuar de la evolución biológica..4Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  5. 5. •• La idea básica esLa idea básica es generargenerar un conjunto con algunas de lasun conjunto con algunas de lasposibles soluciones. Cada PS va a ser llamadaposibles soluciones. Cada PS va a ser llamada individuoindividuo, y a, y adicho conjunto se le denominarádicho conjunto se le denominará poblaciónpoblación..•• Cada individuo tiene una información asociada a él.Cada individuo tiene una información asociada a él. TieneTieneasociada unaasociada una función de adaptaciónfunción de adaptación queque determina el gradodetermina el gradoDescripción generalDescripción generalasociada unaasociada una función de adaptaciónfunción de adaptación queque determina el gradodetermina el gradode adaptación de un individuo. A dicha información se lde adaptación de un individuo. A dicha información se leedenominadenomina código genéticocódigo genético..•• Las características de los individuos, sean beneficiosas o no, seLas características de los individuos, sean beneficiosas o no, sevan a denominarvan a denominar fenotiposfenotipos. La información asociada a un. La información asociada a unindividuo se compone de partes indivisibles denominadosindividuo se compone de partes indivisibles denominadoscromosomascromosomas..5Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  6. 6. •• Un fenotipo puede estar en más de un cromosoma, en cuyoUn fenotipo puede estar en más de un cromosoma, en cuyocaso puede ser que el hijo herede un fenotipo que no tenía nicaso puede ser que el hijo herede un fenotipo que no tenía niel padre ni la madre, sino una combinación de ambos.el padre ni la madre, sino una combinación de ambos.Descripción generalDescripción general•• En caso de que el hijo tenga parte de los genes del padre yEn caso de que el hijo tenga parte de los genes del padre yparte de los genes de la madre que intervienen en un fenotipo,parte de los genes de la madre que intervienen en un fenotipo,se va a crear una característica nueva asociada a ese fenotipo.se va a crear una característica nueva asociada a ese fenotipo.6Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  7. 7. •• SonSon algoritmos estocásticosalgoritmos estocásticos, es decir, d, es decir, dos ejecuciones distintasos ejecuciones distintaspueden dar dos soluciones distintas.pueden dar dos soluciones distintas.•• SonSon algoritmos de búsqueda múltiplealgoritmos de búsqueda múltiple, luego dan varias, luego dan variassoluciones.soluciones.•• SSonon algoritmos que hacen una barrida mayor alalgoritmos que hacen una barrida mayor al subespaciosubespacio dedeCaracterísticasCaracterísticas•• SSonon algoritmos que hacen una barrida mayor alalgoritmos que hacen una barrida mayor al subespaciosubespacio dedeposibles soluciones válidasposibles soluciones válidas..•• AA diferencia de los otros algoritmos, cuya convergencia ydiferencia de los otros algoritmos, cuya convergencia yresultado final son fuertemente dependientes de la posiciónresultado final son fuertemente dependientes de la posicióninicial,inicial, la convergencia del algoritmola convergencia del algoritmo genéticogenético es poco sensiblees poco sensiblea la población iniciala la población inicial si esta se escoge de forma aleatoria y es losi esta se escoge de forma aleatoria y es losuficientemente grande.suficientemente grande.7Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  8. 8. •• Por su grado de penetración casi nulo, la curva dePor su grado de penetración casi nulo, la curva deconvergencia asociada al algoritmo presenta unaconvergencia asociada al algoritmo presenta una convergenciaconvergenciaexcepcionalmente rápida al principioexcepcionalmente rápida al principio, que casi enseguida se, que casi enseguida sebloquea. Esto de debe a que el algoritmo genético es excelentebloquea. Esto de debe a que el algoritmo genético es excelentedescartandodescartando sub espaciossub espacios realmente malos.realmente malos.CaracterísticasCaracterísticasdescartandodescartando sub espaciossub espacios realmente malos.realmente malos.•• La optimizaciónLa optimización es función de la representación de los datoses función de la representación de los datos..•• Es unaEs una búsqueda pbúsqueda pparamétricamenteparamétricamente robustarobusta. Esto quiere. Esto quieredecir quedecir que sólo si sesólo si se escoge realmente mal los parámetros delescoge realmente mal los parámetros delalgoritmoalgoritmo, éste no va a converger, éste no va a converger..8Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  9. 9. • Trabajan con un conjunto de parámetros codificadosy no con los parámetros mismos.• Inician la búsqueda desde un conjunto de puntos, node uno solo.Diferencias con otros métodosDiferencias con otros métodos• Usan una función a optimizar en lugar de la derivadau otro conocimiento adicional.• Usan reglas de transición probabilísticas nodeterminísticas.9Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  10. 10. PROCEDIMIENTO AGtiempo = 0inicializa_población(tiempo)evalúa_población(tiempo)mientras no condición_de_terminaciónAlgoritmo genético básicoAlgoritmo genético básicomientras no condición_de_terminacióntiempo = tiempo + 1construye_población(tiempo) a partir de población(tiempo – 1) usandoselecciónmodifica_población(tiempo) usando operadores genéticosevalúa_población(tiempo)reemplazarfin mientras10Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  11. 11. • Codificación de los parámetros de un problema.• Función de aptitud. Es base para determinar qué individuos(soluciones) tienen mayor o menor probabilidad de sobrevivir.• Criterios de tamaño de población. Balance entre una poblaciónPuntos a considerar en un AG básicoPuntos a considerar en un AG básico• Criterios de tamaño de población. Balance entre una poblaciónmuy pequeña (convergencia a un máximo local) y unapoblación muy grande (mayor utilización de recursoscomputacionales).• Criterio de selección. Los individuos son escogidos de acuerdo asu aptitud. Los más aptos tienen mayor probabilidad decontribuir con una o más copias en la siguiente generación(simulación de la selección natural).11Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  12. 12. Puntos a considerar en un AG básicoPuntos a considerar en un AG básico•• CriterioCriterio de paro.de paro. Normalmente cuando un porcentaje altoNormalmente cuando un porcentaje altode la población converge a un valor. Si con ese valor no sede la población converge a un valor. Si con ese valor no sellega a la medida esperadllega a la medida esperadaa, entonces se toma una pequeña, entonces se toma una pequeñaproporción y se inyectaproporción y se inyecta ””diversidad genética (se generandiversidad genética (se generanaleatoriamente nuevos individuos), o inclusive se reemplazaaleatoriamente nuevos individuos), o inclusive se reemplazacompletamente la población.completamente la población.completamente la población.completamente la población.•• OperadoresOperadores genéticos.genéticos. Los principales son:Los principales son:CruzaCruza (crossover(crossover),),MMutaciónutación,,SelecciónSelección ((algunos autores lo consideran como tal) yalgunos autores lo consideran como tal) yReemplazoReemplazo (aunque existen más).(aunque existen más).12Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  13. 13. Operadores genéticos:Operadores genéticos: SELECCIÓNSELECCIÓNProceso que escoge los miembros de la población que seránutilizados para la reproducción. Su meta es dar másoportunidades de selección a los miembros más aptos de lapoblación.Lo más común es implementar una “ruleta con truco” para elegira los individuos, donde los más aptos tienen una mayor parte enla ruleta, por lo tanto, más probabilidad de ser escogidos.Existen otros métodos como el “torneo” en que dos individuosson elegidos aleatoriamente y se escoge al más apto.13Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  14. 14. Operador queOperador que consisteconsiste en uniren unir de algunade alguna forma losforma loscromosomas de dos padres para formar dos descendientes.cromosomas de dos padres para formar dos descendientes.Lo más sencillo esLo más sencillo es implementarimplementar cruza de un puntocruza de un punto, que toma, que tomados individuosdos individuos y corta sus cromosomas en una posicióny corta sus cromosomas en una posiciónseleccionada al azar, para producir dos segmentos anteriores yseleccionada al azar, para producir dos segmentos anteriores ydos posteriores, los posteriores se intercambian para obtenerdos posteriores, los posteriores se intercambian para obtenerOperadores genéticos:Operadores genéticos: CRUZACRUZAdos posteriores, los posteriores se intercambian para obtenerdos posteriores, los posteriores se intercambian para obtenerdos cromosomas nuevosdos cromosomas nuevos, como se ve en la siguiente figura:, como se ve en la siguiente figura:14Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  15. 15. Se encarga de modificar en forma aleatoria uno o más genesSe encarga de modificar en forma aleatoria uno o más genesdel cromosoma de un descendiente.del cromosoma de un descendiente.La siguiente figura muestra el quinto gen siendo mutado, a loLa siguiente figura muestra el quinto gen siendo mutado, a loque se conoce como “mutación sencilla”:que se conoce como “mutación sencilla”:Operadores genéticos:Operadores genéticos: MUTACIÓNMUTACIÓNque se conoce como “mutación sencilla”:que se conoce como “mutación sencilla”:15Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  16. 16. Es el método por el cual se insertan los hijos en la población,Es el método por el cual se insertan los hijos en la población,por ejemplo mediante la eliminación del individuo más débil opor ejemplo mediante la eliminación del individuo más débil oal azaral azar..Operadores genéticos:Operadores genéticos: REEMPLAZOREEMPLAZO16Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  17. 17. Existen varios paquetes y bibliotecas de algoritmos genéticos en elExisten varios paquetes y bibliotecas de algoritmos genéticos en elmercado, a continuación se presentan algunos:mercado, a continuación se presentan algunos:GAGSGAGSGeneradorGenerador dede aplicacionesaplicaciones basadasbasadas enen algoritmosalgoritmos genéticos,genéticos, escritoescritoenen C++C++.. DesarrolladoDesarrollado porpor elel grupogrupo dede JJ..JJ.. MeleroMelero..DirecciónDirección primariaprimaria:: kalkal--elel..ugrugr..es/gagses/gags..htmlhtmlSOFTWARESOFTWAREDirecciónDirección primariaprimaria:: kalkal--elel..ugrugr..es/gagses/gags..htmlhtmlDirecciónDirección parapara descargardescargar víavía FTPFTP::kalkal--elel..ugrugr..es/GAGS/es/GAGS/..GALIBGALIBBibliotecaBiblioteca dede algoritmosalgoritmos genéticosgenéticos dede MatthewMatthew.. ConjuntoConjunto dede clasesclasesenen C++C++ dede algoritmosalgoritmos genéticosgenéticos..DirecciónDirección primariaprimaria:: lancetlancet..mitmit..edu/edu/gaga//DirecciónDirección parapara descargardescargar víavía FTPFTP::lancetlancet..mitmit..edu/pub/edu/pub/gaga//17Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  18. 18. SOFTWARESOFTWAREGPDATAPara desarrollar algoritmos genéticos en C++.Dirección primaria:cs.ucl.ac.uk/genetic/papers/Dirección para descargar vía FTP:ftp.cs.bham.ac.uk/pub/authors/W.B.Langdon/gp-code/GPJPPBibliotecas de clases para desarrollar algoritmos genéticosen JavaDirección primaria: www.turbopower.com/~ kimk/gpjpp.asp.18Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  19. 19. SOFTWARESOFTWARELIL-GPHerramientas para programación genética en C.Dirección primaria: isl.msu.edu/GA/software/lil-gp/index.htmlDirección para descargar vía FTP: isl.cps.msu.edu/pub/GA/lilgp/Dirección para descargar vía FTP: isl.cps.msu.edu/pub/GA/lilgp/GPsysSistema de programación genética en Java.Dirección primaria: www.cs.ucl.ac.uk/staff/A.Qureshi/gpsys.html.19Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  20. 20. TAREATAREA1. Describir una herramientas para programación genética2. Mostrar la aplicación de una herramienta para PG.PresentaciónPresentación::PresentaciónPresentación::El desarrollo de esta tarea debe colocarse en su Carpeta personaldel Dropbox.PlazoPlazo dede entregaentrega::Viernes: 07/05/16 hasta las 18:30 hrs.20Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  21. 21. Sesión 10. Algoritmos GenéticosSistemas Inteligentes y Redes NeuronalesSistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P. 21

×