Professional Documents
Culture Documents
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
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)
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)
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
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.