本文整理汇总了C++中BayesNet::average_value方法的典型用法代码示例。如果您正苦于以下问题:C++ BayesNet::average_value方法的具体用法?C++ BayesNet::average_value怎么用?C++ BayesNet::average_value使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BayesNet
的用法示例。
在下文中一共展示了BayesNet::average_value方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: canAverage
void canAverage() {
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));
double ev = bn.average_value(2, 1024);
assertTrue(ev > 0.6 && ev < 0.8);
}