Sunday, March 23, 2014

Artificial Bee Colony

It is another technique taken from nature, albeit not as simple as the others. This one is modeled around the behavior observed in bees while gathering food/honey from flower patches.

For the algorithm to work efficiently, it relies on a balance between exploration and exploitation.
exploration : expanding the search space to look for new food sources.
exploitation : eating the resources gathered till now.

There are two kinds of bees :
   scouts - they explore the area, going in random directions locally in reach of new flower patches.
   foragers - the bees which exploit the food sources.

When a scout finds a new food patch, it dances to attract new bees to that patch. The other unemployed bees see the dance of the scout bees and decide the flower patch they want to visit.

Taking a look at the algorithm extracted from this pattern:

Scout discovers a point whose value according to objective function is pretty high.It defines it as an abstract flower patch, symbolically centered around the point.
forager bees wander locally in the area defined abstractly as a flower patch.If they find a point in the search area whose value according to objective function is higher that the point discovered by the scout initailly, this forager bee becomes a new scout.

If no forager bee finds such a point , then the flower patch is deemed exhausted.