Exact estimation

The ExactEstimator lazily enumerates every coalition except the grand coalition and delegates attribution to an estimand plugin. Use it as ground truth on tiny player sets before trusting approximate samplers.

Enumeration scope

For \(n\) players the estimator evaluates \(2^n - 1\) coalitions — all masks except the all-present coalition, which backends often precompute via precompute_base.

\[|\mathcal{S}_{\mathrm{exact}}| = 2^n - 1\]

Complexity grows exponentially in \(n\); reserve exact estimation for toy models, sanity checks, and estimator validation.

Estimand delegation

Exact enumeration produces coalition payoffs \(v(S)\). The estimand plugin (Shapley or Banzhaf) applies coalition weights and marginal contributions:

\[\text{ExactEstimator} \rightarrow \{v(S)\}_{S} \xrightarrow{\text{EstimandAggregator}} (\phi_1, \ldots, \phi_n)\]

Monte Carlo and Neyman estimators will reuse the same estimand boundary in later releases — exact estimation establishes the reference path.

Legacy parity

The implementation matches legacy PreciseShapExplainer Shapley values on additive characteristic functions when all \(2^n\) coalitions (including the grand coalition) are supplied for aggregation.

Further reading