Stability logic update, Operators logic refactor - #77
Merged
Conversation
…pling - Split fitness into SolverFreeFitness / SolverBasedFitness hosts driving pluggable objective fillers (new operators/common/objectives.py: discrepancy + instability), replacing the metric blocks duplicated across the old fitness operators. - Varying-coefficient stability (gram_mode='vcoef') is the default coefficient-stability estimator (stability.py); sparsity routes through it via PhysicsInformedLasso / VWSRSparsity. - Couple per-equation RPS-state reset to the structure-changing operators (EquationMutation set-based change detection, EquationCrossover, gene swap) instead of OffspringUpdater's blanket reset. - remove_zero_terms compacts weights_internal in lockstep with structure so position-indexed reads stay aligned (fixes text_form render / np.dot crash). - Resurrect single-objective mode (globals.single_objective_metric).
…gnostic - configs: add truth_alternatives (e.g. lorenz degenerate-quadratic w-eq) and per-system fit / moeadd overrides. - run.py / thesis_runner.py: vc-component / anchor-mode / stability config plumbing into build_search. - kdv_sindy_test.py: --system support so multi-equation systems (lorenz, lv, ns) can be seeded and per-term-scored.
One-off CV / vcoef / instability investigation scripts superseded by the current diagnostic harness (kdv_sindy_test.py) and the stability subsystem.
Drop the per-system EPDE discovery-run boilerplate from the data scripts; discovery now runs through the thesis harness (projects/thesis), leaving these as data-generation/loading only.
_equations_share_active_structure is subsumed by target-term uniqueness: full-duplicate equations have distinct targets (each target must contain its own main-var derivative), so each carries the other's target as a standalone term and is broken by the target-uniqueness scan. Removes the guard and its convergence-loop block; _break_equation_duplication stays.
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.
No description provided.