Ad
related to: explain in brief polynomial reduction and analysis examples
Search results
Results From The WOW.Com Content Network
In computational complexity theory, a polynomial-time reduction is a method for solving one problem using another. One shows that if a hypothetical subroutine solving the second problem exists, then the first problem can be solved by transforming or reducing it to inputs for the second problem and calling the subroutine one or more times.
A set A is polynomial-time reducible to a set if there is a Turing reduction of to that runs in polynomial time. The concept of log-space reduction is similar. These reductions are stronger in the sense that they provide a finer distinction into equivalence classes, and satisfy more restrictive requirements than Turing reductions.
A polynomial-time counting reduction is usually used to transform instances of a known-hard problem into instances of another problem that is to be proven hard. It consists of two functions f {\displaystyle f} and g {\displaystyle g} , both of which must be computable in polynomial time .
As described in the example above, there are two main types of reductions used in computational complexity, the many-one reduction and the Turing reduction.Many-one reductions map instances of one problem to instances of another; Turing reductions compute the solution to one problem, assuming the other problem is easy to solve.
The primality example above, for instance, is an example of a decision problem as it can be represented by the yes–no question "is the natural number prime". In terms of the theory of computation, a decision problem is represented as the set of input strings that a computer running a correct algorithm would answer "yes" to.
In computational complexity theory, a computational problem H is called NP-hard if, for every problem L which can be solved in non-deterministic polynomial-time, there is a polynomial-time reduction from L to H. That is, assuming a solution for H takes 1 unit time, H ' s solution can be used to solve L in polynomial time.
A standard example for a kernelization algorithm is the kernelization of the vertex cover problem by S. Buss. [1] In this problem, the input is an undirected graph together with a number . The output is a set of at most k {\displaystyle k} vertices that includes an endpoint of every edge in the graph, if such a set exists, or a failure ...
The program is solvable in polynomial time if the graph has all undirected or all directed edges. Variants include the rural postman problem. [3]: ND25, ND27 Clique cover problem [2] [3]: GT17 Clique problem [2] [3]: GT19 Complete coloring, a.k.a. achromatic number [3]: GT5 Cycle rank; Degree-constrained spanning tree [3]: ND1