Approximate reasoning
One of the differences between software engineering and knowledge engineering
is that in the latter we have to deal
with incomplete and incorrect knowledge and input, and also with such complex
problems that we have to fall back on heuristics, which are by definition
not always correct.
Reasoning in classical logic ensures a correct answer or no answer. However
in the context of knowledge-based systems it is useful to also consider other
forms of reasoning, which give an approximate answer under suboptimal
circumstances. This allows for more gradual correctness, and can be used in
anytime algorithms. An important advantage is that approximate answers can
often be given more efficiently than the classical fully correct answers.
Key publications (approximate reasoning in general):
Ten Teije & van Harmelen 2000,
van Harmelen & Ten Teije 1998.
Key publications (approximate reasoning in diagnosis):
Ten Teije & van Harmelen 1996b,
ten Teije & van Harmelen 1997,
Verberne et al. 2000.