Skim Pages 29-61: Problems, Problem Spaces, and Search
- There are some who believe the simple statement, "AI is
- State space is sometimes explicit, like a matrix of board
positions, and sometimes implicit, like a set of rules or
- The analytical approach to problem solving is generally the
same in every domain. In AI the usual procedure is
- define a state space
- identify initial states
- identify goal states
- specify operators that change states
- Note, this is roughly the same procedure as any requirements
analysis for any software project.
- Note, define a state space means sub-problem decomposition,
also something done in every software project. See
How to Solve It by
- It's stated like this in AI because so often the problem
area is akin to a board game
- Control strategies break down into the three types of
- depth-first search: top to bottom, left to right, the most
easily implemented (recursive) algorithm
- breadth-first search: left to right, top to bottom, visiting
all the children before visiting a grandchild
- heuristic search, sometimes called "best first": where
theres an evaluation function you can use to choose the next path
- Key quote from the chapter (pg. 53). "These two problems,
chess and newspaper story understanding, illustratte the
difference between problems for which a lot of knowledge is
important only to constrain the search for a solution and those
for which a lot of knowledge is required even to be able to
recognize a solution".
Skim Pages 63-98: Heuristic Search Techniques
- The general messaage(s) are these:
- very hard problems will tend
to have very large search spaces.
- heuristics (general rules that USUALLY apply), can be used
to limit search
- some sort of evaluation function is always necessary
- key vocabulary: heuristics allow you to "prune the search tree"
- generate-and-test: a brute-force depth first search in its
- hill-climbing: a variation on generate and test that
incorporates visualization (see the usual diagram)
key vocabulary: the problem of local minima / maxima
- backtracking is a simple universal strategy, that requires
the algorithms to maintain state information.
- simulated annealing: a variation on hill-climbing where
random guesses are introduced (sometimes caled stochastic
- best-first search: much the same as above, but where the
evaluation function is much more reliable.
- agenda-driven search: perhaps the most interesting topic in
this chapter, as it produces answers for evaluation by
re-ordering tasks. This is an oddity in this chapter
- problem reduction: another term for "pruning"
- constraint satisifaction: be aware AI uses a strange sense
of "constraint" - the classic example is the seating chart
- means-ends analysis: not usually described in a chapter on
heuristic search. Based on human behavior (as described in Polya
key vocabulary: sub-problem decomposition
Read: 105-129: Knowledge Representation Issues
- the problem-solving power of search techniques is limited in
part because of their generality
- it is generally understood (in symbolic AI) that solving
complex problems depends on knowledge and mechanisms to
- the challenge is known as the (knowledge) representation
- the discussion on knowledge level and symbol level, and
"representation mappings", is all about the relation between
symbols (syntax) and meaning
- one basic problem is translating informal natural language
statements into a formal notation
- dog(Spot) => Spot is a dog
- All X: dog(x) -> hastail(x) =>
All dogs have tails OR Every dog has a tail
- note: this one fact, and one inference rule, is enough to
produce a NEW fact => hastail(Spot)
- the authors note this is akin to generalized computer
programming: finding concrete implementation of abstract
- the authors do not note that the obverse of representation
is interpretation - representing facts and relations is for the
sole purpose of supporting inference.
i.e. dog(Spot) is just ASCII symbols without an inference mechanism
to provide meaning
- the typical AI represention is composed of two types of
thing: concepts (usually nouns) and relations
- relations are sometimes represented as a slot-and-filler
structure (also commonly, slots-with-roles-and-fillers), which
are also called attribute-value-pairs
- vocabulary: frame system is a set of structures linked by
a semantic network is a set of concepts linked by semantic
the latter is an older specialization of the former, mostly used in
early (associational) memory modeling systems
- sadly, there is no generally agreed upon set of relations
- the other key idea in knowledge representation is
abstraction/inheritance (and the special relation: ISA,
sometimes written AKO, and its inverse: instance-of)
- by combining these in straight-forward ways, we can infer
that Spot is warm-blooded without explicitly representing that
- procedural knowledge refers to programming that effects
actions (like robot arms) or in if-then-else decision
making. This is an older term not very useful any more.
- Note: many of the issues in knowledge representation are
similar to data structure issues
- Note: representing time is difficult (hence, there is an entire
branch of logic devoted to it)
- Vocabulary: granularity, "what level of detail?" "what are
Skim: 131-169: Logic
- one fundamental issue with predicate logic is everything is
"truth valued"; which causes a difficult representational "fit"
for a large class of problems
- another issue is that theorem proving is both "generative"
and undecidable, where
- generative (also called forward reasoning) means starting
with axioms and theorems
(i.e. starting from first principles), and trying to generate a
new proposition that matches the goal
- unecidable means if the goal is a non-theorem, there's no
guarantee the procedure will halt
- note, however, that while the idea is conceptually
generative, the algorithms usually generate proofs by chaining
backward from the theorem to be proved to the axioms
- resolution theorem proving is conceptually the same, but
takes the approach of "contradicting the negation"
- note that unification is one of the steps in resolution
- one of the main reasons for the popularity of resolution,
unification, and PROLOG, is that the first two are relatively
easy to implement in the third
- note, as the authors say, "people do not think in
Skim: 171-193: Rules
- rule-based systems are often called "expert systems"
- these are typically applied to diagnostic domains
(eg. medicine) although the most commercially successful
configured systems (R1 by DEC).
- PROLOG is often used to implement rule-based systems
- one essential control method is the order in which the rules
are stored in the rule base
- the conceptual algorithm is the same as with logic-based
systems: begin with a goal statement (to be "proved") and look
for (chains of) assertions that prove it
- PROLOG provides a built-in search engine, but search control
is fixed (depth-first with backtracking), and it is very
difficult to apply domain knowledge to constrain search
- a pure PROLOG system (using strictly Horn clauses) is
decidable, and implements "negation as failure"
- negation as failure implies a "closed world assumption"
(that every useful fact is stored in the rule-base)
- this assumption causes a difficult representational "fit"
for a large class of problems
- rule-based systems get more interesting when there is a
fcility for "partial matching" (as with the regular expressions
- expert systems evolved rule sets that included "meta rules"
(rules about rules) as a way to exert more control over
problem-solving and run-times
- historical note: expert systems were extremely fashionable
(and fundable) in the mid-80s. This led to the formation of a
mini-industry for "expert system shells" (systems for building
exert systems) which in turn led to the famous de-bunking paper:
"The expert system shell game".
- summary: expert systems are known to be "brittle" - they are
difficult to maintain and difficult to add onto - and they are
known for "ungraceful" failures (not producing answers, or
producing very bad answers).
Skim: 195-229: Uncertainty
- non-monotonic reasoning (also called "defeasible")
- the basic intuition views this as reasoning about "possible
worlds" where some facts are not indisputable and new facts can
change the state of the universe
- you can think of it as a "set" of logic- or rule-based
systems, where every uncertainty is enumerated in one or another
of the possible worlds
- then problem solving reduces to computing solutions in ALL
the possible worlds to find the best one
- this is why non-monotonic reasoning is criticized for its
- special note: abductive reasoning is a new formalism that
relaxes the usual rules of deductions;
- eg. if A imlies B, and B
is true, then abduction says we can assume A is true, even
without direct evidence.
- critics call this "reasoning from a faulty premise" but
there is an abductive reasoning community out there.
Skim: 231-248: Statistics
- statistical reasoning (sometimes called stochastic
reasoning) divides into two general areas
- probabilities associated with rules
- where, for example, low
grade fever and a runny nose indicate the common cold, but only
about 80% of the time.
- these systems depend on judgements of domain experts and
reasonably standard set theory and logic.
- fuzzy logic, where concepts or entities can have conditional
membership in a set
- fuzzy logic is intended to support reasoning on propositions
that have "degrees of truth".
- supporters claim this is a better model of reality
- critics observe that decisions based on fuzzy logic always
depend on threshhold values, which effectively reduces to truth