Lecture 28: PSPACE
PSPACE = {x | x has a polynomial space algorithm}
Given T = c1 ^ c2 ^ … ^ ck where each clauses ci is an OR-clause with 3 terms (an instance of 3-SAT) , does there exist and x1 for all x2 does there exist an x3 for all x4 … for all xn-1 such that T is true? This is called quantified 3-SAT (QSAT), an is a kind of alternation thatsshows up in many game AI questions. I.e., is there a move for me such that for all of my opponents’ next move there is another good move for me such that … etc.
One idea for QSAT–try all truth assignments. Define: pw = polynomial time algorithm given an “oracle” for w. What if you need a solution to an NP-complete problem? Sometimes there are special characteristics of a problem that allows a solution. Sometimes we can define a provably good approximation solution!
Look at vertex cover. Given G, k, is there a vertex cover of size <= k? So, there are n choose k possible vertex covers. We could try them all, but… that’s a lot of options. To check a vertex cover, try each edge e, see if at least one endpoint is in the cover, and repeat. This takes O(n2) time.
Claim: “If G has n nodes, with max-degree d, and if there is a vertex cover of size k, then G has at most k*d edges.”
k*d is better than O(n2). Let s be the vertex cover with |s| = k. There are at most d edges from each vertex in S, there are at most k*d places where S touches some edge either once or twice. |E| <= # touches <= k*d, so trying all the possibilities is no longer O(n choose k * k * (n-1)) but rather O(nk+1 * k).
Observe that any graph with more than k*(n-1) edges cannot have a vertex cover of size k, and if there is a vertex cover of size k and we completely remove a vertex from the cover, then the remaining graph has a vertex cover of size k-1.
Find(G, k):
if G has no edges return false
if G has more than k*(n-1) edges return false
choose e = (u, v)
s1 = find(G - {u}, k-1)
s2 = find(G - {v}, k-1)
if s1 and s2 fail, then return false
if(s1) return s1 + {u}
if(s2) return s2 + {v}
This algorithm is O(k*n*2k+1). The proof is left as an exercise to the reader.
This entry was posted on Monday, April 4th, 2005 at 7:13 pm and is tagged with polynomial time algorithm, polynomial space, space algorithm, truth assignments, time claim, vertex, alternation, endpoint, n2, x4, approximation, xn, clauses, nk, x2, c1, c2, ck, graph, x3. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback.
Leave a Reply
Please take time to enjoy the archives: May 2005 (1) April 2005 (11) March 2005 (11) February 2005 (15) January 2005 (7)
Fresh, related resources:
- Shtetl-Optimized » Blog Archive » Quantum Computing Since b.../b
These blectures/b are the best example I?ve seen of why there should be institutions of higher learning. (No disrespect intended to my former profs.) Scott Says: Comment #38 September 2nd, 2008 at 10:01 pm. If you had access to a bPSPACE/b b.../b - Shtetl-Optimized » Blog Archive » Quantum Computing Since b.../b
bPSPACE/b. Shouldn?t that be a lot easier? Do the same obstacles apply? Why are people working so hard on P!=NP instead of tackling the easier version first? Scott Says: Comment #16 August 23rd, 2008 at 9:b28/b am. asdf: It?s like asking, b.../b - Shtetl-Optimized » Blog Archive » Quantum Computing Since b.../b
At a more intuitive level, the fact that bPSPACE/b=BQPSPACE (i.e., classical and quantum bPSPACE/b are equivalent) might already lead you to guess that PCTC=BQPCTC. And indeed that turns out to be the case, though the latter is harder to b.../b - Shtetl-Optimized » Blog Archive » Quantum Computing Since b.../b
47 Responses to ?Quantum Computing Since Democritus bLecture/b 16: Interactive Proofs?. matteo martini Says: Comment #1 July 8th, 2008 at 7:42 pm. Hi Scott, apparently Geordie Rose has built a b28/b-qbit QC, please read his blog. b.../b - Shtetl-Optimized » Blog Archive » Great Ideas in Theoretical b.../b
Comment #b28/b May 7th, 2008 at 10:04 pm. Fuel for griping and perhaps merriment: Seed magazine?s cribsheet on quantum computing. Jakob Says: Comment #29 May 9th, 2008 at 6:14 am. Typo in blecture/b 14: the Chernoff bound has its last b.../b
