public static double[] ask(Query q, BayesNet net) { Dictionary<String, bool> evidenceVariables = q.getEvidenceVariables(); double[] probDist = new double[2]; // true probability evidenceVariables[q.getQueryVariable()] = true; probDist[0] = enumerateAll(net, net.getVariables(), evidenceVariables); // false probability evidenceVariables[q.getQueryVariable()] = false; probDist[1] = enumerateAll(net, net.getVariables(), evidenceVariables); // System.Console.WriteLine( probDist[0] + " " + probDist[1]); // return probDist; double[] normalized = Util.normalize(probDist); // System.Console.WriteLine( normalized[0] + " " + normalized[1]); return normalized; }
public static double[] ask(Query q, BayesNet net) { Dictionary <String, bool> evidenceVariables = q.getEvidenceVariables(); double[] probDist = new double[2]; // true probability evidenceVariables[q.getQueryVariable()] = true; probDist[0] = enumerateAll(net, net.getVariables(), evidenceVariables); // false probability evidenceVariables[q.getQueryVariable()] = false; probDist[1] = enumerateAll(net, net.getVariables(), evidenceVariables); // System.Console.WriteLine( probDist[0] + " " + probDist[1]); // return probDist; double[] normalized = Util.normalize(probDist); // System.Console.WriteLine( normalized[0] + " " + normalized[1]); return(normalized); }