public void ProcessBeliefNetwork() { m_net = new BNet(); m_query = new ArrayList(); m_net.Build(fileName); m_net.PrintNet("BNet_layout.txt"); infer = new BElim(m_net); _nodes.Clear(); foreach (BNode node in m_net.Nodes) _nodes.Add(node.Name); Console.WriteLine("For example: " + _nodes[0] + "=1; " + _nodes[1] + "=0"); Console.WriteLine("For example: " + _nodes[2] + "=1"); string evidence = "cloudy=1; sprinkler=0".TrimEnd(';'); // cloudy=1; sprinkler=0 string query = "wetgrass=1".TrimEnd(';'); //wetgrass=1 string obs = evidence.Trim(); string x = query.Trim(); if (IsValid(x, obs)) { double pr = infer.GetBelief(x, obs); string out1 = " P( " + x; out1 += (obs.Length > 0) ? " | " + obs + " )" : " )"; string out2 = " = " + pr.ToString("F4"); string result = ""; result += out1; result += out2; } }
public void ProcessBeliefNetwork() { m_net = new BNet(); m_query = new ArrayList(); m_net.Build(fileName); m_net.PrintNet("BNet_layout.txt"); infer = new BElim(m_net); _nodes.Clear(); foreach (BNode node in m_net.Nodes) { _nodes.Add(node.Name); } Console.WriteLine("For example: " + _nodes[0] + "=1; " + _nodes[1] + "=0"); Console.WriteLine("For example: " + _nodes[2] + "=1"); string evidence = "cloudy=1; sprinkler=0".TrimEnd(';'); // cloudy=1; sprinkler=0 string query = "wetgrass=1".TrimEnd(';'); //wetgrass=1 string obs = evidence.Trim(); string x = query.Trim(); if (IsValid(x, obs)) { double pr = infer.GetBelief(x, obs); string out1 = " P( " + x; out1 += (obs.Length > 0) ? " | " + obs + " )" : " )"; string out2 = " = " + pr.ToString("F4"); string result = ""; result += out1; result += out2; } }