ontologies reasoning components agents simulations belief update, planning and the fluent calculus...

28
Ontologi es Reasonin g Component s Agents Simulatio ns Belief Update, Planning Belief Update, Planning and the Fluent Calculus and the Fluent Calculus Jacques Robin

Upload: bethany-walters

Post on 28-Dec-2015

218 views

Category:

Documents


2 download

TRANSCRIPT

OntologiesReasoningComponentsAgentsSimulations

Belief Update, PlanningBelief Update, Planningand the Fluent Calculusand the Fluent Calculus

Jacques Robin

Belief Update, Temporal ProjectionBelief Update, Temporal Projectionand Planningand 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

The Fluent Calculus (FC): The Fluent Calculus (FC): CharacteristicsCharacteristics

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

The FC: EnvironmentThe FC: EnvironmentFormalization ProcessFormalization 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).

The FC Component AssemblyThe FC Component Assembly

Simple FC: Belief Update, Temporal Project, PlanningSolving the Frame Problem

Ramifying FC:Solving the

Ramification Problem

Meta FC:Meta-Reasoning

about Agent’s own Knowledge for

BooleanBelief Revision

and SensingAction Planning

Qualifying FC:Default

Reasoning Solving the

Qualification Problem

Full FC

Disjunctive FC:Solving the

Frame Problemin Non-

DeterministicEnvironments

Concurrent FC:Solving the

Frame Problemin ConcurrentEnvironments

Multi-Agent FC:Reasoning about

Other Agents’ Knowledge and Communicative Action Planning

Plausibilistic FC:Plausibilistic Belief

Revision

Noise-Tolerant FC:Solving the

Frame Problemfor Agents with Noisy Sensors

FLUX (FLUent eXecutor)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 (!)

Simple FC: Abstract SyntaxSimple FC: Abstract Syntax

SCFOLAtom

FunctionSymbol

predicate

arg 1..*

SCFOLTerm

NonFunctional

Term

Variable

FunctionalTerm

GroundTerm

NonGround

Term

{disjoint, complete}{disjoint, complete}

arg 1..*

ConstantSymbol

PredicateSymbol

functor

SCFOLFormula

connective: CFOLConnectiveKind

«enumeration»CFOLConnectiveKind

SCFOLQuantifier Expression

quantfier: CFOLQuantifierKind

«enumeration»CFOLConnectiveKind

arg 1*..

FCPredicateSymbol

DomainPredicateSymbol

FCConstantSymbol

DomainConstantSymbol

FCFunctionSymbol

DomainFunctionSymbol

Action FCFS

Fluent FCFS

Sit FCFS

State FCFS

StateFCCS

SitFCCS

Simple FC: Abstract SyntaxSimple FC: Abstract Syntax

SCFOLAtom

arg 1..*SCFOLTerm

SCFOLFormula

connective: CFOLConnectiveKindarg 1*..

FCTerm

DomainTerm

Fluent Term

SitTerm

FC State CompositionEquality Atom

HoldsAtom

0..1

0..1Pure State Formula

DomainAtom

ActionTerm

Poss Axiom Formula

State Update Axiom Formula

StateTerm

FCAtom

DomainAtom

FCFormula

*

*

2

2

Simple FC Case Study:Simple FC Case Study:Mail Delivering RobotMail Delivering Robot

Simple FC: Foundational AxiomsSimple FC: Foundational Axioms

Simple FC: Initial StateSimple FC: Initial StateRepresentationRepresentation

Simple FC:Simple FC:Action Precondition Action Precondition

AxiomsAxioms

Simple FC: State TermsSimple FC: State Termsand State Constraints and State Constraints

Simple FC: Fluent Simple FC: Fluent CollectionsCollections

and State Update Axioms and State Update Axioms(Belief Update)(Belief Update)

Simple FC: Frame Problem SolutionSimple FC: Frame Problem Solution

Simple FC: Frame Problem SolutionSimple FC: Frame Problem Solution

Simple FC: Temporal ProjectionSimple FC: Temporal Projectionas Deductive Entailmentas Deductive Entailment

Simple FC: Cause Abduction Simple FC: Cause Abduction as Deductive Entailmentas Deductive Entailment

Simple FC: Action Sequence PlanningSimple FC: Action Sequence Planningas Deductive Entailmentas Deductive Entailment

FLUX: a CLP implementation of the FLUX: a CLP implementation of the FCFC

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

FLUX: from SCFOL to GLP+CHRFLUX: from SCFOL to GLP+CHR

Partial state description as open Prolog list CFOL atom z = f1 o ... o fn o z1, 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)

FLUX CHR ConstraintsFLUX CHR Constraints

FLUX Built-in PredicatesFLUX Built-in Predicates

Simple FLUX Programming ProcessSimple FLUX Programming Process

1. Define domain CHR using FLUX CHR2. Define initial state Prolog facts3. Define domain relation Prolog predicates4. 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)

The Mail Delivery RobotThe Mail Delivery RobotFLUX Program: CHR FLUX Program: CHR

ProgramProgram

The Mail Delivery Robot FLUX The Mail Delivery Robot FLUX Program: Initial State and Program: Initial State and

Domain ConstraintsDomain Constraints

The Mail Delivery Robot FLUX Program: The Mail Delivery Robot FLUX Program: Actions PreconditionsActions Preconditions

The Mail Delivery Robot FLUX The Mail Delivery Robot FLUX Program: Actions Direct EffectsProgram: Actions Direct Effects