SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Ing. José C. Benítez P.
(basado en Algoritmos Genéticos (Calderón, 2009))
Inteligencia Artificial y Sistemas Expertos
(CT12)
Algoritmos Genéticos
Sesión 10
Sesión 10. Temas
Algoritmos Genéticos
Antecedentes históricos
Definiciones
Descripción general
Características
Diferencias con otros métodos
Algoritmo genético básico
Puntos a considerar en un AG básico
Operadores genéticos
Software
• Su nombre se deriva porque que están basados en modelos
de cambio genético en una población de individuos.
• Tienen como fundamento los principios de selección 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 semántica de la
evolución natural a procesos de optimización, surgiendo así
los principios de esta técnica.
• Se encuentran bien descritos en textos de Goldberg, Davis,
Michalewicz y Reeves.
Antecedentes históricos
• Los AG puede verse como una familia de
procedimientos de búsqueda adaptativos.
• Los AG son un método de optimización mediante
procesos de búsqueda.
• El Algoritmo Genético es un proceso de cómputo que
emula la forma de actuar de la evolución biológica.
Definiciones
• La idea básica es generar un conjunto con algunas de las
posibles soluciones. Cada PS va a ser llamada individuo, y a
dicho conjunto se le denominará población.
• Cada individuo tiene una información asociada a él. Tiene
asociada una función de adaptación que determina el grado
de adaptación de un individuo. A dicha información se le
denomina código genético.
• Las características de los individuos, sean beneficiosas o no, se
van a denominar fenotipos. La información asociada a un
individuo se compone de partes indivisibles denominados
cromosomas.
Descripción general
• Un fenotipo puede estar en más de un cromosoma, en cuyo
caso puede ser que el hijo herede un fenotipo que no tenía ni
el padre ni la madre, sino una combinación 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 característica nueva asociada a ese fenotipo.
Descripción general
• Son algoritmos estocásticos, es decir, dos ejecuciones distintas
pueden dar dos soluciones distintas.
• Son algoritmos de búsqueda múltiple, luego dan varias
soluciones.
• Son algoritmos que hacen una barrida mayor al subespacio de
posibles soluciones válidas.
• A diferencia de los otros algoritmos, cuya convergencia y
resultado final son fuertemente dependientes de la posición
inicial, la convergencia del algoritmo genético es poco sensible
a la población inicial si esta se escoge de forma aleatoria y es lo
suficientemente grande.
Características
• Por su grado de penetración casi nulo, la curva de
convergencia asociada al algoritmo presenta una convergencia
excepcionalmente rápida al principio, que casi enseguida se
bloquea. Esto de debe a que el algoritmo genético es excelente
descartando sub espacios realmente malos.
• La optimización es función de la representación de los datos.
• Es una búsqueda pparamétricamente robusta. Esto quiere
decir que sólo si se escoge realmente mal los parámetros del
algoritmo, éste no va a converger.
Características
• Trabajan con un conjunto de parámetros codificados
y no con los parámetros mismos.
• Inician la búsqueda desde un conjunto de puntos, no
de uno solo.
• Usan una función a optimizar en lugar de la derivada
u otro conocimiento adicional.
• Usan reglas de transición probabilísticas no
determinísticas.
Diferencias con otros métodos
PROCEDIMIENTO AG
tiempo = 0
inicializa_población(tiempo)
evalúa_población(tiempo)
mientras no condición_de_terminación
tiempo = tiempo + 1
construye_población(tiempo) a partir de población(tiempo – 1) usando
selección
modifica_población(tiempo) usando operadores genéticos
evalúa_población(tiempo)
reemplazar
fin mientras
Algoritmo genético básico
• 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ón
muy pequeña (convergencia a un máximo local) y una
población muy grande (mayor utilización de recursos
computacionales).
• Criterio de selección. Los individuos son escogidos de acuerdo a
su aptitud. Los más aptos tienen mayor probabilidad de
contribuir con una o más copias en la siguiente generación
(simulación de la selección natural).
Puntos a considerar en un AG básico
Puntos a considerar en un AG básico
• Criterio de paro. Normalmente cuando un porcentaje alto
de la población converge a un valor. Si con ese valor no se
llega a la medida esperada, entonces se toma una pequeña
proporción y se inyecta ”diversidad genética'' (se generan
aleatoriamente nuevos individuos), o inclusive se reemplaza
completamente la población.
• Operadores genéticos. Los principales son:
Cruza (crossover),
Mutación,
Selección (algunos autores lo consideran como tal) y
Reemplazo (aunque existen más).
Operadores genéticos: SELECCIÓN
Proceso que escoge los miembros de la población que serán
utilizados para la reproducción. Su meta es dar más
oportunidades de selección a los miembros más aptos de la
población.
Lo más común es implementar una “ruleta con truco” para elegir
a los individuos, donde los más aptos tienen una mayor parte en
la ruleta, por lo tanto, más probabilidad de ser escogidos.
Existen otros métodos como el “torneo” en que dos individuos
son elegidos aleatoriamente y se escoge al más apto.
Operador que consiste en unir de alguna forma los
cromosomas de dos padres para formar dos descendientes.
Lo más sencillo es implementar cruza de un punto, que toma
dos individuos y corta sus cromosomas en una posición
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 genéticos: CRUZA
Se encarga de modificar en forma aleatoria uno o más genes
del cromosoma de un descendiente.
La siguiente figura muestra el quinto gen siendo mutado, a lo
que se conoce como “mutación sencilla”:
Operadores genéticos: MUTACIÓ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 o
al azar.
Operadores genéticos: REEMPLAZO
Existen varios paquetes y bibliotecas de algoritmos genéticos en el
mercado, a continuación se presentan algunos:
GAGS
Generador de aplicaciones basadas en algoritmos genéticos, escrito
en C++. Desarrollado por el grupo de J.J. Melero.
Dirección primaria: kal-el.ugr.es/gags.html
Dirección para descargar vía FTP:kal-el.ugr.es/GAGS/.
GALIB
Biblioteca de algoritmos genéticos de Matthew. Conjunto de clases
en C++ de algoritmos genéticos.
Dirección primaria: lancet.mit.edu/ga/
Dirección para descargar vía FTP:lancet.mit.edu/pub/ga/
SOFTWARE
SOFTWARE
GPDATA
Para 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/
GPJPP
Bibliotecas de clases para desarrollar algoritmos genéticos
en Java
Dirección primaria: www.turbopower.com/~ kimk/gpjpp.asp.
SOFTWARE
LIL-GP
Herramientas para programación genética en C.
Dirección primaria: isl.msu.edu/GA/software/lil-gp/index.html
Dirección para descargar vía FTP: isl.cps.msu.edu/pub/GA/lilgp/
GPsys
Sistema de programación genética en Java.
Dirección primaria: www.cs.ucl.ac.uk/staff/A.Qureshi/gpsys.html.
TAREA
1. Describir una herramientas para programación genética
2. Mostrar la aplicación de una herramienta para PG.
Presentación:
El desarrollo de esta tarea debe presentarse impreso y además
debe colocarse una copia en su Carpeta personal del Dropbox.
Plazo de entrega:
En la última sesión de aprendizaje.
Sesión 10. Algoritmos Genéticos
Inteligencia Artificial y Sistemas Expertos
http://utpiayse.blogspot.com

