HOME

TheInfoList



OR:

In
computational complexity theory In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and relating these classes to each other. A computational problem is a task solved ...
, the
complexity class In computational complexity theory, a complexity class is a set of computational problems of related resource-based complexity. The two most commonly analyzed resources are time and memory. In general, a complexity class is defined in terms ...
PPP (polynomial pigeonhole principle) is a subclass of
TFNP In computational complexity theory, the complexity class TFNP is the class of total function problems which can be solved in nondeterministic polynomial time. That is, it is the class of function problems that are guaranteed to have an answer, and t ...
. It is the class of search problems that can be shown to be total by an application of the
pigeonhole principle In mathematics, the pigeonhole principle states that if items are put into containers, with , then at least one container must contain more than one item. For example, if one has three gloves (and none is ambidextrous/reversible), then there m ...
.
Christos Papadimitriou Christos Charilaos Papadimitriou ( el, Χρήστος Χαρίλαος "Χρίστος" Παπαδημητρίου; born August 16, 1949) is a Greek theoretical computer scientist and the Donovan Family Professor of Computer Science at Columbia Un ...
introduced it in the same paper that introduced PPAD and PPA. PPP contains both
PPAD In computer science, PPAD ("Polynomial Parity Arguments on Directed graphs") is a complexity class introduced by Christos Papadimitriou in 1994. PPAD is a subclass of TFNP based on functions that can be shown to be total by a parity argument. The c ...
and PWPP (polynomial weak pigeonhole principle) as subclasses. These complexity classes are of particular interest in cryptography because they are strongly related to cryptographic primitives such as one-way permutations and collision-resistant hash functions.


Definition

PPP is the set of all function computation problems that admit a
polynomial-time reduction 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 ...
to the ''PIGEON'' problem, defined as follows: :Given a Boolean circuit C having the same number n of input bits as output bits, find either an input x that is mapped to the output C(x) = 0^n, or two distinct inputs x \ne y that are mapped to the same output C(x) = C(y). A problem is PPP-
complete Complete may refer to: Logic * Completeness (logic) * Completeness of a theory, the property of a theory that every formula in the theory's language or its negation is provable Mathematics * The completeness of the real numbers, which implies ...
if ''PIGEON'' is also polynomial-time reducible to it. Note that the pigeonhole principle guarantees that ''PIGEON'' is total. We can also define ''WEAK-PIGEON'', for which the weak pigeonhole principle guarantees totality. PWPP is the corresponding class of problems that are polynomial-time reducible to it. ''WEAK-PIGEON'' is the following problem: :Given a Boolean circuit C having n input bits and n-1 output bits, find x \ne y such that C(x) = C(y). Here, the range of the circuit is strictly smaller than its domain, so the circuit is guaranteed to be non-
injective In mathematics, an injective function (also known as injection, or one-to-one function) is a function that maps distinct elements of its domain to distinct elements; that is, implies . (Equivalently, implies in the equivalent contraposi ...
. ''WEAK-PIGEON'' reduces to ''PIGEON'' by appending a single 1 bit to the circuit's output, so PWPP \subseteq PPP.


Connection to cryptography

We can view the circuit in ''PIGEON'' as a polynomial-time computable hash function. Hence, PPP is the complexity class which captures the hardness of either inverting or finding a collision in hash functions. More generally, the relationship of subclasses of FNP to polynomial-time complexity classes can be used to determine the existence of certain cryptographic primitives, and vice versa. For example, it is known that if FNP = FP, then
one-way functions In computer science, a one-way function is a function that is easy to compute on every input, but hard to invert given the image of a random input. Here, "easy" and "hard" are to be understood in the sense of computational complexity theory, spe ...
do not exist. Similarly, if PPP = FP, then one-way permutations do not exist. Hence, PPP (which is a subclass of FNP) more closely captures the question of the existence of one-way permutations. We can prove this by reducing the problem of inverting a permutation \pi on an output y to ''PIGEON''. Construct a circuit C that computes C(x) = \pi(x) \oplus y. Since \pi is a permutation, a solution to ''PIGEON'' must output x such that C(x) = 0 = \pi(x) \oplus y, which implies \pi(x) = y.


Relationship to PPAD

PPP contains
PPAD In computer science, PPAD ("Polynomial Parity Arguments on Directed graphs") is a complexity class introduced by Christos Papadimitriou in 1994. PPAD is a subclass of TFNP based on functions that can be shown to be total by a parity argument. The c ...
as a subclass (strict containment is an open problem). This is because ''End-of-the-Line'', which defines PPAD, admits a straightforward polynomial-time reduction to ''PIGEON''. In ''End-of-the-Line'', the input is a start vertex s in a directed graph G where each vertex has at most one successor and at most one predecessor, represented by a polynomial-time computable successor function f. Define a circuit C whose input is a vertex x and whose output is its successor if there is one, or x if it does not. If we represent the source vertex s as the bitstring 0^n, this circuit is a direct reduction of ''End-of-the-Line'' to ''Pigeon'', since any collision in C provides a sink in G.


Notable problems


Equal sums problem

The equal sums problem is the following problem. Given n positive integers that sum to less than 2^n - 1, find two distinct subsets of the integers that have the same total. This problem is contained in PPP, but it is not known if it is PPP-complete.


Constrained-SIS problem

The constrained-SIS (short integer solution) problem, which is a generalization of the SIS problem from lattice-based cryptography, has been shown to be complete for PPP. Prior to that work, the only problems known to be complete for PPP were variants of ''PIGEON''.


Integer factorization

There exist polynomial-time randomized reductions from the integer factorization problem to ''WEAK-PIGEON''. Additionally, under the
generalized Riemann hypothesis The Riemann hypothesis is one of the most important conjectures in mathematics. It is a statement about the zeros of the Riemann zeta function. Various geometrical and arithmetical objects can be described by so-called global L-function, ''L''-func ...
, there also exist deterministic polynomial reductions. However, it is still an open problem to unconditionally show that integer factorization is in PPP.


References

{{reflist Complexity classes