Skip to content

fix(mincut): report exact results and qualify release claims - #1092

Open
rudycelekli wants to merge 1 commit into
ruvnet:mainfrom
rudycelekli:fix/mincut-claims-988
Open

rudycelekli wants to merge 1 commit into
ruvnet:mainfrom
rudycelekli:fix/mincut-claims-988

Conversation

@rudycelekli

Copy link
Copy Markdown

Summary

DynamicMinCut::recompute_min_cut always calls the exact sparse Stoer–Wagner solver. Its legacy .approximate(ε) option changed only MinCutResult.is_exact and approximation_ratio, so the same exact cut was mislabeled as approximate. This PR reports the algorithm actually run (is_exact: true, ratio 1.0) while retaining the builder option and configuration fields for compatibility. A regression compares values, partitions, and labels across exact and legacy settings after graph updates.

The public crate description, README, crate docs, and linked getting started/core concept guides now distinguish the exact polynomial recomputation path from separate research modules. Historical n^0.12 measurements and paper-component inventories are explicitly qualified; ApproxMinCut's ε-derived interval is described as heuristic rather than a certified all-graph bound. No benchmark result or paper implementation is claimed by this PR.

This addresses the misleading result labeling and public claim portions of #988. It does not close the issue: push-to-main release gates, independent benchmark receipts, and release qualification still need separate work. The fast-uri item was already addressed by #1014 per the maintainer's issue comment.

Reproduction and validation

  • Before the fix, the new focused regression failed because .approximate(0.5) returned is_exact: false despite matching the exact solver's value and partition.
  • After the fix, the focused algorithm::tests:: suite passed: 25 tests.
  • Reduced standalone crate harness (same default exact/approximate features, avoiding unrelated sparse-workspace dependencies): 504 unit tests passed, 1 ignored, 13 subpolynomial:: tests filtered; 26 doctests passed, 20 ignored.
  • rustfmt --check on changed Rust modules and git diff --check: passed.

The full workspace CI and long-running subpolynomial:: tests were not run locally. The reduced harness uses crates.io dependency resolution rather than the workspace lockfile; upstream CI remains the integration gate. No LocalKCut source from #1079 is changed.

This branch has not been deployed

No deployments
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