SlideShare une entreprise Scribd logo
1  sur  21
Sistemas Inteligentes
y Redes Neuronales
(SI01)
Ing. José C. Benítez P.
(versión original de José L. Calderón O.)
(SI01)
Algoritmos Genéticos
Sesión 10
Sesión 10. Temas
Algoritmos Genéticos
Antecedentes históricosAntecedentes históricos
DefinicionesDefiniciones
Descripción generalDescripción general
CaracterísticasCaracterísticas
Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P. 2
CaracterísticasCaracterísticas
Diferencias con otros métodosDiferencias con otros métodos
Algoritmo genético básicoAlgoritmo genético básico
Puntos a considerar en un AG básicoPuntos a considerar en un AG básico
OperadoresOperadores genéticosgenéticos
SoftwareSoftware
•• Su nombre se deriva porque que están basados en modelosSu nombre se deriva porque que están basados en modelos
de 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 natural
y supervivenciay supervivencia, postulados por Darwin en su libro, postulados por Darwin en su libro El origenEl origen
de las especiesde las especies publicado en 1859.publicado en 1859.
Antecedentes históricosAntecedentes históricos
de 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 la
evolució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.
•• LosLos AG puede verse como una familia deAG puede verse como una familia de
procedimientos 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 mediante
procesos de búsqueda.procesos de búsqueda.
DefinicionesDefiniciones
procesos de búsqueda.procesos de búsqueda.
•• ElEl AlgoritmoAlgoritmo GenéticoGenético es un proceso de cómputo quees un proceso de cómputo que
emula 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.
•• La idea básica esLa idea básica es generargenerar un conjunto con algunas de lasun conjunto con algunas de las
posibles soluciones. Cada PS va a ser llamadaposibles soluciones. Cada PS va a ser llamada individuoindividuo, y a, y a
dicho 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. TieneTiene
asociada unaasociada una función de adaptaciónfunción de adaptación queque determina el gradodetermina el grado
Descripción generalDescripción general
asociada unaasociada una función de adaptaciónfunción de adaptación queque determina el gradodetermina el grado
de adaptación de un individuo. A dicha información se lde adaptación de un individuo. A dicha información se lee
denominadenomina 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, se
van a denominarvan a denominar fenotiposfenotipos. La información asociada a un. La información asociada a un
individuo se compone de partes indivisibles denominadosindividuo se compone de partes indivisibles denominados
cromosomascromosomas..
5Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
•• Un fenotipo puede estar en más de un cromosoma, en cuyoUn fenotipo puede estar en más de un cromosoma, en cuyo
caso 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 ni
el 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 y
parte 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.
•• SonSon algoritmos estocásticosalgoritmos estocásticos, es decir, d, es decir, dos ejecuciones distintasos ejecuciones distintas
pueden 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 varias
soluciones.soluciones.
•• SSonon algoritmos que hacen una barrida mayor alalgoritmos que hacen una barrida mayor al subespaciosubespacio dede
CaracterísticasCaracterísticas
•• SSonon algoritmos que hacen una barrida mayor alalgoritmos que hacen una barrida mayor al subespaciosubespacio dede
posibles soluciones válidasposibles soluciones válidas..
•• AA diferencia de los otros algoritmos, cuya convergencia ydiferencia de los otros algoritmos, cuya convergencia y
resultado final son fuertemente dependientes de la posiciónresultado final son fuertemente dependientes de la posición
inicial,inicial, la convergencia del algoritmola convergencia del algoritmo genéticogenético es poco sensiblees poco sensible
a 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 lo
suficientemente grande.suficientemente grande.
7Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
•• Por su grado de penetración casi nulo, la curva dePor su grado de penetración casi nulo, la curva de
convergencia asociada al algoritmo presenta unaconvergencia asociada al algoritmo presenta una convergenciaconvergencia
excepcionalmente rápida al principioexcepcionalmente rápida al principio, que casi enseguida se, que casi enseguida se
bloquea. Esto de debe a que el algoritmo genético es excelentebloquea. Esto de debe a que el algoritmo genético es excelente
descartandodescartando sub espaciossub espacios realmente malos.realmente malos.
CaracterísticasCaracterísticas
descartandodescartando 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 quiere
decir quedecir que sólo si sesólo si se escoge realmente mal los parámetros delescoge realmente mal los parámetros del
algoritmoalgoritmo, éste no va a converger, éste no va a converger..
8Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
• 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.
Diferencias con otros métodosDiferencias con otros métodos
• 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.
9Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
PROCEDIMIENTO AG
tiempo = 0
inicializa_población(tiempo)
evalúa_población(tiempo)
mientras no condición_de_terminación
Algoritmo genético básicoAlgoritmo genético básico
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
10Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
• 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
Puntos 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ó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).
11Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
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 alto
de 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 se
llega a la medida esperadllega a la medida esperadaa, entonces se toma una pequeña, entonces se toma una pequeña
proporción y se inyectaproporción y se inyecta ””diversidad genética'' (se generandiversidad genética'' (se generan
aleatoriamente nuevos individuos), o inclusive se reemplazaaleatoriamente nuevos individuos), o inclusive se reemplaza
completamente 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) y
ReemplazoReemplazo (aunque existen más).(aunque existen más).
12Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
Operadores genéticos:Operadores genéticos: SELECCIÓNSELECCIÓ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.
13Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
Operador queOperador que consisteconsiste en uniren unir de algunade alguna forma losforma los
cromosomas 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 toma
dos individuosdos individuos y corta sus cromosomas en una posicióny corta sus cromosomas en una posición
seleccionada al azar, para producir dos segmentos anteriores yseleccionada al azar, para producir dos segmentos anteriores y
dos posteriores, los posteriores se intercambian para obtenerdos posteriores, los posteriores se intercambian para obtener
Operadores genéticos:Operadores genéticos: CRUZACRUZA
dos posteriores, los posteriores se intercambian para obtenerdos posteriores, los posteriores se intercambian para obtener
dos 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.
Se encarga de modificar en forma aleatoria uno o más genesSe encarga de modificar en forma aleatoria uno o más genes
del 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 lo
que se conoce como “mutación sencilla”:que se conoce como “mutación sencilla”:
Operadores genéticos:Operadores genéticos: MUTACIÓNMUTACIÓN
que 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.
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 o
al azaral azar..
Operadores genéticos:Operadores genéticos: REEMPLAZOREEMPLAZO
16Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
Existen varios paquetes y bibliotecas de algoritmos genéticos en elExisten varios paquetes y bibliotecas de algoritmos genéticos en el
mercado, a continuación se presentan algunos:mercado, a continuación se presentan algunos:
GAGSGAGS
GeneradorGenerador dede aplicacionesaplicaciones basadasbasadas enen algoritmosalgoritmos genéticos,genéticos, escritoescrito
enen C++C++.. DesarrolladoDesarrollado porpor elel grupogrupo dede JJ..JJ.. MeleroMelero..
DirecciónDirección primariaprimaria:: kalkal--elel..ugrugr..es/gagses/gags..htmlhtml
SOFTWARESOFTWARE
DirecciónDirección primariaprimaria:: kalkal--elel..ugrugr..es/gagses/gags..htmlhtml
DirecciónDirección parapara descargardescargar víavía FTPFTP::kalkal--elel..ugrugr..es/GAGS/es/GAGS/..
GALIBGALIB
BibliotecaBiblioteca dede algoritmosalgoritmos genéticosgenéticos dede MatthewMatthew.. ConjuntoConjunto dede clasesclases
enen 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.
SOFTWARESOFTWARE
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.
18Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
SOFTWARESOFTWARE
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/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.
19Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
TAREATAREA
1. Describir una herramientas para programación genética
2. 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 personal
del 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.
Sesión 10. Algoritmos Genéticos
Sistemas Inteligentes y Redes Neuronales
Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P. 21

