Anda di halaman 1dari 35

Algoritmos Genticos

Algoritmos Genticos
Cul es el Resolvedor Natural ms
Potente?

El cerebro (humano)
que cre la rueda, New York, las guerras y dems
(segn Douglas Adams)

La evolucin natural
que cre el cerebro humano (segn Darwin et al.)

Algoritmos Genticos
Indice
Introduccin a los Algoritmos Evolutivos

El Algoritmo Gentico Simple: fundamentos

Otros Algoritmos Evolutivos

Aplicaciones a problemas de Optimizacin y


Aprendizaje

Algoritmos Genticos
Qu son los Algoritmos
Evolutivos?
Algoritmos de bsqueda (de la solucin que optimiza una
funcin objetivo dentro de un espacio de soluciones
potenciales) basados en la mecnica de la evolucin, en
particular
La seleccin natural
La herencia gentica

Combinan la supervivencia del ms fuerte con intercambio


de informacin entre individuos para generar descendientes

As se consigue crear sistemas de cmputo artificiales con


caractersticas propias de los sistemas naturales, tales como
Robustez, Flexibilidad, Auto-organizacin, Reproduccin, ...

Algoritmos Genticos
Un poco de historia de los AEs

Fueron introducidos por John Holland y algunos colegas


en la Universidad de Michigan en los aos 70. Sus
objetivos fueron
Abstraer y explicar el proceso adaptativo de los sistemas
naturales
Disear sistemas artificiales que emulasen los mecanismos
esenciales de los sistemas naturales

Primera monografa [Holland 1975]: Adaptation in


Natural and Artificial Systems

Otras referencias relevantes ms recientes


[Goldberg 1989] : Genetic Algoritms in Search Optimization and Machine
Learning
[Michalewick 1992, 1994, 1996] : Genetic Algoritms = Data Structures +
Evolution Programs

Algoritmos Genticos
A qu se debe el xito de los
AEs?
Han demostrado ser tiles en problemas de
bsqueda en muchos campos
Ingenieras, Ciencias, Administracin, Industria, ...

Son simples, fciles de entender y de disear


No tienen limitaciones sobre la funcin objetivo
Continuidad, derivabilidad y unimodalidad

Son robustos y razonablemente eficientes, y


adems ...
Son divertidos

Algoritmos Genticos
Caractersticas de los AEs

Utilizan codificaciones de las soluciones


(normalmente cadenas de smbolos)
Buscan a partir de un conjunto de puntos del
espacio de bsqueda
Solamente utilizan el valor de la funcin objetivo
(en lugar de derivadas u otras propiedades): NO
REQUIEREN MS INFORMACIN DEL DOMINIO
DEL PROBLEMA
Usan reglas de transicin probabilistas en lugar
de deterministas
Algoritmos Genticos
La metfora
Lo Natural Lo Artificial

Entorno o Ecosistema Problema


Individuo o Fenotipo Solucin potencial del
Problema
Cromosoma o Genotipo Cadena de Smbolos
Grado de Adaptacin al Fitness o Calidad de la
Entorno Solucin
Superviviencia, Operadores de
Reproduccin, Mutacin Seleccin/Aceptacin, Cruce,
Mutacin

Algoritmos Genticos
Componentes esenciales de
un AE
Un mtodo de codificacin de los individuos o
soluciones potenciales del problema, por ejemplo
una cadena de bits (codificacin binaria)

Una funcin de evaluacin (fitness)

Una forma de generar la poblacin inicial

Operadores genticos: Seleccin, Cruce,


Mutacin, ...

Un montn de parmetros: Pc, Pm, Tamao de la


Poblacin, Nmero de Generaciones, ...
Algoritmos Genticos
Estructura de un AE
Algoritmo Evolutivo
Leer Parmetros (Pc, Pm, NroGen, );
t 0;
Iniciar(P(t));
evaluar(P(t));
mientras (no ultima_generacin) {
t t+1;
P(t) = seleccin(P(t-1)); // Op. Seleccin
P(t) = alterar(P(t)); // Ops. Cruce y Mutacin
evaluar( P(t)); // Funcin Fitness
P(t) = aceptar(P(t), P(t)); // Op. de Aceptacin
}
fin.

Algoritmos Genticos
Algoritmo Gentico Simple
(SGA)
Codificacin Binaria

Poblacin inicial aleatoria

Operador de Cruce en un punto

Operador de Mutacin simple: alteracin de un


bit

Seleccin proporcional al fitness

Aceptacin incondicional de los hijos (los hijos


reemplazan a los padres)
Algoritmos Genticos
Codificacin Binaria
Cromosoma (Genotipo)

Solucin Potencial (Fenotipo)


Problema : Maximizar una funcin f : [a,b] +
Nmero real x[a,b]

Calidad de la Solucin Potencial (Fitness)


Problema 1: valor de f(x)
Problema 2: Medida del beneficio (inversa del coste) de S

Algoritmos Genticos
Decodificacin de
Cromosomas
Es el clculo del
Datos
Fenotipo a partir del Genotipo
Problema
Genotipo

Muchas veces sirve


algn algoritmo voraz

Es la operacin ms Algoritmo
costosa del AG

El Fitness se calcula de
forma inmediata a partir
del Fenotipo Fenotipo

Algoritmos Genticos
Representacin Binaria (Fenotipo)

Genotipo
8 bits
Fenotipo:
Entero
Real
Planificacin
...
Otros

Algoritmos Genticos
Fenotipo de Tipo Entero

Genotipo: Fenotipo:
= 163

1*27 + 0*26 + 1*25 + 0*24 + 0*23 + 0*22 + 1*21 + 1*20 =


128 + 32 + 2 + 1 = 163

Algoritmos Genticos
Fenotipo de Tipo Real

Nmero real entre 2.5 y 20.5 con 8 digitos

Genotipo: Fenotipo:
= 13.9609

163
x 2.5 20.5 2.5 13.9609
256
Algoritmos Genticos
Operadores de Cruce

Cruce en un punto
Genera 2 hijos a partir de 2 padres
Cada hijo hereda caractersticas de los dos padres
Es la componente de EXPLOTACIN

padres
1 1 1 1 1 1 1 0 0 0 0 0 0 0

hijos
1 1 1 0 0 0 0 0 0 0 1 1 1 1

Algoritmos Genticos
Operador de Mutacin

La mutacin altera de forma aleatoria cada


bit
La probabilidad de aplicacin debe ser baja
Introduce caractersticas aleatorias en los cromosomas
Es la componente de EXPLORACIN del AG

antes 1 1 1 1 1 1 1

despus 1 1 1 0 1 1 1

Algoritmos Genticos
Operador de Seleccin

Seleccin de P(t) a partir de P(t-1)

Mtodos Clsicos
Seleccin proporcional al fitness (regla de la ruleta)
Seleccin de s P(t) con probabilidad f(s)/(f(s); sP(t))
Seleccin por torneo
Elige un subconjunto aleatorio S P(t) y selecciona el mejor s
S

Problema: Ajuste de la presin selectiva


Alta: convergencia prematura
Baja: no hay convergencia
Solucin: escalado del fitness
Algoritmos Genticos
Ejemplo de Seleccin, Cruce y
Mutacin

000110010111 8 32% 111010101100 4 111010010111 111010010111

111010101100 6 24% 000110010111 000110101100 000110101100

001110101001 6 24% 111010101100 8 111010101001 111110101001

111011011100 5 20% 001110101001 001110101100 001110101101

a) Poblacin b) Fitness c) Seleccin d) Pto. e) Cruce f) Mutacin


actual y prob. de de corte
seleccin

Algoritmos Genticos
Ejemplo de aplicacin del SGA

Problema 4
3,5
Clculo del mximo de la funcin 3
2,5
f(x)
2
f(x) = x*sen(10 x)+2.0
1,5
1
en el intervalo [-1,2] 0,5
0
-1 0 1 2
x

Solucin
Codificacin: binaria
Poblacin inicial: cadenas aleatorias
Evaluacin:
s eval(s) = x [-1,2]
Fitness(s) = f(x)
Operadores Genticos: . . .
Parmetros: Pc, Pm, Ngen, Tpob, . . .

Algoritmos Genticos
Problema Mximo Funcin

X 320 x x
F x 100 sen 15 cos 6
5 3 7

Exploracin del espacio de bsqueda


ptimos locales

Algoritmos Genticos
Problema Mximo Funcin

Codificacin binaria de 32 bits


Seleccin
Regla de la ruleta
Fitness
F(x), F es la funcin problema
Operadores utilizados
Cruce en un punto
Mutacin convencional

