A clocked hard-core boosting program #
The state stores a threshold, a list of predictor descriptions, and a stopping flag. A fixed certified evaluator interprets each description on an observation. Each active round tests the majority guard, optionally raises the threshold, and requests one new predictor.
The supplied learner is an explicit program with its own efficiency and correctness obligations. We truncate its output to the declared description bound on every execution, including failures. The analysis must therefore certify the truncated predictor. This gives a polynomial bound on the complete state throughout the clocked loop without a probabilistic runtime exception.
Main definitions #
State,Parameters: stored predictor descriptions and explicit resource parameters.round,run: the sampled body and its clocked iteration.
Main results #
round_bounded,run_bounded: every execution preserves the storage invariant.isPPTOn_round,isPPTOn_run: compositional certificates for the complete programs.
References #
[Hol05], Section 2.2, Figure 2 and Lemma 2.14. The proved polynomial clock replaces the
worst-dense-set stopping test. The majority test remains explicit and uses finite fair-bit
sampling. Adapted from the cslib crypto branch at
5ff69ca93402e7c947208dc56396d6d86203ccd8.
Instances For
Start before any learned predictors or threshold shifts.
Instances For
Move the threshold according to the sampled shift decision.
Instances For
After rounds rounds there are at most that many shifts and bounded descriptions.
Instances For
Efficient field values construct an efficient state.
Project the stopping flag through the shared pair implementation.
Project the threshold through the shared pair implementation.
Project the predictor collection through the shared pair implementation.
Evaluating a list of descriptions is an ordinary captured map.
Updating the threshold uses its field certificate and the efficient Boolean decision.
Truncation and list insertion charge for the complete stored predictor description.
Natural parameters for exact dyadic weights and polynomial sampling budgets.
- confidence : ℕ
Each sampled guard has failure probability at most
2⁻confidence. - densityNumerator : ℕ
The numerator of the target density.
- densityBound : ℕ
The parameter whose
dyadicSizeis the density denominator. - rateBound : ℕ
The parameter whose
dyadicSizeis the reciprocal weight rate. - codeBound : ℕ
Maximum length of each stored predictor description.
Instances For
Store all five resource parameters in unary using the shared product encoding.
Instances For
Computing the five fields suffices to construct the encoded parameter record.
Project the confidence through the shared product implementation.
Project the density numerator through the shared product implementation.
Project the density parameter through the shared product implementation.
Project the rate parameter through the shared product implementation.
Project the description bound through the shared product implementation.
The density denominator is a positive power of two.
Instances For
The reciprocal weight rate is a positive power of two.
Instances For
A sufficient majority-test precision for every positive density numerator.
Instances For
A sufficient density-test precision at weight rate 1 / inverseRate.
Instances For
A polynomial clock whenever 0 < densityNumerator ≤ denominator.
Instances For
Training samples compose with the certified evaluator without exposing a machine.
One round of boosting. A previously stopped state is returned unchanged.
Instances For
Resource bounds hold on every outcome, including erroneous tests and learner failures.
The complete sampled round composes the evaluator, source, learner, and unary parameters. No machine implementation is part of the client's proof.
Polynomially bounded parameters and a certified learner give a strict PPT boosting loop.
The single resource invariant also proves run_bounded, independently of correctness.