Está en la página 1de 115

Juegos de Estrategia y Simulacin

Tema 6: Bsqueda Heurstica

Ignacio Olmeda Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Indice
6.1 6.2 6.3

Introduccin Recocido simulado Computacin evolutiva:


Algoritmos Genticos Estrategias evolutivas y Programacin evolutiva Programacin Gentica

6.4
2

Aplicaciones
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

1.

Introduccin

Ignacio Olmeda Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Un algoritmo heurstico es un procedimiento de bsqueda de soluciones casi optimales a un coste computacional razonable, sin ser capaz de garantizar la optimalidad o factibilidad de las soluciones empleadas ni determinar a que distancia de la solucin ptima nos encontramos (Reeves, 1995)
4
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Motivacin de los algoritmos heursticos


1. Mltiples ptimos (funciones multimodales) 2. Problemas NP 3. Mayor flexibilidad de modelacin (p.e. funciones discontinuas, no lineales,...) 4. Robustez y post-optimalidad Algoritmos heursticos
5
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Mltiples ptimos

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Problemas NP
Problema del TSP: un viajante de comercio quiere visitar n ciudades, cuyas distancias entre s son conocidas, pasando una sola vez por cada una de ellas y de manera que minimice el recorrido total

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Matemticamente:

min cij xij


s .a .
iN jN

x
jN

ij

=1 =1
ij

i N j N S N

x
iN

ij

x
iS jS

S 1

xij {0 ,1}
8

i , j N
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Es un problema NP-completo, para N ciudades hay ((N-1)/2)! soluciones posibles. Supongamos que empleamos un algoritmo de enumeracin simple y que tardamos 1 hora en resolver un problema para 20 ciudades

Para 21 ciudades tardaramos 20 horas Para 22 ciudades tardaramos 17.5 das Para 25 ciudades tardaramos 600 aos
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Algoritmos heursticos
1. Recocido simulado 2. Bsqueda Tab 3. Algoritmos evolutivos:
3.1 3.2 3.3 3.4 Algoritmos Genticos Programacin evolutiva Estrategias evolutivas Programacin gentica

4. Redes Neuronales Artificiales 5. Relajacin lagrangiana 6. Algoritmos fractales /Alienor-Gabriel ...


10
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

2.

Recocido simulado

11

Ignacio Olmeda Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Esquema
2.1 2.2 2.3 2.4 Introduccin Convergencia del algoritmo Ejemplos de optimizacin de funciones Ejemplos de aplicaciones econmicas

12

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

2.1 Introduccin

13

Ignacio Olmeda Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

En fsica de la materia condensada, el recocido es el proceso fsico consistente en calentar un slido hasta que se funde, seguido de un enfriamiento lento hasta que el slido cristaliza en un estado con una estructura molecular perfecta. Durante este proceso, se minimiza la energa libre del sistema.
14
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

El recocido simulado es un procedimiento heurstico que toma estas ideas y las aplica en la solucin de problemas de optimizacin. La idea bsica consiste en establecer un paralelismo entre la funcin objetivo a minimizar y la energa libre de un sistema, as como entre soluciones del problema y los estados de dicho sistema.

15

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Los algoritmos de recocido simulado emplean la formalizacin propuesta por Metropolis et al. (1953) para describir la evolucin de un slido sometido a un bao de calor hasta alcanzar el equilibrio termal.

16

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

El criterio de Metropolis determina la probabilidad de que un slido sometido a un proceso de recocido que se encuentre en un determinado estado pase a un nuevo estado con distinta energa. Supongamos que un sistema se encuentra en un estado i, con una energa libre Ei, y supongamos que generamos un nuevo estado j con energa Ej.

17

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Si la diferencia de energa Ej- Ei es menor o igual que cero, el estado j se acepta como nuevo estado con probabilidad uno. Si la diferencia de energa es mayor que cero, dicho estado se acepta probabilidad:

Ei E j exp k T B

donde T representa la temperatura del bao de calor y kB es una constante fsica (la constante de Boltzmann).
18
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

El algoritmo de recocido simulado no es ms que un procedimiento de generacin de soluciones seguido de la aplicacin del criterio de Metropolis de manera repetitiva:
paso 1: t=0; generar un estado aleatorio i paso 2: t=t+1; generar un estado j en una vecindad de i paso 3:
19

