@Override public LinkedList<Hypothesis> init(int minComplexity){
  LinkedList<Hypothesis> border=new LinkedList<Hypothesis>();
  LinkedList<Hypothesis> result=new LinkedList<Hypothesis>();
  for (int attributeIndex=0; attributeIndex < allLiterals.length; attributeIndex++) {
    for (int valueIndex=0; valueIndex < allLiterals[attributeIndex].length; valueIndex++) {
      border.addLast(new Rule(allLiterals[attributeIndex][valueIndex],POSITIVE_CLASS));
    }
  }
  while (!border.isEmpty()) {
    Rule rule=(Rule)border.removeFirst();
    result.addLast(rule);
    if (createAllHypothesis) {
      result.addLast(new Rule(rule.getLiterals(),NEGATIVE_CLASS));
    }
    if (rule.getComplexity() < minComplexity) {
      border.addAll(rule.refine());
    }
  }
  return result;
}

@ Override public LinkedList < Hypothesis > init ( int minComplexity ) { LinkedList < Hypothesis > border = new LinkedList < Hypothesis > ( ) ; LinkedList < Hypothesis > result = new LinkedList < Hypothesis > ( ) ; for ( int attributeIndex = 0 ; attributeIndex < allLiterals . length ; attributeIndex ++ ) { for ( int valueIndex = 0 ; valueIndex < allLiterals [ attributeIndex ] . length ; valueIndex ++ ) { border . addLast ( new Rule ( allLiterals [ attributeIndex ] [ valueIndex ] , POSITIVE_CLASS ) ) ; } } while ( ! border . isEmpty ( ) ) { Rule rule = ( Rule ) border . removeFirst ( ) ; result . addLast ( rule ) ; if ( createAllHypothesis ) { result . addLast ( new Rule ( rule . getLiterals ( ) , NEGATIVE_CLASS ) ) ; } if ( rule . getComplexity ( ) < minComplexity ) { border . addAll ( rule . refine ( ) ) ; } } return result ; }
creates all rules with length < = mincomplexity .
