56
Algoritmos Genéticos y sus Aplicaciones

Algoritmos genéticos y sus aplicaciones - S.O

Embed Size (px)

Citation preview

Page 1: Algoritmos genéticos y sus aplicaciones - S.O

Algoritmos Genéticosy

susAplicaciones

Page 2: Algoritmos genéticos y sus aplicaciones - S.O

Angel Kuri M.Centro de Investigación en Computación

Instituto Politécnico Nacional

oct. 2000

Page 3: Algoritmos genéticos y sus aplicaciones - S.O

Computación Evolutiva

1 Computación Evolutiva» Algoritmos Genéticos

2 Aplicaciones2.1 Optimización Numérica

2.2 Asignación de Segmentos en Basesde Datos Distribuidas

Page 4: Algoritmos genéticos y sus aplicaciones - S.O

Computación Evolutiva

1. Simulación parcial del proceso deselección natural

2. No requiere de un modelo matemáticopara atacar un problema dado

3. No alcanza resultados óptimos sinocercanos al óptimo en poco tiempo

Page 5: Algoritmos genéticos y sus aplicaciones - S.O

Algoritmo Evolutivo.

1. Generar un conjunto de posibles soluciones2. 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 consu evaluación.

5. Modificar a cada uno de los individuos en base a sudesempeño para obtener un nuevo conjunto deposibles soluciones.

6. Proceder con el paso 2.

Page 6: Algoritmos genéticos y sus aplicaciones - S.O

Programa de Ilustración

l El programa que va a ilustrarse formaparte del libro

l “A Comprehensive Approach to GeneticAlgorithms in Optimization andLearning”

l El software puede bajarse de148.204.45.189/galsk/

Page 7: Algoritmos genéticos y sus aplicaciones - S.O
Page 8: Algoritmos genéticos y sus aplicaciones - S.O
Page 9: Algoritmos genéticos y sus aplicaciones - S.O
Page 10: Algoritmos genéticos y sus aplicaciones - S.O
Page 11: Algoritmos genéticos y sus aplicaciones - S.O
Page 12: Algoritmos genéticos y sus aplicaciones - S.O
Page 13: Algoritmos genéticos y sus aplicaciones - S.O
Page 14: Algoritmos genéticos y sus aplicaciones - S.O
Page 15: Algoritmos genéticos y sus aplicaciones - S.O
Page 16: Algoritmos genéticos y sus aplicaciones - S.O
Page 17: Algoritmos genéticos y sus aplicaciones - S.O
Page 18: Algoritmos genéticos y sus aplicaciones - S.O

Ejemplo de Aplicación

l Optimización de una función conrestricciones

» Función no lineal» Restricciones no lineales

Page 19: Algoritmos genéticos y sus aplicaciones - S.O

Representación Numérica

Para representar un conjunto de númerospuede emplearse un formato de puntofijo

En él, cada número consta de signo, unaparte entera y una parte decimal

La codificación suele hacerse con códigoGray

Page 20: Algoritmos genéticos y sus aplicaciones - S.O
Page 21: Algoritmos genéticos y sus aplicaciones - S.O

Una Corrida de Ejemplo

Ejemplificamos el proceso maximizandola función

