Belief Update, Belief Revision and Planning with the Fluent Calculus and FLUX

77
Ontologi es Reasonin g Component s Agents Simulatio ns Belief Update, Belief Revision and Belief Update, Belief Revision and Planning with the Fluent Calculus Planning with the Fluent Calculus and FLUX and FLUX Cleyton Rodrigues Marcos Aurelio Pablo Santana Jacques Robin

description

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 - PowerPoint PPT Presentation

Transcript of Belief Update, Belief Revision and Planning with the Fluent Calculus and FLUX

OntologiesReasoningComponentsAgentsSimulations

Belief Update, Belief Revision and Belief Update, Belief Revision and Planning with the Fluent Calculus and Planning with the Fluent Calculus and

FLUXFLUX

Cleyton RodriguesMarcos AurelioPablo SantanaJacques Robin

Non-Monotonic ReasoningNon-Monotonic Reasoning

Monotonic ReasoningKB |= 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-monotonicitySources of Non-monotonicity

Ontological Non-stationary Environment KB must reflect environment changes as time goes by

Epistemological Partially observable EnvironmentDecision 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 Non-Monotonic Reasoning Case Study:Study:

The Wumpus WorldThe Wumpus World

(from: www.javaschool.com/about/images/wumpus.world.gif)

The Frame ProblemThe 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 ProblemThe Ramification Problem

Ex:I go from home to the store, creating a new situation S’. In S’:I am now at the storeThe 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 ProblemThe 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 outthe agent is in danger of generating false beliefs

Knowledge Representation Language Knowledge Representation Language forfor

Non-Monotonic ReasoningNon-Monotonic Reasoning

The Situation Calculus The Event Calculus Transaction Logic The Fluent Calculus

FAZER UM RESUMO DAS CARACTERÍSTICAS DE CADA LINGUAGEM!!!

OntologiesReasoningComponentsAgentsSimulations

FluentFluentCalculusCalculus

The Fluent Calculus LayersThe Fluent Calculus Layers

Simple FC

Ramifications

FC Planning

Meta-reasoningConcurrency

Non-DeterministicEnvironment

PartiallyObservable

Environment

RamifyingEnvironment

ConcurrentAsynchronousEnvironment

NoisySensors

NoisyActuators

Belief Revision Communication

CommunicativeMulti-Agent

Environment

Actions withConditional

Effects

EnvironmentsWith Infinite

Fluent Domains

The Simple Fluent Calculus: Key The Simple Fluent Calculus: Key IdeasIdeas

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 CalculusThe 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:The Simple Fluent Calculus:Foundational AxiomsFoundational Axioms

The Simple Fluent Calculus:The Simple Fluent Calculus:AbbreviationsAbbreviations

The Simple Fluent Calculus:The Simple Fluent Calculus:Pure State FormulasPure State Formulas

Ex:

Holds(InRoom(r), z), Connects(d,r,r’)

The Simple Fluent Calculus:The Simple Fluent Calculus:Action Precondition AxiomsAction Precondition Axioms

Ex:

The Simple Fluent Calculus:The Simple Fluent Calculus:State Update AxiomsState Update Axioms

Ex:

The Simple Fluent Calculus:The Simple Fluent Calculus:MOF MetamodelMOF Metamodel

Action

Fluent

State-----------------------------------------------+ minus(f:Fluent) : State+ do(a:Action) : State

Situation

o

/ holds

poss

*

*

*

*

**

Planning with the Simple Fluent Planning with the Simple Fluent CalculusCalculus

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 CalculusThe 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 CalculusThe Ramifying Fluent Calculus

Modeling Ramifications

The Ramifying Fluent CalculusThe 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 Axiomwith 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 CalculusThe Concurrent Fluent Calculus

Allows agents to execute more than one action at a time concurrentlyMotivationParallel actions lead to shorter plans and less execution timeCertain effects may only be achievable by simultaneous actions

Sorted second-order logic language Extensions to Simple Fluent Calculus

SortsACTION < 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 CalculusThe Concurrent Fluent Calculus: : Foundational AxiomsFoundational Axioms

The Concurrent Fluent CalculusThe Concurrent Fluent Calculus

Action Preconditions

Recursive state update axiom

Disjunctive recursive state update axiom

The Concurrent Fluent CalculusThe Concurrent Fluent Calculus

The Concurrent Fluent CalculusThe Concurrent Fluent Calculus

The Concurrent Fluent Calculus:The Concurrent Fluent Calculus:MOF MetamodelMOF 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 CalculusThe Meta Fluent Calculus

Extends the Simple Fluent Calculus in order to allow handling partial knowledge about the environmentExtensions: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 CalculusThe Meta Fluent Calculus: : The Knows PredicateThe Knows Predicate

The Meta Fluent CalculusThe Meta Fluent Calculus: : The Unknown PredicateThe Unknown Predicate

?

The Meta Fluent CalculusThe Meta Fluent Calculus: : Knowledge Update AxiomsKnowledge 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 CalculusThe Meta Fluent Calculus: : Knowledge Update by Sensing Knowledge Update by Sensing

ActionsActionsKnowledge Update Axioms for accurate sensing

Ex:

The Meta Fluent CalculusThe Meta Fluent Calculus: : Knowledge Update by Sensing Knowledge Update by Sensing

ActionsActionsKnowledge Update Axioms for sensing

Ex:

The Meta Fluent CalculusThe Meta Fluent Calculus: : Knowledge Update by Physical Knowledge Update by Physical

ActionsActionsKnowledge Update Axioms

Ex:

The Meta Fluent CalculusThe Meta Fluent Calculus: : Conditional ActionsConditional Actions

Extending the foundational axioms:

