code: @Override
  	protected double[] probabilities(
  		final Seq<Phenotype<G, C>> population,
  		final int count
  	) {
  		assert population != null : "Population must not be null. ";
  		assert !population.isEmpty() : "Population is empty.";
  		assert count > 0 : "Population to select must be greater than zero. ";
  
  		final double N = population.size();
  		final double[] probabilities = new double[population.size()];
  
  		if (N == 1) {
  			probabilities[0] = 1;
  		} else {
  			for (int i = probabilities.length; --i >= 0; ) {
  				probabilities[probabilities.length - i - 1] =
  					(_nminus + (_nplus - _nminus)*i/(N - 1))/N;
  			}
  		}
  
  		return probabilities;
  	}
docs: This method sorts the population in descending order while calculating the
  selection probabilities.