Computacion Inteligente La computacion evolutiva 1

Preview:

Citation preview

Computacion Inteligente

La computacion evolutiva

1

Contenido Procesos de busqueda y optimizacion

La Teoría de la Evolución Natural

La computacion evolutiva

Caracterizacion de los algoritmos geneticos

Estructura y componentes basicos de los Gas

Procedimientos basicos de un AG

El algoritmo genetico basico SGA (Goldberg)

Ejemplos

2

3

EL PROBLEMA DE LA OPTIMIZACION

Formulacion del problema

4

3 ingredientes basicos … una funcion objectivo, Un conjunto de variables de decision, Un conjunto de restricciones

igualdades/desigualdades.

El problema es

buscar los valores de las variables de decision que minimizan la function objectivo satisfaciendo las restricciones…

1. La funcion objectivo puede ser unimodal o multimodal.

a. Unimodal – Un solo optimob. Multimodal – mas de un optimo

2. La mayoria de los esquemas se basan en la suposicion de una superficie unimodal. En tales casos el optimo determinado es llamado el diseño de un optimo local.

3. El optimo global es el mejor de todos los optimos locales. 5

Optimo global y local

Optimo global y local

1. La funcion objectivo puede ser unimodal o multimodal.

a. Unimodal – Un solo optimob. Multimodal – mas de un optimo

2. El optimo global es el mejor de todos los optimos locales.

6

Una funcion objetivo unimodal

7

-1 -0.5 0 0.5 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

x1

x2

Una funcion objetivo multimodal

8

0 0.5 1 1.50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

max local Punto en silla de montar

Procesos de busqueda y la optimizacion

9

Procesos de optimizacion

ClasificacionSegun la naturaleza de las soluciones

Numericas:

la solucion es un conjunto de parametros m.

Combinatorias:

el orden de los parametros en la solucion es tambien importante

10

Procesos de optimizacion

ClasificacionSegun la naturaleza de la busqueda

Deterministicas:

Precisan mucho conocimiento

Aleatorias:

Poco eficientes Estocasticas u orientados

11

Procesos de optimizacion

ClasificacionSegun la direccion preferente de la

busqueda Explotadoras:

Prioridad a la explotacion de las soluciones disponibles

Exploratorias:

Prioridad a la exploracion de nuevas soluciones

12

Procesos de optimizacion

ClasificacionSegun el numero de candidatos a solucion

Simples:

Un solo candidato a solucion

Multiples:

Varios candidatos a solucion simultaneos

13

Procesos de optimizacion

ClasificacionSegun la informacion disponible

Ciegas:

No hay informacion explicita sobre la funcion

Heuristicas:

Se dispone de cierto conocimiento especifico acerca del proceso a optimizar

f x

14

Complejidad de la optimizacion

Dada la complejidad de los problemas de optimizacion,

puede ser necesario Modificar el problema, tal que admita una

solucion aproximada Desarrollar algoritmos especificos, tal que

encuentren la solucion en algunos casos (no todos)

Rebajar las restricciones del problema Investigar otros algoritmos de optimizacion

16

El conflicto generalidad/eficiencia

Generalidad:

Cantidad de problemas capaz de resolver

Fortaleza:

Eficiencia del algoritmo

Robustez:

Generalidad X eficiencia

17

El conflicto generalidad/eficiencia

Para los procedimientos tradicionalesla relacion generalidad vs eficiencia

es inevitablemente constante

La computacion evolutiva trata de dar mayor robustez que las tecnicas clasicas

18

Tecnicas clasicas de optimizacion

Tecnicas analiticas

El espacio de busqueda esta claramente definido y es continuo

La funcion objetivo es lo suficientemente “suave” y no es ruidosa

19

Tecnicas analiticas de optimizacion

Metodos de solucion

Solucion directa

Solucion indirecta Busca el optimo trepando iterativamente en la

direccion de maxima pendiente

20

Tecnicas analiticas de optimizacion

Desventajas

Para la funcion objetivo tiene sentido el concepto de ”direccion preferente de busqueda”

Son esencialmente locales

21

