distributed_evaluator (faber_neuroevolution v1.2.4)

View Source

Distributed evaluator for mesh-based fitness evaluation.

Provides a high-level API for evaluating individuals across the mesh. Features: - Load-balanced evaluation dispatch - Automatic retry on failure - Local preference for reduced latency - Batch evaluation with parallelism control - Graceful degradation when mesh unavailable

Summary

Functions

evaluate(Individual, EvaluatorModule)

-spec evaluate(Individual :: term(), EvaluatorModule :: module()) ->
                  {ok, Fitness :: float()} | {error, term()}.

evaluate(Individual, EvaluatorModule, Options)

-spec evaluate(Individual :: term(), EvaluatorModule :: module(), Options :: map()) ->
                  {ok, Fitness :: float()} | {error, term()}.

evaluate_batch(Individuals, EvaluatorModule, Options)

-spec evaluate_batch(Individuals :: [term()], EvaluatorModule :: module(), Options :: map()) ->
                        [{ok, Fitness :: float()} | {error, term()}].

evaluate_batch(Individuals, EvaluatorModule, EvalOptions, BatchOptions)

-spec evaluate_batch(Individuals :: [term()],
                     EvaluatorModule :: module(),
                     EvalOptions :: map(),
                     BatchOptions :: map()) ->
                        [{ok, Fitness :: float()} | {error, term()}].

get_stats()

-spec get_stats() -> map().

handle_call(Request, From, State)

handle_cast(Msg, State)

handle_info(Info, State)

init(Config)

register_evaluator(EvaluatorModule)

-spec register_evaluator(EvaluatorModule :: module()) -> ok | {error, term()}.

register_evaluator(EvaluatorModule, Options)

-spec register_evaluator(EvaluatorModule :: module(), Options :: map()) -> ok | {error, term()}.

start_link(Config)

-spec start_link(Config :: map()) -> {ok, pid()} | {error, term()}.

terminate(Reason, State)