Sunteți pe pagina 1din 2

A cross between Beam Search and Local Search. Normally used to maximize an objective function.

The algorithm holds 'k' number of states at any given time. Initially these k states are randomly generated. The successors of these k states are calculated using the objective function. If any of these successors is a 'goal', that is, the maximum value of the objective function, then the algorithm halts. Otherwise the initial k states and k number of successors are placed in a pool. This pool has a total of 2k states. The pool is numerically sorted and the best (highest) k states are selected as new initial states. This process repeats until a maximum value is reached. This algorithm is particularity effective at quickly abandoning 'dead end' searches, so maximum resources can be used on the promising successors. However when using the Local Beam Searching algorithm, the k states can easily become concentrated over a very small amount of state space. This leads to the algorithm being nothing more than a more resource intensive Hill Climbing algorithm.

In computer science, beam search is a heuristic search algorithm that explores a graph by expanding the most promising node in a limited set. Beam search is an optimization of best-first search that reduces its memory requirements. Best-first search is a graph search which orders all partial solutions (states) according to some heuristic which attempts to predict how close a partial solution is to a complete solution (goal state). But in beam search, only a predetermined number of best partial solutions are kept as candidates.[1] Beam search uses breadth-first search to build its search tree. At each level of the tree, it generates all successors of the states at the current level, sorting them in increasing order of heuristic cost.[2] However, it only stores a predetermined number of best states at each level (called the beam width). Only those states are expanded next. The greater the beam width, the fewer states are pruned. With an infinite beam width, no states are pruned and beam search is identical to breadth-first search. The beam width bounds the memory required to perform the search. Since a goal state could potentially be pruned, beam search sacrifices completeness (the guarantee that an algorithm will terminate with a solution, if one exists). By the nature of best-first search and since beam search is a special case of bestfirst search, it is not optimal (the guarantee that it will find the best solution). It returns the first solution found. The beam width can either be fixed or variable. One approach that uses a variable beam width starts with the width at a minimum. If no solution is found, the beam is widened and the procedure is repeated.[3]

BEST SEARCH

Definition[edit] Best-first search in its most general form is a simple heuristic search algorithm. Heuristic here refers to a general problem-solving rule or set of rules that do not guarantee the best solution or even any solution, but serves as a useful guide for problem-solving. Best-first search is a graph-based search algorithm (Dechter and Pearl, 1985), meaning that the search space can be represented as a series of nodes connected by paths.

Best First Search Now we have a heuristic, we can use it to direct our search towards the goal Best first search simply chooses the unvisited node with the best heuristic value to visit next It can be implemented in the same algorithm as lowest-cost Breadth First Search This time the priority of each node added to the queue is its heuristic value

S-ar putea să vă placă și