Swarm Intelligence Part 1 Ants Algorithm Swarm Intelligence
- Slides: 52
Swarm Intelligence Part 1 Ants Algorithm
Swarm Intelligence “any attempt to design algorithms or distributed problemsolving devices inspired by the collective behavior of social insect colonies and other animal societies” [Bonabeau, Dorigo, Theraulaz: Swarm Intelligence, p. 7]
Ant Colony Optimization • Marco Dorigo is research director of the IRIDIA lab at the Université Libre de Bruxelles • Inspired by the remarkable ability of social insects to solve problems, Dorigo and Stützle introduce new technological design principles for seeking optimized solutions to difficult real-world problems, such as network routing and task scheduling.
The Shortest Path (1) Nest • • • Food Two ants start their random walk They both eventually find the food The one taking the shorter path finds the food first Each ant leaves a trail of pheromones behind Once taken the food the ants follow their pheromone trail towards the nest
The Shortest Path (2) Nest Food • The one taken the shorter path returns first and arrives back to the nest first
The Shortest Path (3) Nest Food • Now a third ants wants to search for food • The ant realizes the trials left behind by its predecessors • Most likely it follows one of the existing trials rather than initiating a new trial • Most likely it follows the trial with the higher density of pheromones
The Shortest Path (4) Nest Food • This results in even denser pheromone trial on the shorter path • In long term this results in most ants using the shortest path
Star. Logo • • • http: //education. mit. edu/starlogo/ Star. Logo is a programmable modeling environment for exploring the behaviors of decentralized systems, such as ant colonies. In decentralized systems, orderly patterns can arise without centralized control. Increasingly, researchers are choosing decentralized models for the organizations and technologies that they construct in the world, and for theories that they construct about the world. Star. Logo visualizes the behavior of the decentralized system
Star. Logo • • Star. Logo consists of graphic turtles and an environment The behavior of the turtles can be programmed All turtles run the same program in parallel A turtle can represent almost any type of object: an ant in a colony, a car in a traffic jam, an antibody in an immune system, a molecule in a gas Also the effect of the environment on turtles can be programmed You can write programs for thousands of "patches" that make up the turtles' environment. Turtles and patches can interact with one another Turtles can be programmed to "sniff" around the environment, and change their behaviors based on what they sense in the patches
Modeling the Ants Behavior DEMO Don’t go away We will continue after the demo
Part 2 Ants in Networks
History • ABC routing (Schoonderwoerd et al. , 96) • Regular and Uniform ant routing (Subramanian et al. , 97) • Antnet (Dorigo et al. , 98) • Antnet++ (Dorigo et al. , 02) • Improved Antnet (Boyan et al. , 02) • Modified Antnet (Tekiner et al. , 04) • Antnet with evaporation (Tekiner et al. , 04) • Ants algorithm with Qo. S (Carrillo et al. , 04)
What Are Ants • Ants are emulated by mobile agents • Mobile agents are carried by packets • Especial packets can be used as mobile agents (ants) initialize_ant () while (current_state target_state) A = read_local_pheromone-table() P = compute_transition_probabilities (A, M, problem_constraints) next_state = apply_ant_decision_policy (P, problem_constraints) move_to_next_state (next_state) if (step-by-step_pheromone_update) update_pheromone_table() // deposit pheromone on visited arc update_ant_memory() if (delayed_pheromone_update) evaluate_solution() update_pheromone_tables() // deposit pheromone on ALL visited arcs die()
What About Pheromones? • Pheromones pass the information about the length of the path (time) to other ants – The agents can pass the same information to data packets at the nodes • Ants decide based on the density of the pheromones and some probability values – The probability values can be calculated based on the path information and listed in routing tables in the nodes
Ant. Net • First application of ants algorithm for routing in (datagram) packet networks • Ants are sent between source-destination pairs to create a test and feedback signal system • Ants discover and maintain routes – Inter-node trip times are used to adjust next-hop probabilities • Packets are forwarded based on next-hop probabilities
Routing Table • Start with a static routing table for each node. • Each routing table stores the probabilities of using the next hops to reach all possible destinations – Sum of probabilities at each row equals one Ports (Neighboring Nodes) Destinations
Routing Table Updates • To create a dynamic routing table, create “ants” as agents that will go back and forth to random destinations. • These ants will then update the probabilities in the routing table. • Packets will be transferred to paths based on the probabilities listed in the routing table
The Agents • Two types of agents (ants): – Forward Ants (to collect information) – Backward Ants (to update probability table) • Two types of queues: – Low priority queue (data packets and forward ants) – High priority queue (backward ants) Out[ ] Buffer Port 1 FIFO 1 Schedule r FIFO 2 Port 2 FIFO 1 FIFO 2 Schedule r • Forward ants are routed at the same priority as data packets – Forward Ants experience the same congestion and delay as data • Backward ants are routed with higher priority than other packets Port N FIFO 1 FIFO 2 Schedule r
Forward Ants • At regular intervals every node creates a forward ant to randomly selected destinations. – Destinations are selected to match current traffic patterns – Forward ant uses probabilistic routing tables at every intermediate node to choose output port from unvisited list of nodes. • Elapsed time and node identifier is pushed to ant’s stack. • If a cycle is detected , cycle is deleted from ant’s memory. • When a forward ant reaches to its destination It transforms itself to a backward ant
Backward Ants • A backward ant visits the list of the nodes in its stack in a reverse order, • Updates corresponding entries in the routing tables and array on its way back to source by using its values stored on its stack.
Example
Statistics • Except for the routing table, each node also keeps a table with records of the mean and variance of the trip time to every destination • At each node, backward ants update the trip time statistics to the destination in addition to the next-hop probability
Routing Table Updates • Reinforcement Factor (Based on the trip time and the statistics) r = f (1 - Wbest/T) + g (mean, var) 0 < r < 1, • Increase the probability of the channel that backward ant comes from P’ = P + r * (1 - P) = P * (1 – r) + r • Decrease the probability of the other channels P’ = P * (1 - r)
Data Packets • Data packets are routed using the next-hop probabilities • The packets are distributed over the paths proportional to their probabilities • A probability threshold level can be used to avoid selection of not-so-good paths • Achieve some degree of load balancing over all existing good paths
Performance • Ant. Net reports better performance in terms of: – – Delay Throughput Robustness Reaction to changes • Traffic overhead is higher than OSPF
Variations • Different varieties of the antnet routing algorithm will be resulted depending on the: – Forward ant routing mechanism – Routing table update mechanism – Packet forwarding criterion
Router Architecture Forward_ANT Data Packet Lookup and forwarding Out[ ] Buffer Port 1 FIFO 2 Port 2 FIFO 1 FIFO 2 Backward_ANT Updating Schedule r Port N FIFO 1 FIFO 2 Schedule r
Evaporation • Link usage statistics are used to evaporate the pheromone laid by the ants. • It is the proportion of number of forward ants destined to the node x over the total ants received by the current node in the given time window. • By evaporating the links probabilities in a predefined rate, average delay experienced per packet is reduced “Improved antnet routing algorithm with link probability evaporation” F. Tekiner, F. Z. Gassemlooy, and S. Al-Khayatt
Congestion • • Agents are delayed if congestion occurs Has the same effect of a longer path Pheromones evaporate more Less pheromone if agent is delayed more
Quality of Service • M-Class ants are used for M-class type of services • Probabilities in the routing table represent the probability that packets can reach the required level of Qo. S • The probabilities are updated based on the delay statistics per Qo. S class and the available bandwidth • Considering other Qo. S parameters, such as availability etc. , can be studied “A Quality of Service Routing Scheme for Packet Switched Networks based on Ant Colony Behavior ” Liliana Carrillo and J. L. Marzo
Security Issues • Threats – Untrustworthy hosts • Forward data/ant packets to a wrong direction • Delay data packets • Generate bursts of ant packets – Malicious Agents • Carry false trip time information • Attack Goals – Increase the packet latency • Mislead packets to a longer path – Break down a critical node • Mislead packets to a certain node to overload it – Drop Data Packets • Mislead packets to a malicious node “Security Issues in Ant Routing” Weilin Zhong
Conclusion • Application of swarm intelligence in network routing problems • Inspired by the stigmergy model in ant colonies • Using mobile multi-agent systems • A distributed adaptive routing algorithm • Autonomous
THE END
- Biowulf swarm
- Swarm theory reading answers
- Swarm programming
- Swarm prevention split
- Newsflash swarm
- Biowulf swarm
- Datacore swarm
- Ants punning
- Gab rules
- Ants tammepuu
- Lessons learned from ants
- Ants kaljurand
- Navigation cues
- Two bad ants lesson plan
- Ants torim
- Enesekontrolli tuleohutusaruanne
- The symbiotic relationship between 53
- Why do ants live underground
- Compare and contrast the ant and the grasshopper
- Ants at the olympics poem questions and answers
- How much do ants weigh
- Ants philosophy
- Lubo ants
- Leafcutter ants
- Exploding ants video
- Ants life cycle
- Ants
- Alex wild ants
- Ants anatomy
- Ants
- The ant philosophy
- Arthur chu ants
- Ants remm
- A* and ao* algorithm
- Sweep line algorithm
- Waltz algorithm in artificial intelligence
- Part part whole addition
- Unit ratio definition
- Brainpop ratios
- What is a technical description
- Parts
- The part of a shadow surrounding the darkest part
- Part to part variation
- Worklist algorithm
- Consecutive integer checking algorithm for gcd
- Consecutive integer checking algorithm for gcd
- Algorithm math multiplication
- Traversal algorithm in distributed system
- Delaunay triangulation divide and conquer algorithm
- Forward-backward algorithm example
- Viterbi algorithm
- Attc coin
- Prim's algorithm visualization