Ex: Ex: Do(Sense(Closed(DA3)) ; If(Closed(DA3), SendId, ); Enter(R403), S0)

The Meta Fluent CalculusThe Meta Fluent Calculus: : PlanningPlanning

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 CalculusThe Meta Fluent Calculus: : MOF metamodelMOF metamodel

Action

Fluent

State-----------------------------------------------+ minus(f:Fluent) : State+ do(a:Action) : State

Situation

o

/ holds

poss

KState

\ Unknown

\ Kwhether

\ Knows

;

If

truefalse

condition

*

* *

*

* * **

*

** *

FluxFlux

FLUX Predicates for Belief UpdateFLUX Predicates for Belief Updatewith the Simple Fluent Calculuswith the Simple Fluent Calculus

FLUX Example of Belief UpdateFLUX Example of Belief Updatewith the Simple Fluent Calculuswith the Simple Fluent Calculus

FLUX Predicates for Planning and ActingFLUX Predicates for Planning and Actingwith the Simple Fluent Calculuswith the Simple Fluent Calculus

FLUX Example of Planning and Acting FLUX Example of Planning and Acting

with the Simple Fluent Calculuswith the Simple Fluent Calculus

FLUX Predicates for Belief UpdateFLUX Predicates for Belief Updatewith the Ramifying Fluent Calculuswith the Ramifying Fluent Calculus

FLUX Example of Belief UpdateFLUX Example of Belief Updatewith the Ramifying Fluent Calculuswith the Ramifying Fluent Calculus

FLUX Predicates for Belief UpdateFLUX Predicates for Belief Updatethe Disjunctive Fluent Calculusthe Disjunctive Fluent Calculus

FLUX Example for Belief UpdateFLUX Example for Belief Updatewith the Disjunctive Fluent Calculuswith the Disjunctive Fluent Calculus

FLUX Predicates for Belief UpdateFLUX Predicates for Belief Updatewith the Implicative Fluent Calculuswith the Implicative Fluent Calculus

FLUX Example of Belief UpdateFLUX Example of Belief Updatewith the Implicative Fluent Calculuswith the Implicative Fluent Calculus

FLUX Predicates for Planning and ActingFLUX Predicates for Planning and Actingwith the Implicative Fluent Calculuswith the Implicative Fluent Calculus

FLUX Example of Planning and Acting FLUX Example of Planning and Acting

with the Implicative Fluent Calculuswith the Implicative Fluent Calculus

FLUX Predicates for Belief UpdateFLUX Predicates for Belief Updatewith the Concurrent Fluent Calculuswith the Concurrent Fluent Calculus

FLUX Example of Belief UpdateFLUX Example of Belief Updatewith the Concurrent Fluent Calculuswith the Concurrent Fluent Calculus

FLUX Predicates for Planning and ActingFLUX Predicates for Planning and Actingwith the Concurrent Fluent Calculuswith the Concurrent Fluent Calculus

FLUX Example of Planning and Acting FLUX Example of Planning and Acting

with the Concurrent Fluent Calculuswith the Concurrent Fluent Calculus

FLUX Predicates for Belief UpdateFLUX Predicates for Belief Updatewith the Infinite Domain Fluent with the Infinite Domain Fluent

CalculusCalculus

FLUX Example of Belief UpdateFLUX Example of Belief Updatewith the Infinite Domain Fluent with the Infinite Domain Fluent

CalculusCalculus

FLUX Predicates for Planning and ActingFLUX Predicates for Planning and Actingwith the Infinite Domain Fluent Calculuswith the Infinite Domain Fluent Calculus

FLUX Example of Planning and Acting FLUX Example of Planning and Acting

with the Infinite Domain Fluent with the Infinite Domain Fluent CalculusCalculus

FLUX Predicates for Belief UpdateFLUX Predicates for Belief Updatewith the Meta Fluent Calculuswith the Meta Fluent Calculus

FLUX Example of Belief UpdateFLUX Example of Belief Updatewith the Meta Fluent Calculuswith the Meta Fluent Calculus

FLUX Predicates for Belief RevisionFLUX Predicates for Belief Revisionwith the Meta Fluent Calculuswith the Meta Fluent Calculus

FLUX Example of Belief RevisionFLUX Example of Belief Revisionwith the Meta Fluent Calculuswith the Meta Fluent Calculus

FLUX Predicates for Planning and ActingFLUX Predicates for Planning and Actingwith the Meta Fluent Calculuswith the Meta Fluent Calculus

FLUX Example of Planning and Acting FLUX Example of Planning and Acting

with the Meta Fluent Calculuswith the Meta Fluent Calculus

FLUX Predicates for Belief UpdateFLUX Predicates for Belief Updatewith the Communicative Fluent with the Communicative Fluent

CalculusCalculus

FLUX Example of Belief UpdateFLUX Example of Belief Updatewith the Communicative Fluent with the Communicative Fluent

CalculusCalculus

FLUX Predicates for Belief RevisionFLUX Predicates for Belief Revisionwith the Meta Fluent Calculuswith the Meta Fluent Calculus

FLUX Example of Belief RevisionFLUX Example of Belief Revisionwith the Meta Fluent Calculuswith the Meta Fluent Calculus

FLUX Predicates for Planning and ActingFLUX Predicates for Planning and Actingwith the Communicative Fluent Calculuswith the Communicative Fluent Calculus

FLUX Example of Planning and Acting FLUX Example of Planning and Acting

with the Communicative Fluent with the Communicative Fluent CalculusCalculus

ConclusionConclusion

ReferencesReferences

sodas.cs.memphis.edu/ai/data/situationCalc.ppt www.isi.edu/~blythe/cs541/Slides/intro.ppt