Represent knowledge as formal logic:
All dogs have tails : dog(x)
hasatail(x) Advantages:
- A set of strict rules.
- Can be used to derive more facts.
- Truths of new statements can be verified.
- Guaranteed correctness.
- Many inference procedures available to in implement standard rules of logic.
- Popular in AI systems. e.g Automated theorem proving.
Procedural Knowledge
Basic idea:
- Knowledge encoded in some procedures
- small programs that know how to do specific things, how to proceed.
- e.g a parser in a natural language understander has the knowledge that a noun phrase may contain articles, adjectives and nouns. It is represented by calls to routines that know how to process articles, adjectives and nouns.
Advantages:
- Heuristic or domain specific knowledge can be represented.
- Extended logical inferences, such as default reasoning facilitated.
- Side effects of actions may be modelled. Some rules may become false in time. Keeping track of this in large systems may be tricky.
Disadvantages:
- Completeness — not all cases may be represented.
- Consistency — not all deductions may be correct.
e.g If we know that Fred is a bird we might deduce that Fred can fly. Later we might discover that Fred is an emu.
- Modularity is sacrificed. Changes in knowledge base might have far-reaching effects.
- Cumbersome control information.