'The human brain and the computer’s CPU simply use different protocols', says Daan van den Berg, 'You need to put your idea in Python or Java to make the computer understand what you want it to do. But the inverse is also true and this is the root of many problems in computer science. To understand what a program or algorithm does, or is supposed to do, we use human-language metaphors: concepts from one domain which are somewhat applicable to another. But they are never sound, they are never complete and they are never fully accurate, simply because human language is not suitable for describing algorithms.'
One field in which this has a particular detrimental side effect is in bio-inspired optimization algorithms. The monkey algorithm, beehive routing, the sheep heredity algorithm, the elephant metaheuristic and cuckoo search (yes, really) are all supposedly new algorithms which might or might not be very good optimizers. Some argue a lack of novelty is being covered up by using these fancy bioinspiredish metaphors, but the least that can be said is that the algorithms performance, or lack thereof, is shrouded in the sometimes intricate procedures and subroutines that make up the animal farm.
One such discussion lively erupted at the META’16 conference, where several presentations on the Plant Propagation Algorithm and the Fireworks Algorithm exposed a large number of similarities. To what extent these similarities matter for performance is now systematically addressed by Wouter Vrielink in his master’s thesis. Both quantitatively and procedurally, the algorithms are disected to the bone and meticulously put back together. 'It is the basis of science, the hard work that makes us progress, more than the fancy limelighting invention of ‘new’ bio-inspired algorithms. I am very proud of him, he’s done some very good work.'
Three anonymous reviewers agreed. Wouter’s thesis was published at ECTA2019 in Vienna.