9 Oct, 2019 [LOPSTR’19] Modeling and Reasoning in Event Calculus Using Goal-Directed Constraint Answer Set Programming ın Arias 1 , 2 Zhuo Chen 3 Manuel Carro 1 , 2 Gopal Gupta 3 Joaqu´ 1 IMDEA Software Institute, 2 Universidad Polit´ ecnica de Madrid 3 University of Texas at Dallas madrid institute for advanced studies in software development technologies
www.software.imdea.org Introduction Example: Commonsense Reasoning ( CR ) • Requires modelling: • Non-monotonicity. • Continuous (i.e., non-discrete) characteristics of the world. • Event Calculus ( EC ): formalism that represents continuous change and captures law of inertia . • EC components: Narrative A description of the world we want to model. Assumes circumscription. A tap fills a vessel [Shanahan 1999] . Axioms A generic description of how the world behaves given a narrative. • Implementing EC: logic reasoning + continuous domains. madrid institute for advanced studies in software development technologies 1 / 12
www.software.imdea.org Introduction Example: Reasoning on EC: deduction / proving in first order logic (+ circumscription). Approaches • Non-interactive theorem prover: likely won’t always answer [12] . • Prolog: incomplete implementations [15; 10; 2] . • Constraint Answer Set Programming ( CASP ): requires grounding . • Has been used to model (discrete) EC [8; 9] . A tap fills a vessel [Shanahan 1999] . • Limited to variables ranging over discrete, finite domains. madrid institute for advanced studies in software development technologies 1 / 12
www.software.imdea.org (Constraint) Logic Programming + negation • A logic program P is a set of First Order Logic clauses. • Programs with negation in the body can have different, incomparable models: stable model semantics [Gelfond and Lifschitz 1988] . madrid institute for advanced studies in software development technologies 2 / 12
www.software.imdea.org (Constraint) Logic Programming + negation • A logic program P is a set of First Order Logic clauses. • Programs with negation in the body can have different, incomparable models: stable model semantics [Gelfond and Lifschitz 1988] . The program: Has two models: p ← ¬ q . { p , ¬ q } or { q , ¬ p } q ← ¬ p . madrid institute for advanced studies in software development technologies 2 / 12
www.software.imdea.org (Constraint) Logic Programming + negation • A logic program P is a set of First Order Logic clauses. • Programs with negation in the body can have different, incomparable models: stable model semantics [Gelfond and Lifschitz 1988] . The program: Has two models: p ← ¬ q . { p , ¬ q } or { q , ¬ p } q ← ¬ p . • (Constraint) Answer Set Programming systems compute those stable models. • However , most (C)ASP systems require a grounding phase that restricts the domains and constraints supported. madrid institute for advanced studies in software development technologies 2 / 12
www.software.imdea.org s(CASP) • Goal directed execution of CASP programs without grounding. • The execution starts with a query. ?- T #> 5, T #< 8, cross(T) . • Returns (partial) stable models [Gelfond and Lifschitz 1988] Only literals supporting the query. • For each successful top-down derivation, on backtracking returns: • A justification tree. Explanation for observations. • Bindings and constraints as part of the model. {T #> 5 , T #< 7/3 , cross(T) , train(7.3)} . madrid institute for advanced studies in software development technologies 3 / 12
www.software.imdea.org s(CASP) • Goal directed execution of CASP programs without grounding. • The execution starts with a query. ?- T #> 5, T #< 8, cross(T) . • Returns (partial) stable models [Gelfond and Lifschitz 1988] Only literals supporting the query. • For each successful top-down derivation, on backtracking returns: • A justification tree. Explanation for observations. • Bindings and constraints as part of the model. {T #> 5 , T #< 7/3 , cross(T) , train(7.3)} . • Provides a constructive and sound default negation: • Make deductions in the absence of positive information. cross(T):- not train(T) . • Dual rules (synthesized by s(CASP) compiler) infer conditions for goal to fail. madrid institute for advanced studies in software development technologies 3 / 12
www.software.imdea.org s(CASP) • Goal directed execution of CASP programs without grounding. • The execution starts with a query. ?- T #> 5, T #< 8, cross(T) . • Returns (partial) stable models [Gelfond and Lifschitz 1988] Only literals supporting the query. • For each successful top-down derivation, on backtracking returns: • A justification tree. Explanation for observations. • Bindings and constraints as part of the model. {T #> 5 , T #< 7/3 , cross(T) , train(7.3)} . • Provides a constructive and sound default negation: • Make deductions in the absence of positive information. cross(T):- not train(T) . • Dual rules (synthesized by s(CASP) compiler) infer conditions for goal to fail. • Provides support for classical negation. • Represent explicit (negative) knowledge. cross(T):- -train(T) . • Allows rules with negated heads. -train(T):- not barrier(up,T) . • Global constraints ensure consistency. :- train(T), -train(T) . madrid institute for advanced studies in software development technologies 3 / 12
www.software.imdea.org Event Calculus • EC uses a universal theory (axioms) to reason about scenarios (narrative). • An event happens at a time point. tapOn : The tap opens. • A fluent is a time-varying property of the world. filling : The vessel is being filled. • Time and/or fluents may have continuous quantities associated. level(X) Level of water. madrid institute for advanced studies in software development technologies 4 / 12
www.software.imdea.org Event Calculus • EC uses a universal theory (axioms) to reason about scenarios (narrative). • An event happens at a time point. tapOn : The tap opens. • A fluent is a time-varying property of the world. filling : The vessel is being filled. • Time and/or fluents may have continuous quantities associated. level(X) Level of water. • State constraints are introduced to capture restrictions on the model: • Ensure consistency of the narrative w.r.t. the axioms. :- holds(F,T), -holds(F,T) . madrid institute for advanced studies in software development technologies 4 / 12
www.software.imdea.org Event Calculus • EC uses a universal theory (axioms) to reason about scenarios (narrative). • An event happens at a time point. tapOn : The tap opens. • A fluent is a time-varying property of the world. filling : The vessel is being filled. • Time and/or fluents may have continuous quantities associated. level(X) Level of water. • State constraints are introduced to capture restrictions on the model: • Ensure consistency of the narrative w.r.t. the axioms. :- holds(F,T), -holds(F,T) . • Trajectories: a fluent depends on the time elapsed since another fluent: • The level of water level(L2) correspond directly to the time elapsed T2-T1 . L2 = L1 + T2-T1 madrid institute for advanced studies in software development technologies 4 / 12
www.software.imdea.org Event Calculus • EC uses a universal theory (axioms) to reason about scenarios (narrative). • An event happens at a time point. tapOn : The tap opens. • A fluent is a time-varying property of the world. filling : The vessel is being filled. • Time and/or fluents may have continuous quantities associated. level(X) Level of water. • State constraints are introduced to capture restrictions on the model: • Ensure consistency of the narrative w.r.t. the axioms. :- holds(F,T), -holds(F,T) . • Trajectories: a fluent depends on the time elapsed since another fluent: • The level of water level(L2) correspond directly to the time elapsed T2-T1 . L2 = L1 + T2-T1 • Support for non-monotonic reasoning • EC theory includes negation in rules and infers negative knowledge. • Therefore, alternative worlds can appear. Vessel size either max_level(10) or max_level(16) . madrid institute for advanced studies in software development technologies 4 / 12
www.software.imdea.org Event Calculus Basics: Narrative Predicate Meaning fluent f is false at time 0 InitiallyN(f) fluent f is true at time 0 InitiallyP(f) event e occurs at time t Happens(e, t) if e happens at time t , f is true after t Initiates(e, f, t) Terminates(e, f, t) if e occurs at time t , f is false after t Releases(e, f, t) if e occurs at time t , f is released after t Trajectory(f 1 , t 1 , f 2 , t 2 ) if f 1 is initiated at t 1 , then f 2 is true at t 2 f is stopped between t 1 and t 2 StoppedIn(t 1 , f, t 2 ) f starts between t 1 and t 2 StartedIn(t 1 , f, t 2 ) fluent f is true at time t HoldsAt(f, t) Basic event calculus (BEC) predicates e = event, f , f 1 , f 2 = fluents and t , t 1 , t 2 = timepoints madrid institute for advanced studies in software development technologies 5 / 12
Recommend
More recommend