Sunteți pe pagina 1din 6

3.4.

2 Bsqueda Costo-Uniforme
Cuando todos los costes de paso son iguales, bsqueda en amplitud es
ptima, ya que siempre expande el nodo ms superficial no expandido.
Por una simple extensin, podemos encontrar un algoritmo que es
ptimo con cualquier funcin paso-costo. En lugar de expandir el nodo
ms superficial, la bsqueda de costo uniforme expande el nodo n
con el costo de ruta ms bajo g(n). Esto se hace mediante el
almacenamiento de la frontera como una cola de prioridad ordenada por
g. El algoritmo se muestra en la Figura 3.14.

Figura 3.14 Bsqueda Costo Uniforme en un grafo. El algoritmo es idntico al algoritmo


grafo-bsqueda genrica en la Figura 3.7, excepto por el uso de una cola de prioridad
y la adicin de una verificacin extra en caso de que se descubra un camino ms corto a un
estado fronterizo. La estructura de datos para frontier necesita soportar la prueba de
pertenencia eficiente, por lo que debe combinar las capacidades de una cola de prioridad y
una tabla hash.

Figura 3.15 Una parte del espacio de estados Rumania, seleccionada para ilustrar la
bsqueda de costo uniforme.
Adems de la orden de la cola por el costo de la ruta, hay otras dos
diferencias significativas de bsqueda en anchura. La primera es que la
prueba objetivo se aplica a un nodo cuando este es seleccionado para la
expansin (como en el algoritmo grafo-bsqueda genrica que se
muestra en la Figura 3.7) en lugar de cuando este es primero generado.
La razn es que el primer nodo objetivo que se genera puede ser en un
camino sub-ptimo. La segunda diferencia es que se aade una prueba
en el caso de que un mejor camino se encontrado para un nodo
actualmente en la frontera.
Ambas de estas modificaciones entran en juego en el ejemplo mostrado
en la Figura 3.15, donde el problema es conseguir desde Sibiu a
Bucarest. Los sucesores de Sibiu estn Rimnicu Vilcea y Fagaras, con
costos 80 y 99, respectivamente. El nodo de menor costo, Rimnicu
Vilcea, se expande siguiente, aadiendo Pitesti con costo 80 + 97 = 177.
El nodo de menor costo es ahora Fagaras, por lo que es expandido,
aadiendo Bucarest con costo 99 + 211 = 310. Ahora un nodo objetivo
se ha generado, pero la bsqueda de costo uniforme sigue adelante, la
eleccin de Pitesti para la expansin y la adicin de un segundo camino a
Bucarest con un costo 80+97+101 = 278. Ahora el algoritmo comprueba
para ver si este nuevo camino es mejor que el anterior; que es, por lo
que el viejo se descarta. Bucarest, ahora con costo-g 278, se selecciona
para la expansin y se devuelve la solucin.
Es fcil ver que la bsqueda costo uniforme es ptima en general. En
primer lugar, se observa que siempre que la bsqueda costo uniforme
selecciona nodo n para expansin, la ruta ptima a ese nodo ha sido
encontrada. (Si no fuera el caso, no tendra que ser otro nodo frontera n
en el camino ptimo desde el nodo de inicio a n, por la propiedad de
separacin grfico de la figura 3.9; por definicin, n tendra menor
costo-g que n y habra sido seleccionado primero.) Entonces, porque los
costos de paso son no negativos, los caminos nunca se acortan a medida

que se aaden nodos. Estos dos hechos en conjunto implican que la


bsqueda costo uniforme expande nodos con el fin de obtener su costo
de ruta ptimo. Por lo tanto, el primer nodo meta seleccionado para la
expansin debe ser la solucin ptima.
La Bsqueda Costo Uniforme no se preocupa por el nmero de pasos que
un camino tiene, pero s de su costo total. Por lo tanto, se quedan
atascados en un bucle infinito si hay un camino con una infinita
secuencia de acciones con costo cero, por ejemplo, una secuencia de
acciones NoOp.
6
Integridad es garantizada siempre que el costo de cada paso es superior
a una pequea constante positiva .
La Bsqueda Costo Uniforme es guiada por costos de ruta en lugar de las
profundidades, por lo que su complejidad no es fcilmente caracterizada
en trminos de b y d. En su lugar, dejamos a C* ser el costo de la
solucin ptima7, y se supone que cada accin cuesta por lo menos .
Luego el tiempo del peor caso del algoritmo y la complejidad espacial es
O(b1+[ C */ ]), que puede ser mucho mayor que bd. Esto se debe a que la
bsqueda costo uniforme puede explorar grandes rboles de pequeos
pasos antes de explorar caminos que implican grandes y quiz tiles
pasos. Cuando todos los costes de paso son iguales, b1+[ C */ ] es slo bd + 1.
Cuando todos los costes de paso son los mismos, la bsqueda costo
uniforme es similar a la bsqueda primero en amplitud, excepto que la
ltima se detiene tan pronto como se genera una meta, mientras que la
bsqueda costo uniforme examina todos los nodos en la profundidad de
la meta para ver si uno tiene un costo ms bajo; por lo tanto la bsqueda
costo uniforme trabaja ms estrictamente mediante la expansin de los
nodos en la profundidad d innecesariamente.

ENGLISH