For the time-bounded classes, we show a weaker result.

Theorem 1.23

Proof

A nondecreasing function f(n) is called superpolynomial if

equation

for all i ≥ 1. For instance, the exponential function 2n is superpolynomial, and the functions c01-math-1399, for k > 1, are also superpolynomial.

Corollary 1.24

Proof

Corollary 1.25

It follows that c01-math-1408 and c01-math-1409.

The above time and space hierarchy theorems can also be extended to nondeterministic time- and space-bounded complexity classes. The proofs, however, are more involved, because acceptance and rejection in NTMs are not symmetric. We only list the simpler results on nondeterministic space-bounded complexity classes, which can be proved by a straightforward diagonalization. For the nondeterministic time hierarchy, see Exercise 1.28.

Theorem 1.26

Proof

In addition to the diagonalization technique, some other proof techniques for separating complexity classes are known. For instance, the following result separating the classes c01-math-1413 and PSPACE is based on a closure property of PSPACE that does not hold for c01-math-1416. Unfortunately, this type of indirect proof techniques is not able to resolve the question of whether c01-math-1417 or c01-math-1418.

Theorem 1.27

Proof

1.7 Simulation

We study, in this section, the relationship between deterministic and nondeterministic complexity classes, as well as the relationship between time- and space-bounded complexity classes. We show several different simulations of nondeterministic machines by deterministic ones.

Theorem 1.28

Proof

Corollary 1.29

Next we consider the space complexity of the deterministic simulation of nondeterministic space-bounded machines.

Theorem 1.30

Proof

Corollary 1.31

For any complexity class c01-math-1591, let c01-math-1592 (or, co-c01-math-1594) denote the class of complements of sets in c01-math-1595, that is, c01-math-1596, where c01-math-1597, and Σ is the smallest alphabet such that c01-math-1599. One of the differences between deterministic and nondeterministic complexity classes is that deterministic classes are closed under complementation, but this is not known to be true for nondeterministic classes. For instance, it is not known whether NP = coNP. The following theorem shows that for most interesting nondeterministic space-bounded classes c01-math-1601, c01-math-1602.

Theorem 1.32

Proof

Recall that in the formal language theory, a language L is called context-sensitive if there exists a grammar G generatingthe language L with the right-hand side of each grammar rule in G being at least as long as its left-hand side. A well-known characterization for the context-sensitive languages is that the context-sensitive languages are exactly the class c01-math-1745.

Corollary 1.33

image

Figure 1.7 Inclusive relations among the complexity classes. We write L to denote LOGSPACE and NL to denote NLOGSPACE. The label c01-math-1751 means the proper inclusion. The label ? means the inclusion is not known to be proper.

The above results, together with the ones proved in the last section, are the best we know about the relationship among time/space-bounded deterministic/nondeterministic complexity classes. Many other important relations are not known. We summarize in Figure 1.7 the known relations among the most familiar complexity classes. More complexity classes between P and PSPACE will be introduced in Chapters 3, 8, 9, and 10. Complexity classes between LOGSPACE and P will be introduced in Chapter 6.

Exercises

1.1 Let c01-math-1753 be q natural numbers, and Σ be an alphabet of r symbols. Show that there exist q strings c01-math-1758 over Σ, of lengths c01-math-1760, respectively, which form an alphabet if and only if c01-math-1761.

  1. 1.2 a. Let c ≥ 0 be a constant. Prove that no pairing function c01-math-1763 exists such that for all c01-math-1764, c01-math-1765.
  2. b. Prove that there exists a pairing function c01-math-1766 such that (i) for any c01-math-1767, c01-math-1768, (ii) it is polynomial-time computable, and (iii) its inverse function is polynomial-time computable (if c01-math-1769, then c01-math-1770).
  3. c. Let c01-math-1771 be defined by c01-math-1772. Prove that f is one–one, onto, polynomial-time computable (with respect to the binary representations of natural numbers) and that c01-math-1774 is polynomial-time computable. (Therefore, f is an efficient pairing function on natural numbers.)

1.3 There are two cities T and F. The residents of city T always tell the truth and the residents of city F always lie. The two cities are very close. Their residents visit each other very often. When you walk in city T you may meet a person who came from city F, and vice versa. Now, suppose that you are in one of the two cities and you want to find out which city you are in. Also suppose that you are allowed to ask a person on the street for only one YES/NO question. What question should you ask? [Hint: You may first design a Boolean function f of two variables, the resident and the city, for your need, and then find a question corresponding to f.]

