Some domains of knowledge, such as mathematical knowledge,
are well-behaved in a certain sense, and are relatively straightforward to
deal with. Others, as shown above, are not always so well-behaved. The
problem is that a natural kind may have abnormal members, as birds who can
not fly are still birds and bats who can fly are in fact not birds.
It is important when choosing a knowledge representation scheme or language
for a particular domain of knowledge, to consider the types of objects in
the domain.
Some issues that arise in K.R. are summarized below:
- Expressive adequacy. Is a particular knowledge rep. scheme
sufficiently powerful? What knowledge can and cannot particular schemes
represent?
- Reasoning efficiency. Like all representation problems in
cs, a scheme that represents all knowledge of interest and is sufficient
to allow any fact of interest to be inferred by no means guarantees
that it will be possible to perform the inference in an acceptable
time. There is generally a tradeoff between expressive adequacy and
reasoning efficiency.
- Primitives. What are the primitives in knowledge representation?
What primitives should be provided in a system and at what level?
- Meta-representation. How do we structure the knowledge in a
knowledge base and how do we represent knowledge about this structure in
the knowledge base?
- Incompleteness. What can be left unsaid about a domain and
how do you perform inferencing over incomplete knowledge and revise earlier
inferences in the light of later, more complete, knowledge?
- Real-world knowledge. How can we deal with the attitudes such
as beliefs, desires and intentions? How do we avoid the paradoxes that accompany
self-referential propositions?