Más contenido relacionado

La actualidad más candente

10 DiseñO Con Algoritmos GenéTicos
10 DiseñO Con Algoritmos GenéTicos10 DiseñO Con Algoritmos GenéTicos
10 DiseñO Con Algoritmos GenéTicosESCOM
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo geneticoMarco Gámez
 
Algoritmos geneticos
Algoritmos geneticosAlgoritmos geneticos
Algoritmos geneticosRené Godinez
 
Algoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin PresentacinAlgoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin Presentacinguest2f5cf8
 
Algoritmos GenéTicos
Algoritmos GenéTicosAlgoritmos GenéTicos
Algoritmos GenéTicosESCOM
 
5 herramienta aprendizaje algoritmos geneticos entorno matlab
5 herramienta aprendizaje algoritmos geneticos entorno matlab5 herramienta aprendizaje algoritmos geneticos entorno matlab
5 herramienta aprendizaje algoritmos geneticos entorno matlabMaje Gonzalez
 
Algoritmos Genéticos_Inteligencia Artificial
Algoritmos Genéticos_Inteligencia ArtificialAlgoritmos Genéticos_Inteligencia Artificial
Algoritmos Genéticos_Inteligencia ArtificialGabriela_Rodriguez
 
Algotitmos geneticos mundial
Algotitmos geneticos mundialAlgotitmos geneticos mundial
Algotitmos geneticos mundialjhymermartinez
 

La actualidad más candente (13)

A Geneticos
A GeneticosA Geneticos
A Geneticos
 
10 DiseñO Con Algoritmos GenéTicos
10 DiseñO Con Algoritmos GenéTicos10 DiseñO Con Algoritmos GenéTicos
10 DiseñO Con Algoritmos GenéTicos
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 
Algoritmos geneticos
Algoritmos geneticosAlgoritmos geneticos
Algoritmos geneticos
 
A Geneticos
A GeneticosA Geneticos
A Geneticos
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Algoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin PresentacinAlgoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin Presentacin
 
Algoritmos GenéTicos
Algoritmos GenéTicosAlgoritmos GenéTicos
Algoritmos GenéTicos
 
Desarollo de sofware con algoritmos genéticos
Desarollo de sofware con algoritmos genéticosDesarollo de sofware con algoritmos genéticos
Desarollo de sofware con algoritmos genéticos
 
5 herramienta aprendizaje algoritmos geneticos entorno matlab
5 herramienta aprendizaje algoritmos geneticos entorno matlab5 herramienta aprendizaje algoritmos geneticos entorno matlab
5 herramienta aprendizaje algoritmos geneticos entorno matlab
 
Algoritmos Genéticos_Inteligencia Artificial
Algoritmos Genéticos_Inteligencia ArtificialAlgoritmos Genéticos_Inteligencia Artificial
Algoritmos Genéticos_Inteligencia Artificial
 
Ag (2005 verano)
Ag (2005 verano)Ag (2005 verano)
Ag (2005 verano)
 
Algotitmos geneticos mundial
Algotitmos geneticos mundialAlgotitmos geneticos mundial
Algotitmos geneticos mundial
 

Destacado

Utp sirn_s10_algoritmo genéticos
 Utp sirn_s10_algoritmo genéticos Utp sirn_s10_algoritmo genéticos
Utp sirn_s10_algoritmo genéticosjcbenitezp
 
electrónica industrial
electrónica industrial electrónica industrial
electrónica industrial Marc Llanos
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2jcbenitezp
 
Utp lpi_s6y7_funciones y variables 2012-2
 Utp lpi_s6y7_funciones y variables 2012-2 Utp lpi_s6y7_funciones y variables 2012-2
Utp lpi_s6y7_funciones y variables 2012-2jcbenitezp
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje clocke23
 
Utp i_ay_se_sistemas difusos i 2013-3
 Utp i_ay_se_sistemas difusos i 2013-3 Utp i_ay_se_sistemas difusos i 2013-3
Utp i_ay_se_sistemas difusos i 2013-3jcbenitezp
 
Utp 2015-2_sirn_s7_r_competitivas
 Utp 2015-2_sirn_s7_r_competitivas Utp 2015-2_sirn_s7_r_competitivas
Utp 2015-2_sirn_s7_r_competitivasjcbenitezp
 
Utp ia_s1_introduccion ia
 Utp ia_s1_introduccion ia Utp ia_s1_introduccion ia
Utp ia_s1_introduccion iajcbenitezp
 
Presentacion libro Fundamentos del SEO en Pamplona
Presentacion libro Fundamentos del SEO en PamplonaPresentacion libro Fundamentos del SEO en Pamplona
Presentacion libro Fundamentos del SEO en PamplonaCarlos Pes
 
Utp sirn_sl8 sistemas difusos i 2013-3
 Utp sirn_sl8 sistemas difusos i 2013-3 Utp sirn_sl8 sistemas difusos i 2013-3
Utp sirn_sl8 sistemas difusos i 2013-3jcbenitezp
 
Lenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - MemoriaLenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - Memoriasirfids
 
Medios,modelos y estilos de aprendizaje jaime romero
Medios,modelos y estilos de aprendizaje jaime romeroMedios,modelos y estilos de aprendizaje jaime romero
Medios,modelos y estilos de aprendizaje jaime romeroJaime David Romero Olivo
 
Lenguaje C para Administradores de Red - Script I
Lenguaje C para Administradores de Red - Script ILenguaje C para Administradores de Red - Script I
Lenguaje C para Administradores de Red - Script Isirfids
 
Utp 2015-2_sirn_s6_adaline y backpropagation
 Utp 2015-2_sirn_s6_adaline y backpropagation Utp 2015-2_sirn_s6_adaline y backpropagation
Utp 2015-2_sirn_s6_adaline y backpropagationjcbenitezp
 
Generalidades del SEO
Generalidades del SEOGeneralidades del SEO
Generalidades del SEOCarlos Pes
 
Capitulo 10 Introduccion a los diagramas de flujo
Capitulo 10 Introduccion a los diagramas de flujoCapitulo 10 Introduccion a los diagramas de flujo
Capitulo 10 Introduccion a los diagramas de flujoCarlos Pes
 
Introducción a los tipos de datos
Introducción a los tipos de datosIntroducción a los tipos de datos
Introducción a los tipos de datosCarlos Pes
 

Destacado (20)

Utp sirn_s10_algoritmo genéticos
 Utp sirn_s10_algoritmo genéticos Utp sirn_s10_algoritmo genéticos
Utp sirn_s10_algoritmo genéticos
 
electrónica industrial
electrónica industrial electrónica industrial
electrónica industrial
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
 
Curso c
Curso cCurso c
Curso c
 
Utp lpi_s6y7_funciones y variables 2012-2
 Utp lpi_s6y7_funciones y variables 2012-2 Utp lpi_s6y7_funciones y variables 2012-2
Utp lpi_s6y7_funciones y variables 2012-2
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Utp i_ay_se_sistemas difusos i 2013-3
 Utp i_ay_se_sistemas difusos i 2013-3 Utp i_ay_se_sistemas difusos i 2013-3
Utp i_ay_se_sistemas difusos i 2013-3
 
Utp 2015-2_sirn_s7_r_competitivas
 Utp 2015-2_sirn_s7_r_competitivas Utp 2015-2_sirn_s7_r_competitivas
Utp 2015-2_sirn_s7_r_competitivas
 
Logica Juridica
Logica JuridicaLogica Juridica
Logica Juridica
 
Utp ia_s1_introduccion ia
 Utp ia_s1_introduccion ia Utp ia_s1_introduccion ia
Utp ia_s1_introduccion ia
 
Presentacion libro Fundamentos del SEO en Pamplona
Presentacion libro Fundamentos del SEO en PamplonaPresentacion libro Fundamentos del SEO en Pamplona
Presentacion libro Fundamentos del SEO en Pamplona
 
Utp sirn_sl8 sistemas difusos i 2013-3
 Utp sirn_sl8 sistemas difusos i 2013-3 Utp sirn_sl8 sistemas difusos i 2013-3
Utp sirn_sl8 sistemas difusos i 2013-3
 
Lenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - MemoriaLenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - Memoria
 
Medios,modelos y estilos de aprendizaje jaime romero
Medios,modelos y estilos de aprendizaje jaime romeroMedios,modelos y estilos de aprendizaje jaime romero
Medios,modelos y estilos de aprendizaje jaime romero
 
Lenguaje C para Administradores de Red - Script I
Lenguaje C para Administradores de Red - Script ILenguaje C para Administradores de Red - Script I
Lenguaje C para Administradores de Red - Script I
 
Utp 2015-2_sirn_s6_adaline y backpropagation
 Utp 2015-2_sirn_s6_adaline y backpropagation Utp 2015-2_sirn_s6_adaline y backpropagation
Utp 2015-2_sirn_s6_adaline y backpropagation
 
Generalidades del SEO
Generalidades del SEOGeneralidades del SEO
Generalidades del SEO
 
Capitulo 10 Introduccion a los diagramas de flujo
Capitulo 10 Introduccion a los diagramas de flujoCapitulo 10 Introduccion a los diagramas de flujo
Capitulo 10 Introduccion a los diagramas de flujo
 
Introducción a los tipos de datos
Introducción a los tipos de datosIntroducción a los tipos de datos
Introducción a los tipos de datos
 
Funciones en Lenguaje C
Funciones en Lenguaje CFunciones en Lenguaje C
Funciones en Lenguaje C
 

