
Dispersive flies optimisation (DFO) is a bare-bones
swarm intelligence
Swarm intelligence (SI) is the collective behavior of decentralized, self-organized systems, natural or artificial. The concept is employed in work on artificial intelligence. The expression was introduced by Gerardo Beni and Jing Wang in 1989, ...
algorithm which is inspired by the swarming behaviour of flies hovering over food sources. DFO is a simple
optimiser which works by
iteratively trying to improve a
candidate solution
In mathematical optimization, a feasible region, feasible set, search space, or solution space is the set of all possible points (sets of values of the choice variables) of an optimization problem that satisfy the problem's constraints, poten ...
with regard to a numerical measure that is calculated by a
fitness function {{no footnotes, date=May 2015
A fitness function is a particular type of objective function that is used to summarise, as a single figure of merit, how close a given design solution is to achieving the set aims. Fitness functions are used in genet ...
. Each member of the population, a fly or an agent, holds a candidate solution whose suitability can be evaluated by their fitness value. Optimisation problems are often formulated as either minimisation or maximisation problems.
DFO was introduced with the intention of analysing a simplified swarm intelligence algorithm with the fewest tunable parameters and components. In the first work on DFO, this algorithm was compared against a few other existing swarm intelligence techniques using
error
An error (from the Latin ''error'', meaning "wandering") is an action which is inaccurate or incorrect. In some usages, an error is synonymous with a mistake. The etymology derives from the Latin term 'errare', meaning 'to stray'.
In statistic ...
, efficiency and diversity measures. It is shown that despite the simplicity of the algorithm, which only uses agents’ position vectors at time ''t'' to generate the position vectors for time ''t'' + 1, it exhibits a competitive performance. Since its inception, DFO has been used in a variety of applications including medical imaging and image analysis as well as data mining and machine learning.
Algorithm
DFO bears many similarities with other existing continuous, population-based optimisers (e.g.
particle swarm optimization and
differential evolution
In evolutionary computation, differential evolution (DE) is a method that optimizes a problem by iteratively trying to improve a candidate solution with regard to a given measure of quality. Such methods are commonly known as metaheuristics a ...
). In that, the swarming behaviour of the individuals consists of two tightly connected mechanisms, one is the formation of the swarm and the other is its breaking or weakening. DFO works by facilitating the information exchange between the members of the population (the swarming flies). Each fly
represents a position in a ''d''-dimensional search space:
, and the fitness of each fly is calculated by the fitness function
, which takes into account the flies' ''d'' dimensions:
.
The
pseudocode
In computer science, pseudocode is a plain language description of the steps in an algorithm or another system. Pseudocode often uses structural conventions of a normal programming language, but is intended for human reading rather than machine re ...
below represents one iteration of the algorithm:
for i = 1 : N flies
end for i
= arg min
for i = 1 : N and
for d = 1 : D dimensions
else
end if
end for d
end for i
In the algorithm above,
represents fly
at dimension
and time
;
presents
's best neighbouring fly in
ring topology
A ring network is a network topology in which each node connects to exactly two other nodes, forming a single continuous pathway for signals through each node – a ring. Data travels from node to node, with each node along the way handling ever ...
(left or right, using flies indexes), at dimension
and time
; and
is the swarm's best fly. Using this update equation, the swarm's population update depends on each fly's best neighbour (which is used as the focus
, and the difference between the current fly and the best in swarm represents the spread of movement,
).
Other than the population size
, the only tunable parameter is the disturbance threshold
, which controls the dimension-wise restart in each fly vector. This mechanism is proposed to control the diversity of the swarm.
Other notable minimalist swarm algorithm is Bare bones particle swarms (BB-PSO), which is based on particle swarm optimisation, along with bare bones differential evolution (BBDE) which is a hybrid of the bare bones particle swarm optimiser and differential evolution, aiming to reduce the number of parameters. Alhakbani in her PhD thesis covers many aspects of the algorithms including several DFO applications in feature selection as well as parameter tuning.
Applications
Some of the recent applications of DFO are listed below:
* Optimising
support vector machine
In machine learning, support vector machines (SVMs, also support vector networks) are supervised learning models with associated learning algorithms that analyze data for classification and regression analysis. Developed at AT&T Bell Laboratories ...
kernel to classify imbalanced data
* Quantifying
symmetrical complexity in
computational aesthetics
* Analysing computational
autopoiesis
The term autopoiesis () refers to a system capable of producing and maintaining itself by creating its own parts.
The term was introduced in the 1972 publication '' Autopoiesis and Cognition: The Realization of the Living'' by Chilean biologists ...
and
computational creativity
Computational creativity (also known as artificial creativity, mechanical creativity, creative computing or creative computation) is a multidisciplinary endeavour that is located at the intersection of the fields of artificial intelligence, cogn ...
* Identifying
calcification
Calcification is the accumulation of calcium salts in a body tissue. It normally occurs in the formation of bone, but calcium can be deposited abnormally in soft tissue,Miller, J. D. Cardiovascular calcification: Orbicular origins. ''Nature M ...
s in
medical images
Medicine is the science and practice of caring for a patient, managing the diagnosis, prognosis, prevention, treatment, palliation of their injury or disease, and promoting their health. Medicine encompasses a variety of health care prac ...
* Building non-identical organic structures for game's space development
* Deep
Neuroevolution
Neuroevolution, or neuro-evolution, is a form of artificial intelligence that uses evolutionary algorithms to generate artificial neural networks (ANN), parameters, and rules. It is most commonly applied in artificial life, general game pla ...
: Training Deep
Neural Networks
A neural network is a network or circuit of biological neurons, or, in a modern sense, an artificial neural network, composed of artificial neurons or nodes. Thus, a neural network is either a biological neural network, made up of biological ...
for False Alarm Detection in Intensive Care Units
* Identification of
animation key points from 2D-medialness maps
References
{{Reflist
Articles with example pseudocode
Nature-inspired metaheuristics
Mathematical optimization
Evolutionary algorithms