Chapter 9

Intractability

[25/52%]
Show
LaTeX
Problem 9.1

ᴬ Prove that TIME⁡(2n)=TIME⁡(2n+1)\operatorname {TIME}\left(2^{n}\right)=\operatorname {TIME}\left(2^{n+1}\right).

?
Problem 9.2

ᴬ Prove that TIME⁡(2n)⊊TIME⁡(22n)\operatorname {TIME}\left(2^{n}\right) \subsetneq \operatorname {TIME}\left(2^{2 n}\right).

?
Problem 9.3

ᴬ Prove that NTIME⁡(n)⊊PSPACE⁡\operatorname {NTIME}(n) \subsetneq \operatorname {PSPACE}.

?
Problem 9.4

Show how the circuit depicted in Figure 9.26 computes on input 0110 by showing the values computed by all of the gates, as we did in Figure 9.24.

?
Problem 9.5

Give a circuit that computes the parity function on three input variables and show how it computes on input 011.

?
Problem 9.6

Prove that if A∈PA \in \mathrm{P}, then PA=P\mathrm{P}^{A}=\mathrm{P}.

?
Problem 9.7

Give regular expressions with exponentiation that generate the following languages over the alphabet {0,1}\left\{ 0,1\right\}.

?
(a)

ᴬ All strings of length 500

(b)

ᴬ All strings of length 500 or less

(c)

ᴬ All strings of length 500 or more

(d)

ᴬ All strings of length different than 500

(e)

All strings that contain exactly 500 1s

(f)

All strings that contain at least 500 1s

(g)

All strings that contain at most 500 1s

(h)

All strings of length 500 or more that contain a 0 in the 500th position

(i)

All strings that contain two 0s that have at least 500 symbols between them

Problem 9.8

If RR is a regular expression, let R{m,n}R^{\left\{ m, n\right\} } represent the expression

Rm∪Rm+1∪⋯∪Rn. R^{m} \cup R^{m+1} \cup \cdots \cup R^{n}.

Show how to implement the R{m,n}R^{\left\{ m, n\right\} } operator, using the ordinary exponentiation operator, but without "…".

?
Problem 9.9

Show that if NP=PSAT \mathrm{NP}=\mathrm{P}^{\text{SAT }}, then NP=\mathrm{NP}= coNP.

?
Problem 9.10

Problem 8.13 showed that ALBA A_{\text{LBA }} is PSPACE-complete.

?
(a)

Do we know whether ALBA∈NLA_{\mathrm{LBA}} \in \mathrm{NL}? Explain your answer.

(b)

Do we know whether ALBA∈PA_{\mathrm{LBA}} \in \mathrm{P}? Explain your answer.

Problem 9.11

Show that the language MAX-CLIQUE from Problem 7.48 is in PSAT \mathrm{P}^{\text{SAT }}.

Problem 7.48: MAX-CLIQUE ={⟨G,k⟩∣ a largest clique in G is of size exactly k}=\left\{ \langle G, k\rangle \mid \text{ a largest clique in }G\text{ is of size exactly }k\right\}.

?
Problem 9.12

Describe the error in the following fallacious "proof" that P≠NP\mathrm{P} \neq \mathrm{NP}. Assume that P=NP\mathrm{P}=\mathrm{NP} and obtain a contradiction. If P=NP\mathrm{P}=\mathrm{NP}, then SAT ∈P\in \mathrm{P} and so for some kk, SAT∈TIME⁡(nk)S A T \in \operatorname {TIME}\left(n^{k}\right). Because every language in NP is polynomial time reducible to SATS A T, you have NP⊆TIME⁡(nk)\mathrm{NP} \subseteq \operatorname {TIME}\left(n^{k}\right). Therefore, P⊆TIME⁡(nk)\mathrm{P} \subseteq \operatorname {TIME}\left(n^{k}\right). But by the time hierarchy theorem, TIME⁡(nk+1)\operatorname {TIME}\left(n^{k+1}\right) contains a language that isn't in TIME⁡(nk)\operatorname {TIME}\left(n^{k}\right), which contradicts P⊆TIME⁡(nk)\mathrm{P} \subseteq \operatorname {TIME}\left(n^{k}\right). Therefore, P≠NP\mathrm{P} \neq \mathrm{NP}.

?
Problem 9.13

Consider the function pad : Σ∗×N⟶Σ∗#∗\Sigma^{*} \times \mathcal{N} \longrightarrow \Sigma^{*} \#^{*} that is defined as follows. Let pad⁡(s,l)=s#j\operatorname {pad}(s, l)=s \#^{j}, where j=max⁡(0,l−m)j=\max (0, l-m) and mm is the length of ss. Thus, pad⁡(s,l)\operatorname {pad}(s, l) simply adds enough copies of the new symbol to the end of ss so that the length of the result is at least ll. For any language AA and function f:N⟶Nf: \mathcal{N} \longrightarrow \mathcal{N}, define the language pad⁡(A,f)\operatorname {pad}(A, f) as

pad⁡(A,f)={pad⁡(s,f(m))∣ where s∈A and m is the length of s}. \operatorname {pad}(A, f)=\left\{ \operatorname {pad}(s, f(m)) \mid \text{ where } s \in A \text{ and } m \text{ is the length of } s\right\} .

Prove that if A∈TIME⁡(n6)A \in \operatorname {TIME}\left(n^{6}\right), then pad⁡(A,n2)∈TIME⁡(n3)\operatorname {pad}\left(A, n^{2}\right) \in \operatorname {TIME}\left(n^{3}\right).

?
Problem 9.14

Prove that if NEXPTIME ≠\neq EXPTIME, then P≠NP\mathrm{P} \neq \mathrm{NP}. You may find the function pad, defined in Problem 9.13, to be helpful.

?
Problem 9.15

ᴬ Define pad as in Problem 9.13.

Problem 9.13: Consider the function pad : Σ∗×N⟶Σ∗#∗\Sigma^{*} \times \mathcal{N} \longrightarrow \Sigma^{*} \#^{*} that is defined as follows. Let pad⁡(s,l)=s#j\operatorname {pad}(s, l)=s \#^{j}, where j=max⁡(0,l−m)j=\max (0, l-m) and mm is the length of ss. Thus, pad⁡(s,l)\operatorname {pad}(s, l) simply adds enough copies of the new symbol to the end of ss so that the length of the result is at least ll. For any language AA and function f:N⟶Nf: \mathcal{N} \longrightarrow \mathcal{N}, define the language pad⁡(A,f)\operatorname {pad}(A, f) as

pad⁡(A,f)={pad⁡(s,f(m))∣ where s∈A and m is the length of s}. \operatorname {pad}(A, f)=\left\{ \operatorname {pad}(s, f(m)) \mid \text{ where } s \in A \text{ and } m \text{ is the length of } s\right\} .
?
(a)

Prove that for every AA and natural number k,A∈Pk, A \in \mathrm{P} iff pad⁡(A,nk)∈P\operatorname {pad}\left(A, n^{k}\right) \in \mathrm{P}.

(b)

Prove that P≠SPACE⁡(n)\mathrm{P} \neq \operatorname {SPACE}(n).

Problem 9.16

Prove that TQBF∉SPACE⁡(n1/3)T Q B F \notin \operatorname {SPACE}\left(n^{1 / 3}\right).

?
Problem 9.17
  • Read the definition of a 2DFA (two-headed finite automaton) given in Problem 5.26. Prove that P contains a language that is not recognizable by a 2DFA.

Problem 5.26: A two-headed finite automaton (2DFA) is a deterministic finite automaton that has two read-only, bidirectional heads that start at the left-hand end of the input tape and can be independently controlled to move in either direction. The tape of a 2DFA is finite and is just large enough to contain the input plus two additional blank tape cells, one on the left-hand end and one on the right-hand end, that serve as delimiters. A 2DFA accepts its input by entering a special accept state.

?
Problem 9.18

Let EREX ↑={⟨R⟩∣R is a regular expression with exponentiation and L(R)=∅}E_{\text{REX } \uparrow }=\left\{ \langle R\rangle \mid R\text{ is a regular expression with exponentiation and }L(R)=\emptyset \right\}. Show that EREX ↑∈E_{\text{REX } \uparrow } \in P.

