So, you’re not the first person to suggest this to me. The only thing is, I don’t fully understand what you mean by “use the probabilities directly”. So, the scenario I am trying to model is a simple block-example, where a triangle is on top of a block. In this scenario, we have a triangle and block predicate:
(triangle name=?triangle x=?x1 y=?y1 z=?z1)
(block name=?block x=?x2 y=?y2 z=?z2).
The ? denotes some kind of distribution for the predicate’s argument. To represent the on relation we have another predicate:
(on arg1=?triangle1 arg2=?block1)
I wanted to represent these predicates as Bayesian networks (tree structures, more specifically) where the name of the predicate is the root of a tree, and from there, directed edges would flow to the arguments of the predicate. The idea I want to capture is that whenever the system has observed on, it will change the distribution for the arguments of the triangle and block predicates. The on triangle and block predicates are either true or false in the state, so to capture this, I thought creating a mixture model, where the mixture weights are a function of on triangle and block, made sense to me. Hence, why I made:
and
In this context, could you clarify what you mean by use the probabilities for on and triangle directly?