Overview of Non-Monotonic Reasoning

Download Report

Transcript Overview of Non-Monotonic Reasoning

Belief Update, Planning
and the Fluent Calculus
Jacques Robin
Ontologies
Reasoning
Components
Agents
Simulations
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
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 highorder)
 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: 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).
The FC Component Assembly
Simple FC: Belief Update, Temporal Project, Planning
Solving the Frame Problem
Disjunctive FC:
Solving the
Frame Problem
in NonDeterministic
Environments
Ramifying FC:
Solving the
Ramification
Problem
Qualifying FC:
Default
Reasoning
Solving the
Qualification
Problem
Concurrent FC:
Solving the
Frame Problem
in Concurrent
Environments
Meta FC:
Meta-Reasoning
about Agent’s own
Knowledge for
Boolean
Belief Revision
and Sensing
Action Planning
Plausibilistic FC:
Plausibilistic Belief
Revision
Full FC
Noise-Tolerant FC:
Solving the
Frame Problem
for Agents with
Noisy Sensors
Multi-Agent FC:
Reasoning about
Other Agents’
Knowledge and
Communicative
Action Planning
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 Syntax
Predicate
Symbol
SCFOL
Formula
SCFOL
Atom
predicate
arg 1..*
connective: CFOLConnectiveKind
arg 1..*
arg 1..*
{disjoint, complete}
SCFOL
Term
SCFOL
Quantifier Expression
{disjoint, complete}
quantfier: CFOLQuantifierKind
Non
Ground
Term
Ground
Term
Non
Functional
Term
Functional
Term
functor
Variable
Constant
Symbol
Domain
Predicate
Symbol
FC
Constant
Symbol
Domain
Constant
Symbol
Fluent FCFS
Sit FCFS
Action FCFS
State
FCCS
Sit
FCCS
FC
Function
Symbol


Function
Symbol
«enumeration»
CFOLConnectiveKind
Domain
Function
Symbol





State FCFS
FC
Predicate
Symbol
«enumeration»
CFOLConnectiveKind
Simple FC: Abstract Syntax
SCFOL
Formula
arg 1..*
arg 1..*
SCFOL
Atom
SCFOL
Term
connective: CFOLConnectiveKind
Domain
Atom
FC
Formula
Domain
Atom
FC
Atom
*
Pure State Formula
0..1
*
Holds
Atom
FC
Term
FC State Composition
Equality Atom
0..1
SitTerm
Action
Term
StateTerm
2
Fluent Term
2
Poss Axiom Formula
State Update Axiom Formula
Domain
Term
Simple FC Case Study:
Mail Delivering Robot
Simple FC: Foundational Axioms
Simple FC: Initial State
Representation
Simple FC:
Action Precondition Axioms
Simple FC: State Terms
and State Constraints
Simple FC: Fluent Collections
and State Update Axioms
(Belief Update)
Simple FC: Frame Problem Solution
Simple FC: Frame Problem Solution
Simple FC: Temporal Projection
as Deductive Entailment
Simple FC: Cause Abduction
as Deductive Entailment
Simple FC: Action Sequence Planning
as Deductive Entailment
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
FLUX: 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 Constraints
FLUX Built-in Predicates
Simple FLUX Programming Process
1.
2.
3.
4.
5.
6.
7.
8.
Define domain CHR using FLUX CHR
Define initial state Prolog facts
Define domain relation Prolog predicates
Define domain constraint by Prolog rules headed by FLUX predicate
consistent(Z)
Define preconditions of actions by Prolog rules headed by FLUX predicates
poss(A,Z) or not_poss(A,Z)
Define direct effects of actions by Prolog rules headed by FLUX predicates
state_update(Z1, A, Z2)
Define agent’s acting strategy by Prolog rules headed by FLUX predicate
do(As,Z1,Z2)
For planning queries, check executability of action sequences by NAF atoms
of the FLUX predicate non_executable(As,Z)
The Mail Delivery Robot
FLUX Program: CHR Program
The Mail Delivery Robot FLUX
Program: Initial State and
Domain Constraints
The Mail Delivery Robot FLUX Program:
Actions Preconditions
The Mail Delivery Robot FLUX
Program: Actions Direct Effects