Skip to content

Commit 161e39d

Browse files
isPANNclaude
andcommitted
fix overhead formulas per Codex review
- sat_circuitsat: account for extra assignments/variables from unused SAT vars - sat_coloring: OR-gadget adds 11 edges (not 10), plus base triangle constant - circuit_spinglass: 4× spin and 6× interaction multipliers for gate arity Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent c0c913d commit 161e39d

3 files changed

Lines changed: 6 additions & 6 deletions

File tree

src/rules/circuit_spinglass.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -414,8 +414,8 @@ where
414414

415415
#[reduction(
416416
overhead = {
417-
num_spins = "num_assignments * num_variables",
418-
num_interactions = "num_assignments * num_variables",
417+
num_spins = "4 * num_assignments * num_variables",
418+
num_interactions = "6 * num_assignments * num_variables",
419419
}
420420
)]
421421
impl ReduceTo<SpinGlass<SimpleGraph, i32>> for CircuitSAT {

src/rules/sat_circuitsat.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ impl ReductionResult for ReductionSATToCircuit {
3636

3737
#[reduction(
3838
overhead = {
39-
num_variables = "num_vars + num_clauses + 1",
40-
num_assignments = "num_clauses + 2",
39+
num_variables = "2 * num_vars + num_clauses + 1",
40+
num_assignments = "num_vars + num_clauses + 2",
4141
}
4242
)]
4343
impl ReduceTo<CircuitSAT> for Satisfiability {

src/rules/sat_coloring.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -296,8 +296,8 @@ impl ReductionSATToColoring {
296296

297297
#[reduction(
298298
overhead = {
299-
num_vertices = "2 * num_vars + 5 * num_literals",
300-
num_edges = "3 * num_vars + 10 * num_literals",
299+
num_vertices = "2 * num_vars + 5 * num_literals + 3",
300+
num_edges = "3 * num_vars + 11 * num_literals + 3",
301301
}
302302
)]
303303
impl ReduceTo<KColoring<K3, SimpleGraph>> for Satisfiability {

0 commit comments

Comments
 (0)