SlideShare una empresa de Scribd logo
1 de 56
Descargar para leer sin conexión
Algoritmos Genéticos
y
sus
Aplicaciones
Angel Kuri M.
Centro de Investigación en Computación
Instituto Politécnico Nacional
oct. 2000
Computación Evolutiva
1 Computación Evolutiva
» Algoritmos Genéticos
2 Aplicaciones
2.1 Optimización Numérica
2.2 Asignación de Segmentos en Bases
de Datos Distribuidas
Computación Evolutiva
1. Simulación parcial del proceso de
selección natural
2. No requiere de un modelo matemático
para atacar un problema dado
3. No alcanza resultados óptimos sino
cercanos al óptimo en poco tiempo
Algoritmo Evolutivo.
1. Generar un conjunto de posibles soluciones
2. Evaluar el desempeño del sistema para cada
individuo.
3. Verificar si ya se ha alcanzado algún criterio de
convergencia.
Si: Terminar.
No: Proceder con el paso 4.
4. Seleccionar a los mejores individuos de acuerdo con
su evaluación.
5. Modificar a cada uno de los individuos en base a su
desempeño para obtener un nuevo conjunto de
posibles soluciones.
6. Proceder con el paso 2.
Programa de Ilustración
l El programa que va a ilustrarse forma
parte del libro
l “A Comprehensive Approach to Genetic
Algorithms in Optimization and
Learning”
l El software puede bajarse de
148.204.45.189/galsk/
Ejemplo de Aplicación
l Optimización de una función con
restricciones
» Función no lineal
» Restricciones no lineales
Representación Numérica
Para representar un conjunto de números
puede emplearse un formato de punto
fijo
En él, cada número consta de signo, una
parte entera y una parte decimal
La codificación suele hacerse con código
Gray
Una Corrida de Ejemplo
Ejemplificamos el proceso maximizando
la función
sujeto a las siguientes restricciones
)11cos()32(),( yxsinxyxf −+=
0
0
≥>Π
≥>Π
y
x
Algoritmo Genético
Los individuos de la población inicial no
necesariamente satisfacen las
restricciones impuestas por el
problema.
Si ninguna restricción fuese satisfecha, el
fitness sería de “-1000,000,000”; si se
satisficiera una de las restricciones
sería “-75,000,000”, etc.
Función de Fitness
40 ≤≤ s





×+−
Π≤≤
Π≤≤
−+
=
casootroens
x
x
sixxsinx
xf
)1025(10
0
0
)11cos(32(
)(
79
2
1
211r
en donde s es el número de restricciones satis-
fechas y
Algoritmo Genético
Nótese que, como estamos maximizando,
lo que el algoritmo nos “dice” es que
estas propuestas de solución son muy
malas.
En la tabla que se ilustra a continuación
aparece el número “-25,000,000” que
nos indica que 3 de las 4 restricciones
son satisfechas.
Algoritmo Genético
En la generación 8 aparece el primer
individuo que satisface las 4
restricciones.
Esto induce un fitness aún lejano al
óptimo pero claramente mejor que sus
antecesores.
Como el algoritmo es elitista, siempre
conserva al mejor individuo.
Algoritmo Genético
Para la generación 15 la mayoría de las
soluciones propuestas (individuos) arrojan
fitnesses que satisface las restricciones.
Nótese que el mejor individuo es
considerablemente mejor que en la tabla
anterior y que, a medida que el AG procede,
las soluciones son cada vez más grandes y
cercanas al óptimo.
Algoritmo Genético
En la siguiente figura puede observarse el
fitness del mejor individuo al final de 50
generaciones.
También se muestra el genoma
correspondiente.
Algoritmo Genético
Ahora queremos interpretar los valores da
cada una de las variables contenidas en
el individuo.
Eso se logra como se muestra en la
siguiente figura.
Algoritmo Genético
Al activar el botón “See Variables”,
podemos ver:
a) El máximo fitness reportado
b) Los valores de las variables
Nótese que los valores:
a) Satisfacen las restricciones
b) Maximizan la función
Algoritmo Genético
Aplicaciones
l Segmentación Automática de
Bases de Datos Distribuidas
» Segmentación horizontal
» Segmentación vertical
» Segmentación mixta
Bases de Datos Distribuidas
BDDs
BDDs
BDDs
BDDs
BDDs
BDDs
BDDs
BDDs
l Ejemplificamos los resultados con un
sistema un poco más complejo que el
señalado en las láminas anteriores
l En lo que sigue, el número de “sites” es
3.
BDDs
BDDs
BDDs
BDDs
Conclusiones
l Los algoritmos genéticos son
herramientas de amplia aplicación
l La metodología puede ser generalizada
l Su programación es fácil

