@zfunction/genetics-js
Version:
Genetic and evolutionary algorithms framework for the web
21 lines (20 loc) • 1.1 kB
TypeScript
import { BaseIndividual } from '../../individual/base';
import { BaseCrossover } from './BaseCrossover';
import { CrossoverParams, IndividualConstructor } from './Crossover';
export interface NPointsCrossoverParams<I extends BaseIndividual<T>, T> extends CrossoverParams<I, T> {
numberOfCrossoverPoints: number;
}
export declare class NPointsCrossover<I extends BaseIndividual<T>, T> extends BaseCrossover<I, T, NPointsCrossoverParams<I, T>> {
private crossoverPointsRange;
private crossoverPoints;
private crossoverPointIndex;
cross(firstParent: I, secondParent: I, numberOfCrossoverPoints: number, individualConstructor: IndividualConstructor<I, T>, engine?: import("random-js").Engine): I[];
crossWith(firstParent: I, secondParent: I, params: NPointsCrossoverParams<I, T>): I[];
protected getGenotypeValues(firstParent: I, secondParent: I, params: NPointsCrossoverParams<I, T>, index: number): {
first: T;
second: T;
};
private setCrossoverPointsRange;
private checkCrossoverParams;
private generateCrossoverPoints;
}