<< 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.