Ejemplo: maximizar la funcion peaks Encontrar el max. de la funcion “peaks” z = f(x, y) = 3*(1-x)^2*exp(-(x^2) - (y+1)^2) - 10*(x/5 - x^3 -

y^5)*exp(-x^2-y^2) -1/3*exp(-(x+1)^2 - y^2).

22

Ejemplo: maximizar la funcion peaks Derivada de la funcion “peaks”

dz/dx = -6*(1-x)*exp(-x^2-(y+1)^2) - 6*(1-x)^2*x*exp(-x^2-(y+1)^2) - 10*(1/5-3*x^2)*exp(-x^2-y^2) + 20*(1/5*x-x^3-y^5)*x*exp(-x^2-y^2) - 1/3*(-2*x-2)*exp(-(x+1)^2-y^2)

dz/dy = 3*(1-x)^2*(-2*y-2)*exp(-x^2-(y+1)^2) + 50*y^4*exp(-x^2-y^2) + 20*(1/5*x-x^3-y^5)*y*exp(-x^2-y^2) + 2/3*y*exp(-(x+1)^2-y^2)

d(dz/dx)/dx = 36*x*exp(-x^2-(y+1)^2) - 18*x^2*exp(-x^2-(y+1)^2) - 24*x^3*exp(-x^2-(y+1)^2) + 12*x^4*exp(-x^2-(y+1)^2) + 72*x*exp(-x^2-y^2) - 148*x^3*exp(-x^2-y^2) - 20*y^5*exp(-x^2-y^2) + 40*x^5*exp(-x^2-y^2) + 40*x^2*exp(-x^2-y^2)*y^5 -2/3*exp(-(x+1)^2-y^2) - 4/3*exp(-(x+1)^2-y^2)*x^2 -8/3*exp(-(x+1)^2-y^2)*x

d(dz/dy)/dy = -6*(1-x)^2*exp(-x^2-(y+1)^2) + 3*(1-x)^2*(-2*y-2)^2*exp(-x^2-(y+1)^2) + 200*y^3*exp(-x^2-y^2)-200*y^5*exp(-x^2-y^2) + 20*(1/5*x-x^3-y^5)*exp(-x^2-y^2) - 40*(1/5*x-x^3-y^5)*y^2*exp(-x^2-y^2) + 2/3*exp(-(x+1)^2-y^2)-4/3*y^2*exp(-(x+1)^2-y^2)

23

Ejemplo: maximizar la funcion peaks Proceso aplicando Algoritmos Geneticos:

poblacion Inicial 5a generacion 10a generacion

24

Ejemplo: maximizar la funcion peaks Proceso aplicando Algoritmos Geneticos:

25

Ejemplo: problema de minimizacion

Minimizar 2 22, 100 1 f x y y x x

26

La Teoría de la Evolución Natural

27

La computacion evolutiva

La computacion evolutiva:

Enfoque alternativo para abordar problemas complejos de

busqueda y aprendizaje A traves de modelos computacionales de

procesos evolutivos

28

Selección Natural

Proceso natural por el cual los individuos mas aptos de un grupo de descendientes sobrevive

Mientras los menos aptos, mueren sin dejar descendientes y así se eliminan los rasgos característicos de los menos aptos

Este proceso explica los cambios en las características de las especies en el tiempo, y eventualmente produce especies y tipos nuevos de organismos

33

Evolución

Proceso de descendencia con cambio, y posiblemente diversificación

Componentes:

Población

Variación: en una o mas características

Herencia: Transmisión padres – hijos

Selección: Diferentes tasas de reproducción y supervivencia. Mas aptos se reproducen mas

42

Evolución

Proceso de descendencia con cambio, y posiblemente diversificación

Evolución = Variación + Herencia + Selección

Variación: en una o mas características Herencia: Transmisión padres - hijos Selección: Diferentes tasas de reproducción y

supervivencia. Mas aptos se reproducen mas 43

Computación Evolutiva

44

Computación Evolutiva

Años 50s y 60s: varios científicos de manera independiente

