Download presentation
Presentation is loading. Please wait.
1
Modeling Rollerslam Agents in Fluent Calculus
2
Objective Define the minimum Fluent Calculus/FLUX template to be reused and extended by all Rollerslam agents Focus on modeling Goal Based agents in a Fully observable environment Assumption: The flux/fluent calculus should deal only with abstract PIM-level problems concerning the agent’s behavior specification
3
Goal Based Agents Environment model –Each agent maintains an internal model of the world, which contains a copy of the current world and some extra information deduced from the world model and/or maintained by the agent (ex: its current goal) Action Interpretation –Updates the agent’s internal model Goal Updater –Updates the agent’s goal, from the current one and the environment model Model Based Behavior Strategy –Generates the next action from current goal and current environment model
4
The Agent’s internal State State Environment State (A copy of the Environment’s model) Current Goal Next Action Knowledge Base
5
The Agent’s internal State Environment State –Fluents related to the current state of the environment, received from the Communication Infrastructure KB (Knowledge Base) –Fluents related to the agents interpretation of the world (informations deduced by him which are not maintained by the environment)
6
Domain Sorts GOAL –The Agent’s possible goals AGENT_ACTION –The Agent’s possible actions
7
Domain Functions Goal : GOAL FLUENT –The agent’s current goal NextAction : AGENT_ACTION FLUENT –The agent’s next action
8
Domain Actions InterpretEnvModel : ACTION –Updates the part of the internal state which is not just a copy of the environment model UpdateGoal : ACTION –Updates the agent’s current goal ComputeNextAction : ACTION –Computes the agent’s next action
9
State Constraints
10
Action Pre-conditions
11
Sample State Update Axioms
12
Pre conditions (FLUX) poss(InterpretEnvModel, _). poss(UpdateGoal, _). poss(ComputeNextAction, _).
13
State Update Axioms (FLUX) state_update(Z1, interpretEnvModel, Z2, _) :- holds(position(ball, B),Z1), getMyPlayer(Me), holds(position(Me, P),s), GetDistance(P,B,D), D < 10, update(Z1, [NearBall], [], Z2).
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.