Sei sulla pagina 1di 28

ALGORITMOS EVOLUTIVOS

D.Sc. Ing. Benjamn Barn


bbaran@pol.una.py

UNIVERSIDAD NACIONAL DE ASUNCIN


PARAGUAY

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

Denominamos cromosoma a una estructura de


datos que contiene una cadena de parmetros
de diseo o genes. Esta estructura de datos
puede almacenarse, por ejemplo, como una
cadena de bits o un arreglo de enteros.

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

Asignar fitness a los


miembros de Pop

Seleccionar elementos de Pop

Cruzar elementos seleccionados

Aplicar operador de mutacin

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

Existen 3l esquemas posibles


16
Cromosomas de un Esquema

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 * * * * * *

1-Orden O(H): Nmero de posiciones fijas


O(H1) = 5 O(H2) = 1

2-Longitud (H): Diferencia entre 1ra y ltima posicin fija


(H1) = 7 1 = 6 (H2) = 1 1 = 0
18
Teorema Fundamental de los Algoritmos Genticos

Sea una poblacin de N individuos, representados por


cromosomas de l bits, y sea m(H, t) el nmero de
cromosomas que atienden al esquema H en la
generacin t, entonces:

Seleccin (usando ruleta)


m(H, t+1) = m(H, t) * f(H) / fPROM
N
fPROM = j=1 fi / N
f(H) representa el fitness promedio para el esquema H
19
Cruzamiento 0 1 1 0 0 1 0
El punto de corte es un * 1 * * * * 0
nmero aleatorio entre 1
y (l 1), para el ejemplo: * * * * 0 1 *
entre 1 y 6. punto de corte

P[cortar-esquema] = (H) / (l 1)

Como cruzamiento solo se hace con probabilidad PC la verdadera


probabilidad de supervivencia ser:

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:

P[supervivencia] = (1 PM) O(H) ~ (1 O(H) * PM)

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

Asignar fitness a los


miembros de Pop

Seleccionar elementos de Pop

Cruzar elementos seleccionados

Aplicar operador de mutacin

Poblacin evolucionada
Parada?
no
si

FIN
24
Convergencia de un
Algoritmo Gentico Elitista

ESTADO: Funcin objetivo del mejor individuo.

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

GA Tradicional GA con Fitness Sharing

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

Potrebbero piacerti anche