Saturday, July 10, 2010

Prolog trick again

Abram, this is your example:

This is why it becomes a problem when you look at it from the proof-tree's perspective:

First problem:  failure to explain away

When you get from the top Q to 1, you already get an observed value for 1, this is already sufficient to produce a TV for Q.

When you get down to 2, you also get a baseline P value for "heavy rain", and supposedly it also produces a TV that can be propagated (via Prolog trick, not standard belief propagation) up to Q.

When you get down to 3, it has an observed value, then you try to propagate that upwards, but it encounters 1, which itself has an observed value (= true).  It seems that it cannot override 1's value.  So the effect of 3 seems to get drowned by 1.

All in all, this failure is due to my treating the Bayes links as isolated links.

Second problem:  cyclic proof tree

In principle we should solve this by searching the tree above the node-to-be-added for duplicated nodes, but such a search may be costly, depending on the branching factor of the tree.

That's why, in the past I simply allow the tree to become cyclic.

One cheap solution is to search only for the parent's parent for duplication. That will prevent "1st-degree" duplication, and may be efficient enough.


  1. Yky,

    I'm pretty sure that as a contributor I do not have the ability to edit your posts, fyi. In leu of that I may make a new post with some slide images concerning this... but your openOffice graphics tend to bemuch prettier thaj mine: )

  2. OK... I've made you an admin of this blog, so you can edit all posts =)

    I'm the project's technical illustrator =)

  3. Update: the current thinking on this problem is now represented in these slides: