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;
            }
        }