Probabilistic Computation Lecture 14 BPP, ZPP 1
Zoo NEXP EXP NPSPACE PSPACE Σ 2P NP P NL L 2
Zoo NEXP EXP NPSPACE PSPACE Σ 2P NP RP P NL L 2
Zoo NEXP EXP NPSPACE PSPACE Σ 2P NP BPP RP P NL L 2
Zoo NEXP EXP NPSPACE PSPACE Σ 2P NP BPP RP P NL L 2
Zoo NEXP EXP NPSPACE PSPACE Σ 2P NP BPP RP P NL L 2
BPP-Complete Problem? 3
BPP-Complete Problem? Not known! 3
BPP-Complete Problem? Not known! L = { (M,x,1 t ) | M(x)=yes in time t with probability > 2/3} ? 3
BPP-Complete Problem? Not known! L = { (M,x,1 t ) | M(x)=yes in time t with probability > 2/3} ? Is indeed BPP-Hard 3
BPP-Complete Problem? Not known! L = { (M,x,1 t ) | M(x)=yes in time t with probability > 2/3} ? Is indeed BPP-Hard But in BPP? 3
BPP-Complete Problem? Not known! L = { (M,x,1 t ) | M(x)=yes in time t with probability > 2/3} ? Is indeed BPP-Hard But in BPP? Just run M(x) for t steps and accept if it accepts? 3
BPP-Complete Problem? Not known! L = { (M,x,1 t ) | M(x)=yes in time t with probability > 2/3} ? Is indeed BPP-Hard But in BPP? Just run M(x) for t steps and accept if it accepts? If (M,x,1 t ) in L, we will indeed accept with prob. > 2/3 3
BPP-Complete Problem? Not known! L = { (M,x,1 t ) | M(x)=yes in time t with probability > 2/3} ? Is indeed BPP-Hard But in BPP? Just run M(x) for t steps and accept if it accepts? If (M,x,1 t ) in L, we will indeed accept with prob. > 2/3 But M may not have a bounded gap. Then, if (M,x,1 t ) not in L, we may accept with prob. very close to 2/3. 3
BPTIME-Hierarchy Theorem? 4
BPTIME-Hierarchy Theorem? BPTIME(n) ⊊ BPTIME(n 100 )? 4
BPTIME-Hierarchy Theorem? BPTIME(n) ⊊ BPTIME(n 100 )? Not known! 4
BPTIME-Hierarchy Theorem? BPTIME(n) ⊊ BPTIME(n 100 )? Not known! But is true for BPTIME(T)/1 4
Some Probabilistic Algorithmic Concepts 5
Some Probabilistic Algorithmic Concepts Sampling to determine some probability 5
Some Probabilistic Algorithmic Concepts Sampling to determine some probability Checking if determinant of a symbolic matrix is zero: Substitute random values for the variables and evaluate using Gaussian elimination in polynomial time 5
Some Probabilistic Algorithmic Concepts Sampling to determine some probability Checking if determinant of a symbolic matrix is zero: Substitute random values for the variables and evaluate using Gaussian elimination in polynomial time Polynomial Identity Testing: polynomial given as an arithmetic circuit. Like above, but values can be too large. So work over a random modulus. 5
Some Probabilistic Algorithmic Concepts Sampling to determine some probability Checking if determinant of a symbolic matrix is zero: Substitute random values for the variables and evaluate using Gaussian elimination in polynomial time Polynomial Identity Testing: polynomial given as an arithmetic circuit. Like above, but values can be too large. So work over a random modulus. Random Walks (for sampling) 5
Some Probabilistic Algorithmic Concepts Sampling to determine some probability Checking if determinant of a symbolic matrix is zero: Substitute random values for the variables and evaluate using Gaussian elimination in polynomial time Polynomial Identity Testing: polynomial given as an arithmetic circuit. Like above, but values can be too large. So work over a random modulus. Random Walks (for sampling) Monte Carlo algorithms for calculations 5
Some Probabilistic Algorithmic Concepts Sampling to determine some probability Checking if determinant of a symbolic matrix is zero: Substitute random values for the variables and evaluate using Gaussian elimination in polynomial time Polynomial Identity Testing: polynomial given as an arithmetic circuit. Like above, but values can be too large. So work over a random modulus. Random Walks (for sampling) Monte Carlo algorithms for calculations Reachability tests 5
Random Walks 6
Random Walks Which nodes does the walk touch and with what probability? 6
Random Walks Which nodes does the walk touch and with what probability? How do these probabilities vary with number of steps 6
Random Walks Which nodes does the walk touch and with what probability? How do these probabilities vary with number of steps Analyzing a random walk 6
Random Walks Which nodes does the walk touch and with what probability? How do these probabilities vary with number of steps Analyzing a random walk Probability Vector: p 6
Random Walks Which nodes does the walk touch and with what probability? How do these probabilities vary with number of steps Analyzing a random walk Probability Vector: p Transition probability matrix: M 6
Random Walks Which nodes does the walk touch and with what probability? How do these probabilities vary with number of steps Analyzing a random walk Probability Vector: p Transition probability matrix: M One step of the walk: p’ = Mp 6
Random Walks Which nodes does the walk touch and with what probability? How do these probabilities vary with number of steps Analyzing a random walk Probability Vector: p Transition probability matrix: M One step of the walk: p’ = Mp After t steps: p (t) = M t p 6
Space-Bounded Probabilistic Computation 7
Space-Bounded Probabilistic Computation PL, RL, BPL 7
Space-Bounded Probabilistic Computation PL, RL, BPL Logspace analogues of PP, RP, BPP 7
Space-Bounded Probabilistic Computation PL, RL, BPL Logspace analogues of PP, RP, BPP Note: RL ⊆ NL, RL ⊆ BPL 7
Space-Bounded Probabilistic Computation PL, RL, BPL Logspace analogues of PP, RP, BPP Note: RL ⊆ NL, RL ⊆ BPL Recall NL ⊆ P (because PATH ∈ P) 7
Space-Bounded Probabilistic Computation PL, RL, BPL Logspace analogues of PP, RP, BPP Note: RL ⊆ NL, RL ⊆ BPL Recall NL ⊆ P (because PATH ∈ P) So RL ⊆ P 7
Space-Bounded Probabilistic Computation PL, RL, BPL Logspace analogues of PP, RP, BPP Note: RL ⊆ NL, RL ⊆ BPL Recall NL ⊆ P (because PATH ∈ P) So RL ⊆ P In fact BPL ⊆ P 7
BPL ⊆ P 8
BPL ⊆ P Consider the BPL algorithm, on input x, as a random walk over configurations 8
BPL ⊆ P Consider the BPL algorithm, on input x, as a random walk over configurations Construct the transition matrix M 8
BPL ⊆ P Consider the BPL algorithm, on input x, as a random walk over configurations Construct the transition matrix M Size of graph is poly(n), probability values are 0, 0.5 and 1 8
BPL ⊆ P Consider the BPL algorithm, on input x, as a random walk over configurations Construct the transition matrix M Size of graph is poly(n), probability values are 0, 0.5 and 1 Calculate M t for t = max running time = poly(n) 8
BPL ⊆ P Consider the BPL algorithm, on input x, as a random walk over configurations Construct the transition matrix M Size of graph is poly(n), probability values are 0, 0.5 and 1 Calculate M t for t = max running time = poly(n) Accept if (M t p start ) accept > 2/3 where p start is the probability distribution with all the weight on the start configuration 8
Zoo NEXP EXP PSPACE NPSPACE Σ 2P NP P NL L 9
Zoo NEXP EXP PSPACE NPSPACE Σ 2P NP RP P NL L 9
Zoo NEXP EXP PSPACE NPSPACE Σ 2P NP RP P NL RL L 9
Zoo NEXP EXP PSPACE NPSPACE Σ 2P NP BPP RP P NL RL L 9
Zoo NEXP EXP PSPACE NPSPACE Σ 2P NP BPP RP P NL RL L 9
Zoo NEXP EXP PSPACE NPSPACE Σ 2P NP BPP RP P NL RL L 9
Zoo NEXP EXP PSPACE NPSPACE Σ 2P NP BPP RP P NL BPL RL L 9
Zoo NEXP EXP PSPACE NPSPACE Σ 2P NP BPP RP P NL BPL RL L 9
Zoo NEXP EXP PSPACE NPSPACE Σ 2P NP BPP RP P NL BPL RL L 9
Expected Running Time 10
Expected Running Time Running time is a random variable too 10
Expected Running Time Running time is a random variable too As is the outcome of yes/no 10
Expected Running Time Running time is a random variable too As is the outcome of yes/no May ask for running time to be polynomial only in expectation, or with high probability 10
Expected Running Time Running time is a random variable too As is the outcome of yes/no May ask for running time to be polynomial only in expectation, or with high probability Las Vegas algorithms: only expected running time is polynomial; but when it terminates, it produces the correct answer 10
Expected Running Time Running time is a random variable too As is the outcome of yes/no May ask for running time to be polynomial only in expectation, or with high probability Las Vegas algorithms: only expected running time is polynomial; but when it terminates, it produces the correct answer Zero error probability 10
Zero-Error Computation 11
Zero-Error Computation e.g. A simple algorithm for finding median in expected linear time 11
Recommend
More recommend