si Ej < Ei i=j si Ej Ei i=j con probabilidad exp(-(Ej-Ei)/c(t))


Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

paso 4: si no se cumple un criterio de optimalidad ir al paso 2

Tema 6: Bsqueda Heurstica

Interpretacin intuitiva
E

exp(-(Ej-Ei)/c(t))

Ej

Ei

f ( x ) = 0
20

ji

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

2.2 Convergencia del algoritmo

21

Ignacio Olmeda Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Bajo ciertas condiciones y despus de un nmero elevado de iteraciones el algoritmo encontrar el ptimo, dicho de otra manera, el algoritmo converge asintticamente al conjunto de soluciones ptimas.

22

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Definicin: Sea (S,f) una instancia de un problema de optimizacin combinatoria y sean ck + y Si una vecindad de i. Llamamos probabilidad de generar j desde i a:

1 Gij ( ck ) = Si ( j ) Si i , j S

23

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Definicin: Sea (S,f) una instancia de un problema de optimizacin combinatoria y sea ck +. Llamamos probabilidad de aceptar j desde i a:

24

1 Aij ( ck ) = f ( i ) f ( j ) exp ck i , j S

si si

f ( j ) f (i ) f ( j ) > f (i )
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Definicin: Sea (S,f) una instancia de un problema de optimizacin combinatoria y sean ck +. Llamamos probabilidad de transicin desde i hasta j a:

Gij ( ck ) Aij ( ck ) Pij ( ck ) = 1 Gil ( ck ) Ail ( ck ) lS ,l i


25

si si

i j i= j
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Definicin: Una cadena de Markov es una sucesin de experimentos donde la probabilidad de un resultado depende slo del resultado en el experimento anterior. Si X(k) es una v.a. que denota el resultado en el k-simo experimento, entonces se define la matriz de transicin aquella que tiene por componentes:
26

Pij ( k ) = P{X ( k ) = j X ( k 1 ) = i},i , j S

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Obviamente, las probabilidades de transicin del algoritmo de recocido simulado conforman una matriz de transicin de una cadena de Markov, por lo que es aplicable toda la teora desarrollada en este contexto para analizar el algoritmo. En concreto, estaremos interesados en ver bajo que condiciones el algoritmo converge al conjunto de soluciones ptimas.

27

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Teorema: Sea (S,f) una instancia de un problema de optimizacin combinatoria y sea P la matriz de transicin de un algoritmo de recocido simulado, entonces, si se verifica: i , j S ,l0 ,l1 ,...,l p S l0 = i ,l p = j

y entonces:

c k 0 k
28 (Aarts y Van Larhoven, 1987)

lim lim P{X ( k ) S opt } = 1


Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Glk lk +1 > 0 , k = 0 ,1,..., p 1

2.3 Ejemplos numricos

29

Ignacio Olmeda Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Ejemplo 1 Minimizacin de una funcin con mnimos desigualmente espaciad


2 x 0.08 sen6 ( 5 ( x 3 / 4 0.05 )) f ( x ) = 1 exp 2 log( 2 ) 0.854

sunevmin.m
30
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Ejemplo 2 Minimizacin de la funcin de Rosenbrock

f ( x1 , x2 ) = 100 x2 x1

2 2

) +(1 x )
1

srosen.m
31
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

3.

Algoritmos Genticos

32

Ignacio Olmeda Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Esquema
3.1 3.2 3.3 3.4 Introduccin Descripcin de un Algoritmo Gentico Ejemplos de optimizacin de funciones Ejemplos de aplicaciones econmicas

33

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

3.1 Introduccin

34

Ignacio Olmeda Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Los Algoritmos Genticos (AG) son procedimientos de bsqueda de soluciones basados en el principio de evolucin natural (Darwin y Wallace) Principio de evolucin natural: los individuos mejor adaptados al medio tienen mayores probabilidades de sobrevivir y reproducirse, transmitiendo su informacin gentica a sus sucesores
35
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Al cabo de muchas generaciones, la poblacin estar integrada por individuos bien adaptados al medio y con caractersticas genticas similares. Tres observaciones:

La evolucin se manifiesta sobre una poblacin, no sobre un individuo La seleccin acta sobre cada uno de los individuos La informacin se transmite genticamente. codificada

36

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

La idea de los AG consiste en aplicar estas ideas sobre conjuntos de soluciones de un problema matemtico, logrando nuevas y mejores soluciones. Dado el problema combinatorio:

max s.a.
Poblacin Adaptacin

f ( x) xS Z
n

Podemos hacer la correspondencia:


Conjunto de soluciones Valor de la funcin objetivo
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

37

Tema 6: Bsqueda Heurstica

Obsrvese que, a diferencia de los mtodos de descenso por gradiente, bsqueda aleatoria y recocido simulado, los AG actan sobre conjuntos de soluciones que van mejorando iteracin a iteracin y no sobre una sola solucin.
38
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

En lo que sigue, sin prdida de generalidad, supondremos que queremos resolver el problema de una sola variable:

max s.a.

f ( x) xS Z

39

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

3.2 Descripcin de un AG

40

Ignacio Olmeda Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Los AG son procedimientos iterativos que emplean cuatro ideas fundamentales:


a) Codificacin binaria b)Reproduccin c) Cruce d)Mutacin
41
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

a)

Codificacin binaria

42

Ignacio Olmeda Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

En Optimizacin Combinatoria se trabaja habitualmente con soluciones expresadas en un alfabeto de once smbolos: los nmeros del uno al diez y el signo negativo. Sin embargo, se puede expresar cualquier nmero entero como una cadena de ceros y unos, es decir, se puede expresar en alfabeto binario.

43

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Por ejemplo, si tenemos un nmero del 1 al 4, podemos hacer la correspondencia: 1 2 3 4


44

00 01 10 11
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Con una cadena de longitud L se pueden codificar 2L nmeros distintos.

Tema 6: Bsqueda Heurstica

Para codificar un nmero real en binario hay que factorizar el nmero en cuestin en potencias decrecientes del dos y tomar los coeficientes que multiplican a cada una de las potencias. ejemplo:
19 = 16 + 2 + 1 = 24 + 21 + 20 = 1 24 + 0 23 + 0 22 + 1 21 + 1 20 10011
45
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Para descodificar una cadena binaria a1 a2 ...aL empleamos la frmula:

x = ai 2
i =1

L i

ejemplo: 10011 1 24 + 0 23 + 0 22 + 1 21 + 1 20 = = 16 + 2 + 1 = 19

46

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

b) Seleccin

La seleccin es el mecanismo por el cual soluciones ms prximas al ptimo (individuos mejor adaptados) tienen mayor probabilidad de sobrevivir y ser elegidos (seleccionados) para reproducirse.

47

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Supongamos que, en una determinada iteracin del algoritmo, tenemos un conjunto de soluciones, que denominaremos poblacin: P = {x1, x2,..., xr}, xi S Z y que cada una de ellas (que denominamos individuos) tiene un valor de la funcin objetivo f(x1), f(x2),..., f(xr)
48
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

La seleccin supone que cuanto mayor sea f(xi), mayor sea la probabilidad pi de que xi sea elegido y se reproduzca. Una manera sencilla de hacer esto es tomar:

pi =
49

f ( xi )

f (x )
j =1 j
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Despus asignamos realizamos extracciones aleatorias de la distribucin de probabilidad obtenida; grficamente:

2%

38%

Individuo 3 Individuo 2 Individuo 1


60%

50

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

c)

Cruce

El cruce consiste en el intercambio de una seccin cualquiera de las cadenas binarias de dos individuos al azar de la poblacin seleccionada.

51

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

El cruce sigue los siguientes pasos: primero: elegir un punto de corte, al azar, de ambas cadenas: ejemplo: 110 | 000 011 | 011

52

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

segundo: intercambiar las secciones entre ambas ambas cadenas, generando una nueva solucin (individuo hijo) con la parte inicial del primer individuo (madre) y la parte final del segundo (padre): ejemplo: 110 | 000 (madre)
53

011 | 011(padre)

110 | 011

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

d) Mutacin
La mutacin consiste en cambiar, con una probabilidad muy pequea, cualquier elemento de una cadena, pasando de cero a uno o viceversa. ejemplo: 110000 (antes de la mutacin) 111000 (despus de la mutacin)
54
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

La mutacin permite generar nuevas soluciones en poblaciones estancadas que generaran individuos idnticos a los padres. Por ejemplo, la poblacin: x1=110001 x2=110001 x3=110001
55

generara siempre los mismos hijos.

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Esquema de un Algoritmo Gentico


paso 1: t=0; generar una poblacin aleatoria P={x1,...,xn} paso 2: calcular f(x1),...,f(xn) paso 2: t=t+1; aplicar los procedimientos de seleccin cruce mutacin generando una nueva poblacin P={x1,...,xn} paso 3: reemplazar P por P
56

paso 4: si no se cumple un criterio de optimalidad ir al paso 2

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Caso general: optimizacin real con restricciones


Supongamos que queremos resolver el problema:

max s .a .

f(x) g j ( x ) 0 , j = 1,2 ,..., q h j ( x ) = 0 , j = q + 1,..., m x = ( x1 , x2 ,..., xn )


n
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

57

Tema 6: Bsqueda Heurstica

Codificacin de soluciones reales

Solo es necesario redondear los dgitos que consideremos relevantes y tratar el nuevo nmero como un entero. ejemplos: 345,6 0,00978
58

346 978
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Tratamiento de las restricciones Podemos penalizar a las soluciones que violen las restricciones en proporcin a la magnitud de dicha violacin Es decir, aunque una solucin tenga un elevado valor de la funcin objetivo podemos rebajar dicho valor cuando no verifica las restricciones.

59

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Una forma de hacer esto es emplear el AG para optimizar una funcin distinta a la funcin objetivo: m

( x ) = f ( x ) f ( x ), f j
j =1

max{ 0 , g j ( x )} f j( x ) = si hj( x )
60

0 j q q +1 j m si
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Convergencia
Al igual que para el recocido simulado, cabe preguntarse bajo que condiciones puede asegurarse la convergencia de los algoritmos genticos al conjunto de soluciones ptimas. En primer lugar, para alcanzar la convergencia del algoritmo es necesario que la probabilidad de mutacin sea decreciente con el nmero de iteraciones y que se adopte una estrategia elitista1.
1

Davis, T. y J. Principe (1993): A Markov Chain Framework for the Simple Genetic Algorithm, Evolutionary Computation, 1, 269-288.
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

61

Tema 6: Bsqueda Heurstica

Convergencia
Sin embargo, a diferencia de otras tcnicas evolutivas, en general no es posible asegurar la convergencia de los algoritmos genticos al conjunto de soluciones ptimas. Esta es una importante desventaja terica frente a otro tipo de algoritmos heursticos. Sin embargo, desde el punto de vista prctico, su comportamiento es igual o superior a otros procedimientos.

62

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

3.3 Ejemplos de optimizacin de funciones

63

Ignacio Olmeda Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Supongamos problema

que queremos resolver el

s.a.

max x2 x { 31,30,...0,1,...,30,31}

(la solucin es trivial: xopt=-31 o xopt=31)


64
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Un AG seguira los siguientes pasos: Paso 1: Generar un conjunto aleatorio de soluciones y codificarlas en binario Paso 2: Aplicar el mecanismo de seleccin Paso 3: Elegir parejas de seleccionados y aplicar cruce Paso 4: Aplicar mutacin a los hijos Paso 5: Si no se ha llegado al ptimo, volver al paso 2

65

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Paso 1: Generar un conjunto aleatorio de soluciones y codificarlas en binario. Ejemplo: P= {x1, x2, x3, x4} ={-13, 19, 24, 4 } P (codif.)={101101, 010011, 011000, 000100}
66
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Paso 2:

Aplicar el mecanismo de seleccin f(x1)=(-13)2=169 f(x2)=(19)2=361 f(x3)=(24)2=576 f(x4)=(4)2=16

67

f(x
j =1

) = 169 + 361 + 576 + 16 = 1122

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

p1 =

f ( x1 )

f(x
j =1

= )

169 = 0 ,150 15% 1122

p2 =

f ( x2 )
j

f(x
j =1

= )

361 = 0 ,321 32% 1122

p3 =

f ( x3 )
j

f(x
j =1
4

= )

576 = 0 ,513 52% 1122


16 = 0 ,014 1% 1122

p4 =

f ( x4 )

f(x
j =1

= )

68

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Indiv 4 Indiv 2 Indiv 2

Indiv 3

69

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Supongamos que han sido seleccionados: P sel.= {x3, x2, x1, x3} ={24, 19, 13, 24}

70

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Paso 3: Elegir parejas de seleccionados y aplicar cruce Supongamos que se eligen los pares: x3, x2 x1, x3 x2, x3 x3, x1

