Beispiel #1
0
        public virtual SolverState Init(SolverCommand command)
        {
            var state = SolverHelper.Init(new SolverBaseState(), command);

            state.Statistics.Name = GetType().Name;
            state.Pool            = new SolverPoolByBucket();
            state.Evaluator       = evaluator;
            state.Queue           = new SolverQueue();
            state.Root            = state.Evaluator.Init(command.Puzzle, state.Queue);

            Statistics = new[] { state.Statistics, state.Pool.Statistics, state.Queue.Statistics };
            return(state);
        }
            public override SolverState Init(SolverCommand command)
            {
                var state = SolverHelper.Init(new MultiThreadedSolverState(), command);

                state.Command.Parent     = Worker.Owner;
                state.Command.CheckAbort = CheckWorkerAbort;
                state.Statistics.Name    = $"{GetType().Name}:{Worker.Name}";
                state.Pool      = Worker.Pool;
                state.Evaluator = new ReverseEvaluator(nodeFactory);
                state.Queue     = Worker.Queue;

                Statistics = new[] { state.Statistics };
                return(state);
            }