Polynomial creativity

From HandWiki
Revision as of 14:24, 6 February 2024 by Rtexter1 (talk | contribs) (update)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

In computational complexity theory, polynomial creativity is a theory analogous to the theory of creative sets in recursion theory and mathematical logic. The [math]\displaystyle{ k }[/math]-creative sets are a family of formal languages in the complexity class NP whose complements certifiably do not have [math]\displaystyle{ O(n^k) }[/math]-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 [math]\displaystyle{ k }[/math]-creative sets, the lack of a (more restricted) recognition algorithm can be proven, whereas a proof that NP ≠ co-NP remains elusive. The [math]\displaystyle{ k }[/math]-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 [math]\displaystyle{ k }[/math]-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]

Definition

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 [math]\displaystyle{ \mathrm{NP}^{(k)} }[/math] of nondeterministic Turing machine programs [math]\displaystyle{ p }[/math] that, for inputs [math]\displaystyle{ x }[/math] that they accept, have an accepting path with a number of steps that is at most [math]\displaystyle{ |p|(|x|^k+1) }[/math]. This notation should be distinguished with that for the complexity class NP. The complexity class NP is a set of formal languages, while [math]\displaystyle{ \mathrm{NP}^{(k)} }[/math] 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 [math]\displaystyle{ \mathrm{NP}^{(k)} }[/math], with a parameter [math]\displaystyle{ k }[/math] that is (up to the factor [math]\displaystyle{ |p| }[/math] 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 [math]\displaystyle{ L }[/math] in NP is [math]\displaystyle{ k }[/math]-creative if it is possible to find a witness showing that the complement of [math]\displaystyle{ L }[/math] is not recognized by any program in [math]\displaystyle{ \mathrm{NP}^{(k)} }[/math]. More formally, there should exist a polynomially computable function [math]\displaystyle{ f }[/math] that maps programs in this class to inputs on which they fail. When given a nondeterministic program [math]\displaystyle{ p }[/math] in [math]\displaystyle{ \mathrm{NP}^{(k)} }[/math], the function [math]\displaystyle{ f }[/math] should produce an input string [math]\displaystyle{ x=f(p) }[/math] that either belongs to [math]\displaystyle{ L }[/math] and causes the program to accept [math]\displaystyle{ x }[/math], or does not belong to [math]\displaystyle{ L }[/math] and causes the program to reject [math]\displaystyle{ x }[/math]. The function [math]\displaystyle{ f }[/math] is called a productive function for [math]\displaystyle{ L }[/math]. If this productive function exists, the given program does not produce the behavior on input [math]\displaystyle{ x }[/math] that would be expected of a program for recognizing the complement of [math]\displaystyle{ L }[/math].[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 [math]\displaystyle{ f }[/math] 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 [math]\displaystyle{ f }[/math] is the productive function for a [math]\displaystyle{ k }[/math]-creative language [math]\displaystyle{ K_f^k }[/math].[2]

Given [math]\displaystyle{ f }[/math], Joseph and Young define [math]\displaystyle{ K_f^k }[/math] to be the set of values [math]\displaystyle{ f(p) }[/math] for nondeterministic programs [math]\displaystyle{ p }[/math] that have an accepting path for [math]\displaystyle{ f(p) }[/math] using at most [math]\displaystyle{ |p|(|f(p)|^k+1) }[/math] steps. This number of steps (on that input) would be consistent with [math]\displaystyle{ p }[/math] belonging to [math]\displaystyle{ \mathrm{NP}^{(k)} }[/math]. Then [math]\displaystyle{ K_f^k }[/math] belongs to NP: given an input [math]\displaystyle{ f(p) }[/math] one can nondeterministically guess both [math]\displaystyle{ p }[/math] and its accepting path, and then verify that the input equals [math]\displaystyle{ f(p) }[/math] and that the path is valid for [math]\displaystyle{ p }[/math].[2]

Language [math]\displaystyle{ K_f^k }[/math] is [math]\displaystyle{ k }[/math]-creative, with [math]\displaystyle{ f }[/math] as its productive function, because every program [math]\displaystyle{ p }[/math] in [math]\displaystyle{ \mathrm{NP}^{(k)} }[/math] is mapped by [math]\displaystyle{ f }[/math] to a value [math]\displaystyle{ f(p) }[/math] that is either accepted by [math]\displaystyle{ p }[/math] (and therefore also belongs to [math]\displaystyle{ K_f^k }[/math]) or rejected by [math]\displaystyle{ p }[/math] (and therefore also does not belong to [math]\displaystyle{ K_f^k }[/math]).[2]

Completeness

Every [math]\displaystyle{ k }[/math]-creative set with a polynomially honest productive function is NP-complete. For any other language [math]\displaystyle{ X }[/math] in NP, by the definition of NP, one can translate any input [math]\displaystyle{ x }[/math] for [math]\displaystyle{ X }[/math] into a nondeterministic program [math]\displaystyle{ p_x }[/math] that ignores its own input and instead searches for a witness for [math]\displaystyle{ x }[/math], accepting its input if it finds one and rejecting otherwise. The length of [math]\displaystyle{ p_x }[/math] is polynomial in the size of [math]\displaystyle{ x }[/math] and a padding argument can be used to make [math]\displaystyle{ p_x }[/math] long enough (but still polynomial) for its running time to qualify for membership in [math]\displaystyle{ \mathrm{NP}^{(k)} }[/math]. Let [math]\displaystyle{ f }[/math] be the productive function used to define a given [math]\displaystyle{ k }[/math]-creative set [math]\displaystyle{ L }[/math], and let [math]\displaystyle{ g }[/math] be the translation from [math]\displaystyle{ x }[/math] to [math]\displaystyle{ p_x }[/math]. Then the composition of [math]\displaystyle{ g }[/math] with [math]\displaystyle{ f }[/math] maps inputs of [math]\displaystyle{ X }[/math] into counterexamples for the algorithms that test those inputs. This composition maps inputs that belong to [math]\displaystyle{ X }[/math] into strings that belong to [math]\displaystyle{ L }[/math], and inputs that do not belong to [math]\displaystyle{ X }[/math] into strings that do not belong to [math]\displaystyle{ L }[/math]. Thus, it is a polynomial-time many-one reduction from [math]\displaystyle{ X }[/math] to [math]\displaystyle{ L }[/math]. Since [math]\displaystyle{ L }[/math] is (by definition) in NP, and every other language in NP has a reduction to it, it must be NP-complete.[2]

It is also possible to prove more strongly that there exists an invertible parsimonious reduction to the [math]\displaystyle{ k }[/math]-creative set.[2]

Application to the Berman–Hartmanis conjecture

The Berman–Hartmanis conjecture states that there exists a polynomial-time isomorphism between any two NP-complete sets: a function that maps yes-instances of one such set one-to-one into yes-instances of the other, takes polynomial time, and whose inverse function can also be computed in polynomial time. It was formulated by Leonard C. Berman and Juris Hartmanis in 1977, based on the observation that all NP-complete sets known at that time were isomorphic. An equivalent formulation of the conjecture is that every NP-complete set is paddable. This means that there exists a polynomial-time and polynomial-time-invertible one-to-one transformation [math]\displaystyle{ h(x,y) }[/math] from yes-instances [math]\displaystyle{ x }[/math] to larger yes-instances that encode the "irrelevant" information [math]\displaystyle{ y }[/math].[4]

However, it is unknown how to find such a padding transformation for a [math]\displaystyle{ k }[/math]-creative language whose productive function is not polynomial-time-invertible. Therefore, if one-way permutations exist, the [math]\displaystyle{ k }[/math]-creative languages having these permutations as their productive functions provide candidate counterexamples to the Berman–Hartmanis conjecture.[2]

The (unproven) Joseph–Young conjecture formalizes this reasoning. The conjecture states that there exists a one-way length-increasing function [math]\displaystyle{ f }[/math] such that [math]\displaystyle{ K_f^k }[/math] is not paddable.[2] Alan Selman observed that this would imply a simpler conjecture, the encrypted complete set conjecture: there exists a one-way function [math]\displaystyle{ f }[/math] such that [math]\displaystyle{ \mathrm{SAT} }[/math] (the set of yes-instances for the satisfiability problem) and [math]\displaystyle{ f(\mathrm{SAT}) }[/math] are non-isomorphic.[5] There exists an oracle relative to which one-way functions exist, both of these conjectures are false, and the Berman–Hartmanis conjecture is true.[6]

References

  1. Goldreich, Oded (2010), P, NP, and NP-Completeness: The Basics of Computational Complexity, Cambridge University Press, pp. 154–155, ISBN 9781139490092 
  2. 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 "Some remarks on witness functions for nonpolynomial and noncomplete sets in NP", Theoretical Computer Science 39 (2–3): 225–237, 1985, doi:10.1016/0304-3975(85)90140-9, http://digital.library.wisc.edu/1793/58504 
  3. Ko, Ker-I; Moore, Daniel (1981), "Completeness, approximation and density", SIAM Journal on Computing 10 (4): 787–796, doi:10.1137/0210061 
  4. Berman, L. (1977), "On isomorphisms and density of NP and other complete sets", SIAM Journal on Computing 6 (2): 305–322, doi:10.1137/0206023, https://ecommons.cornell.edu/bitstream/1813/7101/1/75-260.pdf 
  5. "A survey of one-way functions in complexity theory", Mathematical Systems Theory 25 (3): 203–221, 1992, doi:10.1007/BF01374525 
  6. Rogers, John (1997), "The isomorphism conjecture holds and one-way functions exist relative to an oracle", Journal of Computer and System Sciences 54 (3): 412–423, doi:10.1006/jcss.1997.1486