Está en la página 1de 56

Algoritmos Genticos y sus Aplicaciones

Angel Kuri M. Centro de Investigacin en Computacin Instituto Politcnico Nacional oct. 2000

Computacin Evolutiva
1 Computacin Evolutiva Algoritmos Genticos 2 Aplicaciones 2.1 Optimizacin Numrica 2.2 Asignacin de Segmentos en Bases de Datos Distribuidas

Computacin Evolutiva
1. Simulacin parcial del proceso de seleccin natural 2. No requiere de un modelo matemtico 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 desempeo del sistema para cada individuo. 3. Verificar si ya se ha alcanzado algn criterio de convergencia. Si: Terminar. No: Proceder con el paso 4. 4. Seleccionar a los mejores individuos de acuerdo con su evaluacin. 5. Modificar a cada uno de los individuos en base a su desempeo para obtener un nuevo conjunto de posibles soluciones. 6. Proceder con el paso 2.

Programa de Ilustracin
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/
l

Ejemplo de Aplicacin
l Optimizacin

de una funcin con restricciones

Funcin no lineal Restricciones no lineales

Representacin Numrica
Para representar un conjunto de nmeros puede emplearse un formato de punto fijo En l, cada nmero consta de signo, una parte entera y una parte decimal La codificacin suele hacerse con cdigo Gray

Una Corrida de Ejemplo


Ejemplificamos el proceso maximizando la funcin

f ( x, y ) = x + sin(32 x) cos(11 y )
sujeto a las siguientes restricciones

>x0 > y0

Algoritmo Gentico
Los individuos de la poblacin inicial no necesariamente satisfacen las restricciones impuestas por el problema. Si ninguna restriccin fuese satisfecha, el fitness sera de -1000,000,000; si se satisficiera una de las restricciones sera -75,000,000, etc.

Funcin de Fitness
0 x1 r x1 + sin(32 x1 cos(11x2 ) si f ( x) = 0 x2 109 + (25 107 ) s en otro caso

en donde s es el nmero de restricciones satisfechas y 0 s 4

Algoritmo Gentico
Ntese que, como estamos maximizando, lo que el algoritmo nos dice es que estas propuestas de solucin son muy malas. En la tabla que se ilustra a continuacin aparece el nmero -25,000,000 que nos indica que 3 de las 4 restricciones son satisfechas.

Algoritmo Gentico
En la generacin 8 aparece el primer individuo que satisface las 4 restricciones. Esto induce un fitness an lejano al ptimo pero claramente mejor que sus antecesores. Como el algoritmo es elitista, siempre conserva al mejor individuo.

Algoritmo Gentico
Para la generacin 15 la mayora de las soluciones propuestas (individuos) arrojan fitnesses que satisface las restricciones. Ntese 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 ms grandes y cercanas al ptimo.

Algoritmo Gentico
En la siguiente figura puede observarse el fitness del mejor individuo al final de 50 generaciones. Tambin se muestra el genoma correspondiente.

Algoritmo Gentico
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 Gentico
Al activar el botn See Variables, podemos ver: a) El mximo fitness reportado b) Los valores de las variables Ntese que los valores: a) Satisfacen las restricciones b) Maximizan la funcin

Algoritmo Gentico

Aplicaciones
l Segmentacin

Automtica de Bases de Datos Distribuidas

Segmentacin horizontal Segmentacin vertical Segmentacin mixta

Bases de Datos Distribuidas

BDDs

BDDs

BDDs

BDDs

BDDs

BDDs

BDDs

BDDs
Ejemplificamos los resultados con un sistema un poco ms complejo que el sealado en las lminas anteriores l En lo que sigue, el nmero de sites es 3.
l

BDDs

BDDs

BDDs

BDDs

Conclusiones
Los algoritmos genticos son herramientas de amplia aplicacin l La metodologa puede ser generalizada l Su programacin es fcil
l

También podría gustarte