Dispersive flies optimisation

From HandWiki
Swarm behaviour in Dispersive Flies Optimisation

Dispersive flies optimisation (DFO) is a bare-bones swarm intelligence algorithm which is inspired by the swarming behaviour of flies hovering over food sources.[1] DFO is a simple optimiser which works by iteratively trying to improve a candidate solution with regard to a numerical measure that is calculated by a fitness function. 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 [2] 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, 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 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 [math]\displaystyle{ \mathbf{x} }[/math] represents a position in a d-dimensional search space: [math]\displaystyle{ \mathbf{x} = (x_1,x_2,\ldots,x_d) }[/math], and the fitness of each fly is calculated by the fitness function [math]\displaystyle{ f(\mathbf{x}) }[/math], which takes into account the flies' d dimensions: [math]\displaystyle{ f(\mathbf{x}) = f(x_1,x_2,\ldots,x_d) }[/math].

The pseudocode below represents one iteration of the algorithm:

for i = 1 : N flies
    [math]\displaystyle{  \mathbf{x_i}.\text{fitness} = f(\mathbf{x}_i)  }[/math]
end for i  
[math]\displaystyle{  \mathbf{x}_s  }[/math] = arg min [math]\displaystyle{  [f(\mathbf{x}_i)], \; i \in \{1,\ldots,N\}   }[/math]
for i = 1 : N and [math]\displaystyle{  i \ne s  }[/math]
    for d = 1 : D dimensions
        if [math]\displaystyle{ U(0,1)\lt \Delta  }[/math]
            [math]\displaystyle{ x_{id}^{t+1} = U(x_{\min,d}, x_{\max,d}) }[/math]
        else
            [math]\displaystyle{ x_{id}^{t+1} = x_{i_{nd}}^t + U(0,1)( x_{sd}^t - x_{id}^t )  }[/math]
        end if 
    end for d
end for i   

In the algorithm above, [math]\displaystyle{ x_{id}^{t+1} }[/math] represents fly [math]\displaystyle{ i }[/math] at dimension [math]\displaystyle{ d }[/math] and time [math]\displaystyle{ t+1 }[/math]; [math]\displaystyle{ x_{i_{nd}}^t }[/math] presents [math]\displaystyle{ x_i }[/math]'s best neighbouring fly in ring topology (left or right, using flies indexes), at dimension [math]\displaystyle{ d }[/math] and time [math]\displaystyle{ t }[/math]; and [math]\displaystyle{ x_{sd}^t }[/math] 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 [math]\displaystyle{ \mu }[/math], and the difference between the current fly and the best in swarm represents the spread of movement, [math]\displaystyle{ \sigma }[/math]).

Other than the population size [math]\displaystyle{ N }[/math], the only tunable parameter is the disturbance threshold [math]\displaystyle{ \Delta }[/math], 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),[3] which is based on particle swarm optimisation, along with bare bones differential evolution (BBDE) [4] 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[5] 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:

References

  1. Downes, J. A. (January 1969). "The Swarming and Mating Flight of Diptera". Annual Review of Entomology 14 (1): 271–298. doi:10.1146/annurev.en.14.010169.001415. 
  2. al-Rifaie, Mohammad Majid (2014). "Dispersive Flies Optimisation" (in en). Proceedings of the 2014 Federated Conference on Computer Science and Information Systems. 2. pp. 529–538. doi:10.15439/2014f142. ISBN 978-83-60810-58-3. https://fedcsis.org/proceedings/2014/drp/142.html. 
  3. Kennedy, J. (2003). "Bare bones particle swarms". Proceedings of the 2003 IEEE Swarm Intelligence Symposium. SIS'03 (Cat. No.03EX706). pp. 80–87. doi:10.1109/SIS.2003.1202251. ISBN 978-0-7803-7914-5. 
  4. Omran, Mahamed G.H.; Engelbrecht, Andries P.; Salman, Ayed (July 2009). "Bare bones differential evolution". European Journal of Operational Research 196 (1): 128–139. doi:10.1016/j.ejor.2008.02.035. http://repository.up.ac.za/bitstream/2263/8794/1/Omran_Bare%282008%29.pdf. 
  5. Alhakbani, Haya (2018). Handling Class Imbalance Using Swarm Intelligence Techniques, Hybrid Data and Algorithmic Level Solutions. London, UK: [PhD Thesis] Goldsmiths, University of London. 
  6. Alhakbani, H. A.; al-Rifaie, M. M. (2017). "Optimising SVM to classify imbalanced data using dispersive flies optimisation". Proceedings of the 2017 Federated Conference on Computer Science and Information Systems. 11. pp. 399–402. doi:10.15439/2017F91. ISBN 978-83-946253-7-5. https://ieeexplore.ieee.org/document/8104572. 
  7. al-Rifaie, Mohammad Majid; Ursyn, Anna; Zimmer, Robert; Javaheri Javid, Mohammad Ali (2017). "On Symmetry, Aesthetics and Quantifying Symmetrical Complexity" (in en). Computational Intelligence in Music, Sound, Art and Design. Lecture Notes in Computer Science. 10198. pp. 17–32. doi:10.1007/978-3-319-55750-2_2. ISBN 978-3-319-55749-6. 
  8. al-Rifaie, Mohammad Majid; Fol Leymarie, Frédéric; Latham, William; Bishop, Mark (2017). "Swarmic autopoiesis and computational creativity". Connection Science 29 (4): 276–294. doi:10.1080/09540091.2016.1274960. Bibcode2017ConSc..29..276A. http://research.gold.ac.uk/19762/1/ConnScien_2017cc.pdf. 
  9. al-Rifaie, Mohammad Majid; Aber, Ahmed (2016). "Dispersive Flies Optimisation and Medical Imaging" (in English). Recent Advances in Computational Optimization. Studies in Computational Intelligence. 610. pp. 183–203. doi:10.1007/978-3-319-21133-6_11. ISBN 978-3-319-21132-9. http://research.gold.ac.uk/17250/1/2016_DFO_Medical%20Imaging.pdf. 
  10. King, Michael; al-Rifaie, Mohammad Majid (2017). "Building simple non-identical organic structures with dispersive flies optimisation and a* path-finding". AISB 2017: Games and AI: 336–340. 
  11. Hooman, O. M. J.; al-Rifaie, M. M.; Nicolaou, M. A. (2018). "Deep Neuroevolution: Training Deep Neural Networks for False Alarm Detection in Intensive Care Units". 2018 26th European Signal Processing Conference (EUSIPCO). pp. 1157–1161. doi:10.23919/EUSIPCO.2018.8552944. ISBN 978-9-0827-9701-5. https://ieeexplore.ieee.org/document/8552944. 
  12. Aparajeya, Prashant; Leymarie, Frederic Fol; al-Rifaie, Mohammad Majid (2019). "Swarm-Based Identification of Animation Key Points from 2D-medialness Maps" (in en). Computational Intelligence in Music, Sound, Art and Design. Lecture Notes in Computer Science. 11453. Springer International Publishing. pp. 69–83. doi:10.1007/978-3-030-16667-0_5. ISBN 978-3-030-16666-3. http://gala.gre.ac.uk/id/eprint/23765/7/23765%20AL-RIFAIE_Swarm-Based_Identification_of_Animation_Key_Points_2019.pdf.