41
Multi-swarm Problem Multi-swarm Problem Solving in Networks Solving in Networks Tony White Tony White email: email: [email protected] [email protected]

Multi-swarm Problem Solving in Networks Tony White email: [email protected]

Embed Size (px)

Citation preview

Page 1: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Multi-swarm Problem Multi-swarm Problem Solving in NetworksSolving in Networks

Tony WhiteTony Whiteemail: email: [email protected]@sce.carleton.ca

Page 2: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

OverviewOverview• IntroductionIntroduction

– What is it and why is it interesting?What is it and why is it interesting?

– Problem solving and stigmergy.Problem solving and stigmergy.

• Swarm problem solvingSwarm problem solving– Swarm agent architectureSwarm agent architecture

– Connection-oriented routingConnection-oriented routing

– Simple diagnosisSimple diagnosis

• Extensions and FutureExtensions and Future

Page 3: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

What is Swarm What is Swarm Intelligence?Intelligence?• ““Swarm Intelligence is a property of Swarm Intelligence is a property of

systems of non-intelligent robots systems of non-intelligent robots exhibiting collectively intelligent exhibiting collectively intelligent behavior.” [Beni, 89]behavior.” [Beni, 89]

• Characteristics of a swarm:Characteristics of a swarm:– distributed, no central control or data source;distributed, no central control or data source;

– no (explicit) model of the environment;no (explicit) model of the environment;

– perception of environment, i.e. sensing;perception of environment, i.e. sensing;

– ability to change environment.ability to change environment.

Page 4: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

What is Swarm What is Swarm Intelligence (cont.)?Intelligence (cont.)?• Swarm systems are examples of Swarm systems are examples of

behavior-based systems exhibiting:behavior-based systems exhibiting:

– multiple lower level competencies;multiple lower level competencies;

– situated in environment;situated in environment;

– limited time to act;limited time to act;

– autonomous with no explicit control autonomous with no explicit control provided;provided;

– problem solving is emergent behavior;problem solving is emergent behavior;

– strong emphasis on reaction and adaptation; strong emphasis on reaction and adaptation;

Page 5: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

MotivationsMotivations

• Robust nature of animal problem-solvingRobust nature of animal problem-solving– simple creatures exhibit complex behavior;simple creatures exhibit complex behavior;

– behavior modified by dynamic environment. behavior modified by dynamic environment.

• Emergent behavior observed in:Emergent behavior observed in:– bacteriabacteria

– antsants

– beesbees

– ......

Page 6: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Emergent Problem SolvingEmergent Problem Solving

• For For Lasius NigerLasius Niger ants, [Franks, 89] ants, [Franks, 89] observed:observed:– regulation of 1 degree celcius range;regulation of 1 degree celcius range;

– forming bridges;forming bridges;

– raiding specific areas for food;raiding specific areas for food;

– building and protecting nest;building and protecting nest;

– sorting brood and food items;sorting brood and food items;

– cooperating in carrying large items;cooperating in carrying large items;

– emigration of a colony;emigration of a colony;

– finding shortest route from nest to food source;finding shortest route from nest to food source;

– preferentially exploiting the richest food source available.preferentially exploiting the richest food source available.

Page 7: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

StigmergyStigmergy

• Indirect communication via interaction Indirect communication via interaction with environment [Grassé, 59]with environment [Grassé, 59]– Sematonic [Wilson, 75] stigmergySematonic [Wilson, 75] stigmergy

• action of agent directly related to problem action of agent directly related to problem solving and affects behavior of other agents.solving and affects behavior of other agents.

– Sign-based stigmergySign-based stigmergy• action of agent affects environment not action of agent affects environment not

directly related to problem solving activity. directly related to problem solving activity.

Page 8: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Ant ColonyAnt Colony

• Ants are behaviorally Ants are behaviorally unsophisticated; collectively perform unsophisticated; collectively perform complex tasks. complex tasks.

• Ants have highly developed Ants have highly developed sophisticated sign-based stigmergysophisticated sign-based stigmergy– communicate using pheromones;communicate using pheromones;

