Repository navigation
feat: one sample-complexity reduction for the plug-in GLRT, and Track-and-Stop with D-tracking from it - #374
Merged
lmlexplore-automation[bot] merged 1 commit intoNov 14, 2026
Conversation
…-and-Stop with D-tracking from it Prove the asymptotic sample complexity of the plug-in GLRT for any topological space of models, estimator, sampling rule and thresholds log(1/δ) + o(T), from the convergence of the allocations on good events, and derive the D-tracking sample complexity of Track-and-Stop from it, deleting the private mul_le_glr_plugInCost. Co-Authored-By: Claude Code <noreply@github.com>
Contributor
Author
AI review — approvedEach rubric is judged independently by multiple review agents; the PR merges only once every rubric is green — any rubric that is not green (changes requested, blocked, errored, stale, or not yet run) blocks the merge. See the rubrics.
♻️ = approved on an earlier commit, re-run before merge. Reviewing this diff at head |
Merged
via the queue into
LeanMachineLearning:main
with commit Nov 14, 2026
da7c613
20 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR proves the asymptotic sample-complexity reduction of the plug-in GLRT for any topological space of models, any estimator, any sampling rule and thresholds$\beta_T(h,\delta)\le\log(1/\delta)+f(T)$ with $f(T)=o(T)$ . It then derives the D-tracking sample complexity of Track-and-Stop from that reduction and deletes the private $\beta_t(h,\delta)\le\log(1/\delta)+f(t)$ , $f(t)=o(t)$ , from the merged
mul_le_glr_plugInCost. This is Generalization 1.10 ("One sample-complexity reduction, and Track-and-Stop with D-tracking"): "Prove the asymptotic reduction of Identification 4.4 for any topological space of models, estimator and thresholds withIdentTask.eventually_expectedStoppingTime_glrt_le… andIsCompact.exists_forall_mem_thickening_lt_of_lowerSemicontinuousWithinAt. Derive from iteventually_expectedStoppingTime_trackAndStop_leandeventually_expectedStoppingTime_trackAndStop_le_of_charTime_lt… and delete the privatemul_le_glr_plugInCost."Roadmap: Generalization
New declarations, all in
Identification/TrackAndStop.lean, in a new section "Sample complexity of the plug-in GLRT" placed after the plug-in statistic it is about:IdentTask.exists_mem_nhds_mul_le_glr_plugInCostcovers one step. Take a compactWof allocations withIdentTask.eventually_expectedStoppingTime_glrt_plugInCost_leis the reduction of Identification 4.4 (asymptotic) withIdentTask.eventually_expectedStoppingTime_glrt_plugInCost_le_of_isBigOis the same bound for thresholds_of_isBigOforms inGLR.leanandAlmostSure.lean, and it is the form Track-and-Stop uses.Restated through the reduction, with unchanged statements:
IdentTask.eventually_expectedStoppingTime_trackAndStop_leis now the reduction withW = {w μ}. Its proof only shows that D-tracking's allocations converge on the good events of forced exploration ([GK16, Lemma 19] and the tracking boundabs_pullCount_div_sub_le). Its constant stays(task.altCost μ (w μ) i)⁻¹ < c, and_of_charTime_lt(withtask.charTime μ < c) and the union-bound corollaries still follow from it unchanged.IdentTask.eventually_mul_le_glr_plugInCost(AlmostSure.lean, the almost-sure form [GK16, Proposition 13]) now follows fromexists_mem_nhds_mul_le_glr_plugInCostinstead of repeating the thickening argument. That leaves the expectation and almost-sure reductions with a single lower-semicontinuity step.Removed: the private$\sqrt k-K/2$ and the constants of this proof), and no longer mentions the GLR statistic. No public declaration is removed or renamed.
mul_le_glr_plugInCost. It is replaced by the privatedist_pullCount_div_lt, the D-tracking-specific step that keeps only the proportions-of-pulls part (with the exploration thresholdWhat remains: Generalization 1.11, which derives the two C-tracking theorems from this reduction with$W=w^*(\mu,\neg i)$ and deletes
mul_le_glr_plugInCost_of_mem_thickeningand the round argument the two proofs share. This PR does not touch C-tracking.Reuse: the reduction is built on the existing
IdentTask.eventually_expectedStoppingTime_glrt_le(GLR.lean),IsCompact.exists_forall_mem_thickening_lt_of_lowerSemicontinuousWithinAt,ENNReal.exists_nnreal_lt_one_lt_mul_of_inv_lt,glr_plugInCost_eq_mul,eventually_log_le_mul_of_isBigOandlog_div_le_log_one_div_add_log. I grepped Mathlib, Tau Ceti, LML and Statlib for an expected-stopping-time or plug-in GLR reduction and found nothing. The statements follow [GK16, proof of Theorem 14] (Garivier and Kaufmann, COLT 2016), which the docstrings cite.Verification (local checks only; CI verifies the pushed PR):
scope: scoped: against 3af64fae786dd9a2aa021aa47b8e4305858822ed; whole-librarylake build --iofailgreen (8531 jobs);local-axioms: checked 2 changed module(s), 55 declaration(s); 0 violation(s); module-system, header-style and the environment lint (14 linters, 3 documentation checks) pass on the changed modules.🤖 Prepared with Claude Code