Strategies in Heuristic Search

Abstract Real-valued heuristic functions have been extensively used as a means for constraining search in combinatorially large problem spaces. In this paper we look at an alternative approach, called strategic search, in which heuristic information is expressed in the form of problem specific strategies. A strategy is considered to be a (possibly partial) function which for a given state in some problem domain returns sequences of states over the problem domain. The strategy is intended to guide one towards a goal state, but there is no guarantee of success. Strategic search generates a search graph by following some strategy or set of strategies, backtracking to previous choice points when the current strategy fails. We first examine algorithms for performing strategic search using both deterministic and non-deterministic (multiple) strategies. Some examples are given which indicate that strategic search can outperform standard heuristic search methods. We then describe some algorithms which are shown to be admissible when the strategy satisfies certain conditions. The construction of strategies is also considered, and means for acquiring strategic knowledge both from analogous problems and from example execution traces are described. Finally, we indicate how these techniques can be extended to hierarchically organized problem spaces and show how meta-level strategies can be used to guide the application of object level strategies.

[1]  Joost Engelfriet,et al.  Simple Program Schemes and Formal Languages , 1974, Lecture Notes in Computer Science.

[2]  J. V. Phillips Program Inference from Traces using Multiple Knowledge Sources , 1977, IJCAI.

[3]  John Gaschnig,et al.  A Problem Similarity Approach to Devising Heuristics: First Results , 1979, IJCAI.

[4]  J. Carbonell Learning by Analogy: Formulating and Generalizing Plans from Past Experience , 1983 .

[5]  Randall Davis Generalized procedure calling and content-directed invocation , 1977, SIGART Newsl..

[6]  John McDermott,et al.  Learning to Use Analogies , 1979, IJCAI.

[7]  Laurent Siklóssy,et al.  The Role of Preprocessing in Problem Solving Systems , 1977, IJCAI.

[8]  Salvatore J. Stolfo,et al.  Automatic Discovery of Heuristics for Nondeterministic Programs , 1979, IJCAI.

[9]  David Wilkins,et al.  Using Patterns and Plans in Chess , 1980, Artif. Intell..

[10]  David J. H. Brown Hierarchical Reasoning in the Game of Go , 1979, IJCAI.

[11]  Peter Friedland Knowledge-based experiment design in molecular genetics , 1979 .

[12]  Rob Kling,et al.  A Paradigm for Reasoning by Analogy , 1971, IJCAI.

[13]  Michael P. Georgeff,et al.  Procedural Control in Production Systems , 1982, Artif. Intell..

[14]  Richard Fikes,et al.  Learning and Executing Generalized Robot Plans , 1993, Artif. Intell..

[15]  Earl D. Sacerdoti,et al.  Planning in a Hierarchy of Abstraction Spaces , 1974, IJCAI.

[16]  John Darlington,et al.  A Transformation System for Developing Recursive Programs , 1977, J. ACM.

[17]  Richard E. Korf,et al.  Toward a Model of Representation Changes , 1980, Artif. Intell..

[18]  Drew McDermott,et al.  Flexibility and Efficiency in a Computer Program for Designing Circuits , 1976 .