GenomeVectorDouble

class Object
trait Matchable
class Any

Type members

Types

type CrossoverAndMutation[S, G] = (S, G, Random) => G

Value members

Concrete methods

def applyContinuousDynamicOperators[S, I](selection: S => I, genome: I => Vector[Double], operatorStatistics: Map[Int, Double], operatorExploration: Double): (S, Vector[I], Random) => ((Vector[Double], Vector[Double]), Int)
def applyDynamicOperators[S, I, G](selection: S => I, continuousValues: I => Vector[Double], discreteValues: I => Vector[Int], continuousOperatorStatistics: Map[Int, Double], discreteOperatorStatistics: Map[Int, Double], discrete: Vector[D], operatorExploration: Double, buildGenome: (Vector[Double], Option[Int], Vector[Int], Option[Int]) => G): (S, Vector[I], Random) => Vector[G]
def applyOperators[S, I, G](crossover: (S, (G, G)) => (G, G), mutation: (S, G) => G, selection: S => I, genome: I => G)(s: S, population: Vector[I], rng: Random): (G, G)
def continuousCrossovers[S]: Vector[() => S]
def continuousCrossoversAndMutations[S]: Vector[S => (Vector[Double], Vector[Double])]
def continuousMutations[S]: Vector[() => S]
def crossoverAndMutation[S, G](crossover: (S, (G, G)) => (G, G), mutation: (S, G) => G): S => (G, G)
def discreteCrossovers[S]: Vector[(S, (Vector[Int], Vector[Int])) => (Vector[Int], Vector[Int])]
def discreteCrossoversAndMutations[S](discrete: Vector[D]): Vector[S => (Vector[Int], Vector[Int])]
def discreteMutations[S](discrete: Vector[D]): Vector[(S, Vector[Int]) => Vector[Int]]
def filterNaN[I, T](values: Vector[I], value: I => T)(implicit cbn: CanBeNaN[T]): Vector[I]
def randomGenomes[G](cons: (Vector[Double], Vector[Int]) => G)(mu: Int, continuous: Vector[C], discrete: Vector[D], reject: Option[G => Boolean], rng: Random): Vector[G]