Savitch's theorem: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Petrb
m Reverted edits by 59.178.54.227 (talk): unexplained content removal (HG)
 
Line 1: Line 1:
In [[computational complexity theory]], '''DTIME''' (or '''TIME''') is the [[computational resource]] of [[computation time]] for a [[deterministic Turing machine]].  It represents the amount of time (or number of computation steps) that a "normal" physical computer would take to solve a certain [[computational problem]] using a certain [[algorithm]].  It is one of the most well-studied complexity resources, because it corresponds so closely to an important real-world resource (the amount of time it takes a computer to solve a problem).
I am Keith and was born on 24 October 1988. My hobbies are Exhibition Drill and Audiophilia.<br><br>My web page: [http://www.doravenus.com/traveling/groups/we-make-shopping-online-your-successful-strategy-with-the-4inkjets-promo-code/ Coupon 4Inkjets Discount Printer Supplies Coupon Code]
 
The resource '''DTIME''' is used to define [[complexity class]]es, sets of all of the [[decision problem]]s which can be solved using a certain amount of computation time.  If a problem of input size ''n'' can require ''f(n)'' computation time to solve, we have a 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)|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 [[asymptotic analysis|asymptotically]] larger amounts of time always create strictly larger sets of problems.
 
The well-known complexity class '''[[P (complexity)|P]]''' comprises all of the problems which can be solved in a polynomial amount of '''DTIME'''.  It can be defined formally as:
 
:<math>\mbox{P} = \bigcup_{k\in\mathbb{N}} \mbox{DTIME}(n^k)</math>
 
'''P''' is the smallest robust class which includes linear-time problems <math>\mbox{DTIME}\left(n\right)</math> (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
:<math> \mbox{EXPTIME} = \bigcup_{k \in \mathbb{N} } \mbox{DTIME} \left( 2^{ n^k } \right) . </math>
 
Larger complexity classes can be defined similarly.  Because of the time hierarchy theorem, these classes form a strict hierarchy; we know that <math>\mbox{P} \subsetneq \mbox{EXPTIME} </math>, and on up.
 
==Machine model==
 
The exact machine model used to define DTIME can vary without affecting the power of the resource. Results in the literature often use [[multitape Turing machine]]s, particularly when discussing very small time classes. In particular, a multitape deterministic Turing machine can never provide more than a quadratic time speedup over a singletape machine (Papadimitriou 1994, Thrm. 2.1).
 
Multiplicative constants in the amount of time used do not change the power of DTIME classes; a constant multiplicative speedup can always be obtained by increasing the number of states in the finite state control.  In the statement of Papadimitriou (1994, Thrm. 2.2), for a language L,
 
:Let ''L'' <math>\in</math> '''DTIME'''(f(n)).  Then, for any <math>\epsilon</math> > 0, L <math>\in</math> '''DTIME'''''(f'(n))'', where ''f'(n) = <math>\epsilon</math> f(n) + n + 2.
 
==Generalizations==
 
Using a model other than a deterministic Turing machine, there are various generalizations and restrictions of DTIME.  For example, if we use a [[nondeterministic Turing machine]], we have the resource [[NTIME]].  The relationship between the expressive powers of DTIME and other computational resources are very poorly understood. One of the few known results<ref>Paul Wolfgang, [[Nick Pippenger]], Endre Szemeredi, William Trotter. On determinism versus non-determinism and related problems. {{doi|10.1109/SFCS.1983.39}}</ref> is
 
:<math>\mathsf{DTIME}(O(n)) \neq \mathsf{NTIME}(O(n))</math>
 
for multitape machines. If we use an [[alternation (complexity)|alternating Turing machine]], we have the resource ATIME.
 
==References==
{{Reflist}}
*{{cite book
| author = [[American Mathematical Society]]
| editor = [[Steven Rudich|Rudich, Steven]] and [[Avi Wigderson]] (ed.)
| title = Computational Complexity Theory
| year = 2004
| publisher = American Mathematical Society and [[Institute for Advanced Study]]
| isbn = 0-8218-2872-X
}}
*{{cite book
| last = Papadimitriou
| first = Christos H.
| authorlink = Christos Papadimitriou
| year = 1994
| title = Computational Complexity
| publisher = Addison-Wesley
| location = Reading, Massachusetts
| isbn = 0-201-53082-1
}}
 
{{ComplexityClasses}}
 
{{DEFAULTSORT:Dtime}}
[[Category:Computational resources]]
[[Category:Complexity classes]]

Latest revision as of 17:15, 19 December 2014

I am Keith and was born on 24 October 1988. My hobbies are Exhibition Drill and Audiophilia.

My web page: Coupon 4Inkjets Discount Printer Supplies Coupon Code