UNPKG

@zfunction/genetics-js

Version:

Genetic and evolutionary algorithms framework for the web

30 lines (29 loc) 1.41 kB
import { FitnessFunction } from '../fitness/FitnessFunction'; import { GeneratorParams } from '../generator/base/GeneratorParams'; import { IndividualGenerator } from '../generator/base/IndividualGenerator'; import { BaseIndividual } from '../individual/base/BaseIndividual'; export interface PopulationItem<I extends BaseIndividual<T>, T> { individual: I; fitness: number; age: number; } export interface PopulationStatistics { averageAge: number; averageFitness: number; fitnessSum: number; fittestIndividualIndex: number; } export declare class Population<I extends BaseIndividual<T>, T> { static readonly DEFAULT_FITNESS = 0; static readonly DEFAULT_FITTEST_IND_INDEX = -1; populationStatistics: PopulationStatistics; private items; generatePopulationWithOperations<Params extends GeneratorParams>(populationSize: number, generator: IndividualGenerator<I, Params, T>, generatorParams: Params, fitnessFunction: FitnessFunction<I, T>): void; getPopulationSize(): number; replacePopulation(populationItems: Array<PopulationItem<I, T>>): void; pushIndividual(individual: I, fitness?: number, age?: number): void; getFittestIndividualItem(): PopulationItem<I, T> | undefined; getPopulationItem(index: number): PopulationItem<I, T>; getPopulationItems(): PopulationItem<I, T>[]; private setStatistics; }