In
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
, the
complexity class
In computational complexity theory, a complexity class is a set (mathematics), set of computational problems "of related resource-based computational complexity, complexity". The two most commonly analyzed resources are time complexity, time and s ...
NEXPTIME (sometimes called NEXP) is the set of
decision problem
In computability theory and computational complexity theory, a decision problem is a computational problem that can be posed as a yes–no question on a set of input values. An example of a decision problem is deciding whether a given natura ...
s that can be solved by a
non-deterministic Turing machine
In theoretical computer science, a nondeterministic Turing machine (NTM) is a theoretical model of computation whose governing rules specify more than one possible action when in some given situations. That is, an NTM's next state is ''not'' comp ...
using time
.
In terms of
NTIME,
:
Alternatively, NEXPTIME can be defined using deterministic Turing machines as verifiers. A
language
Language is a structured system of communication that consists of grammar and vocabulary. It is the primary means by which humans convey meaning, both in spoken and signed language, signed forms, and may also be conveyed through writing syste ...
''L'' is in NEXPTIME if and only if there exist polynomials ''p'' and ''q'', and a deterministic Turing machine ''M'', such that
* For all ''x'' and ''y'', the machine ''M'' runs in time
on input
* For all ''x'' in ''L'', there exists a string ''y'' of length
such that
* For all ''x'' not in ''L'' and all strings ''y'' of length
,
We know
:
and also, by the
time hierarchy theorem, that
:
If
, then (
padding argument); more precisely, if and only if there exist
sparse languages in NP that are not in P.
Alternative characterizations
In
descriptive complexity
Descriptive complexity is a branch of computational complexity theory and of finite model theory that characterizes complexity classes by the type of logic needed to express the formal language, languages in them. For example, PH (complexity), PH, ...
, the sets of natural numbers that can be recognized in NEXPTIME are exactly those that form the
spectrum of a sentence, the set of sizes of
finite models of some logical sentence.
NEXPTIME often arises in the context of
interactive proof systems, where there are two major characterizations of it. The first is the MIP proof system, where we have two all-powerful provers which communicate with a randomized polynomial-time verifier (but not with each other). If the string is in the language, they must be able to convince the verifier of this with high probability. If the string is not in the language, they must not be able to collaboratively trick the verifier into accepting the string except with low probability. The fact that MIP proof systems can solve every problem in NEXPTIME is quite impressive when we consider that when only one prover is present, we can only recognize all of PSPACE; the verifier's ability to "cross-examine" the two provers gives it great power. See
interactive proof system#MIP for more details.
Another interactive proof system characterizing NEXPTIME is a certain class of
probabilistically checkable proofs. Recall that NP can be seen as the class of problems where an all-powerful prover gives a purported proof that a string is in the language, and a deterministic polynomial-time machine verifies that it is a valid proof. We make two changes to this setup:
* Add randomness, the ability to flip coins, to the verifier machine.
* Instead of simply giving the purported proof to the verifier on a tape, give it random access to the proof. The verifier can specify an index into the proof string and receive the corresponding bit. Since the verifier can write an index of polynomial length, it can potentially index into an exponentially long proof string.
These two extensions together greatly extend the proof system's power, enabling it to recognize all languages in NEXPTIME. The class is called PCP(poly, poly). What more, in this characterization the verifier may be limited to read only a constant number of bits, i.e. NEXPTIME = PCP(poly, 1). See
probabilistically checkable proofs for more details.
NEXPTIME-complete
A decision problem is NEXPTIME-complete if it is in NEXPTIME, and every problem in NEXPTIME has a
polynomial-time many-one reduction to it. In other words, there is a polynomial-time
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
that transforms instances of one to instances of the other with the same answer. Problems that are NEXPTIME-complete might be thought of as the hardest problems in NEXPTIME. We know that NEXPTIME-complete problems are not in NP; it has been proven that these problems cannot be verified in
polynomial time
In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations p ...
, by the
time hierarchy theorem.
Examples of NEXPTIME-complete problems
Succinct problems
An important set of NEXPTIME-complete problems relates to
succinct circuits. Succinct circuits are simple machines used to describe graphs in exponentially less space. They accept two vertex numbers as input and output whether there is an edge between them. If solving a problem on a graph in a natural representation, such as an
adjacency matrix
In graph theory and computer science, an adjacency matrix is a square matrix used to represent a finite graph (discrete mathematics), graph. The elements of the matrix (mathematics), matrix indicate whether pairs of Vertex (graph theory), vertices ...
, is
NP-complete
In computational complexity theory, NP-complete problems are the hardest of the problems to which ''solutions'' can be verified ''quickly''.
Somewhat more precisely, a problem is NP-complete when:
# It is a decision problem, meaning that for any ...
, then solving the same problem on a succinct circuit representation is NEXPTIME-complete, because the input is exponentially smaller (under some mild condition that the NP-completeness reduction is achieved by a "projection"). As one simple example, finding a
Hamiltonian path
In the mathematical field of graph theory, a Hamiltonian path (or traceable path) is a path in an undirected or directed graph that visits each vertex exactly once. A Hamiltonian cycle (or Hamiltonian circuit) is a cycle that visits each vert ...
for a graph thus encoded is NEXPTIME-complete.
Logic
The satisfiability problem of first-order logic with two variables is NEXPTIME-complete. The satisfiability problem of first-order logic with counting and with two variables is NEXPTIME-complete.
See also
*
Game complexity
Combinatorial game theory measures game complexity in several ways:
#State-space complexity (the number of legal game positions from the initial position)
#Game tree size (total number of possible games)
#Decision complexity (number of leaf nod ...
*
NP
*
EXPTIME
References
* ,
*
{{DEFAULTSORT:Nexptime
Complexity classes