algoritmos genéticos. concepto algoritmo de búsqueda basado en la mecánica de la ge- nética y la...

28
Algoritmos genéticos

Upload: olalla-peralta

Post on 21-Apr-2015

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Algoritmos genéticos

Page 2: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

ConceptoAlgoritmo de búsqueda basado en la mecánica de la ge-nética y la selección natural.Un algoritmo genético pue-de resolver problemas que aún no están completamente caracterizados o son demasiado complejos para permitir una completa caracterización. Es decir, problemas para los cuales no necesariamente conocemos cómo llegar a una buena solución, pero si podemos evaluar por alguna medida cuantificable el valor relativo de una solución (o al menos el valor relativo de una solución potencial en comparación con otra). El concepto básico de un algoritmo genético es la codi-ficación de una solución potencial de un problema como una serie de parámetros.

Page 3: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Un conjunto de valores de parámetros es tratado como el genoma o material genético de una solución individual. Se crea una gran población de soluciones candidatas (ini-cialmente con valores de parámetros al azar). Estas solu-ciones son esencialmente apareadas unas con otras por va-rias generaciones simuladas bajo el principio de supervi-vencia del más apto. El apareamiento tiene lugar haciendo uso de operadores tales como el entrecruzamiento, y la mutación (esencial-mente la introducción de ruido). El tercer operador básico es la reproducción.AG explota eficientemente la información histórica para especular sobre nuevos puntos de búsqueda con la espe-ranza de un mejor rendimiento.

Page 4: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Robustez La robustez, balance entre eficiencia y eficacia necesario para sobrevivir en muchos ambientes diferentes, es el te-ma central de investigación en algoritmos genéticos.

Los AGs, teórica y prácticamente han probado que pro-veen una búsqueda robusta en espacios complejos. Son simples computacionalmente y no están limitados por su-posiciones restrictivas acerca del espacio de búsqueda (suposiciones acerca de continuidad, existencia de deriva-das, unimodalidad y/u otras cuestiones).

Page 5: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Robustez de métodos tradicionales de búsquedaMétodos basados en cálculoSon locales, en área de influen-cia. Además dependen de la existencia de derivadas. Pero...El mundo real de búsqueda está lleno de discontinuidades, multi-modalidad y espacios de búsque-da con ruídos.Métodos enumerativosBuscan valores de la función ob-jetivo en cada punto en el espa-cio, uno por vez. Su principal fa-lla es la falta de eficiencia.

Efi

cien

cia

Tipo de problemacombinat. unimodal multimodal

Enumeraciónó búsq.al azar

Esquemarobusto

Esquemaespecializado

Page 6: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Diferencias entre AGs y los métodos tradicionales de búsqueda

1.- Trabajan con la codificación del conjunto de paráme- tros, no con los parámetros.

2.- Buscan a partir de una población de puntos, no un punto único.

3.- Usan información de una función objetivo (o más), no derivadas u otro conocimiento adicional.

4.- Usan reglas de transición probabilísticas, no reglas determinísticas.

Page 7: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Problema

Usar un algoritmo genético para maximizar la función f(x) = x2 en el rango x ={0, ..., 31}. (Supongamos que x es entero). La función se muestra a continuación:

Page 8: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Generación de la población inicial

Para usar un algoritmo genético primero debemos codificar las va-riables de decisión de nuestro pro-blema en un conjunto de cadenas de longitud finita. Hacemos esto codificando la variable ‘x’ en un conjunto de 5 bits.Generación de la población inicial al azar: definimos cada bit en cua-tro conjuntos de bits con probabi-lidad 0.5, por ej. lanzando una moneda 20 veces y asociando cara con ‘1’ y cruz con ‘0’

POBLACIONINICIAL

(GENERADA AL AZAR)

CADENANUMERO

VALOR DE X

011011100001000

10011

Page 9: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Cálculo de f(x)

SUMA =

10011

01000

11000

01101

CADENANUMERO

POBLACIONINICIAL

(GENERADA AL AZAR)

1

2

3

4

VALOR DE X

f(x)=x2

36119

1170

VALORES DE APTITUD O

ADAPTACION

8 64

576

169 13

24

Page 10: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Cálculo del valor de ajuste

Luego debemos maximizar f(x).Definimos: valor de aptitud = f(x) = x2

El valor de aptitud, también llamado función objetivo, en este caso es uno solo. En la realidad, normalmente opti-mizamos una función multiobjetivo, o un vector de fun-ciones objetivo. Para poder realizar la reproducción debemos calcular los valores de probabilidad de selección.

Probab.selecc. =

Page 11: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Cálculos resultantes

