Polynomial-Time Reductions

Context: FIT2014_MOC · [[Mapping Reductions|]] with a clock attached — the same translator discipline, now used to transport tractability instead of decidability, and the tool that will define NP-completeness

Quick Revision

  • 🎯 Objective: a polynomial-time computable with for every ➔ written , read ” is no harder than , up to polynomial cost”.
  • 📦 Core Components: the function | the iff chain certifying it | the time bound on computing it — all three are marked, and the third is the one added since Lecture 21.
  • ⚡ Key Constraint: every is a , but not conversely passes through the subset construction and is exponential. Adding the clock genuinely shrinks the relation.

📝 Core

A polynomial-time reduction from to is a polynomial-time mapping reduction: a function , computable in time for fixed , such that for all , . Notation: .

  • Aliases, all one thing ➔ polynomial-time mapping reduction · polynomial-time many-one reduction · polynomial transformation · Karp reduction.
  • What changed from Lecture 21 ➔ nothing about the logic; is still a total translator that preserves the Yes/No answer and never decides anything. Only the cost of computing is now constrained.
  • The output-length lemma ➔ a TM can emit at most one symbol per step, so computable in time forces . This is the hinge of both proofs below — a reduction cannot hand the next machine a super-polynomially large instance.

🔧 Worked reductions

Each is stated as the function, then the iff chain, then the cost. All three parts are marked; a bare function earns nothing.

  • , the complement graph (edges non-edges), untouched.
    • Cost ➔ complementing is one pass over the vertex pairs ⟹ .
  • where ; the graph is unchanged, only the parameter moves.
    • Why the arithmetic ➔ complementing the set complements the size: a cover of size leaves an independent set of size , which is why the / bounds in Standard NP Problems and Certificates flip together with .
    • Cost ➔ one subtraction ⟹ including copying the graph.
  • ➔ pad each clause with a fresh variable used nowhere else: replace the -th clause by
    • Why it preserves satisfiability ➔ whatever is set to, one of the two clauses loses its padding literal and reduces to ⟹ the pair is satisfiable iff is, and freshness stops interfering with any other clause.
    • Cost ➔ one new variable and one extra clause per clause ⟹ linear.
  • — supply the half-total as the target .
    • Why ➔ a subset summing to half the total leaves its complement summing to the same amount, which is the definition of a partition. Cost ➔ one addition pass, .
  • ➔ case split on sizes: output unchanged when ; otherwise output the fixed pair the slide gives as a diagram. Comparing two vertex counts is , so either branch is polynomial. (The second branch is a picture in the handout — construction not verifiable from the provided material; the slide then asks whether the reduction runs the other way round.)
  • Further reductions set as exercises (slide 12 — statements only, no constructions given) · · · · · · .

🧮 Proof Blueprint — the properties of

Reflexive. (identity). Transitive. . Transfer. . Corollary. .

Strategyboth theorems compose two polynomial bounds; the only non-obvious ingredient is that the intermediate string is itself only polynomially long.

  • The two set exercises ➔ ① if then for any — the caveats are the same trivial cases as for : and are excluded, since a constant-valued needs both a Yes-target and a No-target in . ② — same proof with “decider” replaced by “verifier”, the certificate passed straight through.

⚠️ Common Mistakes

  • 💡 Forgetting to bound ➔ the single technical step examiners look for. ” is polynomial and is polynomial, so the composite is” is incomplete until the intermediate instance is shown to be polynomially small.
  • 💡 Reducing the wrong way pushes hardness up and easiness down: it licenses "" and "", never the reverse.
  • 💡 Reusing an construction without re-timing it is a valid mapping reduction and not a polynomial one. Recheck every determinisation and complementation.
  • 💡 Proving one direction of the iff leaves the reduction free to map a No-instance onto a Yes-instance, and the composite decider then accepts too much.
  • 💡 Treating as symmetric ➔ it is reflexive and transitive (a preorder). says nothing about the converse — which the slide poses as an open question precisely because it does not follow.
  • 💡 Padding with a re-used variable ➔ in each clause needs its own fresh ; sharing one variable couples clauses and breaks the iff.

🧠 Active Recall