Week 8: Ant Colony Optimization Flashcards
<p></p>
<p>What is a "swarm"?</p>
<p></p>
<p>A group of agents which communicate with each other by acting on their local environment. Their interactions result in a distributive collective problem-solving strategy</p>
<p></p>
<p>Interaction between agents in a swarm results in a distributive collective problem-solving strategy. This complex behaviour is not a property of any \_\_\_\_\_\_ \_\_\_\_\_\_ in the swarm, but emerges from their \_\_\_\_\_\_\_</p>
<p></p>
<p>single agent
<br></br>interactions</p>
<p></p>
<p>For swarms, interaction in biological systems happens in 2 ways. What are they?</p>
<p></p>
<p>1. Direct: physical contact, or by visual, audio, or chemical perception
<br></br>
<br></br>2. Indirect: local change in the environment, known as "Stigmergy"</p>
<p></p>
<p>Insects react to signals that activate a \_\_\_\_\_\_\_ \_\_\_\_\_\_\_ reaction. The effect of these reactions serve as signals to the \_\_\_\_\_\_ insect, or \_\_\_\_\_ insects</p>
<p></p>
<p>genetically encoded
<br></br>sender
<br></br>other</p>
<p></p>
<p>What is computational swarm intelligence?</p>
<p></p>
<p>Building computational models to solve complex problems based on models of behaviours in biological swarms</p>
<p></p>
<p>What are some design issues with computational swarm intelligence</p>
<p></p>
<p>- Modeling the agent (or individual)
<br></br>- The interaction process
<br></br>- Adaptation and Cooperation</p>
<p></p>
<p>What are two examples of computational swarm intelligence models?</p>
<p></p>
<p>1. Ant Colony Optimization (ACO)
<br></br>
<br></br>2. Particle Swarm Optimization (PSO)</p>
<p></p>
<p>What does Ant Colony Optimization (ACO) model?</p>
<p></p>
<p>Simple behaviour of pheromone trail following at ants</p>
<p></p>
<p>Particle Swarm Optimization models 2 simple behaviours. What are they?</p>
<p></p>
<p>- Moving towards its best closest neighbour
<br></br>- Moving back to its own best state</p>
<p></p>
<p>In ACO and PSO, the agent/individual is very \_\_\_\_\_\_ and doesn't \_\_\_\_\_\_ at the individual level</p>
<p></p>
<p>simple
<br></br>learn</p>
<p></p>
<p>What is the range of Ant Colony sizes?</p>
<p></p>
<p>as few as 30 ants, and as large as a million ants</p>
<p></p>
<p>Define Stigmergy
<br></br>
<br></br>Note that ACO uses Stigmergy</p>
<p></p>
<p>Stigmergy is a form of self-organization. It produces complex, seemingly intelligent structures, without need for any planning, control, or even direct communication between all the agents.
<br></br>
<br></br>Extra: It supports efficient collaboration between extremely simple agents, who may lack memory or individual awareness of each other</p>
<p></p>
<p>What are the 3 properties of Stigmergy?
<br></br>
<br></br>Note that ACO uses Stigmergy</p>
<p></p>
<p>1. Indirect modification of the environment
<br></br>
<br></br>2. Environmental modification serves as external memory
<br></br>
<br></br>3. Work can be continued by any individual</p>
<p></p>
<p>Ants walking to or from a food source deposit a chemical substance on its way. What is this substance?</p>
<p></p>
<p>Pheromone. Ants deposit pheromone when walking to or from a food</p>
<p></p>
<p>Whenever an ants deposit pheromone, how do other ants use it?
<br></br>What influence will it have on other ants?
<br></br>What path will ants tend to follow?</p>
<p></p>
<p>- Other ants can smell pheromone
<br></br>
<br></br>- In the presence of pheromone, it will influence the ants' choice of their path
<br></br>
<br></br>- Ants tend to follow the path with the stronger pheromone trail</p>
<p></p>
<p>How are pheromone trails formed?
<br></br>What is the purpose of them?</p>
<p></p>
<p>- Pheromone trails are formed by the pheromone deposited on the ground by the ants
<br></br>
<br></br>- Pheromone trails help the ants to reach good food sources that have been previously identified by other ants</p>
<p></p>
<p>What was the conclusion drawn from the binary bridge experiment with ACOs?
<br></br>
<br></br>The binary bridge experiment involves two bridges which have equal lengths and lead to a food source</p>
<p></p>
<p>- Initially the ants randomly chose a bridge to follow
<br></br>
<br></br>- After a while, the ants tended to follow the bridge with a stronger pheromone trail
<br></br>
<br></br>- The selection of one bridge is due to random fluctuations causing it to have higher pheromone concentration</p>
<p></p>
<p>What was the conclusion drawn from the non-equal bridge experiment with ACOs?
<br></br>
<br></br>The non-equal bridge experiment involves two bridges in which one bridge is shorter than the other. They both lead to a food source</p>
<p></p>
<p>- Ants following the shorter bridge will be the first to reach the food source
<br></br>
<br></br>- Ants following the shorter bridge were the first to reach the nest, since they took the same path home
<br></br>
<br></br>- All the ants eventually converged to the shorter path due to the pheromone depositing mechanism</p>
<p></p>
<p>In ACO, what does the pheromone trail act as?
<br></br>
<br></br>Does the pheromone evaporate over time? what effect does this have?</p>
<p></p>
<p>- The Pheromone trail acts as collective memory for the ants to communicate by sensing and recording their foraging experience
<br></br>
<br></br>- Pheromone evaporates overtime which affects the environment</p>
<p></p>
<p>Suppose we have an ACO, the environment has two paths of different lengths
<br></br>
<br></br>What are the initial pheromone values assigned to the paths?</p>
<p></p>
<p>The pheromone values for each path will be equal to each other, and greater than zero.
<br></br>
<br></br>т_1 = т_2 = c > 0</p>
<p></p>
<p>Suppose we have an ACO, the environment has two paths of different lengths
<br></br>
<br></br>What are the probabilities for the ants to traverse the first path and the second path?</p>
<p></p>
<p>Ants will traverse the first path:
<br></br>p1 = т_1/(т_1 + т_2)
<br></br>
<br></br>Ants will traverse the second path:
<br></br>p2 = 1-p1</p>
<p></p>
<p>In ACO, usually an evaporation phase is applied in which pheromone is updated.
<br></br>
<br></br>What is the reason for this?</p>
<p></p>
<p>- To simulate the evaporation of real pheromone
<br></br>- To avoid quick convergence to sub-optimal paths</p>
<p></p>
<p>In AS ACO, usually an evaporation phase is applied in which pheromone is updated.
<br></br><br></br>What is the formula for this?</p>
<p></p>
<p>т_i = (1 - ρ)*т_i
<br></br>
<br></br>ρ ∈ (0,1)
<br></br>
<br></br>ρ specifies the rate of evaporation</p>
<p></p>
<p>With each update, each ant leaves more \_\_\_\_\_\_\_ on its \_\_\_\_\_\_\_ path</p>
pheromone
<br></br>traversed
In real ant colonies, what does the following 5 concepts correspond to for artificial ant colonies?
1. Ant and Pheromone
2. Food
3. Continuous ant movements
4. Pheromone updating while moving
5. Solution paths being evaluated implicitly
For artificial ant colonies:
1. Ant = Agent, Pheromone = Value
2. Solution
3. Discrete movement of ants
4. Pheromone updates after traversal
5. Explicit function to evaluate solutions
For the ACO algorithm, describe the problem space environment as a graph.
What is the simple ant algorithm used for?
There is a graph G=(N,E)
N - the set of nodes (vertices)
E - the set of arcs (edges)
Each arc (i,j) is associated with a value d_ij denoting the distance between nodes i and j
There is a source node (where all the ants start at) and a goal node (food source)
A simple ant algorithm is used to find the shortest path between two given nodes in the graph
In the ACO algorithm graph, each arc (edge) is associated with a value.
What does value denote? and what is it initialized to?
Upon initialization, what is placed at the source node (nest)?
- Each arc (i,j) is associated with a value т_ij called the "artificial pheromone"
- At the beginning, all arcs are given the same pheromone value
- There are "m" ants placed at the source node
In ACO, at each node "i", the ant has a choice to move to any of the "j" nodes connecting to it.
For an ant on node "i", each node "j" has a probability of being selected equal to pij. What is pij?
What does α and ß mean in the expression for pij?
if "j" is not connected to"i", then pij will be 0.
α and ß are used to balance the local vs global search ability of the ant

