Returns trials in the lower and upper `quantile` of the population.

        If there is not enough data to compute this, returns empty lists.

def _quantiles(self):
        """Returns trials in the lower and upper `quantile` of the population.

        If there is not enough data to compute this, returns empty lists."""

        trials = []
        for trial, state in self._trial_state.items():
            if state.last_score is not None and not trial.is_finished():
                trials.append(trial)
        trials.sort(key=lambda t: self._trial_state[t].last_score)

        if len(trials) <= 1:
            return [], []
        else:
            return (trials[:int(math.ceil(len(trials) * PBT_QUANTILE))],
                    trials[int(math.floor(-len(trials) * PBT_QUANTILE)):])