Dendral, STRIPS, MYCIN, and R1
DENDRAL (Stanford: 1965) "perhaps the first system to demonstrate that
it is possible for a computer program to rival the performance of
domain experts in a specialized field."
Considered a "stepping stone" from older AI programs since it is based on
heuristic search but involves an explicit representation of the domain
knowledge (before systems used just states)
Task: Identification (classification?) of molecular structures of
organic compounds (note: formula is known)
Technique: Generate and Test (Jackson Second edition: page 36)
Knowledge representation - substructures
Mass Spectrometer - charged particles collected by mass to form a spectrum (In
most ions, the charge is 1, so m/e is simply the mass of the ion)
If have two compounds, one known and one unknown, then mass spectra is proof
("almost beyond the shadow of a doubt" Organic Chemistry, Morrison and Boyd)
that the two compounds are identical.
To establish a new compound,
Problem: many ways to fragment (glasses example)
Solution: Constraints as heuristics
Constraints: serve to restrict or rule out many possibilities
Why not just generate all possibilities of isomer arrangements
and discard ones that don't fit constraints?
10,000 for C6H13NO2
Want to minimize the initial generation
"it applies knowledge of spectral processes (how things break) to infer
constraints from instrumental data." (page 38)
Types of constraints
a DENDRAL program - "constructs complete chemical structures by manipulating
symbols that stand for atoms and molecules...receives as its input a
molecular formula, together with a set of constraints which serve to restrict
the possible interconnections among atoms. Its output is a list of all
possible ways of assembling the atoms into molecular structures, given the
constraints imposed."
(aside: input, what, output, how (subprocesses))
Note: allows chemist to specify various kinds of structural constraints,
then generates an exhaustive and nonredundant list
Specific kinds of constraints (page 39)
still, too many can be generated:
MSPRUNE - eliminates candidates
MSRANK - orders
basically: hypothesize and test (but note how each program has its own task
(possibly different forms of reasoning - we decided this, the program
does not know it, nor how it does what it does)
Example: page 40
In STRIPS Fikes and Nilsson [1971] use a GPS-like [Newell 1963]
means-ends analysis strategy.
It was intended to solve the problem of plan formation in a robot designed to
move (and stack) objects.
In the STRIPS representation, a world state is represented by a set of logical
formulas, a conjunction of which describes the given state.
W = {ON(b,a) & ONTABLE(a) & ONTABLE(c) & ONTABLE(d) &
ARMEMPTY}
W'
W''
GOAL = {ON(c,a) & ON(b,d) & ONTABLE(a) & ONTABLE(d) }
Actions are represented by operators which consist of three lists:
OPERATORS:
STACK(x,y)
UNSTACK(x,y)
PICKUP(x)
PUTDOWN(x)
Examples: here
STRIPS had many procedures for different jobs:
This was a kind of state space search ... but it did not use generate and
test.
Consider ... goal driven and backward rather than data driven and forward
"One virtue of the operator table representation is that it is easy to tell,
for any given goal, which operators will be effective in achieving it."
Task?
Technique?
STRIPS assessment
First, consider other representations of the "world"
an array where cells are locations and entries are objects (remember the
missionary/cannibal problem) (checkers problem)
We want representations that make it easy to work with, operate on, and
modify
look at Jackson: page 45
Control structure adequacy:
"The trouble with STRIPS is not that its understanding of formulas is shallow,
but that its search strategy is still not adequate for the sensible solution of
anything other than the simplest planning problems."
Scalable: MicroWorlds, Toy Problems (and solutions)
(Also remember- Frame problem: Dennet and robot in wagon with bomb)
all info for Dendral in Text, Second edition
what is the actual arrangement?
DENDRAL Planner:
Give initial knowledge of strucutral skeletons, supply rules on how expect such
a compound to fragment CONGEN: a constrained generator
STRIPS