Temporal definitions

<< Click to Display Table of Contents >>

Navigation:  Using SMILE Wrappers > Dynamic Bayesian networks >

Temporal definitions

Consider node P2 from the example in the previous section. It has four incoming arcs:

normal arc from Contemporal

normal arc from P1

two temporal arcs from P1 with temporal orders 1 and 2

However, in the unrolled network's slice for t=0, P2 has only two incoming arcs. This is because there are no slices representing timepoints before t=0. P2 in the slice for t=1 has three incoming arcs, because it's now possible to link P1 at t=0 with P2 at t=1. Finally, starting with slice for t=2, P2 has four incoming arcs. The structure of the unrolled network requires P2 to have separate CPTs for t=0, t=1 and t>=2. Generally speaking, if a plate node has an incoming arc of order x, it will require x+1 separate definitions. To get and set the temporal definitions, use Network.getNodeTemporalDefinition and setNodeTemporalDefinition.

All parents for the temporal definition with a specified temporal order can be retrieved by calling Network.getUnrolledParents. Note that Network.getTemporalParents called for the same temporal order returns only a subset of parents indexing this temporal definition. This is caused by unrolling: in the unrolled network node P2 has four incoming arcs in slices for t>=2, but only two of these are actually arcs with temporal order 2.