Skip to content

[Rule] MaxCut/One to Maximum2Satisfiability #1102

Description

@isPANN

Source

MaxCut/SimpleGraph/One

Target

Maximum2Satisfiability

Motivation

This classic affine objective encoding provides the reverse direction of the existing Maximum 2-SAT to MaxCut connection. The unit-weight source restriction is explicit and necessary because the target model is unweighted.

Reference

Gramm, Hirsch, Niedermeier, and Rossmanith, “Worst-case upper bounds for MAX-2-SAT with an application to MAX-CUT,” Discrete Applied Mathematics 130(2), 2003, DOI 10.1016/S0166-218X(02)00402-X.

Reduction Algorithm

Given unweighted G=(V,E), V={0,...,n-1}, m=|E|:

  1. Create Boolean variable x_v for every vertex; its truth value is the side of the cut.
  2. For every edge {u,v}, add clauses (x_u OR x_v) and (not x_u OR not x_v). In the repository's signed, 1-indexed CNFClause representation these are [u+1, v+1] and [-(u+1), -(v+1)].
  3. Extract the source cut configuration directly from the target assignment: configuration position v is 1 exactly when x_v is true, and 0 otherwise.

Each edge occurrence creates its own clause pair. Consequently, parallel edges remain repeated clause pairs. A self-loop {u,u} becomes (x_u OR x_u) and (not x_u OR not x_u).

If the endpoints differ, both clauses are satisfied. If they agree, exactly one is satisfied. This also handles a self-loop, whose endpoints always agree. Therefore for every configuration

satisfied_clauses = m + cut_edges.

The affine offset is constant, so the maximizers coincide and max2sat_optimum = m + maxcut_optimum.

Size Overhead

Target metric Formula
num_vars num_vertices
num_clauses 2 * num_edges

Validation Method

  • Exhaust every simple graph through five vertices and every cut/truth assignment.
  • Check the affine objective identity for every configuration, not only at the optimum.
  • Verify direct solution extraction and empty/edgeless/disconnected graphs.
  • Explicitly test self-loops and parallel edges admitted by the current SimpleGraph constructor; confirm repeated literals and repeated clause pairs remain valid target data.

Example

  1. Source instance: four-cycle 01,12,23,30 plus diagonal 02, giving five edges.
  2. Construction: create four variables and the ten clauses (x_0 OR x_1), (not x_0 OR not x_1), (x_1 OR x_2), (not x_1 OR not x_2), (x_2 OR x_3), (not x_2 OR not x_3), (x_3 OR x_0), (not x_3 OR not x_0), (x_0 OR x_2), and (not x_0 OR not x_2).
  3. Target witness: cut assignment [0,1,0,1]. The four cycle edges cross and diagonal 02 does not.
  4. Round trip: source cut value is 4. The eight clauses belonging to crossing edges are all satisfied, while the diagonal contributes exactly one, so the target value is 5+4=9. Exhaustive enumeration confirms these are the respective optima; putting all vertices on one side gives target value 5 and checks the affine offset.
  5. Negative-threshold check: for a graph consisting of one edge, no cut has value at least 2. Its two-clause target has optimum 2, so the corresponding target threshold m+2=3 is also unattainable.

BibTeX

@article{Gramm2003Max2SatMaxCut,
  author = {Gramm, Jens and Hirsch, Edward A. and Niedermeier, Rolf and Rossmanith, Peter},
  title = {Worst-case upper bounds for MAX-2-SAT with an application to MAX-CUT},
  journal = {Discrete Applied Mathematics},
  volume = {130},
  number = {2},
  pages = {139--155},
  year = {2003},
  doi = {10.1016/S0166-218X(02)00402-X}
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    GoodAn issue passed all checks.ruleA new reduction rule to be added.

    Type

    No type

    Projects

    Status
    Final review

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions