Lukas' Notes

Definition

3-SAT to Vector Subset Sum

There is a polynomial-time many-one reduction

from 3-SAT to Vector Subset Sum. For a formula with variables and clauses, the construction uses dimension , indexed vectors with entries in , and a target with entries in .

Construction

Let have clauses of size at most three. Remove repeated literals within each clause and delete tautological clauses containing both and . These operations preserve satisfiability. Write for the resulting numbers of variables and clauses. A formula with no variables can be evaluated directly and mapped to a fixed one-dimensional yes- or no-instance.

Give each constraint its own coordinate

Use the first coordinates for variables and the remaining for clauses:

A variable coordinate will force exactly one truth choice. A clause coordinate will require at least one true literal, with limited fill-up capacity handling the remaining amount.

Unlike the scalar subset-sum encoding, coordinates are separate equations, not digit positions in one large integer. There are no carries between them.

Encode the two truth choices for each variable

Introduce indexed vectors and for each variable . Both have a in variable coordinate and in all other variable coordinates. Their clause coordinates record the literals they make true:

Here is if statement holds and otherwise. A literal’s membership in a clause records its occurrence, not its truth value.

In the highlighted row, setting false makes true in . For any selection with one truth vector per variable, the sum in clause coordinate is exactly the number of true literals in .

Allow a satisfied clause to reach three, but not an unsatisfied one

For each clause , add two distinct indexed copies

where has in coordinate and elsewhere. Each copy may be selected once. Thus their total contribution is , and the clause equation becomes

The fill-up vectors cannot affect any variable coordinate or another clause. Output the indexed family of all truth and fill-up vectors, together with . The vectors are indexed because even equal-valued copies must remain separately selectable.

Correctness

The target is reachable exactly when the formula is satisfiable

Forward: select a truth vector and then fill each clause

Let satisfy . Select if , and otherwise. This gives sum in each variable coordinate. In clause coordinate , the contribution satisfies . Select of its two fill-up copies. This is possible since , and the resulting coordinate sum is . All coordinates equal .

Backward: recover exactly one truth value per variable

Suppose a selection sums to . Only and contribute to variable coordinate , and both contribute . Its target is , so exactly one is selected. This defines a truth assignment .

For each clause, let be the contribution of selected truth vectors and the number of selected fill-up copies. Then

Therefore each clause has a true literal under . The assignment satisfies every clause, hence .

Size and running time

The dimension and number of vectors are and . An explicit dense representation contains

entries. Each is a constant-sized integer. Initialising the arrays and recording literal incidences takes operations, so the reduction is polynomial. An empty clause has no truth-vector contribution and can receive at most from fill-up vectors, correctly preventing a solution.

Strong NP-hardness

Vector Subset Sum is strongly NP-hard

Vector Subset Sum is strongly NP-hard, even when every input-vector entry is or and every target entry is or .

Proof

The reduction starts from NP-hard 3-SAT. Encoding every numerical entry in unary still uses constant space per entry, leaving a polynomial-sized output. The dimension also has polynomial magnitude. Thus the reduction remains polynomial under unary encoding. Hardness comes from the growing number of coordinates and selectable vectors, not from large numerical values.