estudiaron sistemas evolutivos, con la idea usar la evolución como método optimización en ingeniería

Idea: Evolucionar una población de posibles soluciones a un problema dado, utilizando operadores inspirados por la variación genética, y la selección natural

45

La computacion evolutiva

La computacion evolutiva:

Enfoque alternativo para abordar problemas complejos de

busqueda y aprendizaje A traves de modelos computacionales de

procesos evolutivos

47

La computacion evolutiva

Años 70: propuesta por John Holland (1975)

“Adaptation in natural and artificial systems”

propone por primera vez una clase de métodos, llamados Algoritmos Genéticos, para la resolución de problemas.

La aparicion de computadoras de altas prestaciones permite el uso practico de la CE

Años 80: divulgacion por Goldberg y Davis

48

La computacion evolutiva

Los algoritmos evolutivos:

La computacion evolutiva no trata tanto de reproducir ciertos fenomenos que suceden en la naturaleza

sino de aprovechar las ideas genericas detras

de ellos: la evolucion

49

La computacion evolutiva

Los algoritmos evolutivos:

AE: procedimiento estocastico de busqueda basado en el principio de la evolucion “supervivencia del mas apto”

Modo de conseguirlo “adaptacion al entorno”

50

Mecanismo de la evolucion

51

Los Algoritmos evolutivos

52

Procedimiento en los AE

Poblacion = conjunto de candidatos (individuos) a soluciones de un problema

La poblacion es sometida a: Transformacion: proceso de adaptacion Seleccion: supervivencia de los mas

aptos

Transformacion+Seleccion = una generacion

53

Estructura de los AE

Un AE debe disponer de:

Una poblacion de posibles soluciones, es decir, individuos

Un procedimiento de transformacion: construccion de nuevos individuos a partir de los disponibles

Un procedimiento de seleccion, basado en la aptitud de los individuos

54

Proposito de los AE

Un AE debe encontrar

Al final de una generacion, la supervivencia de la poblacion mas apta

Tras cierto numero de generaciones, los individuos mas proximos a la solucion buscada sobreviven

55

El Ciclo Evolutivo

Recombination

MutationPopulation

Offspring

ParentsSelection

Replacement

56

Paradigmas de los AE

3 paradigmas fundamentales

Algoritmos geneticos [Holland] Poblacion: enteros binarios

Estrategias evolutivas [Rechenberg] Poblacion: numeros reales

Programacion evolutiva [Fogel] Poblacion: maquinas de estado

57

Algoritmos Genéticos

Jhon Holland, 60s, y 70s, Univ. Michigan

Idea original: estudio teórico de la adaptación, no la resolución de problemas

Representación genética independiente del dominio: cadenas de bits

Énfasis en recombinación, operador principal, mutación papel secundario aplicado con baja probabilidad, constante

Selección probabilística

58

Los AE en el Soft Computing

65

Caracterizacion de los algoritmos geneticos

66

La computacion evolutiva y los AGs

Razones de la preeminencia de los AGs frente a otros paradigmas

Son muy flexibles. Se pueden fusionar con otros paradigmas y enfoques

Mayor base teorica Necesitan menos conocimiento especifico

para su funcionamiento Es el paradigma mas usado entre los de la CE

67

Algoritmos geneticos: Definicion

Los Algoritmos Geneticos sonmetodos estocasticos

de busqueda ciegade soluciones cuasi-optimas

68

Algoritmos geneticos: caracteristicas

Los AGs son metodos de busqueda

Ciega Codificada Multiple estocastica

69

Estructura y componentes basicos de los AGs

70

Bucle basico de un AG

71

Terminologia

GENOTIPO CROMOSOMA

GENES

Sucesión Lineal

“Caracteres”

LOCUS: Lugar del cromosoma

ALELES: valores de los caracteres ó estados de los genes.

72

Terminologia

CROMOSOMA INDIVIDUO FENOTIPO

SOLUCIÓN POTENCIAL

1 1 0 0 0 1 0 0 1 0 1 1 1

73

La poblacion

Objetos sometidos a evolucion

n individuos

m posiciones

m genes

aj alelos

