SUO: Re: Sowa's piece and thoughts on tractability
Gerard,
As you know, I agree with you:
> Research as much as you want into sublanguages and build specialist
> subsumption, unification, reasoning algorithms (this is all good
> stuff, and we do make use of it) as much as you want, but please use
> an expressive (hopefully standardised) representation so you are not
> limited to those techniques.
And in my note to Erik Larson, I forgot to mention one of the most
important reasons why it is essential to use a highly expressive
input language for knowledge acquisition and knowledge engineering:
**You must never throw away any information that may be useful later.**
In the architecture paper ( http://www.jfsowa.com/pubs/arch.htm ),
I make a strong plea against the old-fashioned (i.e., 20th century)
approach that assumed separate domain experts and knowledge engineers
(as illustrated in Figure 4). In that illustration, the domain
expert provided the background knowledge, which the kn. engineer
was supposed to encode in some AI language.
In that scenario, there was no restriction on what the domain expert
could say, but the kn. engineer was only allowed to code the subset
that was expressible in the given expert system language. That was
a colossal waste of valuable information (and valuable time that
most highly trained and highly paid domain experts are unlikely
to make available in repeated sessions).
Later in that paper (at the end of Section 5), I discussed the
techniques used in the knowledge bus project (Petersen, Andersen,
& Engel, 1998). They used Cyc as a resource, which represents
knowledge in CycL -- a language that uses full FOL plus metalevels.
But they were able to extract the axioms from Cyc and separate
the Horn clauses (used for inferences in their system) from the
more expressive statements (used for database constraints).
In Section 4, I also mentioned your former student, Steve Callaghan,
who used syntactic criteria to classify information in order to
determine which inference algorithms to use. That technique has
been used in many theorem provers and inference engines in AI.
Bottom line: Let people enter information in any form they see fit,
and let computers sort it into complexity classes suitable for various
problems and algorithms.
John Sowa