Knowledge-Level Debugging
- DR.GEEK 
- Aug 5, 2020
- 1 min read
(5th-August-2020)

Kowledge-level debugging is the act of finding errors in knowledge bases with reference only to what the symbols mean. One of the goals of building knowledge-based systems that are usable by a range of domain experts is that a discussion about the correctness of a knowledge base should be a discussion about the knowledge domain. For example, debugging a medical knowledge base should be a question of medicine that medical experts, who are not experts in AI, can answer. Similarly, debugging a knowledge base about house wiring should be with reference to the particular house, not about the internals of the system reasoning with the knowledge base.
Four types of non-syntactic errors can arise in rule-based systems:
- An incorrect answer is produced; that is, some atom that is false in the intended interpretation was derived. 
- Some answer was not produced; that is, the proof failed when it should have succeeded (some particular true atom was not derived). 
- The program gets into an infinite loop. 
- The system asks irrelevant questions. 
Ways to debug the first three types of error are examined below. Irrelevant questions can be investigated using the why questions as described earlier.



Comments