Distributed Problem Solving

Article excerpt

Broadly, distributed problem solving is a subfield within multiagent systems, where the focus is to enable multiple agents to work together to solve a problem. These agents are often assumed to be cooperative, that is, they are part of a team or they are self-interested but incentives or disincentives have been applied such that the individual agent rewards are aligned with the team reward.

We illustrate the motivations for distributed problem solving with an example. Imagine a decentralized channel-allocation problem in a wireless local area network (WLAN), where each access point (agent) in the WLAN needs to allocate itself a channel to broadcast such that no two access points with overlapping broadcast regions (neighboring agents) are allocated the same channel to avoid interference. Figure 1 shows example mobile WLAN access points, where each access point is a Create robot fitted with a wireless CenGen radio card. Figure 2a shows an illustration of such a problem with three access points in a WLAN, where each oval ring represents the broadcast region of an access point.

This problem can, in principle, be solved with a centralized approach by having each and every agent transmit all the relevant information, that is, the set of possible channels that the agent can allocate itself and its set of neighboring agents, to a centralized server. However, this centralized approach may incur unnecessary communication cost compared to a distributed approach. For example, agents in the centralized approach need to send information to a centralized server, which can be many hops away in the WLAN. On the other hand, agents in a distributed approach need only send information to their neighboring agents, which are one hop away. Additionally, a distributed approach can also take advantage of parallelism to solve the problem faster. For example, if the WLAN is composed of two disjoint networks, then the two problems can be solved in parallel in a distributed approach but must be solved in sequence in a centralized approach. A distributed approach also removes single points of failure, such as the centralized server, which increases robustness.


Although there are many distributed problem-solving models, we focus our scope in this article on distributed constraint-reasoning (DCR) models such as distributed constraint-satisfaction problems (DCSPs) (1) and distributed constraint-optimization problems (DCOPs). The DCR models have a rich history and have been used to model a wide variety of distributed problems including the distributed scheduling of jobs in a job shop (Sycara et al. 1991), the distributed scheduling of meetings (Maheswaran et al. 2004; Zivan 2008), the distributed allocation of targets to sensors in a network (Zhang et al. 2003; Zivan, Glinton, and Sycara 2009), the distributed allocation of resources in disaster evacuation scenarios (Lass et al. 2008), the distributed management of power distribution networks (Kumar, Faltings, and Petcu 2009), the distributed generation of coalition structures (Ueda, Iwasaki, and Yokoo 2010), and the distributed coordination of logistics operations (Leaute and Faltings 2011).

A DCSP or DCOP can be visualized as a graph, where nodes are agents and edges are constraints that represent interactions between neighboring agents. If we model the decentralized channel allocation problem as a DCSP, then a constraint is unsatisfied if the two agents sharing that constraint choose the same channel. The constraint is satisfied otherwise. The goal in a DCSP is to find an allocation of channels to all agents such that all constraints are satisfied. If we model the problem as a DCOP, then a constraint incurs a cost of infinity if the two agents sharing that constraint choose the same channel. The constraint incurs a finite cost otherwise. Each pair of nonconflicting channels typically has a different cost to reflect the channel preferences. …


An unknown error has occurred. Please click the button below to reload the page. If the problem persists, please try again in a little while.