Contenu connexe

Similaire à Utp sirn_s10_algoritmo genéticos

Algoritmos Geneticos - Teoria.pdf
Algoritmos Geneticos - Teoria.pdfAlgoritmos Geneticos - Teoria.pdf
Algoritmos Geneticos - Teoria.pdfCastañeda Samanamu
 
Algoritmo Genético
Algoritmo GenéticoAlgoritmo Genético
Algoritmo Genéticoandreaac2014
 
Unl articulo cientifico-1
Unl articulo cientifico-1Unl articulo cientifico-1
Unl articulo cientifico-1andreaac2014
 
Algoritmos GenéTicos
Algoritmos GenéTicosAlgoritmos GenéTicos
Algoritmos GenéTicosESCOM
 
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
 
computacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronalcomputacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronalRenzo Marrufo Cabanillas
 
Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5UNEFA
 
Trabajo+completo+de+inteligencia+algoritmo+genetico
Trabajo+completo+de+inteligencia+algoritmo+geneticoTrabajo+completo+de+inteligencia+algoritmo+genetico
Trabajo+completo+de+inteligencia+algoritmo+geneticoRufino meri?
 
Introducción a la inteligencia artificial
Introducción a la inteligencia artificialIntroducción a la inteligencia artificial
Introducción a la inteligencia artificialPaula Cordero Moreno
 

Similaire à Utp sirn_s10_algoritmo genéticos (20)

Algoritmos Geneticos - Teoria.pdf
Algoritmos Geneticos - Teoria.pdfAlgoritmos Geneticos - Teoria.pdf
Algoritmos Geneticos - Teoria.pdf
 
Algoritmo Genético
Algoritmo GenéticoAlgoritmo Genético
Algoritmo Genético
 
Unl articulo cientifico-1
Unl articulo cientifico-1Unl articulo cientifico-1
Unl articulo cientifico-1
 
9. bioinformatica bases de datos.
9. bioinformatica bases de datos.9. bioinformatica bases de datos.
9. bioinformatica bases de datos.
 
Algoritmos Genéticos (1).pptx
Algoritmos Genéticos (1).pptxAlgoritmos Genéticos (1).pptx
Algoritmos Genéticos (1).pptx
 
Confiac
 Confiac Confiac
Confiac
 
Algoritmo genético presentacion
Algoritmo genético presentacionAlgoritmo genético presentacion
Algoritmo genético presentacion
 
Jgap algritmos geneticosss
Jgap  algritmos geneticosssJgap  algritmos geneticosss
Jgap algritmos geneticosss
 
Algoritmos GenéTicos
Algoritmos GenéTicosAlgoritmos GenéTicos
Algoritmos GenéTicos
 
Trabajo algoritmo genetico uba
Trabajo algoritmo genetico uba Trabajo algoritmo genetico uba
Trabajo algoritmo genetico uba
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 
computacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronalcomputacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronal
 
Algoritmos evolutivos
Algoritmos evolutivosAlgoritmos evolutivos
Algoritmos evolutivos
 
Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5
 
Trabajo+completo+de+inteligencia+algoritmo+genetico
Trabajo+completo+de+inteligencia+algoritmo+geneticoTrabajo+completo+de+inteligencia+algoritmo+genetico
Trabajo+completo+de+inteligencia+algoritmo+genetico
 
GENETICA
GENETICAGENETICA
GENETICA
 
Inteligencia Artificial.pdf
Inteligencia Artificial.pdfInteligencia Artificial.pdf
Inteligencia Artificial.pdf
 
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
 
Proyecto final
Proyecto finalProyecto final
Proyecto final
 
Introducción a la inteligencia artificial
Introducción a la inteligencia artificialIntroducción a la inteligencia artificial
Introducción a la inteligencia artificial
 

Plus 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 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 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
 
Utp ia_s1_introduccion ia
 Utp ia_s1_introduccion ia Utp ia_s1_introduccion ia
Utp ia_s1_introduccion iajcbenitezp
 
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_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
 

Plus 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 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 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
 
Utp ia_s1_introduccion ia
 Utp ia_s1_introduccion ia Utp ia_s1_introduccion ia
Utp ia_s1_introduccion ia
 
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_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
 

Utp sirn_s10_algoritmo genéticos

  • 1. Sistemas Inteligentes y Redes Neuronales (SI01) Ing. José C. Benítez P. (versión original de José L. Calderón O.) (SI01) Algoritmos Genéticos Sesión 10
  • 2. Sesión 10. Temas Algoritmos Genéticos Antecedentes históricosAntecedentes históricos DefinicionesDefiniciones Descripción generalDescripción general CaracterísticasCaracterísticas Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P. 2 CaracterísticasCaracterísticas Diferencias con otros métodosDiferencias con otros métodos Algoritmo genético básicoAlgoritmo genético básico Puntos a considerar en un AG básicoPuntos a considerar en un AG básico OperadoresOperadores genéticosgenéticos SoftwareSoftware
  • 3. •• Su nombre se deriva porque que están basados en modelosSu nombre se deriva porque que están basados en modelos de 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 natural y supervivenciay supervivencia, postulados por Darwin en su libro, postulados por Darwin en su libro El origenEl origen de las especiesde las especies publicado en 1859.publicado en 1859. Antecedentes históricosAntecedentes históricos de 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 la evolució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. •• LosLos AG puede verse como una familia deAG puede verse como una familia de procedimientos 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 mediante procesos de búsqueda.procesos de búsqueda. DefinicionesDefiniciones procesos de búsqueda.procesos de búsqueda. •• ElEl AlgoritmoAlgoritmo GenéticoGenético es un proceso de cómputo quees un proceso de cómputo que emula 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. •• La idea básica esLa idea básica es generargenerar un conjunto con algunas de lasun conjunto con algunas de las posibles soluciones. Cada PS va a ser llamadaposibles soluciones. Cada PS va a ser llamada individuoindividuo, y a, y a dicho 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. TieneTiene asociada unaasociada una función de adaptaciónfunción de adaptación queque determina el gradodetermina el grado Descripción generalDescripción general asociada unaasociada una función de adaptaciónfunción de adaptación queque determina el gradodetermina el grado de adaptación de un individuo. A dicha información se lde adaptación de un individuo. A dicha información se lee denominadenomina 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, se van a denominarvan a denominar fenotiposfenotipos. La información asociada a un. La información asociada a un individuo se compone de partes indivisibles denominadosindividuo se compone de partes indivisibles denominados cromosomascromosomas.. 5Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  • 6. •• Un fenotipo puede estar en más de un cromosoma, en cuyoUn fenotipo puede estar en más de un cromosoma, en cuyo caso 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 ni el 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 y parte 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. •• SonSon algoritmos estocásticosalgoritmos estocásticos, es decir, d, es decir, dos ejecuciones distintasos ejecuciones distintas pueden 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 varias soluciones.soluciones. •• SSonon algoritmos que hacen una barrida mayor alalgoritmos que hacen una barrida mayor al subespaciosubespacio dede CaracterísticasCaracterísticas •• SSonon algoritmos que hacen una barrida mayor alalgoritmos que hacen una barrida mayor al subespaciosubespacio dede posibles soluciones válidasposibles soluciones válidas.. •• AA diferencia de los otros algoritmos, cuya convergencia ydiferencia de los otros algoritmos, cuya convergencia y resultado final son fuertemente dependientes de la posiciónresultado final son fuertemente dependientes de la posición inicial,inicial, la convergencia del algoritmola convergencia del algoritmo genéticogenético es poco sensiblees poco sensible a 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 lo suficientemente grande.suficientemente grande. 7Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  • 8. •• Por su grado de penetración casi nulo, la curva dePor su grado de penetración casi nulo, la curva de convergencia asociada al algoritmo presenta unaconvergencia asociada al algoritmo presenta una convergenciaconvergencia excepcionalmente rápida al principioexcepcionalmente rápida al principio, que casi enseguida se, que casi enseguida se bloquea. Esto de debe a que el algoritmo genético es excelentebloquea. Esto de debe a que el algoritmo genético es excelente descartandodescartando sub espaciossub espacios realmente malos.realmente malos. CaracterísticasCaracterísticas descartandodescartando 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 quiere decir quedecir que sólo si sesólo si se escoge realmente mal los parámetros delescoge realmente mal los parámetros del algoritmoalgoritmo, éste no va a converger, éste no va a converger.. 8Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  • 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. Diferencias con otros métodosDiferencias con otros métodos • 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. 9Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  • 10. PROCEDIMIENTO AG tiempo = 0 inicializa_población(tiempo) evalúa_población(tiempo) mientras no condición_de_terminación Algoritmo genético básicoAlgoritmo genético básico 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 10Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  • 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 Puntos 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ó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). 11Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  • 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 alto de 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 se llega a la medida esperadllega a la medida esperadaa, entonces se toma una pequeña, entonces se toma una pequeña proporción y se inyectaproporción y se inyecta ””diversidad genética'' (se generandiversidad genética'' (se generan aleatoriamente nuevos individuos), o inclusive se reemplazaaleatoriamente nuevos individuos), o inclusive se reemplaza completamente 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) y ReemplazoReemplazo (aunque existen más).(aunque existen más). 12Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  • 13. Operadores genéticos:Operadores genéticos: SELECCIÓNSELECCIÓ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. 13Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  • 14. Operador queOperador que consisteconsiste en uniren unir de algunade alguna forma losforma los cromosomas 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 toma dos individuosdos individuos y corta sus cromosomas en una posicióny corta sus cromosomas en una posición seleccionada al azar, para producir dos segmentos anteriores yseleccionada al azar, para producir dos segmentos anteriores y dos posteriores, los posteriores se intercambian para obtenerdos posteriores, los posteriores se intercambian para obtener Operadores genéticos:Operadores genéticos: CRUZACRUZA dos posteriores, los posteriores se intercambian para obtenerdos posteriores, los posteriores se intercambian para obtener dos 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. Se encarga de modificar en forma aleatoria uno o más genesSe encarga de modificar en forma aleatoria uno o más genes del 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 lo que se conoce como “mutación sencilla”:que se conoce como “mutación sencilla”: Operadores genéticos:Operadores genéticos: MUTACIÓNMUTACIÓN que 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. 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 o al azaral azar.. Operadores genéticos:Operadores genéticos: REEMPLAZOREEMPLAZO 16Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  • 17. Existen varios paquetes y bibliotecas de algoritmos genéticos en elExisten varios paquetes y bibliotecas de algoritmos genéticos en el mercado, a continuación se presentan algunos:mercado, a continuación se presentan algunos: GAGSGAGS GeneradorGenerador dede aplicacionesaplicaciones basadasbasadas enen algoritmosalgoritmos genéticos,genéticos, escritoescrito enen C++C++.. DesarrolladoDesarrollado porpor elel grupogrupo dede JJ..JJ.. MeleroMelero.. DirecciónDirección primariaprimaria:: kalkal--elel..ugrugr..es/gagses/gags..htmlhtml SOFTWARESOFTWARE DirecciónDirección primariaprimaria:: kalkal--elel..ugrugr..es/gagses/gags..htmlhtml DirecciónDirección parapara descargardescargar víavía FTPFTP::kalkal--elel..ugrugr..es/GAGS/es/GAGS/.. GALIBGALIB BibliotecaBiblioteca dede algoritmosalgoritmos genéticosgenéticos dede MatthewMatthew.. ConjuntoConjunto dede clasesclases enen 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. SOFTWARESOFTWARE 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. 18Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  • 19. SOFTWARESOFTWARE 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/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. 19Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P.
  • 20. TAREATAREA 1. Describir una herramientas para programación genética 2. 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 personal del 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. Sesión 10. Algoritmos Genéticos Sistemas Inteligentes y Redes Neuronales Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P. 21