public RunScpVm(IScpParams scpParams, IEnumerable <ISorterGenomeEvalVm> sorterGenomeEvalVms) { ScpRunnerVm = new ScpRunnerVm(scpParams, sorterGenomeEvalVms); ScpRunnerVm.OnIterationResult.Subscribe(ReportBestResult); ReportFrequency = 10; _trajectoryGridVm = new SgHistoryGridVm(); _stopwatch = new Stopwatch(); }
public ScpRunnerVm(IScpParams scpParams, IEnumerable <ISorterGenomeEvalVm> sorterGenomeEvalVms) { var genomeEvalVms = sorterGenomeEvalVms.ToList(); _sorterGenomeEvalGridVmInitial = new SorterGenomeEvalGridVm("Progenitors"); _sorterGenomeEvalGridVmInitial.SorterGenomeEvalVms.AddMany(genomeEvalVms); _sorterGenomeEvalGridVm = new SorterGenomeEvalGridVm("Current population"); _sorterGenomeEvals = genomeEvalVms.Select(v => v.SorterGenomeEval).ToDictionary(e => e.Guid); _scpParamsVm = new ScpParamVm(scpParams); }
public static IScpWorkflow Make( ILayer <ISorterGenome> sorterLayer, IScpParams scpParams, int generation ) { return(new ScpWorkflowImpl ( sorterLayer0: Layer.Make( generation: generation, genomes: Enumerable.Empty <ISorterGenome>() ), sorterLayer1: sorterLayer, scpParams: scpParams, generation: generation, report: string.Empty )); }
public ScpWorkflowImpl ( ILayer <ISorterGenome> sorterLayer0, ILayer <ISorterGenome> sorterLayer1, IScpParams scpParams, int generation, string report ) { _sorterLayer0 = sorterLayer0; _compWorkflowState = CompWorkflowState.RunCompetition; _scpParams = scpParams; _generation = generation; _report = report; _sorterLayer1 = sorterLayer1; _sorterLayerEval = Enumerable.Empty <ISorterGenomeEval>() .Make <ISorterGenome, IGenomeEval <ISorterGenome> >(); _compPool = Sorting.CompetePools.CompPool.MakeEmpty(_sorterLayer1.Genomes.First().KeyCount); }
private ScpWorkflowImpl ( CompWorkflowState compWorkflowState, ILayer <ISorterGenome> sorterLayer0, ILayer <ISorterGenome> sorterLayer1, ICompPool compPool, ILayerEval <ISorterGenome, IGenomeEval <ISorterGenome> > sorterLayerEval, IScpParams scpParams, int generation, string report ) { _compWorkflowState = compWorkflowState; _sorterLayer0 = sorterLayer0; _sorterLayerEval = sorterLayerEval; _scpParams = scpParams; _generation = generation; _report = report; _sorterLayer1 = sorterLayer1; _compPool = compPool; }
public static IScpWorkflow Make( int seed, int keyCount, int keyPairCount, IScpParams scpParams ) { var randy = Rando.Fast(seed); return(new ScpWorkflowImpl ( sorterLayer0: null, sorterLayer1: SorterLayer.Create ( seed: randy.NextInt(), genomeCount: scpParams.PopulationCount, keyCount: keyCount, keyPairCount: keyPairCount ), scpParams: scpParams, generation: 0, report: string.Empty )); }
public ConfigScpVm(IScpParams scpParams) { ConfigScpParamVm = new ConfigScpParamVm(scpParams); SorterGenomeEvalGridVm = new SorterGenomeEvalGridVm("Progenitors"); }
public CreateScpVm(IScpParams scpParams, ICommand createScpCommand) { CreateScpCommand = createScpCommand; ConfigScpVm = new ConfigScpVm(scpParams); }