Also, Smile has a method int DSL_network::MarginalizeNode(int theParent, int theChild) that lets you marginalize a node into its child.
GeNIe's marginalization works only if the node has only one child
It should work regarless of the child count of the marginalized node.
jonnie wrote:I've reproduced marginalizing with several children now, and I've found two very similar cases where the only difference between the networks are the CPTs.
In order to preserve the JPD, the children of the marginalized node are "bound together" by adding arcs between them. Does this always result in a complete subgraph of the children?
- Is there any way to know which children will become the parents of which other children? I think there are alternative possibilities, and Smile's pick simply depends on its internal ordering of the nodes.
- Is it true that, if there's any impossible evidence combination on the node's children, then the node cannot be marginalized? In my eyes it depends on which children become the parents of other children. If one combination doesn't work, then maybe another one would? Is Smile checking alternative possibilities there?
And one further bug report: you didn't consider deterministic children either
Users browsing this forum: No registered users and 1 guest