


Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
A lecture note from cs221: computational complexity course by prof. Salil vadhan at harvard university. The note covers the topic of expspace-completeness of regular expressions with exponentiation (r.e.e.'s). The note explains the concept of r.e.e.'s, their relationship with expspace, and provides a proof of their expspace-completeness using theorem 1. The document also discusses the importance of exponentiation (↑) and star (⋆) operators in the proof.
Typology: Study notes
1 / 4
This page cannot be seen from the preview
Don't miss anything!



CS221: Computational Complexity Prof. Salil Vadhan
10/25 Scribe: Ruggiero Cavallo
1 Announcements 1
2 EXPSPACE-Completeness 1
Regular expressions with exponentiation (r.e.e.’s) over Σ, ∅, · , ∪, ?, ↑
Theorem 1 REE is EXPSPACE-complete.
Proof:
We’ll prove the theorem in two parts. First, we’ll show that REE is in EXPSPACE, and then that REE is EXPSPACE-hard.
Following is an EXPSPACE algorithm that decides REE. Through a series of conversions, we attain a TM that has a non-accepting state reachable from its initial state just in case the given regular expression doesn’t generate Σ?.
Given a regular expression with exponentiation R of size n:
But, we don’t need doubly exponential space (2^2 O(n) ). Why not? In Step 4, reachability on a graph
of size 2^2 O(n) can be done in space O
log^2 22 O(n)^
= 2O(n)^ by Savitch’s theorem. Step 3 can be
viewed as a space 2O(n)^ reduction. Instead of explicitly writing down its output M of size 2^2 O(n) , whenever Step 4 needs to access part of M , we just rerun Step 3, using workspace 2O(n).
Given L accepted by a space 2n k TM M , without loss of generality assume M has 1 tape.
Given input x, we want to construct a r.e.e. (regular expression with exponentiation) RM,x such that L(RM,x) = Σ?^ iff M doesn’t accept x. (Note: proving that it doesn’t accept x is OK, since EXPSPACE is closed under complement; we’re actually reducing L to REE.)
Σ ={tape symbols of M } ∪ {[q, x] : q is a state of M , x is a tape symbol} ∪ {#} (separator symbol)
Idea: A string y ∈ Σ?^ will represent a computation of M on input x by including a sequence of configurations of M separated by #, e.g.,
︸ ︷︷ ︸
worktape: length exactly 2n k
(Note that we can pad the worktape with blank symbols to ensure the desired length.) From the above example, if the TM moves its head to the right and writes a, then we get:
#abbaa[q 4 , b]ba#
We’ll define RM,x such that
L(RM,x) =
Σ?^ \ y if y represents correct accepting computation of M on x Σ?^ otherwise
The intuition for the above is that incorrect computations can be captured by representing local inconsistencies. So, it accepts all but the correct computation. Once you’ve realized that this is what you want to do, the construction of RM,x is not too difficult.
Corollary 2 REE ∈/
n≤ )
and since TIME(t) ⊆ SPACE(t), we also have REE ∈/
n≤ ).
Theorem 3 There is a language L in SPACE(O(2n)) such that for every n, if M decides L on inputs of length n, then either M takes space ≥ 2 n^ or |M | ≥ 2 n.
(You can make a similar, slightly weaker, statement for REE. Either you need infeasible program size or infeasible space.)
Proof Sketch:
⇒ ∀M ∃f : { 0 , 1 }n^ → { 0 , 1 } that is not solved by any TM of size < 2 n^ and space < 2 n.
We can find such an f in SPACE(O(2n)). Just go over all functions in lexicographical order and see if there’s a TM for it. §