enome
Version:
A genome generation and evolution library.
25 lines (24 loc) • 1.37 kB
TypeScript
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();
}