Formalization of knowledge systems

advertisement
Formalization of knowledge systems
Enn Tyugu
Estonian Business School
Lauteri 3, 10114 Tallinn, Estonia
tyugu@ieee.org
Abstract. We formalize the concept of knowledge system (KS) in the form of
a class of deductive systems with interpretations of its objects. Explanation
and justification of this approach is given in the form of an example of a
knowledge system of computability represented in the form of a deductive
system. Formalization of connectionist KS in the form of deductive systems is
defined, and also a tower of knowledge systems bound by notationdenotation relation is briefly discussed.
Keywords.
Knowledge systems,
representation, knowledge processing.
deductive
systems,
knowledge
1. Introduction
This paper is based on the assumption that knowledge processing can be
formalized, and consequently, it makes sense to search for the most general
representation of knowledge processing mechanisms (analogically to general
definitions of algorithms). Informally, a knowledge system is a language for
representing knowledge plus a mechanism (a program, usually) for using the
knowledge by making inferences. A knowledge system can be implemented
in the form of a knowledge base and an inference engine. In order to
formalize the concept of knowledge system, we have to start from a formal
definition of knowledge. A rather general definition of knowledge is given in
[1] based on a fundamental relation  of notation-denotation and intelligence
is defined in [2] as ability to manipulate knowledge. According to this
definition, any set of notations together with its set of denotations and the
relation  between these sets represents knowledge. The advantage of this
definition is a possibility to characterize the amount of knowledge and some
of its properties (depth, breadth), but its disadvantage is the absence of any
hint on the means for knowledge handling. This definition of knowledge can
be used in the case of manual manipulation of knowledge, when one is
mainly interested in the amount and properties of knowledge, but it is
insufficient for investigating knowledge systems that include automatic
knowledge handling.
2. Deductive system and its interpretation
We shall formalize the concept of knowledge system in the form of a class of
deductive systems with interpretations of its objects. Deductive system is
defined by S. Maslov [3] in the following very general way:
There are a certain number of initial objects and a certain number of rules
for generating new objects from the initial objects and from those already
constructed. To put it another way: There are an initial position (state) and
"rules of the game" (rules for transition from one state into another). A
system of this kind is called a deductive system.
Interpretation of a deductive system is a set S of objects which can be
considered as possible meanings of objects of the deductive system, and a
relation of notation-denotation  which binds at least one meaning with every
object of the deductive system, and from the other side, binds at least one
notation with every meaning included in S. Here we use in essence the
notation-denotation relation as it is defined in [1].
Remarks:
1. When a new object is generated in a deductive system, it must get a
meaning as well. It is highly recommendable to show at inference
rules, how the meanings of new objects are built when a rule is applied
– this provides some constructiveness.
2. The present definition of interpretation differs from the conventional
one in logic, where a function from notations to denotations is used in
the definition of an interpretation.
Deductive systems in a very general form with minimal meaning are
investigated in logics, and there are quite interesting results. Let us have an
alphabet A (i.e. a set of symbols), a set of variables P, a set of initial objects
that are words in the alphabet A. These initial objects are also called axioms.
Inference rules are given in the following form:
S1, ..., Sm
________
S0
where S0, S1, ... , Sm are words in the alphabet A  P, and S0 doesn't contain
variables which do not occur in S1, ... ,Sm. A word W0 is derivable from the
words W1, ... ,Wm by an inference rule in the calculus iff there exists an
assignment of words in A to variables occuring in the rule such that it
transforms the words S1, ... , Sm into W1, ... , Wm. This kind of a calculus is
called a Post's system (PS). These calculi were introduced and investigated by
E. Post already before computers became known as a way to formalize
reasoning and computing. Obviously, any logical system can be represented
as a PS. They have considerable generality and some very fine properties
showing the power of syntactically simple calculi. If a set B is included in A,
and A is the alphabet of a PS, then we say that the PS is given over B and we
can consider the words in the alphabet B generated by the system. Two PS
over B are equivalent iff they generate the same set of words in B. A Post's
system is decidable iff there exists a regular way (an algorithm) to decide for
any word whether the word is generated by it or not. A set of words is called
recursively enumerable iff there exists a Post's system that generates it. The
following results are known:
- there exist undecidable PS (exist undecidable recursively enumerable
sets)
- there exists a universal PS that generates exactly the set of all words
NW such that N is a coding of a PS and W is a word generated by the
latter.
3. Knowledge system
Now we can define a knowledge system as a class of interpreted deductive
systems with fixed language of objects. Interpreted PS are a general form of
knowledge systems. A great number of specific knowledge systems exist for
efficient usage of a particular kind of knowledge. Our thesis is that in all
cases, when we use knowledge making inferences, we can build an
interpreted deductive system that represents the particular knowledge system.
It is obvious that this thesis cannot be proved formally. However, looking at
numerous examples we can find good evidence in favor of this thesis. As an
example we present a simple calculus of computability.
Let us have a set of symbols called an alphabet. The objects of our language
will be the formulas of the form: A ->B, where A and B are finite sets of
symbols from the alphabet. (We can allow also formulas with the empty left
side: ->B which we shall simplify to B by dropping the arrow at the
beginning of a formula. We shall not allow formulas with the empty right
side.) Inference rules are the following:
A -> B B  C -> D
_______________
A C -> B D
A -> B  C
___________
A -> B
(1)
(2)
The first rule allows us to build a new object A  C -> B  D from any two
given objects A -> B and B C -> D, called premises of the rule. The
second rule has only one premise, and it allows one to "simplify" objects by
dropping some of the symbols from the set on the right side of the rule. This
language of objects and inference rules determine a class of deductive
systems. Providing these deductive systems with interpretations gives us a
knowledge system.
Let us introduce the interpretation as follows. Meanings of symbols of the
alphabet are values (i.e. some known entities of interest for a knowledge
user). Meaning of an object A->B is a function computing values of elements
of the set B from given values of elements of the set A. Meaning of each
initial object is given. The meanings of derived objects are constructed from
the meanings of given objects in the following way. If the first derivation
rule is applied, then the new meaning will be composition of functions f and
g that are the meanings of the first and the second premise of the rule. If the
second rule is applied, then the new meaning is a projection of the meaning
of A->BC . (A logically minded reader may see an analogy between this
system and constructive logic: an arrow represents implication, elements of
sets are propositions and a set is logically a conjunction of its elements.) This
knowledge system can be used in different ways:
- for deciding whether a problem “compute y1,…yn from x1,…,xm” is
solvable, where x1,…,xm, y1,…yn are symbols from the alphabet of the
knowledge system;
- for synthesizing an algorithm for computing y1,…yn from x1,…,xm;
- for performing the actual computations;
for guessing what should be additionally given in order to make
an unsolvable problem solvable.
We see from this example that, in order to specify a knowledge system, one
has to do the following:
- specify a language (only syntax),
- give inference rules,
- give an interpretation, i.e. rules for constructing meanings of
derivable objects.
We expect that interpretations of the deductive systems, i.e. the meaning of
objects, can be of the extreme variety, because this reflects the variability of
knowledge about the real world. We get another example of a knowledge
system about computability by allowing also nested formulas of the form
(A -> B)->( C -> D)
and adding one more inference rule
(A -> B)->(C -> D)
A B
_____________________________
C  E -> B
Meaning of a nested formula (A -> B)->( C -> D) is a function that computes
values of elements of the set D. One argument of this function is itself a
function computing values of elements of the set B from given values of
elements of the set A, and the other arguments are values of elements of the
set C. This knowledge system is sufficient for representing all total
computable functions encoded as operator terms. A precise logical
explanation of this system is presented in [4].
4. Formalizing the connectionist approach
An advantage of the general definition of knowledge systems given here is
also that it covers connectionist knowledge systems as well: in particular, the
systems, where knowledge is represented in the form of a network (an
abstract network, or even implemented as an electronic or biological device).
In such a case, the knowledge system is a network together with rules for
changing its states. As the definition of a deductive system says: there are an
initial position (state) and "rules of the game" (rules for transition from one
state into another). An interpretation of the system must be constructed from
meanings of its components according to some composition rules. Let us
consider semantic networks as an example of knowledge systems. Bearing in
mind that any semantic network is a marked graph, one can represent it as a
collection of arcs described by formulae of the form r(x,y), where r is
marking and x, y are expressions describing end-points of the arc (they may
contain not only the identity of a node, but also a connection information).
Some formalizations of this kind of knowledge systems have been given in
[6].
5. Towers of knowledge systems
Set of meanings of a knowledge system can be a set of objects of some other
knowledge system. This leads us to a tower of knowledge systems. This
situation has been described for knowledge representation in paper [2] where
the transitivity of the notation-denotation relation  is assumed: for any sets
A, B, C, if A denotes B and B denotes C then A denotes C. This can be
expressed as well by the formula:
A  B & B  C  A  C.
This situation is rather familiar both in mathematics and in computing.
Definitions of mathematical concepts are based on definitions of some other
more fundamental concepts. In computing we have compilation from one
representation into another, or a tower of ISO network protocols as
examples. To describe the consistency requirements for a tower of
knowledge systems the category theory is needed. Some examples of this
kind can be found in the works on program synthesis [5].
References
[1] Peeter Lorents. (2001) Formalization of data and knowledge based on
the fundamental notation-denotation relation. In: H. R. Arabnia. ICAI’2001, p.
[2] Peeter Lorents. (2002) A system mining framework. In: N. Callos et
al. (editors) Proc. SCI 2002, v. 1, p. 195 – 2000.
[3] Sergei Maslov. (1987) Theory of Deductive Systems and its
Application. The MIT Press.
[4] Grigori Mints. (1991) Propositional logic programming. In: Hayes, J.
et al. (eds.) Machine Intelligence v. 12 (Towards an automated logic
of human thought). Clarendon Press, Oxford, p. 17 – 38.
[5] Douglas Smith. (1999) Designware: Software Development by
Refinement. In: Proceedings of the Eighth International Conference
on Category Theory and Computer Science - Invited Paper,
Edinburgh, September 1999. Kestrel Institute Technical Report
KES.U.99.8.
[6] Enn Tyugu. (1991) Modularity of Knowledge. In: Hayes, J. et al.
(eds.) Machine Intelligence v. 12 (Towards an automated logic of
human thought). Clarendon Press. Oxford, 3 - 16.
Download