Similar a Utp i_ay_se_s10_algoritmo genéticos_

Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5UNEFA
 
Trabajo algoritmo genetico uba
Trabajo algoritmo genetico uba Trabajo algoritmo genetico uba
Trabajo algoritmo genetico uba yucci2323
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo geneticoVane Erraez
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo geneticoRufino meri?
 
Anatomía de un algoritmo genético en jenes
Anatomía de un algoritmo genético en jenesAnatomía de un algoritmo genético en jenes
Anatomía de un algoritmo genético en jenesLuis Dimas Azocar
 
Algoritmos Geneticos - Teoria.pdf
Algoritmos Geneticos - Teoria.pdfAlgoritmos Geneticos - Teoria.pdf
Algoritmos Geneticos - Teoria.pdfCastañeda Samanamu
 
Xpin algoritmos genéticos
Xpin   algoritmos genéticosXpin   algoritmos genéticos
Xpin algoritmos genéticosprofesorgavit0
 
Artículo predicción mundial 2014 algoritmos geneticos
Artículo predicción mundial 2014   algoritmos geneticosArtículo predicción mundial 2014   algoritmos geneticos
Artículo predicción mundial 2014 algoritmos geneticosRichar León
 
Algoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin PresentacinAlgoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin PresentacinHamilton
 
Trabajo+completo+de+inteligencia+algoritmo+genetico
Trabajo+completo+de+inteligencia+algoritmo+geneticoTrabajo+completo+de+inteligencia+algoritmo+genetico
Trabajo+completo+de+inteligencia+algoritmo+geneticoRufino meri?
 

Similar a Utp i_ay_se_s10_algoritmo genéticos_ (20)

ALGORITMO GENETICO - II.pptx
ALGORITMO GENETICO - II.pptxALGORITMO GENETICO - II.pptx
ALGORITMO GENETICO - II.pptx
 
Algoritmos Genéticos (1).pptx
Algoritmos Genéticos (1).pptxAlgoritmos Genéticos (1).pptx
Algoritmos Genéticos (1).pptx
 
Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5
 
Trabajo algoritmo genetico uba
Trabajo algoritmo genetico uba Trabajo algoritmo genetico uba
Trabajo algoritmo genetico uba
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 
Algoritmos genéticos 2 s lun 30 sep-13
Algoritmos genéticos 2 s lun 30 sep-13Algoritmos genéticos 2 s lun 30 sep-13
Algoritmos genéticos 2 s lun 30 sep-13
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 
Anatomía de un algoritmo genético en jenes
Anatomía de un algoritmo genético en jenesAnatomía de un algoritmo genético en jenes
Anatomía de un algoritmo genético en jenes
 
Algoritmos Geneticos - Teoria.pdf
Algoritmos Geneticos - Teoria.pdfAlgoritmos Geneticos - Teoria.pdf
Algoritmos Geneticos - Teoria.pdf
 
Xpin algoritmos genéticos
Xpin   algoritmos genéticosXpin   algoritmos genéticos
Xpin algoritmos genéticos
 
Algoritmos evolutivos
Algoritmos evolutivosAlgoritmos evolutivos
Algoritmos evolutivos
 
Artículo predicción mundial 2014 algoritmos geneticos
Artículo predicción mundial 2014   algoritmos geneticosArtículo predicción mundial 2014   algoritmos geneticos
Artículo predicción mundial 2014 algoritmos geneticos
 
Algoritmo genetico1
Algoritmo genetico1Algoritmo genetico1
Algoritmo genetico1
 
Algoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin PresentacinAlgoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin Presentacin
 
Trabajo+completo+de+inteligencia+algoritmo+genetico
Trabajo+completo+de+inteligencia+algoritmo+geneticoTrabajo+completo+de+inteligencia+algoritmo+genetico
Trabajo+completo+de+inteligencia+algoritmo+genetico
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 

Más de jcbenitezp

Cap4 jc benitez
Cap4 jc benitezCap4 jc benitez
Cap4 jc benitezjcbenitezp
 
Tarea 1 tesis i filosofia y conocimiento
Tarea 1 tesis i filosofia y conocimientoTarea 1 tesis i filosofia y conocimiento
Tarea 1 tesis i filosofia y conocimientojcbenitezp
 
