150 likes | 344 Views
Ants-based Routing. Marc Heissenb ü ttel University of Berne http://www.iam.unibe.ch/. Berne, 2002-04-03. Table of Contents. Introduction Meta-heuristic Ant Based Control (ABC) AntNet Ants-based Routing in Mobile Ad Hoc Networks Conclusion and Open Issues. Introduction.
E N D
Ants-based Routing Marc Heissenbüttel University of Berne http://www.iam.unibe.ch/ Berne, 2002-04-03
Table of Contents • Introduction • Meta-heuristic • Ant Based Control (ABC) • AntNet • Ants-based Routing in Mobile Ad Hoc Networks • Conclusion and Open Issues
Introduction • Nature as a model for computer scientists • Social insects • simple behavior by limited individuals • but together can solve complex tasks • “Finding shortest path” applied to “Traveling Salesman Problem”, routing in networks,... • Stigmergy ~ “Communication through the environment” • Characterized by • modification of physical environment • local nature of released information • Lay down trail of pheromones, follow trail with certain probability
Ants finding the shortest Path Food Source Nest ?
Artificial Ants • Adapt the ants foraging behavior to artificial multi-agent system • choosing appropriate state variables • only local access to these variables for artificial ants • Similarities • population of concurrent and asynchronous entities • real ants deposit pheromone, artificial ants change numeric information • stochastic decision policy • Differences • internal state • amount of pheromone is a function of the quality of the solution • timing in pheromone laying • extra capabilities (e.g. look ahead, local optimization)
“Foraging ant” meta-heuristic • 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()
2 1 3 4 Ant-Based Control (ABC) I • Pheromone tables • each table has an entry for every destination and neighbour • Pheromone laying ~ “updating routing table” • updating row for Dest. s when arriving from source node s over i in j • ants are launched from any node to any other node (random) • cost-symmetrical links required
Ant-Based Control (ABC) II • Find short routes, but avoid heavily congested nodes • delay ants at congested nodes • make pheromone increase dependent of ant’s age • Calls operate independently of ants • deterministic (always neighbour with highest probability is chosen) • Noise • to overcome blocking and shortcut problem • Noise factor f • ant choosing path purely random with prob. f • with prob. (1-f) choosing path according to pheromone tables
AntNet I Node 3 • Packet-switched network routing • cost-asymmetrical links • Three kind of packets • forward ant • backward ant • data • Two data structures at node k • routing table Tk • array as model of traffic distribution Node 2 A Node 1 Dest.
AntNet II (Algorithm) • forward ant Fs->d launched with d according to traffic patterns • forward ant keeps track of path and traffic conditions • cycle detection possible • selection of next hop as function of Tk and queues of the links ln • system more reactive • At destination d, forward ant Fs->d generates backward ant Bd->s and transfers all its memory to it • Backward ant same path in reverse direction • not in same link queues as data packets and forward ants • Updating the two data structures Tk and Mk for destination d • At source s, backward ant dies
AntNet III (Differences to ABC) • Real trip times • Additional data structure • Pheromone is deposited delayed • backward ant • cost-asymmetrical links • Use of local heuristics • Data packets are routed probabilistic • multipath routing
Ants-based Routing in Mobile Ad Hoc Networks • Not possible to save all nodes in routing table • node K only maintains entries for areas Ai,j and neighboring nodes Nk • Areas of different size • One pheromone trail per area • Evaporation is a function of node’s velocity • Ants are sent to random coordinates within area A2,1 A1,1 A1,8 A2,2 A1,2 N1 K N2 N4 N3 ... A2,3 ...
Ants-based Routing in Mobile Ad Hoc Networks • Link costs asymmetrical, no backward ant possible • Link costs transferred from neighbouring nodes by data packets moving in opposite direction • Not possible to use pheromone trails for ants (only data packets) • Traffic as a approximation for pheromone trails S D
Ants-based Routing in Mobile Ad Hoc Networks • Node only needs knowledge of its position and the destination • Ants keep track of intermediate nodes coordinates • recursively merge coordinates • Updating not only node at destination, but also others • Evaporation, Size of the Cell, ... as a function of the velocity • Associativity as link cost factor
Outperformed a lot of today’s used algorithms in a variety of problems High level of redundancy and fault tolerance Multipath routing Well suited for dynamic, decent-ralized problems Little routing overhead ... Deals efficiently with topology changes? Scalability in terms of # of nodes and geographical coverage area? Battery utilization -> sleep mode Asymmetrical links Combination with existing schemes proactive, reactive ... Summary and Open Issues Summary Open Issues