Dynamic Epistemic Logic Model checking Satisfiability problem Conclusion On the Complexity of Dynamic Epistemic Logic Guillaume Aucher 1 Francois Schwarzentruber 2 Workshop ”Believing, planning, acting, revising” July 5, 2013 1 Universit´ e de Rennes 1 - INRIA, France 2 ENS Cachan, Brittany extension, France 1 / 60
Dynamic Epistemic Logic Model checking Satisfiability problem Conclusion Our environment: now and in the future AMAISON .fr socialnetwork � Distributed systems Internet, robots Objects Video games Cooperation during a rescue in nuclear plant e-commerce e-voting 2 / 60
Dynamic Epistemic Logic Model checking Satisfiability problem Conclusion A dream Issues Synthesis of (a squeleton of) a program Planning Verification Logics Time and knowledge: ETL strategies and knowledge: ATEL description of an action and knowledge: DEL 3 / 60
Dynamic Epistemic Logic Model checking Satisfiability problem Conclusion Dynamic epistemic logic 4 / 60
Dynamic Epistemic Logic (Static) Epistemic logic Model checking Event models Satisfiability problem Product update Conclusion DEL language Outline Dynamic Epistemic Logic 1 (Static) Epistemic logic Event models Product update DEL language Model checking 2 Satisfiability problem 3 Conclusion 4 5 / 60
Dynamic Epistemic Logic (Static) Epistemic logic Model checking Event models Satisfiability problem Product update Conclusion DEL language Outline Dynamic Epistemic Logic 1 (Static) Epistemic logic Event models Product update DEL language Model checking 2 Satisfiability problem 3 Conclusion 4 6 / 60
Dynamic Epistemic Logic (Static) Epistemic logic Model checking Event models Satisfiability problem Product update Conclusion DEL language Epistemic static Kripke models M = ( W , R 1 , . . . , R n , V ) with W : possible worlds R i ⊆ W × W : accessibility relation for agent i V : ATM → 2 W : valuation Example 1, 2 b ¬ b 1, 2 1, 2 7 / 60
Dynamic Epistemic Logic (Static) Epistemic logic Model checking Event models Satisfiability problem Product update Conclusion DEL language (Static) Epistemic language L : ϕ ::= p | ¬ ϕ | ϕ ∧ ϕ | B a ϕ Semantics B a ϕ : agent a believes ϕ ; M , w | = B a ϕ iff for all u ∈ R a ( w ), we have M , u | = ϕ . Example 1, 2 ¬ b b 1, 2 1, 2 8 / 60
Dynamic Epistemic Logic (Static) Epistemic logic Model checking Event models Satisfiability problem Product update Conclusion DEL language Outline Dynamic Epistemic Logic 1 (Static) Epistemic logic Event models Product update DEL language Model checking 2 Satisfiability problem 3 Conclusion 4 9 / 60
Dynamic Epistemic Logic (Static) Epistemic logic Model checking Event models Satisfiability problem Product update Conclusion DEL language Event Kripke models M ′ = ( W ′ , R ′ 1 , . . . , R ′ n , Pre) with W ′ : possible events a ⊆ W ′ × W ′ : accessibility relation for agent a R ′ Pre : W ′ → L : preconditions 10 / 60
Dynamic Epistemic Logic (Static) Epistemic logic Model checking Event models Satisfiability problem Product update Conclusion DEL language Example 1 of an event model 1, 2 b 11 / 60
Dynamic Epistemic Logic (Static) Epistemic logic Model checking Event models Satisfiability problem Product update Conclusion DEL language Example 2 of an event model 1 b 2 ⊤ 1, 2 12 / 60
Dynamic Epistemic Logic (Static) Epistemic logic Model checking Event models Satisfiability problem Product update Conclusion DEL language Outline Dynamic Epistemic Logic 1 (Static) Epistemic logic Event models Product update DEL language Model checking 2 Satisfiability problem 3 Conclusion 4 13 / 60
Dynamic Epistemic Logic (Static) Epistemic logic Model checking Event models Satisfiability problem Product update Conclusion DEL language Our expectation 14 / 60
Dynamic Epistemic Logic (Static) Epistemic logic Model checking Event models Satisfiability problem Product update Conclusion DEL language Updated models M ′ Given M We define the updated model M ⊗ M ′ = ( W ⊗ , R ⊗ , V ⊗ ) by: if v ∈ W , v ′ ∈ W ′ and M , v | ( v , v ′ ) ∈ W ⊗ = Pre( v ′ ) ( v , v ′ ) R ⊗ i ( u , u ′ ) if vR i u and v ′ R ′ i u ′ , ( v , v ′ ) ∈ V ⊗ ( p ) if M , v | = p . 15 / 60
Dynamic Epistemic Logic (Static) Epistemic logic Model checking Event models Satisfiability problem Product update Conclusion DEL language Pointed updated models Given M , w M ′ , w ′ the pointed updated model M ⊗ M ′ , ( w , w ′ ) is defined iff M , w | = Pre( w ′ ) 16 / 60
Dynamic Epistemic Logic (Static) Epistemic logic Model checking Event models Satisfiability problem Product update Conclusion DEL language Example 1 1 b b 1, 2 ⊗ = b ¬ b 2 2 2 1, 2 1, 2 1, 2 ⊤ b ¬ b 1, 2 1, 2 1, 2 17 / 60
Dynamic Epistemic Logic (Static) Epistemic logic Model checking Event models Satisfiability problem Product update Conclusion DEL language Outline Dynamic Epistemic Logic 1 (Static) Epistemic logic Event models Product update DEL language Model checking 2 Satisfiability problem 3 Conclusion 4 18 / 60
Dynamic Epistemic Logic (Static) Epistemic logic Model checking Event models Satisfiability problem Product update Conclusion DEL language DEL language [ van Ditmarsch et al. 2007, van der Hoek, Kooi, Dynamic Epistemic Logic ] ::= p | ¬ ϕ | ϕ ∧ ϕ | B a ϕ | [ π ] ϕ ϕ M ′ , w ′ ::= | π ∪ π π Semantics [ π ] ϕ : after the event π , ϕ is true M , w | = [ M ′ , w ′ ] ϕ iff if M ⊗ M ′ , ( w , w ′ ) is defined then M ⊗ M ′ , ( w , w ′ ) | = ϕ ; M , w | = [ π 1 ∪ π 2 ] ϕ iff M , w | = [ π 1 ] ϕ and M , w | = [ π 2 ] ϕ . 19 / 60
Dynamic Epistemic Logic Definition Model checking A PSPACE procedure Satisfiability problem PSPACE-hardness Conclusion Outline Dynamic Epistemic Logic 1 Model checking 2 Definition A PSPACE procedure PSPACE-hardness Satisfiability problem 3 Conclusion 4 20 / 60
Dynamic Epistemic Logic Definition Model checking A PSPACE procedure Satisfiability problem PSPACE-hardness Conclusion Outline Dynamic Epistemic Logic 1 Model checking 2 Definition A PSPACE procedure PSPACE-hardness Satisfiability problem 3 Conclusion 4 21 / 60
Dynamic Epistemic Logic Definition Model checking A PSPACE procedure Satisfiability problem PSPACE-hardness Conclusion Model checking M , w yes, if M , w | = ϕ model checking ϕ (no otherwise) 22 / 60
Dynamic Epistemic Logic Definition Model checking A PSPACE procedure Satisfiability problem PSPACE-hardness Conclusion Outline Dynamic Epistemic Logic 1 Model checking 2 Definition A PSPACE procedure PSPACE-hardness Satisfiability problem 3 Conclusion 4 23 / 60
Dynamic Epistemic Logic Definition Model checking A PSPACE procedure Satisfiability problem PSPACE-hardness Conclusion A PSPACE procedure for model checking Specification M , w , M ′ 1 , w ′ 1 , yes, if M , w ⊗ M ′ 1 , w ′ 1 , . . . , ⊗M ′ i , w ′ i | = ϕ . . . , M-Check M ′ i , w ′ (no otherwise) i ϕ such that M , w ⊗ M ′ 1 , w ′ 1 , . . . , ⊗M ′ i , w ′ i is defined Procedure function M-Check ( M , w M ′ 1 , w ′ 1 ; . . . ; M ′ i , w ′ ϕ ) i . . . endFunction 24 / 60
Dynamic Epistemic Logic Definition Model checking A PSPACE procedure Satisfiability problem PSPACE-hardness Conclusion A PSPACE procedure for model checking function M-Check ( M , w M ′ 1 , w ′ 1 ; . . . ; M ′ i , w ′ ϕ ) i match ( ϕ ) case p : return w ∈ V ( p ); case ¬ ψ : return not M-Check ( M , w M ′ 1 , w ′ 1 ; . . . ; M ′ i , w ′ ψ ); i case ψ 1 ∧ ψ 2 : . . . case B a ψ : . . . case [ M ′ , w ′ ] ψ : . . . case [ π ∪ γ ] ψ : . . . endMatch endFunction 25 / 60
Dynamic Epistemic Logic Definition Model checking A PSPACE procedure Satisfiability problem PSPACE-hardness Conclusion A PSPACE procedure for model checking function M-Check ( M , w M ′ 1 , w ′ 1 ; . . . ; M ′ i , w ′ ϕ ) i match ( ϕ ) . . . case [ M ′ , w ′ ] ψ : if M-Check ( M , w M ′ 1 , w ′ 1 ; . . . ; M ′ i , w ′ Pre ( w ′ )) i i ; M ′ , w ′ ψ ); return M-Check ( M , w M ′ 1 , w ′ 1 ; . . . ; M ′ i , w ′ endIf return true ; . . . endMatch endFunction 26 / 60
Dynamic Epistemic Logic Definition Model checking A PSPACE procedure Satisfiability problem PSPACE-hardness Conclusion A PSPACE procedure for model checking function M-Check ( M , w M ′ 1 , w ′ 1 ; . . . ; M ′ i , w ′ ϕ ) i match ( ϕ ) . . . case B a ψ : for u ∈ R a ( w ), u ′ 1 ∈ R ′ a ( w ′ 1 ), . . . , u ′ i ∈ R ′ a ( w ′ i ) if M-Check ( w , Pre ( u ′ 1 )) and . . . M-Check ( M , u M ′ 1 , u ′ 1 ; . . . ; M ′ i − 1 , u ′ i − 1 Pre ( u ′ i )) if not M-Check ( M , u M ′ 1 , u ′ 1 ; . . . ; M ′ i , u ′ i ψ ); return false ; endIf endIf endFor return true ; . . . endMatch endFunction 27 / 60
Dynamic Epistemic Logic Definition Model checking A PSPACE procedure Satisfiability problem PSPACE-hardness Conclusion Model checking in PSPACE Theorem The model checking problem is in PSPACE. Proof. Number of nested recursive calls is bounded by |M| + � i 1 |M ′ i | + | ϕ | ; Memory for local variables of one call is polynomial. 28 / 60
Recommend
More recommend