Stack search
Encyclopedia
Stack search is a search algorithm similar to beam search
Beam search
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...

. It can be used to explore tree-structured search spaces and is often employed in Natural language processing
Natural language processing
Natural language processing is a field of computer science and linguistics concerned with the interactions between computers and human languages; it began as a branch of artificial intelligence....

 applications, such as parsing of natural languages, or for decoding of error correcting codes where the technique goes under the name of sequential decoding
Sequential decoding
Sequential decoding is a limited memory technique for decoding tree codes. Sequential decoding is mainly used is as an approximate decoding algorithm for long constraint-length convolutional codes...

.

Stack search keeps a list of the best n candidates seen so far. These candidates are incomplete solutions to the search problems, e.g. partial parse trees. It then iteratively expands the best partial solution, putting all resulting partial solutions onto the stack and then trimming the resulting list of partial solutions to the top n candidates, until a real solution (i.e. complete parse tree) has been found.

Stack search is not guaranteed to find the optimal solution to the search problem. The quality of the result depends on the quality of the search heuristic.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK