Skip to content

Questions about Best-first search

Short answers, pulled from the story.

What is best-first search in computer science?

Best-first search is a class of graph search algorithms that always expands the most promising node next, as determined by a heuristic evaluation function. Judea Pearl described the heuristic as potentially depending on the node's description, the goal's description, information gathered during the search, and extra domain knowledge. A priority queue is typically used to rank and select candidate nodes efficiently.

What is the difference between best-first search and greedy best-first search?

Greedy best-first search, also called pure heuristic search, is a specific type of best-first search whose heuristic focuses solely on predicting how close a path's end is to the goal. A* and B* are best-first algorithms that are not greedy, because they also account for the distance already traveled from the start rather than only estimating remaining distance.

How does greedy best-first search work step by step?

Greedy best-first search expands the first successor of the current parent node, then checks whether that successor's heuristic is better than its parent's. If it is, the successor moves to the front of the priority queue and the loop restarts; otherwise, the successor is inserted at its ranked position and the remaining successors are evaluated. The procedure returns failure if the queue empties without finding the target.

Is A* search algorithm a best-first search?

Yes, A is an example of a best-first search algorithm, as is B. However, neither A* nor B* is a greedy best-first search, because both incorporate the distance traveled from the start in addition to the estimated distance remaining to the goal.

What data structure does best-first search use to select the next node?

Best-first search uses a priority queue to efficiently select the current best candidate for expansion. The queue orders nodes based on their heuristic values, allowing the algorithm to retrieve the most promising node at each step.

What did Judea Pearl say about best-first search heuristics?

Judea Pearl described the heuristic evaluation function in best-first search as one that may depend on the description of the node, the description of the goal, information gathered by the search up to that point, and most importantly, any extra knowledge about the problem domain.