Bi-directional and heuristic search in path problems

Path finding is a key process in many areas of computation. Optimization problems and heuristic search problems are two notable examples. The first part of this dissertation presents a class of algorithms, denoted VGA, for solving the two point shortest path problem in directed graphs with non-negative edge weights. This class is a bi-directional extension of the most efficient known uni-directional shortest path algorithms. While it has long been realized that hi-directional algorithms often provide computational savings, a theory of this has not been forthcoming until now. This theory shows how a hi-directional method using the proposed cardinal@ comparison strategy is a priori the best shortest path algorithm within the class of algorithms VGA. These theoretical results are verified by extensive tests of VGA. A computer program was written where several standard uni-directional and bi-directional strategies were compared with cardinality comparison. The program randomly generated a number of large directed graphs and each strategy in turn was tried on numerous path problems within these graphs. In heuristic search for artificial intelligence problems, algorithms similar to the two point shortest path problem are used. The spaces searched are enormous , often infinite, and in consequence the constraint on finding the shortest path is abandoned. The concern is for finding any solution path with minimum effort. The second part of the dissertation presents a theory of these problems and some experiments with the fifteen puzzle in using the methods suggested by this theory of heuristic search. The evaluation function directing the search is the sum of the distance from the starting node and an estimate of the distance to the goal. This second component is the heuristic term, and if accurate, allows efficient path finding in-iii-large spaces. Some results on the effect of error in the heuristic term are presented. Especially interesting is theorem '7.9, showing that the distance from the start should be incorporated in the evaluation function. This particular result runs counter to the reliance strictly on the heuristic term, a practice which is widespread. Bi-directional heuristic search is also proposed. VGHA, a bi-directional class of algorithms, is an extension of the Hart, Nilsson, and Raphael uni-directional heuristic search algorithms. Their results are extended to this more general class. These methods are used in solving fifteen puzzle problems and comparing the number of nodes explored. It is a continuance of the empirical work started by Doran and Michie with the …

[1]  G. Pólya,et al.  How to Solve It , 1945 .

[2]  Allen Newell,et al.  Chess-Playing Programs and the Problem of Complexity , 1958, IBM J. Res. Dev..

[3]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[4]  Arthur L. Samuel,et al.  Some Studies in Machine Learning Using the Game of Checkers , 1967, IBM J. Res. Dev..

[5]  Fred M. Tonge,et al.  Summary of a Heuristic Line Balancing Procedure , 1960 .

[6]  Marvin Minsky,et al.  Steps toward Artificial Intelligence , 1995, Proceedings of the IRE.

[7]  O. Ore Theory of Graphs , 1962 .

[8]  Stephen Warshall,et al.  A Theorem on Boolean Matrices , 1962, JACM.

[9]  Stuart E. Dreyfus,et al.  Applied Dynamic Programming , 1965 .

[10]  John McCarthy,et al.  LISP 1.5 Programmer's Manual , 1962 .

[11]  Stephen J. Garland,et al.  Algorithm 97: Shortest path , 1962, Commun. ACM.

[12]  D. R. Fulkerson,et al.  Flows in Networks. , 1964 .

[13]  Jerome David Sable,et al.  LANGUAGE AND INFORMATION STRUCTURE IN INFORMATION SYSTEMS , 1963 .

[14]  George B. Dantzig,et al.  Linear programming and extensions , 1965 .

[15]  F. Harary,et al.  The theory of graphs and its applications , 1963 .

[16]  John Hersee Graphs and Their Uses. By Oystein Ore. $1.95. (Random House New Mathematical Library) , 1964 .

[17]  Stephen H. Unger,et al.  GIT—a heuristic program for testing pairs of directed line graphs for isomorphism , 1964, CACM.

[18]  Solomon W. Golomb,et al.  Backtrack Programming , 1965, JACM.

[19]  Norman,et al.  Structural Models: An Introduction to the Theory of Directed Graphs. , 1966 .

[20]  Claude Berge,et al.  Programming, games and transportation networks , 1966 .

[21]  T. A. J. Nicholson,et al.  Finding the Shortest Route between Two Points in a Network , 1966, Comput. J..

[22]  C. V. Ramamoorthy,et al.  Analysis of Graphs by Connectivity Considerations , 1966, J. ACM.

[23]  C. A. R. Hoare,et al.  A contribution to the development of ALGOL , 1966, CACM.

[24]  J. Doran,et al.  Experiments with the Graph Traverser program , 1966, Proceedings of the Royal Society of London. Series A. Mathematical and Physical Sciences.

[25]  S. Amarel An Approach to Heuristic Problem Solving and Theorem Proving in the Prepositional Calculus , 1967 .

[26]  Robert W. Floyd,et al.  Nondeterministic Algorithms , 1967, JACM.

[27]  R. Baecker PLANAR REPRESENTATIONS OF COMPLEX GRAPHS , 1967 .

[28]  Larry Irwin Implementing phrase-structure productions in PL/I , 1967, CACM.

[29]  Calvin C. Gotlieb,et al.  Algorithms for finding a fundamental set of cycles for an undirected linear graph , 1967, CACM.

[30]  J. Schwartz,et al.  Theory of Self-Reproducing Automata , 1967 .

[31]  Ira Pohl,et al.  A method for finding Hamilton paths and Knight's tours , 1967, Commun. ACM.

[32]  Donald E. Eastlake,et al.  The Greenblatt chess program , 1967, AFIPS '67 (Fall).

[33]  Edward W. Kozdrowicki An adaptive tree pruning system: A language for programming heuristic tree searches , 1968, ACM '68.

[34]  Saul Amarel,et al.  On representations of problems of reasoning about actions , 1968 .

[35]  Nils J. Nilsson,et al.  A Formal Basis for the Heuristic Determination of Minimum Cost Paths , 1968, IEEE Trans. Syst. Sci. Cybern..

[36]  Alfs Berztiss A Note on Segmentation of Computer Programs , 1968, Inf. Control..

[37]  Edward A. Feigenbaum,et al.  Artificial intelligence: themes in the second decade , 1968, IFIP Congress.

[38]  Nils J. Nilsson,et al.  Searching problem-solving and game-playing trees for minimal cost solutions , 1968, IFIP Congress.

[39]  Henry R. Bauer,et al.  ALGOL W implementation , 1968 .

[40]  James R. Slagle,et al.  Experiments With a Multipurpose, Theorem-Proving Heuristic Program , 1968, JACM.

[41]  W. Schroeder,et al.  Graphs, Dynamic Programming, and Finite Games , 1968 .

[42]  Barbara J Huberman,et al.  A program to play chess end games , 1968 .

[43]  Erik Sandewall A Planning Problem Solver Based on Look-Ahead in Stochastic Game Trees , 1969, JACM.

[44]  Stuart E. Dreyfus,et al.  An Appraisal of Some Shortest-Path Algorithms , 1969, Oper. Res..