Model Checking Stochastic Branching Processes Taolue Chen Klaus Dr¨ ager Stefan Kiefer University of Oxford, UK MFCS 2012, Bratislava 27 August 2012 Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Topic of the Talk Two classical model-checking problems: Does a given non-deterministic transition system 1 satisfy a given property? What’s the probability that a given Markov chain 2 satisfies a given property? We consider linear-time properties: ω -regular specifications, e.g., LTL formulae. Our plan: Define a natural generalisation of those problems. Solve the generalised problem. Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Nondeterministic Transition Systems induces a unique tree: X X Y X Y textual representation: X Y Y X ֒ → XY − Y ֒ → Y − X Y Y Y (one rule for each state) . . . . . . . . . . . . Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Nondeterministic Transition Systems induces a unique tree: X X Y X Y textual representation: X Y Y X ֒ → XY − Y ֒ − → Y X Y Y Y (one rule for each state) . . . . . . . . . . . . Do all branches of the tree satisfy � ( Y → � Y ) ? Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Nondeterministic Transition Systems induces a unique tree: X X Y X Y textual representation: X Y Y X ֒ → XY − Y ֒ − → Y X Y Y Y (one rule for each state) . . . . . . . . . . . . Do all branches of the tree satisfy � ( Y → � Y ) ? Yes. Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Nondeterministic Transition Systems induces a unique tree: X X Y X Y textual representation: X Y Y X ֒ − → XY Y ֒ → Y − X Y Y Y (one rule for each state) . . . . . . . . . . . . Do all branches of the tree satisfy � ( Y → � Y ) ? Yes. Do all branches of the tree satisfy ♦ Y ? Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Nondeterministic Transition Systems induces a unique tree: X X Y X Y textual representation: X Y Y X ֒ − → XY Y ֒ → Y − X Y Y Y (one rule for each state) . . . . . . . . . . . . Do all branches of the tree satisfy � ( Y → � Y ) ? Yes. Do all branches of the tree satisfy ♦ Y ? No. Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Markov Chains induces a random “tree” (only one branch): 0 . 8 1 X 0 . 2 X Y X textual representation: 0 . 8 1 X ֒ − → X Y ֒ − → Y Y 0 . 2 X ֒ − → Y Y (multiple rules for each state) . . . Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Markov Chains induces a random “tree” (only one branch): 0 . 8 1 X 0 . 2 X Y X textual representation: 0 . 8 1 X ֒ − → X Y ֒ − → Y Y 0 . 2 X ֒ − → Y Y (multiple rules for each state) . . . Does the branch satisfy ϕ 1 := � ( Y → � Y ) ? Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Markov Chains induces a random “tree” (only one branch): 0 . 8 1 X 0 . 2 X Y X textual representation: 0 . 8 1 X ֒ − → X Y ֒ − → Y Y 0 . 2 X ֒ − → Y Y (multiple rules for each state) . . . Does the branch satisfy ϕ 1 := � ( Y → � Y ) ? Pr ( ϕ 1 ) = 1 Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Markov Chains induces a random “tree” (only one branch): 0 . 8 1 X 0 . 2 X Y X textual representation: 0 . 8 1 X ֒ − → X Y ֒ − → Y Y 0 . 2 X ֒ − → Y Y (multiple rules for each state) . . . Does the branch satisfy ϕ 1 := � ( Y → � Y ) ? Pr ( ϕ 1 ) = 1 Does the branch satisfy ϕ 2 := ♦ Y ? Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Markov Chains induces a random “tree” (only one branch): 0 . 8 1 X 0 . 2 X Y X textual representation: 0 . 8 1 X ֒ − → X Y ֒ − → Y Y 0 . 2 X ֒ − → Y Y (multiple rules for each state) . . . Does the branch satisfy ϕ 1 := � ( Y → � Y ) ? Pr ( ϕ 1 ) = 1 Does the branch satisfy ϕ 2 := ♦ Y ? Pr ( ϕ 2 ) = 1 Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Markov Chains induces a random “tree” (only one branch): 0 . 8 1 X 0 . 2 X Y X textual representation: 0 . 8 1 X ֒ − → X Y ֒ → Y − Y 0 . 2 X ֒ − → Y Y (multiple rules for each state) . . . Does the branch satisfy ϕ 1 := � ( Y → � Y ) ? Pr ( ϕ 1 ) = 1 Does the branch satisfy ϕ 2 := ♦ Y ? Pr ( ϕ 2 ) = 1 Does the branch satisfy ϕ 3 := Y ? Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Markov Chains induces a random “tree” (only one branch): 0 . 8 1 X 0 . 2 X Y X textual representation: 0 . 8 1 X ֒ − → X Y ֒ − → Y Y 0 . 2 X ֒ − → Y Y (multiple rules for each state) . . . Does the branch satisfy ϕ 1 := � ( Y → � Y ) ? Pr ( ϕ 1 ) = 1 Does the branch satisfy ϕ 2 := ♦ Y ? Pr ( ϕ 2 ) = 1 Does the branch satisfy ϕ 3 := Y ? Pr ( ϕ 3 ) = 0 . 2 Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Branching Processes nondeterministic transition system: degenerated probability distribution on trees (probability 1 for one tree, probability 0 for all others) Markov chain: probability distribution on degenerated trees (every node has just one child) branching process: probability distribution on trees 0 . 6 0 . 2 1 X ֒ − → X Y ֒ − → Z Z ֒ − → Z 0 . 4 0 . 5 X − → XY Y − → Y ֒ ֒ 0 . 3 Y ֒ − → YY New plan: model check random (infinite) trees! Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Branching Processes X 0 . 6 0 . 2 1 X ֒ − → X Y ֒ − → Z Z ֒ − → Z 0 . 4 0 . 4 0 . 5 X − → XY Y − → Y ֒ ֒ X Y 0 . 3 Y ֒ − → YY 0 . 6 0 . 3 X Y Y Probability of a tree that starts 0 . 5 0 . 2 0 . 4 as on the right = 0 . 4 · 0 . 6 · 0 . 3 · 0 . 4 · 0 . 5 · 0 . 2 X Y Y Z . . . . . . . . . . . . probability measure on (infinite) trees Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Model Checking: Simple Doesn’t Work 0 . 6 0 . 2 1 X X ֒ − → X Y ֒ − → Z Z ֒ − → Z 0 . 4 0 . 5 0 . 4 X ֒ − → XY Y ֒ − → Y 0 . 3 Y − → YY ֒ X Y 0 . 6 0 . 3 Consider ϕ := �♦ ( X ∨ Z ) (on all branches). X Y Y What is Pr X ( ϕ ) ? 0 . 5 0 . 2 0 . 4 “Markov-Chain” approach: Pr X ( ϕ ) = 1 X Y Y Z . . . . . . . . “Pushdown-System” approach: Pr X ( ϕ ) = 1 . . . . Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Model Checking: Simple Doesn’t Work 0 . 6 0 . 2 1 X X ֒ − → X Y ֒ − → Z Z ֒ − → Z 0 . 4 0 . 5 0 . 4 X ֒ − → XY Y ֒ − → Y 0 . 3 Y − → YY ֒ X Y 0 . 6 0 . 3 Consider ϕ := �♦ ( X ∨ Z ) (on all branches). X Y Y What is Pr X ( ϕ ) ? 0 . 5 0 . 2 0 . 4 “Markov-Chain” approach: Pr X ( ϕ ) = 1 X Y Y Z . . . . . . . . “Pushdown-System” approach: Pr X ( ϕ ) = 1 . . . . correct value: Pr X ( ϕ ) = 0 Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Model Checking: Simple Doesn’t Work 0 . 6 0 . 2 1 X X ֒ − → X Y ֒ − → Z Z ֒ → Z − 0 . 4 0 . 5 0 . 4 X ֒ − → XY Y ֒ − → Y 0 . 3 Y − → YY ֒ X Y 0 . 6 0 . 3 Consider ϕ := �♦ ( X ∨ Z ) (on all branches). X Y Y What is Pr X ( ϕ ) ? 0 . 5 0 . 2 0 . 4 “Markov-Chain” approach: Pr X ( ϕ ) = 1 X Y Y Z . . . . . . . . “Pushdown-System” approach: Pr X ( ϕ ) = 1 . . . . correct value: Pr X ( ϕ ) = 0 However: Swapping 0 . 2 and 0 . 3 in the rules Pr X ( ϕ ) = 1. The exact numbers matter, even for qualitative behaviour. Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Properties in the paper: deterministic parity tree property more general ω -regular property along all branches more general in this talk: deterministic B¨ uchi property along all branches Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Deterministic B¨ uchi Automata X , Z Y X , Z Perform a product construction with the branching process. (instance of automata-theoretic approach) Obtain a branching process with accepting states and non-accepting states. Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Branching Process with (Non-)Accepting States After product construction: X 0 . 6 0 . 2 1 X ֒ − → X Y ֒ − → Z Z ֒ → Z − X Y 0 . 4 0 . 5 X − → XY Y − → Y ֒ ֒ 0 . 3 Y ֒ − → YY X Y Y Accepting: X , Z Non-Accepting: Y X Y Y Z . . . . . . . . . . . . def a tree is good ⇐ ⇒ each branch has infinitely many accepting nodes Compute Pr X ( good ) Taolue Chen, Klaus Dr¨ ager, Stefan Kiefer Model Checking Stochastic Branching Processes
Recommend
More recommend