header image
Home arrow Selected Publications arrow Optimization arrow Ant Colony Optimization: Interaction of Simple Elements for Solving Complex Problems
Ant Colony Optimization: Interaction of Simple Elements for Solving Complex Problems

The ant colony optimization algorithm (ACO), introduced by Marco Dorigo in his doctoral thesis in 1992, is a probabilistic technique for solving computational problems which can be reduced to finding good paths through graphs. They are inspired by the behavior of ants in finding paths from the colony to food.


In the real world, ants (initially) wander randomly, and upon finding food return to their colony while laying down pheromone trails. If other ants find such a path, they are likely not to keep travelling at random, but to instead follow the trail, returning and reinforcing it if they eventually find food.

Over time, however, the pheromone trail starts to evaporate, thus reducing its attractive strength. The more time it takes for an ant to travel down the path and back again, the more time the pheromones have to evaporate. A short path, by comparison, gets marched over faster, and thus the pheromone density remains high as it is laid on the path as fast as it can evaporate.

Thus, when one ant finds a good (short, in other words) path from the colony to a food source, other ants are more likely to follow that path, and positive feedback eventually leaves all the ants following a single path. The idea of the ant colony algorithm is to mimic this behavior with "simulated ants" walking around the graph representing the problem to solve.

Ant colony optimization algorithms have been used to produce near-optimal solutions to the travelling salesman problem. They have an advantage over simulated annealing and genetic algorithm approaches when the graph may change dynamically; the ant colony algorithm can be run continuously and adapt to changes in real time. This is of interest in network routing and urban transportation systems.

PDF

Following is the proof for the convergence in value and convergence in solution of ACO algorithms, with the descriptions of limitations needed for this convergence to occur. The work is derived and guided by Dorigo's book Ant Colony Optimization (2004).

PDF

Data Organization in Unstructured Distributed Environments

We are trying to apply this approach to the problem of data organization in unstructured distributed environments, such as Grid or unstructured P2P, in order to organize data by any kind of relation. Such organizaiton would allow to produce not only keyword based queries but also to retrieve any other kind of correlation between data.

The known algorithms in the unstructured peer-to-peer environment use flooding or k-random walkers in order to find some information stored in the network. We believe, that ACO with its reinforcement of pheromone trails could provide a basis for more effective and efficient organization and access of data.

The picture below represents the outcome of applying the ACO approach to data organization. The large pile, containing a lot of correlated data, has numerous long pheromone marked trails pointing to it. The paths are built duiring the aggregation phase, where the ants follow the pheromone trails and also reinforce them. The more data comes into the pile the more the paths are reinforced and also the more paths point to the pile. On the other hand, a small pile, containing only few data, has very short pheromone paths pointing to it. The reason for this comes from the fact, that only few ants used this trails to drop the data in this pile.




Upgrading the Ant Model

Additional work is being done in the upgrading of the ant model. In its basic sense, ants are simple processing units that retrieve the information from the environment, perform an action based on read information and store the result of the action (in the form of the pheromone) back to the environment (such process is called stigmergy). Ant model also predicts (LINK TO THE ACO.PDF) that ants possess some internal values (thresholds) that determine their behaviour and are used in order to adapt to changes in the environments (when the lack of working ants forces the soldiers to take over the jobs done by the working ants).

Therefore, the current ants can be seen as simple processing units reacting to environmental changes, but with a fixed functionality.

Our extended model upgrades the simple ant and gives it a „mind“ composed of states. The ant reacts to the environment according to the state it is in and the environment determines if it can proceede to another state. Having only static „states of mind“ is equivalent to the original ant model.

However, using techniques from reinforcement learning or from classical machine learning, the states are no longer static and the ant „learns“ how to process and react to the environment and how to reinforce the pheromone trails. Such approach may provide level of adaption to the generic ants to solve problems (in terms of efficiency) for which they were not initially designed.

A picture below represents a state of a static „state of mind“ of an ant that aggregates correlated data into piles (used in application for sorting data in a grid environment).


header image