140 likes | 228 Views
Bayesian reasoning using MAX-SAT and model-counting. Shuo Yang Karl L. Stratos (a.k.a. Jang Sun Lee). Introduction. Goal: P(A|B) “ Using Weighted MAX-SAT Engines to Solve MPE ” (Park)
E N D
Bayesian reasoning using MAX-SAT and model-counting Shuo Yang Karl L. Stratos (a.k.a. Jang Sun Lee) CSC 444 Presentation (11/30/10)
Introduction • Goal: P(A|B) • “Using Weighted MAX-SAT Engines to Solve MPE” (Park) • Using weighted MAX-SAT method to solve the problem of finding the variable instantiation of a Bayesian network that has the highest probability given some evidence. • “Solving Bayesian Networks by Weighted Model Counting” (Sang, Beame, Kautz) • Transform the given Bayesian inference problem into a #SAT problem and then solve that. CSC 444 Presentation (11/30/10)
Translating Bayesian Networks into Weighted Model CountingNotes prepared by Karl L. Stratos On the Tian Sang, Paul Beame, and Henry Katuz paper “Solving Bayesian Networks by Weighted Model Counting” CSC 444 Presentation (11/30/10)
What is this paper about?Bayesian Networks => Weighted Model Counting Why? Take advantage of the work already done in the latter (Cachet).Not meant to displace the pre-existing solutions for the former (tree join algorithms) How is it possible?Model counting is #P-complete. CSC 444 Presentation (11/30/10)
#P:= { counting problems | corresponding to the decision problems in the set NP } E.g., Does there exist any variable assignment that satisfy a given CNF formula? (NP(-complete))How many variable assignments satisfy a given CNF formula? (#P(-complete)) #P-complete:= { counting problems | in #P & every #P problem can be reduced to them by a polynomial-time counting reduction } CSC 444 Presentation (11/30/10)
Translation Example CSC 444 Presentation (11/30/10)
Translation Example CSC 444 Presentation (11/30/10)
Translation Example State variables: G, F, HChance variables (weighted): d, g1, g0, f1, f0, h10, h01(0.5) (0.7) (0.2) (0.6) (0.1) (0.6) (0.4) CSC 444 Presentation (11/30/10)
Translation Example get-tired (G): D=T, p(G)=0.7 (~D v ~g1 v G) ^ (~D v g1 v ~G)D=F, p(G)=0.2 (D v ~g0 v G) ^ (D v g0 v ~G)finish-work (F):D=T, p(F)=0.6 (~D v ~f1 v G) ^ (~D v f1 v ~G) D=F, p(F)=0.1 (D v ~f0 v G) ^ (D v f0 v ~G)have-rest (H): F=T, G=T, p(F)=1 (~F v ~G v H)F=T, G=F, p(H)=0.5 (~F v G v ~h10 v H) ^ (~F v G v h10 v ~H)F=F, G=T, p(H)=0.4 (F v ~G v ~h01 v H) ^ (F v ~G v h01 v ~H)F=F, G=F, p(H)=0 (F v G v ~H) CSC 444 Presentation (11/30/10)
Game Plan • Given a Bayesian network N, compute p(A ) for any set A of constraints. E.g., p(A^B^C). • What about posterior probabilities like p(A|B)? BWMC(ϕ) if ϕ empty, return 1 if ϕ has an empty clause, return 0 pick a variable v in ϕ: return BWMC(ϕ | v=0) w(-v) + BWMC(ϕ | v=1) w(v) CSC 444 Presentation (11/30/10)
Game Plan • BWMC(ϕ) • is a value in [0, 1] • represents the weight of the CNF formula ϕ • Why is this relevant? • Theorem 3: • BWMC(ϕ ^ C) = p(C) (with respect to the network that coressponds to the CNF formula phi, of course.) • What we wanted, Q.E.D. CSC 444 Presentation (11/30/10)
Game Plan • N (Bayesian network), Q, E in N • Want p(Q|E) • Turn N into a #SAT instance ϕ • Compute • p(Q|E) = p(Q^E)/p(E) = BWMC(ϕ^Q^E)/BWMC(ϕ^E) CSC 444 Presentation (11/30/10)
Results • Basically beats the procedures (e.g., tree join algorithms) that solve only Bayesian inferences CSC 444 Presentation (11/30/10)
Thank you! (now questions & an open discussion) CSC 444 Presentation (11/30/10)