3–DM
Instance: A positive integer q, a set of 3q distinct objects partitioned into three sets of q
objects W, X, and Y. And, a set of s "triples" of the form (a, b, c) where a
∈
W,
b
∈
X, and c
∈
Y.
Question: Does there exist a subset of exactly q triples containing all of the 3q objects?
3–SAT
3–DM
3–DM is clearly in NP. Consider an arbitrary instance of 3–SAT, U = {u
1
, u
2
, …, u
m
} and a
set of m clauses C
1
, C
2
, …, C
m
. Each C
i
contains exactly 3 variables of the form u or u'.
Construct W to be {u
i
[j], u'
i
[j] | for 1 ≤
i ≤ n and 1 ≤ j ≤ m}.
Note: u
1
[1], u
1
[2], … , u
1
[n] all correspond to Boolean variable u
i
. while
u'
1
[1], u'
1
[2], … , u'
1
[n] all correspond to the complement of u
i
.
Later triples, corresponding to Boolean variables in, say, clause j, will force us to "select" a
triple containing u
i
[j]. If u
i
also appears in clause k, we must also select the triple containing u
i
[k],
etc. Then, of course, none of these triples can ever force us to select u'