71

011000, 010011 101101, 011000 010011, 011000 011000, 101101

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Y se intercambian sub-cadenas a partir de la tercera posicin: x3, x2 x1, x3 x2, x3 x3, x1


72

011000, 010011 011011 x1*= 27 101101, 011000 101000 x2*= -8 010011, 011000 010000 x3*= 16 011000, 101101 011101 x4*=29
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Paso 4.

Aplicar a la nueva poblacin la mutacin y reemplazar la poblacin original

Supongamos que solo muta el primer individuo: 011011 x1*= 27 (antes de la mutacin) 011010 x1*= 26 (despus de la mutacin)
73
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

La nueva poblacin ser: 011010 101000 010000 011101 x1*= 26 x2*= -8 x3*= 16 x4*=29 f(x1*)= (26)2=676 f(x2*)= (-8)2=64 f(x1*)= (16)2=256 f(x1*)= (29)2=841

74

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Reemplazando la poblacin anterior tendramos: P= {x1*, x2*, x3*, x4*} ={26, 16, -8, 29} como puede verse, dos soluciones de esta nueva poblacin (x1*= 26 y x4*= 29), tienen mayor valor e la funcin objetivo que la mejor solucin anterior, x3=24).
75
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Paso 5.

Si no se ha llegado al ptimo volver al paso 2.

Deberamos evaluar si la mejor solucin encontrada x4*= 29 es suficientemente buena, o bien repetir nuevamente el proceso. Podemos suponer que es as y terminar con nuestro ejemplo.
76
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Ejemplo 1
Maximizacin de la funcin de Himmelblau:

f ( x1 , x2 ) = 800 ( x1 + x2 11 ) ( x1 + x2 7 )2
2 2 2

x* = ( 3.58 ,1.86 ) x** = ( 3 ,2 ) x*** = ( 2.815 ,3.125 ) x**** = ( 3.78 ,3.28 ) f ( x* ) = 800
77
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

