Abstract
Model-free identification of the minimal world-model of a bounded agent in a POMDP has been made tractable in the finite setting by Myhill–Nerode quotient learning: a permutation G-test on fixed-policy continuation histograms clusters histories into continuation-equivalence classes. With continuous observations and actions the continuation alphabet is infinite and the G-test is undefined. We extend quotient learning to 𝒪 × 𝒜 ⊆ ℝ^(d). Histories are keyed by coarse quantile bins; for every pair of bins the continuation laws are compared with a kernel maximum mean discrepancy (MMD) permutation test on raw continuation vectors under Benjamini–Hochberg control, and bins whose test does not reject are merged by union–find. We (i) identify the estimator’s target—the bin-level continuation quotient—and give conditions under which it coincides with the latent quotient of index n; (ii) prove an alphabet-free trajectory bound N = O (Blog (B/δ)/ε_(MMD)² + B²log (1/δ)) for an analysed variant (T) with one window per trajectory, in which the alphabet size |𝒞| of the finite bound is replaced by the MMD separation ε_(MMD); and (iii) characterise finite-sample behaviour as a resolution effect: distinctions below the test’s detection scale are merged, so the returned size depends on the bin count B and the sample budget. Empirically, the procedure we run (permutation test with BH; procedure P) returns the latent index on 90/90 runs when B = n on Tiger, K-cycle (K ≤ 16) and a Gaussian-mixture walk, but this uses n: with B chosen without n the adjusted Rand index drops on K-cycle (K ≥ 4) and the index is over-split. No baseline we implement (RKHS ε-machine, GRU causal-state learning, Ferns bisimulation metric, multivariate Wasserstein, DBC) is uniformly better or worse; the GRU is strongest on K-cycle. The analysed variant (T) of Theorem 1 is conservative: with the sampler its theorem covers (one window per trajectory) it merges Tiger’s classes at N = 3000, resolving them from N = 10⁴ at B = 2, and merges all Gaussian-mixture classes at N ≤ 3000. We state which guarantee covers which procedure. On PO-MuJoCo the estimator returns n̂ = B, and a trajectory-level held-out analysis shows the classes carry no information beyond a nonlinear function of speed. On a 4-state chain Dec-POMDP the estimated critical communication rate tracks the analytical value within 0.8% mean error when both quotients are non-trivial; on Dec-Tiger agent A over-splits on 5/10 seeds at α = 0.05. We report all seeds. Code and results: github.com/npow/quotient-learning-papers (cql/, tag v1, commit 83f9f42; new result files in commit 2c16829).
Editorial notes
Points the editor recorded on accepting the paper. They are published with the article; the authors were not required to address them before publication.
- In Section 4 ('Which guarantee applies to which procedure'), replace the leftover placeholder '(RESULT-T-SUMMARY)' and the broken reference '(eq. eq:m-bound' with the intended text and equation number.
- Throughout Sections 1, 4 and 5 and the Limitations, correct inconsistent table and remark cross-references: the (T) results are Tables 4–5 but are cited as Table 3, ARI is cited as Table 2/3, 'Remark 2' is cited for the guarantee scope, and the baselines table is cited as both Table 5 and Table 6.
- In Appendix E, align the table-to-file map with the final table numbering, for example by giving `partition_baselines.csv` for the baselines table instead of the blanket 'Tables 1–8 ← Layer 1–3 files'.
- In Appendix C ('Revision experiments'), add `partition_accuracy_pertraj.csv`, `partition_accuracy_2n.csv`, `T_traj_scaling.csv` and `tiger_T_scaling_pertraj.csv` to the result-file list so that it matches Appendix E.
- In Appendix A, Remark 5, state that the m_max=300 calculation applies to procedure (P) or capped samplers, since the theorem's `per_traj` variant is uncapped.
Introduction
A fundamental question in reinforcement learning is: how much of the world does a bounded agent need to model? For agents acting under partial observability, a natural answer is the Myhill–Nerode quotient of the history space under a fixed behaviour policy: two histories are equivalent if they induce the same distribution over futures. Nixon (2026b) develops this theory for bounded agents and Nixon (2026a) uses the resulting quotient to define a critical communication rate for multi-agent coordination. A companion paper (Pow 2026) gives a model-free estimator for finite observation–action alphabets: a permutation G-test on continuation histograms decides, for each pair of observed histories, whether their -step continuation distributions differ, and a union–find pass merges the pairs that do not; the required number of trajectories is where is the continuation alphabet.
The gap: continuous spaces, and what is not new.
Real POMDPs—manipulation, locomotion, audition—have continuous observation and action spaces. Applying the finite estimator requires discretising into an alphabet , which (1) makes grow exponentially in the dimension and (2) conflates continuation distributions that differ only within a cell. Both pathologies are visible in our experiments: a 3-bin G-test never recovers the two Tiger classes and an 8-bin G-test over-splits the 4-state K-cycle into 8 classes (Table 7).
We do not claim to be the first to group continuous histories by their predictive distributions with kernel embeddings. The RKHS -machine of Brodu and Crutchfield (2022) already represents as a point in an RKHS, observes that clustering algorithms for conditional distributions map to the RKHS setting by using the MMD test, and recovers causal states by diffusion-map coordinates and clustering; causal-state learning (Zhang et al. 2019) approximates the same partition with recurrent predictors and discretisation; and bisimulation metrics (Ferns et al. 2011) address brittleness of exact equivalence in continuous state spaces. What those methods do not supply is an explicit finite-sample estimand with an analysed sample bound: the RKHS -machine and causal-state learning cluster point estimates with a user-set scale or threshold, and (to our knowledge) none of the cited methods states the partition that is recovered at a given sample size or a trajectory bound for it. Two-sample testing itself is not new here: the RKHS -machine maps clustering to the MMD test, and Mixed LICORS (Goerg and Shalizi 2013) permits nonparametric two-sample tests of equality of predictive distributions. Section 2 and the head-to-head comparison in Section 5.6 make the relationship precise.
Our contribution (restated).
We compare bin-conditional continuation laws with a kernel MMD permutation test on raw continuation vectors (Gretton et al. 2012), so no discretisation of the continuation space is needed, and key histories by coarse quantile bins so that enough continuations accumulate per key. The contribution is a finite-sample formulation of continuous quotient learning (an explicit estimand and an analysed sample bound for a pairwise-test estimator), not the idea of MMD- or test-based predictive-state clustering. Concretely:
-
Algorithm (Section 3). Quantile binning of the observation stream into bins, a biased-MMD permutation test with a median-heuristic RBF kernel for every pair of bins, Benjamini–Hochberg (BH) control over pairs, and union–find merging.
-
What is estimated (Section 3). In continuous spaces the exact continuation-equivalence quotient of the history space is generically infinite (every observation value induces a different posterior), so we define the estimator’s target as the bin-level quotient —the partition of the bins by equality of their bin-conditional continuation laws—and give conditions (bounded-support noise, bin edges aligned with class boundaries) under which equals the latent index (Proposition 1).
-
Alphabet-free sample complexity (Section 4). Using the concentration of the biased MMD statistic (Gretton et al. 2012, Thm. 7, Cor. 9) we prove that trajectories suffice to recover with probability under the analysed variant (one window per trajectory; , quantile bins; in all our experiments). The factor of the finite bound disappears; the dimension enters only through . The theorem is about the analysed variant (T) (fixed kernel and bins, one window per trajectory sampling the exact pooled bin law, analytic threshold), not about the permutation/BH procedure used in most experiments; Section 4.1 states which guarantee applies to which procedure and Section 5.5 reports the experiments run under (T).
-
Resolution analysis. Because a two-sample test with samples cannot detect MMD gaps below , the finite-sample estimate is the quotient at that resolution: same-class bins whose laws differ slightly are merged, and distinct latent classes are separated only if their gap exceeds the detection scale. This explains all of our empirical findings, including the successes (aligned ) and the failures (over- and under-splitting at ).
-
Experiments (Section 5). Ground-truth recovery on Tiger, K-cycle and a Gaussian-mixture random walk (90/90 at ), sensitivity to and , partition-level accuracy (adjusted Rand index against the latent state) under -selection rules that do not use , runs under the analysed variant (T), a head-to-head comparison with an RKHS -machine, causal-state learning, a bisimulation metric, multivariate Wasserstein and DBC baselines, PO-MuJoCo, and end-to-end estimation on Dec-Tiger and a 4-state chain Dec-POMDP. All numbers are computed from result files released with the code (https://github.com/npow/quotient-learning-papers, directory
cql/, artifacts at tagv1= commit83f9f42, new files in commit2c16829; file list in Appendix E); every seed is reported.
Paper organisation.
Section 2 surveys related work; Section 3 defines the target and the algorithm; Section 4 states the guarantees; Section 5 presents experiments; Section 6 discusses limitations; Section 7 concludes. Proofs and full experimental specifications are in the appendices.
Related Work
PAC learning in POMDPs.
Observable operator models (Jaeger 2000), spectral methods for predictive state representations (Boots et al. 2011) and tensor methods (Azizzadenesheli et al. 2016) estimate latent dynamics with sample-efficiency guarantees when the number of latent states (or Hankel rank) is known. Our approach is model-free and targets only the quotient partition.
Predictive-state clustering with kernels (closest prior work).
Computational mechanics defines causal states as classes of predictively equivalent histories. Brodu and Crutchfield (2022) give the RKHS -machine: conditional distributions of the future given the past are embedded as points with regularised weights , the similarity matrix is converted to diffusion-map coordinates, and causal states are read off by a clustering algorithm (DBSCAN in their experiments); they also estimate an evolution operator on the causal-state manifold. They explicitly note that earlier clustering algorithms for conditional distributions map to the RKHS setting “by using the MMD test instead of other statistical tests”. Jurgens and Brodu (2024) extend this with causal diffusion components. LICORS and Mixed LICORS (Goerg and Shalizi 2012, 2013) reconstruct predictive states of continuous-valued spatio-temporal data by nonparametric clustering of conditional predictive distributions, and kernel embeddings of predictive state representations (Boots et al. 2013) handle infinite observation and action sets. Relation to our work. Our estimator is in the same family (kernel comparison of conditional futures), so the idea is not new. The differences are: (i) we discretise the pasts into quantile bins and run a two-sample test per pair of bins with a stated level (as noted above, test-based merging of predictive states is not new: Mixed LICORS permits nonparametric two-sample equality tests), whereas the RKHS -machine smooths over individual pasts with a regularised conditional embedding and clusters with a user-set scale; (ii) we state the estimand for finite samples (the bin-level quotient , Definition 4) and an analysed variant with a sample bound (Theorem 1), where the cited work gives consistency-style arguments and no sample-complexity statement to our knowledge; (iii) their emphasis is dynamics and prediction in the original data space, ours is a discrete partition that the theory consumes. We therefore compare empirically with an RKHS -machine pipeline in Section 5.6, specialised to one-observation pasts as in the rest of the paper; our implementation follows the estimator equations of Brodu and Crutchfield (2022) but is not their released code, and we do not tune it with the ground-truth index.
Causal-state learning with recurrent networks.
Zhang et al. (2019) approximate the causal states of a POMDP (the coarsest partition of histories with identical conditional futures) with a recurrent encoder trained to predict the next observation and reward, and discretise the hidden states, e.g. by -means. They prove connections to bisimulation metrics; the discretisation is not accompanied by a statistical test, so the number of classes is set by the discretiser (this concerns their recurrent-network pipeline only; test-based merging of predictive states exists in LICORS-type methods above). We compare against a GRU encoder with the same training signal and -means (silhouette) discretisation. This baseline conditions on the full history, whereas our estimator uses one-step keys, so it is not handicapped by .
Bisimulation and state abstraction.
Bisimulation relations (Larsen and Skou 1991) and bisimulation metrics (Ferns et al. 2004; Castro 2020) formalise (approximate) behavioural equivalence of MDP states and, for continuous state spaces, Ferns et al. (2011) show that the metrics are well defined and approximable by finite abstractions; Castro et al. (2009) extend these relations to partially observable MDPs. The brittleness of exact equivalence under perturbation is the classical motivation for metrics (Ferns et al. 2004). Deep Bisimulation for Control (DBC) (Zhang et al. 2021) learns metric-respecting representations from rewards and a learned latent dynamics model; bisimulation is reward-defined, so in the reward-free benchmarks of Section 5 we must supply a reward proxy (Section 5.6). Abel et al. (2020) analyse approximate state abstractions and their value loss. Our object is different: we cluster observed histories under a fixed policy, we output a discrete partition (which is what the theory of Nixon (2026a) consumes), and—in line with the bisimulation-metric literature—we make explicit that in continuous spaces the exact partition is generically infinite and what is recovered is a partition at a resolution set by the binning and the test.
Policy dependence.
The estimated quotient is the fixed-policy continuation-equivalence partition; under a random policy it may be trivial () and under a structured policy non-trivial. This is by design: the quotient characterises the agent’s minimal perception relative to its behaviour policy (Nixon 2026b).
Two-sample kernel testing.
The MMD (Gretton et al. 2012) is a nonparametric two-sample statistic that is consistent against all alternatives for characteristic kernels; permutation calibration gives exact finite-sample level. Block estimators (Zaremba et al. 2013) trade variance for cost; we use the biased estimator with at most samples per side. Ramdas et al. (2015) show that with a fixed (e.g. median-heuristic) kernel the MMD separation between fixed alternatives typically decreases with dimension; this is why our bound is “alphabet-free” rather than “dimension-free” (Remark 2).
Method
Problem Formulation
Definition 1 (Continuous POMDP). A continuous POMDP is a tuple with , (or a finite set), transition kernel , emission kernel , reward and discount .
Definition 2 (Continuation law). Fix a behaviour policy and a window . For a history the -step continuation law is the law of , , obtained by executing from .
Definition 3 (Continuation-equivalence quotient). iff . The quotient has index . We say the POMDP has finite latent index if there is a class map with .
Remark 1 (Exact quotients are generically infinite in continuous spaces). If the emission kernel has a density with unbounded support (e.g. Gaussian noise), the posterior over the latent state given a history varies continuously with the observed values, and so does the continuation law; hence is uncountable and the latent index is not the history quotient index. For instance, in Tiger with and one-step histories, and no two observation values share a continuation law. What a finite estimator can target is a quotient at a resolution, which we now define.
Coarse History Binning and the Bin-Level Quotient
Given trajectories we reduce each observation to a scalar ( if , else ; the implementation exposes this map), fit equal-frequency (quantile) edges of over all time steps, and key a history of length by the tuple of bin indices of its last observations (and, when actions are discrete, the interleaved actions). All experiments use , so a key is a single bin. Let be the set of active keys () and, for , let be the bin-conditional continuation law: the law of given that the history falls in (a mixture of over ).
Definition 4 (Bin-level quotient). is the partition of induced by . The estimator’s target is ; we write for its output.
is always finite. It coincides with the latent class partition (so ) exactly when every bin is pure, i.e. contains histories of a single latent class (Proposition 1). Under Gaussian noise no bin is exactly pure and generically has classes; the estimator then returns a coarsening determined by the detection scale of the test (Remark 4). In practice is set to the number of clusters in the observation marginal (Algorithm 2 in the appendices selects it by silhouette score) or from domain knowledge.
Kernel MMD Test
For each pair we take up to continuation vectors from each bin (deterministically subsampled per pair) and test with the biased MMD statistic
where and the bandwidth follows the median heuristic over the pooled sample (so ). Significance is assessed by random permutations of the pooled sample, , which is exact-level for exchangeable samples. Because the smallest attainable -value is , per-pair Bonferroni levels are unattainable at moderate ; we therefore apply Benjamini–Hochberg (Benjamini and Hochberg 1995) at level over all pairs and declare a pair different iff its -value is at or below the BH threshold. BH controls the false discovery rate of splits; missed splits (Type II errors) are governed by power, and a single missed split between two classes merges them entirely under union–find, so the conservative failure mode of the estimator is under-splitting at small and over-splitting at large (Section 4).
Union–Find Quotient Estimator
Bins are merged whenever the test does not reject; the resulting single-linkage partition is . Algorithm 1 states the procedure as implemented; we call it procedure (P).
Variant (T) (the analysed procedure).
Theorem 1 is about a different procedure, variant (T), which removes each feature of (P) that the analysis does not cover:
-
Fixed bins and kernel. The quantile edges and the RBF bandwidth (median heuristic) are fitted on a design half of the trajectories; all tests use the other half. (In (P) the bandwidth is chosen per pair from the tested sample and the edges from all data.)
-
One window per trajectory, exact pooled law. Each test-half trajectory contributes a single window: a uniformly chosen time , assigned to the bin of (sampler
per_traj). For equal-length trajectories the window of a trajectory that lands in bin has exactly the pooled bin law of Section 3.2, and windows are i.i.d. across trajectories, so no mixing assumption is needed; the price is that a bin receives only about samples. (In (P) up to overlapping windows from the same trajectories are pooled.) The implementation also has aper_binsampler (one uniformly chosen visit per trajectory and bin). It gives more samples but targets the trajectory-weighted law (the average, over trajectories that visit , of the within-trajectory bin laws), which equals only if visits are exchangeable; it is not covered by Theorem 1, and we report its results only as labelled ablations. -
Independent sides. For each pair the test-half trajectories are randomly split in two; side 1 uses -windows of half 1 and side 2 uses -windows of half 2.
-
Analytic threshold and union bound. A pair is declared different iff , the null threshold of Gretton et al. (2012, Cor. 9), with ; no permutations and no BH.
Variant (T) is implemented in continuous_quotient/variant_t.py. We also run (P), which keeps (T1)–(T3) but calibrates by permutation and applies BH, to separate the effect of the data pipeline from that of the calibration.
Trajectories , history length , window , bins , minimum count , cap , level , permutations . Partition of active keys. Quantile edges. Fit equal-frequency edges of over all . Key histories. For each compute the key from the binned last observations (and discrete actions). Accumulate continuations. ; keep keys with ; number of kept keys. MMD tests. For each pair : subsample at most vectors per side, compute Eq. (1) with the median-heuristic bandwidth and the permutation -value. Multiplicity. Apply BH at level to all -values; reject “different”. Union–find. Merge every non-rejected pair; .
Theoretical Analysis
Throughout, ( for the RBF kernel).
Lemma 1 (MMD is dominated by total variation). For any bounded kernel and any , . Consequently, if is -Lipschitz in TV with respect to the sup-norm on histories and bin has diameter in observation space, then for every .
Lemma 1 bounds the within-bin heterogeneity of continuation laws (proof in the appendices). Note that the relevant width is the bin’s diameter in observation space, not .
Theorem 1 (Recovery of the bin-level quotient, variant (T)). *Run variant (T) (not procedure (P)) on i.i.d. trajectories of common length . Edges and kernel are fitted on a design half of trajectories; condition on it, so the active bins (), their pooled laws and are fixed. Let be the pooled mass of bin and , and let
Use per_traj sampling on the other half, per-pair level , and per-pair independent random halves of the test trajectories for the two sides. If
then with probability at least . If the bins come from quantile edges, then with probability at least once , so suffices for probability over the design and test halves together.*
The proof (appendices, Section A) combines the deviation bound for the biased MMD statistic (Gretton et al. 2012, Thm. 7), the null threshold of Gretton et al. (2012, Cor. 9), a union bound over the at most pairs, and a Chernoff bound on the number of test trajectories whose single window lands in each bin; the constants are explicit. The earlier version of this theorem assumed that i.i.d. samples per bin of the pooled law were available from overlapping windows under -mixing; the per_bin sampler that the earlier (T) experiments used does not sample , and that thinning-based count is withdrawn. The term is an artefact of the crude DKW argument for the quantile edges, and the sample budget now has no or dependence: it uses one window per trajectory.
Discussion.
Compared with the finite-alphabet bound of the companion paper, the factor is gone: the biased MMD deviates from its population value by regardless of or of any alphabet (Gretton et al. 2012, Thm. 7). One factor of is also absent because quantile bins have (nearly) equal mass by construction, so no term is needed to guarantee that every history is observed often enough. The remaining dependence on is linear: each trajectory supplies one window, so a bin receives about samples per side. This is the price of sampling the pooled law exactly; (P) uses many more (dependent) windows.
Remark 2 (Dimension enters through ). Bound Eq. (2) has no explicit dependence on , but does: for a fixed alternative and a median-heuristic RBF kernel the MMD separation typically shrinks as grows (Ramdas et al. 2015). The bound should therefore be read as alphabet-free, not as a claim that continuous quotient learning is easy in high dimension.
Which guarantee applies to which procedure
Procedure (P), which produced Tables 1–8, is not covered by Theorem 1. It differs from (T) in four ways: permutation instead of analytic calibration, a data-selected per-pair bandwidth, BH across tests that share samples, and many overlapping windows per trajectory instead of one. We did not extend the theorem to (P). What can and cannot be said:
-
Permutation calibration and data-selected bandwidth (type-I side only). If the two samples of a pair are exchangeable under and the bandwidth is a function of the pooled sample that is invariant to the permutation, the permutation -value is valid, . A per-pair level with and a union bound (no independence needed) then gives: with probability no pair of bins with equal laws is split. This is a no-spurious-split statement; it gives no power guarantee, and the implementation’s median heuristic uses a fixed-index subsample of at most 500 pooled points, which is permutation-invariant only if the pooled sample has at most 500 points (with per side it usually has 600), so even this is only approximately true for (P).
-
BH over shared-sample tests. We have no proof that the pairwise MMD -values are PRDS, which BH requires; tests on pairs and share the sample. We therefore make no FDR claim for (P). Remark 3 explains why BH can reject everything when is small.
-
Overlapping windows. Windows of one trajectory are dependent, so exchangeability fails; (P) is analysed under no mixing model.
-
Power. The detection guarantee of Theorem 1 is proved for the analytic threshold only.
Consequently, all positive claims about (P) in Section 5 are empirical, and the guarantee of Theorem 1 is empirically checked on the (T) runs of Section 5.5, where the analytic threshold is conservative: at the sample sizes of our main experiments it cannot resolve the Gaussian-noise classes: with the sampler the theorem covers, (T) returns on Tiger and on every GaussMix run at (Tables 4–5).
Remark 3 (Permutation floor and BH). With permutations no -value is below ; family-wise control at would need . BH at level is what (P) runs; with all -values at the floor it rejects every pair.
Proposition 1 (When the bin-level quotient equals the latent quotient). Assume finite latent index with class map and distinct class laws , one-step keys (), class masses , and let be the (atomless) marginal CDF of the binning scalar ; population bins are the cells of mass of .
-
Separated supports. The supports of under the classes are intervals with gaps between consecutive intervals.
-
Alignment. For every , is a multiple of .
-
Under (a), . If moreover and every class has mass (hence ), then every class owns a pure bin, at most bins straddle a class boundary, and . Without a mass condition no lower bound holds (e.g. forces ).
-
Under (a) and (b), every population bin is pure, is a positive multiple of (so and follow), and is the class partition, .
-
Under (a) and (b), consider variant (T) with i.i.d. samples per bin, and . The empirical bins are in general not pure at any finite : the empirical edges differ from the population edges by , so every empirical bin contains a foreign-class fraction that is . This fraction vanishes as but is not zero, and the estimator returns the class partition with probability because the induced MMD contamination is of smaller order than the test threshold.
Under (a) alone, (iii) holds with in place of the class partition.
The proof is in the appendices (Section B), which also states precisely what is not proved: an earlier version asserted that every non-empty bin is pure with probability ; what the argument establishes is vanishing contamination, and (i) is the statement that needs the conditions on and on the class masses. Condition (b) holds for the K-cycle and Gaussian-mixture environments with (equal class masses) and for Tiger with any even (symmetric marginal); it fails for generic , which is why over-provisioning can create extra classes. Condition (a) does not hold for Gaussian noise; the corrected version of the earlier “sub-Gaussian ” statement is that the cross-contamination fraction of a boundary bin converges to a positive constant, so the boundary bin’s law is a permanent mixture and would eventually be split by a consistent test.
Remark 4 (Resolution and the sample cap). With samples per side and level , the null threshold is (Gretton et al. 2012, Cor. 9); pairs whose MMD gap is well below are (with high probability) merged and pairs whose gap exceeds are split. Hence the finite-sample output is the quotient of at resolution . Because Algorithm 1 caps each side at (300 in all experiments) the resolution does not sharpen indefinitely with ; this is why, in Gaussian-noise environments, the estimator returns the latent index stably across at (within-class bin gaps stay below ) while returning up to classes when is over-provisioned (Table 2). Combined with Lemma 1, the latent index is returned whenever , where is the smallest gap between distinct latent class laws.
Experiments
All configurations, seeds and result files are listed in the appendices (Section C) and shipped with the code; unless stated otherwise , , , , RBF kernel with the median heuristic, and BH correction, i.e. procedure (P) of Section 3, which Theorem 1 does not cover; Section 5.5 reports the runs under the analysed variant (T).
Environments
Tiger (Gaussian observations).
The classic Tiger POMDP (Kaelbling et al. 1998): two hidden states, three discrete actions (listen, open-left, open-right; an open action re-draws the state uniformly), scalar observation with , uniform-random policy, , , , . Latent index .
Continuous K-cycle.
latent phases advanced deterministically, (equally spaced means, heavy overlap for large : adjacent means are apart at ), single null action, , ( for ), , , . Latent index .
Gaussian-mixture random walk.
states, with (uniform stationary law), , , , , (the shipped script’s default and the value in Appendix C; the previous version said here; the result file does not record , but re-running at both levels gives identical , see Appendix E); run with and with auto-selected by silhouette. Latent index (boundary states have two successors, interior states three).
PO-HalfCheetah / PO-Ant.
Gymnasium HalfCheetah-v4 (17-dim observation; we zero the 8 joint positions and the root- velocity, keeping 8 velocity coordinates) and Ant-v4 (27-dim observation; we keep the 14 velocity coordinates), zero-torque (passive) policy, plus HalfCheetah under a sinusoidal locomotion policy; , , (or auto), , . No ground-truth index exists; see Section 5.7.
Dec-Tiger and 4-state chain Dec-POMDPs.
Two agents observe the same latent state through independent Gaussian channels (); listen-only policy; , , , , , . Dec-Tiger: . Chain: 4-state random walk, . For each agent we fit a quotient, label every step by its class, and compute the plug-in ; the analytical value uses the sign/interval classification of the noiseless bin structure (appendices, Section C.5). We use as a proxy for the of Nixon (2026a); the two coincide when observations are conditionally independent given the state.
Ground-truth recovery at the aligned resolution
| Environment | Seeds | std | Correct | |
|---|---|---|---|---|
| Tiger (, ) | 3000 | 10 | 10/10 | |
| K-cycle | 3000 | 10 | 10/10 | |
| K-cycle | 3000 | 10 | 10/10 | |
| K-cycle | 3000 | 10 | 10/10 | |
| K-cycle | 3000 | 10 | 10/10 | |
| K-cycle | 3000 | 10 | 10/10 | |
| K-cycle | 5000 | 10 | 10/10 | |
| GaussMix | 2000 | 5 | 5/5 | |
| GaussMix | 2000 | 5 | 5/5 | |
| GaussMix | 2000 | 5 | 5/5 | |
| GaussMix | 2000 | 5 | 5/5 |
Recovery of the latent index at the aligned resolution . std over seeds; “Correct” counts seeds with . For GaussMix the silhouette auto-selection chose on every seed and gave identical results; for K-cycle it does not (Table 3). Note that with the estimator cannot return more than classes, so this table certifies the absence of spurious merges only; Table 2 probes over-splitting.
Table 1 shows exact recovery on all 90 runs when equals the latent index (Tiger uses , which is safe because the same-side bins have posteriors that differ by less than the detection scale at ; see below). Tiger is also correct on 3/3 seeds at every in the ablation runs.
Sensitivity to and
| K-cycle | (per seed) | Tiger | (per seed) | ||
|---|---|---|---|---|---|
| 4 | 2, 2, 2, 2, 2 | 1000 | 2, 2, 2, 2, 2 | ||
| 6 | 3, 4, 3, 4, 4 | 3000 | 2, 2, 2, 2, 2 | ||
| 8 | 8, 8, 8, 8, 8 | 10000 | 2, 2, 2, 2, 2 | ||
| 10 | 10, 10, 10, 10, 10 | ||||
| 16 | 16, 16, 16, 16, 16 | ||||
| 32 | 12, 15, 10, 8, 15 |
Resolution effects. Left: K-cycle with over-provisioned ( seeds; as in Table 1). Right: Tiger with as grows ( seeds). Over-provisioning produces extra classes for (adjacent half-class bins have detectably different posteriors) and chaining-induced under-splitting at , whereas at fixed the output is stable in because the per-test cap fixes the detection scale.
Table 2 is the honest counterpart of Table 1: when is doubled the K-cycle estimate moves from towards ( on every seed for and on 3/5 seeds for ), and at , where the 32 bins are only half a class apart, single-linkage chaining merges some neighbours and the estimate falls below with high variance (, ), confirming that in Gaussian-noise environments the bin-level quotient is finer than the latent one and that the estimator recovers the latent index only at the aligned resolution or when a bin-count selector (silhouette selects on GaussMix, on Tiger and on K-cycle only for ; Section 5.4) supplies it. Tiger’s estimate is at every tested; the same-side bins’ posteriors differ by at most in posterior weight ( for the four left-side bins), below the detection scale at .
Partition-level accuracy without knowledge of
Table 1 counts at , which uses the answer. We therefore score the partition: the adjusted Rand index (ARI) between the estimated class of every step (the class of its bin) and the latent state at that step, over all steps with a full continuation window (5 seeds per cell, same configurations as Table 1, procedure (P)). Two selection rules for do not use : silhouette auto-selection (Algorithm 2, , observations only) and the package default ; is shown as a reference. Because a bin is a noisy readout of the latent state, no partition of the bins can reach ARI ; the last column gives the best ARI over all merges of the bins (each bin mapped to its majority latent class).
| (reference) | silhouette | ||||||||
| Environment | ARI | ARI | ARI | ceiling | |||||
| Tiger | 2 | 2 | 0.91 | 2 | 2 | 0.91 | 2 | 0.91 | 0.91 |
| K-cycle | 2 | 2 | 0.98 | 2 | 2 | 0.98 | 2 | 0.98 | 0.98 |
| K-cycle | 3 | 3 | 0.82 | 3 | 3 | 0.82 | 5 | 0.62 | 0.74 |
| K-cycle | 4 | 4 | 0.64 | 2 | 2 | 0.41 | 8 | 0.40 | 0.64 |
| K-cycle | 5 | 5 | 0.50 | 2 | 2 | 0.31 | 8 | 0.38 | 0.49 |
| K-cycle | 8 | 8 | 0.31 | 2 | 2 | 0.19 | 8 | 0.31 | 0.31 |
| GaussMix | 3 | 3 | 0.98 | 3 | 3 | 0.98 | 5–6 | 0.63 | 0.78 |
| GaussMix | 4 | 4 | 0.97 | 4 | 4 | 0.97 | 4–5 | 0.94 | 0.97 |
| GaussMix | 5 | 5 | 0.97 | 5 | 5 | 0.97 | 7–8 | 0.56 | 0.69 |
| GaussMix | 6 | 6 | 0.96 | 6 | 6 | 0.96 | 8 | 0.60 | 0.64 |
Partition accuracy of procedure (P) (ARI vs. latent state; is the range over 5 seeds; mean ARI). “Ceiling” is the best ARI attainable by merging the bins. Source: partition_accuracy.csv.
Three observations. (i) Selecting without is the weak point. Silhouette recovers the latent index and partition on Tiger, K-cycle and all GaussMix runs, but selects on K-cycle for (, ARI –); the statement in the previous version that silhouette chose on K-cycle had no result file behind it and is withdrawn. Fixed recovers only Tiger and ; elsewhere it over-splits ( at , at , – on GaussMix). (ii) At the aligned resolution , is accompanied by an ARI equal to the best attainable by any merging of those bins on every environment, i.e. the merge step is correct, but the ARI itself is far below 1 when noise is large ( at , where adjacent means are apart): ARI measures bin quality and merging jointly.
Experiments under the analysed variant (T)
Theorem 1 covers variant (T) with the per_traj sampler (Section 3): bins and bandwidth from a design half, one window per test trajectory (a uniformly chosen time, so the sampled law is exactly the pooled bin law ), independent sides, analytic threshold with . We re-ran the ground-truth experiments with it (5 seeds per cell, same data as Table 3) and, as a labelled ablation, with the per_bin sampler used in the previous version of this paper (one visit per trajectory and bin; not covered by the theorem, since it samples the trajectory-weighted law ).
| Environment | (P) | (P) ARI | (T-pt) | (T-pt) ARI | (T-pb) | (T-pb) ARI | |
|---|---|---|---|---|---|---|---|
| Tiger | 2 | 2 | 0.91 | 1 | 0.00 | 1 | 0.00 |
| K-cycle | 2 | 2 | 0.98 | 2 | 0.98 | 2 | 0.98 |
| K-cycle | 3 | 3 | 0.82 | 3 | 0.82 | 3 | 0.82 |
| K-cycle | 4 | 4 | 0.64 | 3–4 | 0.61 | 4 | 0.64 |
| K-cycle | 5 | 5 | 0.50 | 3 | 0.31 | 5 | 0.50 |
| K-cycle | 8 | 8 | 0.31 | 1 | 0.00 | 8 | 0.31 |
| GaussMix | 3 | 3 | 0.98 | 1 | 0.00 | 3 | 0.98 |
| GaussMix | 4 | 4 | 0.97 | 1 | 0.00 | 4 | 0.96 |
| GaussMix | 5 | 5 | 0.97 | 1 | 0.00 | 5 | 0.95 |
| GaussMix | 6 | 6 | 0.96 | 1 | 0.00 | 5–6 | 0.84 |
Procedure (P) versus variant (T) at : range of over 5 seeds and mean ARI. (T-pt) is the analysed variant (per_traj, covered by Theorem 1); (T-pb) is the per_bin ablation (not covered). Sources: partition_accuracy.csv (P, T-pb), partition_accuracy_pertraj.csv (T-pt).
| Environment | (P) | (P) ARI | (T-pt) | (T-pt) ARI | (T-pb) | (T-pb) ARI | |
|---|---|---|---|---|---|---|---|
| Tiger | 2 | 2 | 0.91 | 1 | 0.00 | 1 | 0.00 |
| K-cycle | 2 | 2 | 0.98 | 2 | 0.98 | 2 | 0.98 |
| K-cycle | 3 | 5 | 0.62 | 1–2 | 0.06 | 5 | 0.62 |
| K-cycle | 4 | 8 | 0.40 | 1–3 | 0.14 | 4–5 | 0.63 |
| K-cycle | 5 | 8 | 0.38 | 1 | 0.00 | 7–8 | 0.40 |
| K-cycle | 8 | 8 | 0.31 | 1 | 0.00 | 8 | 0.31 |
| GaussMix | 3 | 5–6 | 0.63 | 1 | 0.00 | 1 | 0.00 |
| GaussMix | 4 | 4–5 | 0.94 | 1 | 0.00 | 3–4 | 0.91 |
| GaussMix | 5 | 7–8 | 0.56 | 1 | 0.00 | 1–2 | 0.27 |
| GaussMix | 6 | 8 | 0.60 | 1 | 0.00 | 2–3 | 0.34 |
Procedure (P) versus variant (T) at : range of over 5 seeds and mean ARI. (T-pt) is the analysed variant (per_traj, covered by Theorem 1); (T-pb) is the per_bin ablation (not covered). Sources: partition_accuracy.csv (P, T-pb), partition_accuracy_pertraj.csv (T-pt).
Findings.
(i) With the sampler that Theorem 1 covers, (T-pt) is far more conservative than (P) at the experiments’ sample sizes (–): at it matches (P) on K-cycle only, loses classes on , and returns (everything merged) on Tiger, K-cycle and all GaussMix runs. The reason is the budget: one window per trajectory leaves samples per side (median : on Tiger, – on GaussMix , on K-cycle ), and condition Eq. (2) requires , which is orders of magnitude larger (for , , and , and ). So the earlier statement that (T) matches (P) at on K-cycle and GaussMix does not survive: it held for the per_bin sampler (T-pb), which is not covered by the theorem. (ii) Scaling the sample size (T_traj_scaling.csv, per_traj, 5 seeds, ): (T-pt) returns on all 5 seeds at for GaussMix (ARI –) and K-cycle (ARI equal to the ARI of (P)), and at for K-cycle (ARI , as (P)). At it over-splits as grows when bins are not aligned (K-cycle : at ; : – at and at ), but at it merges everything until on GaussMix (at ) and until on K-cycle ( at ). Tiger (tiger_T_scaling_pertraj.csv, ): on all 5 seeds at for both (median threshold at and at , above the largest observed statistic, and ); with ARI on all seeds at from , and at only at (it still merges at ). So (T-pt) resolves Tiger with about – the trajectories that (P) needs. (iii) Permutation calibration and BH on (T)’s per_traj pipeline (P: fixed bins and kernel, one window per trajectory, independent sides; partition_accuracy_pertraj.csv) matches (P) at on Tiger, K-cycle and GaussMix . At it keeps (P)’s over-splitting on K-cycle (, ARI versus ) and GaussMix (–, as (P)), but it merges Tiger ( at where (P) returns ), since it has only samples per side. At on K-cycle (partition_accuracy_2n.csv) P over-splits for ( and , as (P): and ) but not for (– versus for (P)). So the over-splitting of (P) is attributable to permutation/BH calibration, rather than to overlapping windows or the per-pair bandwidth, only in the cases tested: Tiger, K-cycle and GaussMix at ; K-cycle and GaussMix at ; K-cycle at (5 seeds each). It is not reproduced for Tiger at (P merges, ) or K-cycle at , and the other environments were not run with P; we make no attribution there. (iv) Dec-Tiger: we use per_traj sampling (one random time per trajectory, so the sampled law is exactly the pooled bin law; the state is constant within an episode, and the per_bin scheme would re-weight the bins’ laws toward rare visits), , seeds – (dec_tiger_variant_t.csv). Symmetric : (T) returns on 10/10 seeds at (, mean absolute error against ) and at (, mean absolute error ): no agent-A over-splitting, unlike (P) at (5/10 seeds, Table 10). Asymmetric : on all seeds, but agent B () collapses to one class at ( versus ) and returns – classes at (, mean absolute error ). Permutation+BH on the same data pipeline (P) over-splits agent A on 2/10 (symmetric) and 3/10 (asymmetric) seeds at , and at on all 10 of 10 seeds in both configurations (seeds – in dec_tiger_variant_t.csv, seeds – in dec_tiger_pfix_N20000_seeds3_9.csv): symmetric on 9/10 seeds and on 1/10 ( against on seeds –); asymmetric , on all 10 seeds. The over-splitting of under (P) is thus a property of the permutation/BH calibration on this environment, consistent with its resolving within-class bin differences ever more finely as grows (the bin-level quotient is generically finer than the latent one), while (T) stays at the latent index but is conservative. Reading. The Section 5 results for (P) are therefore not guarantees: the guaranteed procedure is far more conservative and needs between roughly and more trajectories than (P) on the environments tested (Tiger: at and at , against for (P)). We report both because (P) is the procedure that is practical at .
Head-to-head comparison with related methods
We compare partition accuracy (ARI against the latent state, 5 seeds, the same trajectories for every method, no method given ) with re-implementations of the closest methods (details and what is and is not faithful in Appendix C.6): an RKHS -machine (Brodu and Crutchfield 2022) (regularised conditional mean embeddings of the continuation given the present observation, similarity matrix, diffusion-map coordinates, DBSCAN or -means/silhouette); causal-state learning (Zhang et al. 2019) (a GRU encoder over the full history trained to predict the next observation and reward, -means discretisation); a Ferns bisimulation metric (Ferns et al. 2004, 2011) on the empirical chain over the quantile bins; DBC (Zhang et al. 2021) with its standard objective (bisimulation loss with a learned Gaussian latent dynamics model, -means/silhouette); and multivariate between bin-conditional continuation vectors (exact optimal transport), with merge thresholds or silhouette-selected average linkage. The previous version’s Wasserstein baseline (first-coordinate projections) and DBC baseline (a custom Wasserstein-matching objective) are replaced; their old rows are removed from Table 7. Bisimulation methods need a reward: Tiger uses its native reward and the reward-free K-cycle/GaussMix use the next observation as an emission reward, which is our choice.
| Method | Tiger | K2 | K4 | K8 | G3 | G5 |
|---|---|---|---|---|---|---|
| MMD-quotient (P), silhouette | 0.91 (2) | 0.98 (2) | 0.41 (2) | 0.19 (2) | 0.98 (3) | 0.97 (5) |
| MMD-quotient (P), | 0.91 (2) | 0.98 (2) | 0.40 (8) | 0.31 (8) | 0.63 (5–6) | 0.56 (7–8) |
| RKHS -machine, DBSCAN | 0.00 (1) | 0.97 (2–3) | 0.00 (1) | 0.00 (1) | 0.55 (1–3) | 0.08 (1–2) |
| RKHS -machine, -means/sil. | 0.91 (2) | 0.97 (2) | 0.57 (3–6) | 0.20 (2–10) | 0.99 (3) | 0.99 (5) |
| Causal-state (GRU, full history) + -means | 0.93 (2) | 1.00 (2) | 0.92 (5) | 0.86 (10–12) | 0.94 (3–4) | 0.35 (2) |
| Ferns bisimulation metric, | 0.91 (2) | 0.98 (2) | 0.64 (4) | 0.12 (2) | 0.78 (3) | 0.56 (3) |
| DBC objective + -means | 0.16 (11–12) | 0.98 (2) | 0.60 (4–6) | 0.29 (7–12) | 0.85 (4–5) | 0.98 (5–6) |
| (multivariate), silhouette, | 0.91 (2) | 0.98 (2) | 0.61 (3–4) | 0.20 (2–5) | 0.72 (2–3) | 0.56 (3) |
| , , | 0.23 (8) | 0.98 (2) | 0.46 (7–8) | 0.31 (8) | 0.39 (7–8) | 0.55 (8) |
| , , | 0.23 (8) | 0.98 (2) | 0.58 (3–4) | 0.13 (3–4) | 0.64 (5) | 0.55 (8) |
| , , | 0.91 (2) | 0.98 (2) | 0.00 (1) | 0.00 (1) | 0.67 (2–3) | 0.63 (5–6) |
| , , | 0.00 (1) | 0.00 (1) | 0.00 (1) | 0.00 (1) | 0.00 (1) | 0.56 (3) |
Mean ARI over 5 seeds (range of in brackets) against the latent state. K = K-cycle with , G = GaussMix with . Latent indices: Tiger 2, K2 2, K4 4, K8 8, G3 3, G5 5. ARI is bounded above by a bin-readout ceiling for the binned methods (Table 3); the GRU conditions on the full history and is not. Source: partition_baselines.csv, partition_accuracy.csv.
What the comparison shows.
No method is uniformly best, and our estimator is not the best baseline on the hardest environments. (i) The GRU causal-state learner, which sees the whole history, is the best method on K-cycle ( at , at , above the one-step-key ceiling) because the phase is determined by the history; its -means step over-counts classes ( at , – at ) and it fails on the GaussMix random walk with (, ). (ii) The RKHS -machine with -means/silhouette is competitive with ours where classes are well separated (Tiger , K2 , G3 , G5 with the correct count) and weaker on K4/K8; with DBSCAN at our scaling of its threshold it returns one cluster on Tiger, K4, K8 — the threshold is exactly the kind of unvalidated scale parameter that a calibrated test avoids, but we also did not tune it. (iii) A Ferns metric on the bins and silhouette-clustered at do better than our estimator at the same on K4 ( and versus ) and tie on Tiger, but fail at K8 (, versus ). (iv) No single threshold works: is right on Tiger and K2 and collapses K4/K8 to one class; over-splits Tiger. (v) DBC fails on Tiger (–, ) and is good on K2 and G5 (, –). The previous statement that permutation calibration is “the only method correct on both” environments is withdrawn: with a validated count and chosen without , our estimator is correct on Tiger, K2, K3 and GaussMix, and other methods match or beat it on specific environments. What distinguishes the estimator is not accuracy but form: it outputs a partition together with a calibrated test decision for each merge, a stated target (), and (for variant (T)) a sample bound; of the compared methods, none states a target or sample bound, and test-based merging is not unique to us (Mixed LICORS permits it).
| Method | Tiger | K-cycle |
|---|---|---|
| G-test 8-bin | 2/3 | 0/3 () |
| G-test 3-bin | 0/3 | 0/3 () |
G-test baselines of the companion paper (finite-alphabet estimator after quantile discretisation of the continuation), counts of seeds with (from ablation_sample_efficiency.csv; Tiger: , 3 seeds; K-cycle: , , , 3 seeds). The Wasserstein and DBC rows of the previous version are superseded by Table 6.
PO-MuJoCo: quotient at a chosen resolution
| Environment | Policy | ||
|---|---|---|---|
| PO-HalfCheetah | passive | 8 | |
| PO-HalfCheetah | sinusoidal | 8 | |
| PO-Ant | passive | 8 | |
| PO-HalfCheetah | passive | auto (3) |
PO-MuJoCo (5 seeds each). With every one of the 28 bin pairs is rejected on every seed, so ; this indicates that passive/locomotion dynamics are velocity-dependent at the resolution of the bins, not that a latent 8-class structure has been discovered. With silhouette auto-selection ( sentinel) HalfCheetah gives and (3 seeds).
Because , Table 8 does not certify a quotient size; it certifies that the eight velocity-norm bins have pairwise distinguishable continuation laws. Sorted by mean velocity -norm the eight HalfCheetah classes span 0.005–2.40 (a range) and their discounted-return distributions differ (Kruskal–Wallis over time steps, ; appendices, Section D; we do not read the accompanying -value as evidence because time steps within a trajectory are strongly dependent).
Do the classes carry “multi-step information” beyond speed? No.
The previous version claimed that a linear predictor on the classes (, in-sample) beat a linear predictor on instantaneous speed () and concluded that the quotient retains multi-step information beyond speed. That comparison is not valid: the class of a step is a function of the binned velocity norm alone (, ), so any predictor of the classes is a piecewise-constant function of speed, and a nonlinear function of speed can match it; the only thing the comparison showed was that the return is a nonlinear function of speed. We therefore re-did it with a nonlinear speed baseline and trajectory-level train/test splits: 5-fold GroupKFold over trajectories, the quotient (quantile edges and classes) refitted on training trajectories only, discounted return-to-go () as target, pooled out-of-fold with a trajectory-level bootstrap (2000 resamples) for 95% intervals, and three collection seeds (1000 trajectories of 100 steps each; mean over seeds in Table 9, file halfcheetah_groupsplit_value.csv).
| Policy | Predictor | 95% CI | vs speed (trees) | ||
|---|---|---|---|---|---|
| sinusoidal | auto | Quotient classes (one-hot) | 0.103 | [0.085, 0.119] | -0.198 [-0.211, -0.186] |
| sinusoidal | auto | Speed , linear | 0.084 | [0.080, 0.086] | -0.218 [-0.228, -0.208] |
| sinusoidal | auto | Speed , gradient-boosted trees | 0.302 | [0.289, 0.312] | +0.000 [+0.000, +0.000] |
| sinusoidal | auto | Classes + speed, trees | 0.302 | [0.289, 0.312] | +0.000 [+0.000, +0.000] |
| sinusoidal | auto | All 8 velocities, trees | 0.893 | [0.889, 0.896] | +0.591 [+0.582, +0.602] |
| sinusoidal | 8 | Quotient classes (one-hot) | 0.256 | [0.244, 0.267] | -0.045 [-0.050, -0.041] |
| sinusoidal | 8 | Speed , linear | 0.084 | [0.080, 0.086] | -0.218 [-0.228, -0.208] |
| sinusoidal | 8 | Speed , gradient-boosted trees | 0.302 | [0.289, 0.312] | +0.000 [+0.000, +0.000] |
| sinusoidal | 8 | Classes + speed, trees | 0.302 | [0.289, 0.312] | +0.000 [-0.000, +0.000] |
| sinusoidal | 8 | All 8 velocities, trees | 0.893 | [0.889, 0.896] | +0.591 [+0.582, +0.602] |
| passive | auto | Quotient classes (one-hot) | 0.001 | [0.000, 0.002] | -0.118 [-0.137, -0.098] |
| passive | auto | Speed , linear | 0.065 | [0.050, 0.079] | -0.055 [-0.061, -0.047] |
| passive | auto | Speed , gradient-boosted trees | 0.119 | [0.099, 0.138] | +0.000 [+0.000, +0.000] |
| passive | auto | Classes + speed, trees | 0.119 | [0.099, 0.138] | +0.000 [-0.000, +0.000] |
| passive | auto | All 8 velocities, trees | 0.360 | [0.329, 0.389] | +0.241 [+0.223, +0.258] |
| passive | 8 | Quotient classes (one-hot) | 0.011 | [0.006, 0.015] | -0.109 [-0.124, -0.092] |
| passive | 8 | Speed , linear | 0.065 | [0.050, 0.079] | -0.055 [-0.061, -0.047] |
| passive | 8 | Speed , gradient-boosted trees | 0.119 | [0.099, 0.138] | +0.000 [+0.000, +0.000] |
| passive | 8 | Classes + speed, trees | 0.119 | [0.099, 0.138] | +0.000 [-0.000, +0.000] |
| passive | 8 | All 8 velocities, trees | 0.360 | [0.329, 0.389] | +0.241 [+0.223, +0.258] |
Held-out value prediction on PO-HalfCheetah (trajectory-level 5-fold split; out-of-fold , mean over 3 collection seeds, mean of the bootstrap 95% interval endpoints; last column is the difference to the gradient-boosted speed baseline). “auto”: silhouette-selected (2–3 classes per fold); “8”: .
Out of fold, the quotient classes are worse than a nonlinear function of speed under both policies and both rules (differences with intervals that exclude ), adding the classes to the speed trees changes nothing (difference ), and the classes beat the linear speed predictor only under the sinusoidal policy ( with auto- and with , versus ; under the passive policy they are below it), which is again nonlinearity in speed. Trees on all eight observed velocities reach (sinusoidal) and (passive), so most of the predictable return lives in directions the scalar norm discards. We withdraw the claim that the quotient retains multi-step information beyond speed; what the data support is that the classes are a coarse, return-informative discretisation of speed. An earlier draft compared against a discretised G-test baseline said to saturate at 64 classes; no result file for that baseline exists and we do not report it.
End-to-end estimation
| meanstd (all) | median (all) | clean seeds | meanstd (clean) | / per seed | |||
|---|---|---|---|---|---|---|---|
| 0.05 | 0.262 | 0.514 | 5/10 | / | |||
| 0.05 | 0.631 | 0.559 | 9/10 | 2 (9), 3 (1) / 4 (10) | |||
| 0.01 | 0.262 | 0.271 | 9/10 | 2 (9), 3 (1) / | |||
| 0.01 | 0.631 | 0.559 | 10/10 | 2 (10) / 4 (10) |
Dec-Tiger , all 10 seeds per condition. “Clean” seeds are those on which agent A recovers (over-splitting inflates the conditional entropy; over-splitting does not). , (main runs) and , (sensitivity).
Dec-Tiger.
On the clean seeds the estimate is within (symmetric) and (asymmetric; the shortfall is consistent with the downward bias of plug-in entropy and with agent B’s four-way over-split, see below) of the analytical value, and the asymmetric/symmetric ratio tracks the analytical . However, at agent A over-splits on 5/10 symmetric seeds, and every such seed roughly triples the estimate ( bits). The mechanism is the resolution effect of Remark 4: with the two same-side bins have posteriors that differ enough to be separated at permutations (-value floor ; with only 6 pairs BH rejects everything as soon as all six -values hit the floor). Agent B in the asymmetric case () always returns four classes for the same reason—its posterior varies smoothly across the four bins—which is harmless for . Lowering to at makes rejection impossible (the floor equals ) and collapses every quotient to one class; at with agent A over-splits on only 1/10 symmetric seeds (all-seed median error , clean-seed mean ) and on 0/10 asymmetric seeds (, ). The multiple-testing level and the permutation budget are therefore first-order design choices for the pipeline, not nuisance parameters.
Noise sweep on two environments.
Figure 1 sweeps with fixed (5 seeds per level). On the 4-state chain, on every run and the estimate tracks the analytical curve with mean relative error over the levels where agent B’s quotient is non-trivial (); at agent B collapses to one class and the estimate equals bits exactly, which happens to be within of the analytical but is not evidence of tracking (overall mean ). On Dec-Tiger the analytical value is essentially for (both agents classify perfectly) while the estimate is – bits: each agent’s empirical median edge falls inside the majority cluster whenever the sample is not exactly balanced, so a sliver of of the steps is labelled by the wrong side—the finite- edge misalignment of Proposition 1 (the two agents’ slivers differ, so the labels disagree there); at the median relative errors are , and (mean absolute errors , , bits). The estimate is monotone non-decreasing in on both environments.