?
Problem 9.19

Define the unique-sat problem to be

USAT⁡={⟨ϕ⟩∣ϕ is a Boolean formula that has a single satisfying assignment }. \operatorname {USAT}=\left\{ \langle \phi \rangle \mid \phi \text{ is a Boolean formula that has a single satisfying assignment }\right\} .

Show that USAT ∈PSAT\in \mathrm{P}^{S A T}.

?
Problem 9.20

Prove that an oracle CC exists for which NPC≠coNP⁡C\mathrm{NP}^{C} \neq \operatorname {coNP}^{C}.

?
Problem 9.21

A k-query oracle Turing machine is an oracle Turing machine that is permitted to make at most kk queries on each input. A kk-query oracle Turing machine MM with an oracle for AA is written MA,kM^{A, k}. Define PA,k\mathrm{P}^{A, k} to be the collection of languages that are decidable by polynomial time kk-query oracle Turing machines with an oracle for AA.

?
(a)

Show that NP∪coNP⁡⊆PSAT,1\mathrm{NP} \cup \operatorname {coNP} \subseteq \mathrm{P}^{S A T, 1}.

(b)

Assume that NP≠coNP⁡\mathrm{NP} \neq \operatorname {coNP}. Show that NP∪coNP⁡⊊PSAT,1 \mathrm{NP} \cup \operatorname {coNP} \subsetneq \mathrm{P}^{\text{SAT,1 }}.

Problem 9.22

Suppose that AA and BB are two oracles. One of them is an oracle for TQBFT Q B F, but you don't know which. Give an algorithm that has access to both AA and BB, and that is guaranteed to solve TQBF in polynomial time.

?
Problem 9.23

Recall that you may consider circuits that output strings over {0,1}\left\{ 0,1\right\} by designating several output gates. Let add⁡n:{0,1}2n⟶{0,1}n+1\operatorname {add}_{n}:\left\{ 0,1\right\}^{2 n} \longrightarrow \left\{ 0,1\right\}^{n+1} take two nn bit binary integers and produce the n+1n+1 bit sum. Show that you can compute the add⁡n\operatorname {add}_{n} function with O(n)O(n) size circuits.

?
Problem 9.24

Define the function majority⁡n:{0,1}n⟶{0,1}\operatorname {majority}_{n}:\left\{ 0,1\right\}^{n} \longrightarrow \left\{ 0,1\right\} as

majority⁡n(x1,…,xn)={0∑xi<n/2;1∑xi≥n/2. \operatorname {majority}_{n}\left(x_{1}, \ldots , x_{n}\right)= \begin{cases} 0 & \sum x_{i}<n / 2 ; \\ 1 & \sum x_{i} \geq n / 2. \end{cases}

Thus, the majority⁡n\operatorname {majority}_{n} function returns the majority vote of the inputs. Show that majority⁡n\operatorname {majority}_{n} can be computed with:

?
(a)

O(n2)O\left(n^{2}\right) size circuits.

(b)

O(nlog⁡n)O(n \log n) size circuits. (Hint: Recursively divide the number of inputs in half and use the result of Problem 9.23.)

Problem 9.25
  • Define the function majority⁡n\operatorname {majority}_{n} as in Problem 9.24. Show that it may be computed with O(n)O(n) size circuits.

Problem 9.24: The function majority⁡n:{0,1}n⟶{0,1}\operatorname {majority}_{n}:\left\{ 0,1\right\}^{n} \longrightarrow \left\{ 0,1\right\} is

majority⁡n(x1,…,xn)={0∑xi<n/2;1∑xi≥n/2. \operatorname {majority}_{n}\left(x_{1}, \ldots , x_{n}\right)= \begin{cases} 0 & \sum x_{i}<n / 2 ; \\ 1 & \sum x_{i} \geq n / 2. \end{cases}

Thus, the majority⁡n\operatorname {majority}_{n} function returns the majority vote of the inputs.

?