What are α and ß used in the ACO probability equation?
In ACO, an alternative to the "online step-by-step" pheromone update approach is to use the "online delayed" pheromone update approach - sometimes referred to as the "ant cycle model"
Describe the "online delayed" pheromone update approach. How does it compare to other approaches? It has a special name, what is it?
What are the termination conditions for ACO?
- Max number of iterations reached
- Acceptable solution is reached
- All ants (or most of them) follow the same path, ie. stagnation
Describe the high level step-by-step algorithm of the ACO metaheuristic
What are the 4 parameters in ACO? Describe each one
1. Number of ants. More ants means more computations, but also means more exploration
2. Max number of iterations. Has to be enough to allow convergence
3. Initial Pheromone. Can be constant, random, maximum value, or a small value
4. Pheromone decay parameter ρ
What are the 7 components in an ACO algorithm?
What is the main difference between ACO Algorithm and the Ant System Algorithm?
- Uses the same basic steps outlined in ACO
- The "online delayed" pheromone update is adoped usin all the solutions of the current iteration, that is:
Δτij = Q/Lk for the kth path
τij = τij + Q/Lk
What is the main differences between Ant Colony System (ACS) algorithm and Ant System (AS) Algorithm?
What are the 7 parameters used in the Ant Colony System (ACS) algorithm?
τij - Pheromone trail combination of (i,j)
nij - Local Heuristic combination of (i,j)
pij - Transition probability of combination (i,j)
α - Relative importance of pheromone trail
ß - Relative importance of local heuristic
q0 - Relative importance of exploitation vs exploration
ρ - Trail persistence (Pheromone decay factor)
In Ant Colony System (ACS) algorithm, how does each ant select the next node "j"?
1. Generate a random number q between 0 and 1
2. If q < q0, then j = maximum of all neighbours τij * nijß
3. Else, generate probabilities for each neighbour using pij
* Note: this creates bias for choices of better quality, in which q0 controls the bias *
Note that n_ij = 1/cost_ij

