Ontologies Reasoning Components Agents Simulations Belief Update, Belief Revision and Planning with the Fluent Calculus and FLUX Cleyton Rodrigues Marcos Aurelio Pablo Santana Jacques Robin
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:
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!!!
Ontologies Reasoning Components Agents Simulations Fluent Calculus
The Fluent Calculus Layers Simple FC Ramifications FC Planning Meta-reasoningConcurrency Non-Deterministic Environment Partially Observable Environment Ramifying Environment Concurrent Asynchronous Environment Noisy Sensors Noisy Actuators Belief Revision Communication Communicative Multi-Agent Environment Actions with Conditional Effects Environments With Infinite Fluent Domains
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 Action Fluent State minus(f:Fluent) : State + do(a:Action) : State Situation o / holds poss * * * * **
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)
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) (State(Do(Shoot, s)) = State(s) o LiveWumpus) Vagueness: 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! CONSIDERAR COMO VAMOS FAZER COM O METAMODEL
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
Causal Relations Axiomatization Relies on the assumption that the underlying Causes relation is completely specified CONSIDERAR COMO VAMOS FAZER COM O METAMODEL
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: MOF Metamodel Action Fluent State minus(f:Fluent) : State + do(a:Action) : State Situation do(c:Concurrent) : Situatiuon + dirState(c:Concurrent) : State + dirEffectsPlus(c:Concurrent) : State) + dirEffectsMinus(c:Concurrent) : State o / holds Concurrent. poss affects * * * * * * * *
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 Action Fluent State minus(f:Fluent) : State + do(a:Action) : State Situation o / holds poss KState \ Unknown \ Kwhether \ Knows ; If true false condition * * * * *** * * * * *
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