Ant colony optimization
Encyclopedia
|
|
|
|
![]()
Ant colony optimization
The ant colony optimization algorithm (ACO), is a probabilistic technique for solving computational problems which can be reduced to finding good paths through graphs. This algorithm is a member of ant colony algorithms family, in swarm intelligence methods, and it constitutes some metaheuristic optimizations. Initially proposed by Marco Dorigo in 1992 in his PhD thesis [1] [2] , the first algorithm was aiming to search for an optimal path in a graph; based on the behavior of ants seeking a path between their colony and a source of food. The original idea has since diversified to solve a wider class of Numerical problems, and as a result, several problems have emerged, drawing on various aspects of the behavior of ants.
OverviewSummaryIn 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 (see Ant communication). 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. Pheromone evaporation has also the advantage of avoiding the convergence to a locally optimal solution. If there were no evaporation at all, the paths chosen by the first ants would tend to be excessively attractive to the following ones. In that case, the exploration of the solution space would be constrained. Thus, when one ant finds a good (i.e., short) path from the colony to a food source, other ants are more likely to follow that path, and positive feedback eventually leads 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. DetailedThe original idea comes from observing the exploitation of food resources among ants, in which ants? individually limited cognitive abilities have collectively been able to find the shortest path between a food source and the nest.
In a series of experiments on a colony of ants with a choice between two unequal length paths leading to a source of food, biologists have observed that ants tended to use the shortest route. [3] [4] A model explaining this behaviour is as follows:
Ants use the environment as a medium of communication. They exchange information indirectly by depositing pheromones, all detailing the status of their "work". The information exchanged has a local scope, only an ant located where the pheromones were left has a notion of them. This system is called "Stigmergy" and occurs in many social animal societies (it has been studied in the case of the construction of pillars in the nests of termites). The mechanism to solve a problem too complex to be addressed by single ants is a good example of a self-organized system. This system is based on positive feedback (the deposit of pheromone attracts other ants that will strengthen it themselves) and negative (dissipation of the route by evaporation prevents the system from thrashing). Theoretically, if the quantity of pheromone remained the same over time on all edges, no route would be chosen. However, because of feedback, a slight variation on an edge will be amplified and thus allow the choice of an edge. The algorithm will move from an unstable state in which no edge is stronger than another, to a stable state where the route is composed of the strongest edges. ApplicationKnapsack problem. The ants prefer the smaller drop of honey over the more abundant, but less nutritious, sugar. As a very good example, ant colony optimization algorithms have been used to produce near-optimal solutions to the travelling salesman problem. The first ACO algorithm was called the Ant system [5] and it was aimed to solve the travelling salesman problem, in which the goal is to find the shortest round-trip to link a series of cities. The general algorithm is relatively simple and based on a set of ants, each making one of the possible round-trips along the cities. At each stage, the ant chooses to move from one city to another according to some rules:
"An example's Pseudo-code and formulas" procedure ACO_MetaHeuristic
while(not_termination)
generateSolutions()
pheromoneUpdate()
daemonActions()
end while
end procedure
Edge Selection: An ant will move from node i to node j with probability p_{i,j} = \frac { (\tau_{i,j}^{\alpha}) (\eta_{i,j}^{\beta}) } { \sum (\tau_{i,j}^{\alpha}) (\eta_{i,j}^{\beta}) } where \tau_{i,j} is the amount of pheromone on edge i,j \alpha is a parameter to control the influence of \tau_{i,j} \eta_{i,j} is the desirability of edge i,j (a priori knowledge, typically 1/d_{i,j}) \beta is a parameter to control the influence of \eta_{i,j} Pheromone Update \tau_{i,j} = (1-\rho)\tau_{i,j} + \Delta \tau_{i,j} where \tau_{i,j} is the amount of pheromone on a given edge i,j \rho is the rate of pheromone evaporation and \Delta \tau_{i,j} is the amount of pheromone deposited, typically given by \Delta \tau^{k}_{i,j} = \begin{cases} 1/L_k & \mbox{if ant }k\mbox{ travels on edge }i,j \\ 0 & \mbox{otherwise} \end{cases} where L_k is the cost of the kth ant's tour (typically length). Common extensionsHere is some of most popular variations of ACO Algorithms
For some versions of the algorithm, it is possible to prove that it is convergent (ie. it is able to find the global optimum in a finite time). The first evidence of a convergence ant colony algorithm was made in 2000, the graph-based ant system algorithm, and then algorithms for ACS and MMAS. Like most metaheuristics, it is very difficult to estimate the theoretical speed of convergence. In 2004, Zlochin and his colleagues[8] have shown COA type algorithms could be assimilated methods of stochastic gradient descent, on the cross-entropy and Estimation of distribution algorithm. They proposed that these metaheuristics as a "research-based model". Other examplesThe ant colony algorithm was originally used mainly to produce near-optimal solutions to the travelling salesman problem and, more generally, the problems of combinatorial optimization. It is observed that since it began its use has spread to the areas of classification[9] and image processing. A difficulty in definitionWith an ACO algorithm, the shortest path in a graph, between two points A and B, is built from a combination of several paths. It is not easy to give a precise definition of what algorithm is or is not an ant colony, because the definition may vary according to the authors and uses. Broadly speaking, ant colony algorithms are regarded as populated metaheuristics with each solution represented by an ant moving in the search space. Ants mark the best solutions and take account of previous markings to optimize their search. They can be seen as probabilistic multi-agent algorithms using a probability distribution to make the transition between each iteration. In their versions for combinatorial problems, they use an iterative construction of solutions. According to some authors, the thing which distinguishes ACO algorithms from other relatives (such as algorithms to estimate the distribution or particle swarm optimization) is precisely their constructive aspect. In combinatorial problems, it is possible that the best solution eventually be found, even though no ant would prove effective. Thus, in the example of the Travelling salesman problem, it is not necessary that an ant actually travels the shortest route: the shortest route can be built from the strongest segments of the best solutions. However, this definition can be problematic in the case of problems in real variables, where no structure of 'neighbours' exists. The collective behaviour of social insects remains a source of inspiration for researchers. The wide variety of algorithms (for optimization or not) seeking self-organization in biological systems has led to the concept of "swarm intelligence", which is a very general framework in which ant colony algorithms fit.Stigmergy algorithmsThere is in practice a large number of algorithms claiming to be "ant colonies", without always sharing the general framework of optimization by canonical ant colonies (COA). In practice, the use of an exchange of information between ants via the environment (a principle called "Stigmergy") is deemed enough for an algorithm to belong to the class of ant colony algorithms. This principle has led some authors to create the term "value" to organize methods and behavior based on search of food, sorting larvae, division of labour and cooperative transportation. [10]. Related methods
History<timeline> ImageSize = width:210 height:300 PlotArea = width:170 height:280 left:40 bottom:10 DateFormat = yyyy Period = from:1985 till:2005 TimeAxis = orientation:vertical ScaleMajor = unit:year increment:5 start:1985 Colors= id:fond value:white #rgb(0.95,0.95,0.98) id:marque value:rgb(1,0,0) id:marque_fond value:rgb(1,0.9,0.9) BackgroundColors = canvas:fond Define $dx = 7 # décalage du texte ŕ droite de la barre Define $dy = -3 # décalage vertical Define $dy2 = 6 # décalage vertical pour double texte PlotData= bar:Leaders color:marque_fond width:5 mark:(line,marque) align:left fontsize:S from:1989 till:1989 shift:($dx,$dy) text:comportement collectifs from:1991 till:1992 shift:($dx,$dy) text:Ant System (AS) from:1995 till:1995 shift:($dx,$dy) text:continuous problem (CACO) from:1996 till:1996 shift:($dx,$dy) text:Ant Colony System (ACS) from:1996 till:1996 shift:($dx,$dy2) text:MAX-MIN Ant System (MMAS) from:2000 till:2000 shift:($dx,$dy) text:proof to convergence (GBAS) from:2001 till:2001 shift:($dx,$dy) text:multi-objectif</timeline> Chronology of COA Algorithms. Chronology of Ant colony optimization algorithms.
ReferencesSunil Publications (selected)
External linksde:Ameisenalgorithmus es:Algoritmo hormiga fa:??? ?????????? ???? ???????? fr:Algorithme de colonies de fourmis id:Algoritma semut ja:???????? pl:Algorytm mrówkowy ru:?????????? ???????? su:Algoritma sireum uk:????????? ???????? zh:????
Source: Wikipedia | The above article is available under the GNU FDL. | Edit this article
|
|
top
©2008-2009 TutorGig.com. All Rights Reserved. Privacy Statement