You are on page 1of 97

Inteligencia Artificial

2.2 Mtodos de Bsqueda


Respaldados con Informacin
Mtodos
Bsqueda Preferente por lo Mejor
Bsqueda Avara
Bsqueda A*
Bsqueda limitada por la capacidad de la memoria
Bsqueda A* por profundizacin iterativa (A*PI)
Bsqueda A*SRM (Acotada por memoria simplificada)
Algoritmos de Mejoramiento Iterativo
Bsqueda por ascenso de cima (Hill-Climbing)
Endurecimiento simulado (Simulated Annealing)
Bsqueda preferente
por lo mejor
El conocimiento en base al cual se apoya la
decisin del nodo que toca expandirse es
obtenido desde una funcin de evaluacin.
La funcin de evaluacin produce un nmero
que sirve para representar lo deseable (o
indeseable) que sera la expansin de un nodo.
Bsqueda preferente
por lo mejor
Si los nodos se ordenan de tal manera que se
expande primero aqul con mejor evaluacin,
entonces la estrategia es llamada bsqueda
preferente por lo mejor.
Bsqueda preferente
por lo mejor
funcin BUSQUEDA-PREFERENTE-POR-LO-MEJOR
(problema, FUNCION-EVALUACION) responde con una
secuencia de solucin
entradas: problema, un problema
Funcin-Eval, una funcin de evaluacin
Funcin-lista-de-espera una funcin que ordena los nodos
mediante FUNCIN-EVAL
responde con BUSQUEDA-GENERAL (Problema, Funcin-
lista-de-espera)
Bsqueda preferente
por lo mejor
As como es existe una familia de algoritmos
BUSQUEDA-GENERAL, con distintas
funciones de ordenamiento, tambin existe una
familia de algoritmos BUSQUEDA-
PREFERENTE-POR-LO-MEJOR, que varan
la funcin de evaluacin.
Bsqueda preferente por lo
mejor
En el mtodo de costo uniforme, se empleaba el costo
de ruta (g) para decidir qu ruta ampliar.
g(n) es, entonces, el costo acumulado desde el nodo
inicio hasta el nodo en que nos encontramos, n.
Esta medida no es una bsqueda directa dirigida a la
meta
Si se quiere enfocar la bsqueda hacia la meta, en
esa medida debe figurar algn tipo de clculo del
costo de ruta del estado actual (n) a la meta.
Bsqueda preferente por lo
mejor
Bsqueda Avara (Greedy Search)
Es una de las ms sencillas estrategias en la
BPPLM, que consiste en reducir al mnimo el
costo estimado para lograr una meta.
En otras palabras, el nodo cuyo estado se considere
ms cercano a la meta en trminos de costo de ruta
se expande primero.
Bsqueda preferente
por lo mejor
Bsqueda Avara (Greedy Search)
Aunque casi siempre es posible calcular el costo
aproximado hasta la meta, es difcil hacerlo con
precisin.
La funcin utilizada para dicho estimado del costo
se llama funcin heurstica, simbolizada por h.
h(n) = costo estimado de la ruta ms barata que
une el estado del nodo n con un estado meta
Bsqueda preferente
por lo mejor
Bsqueda Avara (Greedy Search)
h puede ser cualquier funcin. El nico requisito es
que h(n) = 0 cuando n es una meta.
Cuando los problemas son de determinacin de
rutas en el mundo real (ejemplo, Rumania), una
buena funcin heurstica es la distancia en lnea
recta a la meta:
hDLR (n) = distancia en lnea recta entre n y la meta
Bsqueda preferente DLR de
Bucarest a:
por lo mejor Arad: 366
Bucarest: 0
Craiova: 160
Neamt Dobreta: 242
87
Eforie: 161
Oradea Iasi Fagaras: 178
Giurgiu: 77
71 151 92 Hirsova: 151
Fagaras Vaslui
75 Zerind Sibiu 99 Iasi: 226
142 Lugoj: 244
ARAD 140 211 Mehadia: 241
118 80 Rimnicu Urziceni Neamt: 234
Timisoara Vilcea 85 98 Oradea: 380
111 97
Pitesti Pitesti: 98
Lugoj 101 Hirsova Rimnicu
70 146 BUCHAREST
90 86 Vilcea: 193
Mehadia Sibiu: 253
75 138 Giurgiu Eforie
Timisoara:329
120 Craiova Urziceni: 80
Dobreta
Vaslui: 199
Zerind: 374
Bsqueda preferente por lo
mejor
Bsqueda Avara (Greedy Search)
Para calcular los valores de hDLR se requieren las
coordenadas de las ciudades de Rumania.
Esta funcin heurstica es til porque la carretera
que va de A a B tiende a dirigirse ms o menos en
la direccin correcta.
Ejercicio
Utilizar el mtodo de bsqueda avara para
solucionar el problema de Rumania. Mostrar el
desarrollo con rboles de bsqueda.
Bsqueda preferente por lo
DLR de
mejor Bucarest a:
Arad: 366
Bucarest: 0
Neamt Craiova: 160
87
Dobreta: 242
Oradea Iasi Eforie: 161
Fagaras: 178
71 151 92 Giurgiu: 77
Fagaras Vaslui
75 Zerind Sibiu 99 Hirsova: 151
142 Iasi: 226
ARAD 140 211 Lugoj: 244
118 80 Rimnicu Urziceni Mehadia: 241
Timisoara Vilcea 85 98 Neamt: 234
111 97
Pitesti Oradea: 380
Lugoj 101 Hirsova Pitesti: 98
70 146 BUCHAREST
90 86 Rimnicu
Mehadia Vilcea: 193
75 138 Giurgiu Eforie
Sibiu: 253
120 Craiova Timisoara:329
Dobreta
Urziceni: 80
Vaslui: 199
Zerind: 374
Bsqueda preferente por lo
mejor
Bsqueda Avara

