# Swarm-Intelligence-Centric Routing Algorithm for Wireless Sensor Networks
## 2 Related Works
### ACO Algorithm  
Ants are widely distributed around the world. While they are common insects, they have some unique capabilities. Specifically, one of the abilities of harvester ants is relying on a mechanism that controls the frequency of finding food. This is analogous to the function performed by a data management algorithm. Therefore, this phenomenon has attracted considerable research interest and triggered studies on optimization and control algorithms using ants' swarm intelligence. The ACO algorithm, as proposed by [PERSON], is based on the cooperative behavior of ants attempting to identify the shortest path from their habitat to food [26]. It is used as a meta-heuristic approach to solve complex and difficult network problems, such as those pertaining to transportation and scheduling, store product displays, and optimized route search [27; 28; 29]. In the ACO algorithm, each ant acts as an artificial agent that attempts to solve its corresponding problem probabilistically. At each stage, the ants move and emit pheromones, as described in Figure 1. The said pheromones are updated during each iteration of the ACO algorithm, thereby increasing the probability of optimum-path calculation. This study focuses on the indirect information transmission method using pheromones in the ACO algorithm [26]. Because a phase change due to the mobility of a sensor node causes a change in routing and multicasting paths, it is necessary to identify this change frequently for efficient data transmission [27; 28; 29]. However, a limited bandwidth or power supply issue makes the transmission of such information to each node difficult [30]. The ACO algorithm tries to mimic the behavior of an ant colony, wherein the blind worker ants transport food located far from their nest through the shortest path. The algorithm has been applied to various optimization problems related to communication networks, path exploration by a mobile object, scheduling, and job allocation [31; 32]. Figure 1: Ant colony optimization (ACO) algorithm. As shown in Figure 1[33], when an ant finds food (F), it transports it to its nest (N) leaving behind a pheromone trail (b) on its path (a). When a swarm of ants transport food through multiple paths, pheromones accumulate on the path with the shortest distance between the nest and the food. As ants tend to move along the path with the most pheromones, after a certain period of time, all of the ants end up transporting their food only through the shortest path. The amount of pheromone, \(\tau_{ij}^{k}\), on the path, from \(i\) to \(j\), after a certain period of time can be defined as follows:  
\[\tau_{ij}^{*}=(1-\rho)\tau_{ij}+\sum_{k=1}^{m}\Delta\tau_{ij}^{k} \tag{1}\]  
In the above equation, \(\tau_{ij}\) represents the current amount of pheromone on the path from \(i\) to \(j\), \(\rho\) represents the evaporation rate of pheromones, \(m\) represents the number of ants moving from \(i\) to \(j\), and \(\Delta\tau_{ij}^{k}\) represents the amount of pheromone that the \(k\)-th ant releases along its path. An ant determines its next position based on the amount of pheromones (calculated as above); thus, it does not return to its own prior path, but selects a destination position within a one-hop distance. If the position that the \(k\)-th ant has not yet visited within the one-hop distance is defined as \(l\), the set of these positions is defined as \(N(S^{p})\), and the heuristic information is defined as \(\mu_{ij}\), the probability \(P_{ij}^{k}\) that the \(k\)-th ant moves to position \(j\) when it arrives at a position \(i\) is determined as follows:  
\[P_{ij}^{k}=\left\{ \begin{array}{ll}\frac{\tau_{ij}^{a}\mu_{ij}^{\rho}}{\sum _{x_{i}\rho\in N(\rho^{p})}\tau_{ij}^{a}\mu_{x}^{\rho}}&c_{ij}\in N(S^{p})\\ 0&\mbox{otherwise}\end{array} \right.