SUMA =

10011

01000

11000

01101

CADENANUMERO

POBLACIONINICIAL

(GENERADA AL AZAR)

1

2

3

4

VALOR DE X

f(x)=x2

36119

1170

VALORES DE APTITUD

8 64

576

169 13

24

PROBAB.SELECC.

fi/f

CANTIDADESPERADA

fi/fMEDIO

CANTIDAD.REAL

(usandoRouletteWheel)

0.14

0.49

0.06

0.31

0.58

1.97

0.22

1.23

1

1

2

0

1 4 4

1 1

2

293 0.25

576 0.49 1.97

PROMEDIO =

MAXIMO =

Page 12: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Reproducción

La siguiente generación de cadenas se produce aplicando primeramente el operador reproducción. Seleccionamos las cadenas de la generación actual que habrán de ser copiadas en el pool de la generación próxi-ma,usando reproducción como proceso de multiplicación. Esto producirá un pool de cadenas con altos valores de aptitud. Seleccionamos el pool de la próxima generación hacien-do girar cuatro veces la rueda de ruleta con zonas asigna-das en proporción a la aptitud de cada cadena.

Page 13: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Entrecruzamiento

Las cadenas del pool de apareamiento se aparearán al aplicar este operador.Un procedimiento posible es:1.- Las cadenas se aparean al azar.2.- Las parejas de cadenas apareadas se entrecruzan pro- duciendo generalmente nuevas cadenas.Usando un método al azar de selección de parejas seleccionamos: cadena 4 entrecruza con cadena 2 y cadena 1 entrecruza con cadena 2.Ahora debemos seleccionar la posición de bit k donde tendrá lugar el entrecruzamiento. k se obtiene al azar.

Page 14: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

f(x)=x2

16

25

Suma =

12

27

VALOR DE X

VALORES DE APTITUD

256

729

625

144

1754

Max = 729

Tabla de pares y entrecruzamiento

10Z011

11Z000

1100Z0

0110Z1

POOL DE APAREAMIENTO

LUEGO DEL ENTRECRUZAM.

PAREJA SELECCIONADA

AL AZAR

1

2

2

4

Z = posición.de entrecruz.

POSICION DEL ENTRECRUZAM.

(ELEGIDO AL AZAR)

4

4

2

2

NUEVAPOBLACION

01100

11001

11011

10000

Page 15: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Nota

Ya podemos ver que luego de una iteración parcial o en medio del camino en la producción de una generación he-mos incrementado la suma de las funciones objetivo de 1170 a 1754, y el valor máximo se ha incrementado de 576 a 729.

Hemos seleccionado un mejor conjunto de valores x, que provee una aptitud maximizada f(x) = x2 mayor que nues-tras 4 selecciones iniciales.

Page 16: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Mutación

El último operador, MUTACION, se aplica bit a bit. Asumamos que la probabilidad de mutación en esta prueba es

P(mut) = 0.001.

Con 20 bits en las cuatro cadenas esperamos que muten:

20 * 0.001 = 0.02 bits

Page 17: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Mutación

Durante una generación se espera entonces que 0.02 bits sufran mutación.

La simulación de este proceso indica que ningún bit sufre mutación con este valor de probabilidad, por lo menos en esta prueba. Normalmente, esto se hubiera llevado a cabo en un programa que usa un generador de números al azar, y puede haber una posibilidad.

Como resultado no habrá cambio de bits de 0 a 1 o vice versa durante esta generación.

Page 18: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Mutación

Nota: Una vez que todo el proceso:

• Reproducción• Entrecruzamiento• Mutación

se ha completado para producir una nueva generación, podemos calcular nuestros nuevos valores objetivo como se mostró previamente en la tabla de entrecruzamiento.

Page 19: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Terminología de Computación Evolutiva o Algoritmos Genéticos

Los sistemas basados en cadenas son análogos a conjuntos de cromosomas (organismos) en un sistema biológico. En sistemas naturales, uno o más cromosomas se combinan para formar la prescripción genética total para la construc-ción de todo organismo. Genotipo es el nombre dado a todo el paquete genético en sistemas naturales. Estructura es el nombre dado a todo el paquete de cadenas en sistemas genéticos artificiales. En sistemas naturales, el organismo formado por la interac-ción del paquete genético total con su ambiente se denomi-na fenotipo.

Page 20: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Terminología de Computación Evolutiva o Algoritmos Genéticos (continuación)

En sistemas genéticos artificiales, las estructuras se decodifican para formar un “conjunto de parámetros” particular, “alternativa de solución”, o “punto” en el espacio de solución.

