public bool isTrueFor(double probability,
Dictionary<String, bool> modelBuiltUpSoFar)
{
Dictionary<String, bool> conditions = new Dictionary<String, bool>();
if (isRoot())
{
conditions.Add(getVariable(), true);
}
else
{
for (int i = 0; i < parents.Count; i++)
{
BayesNetNode parent = parents[i];
conditions.Add(parent.getVariable(), modelBuiltUpSoFar[parent.getVariable()]);
}
}
double trueProbability = probabilityOf(conditions);
if (probability <= trueProbability)
{
return true;
}
else
{
return false;
}
}