[next] [prev] [prev-tail] [tail] [up]

5.2  A Time Hierarchy

      Lower Bounds on Time Complexity
      Tractability and Intractability

Intuitively, it seems obvious that some problems require more time to solve than others. The following result confirms this intuitive assessment while implying the existence of a time hierarchy for the class of language recognition problems.

Definitions     A function T(n) is said to be time-constructible if there exists a T(n) time-bounded, deterministic Turing machine that for each n has an input of length n on which it makes exactly T(n) moves. The function is said to be fully time-constructible if there exists a deterministic Turing machine that makes exactly T(n) moves on each input of length n. A function S(n) is said to be space-constructible if there exists an S(n) space-bounded, deterministic Turing machine that for each n has an input of length n on which it requires exactly S(n) space. The function is said to be fully space-constructible if there exists a deterministic Turing machine that requires exactly S(n) space on each input of length n.

Example 5.2.1    The deterministic Turing machine M in Figure 5.2.1


   
[PICT]
Figure 5.2.1 A T(n) = 2n time-bounded, deterministic Turing machine.

makes exactly t(x) = |x| + (number of 1's in x) moves on a given input x. t(x) = 2|x| when x contains no 0's, and t(x) < 2|x| when x contains 0's.

The existence of M implies that T(n) = 2n is a time-constructible function, because

  1.  M is 2n time-bounded, and
  2.  For each n there exists the input 1n of length n on which M makes exactly 2n moves.
The existence of the deterministic Turing machine M does not imply that 2n is fully time-constructible, because M does not make exactly 2n moves on each input of length n. However, M can be modified to show that 2n is a fully time-constructible function.  ***

Convention     In this section Mx denotes a Turing machine that is represented by the string x of the following form. If x = 1jx0 for some j >= 0 and for some standard binary representation x0 of a deterministic Turing machine M, then Mx denotes M. Otherwise, Mx denotes a deterministic Turing machine that accepts no input. The string x is said to be a padded binary representation of Mx.

Theorem 5.2.1    Consider any function T1(n) and any fully time-constructible function T2(n), that for each c > 0 have an nc such that T2(n) >= c(T1(n))2 for all n >= nc. Then there is a language which is in DTIME (T2(n)) but not in DTIME (T1(n)).

Proof     Let T1(n) and T2(n) be as in the statement of the theorem. Let U be a universal Turing machine similar to the universal Turing transducer in the proof of Lemma 5.1.1. The main difference is that here U assumes an input (M, x) in which M is represented by a padded binary representation instead of a standard binary representation. U starts each computation by going over the "padding" 1j until it reaches the first 0 in the input. Then U continues with its computation in the usual manner while ignoring the padding. U uses a third auxiliary work tape for keeping track of the distance of its input head from the end of the padding. The result is shown by diagonalization over the language L = { v | v is in {0, 1}*, and U does not accept (Mv, v) in T2(|v|) time }.

L is obtained from the diagonal of the table Tuniversal (see Figure 5.2.2).


   
[PICT]
Figure 5.2.2 Hypothetical table Tuniversal indicating membership in the language { (Mw, u) | U accepts (Mw, u) in T2(|u|) time }.

In the table Tuniversal the entry at row Mw and column u is equal to 1 if U accepts (Mw, u) in T2(|u|) time, and it is equal to 0 if U does not. The proof relies on the observation that each O(T1(n)) time-bounded, deterministic Turing machine Mx0 that accepts L has also a padded representation x for which U can simulate the whole computation of Mx on x in T2(|x|) time. Consequently, Mx accepts x if and only if U does not accept (Mx, x) or, equivalently, if and only if Mx does not accept x.

Specifically, for the purpose of showing that L is not in DTIME (T1(n)), assume to the contrary that L is in the class. Under this assumption, there is a dT1(n) time-bounded, deterministic Turing machine M that accepts L, for some constant d. Let x0 be a standard binary representation of M, and c be the corresponding constant cM implied by Lemma 5.1.1 for the representation x0 of M. Let x = 1jx0 for some j that satisfies j + c(dT1(j + |x0|))2 <= T2(j + |x0|), that is, x = 1jx0 for a large enough j to allow U sufficient time T2(|x|) for simulating the whole computation of Mx on input x. Such a value j exists because for big enough j the following inequalities hold.

j + c(dT1(j + |x0| )) 2 <= (j + |x 0|) + c(dT1(j + |x0| )) 2
<= T1(j + |x0|) + c(dT1(j + |x0|)) 2
<= (1 + cd2)(T1(j + |x0|)) 2
<= T2(j + |x0|)

Consider the string x = 1jx0. By definition, |x| = j + |x0| and so j + c(dT1(|x|))2 <= T2(|x|). Moreover, x is a padded binary representation of M. For the string x one of the following two cases must hold. However, neither of them can hold, so implying the desired contradiction to the assumption that L is in DTIME (T1(n)).

Case 1
x is in L. The assumption together with L = L(Mx) imply that Mx accepts x in dT1(|x|) time. In such a case, by Lemma 5.1.1 U accepts (Mx, x) in j + c(dT1(|x|))2 <= T2(|x|) time. On the other hand, x in L together with the definition of L imply that U does not accept x in T2(|x|) time. The contradiction implies that this case cannot hold.
Case 2
x is not in L. The assumption together with L = L(Mx) imply that Mx does not accept x. In such a case, U does not accept (Mx, x) either. On the other hand, x not in L together with the definition of L imply that U accepts (Mx, x). The contradiction implies that this case cannot hold either.
To show that L is in DTIME (T2(n)) consider the deterministic four auxiliary-work-tape Turing machine M that on input x proceeds according to the following algorithm.
Step 1
M stores (Mx, x) in its first auxiliary work tape. That is, M stores the string x, followed by the separator 01, followed by the representation 011 of the left endmarker ¢, followed by x, followed by the representation 0111 of the right endmarker $. In addition, M encloses the sequence of strings above between the "left endmarker" PICT and the "right endmarker" PICT, respectively.
Step 2
M computes the value of T2(|x|) and stores it in the second auxiliary work tape.
Step 3
M follows the moves of U on the content of its first auxiliary work tape, that is, on (Mx, x). M uses its third and fourth auxiliary work tapes for recording the content of the two auxiliary work tapes of U. During the simulation M interprets PICT as the left endmarker ¢, and PICT as the right endmarker $. M halts in an accepting configuration if it determines that U does not reach an accepting state in T2(|x|) moves. Otherwise, M halts in a nonaccepting configuration.
By construction, the Turing machine M is of O(T2(|x|)) time complexity. The fully time-constructibility of T2(n) is required for Step 2.  ***

Example 5.2.2    Let T1(n) = nk and T2(n) = 2n. T1(n) and T2(n) satisfy the conditions of Theorem 5.2.1. Therefore the class DTIME (2n) properly contains the class DTIME (nk). 
***

 Lower Bounds on Time Complexity

In addition to implying the existence of a time hierarchy for the language recognition problems, Theorem 5.2.1 can be used to show lower bounds on the time complexity of some problems. Specifically, consider any two functions T1(n) and T2(n) that satisfy the conditions of Theorem 5.2.1. Assume that each membership problem Ki for a language in DTIME (T2(n)) can be reduced by a T3(n) time-bounded, deterministic Turing transducer Mi to some fixed problem K (see Figure 5.2.3).


   
[PICT]
Figure 5.2.3 A set of Turing transducers M1, M2, . . . for reducing the problems K1, K2, . . . in DTIME (T2(n)) to a given language recognition problem K. Each Mi on instance x of Ki provides an instance y of K, where K has the answer yes for y if and only if Ki has the answer yes for x.

In addition, assume that each such Mi on input x of length n provides an output y of length f(n) at most. Then the membership problems for the languages in DTIME (T2(n)) are decidable in T3(n) + T(f(n)) time if K can be solved in T(n) time. In such a case, a lower bound for the time complexity T(n) of K is implied, since by Theorem 5.2.1 the class DTIME (T2(n)) contains a problem that requires more than cT1(n) time for each constant c, that is, the inequality T3(n) + T(f(n)) > cT1(n) must hold for infinitely many n's. The lower bound is obtained by substituting m for f(n) to obtain the inequality T(m) > cT1(f-1(m)) - T3(f-1(m)) or, equivalently, the inequality T(n) > cT1(f-1(n)) - T3(f-1(n)).

Example 5.2.3    Consider the time bounds T1(n) = 2an, T2(n) = 2bn for b > 2a, and T3(n) = f(n) = n log n. For such a choice, T3(n) + T(f(n)) > cT1(n) implies that n log n + T(n log n) > c2an. By substituting m for n log n it follows that T(m) > c2an - m = c2am/log n - m >= c2am/log m - m >= 2dm/log m or, equivalently, that T(n) > 2dn/log n for some constant d.  ***

The approach above for deriving lower bounds is of special interest in the identification of intractable problems, that is, problems that require impractical amounts of resources to solve. Such an identification can save considerable effort that might otherwise be wasted in trying to solve intractable problems.

 Tractability and Intractability

In general, a problem is considered to be tractable if it is of polynomial time complexity. This is because its time requirements grow slowly with input length. Conversely, problems of exponential time complexity are considered to be intractable, because their time requirements grow rapidly with input length and so can be practically solved only for small inputs. For instance, an increase by a factor of 2 in n, increases the value of a polynomial p(n) of degree k by at most a factor of 2k. On the other hand, such an increase at least squares the value of 2p(n).

The application of the approach above in the identification of intractable problems employs polynomially time-bounded reductions.

A problem K1 is said to be polynomially time reducible to a problem K2 if there exist polynomially time-bounded, deterministic Turing transducers Tf and Tg that for each instance I1 of K1 satisfy the following conditions (see Figure 5.2.4).


   
[PICT]
Figure 5.2.4 Reduction by polynomially time-bounded, deterministic Turing transducers Tf and Tg.

  1.  Tf on input I1 gives an instance I2 of K2.
  2.  K1 has a solution S1 at I1 if and only if K2 has a solution S2 at I2, where S1 is the output of Tg on input S2.
In the case that K1 and K2 are decision problems, with no loss of generality it can be assumed that Tg computes the identity function g(S) = S, that is, that Tg on input S2 outputs S1 = S2.

A given complexity class C of problems can be used to show the intractability of a problem K by showing that the following two conditions hold.

  1.  C contains some intractable problems.
  2.  Each problem in C is polynomially time reducible to K, that is, K is at least as hard to solve as any problem in C.
Once a problem K is determined to be intractable, it then might be used to show the intractability of some other problems ^K by showing that K is polynomially time reducible to K^. In such a case, the easier K is the easier the reductions are, and the larger the class of such applicable problems K^ is.

The observation above sparks our interest in the "easiest" intractable problems K, and in the complexity classes C whose intractable problems are all "easiest" intractable problems.

In what follows, a problem K is said to be a C-hard problem with respect to polynomial time reductions, or just a C-hard problem when the polynomial time reductions are understood, if every problem in the class C is polynomially time reducible to the problem K. The problem K is said to be C-complete if it is a C-hard problem in C.

Our interest here is in the cases that C = NP and C = PSPACE.

[next] [prev] [prev-tail] [front] [up]