# Many-one reduction

In computability theory and computational complexity theory, a many-one reduction (also called mapping reduction[1]) is a reduction which converts instances of one decision problem ${\displaystyle L_{1}}$ into instances of a second decision problem ${\displaystyle L_{2}}$ where the instance reduced to is in the language ${\displaystyle L_{2}}$ if the initial instance was in its language ${\displaystyle L_{1}}$ and is not in the language ${\displaystyle L_{2}}$ if the initial instance was not in its language ${\displaystyle L_{1}}$. Thus if we can decide whether ${\displaystyle L_{2}}$ instances are in the language ${\displaystyle L_{2}}$, we can decide whether ${\displaystyle L_{1}}$ instances are in its language by applying the reduction and solving ${\displaystyle L_{2}}$. Thus, reductions can be used to measure the relative computational difficulty of two problems. It is said that ${\displaystyle L_{1}}$ reduces to ${\displaystyle L_{2}}$ if, in layman's terms ${\displaystyle L_{2}}$ is harder to solve than ${\displaystyle L_{1}}$. That is to say, any algorithm that solves ${\displaystyle L_{2}}$ can also be used as part of a (otherwise relatively simple) program that solves ${\displaystyle L_{1}}$.

Many-one reductions are a special case and stronger form of Turing reductions.[1] With many-one reductions, the oracle (that is, our solution for B) can be invoked only once at the end, and the answer cannot be modified. This means that if we want to show that problem A can be reduced to problem B, we can use our solution for B only once in our solution for A, unlike in Turing reduction, where we can use our solution for B as many times as needed while solving A.

This means that many-one reductions map instances of one problem to instances of another, while Turing reductions compute the solution to one problem, assuming the other problem is easy to solve. The many-one reduction is more effective at separating problems into distinct complexity classes. However, the increased restrictions on many-one reductions make them more difficult to find.

Many-one reductions were first used by Emil Post in a paper published in 1944.[2] Later Norman Shapiro used the same concept in 1956 under the name strong reducibility.[3]

## Definitions

### Formal languages

Suppose ${\displaystyle A}$ and ${\displaystyle B}$ are formal languages over the alphabets ${\displaystyle \Sigma }$ and ${\displaystyle \Gamma }$, respectively. A many-one reduction from ${\displaystyle A}$ to ${\displaystyle B}$ is a total computable function ${\displaystyle f:\Sigma ^{*}\rightarrow \Gamma ^{*}}$ that has the property that each word ${\displaystyle w}$ is in ${\displaystyle A}$ if and only if ${\displaystyle f(w)}$ is in ${\displaystyle B}$.

If such a function ${\displaystyle f}$ exists, we say that ${\displaystyle A}$ is many-one reducible or m-reducible to ${\displaystyle B}$ and write

${\displaystyle A\leq _{\mathrm {m} }B.}$

If there is an injective many-one reduction function then we say A is 1-reducible or one-one reducible to ${\displaystyle B}$ and write

${\displaystyle A\leq _{1}B.}$

### Subsets of natural numbers

Given two sets ${\displaystyle A,B\subseteq \mathbb {N} }$ we say ${\displaystyle A}$ is many-one reducible to ${\displaystyle B}$ and write

${\displaystyle A\leq _{\mathrm {m} }B}$

if there exists a total computable function ${\displaystyle f}$ with ${\displaystyle A=f^{-1}(B).}$ If additionally ${\displaystyle f}$ is injective we say ${\displaystyle A}$ is 1-reducible to ${\displaystyle B}$ and write

${\displaystyle A\leq _{1}B.}$

### Many-one equivalence and 1-equivalence

If ${\displaystyle A\leq _{\mathrm {m} }B\,\mathrm {and} \,B\leq _{\mathrm {m} }A}$ we say ${\displaystyle A}$ is many-one equivalent or m-equivalent to ${\displaystyle B}$ and write

${\displaystyle A\equiv _{\mathrm {m} }B.}$

If ${\displaystyle A\leq _{1}B\,\mathrm {and} \,B\leq _{1}A}$ we say ${\displaystyle A}$ is 1-equivalent to ${\displaystyle B}$ and write

