@zfunction/genetics-js
Version:
Genetic and evolutionary algorithms framework for the web
35 lines (34 loc) • 2 kB
TypeScript
import { CrossoverParams } from '../crossover/base';
import { Crossover } from '../crossover/base/Crossover';
import { FitnessFunction } from '../fitness/FitnessFunction';
import { GeneratorParams, IndividualGenerator } from '../generator/base';
import { BaseIndividual } from '../individual/base/BaseIndividual';
import { Mutation, MutationParams } from '../mutation/base/Mutation';
import { Population } from '../population/Population';
import { IndividualsSelection, IndividualsSelectionParams } from '../selection/base/IndividualsSelection';
import { PopulationReplacement, PopulationReplacementParams } from '../selection/replacement/PopulationReplacement';
import { TerminationCondition } from '../termination/TerminationCondition';
export interface EvolutionaryAlgorithmParams<I extends BaseIndividual<T>, T, GParams extends GeneratorParams, SParams extends IndividualsSelectionParams, XParams extends CrossoverParams<I, T>, MParams extends MutationParams> {
populationSize: number;
generator: IndividualGenerator<I, GParams, T>;
generatorParams: GParams;
selection: IndividualsSelection<I, T, SParams>;
selectionParams: SParams;
crossover: Crossover<I, T, XParams>;
crossoverParams: XParams;
mutation: Mutation<I, T, MParams>;
mutationParams: MParams;
fitnessFunction: FitnessFunction<I, T>;
replacement: PopulationReplacement<I, T>;
replacementParams: PopulationReplacementParams;
terminationCondition: TerminationCondition<I, T>;
}
export declare class EvolutionaryAlgorithm<I extends BaseIndividual<T>, T, GParams extends GeneratorParams, SParams extends IndividualsSelectionParams, XParams extends CrossoverParams<I, T>, MParams extends MutationParams> {
population: Population<I, T>;
generations: number;
private params;
constructor(params: EvolutionaryAlgorithmParams<I, T, GParams, SParams, XParams, MParams>);
run(): void;
nextGeneration(): void;
private runGeneration;
}