CHAPTER 2 - Routing literature review
2.3 Decentralized routing algorithms
2.3.1 AntNet routing algorithm
AntNet [63], [68] is an ACO algorithm for distributed and adaptive best-effort routing in IP networks. AntNet is considered the first algorithm, which is inspired from the ant colony behavior, addressed for the use in routing. The behavior of AntNet depends on the mobile agents “ants’” framework. The main characteristics of AntNet algorithm comprise the following steps [69]:
At regular intervals, mobile agents or ants are forwarded form the source node s to the destination node d. During the forwarding phase, these mobile agents are called forward ants Fsd.
Each ant constructs a path by taking a sequence of decisions based on a stochastic policy parameterized by local pheromones and heuristic information.
During the trip between the source and destination pair, the ants collect information about the trip time and identify the visited nodes.
Once it has arrived at the destination, the backward phase starts. The backward ants Bds retrace the route psd ={s, v1, v2,…, d} that was followed by their forward ants.
The backward ants update the local routing information in all the intermediate nodes vk psd. The local routing information consists of two tables: The statistical model table Mvk that contains the expected end-to-end delays, the pheromone or routing table Tvk that is used to route the data packets.
The backward ants are removed from the network when they have reached the source node s.
When the regular data packets arrive at anode, they are forward according to the information in the T k table.
Figure 2.1 shows the node data structure in AntNet algorithm. The pheromone or routing table Tk contains N columns, one for each destination node. Each column has L entries, one for each outgoing link of the node. The entry ij contains the probability of sending a packet to destination j on the outgoing link i. Each entry has the same meaning of pheromone variable in the ACO meta-heuristic which represents the goodness of selecting an outgoing link to forward the date packets through it.
Figure 2.1 The node data structure in AntNet algorithm.
The AntNet algorithm takes the optimal local decision by adapting the pheromone values during the continual search. The range of ij entry is [0, 1] and the sum of destination column is one:
The statistical model table Mk contains only one row which has an entry to each destination node. Mk contains the following statistical information:
µd is the mean of the traveling time to reach destination d from the current node,
σ2d is the variance of this traveling time and
Wd is the best traveling time to reach destination d during the window of the last w observations.
The following exponential model is used to estimate the new µd and σ2d values:
µd µd + (okd - µd) Equation (2.2) σ2dσ2d + ((okd - µd)2-σ2d) Equation (2.3) While okd is the new observation of the travelling time between node k and destination node d. The factor controls the number of effective samples that is used to find the best traveling time Wd during it. With the experimental result, the effective relationship between w and is: w=5(c/), c [0, 1].
The AntNet algorithm proposes to use an adaptive reinforcement approach in order to compute the reinforcement parameter r which is used as a function of the goodness for the observed trip time. AntNet algorithm depends on the ant's trip time T and the statistical variables of Mk to compute the value of r parameter:
Equation (2.4) The c1 and c2 parameters represent the importance of each term. Isup and Iinf are used to estimate the limits of an approximate confidence interval for µ:
Equation (2.5)
Equation (2.6)
While
, where is the confidence coefficient.
Using the calculated reinforcement parameter r, AntNet algorithm adjusts the probability entries of the pheromone table Tk. the probability of selecting the outgoing link f when the destination is d,fd, will be increased by a value proportional to the reinforcement parameter r:
fdfd + r (1 - fd) Equation (2.7) The probabilities of selection other outgoing links that are connected to Nk, nd, will be adjusted according to the following formula:
ndnd - rnd, n f Equation (2.8)
Algorithm 2.10 AntNet algorithm.
1) At regular intervals t, a source node s sends the forward ant Fs d to a destination node d. The forward ants are created at node s with the following probability:
where fsd is the amount of traffic between s and d nodes.
2) Each ant has an internal stack memory Ssd (k) which maintains the node identifier for node k that belong to the visited path and the time elapsed until arriving this k-th node.
3) At each intermediate node k, the ant aims to select an outgoing link based on a stochastic policy parameterized by local pheromones and heuristic information.
4) The forward ants aim to avoid the cycle occurrence by selecting the next hop that does not make any loop. If there is no any other choice, then the ant is destroyed.
5) Once the forward ant arrives at the destination node, another backward ant Bds is generated and the stack memory of the forward ant is transferred to its memory.
6) Using the stack memory Ssd, the backward ant takes the reversed path towards the source node.
7) At a node k that belongs to the reserved path, both of the statistical model table Mk and the pheromone table Tk are updated according to the following steps:
a) The backward ants use the information in the stack memory Ssd(k) to compute the mean µd and variance σ2d using Equations (2.2) and (2.3) and update Wd variable with the best traveling time value.
b) Compute the reinforcement parameter r using Equations (2.4), (2.5) and (2.6).
c) Update the pheromone table Tk entries by substituting with r value in Equations (2.7) and (2.8).
In general, the AntNet algorithm shows superior performance under different experiment conditions compared to different routing algorithms from the machine learning fields such as Q-Routing [70] and Predictive Q-Routing [71] algorithms.
A lot of algorithms have been proposed based on AntNet algorithm to overcome some limitations such as the adaptive routing algorithm that has been proposed by Yun and Zincir in order to reduce the information in the routing table [72].