use cratePhenotype;
use crateObjective;
use crate::;
use generate_metric_key;
/// A trait for selection algorithms. Selection algorithms are used to select
/// individuals from a slice of [Phenotype]s to be used in the next generation.
/// The selection process is (most of the time) based on the fitness of the
/// individuals in the slice. Selectors return slice-relative indices —
/// callers map them back to whatever absolute coordinate space they came from.