UNPKG

enome

Version:

A genome generation and evolution library.

25 lines (24 loc) 1.37 kB
import { Observable, ReplaySubject } from 'rxjs'; import { IEvaluation, IGenomeOptions, IOrganismOptions, IPopulationOptions, Organism, Population, ReactiveCollection, ReactiveProperty } from '../index'; import { AgentEnvironment } from 'enviro-rx'; export declare class Simulation<Gen extends IGenomeOptions, Pop extends IPopulationOptions, Org extends IOrganismOptions, Data, Pheno, AState, EState> { population: Population<Gen, Pop, Org, Data, Pheno, AState, EState>; environment: AgentEnvironment<AState, EState>; top: ReactiveCollection<IEvaluation<Gen, Data, Pheno>>; avgFitness: ReactiveProperty<number>; newOrganisms: ReplaySubject<Organism<Gen, Pop, Org, Data, Pheno, AState, EState>>; organisms: ReactiveCollection<Organism<Gen, Pop, Org, Data, Pheno, AState, EState>>; progress: ReactiveProperty<number>; private _best; private subs; constructor(population: Population<Gen, Pop, Org, Data, Pheno, AState, EState>, environment: AgentEnvironment<AState, EState>); readonly best: Observable<IEvaluation<Gen, Data, Pheno>>; start(): Simulation<Gen, Pop, Org, Data, Pheno, AState, EState>; stop(): void; private updateBest(); private updateTop(); private updateAvgFitness(); private introduceOrganisms(); private removeDeadOrganisms(); private logProgress(); }