Section 9.2

Problems

[14/57%]
Show
LaTeX
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.

?