[net.ai] EURISKO/AM review

"AllenRobert"@LLL-MFE.ARPA (03/07/84)

In response to Rusty's request regarding EURISKO (V2,#22),  the  following
is a brief excerpt from my thesis qualifying/background paper on knowledge
acquisition in expert systems.  I tried to summarize the  system  and  its
history;   a  lot  of  detail has been removed.  I hope the description is
accurate;  please feel free to criticize.


EURISKO is a part of  Doug  Lenat's  investigation  of  machine  learning,
drawing   its   roots  from  his  Stanford  Ph.D.   thesis  research  with
AM [Lenat 76].  AM was somewhat unusual among learning systems in that  it
does  not have an associated performance element (expert system).  Rather,
AM is supplied with an initial  knowledge  base  representing  simple  set
theoretic  concepts,  and  heuristics  which  it  employs to explore those
concepts.   The  goal  is  for  AM  to  search  for  new   concepts,   and
relationships between concepts, guided by those heuristics.

AM represents concepts (eg.  prime and  natural  numbers)  in  frames.   A
frame's  slots  describe  attributes  of  the  concept,  such as its name,
definition, boundary values, and examples.  A definition slot includes one
or  more  LISP  predicate  functions;   AM applies definition functions to
objects (values, etc.) to determine  whether  they  are  examples  of  the
concept.   For  instance,  the  Prime  Number frame has several definition
predicates which can each determine (for different  circumstances)  if  an
integer   is  prime  or  not;   those  predicates  (and  boundary  values)
effectively define the concept "prime number" within AM.

Any slot may have zero or more heuristics, expressed as production  rules,
expressing strategies for exploring concepts.  Heuristics primarily obtain
or verify slot values;  the may also  postulate  new  concepts/frames,  or
specify  tasks  to  be  performed.   AM  maintains  an  "agenda  of tasks"
expressed as goals, in the form "Find or verify the value of slot S,  from
concept/frame  C."  The  basic  control  structure selects a task from the
agenda, and checks the slot (S) for heuristics.  If one or more are found,
a  rule  interpreter  is  invoked  to  execute  them.   If  slot  S has no
heuristics, it may point (possibly  through  several  levels)  to  another
frame  whose  corresponding  (same  name)  slot  does, in which case those
heuristics are executed;  thus, heuristics from higher-level concepts  may
be  employed  or  inherited  in  exploring  less  abstract concepts.  This
continues until all the related heuristics are executed;  AM then  returns
to the agenda for a new goal.

AM is provided with an  initial  knowledge  base  of  around  one  hundred
frames/concepts   from   finite  set  theory,  which  include  around  250
heuristics.  The system is then "set loose"  to  explore  those  concepts,
guided  by  heuristics;   AM  postulates new concepts and then attempts to
judge their  validity  and  utility.   Over  a  period  of  time,  AM  may
conjecture  and  explore  several  hundred  new concepts;  some eventually
become well established and are  themselves  used  as  extensions  of  the
initial knowledge base.

AM never managed to discover concepts  that  were  not  already  known  in
mathematics;   however  it  did  discover  many  well  known  mathematical
principles (eg.  de Morgan's laws, unique factorization),  some  of  which
were  originally  unknown to Lenat.  It was hoped that AM might might also
be applied to  the  domain  of  heuristics  themselves;   i.e.   exploring
heuristic  concept/frames  instead of mathematical concept/frames, but the
system did not make  much  progress  in  this  area.   Lenat  explains  an
underlying   problem : AM's   representation  of  domain  knowledge  (LISP
functions) is fundamentally similar  to  the  primitives  of  mathematical
notation,  while  heuristics  lack  a  similar close relationship.  He has
developed  new  ideas  regarding  the  meaning   and   representation   of
heuristics,   which   are   being   explored   with  the  AM's  successor,
EURISKO [Lenat 82,83a,83b].

One significant lesson learned from AM, and being applied in  EURISKO,  is
(roughly)  that  explicit  treatment  of heuristics and meta-knowledge (as
well as assertive domain knowledge) is a necessary condition for  learning
heuristics  (and  assertive  domain  knowledge).   The  main  focus of the
EURISKO project is to  investigate  representation  and  reasoning/control
issues   related  to  learning  (heuristics,  operators,  and  new  domain
objects).  Also, where concepts in AM were related to mathematical notions
(like  Prime  Numbers),  flexibility  is  an important design criteria for
EURISKO, which is being applied  to  a  number  of  problem  domains  (see
[Lenat 83b]).

Like AM, EURISKO is a frame based system which represents  domain  objects
in   frames.    However,   where   AM  attached  heuristics  to  slots  in
concepts/frames, EURISKO represents heuristics themselves as  frames.   In
general,  EURISKO  goes  much  further  than AM in explicitly defining and
representing knowledge at many levels;  everything possible is  explicitly
represented  as  an  object.   For  example, every kind of slot (eg.  ISA,
Examples) has a frame associated with it, which  explicates  the  meanings
and  operations  of  the slot.  This allows the system to reason with each
kind of slot (as well as with the slot value), for example to know whether
a  particular  type  of  slot  represents guaranteed, probable, or assumed
knowledge.

Part of the approach in EURISKO is to  emphasize  the  importance  of  the
representation  language itself in solving a problem.  The RLL frame based
language [Greiner 80] was developed for  this  purpose.   In  RLL,  almost
every object (notably including heuristics) is represented as an explicit,
discrete frame ("unit" as they are called in RLL).  Thus heuristics become
objects which a system can use, manipulate, and reason about just like any
other object.  Without going into details, RLL has a  number  of  features
which  are  oriented  toward  explicit  representation and manipulation of
domain knowledge, both factual and heuristic.  It has a more sophisticated
"multiple-agendae" control structure which is itself represented as frames
in the knowledge base.  Operations with and on frames  include  a  lot  of
bookkeeping  by  RLL, intended to retain explicit knowledge which was lost
in AM.  Because heuristics are explicitly represented objects (frames), it
is possible for built-in or domain-specific knowledge to be applied to the
learning of heuristics (i.e.  using built-in heuristics which specify  how
to postulate and explore new heuristics).

EURISKO has been notably successful as both a learning and  a  performance
(expert)  system in a number of domains.  [Lenat 83b] describes the use of
EURISKO in playing the Traveller  Trillion  Credit  Squadron  (TCS)  game,
where it has won two national tournaments, and discovered some interesting
playing strategies.  In [Lenat 82a], EURISKO's application to  "high-rise"
VLSI  circuit design is described.  EURISKO constructed a number of useful
devices and circuits, and has discovered  some  important  heuristics  for
circuit design.

                              ----------

Greiner, R., Lenat, D.  1980.  "A Representation Language Language." Proc.
AAAI 1, pp.  165-169.

Lenat, D.B.  1976.  "AM:  An artificial intelligence approach to discovery
in   mathematics   as  heuristic  search."  Ph.D.   Diss.   Memo  AIM-286,
Artificial Intelligence Laboratory, Stanford University, Stanford,  Calif.
(Revised  version  in R.  Davis, D.  Lenat (Eds.), Knowledge Based Systems
in Artificial Intelligence.  New York:  McGraw-Hill.  1982.)

Lenat, D.B.  1982.  "The nature of heuristics." AI Journal 19:2.

Lenat, D.B.  1983a.  "The nature of heuristics II." AI Journal 20:2.

Lenat, D.B.  1983b.  "EURISKO:  A program that learns new  heuristics  and
domain concepts, The nature of heuristics III." AI Journal 21:1-2.

                              ----------
Rob Allen <ALLEN ROBERT@LLL-MFE.ARPA>