Más contenido relacionado

La actualidad más candente

Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo geneticoMarco Gámez
 
Algoritmos GenéTicos
Algoritmos GenéTicosAlgoritmos GenéTicos
Algoritmos GenéTicosESCOM
 
Utp i_ay_se_s10_algoritmo genéticos_
 Utp i_ay_se_s10_algoritmo genéticos_ Utp i_ay_se_s10_algoritmo genéticos_
Utp i_ay_se_s10_algoritmo genéticos_jcbenitezp
 
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
 
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicosTema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicosESCOM
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo geneticoRufino meri?
 
Algotitmos geneticos mundial
Algotitmos geneticos mundialAlgotitmos geneticos mundial
Algotitmos geneticos mundialjhymermartinez
 
computacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronalcomputacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronalRenzo Marrufo Cabanillas
 
Algoritmos genéticos con matlab
Algoritmos genéticos con matlabAlgoritmos genéticos con matlab
Algoritmos genéticos con matlabUNIV OF PERU
 

La actualidad más candente (13)

Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 
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
 
Utp i_ay_se_s10_algoritmo genéticos_
 Utp i_ay_se_s10_algoritmo genéticos_ Utp i_ay_se_s10_algoritmo genéticos_
Utp i_ay_se_s10_algoritmo 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
 
A Geneticos
A GeneticosA Geneticos
A Geneticos
 
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicosTema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Algotitmos geneticos mundial
Algotitmos geneticos mundialAlgotitmos geneticos mundial
Algotitmos geneticos mundial
 
computacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronalcomputacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronal
 
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
 
Algoritmos genéticos con matlab
Algoritmos genéticos con matlabAlgoritmos genéticos con matlab
Algoritmos genéticos con matlab
 

Destacado (12)

Resolviendo problemas con algoritmos geneticos
Resolviendo problemas con algoritmos geneticosResolviendo problemas con algoritmos geneticos
Resolviendo problemas con algoritmos geneticos
 
3 1-Algoritmos Genéticos - Diaz - Lombardo
3 1-Algoritmos Genéticos - Diaz - Lombardo3 1-Algoritmos Genéticos - Diaz - Lombardo
3 1-Algoritmos Genéticos - Diaz - Lombardo
 
Inteligencia Artificial y Sistemas Expertos
Inteligencia Artificial y Sistemas ExpertosInteligencia Artificial y Sistemas Expertos
Inteligencia Artificial y Sistemas Expertos
 
Elementos de un sistema como caja negra
Elementos de un sistema como caja negraElementos de un sistema como caja negra
Elementos de un sistema como caja negra
 
Algoritmos geneticos
Algoritmos geneticosAlgoritmos geneticos
Algoritmos geneticos
 
Inteligência Artificial - Aula15 - Algoritmos Genéticos
Inteligência Artificial - Aula15 - Algoritmos GenéticosInteligência Artificial - Aula15 - Algoritmos Genéticos
Inteligência Artificial - Aula15 - Algoritmos Genéticos
 
Control mecànico de plagas
Control mecànico de plagasControl mecànico de plagas
Control mecànico de plagas
 
Control etológico de plagas
Control etológico de plagasControl etológico de plagas
Control etológico de plagas
 
Caja negra!!
Caja negra!!Caja negra!!
Caja negra!!
 
Pruebas de caja blanca y negra
Pruebas  de caja blanca y negraPruebas  de caja blanca y negra
Pruebas de caja blanca y negra
 
Caja negra (ejemplos)...
Caja negra (ejemplos)...Caja negra (ejemplos)...
Caja negra (ejemplos)...
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blanca
 

Similar a Algoritmos genéticos y sus aplicaciones - S.O.

Analisis y diseño de algoritmo
Analisis y diseño de algoritmoAnalisis y diseño de algoritmo
Analisis y diseño de algoritmoJose Lluberes
 
Xpin algoritmos genéticos
Xpin   algoritmos genéticosXpin   algoritmos genéticos
Xpin algoritmos genéticosprofesorgavit0
 
Programación Lineal
Programación LinealProgramación Lineal
Programación LinealAlex
 
Programación Lineal
Programación LinealProgramación Lineal
Programación LinealAlex
 
Programación Lineal
Programación LinealProgramación Lineal
Programación LinealAlex
 
Ejercicios avanzados en dinámica de sistemas juan martín garcía
Ejercicios avanzados en dinámica de sistemas   juan martín garcíaEjercicios avanzados en dinámica de sistemas   juan martín garcía
Ejercicios avanzados en dinámica de sistemas juan martín garcíaEmmanuelASessaregoDv
 
Programación Lineal
Programación LinealProgramación Lineal
Programación LinealAlex
 
Metodologia para el analisis y planteamiento del problema
Metodologia para el analisis y planteamiento del problemaMetodologia para el analisis y planteamiento del problema
Metodologia para el analisis y planteamiento del problemayenmary
 
Trabajo algoritmo genetico uba
Trabajo algoritmo genetico uba Trabajo algoritmo genetico uba
Trabajo algoritmo genetico uba yucci2323
 
Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)luzenith_g
 
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
 
Tema 5 construccion algoritmos EDA 1.pdf
Tema 5 construccion algoritmos EDA 1.pdfTema 5 construccion algoritmos EDA 1.pdf
Tema 5 construccion algoritmos EDA 1.pdfMartyfotos3fotos3
 

Similar a Algoritmos genéticos y sus aplicaciones - S.O. (20)

Ag (2005 verano)
Ag (2005 verano)Ag (2005 verano)
Ag (2005 verano)
 
ALGORITMO GENETICO - II.pptx
ALGORITMO GENETICO - II.pptxALGORITMO GENETICO - II.pptx
ALGORITMO GENETICO - II.pptx
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
 
Analisis y diseño de algoritmo
Analisis y diseño de algoritmoAnalisis y diseño de algoritmo
Analisis y diseño de algoritmo
 
Algoritmos genéticos
Algoritmos genéticosAlgoritmos genéticos
Algoritmos genéticos
 
Estructuras_F_CAT
Estructuras_F_CATEstructuras_F_CAT
Estructuras_F_CAT
 
Xpin algoritmos genéticos
Xpin   algoritmos genéticosXpin   algoritmos genéticos
Xpin algoritmos genéticos
 
Programación Lineal
Programación LinealProgramación Lineal
Programación Lineal
 
Programación Lineal
Programación LinealProgramación Lineal
Programación Lineal
 
Programación Lineal
Programación LinealProgramación Lineal
Programación Lineal
 
Ejercicios avanzados en dinámica de sistemas juan martín garcía
Ejercicios avanzados en dinámica de sistemas   juan martín garcíaEjercicios avanzados en dinámica de sistemas   juan martín garcía
Ejercicios avanzados en dinámica de sistemas juan martín garcía
 
Programación Lineal
Programación LinealProgramación Lineal
Programación Lineal
 
ALGORITMO GENETICO - I.pptx
ALGORITMO GENETICO - I.pptxALGORITMO GENETICO - I.pptx
ALGORITMO GENETICO - I.pptx
 
Metodologia para el analisis y planteamiento del problema
Metodologia para el analisis y planteamiento del problemaMetodologia para el analisis y planteamiento del problema
Metodologia para el analisis y planteamiento del problema
 
Teoria optimizacion
Teoria optimizacionTeoria optimizacion
Teoria optimizacion
 
Trabajo algoritmo genetico uba
Trabajo algoritmo genetico uba Trabajo algoritmo genetico uba
Trabajo algoritmo genetico uba
 
Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)
 
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
 
Algoritmo simplex-para-imprimir
Algoritmo simplex-para-imprimirAlgoritmo simplex-para-imprimir
Algoritmo simplex-para-imprimir
 
Tema 5 construccion algoritmos EDA 1.pdf
Tema 5 construccion algoritmos EDA 1.pdfTema 5 construccion algoritmos EDA 1.pdf
Tema 5 construccion algoritmos EDA 1.pdf
 