${\displaystyle A\equiv _{1}B.}$

### Many-one completeness (m-completeness)

A set ${\displaystyle B}$ is called many-one complete, or simply m-complete, iff ${\displaystyle B}$ is recursively enumerable and every recursively enumerable set ${\displaystyle A}$ is m-reducible to ${\displaystyle B}$.

## Many-one reductions with resource limitations

Many-one reductions are often subjected to resource restrictions, for example that the reduction function is computable in polynomial time, logarithmic space, by ${\displaystyle AC_{0}}$ or ${\displaystyle NC_{0}}$ circuits, or polylogarithmic projections where each subsequent reduction notion is weaker than the prior; see polynomial-time reduction and log-space reduction for details.

Given decision problems ${\displaystyle A}$ and ${\displaystyle B}$ and an algorithm N which solves instances of ${\displaystyle B}$, we can use a many-one reduction from ${\displaystyle A}$ to ${\displaystyle B}$ to solve instances of ${\displaystyle A}$ in:

• the time needed for N plus the time needed for the reduction
• the maximum of the space needed for N and the space needed for the reduction

We say that a class C of languages (or a subset of the power set of the natural numbers) is closed under many-one reducibility if there exists no reduction from a language in C to a language outside C. If a class is closed under many-one reducibility, then many-one reduction can be used to show that a problem is in C by reducing a problem in C to it. Many-one reductions are valuable because most well-studied complexity classes are closed under some type of many-one reducibility, including P, NP, L, NL, co-NP, PSPACE, EXP, and many others. It is known for example that the first four listed are closed up to the very weak reduction notion of polylogarithmic time projections. These classes are not closed under arbitrary many-one reductions, however.

## Properties

• The relations of many-one reducibility and 1-reducibility are transitive and reflexive and thus induce a preorder on the powerset of the natural numbers.
• ${\displaystyle A\leq _{\mathrm {m} }B}$ if and only if ${\displaystyle \mathbb {N} \setminus A\leq _{\mathrm {m} }\mathbb {N} \setminus B.}$
• A set is many-one reducible to the halting problem if and only if it is recursively enumerable. This says that with regards to many-one reducibility, the halting problem is the most complicated of all recursively enumerable problems. Thus the halting problem is r.e. complete. Note that it is not the only r.e. complete problem.
• The specialized halting problem for an individual Turing machine T (i.e., the set of inputs for which T eventually halts) is many-one complete iff T is a universal Turing machine. Emil Post showed that there exist recursively enumerable sets that are neither decidable nor m-complete, and hence that there exist nonuniversal Turing machines whose individual halting problems are nevertheless undecidable.

## Karp reductions

A polynomial-time many-one reduction from a problem A to a problem B (both of which are usually required to be decision problems) is a polynomial-time algorithm for transforming inputs to problem A into inputs to problem B, such that the transformed problem has the same output as the original problem. An instance x of problem A can be solved by applying this transformation to produce an instance y of problem B, giving y as the input to an algorithm for problem B, and returning its output. Polynomial-time many-one reductions may also be known as polynomial transformations or Karp reductions, named after Richard Karp. A reduction of this type is denoted by ${\displaystyle A\leq _{m}^{P}B}$ or ${\displaystyle A\leq _{p}B}$.[4][5]

## References

1. ^ a b Abrahamson, Karl R. (Spring 2016). "Mapping reductions". CSCI 6420 – Computability and Complexity. East Carolina University. Retrieved 2021-11-12.
2. ^ E. L. Post, "Recursively enumerable sets of positive integers and their decision problems", Bulletin of the American Mathematical Society 50 (1944) 284–316
3. ^ Norman Shapiro, "Degrees of Computability", Transactions of the American Mathematical Society 82, (1956) 281–299
4. ^ Goldreich, Oded (2008), Computational Complexity: A Conceptual Perspective, Cambridge University Press, pp. 59–60, ISBN 9781139472746
5. ^ Kleinberg, Jon; Tardos, Éva (2006). Algorithm Design. Pearson Education. pp. 452–453. ISBN 978-0-321-37291-8.