[comp.ai.digest] AI as CS and the scientific epistemology of the common sense world

JMC@SAIL.STANFORD.EDU (John McCarthy) (11/01/88)

[In reply to message sent Mon 31 Oct 1988 20:39-EST.]


Intelligence can be studied

(1) through the physiology of the brain,

(2) through psychology,

(3) through studying the tasks presented in the achievement of
goals in the common sense world.

No one of the approaches can be excluded by a priori arguments,
and I believe that all three will eventually succeed, but one
will succeed more quickly than the other two and will help mop up
the other two.  I have left out sociology, because I think its
contribution will be peripheral.

AI is the third approach.  It proceeds mainly in computer science
departments, and many of its methods are akin to other computer
science topics.  It involves experimenting with computer programs
and sometimes hardware and rarely includes either psychological
or physiological experiments with humans or animals.  It isn't
further from other computer science topics than they are from
each other and there are more and more hybrids of AI with
other CS topics all the time.

Perhaps Simon doesn't like the term AI, because his and Newell's
work involves a hybrid with psychology and has involved psychological
experiments as well as experimental computer programming.  Surely
some people should pursue that mixture, which has sometimes
been fruitful, but most AI researchers stick to experimental
programming and also AI theory.

In my opinion the core of AI is the study of the common sense world
and how a system can find out how to achieve its goals.  Achieving
goals in the common sense world involves a different kind of
information situation than science has had to deal with previously.
This fact causes most scientists to make mistakes in thinking about
it.  Some pick an aspect of the world that permits a conventional
mathematical treatment and retreat into it.  The result is that
their results often have only a metaphorical relation to intelligence.
Others demand differential equations and spend their time rejecting
approaches that don't have them.

Why does the common sense world demand a different approach?  Here are
some reasons.

(1) Only partial information is available.  It is partial not merely
quantitatively but also qualitatively.  We don't know all the
relevant phenomena.  Nevertheless, humans can often achieve goals
using this information, and there is no reason humans can't understand
the processes required to do it well enough to program them in computers.

(2) The concepts used in common sense reasoning have a qualitatively
approximate character.  This is treated in my paper ``Ascribing
Mental Qualities to Machines.''

(3) The theories that can be obtained will not be fully predictive
of behavior.  They will predict only when certain conditions are
met.  Curiously, while many scientists demand fully predictive theories,
when they build digital hardware, they accept engineering specifications
that aren't fully predictive.  For example, consider a flip-flop with
a J input, a K input and a clock input.  The manufacturer specifies
what will happen if the clock is turned on for long enough and then
turned off provided exactly one of the J and K inputs remains high
during this period and the other remains low.  The specifications
do not say what will happen if both are high or both are low or
if they change while the clock is turned on.  The manufacturer
doesn't guarantee that all the flip-flops he sells will behave
in the same way under these conditions or that he won't change
without notice how they behave.  All he guarantees is what
will happen when the flip-flop is used in accordance with the
``design rules''.  Computer scientists are also quite properly
uninterested in non-standard usage.  This contrasts with linear
circuit theory which in principle tells how a linear circuit will
respond to any input function of time.  Newtonian and
non-relativistic quantum mechanics tell how particles respond to
arbitrary forces.  Quantum field theory seems to be more picky.
Many programs have specified behavior only for inputs meeting
certain conditions, and some programming languages refrain
from specifying what will happen if certain conditions aren't
met.  The implementor make the compiler do whatever is convenient
or even not figure out what will happen.

What we can learn about the common sense world is like what is
specified about the flip-flop, only even more limited.
Therefore, some people regard the common sense world as unfair
and refuse to do science about it.