Class JunctionTreeBuilder


  • public class JunctionTreeBuilder
    extends java.lang.Object
    • Constructor Detail

    • Method Detail

      • build

        public JunctionTree build​(org.kie.api.io.Resource resource,
                                  java.lang.String namespace,
                                  java.lang.String name)
      • build

        public JunctionTree build​(org.kie.api.io.Resource resource,
                                  java.lang.String namespace,
                                  java.lang.String name,
                                  boolean init)
      • moralize

        public void moralize()
      • connect

        public static void connect​(boolean[][] adjMatrix,
                                   int v1,
                                   int v2)
      • disconnect

        public static void disconnect​(boolean[][] adjMatrix,
                                      int v1,
                                      int v2)
      • triangulate

        public java.util.List<org.drools.core.util.bitmask.OpenBitSet> triangulate()
      • createClique

        public void createClique​(int v,
                                 boolean[][] clonedAdjMatrix,
                                 java.util.Set<java.lang.Integer> verticesToUpdate,
                                 boolean[] adjList)
      • updateCliques

        public static void updateCliques​(java.util.List<org.drools.core.util.bitmask.OpenBitSet> cliques,
                                         org.drools.core.util.bitmask.OpenBitSet newClique)
      • getAdjacencyMatrix

        public boolean[][] getAdjacencyMatrix()
      • cloneAdjacencyMarix

        public static boolean[][] cloneAdjacencyMarix​(boolean[][] src)
        Clones the provided array
        Parameters:
        src -
        Returns:
        a new clone of the provided array
      • junctionTree

        public JunctionTree junctionTree​(java.util.List<org.drools.core.util.bitmask.OpenBitSet> cliques,
                                         boolean init)
      • junctionTree

        public JunctionTree junctionTree​(org.kie.api.io.Resource resource,
                                         java.lang.String namespace,
                                         java.lang.String name,
                                         java.util.List<org.drools.core.util.bitmask.OpenBitSet> cliques,
                                         boolean init)
      • mapNodeToCliqueFamily

        public void mapNodeToCliqueFamily​(org.drools.core.util.bitmask.OpenBitSet[] varNodeToCliques,
                                          JunctionTreeClique[] jtNodes)
        Given the set of cliques, mapped via ID in a Bitset, for a given bayes node, Find the best clique. Where best clique is one that contains all it's parents with the smallest number of nodes in that clique. When there are no parents then simply pick the clique with the smallest number nodes.
        Parameters:
        varNodeToCliques -
        jtNodes -
      • mapVarNodeToCliques

        public void mapVarNodeToCliques​(org.drools.core.util.bitmask.OpenBitSet[] nodeToCliques,
                                        int id,
                                        org.drools.core.util.bitmask.OpenBitSet clique)
        Maps each Bayes node to cliques it's in. It uses a BitSet to map the ID of the cliques
        Parameters:
        nodeToCliques -
        id -
        clique -
      • getAdjacentVertices

        public static java.util.List<java.lang.Integer> getAdjacentVertices​(boolean[][] adjacencyMatrix,
                                                                            int i)