– trails are laid that can be followed by trails are laid that can be followed by other ants.other ants.

Page 9: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

• Species lay pheromone trails travelling from Species lay pheromone trails travelling from nest, to nest or possibly in both directions.nest, to nest or possibly in both directions.

• pheromones evaporate.pheromones evaporate.

• pheromones accumulate with multiple ants pheromones accumulate with multiple ants using path.using path.

Pheromone TrailsPheromone Trails

Food sourceNest

Page 10: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Pheromone Trails Pheromone Trails continuedcontinued

D

E

H C

A

B

d=0.5

d=0.5

d=1.0

d=1.0

E

H

E

D

H C

A

B

30 ants

D

C

A

B

30 ants

15

ants

15

ants

15

ants

15

ants

30

ants

10

ants

20

ants

20

ants

10

ants

30

ants

T = 0 T = 1

Page 11: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Swarm operationSwarm operation

• Swarm agents:Swarm agents:– arrive at a node,arrive at a node,

– sense environment,sense environment,

– undertake local activity,undertake local activity,

– modify environment,modify environment,

– use sensory input to make migration use sensory input to make migration decisiondecision

Page 12: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Swarm Agent ArchitectureSwarm Agent Architecture

A=(E,R,C,MDF,m)

• Agents have a uniform architecture Agents have a uniform architecture consisting of five components:consisting of five components:

emitters (emitters (EE),), receptors (receptors (RR),), chemistry (chemistry (CC),), a migration decision function (a migration decision function (MDFMDF),), memory (memory (mm))

Page 13: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Multi-swarm ArchitectureMulti-swarm Architecture

Page 14: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

EmittersEmitters

• Generators of chemical messages Generators of chemical messages ((EE))

Chemical modification

of environment

Page 15: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

ReceptorsReceptors

• Sensors of chemical messages (Sensors of chemical messages (RR) ) from local environmentfrom local environmentDetector for local

environment

Page 16: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

ChemicalsChemicals

