Which knowledge representation scheme is preferred when building AI systems-declarative or procedural?
In the early days, knowledge to be represented was divided into two classes, namely, declarative knowledge and procedural knowledge. Therefore, knowledge representation schemes have been simply classified as:
- Declarative representation schemes
- Procedural representation schemes
Particularly in the 1970s, a major controversy off AI research has been what representation scheme is preferred when building an AI system?
Procedural representation schemes
Emphasizes the representation of facts and includes guidance on how the knowledge is to be used. It declares every piece of knowledge and permits the reasoning system to use the rules of interference to come out with new pieces of information.
Declarative knowledge representation can be understood from the example:
Ɐx PERSON (x) ⸧ MORTAL (x)
Ɐx ANIMAL (x) ⸧ MORTAL (x)
PERSON (SURAJ)
ANIMAL (BIRD)
That represents some simple facts that every person and every animal is mortal and that Suraj is a person and bird an animal. Using modus ponens, the system can automatically conclude that Suraj is mortal and so is every bird.
Procedural representation schemes
It represents knowledge as procedures and the inferencing mechanisms manipulate these procedures to arrive at the result.
If a procedural knowledge representation is used for the same purpose, separate procedures to be written for each person animal, etc. as well as for mortal
procedure PERSON (x)
if(x=suraj) then return true
else return false
procedure MORTAL(x)
if PERSON(x) then return true
else if ANIMAL(x) then return true
else return false.
The typical means used for declarative knowledge representation are:
- Formal logic
- Semantic Networks
- Frames
- Scripts
whereas the typical means for procedural representation are:
- Procedures or Subroutines
- Production rules
The advantages of declarative knowledge representation are:
- Transparency and unambiguity of represented knowledge.
- The flexibility of knowledge storage.
- Each piece of knowledge is an independent chunk on its own. Hence modularity is higher.
- Storage efficiency.
- Direct inference
The advantages of procedural knowledge representation are:
- Easy coding
- Easy control of the inference process
- One has control over search which is not available in declarative knowledge representation.
For declarative schemes, the respective disadvantages lie mainly in:
- Lose control of inference processes because a long search could be necessary to find the statements required for problem-solving.
For procedural schemes, the respective disadvantages lie mainly in:
- Limited capability for interaction.
- The difficulty of knowledge base maintenance.
Conclusion
In AI practice both representations are needed and are even appropriately combined. Depending on the problem domain of an implemented AI system, one or the other scheme might be more suitable, but the other one needed not to be excluded. This also includes the reference rules, related to declarative knowledge structures, others through the use of available procedures.