algoritmos gen ticos n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Algoritmos genéticos PowerPoint Presentation
Download Presentation
Algoritmos genéticos

Loading in 2 Seconds...

play fullscreen
1 / 28

Algoritmos genéticos - PowerPoint PPT Presentation


  • 159 Views
  • Uploaded on

Algoritmos genéticos. Concepto.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Algoritmos genéticos' - candida


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
concepto
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.

slide3

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.

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

robustez de m todos tradicionales de b squeda
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

diferencias entre ags y los m todos tradicionales de b squeda
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 deunafunción objetivo (o más), no

derivadas u otro conocimiento adicional.

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

determinísticas.

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

generaci n de la poblaci n inicial

POBLACION

INICIAL

(GENERADA

AL AZAR)

CADENA

NUMERO

VALOR

DE X

01101

11000

01000

10011

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’

c lculo de f x

POBLACION

INICIAL

(GENERADA

AL AZAR)

CADENA

NUMERO

13

169

576

1

01101

24

64

11000

8

2

19

361

01000

3

10011

4

VALORES DE APTITUD O ADAPTACION

VALOR

DE X

f(x)=x2

1170

SUMA =

Cálculo de f(x)
c lculo del valor de ajuste
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. =

c lculos resultantes

VALORES DE APTITUD

POBLACION

INICIAL

(GENERADA

AL AZAR)

VALOR

DE X

CADENA

NUMERO

f(x)=x2

1

01101

11000

2

01000

64

3

8

10011

19

361

4

1170

SUMA =

Cálculos resultantes

CANTIDAD.

REAL

(usando

Roulette

Wheel)

PROBAB.

SELECC.

fi/f

CANTIDAD

ESPERADA

fi/fMEDIO

13

169

0.14

0.58

1

576

24

0.49

1.97

2

0.06

0.22

0

0.31

1.23

1

4

1

4

293

0.25

1

1

PROMEDIO =

1.97

576

0.49

2

MAXIMO =

reproducci n
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.

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

tabla de pares y entrecruzamiento

VALORES DE APTITUD

POOL DE APAREAMIENTO LUEGO DEL ENTRECRUZAM.

PAREJA

SELECCIONADA

AL AZAR

POSICION DEL ENTRECRUZAM.

(ELEGIDO AL AZAR)

VALOR

DE X

NUEVA

POBLACION

f(x)=x2

0110Z1

2

4

12

144

01100

1100Z0

1

25

625

4

11001

11Z000

4

11011

27

2

729

10Z011

2

10000

16

2

256

Z = posición.

de entrecruz.

Suma =

1754

Max =

729

Tabla de pares y entrecruzamiento
slide15
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) = x2mayor que nues-tras 4 selecciones iniciales.

mutaci n
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

mutaci n1
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.

mutaci n2
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.
terminolog a de computaci n evolut i v a o algoritmos gen ticos
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.

terminolog a de computaci n evolu t i v a o algoritmos gen ticos continuaci n
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”.

esquemas plantillas de similaridad
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.

esquemas plantillas de similaridad contin
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.

esquemas plantillas de similaridad contin1
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.fmediacon 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

esquemas plantillas de similaridad contin2

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

Esquemas (Plantillas de Similaridad)(contin.)
otra perspectiva m nimo problema de decepci n
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

m nimo problema de decepci n continuaci n
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) ;

2 2

ó

f(00)+f(10) > f(01)+f(11) ;

2 2

m nimo problema de decepci n continuaci n1

01

11

01

11

00

10

00

10

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.

Tipo I

Tipo II

Aptitud

Aptitud

m nimo problema de decepci n continuaci n2

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

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