Bayes’ Network Analysis by Program Verification
Joost-Pieter Katoen Alan Turing Institute, January 2018
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 1/62
Bayes Network Analysis by Program Verification Joost-Pieter Katoen - - PowerPoint PPT Presentation
Bayes Network Analysis by Program Verification Joost-Pieter Katoen Alan Turing Institute, January 2018 Joost-Pieter Katoen Bayes Network Analysis by Program Verification 1/62 Perspective There are several reasons why probabilistic
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 1/62
1Ghahramani leads the Cambridge ML Group, and is with CMU, UCL, and Turing Institute. Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 2/62
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 3/62
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 4/62
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 5/62
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 6/62
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 7/62
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 8/62
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 9/62
Probabilistic weakest pre-conditions
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 10/62
Probabilistic weakest pre-conditions
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 11/62
Probabilistic weakest pre-conditions
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 12/62
Probabilistic weakest pre-conditions
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 13/62
Probabilistic weakest pre-conditions
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 14/62
Probabilistic weakest pre-conditions
2≠ expectations in probability theory. Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 15/62
Probabilistic weakest pre-conditions
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 16/62
Probabilistic weakest pre-conditions
5⋅wp (x ∶= 5, x) + 1 5⋅wp (x ∶= 10, x) = 4 5⋅5 + 1 5⋅10 = 6
5⋅wp (x +∶= 5, x)+ 1 5⋅wp (x ∶= 10, x) = 4 5⋅(x+5)+ 1 5⋅10 = 4x 5 + 6
4 5 ⋅ wp (x ∶= x+5, [x=10]) + 1 5 ⋅ wp (x ∶= 10, [x=10])
4 5 ⋅ [x+5 = 10] + 1 5 ⋅ [10 = 10]
4⋅[x=5]+1 5
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 17/62
Probabilistic weakest pre-conditions
[ P ] ] (s, ◇sink ∩ ¬◇↯) }
3Either both sides are equal or both sides are undefined. Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 18/62
Bayesian inference by program analysis
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 19/62
Bayesian inference by program analysis
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 20/62
Bayesian inference by program analysis
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 21/62
Bayesian inference by program analysis
▶ Rejection Sampling ▶ Markov Chain Monte Carlo (MCMC) ▶ Importance Sampling ▶ . . . . . .
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 22/62
Bayesian inference by program analysis
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 23/62
Bayesian inference by program analysis
10p
i=0 10p
j=0
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 24/62
Bayesian inference by program analysis
n−2
i=0
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 25/62
Bayesian inference by program analysis
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 26/62
Bayesian inference by program analysis
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 27/62
Bayesian inference by program analysis
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 28/62
Bayesian inference by program analysis
v∈V \O
v∈V \O
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 29/62
Bayesian inference by program analysis
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 30/62
Termination
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 31/62
Termination
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 32/62
Termination
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 33/62
Termination
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 34/62
Termination
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 35/62
Termination
▶ V (sn) ≥ E {V (sn+1) ∣ V (s0), . . . , V (sn)} ▶ Running body P on state s ⊧ G does not increase E(V (s)) ▶ Loop iteration ceases if V (s) = 0
▶ V (si) = v decreases by ≥ d(v) with probability ≥ p(v) ▶ with antitone p (“probability”) and d (“decrease”) on V ’s values
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 36/62
Termination
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 37/62
Termination
▶ V = x ▶ p(v) = 1/2 and d(v) = 1
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 38/62
Termination
▶ V = Hx, where Hx is x-th Harmonic number 1 + 1/2 + . . . + 1/x ▶ p(v) = 1/3 and d(v) = {
1/x
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 39/62
Termination
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 40/62
Runtime analysis
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 41/62
Runtime analysis
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 42/62
Runtime analysis
3-complete
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 43/62
Runtime analysis
4Certified using the Isabelle/HOL theorem prover; see [Hölzl, ITP 2016]. Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 44/62
Runtime analysis
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 45/62
Runtime analysis
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 46/62
Runtime analysis
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 47/62
Runtime analysis
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 48/62
How long to sample a Bayes’ network?
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 49/62
How long to sample a Bayes’ network?
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 50/62
How long to sample a Bayes’ network?
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 51/62
How long to sample a Bayes’ network?
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 52/62
How long to sample a Bayes’ network?
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 53/62
How long to sample a Bayes’ network?
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 54/62
How long to sample a Bayes’ network?
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 55/62
How long to sample a Bayes’ network?
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 56/62
How long to sample a Bayes’ network?
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 57/62
How long to sample a Bayes’ network?
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 58/62
How long to sample a Bayes’ network?
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 59/62
Epilogue
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 60/62
Epilogue
Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 61/62
Epilogue
5EATCS best paper award of ETAPS 2016. Joost-Pieter Katoen Bayes’ Network Analysis by Program Verification 62/62