InterRap Architecture Behavior Based Layer Patterns of Behavior “PoB”s Patterns of Behavior (PoB’s) Sample representation POB :name avoid-collision :type physical :participants self, A:agent :situational_context at(self, position-p) & at(a, position-p’) & approaching(A, position-p) & distance < some threshold & believe position-r empty :postconds either at postion p or position-r :termination at position-r :failure position-r not actually free :execute {some code} 1
If BBL can solve problem itself General control world model is updated situations are recognized patterns of behavior are activated * IF more than 1 activated THEN prefer “lowest level” if more than 1 type at lowest level, select at random execute Shifting Control to Planning Layer Given a task specification transport (agent-1, box-23, shelf-4) Behavior-based Level of agent-1 recognizes it has no BBL-level routines to handle this BBL sends message to PL request (PL, do (transport (agent-1, box-23, shelf-4)) “ competency based” control Activating the message to Planning Layer Pattern of Behavior :name handle_transport_task :type task-oriented <= something for planning layer :participants self : situational-context received_task(transport(B,S, D)) :mental-context current-goal(self, transport(B,S,D)) <=arises for PL :postconditions believe it’s not possible or believe self is at position D :termination perceive self at position D or receive message from planning layer that planning layer has done the task :failure PL sends message planning failed & believe plan is not possible :execution {pass entire goal to PL and await information} 2
Planning Layer: General Control Interface to Behavior Level (receives messages, sends messages receive message from BBL --> pass goal to plan generator =>access to plan library <= return plan list, evaluate select & intend a plan (create an intention stack for it) execute a step of plan subgoaling back to plan generator until executable PoB is identified send to BBL message (e.g., activate PoB-34 done with goal(transport(B, S, D) Plan Based Layer Shifting Control to Cooperative Level Given task (resolve_blocking_conflict( self, Agent-25)) BBL sends request to PPL, which passes it off to Cooperative Layer Sample Joint Plan: (for 2 agents j, k to pass, walking) 1. [ walk_aside (j, north)] [k: nothing] 2. [walk_ahead (j) [walkahead (k)] 3. [walk_aside (j, south)] [ k: nothing] Message from CP to Planning Layer: an extracted single-agent plan walk-aside(north), send-message(k, “ready”) walk-ahead, wait-until (receive-message, k, “ready”) walk-aside(south), send-message (agent-k done) 3
Top-Down from CL to PL to BBL Message received top down from CL to PL [a plan for this agent] Planning Layer interprets each step of plan subgoaling if necessary else activating a Plan of Behavior Message from PL to BL Request(bl, activate, go-to-location(10, 17)) <= e.g.,“walk aside north” BL message to PL : inform(pl, done (go-location (10,17)) PL can resume plan execution for next step The commonality of design across layers Each layer can be described essentially the same a means by which beliefs are updated and revised a situation recognizer/goal activator SG: Beliefs X Goals => Goals a planning(intending) and scheduling function PS: B X Goals X Intentions => Intentions maintains intention structure Architectural Analysis, Comments ¥ Joint Planning Process : may include plans for negotiation, acceptance ¥ belief, goals, intentions and deliberation distributed across all layers ¥ what to intend (commit with action) is distributed. E.g., CP devises a JP, acts by devising a single- agent version & sends to PL PL receives plans to schedule from within or from above, commits by putting on intention structure, fleshes out plans, acts by requesting BL to activate a behavior BL commits by starting execution of a particular Pattern of Behavior. 4
Architecture ... Elements of deliberation (over what to intend) within Planning and Cooperative Layer specify: plan utilities, joint plan utilities to select among plans Elements of deliberation (deciding what to do now ) strictly at the Behaviorial Level simplest scheme: static conflict resolution Pattern of Behavior (type = physical) before Pattern of Behavior (type = local-task) before Pattern of Behavior (type = cooperative-task) within a goal type: agent designer specifies a decision function [see paper] Elements of Agent Design Experiments pp 17-19 define agents with different problem solving abilities to various tasks agent-B: has only cached behaviorial soln’s to tasks : define variations on decision fn agent-P: ability to generate single agent plans agent-C: ability to plan cooperatively added performance metrics # actions per task, % actions to deal with blocking conflicts success rate performance-degradation per agent population TouringMachine, InterRap Commonalities? commitment to elements of BDI [which ones? where?] decomposition of desired functionality into layers different functionality ==> non-uniform representation of knowledge at each layer InterRap caveat: Planning and Cooperative Layer highly similar typed Patterns-of-Behavior is the unifying element architectural invariants? 5
TouringMachine , InterRap On horizontal vs. vertical control Horizontal conflict resolution at input and output of layers rules in separate control layer, synchronize what is posted, modified, changed layers compete with each other Vertical each layer represents a different competence for same task layers informeach other information flows up, control flows down conflict resolution done once at final level (BBL) more like a standard AI agent perception in, action out at one interface TouringMachine, InterRap A common layering strategy, fundamental differences InterRap: layers are different problem solving abilities agent might bring to bear in solving Task T cached plans, plan retrieval and generation, joint plan retrieval, joint plan generation each layer a (specialized) BDI system TouringMachine Modeling Layer: essentially trying to maintain a more accurate model of a dynamic world Layers for layers sake? Brooks subsumption: avoid-obstacles > wander > explore TouringMachine: reactive planning modelling InterRap: behavior-based planning social/cooperative Q: should learning be a 4th layer for TouringMachines? cooperation a 5th layer? <anything> an Nth layer? Q: scalability of adding more layers? pragmatics vs. semantics of deciding another type of capability i s another layer? 6
One possible (defendable) layer justification E. Gat (1998) three layers <==> three different commitments to retaining state information lowest layer: "reactive controller" maintains no internal state second layer: scheduler/planner maintain previous state information third layer: "deliberator" maintain, infer information about possible future states , future worlds a computational abstraction Recall Russell & Norvig agent models 7
Recommend
More recommend