Food & Beverages

A Planning Component for RETSINA Agents

A Planning Component for RETSINA Agents
of 16
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
  A Planning Component for RETSINA Agents M. Paolucci, D. Kalp, A. Pannu, O. Shehory, K. SycaraThe Robotics InstituteCarnegie Mellon University5000 Forbes avePittsburgh, PA 15213   paolucci,kalp,pannu,onn,katia  Abstract.  In the RETSINA multi-agent system, each agent is provided with aninternal planning component—the RETSINA planner. Each agent, using its in-ternal planner, formulates detailed plans and executes them to achieve local andglobal goals.Knowledge of the domain is distributed among the agents, thereforeeach agent has only partial knowledge of the state of the world. Furthermore, thedomain changes dynamically, therefore the knowledge available might becomeobsolete.Todeal withtheseissues,eachagent’splannerallows itto interleaveplanning andexecution of information gathering actions, to overcome its partial knowledge of the domainand acquire information needed to complete and execute its plans. In-formationnecessaryforan agent’slocalplancan beacquiredthroughcooperationbythe local planner firing queries to other agentsand monitoringfor their results.In addition, the local planner deals with the dynamism of the domain bymonitor-ing it to detect changes that can affect plan construction and execution. Teams of agents, each of which incorporates a local RETSINA planner have been imple-mented.Theseagentscooperateto solve problemsin different domains that rangefrom portfolio management to command and control decision support systems   . 1 Introduction We are developing the RETSINA   Multi-Agent System (MAS) [15] in which multi-ple agents receive goals from users and agents. Since RETSINA implementations aredeployed in real-world, distributed, open environments, the state of the world may dy-namically change or might be only partially known to agents in the system. This mayresult from either actual changes in the world or limited and incoherent knowledge of agents as a result of their distribution across the network and limited resources andexpertise of each individualagent.To satisfy their goals, the agents need to formulate detailed plans and execute theseplans. However agent autonomy, distribution and limited information usually prohibitthe creation of a global, comprehensive plan for the whole agent system. Therefore, aswe suggest, each agent must be provided with a planningcomponent as part of its inter-nal architecture. Yet local and distributed planning brings about other problems which  This research has been sponsored in part by the office of Naval Research grant N-00014-96-16-1-1222 by DARPA grant F-30602-98-2-0138  REusable Task Structure based Intelligent Network Agents.  require resolution: an agent’s local plans, once found conflicting with other agents’ lo-cal plans, must be revised and re-planned for. Moreover, in MAS, the computation of an agent’s local plan partly relies on other agents performing parts of the plan. Thisimplies that agent   ’s local planning (and execution) may require that agent   suspendsits planning while waiting for other agents to complete their plans and provide resultswhich are preconditions to the rest of    ’s plan. Agent   should resume planning oncethese results arrive.These unique requirements of planning within an open dynamic MAS (and in par-ticular in RETSINA) pose difficultiesin the use of existing planners. Although researchon planning has dealt with most of the problems listed above, no planner addressesall the problems at once. Planners deal with partial knowledge by either planning forcontingencies (e.g., [12]) or gathering information during planning (e.g., [7, 6]). Otherplanners deal with uncertainty in the domain by using probabilistic models [8] or byreacting to the environment in which they operate [5]. Open, dynamic multi-agent sys-tems require that both partial knowledge and dynamism be resolved simultaneously.We have developed a new planner as part of the internal architecture of RETSINAagents. This planner assumesthat agents have only partial knowledge ofthe domain butit allows agents to gather information either by direct inspection of the domain or byquerying other agents. In addition, the planner deals with dynamism in the domain bymonitoring changes in the environment and predicting their effect on the plan.Agents in a multi-agent system can take advantage of the collaboration of otheragents in the system. Single agent planning techniques obviously cannot exploit theseopportunities. In our approach, multiple agents exploit the intrinsic parallelism in themulti-agent system in two ways: (1) by having multiple agents workingon accomplish-ing a common goal and locally planning for it; (2) by each local planner working onother parts of its plan (or on other partial plans) while waiting for other agents to com-pute requested information.TheRETSINAplannerisanovel combinationofexisting planningmethods. Agentsthat incorporate it as part of their internal architecture can interleave planning, execu-tion and replanning in a dynamically changing environment despite having only partialknowledge of the domain. This functionality is supported by direct monitoring of theenvironment and cooperation with other agents. 2 The RETSINA Architecture RETSINA is an open multi-agent system that provides infrastructure for different typesof deliberative, goal directed agents. In this sense, the architecture of RETSINA agents[15] exhibits some of the ideas of BDI agents [13, 10]. RETSINA agents are composedof four autonomous functional modules: a communicator, a planner, a scheduler andan execution monitor. The communicator module receives requests from users or otheragents in KQML format and transforms these requests into goals. It also sends outrequests and replies. The planner module transforms goals into plans that solve thosegoals. Executable actions in the plans are scheduled for execution by the schedulermodule. Execution of the actions and monitoring of this execution is performed by theexecution monitor module. The four modules of a RETSINA agent are implemented2  as autonomous threads of control to allow concurrent planning and actions’ schedulingand execution. Furthermore, actions are also executed as separate threads and can runconcurrently. In general, concurrency betweenactions is not virtual. Rather, since someactions require that the agent ask other agents for services, and since these agents arerunning on remote hosts, actual parallelism is enabled.The following data stores are part of the architecture of each individual RETSINAagent and are used by the RETSINA planner. Their role in the overall architecture of the agent is displayed in Figure 1. Beliefs DB Parameters ScheduleTask DBPlanner Objective DB Scheduler Task SchemaTask ReductionssPlanning ExecutionMonitorExecution domainUsers and AgentsExternal world: ObjectiveTask SchemaControl LinkData LinkLegend: Communicator Action ExecutedEnabled ActionTask-Action Fig.1.  The RETSINA planning architecture. –  The  objective-DB  is a dynamic store that holds the objectivesof the agent of whichit is a component. An objective-DB implements a queue with priorities, i.e., theobjective with the highest priority on the queue is handled first by the planner. Newobjectives are inserted in the queue by the communicator and by the planner whencomplex objectives are decomposed in simpler objectives. –  The  task-DB  is a dynamic data store that holds the plan. Tasks are added by theplannerwhenit recognizesthat theycontributeto theachievementofthe objectives.Tasks are removed by the scheduler when they are ready for execution. –  The  task schema library  is a static data store that holds tasks schemas. These areused by the planner for task instantiation.3  –  The  task reduction library  is a static data store that holds reductions oftasks. Theseare used by the planner for task decomposition. –  The  beliefs-DB  is a dynamic data store that maintains the agent’s knowledge of thedomain in which the plan will be executed. The planner uses the beliefs-DB duringplanning as a source of facts that affect its planning decisions. Actions may affectthe beliefs-DB by changing facts in the domain. 3 The Planner Module OutcomeProvision/outcome link Reduction link  Hierarchical Task Network (HTN) Provision, Parameter Sub-task Top-level Task Action To parent task  Fig.2.  A Hierarchical Task Network  The RETSINA Planner represents tasks using the Hierarchical Task Network (HTN)formalism [4]. Figure 2 displays the structure of an HTN. It consists of nodes thatrepresent tasks and two types of edges.  Reduction links  describe the de-compositionof a high-level tasks to subtasks (a tree structure). They are used to select the tasksthat belong to the decomposition of the parent task. The second type of edges are  provision/outcome links  that represent value propagation between task-nodes. Provi-sion/outcome links describe how the result of one task is propagated to other tasks.For instance in Figure 3, the task    represents the act of buying a product.   may de-compose to finding the price (   ) and performing the transaction (   ). The reductionrequires that   is executed first to propagate the price outcome to   .Formally,aproblemfor theRETSINAPlannerisdefinedbyatuple   ,where   and   are sets of tasks schemas;   describes actions (primitive tasks) that theagent can perform directly, while   describes complex tasks that are performed by thecomposition of other primitiveand complex tasks.   is the task reduction library. Eachreduction schema in the library provides details on how to reduce a complex task in  . A reduction schema for a complex task    specifies the list of tasks that re-alizes  C  , and how their preconditions and effects are related to  C  ’s preconditions andeffects. In general, the correspondence between   and   is not one to one: there maybe several reduction schemas for each complex task in   , where each reduction schema4  Perform transaction T1T2T To parent task  Buy product XFind price of X Fig.3.  An example of task de-composition corresponds to one implementation of this task.   is the agent’s beliefs-DB. It plays arole similar to the initial state’s role in classical planning, though, when interleavingplanning and execution are present (as in our planning mechanism), actions that are inexecution stage may change factsin the beliefs-DB, thus affect the rest of the plan.   isthe objective-DB, which holds the unachieved objectives of the agent. The goal of theplanneris to remove all the objectivesfromthis list.   is thetask-DB which,by holdingthe tasks already added to the plan, describes the plan constructed by the agent. RETSINA-Planner  ( goal ) init-plans   make initial plans.  partial-plans   init-plan .While  partial-plans  is not empty do:choose a partial plan  P  from  partial-plans If ( P  has no flaws ) then return  P else do:remove a flaw  f   from  P ’s objective-DB.  partial-plans   refinements of  f   in Preturn failure Fig.4.  The Basic RETSINA Planning Algorithm The detailed planning algorithm is described in Figure 4. It starts from an initial setof plans( init-plans )that provide alternative hypothesisof solutions of the srcinal goal.Initial plans are constructed by matching tasks to the initial objectives. The plannerproceeds by selecting a partial plan  P  and a flaw  f   from  P ’s objective-DB, to generate anewpartial planforeach possiblesolution of   f  .Thisprocessisrepeateduntil theplannergeneratesa planwith an emptyobjective-DB.Theplannerfailsif the listofpartial plansempties before a solution plan is found.The resulting plan is a tree of partially ordered tasks, similar to the plans generatedbyDPOCL [21]. The leaf nodes ofthe tree are actionsin   , while theinternal nodes are5
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks