Swarm Intelligence
Swarm Intelligence
SI systems are typically made up of a population of simple agents or boids interacting locally
with one another and with their environment. The agents follow very simple rules, and although
there is no centralized control structure dictating how individual agents should behave, local, and
to a certain degree random, interactions between such agents lead to the emergence of
"intelligent" global behavior, unknown to the individual agents. Natural examples of SI include
ant colonies, bird flocking, animal herding, bacterial growth, and fish schooling.
The application of swarm principles to robots is called swarm robotics, while 'swarm
intelligence' refers to the more general set of algorithms. 'Swarm prediction' has been used in the
context of forecasting problems.
Contents
[hide]
1 Example algorithms
o 1.1 Ant colony optimization
o 1.2 River formation dynamics
o 1.3 Particle swarm optimization
o 1.4 Stochastic diffusion search
o 1.5 Gravitational search algorithm
o 1.6 Intelligent Water Drops
o 1.7 Charged System Search
2 Applications
o 2.1 Crowd simulation
o 2.2 Ant-based routing
3 References in popular culture
4 Notable researchers
5 See also
6 References
7 Bibliography
[edit] Example algorithms
[edit] Ant colony optimization
Ant colony optimization (ACO) is a class of optimization algorithms modeled on the actions of
an ant colony. ACO methods are useful in problems that need to find paths to goals. Artificial
'ants'—simulation agents—locate optimal solutions by moving through a parameter space
representing all possible solutions. Real ants lay down pheromones directing each other to
resources while exploring their environment. The simulated 'ants' similarly record their positions
and the quality of their solutions, so that in later simulation iterations more ants locate better
solutions.[2] One variation on this approach is the bees algorithm, which is more analogous to the
foraging patterns of the honey bee.
River formation dynamics (RFD)[3] is an heuristic method similar to ant colony optimization
(ACO). In fact, RFD can be seen as a gradient version of ACO, based on copying how water
forms rivers by eroding the ground and depositing sediments. As water transforms the
environment, altitudes of places are dynamically modified, and decreasing gradients are
constructed. The gradients are followed by subsequent drops to create new gradients, reinforcing
the best ones. By doing so, good solutions are given in the form of decreasing altitudes. This
method has been applied to solve different NP-complete problems (for example, the problems of
finding a minimum distances tree and finding a minimum spanning tree in a variable-cost
graph[4]). The gradient orientation of RFD makes it specially suitable for solving these problems
and provides a good tradeoff between finding good results and not spending much computational
time. In fact, RFD fits particularly well for problems consisting in forming a kind of covering
tree.[5]
Particle swarm optimization (PSO) is a global optimization algorithm for dealing with problems
in which a best solution can be represented as a point or surface in an n-dimensional space.
Hypotheses are plotted in this space and seeded with an initial velocity, as well as a
communication channel between the particles[6][7]. Particles then move through the solution
space, and are evaluated according to some fitness criterion after each timestep. Over time,
particles are accelerated towards those particles within their communication grouping which
have better fitness values. The main advantage of such an approach over other global
minimization strategies such as simulated annealing is that the large number of members that
make up the particle swarm make the technique impressively resilient to the problem of local
minima.
Stochastic diffusion search (SDS) is an agent-based probabilistic global search and optimization
technique best suited to problems where the objective function can be decomposed into multiple
independent partial-functions. Each agent maintains a hypothesis which is iteratively tested by
evaluating a randomly selected partial objective function parameterised by the agent's current
hypothesis. In the standard version of SDS such partial function evaluations are binary, resulting
in each agent becoming active or inactive. Information on hypotheses is diffused across the
population via inter-agent communication. Unlike the stigmergic communication used in ACO,
in SDS agents communicate hypotheses via a one-to-one communication strategy analogous to
the tandem running procedure observed in some species of ant. A positive feedback mechanism
ensures that, over time, a population of agents stabilise around the global-best solution. SDS is
both an efficient and robust search and optimisation algorithm, which has been extensively
mathematically described.
Gravitational search algorithm (GSA) is constructed based on the law of Gravity and the notion
of mass interactions. The GSA algorithm uses the theory of Newtonian physics and its searcher
agents are the collection of masses. In GSA, we have an isolated system of masses. Using the
gravitational force, every mass in the system can see the situation of other masses. The
gravitational force is therefore a way of transferring information between different masses.(Barry
Webster and Philip Bernhard, 2003)
Charged System Search (CSS) [9] is a new optimization algorithm based on some principles from
physics and mechanics. CSS utilizes the governing laws of Coulomb and Gauss from
electrostatics and the Newtonian laws of mechanics. CSS is a multi-agent approach in which
each agent is a Charged Particle (CP). CPs can affect each other based on their fitness values and
their separation distances. The quantity of the resultant force is determined by using the
electrostatics laws and the quality of the movement is determined using Newtonian mechanics
laws. CSS is applicable to all optimization fields; especially it is suitable for non-smooth or non-
convex domains. This algorithm provides a good balance between the exploration and the
exploitation paradigms of the algorithm which can considerably improve the efficiency of the
algorithm and therefore the CSS also can be considered as a good global and local optimizer
simultaneously.