Recall the two definitions of NP:
1. LENP if there is a non-deterministic TM M deciding L and timereq(M)โO(n^k) for some k
2. LENP if there exists a deterministic TM V where WEL iff there is a certificate c of length
polynomial in the length of w such that <w,c>EL(V)
Recall (from the reading) that Lโ is polynomial-time reducible to L2 if
- Lโ is mapping reducible to L2 (โx, XEL1 iff f(x)โL2), and
- that reduction (f) takes deterministic polynomial time to compute.
We write L1 SP L2.
Recall that Integer Linear Programming (ILP) is the problem where, given a set of linear
inequalities over a set of variables (such as 3x+y โค 14, where all coefficients are constants), and the
task is to determine whether or not there is an integer assignment to each variable that makes all
constraints true at once.1 A problem may be satisfiable (e.g., x > 0 clearly has solutions) or
unsatisfiable (e.g., x > 0, x <-23 has no solutions).
Activity 1: Show that LILP64, the language of ILP problems which have solutions over 64-bit integers, is
in NP, by using the verification/certificate definition. In particular, describe what the certificate
would be, and how the verifier would check that <w,c> was a pair of an ILP problem encoded as w
and a certificate showing it had a solution.
Activity 2: Show that LILP64 is in NP via the non-deterministic decider approach.
Activity 3: Show that LILP-0-1, the special case of ILP where all variables are restricted to be either 0
or 1, is polynomial-time reducible to 3-SAT. That is, describe how to translate an ILP-0-1 problem
into a 3-SAT problem, and justify why this can be done in polynomial time for some encoding. Note
that only the variables are restricted to 0 or 1: constraints like x + 2y + z < 3 are still permitted,
with coefficients and constants that are not just 0 or 1.