@zfunction/genetics-js
Version:
Genetic and evolutionary algorithms framework for the web
12 lines (11 loc) • 600 B
TypeScript
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[];
}