1.4 How many Boolean functions of n variables are there?

1.5 Assume that f is a Boolean function of more than two variables. Prove that for any minterm p of c01-math-1787, there exists a minterm of f containing p as a subterm.

1.6 Design a multi-tape DTM M to accept the language c01-math-1791. Show the computation paths of M on inputs c01-math-1793 and c01-math-1794.

1.7 Design a multi-tape NTM M to accept the language c01-math-1796 for some c01-math-1797. Show the computation tree of M on input c01-math-1799. What is the time complexity of M?

1.8 Show that the problem of Example 1.2 can be solved by a DTM in polynomial time.

1.9 Give formal definitions of the configurations and the computation of a k-tape DTM.

1.10 Assume that M is a three-tape DTM using tape alphabet c01-math-1803. Consider the one-tape DTM M1 that simulates M as described in Theorem 1.16. Describe explicitly the part of the transition function of M1 that moves the tape head from left to right to collect the information of the current tape symbols scanned by M.

1.11 Let c01-math-1808 is an undirected graph, c01-math-1809 are connected}. Design an NTM M that accepts set C in space c01-math-1813. Can you find a DTM accepting C in space c01-math-1815? (Assume that c01-math-1816. Then, the input to the machine M is c01-math-1818, where c01-math-1819 if c01-math-1820 and c01-math-1821 otherwise.)

1.12 Prove that any finite set of strings belongs to c01-math-1822.

1.13 Estimate an upper bound for the number of possible computation histories c01-math-1823 in the proof of Proposition 1.13.

1.14 A random access machine (RAM) is a machine model for computing integer functions. The memories of a RAM M consists of a one-way read-only input tape, a one-way write-only output tape, and an infinite number of registers named c01-math-1825 Each square of the input and output tapes and each register can store an integer of an arbitrary size. Let c01-math-1826 denote the content of the register Ri. An instruction of a RAM may access a register Ri to get its content c01-math-1829 or it may access the register c01-math-1830 by the indirect addressing scheme. Each instruction has an integer label, beginning from 1. A RAM begins the computation on instruction with label 1 and halts when it reaches an empty instruction. The following table lists the instruction types of a RAM.

equation

In the above table, we only listed the arguments in the direct addressing scheme. It can be changed to indirect addressing scheme by changing the argument Ri to c01-math-1833. For instance, addc01-math-1834 means to write c01-math-1835 to Rk. Each instruction can also use a constant argument i instead of Rj. For instance, copyc01-math-1839 means to write integer i to the register c01-math-1841.

  1. a. Design a RAM that reads inputs c01-math-1842 and outputs 1 if c01-math-1843 for some c01-math-1844 and outputs 0 otherwise (cf. Example 1.7).
  2. b. Show that for any TM M, there is a RAM M that computes the same function as M. (You need to first specify how to encode tape symbols of the TM M by integers.)
  3. c. Show that for any RAM M, there is a TM M that computes the same function as M (with the integer n encoded by the string an).

1.15 In this exercise, we consider the complexity of RAMs. There are two possible ways of defining the computational time of a RAM M on input x. The uniform time measure counts each instruction as taking one unit of time and so the total runtime of M on x is the number of times M executes an instruction. The logarithmic time measure counts, for each instruction, the number of bits of the arguments involved. For instance, the total time to execute the instruction multc01-math-1859 is c01-math-1860. The total runtime of M on x, in the logarithmic time measure, is the sum of the instruction time over all instructions executed by M on input x. Use both the uniform and the logarithmic time measures to analyze the simulations of parts (b) and (c) of Exercise 1.14. In particular, show that the notion of polynomial-time computability is equivalent between TMs and RAMs with respect to the logarithmic time measure.

1.16 Suppose that a TM is allowed to have infinitely many tapes. Does this increase its computation power as far as the class of computable sets is concerned?

1.17 Prove Blum's speed-up theorem. That is, find a function c01-math-1865 such that for any DTM M1 computing f there exists another DTM M2 computing f with c01-math-1870 for infinitely many c01-math-1871.

1.18 Prove that if c > 1, then for any ε > 0,

equation

1.19 Prove Theorem 1.15.

