markov processes in isabelle hol
play

Markov Processes in Isabelle/HOL Applications Probabilistic - PowerPoint PPT Presentation

CPP 2017 Johannes Hlzl (Technical University of Munich) Markov Processes in Isabelle/HOL Applications Probabilistic programming, Continuous-time Markov Example proc x randomised walk on proc stream m proc x do x Normal x 0 1 proc x


  1. CPP 2017 Johannes Hölzl (Technical University of Munich) Markov Processes in Isabelle/HOL

  2. Applications Probabilistic programming, Continuous-time Markov Example proc x — randomised walk on proc stream m proc x do x Normal x 0 1 proc x return x Wanted A general method to construct processes: proc x do y K x proc y return y Formalization for Modelling Stochastic Processes Next step is Normal distributed with variance 0 1. physical processes with errors, … chains (queuing theory, biological processes, …), 1

  3. Example proc x — randomised walk on proc stream m proc x do x Normal x 0 1 proc x return x Wanted A general method to construct processes: proc x do y K x proc y return y Formalization for Modelling Stochastic Processes Next step is Normal distributed with variance 0 1. physical processes with errors, … chains (queuing theory, biological processes, …), Continuous-time Markov 1 Applications Probabilistic programming,

  4. Example proc x — randomised walk on proc stream m proc x do x Normal x 0 1 proc x return x Wanted A general method to construct processes: proc x do y K x proc y return y Formalization for Modelling Stochastic Processes physical processes with errors, … Next step is Normal distributed with variance 0 1. chains (queuing theory, biological processes, …), 1 Applications Probabilistic programming, Continuous-time Markov

  5. proc stream m proc x do x Normal x 0 1 proc x return x Wanted A general method to construct processes: proc x do y K x proc y return y Formalization for Modelling Stochastic Processes Next step is Normal distributed with variance 0 1. — randomised walk on physical processes with errors, … chains (queuing theory, biological processes, …), 1 Applications Probabilistic programming, Continuous-time Markov Example proc x

  6. proc stream m proc x do x Normal x 0 1 proc x return x Wanted A general method to construct processes: proc x do y K x proc y return y Formalization for Modelling Stochastic Processes Next step is Normal distributed with variance 0 1. physical processes with errors, … chains (queuing theory, biological processes, …), 1 Applications Probabilistic programming, Continuous-time Markov Example proc x — randomised walk on R

  7. proc stream m proc x do x Normal x 0 1 proc x return x Wanted A general method to construct processes: proc x do y K x proc y return y Formalization for Modelling Stochastic Processes physical processes with errors, … chains (queuing theory, biological processes, …), 1 Applications Probabilistic programming, Continuous-time Markov Example proc x — randomised walk on R Next step is Normal distributed with variance 0 . 1.

  8. Wanted A general method to construct processes: proc x do y K x proc y return y Formalization for Modelling Stochastic Processes 1 physical processes with errors, … chains (queuing theory, biological processes, …), Applications Probabilistic programming, Continuous-time Markov Example proc x — randomised walk on R Next step is Normal distributed with variance 0 . 1. proc ∈ R → m Pr ( stream ( R )) proc x = do { x ′ ← Normal ( x , 0 . 1 ) ω ← proc x ′ return x ′ · ω }

  9. Formalization for Modelling Stochastic Processes chains (queuing theory, biological processes, …), physical processes with errors, … 1 Applications Probabilistic programming, Continuous-time Markov Example proc x — randomised walk on R Next step is Normal distributed with variance 0 . 1. proc ∈ R → m Pr ( stream ( R )) proc x = do { x ′ ← Normal ( x , 0 . 1 ) ω ← proc x ′ return x ′ · ω } Wanted A general method to construct processes: proc x = do { y ← K x ; ω ← proc y ; return ( y · ω ) }

  10. Formalization for Modelling Stochastic Processes physical processes with errors, … 1 Applications Probabilistic programming, Continuous-time Markov chains (queuing theory, biological processes, …), Example proc x — randomised walk on R Next step is Normal distributed with variance 0 . 1. proc ∈ R → m Pr ( stream ( R )) proc x = do { x ′ ← Normal ( x , 0 . 1 ) ω ← proc x ′ return x ′ · ω } Wanted A general method to construct processes: proc x = do { y ← K x ; ω ← proc y ; return ( y · ω ) }

  11. • Formalize Markov Processes • Transition Function • Construction Method • Basic Properties • Transition Rates • Construction Method • Properties • Discussion 2 Overview • Application: Continuous-Time Markov Chains

  12. 2 Markov Processes

  13. Monad Combinators Map map m m Bind bind m Return return m Note: Functions are regular HOL functions, We use do theorems have measurability assumptions. notation 3 Giry Monad Monad on probability spaces Pr ( S ) for a measurable space S

  14. Bind bind m Return return m Note: Functions are regular HOL functions, We use do theorems have measurability assumptions. notation 3 Giry Monad Monad on probability spaces Pr ( S ) for a measurable space S Monad Combinators Map map ∈ ( S → m T ) → ( Pr ( S ) → m Pr ( T ))

  15. Return return m Note: Functions are regular HOL functions, We use do theorems have measurability assumptions. notation 3 Giry Monad Monad on probability spaces Pr ( S ) for a measurable space S Monad Combinators Map map ∈ ( S → m T ) → ( Pr ( S ) → m Pr ( T )) Bind bind ∈ Pr ( S ) → ( S → m Pr ( T )) → Pr ( T )

  16. Note: Functions are regular HOL functions, We use do theorems have measurability assumptions. notation 3 Giry Monad Monad on probability spaces Pr ( S ) for a measurable space S Monad Combinators Map map ∈ ( S → m T ) → ( Pr ( S ) → m Pr ( T )) Bind bind ∈ Pr ( S ) → ( S → m Pr ( T )) → Pr ( T ) Return return ∈ S → m Pr ( S )

  17. theorems have measurability assumptions. 3 Giry Monad Monad on probability spaces Pr ( S ) for a measurable space S Monad Combinators Map map ∈ ( S → m T ) → ( Pr ( S ) → m Pr ( T )) Bind bind ∈ Pr ( S ) → ( S → m Pr ( T )) → Pr ( T ) Return return ∈ S → m Pr ( S ) Note: Functions are regular HOL functions, We use do { . . . } notation

  18. coalgebraic T S S S are the discrete distributions on S generalized K m is a measurable space on S , • nonnegative & rows sum up to 1 • • • are probability distributions on 4 Markov Kernels (a.k.a. stochastic relations) Transition functions for Markov chains on state spaces S traditional T : S → S → R

  19. generalized K m is a measurable space on S , • nonnegative & rows sum up to 1 • • are probability distributions on 4 Markov Kernels (a.k.a. stochastic relations) Transition functions for Markov chains on state spaces S traditional T : S → S → R coalgebraic T : S → D ( S ) • D ( S ) are the discrete distributions on S

  20. • nonnegative & rows sum up to 1 4 Markov Kernels (a.k.a. stochastic relations) Transition functions for Markov chains on state spaces S traditional T : S → S → R coalgebraic T : S → D ( S ) • D ( S ) are the discrete distributions on S generalized K ∈ S → m Pr ( S ) • S is a measurable space on S , • Pr ( S ) are probability distributions on S

  21. 5 . . . Extension Theorem by Ionescu-Tulcea There exists proc x ∈ S → m Pr ( stream ( S )) where do { y 1 ← K x y 2 ← K y 1 do { y 3 ← K y 2 y ← K x proc x y 4 ← K y 3 ω ← proc y = = y 5 ← K y 4 return ( y · ω ) y 6 ← K y 5 } return ( y 1 · y 2 · y 3 · y 4 · y 5 · · · ) }

  22. Yes: Bisimulation implies equality Bisimulation relation R stream stream R M N exists K , and M N stream m • M do y K M y return y • N do y K N y return y K y R M y N y Bisimulation implies equality (a.k.a coinduction rule for equality) R bisimulation relation: R M N M N . 6 1. • , and , s.t. Uniqueness Ionescu-Tulcea proves existence. Is it unique?

  23. Bisimulation relation R stream stream R M N exists K , and M N stream m • M do y K M y return y • N do y K N y return y K y R M y N y Bisimulation implies equality (a.k.a coinduction rule for equality) R bisimulation relation: R M N M N . 1. 6 • , and , s.t. Uniqueness Ionescu-Tulcea proves existence. Is it unique? Yes: Bisimulation implies equality

  24. Bisimulation implies equality (a.k.a coinduction rule for equality) R bisimulation relation: R M N M N . 6 Uniqueness Ionescu-Tulcea proves existence. Is it unique? Yes: Bisimulation implies equality Bisimulation relation R : Pr ( stream ( S )) → Pr ( stream ( S )) → B R M N exists K ∈ Pr ( S ) , and M ′ , N ′ ∈ S → m Pr ( stream ( S )) s.t. • M = do { y ← K ; ω ← M ′ y ; return ( y · ω ) } , • N = do { y ← K ; ω ← N ′ y ; return ( y · ω ) } , and • Pr K { y | R ( M ′ y ) ( N ′ y ) } = 1.

  25. 6 Uniqueness Ionescu-Tulcea proves existence. Is it unique? Yes: Bisimulation implies equality Bisimulation relation R : Pr ( stream ( S )) → Pr ( stream ( S )) → B R M N exists K ∈ Pr ( S ) , and M ′ , N ′ ∈ S → m Pr ( stream ( S )) s.t. • M = do { y ← K ; ω ← M ′ y ; return ( y · ω ) } , • N = do { y ← K ; ω ← N ′ y ; return ( y · ω ) } , and • Pr K { y | R ( M ′ y ) ( N ′ y ) } = 1. Bisimulation implies equality (a.k.a coinduction rule for equality) R bisimulation relation: R M N = ⇒ M = N .

  26. a a b c a 7 time Markov Property 0 . 5 c b 0 . 33 0 . 5 0 . 67 a 0 . 5 0 . 5

  27. a b c a 7 time Markov Property 0 . 5 c b 0 . 33 0 . 5 0 . 67 a 0 . 5 0 . 5 a

Recommend


More recommend