@classmethod
def loose_minority_constraint(cls, variables):
    """Clauses encoding a "at most half" constraint
     
        Parameters
        ----------
        variables : list of variables
           variables in the constraint
     
        Returns
        -------
            a list of clauses
        """
    threshold = int(len(variables) / 2)
    return cls.less_or_equal_constraint(variables, threshold)
