Mercurial > hg > camir-ismir2012
annotate toolboxes/FullBNT-1.0.7/bnt/general/compute_minimal_interface.m @ 0:cc4b1211e677 tip
initial commit to HG from
Changeset:
646 (e263d8a21543) added further path and more save "camirversion.m"
author | Daniel Wolff |
---|---|
date | Fri, 19 Aug 2016 13:07:06 +0200 |
parents | |
children |
rev | line source |
---|---|
Daniel@0 | 1 function clqs = compute_minimal_interface(intra, inter) |
Daniel@0 | 2 |
Daniel@0 | 3 int = compute_fwd_interface(intra, inter); |
Daniel@0 | 4 ss = length(intra); |
Daniel@0 | 5 Z = zeros(ss); |
Daniel@0 | 6 dag = [intra inter; |
Daniel@0 | 7 Z intra]; |
Daniel@0 | 8 G = moralize(dag); |
Daniel@0 | 9 intra2 = G(1:ss,1:ss); |
Daniel@0 | 10 inter2 = G(1:ss,(1:ss)+ss); |
Daniel@0 | 11 G = unroll_dbn_topology(intra2, inter2, ss); |
Daniel@0 | 12 T = ss; |
Daniel@0 | 13 last_slice = (1:ss) + (T-1)*ss; |
Daniel@0 | 14 G = (G + G')/2; % mk symmetric |
Daniel@0 | 15 G2 = (expm(full(G)) > 0); % closure of graph |
Daniel@0 | 16 G3 = G2(last_slice, last_slice); |
Daniel@0 | 17 [c,v] = scc(G3); % connected components |
Daniel@0 | 18 ncomp = size(v,1); |
Daniel@0 | 19 clqs = cell(1,ncomp); |
Daniel@0 | 20 for i=1:ncomp |
Daniel@0 | 21 ndx = find(v(i,:)>0); |
Daniel@0 | 22 clqs{i} = v(i,ndx); |
Daniel@0 | 23 clqs{i} = myintersect(clqs{i}, int); |
Daniel@0 | 24 end |
Daniel@0 | 25 |