Algoritmos Genticos
Problema Mximo Funcin

Ejecucin detallada

Algoritmos Genticos
Por qu funcionan los AGs?

Caden Fitness (f(x) =


a x2)
01101 169 (=132)

11000 576 (=242)

01000 64 (=82)

10011 361 (=192)

1**** es un buen esquema

Algoritmos Genticos
Por qu funcionan los AGs?
Definicin.- Un esquema es una cadena formada por smbolos
del alfabeto {0,1,*}
Ejemplos
H1 = **101*00**
H2 = 10*******1
Un esquema representa a un conjunto de cromosomas: aquellos
que tienen el mismo valor que el esquema en las posiciones fijas
(0 1) y cualquier valor en las posiciones *
0110110001 1010100000 0010110011 son de la clase H1

Definicin.- La longitud de un esquema H, (H), es la distancia


entre el primer y el ltimo smbolo fijo; y el orden, o(H), es el
nmero de smbolos distintos de *
(**101*00**) = 8 - 3 = 5 o(**101*00**) = 5
(10*******1) = 10 - 1 = 9 o(10*******1) = 3

Algoritmos Genticos
Teorema Fundamental de los
AGs
Teorema de los esquemas.- Los esquemas
cortos, de orden bajo y superiores a la
media reciben un incremento exponencial de
cromosomas en las sucesivas generaciones

Hiptesis de bloques constructivos (Building


Block Hypothesis).- Un AG busca soluciones
semi-ptimas mediante la combinacin de
esquemas cortos, de orden bajo y
superiores a la media.

Algoritmos Genticos
Algunos Problemas . . .

Epistasis: Interaccin de los genes de un


cromosoma
Muy fuerte: no hay esquemas buenos
Muy dbil: el problema es muy fcil

Consecuencias
Deception: p.e. cuando la solucin ptima pertenece a
un esquema corto, de orden bajo pero inferior a la
media

Algoritmos Genticos
Resumen
Los AG son algoritmos de bsqueda basados la
evolucin natural, concretamente combinan
La herencia gentica y
La supervivencia del ms fuerte

Se trata de algoritmos de bsqueda dbiles porque


utilizan poco conocimiento del problema: solamente el valor
de la funcin fitness
Pero precisamente por eso son muy flexibles y robustos
Normalmente encuentran soluciones semi-ptimas en un
tiempo razonable
Tienen fundamentos tericos, pero son bastante discutibles

Algoritmos Genticos
Aplicaciones de AGs a problemas de
Optimizacin y Aprendizaje

El problema del Viajante de Comercio (TSP)


El problema del Coloreado de Grafos
Identificacin de variables en Minera de Datos
Obtencin de clasificadores basados en
prototipos
El problema Job Shop Scheduling (JSS)

Algoritmos Genticos
Aplicacin de AGs al Problema del
Viajante

Clculo de la ruta ptima que pasa por todos los


vrtices en un grafo no dirigido completo.
10 Palacio de Ferrera

Padres Franciscanos
15
12 6

20

Ayuntamiento Teatro Palacio Valds

Algoritmos Genticos
Aplicacin de AGs al Problema del
Viajante

Codificacin basada en permutaciones

Fenotipo:
Genotipo:
1 5
1 5 3 2 4
=
0 3

4
2

Algoritmos Genticos
Aplicacin de AGs al Coloreado de
grafos

Colorear un grafo con el menor nmero de


colores posible.
2

1
5 3

Algoritmos Genticos
Aplicacin de AGs al Tratamiento de
Datos

Tratamiento de Datos en Aprendizaje


Automtico o Minera de Datos

Patrones
Ejemplos/datos
prototipos /Reglas
if-then

Dos aplicaciones:
Identificacin de variables (atributos relevantes)
Obtencin de prototipos

Algoritmos Genticos
Resumen
Los AG son una herramienta simple, flexible y
robusta para resolver problemas de la familia CSP
Los factores de diseo ms importantes son
El esquema de Codificacin
El algoritmo de Evaluacin
La estrategia de Seleccin/Aceptacin
No obstante un AG convencional produce
resultados de calidad moderada
Se pueden mejorar con
Bsqueda Local
Inicializacin heurstica
....
Algoritmos Genticos

Anda mungkin juga menyukai