Document 7449959
Download
Report
Transcript Document 7449959
Belief Update, Belief Revision and Planning
with the Fluent Calculus and FLUX
Cleyton Rodrigues
Marcos Aurelio
Pablo Santana
Jacques Robin
Ontologies
Reasoning
Components
Agents
Simulations
Non-Monotonic Reasoning
Monotonic Reasoning
KB |= f, then g, KB g |= f
Inference engine only performs ask and tell to the KB, never retract
Non-monotonic reasoning
Allows KB |= f, and then KB g | f
Previously derived facts can be retracted upon arrival (for example from sensors)
of new, conflicting evidence
Sources of Non-monotonicity
Ontological
Non-stationary Environment
KB must reflect environment changes as time goes by
Epistemological
Partially observable Environment
Decision making requires using abduction in addition to deduction
KB must reflect changes of the agent’s beliefs as new evidences
become available through sensing
Non-Monotonic Reasoning Case Study:
The Wumpus World
(from: www.javaschool.com/about/images/wumpus.world.gif)
The Frame Problem
Almost everything stays unchanged between
states
We want thus to specify just the modifications
The wrong way:
At(Agent,x,s) Adjacent(x,y) At(Agent,y,Result(Go(x,y),s))
Why?
This axiom says what changes but not what stays
the same!
The Ramification Problem
Ex:
I go from home to the store, creating a new situation S’. In S’:
I am now at the store
The number of people in the store went up by 1
The agent moves from (x,y) to (z,w)
If he holds something, this thing moves too to (z,w)
The hunter kills the wumpus in (x,y)
The wumpus is not in (x,y) anymore
Do we want to say all that in the action definition?
Actions have:
intended effects that satisfy the agent’s goal and justify their
execution
side effects related to preconditions of other actions
The Qualification Problem
In the real world it is difficult to define the
circumstances under which a given action is
guaranteed to work.
think of everything that can go wrong!
e.g. grabbing an object may not work if it is slippery,
glued down, a holographic projection, or the gripper
fails, or the agent is struck by lightning…
if some conditions are left out
the agent is in danger of generating false beliefs
Knowledge Representation Language for
Non-Monotonic Reasoning
The Situation Calculus
The Event Calculus
Transaction Logic
The Fluent Calculus
FAZER UM RESUMO DAS CARACTERÍSTICAS DE CADA LINGUAGEM!!!
Fluent
Calculus
Ontologies
Reasoning
Components
Agents
Simulations
The Fluent Calculus Layers
Non-Deterministic
Environment
Actions with
Conditional
Effects
Environments
With Infinite
Fluent Domains
Noisy
Sensors
Noisy
Actuators
Communicative
Multi-Agent
Environment
Partially
Observable
Environment
Concurrent
Asynchronous
Environment
Ramifying
Environment
Belief Revision
Ramifications
Concurrency
FC Planning
Simple FC
Communication
Meta-reasoning
The Simple Fluent Calculus: Key Ideas
Sorted first-order logic language
Fluent
“A fluent represents a single atomic property of the physical world
which may change in the course of time, in particular through
manipulation by the robot.”
Ex: player has ball, player position, ball position, player speed…
State
“…a so-called state is a snapshot of the environment at a certain
moment.”
Action
Pre-condition Axioms
State Update Axioms
Sensing Actions
The Simple Fluent Calculus
Sorts
FLUENT
STATE
ACTION
SIT
Functions
: STATE
State : SIT STATE
Do : ACTION x SIT SIT
o : STATE x STATE STATE
Predicates
Poss : ACTION x STATE
The Simple Fluent Calculus:
Foundational Axioms
The Simple Fluent Calculus:
Abbreviations
The Simple Fluent Calculus:
Pure State Formulas
Ex:
Holds(InRoom(r), z), Connects(d,r,r’)
The Simple Fluent Calculus:
Action Precondition Axioms
Ex:
The Simple Fluent Calculus:
State Update Axioms
Ex:
The Simple Fluent Calculus:
MOF Metamodel
o
*
Action
*
poss
*
*
State
----------------------------------------------+ minus(f:Fluent) : State
+ do(a:Action) : State
/ holds
Fluent
*
*
Situation
Planning with the Simple Fluent Calculus
Fluent Calculus models how the current state changes given the
actions performed by the agents
It can be used to “simulate” the outcomes of a
given action sequence
Ex: Do(Open(D12), Do(Go(R1), S0)) = InRoom(R1) o Opened(D12) o ...
The entire planning problem can be modeled as
the problem of finding a situation in which
certain goal conditions are met:
Ex: s Holds(HasGold, s)
CONSIDERAR COMO VAMOS FAZER COM O METAMODEL
The Disjunctive Fluent Calculus
Non-deterministic actions: Alternative outcomes x Vagueness
Simple disjunctive state update axioms for non-deterministic actions
θn is a first-order formula without terms of any reserved sort
Example
Alternative outcomes:
Poss(Shoot, s) (State(Do(Shoot, s)) = State(s) o DeadWumpus)
Vagueness:
(State(Do(Shoot, s)) = State(s) o LiveWumpus)
Poss(Shoot, s) Holds(Life(Wumpus, x),s)
y (State(Do(Shoot, s)) = State(s) o Life(Wumpus, y) y < x)
Planning: should consider all possible outcomes!
The Ramifying Fluent Calculus
Modeling Ramifications
The Ramifying Fluent Calculus
Sorted second-order logic language
Reserved Predicates:
Causes : STATE x STATE x STATE x STATE x STATE x STATE
Causes(z1, e1+, e1-, z2, e2+, e2-)
If z1 is the result of positive effects e1+ and negative effects e1-, then an
additional effect is caused which leads to z2 (now the result of positive
and negative effects e2+ and e2-, resp.)
Ramify : STATE x STATE x STATE x STATE
Ramify(z, e+, e-, z’)
z’ can be reached by iterated application of the underlying casual relation,
starting in state z with momentum e+ and e-
Abbreviations
Foundational Axioms
(Reflexive and Transitive Closure of Causes)
State Update Axiom
with Ramifications
Simple
Disjunctive
CONSIDERAR COMO VAMOS FAZER COM O METAMODEL
Causal Relations Axiomatization
Relies on the assumption that the underlying Causes relation is
completely specified
The Concurrent Fluent Calculus
Allows agents to execute more than one action at a time concurrently
Motivation
Parallel actions lead to shorter plans and less execution time
Certain effects may only be achievable by simultaneous actions
Sorted second-order logic language
Extensions to Simple Fluent Calculus
Sorts
ACTION
< CONCURRENT
Functions
: CONCURRENT
. : CONCURRENT x CONCURRENT CONCURRENT
Do : CONCURRENT x SIT SIT
DirState, DirEffect+, DirEffect-: CONCURRENT x SIT STATE
Predicates
Poss : CONCURRENT x STATE
Affects : CONCURRENT x CONCURRENT
The Concurrent Fluent Calculus:
Foundational Axioms
The Concurrent Fluent Calculus
Action Preconditions
Recursive state update axiom
Disjunctive recursive state update axiom
The Concurrent Fluent Calculus
The Concurrent Fluent Calculus
The Concurrent Fluent Calculus:
MOF Metamodel
affects
.
*
*
o
poss
Concurrent
*
*
Action
*
*
State
----------------------------------------------+ minus(f:Fluent) : State
+ do(a:Action) : State
/ holds
*
Fluent
*
Situation
-------------------------------------------------------+ do(c:Concurrent) : Situatiuon
+ dirState(c:Concurrent) : State
+ dirEffectsPlus(c:Concurrent) : State)
+ dirEffectsMinus(c:Concurrent) : State
The Meta Fluent Calculus
Extends the Simple Fluent Calculus in order to allow handling partial
knowledge about the environment
Extensions:
Predicates
KState : SIT x STATE
Knows : FluentFormula x SIT
Kwhether : FluentFormula x SIT
Unknown : FluentFormula x SIT
Functions
: ACTION
; : ACTION x ACTION ACTION
If : FLUENT x ACTION x ACTION ACTION
The Meta Fluent Calculus:
The Knows Predicate
The Meta Fluent Calculus:
The Unknown Predicate
?
The Meta Fluent Calculus:
Knowledge Update Axioms
Define how states satisfying KState(s,z) relate to the states
satisfying KState(Do(a,s),z)
Sensing Actions
Reduce the set of possible states
Physical Actions
Reflect what the agent knows about the effects of the respective
action
The Meta Fluent Calculus:
Knowledge Update by Sensing Actions
Knowledge Update Axioms for accurate sensing
Ex:
The Meta Fluent Calculus:
Knowledge Update by Sensing Actions
Knowledge Update Axioms for sensing
Ex:
The Meta Fluent Calculus:
Knowledge Update by Physical Actions
Knowledge Update Axioms
Ex:
The Meta Fluent Calculus:
Conditional Actions
Extending the foundational axioms:
Ex: Ex: Do(Sense(Closed(DA3)) ; If(Closed(DA3), SendId, ); Enter(R403),
S0)
The Meta Fluent Calculus:
Planning
Simple fluent calculus does not allows planning in platially known
states (with unknown fluents)
Ex:
Conditional Actions allow agents to condition their actions on the
outcome of sensing:
Ex: Do(Sense(Closed(DA3)) ; If(Closed(DA3), SendId, );
Enter(R403), S0)
The Meta Fluent Calculus:
MOF metamodel
o
*
*
KState
;
*
Action
false
*
poss
*
*
true
State
----------------------------------------------+ minus(f:Fluent) : State
+ do(a:Action) : State
*
*
Situation
*
*
\ Unknown
If
\ Kwhether
/ holds
*
Fluent
condition
*
\ Knows
Flux
FLUX Predicates for Belief Update
with the Simple Fluent Calculus
FLUX Example of Belief Update
with the Simple Fluent Calculus
FLUX Predicates for Planning and Acting
with the Simple Fluent Calculus
FLUX Example of Planning and Acting
with the Simple Fluent Calculus
FLUX Predicates for Belief Update
with the Ramifying Fluent Calculus
FLUX Example of Belief Update
with the Ramifying Fluent Calculus
FLUX Predicates for Belief Update
the Disjunctive Fluent Calculus
FLUX Example for Belief Update
with the Disjunctive Fluent Calculus
FLUX Predicates for Belief Update
with the Implicative Fluent Calculus
FLUX Example of Belief Update
with the Implicative Fluent Calculus
FLUX Predicates for Planning and Acting
with the Implicative Fluent Calculus
FLUX Example of Planning and Acting
with the Implicative Fluent Calculus
FLUX Predicates for Belief Update
with the Concurrent Fluent Calculus
FLUX Example of Belief Update
with the Concurrent Fluent Calculus
FLUX Predicates for Planning and Acting
with the Concurrent Fluent Calculus
FLUX Example of Planning and Acting
with the Concurrent Fluent Calculus
FLUX Predicates for Belief Update
with the Infinite Domain Fluent Calculus
FLUX Example of Belief Update
with the Infinite Domain Fluent Calculus
FLUX Predicates for Planning and Acting
with the Infinite Domain Fluent Calculus
FLUX Example of Planning and Acting
with the Infinite Domain Fluent Calculus
FLUX Predicates for Belief Update
with the Meta Fluent Calculus
FLUX Example of Belief Update
with the Meta Fluent Calculus
FLUX Predicates for Belief Revision
with the Meta Fluent Calculus
FLUX Example of Belief Revision
with the Meta Fluent Calculus
FLUX Predicates for Planning and Acting
with the Meta Fluent Calculus
FLUX Example of Planning and Acting
with the Meta Fluent Calculus
FLUX Predicates for Belief Update
with the Communicative Fluent Calculus
FLUX Example of Belief Update
with the Communicative Fluent Calculus
FLUX Predicates for Belief Revision
with the Meta Fluent Calculus
FLUX Example of Belief Revision
with the Meta Fluent Calculus
FLUX Predicates for Planning and Acting
with the Communicative Fluent Calculus
FLUX Example of Planning and Acting
with the Communicative Fluent Calculus
Conclusion
References
sodas.cs.memphis.edu/ai/data/situationCalc.ppt
www.isi.edu/~blythe/cs541/Slides/intro.ppt