The main tasks of worker bees is to find and harvest flowers. Although tiny, these insects are capable of searching within a staggering 6-kilometer (3,7 miles) radius; to achieve this, they developed a surprisingly smart strategy — they move in multiple directions simultaneously to be more efficient. At the same time, a part of the community ventures forth into unknown areas to search for yet undiscovered fields.
When scouts return with promising discoveries, they share their knowledge within the hive and try to recruit others for a joint mission to collect resources from the newly located areas.
And the chance of recruiting co-workers is proportional to the quality of the discovery, so the best fields get the most attention… Stingingly smart!
How Are BEES Relevant in an IT Blog Entry?
Well, that’s a great question, indeed. But if you ever heard about Swarm Intelligence (SI), you can surely see where this is going.
For years, scientists and biologists have been studying the habits and behavioural patterns of social insects to learn more about their efficiency at solving complex issues and at organising their community. What’s really fascinating is that although bees are not particularly smart as individuals (at least they never understand when I’m telling them to leave me alone and let me enjoy my garden party without their presence), they are mind-blowingly efficient when it comes to addressing problems as a swarm.
For the last thirty years, natural behaviours of different types of swarms (especially their ways of finding prey and… mating) are being translated into algorithms that make efficient optimisation easier and more effective.
How do they work? For example, if there’s a measurable target which one aims to minimize or maximize, the use of Swarm Intelligence allows to approximate the dependencies between the environment and the target to boost the process of finding improvements.
The above can even be presented in form of a pseudocode:
Pseudocode for the standard bees algorithm 1 for i=1,…,ns i scout[i]=Initialise_scout() ii flower_patch[i]=Initialise_flower_patch(scout[i]) 2 do until stopping_condition=TRUE i Recruitment() ii for i =1,...,nb 1 flower_patch[i]=Local_search(flower_patch[i]) 2 flower_patch[i]=Site_abandonment(flower_patch[i]) 3 flower_patch[i]=Neighbourhood_shrinking(flower_patch[i]) iii for i = nb,...,ns 1 flower_patch[i]=Global_search(flower_patch[i])}
Finally: Practical Use
All this sounds very nerdy, sure, but it also finds practical uses in serious areas — for example in the financial industry.
Currently, fraud detection solutions aren’t universal. Many banks are still relying on Rule-engines, which award negative points for certain behaviour and characteristics, marking a transaction as fraud if the number of points surpasses a determined point. Yet, a number of financial institutions already implemented Artificial Intelligence (AI) and Machine Learning (and that number is likely to grow, as it is, undoubtably, a game changing solution — read more about it in our blog post about the use of AI in the Finance Industry). Machine Learning algorithms utilise a wider variety of information to spot transactions that don’t look genuine, which creates discrepancies between automated and manual tools (but, what’s worth mentioning, even old tools are far from coherent).
So, why is that an issue?
Firstly, if everybody’s using different input data, the results just can’t be universally equal, which has to lead to simply missing false transactions or, on the contrary, flagging accounts for fraud that didn’t occur.
Secondly, implementing a Swarm Intelligence algorithm is, in this case, a chance to maximise results.
The Solution — Swarm Intelligence
If the majority of financial institutions would agree on a common fraud detection system, they could all search for the best fraud-detection model — separately — and then, after some time, all use the system which provides the finest results. And then complete this cycle again, further perfecting the model. This would enable a transparent evaluation of the system’s performance, impossible to achieve without a wide cooperation, since financial institution wouldn’t possess — at least in theory — benchmarks to determine what the highest possible percentage of fraud detection actually is. And with Swarm Intelligence, they can all share relevant knowledge and have a common starting point.
In this case, the main challenge seems to be creating an environment for sharing knowledge with respect to the confidentiality of data, which is an especially important point in the era of PCI and GDPR. But if implemented, Swarm Intelligence algorithms can surely bring strong benefits. After all, they are already tested on animals!