1.20 Prove that if f(n) is an integer function such that (i) c01-math-1876 and (ii) f, regarded as a function mapping an to c01-math-1879, is computable in deterministic time c01-math-1880, then f is fully time constructible. [Hint: Use the linear speed-up of Proposition 1.13 to compute the function f in less than f(n) moves, with the output c01-math-1884 compressed.]

1.21 Prove that if f is fully space constructible and f is not a constant function, then c01-math-1887. (We say c01-math-1888 if there exists a constant c > 0 such that c01-math-1890 for almost all n ≥ 0.)

1.22 Prove that c01-math-1892 and c01-math-1893 are fully space constructible.

1.23 Prove that the question of determining whether a given TM halts in time p(n) for some polynomial function p is undecidable.

1.24 Prove that for any one-worktape DTM M that uses space s(n), there is a one-worktape DTM M with c01-math-1899 such that it uses space s(n) and its tape head never moves to the left of its starting square.

1.25 Recall that c01-math-1901 (k iterations of c01-math-1903 on n) c01-math-1905. Let k > 0 and t2 be a fully time-constructible function. Assume that

equation

Prove that there exists a language L that is accepted by a k-tape DTM in time c01-math-1911 but not by any k-tape DTM in time c01-math-1913.

1.26 Prove that c01-math-1914.

  1. 1.27 a. Prove Theorem 1.26 (cf. Theorems 1.30 and 1.32).
  2. b. Prove that for any integer k ≥ 1 and any rational ε > 0, c01-math-1917.
  1. 1.28 a. Prove that c01-math-1918.
  2. b. Prove that c01-math-1919 for any k ≥ 1.

1.29 Prove that c01-math-1921 and c01-math-1922.

1.30 A set A is called a tally set if c01-math-1924 for some symbol a. A set A is called a sparse set if there exists a polynomial function p such that c01-math-1928 for all n ≥ 1. Prove that the following are equivalent:

  1. c01-math-1930.
  2. All tally sets in NP are actually in P.
  3. All sparse sets in NP are actually in P. (Note: The above implies that if c01-math-1933 then c01-math-1934.)

1.31 (BUSY BEAVER) In this exercise, we show the existence of an r.e., nonrecursive set without using the diagonalization technique. For each TM M, we let c01-math-1936 denote the length of the codes for M. We consider only one-tape TMs with a fixed alphabet c01-math-1938. Let c01-math-1939 and c01-math-1940. That is, f(x) is the size of the minimum TM that outputs x on the input λ, and g(m) is the least x that is not printable by any TM M of size c01-math-1947 on the input λ. It is clear that both f and g are total functions.

  1. Prove that neither f nor g is a recursive function.
  2. Define c01-math-1953. Apply part (a) above to show that A is r.e. but is not recursive.

1.32 (BUSY BEAVER, time-bounded version) In this exercise, we apply the busy beaver technique to show the existence of a set computable in exponential time but not in polynomial time.

  1. Let c01-math-1955 be the least c01-math-1956 that is not printable by any TM M of size c01-math-1958 on input λ in time c01-math-1960. It is easy to see that c01-math-1961, and hence, g is polynomial length bounded. Prove that c01-math-1963 is computable in time c01-math-1964 but is not computable in time polynomial in c01-math-1965.
  2. Can you modify part (a) above to prove the existence of a function that is computable in subexponential time (e.g., c01-math-1966) but is not polynomial-time computable?

1.33 Assume that an NTM computes the characteristic function χA of a set A in polynomial time, in the sense of Definition 1.8. What can you infer about the complexity of set A?

1.34 In the proof of Theorem 1.30, the predicate reach was solved by a deterministic recursive algorithm. Convert it to a nonrecursive algorithm for the predicate reach that only uses space c01-math-1970.

1.35 What is wrong if we use the following simpler algorithm to compute Nk in the proof of Theorem 1.32?

For each k, to compute Nk, we generate each configuration c01-math-1974 one by one and, for each one, nondeterministically verify whether c01-math-1975 (by machine M1), and increments the counter for Nk by one if c01-math-1978 holds.

