Swarm Intelligence Part 1 Ants Algorithm Swarm Intelligence

  • Slides: 52
Download presentation
Swarm Intelligence Part 1 Ants Algorithm

Swarm Intelligence Part 1 Ants Algorithm

Swarm Intelligence “any attempt to design algorithms or distributed problemsolving devices inspired by the

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

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

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

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

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

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

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

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

Modeling the Ants Behavior DEMO Don’t go away We will continue after the demo

Part 2 Ants in Networks

Part 2 Ants in Networks

History • ABC routing (Schoonderwoerd et al. , 96) • Regular and Uniform ant

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

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

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

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 • 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

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)

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

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

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

Example

Statistics • Except for the routing table, each node also keeps a table with

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)

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

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

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

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

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

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

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 •

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

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

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

THE END