Arad
h=366
Bsqueda preferente por lo
mejor
Bsqueda Avara

Arad
h=366

Sibiu Zerind
h=253 h=374
Timisoara
h=329
Bsqueda preferente por lo
mejor
Bsqueda Avara

Arad
h=366

Sibiu Zerind
h=253 h=374
Timisoara
h=329
Arad
Fagaras Rimnicu
h=366
h=178 Oradea h=193
h=380
Bsqueda preferente por lo
mejor
Bsqueda Avara

Arad
h=366

Sibiu Zerind
h=253 h=374
Timisoara
h=329
Arad
Fagaras Rimnicu
h=366
h=178 Oradea h=193
h=380
Sibiu
h=253 Bucharest Es una solucin, pero no es la ptima
h=0
Bsqueda preferente por lo
mejor
Bsqueda Avara
Esta bsqueda usualmente produce resultados
buenos
Tienden a producir soluciones rpidamente,
aunque no siempre la solucin encontrada es la
ptima.
Ejemplo, tratar de llegar de Iasi a Fagaras.
Bsqueda preferente por lo
mejor
Bsqueda Avara

Iasi
h=160
Bsqueda preferente por lo
mejor
Bsqueda Avara

Iasi
h=160

Neamt Vaslui
h=150 h=170
Bsqueda preferente por lo
mejor
Bsqueda Avara

Iasi
h=160

Neamt Vaslui
h=150 h=170

Iasi
h=160
Bsqueda preferente por lo
mejor
Bsqueda Avara

Iasi
h=160

Neamt Vaslui
h=150 h=170

Iasi
h=160

Neamt
h=150
Bsqueda preferente por lo
mejor
Bsqueda Avara
Se asemeja a la bsqueda preferente por profundidad, ya
que se atora al toparse con un callejn sin salida.
Tiene sus mismas deficiencias: no es ptima, es
incompleta, puede recorrer una ruta infinita.
Su complejidad es espacial es tan grande como su
temporal: O(bm), donde m es la profundidad mxima del
espacio de bsqueda. Una buena funcin heurstica permite
disminuir notablemente la complejidad tanto de espacio
como de tiempo.
Bsqueda preferente por lo
mejor
Bsqueda A*
La bsqueda avara reduce h(n), el costo hacia la
meta, pero no es ptima ni completa.
La bsqueda de costo uniforme reduce g(n), el
costo de ruta, es ptima y completa, pero puede ser
ineficiente.
Las dos funciones se podran combinar mediante
una suma:
f(n) = g(n) + h(n)
Bsqueda preferente por lo
mejor
Bsqueda A*
f(n) puede llamarse el costo estimado de la
solucin ms barata, pasando por n.
Es posible demostrar que esta estrategia es
completa y ptima, dada una restriccin de h.
La restriccin es escoger una funcin h que nunca
sobreestime el costo que implica alcanzar la meta.
Bsqueda preferente por lo
mejor
Bsqueda A*
A dicha funcin h se le llama heurstica
admisible.
A la bsqueda preferente por lo mejor que usa f
como funcin de evaluacin y una funcin h
aceptable se le conoce como bsqueda A*.
Bsqueda preferente por lo
mejor
Bsqueda A*
En el ejemplo de Rumania, la distancia en lnea
recta es una heurstica aceptable, ya que la ruta
ms corta entre dos puntos es la lnea recta (por lo
tanto, siempre ser menor que la distancia real,
nunca la sobreestimar).
Bsqueda preferente por lo
mejor
Bsqueda A*

