[comp.ai.digest] representation languages

ijd@otter.lb.hp.co.UK (Ian Dickinson) (06/15/88)

Date: Tue, 14 Jun 88 05:42 EDT
From: Ian Dickinson <ijd%otter.lb.hp.co.uk@RELAY.CS.NET>
To: ailist@mc.lcs.mit.edu
Subject: Re: representation languages


/ otter:comp.ai.digest / vierhout@swivax.UUCP (Paul Vierhout) / writes:
> AIlanguage features:
> old: procedure-data equivalence
> less old: nondeterminism, 'streams'
> 		,unification,OPS5 pattern matching, 
> shell-like: ability to specify frames and/or rules, and possibly control
> promises: abstract models of cognitive tasks like the Interpretation Models
> 	of Breuker and Wielinga (SWI-UvA, Amsterdam) for knowledge acquisition,
> 	or the six generic tasks of Chandrasekaran (Ohio State Univ.).
> Not at all an exhaustive list; shouldn't an AIlanguage ideally exhaustively
> offer all features currently available ? 

If you read the various papers from Chandresakaran's group, you will see that
one of their central hypotheses is that you cannot define a single language
that is usable to write all applications.  Each generic task (and I think
there are rather more than six) will have its own language, which specialises
control and data structures to that task.  In fact, they seem to anticipate
a spectrum of languages each individually suited to *part* of the application
being developed.

What we absolutely *must* avoid in defining representation languages of the
future is the "good feature explosion" - ie adding new features like frames,
rules, backwards, forwards and side ways inference, 12 inheritiance schemes,
etc - simply because they could be useful in some circumstance.

This is the route to the KEE's and ART's ++ of future representation schemes.
Whilst I have no doubt that these systems are useful today, _I_ as an
application developer want to see a representation system that is maximally
small whilst giving me the power that I need.  The philosophy I would like to
see adopted is:
	o  define conceptual representations that allow applications to be
	   written at the maximum level of abstraction (eg generic tasks)
	o  define the intermediate representations (frames, rules, sets ..)
	   that are needed to implement the conceptual structures
	o  choose a subset of these representations that can be maximally
	   tightly integrated with the base language of your choice (which
	   would not be Lisp in my choice)

By doing this, we can not only help the application developer by giving her
access to all of the abstraction power in the system, but also have a chance
of getting the semantics of these systems properly understood and defined.

++ KEE and Art are registered trademarks.

Ian.


+---------------------+--------------------------+------------------------+
|Ian Dickinson         net:                        All opinions expressed |
|Hewlett Packard Labs   ijd@otter.hplabs.hp.com    are my own, and not    |
|Bristol, England       ijd@hplb.uucp              necessarily those of   |
|0272-799910            ..!mcvax!ukc!hplb!ijd      my employer.           |
+---------------------+--------------------------+------------------------+