SpringerOpen Newsletter

Receive periodic news and updates relating to SpringerOpen.

This article is part of the series Cooperative Signal Processing Networks.

Open Access Research

Modeling bee swarming behavior through diffusion adaptation with asymmetric information sharing

Jinchao Li* and Ali H Sayed

Author Affiliations

Department of Electrical Engineering University of California, Los Angeles

For all author emails, please log on.

EURASIP Journal on Advances in Signal Processing 2012, 2012:18  doi:10.1186/1687-6180-2012-18


The electronic version of this article is the complete one and can be found online at: http://asp.eurasipjournals.com/content/2012/1/18


Received:25 September 2010
Accepted:23 January 2012
Published:23 January 2012

© 2012 Li and Sayed; licensee Springer.

This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

Honeybees swarm when they move to a new site for their hive. During the process of swarming, their behavior can be analyzed by classifying them as informed bees or uninformed bees, where the informed bees have some information about the destination while the uninformed bees follow the informed bees. The swarm's movement can be viewed as a network of mobile nodes with asymmetric information exchange about their destination. In these networks, adaptive and mobile agents share information on the fly and adapt their estimates in response to local measurements and data shared with neighbors. Diffusion adaptation is used to model the adaptation process in the presence of asymmetric nodes and noisy data. The simulations indicate that the models are able to emulate the swarming behavior of bees under varied conditions such as a small number of informed bees, sharing of target location, sharing of target direction, and noisy measurements.

I. Introduction

Animal species move in groups, such as schools of fish, flocks of birds, and swarms of honeybees, when they perform seasonal migrations, travel to food sources, or to new sites [1]. For some species, the majority of the individuals in the group process the information about the propensity to travel in a certain direction; but for other species, only some of the group members share information about the destination, while the other uninformed members are guided by informed individuals. For example, for honey bees, when they have made a decision about the new site and begin traveling, the location of the new nest site is only known to a small fraction of the swarm [2,3].

A curious feature in the home-site selection procedure by bees is that only 3-5% of the bees [4] in the swarm have been to the new site and are called scout bees. So, how can these fewer bees lead the entire swarm toward the new site? After falsifying the "assembly pheromone" assumption [5], there have been at least two likely hypotheses, both of which show that the informed bees provide guidance information to the other bees [6]. One hypothesis is the "subtle bee" hypothesis and the other one is the "streaker bee" hypothesis. The "subtle bee" hypothesis suggests that informed bees do not conspicuously signal the correct travel direction but steer the whole swarm by moving toward the right direction. The "streaker bee" hypothesis states that the informed bees will conspicuously signal the correct travel direction by making high-speed flights. The major difference is that in the "streaker bee" hypothesis, the uninformed bees will pay more attention to the action of those high-speed bees, i.e., they favor the information transmitted from fast flying bees. In simulations, it was shown in [7] that in a group of both informed individuals and uninformed individuals, if each individual attempts to align with neighbors and tries to keep a certain distance from others, then the whole group can fly correctly to the destination. This policy can be used to explain the "subtle bee" hypothesis. On the other hand, it was shown in [8] that the "streaker bee" hypothesis is a plausible mechanism by simulating the case that uninformed individuals can recognize informed bees and favor alignment to these bees. Later, through photographic analysis, the work [9] showed that there are some fast flying bees in the swarm, especially in the upper half of the cloud of bees. And the experiments in [9,10] showed that those high-speed bees have greater directionality oriented toward the new nest site. Thus, though it is still uncertain whether uninformed bees follow streaker bees, it appears that uninformed bees follow fast flying bees.

In this article, we construct a model to explain the bee swarming behavior under conditions not considered before including the type of information that is shared about the bees, the fact that measurements are subject to noise, and the fact that the location of the destination is not known precisely but needs to be estimated on the fly from noisy data. When information is subjected to noise, improved performance can be obtained if the shared information is processed locally as well. Rather than rely solely on, for example, averaging information from nearby neighbors, the diffusion model that is adopted in this article allows each individual bee to further filter the received information based on its local measurements. The model is based on the assumption that streaker bees lead uninformed bees by flying fast, and that if they slow down to the speed of the uninformed bees, they are not recognized as streaker bees by the rest of the swarm.

The swarming behavior of honeybees provides a useful and interesting example of one kind of mobile networks that consists of two types of nodes: informed agents and followers. In these networks, there is a limited number of informed nodes, which possess relatively accurate information about the overall objective of the network (such as moving toward a target location). In contrast, the remaining nodes (which constitute the majority) do not have information about the target location but rather interact with their neighboring nodes in order to infer useful information about the overall objective. Information diffuses through this hierarchical network structure and the motion of the uniformed agents is ultimately influenced by the measurements from the informed agents. Some earlier works in the literature, such as [11-13], used bio-inspired ideas to suggest methods for distributed detection and resource allocation in communication systems. In this article, we are instead interesting in proposing a distributed algorithm that emulates the bee swarming behavior. We do so by employing a diffusion adaptation strategy, and constructing a mobile network model to represent the swarm, with each node corresponding to a bee in the swarm. By using diffusion adaptation [14-16], each bee makes its own estimation about the target location and shares information with its neighbors. The type of information shared among neighbors affects the efficiency of the swarming behavior. We consider two types of information sharing. In one case, we assume the agents share noisy information about the general location of the target, and in the other case we assume the agents share noisy information about the general direction of the target. Our model extends the earlier study done in [8], which focused on ensuring that the bees align their individual velocities to the average velocity of their neighbors through a consensus procedure. In contrast, we incorporate diffusion adaptation and allow the bees to adjust their velocities by taking into account several additional effects such as: (a) the velocities of their neighbors as in [8]; (b) the velocities of the informed agents; (c) the agents' estimation of the target location; and (d) the type of information that is being shared (such as information about the location of the target or about its direction). Simulation results further ahead (e.g., Figures nine and ten) illustrate how these additional factors improve the accuracy of the model. Furthermore, since it is reasonable to assume that each bee generally assesses information relative to its own location, the model that is developed in the body of the article is translated into a local coordinate system in the Appendix. We derive the equation models relative to a global coordinate system in the following sections because it is easier to convey the main ideas without overburdening the notation with subscripts and superscripts that refer to different local coordinate systems (one for each bee).

A. Relation to network processing algorithms

In prior studies on network adaptation and processing [17,18], the emphasis has largely been on the case of homogeneous networks, where nodes have similar processing capabilities and similar information levels about the state of the environment. The swarm of bees provides a useful example of a heterogeneous network consisting of two types of nodes: some nodes (about 5% of them) are more informed than the remaining nodes. In addition, the nodes are mobile and the informed nodes are faster than the uninformed nodes. From a signal (or information) processing perspective, it is an interesting challenge to show how to organize the sharing of information in a manner that benefits the overall performance across the network. To do so, we consider two subnetworks: one for informed bees and the other for uninformed bees; the agents within each subnetwork share information with the neighbors in the same subnetwork. In addition, in order to allow passing of information from informed nodes to uninformed nodes, the informed needs perform a strategy for information sharing by moving back and forth to become part of the neighborhoods of the uninformed nodes. In this article, we describe one way of developing adaptation algorithms that handle such heterogeneous behavior and examine the performance of the network in the presence of adaptation noise and dynamically changing neighborhoods.

II. Diffusing position information

In this initial section, we assume the informed bees share noisy information about the site position. We set the network model and explain how diffusion can be used to allow the nodes to adapt their motion toward the common target (hive) location.

A. Informed bees

Informed bees have been to the destination site before. However, while traveling with the swarm toward the site, their estimation of the distance to the new site is not accurate due to noisy disturbances. For each iteration step, the informed bees sense the approximate distance to the site in the presence of noise, communicate with the informed bees in their neighborhood, and use this process of information sharing to refine their estimation of the location of the site. Based on the number of neighboring bees, the informed bees decide on whether to trust the refined information and move in the direction of the estimated location. To describe the algorithm in more mathematical terms, let us introduce a couple of parameters:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M1','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M1">View MathML</a>

(1)

In our notation we use boldface letters, such as dk(i) and uk,i, to denote stochastic variables and use normal font, such as dk(i) and uk,i, to denote realizations or observations for these random variables.

As the informed bees approach the target, they are able to make better estimation of their distance to the target. Therefore, we shall assume that the measured distance dk(i) is the true distance plus additive noise, with the variance of the noise changing in proportion to the distance to the target, namely, we assume that

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M2','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M2">View MathML</a>

(2)

where nk(i) is a normalized unit-variance zero-mean Gaussian variable, and β is a positive parameter. The term ∥w° - xk,i∥ is a measure of the Euclidean distance from bee k to the target.

We assume that the swarm contains a total of K informed bees and N - K uninformed bees (with K usually much smaller than N). Now given the noisy distance measurements (2) by the informed bees, we consider the following cost function:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M3','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M3">View MathML</a>

(3)

where E denotes the expectation operator. This cost function attempts to determine the optimal location w° that best matches the measured data {dk(i), uk,i} in the least-mean-squares sense. Once determined, the estimate of w° will be subsequently used by the bees to adjust their velocity vectors and update their locations. We are interested in a distributed solution to (3) where the estimation problem can be solved in a decentralized manner where each bee would only need to share information with its immediate (local) neighbors and not with all other bees. To arrive at such a distributed solution, we call upon the adapt-then-combine (ATC) diffusion algorithm, which was developed in [15,16] to solve similar problems. The algorithm consists of two steps: an adaptation (processing) step followed by a consultation (combination) step. Let ψk,i-1 denote the estimate of w° by bee k at time i - 1. Given the data {dk(i), uk,i} at time i, the following steps are performed (In analysis of the following part, it is presumed that the bees are not in the position of the destination. Otherwise, those bees stop the process of estimation and velocity control):

(1) Adaptation step. Each informed bee performs an adaptation step by incorporating the local data {dk(i), uk,i, xk,i} in order to update its estimate ψk,i-1 into an improved intermediate estimate ϕk,i:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M4','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M4">View MathML</a>

(4)

(2) Combination step. Subsequently, each informed bee averages the intermediate estimates of its immediate neighbors to obtain the final updated estimate ψk,i. This sequence of adaptation and combination steps updates the estimate of w° from ψk,i-1 to ψk,i:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M5','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M5">View MathML</a>

(5)

In (5), the symbol <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6">View MathML</a> represents the set of informed bees in the neighborhood of informed bee k at time i; the neighborhood may be defined as the set of informed bees that are within distance r from bee k. The coefficients <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M7','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M7">View MathML</a> are scaling factors that add up to one. For simplicity, the coefficients can be assigned uniformly or assigned according to the distance between the bee and its neighbors:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M8','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M8">View MathML</a>

(6)

Expressions (4) and (5) indicate that the informed bees first estimate the position of the new site (adaptation step), and then communicate with their neighbors and obtain a new estimate (combination step). Observe that in this diffusion model, the bee does not rely solely on combining the information received from its neighbors [as in (5)]. The bee also processes this combined estimate according to (4) by evaluating an error term that measures how well the combined estimate explains the local data {dk(i), uk,i} measured by bee k.

(3) Velocity control step. After each informed bee has updated its estimate to ψk,i, the group of informed bees needs to decide where they should move to in the next step. We call this step the control step, since the result of the estimation result is used for controlling the bees' motion. For the control step, each informed bee checks the number of bees in its neighborhood. If the number exceeds a certain threshold, then the informed bee will move toward the direction of the nest site as described below. The velocity vector will be set as a weighted combination of the previous and current velocity vectors. To describe the mechanism of velocity control, we define the maximum speed as γsmax, where γ is a number between 2 and 3, and smax is the maximum speed of motion of the uninformed bees. If the number of informed bees is less than a threshold, then the informed bee will go back to the rear of the swarm. In fact, whether these informed bees move toward the rear or linger around until the rest of the swarm go past them is still not known. In this study, we use the former assumption and assume that the informed bee first moves toward the center of the swarm, and when it passes the center, it goes toward the opposite direction of the new site. During this process, the speed becomes smax the same as that of the uninformed bees, so that other bees cannot recognize it as an informed bee. This procedure can be modeled mathematically as follows:

If <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6">View MathML</a> ≥ threshold, then informed bee k sets its velocity vector as a combination of the previous velocity vector and an estimate of the direction vector toward the location of the new site:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M9','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M9">View MathML</a>

(7)

else if <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6">View MathML</a> < threshold, then informed bee k moves back toward the rear of the swarm. Initially, the bee turns around with velocity

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M10','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M10">View MathML</a>

(8)

Subsequently, the informed bee detects the bees that are in front of it and moves toward the center of this group until it reaches the rear of the swarm. Bee l is considered to be in front of informed bee k when

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M11','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M11">View MathML</a>

(9)

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M12','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M12">View MathML</a>

(10)

where rr is the range of the perception area (the same value as the repulsion region for uninformed bees described further ahead in (19)). Then the velocity at time i for informed bee k is set as

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M13','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M13">View MathML</a>

(11)

where <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M91','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M91">View MathML</a> is the set of bees in front of bee k at time i. This velocity selection makes the informed bee move toward the center of the surrounding bees that are in front of it while it is moving toward the back of the swarm.

After setting the velocity vector, each informed bee then updates its position according to the rule:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M14','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M14">View MathML</a>

(12)

The procedure is summarized in Figure 1. In (7) and (8), we assume that the term in the denominator is not zero; otherwise, we set the velocity vk,i to zero (since ψk,i = xk,i indicates that the informed bee is close to or has likely arrived at the destination).

thumbnailFigure 1. A diffusion adaptation model for the motion of informed bees involving three components: adaptation, consultation, and velocity control.

B. Uninformed bees

The uninformed bees have not been to the destination site before and they cannot sense the position of the destination. They collect information about the site by first checking whether there are informed bees in their neighborhood. If so, they benefit from the estimation results of these neighbors; if not, they use the result of their previous estimation step. Specifically, we consider the following cost function for the uninformed bees:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M15','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M15">View MathML</a>

(13)