Arad
f=0+366
f=366
Bsqueda preferente por lo
mejor
Bsqueda A*
Arad

Sibiu Zerind
f=140+253 f=75+374
Timisoara
f=393 f=449
f=118+329
f= 447
Bsqueda preferente por lo
mejor
Bsqueda A*
Arad

Sibiu
Zerind
f=140+253
f=75+374
f=393 Timisoara
f=449
f=118+329
f= 447
Arad
Fagaras Oradea Rimnicu
f=280+366
f=239+178 f=146+380 f=220+193
f=646
f=417 f=526 f=413
Bsqueda preferente por lo
mejor
Bsqueda A*. (Comportamiento)
Se puede observar que a lo largo de las rutas
originadas en la raz, el costo f nunca
disminuye.
En toda heurstica donde esto ocurre, se dice

que muestra monotonicidad.


Bsqueda preferente por lo
mejor
Bsqueda A*
Si la heurstica fuera no monotnica, debe usarse
la frmula

f(n) = max f(n),g(n) + h(n)

Donde n es el nodo actual y n es el padre de n


A esta frmula se le llama ecuacin de ruta
mxima.
Bsqueda preferente por lo
mejor
Bsqueda A*
Si f no disminuye, es posible dibujar contornos en
el espacio de estados.
Neamt

Oradea Iasi
Zerind Vaslui
Sibiu Fagaras
ARAD
Rimnicu Urziceni
f 380 Timisoara Vilcea
Pitesti
Lugoj Hirsova
f 400 BUCHAREST
Mehadia
Giurgiu Eforie
f 420 Craiova
Dobreta
Bsqueda preferente por lo
mejor
Bsqueda A*
Conforme va avanzando, la bsqueda A* dibuja
bandas concntricas, e incluyendo nodos.
En la bsqueda de costo uniforme (A* con h = 0)
las bandas son circulares alrededor del estado
inicial.
Si la heurstica es buena, las bandas tienden al
estado meta y se concentran apretadamente sobre
la ruta ptima.
Bsqueda preferente por lo
mejor
Bsqueda A*
Este mtodo es ptimamente eficiente para
cualquier funcin heurstica.
El problema con el A* es que, para la mayora de
los problemas, la cantidad de nodos en el contorno
de la meta sigue siendo exponencial.
El principal problema es el espacio, ya que
usualmente se agota la memoria primero (guarda
todos los nodos generados).
Funciones Heursticas
Problema de las ocho placas
Funciones Heursticas
Problema de las ocho placas
Una solucin tpica tiene 20 pasos (depende del
estado inicial).
El factor de ramificacin es aproximadamente 3
Una bsqueda exhaustiva de profundidad 20
examinara 320 estados.
An si se evitan estados repetidos, habra 362,880
arreglos diferentes.
Funciones Heursticas
Problema de las ocho placas
La funcin heurstica no debe sobreestimar la
cantidad de pasos necesarios para la meta.
Ejemplos:
h1 = cantidad de placas en lugar incorrecto
h2 = suma de las distancias (horizontales y verticales)
que separan a las placas de sus posiciones meta
(distancia Manhattan).
Funciones Heursticas
Problema de las ocho placas: Heurstica de la
cantidad de placas en lugar incorrecto.

h1 = 8 h1 = 0
Funciones Heursticas
Problema de las ocho placas: Heurstica de la
distancia Manhattan

h2 = 15 h2 = 0
Funciones Heursticas
Efectos de la exactitud heurstica en el desempeo
Una forma de medir la calidad de una heurstica es
mediante el factor de ramificacin efectiva b*.
Si la cantidad de nodos expandidos por A* para un
problema determinado es N, y la profundidad de la solucin
es d, entonces b* es el factor de ramificacin que deber
tener un rbol uniforme de profundidad d para que pueda
contener N nodos, por lo que
N = 1 + b* + (b*)2 + ... + (b*)d
Funciones Heursticas
Efectos de la Exactitud Heurstica
Un rbol como este tiene un factor de ramificacin
efectiva de 2

N=7 b* = 2
d=2 1 + 2+ 22 = 7
Funciones Heursticas
Efectos de la Exactitud Heurstica
Porque equivale a un rbol uniforme como este:

