What is Dispersive Flies Optimisation?
Dispersive Flies Optimisation (DFO) is a swarm intelligence model based on how flies interact in the real world. From a paper produced by Mohammad Al-Rifaie, this has been created and used to benchmark different test functions for optimisation.
The progress of the flies optimisation is based on a value called ‘fitness’. This judges how good the data is and in turn will attract the swarm towards it. Part of the swarm, though, may start to move away from the fly with the best fitness in order to search the space further for a better fitness value.
How does Dispersive Flies Optimisation work?
DFO starts out by creating a number of flies in random locations across all the dimensions.
Each fly then calculates where they need to go based on the positions of the best neighbour fly, the best fly of the swarm and their own.
Depending on the dispersive value, the flies would be dispersed from where they are so they can explore the search space further. This is for them to not get stuck in a local minimum in order to find the globally optimised point; otherwise known as exploration vs exploitation.
Possible uses for this algorithm
Looking at this algorithm made me think about searching and collecting resources; whether in real life or in a game. This is mainly down to how to algorithm tries to balance between exploration and exploitation.
A real life example where this would be useful is when looking at how we fish. Major trawls typically use boats to fish in certain areas whether there are plenty of fish. The boats would be able to gauge their position and how ‘fit’ or well their spot is. If they were able to communicate with the other boats then they could be moved to further search the space and exploit the best areas.
Another reason is related to resource collecting but is within a game world. A nice example of this would be to use it in a game like Age of Empires, in order to create an AI that can find resources and still search for better pools.