where the coefficients ck,l are scaling factors that add up to one (for simplicity, the factors can be assigned uniformly):

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M16','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M16">View MathML</a>

(14)

and <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6">View MathML</a> denotes the set of informed bees that exist in the neighborhood of uninformed bee k at time i. According to (13), each uninformed bee k attempts to combine the estimates of its neighbors of informed bees in order to estimate the destination location w° by minimizing the mean-square error (MSE). Once determined, the estimate of w° is subsequently used by the uninformed bees to adjust their velocity vectors and update their locations. Again, we are interested in a distributed solution to (13), whereby each bee would only need to share information with its immediate (local) neighbors. To do so, we again appeal to the ATC diffusion algorithm. The algorithm consists of two steps: an adaptation (processing) step followed by a consultation (combination) step. As before, we let ψk,i-1 denote the estimate of w° at uninformed bee k at time i - 1. Given the estimates {ψl,i-i} from the informed bees in the neighborhood, each uninformed bee would perform the following three steps:

(1) Adaptation step. Each uninformed bee combines the current estimates at time i from its informed neighbors and uses this information to update its estimate ψk,i-1 to the intermediate value ϕk,i:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M17','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M17">View MathML</a>

(15)

(2) Combination step. Subsequently, each uninformed bee combines the intermediate estimates of its neighbors (now consisting of both informed and uninformed bees) and ends up with the updated estimate ψk,i. The factors can be assigned uniformly for simplicity:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M18','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M18">View MathML</a>

(16)

where <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M19','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M19">View MathML</a> denotes the set of bees (both informed and uninformed) within the neighborhood of bee k at time i. Observe that the neighborhood of bee k is divided into two sets: one is the entire neighborhood <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M19','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M19">View MathML</a> consisting of all bees within a certain radius r, and the other set <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6">View MathML</a> is a subset of the first and consists only of the informed bees within the neighborhood. After the diffusion step (15), the uninformed bees use the location estimates ψk,i to update their velocity vectors in order to meet at least two objectives: (a) to move toward the target location w° and (b) to move coherently with the other bees as a group by ensuring that the bees do not get too close to each other or too far from each other, as we now explain.

(3) Velocity control step. The first objective is assisted by computing a velocity component, denoted by vk,m,i, through a combination of the current velocity and a vector pointing approximately toward w°, namely,

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M20','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M20">View MathML</a>

(17)

The second objective of moving in a group can be implemented by defining an attraction and repulsion area around each bee. For attraction, the velocity vector is selected as the average of all vectors pointing from the current position of the bee to all of its neighbors [8]:

If <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M21','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M21">View MathML</a>,

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M22','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M22">View MathML</a>

(18)

else if <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M23','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M23">View MathML</a>,

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M24','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M24">View MathML</a>

(19)

where <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M25','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M25">View MathML</a> is the set of bees within the attraction area of bee k at time i. The factor <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M26','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M26">View MathML</a> is used to bound the length of the vector to at most one, so that the value of vk,a,i does not exceed smax. In Equation (18), when bee l moves away from bee k, the weight for bee l toward the final attraction velocity of bee k would be larger. In this way, within the attraction region, when the neighboring bees of bee k move away, bee k would be attracted by these bees.

For repulsion, the velocity vector is selected as the average of all vectors pointing from all neighbors within a given distance rr to the bee [8]:

If <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M27','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M27">View MathML</a>,

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M28','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M28">View MathML</a>

(20)

else if <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M29','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M29">View MathML</a>,

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M30','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M30">View MathML</a>

(21)

where <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M31','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M31">View MathML</a> is the set of bees within the repulsion area of bee k at time i. The factor <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M32','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M32">View MathML</a> is used to bound the length of the vector to at most one, so that the value of vk,r,i does not exceed smax. In Equation (20), when neighboring bee l moves away from bee k, the weight for bee I toward the final repulsion velocity of bee k would be smaller. In this way, within the repulsion region, when the neighboring bees of bee k move closer, bee k would be repelled by these bees. Figure 2 shows an example of how attraction and repulsion work. The three velocity components are combined to yield the bee's velocity as:

thumbnailFigure 2. Velocity calculation within the attraction and repulsion regions.

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M33','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M33">View MathML</a>

(22)

where ρa and ρr are positive weighting scalars, and αm is a factor between 0 and 1.

After setting the velocity vector, each uninformed bee then updates its position vector according to the same rule:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M14','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M14">View MathML</a>

(23)

In conclusion, the behavior of uninformed bees is summarized in Figure 3.

thumbnailFigure 3. A diffusion adaptation model for the motion of uninformed bees involving three components: adaptation, consultation, and velocity control. In this case, the velocity control block does not only ensure motion toward the desired target, but also helps enforce regions of repulsion and attraction around the bees to guarantee group motion.

C. Simulation results