N=7 b* = 2
d=2 1 + 2+ 22 = 7
Funciones Heursticas
Efectos de la exactitud heurstica en el
desempeo
Por ejemplo, si A* encuentra una solucin en la
profundidad cinco, y utilizando 52 nodos, el factor
de ramificacin efectiva es de 1.91.
Por lo general, el b* correspondiente a una
heurstica determinada permanece constante a
travs de un amplia gama de problemas.
En una heurstica bien diseada, b* se aproxima a
1.
Funciones Heursticas
Costo de Bsqueda Factor de Ramificacin Efectivo
d BPPI A*(h1) A*(h2) BPPI A*(h1) A*(h2)
2 10 6 6 2.45 1.79 1.79
4 112 13 12 2.87 1.48 1.45
6 680 20 18 2.73 1.34 1.30
8 6,384 39 25 2.80 1.33 1.24
10 47,127 93 39 2.79 1.38 1.22
12 364,404 227 73 2.78 1.42 1.24
14 3,473,941 539 113 2.83 1.44 1.23
16 ----- 1,301 211 ----- 1.45 1.25
18 ----- 3,056 363 ----- 1.46 1.26
20 ----- 7,276 676 ----- 1.47 1.27
22 ----- 18,094 1,219 ----- 1.48 1.28
24 ----- 39,135 1,641 ----- 1.48 1.26
Funciones Heursticas
Efectos de la Exactitud Heurstica
Comparando los factores de ramificacin efectiva,
h2 es mejor que h1.
Si para todo nodo n, h2(n) h1(n), se dice que h2
domina a h1.
En general, siempre conviene ms emplear una
funcin heurstica con valores ms altos, siempre
cuando no d lugar a una sobreestimacin.
Funciones Heursticas
Invencin de Heursticas
A los problemas en que se imponen menos
restricciones a los operadores se les llama
problemas relajados.
Es frecuente que el costo de la solucin de un
problema relajado constituya una buena heurstica
del problema general.
Funciones Heursticas
Invencin de Heursticas
Operador del Problema de las ocho placas (normal)
Una placa puede pasar del cuadro A al B si A est junto a B y B
est vaco
Operadores relajados para el problema de las ocho placas
Una placa se puede mover del cuadro A al B si A est junto a B
Una placa se puede mover del cuadro A al B si B est vaco
Una placa se puede mover del cuadro A al B
Funciones Heursticas
Invencin de Heursticas
Si para un problema determinado existe un grupo
de heursticas aceptables, h1,..., hm, y ninguna
domina a las dems, se puede usar:
h(n) = max(h1(n), ..., hm(n)).
Otra forma de inventar heursticas es mediante
informacin estadstica. Se pueden hacer
bsquedas sobre una gran cantidad de problemas
de adiestramiento y se obtienen las estadsticas
correspondientes.
Bsqueda limitada por la
capacidad de la memoria
La capacidad de memoria es uno de los
principales obstculos a los que se enfrentan
los algoritmos anteriores.
Algoritmos de BLCM
A* por profundizacin iterativa (A*PI)
A* acotado por memoria simplificada (A*SRM)
Bsqueda limitada por la
capacidad de la memoria
A*PI
Es algo similar a lo que se hizo con la bsqueda preferente
por profundidad, al hacerla iterativamente (profundizacin
iterativa), slo que ahora se hace con la bsqueda A*.
En esta algoritmo cada iteracin es una bsqueda preferente
por profundidad, exactamente como en la PI, pero ahora se
usa un lmite de costo f en vez de un lmite de profundidad.
As, en cada iteracin se expanden los nodos que estn
dentro del contorno del costo f actual.
Bsqueda limitada por la
capacidad de la memoria
A*PI
Una vez concluida la bsqueda dentro de un
contorno determinado, se procede a efectuar una
nueva iteracin usando un nuevo costo f para el
contorno siguiente.
A*PI es un mtodo completo y ptimo, con las
ventajas y desventajas del A*
Como es preferente por profundidad, slo necesita
un espacio proporcional con la ruta ms larga que
explore.
Bsqueda limitada por la
capacidad de la memoria
A*PI
Si es el mnimo costo de operador y f* es el costo
de la solucin ptima, en el peor de los casos se
necesitan bf* / nodos de almacenamiento.
En la mayora de los casos, bd es un estimado
bastante bueno de la capacidad de memoria
necesaria.
Bsqueda limitada por la
capacidad de la memoria
A*PI
(ver algoritmo en el libro de texto)
Tiene desventajas en dominios complejos.
Bsqueda limitada por la
capacidad de la memoria
A*SRM (A* Acotado por Memoria
Simplificada)
A*PI utiliza muy poca memoria
Entre iteraciones, slo guarda un nmero: el lmite
actual del costo f.
Como no puede recordar su historia, puede
repetirla.
El mtodo A*SRM emplea ms memoria que el
A*PI, para mejorar la eficiencia de la bsqueda.
Bsqueda limitada por la
capacidad de la memoria
A*SRM (A* Acotado por Memoria Simplificada)
Hace uso de toda la memoria de la que pueda disponer
En la medida que se lo facilite la memoria, evitar estados
repetidos
Es completo, si la memoria es suficiente para guardar la
ruta de solucin mas cercana
Es ptimo, si dispone de suficiente memoria para guardar
la ruta de solucin ptima ms cercana.
Si se dispone de suficiente memoria para todo el rbol de
bsqueda, ste resultar ptimamente eficiente.
Bsqueda limitada por la
capacidad de la memoria
A*SRM (A* Acotado por Memoria Simplificada)
Si hay que generar un sucesor, pero ya no hay memoria, se
requiere espacio en la lista de espera
Es necesario excluir un nodo de la lista de espera. A estos
nodos se les llama nodos olvidados, con un elevado f.
Se conserva la informacin de los nodos ancestros sobre la
calidad de la mejor ruta en el subrbol olvidado.
As slo se tendr que regenerar el subrbol si las dems
rutas ofrecen peores perspectivas que la ruta olvidada.
Bsqueda limitada por la
capacidad de la memoria
A*SRM (A* Acotado por Memoria Simplificada)
Bsqueda limitada por la
capacidad de la memoria
A*SRM (A* Acotado por Memoria Simplificada)
Bsqueda limitada por la
capacidad de la memoria
A*SRM (A* Acotado por Memoria Simplificada)

