Class MarginCalculator

    • Constructor Detail

      • MarginCalculator

        public MarginCalculator()
    • Method Detail

      • getNode

        public int getNode​(java.lang.String sNodeName)
      • toXMLBIF03

        public java.lang.String toXMLBIF03()
      • calcMargins

        public void calcMargins​(BayesNet bayesNet)
                         throws java.lang.Exception
        Calc marginal distributions of nodes in Bayesian network Note that a connected network is assumed. Unconnected networks may give unexpected results.
        Parameters:
        bayesNet -
        Throws:
        java.lang.Exception
      • calcFullMargins

        public void calcFullMargins​(BayesNet bayesNet)
                             throws java.lang.Exception
        Throws:
        java.lang.Exception
      • process

        public void process​(boolean[][] bAdjacencyMatrix,
                            BayesNet bayesNet)
                     throws java.lang.Exception
        Throws:
        java.lang.Exception
      • moralize

        public boolean[][] moralize​(BayesNet bayesNet)
        moralize DAG and calculate adjacency matrix representation for a Bayes Network, effecively converting the directed acyclic graph to an undirected graph.
        Parameters:
        bayesNet - : Bayes Network to process
        Returns:
        adjacencies in boolean matrix format
      • fillIn

        public boolean[][] fillIn​(int[] order,
                                  boolean[][] bAdjacencyMatrix)
        Apply Tarjan and Yannakakis (1984) fill in algorithm for graph triangulation. In reverse order, insert edges between any non-adjacent neighbors that are lower numbered in the ordering. Side effect: input matrix is used as output
        Parameters:
        order - : node ordering
        bAdjacencyMatrix - : boolean matrix representing the graph
        Returns:
        boolean matrix representing the graph with fill ins
      • setEvidence

        public void setEvidence​(int nNode,
                                int iValue)
                         throws java.lang.Exception
        Throws:
        java.lang.Exception
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getMargin

        public double[] getMargin​(int iNode)
      • getRevision

        public java.lang.String getRevision()
        Returns the revision string.
        Specified by:
        getRevision in interface RevisionHandler
        Returns:
        the revision
      • main

        public static void main​(java.lang.String[] args)