L1+…+Lm bits

74

Los individuos

Estructura y contenido de los individuos

75

Evaluacion de los individuos

La aptitud de los individuos se evalua a partir de

La funcion de evaluacion,

Evaluacion, o “aptitud bruta”

La funcion de aptitud,

Aptitud, o “aptitud neta”

f x

u x

76

Evaluacion de los individuos

77

Bucle basico de un AG

Soluciones

1100101010

1011101110

0011011001

1100110001

Cromosomas 110010 1010

101110 1110

1100101110

0011011001

0011001001

1100101110

1011101010

0011001001

Soluciones

Cálculo Aptitud

Rueda de la Ruleta

Selección

Cruce

Mutación

Evaluación

Decodificación

Codificación

78

79

Dos generacionesDos generaciones

Flujo

1001011001100010101001001001100101111101

. . .

. . .

. . .

. . .

1001011001100010101001001001110101111001

. . .

. . .

. . .

. . .

Seleccion Cruce Mutacion

Generacionacual

Proximageneracion

Elitismo

Procedimientos basicos de un AG

80

Procedimientos basicos de un AG

El proceso de seleccion de progenitores

A partir de la poblacion inicial Mediante muestreo Obtener la poblacion de

progenitores

81

Mecanismos de muestreo de poblaciones

Muestreo directo

los k mejores,

a dedo,

etc,…

S Se toma un subconjunto de individuos de la poblacion siguiendo un criterio fijo A

82

Mecanismos de muestreo de poblaciones

Muestreo aleatorio equiprobable

SASe asigna a todos los

elementos de la poblacion las mismas probabilidades de

formar parte de la muestraA

83

Mecanismos de muestreo de poblaciones

Muestreos estocasticos:Se asignan las probabilidades en funcion de su aptitud

SAA

1

ii

n

up

u u

84

Procedimientos basicos de un AG

El proceso de reproduccion

A partir de la poblacion de progenitores Seleccionar algunos miembros Aplicar alguno de los operadores

geneticos de transformacion: Cruce Mutacion Inversion, etc

85

Operadores geneticos de recombinacion

Actuan sobre parejas y originan otro par que combinan caracteristicas de

los progenitores

Cruce

86

Operadores geneticos de alteracion

Actuan sobre un individuo, realizando una pequeña modificacion a alguno o

algunos de sus genes

Mutacion

87

Procedimientos basicos de un AG

El proceso de reproduccion

El numero de descendientes s es aleatorio Para valores grandes de s varia mas la

poblacion de una generacion a otra s menor o igual al 60% de n.

88

Procedimientos basicos de un AG

El proceso de remplazo

Remplazo inmediato de los progenitores

Remplazo de los mas parecidos Remplazo por insercion

s < n se sustituyen s progenitores s > n se muestrean n miembros de la

poblacion Remplazo por inclusion se muestrean n

de los s+n89

El algoritmo genetico basicoSGA (Goldberg)

90

Criterios para implantar un AG

Criterio de codificacion

Criterio de inicializacion

Criterio de parada

Funciones de evaluacion y aptitud

¿Cómo codificar?

¿Cómo evaluar?

91

Criterios para implantar un AG

Criterios de seleccion

Operadores geneticos

Criterios de remplazo

Parametros de funcionamiento

¿Cuáles individuos?

¿Cuáles individuos?

92

Criterios del algoritmo genetico basico

Criterio de codificacion:

especifico a cada problema Criterio de inicializacion

cadenas binarias elegidas al azar Criterio de parada

numero maximo de iteraciones Funcion de evaluacion = funcion de aptitud

Una funcion objetivo

93

Metodos para implantar el SGA

Operadores geneticos:

cruce monopunto y mutacion bit a bit

Criterio de seleccion: Por sorteo Criterio de remplazo: inmediato Parametros de funcionamiento:

discrecionalesParametros de funcionamiento tipicos

Popsize=30 maxIter=50Pcross=60& pmut=3.33%

94

Operador genetico de cruce

Cruce monopunto

95

Operador genetico de mutacion

Mutacion bit a bit