• Chemicals are digitally-encoded using Chemicals are digitally-encoded using a {1, 0, #} alphabet.a {1, 0, #} alphabet.

• The # symbol unifies with 1 or 0.The # symbol unifies with 1 or 0.

• Chemicals have two attributes:Chemicals have two attributes:

– encodingencoding

– concentrationconcentration

• Chemicals participate in reactions.Chemicals participate in reactions.

Page 17: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

ChemistryChemistry

• The set of chemical reactions (The set of chemical reactions (CC) ) that can operate on sensed and that can operate on sensed and locally stored chemicals.locally stored chemicals.

Chemical interactions

ZWYX

ZXYX

ZYX

YYX

nothingX

''

Page 18: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Examples of chemical Examples of chemical reactionsreactionsCatalytic breakdown of 011Catalytic breakdown of 011

0#10#1011

ZWTX

ZXTX

ZYT

YYT

TWYX

TXYX

TYX

Endothermic Endothermic reactionsreactions

Exothermic Exothermic reactionsreactions

Page 19: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Migration Decision Migration Decision FunctionFunction• The The MDFMDF is used to determine the next node is used to determine the next node

to visit in the networkto visit in the network

ppijijkk (t) = (t) = pp[T[Tijkpijkp(t) ](t) ]--kpkp[C(i,j)][C(i,j)]-- / / NNkk(i,j,t)(i,j,t)

NNkk(i,j,t) = (i,j,t) = j in A(i)j in A(i) pp[T[Tijkpijkp(t) ](t) ]- - kpkp[C(i,j)][C(i,j)]--

kpkp, , are control parameters are control parameters

NNkk(i,j,t) is a normalization term(i,j,t) is a normalization term

A(i) is the set of available egress linksA(i) is the set of available egress links

Page 20: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Multi-Swarm scenarioMulti-Swarm scenario

• Distributed Network Management Distributed Network Management employing delegation [Yemini, 91]employing delegation [Yemini, 91]

• Three interacting swarms:Three interacting swarms:– connection finding,connection finding,

– connection monitoring,connection monitoring,

– connection fault diagnosisconnection fault diagnosisA

B

C

D

E

Page 21: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Routing ProblemRouting Problem

• IdeaIdea– Ants dropping different pheromones Ants dropping different pheromones

used to compute “shortest” path from used to compute “shortest” path from source to destination(s);source to destination(s);

– more flexible adaptation to failures and more flexible adaptation to failures and network congestion;network congestion;

– use only local knowledge for routing use only local knowledge for routing and avoid costly communication of and avoid costly communication of state to all network nodes. state to all network nodes.

Page 22: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Why Routing?Why Routing?

• Conventional routing often relies on:Conventional routing often relies on:– global state available at all nodes;global state available at all nodes;– centralized control;centralized control;– fixed “shortest path” (Dijkstra) algorithms;fixed “shortest path” (Dijkstra) algorithms;– limited ability to deal with congestion or limited ability to deal with congestion or

failure.failure.

• Ideally, would like to have network Ideally, would like to have network adapt routing patterns to take adapt routing patterns to take advantage of free resources and move advantage of free resources and move existing traffic if possible. existing traffic if possible.

Page 23: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Routing ResearchRouting Research

• Three approaches so far investigated:Three approaches so far investigated:

– [White et al, 96+][White et al, 96+]

– [Schoonderwoerd et al, 97] (*)[Schoonderwoerd et al, 97] (*)

– [Di Caro and Dorigo, 97][Di Caro and Dorigo, 97]

• DifferencesDifferences

– Link cost metric constant in *Link cost metric constant in *

– Point to point traffic only in *Point to point traffic only in *

– AS parameter settings constant in *AS parameter settings constant in *

Page 24: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Routing agentsRouting agents

• Agent types:Agent types:– explorerexplorer

• used for route determinationused for route determination

– allocatorallocator• allocates resources in network when route allocates resources in network when route

emergedemerged

– deallocatordeallocator• deallocates resources in network at end of deallocates resources in network at end of

callcall

Page 25: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Point-2-Point ConnectionsPoint-2-Point Connections

• For explorer agents:For explorer agents:– At each node, they choose path with At each node, they choose path with

probability proportional to f(cprobability proportional to f(cee, p, pee););

– explorers visit edges once only (achieved explorers visit edges once only (achieved through use of tabu list);through use of tabu list);

– when destination reached, ants return along when destination reached, ants return along the path explored laying down pheromone the path explored laying down pheromone trail;trail;

– when explorers return a decision is made when explorers return a decision is made regarding path emergenceregarding path emergence

Page 26: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Path EmergencePath Emergence

• At source node (“nest”):At source node (“nest”):– store paths for previous m explorer agents;store paths for previous m explorer agents;

– when p% follow same path allocator agent is when p% follow same path allocator agent is sent to allocate bandwidth in network;sent to allocate bandwidth in network;

– explorer agents continue to look for new explorer agents continue to look for new (possibly better) paths.(possibly better) paths.

• Applies for one or many pt-2-pt Applies for one or many pt-2-pt connections: connections: – ants use different, non-reacting pheromones.ants use different, non-reacting pheromones.

Page 27: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Explorer agent algorithmExplorer agent algorithm1. Initialize1. Initialize

set t:= 0set t:= 0

For every edge (i,j) set an initial For every edge (i,j) set an initial value Tvalue Tijij(t) for trail intensity. (t) for trail intensity. Place m ants on the source Place m ants on the source node. [Generate new explorers node. [Generate new explorers at freq. eat freq. ef] f] ]]

2. Set s:= 1 { tabu list index)2. Set s:= 1 { tabu list index)for k:= 1 to m dofor k:= 1 to m do Place starting town of the kthPlace starting town of the kth

ant in tabuant in tabukk(s).(s).

3. Repeat until dest’n reached:3. Repeat until dest’n reached:

Set s := s + 1Set s := s + 1for k:=1 to m dofor k:=1 to m do Choose the node j to move toChoose the node j to move to

with probability pwith probability pijijkk (t) (t)

Move the kth ant to node j.Move the kth ant to node j.Update explorer route cost:Update explorer route cost:rrkk = r = rkk + c(i,j) + c(i,j)if (rif (rkk > r > rmaxmax)) kill explorerkill explorerkk

Insert town j in tabuInsert town j in tabukk(s).(s).At destination go to 4.At destination go to 4.

4. While s > 14. While s > 1 traverse edge (i,j)traverse edge (i,j) T(i,j) = T(i,j) + pT(i,j) = T(i,j) + pee s := s - 1s := s - 1

5. At source node do:5. At source node do:if (pathif (pathee = pathBuffer * d) = pathBuffer * d) create and send allocatorcreate and send allocator

if t > Tmax if t > Tmax create and send allocatorcreate and send allocator

Evaporation occurs concurrently with explorationEvaporation occurs concurrently with exploration

Page 28: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Point-2-Multipoint Point-2-Multipoint ConnectionsConnections• For j destinations, consider as j pt-2-For j destinations, consider as j pt-2-

pt connections with:pt connections with:– same pheromone, i.e. all explorers same pheromone, i.e. all explorers

communicate;communicate;

– j allocator agents only allocate j allocator agents only allocate bandwidth once;bandwidth once;

– allocator send decision made when % allocator send decision made when % of all j explorer ants agree on spanning of all j explorer ants agree on spanning tree.tree.

Page 29: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Routing FunctionRouting Function

Transition probability Transition probability (mdf)(mdf)::

ppijijkk (t) = [T (t) = [Tijkijk(t) ](t) ]--[C(i,j)][C(i,j)]-- / / NNkk(i,j,t)(i,j,t)

NNk k (i,j,t) = (i,j,t) = j in (S-Tabu(k))j in (S-Tabu(k)) [T [Tijkijk(t) ](t) ]--[C(i,j)][C(i,j)]--

, , are control parameters that determine the sensitivity are control parameters that determine the sensitivity of the algorithm to link cost and pheromone.of the algorithm to link cost and pheromone.

C(i,j) a C(i,j) a functionfunction that depends upon the that depends upon the type of traffictype of traffic, , the the lengthlength and and utilizationutilization of the link. of the link.

Page 30: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Allocator agentsAllocator agents

• Allocator agents can fail:Allocator agents can fail:

– bandwidth already allocated by time bandwidth already allocated by time allocator is sent;allocator is sent;

– allocator agent backtracks to source rolling allocator agent backtracks to source rolling back resource allocation and decreases back resource allocation and decreases pheromone levels;pheromone levels;

– decision to re-send allocator made at a decision to re-send allocator made at a later time (a backoff period is observed);later time (a backoff period is observed);

– explorer ants continue to search for routes.explorer ants continue to search for routes.

Page 31: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Connection monitoring Connection monitoring agentsagents• Connection’s quality of service Connection’s quality of service

monitored.monitored.

• Changes in QoS cause Connection Changes in QoS cause Connection monitoring agents to be sent into monitoring agents to be sent into network, laying down q-chemical.network, laying down q-chemical.

2

A

B

C

D

•E

Page 32: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Connection diagnosis Connection diagnosis agentsagents• Examples of Examples of netletsnetlets

• SenseSense q-chemicalq-chemical concentrations concentrations

2A

B

C

D

E)()(

)(/)()(

tQtN

tNtQtp

ijj

ijij

Mdf

Page 33: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Experimental Parameters Experimental Parameters (fixed)(fixed)• Number of ants to create = 20Number of ants to create = 20

• Frequency of creation = every 10 cyclesFrequency of creation = every 10 cycles

• Amount of pheromone dropped = 10Amount of pheromone dropped = 10

• pheromone evaporation rate = 0.9pheromone evaporation rate = 0.9

• Sample window size = 50Sample window size = 50

• Emergence criterion = 0.9Emergence criterion = 0.9

Page 34: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Routing ResultsRouting Results

• Shortest paths emerged quicklyShortest paths emerged quickly

• Mixed pt-2-pt, pt-2-mpt routes emergedMixed pt-2-pt, pt-2-mpt routes emerged

• Routing responds to changes in Routing responds to changes in environment:environment:– node failure;node failure;

– link failure;link failure;

– link cost changeslink cost changes

Page 35: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Parameter SensitivityParameter Sensitivity

• Bad solutions and stagnationBad solutions and stagnation– For high values of For high values of the algorithm enters the algorithm enters

stagnation behavior very quickly without stagnation behavior very quickly without finding very good solutions.finding very good solutions.

• Bad solutions and no stagnationBad solutions and no stagnation– too low, insufficient importance too low, insufficient importance

associated with trail.associated with trail.• Good solutionsGood solutions

– , , in the central area (1,1), (1,2), in the central area (1,1), (1,2), (1,5), (0.5, 5) (1,5), (0.5, 5)

Page 36: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Routing Results Routing Results

• Link cost functions: C(i,j)Link cost functions: C(i,j)

Five functions studied

experimentally:• constant• linear• linear threshold• quadratic• server (1/1-u)

At high occupancy (> 50%) server appeared to give the bestresults. At low occupancy (<25%) function relatively unimportant.

constantconstant

linearlinear

thresholdthreshold

quadraticquadratic

serverserver

Page 37: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

DiagnosisDiagnosis

• Diagnosis agent is ‘hill climbing’ in Diagnosis agent is ‘hill climbing’ in space of q-chemical.space of q-chemical.

• Very quickly finds high q-chemical Very quickly finds high q-chemical concentrations and initiates concentrations and initiates diagnostic activity.diagnostic activity.

• An example of distributed diagnosis An example of distributed diagnosis through constructive chemical through constructive chemical interference.interference.

Page 38: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Self AdaptationSelf Adaptation

• pheromone and cost sensitivities pheromone and cost sensitivities shouldshould vary during search:vary during search:

– avoid premature convergence;avoid premature convergence;

– speed up search considerably.speed up search considerably.

• Explorers encode sensitivity values:Explorers encode sensitivity values:

– fitness of encoding is cost of route;fitness of encoding is cost of route;

– new agents are created with and use new agents are created with and use genetically-manipulated values for route genetically-manipulated values for route finding.finding.

Page 39: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Extensions to current m-Extensions to current m-Swarm systemSwarm system• Multi-class routing Multi-class routing

– Higher priority traffic causes pheromone Higher priority traffic causes pheromone levels of lower priority traffic to decay;levels of lower priority traffic to decay;

– automated re-routing of traffic performed.automated re-routing of traffic performed.

• Swarms learn to avoid regions of Swarms learn to avoid regions of network providing low quality network providing low quality connections.connections.

Page 40: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Other (potential) Other (potential) applications of m-Swarm applications of m-Swarm systemssystems• Behavior-based Network Management;Behavior-based Network Management;

– explorer agents allocate routes;explorer agents allocate routes;

– parent agents monitor “health” of explorers;parent agents monitor “health” of explorers;

– congestion agents identify global network congestion agents identify global network congestion;congestion;

– congestion agents signal re-planning of congestion agents signal re-planning of network;network;

– congestion agent pheromones react with congestion agent pheromones react with routing agent pheromones in order to cause re-routing agent pheromones in order to cause re-routing after network re-planned.routing after network re-planned.

Page 41: Multi-swarm Problem Solving in Networks Tony White email: tony@sce.carleton.ca

Futuristic?Futuristic?

• Active networks are being researched at:Active networks are being researched at:– M.I.T.M.I.T.

– U. Penn.U. Penn.

– CMUCMU

– Georgia Tech.Georgia Tech.

• Management by delegation [Yemini, 91] Management by delegation [Yemini, 91] considered an essential design criterion for considered an essential design criterion for next generation network management next generation network management systems.systems.