Skip to content

Stability logic update, Operators logic refactor - #77

Merged
Gromwud merged 8 commits into
ITMO-NSS-team:mainfrom
Gromwud:main
Jun 18, 2026
Merged

Stability logic update, Operators logic refactor#77
Gromwud merged 8 commits into
ITMO-NSS-team:mainfrom
Gromwud:main

Conversation

@Gromwud

@Gromwud Gromwud commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

No description provided.

Gromwud and others added 8 commits June 15, 2026 11:43
…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.
@Gromwud
Gromwud merged commit c4521c4 into ITMO-NSS-team:main Jun 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant