## 2 Bioinspired Networking: A Brief Overview
### Swarm Intelligence  
The behavior of large groups of interacting small insects such as ants and bees establishes the foundation for the field of swarm intelligence. Swarm (or social) intelligence in biology has been studied intensively during the last few decades [9]. Most commonly studied are the application of ant colony optimization and particle swarm optimization algorithms (PSO). The ant system models the way ant colonies complete difficult tasks from the cooperative behavior of a great number of individuals [12]. Ant colony optimization (ACO) is a class of optimization algorithms that is based on the observation of the collective foraging behavior of ants using stigmergic communication. This can be modeled as a distributed, self-organized system consisting of a population of simple agents interacting locally with one another and with their environment. Several papers and text books describe the ACO algorithm and its application in networking [9; 12; 13; 14; 15]. The algorithm uses stochastic techniques to search the solution space for an optimal solution. Artificial ants are the agents of search activities in the algorithm. The paths that ants travel will construct a tree when they merge into each other or reach the destination. There are two types of ants applied in the algorithm: forward ants and backwards ants. The factors that control the movement of the forward ants are the _pheromone_ trails that are deposited along the edges, and the nodes' energy which provides an estimate of how far an ant will have to travel from a node to either reach the destination. Backwards ants, _i.e._, ants traveling back from the destination node to source nodes, perform the function of updating the information, _i.e._, the _pheromone_ levels, of their pass-by nodes. The concept of a _tabu list_\(T_{k}\) is used by ants to record nodes already visited and an ant cannot travel to a node that it has already visited. The most important aspect of ACO is the transition probability \(p_{ij}\) for an ant to move from node \(i\) to node \(j\). This probability represents the routing information for the exploring process. The transition probability is given by  
\[p_{ij}=\frac{(\tau_{ij})^{\alpha}/\mathrm{d}(i,j)^{\beta}}{\sum_{k\in J_{k} \cap T_{k}}(\tau_{ik})^{\alpha}/\mathrm{d}(i,k)^{\beta}}\ \, \tag{1}\]where the sum is over all neighboring nodes \(J_{k}\) not on the _tabu list_\(T_{k}\), _i.e._, \(J_{k}\cap T_{k}\). \(\alpha\) and \(\beta\) are constants of the algorithm. \(\tau_{ij}\) is the _pheromone_ level along the edge between node \(i\) and node \(j\). The function \(\mathrm{d}(i,j)\) is the distance between nodes \(i\) and \(j\) which is used to model the energy cost to travel between nodes. Typically the Euclidean distance is used in implementations of the algorithm. A factor \(\rho\) is used to describe the amount of _pheromone_ that evaporates over time in accordance with expression \(\tau_{ij}\leftarrow(1-\rho)\tau_{ij}\). In addition, after completing a tour, each ant lays a quantity of _pheromone_\(\Delta\tau_{ij}\), on the edges depending on the length of the tour. The more ants that follow a particular path, the more attractive that path becomes for being followed by successive ants. In contrast, the particle swarm optimization (PSO) algorithm models social behavior of a flock of birds e.g., searching for food [9; 16; 17; 18; 19]. It is a simple and computationally efficient non-linear optimization algorithm. The PSO algorithms is best suited with optimization problems where an optimal solution can be represented as a point on a surface in an \(n\)-dimensional space. \(n\) represents the number of optimal parameters to be determined. PSO uses a swarm of \(s\) candidate solutions called particles, which explore an \(n\)-dimensional hyperspace in search of the global solution. A particle \(i\) occupies position \(X_{id}\) and has velocity \(V_{id}\) in the \(d\)th dimension of the hyperspace where \(1\leq i\leq s\) and \(1\leq d\leq n\).