La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Algoritmos genéticos.

Presentaciones similares


Presentación del tema: "Algoritmos genéticos."— Transcripción de la presentación:

1 Algoritmos genéticos

2 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 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.

3 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.

4 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).

5 Robustez de métodos tradicionales de búsqueda
Métodos basados en cálculo Son 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 enumerativos Buscan 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. Eficiencia Esquema robusto Esquema especializado Enumeración ó búsq.al azar combinat. unimodal multimodal Tipo de problema

6 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.

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

8 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’ POBLACION INICIAL (GENERADA AL AZAR) CADENA NUMERO VALOR DE X 01101 11000 01000 10011

9 VALORES DE APTITUD O ADAPTACION
Cálculo de f(x) SUMA = 10011 01000 11000 01101 CADENA NUMERO POBLACION INICIAL (GENERADA AL AZAR) 1 2 3 4 VALOR DE X f(x)=x2 361 19 1170 VALORES DE APTITUD O ADAPTACION 8 64 576 169 13 24

10 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. =

11 Cálculos resultantes SUMA = 10011 01000 11000 01101 CADENA NUMERO POBLACION INICIAL (GENERADA AL AZAR) 1 2 3 4 VALOR DE X f(x)=x2 361 19 1170 VALORES DE APTITUD 8 64 CANTIDAD. REAL (usando Roulette Wheel) PROBAB. SELECC. fi/f CANTIDAD ESPERADA fi/fMEDIO 13 169 0.14 0.58 1 24 576 0.49 1.97 2 0.06 0.22 0.31 1.23 1 1 4 4 PROMEDIO = 293 0.25 1 1 1.97 MAXIMO = 576 0.49 2

12 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.

13 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.

14 Tabla de pares y entrecruzamiento
POOL DE APAREAMIENTO LUEGO DEL ENTRECRUZAM. PAREJA SELECCIONADA AL AZAR 1 2 4 Z = posición. de entrecruz. POSICION DEL ENTRECRUZAM. (ELEGIDO AL AZAR) NUEVA POBLACION 01100 11001 11011 10000 f(x)=x2 16 25 Suma = 12 27 VALOR DE X VALORES DE APTITUD 256 729 625 144 1754 Max =

15 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.

16 Mutación El último operador, MUTACION, se aplica bit a bit. Asumamos que la probabilidad de mutación en esta prueba es P(mut) = Con 20 bits en las cuatro cadenas esperamos que muten: 20 * = 0.02 bits

17 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.

18 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.

19 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.

20 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”.

21 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 5 esquemas posibles. Una cadena cualquiera contiene kl esquemas. (ej 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.

22 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.

23 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

24 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 –  Nota: (1 – pm)o(H) para pequeñas pm es equivalente a: 1 – o(H).pm

25 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* f 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

26 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 decir f(00)+f(01) > f(10)+f(11) ; f(00)+f(10) > f(01)+f(11) ;

27 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 10 00 01 11 10 00 Tipo I Tipo II Aptitud Aptitud

28 Mínimo problema de decepción (continuación)
A partir del teorema de esquema esperamos tener dificultad cuando: f(11)/fmedio . 1-pc.(H)   (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.)


Descargar ppt "Algoritmos genéticos."

Presentaciones similares


Anuncios Google