Copyright (c) 2013 John L. Jerz

Heuristics (Pearl, 1984)

Home
A Proposed Heuristic for a Computer Chess Program (John L. Jerz)
Problem Solving and the Gathering of Diagnostic Information (John L. Jerz)
A Concept of Strategy (John L. Jerz)
Books/Articles I am Reading
Quotes from References of Interest
Satire/ Play
Viva La Vida
Quotes on Thinking
Quotes on Planning
Quotes on Strategy
Quotes Concerning Problem Solving
Computer Chess
Chess Analysis
Early Computers/ New Computers
Problem Solving/ Creativity
Game Theory
Favorite Links
About Me
Additional Notes
The Case for Using Probabilistic Knowledge in a Computer Chess Program (John L. Jerz)
Resilience in Man and Machine

Intelligent Search Strategies for Computer Problem Solving

heuristicspearl.jpg

This book presents, characterizes, and analyzes problem solving strategies that are guided by heuristic information. It provides a needed bridge between heuristic methods developed in artificial intelligence, optimization techniques used in operations research, and complexity-analysis tools developed by computer theorists and mathematicians.
 
The material is presented in sufficient depth so that students and professionals may apply these strategies to specific problem tasks in areas such as reasoning, design, scheduling, planning, signal interpretation, symbolic computation, and combinatorial optimization. Students in computer science, operations research, or mathematics who wish to understand the nature and the power of heuristic methods and to conduct creative research in the field should find this volume a convenient textbook to follow. It presents the material in an intuitively motivated, yet mathematically precise, development and encourages self-discovery by highlighting problem areas for future works. Each chapter contains annotated references to the literature and a set of nontrivial exercises carefully chosen to enhance skill, insight, and curiosity.
 
For the professional involved in the design of problem solving systems or in the analysis of heuristic methods, this book will prove a useful reference, because much of the material has not appeared in book form before.
 
Unique topics in the book include:
  • Algorithmic taxonomy of basic search strategies, such as backtracking, best-first, and hill-climbing, their variations and hybrid combinations.
  • Searching with distributions and with nonadditive evaluation functions.
  • The origin of heuristic information and the prospects for automatic discovery of heuristics.
  • Applications of branching processes to the analysis of path-seeking algorithms.
  • The effect of errors on the complexity of heuristic strategies.
  • The duality between games and mazes.
  • Recreational aspects of recursive minimaxing.
  • Average performance analysis of game-playing strategies (e.g., alphabeta, SSS*, and SCOUT).
  • The benefits and pitfalls of look-ahead in game playing.
 
link to pdf file containing a review

vii This book is about heuristics, popularly known as rules of thumb, educated guesses, intuitive judgments or simply common sense. In more precise terms, heuristics stand for strategies using readily accessible though loosely applicable information to control problem-solving processes in human beings and machine[s].
 
xi The study of heuristics draws its inspiration from the ever-amazing observation of how much people can accomplish with that simplistic, unreliable information source known as intuition... Early attempts to equip machines with humanlike intelligence have quickly revealed that machines, too, cannot possibly be expected to operate with only precise and detailed knowledge of their task environment. Rather, this knowledge must, in some way, be summarized or abstracted so as to provide, like human intuition, a steady stream of tentative, unpolished, yet swift and informative advice for managing the primitive computational steps that make up a problem-solving process. The information content of this advice came to be known as heuristic knowledge.
 
p.3 Heuristics are criteria, methods, or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal. They represent compromises between two requirements: the need to make criteria simple and, at the same time, the desire to see them discriminate correctly between good and bad choices.
  A heuristic may be a rule of thumb that is used to guide one's actions.
 
p.4 It is the nature of good heuristics both that they provide a simple means of indicating which among several course of action is to be preferred, and that they are not necessarily guaranteed to identify the most effective course of action, but do so sufficiently often.
 
p.13-14 Each of the five preceding example problems presents us with repetitive choices among a multitude of exploration paths that might be taken to reach a solution. In each case, we have exhibited a heuristic function that serves to indicate which among all those paths seem the most likely to lead to a solution. The heuristics are simple to calculate relative to the complexity of finding a solution and, although they do not necessarily always guide the search in the correct direction, they quite often do. Moreover, whenever they do not, we can resort to some recovery scheme to resume the search from a different point. The key is that these heuristics save time by avoiding many futile explorations.
  But how do you find a good heuristic, and when you have found one, how should you use it most effectively and how would you evaluate its merit?
  The main objective of this book is to try to answer such questions and to quantify the characteristics of heuristics that produce the most beneficial results.
 
p.46-47 In Chapter 1 (Section 1.1) we saw examples in which familiarity with the problem domain enabled us to judge certain directions of search more promising than others, this using knowledge beyond that which is built into the state and operator definitions. In this section, we see how this heuristic knowledge can be used in the formalism of systematic search.
  The most natural stage for using heuristic information is in deciding which node to expand next.
 
p.48 The promise of a node can be estimated in various ways. One way is to assess the difficulty of solving the subproblem represented by the node. Another way is to estimate the quality of the set of candidate solutions encoded by the node. A third alternative is to consider the amount of information that we anticipate gaining by expanding a given node and the importance of this information in guiding the overall search strategy. In all these cases, the promise of a node is estimated numerically by a heuristic evaluation function f(n) which, in general, may depend on the description of n, the description of the goal, the information gathered by the search up to that point, and most important, on any extra knowledge about the problem domain.
 
p.79 The power of the heuristic estimate h( ) is measured by the amount of pruning induced by h and depends, of course, on the accuracy of this estimate. [JLJ - I would say that the power of a heuristic is the ability to uncover the truly promising lines of play and the extension of the depth of exploration along these lines.]
 
p.92-93 Our task now is to devise a rule for scheduling nodes for expansion... What is the basis of our regrets for not having explored [node] n? ...Every node competing for expansion could then be characterized by a function R(C) measuring the risk associated with leaving that node unexplored, and we can impose the requirement that the search will continue until the risk associated with every (unexplored) node on OPEN becomes lower than some acceptable level [delta].
 
p.115 Instead of seeking a mathematical function h(n) to approximate h*(n) [The cheapest cost of paths going from n to the set of goal nodes], we can actually complete the solution using the relaxed version of the puzzle, count the number of steps required, and use this count as an estimate of h*(n).
 
p.115 Heuristics are discovered by consulting simplified models of the problem domain... The preceding example, however, specifically demonstrates the use of one important class of simplified models; that generated by removing constraints which forbid or penalize certain moves in the original problem. We call models obtained by such constraint-deletion processes relaxed models.
 
p.118 We return now to the relaxation scheme and to show how the deletion of constraints can be systematized to the point that natural heuristics, such as those demonstrated in Chapter 1, can be generated by mechanical means. The constraint-relaxation scheme is particularly suitable for this purpose because it is often convenient to represent problem domains by specifying the constraints that govern the applicability and impact of the various transformations in that domain.
 
p.122 the General Problem Solver (Ernst and Newell, 1969) is controlled by "differences," a set of features that make the goal different from the current state [JLJ - provided, of course, that your strategy involves pursuing only this goal]. The programmer has to specify, though, along what dimensions these differences are measured, which differences are easier to remove, what operators have the potential of reducing each of the differences, and under what conditions each reduction operator is applicable.
 
p.124 Although the effort invested in searching for an appropriate relaxed model may seem heavy, the payoffs expected are rather rewarding. Once a simplified model is found, it can be used to generate heuristics for all instances of the original problem domain.
 
p.126 Sampling is perhaps the oldest and the most widely practiced of all heuristic methods.
 
p.131 Rather than ignoring constraints altogether, an alternative way of relaxing problems by mathematical manipulations is to penalize the cost function for some constraint violations and reward it when some constraints are satisfied.
 
p.169 In chapter 4 it was argued that heuristic methods usually derive their knowledge from simplified models of the problem environment. It is natural to expect, therefore, that the utility of the heuristic used should depend on the proximity between its underlying model and the reality of the problem at hand. The more faithful the model, the more efficient the search.
 
p.221 The skill of playing games such as chess, checkers, or GO has long been regarded as a distinctive mark of human intelligence. It is natural, therefore, that the general public continues to monitor the success of game-playing programs as a measure of progress in artificial intelligence.
 
p.226 Using Evaluation Functions. Having no practical way of evaluating the exact status of successor game positions, one may naturally resorts [sic] to heuristic approximations. Experience teaches us that certain features in a game position contribute to its strength, whereas others tend to weaken it. Thus we may be able to select a reasonably "good" move if we can list a sufficient number of features for each one of the resulting positions, aggregate their contributions into a single evaluation function e, and then choose the move leading toward the game position of highest merit.
  Such a simplistic decision would obviously lead to poor play unless the evaluation function were extremely accurate, that is, if it correlated very closely with the actual status of the nodes evaluated... An obvious generalization is not to use the board evaluation immediately, but use it after the play has extended through several rounds of move and counter move.
 
p.229 Highly sophisticated evaluation functions may permit us to get by with shallow search, whereas deep search may make up for deficiencies in the evaluation function.
 
p.299 A straightforward way of obtaining [move] ordering information is to compute the static evaluation functions of contending successors, and use these values to determine which should be explored first. Such informed ordering requires that whenever we generate a node, some evaluation be applied to all its siblings, even to those that would eventually be cut off by the search. The question now arises whether this extra ordering computation will pay off

Enter supporting content here