En cada una de las etapas se aade


un sucesor nodo de menor costo f
ms profundo cuyos sucesores no
estn actualmente en el rbol. El hijo
izquierdo B se aade a la raz A.
Bsqueda limitada por la
capacidad de la memoria
A*SRM (A* Acotado por Memoria Simplificada)

Ahora, f(A) es todava 12, por lo que


se aade el hijo que est a la derecha,
G (f = 13). Ahora que ya se vieron
todos los hijos de A, es posible
actualizar su costo f al mnimo de sus
hijos, es decir, 13. La memoria ya se
llen.
Bsqueda limitada por la
capacidad de la memoria
A*SRM (A* Acotado por Memoria Simplificada)

G se escoge para efectuar una expansin, pero primero


hay que excluir un nodo para hacer espacio. Se excluye
la hoja de mayor costo f ms prxima, es decir, B.
Ahora notaremos que el mejor descendiente olvidado
de A tiene f =15, como se muestra entre parntesis.

Se procede a aadir H, cuya f(H) = 18.


Desafortunadamente, H no es un nodo meta, y la ruta a
H consume toda la memoria disponible (solo tenemos
espacio para tres nodos en memoria). Es decir, es
imposible encontrar una solucin a travs de H, por lo
que se define que f(H) = . (si quisiramos seguir,
tendramos que olvidar al nodo inicial, y no es posible).
Bsqueda limitada por la
capacidad de la memoria
A*SRM (A* Acotado por Memoria Simplificada)

Se expande de nuevo G, se excluye H, se incluye


I, con f(I) = 24. (esto debido a que I s es un nodo
meta, en caso contrario se le asignara valor ).
Se han visto ya los dos sucesores de G, con
valores de y 24, por lo que f(G) se convierte en
24. f(A) se convierte en 15, el mnimo de 15
(valor del sucesor olvidado) y 24.

Hay que notar que a pesar de que I es un nodo


meta, quizs no sea la mejor solucin debido a
que el costo de f(A) es solamente 15
Bsqueda limitada por la
capacidad de la memoria
A*SRM (A* Acotado por Memoria Simplificada)

Otra vez, A es el nodo ms


prometedor, por lo que se genera por
segunda vez B. Nos hemos dado
cuenta que, despus de todo, la ruta a
travs de G no result ser tan buena.
Bsqueda limitada por la
capacidad de la memoria
A*SRM (A* Acotado por Memoria Simplificada)

C, el primer sucesor de B, es un
nodo no meta que est a mxima
profundidad, por lo que f(C) = .
Bsqueda limitada por la
capacidad de la memoria
A*SRM (A* Acotado por Memoria Simplificada)

Para examinar al segundo sucesor, D,