El punto de mutacion se selecciona de entre todos los (n x l ) de la

poblacion

96

El procedimiento de seleccion

El proceso de seleccion

Para cada individuo se genera un numero aleatorio ri

Se comparan ri con la probabilidad de cruce Pcross

Son seleccionados para cruzarse los individuos para los que

ri < Pcross

97

Ejemplos

98

Ejemplo (Riolo, 1992)

Se propone resolver el siguiente problema de optimizacion

Hallar

Utilizando un AG con parametros

popSize=6 pcross=30% pmut=1%

Con una precision de media centesima

TOL=5X10-3

* arg max sin 32 : 0,1x f x x x x

99

Ejemplo (Riolo, 1992)

El problema tiene la dificultad de ser multimodal

La funcion objetivo100

Ejemplo (Riolo, 1992)

Codificacion: binaria, tal que

Len = 8

Formula de decodificacion

101

Algoritmo del ejemplo

Generar la poblacion inicial Evaluar la aptitud de los

individuos Realizar el sorteo de los

individuos Seleccionar los individuos a

cruzar Cruzar los individuos

seleccionados Sustituir los progenitores Generar los bits a mutar Mutar los bits correspondientes

Nueva poblacion102

Ejemplo

Se propone resolver el siguiente problema de optimizacion

Hallar

* 2arg max : 0,1,2, ,31x f x x x

103

Ejemplo: maximizar la función f(x) = x2 sobre los enteros [0..31]

Generación 1

Selección Proporcional al valor del fitness

Nº String Valor X

Fitness X2

% del total de fitness

1 01101 13 169 14.4 2 11000 24 576 49.2 3 01000 8 64 5.5 4 10011 19 361 30.9 Total 1170 100.0

1

23

4

Cromosoma (representación del genotipo)Fenotipo (característica externa observable)( 169 / 1170 ) * 100Valor de aptitud del individuo en la

resolución del problema

104

Ejemplo: maximizar la función f(x) = x2 sobre los enteros [0..31]

Obtención de la próxima generación

Accionar la ruleta dos veces para elegir dos individuos.

Obtener dos hijos del par de padres seleccionados.

Repetir el proceso hasta obtener tantos hijos como padres y reemplazar la vieja población por la nueva.

105

Ejemplo: maximizar la función f(x) = x2 sobre los enteros [0..31]

Supóngase que al accionar 4 veces la ruleta se obtienen los siguientes resultados en el orden indicado: 2,1,4,2.

Se aplicará crossover con probabilidad 0.8 PadreID Cromosoma Pto.cruce Hijos

2 11000 1100 | 0 11001

1 01101 4

0110 | 1 01100

PadreID Cromosoma Pto.cruce Hijos

4 10011 10 | 011 10000

2 11000 2

11 | 000 11011

106

Note que existe una probabilidad de 0.2 de que las parejas pasen intactas.

Aplicar mutación con probabilidad baja. Ej: 0.001

Nueva generacion

11001

01100

10000

11011

107

Ejemplo: maximizar la función f(x) = x2 sobre los enteros [0..31]

Evaluacion de la generación 2

Repetir hasta que se cumpla la condición de finalización

Nº String Valor X

Fitness X2

% del total de fitness

1 11001 25 625 35.6 2 01100 12 144 8.2 3 10000 16 256 14.6 4 11011 27 729 41.6 Total 1754 100.0

108

Algoritmo Genético Básico

begin

t := 0;

inicializar P(t);

evaluar los individuos de P(t);

while la condición de terminación no se satisfaga do

begin

t := t + 1;

select_repro C(t) desde P(t-1);

recombinar y mutar los individuos en C(t) formando C’(t);

evaluar los inidividuos en C’(t);

select_replace P(t) desde C’(t) y P(t-1);

end;

end;

Note que la selección puede aplicarse para la reproducción o el reemplazo.

109

Fuente

Anselmo Perez Serrada

Una introduccion a la computacion evolutiva

EscuelaTecnica Superior de Ingenieria Industrial de Valladolid, 9 de marzo de 1996

110

Recommended