We set the simulation parameters as in Table 1 to ensure the density of bees is the same as the density of bees in the real world.

Table 1. Simulation parameters

Figure 4 shows that the swarm can reach the destination even if the percentage of informed bees is small (5%). In fact, simulations indicate that the swarm is able to reach the destination even with a smaller fraction of informed bees. Figure 5 shows the convergence speed and mean square error of the estimated target position and the true position for different percentages of informed bees in the swarm.

thumbnailFigure 4. Simulated distribution of a swarm of honeybees as they move toward the destination.

thumbnailFigure 5. MSE performance for target location estimation based on different numbers of informed bees in the swarm.

It is seen from Figure 5 that as the percentage of informed bees increases, the convergence speed increases and the MSE decreases. The figure also indicates that when the percentage of informed bees increases from 5 to 10%, the convergence speed does not change as much as when the percentage of informed bees increases from 1 to 5%. On the other hand, as seen from Figure 6, given the same proportion of informed bees (we use 5% here), when the total number of bees increases, the MSE improves but the convergence speed remains practically invariant. These results suggest that the larger the size of the swarm is, the smaller the number of informed bees can be. This result is consistent with the observation in [7] that the larger the swarm is, the less leaders the swarm needs. Moreover, Figure 5 exhibits a staircase shape. The horizontal steps arise when informed bees move back to the rear of the swarm. When they do so, they fly at low speeds and are not recognized as informed bees by the other uninformed bees. When this situation occurs, the uninformed bees are not able to update their estimate of the target location and instead maintain their previous estimates.

thumbnailFigure 6. MSE performance for target location estimation based on a different number of total bees and the same proportion of informed bees (set at 5%).

Figure 7 shows the result of diffusion adaptation compared with the situation where the bees do not cooperate with each other to estimate the target location (the combination steps are not used). It is seen that the diffusion adaptation model leads to better estimation results.

thumbnailFigure 7. MSE performance for location estimation: comparing the performance of diffusion adaptation with the situation where the bees do not cooperate with each other.

D. Comments on model

The informed and uninformed bees perform adaptation diffusion independently. The relation between both processes is that the observations of the uninformed bees arise from the informed bees. For the informed bees, they share information about the destination location to perform diffusion adaptation, and communicate with the surrounding informed bees. For the uninformed bees, they gather information from the informed bees in their neighborhood, and use these bees' estimation results as their own observation. Afterward, they communicate with all surrounding bees. By examining the information propagation mechanism among uninformed bees, it can be seen that after a few steps, an accurate estimate about the target position will be shared among the bees in the whole swarm.

III. Diffusing direction information

So far in our discussions we examined one mode of information sharing where the nodes (bees) shared information about the location of the target destination. We now discuss another possibility for information sharing, which is less demanding than sharing the location estimates. Bees may instead share information about the direction (rather than location) of the destination.

A. Informed bees

We first model the dynamics of the informed bees. These bees estimate the position of the new site, set their velocity vectors, and then communicate the information about the direction that agrees with their velocity vectors to the surrounding informed bees. We again use a diffusion adaptation model. Now, however, the combination step will be applied to the velocity vectors rather than the location vectors. Three steps are involved: adaptation, velocity control, and combination.

(1) Adaptation step. Each informed bee uses its local data to update its estimate of the location from ψk,i-1 to ψk,i. Contrary to the adaptation step in Section 2.1, the location estimate is updated directly to ψk,i rather than to an intermediate quantity:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M35','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M35">View MathML</a>

(24)

(2) Velocity control. Each informed bee uses its updated location estimate to compute an intermediate velocity vector based on a threshold computation.

If <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6">View MathML</a> ≥ threshold, set the intermediate velocity vector as:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M36','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M36">View MathML</a>

(25)

else if <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6">View MathML</a> < threshold, informed bee k initially turns around with velocity

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M37','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M37">View MathML</a>

(26)

then moves with velocity:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M38','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M38">View MathML</a>

(27)

where the position of bee l should satisfy:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M39','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M39">View MathML</a>

(28)

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M40','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M40">View MathML</a>

(29)

In (26) and (27), we assume that the term in the denominator is not zero; otherwise, we set the velocity terms ηk,i and vk,i to zero (since ψk,i = xk,i indicates that the informed bee is close to or has likely arrived at the destination).

(3) Combination step. If the number of informed bees in the neighborhood of bee k is larger than a threshold, the intermediate velocity vectors in the neighborhood are combined in a convex manner. Specifically,

If <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6">View MathML</a> ≥ threshold, set:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M41','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M41">View MathML</a>

(30)

else if <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6">View MathML</a> < threshold, set

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M42','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M42">View MathML</a>

(31)

(4) Update location:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M43','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M43">View MathML</a>

(32)

Compared with the diffusion model we adopted in Section 2.1, the difference is that the diffusion step of Equation (4) was performed on the estimates of the target location, while now diffusion is performed on the intermediate velocity vectors as in (43).

B. Uninformed bees

In the previous model, the uninformed bees shared information about the position of the new site, and each bee determined its own velocity vector after diffusing the position vectors. In contrast, in the current model, the uninformed bees can only receive information about the velocity vectors of their neighboring bees, so that the diffusion step is performed over the intermediate velocities.

1) Adaptation step. Each uninformed bee k combines the velocity vectors of the informed bees in its neighbor hood, and updates its velocity vector vk,i-1 to an intermediate value ηk,i:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M44','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M44">View MathML</a>

(33)

2) Combination step. Each uninformed bee uses the intermediate velocity vectors to update its velocity in order to satisfy the same two objectives as before: (a) to move toward the target direction and (b) to move coherently with the other bees as a group by ensuring that the bees do not get too close to each other or too far from each other.

The first objective is assisted by computing a velocity component, denoted by vk,m,i, through a combination of the intermediate velocity vectors of other uninformed bees and the velocity vectors of informed bees. The second objective is assisted by combining vk,m,i with a term that enforces regions of attraction and repulsion around each bee as before:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M45','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M45">View MathML</a>

(34)

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M46','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M46">View MathML</a>

(35)

3) Location control step:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M14','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M14">View MathML</a>

(36)

C. Simulation results

In the simulations, we use the same parameters from Table 1. We observed that the bees are able to reach the destination under this alternative model where the bees share information about the direction of the target (the observed result is similar to Figure 4).

It is also observed that during flight if the bees travel a long distance toward the destination, then the swarm may break up into two subgroups. This situation apparently happens when the informed bees fly in front of the swarm and bees at the rear of the swarm are less influenced by them and split away from the group. However in most cases, the two groups of bees will join together again; this behavior is observed in nature.

It is useful to compare our results with the model developed in [8]. The model in [8] assumes that the uninformed bees average the velocities of their surrounding bees. In our model, the uninformed bees first check the velocities of the informed bees, set their own velocities, and then communicate with other bees. By doing so, uninformed bees pay more attention to the informed bees. The result indicates that this policy works well in leading uninformed bees to the destination and the uninformed bees would follow the informed bees' behavior more closely. In order to illustrate this difference, we set up two simulations, one for the method of [8] and one for our method. The same parameters are used in both simulations, and for the first 250 steps, the destination is set to [20,20,20], and after that, the destination is changed to [0,0,0]. One factor that we measure is the difference between the actual direction toward the target and the estimated direction for each uninformed bee, and we use the MSE to assess this measure. Averaging over 50 experiments, Figures 8 and 9 show how MSE and the distance to the destination vary with time for the method of [8] and for the proposed diffusion adaptation models. The results suggest that it takes a longer time for the uninformed bees in model [8] to re-orient themselves to the new destination. Roughly, from the figures, it takes about 350 steps for the bees to gather sufficient information about the new direction using the model in [8], while diffusion adaptation needs only about 10 steps. Note that in the method of Figure 9, when informed bees go back to the rear of the group, it is possible that the swarm may slow down to a small velocity, and this velocity is mostly determined by the attraction and repulsion effects.

thumbnailFigure 8. Method of [8]: MSE (top) versus distance to the destination (bottom).

thumbnailFigure 9. Our method: MSE (top) versus distance to the destination (bottom).

IV. Conclusion

This article studied the modeling capabilities of diffusion adaptation mechanisms in the context of bee swarming. Bee swarms provide an example of mobile networks with asymmetric flow of information where some agents are more informed than others. Two kinds of information sharing were considered: location of the target and direction of the target. Using the parameters given in the model, in the location sharing model, the swarm can reach the target with as little as 1% of informed bees, while in the direction sharing model, the percentage of informed bees needs to be higher (3% in our simulations). Both models support the experimental evidence [7] that there are about 5% streaker bees in a swarm. The diffusion model does not rely only on having the bees follow the average velocity of their neighbors, as in traditional consensus models. Instead, information from the informed bees and estimates of the target location and its direction are diffused to influence the direction of motion as well.

Appendix 1: Diffusing position information using local coordinate systems

The description of the models in the body of the article assumes that the location data xk,i are measured relative to a global coordinate system. However, it is reasonable to assume that bees can only observe the positions and velocities of surrounding bees relative to themselves. For this reason, it is more practical to associate with each bee a local coordinate system whose origin is set at the current location of the bee and whose x axis points in the direction of motion of the bee (this coordinate system moves with the bee). Note that in view of the updates (12), (23), (32), and (36), the origin of the local coordinate system at time i is at xk,i and the direction of the x-axis is the same as vk,i (see Figure 10). In this section, we show how to transform the diffusion models from relying on data relative to the global coordinate system to data relative to localized coordinate systems. To uniquely determine the y and z-axes of the local coordinate systems, we select the y-axis to lie perpendicular to the x-axis, and select the direction of the z-axis to be according to the vector product rule. When the local coordinate system is selected in this manner, we can move back and forth between global and local coordinates as follows:

