Shapley Value Calculator

Shapley Value Calculator#

class rizemind.strategies.contribution.calculators.shapley_value.ShapleyValueCalculator[source]

Bases: ContributionCalculator

Calculates participant contributions using Shapley values.

Implements the Shapley value method from cooperative game theory to fairly assess each participant’s contribution. For each participant, it computes their marginal contributions across all coalitions.

get_scores(*, participant_mapping: ~rizemind.strategies.contribution.shapley.trainer_mapping.ParticipantMapping, store: ~rizemind.strategies.contribution.shapley.trainer_set.TrainerSetAggregateStore, coalition_to_score_fn: ~collections.abc.Callable[[~rizemind.strategies.contribution.shapley.trainer_set.TrainerSetAggregate], float] | None = <function default_coalition_to_score>) dict[ChecksumAddress, PlayerScore][source]

Calculates Shapley value-based contribution scores.

Computes the Shapley value for each participant by evaluating their marginal contribution.

Parameters:
  • participant_mapping – Maps participants to their coalition memberships.

  • store – Contains metrics and losses for all evaluated coalitions.

  • coalition_to_score_fn – Function to convert a coalition’s aggregate

  • None (to a numerical score. If)

  • default_coalition_to_score. (uses)

Returns:

A dictionary mapping each participant’s address to their PlayerScore containing their Shapley value. If a participant has no valid marginal contributions (weight_total is 0), their score is 0.