-
Notifications
You must be signed in to change notification settings - Fork 3
Reduction rule issues tiered implementation priority #770
Description
Dashboard
Updated 2026-04-02 after batch /verify-reduction run on 52 issues (PR #992).
Source: Garey & Johnson, Computers and Intractability, 1979.
Catalog: 188 types, 201 reductions. NP-hardness chain: 29 types reachable from 3-SAT.
/verify-reduction batch results (51 issues processed): 34 verified & implementable, 5 math-correct but type-incompatible, 8 refuted, 3 blocked on papers, 1 stopped at type gate.
| Category | Count |
|---|---|
| Implemented (closed) | 65 |
| Ready to implement | 34 |
| Needs work | 28 |
| Not yet verified | 19 |
| Waiting on models | ~16 |
| Close | 20 |
1. Ready to implement (34)
Verified by /verify-reduction (PR #992). Each has Typst proof + constructor + adversary Python + test vectors. Use /add-reduction to implement.
| # | Source → Target | Checks | Reference |
|---|---|---|---|
| #973 | SubsetSum → Partition | 644K | |
| #382 | NAESatisfiability → SetSplitting | 97K | |
| #844 | KColoring → PartitionIntoCliques | 48K | complement duality |
| #379 | MinDomSet → MinMaxMulticenter | 241K | identity |
| #380 | MinDomSet → MinSumMulticenter | 3.0M | identity |
| #471 | Partition → SeqMinTardyTaskWeight | 111K | |
| #862 | 3SAT → OneInThreeSatisfiability | 12K | Schaefer 1978 |
| #359 | HamPathBetween2 → LongestPath | 313K | identity, K=n-1 |
| #481 | Partition → OpenShopScheduling | 137K | Gonzalez & Sahni 1976 |
| #859 | X3C → AlgebraicEquationsOverGF2 | 281K | |
| #868 | Satisfiability → NonTautology | 435M | De Morgan negation |
| #845 | NAE-SAT → PartIntoPerfMatchings | 18K | K4 gadgets |
| #860 | X3C → MinWeightSolnLinearEquations | 180K | incidence matrix |
| #842 | SetSplitting → Betweenness | 183K | Opatrny 1979 |
| #911 | HamPath → DegreeConstrSpanningTree | 23K | identity, K=2 |
| #889 | PartIntoCliques → MinCoverByCliques | 49K | forward-only |
| #882 | 3SAT → Kernel | 274K | Chvátal 1973 |
| #893 | MVC → MinMaximalMatching | 15K | same graph |
| #918 | 3SAT → CyclicOrdering | 16K | Galil & Megiddo 1977 |
| #884 | 3SAT → MonochromaticTriangle | 12K | padded intermediates |
| #388 | X3C → SubsetProduct | 333K | prime encoding |
| #569 | SubsetSum → IntegerExprMembership | 739K | Stockmeyer-Meyer 1973 |
| #488 | Partition → ProductionPlanning | 103K | corrected Lenstra et al. |
| #521 | SubsetSum → IntegerKnapsack | 66K | one-way |
| #389 | 3DM → ThreePartition | 48K | GJ 1975 chain |
| #397 | ThreePartition → DynamicStorageAlloc | 23K | bin-packing |
| #554 | 3SAT → SimultaneousIncongruences | 12K | CRT encoding |
| #872 | 3SAT → RegisterSufficiency | 11K | Sethi 1975 |
| #368 | 3SAT → Dir2CommodityIntegralFlow | 128K | Even-Itai-Shamir 1976 |
| #479 | 3SAT → PreemptiveScheduling | 11K | Ullman 1975 |
| #553 | 3SAT → QuadraticCongruences | 76K | Manders-Adleman 1978 |
| #905 | 3SAT → FeasibleRegisterAssignment | 11K | chain gadgets |
| #377 | Planar3SAT → MinGeometricConnDomSet | 13K | geometric embedding |
| #476 | 3SAT → PrecedenceConstrScheduling | 367 | Ullman 1975 (P4→P2) |
2. Needs work (28)
Type-incompatible — needs decision variants (PR #996) (6)
5 of 6 were run through /verify-reduction and confirmed mathematically correct (*), but the codebase Value types are incompatible for ReduceTo. #892 was stopped at the type gate without mathematical verification.
| # | Source(Type) → Target(Type) | Mismatch | Resolution |
|---|---|---|---|
#198 * |
MVC(Min) → HamiltonianCircuit(Or) | Min→Or | Needs VertexCover(Or) |
| #892 | MVC(Min) → HamiltonianPath(Or) | Min→Or | Needs VertexCover(Or) |
#894 * |
MVC(Min) → PartialFeedbackEdgeSet(Or) | Min→Or | Needs VertexCover(Or) |
#890 * |
MaxCut(Max) → OLA(Min) | Max→Min | Needs decision variant |
#888 * |
OLA(Min) → RootedTreeArrangement(Or) | Min→Or | Needs decision variant |
#395 * |
Partition(Or) → KthLargestMTuple(Sum) | Or→Sum | Turing; needs ReduceToAggregate |
Blocked on original papers (3)
* = ran through /verify-reduction, could not reconstruct correct algorithm.
| # | Source → Target | Paper needed |
|---|---|---|
#474 * |
Partition → SeqDeadlinesSetUpTimes | Bruno & Downey 1978 |
#390 * |
3DM → Numerical3DM | No direct reduction; chain through 4-Partition |
| #912 | HamiltonianPath → IsomorphicSpanningTree | Likely duplicate of #234 |
Needs fix — known defects in issue description (19)
Not yet run through /verify-reduction.
| # | Source → Target | Defect |
|---|---|---|
| #166 | KSatisfiability → MaxCut | Threshold formula inconsistent |
| #277 | Dir2CommodityFlow → Undir2CommodityFlow | Empty body |
| #363 | Partition → IntegralFlowWithMultipliers | Counterexample |
| #459 | MVC → MinimumCardinalityKey | FDs wrong |
| #523 | KClique → PartiallyOrderedKnapsack | Reverse direction fails |
| #472 | OLA → SeqMinWeightedCompletion | Bound K undefined |
| #385 | MVC → ComparativeContainment | Direction backwards |
| #423 | Partition → ExpectedRetrievalCost | Degenerate |
| #460 | MinimumHittingSet → AdditionalKey | FDs broken |
| #462 | MinimumHittingSet → BoyceCoddNormalFormViolation | FDs broken |
| #250 | MVC → MinimumCutIntoBoundedSets | Self-contradictory |
| #435 | HamiltonianPath → ConsecutiveBlockMinimization | Construction fails |
| #436 | HamiltonianPath → ConsecutiveSets | Same as #435 |
| #461 | MinimumCardinalityKey → PrimeAttributeName | Incomplete |
| #425 | MVC → MultipleCopyFileAllocation | Needs cleanup |
| #206 | KClique → MinimumTardinessSequencing | Decision/optimization mismatch |
| #434 | OLA → ConsecutiveOnesMatrixAugmentation | Decision/optimization mismatch |
| #463 | KColoring(K3) → ConjunctiveQueryFoldability | Set-equality semantics |
| #238 | HamiltonianCircuit → BoundedComponentSpanningForest | Direction flawed |
3. Not yet verified (19)
Both models exist; issue has a construction but not yet run through /verify-reduction.
Medium confidence (10)
| # | Source → Target | G&J Ref |
|---|---|---|
| #260 | KSatisfiability(K3) → MixedChinesePostman | ND25 |
| #364 | KSatisfiability(K3) → PathConstrainedNetworkFlow | ND34 |
| #365 | KSatisfiability(K3) → IntegralFlowHomologousArcs | ND35 |
| #367 | Satisfiability → UndirectedFlowLowerBounds | ND37 |
| #371 | KSatisfiability(K3) → LengthBoundedDisjointPaths | ND41 |
| #427 | MVC → ShortestCommonSupersequence | SR8 |
| #429 | MVC → LongestCommonSubsequence | SR10 |
| #478 | MVC → SchedulingWithIndividualDeadlines | SS11 |
| #486 | KSatisfiability(K3) → TimetableDesign | SS19 |
| #732 | Satisfiability → IntegralFlowHomologousArcs | ND35 |
Low confidence (9)
| # | Source → Target | G&J Ref |
|---|---|---|
| #243 | KSatisfiability(K3) → MultipleChoiceBranching | ND11 |
| #247 | KSatisfiability(K3) → AcyclicPartition | ND15 |
| #374 | MVC → MinimumDummyActivitiesPert | ND44 |
| #383 | MVC → SetBasis | SP7 |
| #431 | KColoring(K3) → SparseMatrixCompression | SR13 |
| #453 | MinimumSetCovering → StringToStringCorrection | SR20 |
| #454 | PartialFeedbackEdgeSet → GroupingBySwapping | SR21 |
| #458 | KSatisfiability(K3) → RectilinearPictureCompression | SR25 |
| #468 | KSatisfiability(K3) → ConsistencyOfDatabaseFrequencyTables | SR35 |
4. Waiting on models (~16 issues)
At least one model missing. Major blockers: NoWaitFlowShop (#483), TwoProcessorFlowShop (#484), NetworkReliability, DirectedHamiltonianCircuit, Monotone3SAT, PermutationGeneration (#874), various DB/misc (~10 more).
5. Close (20)
Refuted by /verify-reduction — incorrect issue construction (8)
| # | Source → Target | Failure |
|---|---|---|
| #846 | MinMaximalMatching → MaxAchromaticNumber | 50 counterexamples |
| #843 | KColoring(K3) → PartitionIntoForests | K4 counterexample |
| #847 | MinMaximalMatching → MinMatrixDomination | P3 counterexample |
| #822 | X3C → AcyclicPartition | 959 counterexamples |
| #913 | X3C → BoundedDiameterSpanningTree | relay attack |
| #370 | 3SAT → DisjointConnectingPaths | trivial clause paths |
| #920 | 3SAT → NonLivenessFreePetriNet | direction error |
| #475 | RegSufficiency → SeqMinMaxCumulativeCost | 36.3% mismatch |
Duplicates — close the "New" column (9)
| Close | Keep | Rule |
|---|---|---|
| #828 | #397 | ThreePartition → DynamicStorageAllocation |
| #827 | #391 | N3DM → NumericalMatchingWithTargetSums |
| #826 | #390 | 3DM → Numerical3DM |
| #824 | #389 | 3DM → ThreePartition |
| #858 | #388 | X3C → SubsetProduct |
| #857 | #386 | 3DM → ThreeMatroidIntersection |
| #891 | #198 | MVC → HamiltonianCircuit |
| #841 | #382 | NAE-SAT → SetSplitting |
| #369 | #277 | Dir2CommodityFlow → Undir2CommodityFlow |
Turing reductions — cannot implement as ReduceTo (2)
Metadata
Metadata
Assignees
Labels
Type
Projects
Status