Declarative or Procedural?
Declarative knowledge representation:
- Static representation — knowledge about objects, events etc. and their relationships and states given.
- Requires a program to know what to do with knowledge and how to do it.
Procedural representation:
- control information necessary to use the knowledge is embedded in the knowledge itself. e.g. how to find relevant facts, make inferences etc.
- Requires an interpreter to follow instructions specified in knowledge.
Representing How to Use Knowledge
Need to represent how to control the processing:
direction
— indicate the direction an implication could be used. E.g. To prove something can fly show it is a bird. fly(x) bird(x).
Knowledge to achieve goal
— specify what knowledge might be needed to achieve a specific goal. For example to prove something is a bird try using two facts has_wings and has_feathers to show it.