# A Family of ACO Routing Protocols for Mobile Ad Hoc Networks
## 1 Introduction  
A mobile ad hoc network (MANET) [1] is a set of mobile nodes that communicate among themselves through wireless links. As opposed to conventional networks, a mobile ad hoc network does not need the existence of a previous infrastructure since each node relies on the others to communicate by creating the so-called multi-hop communication. This type of network has several drawbacks not found in conventional networks. For example, its topology can change quickly and unpredictably. Besides, variations in the capacities of nodes and connections may arise, as well as frequent errors in the transmission and a lack of security. Finally, the limited resources of nodes must be taken into account, since an ad hoc network will normally contain devices fed by batteries. The MANETs are dynamically built when a set of nodes creates paths in order to obtain connectivity among them. The nodes in a MANET may not only act as a source or destination ofa communication, but also as routers when a relationship between nodes cannot be achieved due to problems with reach. A routing protocol in an MANET requires a mechanism to be provided that maintains the routes towards the destinations given the movement of the nodes that may cause the destruction of the routes and that it is necessary to find an alternative route in order to keep the communication between the nodes. Routing protocols for MANETs are often called protocols of Level 2.5, since being generally found above linking protocols like IEEE 802.11 and below the network IP protocol. In MANETs, the conventional routing protocols will either have a very poor performance or will not be applicable. Alternative, new routing algorithms are therefore needed. In other words, mobile ad hoc networks need specific routing protocols because of their nature, as well as characteristics or requirements that they must meet to work properly, commenting also on the impossibility of using traditional solutions. Ant colony optimization (ACO) is a branch of artificial intelligence (AI) that uses the concepts of swarm intelligence and takes its inspiration from the behavior of ants in nature (bioinspired). An essential aspect of the ACO routing is that the ants always show various full paths between the source and destination, increasing the overhead with respect to a purely reactive approach. A second characteristic is the way in which the ants choose the route. They construct the path hop by hop in a probabilistic manner using pheromone information. The use of this allows it to build on the acquired experience by the ants previously. This is the key to a highly distributed process. The fact that ants build their paths in a probabilistic manner allows the exploration of multiple routes. This makes the algorithm adaptable to changes in the network, increasing both the robustness (through the availability of reserve paths) and the throughput of the network. A third characteristic is the stochastic forwarding of the data packet based on the pheromone information, which ensures its routing by the best routes. If the pheromone keeps up-to-date by the use of enough ants, the load balancing follows changes in the network automatically. Due to its adaptability and robust properties, it also has become a paradigm for routing in mobile ad hoc networks. The ACO algorithms work iteratively. In every step, artificial ants build a solution in parallel with the problem in question, using the artificial pheromone matrix. Then, the pheromone matrix on the basis of the solutions found is updated. In this way, the pheromone matrix reflects information about good solutions that have been found to date, and it allows the ants of later generations to utilize this information to create new ones. This paper consists of seven sections, with this Introduction being the first of them.