Algoritmos Genticos
Junio, 2009
Seminario de Optimizacion
Teora de la evolucin
Charles Darwin, padre de la teora de la evolucin por seleccin natural. Charles Darwin y Alfred Russell Wallace propusieron la seleccin natural como principal mecanismo de la evolucin.
Algoritmos Geneticos
Seminario de Optimizacion
Teora de la evolucin
Algoritmos Geneticos
Un investigador de la Universidad de Michigan llamado John Holland estaba consciente de la importancia de la seleccin natural, y a fines de los 60 desarrollo una tcnica que permiti incorporarla en un programa de computadora.
Algoritmos Genticos
Los Algoritmos Genticos (AG) son mtodos adaptativos que pueden usarse para resolver problemas de bsqueda y optimizacin. Por imitacin del proceso natural, los Algoritmos Genticos son capaces de ir creando soluciones para problemas del mundo real.
Caractersticas
Cada ejecucin del algoritmo puede dar soluciones distintas. Son algoritmos de bsquedas mltiples.
La convergencia del algoritmo es poco sensible a la poblacin inicial si esta se escoge de forma aleatoria y si el tamao es grande.
Iniciar poblacin
Evaluacin Inicial
Seleccin
NO
Cross-over
Condicin salida
SI
Mutacin
Evaluacin
Solucin final
Codificacin
Se supone que los individuos son posibles soluciones del problema los cuales agrupados forman una ristra de valores.
Habitualmente la poblacin inicial se escoge generando ristras al azar, pudiendo contener cada gen uno de los posibles valores del alfabeto con probabilidad uniforme.
Funcin Objetivo
La funcin de adaptacin debe ser diseada para cada problema de manera especifica. La regla general para construir una buena funcin objetivo es que esta debe reflejar el valor del individuo de una manera real. Existe algunos mtodos para establecer primera ser la que podramos denominar absolutista, Funcin Reparador, penalizacin de la funcin objetivo.
Seleccin
Fase de seleccin reproductiva: Seleccionan los individuos de la poblacin para cruzarse La funcin de seleccin de padres mas utilizada es la denominada funcin de seleccin proporcional a la funcin objetivo Muestreo estocstico con reemplazamiento del resto Muestreo universal estocstico Mtodos de seleccin dinmicos Seleccin elitista
Cruzamiento
El operador de cruce, coge dos padres seleccionados y corta sus ristras de cromosomas en una posicin escogida al azar, para producir dos subristras inciales y dos subristras finales
Mutacin
Se aplica a cada hijo de manera individual, y consiste en una alteracin aleatoria llamada evolucin primitiva generalmente constante pero resultados exitosos experimentando al modificar la probabilidad de mutacin a medida que aumenta el numero de iteraciones.
Seminario de Optimizacion
Ejemplos de Aplicacin
Algoritmos Geneticos
14
Valor Codificado
00000 00001 00010 00011 00100 .. 11100 11101 11110 11111
Poblacin Inicial:
Individuo
1 2 1 1 1 1 1 0 1 1 0 1
Valor x
30 27
f(x)
900 729
3
4 5 6
1
1 1 1
0
0 0 0
1
1 0 0
0
1 0 1
1
0 0 1
21
22 16 19 Total
441
484 256 361 3171
1 2 3 4 5 6
6 2 1 4 4 5
1 2 3 4 5 6
1 1 1 1 1 1
0 1 1 0 0 0
0 0 1 1 1 0
1 1 1 1 1 0
1 1 0 0 0 0
Descendientes
3 4
1 1
1 0
1 1
1 1
0 0
5 1 6 1 1 0 0 0 0 1 0 1 0 3
Mutar:
1
1
1 1 1 1 1
2
1
0 1 0 0 0
3
0
1 1 1 0 0
4
1
1 1 1 0 1
5
0
1 0 0 0 1
Gen a mutar
2
4 3 2 5 1
Poblacin Resultante
1 1 1 1 1 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 1 0 0 1 1
Valor x
18 21 26 30 17 3
f(x)
324 441 676 900 289 9
ptimo
2
6 0 3 4 3 1
3
2 3 0 2 8 3
4
1 4 2 0 5 6
5
4 3 8 5 0 9
6
10 1 3 6 9 0
Min(Distancia Recorrida)
Poblacin Inicial:
Distancia Recorrida
Individuo 1
Individuo 2 Individuo 3 Individuo 4 Individuo 5 Individuo 6
2 3 6 6 1 5 3 1 5 1 4 4 6 5 2 4 3 6 4 4 1 3 2 3 1 6 4 2 5 2 5 2 3 5 6 1 17 18 21 19 18 23
Pareja
3 4 6
1
2 3 4 5 6
2
2 3 3 5 5
3
3 1 1 4 4
6
6 5 5 6 6
4
4 4 4 3 3
1
1 6 6 2 2
5
5 2 2 1 1
3 1
1 4
5 3
4 2
6 5
2 6
Individuo
3 4 2
Pareja
5 1 6
2 4 1
3 2
1 3
5 6
4 4
6 1
2 5
3 1 3 2
1 3 2 3
4 4 1 1
5 5 5 6
6 6 4 4
Descendiente 5
Descendiente 6
2
1
1
2
3
4
4
3
5
5
C2
5 4 3 1 3 2 2 1 1 3 2 3 1 2 4 4 1 1 3 4 5 5 5 6 4 3 2 2 6 5 6 6 6 6 4 4 5 5
Descendiente 3
Descendiente 4 Descendiente 5 Descendiente 6
5
3 4 2
2
1 5 3
11
ptimo
Descendiente 2
Descendiente 3 Descendiente 4 Descendiente 5 Descendiente 6
1
3 2 2 1
3
5 1 1 3
2
1 3 3 4
5
2 6 5 2
4
6 5 6 6
6
4 4 4 5
19
25 25 31 18
Seminario de Optimizacin
Algoritmos Genticos
24
Seminario de Optimizacin
Conclusiones
Los algoritmos genticos no necesitan conocimientos especficos sobre el problema que intentan resolver. Operan de forma simultnea con varias soluciones.
Algoritmos Genticos
25