Distributed Planning 1

Distributed planning is the problem of nding a course of action that will help a set of agents in a given initial con guration to collectively satisfy certain desired behavioral constraints. The motivation behind distributed planning is to get the e ciency of parallel processing, the robustness of distributed systems and the simplicity of incremental construction and debugging. Problems that are inherently distributed (because of di erent spatial locations) or decomposable into subproblems with limited interactions are good candidates for distributed planning. Distributed planning may also be necessary when multiple agents (modules) must do independent but coordinated planning. The dimensions along which distribution can take place are world modeling, resources, replanning and functionality (e.g. master-slave, planning-reacting etc.). In distributed planning, generally there is no global world model that can be looked at to know the state of the entire system. Instead, the model is distributed in the form of local world models. The resources that the agents manipulate, e.g. les in a software environment or the machines in a manufacturing environment, may be allocated to di erent agents. The problem solving expertise may be distributed as well. Some agents may do meta-level reasoning and assign low level tasks to other agents. These agents may ask other agents to execute the plans. If a plan is invalidated because of an environmental change, a new plan needs to be constructed. Such replanning may also involve multiple agents. Distribution of planning activity generally makes communication necessary. In some environments, changes made to the world by one agent need not be explicitly communicated to other agents, because other agents can observe these changes in time, if they are constantly monitoring the environment. This is called \communication through the world". However, not all changes are observable and some, such as changes in intentions, need to be informed explicitly. Agents either communicate successes (to enhance functionality) or failures (to seek help or prevent a chain reaction) or just the requested information. The agents that are involved in communication are either xed a priori or decided at run time as per need. Harmful interactions among agents are resolved either locally (by negotiation or other protocols) or by a higher level agent dedicated to interaction resolution. Currently, fully distributed planning systems do not exist (except those doing indirect distributed planning that we discuss later). Current systems either use partly local, partly global planning or completely global planning and distributed scheduling (by planning we mean selecting relevant actions, while