Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ontologies Reasoning Components Agents Simulations Belief Update, Planning and the Fluent Calculus Jacques Robin.

Similar presentations


Presentation on theme: "Ontologies Reasoning Components Agents Simulations Belief Update, Planning and the Fluent Calculus Jacques Robin."— Presentation transcript:

1 Ontologies Reasoning Components Agents Simulations Belief Update, Planning and the Fluent Calculus Jacques Robin

2 Belief Update, Temporal Projection and Planning  Belief Update:  CurrentBeliefAboutEnvironmentState x ExecutableAction  BeliefAboutEnvironmentStateResultingFromActionExecution  Temporal Projection:  CurrentBeliefAboutEnvironmentState x ExecutableActionSequence  BeliefAboutEnvironmentStateResultingFromActionSequenceExecution  If environment is partially observable, non-deterministic, multi-agent adversarial or features exogenous actions (state changing non-agentive events), it is impossible to determine the executability of an action sequence (only the executability of the first action of the sequence can be determined)  Planning:  CurrentBeliefAboutEnvironmentState x EnvironmentStatePreferredByAgent  ExecutableActionSequence

3 The Fluent Calculus (FC): Characteristics  Language for Belief Update, Temporal Projection and Planning Knowledge Representation  Axiomatization with term reification of environment state changes in Sorted Classical High-Order Logic (SCHOL)  Sorts are type restrictions on atom and functional term arguments  Environment-independent sorts, functions, predicates and foundational axioms (one conjunctive SCHOL formula, only a single axiom is high- order)  Environment-dependent sorts, functions, predicates and axioms (one conjunctive Sorted Classical First-Order Logic (SCFOL))  Reuses monotonic knowledge representation language (CFOL) to formalize non-monotonic reasoning  First language to fully solve the representational frame, ramification and qualification problems  Extends Situation Calculus with States

4 The FC: Environment Formalization Process 1.Import the environment-independent FC sorts, functions, predicates and foundational axioms 2.Define the environment-dependent (domain) sorts, functions, predicates 3.Define the environment-dependent (domain) action precondition and effect (state update) axioms (SCFOL formulas).

5 The FC Component Assembly Simple FC: Belief Update, Temporal Project, Planning Solving the Frame Problem Ramifying FC: Solving the Ramification Problem Meta FC: Meta-Reasoning about Agent’s own Knowledge for Boolean Belief Revision and Sensing Action Planning Qualifying FC: Default Reasoning Solving the Qualification Problem Full FC Disjunctive FC: Solving the Frame Problem in Non- Deterministic Environments Concurrent FC: Solving the Frame Problem in Concurrent Environments Multi-Agent FC: Reasoning about Other Agents’ Knowledge and Communicative Action Planning Plausibilistic FC: Plausibilistic Belief Revision Noise-Tolerant FC: Solving the Frame Problem for Agents with Noisy Sensors

6 FLUX (FLUent eXecutor)  Constraint Logic Programming Platform  Provably correctly and efficiently implements the FC  First platform to fully solves de inferential frame, ramification and qualification problems  FLUX architecture: two rule bases  General Constraint Logic Programming  Constraint Handling Rules  Far more scalable than GOLOG’s situation calculus based platform  Uses progressive planning with state (to avoid redundant execution of reasoning steps of regressive planning from current situation back to the initial one imposed by the situation calculus)  Uses partial state representation  Uses NAF under open-world semantics (!)

7 Simple FC: Abstract Syntax SCFOL Atom Function Symbol predicate arg 1..* SCFOL Term Non Functional Term Variable Functional Term Ground Term Non Ground Term {disjoint, complete} arg 1..* Constant Symbol Predicate Symbol functor SCFOL Formula connective: CFOLConnectiveKind «enumeration» CFOLConnectiveKind      SCFOL Quantifier Expression quantfier: CFOLQuantifierKind «enumeration» CFOLConnectiveKind   arg 1..* FC Predicate Symbol Domain Predicate Symbol FC Constant Symbol Domain Constant Symbol FC Function Symbol Domain Function Symbol Action FCFS Fluent FCFS Sit FCFS State FCFS State FCCS Sit FCCS

8 Simple FC: Abstract Syntax SCFOL Atom arg 1..* SCFOL Term SCFOL Formula connective: CFOLConnectiveKind arg 1..* FC Term Domain Term Fluent Term SitTerm FC State Composition Equality Atom Holds Atom 0..1 Pure State Formula Domain Atom Action Term Poss Axiom Formula State Update Axiom Formula StateTerm FC Atom Domain Atom FC Formula * * 2 2

9 Simple FC Case Study: Mail Delivering Robot

10 Simple FC: Foundational Axioms

11 Simple FC: Initial State Representation

12 Simple FC: Action Precondition Axioms

13 Simple FC: State Terms and State Constraints

14 Simple FC: Fluent Collections and State Update Axioms (Belief Update)

15 Simple FC: Frame Problem Solution

16

17 Simple FC: Temporal Projection as Deductive Entailment

18 Simple FC: Cause Abduction as Deductive Entailment

19 Simple FC: Action Sequence Planning as Deductive Entailment

20 FLUX: a CLP implementation of the FC  Using the FC, agent reasoning can be implemented by a full CFOL theorem prover  Drawbacks of this approach:  Full CFOL theorem provers are either only semi-automatic or not scalable for large axioms and theorems  FLUX approach:  Rely on an efficient Constraint Logic Programming engine (e.g., ECLiPse Prolog or Sictus Prolog)  General Logic Program Rules  Constraint Handling Rules  Procedural Built-in Constraint Solving Libraries

21 FLUX: from SCFOL to GLP+CHR  Partial state description as open Prolog list  CFOL atom z = f 1 o... o f n o z 1, encoded as Z = [F1,..., Fn | Z1]  Non-Horn formula connectives as:  Additional predicates  linked by appropriate integrity constraints  defined using CHR,  themselves defined using NAF and Prolog meta-programming as built-in constraints  e.g.,  Holds(f,z), encoded as notHolds(F,Z)

22 FLUX CHR Constraints

23 FLUX Built-in Predicates

24 Simple FLUX Programming Process 1.Define domain CHR using FLUX CHR 2.Define initial state Prolog facts 3.Define domain relation Prolog predicates 4.Define domain constraint by Prolog rules headed by FLUX predicate consistent(Z) 5. Define preconditions of actions by Prolog rules headed by FLUX predicates poss(A,Z) or not_poss(A,Z) 6.Define direct effects of actions by Prolog rules headed by FLUX predicates state_update(Z1, A, Z2) 7.Define agent’s acting strategy by Prolog rules headed by FLUX predicate do(As,Z1,Z2) 8.For planning queries, check executability of action sequences by NAF atoms of the FLUX predicate non_executable(As,Z)

25 The Mail Delivery Robot FLUX Program: CHR Program

26 The Mail Delivery Robot FLUX Program: Initial State and Domain Constraints

27 The Mail Delivery Robot FLUX Program: Actions Preconditions

28 The Mail Delivery Robot FLUX Program: Actions Direct Effects


Download ppt "Ontologies Reasoning Components Agents Simulations Belief Update, Planning and the Fluent Calculus Jacques Robin."

Similar presentations


Ads by Google