public LinkedList<Hypothesis> prune(LinkedList<Hypothesis> hypoList,double minUtility,double totalWeight,double totalPositiveWeight,double delta_p){
  double delta_hp=delta_p / hypoList.size();
  ListIterator it=hypoList.listIterator();
  while (it.hasNext()) {
    Hypothesis hypo=(Hypothesis)it.next();
    double upperBound=theUtility.getUpperBound(totalWeight,totalPositiveWeight,hypo,delta_hp);
    if (upperBound < minUtility) {
      it.remove();
    }
  }
  return hypoList;
}

public LinkedList < Hypothesis > prune ( LinkedList < Hypothesis > hypoList , double minUtility , double totalWeight , double totalPositiveWeight , double delta_p ) { double delta_hp = delta_p / hypoList . size ( ) ; ListIterator it = hypoList . listIterator ( ) ; while ( it . hasNext ( ) ) { Hypothesis hypo = ( Hypothesis ) it . next ( ) ; double upperBound = theUtility . getUpperBound ( totalWeight , totalPositiveWeight , hypo , delta_hp ) ; if ( upperBound < minUtility ) { it . remove ( ) ; } } return hypoList ; }
prunes the given list of hypothesis . all hypothesis with an upper utility bound less than the parameter minutility is pruned .
