UNPKG

@zfunction/genetics-js

Version:

Genetic and evolutionary algorithms framework for the web

12 lines (11 loc) 600 B
import { Engine } from 'random-js'; import { BaseIndividual } from '../../individual/base/BaseIndividual'; export declare type IndividualConstructor<I extends BaseIndividual<T>, T> = new (genotype: T[]) => I; export interface CrossoverParams<I extends BaseIndividual<T>, T> { engine: Engine; individualConstructor: IndividualConstructor<I, T>; } export interface Crossover<I extends BaseIndividual<T>, T, Params extends CrossoverParams<I, T>> { cross(firstParent: I, secondParent: I, ...args: any[]): I[]; crossWith(firstParent: I, secondParent: I, params: Params): I[]; }