Professional Documents
Culture Documents
Swarm Intelligence
4.1 Introduction
Swarm Intelligence (SI) is a computational and behavioral metaphor for solving distributed problems
inspired from biological examples provided by social insects such as ants, termites, bees, and wasps and
by swarm, herd, flock, and shoal phenomena in vertebrates such as fish shoals and bird flocks.
In other words, SI is based on the principles underlying the behavior of natural systems consisting
of many agents, and exploiting local communication forms and highly distributed control. Thus, the
SI approach constitutes a very practical and powerful model that greatly simplifies the design of distributed
solutions to different kind of problems. In the last few years, SI principles have been successfully applied
to a series of applications including optimization algorithms, communications networks, and robotics.
4-55
and plans, the current input, and the current state, collects agent results, analyzes them, and decides the
actions to be executed next.
One way of achieving the required task without a centralized part is by the addition of the individual
efforts of a multitude of agents who do not have any idea of the global objective to be reached; that is, there
is the emergence of collective behavior. Deneubourg et al. [1] introduced a model of sorting behavior
in ants. They found that simple model ants were able to sort into piles objects initially strewn randomly
across a plane. To be precise, near an anthill, one can observe that ants run in all directions to gather
corpses, to clean up their nests, or transport their eggs to order them by size etc. One can only imagine
that something, such as a special chemical marker, indicates to individual ants where to place their chips,
and allows them to distinguish an object already arranged from an object to be arranged. But how are
these markers placed and on what criteria? In fact, such interesting collective behavior can be mediated by
nothing more than similar, simple individual behavior. For example, F(1) each ant wanders a bit, (2) if an
ant meets an object and if it does not carry one, it takes it, and (3) if an ant transports an object and there
is a similar object in the same way in front of it, it deposits its load. By following these local strategic rules
with only local perceptual capacities, ants display the ability to perform global sorting and clustering of
objects.
Swarm Intelligence is a new way to control multiple agent systems. The swarm-type approach to
emergent strategy deals with large numbers of homogeneous agents, each of which has fairly limited
capabilities on its own. However, when many such simple agents are brought together, globally interesting
behavior can emerge as a result of the local interactions of the agents and the interactions between the
agents and the environment. A key research issue in such a scenario is determining the proper design of
the local control laws that will allow the collection of agents to solve a given problem.
Autonomy: The system does not require outside management or maintenance. Individuals are
autonomous, controlling their own behavior both at the detector and effector levels in a
self-organized way.
Adaptability: Interactions between individuals can arise through direct or indirect communication
via the local environment; two individuals interact indirectly when one of them modifies the
environment and the other responds to the new environment at a later time. By exploiting such
local communication forms, individuals have the ability to detect changes in the environment
dynamically. They can then autonomously adapt their own behavior to these new changes. Thus,
swarm systems emphasize auto-configuration capabilities.
Scalability: SI abilities can be performed using groups consisting of a few, up to thousands of individuals
with the same control architecture.
Flexibility: No single individual of the swarm is essential, that is, any individual can be dynamically
added, removed, or replaced.
Robustness: SI provides a good example of a highly distributed architecture that greatly enhances
robustness; no central coordination takes place, which means that there is no single point of failure.
Moreover, like most biological and social systems, and by combining scalability and flexibility
capabilities, the swarm system enables redundancy, which is essential for robustness.
Massively parallel: The swarm system is massively parallel and its functioning is truly distributed.
Tasks performed by each individual within its group are the same. If we view each individual
as a processing unit, SI architecture can be thought of as single instruction streammultiple data
stream (SIMD) architecture or systolic networks.
Self-organization: Swarm systems emphasize self-organization capabilities. The intelligence exhibited is
not present in the individuals, but rather emerges somehow out of the entire swarm. In other words,
if we view every individual as a processing unit, solutions to problems obtained are not predefined
or preprogrammed but are determined collectively as a result of the running program.
Cost effectiveness: The swarm-type system consists of a finite collection of homogeneous agents, each
of which has fairly limited capabilities on its own. Also, each agent has the same capabilities and
control algorithm. It is clear that the autonomy and the highly distributed control afforded by the
swarm model greatly simplify the task of designing the implementation of parallel algorithms and
hardware. For example, for swarm-type multi-robotic systems, robots are relatively simple and
their design process effort can be kept minimal in terms of sensors, actuators, and resources for
computation and communication.
and this will in turn cause a higher number of ants to choose the shorter path. This elementary behavior
of real ants explains how they can find the shortest path. The collective behavior that emerges is a form of
autocatalytic behavior (or positive feedback), whereby the more the ants follow the trail the more likely
they are to do so.
chemicals called pheromones to provide a sophisticated signaling system. While walking, ants deposit
quantities of pheromone marking the selected routes that they follow with a trail of the substance. When
an ant encounters an intersection, it has to decide which path to follow next. The concentration of
pheromone on a certain path is an indication of its usage. An ant chooses a path with a high probability
to follow and thereby reinforces it with a further quantity of pheromone. Over time, the concentration of
pheromone decreases due to diffusion. This foraging process is an autocatalytic process characterized by
a positive feedback loop, where the probability that an ant chooses any given path increases according to
the number of ants choosing the path on previous occasions. Ants that take the shortest path will reach
the food source first. On their way back to the nest, the ants again have to select a path. After a sufficiently
long period of time, the pheromone concentration on the shorter path will be higher than on other longer
paths. Thus, all the ants will finally choose the shorter path.
This ant foraging process can be used to find the shortest path in networks. Also, ants are capable of
adapting to changes in the environment, and find a new shortest path once the old one is no longer feasible
due to some obstacle. Thus, this process is appropriate to mobile ad hoc networks wherein link changes
occur frequently [5].
Let G = (V , E) be a connected graph with N = |V | nodes. The simple ant colony optimization meta-
heuristic can be used to find the shortest path between a source node vs and a destination node vd on the
graph G. The path length is defined by the number of nodes on the path. A variable i,j corresponding to
the artificial pheromone concentration is associated with each edge (i, j). An ant located in node vi uses
pheromone i,j to compute the probability of node vj being the next hop. This transition probability pi,j
is defined as:
i,j
if j Vi ,
i,j
pi,j = jVi with pi,j = 1 for 1 i N .
0 if j
/ Vi , jVi
During the process, ants deposit pheromone on the edges. In the simplest version of the algorithm, the
ants deposit a constant amount of pheromone, that is, the amount of pheromone of the edge (i, j) when
an ant moves from node vi to node vj is updated from the formula:
i,j = i,j + .
Moreover, like real ant pheromone, the artificial pheromone concentration should decrease over time.
In the simple ant algorithm this is shown by:
visit. Recall that a feasible tour visits a city exactly once. Additionally, this allows the ant to cover the same
tour (i.e., path) to deposit delayed pheromones on the visited arcs. The probability with which an ant k
chooses to go from city i to city j while building its tour at the algorithm iteration t is:
a (t ) (k)
i,j if j Vi ,
(k)
pi,j (t ) = (k) ai,l (t )
lVi
0 otherwise,
(k)
where Vi denotes the set of the neighborhood of node i that ant k has not visited yet.
The ant decision value ai,j (t ) is obtained by the composition of the local pheromone trail value with a
local heuristic value that supports the nearest neighbors as follows:
[i,j (t )] [dij ]
ai,j (t ) =
for j Ni ,
lNi [i,l (t )] [dil ]
where Ni is the set of neighbors of node i, and and are two parameters that control the relative weight
of the pheromone trail and the heuristic value. A heuristic value should measure or estimate the relevance
of adding an arc (i, j). A reasonable heuristic for TSP is 1/dij , the inverse of the distance between cities
i and j.
After all the ants have completed their tour, pheromone evaporation on arcs is executed. Each ant k
deposits a quantity of pheromone
1
if arc (i, j) T (k) (t ),
(k)
ij (t ) = L (k) (t )
0 otherwise,
where T (k) (t ) is the tour by ant k at iteration t and L (k) (t ) is its length. Note that the shorter the tour of
ant k, the greater is the amount of pheromone deposited.
The addition of new pheromone and pheromone evaporation are set by the following formula:
m
(k)
ij (t ) = (1 q)ij (t n) + ij (t ),
k=1
where q is the pheromone decay trail, 0 < q 1. The initial amount of pheromone ij (0) is set to the
same small positive value on all arcs. The suitable value for q is 0.5, which ensures a tradeoff between
sufficient positive feedback and the exploration of new cycles. For and , optimal values are 1 and
1 5. Note that with = 0, the algorithm corresponds to the classical greedy algorithm, and with
> 2, all the agents converge to the same cycle, which is not necessarily optimal.
The comparison of this algorithm with other heuristics such as tabu search and simulated annealing on
small TSP problems (n = 30 cities), emphasizes its efficiency. The same technique presented here for TSP
was applied to solve other optimization problems such as job scheduling, QAP, and routing in networks
[2,58].
4.3.1.3 Comparison with Other Nature-Inspired Algorithms
A number of modern optimization techniques are inspired by nature. In simulated annealing modeled
from the thermodynamic behavior of solids, particles in solution space move under the control of
a randomized scheme, with probabilities according to some typically Boltzmann-type distribution.
Genetic algorithms (GAs) start with a randomly generated population and use crossover and mutation
operators to update it together with fitness function to evaluate the individuals. Neural networks (NNs)
are a distributed learning technique in which the knowledge associated with a trained neural network is
not stored in any specific location but encoded in a distributed way across its weight matrix.
Ant colony optimization shares many common points with these nature-inspired approaches. ACO,
SA, and GA share the same update mechanism with random techniques. Randomness is present in the
fuzzy behavior of ants [8]. ACO shares with GA some organizing principles of social population such as
interaction and self-organization. ACO shares with NN trained networks the property that knowledge is
distributed throughout the network. Moreover, ACO, like NN, exhibits emergence capabilities [8].
(1) (2)
vi (t + 1) = avi (t ) + b1 r1 (pi xi (t )) + b2 r2 (pi xi (t )),
xi (t + 1) = xi (t ) + vi (k + 1),
where vi (t ) denotes the velocity of particle i, which represents the distance to be traveled by this particle
from its current position, that is, the difference between two successive particle positions; xi (t ) represents
(1) (2)
the particle position; pi represents its own previous best position; and pi is the best value obtained so
(2)
far by any particle among the neighbors. In the global version of the algorithm, pi represents the globally
best position among the whole swarm. Particles change their position (or state) in the following manner.
At iteration t , the velocity vi (t ) is updated based on its current value affected by a tuning parameter a,
and on a term that attracts the particle towards previously found best positions. The strength of attraction
is given by the coefficients b1 and b2 . The particle position xi (t ) is updated using its current value and
the newly computed velocity vi (t + 1). The three tuning parameters, a, b1 , and b2 , influence greatly the
algorithm performance. The inertia weight a is a user specified parameter, a large inertia weight pressures
towards global exploration in a new search area while a small inertia pressures towards fine tuning the
current search area. Positive constant acceleration coefficients (or learning factors) b1 and b2 control the
maximum step size of the particle, usually b1 = b2 = 2. Suitable selection of the tuning factors a, b1 ,
and b2 can provide a balance between the global (i.e., state space exploration), and local search (i.e., state
space exploitation). Random numbers r1 and r2 are selected in the range [0, 1] and they introduce useful
randomness for state space exploitation.
In the following, we show how this basic PSO algorithm can be adapted to solve an optimization
problem. The task-mapping problem (TMP) is one of the most studied NP-hard problems in distributed
computing.
4.4 Conclusion
Swarm Intelligence is a rich source of inspiration for our computer systems. Specifically, SI has many fea-
tures that are desirable for distributed computing. These include auto-configuration, auto-organization,
autonomy, scalability, flexibility, robustness, emergent behavior, and adaptability. These capabilities sug-
gest a wide variety of applications that can be solved by SI principles. We believe that the emergence
paradigm and the highly distributed control paradigm will be fruitful to new technologies, such as
nanotechnology, massively parallel supercomputers, embedded systems, and scalable systems for deep
space applications.
References
[1] J.L. Deneubourg, S. Goss, N. Franks, A. Sendova-Franks, C. Detrain, and L. Chrtien. The
dynamics of collective sorting, robot-like ants and ant-like robots. In Simulation of Animal
Behaviour: From Animal to Animals (J.A. Meyter and S. Wilson, Eds.), MIT Press, Cambridge,
MA, 1991, pp. 356365.
[2] T. White. Swarm intelligence and problem solving in telecommunications. Canadian Artificial
Intelligence Magazine, spring, 1997.
[3] R. Beckers, J.L. Deneubourg, and S. Goss. Trails and U-turns in the selection of the shortest path
by the ant Lasius niger. Journal of Theoretical Biology, 159, 397415, 1992.
[4] Lynne E. Parker. ALLIANCE: An architecture for fault tolerant multi-robot cooperation. IEEE
Transactions on Robotics and Automation, 14, 220240, 1998.
[5] Mesut Gnes and Otto Spanio. Ant-routing-algorithm for mobile multi-hop ad-hoc networks. In
Network Control and Engineering for Qos, Security and Mobility II, Kluwer Academic Publishers,
2003, pp. 120138.
[6] Eric Bonabeau and Guy Theraulaz. Intelligence Collective, Edition HERMES, Paris, 1994.
[7] Marc Dorigo, Eric Bonabeau, and Guy Theraulaz. Ant algorithms and stigmergy. Future Generation
Computer Systems, 16, 851871, 2000.
[8] B. Denby and S. Le Hgarat-Mascle. Swarm intelligence in optimization problems. Nuclear
Instruments and Methods in Physic Research Section A, 502, 364368, 2003.
[9] Ayed Salman, Imtiaz Ahmad, and Sabah Al-Madani. Particle swarm optimization for task
assignment problem. Microprocessors and Microsystems, 26, 363371, 2002.
[10] Ioan Cristian Trelea. The particle swarm optimization algorithm: Convergence analysis and
parameter selection. Information Processing Letters, 85, 317325, 2003.
[11] X. Hu, R. Eberhart, and Y. Shi. Particle swarm with extended memory for multiobjective
optimization. In Proceedings of the IEEE Swarm Intelligence Symposium, 2003, Indianapolis,
IN, USA.
[12] L. Messerschmidt and A.P. Engelbrecht. Learning to play games using a PSO-based competitive
learning approach. In Proceedings of the 4th Asia-Pacific Conference on Simulated Evolution and
Learning, 2002.