 Research
 Open Access
 Published:
Modeling bee swarming behavior through diffusion adaptation with asymmetric information sharing
EURASIP Journal on Advances in Signal Processing volume 2012, Article number: 18 (2012)
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 homesite selection procedure by bees is that only 35% 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 highspeed flights. The major difference is that in the "streaker bee" hypothesis, the uninformed bees will pay more attention to the action of those highspeed 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 highspeed 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 bioinspired 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:
In our notation we use boldface letters, such as d_{ k }(i) and u_{k,i}, to denote stochastic variables and use normal font, such as d_{ k }(i) and u_{k,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 d_{ k }(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
where n_{ k }(i) is a normalized unitvariance zeromean Gaussian variable, and β is a positive parameter. The term ∥w°  x_{k,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:
where E denotes the expectation operator. This cost function attempts to determine the optimal location w° that best matches the measured data {d_{ k }(i), u_{k,i}} in the leastmeansquares 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 adaptthencombine (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,i1}denote the estimate of w° by bee k at time i  1. Given the data {d_{ k }(i), u_{k,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), u_{k,i}, x_{k,i}} in order to update its estimate ψ_{k,i1}into an improved intermediate estimate ϕ_{k,i}:
(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,i1}to ψ_{k,i}:
In (5), the symbol ${\mathcal{N}}_{k,s}^{\left(i\right)}$ 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}_{k,l}^{s}$ 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:
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 {d_{ k }(i), u_{k,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 γs_{max}, where γ is a number between 2 and 3, and s_{max} 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 s_{max} 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 ${\mathcal{N}}_{k,s}^{\left(i\right)}$ ≥ 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:
else if ${\mathcal{N}}_{k,s}^{\left(i\right)}$ < threshold, then informed bee k moves back toward the rear of the swarm. Initially, the bee turns around with velocity
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
where r_{ r }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
where ${\mathcal{N}}_{k,f}^{\left(i\right)}$ 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:
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 v_{k,i}to zero (since ψ_{k,i}= x_{k,i}indicates that the informed bee is close to or has likely arrived at the destination).
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:
where the coefficients c_{k,l}are scaling factors that add up to one (for simplicity, the factors can be assigned uniformly):
and ${\mathcal{N}}_{k,s}^{\left(i\right)}$ 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 meansquare 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,i1}denote the estimate of w° at uninformed bee k at time i  1. Given the estimates {ψ_{l,ii}} 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,i1}to the intermediate value ϕ_{k,i}:
(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:
where ${\mathcal{N}}_{k}^{\left(i\right)}$ 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 ${\mathcal{N}}_{k}^{\left(i\right)}$ consisting of all bees within a certain radius r, and the other set ${\mathcal{N}}_{k,s}^{\left(i\right)}$ 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 v_{k,m,i}, through a combination of the current velocity and a vector pointing approximately toward w°, namely,
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 $\left{\mathcal{N}}_{k,a}^{\left(i\right)}\right\ne 0$,
else if $\left{\mathcal{N}}_{k,a}^{\left(i\right)}\right=0$,
where ${\mathcal{N}}_{k,a}^{\left(i\right)}$ is the set of bees within the attraction area of bee k at time i. The factor $\frac{1}{{r}_{a}}$ is used to bound the length of the vector to at most one, so that the value of v_{k,a,i}does not exceed s_{max}. 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 r_{ r }to the bee [8]:
If $\left{\mathcal{N}}_{k,r}^{\left(i\right)}\right\ne 0$,
else if $\left{\mathcal{N}}_{k,r}^{\left(i\right)}\right=0$,
where ${\mathcal{N}}_{k,r}^{\left(i\right)}$ is the set of bees within the repulsion area of bee k at time i. The factor $\frac{1}{{r}_{r}}$ is used to bound the length of the vector to at most one, so that the value of v_{k,r,i}does not exceed s_{max}. 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:
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:
In conclusion, the behavior of uninformed bees is summarized in Figure 3.
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.
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.
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.
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.
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,i1}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:
(2) Velocity control. Each informed bee uses its updated location estimate to compute an intermediate velocity vector based on a threshold computation.
If ${\mathcal{N}}_{k,s}^{\left(i\right)}$ ≥ threshold, set the intermediate velocity vector as:
else if ${\mathcal{N}}_{k,s}^{\left(i\right)}$ < threshold, informed bee k initially turns around with velocity
then moves with velocity:
where the position of bee l should satisfy:
In (26) and (27), we assume that the term in the denominator is not zero; otherwise, we set the velocity terms η_{k,i}and v_{k,i}to zero (since ψ_{k,i}= x_{k,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 ${\mathcal{N}}_{k,s}^{\left(i\right)}$ ≥ threshold, set:
else if ${\mathcal{N}}_{k,s}^{\left(i\right)}$ < threshold, set
(4) Update location:
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 v_{k,i1}to an intermediate value η_{k,i}:
$${\eta}_{k,i}={v}_{k,i1}+{\mu}_{k}\left(\sum _{l\in {\mathcal{N}}_{k,s}^{\left(i\right)}}{c}_{k,l}{v}_{l,i}{v}_{k,i1}\right)$$(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 v_{k,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 v_{k,m,i}with a term that enforces regions of attraction and repulsion around each bee as before:
$${v}_{k,m,i}=\sum _{l\in {\mathcal{N}}_{k,u}^{\left(i\right)}}{a}_{k,l}^{u}{\eta}_{l,i}+\sum _{l\in {\mathcal{N}}_{k,s}^{\left(i\right)}}{a}_{k,l}^{s}{v}_{l,i}$$(34)$${v}_{k,i}={\alpha}_{m}{v}_{k,m,i}+\left(1{\alpha}_{m}\right)\left({\rho}_{a}{v}_{k,a,i}+{\rho}_{r}{v}_{k,r,i}\right)$$(35) 
3)
Location control step:
$${x}_{k,i+1}={x}_{k,i}+{v}_{k,i}\mathrm{\Delta}t$$(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 reorient 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.
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 x_{k,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 x_{k,i}and the direction of the xaxis is the same as v_{k,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 zaxes of the local coordinate systems, we select the yaxis to lie perpendicular to the xaxis, and select the direction of the zaxis 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:
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 x_{ k }denotes the location of the bee in relation to the global coordinates. The columns of the rotation matrix ${G}_{k}^{T}$ consist of the orthonormal basis vectors of the local coordinate system relative to the global coordinate. The matrix G_{ k }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:
Now let ${\psi}_{k,i1}^{l}$ denote the local representation of ψ_{k,i1}relative to the coordinate system at time i  1. It is given by
Similarly, let ${\stackrel{\u0304}{\psi}}_{k,i1}^{l}$ denote the representation of the same ψ_{k,i1}relative to the local coordinate system at time i, namely,
where
Then, using Equation (4), we get
Similarly, for the combination step we have
where
and we introduce
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.
${u}_{k,i}^{l}={u}_{k,i}{G}_{k,i}^{T}$: direction in the local coordinate system.

(2)
Adaptation step
$$\begin{array}{ll}\hfill {\stackrel{\u0304}{\psi}}_{k,i1}^{l}& ={G}_{k,i}^{l}{\psi}_{k,i1}^{l}{\stackrel{\u0304}{v}}_{k,i1}^{l}\mathrm{\Delta}t\phantom{\rule{2em}{0ex}}\\ \hfill {\varphi}_{k,i}^{l}& ={\stackrel{\u0304}{\psi}}_{k,i1}^{l}+\mu {u}_{k,i}^{l*}\left[{d}_{k}\left(i\right){u}_{k,i}^{l}{\stackrel{\u0304}{\psi}}_{k,i1}^{l}\right]\phantom{\rule{2em}{0ex}}\end{array}$$(47) 
(3)
Combination step
$$\begin{array}{ll}\hfill {\varphi}_{m,k,i}^{l}& ={G}_{k,i}\left({\varphi}_{m,i}{x}_{k,i}\right)\phantom{\rule{2em}{0ex}}\\ \hfill {\psi}_{k,i}^{l}& =\sum _{m\in {\mathcal{N}}_{k,s}^{\left(i\right)}}{a}_{k,m}^{s}{\varphi}_{m,k,i}^{l}\phantom{\rule{2em}{0ex}}\end{array}$$(48) 
(4)
Velocity control step
When ${\psi}_{k,i}^{l}=0$, we set the bee velocity to be zero. Otherwise:
If ${\mathcal{N}}_{k,s}^{\left(i\right)}$ ≥ threshold, set the velocity vector as
$${v}_{k,i}^{l}=\left(1\lambda \right){\stackrel{\u0304}{v}}_{k,i1}^{l}+\lambda \gamma {s}_{\text{max}}\frac{{\psi}_{k,i}^{l}}{\u2225{\psi}_{k,i}^{l}\u2225}$$(49)else if ${\mathcal{N}}_{k,s}^{\left(i\right)}$ < threshold:
For the first step, informed bees turn around with velocity
$${v}_{k,i}^{l}={s}_{\text{max}}\frac{{\psi}_{k,i}^{l}}{\u2225{\psi}_{k,i}^{l}\u2225}$$(50)For the subsequent steps, the informed bees move with velocity
$${v}_{k,i}^{l}={s}_{\text{max}}\frac{{\sum}_{m\in {\mathcal{N}}_{k,f}^{\left(i\right)}}{x}_{m,k,i}^{l}}{\u2225{\sum}_{m\in {\mathcal{N}}_{k,f}^{\left(i\right)}}{x}_{m,k,i}^{l}\u2225}$$(51)where the position of bee m should satisfy
$$\u2225{x}_{m,k,i}^{l}\u2225<{r}_{r}$$(52)$${x}_{m,k,i}^{l}{\left({v}_{k,i}^{l}\right)}^{T}>0$$(53) 
(5)
Update location
$${x}_{k,i+1}^{l}={v}_{k,i}^{l}\mathrm{\Delta}t$$(54)
1.2 Uninformed bees
We use a similar derivation for the uninformed bees and obtain that

(1)
Measurement data
$$\sum _{m\in {\mathcal{N}}_{k,s}^{\left(i\right)}}{c}_{k,m}{\psi}_{m,k,i}^{l}$$(55)where ${\psi}_{m,k,i}^{l}$ denotes the estimate of bee m at time i using the local coordinate system of bee k.

(2)
Adaptation step
$${\stackrel{\u0304}{\psi}}_{k,i1}^{l}={G}_{k,i}^{l}{\psi}_{k,i1}^{l}{\stackrel{\u0304}{v}}_{k,i1}^{l}\mathrm{\Delta}t$$(56)$${\varphi}_{k,i}^{l}={\stackrel{\u0304}{\psi}}_{k,i1}^{l}+{\mu}_{k}\left(\sum _{m\in {\mathcal{N}}_{k,s}^{\left(i\right)}}{c}_{k,m}{\psi}_{m,k,i}^{l}{\stackrel{\u0304}{\psi}}_{k,i1}^{l}\right)$$(57) 
(3)
Combination step
$${\psi}_{k,i}^{l}=\sum _{m\in {\mathcal{N}}_{k,s}^{\left(i\right)}}{a}_{k,m}^{s}{\varphi}_{m,k,i}^{l}$$(58) 
(4)
Velocity control step
$$\left\{\begin{array}{cc}{v}_{k,m,i}^{l}=\left(1\lambda \right){\stackrel{\u0304}{v}}_{k,i1}^{l}+\lambda {s}_{\text{max}}\frac{{\psi}_{k,i}^{l}}{\u2225{\psi}_{k,i}^{l}\u2225}\hfill & {\psi}_{k,i}^{l}\ne 0\hfill \\ {v}_{k,m,i}^{l}={\stackrel{\u0304}{v}}_{k,i1}^{l},\hfill & {\psi}_{k,i}^{l}=0\hfill \end{array}\right.$$(59)$$\left\{\begin{array}{cc}{v}_{k,a,i}^{l}=\frac{{s}_{\text{max}}}{{r}_{a}}\frac{1}{\u2225{\mathcal{N}}_{k,a}^{\left(i\right)}\u2225}{\sum}_{m\in {\mathcal{N}}_{k,a}^{\left(i\right)}}{x}_{m,k,i1}^{l}\hfill & \left{\mathcal{N}}_{k,a}^{\left(i\right)}\right\ne 0\hfill \\ {v}_{k,a,i}^{l}={\stackrel{\u0304}{v}}_{k,i1}^{l},\hfill & \left{\mathcal{N}}_{k,a}^{\left(i\right)}\right=0\hfill \end{array}\right.$$(60)$$\left\{\begin{array}{cc}{v}_{k,r,i}^{l}=\frac{{s}_{\text{max}}}{{r}_{r}}\frac{1}{\u2225{\mathcal{N}}_{k,r}^{\left(i\right)}\u2225}{\sum}_{m\in {\mathcal{N}}_{k,r}^{\left(i\right)}}{x}_{m,k,i1}^{l}\hfill & \left(\frac{{r}_{r}}{\left{x}_{m,k,i1}^{l}\right}1\right)\hfill \\ \left{\mathcal{N}}_{k,r}^{\left(i\right)}\right\ne 0\hfill \\ {v}_{k,r,i}^{l}={\stackrel{\u0304}{v}}_{k,i1}^{l},\hfill & \left{\mathcal{N}}_{k,r}^{\left(i\right)}\right=0\hfill \end{array}\right.$$(61)$${v}_{k,i}^{l}={\alpha}_{m}{v}_{k,m,i}^{l}+\left(1{\alpha}_{m}\right)\left({\rho}_{a}{v}_{k,a,i}^{l}+{\rho}_{r}{v}_{k,r,i}^{l}\right)$$(62) 
(5)
Update location
$${x}_{k,i+1}^{l}={v}_{k,i}^{l}\mathrm{\Delta}t$$(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.
${u}_{k,i}^{l}={u}_{k,i}{G}_{k,i}^{T}$ direction in the local coordinate system.

(2)
Adaptation step
$$\begin{array}{ll}\hfill {\stackrel{\u0304}{\psi}}_{k,i1}^{l}& ={G}_{k,i}^{l}{\psi}_{k,i1}^{l}{\stackrel{\u0304}{v}}_{k,i1}^{l}\mathrm{\Delta}t\phantom{\rule{2em}{0ex}}\\ \hfill {\varphi}_{k,i}^{l}& ={\stackrel{\u0304}{\psi}}_{k,i1}^{l}+\mu {u}_{k,i}^{l*}\left[{d}_{k}\left(i\right){u}_{k,i}^{l}{\stackrel{\u0304}{\psi}}_{k,i1}^{l}\right]\phantom{\rule{2em}{0ex}}\end{array}$$(64) 
(3)
Velocity control step
When ${\psi}_{k,i}^{l}=0$, we set the velocity to zero. Otherwise:
If ${\mathcal{N}}_{k,s}^{\left(i\right)}$ ≥ threshold, evaluate the intermediate velocity vector as
$${\eta}_{k,i}^{l}=\left(1\lambda \right){\stackrel{\u0304}{v}}_{k,i1}^{l}+\lambda \gamma {s}_{\text{max}}\frac{{\psi}_{k,i}^{l}}{\u2225{\psi}_{k,i}^{l}\u2225}$$(65)else if ${\mathcal{N}}_{k,s}^{\left(i\right)}$ < threshold:
For the first step, informed bees turn around with velocity
$${v}_{k,i}={s}_{\text{max}}\frac{{\psi}_{{k,i}_{}}^{l}}{\u2225{\psi}_{{k,i}_{}}^{l}\u2225}$$(66)For the following steps, informed bees move with velocity
$${v}_{k,i}={s}_{\text{max}}\frac{{\sum}_{m\in {\mathcal{N}}_{k,f}^{\left(i\right)}}{x}_{m,k,i}^{l}}{\u2225{\sum}_{m\in {\mathcal{N}}_{k,f}^{\left(i\right)}}{x}_{m,k,i}^{l}\u2225}$$(67)where the position of bee m should satisfy
$$\u2225{x}_{m,k,i}^{l}\u2225<{r}_{r}$$(68)$${x}_{m,k,i}^{l}{\left({v}_{k,i}^{l}\right)}^{T}>0$$(69) 
(4)
Combination step
If ${\mathcal{N}}_{k,s}^{\left(i\right)}$ ≥ threshold, set
$${v}_{{k,i}_{}}^{l}=\sum _{m\in {\mathcal{N}}_{k,s}^{\left(i\right)}}{a}_{k,m}^{s}{\eta}_{{lm,k,i}_{}}^{l}$$(70)else if ${\mathcal{N}}_{k,s}^{\left(i\right)}$ < threshold
$${v}_{k,i}^{l}={\eta}_{k,i}^{l}$$(71) 
(5)
Update the location vector:
$${x}_{k,i+1}^{l}={v}_{k,i}^{l}\mathrm{\Delta}t$$(72)
2.2 Uninformed bees
For the uninformed bees, using similar derivations, we have
where
We arrive at the following steps:

(1)
Measurement data:
$$\sum _{m\in {\mathcal{N}}_{k,s}^{\left(i\right)}}{c}_{k,m}{v}_{m,k,i}^{l}$$(75) 
(2)
Adaptation step:
$${\eta}_{k,i}^{l}={\stackrel{\u0304}{v}}_{k,i1}^{l}+{\mu}_{k}\left(\sum _{m\in {\mathcal{N}}_{k,s}^{\left(i\right)}}{c}_{k,m}{v}_{m,k,i}^{l}{\stackrel{\u0304}{v}}_{k,i1}^{l}\right)$$(76) 
(3)
Combination step:
$$\begin{array}{ll}\hfill {v}_{k,m,i}^{l}& =\sum _{m\in {\mathcal{N}}_{k,u}^{\left(i\right)}}{a}_{k,m}^{u}{\eta}_{m,k,i}^{l}+\sum _{m\in {\mathcal{N}}_{k,s}^{\left(i\right)}}{a}_{k,m}^{s}{v}_{m,k,i}^{l}\phantom{\rule{2em}{0ex}}\\ \hfill {v}_{k,i}^{l}& ={\alpha}_{m}{v}_{k,m,i}^{l}+\left(1{\alpha}_{m}\right)\left({\rho}_{a}{v}_{k,a,i}^{l}+{\rho}_{r}{v}_{k,r,i}^{l}\right)\phantom{\rule{2em}{0ex}}\end{array}$$(77) 
(4)
Update location:
$${x}_{k,i+1}^{l}={v}_{k,i}^{l}\mathrm{\Delta}t$$(78)
References
 1.
Couzin ID: Collective cognition in animal groups. Trends Cogn Sci 2009, 13: 3643. 10.1016/j.tics.2008.10.002
 2.
Seeley TD, Buhrman SC: Nestsite selection in honey bees: how well do swarms implement the bestofN decision rule? Behav. Ecol Sociobiol 2001, 49: 416427. 10.1007/s002650000299
 3.
Passino KM, Seeley TD, Visscher PK: Swarm cognition in honey bees. Behav Ecol Sociobiol 2008, 62: 401414. 10.1007/s0026500704681
 4.
Seeley TD, Morse RA, Visscher PK: The natural history of the flight of honey bee swarms. Psyche 1979, 86: 103114. 10.1155/1979/80869
 5.
Avitabile A, Morse RA, Boch R: Swarming honey bees guided by pheromones. Ann Entomol Soc Am 1975, 68: 10791082.
 6.
Schultz KM, Passino KM, Seeley TD: The mechanism of flight guidance in honeybee swarms: subtle guides or informed bees? j. Exp Biol 2008, 211: 32873295. 10.1242/jeb.018994
 7.
Couzin ID, Krause J, Franks NR, Levin SA: Effective leadership and decisionmaking in animal groups in the move. Nature 2005, 433: 513516. 10.1038/nature03236
 8.
Janson S, Middendorf M, Beekman M: Honeybee swarms: how do scouts guide a swarm of uninformed bees? Anim Behav 2005, 70: 349358. 10.1016/j.anbehav.2004.10.018
 9.
Beekman M, Fathke RL, Seeley TD: How does an informed minority of scouts guide a honey bee swarm as it flies to its new home? Anim Behav 2006, 71: 161171. 10.1016/j.anbehav.2005.04.009
 10.
Latty T, Duncan M, Beekman M: High bee traffic disrupts transfer of directional information in flying honeybee swarms. Anim Behav 2009, 78: 117121. 10.1016/j.anbehav.2009.04.007
 11.
Barbarossa S, Scutari G: Bioinspired sensor network design: distributed decision through selfsynchronization. IEEE Signal Process Mag 2007, 24(3):2635.
 12.
Pagliari R, Hong YW, Scaglione A: Bioinspired algorithms for decentralized roundrobin and proportional fair scheduling. IEEE J Sel Areas Commun 2010, 28(4):564575.
 13.
Maskery M, Krishnamurthy V, Zhao Q: Decentralized dynamic spectrum access for cognitive radios: cooperative design of a noncooperative game. IEEE Trans Commun 2009, 57(2):459469.
 14.
Sayed AH: Adaptive Filters. Wiley, NJ; 2008.
 15.
Lopes CG, Sayed AH: Diffusion leastmean squares over adaptive networks: formulation and performance analysis. IEEE Trans Signal Process 2008, 56(7):31223136.
 16.
Cattivelli FS, Sayed AH: Diffusion lms strategies for distributed estimation. IEEE Trans Signal Process 2010, 58: 10351048.
 17.
Tu SY, Sayed AH: Mobile adaptive networks. IEEE J Sel Topics Signal Process 2011, 5: 649664.
 18.
Cattivelli F, Sayed AH: Modeling bird flight formations using diffusion adaptation. IEEE Trans Signal Process 2011, 59: 20382051.
 19.
Li J, Tu SY, Sayed AH: Honeybee swarming behavior using diffusion adaptation, in. In Proc IEEE Digital Signal Processing Workshop. Sedona, AZ; 2011:294254.
Acknowledgements
This study was supported in part by NSF awards CCF0949236, NSF EECS0725441, and CCF1011918. A short version of this study was presented in [19].
Author information
Affiliations
Corresponding author
Additional information
Competing interests
The authors declare that they have no competing interests.
Authors’ original submitted files for images
Below are the links to the authors’ original submitted files for images.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
About this article
Cite this article
Li, J., Sayed, A.H. Modeling bee swarming behavior through diffusion adaptation with asymmetric information sharing. EURASIP J. Adv. Signal Process. 2012, 18 (2012). https://doi.org/10.1186/16876180201218
Received:
Accepted:
Published:
Keywords
 Velocity Vector
 Target Location
 Local Coordinate System
 Global Coordinate System
 Update Location