Академический Документы
Профессиональный Документы
Культура Документы
Carlos Montenegro
2018
Introducción
2
Introducción
3
Introducción
4
Introducción
5
Algoritmos Genéticos
6
Aproximación a la
evolución biológica
7
Esquema básico
8
Esquema básico
9
Codificación
Individuo: cromosoma
Cromosoma: cadena de caracteres
En principio, cualquier representación es
válida
Codificación óptima: alfabeto binario
Codificación habitual: cadena de bits
10
Ejemplos de codificación
maximización función
11
8-reinas
FENOTIPO (Tablero)
13
8-reinas
14
Regla de los
bloques de construcción
15
Evaluación
16
Ejemplos de
funciones de aptitud
17
Ejemplos de
funciones de aptitud
18
Selección
19
Rueda de ruleta
20
Rueda
4 1
3
2
21
Basado en el rango
22
Torneo
23
Cambio de generación
24
Operador de cruce (crossover)
25
Cruce de un punto
madre 1 0 1 1 0 1 0 0 0 0
hijo 1 1 0 0 1 0 1 0 0 0 0
hijo 2 1 0 1 1 1 0 1 1 0 0
26
Cruce de dos puntos
padre 1 0 0 1 1 0 1 1 0 0
madre 1 0 1 1 0 1 0 0 0 0
hijo 1 1 0 0 1 0 1 0 1 0 0
hijo 2 1 0 1 1 1 0 1 0 0 0
27
Otros operadores de cruce
Multipunto o uniforme
Cada bit se hereda de un padre
aleatoriamente
Operadores especializados
En aquellos problemas donde un cruce
aleatorio puede generar individuos no
válidos
28
Ejemplo cruce 1 punto 8 reinas
29
Ejemplo cruce 1 punto 8 reinas
1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 0 0 0 0 0 1 0
1 1 0 1 1 1 1 0 1 1 1 0 0 1 0 1 1 0 0 0 1 0 1 1
1 0 1 1 1 1 1 0 0 1 1 0 0 1 0 1 1 0 0 0 1 0 1 1
1 1 0 1 1 1 1 0 1 0 1 1 0 1 1 1 1 0 0 0 0 0 1 0
30
Ejemplo cruce 1 punto 8 reinas
¤ ¤
¤ ¤
Aptitud:20
¤
¤
padres ¤
¤
¤
Aptitud:26
¤
¤ ¤
¤ ¤
¤ ¤
¤ ¤
¤ ¤
¤ ¤
Aptitud:25 ¤ ¤ hijos ¤ Aptitud:27
¤
¤ ¤
¤ ¤
¤ ¤
31
Operador de Mutación
En la evolución
Las mutaciones son poco frecuentes
En la mayor parte de los casos letales
En promedio, contribuyen a la diversidad genética
En los algoritmos genéticos:
Se simula cambiando aleatoriamente el valor de un
bit
Se aplica con probabilidad baja (10-3 o menor) a
cada bit de un nuevo individuo, habitualmente junto
al cruce
Dependiendo del tamaño de la población y del
número de bits por individuo, la mutación puede ser
extremadamente rara en una generación
32
Utilidad de la mutación
Genera diversidad
Puede ser de utilidad cuando un algoritmo genético
está estancado
Su abuso reduce al algoritmo genético a una
búsqueda aleatoria
33
Otros operadores
34
Ejemplo optimización: f(x)=x2
encontrar máximo entero en [1,32]
35
Población inicial
36
Selección: ruleta
37
Población seleccionada
2 11000 24 576
4 10011 19 361
1 01101 13 169
2 11000 24 576
Suma 1682
Media 420.5
mejor 576
38
Cruce
39
Creación descendientes
2 1 1 0 0 0 1 0 1 1 0 1
4 1 0 0 1 1 2 1 1 0 0 0
h1 1 1 0 1 1 h3 0 1 1 0 0
h2 1 0 0 0 0 h4 1 1 0 0 1
40
Mutación
41
Nueva población:
reemplazar padres por hijos
Suma 1674
Media 418,5
mejor 729
42
Ejercicio
43
AG en MATLAB
INGRESO:
optimtool
_____________________
ARCHIVO MATLAB
función.m:
function z = cuadrado(x)
z = -x^2 ;
______________________
RESTRICCION:
-3 <= x <= 4
44
Ejercicio Excel y AG
45
AG en EXCEL
46