/** * Constructs. * * @param test The independence test used in the search. * @param depth The maximum number of variables conditioned on. * @param symmetric True if the symmetric algorithm is to be used. */ public Mmmb(IndependenceTest test, int depth, boolean symmetric) { if (test == null) { throw new NullPointerException(); } if (depth < -1) { throw new IllegalArgumentException(); } this.independenceTest = test; this.variables = test.getVariables(); this.depth = depth; this.symmetric = symmetric; pc = new HashMap<>(); trimmed = new HashSet<>(); }