If we put "

**logic on top of uncertainty**", then the uncertainty calculus operates underneath the logic and the logic cannot "see" its workings, ie, the uncertainty calculus is invisible from the logic's POV. This is an advantage, as we can make queries about

__logic statements__and the uncertainty calculus will work "behind the scene" -- we don't have to worry about it at the logical level.

Contrast this with "

**uncertainty on top of logic**". Now every statement in the KB is shrouded within a layer of uncertainty calculus. We cannot query statements directly, because some nodes' TVs will be buried in probabilistic functions as their arguments. Seeking the TV would involve finding the

__inverse__of those probabilistic functions -- which can be extremely complicated for a logic to handle automatically, ie:

given X = f(A, B, C, D, ...)

where f is the probability function

solve for A in terms of X, B, C, D, ...

YKY,

ReplyDeleteCan you spell out why we want to find the inverse here, perhaps with an example?

It seems to me that the biggest problem is allowing for approximate reasoning to be integrated into the system. Inferences are only alLowed if they are exactly right, so although one could reason about approximations, one couldn't reason using them. This seems fatal.

ReplyDelete