En la búsqueda genética artificial decimos que las cade-nas están compuestas de “características” o “detectores”, que toman diferentes valores.

En terminología natural, decimos que los cromosomas están formados por “genes”.

Page 21: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Esquemas (Plantillas de Similaridad)

¿De qué manera una cadena es representativa de otras clases de cadena con similaridad en ciertas posiciones?

Esquema: plantilla de similaridad que describe un sub-conjunto de cadenas con similaridad en ciertas posicio-nes. A partir del alfabeto binario {0,1}, el esquema tendrá el alfabeto {0,1,*}. Para alfabetos con cardinalidad k, ha-brá (k + 1)l esquemas [l = long. de cadena].Ej: si l = 5 y k = 2 3.3.3.3.3 = 3 5 esquemas posibles.Una cadena cualquiera contiene kl esquemas. (ej. 11111 contiene 25 esquemas porque cada posición es 1 o *). Por lo tanto, una poblac. de tamaño n contiene esquemas en el rango kl y n.kl dependiendo de la diversidad de la poblac.

Page 22: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Esquemas (Plantillas de Similaridad)(contin.) La motivación original de considerar importantes simila-ridades fue la de obtener más información para ayudar a guiar la búsqueda.

Orden (o): número de posiciones fijas del esquema.Longitud de definición: distancia entre bits extremos(defi-nidos como 1 o 0 en el caso del alfabeto binario) en un esquema. Si consideramos sólo reproducción: supongamos que en cierto momento t hay m ejemplos de un esquema particular H dentro de la población A(t). La ecuación de crecimiento reproductivo del esquema es:

m(H, t+1) = m(H, t) . f(H)/fmedia

f(H) = promedio de aptitud de las cadenas que represen-tan el esquema H.

Page 23: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Esquemas (Plantillas de Similaridad)(contin.)

Un esquema particular crece según la relación de la aptitud media del esquema respecto de la aptitud media de la población.

Si asumimos que un esquema particular H se mantiene sobre el promedio en una cantidad c.fmedia con c constan-te, entonces:

m(H, t+1) = m(H, t). fmedia + c.fmedia =m(H, t).(1 + c) fmedia

Comenzando a tiempo t = 0 y asumiendo valor estaciona-rio de c:

m(H, t) = m(H, 0). (1 + c)t

Page 24: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Esquemas (Plantillas de Similaridad)(contin.)

considerando además entrecruzamiento y mutación (valores de pm << 1)

m(H, t+1) m(H, t). f(H)/fmedio . 1-pc.(H) – o(H).pm m(H, t+1) m(H, t). f(H)/fmedio . l – 1

Nota: (1 – pm)o(H) para pequeñas pm es equivalente a:1 – o(H).pm

Page 25: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Otra perspectiva: mínimo problema de decepción

Dado un conjunto de cuatro esquemas de orden 2, cada esquema estando asociado con el valor de aptitud según:

***0*****0* f00 promedio del esquema***0*****1* f01

***1*****0* f10

***1*****1* f11

(H)

Asumamos que f11 es el óptimo global:

f11 > f00 ; f11 > f01 ; f11 > f10

Page 26: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Mínimo problema de decepción (continuación)

Introducimos el elemento de decepción necesario para hacer de éste un problema complejo para un AG simple, queremos que se cumpla una de las sig. condiciones:f(0*) > f(1*);óf(*0) > f(*1);Es decirf(00)+f(01) > f(10)+f(11) ; 2 2ó f(00)+f(10) > f(01)+f(11) ; 2 2

Page 27: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Mínimo problema de decepción (continuación)

A partir de esto,asumiendo que se cumple lo primero (f(0*)>f(1*)) encontraremos dos tipos de problemas de 2 bits:Tipo I: f01 > f00

Tipo II: f00 > f01

Ninguno de estos casos puede ser expresado como combinación lineal , esto es un problema epistáctico biológicamente hablando.

01 11

1000

Tipo I

01 11

1000

Tipo II

Ap

titu

d

Ap

titu

d

Page 28: Algoritmos genéticos. Concepto Algoritmo de búsqueda basado en la mecánica de la ge- nética y la selección natural.Un algoritmo genético pue- de resolver

Mínimo problema de decepción (continuación)

A partir del teorema de esquema esperamos tener dificultad cuando:

f(11)/fmedio . 1-pc.(H) 1 (asumiendo pm = 0) . f(H)/fmedio . l – 1

Sorprendentemente para muchas condiciones iniciales posibles MPD no es AG-hard.

(Ver figuras 2.10, 2.11 y 2.12 en pág. 51 y 52 de AG.)