# Modeling bee swarming behavior through diffusion adaptation with asymmetric information sharing

- 3.4k Downloads
- 15 Citations

**Part of the following topical collections:**

## 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.

### Keywords

Velocity Vector Target Location Local Coordinate System Global Coordinate System Update Location## 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, 12, 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, 15, 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

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.

**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 unit-variance zero-mean 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.

*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 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 {*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,i-1}into an improved intermediate estimate

*ϕ*

_{k,i}:

**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}:

*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:

*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:

*k*moves back toward the rear of the swarm. Initially, the bee turns around with velocity

*l*is considered to be in front of informed bee

*k*when

*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.

*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

*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 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:

**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}:

**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.

**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]:

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]:

*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.

### C. Simulation results

Simulation parameters

| | | | ${\sigma}_{v}^{2}$ | | | | |
---|---|---|---|---|---|---|---|---|

100 | 5 | 0.5 | 0.5 | 0.5 | 0.8 | 1.5 | 0.1 | 0.2 |

### 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.

**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:

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

*k*initially turns around with velocity

*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,

**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

- 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,i-1}to an intermediate value*η*_{k,i}:${\eta}_{k,i}={v}_{k,i-1}+{\mu}_{k}\left(\sum _{l\in {\mathcal{N}}_{k,s}^{\left(i\right)}}{c}_{k,l}{v}_{l,i}-{v}_{k,i-1}\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.

## 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

*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

*x*-axis 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

*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:

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

*ϕ*

_{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:

*ψ*

_{k,i-1}relative to the coordinate system at time

*i*- 1. It is given by

*ψ*

_{k,i-1}relative to the local coordinate system at time

*i*, namely,

*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,i-1}^{l}& ={G}_{k,i}^{l}{\psi}_{k,i-1}^{l}-{\stackrel{\u0304}{v}}_{k,i-1}^{l}\mathrm{\Delta}t\phantom{\rule{2em}{0ex}}\\ \hfill {\varphi}_{k,i}^{l}& ={\stackrel{\u0304}{\psi}}_{k,i-1}^{l}+\mu {u}_{k,i}^{l*}\left[{d}_{k}\left(i\right)-{u}_{k,i}^{l}{\stackrel{\u0304}{\psi}}_{k,i-1}^{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,i-1}^{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

- (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,i-1}^{l}={G}_{k,i}^{l}{\psi}_{k,i-1}^{l}-{\stackrel{\u0304}{v}}_{k,i-1}^{l}\mathrm{\Delta}t$(56)${\varphi}_{k,i}^{l}={\stackrel{\u0304}{\psi}}_{k,i-1}^{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,i-1}^{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,i-1}^{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,i-1}^{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,i-1}^{l}\hfill & \left|{\mathcal{N}}_{k,a}^{\left(i\right)}\right|\ne 0\hfill \\ {v}_{k,a,i}^{l}={\stackrel{\u0304}{v}}_{k,i-1}^{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,i-1}^{l}\hfill & \left(\frac{{r}_{r}}{\left|{x}_{m,k,i-1}^{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,i-1}^{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,i-1}^{l}& ={G}_{k,i}^{l}{\psi}_{k,i-1}^{l}-{\stackrel{\u0304}{v}}_{k,i-1}^{l}\mathrm{\Delta}t\phantom{\rule{2em}{0ex}}\\ \hfill {\varphi}_{k,i}^{l}& ={\stackrel{\u0304}{\psi}}_{k,i-1}^{l}+\mu {u}_{k,i}^{l*}\left[{d}_{k}\left(i\right)-{u}_{k,i}^{l}{\stackrel{\u0304}{\psi}}_{k,i-1}^{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,i-1}^{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

- (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,i-1}^{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,i-1}^{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)

## Notes

### 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].

## Supplementary material

### References

- 1.Couzin ID: Collective cognition in animal groups.
*Trends Cogn Sci*2009, 13: 36-43. 10.1016/j.tics.2008.10.002CrossRefGoogle Scholar - 2.Seeley TD, Buhrman SC: Nest-site selection in honey bees: how well do swarms implement the best-of-N decision rule? Behav.
*Ecol Sociobiol*2001, 49: 416-427. 10.1007/s002650000299CrossRefGoogle Scholar - 3.Passino KM, Seeley TD, Visscher PK: Swarm cognition in honey bees.
*Behav Ecol Sociobiol*2008, 62: 401-414. 10.1007/s00265-007-0468-1CrossRefGoogle Scholar - 4.Seeley TD, Morse RA, Visscher PK: The natural history of the flight of honey bee swarms.
*Psyche*1979, 86: 103-114. 10.1155/1979/80869CrossRefGoogle Scholar - 5.Avitabile A, Morse RA, Boch R: Swarming honey bees guided by pheromones.
*Ann Entomol Soc Am*1975, 68: 1079-1082.CrossRefGoogle Scholar - 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: 3287-3295. 10.1242/jeb.018994CrossRefGoogle Scholar - 7.Couzin ID, Krause J, Franks NR, Levin SA: Effective leadership and decision-making in animal groups in the move.
*Nature*2005, 433: 513-516. 10.1038/nature03236CrossRefGoogle Scholar - 8.Janson S, Middendorf M, Beekman M: Honeybee swarms: how do scouts guide a swarm of uninformed bees?
*Anim Behav*2005, 70: 349-358. 10.1016/j.anbehav.2004.10.018CrossRefGoogle Scholar - 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: 161-171. 10.1016/j.anbehav.2005.04.009CrossRefGoogle Scholar - 10.Latty T, Duncan M, Beekman M: High bee traffic disrupts transfer of directional information in flying honeybee swarms.
*Anim Behav*2009, 78: 117-121. 10.1016/j.anbehav.2009.04.007CrossRefGoogle Scholar - 11.Barbarossa S, Scutari G: Bio-inspired sensor network design: distributed decision through self-synchronization.
*IEEE Signal Process Mag*2007, 24(3):26-35.CrossRefGoogle Scholar - 12.Pagliari R, Hong YW, Scaglione A: Bio-inspired algorithms for decentralized round-robin and proportional fair scheduling.
*IEEE J Sel Areas Commun*2010, 28(4):564-575.CrossRefGoogle Scholar - 13.Maskery M, Krishnamurthy V, Zhao Q: Decentralized dynamic spectrum access for cognitive radios: cooperative design of a non-cooperative game.
*IEEE Trans Commun*2009, 57(2):459-469.CrossRefGoogle Scholar - 14.Sayed AH:
*Adaptive Filters*. Wiley, NJ; 2008.CrossRefGoogle Scholar - 15.Lopes CG, Sayed AH: Diffusion least-mean squares over adaptive networks: formulation and performance analysis.
*IEEE Trans Signal Process*2008, 56(7):3122-3136.MathSciNetCrossRefGoogle Scholar - 16.Cattivelli FS, Sayed AH: Diffusion lms strategies for distributed estimation.
*IEEE Trans Signal Process*2010, 58: 1035-1048.MathSciNetCrossRefGoogle Scholar - 17.Tu S-Y, Sayed AH: Mobile adaptive networks.
*IEEE J Sel Topics Signal Process*2011, 5: 649-664.CrossRefGoogle Scholar - 18.Cattivelli F, Sayed AH: Modeling bird flight formations using diffusion adaptation.
*IEEE Trans Signal Process*2011, 59: 2038-2051.MathSciNetCrossRefGoogle Scholar - 19.Li J, Tu S-Y, Sayed AH: Honeybee swarming behavior using diffusion adaptation, in. In
*Proc IEEE Digital Signal Processing Workshop*. Sedona, AZ; 2011:294-254.Google Scholar

## Copyright information

This article is published under license to BioMed Central Ltd. 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.