Fruit flies have long been a favorite research subject for biologists, but now they’re unlocking secrets for computer scientists as well. Specifically, researchers used insights into how a fruit fly’s nervous system develops to design a new algorithm that could prove useful for wireless networking, routing, and other network protocols.
When a wireless network gets deployed, it has to be organized to get information to every node in the network efficiently. One way to do this is to assign certain nodes to be leaders responsible for their own smaller areas of the network (called the “maximal independent set”). But assigning these leaders quickly and efficiently, with a minimum of back and forth communication, has been an open problem in distributed computing for a long time.
According to a paper published in Science, current algorithms are designed to know things about how a network is set up—such as how many neighbors each node is connected to. This doesn’t jibe well the flexibility that wireless networks offer.
In the fruit fly, the researchers saw the flexibility and efficiency they wanted for wireless networks expressed in nature. While the fly’s nervous system is developing in the larval and pupal stages, it selects “sensory organ precursors” that play a similar role to the leader nodes in a wireless network. The fly’s nervous system does this, however, without having any information about how cells are connected—or, to follow the analogy, about how the network is built.
The researchers studied this process and came up with an algorithm for distributed computing based on it. They say it runs slightly slower than current solutions, but can be applied more broadly because it can work in more difficult conditions.