Simulating Ant Foraging
I’ve recently been building some tools in Python and getting experience with PyGame as a means to visualizing moving objects. You may have seen my post on a 2D platform game with my dog Bruce or 2D circular collision detection. The motivation for working on these fun but somewhat trivial projects is that they enable the framework for research into a more interesting application: how ants solve problems by performing a type of distributed computing.
A very interesting article that makes similar connections can be found on Nautilus. The idea is that ants aren’t very smart individually, but when many of them interact together the colony can solve problems the individual cannot. This is indicative of a more general phenomena in complex systems–how a bunch of relatively simple things can interact without a central conductor to do more complex things. For instance: the human brain; a school of fish; human civilization; the immune system; cells. Understanding so-called “emergence” will be key to building true artificial intelligence.
My interest is in applying statistical physics and information theory to understand how information is communicated and processed among individuals to solve this type of problem for the colony. The first step, however, is building a simulation environment that can get virtual ants to wiggle on a screen and tell you when they’ve found food. This relies heavily on the 2D circular collision detection software mentioned above. Currently, there is no interaction between ants so there is no distributed computation taking place, merely blind wandering. This should be the null benchmark to which the quality of other solutions is compared. Stay tuned!