本文整理汇总了C++中BayesNet::markov_blanket方法的典型用法代码示例。如果您正苦于以下问题:C++ BayesNet::markov_blanket方法的具体用法?C++ BayesNet::markov_blanket怎么用?C++ BayesNet::markov_blanket使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BayesNet
的用法示例。
在下文中一共展示了BayesNet::markov_blanket方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: canMarkovBlanket
void canMarkovBlanket() {
BayesNet<> bn;
map<vector<int>, map<int, double>> cpt;
map<int, double> dist;
dist.insert(make_pair(0, 1.0));
dist.insert(make_pair(1, 0.0));
cpt.insert(CondProb<>::CondCase(vector<int>(), dist));
bn.add_node(0, CondProb<>(cpt));
cpt.clear();
dist.clear();
dist.insert(make_pair(0, 1.0));
dist.insert(make_pair(1, 0.0));
cpt.insert(CondProb<>::CondCase(vector<int>(), dist));
bn.add_node(1, CondProb<>(cpt));
cpt.clear();
dist.clear();
dist.insert(make_pair(1, 0.7));
dist.insert(make_pair(0, 0.3));
cpt.insert(CondProb<>::CondCase(vector<int> {0, 0}, dist));
dist.insert(make_pair(1, 0.5));
dist.insert(make_pair(0, 0.5));
cpt.insert(CondProb<>::CondCase(vector<int> {0, 1}, dist));
dist.insert(make_pair(1, 0.5));
dist.insert(make_pair(0, 0.5));
cpt.insert(CondProb<>::CondCase(vector<int> {1, 0}, dist));
dist.insert(make_pair(1, 0.3));
dist.insert(make_pair(0, 0.7));
cpt.insert(CondProb<>::CondCase(vector<int> {1, 1}, dist));
bn.add_node(2, {0, 1}, CondProb<int>({1, 2}, cpt));
cpt.clear();
dist.clear();
dist.insert(make_pair(1, 0.7));
dist.insert(make_pair(0, 0.3));
cpt.insert(CondProb<>::CondCase(vector<int> {0}, dist));
dist.insert(make_pair(1, 0.5));
dist.insert(make_pair(0, 0.5));
cpt.insert(CondProb<>::CondCase(vector<int> {1}, dist));
bn.add_node(3, {2}, CondProb<int>({2}, cpt));
set<int> blanket = bn.markov_blanket(2);
assertEquals(blanket, set<int> {2, 0, 1, 3});
}