Best-first search algorithms usually amalgamate identical nodes for optimization reasons, meanwhile transforming the search tree into a search graph. However, identical nodes may represent different search states, e.g., due to a difference of history. So, in a search graph a node's value may be dependent on the path leading to it. This implies that different paths may result in different values. Therefore, it is difficult to determine the value of any node unambiguously. The problem is known as the graph-history-interaction (GHI) problem. This paper provides a solution for best-first search. First, we give a precise formulation of the problem. Then, for best-first search and for other searches, we review earlier proposals to overcome the problem. Next, our solution is given in detail. Here we introduce the notion of twin nodes, enabling a distinction of nodes according to their history. The implementation, called base-twin algorithm (BTA), is performed for pn search, a best-first search algorithm. It is generally applicable to other best-first search algorithms. Experimental results in the field of computer chess confirm the claim that the GHI problem has been solved for best-first search.
- graph-history interaction (GHI) problem
- best-first search
- base-twin algorithm (BTA)