primero hay que excluir C. Entonces
f(D)=20, valor que heredan tanto B como A.
Ahora el nodo de menor costo f ms
profundo es D, por lo que se le escoge.
Puesto que se trata de un nodo meta,
concluye la bsqueda.
Bsqueda limitada por la
capacidad de la memoria
A*SRM (A* Acotado por Memoria Simplificada)
(Ver el algoritmo en el libro de texto)
Las cosas se complican aun ms so hay que incluir la
verificacin de nodos repetidos . A*SRM es el algoritmo
ms complicado visto hasta el momento.
Cuando cuenta con suficiente memoria, A*SRM resuelve
probelmas mucho ms difciles que A* sin excesos
considerables en la generacin de nodos adicionales.
Algoritmos de bsqueda local y
problemas de optimizacin
Hay problemas (como el de las 8 reinas, o la
distribucin de reas en un chip VLSI) que se
caracterizan porque la misma descripcin del
estado contiene toda la informacin necesaria
para encontrar una solucin, y la ruta para
obtenerla es irrelevante.
En estos casos, los algoritmos de bsqueda
local son el mtodo de solucin ms prctico.
Algoritmos de bsqueda local y
problemas de optimizacin
Los algoritmos de bsqueda local operan
usando un simple estado actual (en vez de
mltiples rutas) y generalmente se mueven a
los vecinos de dicho estado.
Sus ventajas son:
Usan muy poca memoria (usualmente constante)
Pueden encontrar a menudo soluciones razonables
en espacios de estados muy grandes o infinitos en
los cuales los algoritmos sistemticos no son
adecuados.
Algoritmos de bsqueda local y
problemas de optimizacin
Adems de encontrar metas, los algoritmos de
bsqueda local son tiles para resolver
problemas de optimizacin, en los cuales el
objetivo es encontrar el mejor estado de
acuerdo con una funcin objetivo.
Algoritmos de bsqueda local y
problemas de optimizacin
La idea bsica consiste en empezar con una
configuracin completa y efectuar
modificaciones para mejorar la calidad.
Los ABL imaginan que los estados estn
sobre la superficie de un paisaje, y la altura de
cada uno corresponde a la funcin de
evaluacin del estado en ese punto.
Algoritmos de bsqueda local y
problemas
Evaluacin
de optimizacin

Estado
Actual
Algoritmos de bsqueda local y
problemas de optimizacin
Algoritmos de bsqueda local y
problemas de optimizacin
Si la elevacin corresponde al costo, el objetivo es
encontrar el valle ms bajo (un mnimo global).
Si la elevacin corresponde a una funcin objetivo,
entonces el objetivo es encontrar el pico ms alto (un
mximo global).
Los algoritmos de bsqueda local exploran este
paisaje. Una ABL completo siempre encuentra una
meta si existe; un algoritmo ptimo siempre
encuentra un mximo/mnimo global.
Algoritmos de bsqueda local y
problemas de optimizacin
Normalmente, los ABL se fijan slo en el
estado actual, sin mirar mas all de los vecinos
inmediatos de tal estado.
Tienen varias aplicaciones, en especial, en el
aprendizaje de redes neuronales.
Algoritmos de bsqueda local y
problemas de optimizacin
Bsqueda por ascenso de cima
Recocido simulado
Bsqueda local en haz
Algoritmos Genticos
Algoritmos de bsqueda local y
problemas de optimizacin
Bsqueda por ascenso de cima
Funcin Ascenso-de-cima(problema) responde con un estado de solucin
entradas: problema, un problema
esttico: actual, un nodo
siguiente, un nodo

actual Hacer-nodo(Estado Inicial[problema])


hacer ciclo
siguiente el sucesor de actual de ms alto valor
si Valor[siguiente] < Valor[actual] entonces responde con actual
actual siguiente
fin
Algoritmos de bsqueda local y
problemas de optimizacin
Bsqueda por ascenso de cima
Es como intentar buscar la cima del monte Everest en una
densa niebla y con amnesia.
El algoritmo es un ciclo que constantemente se desplaza en
la direccin de un valor ascendente.
Como el algoritmo no mantiene un rbol de bsqueda, la
estructura de datos del nodo slo tiene que registrar el
estado y su evaluacin, denominado VALOR.
Cuando existe ms de un sucesor idneo que escoger, el
algoritmo selecciona uno de ellos al azar.
Algoritmos de bsqueda local y
problemas de optimizacin
Bsqueda por ascenso
de cima

h = 17 h=1
Algoritmos de bsqueda local y
problemas de optimizacin
Bsqueda por ascenso de cima
Desventajas:
Mximos locales: al contrario de un mximo global, es una cima
cuya altura es inferior a la cima ms alta de todo el espacio de
estados.
Planicies: Son reas del espacio de estados donde la funcin de
evaluacin bsicamente es plana. La bsqueda realiza movimientos
al azar.
Riscos: Las laderas de algunos riscos tienen pendientes muy
pronunciadas, por lo que es fcil para una bsqueda llegar a la cima
del risco; sin embargo, puede suceder que la pendiente de tal cima
se aproxime demasiado gradualmente a un pico. a bsqueda
puede oscilar de un lado al otro obteniendo muy poco avance.
Algoritmos de bsqueda local y
problemas de optimizacin
Bsqueda por ascenso de cima
En los casos anteriores, se llega a un punto ms
all del cual no se logra ningn avance, ys se debe
empezar nuevamente en otro punto.
Esto se logra mediante el ascenso de cima con
reinicio aleatorio.
El xito de este algoritmo depende en gran medida
de la forma que tenga la superficie del espacio
de estados (usualmente puede parecerse a un
puerco espn).
Algoritmos de bsqueda local y
problemas de optimizacin
Funcin Recocido-Simulado(problema, programa) responde con un estado de solucin
entradas: problema, un problema
programa, un mapeo para pasar de tiempo a temperatura
esttico: actual, un nodo
siguiente, un nodo
T, una temperatura que controla la posibilidad de dar pasos
descendentes.

actual Hacer-nodo(Estado Inicial[problema])


