Your SlideShare is downloading. ×
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply



Published on

又鸟)也值十几块钱,还在生蛋着呢,倘若香港六合彩没吃掉蛋蛋的母亲,一天让香港六合彩生两个蛋,生到现在那简直就是天文数字,这礼应该不算轻啊!要么,香港六合彩就是虽为班主任,实际上在学校连个鸟都算不上,讲话没分量,调个人当然就心有余而力不足了. …


  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Natural Computation CO637 Swarm Intelligence III: Ant Colony Optimisation applications Comparing PSO and ACO Alex Freitas
  • 2. Recap - basic ideas of Ant Colony Optimisation (ACO) algorithms
    • Each path followed by an ant represents a candidate solution to the target problem
      • An ant constructs its path (candidate solution) incrementally, typically by adding one component at a time to the solution
    • The amount of pheromone that an ant deposits on its path is proportional to the quality of the corresponding candidate solution
    • When an ant has to choose between alternative paths, the larger the amount of pheromone on a path, the larger the probability of the ant choosing that path
  • 3. Recap - main elements in the design of an ACO algorithm
    • An appropriate representation of the problem
      • components that an ant will use to incrementally construct a solution
    • A problem-dependent heuristic function (  ) that measures the quality of each component that can be added to a solution
    • A rule for updating the amount of pheromone (  ) associated with each component in a path followed by an ant
      • Pheromone increases in proportion to quality of the path (solution)
    • A probabilistic transition rule: the probability of choosing a component i is proportional to the product  i   i
     1   1  2   2 1 2 ? component 1 component 2
  • 4. Applying Ant Colony Optimisation (ACO) to Data Network Routing: AntNet
    • In a data network each data packet can follow a different route
      • E.g., the Internet
    • Problem: to find the fastest (minimum cost) path between two nodes, using routing tables at each node of the network
    • This is a difficult problem because:
      • Traffic load varies (potentially a lot) with time, in unpredictable ways
      • Network topology also varies with time (e.g. links break down)
      • The problem involves distributed processing – no central coordinator
    • All these characteristics suggest that ant colony algorithms are a suitable type of algorithm for this problem
  • 5. AntNet’s main data structure A pheromone matrix T associated with each node i of the network Each element  ijd of T indicates the desirability for an ant in node i and with destination node d to move to node j  i,1,1 . . .  i,1,n  i,N(i),1 . . .  i,N(i),n destination nodes . . . . . . . . . Neighbour nodes Structure of transition matrix at node i : N(i) is the number of neighbours of node i n is the total number of nodes in the network
  • 6. The AntNet Algorithm for Data Network Routing (1)
    • At regular intervals, artificial ants are launched from network nodes towards destination nodes
    • Two kinds of ants, forward and backward ants:
    • Forward ant searches for fastest path from its source to its destination node
      • A forward ant shares the same queues as data packets, collecting information about the time taken to travel to each node visited in its path
      • At each node i , each ant having destination d selects the node j to move to with probability P ijd proportional to:  ijd +  ij , where:
        •  ijd = pheromone (capture current and past status of the network)
        •  ij = instantaneous state of the queue in the link from node i to node j
        • N(i)
        •  ij = 1 – q ij / (  q ik ) , q ij = number of bits waiting to be sent from i to j
        • k=1
        •  = parameter specifying the weight of heuristic  w.r.t. pheromone 
  • 7. The AntNet Algorithm for Data Network Routing (2)
    • Once it reaches its destination, a forward ant is transformed into a backward ant , which goes back to the source along the same path (but in the opposite direction)
      • When moving backwards, the information stored in the ant (collected in the forward phase) is used to update the pheromone matrix, as a function of the goodness of the path that they followed in the forward phase
      • A backward ant does not share the same link queues as data packets; it uses higher-priority queues, to speed up the updating of pheromone matrix
      • 1 2 3
      • 4 5 6
      • At each node i in the forward ant’s path before d , pheromone  ijd (suggesting to choose neighbour j when destination is d ) is incremented by an amount inversely proportional to the forward ant’s trip time from i to d
    E.g., forward ant 1  6, backward ant 6  1
  • 8. The AntNet Algorithm for Data Network Routing (3)
    • AntNet has been extensively evaluated in experiments/ simulations with models of real networks, e.g.:
      • National Science Foundation network (USA), NSFnet
      • Japanese NTT company backbone, NTTnet
    • AntNet was compared with the best-known routing algorithms
    • Overall the performance of AntNet was very competitive with the performance of those routing algorithms
    • See sections 6.3 and 6.4 of the ACO book by Dorigo & Stutzle for details
  • 9. An application of ACO in automated customer support (1)
    • An approach to provide customer support on the web consists of a set of FAQs (Frequently Asked Questions), with the corresponding answer
    • Manual maintenance of FAQs is expensive and slow in many large-scale applications
    • Alternative: providing a dynamic database of FAQs, using some intelligent method to automatically update the FAQs and their relationships
    • We will study a system – called RightNow Web– that does that in a way loosely inspired by ant colony principles
  • 10. An Application of ACO in automated customer support (2)
    • Human visitors to the site are the ant colony members
    • Assumptions about the behaviour of human visitors:
      • Each user is accessing the web site to find an answer to a specific question in a FAQ – each FAQ will also be referred to as an Answer
      • Each user follows a directed (rather than random) approach to find Answers: i.e. each user chooses at each step the FAQ/Answer which seems to be the best Answer to her/his question
    • Basic idea: to increment the usefulness score for an Answer visited by a user, loosely analogous to dropping more pheromone in a part of a path in ant colony
  • 11. An Application of ACO in automated customer support (3)
    • Knowledge base initially contains a set of FAQs, or Answers, for the most predictable questions of users
    • Users view a table of Answers, for instance:
    • Subject Score
    • requirements for retirement 1,801
    • calculating your pension 1,769
    • pension for your dependents 1,752
    • . . .
    • List of Answers is kept in decreasing order of score, and it is dynamically updated
      • The FAQs (Answers) are continuously changing
      • Users’ interest change with time
  • 12. An Application of ACO in automated customer support (4)
    • “ Score” is proportional to the usefulness of the Answer to the user and to the the number of user queries solved by an Answer
    • Explicit and Implicit methods to compute an answer’s score:
    • Explicit: users rates the usefulness of an answer, after reading it
      • More reliable than implicit rating, but…
      • Less than 10% of users bother to rate answers
    • Implicit: based on users’ navigation through the “network” of answers – the more users read an Answer, the more its score is increased
      • Less reliable than explicit rating, has a smaller weight, but…
      • Guaranteed participation of every user, without bothering the user
  • 13. An Application of ACO in automated customer support (5)
    • Clicking on an Answer, the user can move to a related answer:
    • Subject: calculating your pension
    • Answer: for each year of service you get 1% of your final salary as your pension, up to the limit of 40% of your final salary
    • Related Answers: pension for your dependents
    • requirements for retirement
    • As users click on related Answers, they navigate through the “network” of FAQs (Answers) – users act as “ants” in an ACO
    • A 1 A 4
    • A 3
    • A 2
    Human users are “foraging” for best answer Move from answer A 1 to answer A 2 : increasing “pheromone” (score) in the link
  • 14. An Application of ACO in automated customer support (6)
    • According to a paper describing the RightNow Web system:
      • its users experienced between 10% and 99.5% reduction in customer support load
      • In some notable cases customers reported an estimated savings of more than $1.2 million per month due to reduced phone support volume
  • 15. Summary about ACO applications
    • We studied 3 types of applications of Ant Colony algorithms:
    • Travelling Salesman Problem – original and most well-known application of ACO
    • Data network routing: ants explore the network to find less overloaded routes; shorter routes  more pheromone
    • Automated customer support: human visitors to a website are considered the “ants”; more visited FAQs  more pheromone
    • In all these applications, the ants act in a completely distributed manner (no central coordinator), and the dynamic nature of the environment is clear in the data network routing and automated customer support applications
  • 16. Comparing PSO and ACO (1)
    • Both are population-based, stochastic, approximate algorithms – their “global search” hopefully finds a near-optimal solution
    • ACO uses, in addition to its generic adaptation strategy (increasing pheromone for the best solutions), problem-dependent information as a local heuristic; unlike conventional PSO, which uses only its generic adaptation strategy (moving particles towards its best neighbours’ and personal best positions)
    • An ant incrementally constructs a solution; unlike particles in PSO
    • Both are very generic heuristic methods, but in practice:
      • PSO is mainly used in problems with continuous variables, e.g. numerical function optimization
      • ACO is mainly used in problems with discrete or nominal variables, e.g. combinatorial optimization problems
    • Main drawback of ACO for coping with continuous variables: the pheromone matrix is a discrete data structure
      • Usually requires continuous variables to be discretized
  • 17. Comparing PSO and ACO (2)
    • Conventional PSO’s equations for velocity and position updating are based on computing differences between the numerical coordinates of different particles in the search space
    • This approach tends not to be appropriate for some problems (in particular combinatorial optimization ones), where what needs to be optimized is a combination of “nominal” (non-numeric) values
      • E.g., in the case of the data network routing problem, the goal is to find the optimal sequence of nodes n 1 , n 2 , ….
    • A more effective application of PSO to nominal data requires a new approach for updating velocity and position which makes sense for the problem being solved
  • 18. References M. Dorigo and T. Stutzle. Ant Colony Optimization . MIT Press, 2004. N. Monmarche, M. Slimane, G. Venturini. AntClass: discovery of clusters in numeric data by an hybridization of an ant colony with the Kmeans algorithm. Internal Report No. 213 , E3i. Laboratoire d’Informatique. Universite de Tours, France. Jan. 1999. (URL: D. Warner, J.N. Richter, S.D. Durbin and B. Banerjee. Mining user session data to facilitate user interaction with a customer service knowledge base in RightNow Web. Proc. 7th ACM SIGKDD Int. Conf. on Knowledge Discovery and Data Mining (KDD-2000) , pp. 467-472. ACM Press, 2001.