Subido por Vanesa Arteaga Vargas

349595850-Busqueda-de-Costo-Uniforme

Anuncio
Búsqueda de costo uniforme
En ciencia de la computación, la búsqueda de costo uniforme (BCU) es un algoritmo de búsqueda sobre grafos
utilizado para hallar el camino de costo mínimo entre un
nodo raíz y un nodo destino. La búsqueda comienza por el
nodo raíz y continúa visitando el siguiente nodo que tiene
menor costo total desde la raíz. Los nodos son visitados
de esta manera hasta que el nodo destino es alcanzado.
el procesamiento continúa hasta que todos los nodos han
sido eliminados de la cola con prioridad, es decir, hasta
que los caminos más cortos a todos los nodos (no sólo
un nodo objetivo) se han determinado. Al igual que en
el algoritmo de Dijkstra, BCU garantiza que (si todos los
pesos de las aristas son no negativos) el camino más corto a un nodo particular, se ha encontrado una vez que el
Típicamente, el algoritmo implica la expansión de nodos nodo se extrae de la cola con prioridad.
mediante la adición, a una cola con prioridad, de todos los La Búsqueda de Costo Uniforme es un caso particular
nodos vecinos no expandidos que están conectados al úl- del algoritmo de búsqueda A* si la heurística de este último nodo analizado. En la cola, cada nodo se asocia con timo es una función constante. Si A* se utiliza con una
su costo total desde la raíz, donde se les da mayor priori- heurística monótona, entonces se puede convertir en una
dad a los caminos de costo mínimo. El nodo en la cabeza Búsqueda de Costo Uniforme restando de cada costo de
de la cola es expandido, adicionando sus nodos vecinos arista a la disminución en el valor heurístico a lo largo de
con el costo total desde la raíz hasta el nodo respectivo. esa arista. Búsqueda Primero a lo Ancho (BPA o BFS en
La búsqueda de costo uniforme es completa y óptima si inglés) es un caso especial de BCU cuando los costos de
el costo de cada paso excede algún límite eps positivo.[1] las aristas son positivos e idénticos. BPA visita primero
El tiempo para el caso peor y la complejidad espacial es el nodo con la longitud del camino más corto (número de
O(b1 + C*/ε ), donde C* es el costo de la solución óptima y nodos) desde el nodo raíz, en cambio, UCS primero visita
b es el factor de ramificación. Cuando todos los costos en- el nodo con la ruta más corta en costo (suma de los pesos
tre los nodos son iguales, esto se convierte en O(bd + 1 ).[2] de las aristas) desde el nodo raíz.
1
Búsqueda de Costo Uniforme es una variante del algoritmo Búsqueda Primero el Mejor.
Pseudocode
3 Referencias
procedure UniformCostSearch(Graph, root, goal) node
:= root, cost = 0 frontier := priority queue containing node
only explored := empty set do if frontier is empty return
failure node := frontier.pop() if node is goal return solution explored.add(node) for each of node’s neighbors n if
n is not in explored if n is not in frontier frontier.add(n)
else if n is in frontier with higher cost replace existing
node with n
[1] Plantilla:Russell Norvig 2003
[2] Stuart Russell; Peter Norvig (2010). Artificial Intelligence:
A Modern Approach (3 edición). Prentice Hall. ISBN 9780-13-604259-4.
Proceso de expansión mostrando el conjunto “explored” y la cola con prioridad “frontier":
root: A
goal: G
* nodo a expandir en el próximo paso.
* B no se añade a la frontera (frontier) porque se encuentra en
el conjunto explorado (explored).
Camino encontrado: A-D-F-G.
2
Relación con otros algoritmos
El algoritmo de Dijkstra, que es quizás más conocido,
puede considerarse como una variante de Búsqueda de
Costo Uniforme, donde no hay un estado meta (goal) y
1
2
4 ORIGEN DEL TEXTO Y LAS IMÁGENES, COLABORADORES Y LICENCIAS
4
Origen del texto y las imágenes, colaboradores y licencias
4.1
Texto
• Búsqueda de costo uniforme Fuente: https://es.wikipedia.org/wiki/B%C3%BAsqueda_de_costo_uniforme?oldid=93472824 Colaboradores: Alelapenya, Grillitus, Invadibot, Egis57 y Carlosbesadapadron
4.2
Imágenes
4.3
Licencia del contenido
• Creative Commons Attribution-Share Alike 3.0
Descargar