Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1
Libro de Referencia
1989 - Goldberg, David. Genetic Algorithms in Search,
Optimization, and Machine Learning. Addison-Wesley
Referencia en Internet
http://en.wikipedia.org/wiki/Evolutionary_algorithm
http://en.wikipedia.org/wiki/Genetic_algorithm
http://www.cs.sandia.gov/opt/survey/ea.html
http://neo.lcc.uma.es/opticomm/introea.html
http://delta.cs.cinvestav.mx/~ccoello/
2
Problemas de Optimizacin
F(x)
Minimizar F(x)
Sujeto a restricciones
x
3
Algoritmos Evolutivos
Basados en los principios fundamentales de la evolucin
de las especies [Darwin, 1859]:
Trabajan con un conjunto de soluciones,
representando una poblacin.
Las soluciones del problema se codifican como
cadenas de genes representando cromosomas.
Se utilizan operadores que simulan la seleccin, el
cruzamiento y la mutacin.
4
Cromosoma
x
x1 x2
5
Conceptos fundamentales:
valor de aptitud (fitness)
Se denomina valor de aptitud o fitness al
valor que se asigna a cada individuo y
que indica qu tan bueno es ste, con
respecto a los dems, como solucin de
un problema.
F(x)
l bits
6
Conceptos fundamentales:
generacin
Llamamos generacin a una iteracin que
conduce a la creacin de una nueva
poblacin por medio de operadores
evolutivos.
7
ALGORITMOS GENTICOS (AG)
Los algoritmos genticos son algoritmos de bsqueda
basados en la seleccin natural [GOLDBERG]
HISTORIA
Los algoritmos genticos nacen en 1975 con el
trabajo desarrollado por John Holland y sus
colaboradores en la universidad de Michigan.
Los objetivos planteados fueron:
Abstraer y explicar rigurosamente el proceso
adaptativo de los sistemas naturales
El diseo de sistemas artificiales que
reproduzcan los mecanismos de los sistemas
naturales
8
Algoritmo gentico simple
Iniciar la Poblacin inicial
poblacin Pop
Poblacin evolucionada
Crit. Parada?
no
si
FIN
9
Pseudocdigo 4.3: Algoritmo Gentico.
t 0;
Iniciar Poblacin ( t ) con N individuos;
Evaluar Poblacin ( t );
DO WHILE ( No se cumpla Criterio de Parada )
t t + 1;
Seleccionar Poblacin ( t ) a partir de Poblacin (t - 1);
Cruzar y mutar Poblacin ( t );
Evaluar Poblacin ( t );
END DO
10
Seleccin
N
1. Ruleta pi = fi / j=1 fj
2. Torneos (k de n)
11
Pseudocdigo 4.1: Seleccin por Ruleta
RAND nmero aleatorio entre 0.0 y 1.0;
Suma 0;
N
SumaParcial RAND * j=1 fi
FOR j = 1 TO N /*N, tamao de la poblacin*/
Suma Suma + fi
IF (Suma SumaParcial) THEN break;
END FOR
RETURN j ; /*Devuelve ndice del individuo*/
12
Cruzamiento
Punto de cruce
Padres 0 1 1 0 1 1 1 0 0 0
Hijos 0 1 1 0 0 1 1 0 0 1
13
Pseudocdigo 4.2: Operador de Cruzamiento.
IF (Cruzamiento permitido conforme probabilidad Pm) THEN
jcross nmero aleatorio entre 1 y (l 1);
ELSE
jcross l
END IF
FOR j = 1 TO jcross DO
child1[ j ] transmitir cdigo gentico del progenitor 1
child2[ j ] transmitir cdigo gentico del progenitor 2
END FOR
IF ( jcross es distinto de l ) THEN
FOR j = jcross + 1 TO l DO
child1[ j ] transmitir cdigo gentico del progenitor 2
child2[ j ] transmitir cdigo gentico del progenitor 1
END FOR
END IF
14
Mutacin
Cromosoma 0 0 1 1 0 0
Cromosoma modificado 0 0 1 0 0 0
por mutacin
15
Esquema (o molde)
Cromosoma: 0 1 1 0 0 1 0
l bits usando alfabeto binario {0, 1}
Existen 2l cromosomas posibles
Esquema: 0 * 1 0 * 1 0
l letras usando alfabeto ternario {0, 1, *}
comodn
El esquema H= 0 * 1 0 * 1 0
contiene a 4 posibles cromosomas:
0 1 1 0 0 1 0
0 1 1 0 1 1 0
0 0 1 0 0 1 0
0 0 1 0 1 1 0
17
Caractersticas de un Esquema
Esquema H1 = 0 * 1 0 * 1 0
Esquema H2 = 0 * * * * * *
P[cortar-esquema] = (H) / (l 1)
P[supervivencia] = 1 - PC * (H) / (l 1)
20
Mutacin
Sea PM la probabilidad de mutar un bit, por lo que (1 PM) es la
probabilidad de que no mute un bit, entonces la probabilidad de
supervivencia de los O(H) ser:
Teorema Fundamental
de los Algoritmos Genticos
m(H,t+1) = m(H,t)*f(H)/ fPROM [1 - PC* (H)/(l 1) O(H)*PM]
21
Conceptos fundamentales:
elitismo
Se denomina elitismo al mecanismo
utilizado en algunos AEs para asegurar
que los cromosomas de los miembros
ms aptos de una poblacin pasen a la
siguiente generacin sin ser alterados por
ningn operador gentico.
22
Optimizacin Mono-objetivo
Optimizar: y = F(x)
sujeto a e(x)<0
23
Algoritmo gentico simple
Iniciar la Poblacin inicial
poblacin Pop Pop
Poblacin evolucionada
Parada?
no
si
FIN
24
Convergencia de un
Algoritmo Gentico Elitista
P0 P1 P2 P*
.....
p>0 p>0
p>0
q<1 q<1 q<1 q=1
25
Explotacin vs. Exploracin
Gradiente
Bsqueda exhaustiva
Random Walk
Tabu Search
Simulated Annealing
Algoritmos Genticos
Colonias de hormigas
Enjambre de partculas
Algoritmos memticos
26
Fitness Sharing (FS)
Distribucin de la poblacin al converger
27
Aplicaciones
1. Generacin ptima de energa;
2. Bombeo ptimo de agua;
3. Cajero Viajante (TSP);
4. Ruteo de vehculos;
5. Caminos ptimos (routing);
6. Job shop planning;
7. Scheduling, etc.
28