-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
The reduction framework is complete with core reductions implemented (IS↔VC, IS↔SP, SG↔QUBO, SG↔MaxCut). Additional reductions are needed for full feature parity with ProblemReductions.jl.
Remaining Reductions to Implement
Each reduction follows the established pattern:
- Create reduction result struct
- Implement
ReductionResulttrait - Implement
ReduceTotrait - Write tests
- Update
src/rules/mod.rs - Register in
ReductionGraph
Set/Graph Reductions
-
src/rules/vertexcovering_setcovering.rs- VertexCovering → SetCovering -
src/rules/matching_setpacking.rs- Matching → SetPacking
SAT-based Reductions
-
src/rules/sat_3sat.rs- SAT → 3-SAT (clause splitting) -
src/rules/sat_independentset.rs- SAT → IndependentSet -
src/rules/sat_coloring.rs- SAT → Coloring -
src/rules/sat_dominatingset.rs- SAT → DominatingSet -
src/rules/spinglass_sat.rs- SpinGlass → SAT -
src/rules/circuit_sat.rs- CircuitSAT → SAT (Tseitin transformation) -
src/rules/factoring_sat.rs- Factoring → SAT
Implementation Notes
- Use the existing
ReduceToandReductionResulttraits fromsrc/rules/traits.rs - Follow the pattern established in existing reductions (e.g.,
vertexcovering_independentset.rs) - Register each new reduction in
ReductionGraph::register_reductions() - Maintain >95% code coverage
References
- Implementation Plan - Task 6
- Design Document
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request