Repository navigation
Orbital strategy experiment - #88
Open
ChrisJefferson wants to merge 11 commits into
Open
ChrisJefferson wants to merge 11 commits into
ChrisJefferson wants to merge 11 commits into
Conversation
Refresh dependencies/ from the BacktrackKit and GraphBacktracking masters via import.sh, picking up: * getOrbitalListWithOptions budgetMode (orbital-graph transmission budget) * _PS_ForcePartition (direct O(n) partition overwrite) * the normaliser refiner's budgetMode wiring
GAP-side refiner callbacks re-derived the mirror partition by sorting a per-point cell map (SortBy in PS_SplitCellsByFunction), which dominated GAP-side refiner time. Instead send the partition already in cell order (base_as_force_partition: values, cellstarts, fixed) and have GAP overwrite its stack in one O(n) pass via _PS_ForcePartition -- no sort, no discarded tracer. Because every refine callback now rewrites the whole partition, and the mirror is only read inside such a callback, partition-level save/restore is unnecessary: comms.gi now saves/restores only the refiners' backtrack data, not the partition (avoiding PS_RevertToCellCount, invalid after a force-rewrite). The canonical fixed-point order now comes from Vole's own fixing order rather than the old GAP sort artefact, giving different but equally valid (orbit-constant) canonical representatives; the affected CanonicalImage/CanonicalPerm examples in the tests and manual sources are updated accordingly. Removes the now-unused base_as_indicator.
vole06.tst (extracted from the bundled BacktrackKit constraint.gd) ran
LoadPackage("BacktrackKit", false), but Vole bundles BacktrackKit without
registering it as a loadable package, so this printed a "package is not
available" warning and failed CI. Re-sync the dependencies bundle from
the BacktrackKit master (which drops the redundant load) and regenerate
the extracted test.
Refresh dependencies/BacktrackKit/gap/internal/util.g from the BacktrackKit master via import.sh, picking up the V+E orbital cost model and the unified in-group budget rule (getOrbitalList now budgets like the canonical path). This makes the orbital-graph budget a real memory bound on deep near-regular searches. Add the benchmark harness (orbital-strategy-sweep.g) that generated the already-tracked orbital-strategy-sweep.csv, plus the write-up (orbital-strategy-results.md) covering the sweep, the branch-selection explanation of why budgeting helps, and the memory blow-up analysis.
Use the GAP loading plan to select external dependencies, falling back to bundled copies when suggested packages are skipped. Require compatible 1.2.0 dependencies and add a fresh-session regression check. Assisted-by: Codex (GPT-6)
Sync the anchored regular-orbit cache and refreshed branch proposals from BacktrackKit and GraphBacktracking. Cross-orbit propagation now follows corresponding generators from fixed anchors, retaining orbit exchanges and removing dependence on arbitrary generator presentations. The regular-S3 canonical witness now passes; canonical dispatch continues to use Orbital pending broader validation. Assisted-by: OpenAI Codex (GPT-6)
Extend the bank with repeated regular actions, quotient constituents and the cross variants. Preserve normaliser regressions with shortcut control and expand canonical checks across relabellings and presentations. Compare returned groups rather than their orders in subdirect checks and the legacy hunt. Record missing oracles as unverified and include refiner construction in the hunt's timed call. Assisted-by: OpenAI Codex (GPT-6)
Measure each method in a fresh GAP process with paired random seeds, shuffled execution order, deadlines and descendant cleanup. Verify returned groups separately and retain unknown oracle outcomes explicitly. Record inputs, configuration, source hashes and flushed observations for reproducible comparisons. Assisted-by: OpenAI Codex (GPT-6)
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.
No description provided.