Probabilistic Computation, BPP, Branching Programs Review

18 404 6 840 lecture 24 n.w
1 / 12
Embed
Share

Delve into the world of probabilistic computation, exploring Probabilistic Turing Machines, the class BPP, branching programs, and arithmetization. Learn about the intricacies of BPP and how arithmetization is used to define operations in branching programs.

  • Computation
  • BPP
  • Probabilistic
  • Arithmetization
  • Branching Programs

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. 18.404/6.840 Lecture 24 Last time: - Probabilistic computation - The class BPP - Branching programs - Arithmetization - Started showing ??ROBP BPP Today: (Sipser 10.2) - Finish ??ROBP BPP Posted: Sample problems for the final exam (to be held on Thursday, December 17).

  2. Review: Probabilistic TMs and BPP Defn: A probabilistic Turing machine (PTM) is a variant of a NTM where each computation step has 1 or 2 possible choices. coin flip step - each choice has 50% probability deterministic step Defn: For ? 0 say PTM ? decides language ? with error probability ? if for every ?, Pr[ ? gives the wrong answer about ? ? ] ?. 13 } Defn: BPP = ? some poly-time PTM decides ? with error ? = Check-in 24.1 Actually using a probabilistic algorithm presupposes a source of randomness. Can we use a standard pseudo-random number generator (PRG) as the source? computation tree for ? on ? Amplification lemma:2 poly ? branch ? Pr[ branch ? ] = 2 ? where ? has ? coin flips (a) Yes, but the result isn t guaranteed. (b) Yes, but it will run in exponential time. (c) No, a TM cannot implement a PRG. (d) No, because that would show P = BPP. ? ? ? ? Pr[ branch ? ] Pr[ ? accepts ? ] = Many rejecting Few Few rejecting Many b accepts accepting accepting Pr[ ? rejects ? ] = 1 Pr[ ? accepts ? ] Check-in 24.1

  3. Review: 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. Theorem: ??BP is coNP-complete (on pset 6) ?1 ?2 Defn: A BP is read-once if it never queries a variable more than once on any path from the start node to an output. ?4 ?1 1 0 1 0 Defn: ??ROBP= ?1,?2 ?1 and ?2are equivalent read-once BPs} Theorem: ??ROBP BPP Proof idea: Run ?1 and ?2 on a randomly selected non-Boolean input and accept if get same output. Method: Use arithmetization (simulating and with + and ) to define BP operation on non-Boolean inputs. 0 1 0 1

  4. Boolean Labeling Alternative way to view BP computation Show by example: Input is ?1= 0, ?2= 1, ?3= 1 The BP follows its execution path. Label all nodes and edges on the execution path with 1 and off the execution path with 0. Output the label of the output node 1. 1 ?1 1 0 1 0 0 1 ?2 1 ?2 1 0 Obtain the labeling inductively by using these rules: 0 1 0 0 0 ? 1 0 ?2 ?? 0 1 ?3 ?3 1 1 0 ?1 ?3 0 0 0 ? ?? ? ?? 1 0 ?1 ?2 ?3 0 = output 1 1 0 Label outgoing edges from nodes Label nodes from incoming edges

  5. Arithmetization Method Method: Simulate and with + and . ? ? ? ? = ?? ? 1 ? ? ? ? + ? ?? ?1 0 1 Replace Boolean labeling with arithmetical labeling Inductive rules: Start node labeled 1 ?2 1 ?2 1 0 0 ?2 ?1 ?3 ?3 1 ? ?3 ?? 0 1 1 0 0 ?1+ ?2+ ?3 Simulate with + because the BP is acyclic. The execution path can enter a node at most one time. ?1 ?2 ?3 ? (1 ??) ? ?? ? ?? ? ?? 1 0

  6. Non-Boolean Labeling Use the arithmetized interpretation of the BP s computation to define its operation on non-Boolean inputs. Example: ?1= 2, ?2= 3 Output = 7 Recall labeling rules: 1 ? ?1 ?2 ?? 0 1 ?1 0 1 ?3 ? ?? ? (1 ??) 1 2 = 2 1 = 1 1 2 ?1+ ?2+ ?3 1 2 ?2 ?2 0 Algorithm sketch for ??ROBP: On input ?1,?2 1. Pick a random non-Boolean input assignment. 2. Evaluate ?1 and ?2 on that assignment. 3. If ?1 and ?2 disagree then reject. If they agree then accept. 1 1 0 2 1 3 = 4 2 = 1 1 3 2 3 = 6 3 = 1 3 More details and correctness proof to come. First some algebra 8 = 2 + 6 3 + 4 = 7 0 1

  7. Roots of Polynomials Let ? ? = ?0??+ ?1?? 1+ ?2?? 2+ + ?? be a polynomial. If ? is some constant and ? ? = 0 call ? a root of ?. roots Polynomial Lemma: If ? ? 0 is polynomial of degree ? then ? has ? roots. Proof by induction (see text). Corollary 1: If ?1(?) and ?2(?) are both degree ? and ?1 ?2 then ?1? = ?2(?) for ? values ?. Proof: Let ? = ?1 ?2. Above holds for any field ? (a field is a set with + and operations that have typical properties). We will use a finite field ?? with ? elements where ? is prime and +, operate mod ?. ??. Corollary 2: If ? ? 0 has degree ? and we pick a random ? ??, then Pr ? ? = 0 Proof: There are at most ? roots out of ? possibilities. Theorem (Schwartz-Zippel): If ? ?1, ,?? 0 has degree ? in each ?? and we pick random ?1, ,?? ?? then Pr ? ?1, ,?? = 0 Proof by induction (see text). ???

  8. Symbolic Execution Leave the ?? as variables and obtain an expression in the ?? for the output of the BP. Recall labeling rules: ? ?2 ?? 0 1 ?1 ?3 1 ?1 ? ?? ? (1 ??) ?1+ ?2+ ?3 0 1 1 ?1 ?1 Exponents 1 due to read-once Assume read exactly once so that for each ? (??) or (1 ??) appears in every row 1 ?1 ?1 ?2 ?2 0 31 ?3 ?4 ?2 ?3 1 ?4 = + + 1 ?1 x2 ?1 ?1 1 ?2 1 ?3 ?4 (1 ??) ?? (??) form of output 1 1 0 (?1) 1 ?2 (1 ?1) 1 ?2 (?1) ?2 1 ?1(x2) + ?1 ?2 1 ?3 ?4 (??) 1 ?1 1 ?2 + (?1) ?2 1 ?1 x2 + (?1) 1 ?2 = output 0 1 Corresponds to the TRUE rows in the truth table of the Boolean function

  9. ??ROBP BPP Algorithm for ??ROBP= On input ?1,?2 [on variables ?1, ,??] 1. Find a prime ? 3?. 2. Pick a random non-Boolean input assignment ? = ?1, ,?? where each ?? ??. 3. Evaluate ?1 and ?2 on ? by using arithmetization. 4. If ?1 and ?2 agree on ? then accept. If they disagree then reject. ?1 ?2 Check-in 24.2 If the BPs were not read-once, the polynomials might have exponents 1. Where would the proof fail? (a) ?1 ?2 implies they agree on all Boolean inputs (b) Agreeing on all Boolean inputs implies ?1= ?2 (c) Having ?1= ?2 implies ?1 and ?2 always agree ?4 ?1 1 0 1 0 Claim: (1) ?1 ?2 Pr ?1? = ?2? = 1 (2) ?1 ?2 Pr ?1? = ?2? 13 1 1 0 0 Proof (1): If ?1 ?2 then they agree on all Boolean inputs. Thus their functions have the same truth table. Thus their associated polynomials ?1 and ?2 are identical. Thus ?1 and ?2 always agree (even on non-Boolean inputs). arithmetize ?1 ?2 ?1 and ?2 each have the form: 1 ?1 ?2 + ?1 ?2 + ?1 1 ?2 1 ?3 ?4 + ?1 ?2 1 ?3 ?4 ?3 1 ?4 (1 ??) ?? (??) Proof (2): If ?1 ?2 then ?1 ?2 so ? = ?1 ?2 0. From Schwartz-Zippel, Pr ?1? = ?2? (Note that ? = 1.) ??? ? 13. 3?= 1 ?3 ?4 (??) Check-in 24.2

  10. ??ROBP BPP Algorithm for ??ROBP= On input ?1,?2 [on variables ?1, ,??] 1. Find a prime ? 3?. 2. Pick a random non-Boolean input assignment ? = ?1, ,?? where each ?? ??. 3. Evaluate ?1 and ?2 on ? by using arithmetization. 4. If ?1 and ?2 agree on ? then accept. If they disagree then reject. ?1 Check-in 24.3 If ?1 and ?2 were exponentially large expressions, would that be a problem for the time complexity? (a) Yes, but luckily they are polynomial in size. (b) No, because we can evaluate them without writing them down. ?2 ?4 ?1 1 0 1 0 Claim: (1) ?1 ?2 Pr ?1? = ?2? = 1 (2) ?1 ?2 Pr ?1? = ?2? 13 1 1 0 0 Proof (1): If ?1 ?2 then they agree on all Boolean inputs. Thus their functions have the same truth table. Thus their associated polynomials ?1 and ?2 are identical. Thus ?1 and ?2 always agree (even on non-Boolean inputs). arithmetize ?1 ?2 ?1 and ?2 each have the form: 1 ?1 ?2 + ?1 ?2 + ?1 1 ?2 1 ?3 ?4 + ?1 ?2 1 ?3 ?4 ?3 1 ?4 (1 ??) ?? (??) Proof (2): If ?1 ?2 then ?1 ?2 so ? = ?1 ?2 0. From Schwartz-Zippel, Pr ?1? = ?2? (Note that ? = 1.) ??? ? 13. 3?= 1 ?3 ?4 (??) Check-in 24.3

  11. Quick review of today 1. Simulated Read-once Branching Programs by polynomials 2. Gave probabilistic polynomial equality testing method 3. Showed ??ROBP BPP

More Related Content