Overview
Swarm-based metaheuristics in
automatic programming: a survey
Juan L. Olmo,
1
José R. Romero
1
and Sebastián Ventura
1,2∗
On the one hand, swarm intelligence (SI) is an emerging field of artificial intelli-
gence that takes inspiration in the collective and social behavior of different groups
of simple agents. On the other hand, the automatic evolution of programs is an
active research area that has attracted a lot of interest and has been mostly pro-
moted by the genetic programming paradigm. The main objective is to find com-
puter programs from a high-level problem statement of what needs to be done,
without needing to know the structure of the solution beforehand. This paper looks
at the intersection between SI and automatic programming, providing a survey on
the state-of-the-art of the automatic programming algorithms that use an SI meta-
heuristic as the search technique. The expression of swarm programming (SP) has
been coined to cover swarm-based automatic programming proposals, since they
have been published to date in a disorganized manner. Open issues for future
research are listed. Although it is a very recent area, we hope that this work will
stimulate the interest of the research community in the development of new SP
metaheuristics, algorithms, and applications. © 2014 John Wiley & Sons, Ltd.
How to cite this article:
WIREs Data Mining Knowl Discov 2014. doi: 10.1002/widm.1138
INTRODUCTION
B
io-inspired algorithms
1
are a kind of algorithm
based on biological systems that mimic the prop-
erties of these systems in nature. They are attractive
from a computational point of view due to their broad
application areas and their simplicity and random
components, inherited from natural systems. Most
bio-inspired algorithms are easy to implement and
their complexity is relatively low, and these algo-
rithms, though simple, can search multimodal land-
scape with sufficient diversity and ability to escape any
local optimum.
2
Bio-inspired computing is an active
and promising research field in algorithm design, and
includes paradigms such as artificial neural networks
(ANNs),
3
evolutionary algorithms (EAs),
4
artificial
immune systems (AIS),
5
and swarm intelligence (SI),
6
among others.
∗
Correspondence to: sventura@uco.es
1
Department of Computer Science and Numerical Analysis, Univer-
sity of Córdoba, Córdoba, Spain
2
Department of Computer Science, King Abdulaziz University,
Jeddah, Saudi Arabia
Conflict of interest: The authors have declared no conflicts of
interest for this article.
In particular, SI focuses on the development of
multi-agent systems inspired by the collective behav-
ior of simple agents. The general objectives of the
swarm are pursued by means of individuals’ indepen-
dent actions, which can interact locally both with one
another and with the environment. A global, intel-
ligent and coordinated behavior emerges from these
independent actions.
7
Representative types of SI are
particle swarm optimization (PSO),
8
which deals with
the movement of flocks of birds or schools of fishes;
ant colony optimization (ACO),
9
which takes inspira-
tion from the behavior and self-organization capabili-
ties of ant colonies; or bee swarm intelligence (BSI),
10
which models some of the features of honey bees. SI
algorithms are expanding and becoming increasingly
popular in many disciplines and applications, mainly
because of their flexibility and efficiency in solving a
wide range of high complex problems.
11
On the other hand, automatic programming is
an active research field with applications in many
domains that has become very popular mainly due to
the widespread use of the GP paradigm.
12
Automatic
programming is a method that uses a search technique
to automatically construct a computer program that
solves a given problem, without requiring the user
© 2014 John Wiley & Sons, Ltd.