← Student tools · Problem 35 · Lecture 13 · Round 3 (40 pts)

PSPACE = NPSPACE · the proof walker

Apply Savitch step-by-step on a small NSPACE machine.

CLO-5R3·40 ptsL13
🔊 Listen

Savitch's theorem (Sipser §8.2): for f(n) ≥ log n, NSPACE(f(n)) ⊆ SPACE(f²(n)). The polynomial blowup is only quadratic, so PSPACE = NPSPACE — nondeterminism gives no extra power in polynomial space. (Contrast with P vs NP, which is open.)

The CANYIELD reduction

For an NSPACE(f) machine on input w, "does it accept?" is equivalent to "is there a path in the configuration graph from Cstart to some Caccept in ≤ 2O(f) steps?"

Define CANYIELD(c, d, t) = true iff c reaches d in ≤ t steps. Recursive structure:

CANYIELD(c, d, t):
  if t = 1: check (c, d) is an edge
  else: for each midpoint m:
    if CANYIELD(c, m, t/2) and CANYIELD(m, d, t/2): return true
  return false

The recursion has log2(t) = O(f) levels. Each level stores one configuration (size O(f)) on the stack. Total space: O(f) levels × O(f) per frame = O(f²). Quadratic, not exponential — that's the magic.

Crucial: space can be reused

Each recursive call reuses the same f² cells when the previous call returns. Time can't be reused this way, which is why no analogous "NTIME(f) ⊆ TIME(f²)" result exists.

🔊 Listen
Apply Savitch's CANYIELD to a config graph Auto-plays
🔊 Listen
🔊 Listen
🔊 Listen

Sipser: Theorem 8.5 (Savitch). Lecture notes: Module 6 slide 1. Companion problems: P34 (Savitch tree), P33 (space-time chart).