Many-one reduction explained
In computability theory and computational complexity theory, a many-one reduction (also called mapping reduction[1]) is a reduction that converts instances of one decision problem (whether an instance is in
) to another decision problem (whether an instance is in
) using a
computable function. The reduced instance is in the language
if and only if the initial instance is in its language
. Thus if we can decide whether
instances are in the language
, we can decide whether
instances are in its language by applying the reduction and solving for
. Thus, reductions can be used to measure the relative computational difficulty of two problems. It is said that
reduces to
if, in layman's terms
is at least as hard to solve as
. This means that any algorithm that solves
can also be used as part of a (otherwise relatively simple) program that solves
.
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
) can be invoked only once at the end, and the answer cannot be modified. This means that if we want to show that problem
can be reduced to problem
, we can use our solution for
only once in our solution for
, unlike in Turing reductions, where we can use our solution for
as many times as needed in order to solve the membership problem for the given instance of
.
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
and
are
formal languages over the
alphabets
and
, respectively. A
many-one reduction from
to
is a
total computable function
that has the property that each word
is in
if and only if
is in
.
If such a function
exists, one says that
is
many-one reducible or
m-reducible to
and writes
Subsets of natural numbers
Given two sets
one says
is
many-one reducible to
and writes
if there exists a
total computable function
with
iff
.
If the many-one reduction
is
injective, one speaks of a one-one reduction and writes
.
If the one-one reduction
is
surjective, one says
is
recursively isomorphic to
and writes
[4] p.324
Many-one equivalence
If both
and
, one says
is
many-one equivalent or
m-equivalent to
and writes
Many-one completeness (m-completeness)
A set
is called
many-one complete, or simply
m-complete,
iff
is recursively enumerable and every recursively enumerable set
is m-reducible to
.
Degrees
The relation
indeed is an
equivalence, its
equivalence classes are called m-degrees and form a poset
with the order induced by
.
p.257Some properties of the m-degrees, some of which differ from analogous properties of Turing degrees:pp.555--581
- There is a well-defined jump operator on the m-degrees.
- The only m-degree with jump 0m′ is 0m.
- There are m-degrees
where there does not exist
where
.
- Every countable linear order with a least element embeds into
.
- The first order theory of
is isomorphic to the theory of second-order arithmetic.
There is a characterization of
as the unique poset satisfying several explicit properties of its ideals, a similar characterization has eluded the Turing degrees.
pp.574--575Myhill's isomorphism theorem can be stated as follows: "For all sets
of natural numbers,
." As a corollary,
and
have the same equivalence classes.
p.325 The equivalences classes of
are called the
1-degrees.
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
or
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
and
and an
algorithm N that solves instances of
, we can use a many-one reduction from
to
to solve instances of
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 outside C to a language in 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 it to a problem in C. 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.
Many-one reductions extended
One may also ask about generalized cases of many-one reduction. One such example is e-reduction, where we consider
that are recursively enumerable instead of restricting to recursive
. The resulting reducibility relation is denoted
, and its poset has been studied in a similar vein to that of the Turing degrees. For example, there is a jump set
for
e-degrees. The
e-degrees do admit some properties differing from those of the poset of Turing degrees, e.g. an embedding of the diamond graph into the degrees below
.
[5] Properties
if and only if N\setminusA\leqmN\setminusB.
- 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
or
.
[6] Notes and References
- Web site: Mapping reductions. CSCI 6420 – Computability and Complexity. Spring 2016. Karl R.. Abrahamson. East Carolina University. 2021-11-12.
- E. L. Post, "Recursively enumerable sets of positive integers and their decision problems", Bulletin of the American Mathematical Society 50 (1944) 284–316
- Norman Shapiro, "Degrees of Computability", Transactions of the American Mathematical Society 82, (1956) 281–299
- [Piergiorgio Odifreddi|P. Odifreddi]
- S. Ahmad, Embedding the Diamond in the
Enumeration Degrees (1991). Journal of Symbolic Logic, vol.56.
- Book: Kleinberg . Jon. Jon Kleinberg. Tardos . Éva. Éva Tardos. 2006. Pearson Education. Algorithm Design. 978-0-321-37291-8. 452–453.