1.36 In this exercise, we study the notion of computability of real numbers. First, for each c01-math-1979, we let c01-math-1980 denote its binary expansion, and for each c01-math-1981, let c01-math-1982 if x ≥ 0, and c01-math-1984 if x < 0. An integer c01-math-1986 is represented as c01-math-1987. A rational number c01-math-1988 with c01-math-1989, b ≠ 0, and c01-math-1991 has a unique representation over alphabet c01-math-1992: c01-math-1993. We write c01-math-1994 (c01-math-1995 and c01-math-1996) to denote both the set of natural numbers (integers and rational numbers, respectively) and the set of their representations. We say a real number x is Cauchy computable if there exist two computable functions c01-math-1998 and c01-math-1999 satisfying the property Cf,m: c01-math-2001. A real number x is Dedekind computable if the set c01-math-2003 is computable. A real number x is binary computable if there is a computable function c01-math-2005, with the property c01-math-2006 for all n > 0, such that

equation

where c01-math-2009 if x ≥ 0 and c01-math-2011 if x < 0. (The function bx is not unique for some x, but notice that for such x, both the functions bx are computable.) A real number x is Turing computable if there exists a DTM M that on the empty input prints a binary expansion of x (i.e., it prints the string c01-math-2020 followed by the binary point and then followed by the infinite string c01-math-2021).

Prove that the above four notions of computability of real numbers are equivalent. That is, prove that a real number x is Cauchy computable if and only if it is Dedekind computable if and only if it is binary computable if and only if it is Turing computable.

1.37 In this exercise, we study the computational complexity of a real number. We define a real number x to be polynomial-time Cauchy computable if there exist a polynomial-time computable function c01-math-2024 and a polynomial function c01-math-2025, satisfying Cf,m, where f being polynomial-time computable means that f(n) is computable by a DTM in time p(n) for some polynomial p (i.e., the input n is written in the unary form). We say x is polynomial-time Dedekind computable if Lx is in P. We say x is polynomial-time binary computable if bx, restricted to inputs n > 0, is polynomial-time computable, assuming that the inputs n are written in the unary form.

Prove that the above three notions of polynomial-time computability of real numbers are not equivalent. That is, let PC (PD, and Pb) denote the class of polynomial-time Cauchy (Dedekind and binary, respectively) computable real numbers. Prove that c01-math-2041.

Historical Notes

McMillan's theorem is well known in coding theory; see, for example, Roman (1992). TMs were first defined by Turing (1936, 1937). The equivalent variations of TMs, the notion of computability, and the Church–Turing Thesis are the main topics of recursive function theory; see, for example, Rogers (1967) and Soare (1987). Kleene (1979) contains an interesting personal account of the history. The complexity theory based on TMs was developed by Hartmanis and Stearns (1965), Stearns, Hartmanis, and Lewis (1965) and Lewis, Stearns, and Hartmanis (1965). The tape compression theorem, the linear speed-up theorem, the tape-reduction simulations (Corollaries 1.14–1.16) and the time and space hierarchy theorems are from these works. A machine-independent complexity theory has been established by Blum (1967). Blum's speed-up theorem is from there. Cook (1973a) first established the nondeterministic time hierarchy. Seiferas (1977a, 1977b) contain further studies on the hierarchy theorems for nondeterministic machines. The indirect separation result, Theorem 1.27, is from Book (1974a). The identification of P as the class of feasible problems was first suggested by Cobham (1964) and Edmonds (1965). Theorem 1.30 is from Savitch (1970). Theorem 1.32 was independently proved by Immerman (1988) and Szelepcsényi (1988). Hopcroft et al. (1977) and Paul et al. (1983) contain separation results between c01-math-2043, c01-math-2044, and c01-math-2045. Context-sensitive languages and grammars are major topics in formal language theory; see, for example, Hopcroft and Ullman (1979).

RAMs were first studied in Shepherdson and Sturgis (1963) and Elgot and Robinson (1964). The improvements over the time hierarchy theorem, including Exercises 1.25 and 1.26, can be found in Paul (1979) and Fürer (1984). Exercise 1.30 is an application of the Translation Lemma of Book (1974b); see Hartmanis et al. (1983). The busy beaver problems (Exercises 1.31 and 1.32) are related to the notion of the Kolmogorov complexity of finite strings. The arguments based on the Kolmogorov complexity avoids the direct use of diagonalization. See Daley (1980) for discussions on the busy beaver proof technique, and Li and Vitányi (1997) for a complete treatment of the Kolmogorov complexity. Computable real numbers were first studied by Turing (1936) and Rice (1954). Polynomial-time computable real numbers were studied in Ko and Friedman (1982) and Ko (1991a).

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.142.255.140