NTIME

From testwiki
Revision as of 19:54, 19 December 2024 by imported>Cornmazes
(diff) ← Older revision | Latest revision (diff) | Newer revision β†’ (diff)
Jump to navigation Jump to search

Template:Short description In computational complexity theory, the complexity class NTIME(f(n)) is the set of decision problems that can be solved by a non-deterministic Turing machine which runs in time O(f(n)). Here O is the big O notation, f is some function, and n is the size of the input (for which the problem is to be decided).

Meaning

This means that there is a non-deterministic machine which, for a given input of size n, will run in time O(f(n)) (i.e. within a constant multiple of f(n), for n greater than some value), and will always "reject" the input if the answer to the decision problem is "no" for that input, while if the answer is "yes" the machine will "accept" that input for at least one computation path. Equivalently, there is a deterministic Turing machine M that runs in time O(f(n)) and is able to check an O(f(n))-length certificate for an input; if the input is a "yes" instance, then at least one certificate is accepted, if the input is a "no" instance, no certificate can make the machine accept.

Space constraints

The space available to the machine is not limited, although it cannot exceed O(f(n)), because the time available limits how much of the tape is reachable.

Relation to other complexity classes

The well-known complexity class NP can be defined in terms of NTIME as follows:

𝖭𝖯=kℕ𝖭𝖳𝖨𝖬𝖀(nk)

Similarly, the class NEXP is defined in terms of NTIME:

𝖭𝖀𝖷𝖯=kℕ𝖭𝖳𝖨𝖬𝖀(2nk)

The non-deterministic time hierarchy theorem says that nondeterministic machines can solve more problems in asymptotically more time.

NTIME is also related to DSPACE in the following way. For any time constructible function t(n), we have

𝖭𝖳𝖨𝖬𝖀(t(n))𝖣𝖲𝖯𝖠𝖒𝖀(t(n)).

A generalization of NTIME is ATIME, defined with alternating Turing machines. It turns out that

𝖭𝖳𝖨𝖬𝖀(t(n))𝖠𝖳𝖨𝖬𝖀(t(n))𝖣𝖲𝖯𝖠𝖒𝖀(t(n)).

References

Template:ComplexityZoo.

Template:ComplexityClasses