Heuristic Search Programs

When a certain problem cannot be solved directly, it is often possible to write a program to search for a solution. If the number of possibilities to be searched in order to find a solution is sufficiently small, the problem is trivial since the program can consider all possibilities. For an intellectually difficult problem, the number of possibilities to be searched is so large (sometimes infinite) that for all practical purposes there is no exhaustive procedure. For example, in most kinds of theorem-proving including predicate calculus, the number of possibilities to be searched is potentially infinite. In order to guarantee a perfect first move in checkers, the program would have to search through about 1040 possible games. In chess the number is about 10120.Even tremendous improvements in hardware would hardly dent tasks requiring the search of so many possibilities. It is much better to consider alternative ways of defining the search and modifying the search, that is, to consider heuristic search techniques. In general, a heuristic is a rule of thumb, strategy, method or trick used to improve the efficiency of a system which tries to discover the solutions of complex problems. Some heuristics are specific, that is, limited to one problem-solving domain, such as proving theorems in geometry. Other heuristics are general, that is, applicable to several domains. For example, the heuristic of “working backwards” is useful in many theorem-proving and problem-solving domains.

[1]  Floyd A. Miller Improving heuristic regression analysis , 1967, ACM-SE 6.

[2]  Charisma Lee A completeness theorem and a computer program for finding theorems derivable from given axioms , 1967 .

[3]  Allen Newell,et al.  Some Problems Of Basic Organization In Problem-Solving Programs , 1962 .

[4]  H. Gelernter,et al.  Realization of a geometry theorem proving machine , 1995, IFIP Congress.

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

[6]  James R. Slagle,et al.  A Heuristic Program that Solves Symbolic Integration Problems in Freshman Calculus , 1963, JACM.

[7]  Bernard Meltzer Theorem-Proving for Computers: Some Results on Resolution and Renaming , 1966, Comput. J..

[8]  F. R. A. Hopgood,et al.  Machine Intelligence 3 , 1969, The Mathematical Gazette.

[9]  M. E. Maron,et al.  A computer system for inference execution and data retrieval , 1967, CACM.

[10]  Fred M. Tonge Assembly Line Balancing Using Probabilistic Combinations of Heuristics , 1965 .

[11]  Larry Wos,et al.  Efficiency and Completeness of the Set of Support Strategy in Theorem Proving , 1965, JACM.

[12]  D. Loveland,et al.  Empirical explorations of the geometry theorem machine , 1960, IRE-AIEE-ACM '60 (Western).

[13]  Herbert A. Simon,et al.  A chess mating combinations program , 1966, AFIPS '66 (Spring).

[14]  L. Wos,et al.  The unit preference strategy in theorem proving , 1899, AFIPS '64 (Fall, part I).

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

[16]  Bertram Raphael,et al.  The use of theorem-proving techniques in question-answering systems , 1968, ACM National Conference.

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

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

[19]  Marshall C. Yovits,et al.  Self-organizing systems 1962 , 1964 .

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

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

[22]  James R. Slagle,et al.  Experiments with a deductive question-answering program , 1965, CACM.

[23]  James R. Slagle,et al.  Experiments With Some Programs That Search Game Trees , 1969, JACM.

[24]  J. A. Robinson,et al.  A Machine-Oriented Logic Based on the Resolution Principle , 1965, JACM.

[25]  A. L. Samuel,et al.  Some studies in machine learning using the game of checkers. II: recent progress , 1967 .

[26]  James R. Slagle,et al.  Automatic Theorem Proving With Renamable and Semantic Resolution , 1967, JACM.

[27]  John McCarthy,et al.  Programs with common sense , 1960 .

[28]  Larry E. Travis,et al.  Experiments with a theorem-utilizing program , 1964, AFIPS '64 (Spring).

[29]  Allen Newell,et al.  GENERALITY AND GPS , 1967 .

[30]  M. Wells,et al.  Experiments in Chess , 1957, JACM.

[31]  Donald Michie,et al.  Machine Intelligence 4 , 1970 .