Algoritmos genéticos y sus aplicaciones - S.O.

  • 2. Angel Kuri M. Centro de Investigación en Computación Instituto Politécnico Nacional oct. 2000
  • 3. Computación Evolutiva 1 Computación Evolutiva » Algoritmos Genéticos 2 Aplicaciones 2.1 Optimización Numérica 2.2 Asignación de Segmentos en Bases de Datos Distribuidas
  • 4. Computación Evolutiva 1. Simulación parcial del proceso de selección natural 2. No requiere de un modelo matemático para atacar un problema dado 3. No alcanza resultados óptimos sino cercanos al óptimo en poco tiempo
  • 5. Algoritmo Evolutivo. 1. Generar un conjunto de posibles soluciones 2. Evaluar el desempeño del sistema para cada individuo. 3. Verificar si ya se ha alcanzado algún criterio de convergencia. Si: Terminar. No: Proceder con el paso 4. 4. Seleccionar a los mejores individuos de acuerdo con su evaluación. 5. Modificar a cada uno de los individuos en base a su desempeño para obtener un nuevo conjunto de posibles soluciones. 6. Proceder con el paso 2.
  • 6. Programa de Ilustración l El programa que va a ilustrarse forma parte del libro l “A Comprehensive Approach to Genetic Algorithms in Optimization and Learning” l El software puede bajarse de 148.204.45.189/galsk/
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18. Ejemplo de Aplicación l Optimización de una función con restricciones » Función no lineal » Restricciones no lineales
  • 19. Representación Numérica Para representar un conjunto de números puede emplearse un formato de punto fijo En él, cada número consta de signo, una parte entera y una parte decimal La codificación suele hacerse con código Gray
  • 20.
  • 21. Una Corrida de Ejemplo Ejemplificamos el proceso maximizando la función sujeto a las siguientes restricciones )11cos()32(),( yxsinxyxf −+= 0 0 ≥>Π ≥>Π y x
  • 22.
  • 23.
  • 24.
  • 25. Algoritmo Genético Los individuos de la población inicial no necesariamente satisfacen las restricciones impuestas por el problema. Si ninguna restricción fuese satisfecha, el fitness sería de “-1000,000,000”; si se satisficiera una de las restricciones sería “-75,000,000”, etc.
  • 26. Función de Fitness 40 ≤≤ s      ×+− Π≤≤ Π≤≤ −+ = casootroens x x sixxsinx xf )1025(10 0 0 )11cos(32( )( 79 2 1 211r en donde s es el número de restricciones satis- fechas y
  • 27. Algoritmo Genético Nótese que, como estamos maximizando, lo que el algoritmo nos “dice” es que estas propuestas de solución son muy malas. En la tabla que se ilustra a continuación aparece el número “-25,000,000” que nos indica que 3 de las 4 restricciones son satisfechas.
  • 28.
  • 29. Algoritmo Genético En la generación 8 aparece el primer individuo que satisface las 4 restricciones. Esto induce un fitness aún lejano al óptimo pero claramente mejor que sus antecesores. Como el algoritmo es elitista, siempre conserva al mejor individuo.
  • 30.
  • 31. Algoritmo Genético Para la generación 15 la mayoría de las soluciones propuestas (individuos) arrojan fitnesses que satisface las restricciones. Nótese que el mejor individuo es considerablemente mejor que en la tabla anterior y que, a medida que el AG procede, las soluciones son cada vez más grandes y cercanas al óptimo.
  • 32.
  • 33.
  • 34.
  • 35. Algoritmo Genético En la siguiente figura puede observarse el fitness del mejor individuo al final de 50 generaciones. También se muestra el genoma correspondiente.
  • 36.
  • 37. Algoritmo Genético Ahora queremos interpretar los valores da cada una de las variables contenidas en el individuo. Eso se logra como se muestra en la siguiente figura.
  • 38.
  • 39. Algoritmo Genético Al activar el botón “See Variables”, podemos ver: a) El máximo fitness reportado b) Los valores de las variables Nótese que los valores: a) Satisfacen las restricciones b) Maximizan la función
  • 41. Aplicaciones l Segmentación Automática de Bases de Datos Distribuidas » Segmentación horizontal » Segmentación vertical » Segmentación mixta
  • 42. Bases de Datos Distribuidas
  • 43. BDDs
  • 44. BDDs
  • 45. BDDs
  • 46.
  • 47. BDDs
  • 48. BDDs
  • 49. BDDs
  • 50. BDDs
  • 51. BDDs l Ejemplificamos los resultados con un sistema un poco más complejo que el señalado en las láminas anteriores l En lo que sigue, el número de “sites” es 3.
  • 52. BDDs
  • 53. BDDs
  • 54. BDDs
  • 55. BDDs
  • 56. Conclusiones l Los algoritmos genéticos son herramientas de amplia aplicación l La metodología puede ser generalizada l Su programación es fácil