78

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Parmetros
nindiv = 20 lcrom = 10 Pc=0.9 Pm=0.01
]5,5 [x]5,5 [

ghimmel.m ghimmel2.m
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

79

U x

Tema 6: Bsqueda Heurstica

Algoritmos Genticos

Ejemplo 2
Maximizacin de la funcin de Bohachewski:
f ( x1 , x2 ) = 20 x1 + 2 x2 (0.3Cos 3x1 cos 4x2 + 0.3 )
2 2

x* = ( 0 ,0 ) f ( x* ) = 10

80

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

81

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Parmetros
nindiv = 20 lcrom = 15 Pc=0.9 Pm=0.005
]6,6 [x]6,6 [

gboha.m

82

U x

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Aplicaciones

83

Ignacio Olmeda Dept. Ciencias de la Computacin Universidad de Alcal

Travelling Salesman Problem

84

Ignacio Olmeda Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

min cij xij


iN jN

s .a.

x
jN

ij

=1 =1
ij

i N j N S N

x
iN

ij

x
iS jS

S 1

xij {0 ,1}
85

i , j N
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Parmetros
nindiv = 20 lcrom = 15 Pc=0.9 Pm=0.01 elitista
86
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Colorear un mapa

87

Ignacio Olmeda Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Problema

88

Colorear el mapa con uno de los tres colores sin que dos cuadrados tengan el mismo color

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Aplicacin de un AG

RGGBRBGGBRBRB

Representar las posibles soluciones como una cadena de caracteres


89
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Hay que crear una funcin objetivo


Que sea creciente para las mejores soluciones Por ejemplo F podra ser el nmero de fronteras correctas 16 de 26 en este ejemplo

90

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Despus construimos una poblacin de soluciones

[R G B B ] [G B R R ]

[G G G R ] [B G R B ]

[R G R B ] [G B R G ]

Aplicamos los operadores de AG e iteramos

91

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

92

Generamos una nueva poblacin a partir de la anterior Habr que sesgar el operador de seleccin para ir obteniendo mejores soluciones

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Mutacin

Cambiamos aleatoriamente cualquier bit a otro color con una probabilidad muy pequea
93
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Cruce

+
Combinamos pares de secuencias para formar otras
94
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

+
RGBRRBGRBGBRB RGBRRBGRBGBRB RGB BGGGBRGBRGBG BGGGBRGBRGBG

95

RGBGBRGBRGBG

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

96

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

El cruce puede ser en cualquier punto arbitrario:

97

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Identificacin de sospechosos

98

Ignacio Olmeda Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Reconocimiento de sospechosos usando Faceprints


Faceprints es un sistema desarrollado por la New Mexico State University Emplea a los AG para ayudar a los testigos en la identificacin de sospechosos La identificacin es un proceso relativamente inmediato: es muy fcil identificar a un criminal a partir de una foto, pero es muy difcil describir los elementos de su fisonoma Es incluso muy difcil generar una cara similar a partir de una librera de rasgos visuales
99
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Reconocimiento de sospechosos usando Faceprints


Aproximacin de los AG:

100

Generar aleatoriamente 20 caras en una pantalla de ordenador El testigo asigna una puntuacin entre 1 y 10 a cada una de las caras El AG genera caras adicionales a partir de 5 bloques constructivos:ojos, boca, nariz, pelo y mandbula Cada uno es una secuencia de 7 bits Los cinco bloques se codifican en una secuencia binaria de 35-bit que consiste en cinco bloques de 7 bits, lo que permite generar 34 mil millones de caras El testigo evala sucesivas generaciones La convergencia se suele alcanzar al cabo de 20 generaciones

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Faceprints

101

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Construccin de sistemas burstiles

102

Ignacio Olmeda Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Un problema muy importante consiste en determinar si la evolucin futura de un valor burstil puede ser predicha a partir de su comportamiento pasado. Entre las tcnicas que los inversores emplean, est el Anlisis Tcnico, que se basa en el empleo de grficas y osciladores a partir de los que se trata predecir la evolucin.
103
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Un problema muy importante consiste en determinar si la evolucin futura de un valor burstil puede ser predicha a partir de su comportamiento pasado. Entre las tcnicas que los inversores emplean, est el Anlisis Tcnico, que se basa en el empleo de grficas y osciladores a partir de los que se trata predecir la evolucin.
104
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Por ejemplo, se suele hablar de niveles resistencia:

105

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

O de canales:

106

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Es muy empleado el indicador RSI (Relative Strenght Index) RSI=100-[100/(1+n1/n2)] Siendo:


n1 = proporcin de veces que el precio sube en los ltimos n periodos. n2 = proporcin de veces que el precio baja en los ltimos n periodos.

Se vende cuando el RSI es superior a B y se compra cuando es inferior a A, donde A y B son nmeros arbitrarios elegidos por el analista.
107
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

108

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Obsrvese que el RSI depende de tres parmetros: RSI(n,A,B), segn sea de adecuada la seleccin de estos parmetros el indicador ser mas o menos eficiente. Generalmente los inversores emplean ms de un indicador, que depender de otros parmetros.
109
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

Un sistema tcnico ser entonces algo as como (n,A,B,p1,p2,.....,pn) La funcin de ajuste ser el beneficio obtenido con el sistema en cuestin. El AG tratar de encontrar la combinacin de parmetros que maximiza el beneficio.
110
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Optimizacin de redes telefnicas

111

Ignacio Olmeda Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

El diseo de las redes telefnicas es extremadamente complejo: no slo hay que minimizar los costes de construccin y operacionales, sino que adems es necesario que la red provea de servicio a todos los usuarios del sistema. Quiz el principal problema es el de supervivencia: la red debe funcionar a un nivel requerido incluso en el caso en que un enlace o una sub-red del sistema falle.

112

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

US West se plante en 2000 el diseo de su red de telefona mediante el empleo de algoritmos genticos. US West tiene 25 millones de usuarios de telefona fija en 14 estados, adems de unos 500.000 de telefona mvil y 800.000 de datos. Tras la adquisicin por Qwest, la compaa tiene 2,6 millones de millas de fibra ptica en EEUU.
113
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

US West plante el problema de manera similar al TSP: en la resolucin al problema mediante AG, la funcin de ajuste consista en la longitud de la red, de manera que redes ms largas tenan pocas probabilidades de supervivencia. Adicionalmente, las redes generadas deban cumplir todas las otras restricciones. El tiempo de rediseo de nuevas redes se ha reducido de dos meses a dos das y permite ahorros entre1 y 10 millones de dlares.
114
Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 6: Bsqueda Heurstica

115

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

También podría gustarte