It526 2017 2 ep
It526 2017 2 epIt526 2017 2 ep
It526 2017 2 epjcbenitezp
 
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 g
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 gUni rdsi 2016 1 sesion 13-14 redes moviles 4 g
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 gjcbenitezp
 
Uni rdsi 2016 1 sesion 12 redes moviles 3 g
Uni rdsi 2016 1 sesion 12 redes moviles 3 gUni rdsi 2016 1 sesion 12 redes moviles 3 g
Uni rdsi 2016 1 sesion 12 redes moviles 3 gjcbenitezp
 
It526 2015 2 pc3
It526 2015 2 pc3 It526 2015 2 pc3
It526 2015 2 pc3 jcbenitezp
 
Calendario academico 2015 02 g
Calendario academico 2015   02 gCalendario academico 2015   02 g
Calendario academico 2015 02 gjcbenitezp
 
Db vsa-011 registro de asistencia docente ago2015
Db vsa-011 registro de asistencia docente  ago2015Db vsa-011 registro de asistencia docente  ago2015
Db vsa-011 registro de asistencia docente ago2015jcbenitezp
 
Utp 2015-2_pdi_lab3
 Utp 2015-2_pdi_lab3 Utp 2015-2_pdi_lab3
Utp 2015-2_pdi_lab3jcbenitezp
 
Utp sirn_2015-2 lab3
 Utp sirn_2015-2 lab3 Utp sirn_2015-2 lab3
Utp sirn_2015-2 lab3jcbenitezp
 
Pdi paterno m_lab2c
Pdi paterno m_lab2cPdi paterno m_lab2c
Pdi paterno m_lab2cjcbenitezp
 
Utp 2015-2_sirn_s7_r_competitivas
 Utp 2015-2_sirn_s7_r_competitivas Utp 2015-2_sirn_s7_r_competitivas
Utp 2015-2_sirn_s7_r_competitivasjcbenitezp
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2jcbenitezp
 
Utp sirn_2014-1 lab1
 Utp sirn_2014-1 lab1 Utp sirn_2014-1 lab1
Utp sirn_2014-1 lab1jcbenitezp
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2jcbenitezp
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificialjcbenitezp
 
W0 i9 inteligenciaartificial
W0 i9 inteligenciaartificialW0 i9 inteligenciaartificial
W0 i9 inteligenciaartificialjcbenitezp
 
Wi0 a sistemasinteligentesyredesneuronales
Wi0 a sistemasinteligentesyredesneuronalesWi0 a sistemasinteligentesyredesneuronales
Wi0 a sistemasinteligentesyredesneuronalesjcbenitezp
 

Más de jcbenitezp (20)

Cap4 jc benitez
Cap4 jc benitezCap4 jc benitez
Cap4 jc benitez
 
Tarea 1 tesis i filosofia y conocimiento
Tarea 1 tesis i filosofia y conocimientoTarea 1 tesis i filosofia y conocimiento
Tarea 1 tesis i filosofia y conocimiento
 
It526 2017 2 ep
It526 2017 2 epIt526 2017 2 ep
It526 2017 2 ep
 
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 g
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 gUni rdsi 2016 1 sesion 13-14 redes moviles 4 g
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 g
 
Uni rdsi 2016 1 sesion 12 redes moviles 3 g
Uni rdsi 2016 1 sesion 12 redes moviles 3 gUni rdsi 2016 1 sesion 12 redes moviles 3 g
Uni rdsi 2016 1 sesion 12 redes moviles 3 g
 
It526 2015 2 pc3
It526 2015 2 pc3 It526 2015 2 pc3
It526 2015 2 pc3
 
Calendario academico 2015 02 g
Calendario academico 2015   02 gCalendario academico 2015   02 g
Calendario academico 2015 02 g
 
Db vsa-011 registro de asistencia docente ago2015
Db vsa-011 registro de asistencia docente  ago2015Db vsa-011 registro de asistencia docente  ago2015
Db vsa-011 registro de asistencia docente ago2015
 
Utp 2015-2_pdi_lab3
 Utp 2015-2_pdi_lab3 Utp 2015-2_pdi_lab3
Utp 2015-2_pdi_lab3
 
