Derandomizing Isolation in Space-Bounded Settings Dieter van Melkebeek and Gautam Prakriya University of Wisconsin-Madison 6 July 2017
Isolation
Isolation ◮ Computational Problem Π : instance x → set of solutions for x . Eg.: Satisfiability, Reachability...
Isolation ◮ Computational Problem Π : instance x → set of solutions for x . Eg.: Satisfiability, Reachability... ◮ An isolation for Π is a map f that satisfies the following for all instances x : (1) | Π( f ( x )) | ≤ 1 (2) | Π( f ( x )) | = 0 iff | Π( x ) | = 0
Isolation ◮ Computational Problem Π : instance x → set of solutions for x . Eg.: Satisfiability, Reachability... ◮ An isolation for Π is a map f that satisfies the following for all instances x : (1) | Π( f ( x )) | ≤ 1 (2) | Π( f ( x )) | = 0 iff | Π( x ) | = 0 [(3) Π( f ( x )) ⊆ Π( x ) ] With (3) f is called a pruning .
Motivation ◮ In algorithms: Avoiding cancellations in algebraic settings Coordination in parallel algorithms ... ◮ In complexity theory: Used to show problems become no easier when restricted to instances with unique solutions.
Motivation ◮ In algorithms: Avoiding cancellations in algebraic settings Coordination in parallel algorithms ... ◮ In complexity theory: Used to show problems become no easier when restricted to instances with unique solutions. ◮ All known generic isolations are randomized.
Space-Bounded Setting ◮ NL : languages accepted by non-deterministic logspace machines. ◮ UL : languages accepted by unambiguous logspace machines, i.e., non-deterministic machines with at most one accepting path on every input.
Space-Bounded Setting ◮ NL : languages accepted by non-deterministic logspace machines. ◮ UL : languages accepted by unambiguous logspace machines, i.e., non-deterministic machines with at most one accepting path on every input. ? ◮ Open: NL ⊆ UL
Space-Bounded Setting ◮ NL : languages accepted by non-deterministic logspace machines. ◮ UL : languages accepted by unambiguous logspace machines, i.e., non-deterministic machines with at most one accepting path on every input. ? ◮ Open: NL ⊆ UL ⇐ ⇒ Reach ∈ UL . ⇐ ⇒ Reach has a logspace isolation.
Results Theorem 1 NL ⊆ UTISP (poly( n ) , O (log 3 / 2 n )) . Compare to NL ⊆ DSPACE ( O (log 2 n )) [Savitch]. √ log n ) [Barnes et al.]. Reach ∈ DTISP (poly( n ) , n / 2
Results Theorem 1 NL ⊆ UTISP (poly( n ) , O (log 3 / 2 n )) . Compare to NL ⊆ DSPACE ( O (log 2 n )) [Savitch]. √ log n ) [Barnes et al.]. Reach ∈ DTISP (poly( n ) , n / 2 Theorem 2 NL ⊆ L / poly if there is a logspace pruning for Reach .
Results Theorem 1 NL ⊆ UTISP (poly( n ) , O (log 3 / 2 n )) . Compare to NL ⊆ DSPACE ( O (log 2 n )) [Savitch]. √ log n ) [Barnes et al.]. Reach ∈ DTISP (poly( n ) , n / 2 Theorem 2 NL ⊆ L / poly if there is a logspace pruning for Reach . Similar results for LogCFL .
Min-Isolation Min-isolating weight assignment For G = ( V , E ), a weight assignment w : V → N is min-isolating if for all s , t ∈ V , there is at most one min-weight s - t path. The Isolation Lemma of Mulmuley, Vazirani and Vazirani implies For any graph G , a uniformly random choice of weights from { 1 , . . . , n 3 } is min-isolating with high probability.
Min-Isolation Min-isolating weight assignment For G = ( V , E ), a weight assignment w : V → N is min-isolating if for all s , t ∈ V , there is at most one min-weight s - t path. The Isolation Lemma of Mulmuley, Vazirani and Vazirani implies For any graph G , a uniformly random choice of weights from { 1 , . . . , n 3 } is min-isolating with high probability. ◮ Gal and Wigderson: NL ⊆ R · promise - UL ◮ Reinhardt and Allender: NL ⊆ R · ( co - UL ∩ UL ).
Derandomization Key Lemma There exists a logspace machine M σ ∈ { 0 , 1 } O (log 3 / 2 n ) w : [ n ] → [2 O (log 3 / 2 n ) ] M s.t. for all G on n vertices, Pr σ [ w is min-isolating for G ] ≥ 1 − 1 / n .
Proof of Key Lemma d Layered DAG: . . . 2 k 2 k 2 k
Proof of Key Lemma d Layered DAG: . . . 2 k 2 k 2 k ◮ Iteratively build w 0 , w 1 , . . . , w log d . ◮ Invariant: w k is ◮ min-isolating for blocks of length 2 k . ◮ non-zero only on internal vertices.
Proof of Key Lemma d Layered DAG: . . . 2 k 2 k 2 k ◮ Iteratively build w 0 , w 1 , . . . , w log d . ◮ Invariant: w k is ◮ min-isolating for blocks of length 2 k . ◮ non-zero only on internal vertices. ◮ Start with w 0 ≡ 0. Goal: w log d .
Proof of Key Lemma d Layered DAG: . . . 2 k 2 k 2 k ◮ Iteratively build w 0 , w 1 , . . . , w log d . ◮ Invariant: w k is ◮ min-isolating for blocks of length 2 k . ◮ non-zero only on internal vertices. ◮ Start with w 0 ≡ 0. Goal: w log d . ◮ Relevant Parameters: ◮ Number of random bits R k for w k . ◮ Maximum path weight W k for w k .
Proof of Key Lemma d Layered DAG: . . . 2 k 2 k 2 k ◮ Iteratively build w 0 , w 1 , . . . , w log d . ◮ Invariant: w k is ◮ min-isolating for blocks of length 2 k . ◮ non-zero only on internal vertices. ◮ Start with w 0 ≡ 0. Goal: w log d . ◮ Relevant Parameters: ◮ Number of random bits R k for w k . ◮ Maximum path weight W k for w k . ◮ Space used by unambiguous algorithm for Reach is O ( R + log W + log n ), where R := R log d and W := W log d .
Iteration k → k + 1 B 2 B 1 u P u s t P v v M
Iteration k → k + 1 B 2 B 1 u P u s t P v v M ◮ w k +1 : ◮ Same as w k on vertices internal to blocks of length 2 k . ◮ Additionally assigns weights to L k +1 ,i.e., vertices in middle layers M of length 2 k +1 blocks.
Iteration k → k + 1 B 2 B 1 u P u s t P v v M ◮ w k +1 : ◮ Same as w k on vertices internal to blocks of length 2 k . ◮ Additionally assigns weights to L k +1 ,i.e., vertices in middle layers M of length 2 k +1 blocks. ◮ Disambiguation requirement: w k ( P u ) + w k +1 ( u ) � = w k ( P v ) + w k +1 ( v ) ∀ s ∈ B 1 , ∀ t ∈ B 2 , ∀ u � = v ∈ M , ∀ blocks B = B 1 ∪ B 2 .
Shifting k → k + 1 w k ( P u ) + w k +1 ( u ) � = w k ( P v ) + w k +1 ( v ) Define w k +1 ( v ) := index ( v ) · ( W k + 1) for v ∈ L k +1 . w k +1 ( P u ) = index ( u ) w k ( P u ) � = w k +1 ( P v ) = index ( v ) w k ( P v )
Shifting k → k + 1 w k ( P u ) + w k +1 ( u ) � = w k ( P v ) + w k +1 ( v ) Define w k +1 ( v ) := index ( v ) · ( W k + 1) for v ∈ L k +1 . w k +1 ( P u ) = index ( u ) w k ( P u ) � = w k +1 ( P v ) = index ( v ) w k ( P v ) ◮ Parameters: R k +1 = R k ⇒ R k = 0. W k +1 ≤ n 2 · ( W k + 1) ⇒ W k = n O ( k ) . R + log W = O (log 2 n ).
Hashing k → k + 1 w k ( P u ) + w k +1 ( u ) � = w k ( P v ) + w k +1 ( v ) Define w k +1 ( v ) := h ( v ) for v ∈ L k +1 , where h : [ n ] → [ r ] is picked uniformly at random from a universal hash family.
Hashing k → k + 1 w k ( P u ) + w k +1 ( u ) � = w k ( P v ) + w k +1 ( v ) Define w k +1 ( v ) := h ( v ) for v ∈ L k +1 , where h : [ n ] → [ r ] is picked uniformly at random from a universal hash family. ◮ h satisfies disambiguation requirement for a fixed choice of block, vertices s , t , u , v w.p. 1 − 1 / r .
Hashing k → k + 1 w k ( P u ) + w k +1 ( u ) � = w k ( P v ) + w k +1 ( v ) Define w k +1 ( v ) := h ( v ) for v ∈ L k +1 , where h : [ n ] → [ r ] is picked uniformly at random from a universal hash family. ◮ h satisfies disambiguation requirement for a fixed choice of block, vertices s , t , u , v w.p. 1 − 1 / r . ◮ h satisfies requirement for all blocks, vertices s , t , u , v w.p. 1 − 1 / n for large enough r = n Θ(1) .
Hashing k → k + 1 w k ( P u ) + w k +1 ( u ) � = w k ( P v ) + w k +1 ( v ) Define w k +1 ( v ) := h ( v ) for v ∈ L k +1 , where h : [ n ] → [ r ] is picked uniformly at random from a universal hash family. ◮ h satisfies disambiguation requirement for a fixed choice of block, vertices s , t , u , v w.p. 1 − 1 / r . ◮ h satisfies requirement for all blocks, vertices s , t , u , v w.p. 1 − 1 / n for large enough r = n Θ(1) . ◮ Parameters: R k +1 = R k + O (log n ) ⇒ R k = O ( k log n ). W k +1 = W k + n O (1) ⇒ W k = k · n O (1) . R + log W = O (log 2 n ).
Shifting and Hashing k → k ′ log b log b w k ( P ) = 00 ∗ . . . ∗ 00 ∗ . . . ∗
Shifting and Hashing k → k ′ log b log b w k ( P ) = 00 ∗ . . . ∗ 00 ∗ . . . ∗ = = w k +1 ( P ) = 00 ∗ . . . ∗ ∗ . . . ∗
Shifting and Hashing k → k ′ log b log b w k ( P ) = 00 ∗ . . . ∗ 00 ∗ . . . ∗ = = w k +1 ( P ) = 00 ∗ . . . ∗ ∗ . . . ∗ = w k +2 ( P ) = ∗ . . . ∗ ∗ . . . ∗
Shifting and Hashing k → k ′ log b log b w k ( P ) = 00 ∗ . . . ∗ 00 ∗ . . . ∗ = = w k +1 ( P ) = 00 ∗ . . . ∗ ∗ . . . ∗ = w k +2 ( P ) = ∗ . . . ∗ ∗ . . . ∗ ◮ For i ∈ [ k ′ − k ], w k + i ( v ) := h ( v ) · b i − 1 for v ∈ L k + i , where b = n Θ(1) and h is picked from a universal hash family.
Shifting and Hashing k → k ′ log b log b w k ( P ) = 00 ∗ . . . ∗ 00 ∗ . . . ∗ = = w k +1 ( P ) = 00 ∗ . . . ∗ ∗ . . . ∗ = w k +2 ( P ) = ∗ . . . ∗ ∗ . . . ∗ ◮ For i ∈ [ k ′ − k ], w k + i ( v ) := h ( v ) · b i − 1 for v ∈ L k + i , where b = n Θ(1) and h is picked from a universal hash family. R k ′ = R k + O (log n ). ◮ W k ′ = W k + n O ( k ′ − k ) .
Recommend
More recommend