29 #include <boost/assign/list_of.hpp> 34 const SymbolicFactorGraph simpleTestGraph1 = boost::assign::list_of
35 (boost::make_shared<SymbolicFactor>(0,1))
36 (boost::make_shared<SymbolicFactor>(0,2))
37 (boost::make_shared<SymbolicFactor>(1,4))
38 (boost::make_shared<SymbolicFactor>(2,4))
39 (boost::make_shared<SymbolicFactor>(3,4));
41 const SymbolicBayesNet simpleTestGraph1BayesNet = boost::assign::list_of
42 (boost::make_shared<SymbolicConditional>(0,1,2))
43 (boost::make_shared<SymbolicConditional>(1,2,4))
44 (boost::make_shared<SymbolicConditional>(2,4))
45 (boost::make_shared<SymbolicConditional>(3,4))
46 (boost::make_shared<SymbolicConditional>(4));
48 const SymbolicFactorGraph simpleTestGraph2 = boost::assign::list_of
49 (boost::make_shared<SymbolicFactor>(0,1))
50 (boost::make_shared<SymbolicFactor>(0,2))
51 (boost::make_shared<SymbolicFactor>(1,3))
52 (boost::make_shared<SymbolicFactor>(1,4))
53 (boost::make_shared<SymbolicFactor>(2,3))
54 (boost::make_shared<SymbolicFactor>(4,5));
57 const SymbolicFactorGraph simpleChain = boost::assign::list_of
58 (boost::make_shared<SymbolicFactor>(1,0))
59 (boost::make_shared<SymbolicFactor>(0,2))
60 (boost::make_shared<SymbolicFactor>(2,3));
66 SymbolicBayesTree __simpleChainBayesTree() {
68 result.insertRoot(boost::make_shared<SymbolicBayesTreeClique>(
69 boost::make_shared<SymbolicConditional>(
71 result.addClique(boost::make_shared<SymbolicBayesTreeClique>(
72 boost::make_shared<SymbolicConditional>(
74 result.roots().front());
78 const SymbolicBayesTree simpleChainBayesTree = __simpleChainBayesTree();
87 const SymbolicFactorGraph asiaGraph = boost::assign::list_of
88 (boost::make_shared<SymbolicFactor>(_T_))
89 (boost::make_shared<SymbolicFactor>(_S_))
90 (boost::make_shared<SymbolicFactor>(_T_, _E_,
_L_))
91 (boost::make_shared<SymbolicFactor>(
_L_, _S_))
92 (boost::make_shared<SymbolicFactor>(_S_,
_B_))
93 (boost::make_shared<SymbolicFactor>(_E_,
_B_))
94 (boost::make_shared<SymbolicFactor>(_E_, _X_));
96 const SymbolicBayesNet asiaBayesNet = boost::assign::list_of
97 (boost::make_shared<SymbolicConditional>(_T_, _E_, _L_))
98 (boost::make_shared<SymbolicConditional>(_X_, _E_))
99 (boost::make_shared<SymbolicConditional>(_E_,
_B_,
_L_))
100 (boost::make_shared<SymbolicConditional>(_S_,
_B_,
_L_))
101 (boost::make_shared<SymbolicConditional>(
_L_,
_B_))
102 (boost::make_shared<SymbolicConditional>(
_B_));
104 SymbolicBayesTree __asiaBayesTree() {
106 result.insertRoot(boost::make_shared<SymbolicBayesTreeClique>(
107 boost::make_shared<SymbolicConditional>(
109 result.addClique(boost::make_shared<SymbolicBayesTreeClique>(
110 boost::make_shared<SymbolicConditional>(
112 result.roots().front());
113 result.addClique(boost::make_shared<SymbolicBayesTreeClique>(
114 boost::make_shared<SymbolicConditional>(
116 result.roots().front());
117 result.addClique(boost::make_shared<SymbolicBayesTreeClique>(
118 boost::make_shared<SymbolicConditional>(
120 result.roots().front());
124 const SymbolicBayesTree asiaBayesTree = __asiaBayesTree();
127 const Ordering asiaOrdering = boost::assign::list_of(_X_)(_T_)(_S_)(_E_)(_L_)(
_B_);
static SymbolicConditional FromKeys(const CONTAINER &keys, size_t nrFrontals)
std::uint64_t Key
Integer nonlinear key type.