Repository navigation
Correctness fixes from a brute-force review (1/4) - #23
Open
Autoplectic wants to merge 1 commit into
Open
Autoplectic wants to merge 1 commit into
Autoplectic wants to merge 1 commit into
Conversation
…mples; testing strategies Every fix was reproduced against a brute-force reference or closed-form value and has a regression test. See CHANGELOG.md (Unreleased, 0.4.0) for details. - Shifts: word-counting topological entropy, trim_transient, factor languages, Dyck reversal, edge-shift Parry labels, sorted TMC symbols, SoficShift synchronization methods. - Generators: cryptic order for zero-crypticity processes, log_word_probability underflow, crypticity key, Gacs-Korner model semantics, hash-seed-dependent channel complexity, fast mixed-state explosion. - Inference: Bayesian start state, exact stack MLE, spectral noise floor and pruning, Bonferroni default for CSSR, censored ALERGIA, Viterbi n+1 states, per-sequence cross-validation. - Automata: Buchi lassos, Wheeler family, modular VPA minimize, empty operands, minimizer agreement, atoms/quotients, IDFA enumeration, transducer epsilon handling, faster VPA operations. - Serialization/viz: explicit alphabets, sympy/Fraction YAML, deep copy, unique node names, TikZ escaping. - Examples emit string symbols; one golden mean (Lind-Marcus, forbids 11); duplicate examples removed; butterfly_process matches its paper. - New sofic.testing strategies and brute-force oracles; ci/nightly Hypothesis profiles. Co-authored-by: Cursor <cursoragent@cursor.com>
This branch has not been deployed
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.
First of four PRs from a second correctness review. Every fix was reproduced against a brute-force reference implementation or a closed-form value and has a regression test.
CHANGELOG.md(Unreleased, 0.4.0) has the full list.Breaking changes
correction="bonferroni"is the default for every CSSR learner. Uncorrected CSSR found spurious states in about 10–15% of long-sample runs.viterbireturns the n+1 states X_0..X_n, aligned withsmooth."crypticity"means C_mu − E everywhere; C± − E is now"bidirectional_crypticity"/bidirectional_crypticity().atoms()includes the negative atom, andleft_quotientsincludes the empty residual.11; duplicate examples are removed.butterfly_processnow matches its paper (the old construction was i.i.d.).Notable fixes
AttributeError.log_word_probabilityunderflowed on long words.golden_mean_ghmmdid not reproduce the golden mean.Testing infrastructure
sofic.testing.tests/oracles.py.ciandnightlyHypothesis profiles.Checks
ruffis clean.-W.