Selecting a candidate by repeated trials #
OracleComp.selectBest count trials test estimates the acceptance probability of each candidate
below count and returns the candidate with the largest success count. It is an ordinary bounded
program. The correctness rule charges one estimation failure per candidate and loses twice the
estimation tolerance relative to the best candidate. No independence between estimates is needed
by the selection argument; each estimate uses the independent trials in countTrue.
Main definitions #
Cslib.OracleComp.selectUpdate: update the next index and the running best index and count.Cslib.OracleComp.selectStep: estimate one candidate and update the running empirical maximum.Cslib.OracleComp.selectBest: select an index by empirical success count.Cslib.OracleComp.selectFrom,.sampleBest: select from a list or a sampled candidate pool.
Main results #
Cslib.ProbComp.selectBest_error_pow,.selectFrom_error_pow: statistical selection bounds.Cslib.ProbComp.sampleBest_error_pow: combine discovery and validation failures.Cslib.ProbComp.selectStep_bounded,.sampleBest_support: bounds on every execution.
References #
Adapted from the cslib crypto branch at 5ff69ca93402e7c947208dc56396d6d86203ccd8.
The deviation estimate is the Hoeffding bound from [Hoe63].
Estimate one candidate and update the running empirical maximum.
Instances For
Return an index with the largest observed success count. When there are no candidates, return zero.
Instances For
Select an empirically best value from a list, returning the fallback for an empty list.
Instances For
Draw a candidate pool and select the candidate with the highest empirical score.
Instances For
Selection can only return a listed candidate or the supplied fallback. This holds on every execution, independently of estimation accuracy.
Empirical selection preserves the support of its candidate sampler, apart from the fixed fallback. In particular, bounds on descriptions survive every statistical failure.
Candidate selection keeps both indices within the elapsed count and the success count within the trial budget on every execution, regardless of statistical estimation errors.
If every empirical probability is accurate except with probability error, selection loses
at most twice the tolerance relative to every candidate, except with probability count * error.
The returned index is in range on this same event.
A polynomial trial budget selects within twice the requested inverse tolerance of the best candidate, with one exponentially small failure term per candidate.
A fresh test of the selected candidate fails at most as often as any specified candidate, up to twice the estimation tolerance and the probability of a selection error.
Empirical selection from a nonempty list loses at most twice the estimation tolerance relative to every listed candidate, except for one small failure term per candidate.
A noticeable chance of drawing a good candidate can be amplified by sampling a pool and estimating every candidate. The two failure terms pay separately for discovery and selection.