(red, meanstd over 5 seeds) vs. analytical (blue) as increases with . Left: Dec-Tiger. Right: 4-state chain (agent B’s quotient is trivial at , where the estimate is bits).
Limitations
-
The guarantee does not cover the procedure that is mostly run. Theorem 1 is about variant (T); the experiments of Sections 5.4–5.7 use procedure (P), for which we have only the partial type-I statement of Section 4.1. Under (T) the analytic threshold is far more conservative and cannot resolve the Gaussian-noise classes at the main sample sizes (Section 5.5).
-
The target is resolution-dependent and must be chosen. In continuous-observation POMDPs the exact history quotient is infinite; the estimator returns the bin-level quotient at the detection scale of the test. Latent indices are recovered when is aligned with the class structure; with chosen without (silhouette or fixed ) recovery fails on several environments (Section 5.4), and the PO-MuJoCo results certify separability, not a class count.
-
One-step keys. All experiments use ; environments in which distinct latent classes share the same observation marginal require and keys, and we have not evaluated that regime.
-
Permutation floor and multiplicity. With permutations no -value is below ; family-wise control needs , and BH with all -values at the floor rejects everything. The Dec-Tiger over-splits are a direct consequence.
-
Single-linkage merging. A single missed split merges two whole classes; a chain of adjacent bins with small pairwise gaps can be merged transitively (observed at , : ).
-
proxy. is inflated by over-splitting agent A and is a proxy for the rate of Nixon (2026a) only under conditional independence of the observations given the state.
-
Alphabet-free, not dimension-free. See Remark 2.
-
Observation noise caps partition accuracy. Bins are noisy readouts of the latent state, so the adjusted Rand index of any partition of the bins is bounded (the “ceiling” column of Table 3); ARI measures the combination of bin quality and merging.
-
Baselines are re-implementations. The RKHS -machine, causal-state and DBC baselines follow the cited estimators but are our code, in the one-observation-past setting; the reward proxy for DBC and the Ferns metric on reward-free environments is a choice of ours (Section 5.6).
Conclusion
We studied Myhill–Nerode quotient learning for continuous observation–action spaces with a kernel-MMD two-sample test on quantile-binned histories. The idea of clustering predictive distributions with MMD is not new (Brodu and Crutchfield 2022); our contribution is a finite-sample formulation with an explicit target (the bin-level quotient at the test’s resolution), an alphabet-free bound for an analysed variant, and an empirical characterisation of when the implemented procedure does and does not recover the latent partition. Directions: bin-count selection with statistical guarantees (silhouette and fixed both fail on some environments), a guarantee for the permutation/BH procedure, longer history keys (), and a multi-agent estimator robust to over-splitting.
Proofs of Lemma 1 and Theorem 1
Throughout, and, as required by Gretton et al. (2012, Thm. 7), ; the RBF kernel satisfies both with . For a distribution let be its mean embedding, so that .
Lemma 1: MMD is dominated by total variation
Proof. For , , hence
For the second claim, where is the conditional law of the history given the bin, so (Bochner integral; the embedding is bounded) and
◻
Two facts about the biased MMD statistic
Let and be independent and let be the square root of the biased statistic (Eq. (1) of the main paper, ).
For every , .
If then, for every , with .
Per-pair power
Lemma 2 (Per-pair decision). *Fix and decide “different” iff . (i) If the decision is wrong with probability at most . (ii) If and
the decision is wrong with probability at most .*
Proof. (i) is Fact in Appendix A.2. For (ii) put , so that . By Fact in Appendix A.2, with probability at least , , and the decision is correct as soon as , i.e.
Using the right-hand side squared is at most , and Eq. (3) guarantees exceeds this bound. ◻
Proof of Theorem 1
Proof. Let be the set of tested pairs, . Run the decision of Lemma 2 on every pair with . With , Eq. (3) becomes , where , provided every active bin supplies at least i.i.d. samples per side from ; the next paragraph shows when the per_traj sampler does. By a union bound the probability that some pair is decided wrongly is at most . On the complementary event every same-class pair (in ) is merged and no cross-class pair is merged, so the connected components of the union–find graph are exactly the classes of , i.e. .
Trajectory budget (variant (T), per_traj). Condition on the design half, which fixes the edges, the bandwidth, the active bins , their pooled laws and masses (the pooled mass of over ; for equal-length trajectories this is the probability that a uniformly chosen time falls in ). The test half contains trajectories; for a pair, a fresh uniformly random half of size () supplies each side. Each trajectory independently draws one uniform time and contributes the window starting at to the bin of . Hence the number of side- samples in bin is , and, given the counts, those samples are i.i.d. draws from (the conditional law of the window given that the chosen time lies in , which is the pooled bin law of Definition 4), and are independent across sides (disjoint trajectories) and of the design half. No mixing assumption is used. The chain of reasoning in the first paragraph applies with on the event , where is the right-hand side of Eq. (3) with (the code subsamples both sides to the common size uniformly without replacement, which preserves the i.i.d. property). By the multiplicative Chernoff bound . If then , so each count exceeds except with probability . Since , , so and . A union bound over at most pairs and 2 sides gives . Together with the pair-decision failure probability (which holds conditionally on the counts on ), .
Quantile edges. For the design half fits with . By the DKW argument of Section B (applied to the i.i.d. blocks ) with probability , and atomless gives , so . If , then and , hence , which holds when . Substituting in Eq. (2) and gives with total failure probability . The term comes from this crude edge-stability argument and is not claimed to be tight. If the implementation caps each side at samples (the per_traj variant used in the experiments does not), the theorem applies with , i.e. it requires . ◻
Remark 5 (Why the constants matter). With , , the per-pair requirement is . At the sample cap used in the experiments this guarantees detection only for ; the permutation test is far less conservative than the analytic threshold in practice, but the calculation shows that distinctions with small MMD gaps are not resolved at , which is the mechanism behind Remark 4 of the main paper. This calculation applies to procedure (P) and to any sampler that caps each side at ; the per_traj variant of Theorem 1 is uncapped, and its sample budget is the one derived in the proof above.
Proof of Proposition 1 (corrected)
Setting: ; a history is keyed by the bin of the scalar ; the POMDP has finite latent index with class map ; is the pooled CDF of (over trajectories and time steps) and its empirical counterpart. Empirical edges are and population edges , .
Notation.
is atomless; population bin is with (so each has mass ). A bin is pure if falls in a single with probability one on it, and straddling otherwise.
Glivenko–Cantelli.
The trajectories are i.i.d. blocks of observations, so with i.i.d. in ; the class is monotone and bounded, so almost surely, and (DKW applied to the i.i.d. ) for fixed .
Part (i): under (a) only.
Let , , be the gaps. A bin intersecting two classes must contain a whole gap in its interior, and a gap lies in the interior of at most one bin, so there are at most straddling bins. Pure bins of the same class share the law . Hence the number of distinct bin laws is at most (pure laws) (straddling bins), and trivially at most : . For the lower bound let . Class occupies the interval of -mass of length ; the bins are the cells in -mass, and any interval of length at least contains a complete cell, which is then a pure bin of class . So distinct pure laws exist ( by assumption) and . The condition forces ; if the classes are only known to satisfy (so ), a complete cell is guaranteed only when the class boundaries are cell-aligned, i.e. under (b); without either condition a class of mass can be spread over two straddling bins and the lower bound can fail. For the bound is impossible since ; this is the counterexample to the statement of the earlier version (it assumed with no condition on ).
Part (ii): under (a) and (b).
By (b) the level for an integer , and is constant on at level , so the population edge lies in . Hence every population bin is contained in one : all bins are pure and . The class masses are , positive multiples of , so (and gives ); every class owns at least one bin and is the class partition with .
Part (iii): empirical bins, what is and is not proved.
The empirical edges are . For the boundary , . The empirical edge falls in the gap only if equals exactly; otherwise it falls inside or and the number of observations of the neighbouring class on the wrong side is . Each bin holds observations, so the foreign-class fraction of every empirical bin is : this tends to zero but is, in general, non-zero at every finite (equality is a lattice event whose probability does not approach one). We therefore do not claim exact purity of empirical bins, and the earlier statement that “with probability every non-empty bin is pure” is not established by this argument and is withdrawn. By the mixture identity the MMD between an empirical bin’s law and its class law is .
Run variant (T) with i.i.d. per-bin sample size and level , . The null threshold is , so while the contamination contributes . Same-class pairs have eventually and are merged; cross-class pairs have a gap while , so by Fact in Appendix A.2 they are split with probability . A union bound over the finitely many pairs gives (as a partition of bin indices). This is the precise sense of the recovery claim: vanishing contamination below the detection threshold, not purity.
Under (a) alone, estimation.
If class masses satisfy , the lower bound of part (i) holds, the straddling bins’ mixture weights are -independent, and the recovery argument above applies verbatim to with .
Without (a): unbounded noise.
If the class-conditional laws of have overlapping supports (e.g. Gaussian noise), is strictly increasing, every bin contains observations of at least two classes with fixed positive proportions, and the bin laws are proper mixtures whose weights do not depend on . The bound for sub-Gaussian noise with class-mean gap bounds the proportion of foreign observations in a boundary bin by ; this proportion is constant in , so a consistent test eventually splits the boundary bin (an earlier version of this proposition claimed the proportion vanishes by Borel–Cantelli, which is false). Generically all bin laws are then distinct and ; the finite-sample estimate is a coarsening at the test’s resolution (Remark 4 of the main paper), which is the regime of all Gaussian-noise experiments in the paper.
The environments of the paper.
K-cycle: , classes of equal mass ; with the population edges are , which by the symmetry of the equal-weight mixture lie at the midpoints up to exponentially small tail terms, so (b) holds approximately while (a) fails ( Gaussian). Gaussian-mixture random walk: uniform stationary law, , same situation. Tiger: symmetric marginal, so the median edge is at and any even is aligned with the sign boundary. Chain and Dec-Tiger: aligned as above.
Experimental Details
Common defaults (ContinuousEstimatorConfig): history length , window , , continuation vectors per side (deterministic per-pair subsampling), RBF kernel with the median heuristic over at most 500 pooled points, permutation -value , Benjamini–Hochberg at level over all pairs. Deviations are listed per experiment.
Tiger (envs/tiger_continuous.py)
States , uniform initial state; actions ; an open action re-draws the state uniformly. Observation with (Left), (Right), . Uniform-random policy, . Latent index . Estimator: (package default), , . Main run: , 10 seeds (layer1_ground_truth/results/tiger_continuous.csv); -sensitivity: , 5 seeds (tiger_N_sensitivity.csv); ablation: , 3 seeds, , , (baselines/results/ablation_sample_efficiency.csv).
K-cycle (envs/kcycle_continuous.py)
States , deterministic increment mod , uniform initial state; observation (equally spaced means; the variant used in an earlier draft is not injective for even and is not used); single null action; . Latent index . Estimator: , , , ( for ), 10 seeds (kcycle_continuous.csv). Bin sensitivity: , 5 seeds (kcycle_bins_sensitivity.csv).
Gaussian-mixture random walk (envs/gaussian_mixture_pomdp.py)
states, , ; ; , ; , ; (manual) and auto-selected by silhouette over (Algorithm 2 below); 5 seeds (gaussian_mixture.csv).
PO-HalfCheetah and PO-Ant (layer2_mujoco/)
HalfCheetah-v4: 17-dim observation (8 joint positions, 9 joint velocities); the wrapper zeroes indices –, leaving 8 velocity coordinates. Ant-v4: 27-dim observation; indices – (14 velocities) are kept. Zero-torque policy (and, for HalfCheetah, torques per joint); , , , , , 5 seeds (halfcheetah_continuous.csv, halfcheetah_sinusoidal.csv, ant_continuous.csv); auto-bin: 3 seeds (halfcheetah_autobin.csv).
Class statistics and value prediction are in halfcheetah_class_returns.csv, halfcheetah_value_prediction.csv and halfcheetah_sinusoidal_value.csv. The binning scalar is (velocity norm). No discretised G-test baseline is reported: no result file exists for it.
Dec-Tiger and chain Dec-POMDPs (layer3_rcrit/)
Both agents run a listen-only policy so the latent state is constant within an episode; , , , , , . Dec-Tiger: ; chain: 4-state random walk (uniform stationary law), . Each agent’s quotient is fitted independently; each step is labelled by the class of its binned key; (plug-in entropies, clamped at ).
Analytical .
Dec-Tiger: (the quantile edges of a symmetric marginal put the middle edge at ), so . With ,
and . Symmetric : , bits. Asymmetric : , , bits; ratio . Sweep values (): . (An earlier draft wrote these formulas with a threshold at and ; that does not match the environment or the numbers.) Chain: agent classifies by the nearest mean, i.e. intervals with edges ; ; joint over uniform ; values bits.
Baselines (experiments/revision/baselines_lib.py)
All baselines see the same trajectories as the quotient estimator, are scored by the adjusted Rand index against the latent state, and none uses (except the “” reference rows). They are our re-implementations of the cited estimators in the same one-observation-past setting, not the authors’ code.
-
(multivariate). Bin-conditional continuation vectors (: , raw units), at most 300 per bin; exact Wasserstein-1 between equal-size subsamples via optimal assignment under the Euclidean cost. Bins are merged if with (single linkage, as for the quotient estimator), or parameter-free by average-linkage clustering of the matrix with the number of clusters chosen by silhouette.
-
Ferns bisimulation metric. The finite-MDP metric of Ferns et al. (2004) (the continuous-space metric of Ferns et al. (2011) cannot be computed from samples without an abstraction), on the empirical chain over the quantile bins: , , exact LP for , fixed point by iteration (tolerance , at most 40 sweeps), rewards rescaled to . Bins are clustered by average linkage with silhouette selection of the number of clusters.
-
DBC. The objective of Zhang et al. (2021) without the RL learner: MLP encoder (), Gaussian latent dynamics model trained by negative log-likelihood on stop-gradient encoded next observations, and the loss on random pairs within a batch of 256, , 3000 Adam steps. Classes: -means on the embedding of every step with by silhouette.
-
Reward for DBC and the Ferns metric. Bisimulation is reward-defined. Tiger uses its native reward; the K-cycle and GaussMix environments are reward-free, so we use the next observation as an emission reward. Both are rescaled to (DBC, Ferns) — this is our choice and affects those baselines.
-
Causal-state learning. Following Zhang et al. (2019): a GRU (hidden size 32) reads , a head predicts (and the reward on Tiger) from by mean squared error (30 epochs, Adam, batch 128 trajectories); the hidden states are discretised by -means with by silhouette (one of the two discretisers described in their Sec. 4.2). It conditions on the full history, unlike the other methods.
-
RKHS -machine. Following Brodu and Crutchfield (2022), past present observation, future the continuation vector, 1500 randomly drawn pairs, Gaussian kernels with median pairwise distance; weights with by 3-fold cross-validation of the held-out embedding error; ; diffusion-map coordinates (density-normalised, row-stochastic, spectral-gap truncation); clustering by DBSCAN with the range of the leading coordinate (their DBSCAN with threshold is on unnormalised coordinates; our rescaling is a choice) or by -means with silhouette.
-
Legacy baselines. The first-coordinate-projection Wasserstein and the custom Wasserstein-matching DBC objective of the previous version (
bisim_comparison.csv,dbc_comparison.csv) are superseded and no longer used; the G-test rows come fromablation_sample_efficiency.csv.
Revision experiments (variant (T), partition accuracy)
Data: the same generators and settings as Appendix C (Tiger , , , ; K-cycle , , , ; GaussMix , , , ), random policy, with the latent state recorded for scoring (the action space is seeded here; the original runs sampled actions from an unseeded action-space generator, so individual draws differ from the earlier result files). Seeds –. Procedure (P): the package estimator unchanged. Variant (T) and (P): continuous_quotient/variant_t.py, for (T), and as for (P) for (P), design fraction , minimum samples per side. Sampler: the (T-pt) and P-pt rows use per_traj (the sampler Theorem 1 covers); the (T-pb) rows and the old P comparison in partition_accuracy.csv use per_bin (not covered); Dec-Tiger uses per_traj. ARI is computed over all steps with a full 2-step continuation whose bin is active. Result files: partition_accuracy.csv (merged from partition_accuracy_part1.csv, _part2.csv, _part3.csv by summarize.py), partition_baselines.csv, tiger_T_scaling.csv, dec_tiger_variant_t.csv, and, added with the per_traj analysis of this version, partition_accuracy_pertraj.csv, partition_accuracy_2n.csv, T_traj_scaling.csv, tiger_T_scaling_pertraj.csv and dec_tiger_pfix_N20000_seeds3_9.csv.
Additional Results
Auto bin selection
Trajectories, , , subsample size 2000. -means with clusters on the subsampled binning scalars ; silhouette score . .
Silhouette measures cluster quality in observation space and is a heuristic proxy for the number of latent classes; it under-estimates when classes share observation marginals. Results (this revision, partition_accuracy.csv): silhouette selects on Tiger, for K-cycle but for (5 seeds each), and on GaussMix. (The previous version’s claim of on K-cycle had no result file.) Earlier GaussMix results— on all 20 runs, and the auto- estimate equals the manual one on every run (gaussian_mixture.csv); PO-HalfCheetah (passive)— on all 3 seeds with (halfcheetah_autobin.csv).
K-cycle per-seed results and runtime
| Seeds | Runtime (s) | Correct | ||
|---|---|---|---|---|
| 2 | 0–9 | 2 | 2.9–3.6 | 10/10 |
| 3 | 0–9 | 3 | 3.0–4.4 | 10/10 |
| 4 | 0–9 | 4 | 4.0–5.1 | 10/10 |
| 5 | 0–9 | 5 | 5.2–6.1 | 10/10 |
| 8 | 0–9 | 8 | 8.0–11.7 | 10/10 |
| 16 | 0–9 | 16 | 30.4–37.3 | 10/10 |
K-cycle at (kcycle_continuous.csv): all 60 runs return . Wall-clock per run on one CPU core.
| per seed | |||
|---|---|---|---|
| 2 | 4 | 3000 | 2, 2, 2, 2, 2 |
| 3 | 6 | 3000 | 3, 4, 3, 4, 4 |
| 4 | 8 | 3000 | 8, 8, 8, 8, 8 |
| 5 | 10 | 3000 | 10, 10, 10, 10, 10 |
| 8 | 16 | 3000 | 16, 16, 16, 16, 16 |
| 16 | 32 | 5000 | 12, 15, 10, 8, 15 |
K-cycle at , 5 seeds (kcycle_bins_sensitivity.csv). Over-provisioned bins are split whenever the half-class bins’ posteriors differ detectably (); at the 32 bins are close enough that single-linkage chaining merges neighbours and the estimate falls below .
Tiger vs.
, , , 5 seeds (tiger_N_sensitivity.csv): on every seed at , and . Ablation runs (, , ): on 3/3 seeds at every .
Dec-Tiger per-seed results
| Seed | rel. err. | rel. err. | ||||||
| 0 | 2 | 3 | 0.2662 | 1.5% | 2 | 4 | 0.5698 | 9.7% |
| 1 | 3 | 2 | 0.7651 | 191.6% | 2 | 4 | 0.5567 | 11.8% |
| 2 | 2 | 2 | 0.2671 | 1.8% | 2 | 4 | 0.5544 | 12.2% |
| 3 | 2 | 3 | 0.2633 | 0.4% | 2 | 4 | 0.5545 | 12.1% |
| 4 | 2 | 2 | 0.2625 | 0.0% | 2 | 4 | 0.5654 | 10.4% |
| 5 | 3 | 3 | 0.7690 | 193.1% | 3 | 4 | 1.0774 | 70.7% |
| 6 | 3 | 2 | 0.7607 | 189.9% | 2 | 4 | 0.5700 | 9.7% |
| 7 | 3 | 3 | 0.7704 | 193.6% | 2 | 4 | 0.5622 | 10.9% |
| 8 | 3 | 3 | 0.7624 | 190.5% | 2 | 4 | 0.5489 | 13.0% |
| 9 | 2 | 2 | 0.2608 | 0.6% | 2 | 4 | 0.5530 | 12.4% |
| meanstd (all) | 96.3% | 17.3% | ||||||
| median (all) | 0.514 | 95.8% | 0.559 | 12.0% | ||||
| meanstd () | 0.9% | 11.4% |
Dec-Tiger, , , all seeds (dec_tiger_asymmetric.csv; seeds 0–4 of the symmetric block are also in dec_tiger_rcrit.csv). Analytical: (symmetric), (asymmetric).
Over-splitting of agent A () triples the estimate; over-splitting of agent B is harmless. The mechanism is the resolution effect: with the posteriors of the two same-side bins differ by up to in posterior weight (the quantile bins of a , marginal give and for the two left-side bins), at the edge of what permutations and resolve, and BH with only six -values rejects all of them once all six reach the floor . Table 14 reports the sensitivity run at with (at the floor equals and every quotient collapses to one class).
| Condition | per seed | per seed | meanstd | median rel. err. |
|---|---|---|---|---|
| 2 (9 seeds), 3 (seed 6) | 2 (8), 3 (2) | (all), () | 3.2% | |
| 2 (10) | 4 (10) | 11.4% |
Dec-Tiger, , , 10 seeds (dec_tiger_sym_alpha001_R999.csv, dec_tiger_asym_alpha001_R999.csv).
Noise sweep per level
| Env | analytical | meanstd | mean abs. err. (bits) | / | |
|---|---|---|---|---|---|
| Dec-Tiger | 0.1 | 0.0000 | 0.081 | 2 / 2 | |
| Dec-Tiger | 0.2 | 0.0000 | 0.081 | 2 / 2 | |
| Dec-Tiger | 0.5 | 0.1566 | 0.024 (median rel. 12.6%) | 2 / {2,3} | |
| Dec-Tiger | 1.0 | 0.6311 | 0.071 (median rel. 11.8%) | 2 / 4 | |
| Dec-Tiger | 2.0 | 0.8915 | 0.022 (median rel. 2.5%) | 2 / {2,3,4} | |
| Chain | 0.1 | 1.0584 | 0.007 (0.67%) | 4 / 4 | |
| Chain | 0.2 | 1.4462 | 0.005 (0.33%) | 4 / 4 | |
| Chain | 0.5 | 1.8576 | 0.026 (1.40%) | 4 / {2,3,4} | |
| Chain | 1.0 | 1.9642 | 0.036 (1.82%) | 4 / 1 |
Sweep, , 5 seeds per level (rcrit_sweep.csv, chain_rcrit.csv). Relative errors are undefined when the analytical value is ; absolute errors are given.
Neural encoder
The code ships a GRU/InfoNCE history encoder (neural_encoder.py) trained on the MMD partition; no results for it are reported in this paper because no result files were produced.
PO-HalfCheetah class statistics and value prediction
Tables 16–18 follow. Their values are in-sample fits on all time steps; the held-out, trajectory-level analysis against a nonlinear speed baseline is in Table 9 of the main paper (halfcheetah_groupsplit_value.csv, halfcheetah_groupsplit_value.py) and supersedes the interpretation “classes carry multi-step information beyond speed”, which these in-sample linear comparisons do not support.
| Rank | Class | ||||
|---|---|---|---|---|---|
| 0 | 7 | 0.005 | 0.001 | -0.00 | 0.00 |
| 1 | 6 | 0.009 | 0.001 | 0.00 | 0.00 |
| 2 | 5 | 0.016 | 0.004 | 0.00 | 0.00 |
| 3 | 4 | 0.030 | 0.005 | 0.00 | 0.01 |
| 4 | 3 | 0.058 | 0.014 | 0.02 | 0.03 |
| 5 | 0 | 0.159 | 0.043 | -0.03 | 0.19 |
| 6 | 2 | 0.544 | 0.251 | 0.07 | 0.27 |
| 7 | 1 | 2.399 | 1.306 | -0.14 | 0.43 |
Per-class statistics for the quotient partition on PO-HalfCheetah. Classes are sorted by mean velocity norm. = mean discounted return () from each timestep assigned to that class. Kruskal-Wallis , (computed over time steps, which are dependent within trajectories; the -value is not evidence of a trajectory-level effect).
| Model | Features | MAE | |
|---|---|---|---|
| Null (constant mean) | 0 | 0.000 | 0.087 |
| Quotient classes (, ) | 3 | 0.010 | 0.083 |
| Velocity (oracle) | 1 | 0.066 | 0.084 |
Class-conditioned value prediction on PO-HalfCheetah (zero-action policy, , timesteps). The auto-selected quotient partition explains of return variance (linear ) and of total variance (ANOVA effect size). The Kruskal-Wallis -value () treats time steps as independent and is not evidence of a trajectory-level effect. All values here are in-sample; see Table 9 for the held-out, trajectory-level comparison against a nonlinear speed baseline, which shows the classes carry no information beyond speed.
| Model | MAE | |
|---|---|---|
| Null (constant mean) | 0.000 | 1.551 |
| Quotient classes (auto-selected ) | 0.163 | 1.426 |
| Velocity (oracle) | 0.082 | 1.492 |
Class-conditioned value prediction on PO-HalfCheetah under the sinusoidal locomotion policy (, time steps; halfcheetah_sinusoidal_value.csv).
Artifacts, result files and corrections
Code, scripts and result files are in the public repository https://github.com/npow/quotient-learning-papers, directory cql/; the artifacts cited here are at tag v1, which points to commit 83f9f42d8533c62fd05fcef2192559e0f80be3d9 (tags can be retargeted; the hash is the immutable reference). Result files and scripts added in this revision (marked “this version” below: partition_accuracy_pertraj.csv, partition_accuracy_2n.csv, T_traj_scaling.csv, tiger_T_scaling_pertraj.csv, dec_tiger_pfix_N20000_seeds3_9.csv and their scripts) are not in v1; they are in commit 2c168297b5cd6fcc35e9a0a6a901411d2d1fb404 of the same repository. All paths below are relative to cql/.
Result files (every number in the paper comes from one of these).
-
Layer 1 (
experiments/layer1_ground_truth/results/):tiger_continuous.csv,kcycle_continuous.csv,gaussian_mixture.csv,kcycle_bins_sensitivity.csv,tiger_N_sensitivity.csv. -
Layer 2 (
experiments/layer2_mujoco/results/):halfcheetah_continuous.csv,halfcheetah_sinusoidal.csv,ant_continuous.csv,halfcheetah_autobin.csv,halfcheetah_class_returns.csv,halfcheetah_value_prediction.csv,halfcheetah_sinusoidal_value.csv(in-sample, superseded),halfcheetah_groupsplit_value.csv(trajectory-level held-out split). -
Layer 3 (
experiments/layer3_rcrit/results/):dec_tiger_rcrit.csv,dec_tiger_asymmetric.csv,dec_tiger_sym_alpha001_R999.csv,dec_tiger_asym_alpha001_R999.csv,chain_rcrit.csv,rcrit_sweep.csv. -
Legacy baselines (
experiments/baselines/results/):ablation_sample_efficiency.csv(G-test rows only are still used);bisim_comparison.csvanddbc_comparison.csvare the first-coordinate Wasserstein and the custom DBC objective of the previous version and are superseded (not used in any table of this version). -
Table-to-file map: main-paper Table 4
partition_accuracy.csv(P, T-pb) andpartition_accuracy_pertraj.csv(T-pt); Tiger scaling in the texttiger_T_scaling_pertraj.csv; K-cycle/GaussMix scalingT_traj_scaling.csv; Dec-Tiger (iv)dec_tiger_variant_t.csvanddec_tiger_pfix_N20000_seeds3_9.csv; Table 1tiger_continuous.csv,kcycle_continuous.csv,gaussian_mixture.csv; Table 2kcycle_bins_sensitivity.csv,tiger_N_sensitivity.csv; Table 3partition_accuracy.csv; Table 6partition_baselines.csv(withpartition_accuracy.csvfor the (P) rows); Table 7ablation_sample_efficiency.csv; Table 8 the Layer 2 fileshalfcheetah_continuous.csv,halfcheetah_sinusoidal.csv,ant_continuous.csv,halfcheetah_autobin.csv; Table 9halfcheetah_groupsplit_value.csv; the tables and figure the Layer 3 files (dec_tiger_rcrit.csv,dec_tiger_asymmetric.csv,dec_tiger_sym_alpha001_R999.csv,dec_tiger_asym_alpha001_R999.csv,chain_rcrit.csv,rcrit_sweep.csv). -
Revision (
experiments/revision/results/):partition_accuracy.csv(procedures P, and T and P withper_bin; ARI),partition_accuracy_pertraj.csv(T and P withper_traj),partition_accuracy_2n.csv( on K-cycle : P, P-pt, T-pt),T_traj_scaling.csv(T-pt as grows),tiger_T_scaling.csv(per_bin) andtiger_T_scaling_pertraj.csv,dec_tiger_pfix_N20000_seeds3_9.csv(7 additional P seeds),partition_baselines.csv(W1, Ferns metric, DBC, causal-state, RKHS -machine; ARI),dec_tiger_variant_t.csv,gaussmix_alpha_check.csv.
Scripts: experiments/revision/run_partition_accuracy.py, run_partition_baselines.py, baselines_lib.py, run_dec_tiger_variant_t.py, run_dec_tiger_pfix_extra.py, run_T_traj_scaling.py, run_tiger_T_scaling.py, check_gaussmix_alpha.py, experiments/layer2_mujoco/halfcheetah_groupsplit_value.py; package code continuous_quotient/variant_t.py; tests under tests/.
Corrections to the previous version.
-
Table 2, Tiger at . The entry “” was a typo.
tiger_N_sensitivity.csvcontains on all five seeds at (and makes impossible); the table now reads , in agreement with Appendix D. -
GaussMix . The shipped CSV has no column. The script default is , Appendix C said and Section 5 said . We re-ran the manual- configuration (, , , seeds 0–2,
gaussmix_alpha_check.csv) at both levels: on all 12 runs at and at , so the result file cannot discriminate between the two settings and the reported numbers are unaffected. The paper now states , throughout. -
Missing result-file names in Appendices C–D are filled in above; in the rendered web version of the previous submission every was dropped by our converter, which left the file lists blank.
-
Variant (T) sampler (this version). The previous (T) experiments used the
per_binsampler, which does not sample the pooled bin law of Definition 4, so they did not test Theorem 1. Theorem 1 and its trajectory budget were restated forper_traj(Section A) and Table 4 now reports it alongside the old sampler. Theper_trajruns are much more conservative at . -
Pow 2026 / companion paper is unpublished; nothing in this paper’s claims relies on it beyond the definition of the finite-alphabet baseline, and its G-test rows in Table 7 come from
ablation_sample_efficiency.csv.
References
- Abel, David, Nate Umbanhowar, Khimya Khetarpal, Dilip Arumugam, Doina Precup, and Michael Littman. 2020. “State Abstraction as Compression in Apprenticeship Learning.” Proceedings of the 34th AAAI Conference on Artificial Intelligence, 3134–42.
- Azizzadenesheli, Kamyar, Alessandro Lazaric, and Animashree Anandkumar. 2016. “Reinforcement Learning of POMDP’s Using Spectral Methods.” Proceedings of the 29th Annual Conference on Learning Theory (COLT), 193–256.
- Benjamini, Yoav, and Yosef Hochberg. 1995. “Controlling the False Discovery Rate: A Practical and Powerful Approach to Multiple Testing.” Journal of the Royal Statistical Society: Series B 57 (1): 289–300.
- Boots, Byron, Geoffrey Gordon, and Arthur Gretton. 2013. “Hilbert Space Embeddings of Predictive State Representations.” Proceedings of the 29th Conference on Uncertainty in Artificial Intelligence (UAI).
- Boots, Byron, Sajid M. Siddiqi, and Geoffrey J. Gordon. 2011. “Closing the Learning-Planning Loop with Predictive State Representations.” International Journal of Robotics Research 30 (7): 954–66.
- Brodu, Nicolas, and James P. Crutchfield. 2022. “Discovering Causal Structure with Reproducing-Kernel Hilbert Space -Machines.” Chaos: An Interdisciplinary Journal of Nonlinear Science 32 (2): 023103. https://doi.org/10.1063/5.0062829.
- Castro, Pablo Samuel. 2020. “Scalable Methods for Computing State Similarity in Deterministic Markov Decision Processes.” Proceedings of the 34th AAAI Conference on Artificial Intelligence, 10069–76.
- Castro, Pablo Samuel, Prakash Panangaden, and Doina Precup. 2009. “Equivalence Relations in Fully and Partially Observable Markov Decision Processes.” Proceedings of the 21st International Joint Conference on Artificial Intelligence (IJCAI), 1653–58.
- Ferns, Norm, Prakash Panangaden, and Doina Precup. 2004. “Metrics for Finite Markov Decision Processes.” Proceedings of the 20th Conference on Uncertainty in Artificial Intelligence (UAI), 162–69.
- Ferns, Norm, Prakash Panangaden, and Doina Precup. 2011. “Bisimulation Metrics for Continuous Markov Decision Processes.” SIAM Journal on Computing 40 (6): 1662–714. https://doi.org/10.1137/10080484X.
- Goerg, Georg M., and Cosma Rohilla Shalizi. 2012. “LICORS: Light Cone Reconstruction of States for Non-Parametric Forecasting of Spatio-Temporal Systems.” Unpublished manuscript.
- Goerg, Georg M., and Cosma Rohilla Shalizi. 2013. “Mixed LICORS: A Nonparametric Algorithm for Predictive State Reconstruction.” Proceedings of the 16th International Conference on Artificial Intelligence and Statistics (AISTATS), JMLR workshop and conference proceedings, vol. 31: 289–97.
- Gretton, Arthur, Karsten M. Borgwardt, Malte J. Rasch, Bernhard Schölkopf, and Alexander Smola. 2012. “A Kernel Two-Sample Test.” Journal of Machine Learning Research 13 (25): 723–73. http://jmlr.org/papers/v13/gretton12a.html.
- Jaeger, Herbert. 2000. “Observable Operator Models for Discrete Stochastic Time Series.” Neural Computation 12 (6): 1371–98.
- Jurgens, Alexandra M., and Nicolas Brodu. 2024. “Inferring Kernel -Machines: Discovering Structure in Complex Systems.” Unpublished manuscript.
- Kaelbling, Leslie Pack, Michael L. Littman, and Anthony R. Cassandra. 1998. “Planning and Acting in Partially Observable Stochastic Domains.” Artificial Intelligence 101 (1–2): 99–134.
- Larsen, Kim G., and Arne Skou. 1991. “Bisimulation Through Probabilistic Testing.” Information and Computation 94 (1): 1–28.
- Nixon, Anthony T. 2026a. “Semantic Rate-Distortion for Bounded Multi-Agent Communication: Capacity-Derived Semantic Spaces and the Communication Cost of Alignment.” arXiv Preprint arXiv:2604.09521.
- Nixon, Anthony T. 2026b. “The Myhill–Nerode Theorem for Bounded Interaction: Canonical Abstractions via Agent-Bounded Indistinguishability.” arXiv Preprint arXiv:2603.21399.
- Pow, Nissan. 2026. “Online Learning of Myhill–Nerode Quotients in Bounded-Agent POMDPs.” Unpublished manuscript.
- Ramdas, Aaditya, Sashank J. Reddi, Barnabás Póczos, Aarti Singh, and Larry Wasserman. 2015. “On the Decreasing Power of Kernel and Distance Based Nonparametric Hypothesis Tests in High Dimensions.” Proceedings of the 29th AAAI Conference on Artificial Intelligence, 3571–77.
- Zaremba, Wojciech, Arthur Gretton, and Matthew Blaschko. 2013. “B-Test: A Non-Parametric, Low Variance Kernel Two-Sample Test.” Advances in Neural Information Processing Systems (NeurIPS) 26.
- Zhang, Amy, Zachary C. Lipton, Luis Pineda, et al. 2019. “Learning Causal State Representations of Partially Observable Environments.” Unpublished manuscript.
- Zhang, Amy, Rowan McAllister, Roberto Calandra, Yarin Gal, and Sergey Levine. 2021. “Learning Invariant Representations for Reinforcement Learning Without Reconstruction.” International Conference on Learning Representations (ICLR).
Disclosure of AI use
Claude (Anthropic; Claude Code with Sonnet and Opus-class models) was used throughout this work: writing and debugging the code in the linked repository, running and checking experiments, drafting and revising the manuscript, and simulated peer review. The human author directed the research, reviewed the results, and is responsible for the content. All reported numbers are produced by committed scripts.