para t 1 a hacer
T programa[t]
si T = 0, entonces responde con actual
siguiente un sucesor de actual escogido aleatoriamente
E Valor[siguiente] - Valor[actual]
si E > 0, entonces actual siguiente
o bien actual siguiente con probabilidad eE/T
fin
Algoritmos de bsqueda local y
problemas de optimizacin
Recocido simulado
En vez de empezar otra vez al azar luego de quedarse
atorado en un mximo local, sera conveniente descender
unos cuantos pasos y as escapar del mximo local en
cuestin.
Esta es la base del recocido simulado.
En vez de optar por la mejor accin, se escoge una al azar.
Siempre que mediante alguna accin se logre mejorar la
situacin, dicha accin se ejecuta. De lo contrario, el
algoritmo realizar cierta accin con cierta probabilidad
menor a uno. La probabilidad disminuye exponencialmente
con lo malo de la accin.
Algoritmos de bsqueda local y
problemas de optimizacin
Recocido simulado
Para determinar la probabilidad se utiliza un segundo
parmetro, T.
Cuando los valores de T son elevados, hay ms
probabilidad de que se acepten las acciones malas.
Conforme T tiende a cero, es menos probable su
aceptacin, hasta que el algoritmo se comporte ms o
menos como el ascenso de cima.
El programa es una funcin que define el valor de T en
base a la cantidad de ciclos que se hayan realizado.
Algoritmos de bsqueda local y
problemas de optimizacin
Recocido simulado
El trmino recocido simulado, y el nombre de los parmetros E
y T obedece a que el algoritmo se cre a partir de una analoga con
el recocido, un proceso que consiste en enfriar un lquido hasta que
se congele (o un metal fundido hasta que se solidifique).
La funcin VALOR corresponde a la energa total de los tomos del
material y T corresponde a la temperatura. El programa define la
velocidad de descenso de temperatura. Las acciones individuales
del espacio de estados corresponden a fluctuaciones aleatorias
producidas por ruido trmico.
Es posible demostrar que si la temperatura se baja con suficiente
lentitud, el material adoptar la configuracin de la energa ms
baja (de ordenamiento perfecto). Esto equivale a decir que si el
programa baja a T con la suficiente lentitud, el algoritmo encontrar
un ptimo global.
Algoritmos de bsqueda local y
problemas de optimizacin
Bsqueda local en haz
El algoritmo de bsqueda local en haz (local beam
search) mantiene registro de k estados en vez de slo
uno.
Comienza con k estados generados aleatoriamente.
En cada paso, todos los sucesores de los k estados son
generados.
Si uno de ellos es la meta, el algoritmo se detiene. De
otra manera, se selecciona los k mejores sucesores de la
lista completa y el proceso se repite.
Algoritmos de bsqueda local y
problemas de optimizacin
Bsqueda local en haz
A primera vista, la bsqueda local en haz con k estados
parece no ms que correr k ascensos independientes de
cima en paralelo, en vez de hacerlo en secuencia.
Sin embargo, en la bsqueda local en haz se transmite
informacin til entre las k bsquedas paralelas.
Es decir, si un estado genera varios buenos sucesores, y
los k 1 estados restantes generan todos malos
sucesores, el efecto es que el primer estado le dice a los
otros vengan aqu, el pasto es ms verde!.
El algoritmo abandona rpidamente bsquedas
infructuosas y mueve sus recursos donde se pueda hacer
ms progresos.
Algoritmos de bsqueda local y
problemas de optimizacin
Bsqueda local en haz
Una variante llamada bsqueda en haz
estocstica evita la falta de diversidad entre los k
estados y evita concentrarse en una pequea
regin del espacio de estados.
En vez de elegir los mejores k del grupo de
sucesores candidatos, se eligen k sucesores al
azar, con la probabilidad de elegir un sucesor
dado como una funcin incremental de su valor.
Algoritmos de bsqueda local y
problemas de optimizacin
Algoritmos genticos
Un algoritmo gentico (AG) es una variante de la
bsqueda en haz estocstica, en la cual los estados
sucesores son generados combinando dos estados
padres, ms que modificando un solo estado.
La analoga a la seleccin natural es la siguiente:
Los sucesores (descendientes) de dos estados
(organismos) padres, conforman la siguiente
generacin, de acuerdo a su valor (aptitud).
Algoritmos de bsqueda local y
problemas de optimizacin
Algoritmos genticos
Los AGs comienzan con un conjunto de k estados
generados aleatoriamente, llamados la poblacin.
Cada estado, o individuo, se representa como una
cadena (string) tomada de un alfabeto finito
(commente, una cadena de 0s y 1s).
En el problema de las 8 reinas, se podran
especificar las posiciones de cada una de las 8
reinas en cada columa mediante 24 bits, o
mediante dgitos entre 1 y 8.
Algoritmos de bsqueda local y
problemas de optimizacin
Algoritmos genticos
Algoritmos de bsqueda local y
problemas de optimizacin
Algoritmos genticos
Cada estado es calificado meduante la funcin de
evalacin, llamada funcin de aptitud.
Una funcin de aptitud debe regresar valores ms altos para
mejores estados. En el problema de las 8 reinas se usa la
cantidad de pares de reinas que no se atacan entre s. Una
solucin debe tener un valor de aptitud de 28.
Las aptitudes de los 4 estados son 24, 23, 20 y 11 y se
calculan las probabilidades de ser elegidos en forma
proporcional a la aptitud.
Algoritmos de bsqueda local y
problemas de optimizacin
Algoritmos genticos
Se eligieron dos pares para reproduccin, de
acuerdo a las probabilidades en (b). Para cada par a
ser apareado, se elige un punto de cruza al azar, a
partir de las posiciones en la cadena.
En (d), los descendientes son creados al cruzar las
cadenas padres en los puntos de cruza.
Finalmente, en (e), cada posicin es sujeta a una
mutacin aleatoria con una pequea probabilidad
independiente.
Algoritmos de bsqueda local y
problemas de optimizacin
Algoritmos genticos
Los algoritmos genticos combinan una tendencia de
ascenso de cima con exploracin aleatoria e intercambio de
informacin entre bsquedas paralelas.
La principal ventaja, si la hay, de los algoritmos genticos
viene de la operacin de cruza.
La ventaja viene de la habilidad de la cruza para combinar
grandes bloques de caracteres que han evolucionado
independientemente para desempear funciones exitosas,
elevando el nivel de granularidad en el que opera la
bsqueda.
Algoritmos de bsqueda local y
problemas de optimizacin
Algoritmos genticos
La teora de los algoritmos genticos explica como trabajan
usando la idea de un esquema, el cual es una subcadena en
la cual algunas de las posiciones se dejan sin especificar.
Por ejemplo, el esquema 246***** describe todos los
estados del problema de las 8 reinas donde las tres primeras
reinas estn en las posiciones 2, 4 y 6 respectivamente.
Las cadenas que concuerdan con el esquema (como
24613578) son llamadas instancias del esquema.
Algoritmos de bsqueda local y
problemas de optimizacin
Algoritmos genticos
Se puede mostrar que, si la aptitud promedio de las
instancias de un esquema est sobre la media, entonces el
nmero de instancias del esquema dentro de la poblacin
crecer con el tiempo.
Los algoritmos genticos trabajan mejor cuando los
esquemas corresponden a componentes significativos de la
solucin.
Esto sugiere que el uso exitoso de los algoritmos genticos
requiere una ingeniera cuidadosa de la representacin.
En la prctica, los AGs tienen un amplio impacto en
problemas de optimizacin, tales como distribucin en
circuitos y programacin de actividades.

You might also like