thumbnailFigure 10. Local coordinates systems that move with the bee. At time i, the x-axis points in the direction of vk,i.

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M47','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M47">View MathML</a>

(37)

where ω represents a vector in the global coordinate system and ωl denotes its representation relative to the local coordinate system attached to bee k. Moreover, the term xk denotes the location of the bee in relation to the global coordinates. The columns of the rotation matrix <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M48','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M48">View MathML</a> consist of the orthonormal basis vectors of the local coordinate system relative to the global coordinate. The matrix Gk is unitary.

1.1 Informed bees

We first show how to transform the intermediate estimates ϕk,i and the updated estimates ψk,i to the local coordinates. To begin with, the rotation matrix that transforms a representation relative to the local coordinates at time i - 1 to a representation relative to the local coordinates at time i is given by:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M49','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M49">View MathML</a>

(38)

Now let <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M50','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M50">View MathML</a> denote the local representation of ψk,i-1 relative to the coordinate system at time i - 1. It is given by

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M51','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M51">View MathML</a>

(39)

Similarly, let <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M52','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M52">View MathML</a> denote the representation of the same ψk,i-1 relative to the local coordinate system at time i, namely,

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M53','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M53">View MathML</a>

(40)

where

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M54','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M54">View MathML</a>

(41)

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M55','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M55">View MathML</a>

(42)

Then, using Equation (4), we get

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M56','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M56">View MathML</a>

(43)

Similarly, for the combination step we have

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M57','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M57">View MathML</a>

(44)

where

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M58','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M58">View MathML</a>

(45)

and we introduce

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M59','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M59">View MathML</a>

(46)

This quantity denotes the estimate result of bee m at time i in the local coordinate system of bee k. Therefore, the behavior of the informed bees can be described as follows in the local coordinate systems:

(1) Measurement data

dk(i): distance to the destination.

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M60','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M60">View MathML</a>: direction in the local coordinate system.

(2) Adaptation step

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M61','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M61">View MathML</a>

(47)

(3) Combination step

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M62','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M62">View MathML</a>

(48)

(4) Velocity control step

When <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M63','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M63">View MathML</a>, we set the bee velocity to be zero. Otherwise:

If <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6">View MathML</a> ≥ threshold, set the velocity vector as

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M64','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M64">View MathML</a>

(49)

else if <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6">View MathML</a> < threshold:

For the first step, informed bees turn around with velocity

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M65','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M65">View MathML</a>

(50)

For the subsequent steps, the informed bees move with velocity

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M66','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M66">View MathML</a>

(51)

where the position of bee m should satisfy

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M67','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M67">View MathML</a>

(52)

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M68','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M68">View MathML</a>

(53)

(5) Update location

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M69','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M69">View MathML</a>

(54)

1.2 Uninformed bees

We use a similar derivation for the uninformed bees and obtain that

(1) Measurement data

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M70','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M70">View MathML</a>

(55)

where <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M71','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M71">View MathML</a> denotes the estimate of bee m at time i using the local coordinate system of bee k.

(2) Adaptation step

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M72','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M72">View MathML</a>

(56)

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M73','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M73">View MathML</a>

(57)

(3) Combination step

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M74','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M74">View MathML</a>

(58)

(4) Velocity control step

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M75','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M75">View MathML</a>

(59)

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M76','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M76">View MathML</a>

(60)

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M77','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M77">View MathML</a>

(61)

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M78','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M78">View MathML</a>

(62)

(5) Update location

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M79','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M79">View MathML</a>

(63)

Appendix 2: diffusing direction information using local coordinate systems

We can follow the same procedure as in Appendix 1 to express the direction information model in the local coordinate systems.

2.1 Informed bees

(1) Measurement data

dk(i): distance to the destination.

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M60','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M60">View MathML</a> direction in the local coordinate system.

(2) Adaptation step

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M61','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M61">View MathML</a>

(64)

(3) Velocity control step

When <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M63','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M63">View MathML</a>, we set the velocity to zero. Otherwise:

If <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6">View MathML</a> ≥ threshold, evaluate the intermediate velocity vector as

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M80','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M80">View MathML</a>

(65)

else if <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6">View MathML</a> < threshold:

For the first step, informed bees turn around with velocity

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M81','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M81">View MathML</a>

(66)

For the following steps, informed bees move with velocity

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M82','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M82">View MathML</a>

(67)

where the position of bee m should satisfy

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M67','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M67">View MathML</a>

(68)

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M68','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M68">View MathML</a>

