Sei sulla pagina 1di 42

METODOS DE BUSQUEDA

INFORMADO
Bsqueda Informada (Heurstica)
La bsqueda informada viene a ser la que utiliza
el conocimiento especfico del problema ms all de
la definicin del problema en s mismo; este mtodo
puede encontrar soluciones de una manera ms
ptima.
A su vez se pueden dividir en tres tipos de
bsqueda:
- Bsqueda preferente por lo mejor.
- Bsqueda limitada por la capacidad de la
memoria.
- Bsquedas de mejoramiento iterativo.


BUSQUEDA PRIMERO
EL MEJOR
Bsqueda primero el mejor

es un caso particular del algoritmo general de
Bsqueda-Arboles o de Bsqueda Grafos.
Esta bsqueda consiste en seleccionar un nodo
para expandir primero aqul nodo con mejor
evaluacin. Dicha evaluacin es el resultado de
aplicar la funcin de evaluacin F(n); al nodo,
la cual devuelve un nmero que sirve para
representar lo deseable que sera la expansin de
un nodo.
Dentro de este tipo de bsqueda se encuentran:
-Bsqueda Avara.
- Bsqueda A*
El conocimiento en base al cual se apoya la
decisin del nodo que toca expandirse es obtenido
desde una funcin de evaluacin, f(n).
La funcin de evaluacin produce un nmero que
sirve para representar lo deseable (o indeseable)
que sera la expansin de un nodo.
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 primero el mejor
La Funcin Heurstica, h(n) donde
h(n) = coste estimado del camino ms barato
desde el nodo n a un nodo objetivo
Las funciones heursticas son la forma ms comn
de transmitir el conocimiento adicional del
problema al algoritmo de bsqueda.
La implementacin se puede hacer con una cola
con prioridad, una estructura de datos que
mantendr la frontera en orden ascendente de f-
valores.
Bsqueda primero el mejor
funcin BUSQUEDA-PRIMERO-EL-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 primero el 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 primero el mejor
BUSQUEDA AVARA
Bsqueda voraz primero el
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 primero el 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 primero el 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:
h
DLR
(n) = distancia en lnea recta entre n y la meta

Bsqueda primero el mejor
Bsqueda Avara (Greedy Search)
Para calcular los valores de h
DLR
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.

Bsqueda primero el mejor
Ejemplo
Utilizar el mtodo de bsqueda avara para solucionar
el problema de Rumania. Mostrar el desarrollo con
rboles de bsqueda.
Bsqueda Avara
Arad
h=366
Bsqueda primero el mejor
Bsqueda Avara
Arad
h=366
Sibiu
h=253
Timisoara
h=329
Zerind
h=374
Bsqueda primero el mejor
Bsqueda Avara
Arad
h=366
Sibiu
h=253
Timisoara
h=329
Zerind
h=374
Arad
h=366
Fagaras
h=178 Oradea
h=380
Rimnicu
h=193
Bsqueda primero el mejor
Bsqueda Avara
Arad
h=366
Sibiu
h=253
Timisoara
h=329
Zerind
h=374
Arad
h=366
Fagaras
h=178 Oradea
h=380
Rimnicu
h=193
Sibiu
h=253
Bucharest
h=0
Es una solucin, pero no es la ptima
Bsqueda primero el 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 Lasi a Fagaras.
Bsqueda primero el mejor
Bsqueda Avara
Iasi
h=160
Bsqueda primero el mejor
Bsqueda Avara
Iasi
h=160
Neamt
h=150
Vaslui
h=170
Bsqueda primero el mejor
Bsqueda Avara
Iasi
h=160
Neamt
h=150
Vaslui
h=170
Iasi
h=160
Bsqueda primero el mejor
Bsqueda Avara
Iasi
h=160
Neamt
h=150
Vaslui
h=170
Iasi
h=160
Neamt
h=150
Bsqueda primero el 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(b
m
), 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 primero el mejor
Resumen (Bsqueda Avara)
Consiste en reducir al mnimo el costo estimado para
alcanzar una meta.
Para ello se utiliza una funcin llamada heurstica, la cual
estima el costo que implica llegar a una meta desde un
estado determinado, y elige cual es el siguiente nodo que se
va a expandir aplicando esta funcin a cada nodo.

En esta bsqueda el tiempo y la cantidad de memoria
necesaria crece exponencialmente con respecto a la
profundidad. Pero la eleccin de una buena funcin
heurstica permite disminuir notablemente la
complejidad tanto en tiempo como en espacio.
No es ptima ni completa.

BUSQUEDA A*
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 primero el 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 primero el 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 primero el 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 primero el mejor
Bsqueda A*
Arad
f=0+366
f=366
Bsqueda primero el mejor
Bsqueda A*
Arad
Sibiu
f=140+253
f=393
Timisoara
f=118+329
f= 447
Zerind
f=75+374
f=449
Bsqueda primero el mejor
Bsqueda A*
Arad
Timisoara
f=118+329
f= 447
Zerind
f=75+374
f=449
Arad
f=280+366
f=646
Sibiu
f=140+253
f=393
Fagaras
f=239+178
f=417
Oradea
f=146+380
f=526
Rimnicu
f=220+193
f=413
Bsqueda primero el 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 primero el 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 primero el mejor
Resumen (Bsqueda A*)
Esta bsqueda es una bsqueda preferente por lo mejor en la que se
utiliza f como funcin de evaluacin.

La funcin f calcula el costo estimado de la solucin ms barata,
pasando por n y se calcula de la siguiente manera:
f=g(n) + h(n)

Siendo g(n) el costo de ruta y h(n) una heurstica admisible (que
nunca sobreestima el costo que implica alcanzar la meta).

En esta bsqueda la cantidad de memoria necesaria crece
exponencialmente con respecto a la profundidad. Pero la eleccin de
una buena funcin heurstica permite disminuir notablemente la
complejidad tanto en tiempo como en espacio.

Es ptima y completa.

BUSQUEDA DE
ASCENSION DE
COLINAS
Este mtodo, es simplemente un bucle que
continuamente se mueve en direccin del valor
creciente.
Termina cuando alcanza un pico. Donde ningn vecino
tiene un valor mas alto.
El algoritmo no mantiene un rbol de Bsqueda. Si no
una estructura de datos del nodo actual que necesita,
solo el registro de estado y su valor de funcin objetivo.
Se parece a lo que hacemos cuando tratarnos de
encontrar la cumbre del Everest en una niebla
mientras sufrimos amnesia.

Bsqueda de Ascensin de Colinas
Algoritmo de Bsqueda de Ascensin de
Colinas
Funcin Ascensin-Colinas(problema) devuelve un estado que es un
mximo local

Entradas: problema, un problema
Variables locales: actual, un nodo
vecino, un nodo
Actual Hacer-Nodo(ESTADO-INICIAL[problema])
Bucle hacer
Vecino sucesor de valor mas alto de actual
Si VALOR[vecino] VALOR[actual]entonces
devolver ESTADO[actual]
Actual vecino
Para ilustrar la ascensin de colinas, usaremos el problema de las 8-
reinas

(a) Un estado de 8-reinas con una heurstica cie estimacin de costos h = 17,
mostrando el valor de h para cada sucesor posible obtenido al mover una
reina dentro de su columna.
Los mejores movimientos estn marcados. (b) Un mnimo local en el espacio
de estados de las 8-reinas; el estado tiene h = 1 pero cada sucesor tiene un
costo ms alto.

Este mtodo es llamado tambin: bsqueda local voraz.
La ascensin de colinas, a menudo hace el progreso muy
rpido hacia una solucin.
La ascensin de colinas tambin se atascan por los motivos
siguientes:
- Mximo local: es un pico que es mas alto, que cada uno
de sus estado vecinos.
-Crestas: causan una secuencia de mximos locales, que
hacen difcil la navegacin para los algoritmos avaros.
-Meseta: es una rea del paisaje del espacio de estados,
donde la funcin de evaluacin es plana.
Bsqueda de Ascensin de Colinas

Potrebbero piacerti anche