Math 2.0

Computer science Definition

Polynomial-time reduction

Builds on Formal languageTuring machineTime complexityMany-one reductionP

Definition

Let Σ\Sigma be a finite alphabet, and let A,B⊆Σ∗A, B \subseteq \Sigma^* be languages. A polynomial-time reduction from AA to BB is a function f ⁣:Σ∗→Σ∗f \colon \Sigma^* \to \Sigma^* with two properties.

  1. Some deterministic Turing machine computes ff and halts within p(∣x∣)p(\abs{x}) steps on every input xx, for some polynomial pp.
  2. For every x∈Σ∗x \in \Sigma^*, x∈Ax \in A holds exactly when f(x)∈Bf(x) \in B.

The language AA is polynomial-time reducible to BB, written A≤pBA \le_p B, if such an ff exists.

Remarks

Example: let AA be the set of encodings of pairs (G,k)(G, k) where the graph GG has an independent set of size kk. Let BB be the set of pairs (G,k)(G, k) where GG has a clique of size kk. The map (G,k)↦(G‾,k)(G, k) \mapsto (\overline{G}, k), with G‾\overline{G} the complement graph, is computable in polynomial time. A set of vertices is independent in GG exactly when it is a clique in G‾\overline{G}, so clause 2 holds and A≤pBA \le_p B.

Non-example: the map that sends (G,k)(G, k) to a fixed yes-instance of BB when AA holds, and to a fixed no-instance otherwise, satisfies clause 2. No polynomial-time algorithm is known to compute it, so it is not known to satisfy clause 1.

Such reductions are also called Karp reductions or polynomial-time many-one reductions. The relation ≤p\le_p is reflexive and transitive. If A≤pBA \le_p B and B∈B \in P, then A∈PA \in \mathrm{P}. A Cook reduction is the weaker notion where AA is decided in polynomial time by a machine that may ask many questions about BB.

Reading path

To understand this page from the ground up, read these 6 pages in order. The foundations come first.

Show the path as a graph
Each page uses the pages above it. The colour of the bar on a box shows how strong the evidence is, and the box also gives it as text. The list has the same pages.
  • no evidence level
  1. Formal language concept
  2. Many-one reduction concept
  3. P concept
  4. Time complexity concept
  5. Turing machine concept
  6. Polynomial-time reduction definition

Further reading

  1. Web https://en.wikipedia.org/wiki/Polynomial-time_reduction
About this page
TagQXPJTWGE4D
URIm2://QXPJTWGE4D
Kinddefinition
WritingW0 stub
MSC68Q17, 68Q15
DefinesPolynomial-time reduction
UsesFormal language, Turing machine, Time complexity, Many-one reduction, P
Changed3 November 2026

Markdown · JSON · Edit on GitHub

What this page needs for W1

  • an inventory row: the row of the inventory that the node accounts for (0 of 1)
  • a source with a locator (0 of 1)

The writing levels say how complete the text of a page is. They do not measure its truth.

What links here

No page links to this page yet.