[net.ai] FP and AI

sts@ssc-vax.UUCP (Stanley T Shebs) (08/12/83)

It is interesting that the subject of FP (an old interest of mine)
has arisen in the AI newsgroup (no this is not an "appropriate
newsgroup" flame).  Having worked with both AI and FP languages,
it seems to me that the two are diametrically opposed to one
another.  The ultimate goal of functional programming language
research is to produce a language that is as clean and free of
side effects as possible; one whose semantic definition fits
on a single side of an 8 1/2 x 11 sheet of paper (and not in
microform, smart-aleck!).  On the other hand, the goal of AI
research (at least in the AI language area) is to produce languages
that can effectively work with as tangled and complicated
representations of knowledge as possible.  Languages for semantic
nets, frames, production systems, etc, all have this character.
Formal definitions are at best difficult, and sometimes impossible
(aside: could this be proved for any specific knowledge rep?).
Now between the Japanese 5th generation project (and the US response)
and the various projects to build non-vonNeumann machines using
FP, it looks to me like the seeds of a controversy over the best
way to do programming.  Should we be using FP languages or AI
languages?  We can't have it both ways, right? Or can we?

					stan the leprechaun hacker
					ssc-vax!sts (soon utah-cs)

pollack@uicsl.UUCP (08/16/83)

#R:ssc-vax:-40800:uicsl:15500001:000:883
uicsl!pollack    Aug 15 19:06:00 1983

Having also worked with both FP and AI systems I basically agree with
your perceptions of their respective goals and functions, but I think that we
can have both, since they operate at different levels: Think of a powerful,
functional language that underlies the majority of the work in AI data
and procedural representations, and imagine what the world would be like
if it were pure (but still powerful).

Besides the "garbage collector" running now and then, there could, given
the mathematical foundations of FP systems, also be an "efficiency expert" 
hanging around to tighten up your sloppy code.

Jordan Pollack
University of Illinois
...!pur-ee!uiucdcs!uicsl!pollack

P.S. There is a recent paper by Lenat from Rand called "Cognitive Economy"
which discusses some possible advances in computing environment maintenance;
I don't recall it being linked to FP systems, however.

sts@ssc-vax.UUCP (Stanley T Shebs) (08/18/83)

There *is* a powerful functional language underlying most AI programs -
Lisp!  But it's never pure Lisp.  The realization that got me to thinking
about this was the apparent necessity for list surgery, sooner or later.
rplaca and allied functions show up in the strangest places, and seem
to be crucial to the proper functioning of many AI systems (consider
inheritance in frames or the construction of a semantic network;
perhaps method combination in flavors qualifies).  I'm not arguing
that an FP language could *not* be used to build an AI language
on top; I'm thinking more about fundamental philosophical differences
between different schools of research.

						stan the lep hacker
						ssc-vax!sts (soon utah-cs)