sujeto a las siguientes restricciones

)11cos()32(),( yxsinxyxf −+=

0

0

≥>Π≥>Π

y

x

Page 22: Algoritmos genéticos y sus aplicaciones - S.O
Page 23: Algoritmos genéticos y sus aplicaciones - S.O
Page 24: Algoritmos genéticos y sus aplicaciones - S.O
Page 25: Algoritmos genéticos y sus aplicaciones - S.O

Algoritmo Genético

Los individuos de la población inicial nonecesariamente satisfacen lasrestricciones impuestas por elproblema.

Si ninguna restricción fuese satisfecha, elfitness sería de “-1000,000,000”; si sesatisficiera una de las restriccionessería “-75,000,000”, etc.

Page 26: Algoritmos genéticos y sus aplicaciones - S.O

Función de Fitness

40 ≤≤ s

×+−Π≤≤Π≤≤

−+=

casootroensx

xsixxsinx

xf

)1025(100

0)11cos(32(

)(79

2

1211r

en donde s es el número de restricciones satis-fechas y

Page 27: Algoritmos genéticos y sus aplicaciones - S.O

Algoritmo Genético

Nótese que, como estamos maximizando,lo que el algoritmo nos “dice” es queestas propuestas de solución son muymalas.

En la tabla que se ilustra a continuaciónaparece el número “-25,000,000” quenos indica que 3 de las 4 restriccionesson satisfechas.

Page 28: Algoritmos genéticos y sus aplicaciones - S.O
Page 29: Algoritmos genéticos y sus aplicaciones - S.O

Algoritmo Genético

En la generación 8 aparece el primerindividuo que satisface las 4restricciones.

Esto induce un fitness aún lejano alóptimo pero claramente mejor que susantecesores.

Como el algoritmo es elitista, siempreconserva al mejor individuo.

Page 30: Algoritmos genéticos y sus aplicaciones - S.O
Page 31: Algoritmos genéticos y sus aplicaciones - S.O

Algoritmo Genético

Para la generación 15 la mayoría de lassoluciones propuestas (individuos) arrojanfitnesses que satisface las restricciones.

Nótese que el mejor individuo esconsiderablemente mejor que en la tablaanterior y que, a medida que el AG procede,las soluciones son cada vez más grandes ycercanas al óptimo.

Page 32: Algoritmos genéticos y sus aplicaciones - S.O
Page 33: Algoritmos genéticos y sus aplicaciones - S.O
Page 34: Algoritmos genéticos y sus aplicaciones - S.O
Page 35: Algoritmos genéticos y sus aplicaciones - S.O

Algoritmo Genético

En la siguiente figura puede observarse elfitness del mejor individuo al final de 50generaciones.

También se muestra el genomacorrespondiente.

Page 36: Algoritmos genéticos y sus aplicaciones - S.O
Page 37: Algoritmos genéticos y sus aplicaciones - S.O

Algoritmo Genético

Ahora queremos interpretar los valores dacada una de las variables contenidas enel individuo.

Eso se logra como se muestra en lasiguiente figura.

Page 38: Algoritmos genéticos y sus aplicaciones - S.O
Page 39: Algoritmos genéticos y sus aplicaciones - S.O

Algoritmo Genético

Al activar el botón “See Variables”,podemos ver:a) El máximo fitness reportadob) Los valores de las variables

Nótese que los valores:a) Satisfacen las restriccionesb) Maximizan la función

Page 40: Algoritmos genéticos y sus aplicaciones - S.O

Algoritmo Genético

Page 41: Algoritmos genéticos y sus aplicaciones - S.O

Aplicaciones

l Segmentación Automática deBases de Datos Distribuidas

» Segmentación horizontal» Segmentación vertical» Segmentación mixta

Page 42: Algoritmos genéticos y sus aplicaciones - S.O

Bases de Datos Distribuidas

Page 43: Algoritmos genéticos y sus aplicaciones - S.O

BDDs

Page 44: Algoritmos genéticos y sus aplicaciones - S.O

BDDs

Page 45: Algoritmos genéticos y sus aplicaciones - S.O

BDDs

Page 46: Algoritmos genéticos y sus aplicaciones - S.O
Page 47: Algoritmos genéticos y sus aplicaciones - S.O

BDDs

Page 48: Algoritmos genéticos y sus aplicaciones - S.O

BDDs

Page 49: Algoritmos genéticos y sus aplicaciones - S.O

BDDs

Page 50: Algoritmos genéticos y sus aplicaciones - S.O

BDDs

Page 51: Algoritmos genéticos y sus aplicaciones - S.O

BDDs

l Ejemplificamos los resultados con unsistema un poco más complejo que elseñalado en las láminas anteriores

l En lo que sigue, el número de “sites” es3.

Page 52: Algoritmos genéticos y sus aplicaciones - S.O

BDDs

Page 53: Algoritmos genéticos y sus aplicaciones - S.O

BDDs

Page 54: Algoritmos genéticos y sus aplicaciones - S.O

BDDs

Page 55: Algoritmos genéticos y sus aplicaciones - S.O

BDDs

Page 56: Algoritmos genéticos y sus aplicaciones - S.O

Conclusiones

l Los algoritmos genéticos sonherramientas de amplia aplicación

l La metodología puede ser generalizadal Su programación es fácil