Utp sirn_2015-2 lab3
 Utp sirn_2015-2 lab3 Utp sirn_2015-2 lab3
Utp sirn_2015-2 lab3
 
Pdi paterno m_lab2c
Pdi paterno m_lab2cPdi paterno m_lab2c
Pdi paterno m_lab2c
 
Utp 2015-2_sirn_s7_r_competitivas
 Utp 2015-2_sirn_s7_r_competitivas Utp 2015-2_sirn_s7_r_competitivas
Utp 2015-2_sirn_s7_r_competitivas
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
 
Utp sirn_2014-1 lab1
 Utp sirn_2014-1 lab1 Utp sirn_2014-1 lab1
Utp sirn_2014-1 lab1
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 
W0 i9 inteligenciaartificial
W0 i9 inteligenciaartificialW0 i9 inteligenciaartificial
W0 i9 inteligenciaartificial
 
Wi0 a sistemasinteligentesyredesneuronales
Wi0 a sistemasinteligentesyredesneuronalesWi0 a sistemasinteligentesyredesneuronales
Wi0 a sistemasinteligentesyredesneuronales
 
4 g
4 g4 g
4 g
 
Article005
Article005Article005
Article005
 

Utp i_ay_se_s10_algoritmo genéticos_

  • 1. Ing. José C. Benítez P. (basado en Algoritmos Genéticos (Calderón, 2009)) Inteligencia Artificial y Sistemas Expertos (CT12) Algoritmos Genéticos Sesión 10
  • 2. Sesión 10. Temas Algoritmos Genéticos Antecedentes históricos Definiciones Descripción general Características Diferencias con otros métodos Algoritmo genético básico Puntos a considerar en un AG básico Operadores genéticos Software
  • 3. • Su nombre se deriva porque que están basados en modelos de cambio genético en una población de individuos. • Tienen como fundamento los principios de selección 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 semántica de la evolución natural a procesos de optimización, surgiendo así los principios de esta técnica. • Se encuentran bien descritos en textos de Goldberg, Davis, Michalewicz y Reeves. Antecedentes históricos
  • 4. • Los AG puede verse como una familia de procedimientos de búsqueda adaptativos. • Los AG son un método de optimización mediante procesos de búsqueda. • El Algoritmo Genético es un proceso de cómputo que emula la forma de actuar de la evolución biológica. Definiciones
  • 5. • La idea básica es generar un conjunto con algunas de las posibles soluciones. Cada PS va a ser llamada individuo, y a dicho conjunto se le denominará población. • Cada individuo tiene una información asociada a él. Tiene asociada una función de adaptación que determina el grado de adaptación de un individuo. A dicha información se le denomina código genético. • Las características de los individuos, sean beneficiosas o no, se van a denominar fenotipos. La información asociada a un individuo se compone de partes indivisibles denominados cromosomas. Descripción general
  • 6. • Un fenotipo puede estar en más de un cromosoma, en cuyo caso puede ser que el hijo herede un fenotipo que no tenía ni el padre ni la madre, sino una combinación 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 característica nueva asociada a ese fenotipo. Descripción general
  • 7. • Son algoritmos estocásticos, es decir, dos ejecuciones distintas pueden dar dos soluciones distintas. • Son algoritmos de búsqueda múltiple, luego dan varias soluciones. • Son algoritmos que hacen una barrida mayor al subespacio de posibles soluciones válidas. • A diferencia de los otros algoritmos, cuya convergencia y resultado final son fuertemente dependientes de la posición inicial, la convergencia del algoritmo genético es poco sensible a la población inicial si esta se escoge de forma aleatoria y es lo suficientemente grande. Características
  • 8. • Por su grado de penetración casi nulo, la curva de convergencia asociada al algoritmo presenta una convergencia excepcionalmente rápida al principio, que casi enseguida se bloquea. Esto de debe a que el algoritmo genético es excelente descartando sub espacios realmente malos. • La optimización es función de la representación de los datos. • Es una búsqueda pparamétricamente robusta. Esto quiere decir que sólo si se escoge realmente mal los parámetros del algoritmo, éste no va a converger. Características
  • 9. • Trabajan con un conjunto de parámetros codificados y no con los parámetros mismos. • Inician la búsqueda desde un conjunto de puntos, no de uno solo. • Usan una función a optimizar en lugar de la derivada u otro conocimiento adicional. • Usan reglas de transición probabilísticas no determinísticas. Diferencias con otros métodos
  • 10. PROCEDIMIENTO AG tiempo = 0 inicializa_población(tiempo) evalúa_población(tiempo) mientras no condición_de_terminación tiempo = tiempo + 1 construye_población(tiempo) a partir de población(tiempo – 1) usando selección modifica_población(tiempo) usando operadores genéticos evalúa_población(tiempo) reemplazar fin mientras Algoritmo genético básico
  • 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ón muy pequeña (convergencia a un máximo local) y una población muy grande (mayor utilización de recursos computacionales). • Criterio de selección. Los individuos son escogidos de acuerdo a su aptitud. Los más aptos tienen mayor probabilidad de contribuir con una o más copias en la siguiente generación (simulación de la selección natural). Puntos a considerar en un AG básico
  • 12. Puntos a considerar en un AG básico • Criterio de paro. Normalmente cuando un porcentaje alto de la población converge a un valor. Si con ese valor no se llega a la medida esperada, entonces se toma una pequeña proporción y se inyecta ”diversidad genética'' (se generan aleatoriamente nuevos individuos), o inclusive se reemplaza completamente la población. • Operadores genéticos. Los principales son: Cruza (crossover), Mutación, Selección (algunos autores lo consideran como tal) y Reemplazo (aunque existen más).
  • 13. Operadores genéticos: SELECCIÓN Proceso que escoge los miembros de la población que serán utilizados para la reproducción. Su meta es dar más oportunidades de selección a los miembros más aptos de la población. Lo más común es implementar una “ruleta con truco” para elegir a los individuos, donde los más aptos tienen una mayor parte en la ruleta, por lo tanto, más probabilidad de ser escogidos. Existen otros métodos como el “torneo” en que dos individuos son elegidos aleatoriamente y se escoge al más apto.
  • 14. Operador que consiste en unir de alguna forma los cromosomas de dos padres para formar dos descendientes. Lo más sencillo es implementar cruza de un punto, que toma dos individuos y corta sus cromosomas en una posición 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 genéticos: CRUZA
  • 15. Se encarga de modificar en forma aleatoria uno o más genes del cromosoma de un descendiente. La siguiente figura muestra el quinto gen siendo mutado, a lo que se conoce como “mutación sencilla”: Operadores genéticos: MUTACIÓN
  • 16. 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 o al azar. Operadores genéticos: REEMPLAZO
  • 17. Existen varios paquetes y bibliotecas de algoritmos genéticos en el mercado, a continuación se presentan algunos: GAGS Generador de aplicaciones basadas en algoritmos genéticos, escrito en C++. Desarrollado por el grupo de J.J. Melero. Dirección primaria: kal-el.ugr.es/gags.html Dirección para descargar vía FTP:kal-el.ugr.es/GAGS/. GALIB Biblioteca de algoritmos genéticos de Matthew. Conjunto de clases en C++ de algoritmos genéticos. Dirección primaria: lancet.mit.edu/ga/ Dirección para descargar vía FTP:lancet.mit.edu/pub/ga/ SOFTWARE
  • 18. SOFTWARE GPDATA Para 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/ GPJPP Bibliotecas de clases para desarrollar algoritmos genéticos en Java Dirección primaria: www.turbopower.com/~ kimk/gpjpp.asp.
  • 19. SOFTWARE LIL-GP Herramientas para programación genética en C. Dirección primaria: isl.msu.edu/GA/software/lil-gp/index.html Dirección para descargar vía FTP: isl.cps.msu.edu/pub/GA/lilgp/ GPsys Sistema de programación genética en Java. Dirección primaria: www.cs.ucl.ac.uk/staff/A.Qureshi/gpsys.html.
  • 20. TAREA 1. Describir una herramientas para programación genética 2. Mostrar la aplicación de una herramienta para PG. Presentación: El desarrollo de esta tarea debe presentarse impreso y además debe colocarse una copia en su Carpeta personal del Dropbox. Plazo de entrega: En la última sesión de aprendizaje.
  • 21. Sesión 10. Algoritmos Genéticos Inteligencia Artificial y Sistemas Expertos http://utpiayse.blogspot.com