Pseudo-polynomial transformation

From testwiki
Jump to navigation Jump to search

Template:Multiple issues

Template:Short description

In computational complexity theory, a pseudo-polynomial transformation is a function which maps instances of one strongly NP-complete problem into another and is computable in pseudo-polynomial time.[1]

Definitions

Maximal numerical parameter

Some computational problems are parameterized by numbers whose magnitude exponentially exceed size of the input. For example, the problem of testing whether a number n is prime can be solved by naively checking candidate factors from 2 to n in n1 divisions, therefore exponentially more than the input size O(log(n)). Suppose that L is an encoding of a computational problem Π over alphabet Σ, then

NumΠ:Σ*

is a function that maps wIΣ*, being the encoding of an instance I of the problem Π, to the maximal numerical parameter of I.

Pseudo-polynomial transformation

Suppose that Π1 and Π2 are decision problems, L1 and L2 are their encodings over correspondingly Σ1 and Σ2 alphabets.

A pseudo-polynomial transformation from Π1 to Π2 is a function f:Σ1Σ2 such that

  1. wΣ1wL1f(w)L2
  2. wΣ1f(w) can be computed in time polynomial in two variables NumΠ1(w) and |w|
  3. QA[X]wΣ1|w|QA(|f(w)|)
  4. QB[X,Y]wΣ1NumΠ2(f(w))QB(NumΠ1(w),|w|)

Intuitively, (1) allows one to reason about instances of Π1 in terms of instances of Π2 (and back), (2) ensures that deciding L1 using the transformation and a pseudo-polynomial decider for L2 is pseudo-polynomial itself, (3) enforces that f grows fast enough so that L2 must have a pseudo-polynomial decider, and (4) enforces that a subproblem of L1 that testifies its strong NP-completeness (i.e. all instances have numerical parameters bounded by a polynomial in input size and the subproblem is NP-complete itself) is mapped to a subproblem of L2 whose instances also have numerical parameters bounded by a polynomial in input size.

Proving strong NP-completeness

The following lemma allows to derive strong NP-completeness from existence of a transformation:

If Π1 is a strongly NP-complete decision problem, Π2 is a decision problem in NP, and there exists a pseudo-polynomial transformation from Π1 to Π2, then Π2 is strongly NP-complete

Proof of the lemma

Suppose that Π1 is a strongly NP-complete decision problem encoded by L1 over Σ1 alphabet and Π2 is a decision problem in NP encoded by L2 over Σ2 alphabet.

Let f:L1L2 be a pseudo-polynomial transformation from Π1 to Π2 with QA, QB as specified in the definition.

From the definition of strong NP-completeness there exists a polynomial P[X] such that L1/P={wL1:NumΠ1(w)P(|w|)} is NP-complete.

For P^(n)=QB(P(QA(n)),QA(n)) and any wL1/P there is

NumΠ2(f(w))QB(NumΠ1(w),|w|)(definition of f)QB(P(w),|w|)(property of L1/P)QB(P(QA(|f(w)|)),QA(|f(w)|))(definition of f)P^(|f(w)|)(definition of P^)

Therefore,

f(L1/P)={wL2:NumΠ2(w)P^(|w|)}=L2/P^

Since L1/P is NP-complete and f|L1/P is computable in polynomial time, L2/P^ is NP-complete.

From this and the definition of strong NP-completeness it follows that L2 is strongly NP-complete.

References

Template:Reflist