From: Keith Noah Snavely (snavely_at_cs.washington.edu)
Date: Wed Oct 22 2003 - 10:13:37 PDT
"Two Theses of Knowledge Representation," by Jon Doyle and Ramesh
S. Patil criticizes the view that the languages of knowledge
representation systems should be restricted in order to put guarantees
on the worst-case performance of concept classification, while still
maintaining soundness and completeness.
The first part of the paper discusses the shortcomings of restricted
languages used in systems such as KL-ONE. A great many useful but
inexpressible types of definitions are listed, and the authors point
out that users of the system often resort to ad hoc methods to bypass
the restrictions, illustrating why using less-restricted languages for
general-purpose KR systems might be a better idea. Later they take
issue with the idea that worst-case computation time should be the
sole criterion for designing the language of such a system and that
instead the more general concept of utility should be applied. In
some ways, this seems like a general software engineering principle
that could apply to the design of any system where there are tradeoffs
between speed and flexibility. In any case, for this particular set
of systems, several alternatives to guaranteeing worst-case
performance are given, the most interesting to me being a way to
manage resources by, for example, reporting to users how long it is
expected to take to answer a query.
I was a little flummoxed by the motivation of the original idea that
general-purpose knowledge representation systems should be designed
with critical applications in mind, since I did not start reading the
paper with a clear idea of the kinds of applications that are these
systems are typically used for. It did not occur to me to use one in
a nuclear reactor or airplane, for instance (in fact, they mention in
this paper that horribly critical applications are not the norm).
Along the same lines, after reading the paper I was still left
wondering about the applications of KR systems, and what kinds of
utility functions might correspond to different classes of
applications.
One idea that really interested me is the difficulty of knowing the
possible distributions of queries given to a KR system and therefore
about how to calculate average expected time for a query to be
answered. Again, the problem of tuning a system for expected input
distribution seems to be one that applies to system design in general.
A related idea is that of realizing that the average user of KR system
typically does not use dangerous constructs with abandon, so limiting
instead of completely forbidding the use of such constructs may be
better. Both of these ideas require analysis of how a KR system is
usually used, with regards to both types of queries and the
definitions expressed in the knowledge base, which may or may not be
easy to characterize. I didn't find many concrete ideas in the paper
about how to go about performing these analyses so that these ideas
could be realized, but this sounds like interesting future work.
This archive was generated by hypermail 2.1.6 : Wed Oct 22 2003 - 10:13:38 PDT