Polynomial creativity
From Wikipedia, the free encyclopedia
In computational complexity theory, polynomial creativity is a theory analogous to the theory of creative sets in recursion theory and mathematical logic. The -creative sets are a family of formal languages in the complexity class NP whose complements certifiably do not have -time nondeterministic recognition algorithms. It is generally believed that NP is unequal to co-NP (the class of complements of languages in NP), which would imply more strongly that the complements of all NP-complete languages do not have polynomial-time nondeterministic recognition algorithms.[1] However, for the -creative sets, the lack of a (more restricted) recognition algorithm can be proven, whereas a proof that NP ≠ co-NP remains elusive.
The -creative sets are conjectured to form counterexamples to the Berman–Hartmanis conjecture on isomorphism of NP-complete sets. It is NP-complete to test whether an input string belongs to any one of these languages, but no polynomial time isomorphisms between all such languages and other NP-complete languages are known. Polynomial creativity and the -creative sets were introduced in 1985 by Deborah Joseph and Paul Young, following earlier attempts to define polynomial analogues for creative sets by Ko and Moore.[2][3]
Intuitively, a set is creative when there is a polynomial-time algorithm that creates a counterexample for any candidate fast nondeterministic recognition algorithm for its complement.
The classes of fast nondeterministic recognition algorithms are formalized by Joseph and Young as the sets of nondeterministic Turing machine programs that, for inputs that they accept, have an accepting path with a number of steps that is at most . This notation should be distinguished with that for the complexity class NP. The complexity class NP is a set of formal languages, while is instead a set of programs that accept some of these languages. Every language in NP is recognized by a program in one of the sets , with a parameter that is (up to the factor in the bound on the number of steps) the exponent in the polynomial running time of the program.[2]
According to Joseph and Young's theory, a language in NP is -creative if it is possible to find a witness showing that the complement of is not recognized by any program in . More formally, there should exist a polynomially computable function that maps programs in this class to inputs on which they fail. When given a nondeterministic program in , the function should produce an input string that either belongs to and causes the program to accept , or does not belong to and causes the program to reject . The function is called a productive function for . If this productive function exists, the given program does not produce the behavior on input that would be expected of a program for recognizing the complement of .[2]
Existence
Joseph and Young construct creative languages by reversing the definitions of these languages: rather than starting with a language and trying to find a productive function for it, they start with a function and construct a language for which it is the productive function. They define a polynomial-time function to be polynomially honest if its running time is at most a polynomial function of its output length. This disallows, for instance, functions that take polynomial time but produce outputs of less than polynomial length. As they show, every one-to-one polynomially-honest function is the productive function for a -creative language .[2]
Given , Joseph and Young define to be the set of values for nondeterministic programs that have an accepting path for using at most steps. This number of steps (on that input) would be consistent with belonging to . Then belongs to NP: given an input one can nondeterministically guess both and its accepting path, and then verify that the input equals and that the path is valid for .[2]
Language is -creative, with as its productive function, because every program in is mapped by to a value that is either accepted by (and therefore also belongs to ) or rejected by (and therefore also does not belong to ).[2]