ACS uses offline pheromone update. How does this work?
Only the globally best ant (i.e., the ant which constructed the shortest tour from the beginning of the trial) is allowed to deposit pheromone.
In the Ant Colony System (ACS) algorithm, the original ant system was modified in three aspects. What are they?
- The edge selection is biased towards exploitation (i.e. favoring the probability of selecting the shortest edges with a large amount of pheromone);
- While building a solution, ants change the pheromone level of the edges they are selecting by applying a local pheromone updating rule;
- At the end of each iteration, only the best ant is allowed to update the trails by applying a modified global pheromone updating rule
In ACS (ant colony system) algorithm, how is the pheromone updated?
What are the equation for this?
When selecting the best, is it iteration best, global best, or both?
Recall that it uses an elitist approach
Firstly pheromones are updated based on the either the iteration best or the global best:
τ_ij = (1 - ρ_1) * τ_ij + ρ_1 * Δτ_ij_best
Next, an online step-by-step update is performed after the global update of τ_ij. We ensure that no pheromone falls below τ_0:
τ_ij = (1 - ρ_2) * τ_ij + ρ_2*τ_0
In the Max-Min Ant System (MMAS) Algorithm, how is the update done? Equation?
The update is done using:
- The best solution (best ant) in the current iteration or best solution overall
- The decay in the update of the pheromone
τ_ij = (1 - ρ_1) * τ_ij + ρ_1 * Δτ_ij_best
In the Max-Min Ant System (MMAS) Algorithm, the values of the pheromone are restricted between τ_min and τ_max.
What is the purpose of this?
How are these values chosen?
What effect does this have on performance (compared to AS)?
- τ_min and τ_max allow for high exploration in the beginning and more intensification later
- τ_min and τ_max are chosen experimentally, although they could be calculated analytically if the optimal solution is known
- Performance is significantly better than AS
What are 3 applications of ACO?
1. Traveling Salesman Problem (TSP)
2. Assembly Line Balancing (ALB)
3. Cell Assignment in PCS networks (CA)
What happens in the "Construct Ant Solutions" step in ACO algorithm?
For each ant:
- A new node is selected chosen according to the selection probability formula
- (sometimes) This node's added to the ant's tabu list, so that it doesn't get re-selected
What happens in the "Apply Local Search" step in ACO algorithm? What are these actions referred to as?
One of the following is typically used:
- Apply local search method in order to improve the constructed solution
- Add extra pheromone (known as delayed update) based on the collection of some global information
These actions are referred to as daemon actions
What happens in the "Update Pheromones" step in ACO algorithm?
- Apply pheromone evaporation
- Update the pheromone trails using a chosen set of good solutions
In ACO, when Pheromones are updated, what are recommended approaches for updating pheromones based on good solutions?
- All the solutions found in the current iteration
- The best solution found in the current iteration
- The best solution found so far
What effect does adjusting α or β have on the ACO algorithm?
When α is increased, the importance of the pheromone values is increased
When β is increased, the importance of the distance is increased
What happens after an ant completes a search from source node to goal node in ACO? (assume online delayed)
- Pheromone trails get evaporated
- The ant that found a solution will enforce a pheromone value Q/L on all the edges (L is the length of the path)
In ACS algorithm, we can perform the algorithm without pheromone, or without heuristics
What effect does this have on the algorithm?
Why is one better than the other?
What about ACS with both?
- ACS without heuristics performs better than ACS without pheromone
- ACS with Pheromone and no Heuristics is still guided. by the global update rule (which reflects the importance of the solution)
- ACS without pheromone reduces to a stochastic multi-greedy algorithm
- ACS with Pheromone AND Heuristics is better. Confirms the role of cooperation
For TSP, does ACS outperform GA, or SA?
Yes, ACS outperforms Genetic Algorithm and Simulated Annealing for Traveling Salesman Problem
Which parameter integrates heuristics in ACO?
A given node can have a property of
nj
Which determines the "goodness" of that node according to the heuristic
How does the transition probability in ACS change with and without heuristics?
