Lably
Skip to content

DTIME

Deterministic time, in computational complexity theory

  • 3 min read
  • 3 chapters

Related on Lably

Through Turing machine and Algorithm

The resource DTIME is used to define complexity classes, sets of all of the decision problems that can be solved using a certain amount of computation time. If problem instances of input size n can be solved in ⁠O(f(n))⁠, the problem is in the complexity class ⁠DTIME(f(n))⁠ (or ⁠TIME(f(n))⁠). There is no restriction on the amount of memory space used, but there may be restrictions on some other complexity resources (like alternation).

Complexity classes in DTIME

Many important complexity classes are defined in terms of DTIME, containing all of the problems that can be solved in a certain amount of deterministic time. Any proper complexity function can be used to define a complexity class, but only certain classes are useful to study. In general, we desire our complexity classes to be robust against changes in the computational model, and to be closed under composition of subroutines.

DTIME satisfies the time hierarchy theorem, meaning that asymptotically larger amounts of time always create strictly larger sets of problems.

The well-known complexity class P comprises all of the problems that can be solved in a polynomial amount of DTIME. It can be defined formally as:

P=⋃k∈NDTIME(nk)

P is the smallest robust class that includes linear-time problems DTIME(n) (AMS 2004, Lecture 2.2, pg. 20). P is one of the largest complexity classes considered "computationally feasible".

A much larger class using deterministic time is EXPTIME, which contains all of the problems solvable using a deterministic machine in exponential time. Formally, we have

EXPTIME=⋃k∈NDTIME(2nk).

Larger complexity classes can be defined similarly. Because of the time hierarchy theorem, these classes form a strict hierarchy; we know that P⊊EXPTIME, and on up.

Sign in to keep reading

2 more chapters are free with a Lably account.

More in Topics in mathematics