Esta es la solución más acertada que te podemos brindar, pero obsérvala detenidamente y valora si es compatible a tu trabajo.
Solución:
La diferencia está en la función heurística.
La búsqueda de costo uniforme es no informado búsqueda: no utiliza ningún conocimiento del dominio. Expande el nodo de menor costo y lo hace en todas las direcciones porque no se proporciona información sobre el objetivo. Puede verse como una función f(n) = g(n)
dónde g(n)
es un costo de ruta (“costo de ruta” en sí mismo es una función que asigna un costo numérico a una ruta con respecto a la medida de rendimiento, por ejemplo, distancia en kilómetros, número de movimientos, etc.). Simplemente es un costo llegar al nodo. norte.
Mejor-primera búsqueda es informado búsqueda: utiliza una función heurística para estimar qué tan cerca está el estado actual de la meta (¿nos estamos acercando a la meta?). Por lo tanto, nuestra función de costo f(n) = g(n)
se combina con el costo de ir de n a la meta, el h(n)
(función heurística que estima ese costo) dándonos f(n) = g(n) + h(n)
. Un ejemplo de un algoritmo de búsqueda mejor primero es A* algoritmo.
Sí, ambos métodos tienen una lista de nodos expandidos, pero la mejor búsqueda primero intentará minimizar esa cantidad de nodos expandidos (coste del camino + función heurística).
Aquí hay un pequeño malentendido. La búsqueda de costo uniforme, la mejor primera búsqueda y los algoritmos de búsqueda A* son todos algoritmos diferentes. costo uniforme es un algoritmo de búsqueda desinformado cuando Mejor primero y A* Los algoritmos de búsqueda son algoritmos de búsqueda informada. Informado significa que utiliza una función heurística para decidir el nodo en expansión. La diferencia entre la mejor primera búsqueda y A* es que los mejores primeros usos f(n) = h(n)
para expansión y usos A* f(n) = g(n)+h(n)
para elegir el nodo de expansión. h(n)
es la función heurística. g(n)
es el costo real desde el nodo inicial hasta el nodo n.
https://www.cs.utexas.edu/~mooney/cs343/slide-handouts/heuristic-search.4.pdf Se puede ver aquí con más detalles.
Ligera corrección a la respuesta aceptada.
La búsqueda del mejor primero no estima qué tan cerca del objetivo está el estado actual, estima qué tan cerca del objetivo estará cada uno de los siguientes estados (desde el estado actual) para influir en la ruta seleccionada.
La búsqueda de costo uniforme expande el nodo de menor costo (independientemente de la heurística), y la búsqueda de mejor primero expande el nodo de menor costo (costo + heurística).
- f(n) es la función de costo utilizada para evaluar los nodos potenciales para expandir
- g(n) es el costo de moverse a un nodo n
- h(n) es el costo estimado que tomará llegar al estado objetivo final si fuéramos a n
La f(n) utilizada en la búsqueda de costo uniforme
f(n) = g(n)
La f(n) utilizada en la búsqueda de mejor primero (A* es un ejemplo de búsqueda de mejor primero)
f(n) = g(n) + h(n)
Cada una de estas funciones está evaluando los nodos de expansión potenciales, no el nodo actual al atravesar el árbol en busca de un n que sea un estado objetivo
Te mostramos las comentarios y valoraciones de los usuarios
Eres capaz de añadir valor a nuestra información participando con tu veteranía en las explicaciones.