Quotes from 2nd edition:
p.98-100 Search may lead to discovery... Consequently you need interestingness heuristics
to help you decide...
More knowledge means less search. Search is seductive. While generally
involved in many tasks, tuning the search procedure is rarely the right thing to do. More often the right thing is
to improve understanding, thereby reducing the need for search.
p.128-129 Heuristic Pruning Also Limits Search: The alpha-beta search speedup procedure guarantees as good
an answer as can be found by doing complete, exhaustive minimaxing. Many other procedures have no such guarantee but are used
in combination with alpha-beta pruning as additional weapons against explosive tree growth.
A brute-force way of reducing the effective branching factor in a game tree is to concentrate on the better
moves. Of course, to concentrate on the better moves, there must be a method for ordering moves plausibly without looking
ahead any further [in the search tree]. If the static evaluator is fast enough, it can serve.
Once there is a way to order moves plausibly, one option is to arrange for the branching factor
to vary with depth of penetration, possibly tapering the search in favor of the more plausible moves through some formula
like the following:
r(child) = r(parent) - r(rank of child among siblings)
where r(child) is the number of branches to be retained at some child node, r(parent) is the number of branches
retained by the child node's parent, and r(rank of child among siblings) is the rank in plausibility of the child node among
its siblings.
Thus, if a node is one of five children and ranks second most plausible among those five, then it should
itself have 5-2=3 children. A complete tree formed using this idea looks like the one shown in figure 4-21 [figure not reproduced
here].
Another way of cutting off disasters [analysis of bad moves] is to stop search from going down through apparently
bad moves no matter what. This makes the width of the tree sensitive to the way particular games develop. If only
one line of play makes any sense at all, that line would be the only one pursued, cutting off disasters.
Needless to say, any heuristics that limits branching acts in opposition to lines of play that temporarily
forfeit pieces for eventual position advantage. Because they trim off the moves that appear bad on the surface, procedures
that limit branching are unlikely to discover spectacular moves that seem disastrous for a time, but then win back everything
lost and more. There will be no queen sacrifices.
Quotes from 3rd edition:
p.5 Artificial Intelligence is the study of the computations that make it possible to perceive, reason,
and act.
p.66 The total number of paths in a tree with branching factor b and depth d is b [to the power of] d. Thus,
the number of paths is said to explode exponentially as the depth of the search tree increases.
Accordingly, you always try to deploy a search method that is likely to develop the smallest number of paths.
p.70 Search efficiency may improve spectacularly if there is a way to order the choices so that
the most promising are explored earliest. In many situations, you can make measurements to determine a reasonable
ordering... you will learn about search methods that take advantage of such measurements; they are called heuristically
informed methods.
p.72 Generally, exploiting knowledge, as in hill climbing, [a search technique previously explained] reduces
search time, a point worth elevating to the status of a powerful idea:
Whenever faced with a search problem, note that, More knowledge generally leads to reduced search
time. Sometimes, knowledge reduces search time by guiding choices, as in the [previous] example... Although search
is involved in many tasks, devising a fancy, finely tuned search procedure is rarely the best way to spend your time.
You usually do better if you improve your understanding of the problem, thereby reducing the need for fanciness
and fine tuning.
p.167-168 A domain expert is a person who has accumulated a great deal of skill in handling problems in
a particular area called the domain of expertise. Knowledge engineering is the extraction of useful knowledge from
domain experts for use by computers. Often, albeit far from always, knowledge engineers expect to cast the acquired
knowledge in the form of rules for rule-based systems.
To some extent, knowledge engineering is an art, and some people become more skilled at
it than do others. Nevertheless, there are two key heuristics that enable any knowledge engineer to do the job well.
The first of the key knowledge-engineering heuristics is the heuristic of specific situations.
According to this heuristic, it is dangerous to limit inquiry to office interviews, asking only the general question, "How
do you do your job?" Instead, a knowledge engineer should go into the field to watch domain experts proceed about their normal
business, asking copious questions about specific situations as those situations are witnessed.
The second of the key knowledge-engineering heuristics is the heuristic of situation comparison.
The idea is to ask a domain expert for clarification whenever the domain expert's behavior varies in situations that look
identical to the knowledge engineer. The purpose is to help the knowledge engineer to acquire a vocabulary that is sufficiently
rich to support the necessary acquisition of knowledge.