Mercurial > hg > camir-aes2014
comparison toolboxes/FullBNT-1.0.7/bnt/general/compute_interface_nodes.m @ 0:e9a9cd732c1e tip
first hg version after svn
author | wolffd |
---|---|
date | Tue, 10 Feb 2015 15:05:51 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:e9a9cd732c1e |
---|---|
1 function [interface, persist, transient] = compute_interface_nodes(intra, inter) | |
2 % COMPUTE_INTERFACE_NODES Find the nodes in a DBN that represent a sufficient statistic | |
3 % [interface, persist, transient] = compute_interface_nodes(intra, inter) | |
4 % | |
5 % The interface nodes are all those that has an incoming temporal arc, | |
6 % or which are parents of such nodes. | |
7 % If the parents are in the previous slice, this just means they have an | |
8 % outgoing temporal arc. | |
9 % (The parents of nodes with incoming temporal arcs are needed | |
10 % because moralization will bring them into the clique.) | |
11 % | |
12 % The persisent nodes are all those that have one or more incoming temporal arc. | |
13 % The transient nodes are all the non-persistent. | |
14 % | |
15 % See U. Kjaerulff, "dHugin: A computational system for dynamic | |
16 % time-sliced Bayesian networks", Intl. J. Forecasting (11) 89-111, 1995 | |
17 | |
18 n = length(intra); | |
19 interface = []; | |
20 persist = []; | |
21 % any nodes with incoming arcs | |
22 for u=1:n | |
23 if any(inter(:,u)) | |
24 interface = [interface u]; | |
25 persist = [persist u]; | |
26 end | |
27 end | |
28 % Any nodes which are parents of nodes with incoming arcs | |
29 for u=1:n | |
30 cs = children(intra, u); | |
31 if any(inter(:, cs)) | |
32 interface = [interface u]; | |
33 end | |
34 %cs = children(inter, u); | |
35 % if ~isempty(myintersect(cs, persist)) | |
36 % interface = [interface u]; | |
37 %end | |
38 end | |
39 interface = unique(interface); | |
40 persist = unique(persist); | |
41 transient = mysetdiff(1:n, persist); | |
42 |