(69)

(4) Combination step

If <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6">View MathML</a> ≥ threshold, set

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M83','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M83">View MathML</a>

(70)

else if <a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M6">View MathML</a> < threshold

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M84','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M84">View MathML</a>

(71)

(5) Update the location vector:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M85','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M85">View MathML</a>

(72)

2.2 Uninformed bees

For the uninformed bees, using similar derivations, we have

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M86','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M86">View MathML</a>

(73)

where

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M87','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M87">View MathML</a>

(74)

We arrive at the following steps:

(1) Measurement data:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M88','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M88">View MathML</a>

(75)

(2) Adaptation step:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M89','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M89">View MathML</a>

(76)

(3) Combination step:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M90','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M90">View MathML</a>

(77)

(4) Update location:

<a onClick="popup('http://asp.eurasipjournals.com/content/2012/1/18/mathml/M85','MathML',630,470);return false;" target="_blank" href="http://asp.eurasipjournals.com/content/2012/1/18/mathml/M85">View MathML</a>

(78)

Competing interests

The authors declare that they have no competing interests.

Acknowledgements

This study was supported in part by NSF awards CCF-0949236, NSF EECS-0725441, and CCF-1011918. A short version of this study was presented in [19].

References

  1. ID Couzin, Collective cognition in animal groups. Trends Cogn Sci 13, 36–43 (2009). PubMed Abstract | Publisher Full Text OpenURL

  2. TD Seeley, SC Buhrman, Nest-site selection in honey bees: how well do swarms implement the best-of-N decision rule? Behav. Ecol Sociobiol 49, 416–427 (2001). Publisher Full Text OpenURL

  3. KM Passino, TD Seeley, PK Visscher, Swarm cognition in honey bees. Behav Ecol Sociobiol 62, 401–414 (2008). Publisher Full Text OpenURL

  4. TD Seeley, RA Morse, PK Visscher, The natural history of the flight of honey bee swarms. Psyche 86, 103–114 (1979). Publisher Full Text OpenURL

  5. A Avitabile, RA Morse, R Boch, Swarming honey bees guided by pheromones. Ann Entomol Soc Am 68, 1079–1082 (1975)

  6. KM Schultz, KM Passino, TD Seeley, The mechanism of flight guidance in honeybee swarms: subtle guides or informed bees? j. Exp Biol 211, 3287–3295 (2008). Publisher Full Text OpenURL

  7. ID Couzin, J Krause, NR Franks, SA Levin, Effective leadership and decision-making in animal groups in the move. Nature 433, 513–516 (2005). PubMed Abstract | Publisher Full Text OpenURL

  8. S Janson, M Middendorf, M Beekman, Honeybee swarms: how do scouts guide a swarm of uninformed bees? Anim Behav 70, 349–358 (2005). Publisher Full Text OpenURL

  9. M Beekman, RL Fathke, TD Seeley, How does an informed minority of scouts guide a honey bee swarm as it flies to its new home? Anim Behav 71, 161–171 (2006). Publisher Full Text OpenURL

  10. T Latty, M Duncan, M Beekman, High bee traffic disrupts transfer of directional information in flying honeybee swarms. Anim Behav 78, 117–121 (2009). Publisher Full Text OpenURL

  11. S Barbarossa, G Scutari, Bio-inspired sensor network design: distributed decision through self-synchronization. IEEE Signal Process Mag 24(3), 26–35 (2007)

  12. R Pagliari, YW Hong, A Scaglione, Bio-inspired algorithms for decentralized round-robin and proportional fair scheduling. IEEE J Sel Areas Commun 28(4), 564–575 (2010)

  13. M Maskery, V Krishnamurthy, Q Zhao, Decentralized dynamic spectrum access for cognitive radios: cooperative design of a non-cooperative game. IEEE Trans Commun 57(2), 459–469 (2009)

  14. AH Sayed, Adaptive Filters (Wiley, NJ, 2008)

  15. CG Lopes, AH Sayed, Diffusion least-mean squares over adaptive networks: formulation and performance analysis. IEEE Trans Signal Process 56(7), 3122–3136 (2008)

  16. FS Cattivelli, AH Sayed, Diffusion lms strategies for distributed estimation. IEEE Trans Signal Process 58, 1035–1048 (2010)

  17. S-Y Tu, AH Sayed, Mobile adaptive networks. IEEE J Sel Topics Signal Process 5, 649–664 (2011)

  18. F Cattivelli, AH Sayed, Modeling bird flight formations using diffusion adaptation. IEEE Trans Signal Process 59, 2038–2051 (2011)

  19. J Li, S-Y Tu, AH Sayed, Honeybee swarming behavior using diffusion adaptation, in. Proc IEEE Digital Signal Processing Workshop (Sedona, AZ, 2011), pp. 294–254