ontologies reasoning components agents simulations belief update, planning and the fluent calculus...
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: Fluent Simple FC: Fluent CollectionsCollections
and State Update Axioms and State Update Axioms(Belief Update)(Belief Update)
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)
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 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