MIT18 404f20 Lec23
MIT18 404f20 Lec23
840 Lecture 23
Last time:
- !"#$%↑ is EXPSPACE-complete
- Thus !"#$%↑ ∉ PSPACE
- Oracles and P versus NP
Today: (Sipser §10.2)
- Probabilistic computation
- The class BPP
- Branching programs
1
Probabilistic TMs
Defn: A probabilistic Turing machine (PTM) is a variant of a NTM
where each computation step has 1 or 2 possible choices.
computation tree
Pr[ branch ! ] = 2&' where ! has ( coin flips for " on #
Defn: BPP = " some poly-time PTM decides " with error # = %⁄& }
Amplification lemma: If '% is a poly-time PTM with error #% < %⁄) then,
for any 0 < #) < %⁄), there is an equivalent poly-time PTM ') with error #) .
Can strengthen to make #) < 2−,-./ 0 .
Proof idea: ') = “On input 1
1. Run '% on 1 for 2 times and output the majority response.”
Details: Calculation to obtain 2 and the improved error probability.
Significance: Can make the error probability so small it is negligible.
3
NP and BPP
NP BPP
Computation trees
for ! on "
"∈$
Check-in 23.1
4
Example: Branching Programs
Defn: A branching program (BP) is a directed, acyclic (no cycles) graph that has
1. Query nodes labeled !" and having two outgoing edges labeled 0 and 1.
2. Two output nodes labeled 0 and 1 and having no outgoing edges.
3. A designated start node.
BP # with query nodes !$ , … , !' describes a Boolean function (: 0,1 ' → {0,1}:
Follow the path designated by the query nodes’ outgoing edges
!$
from the start note until reach an output node. 0 1
Example: For !$ = 1, !/ = 0, !0 = 1 we have ( 101 = 0 = output. !/ !0
0 1 0 1
BPs are equivalent if they describe the same Boolean function.
Defn: 12BP = #$ , #/ #$ and #/ are equivalent BPs (written #$ ≡ #/ ) } !0 !$ 0 !/
1 1
0
Theorem: 12BP is coNP-complete (on pset 6) 0 1
12BP ∈ BPP ? Unknown. That would imply NP ⊆ BPP and would be surprising! 0 1
Instead, consider a restricted problem.
5
Read-once Branching Programs
6 Check-in 23.2
!"ROBP ∈ BPP
7
Boolean Labeling
0 ! 1 ' '#
$ !$ !)
1 0 '"
0 0 0 1 0 1 '$
0 1 ' ∧ !) ' ∧ !)
'" ∨ '# ∨ '$
0
0 1 1
Label edges from nodes Label nodes from incoming edges
8
Arithmetization Method
1
Recall labeling rules:
!" )
!( )#
0 1 0 1 )" )-
1 2 =2
) (1 − !( ) ) !(
−1 = 1 1 − 2 )" + )# + )-
−1 2
!# !# Check-in
Revised 23.3
4 for 56ROBP: “On input ;" , ;#
0 1 1
0 What1. isPick
theaoutput
randomfornon-Boolean
this branching program
input using
assignment.
2 = −1 1 − 3 2 1 − 3 = −4 the 2.
arithmetized
Evaluate ;interpretation if !" = 1, !# = < ?
" and ;# on that assignment.
(a) 3.(1If−;"<)and ;# disagree then reject.
−3 = −1 3
2 3 =6 (b) (<If+they1) agree then accept.”
8=2+6 0 −3 + −4 = −7 (c) Correctness
< proof… after Thanksgiving.
1
Check-in 23.3
10
Quick review of today
11
MIT OpenCourseWare
https://ocw.mit.edu
For information about citing these materials or our Terms of Use, visit: https://ocw.mit.edu/terms.