optimal pheromone utilization
DESCRIPTION
Optimal Pheromone Utilization. Roman Kecher Joint work with: Yehuda Afek and Moshe Sulamy Tel-Aviv University. Ants Nearby Treasure Search. N. Infinite grid k ants Initially at the origin Food at distance D Ants have to find the food - PowerPoint PPT PresentationTRANSCRIPT
OPTIMAL PHEROMONE UTILIZATION
Roman KecherJoint work with: Yehuda Afek and Moshe Sulamy
Tel-Aviv University
Ants Nearby Treasure Search
● Infinite grid● k ants
● Initially at the origin● Food at distance D
● Ants have to findthe food
● Optimal run-time: Ω(D + D2/k)[Feinerman, Korman, Lotker, Sereni, 2012]
W E
N
S
D
k (0,0)
Pheromones
● Ants emit pheromones[Lenzen, Radeva, 2013]
● Or not● And sense them
● No other communication
● Biological resource● Goal: minimize
pheromone count
W E
N
S
Ground Rules
● Every ant runs same algorithm (locally)● With same initial state
● Only uniform algorithms,ants have no knowledge of:
● k, total number of ants● D, distance to the food
Synchronous Model
● Rounds:all ants move onceper round
W E
N
S
Synchronous Model
● Rounds:all ants move onceper round
● Assumption: antemission scheme[Emek, Langner, Uitto, Wattenhofer, 2013]
● At most one ant isemitted in each round
W E
N
S
Asynchronous Model
W E
N
S
● Adversary repeatedlyschedules one ant
● Test&Set:● Sense and emit a
pheromone is oneatomic step
● Definition of Rounds:● Round ends when every
ant took at least one step● Only for (time) complexity
Ants Models
● FSM: Finite State MachinesConstant size memory
● TM: Turing MachinesUnlimited memory
● Both deterministic
Results
Lower Bound Algorithm
FSM(Deterministic)
TM(Deterministic)
Previously known: O(D2) pheromones [Lenzen, Radeva, 2013]
Results
Lower Bound Algorithm
FSM(Deterministic)
Ω(D) pheromonesto find the food
O(D) pheromonesO(D + D2/k) time
TM(Deterministic)
Previously known: O(D2) pheromones [Lenzen, Radeva, 2013]
Results
Lower Bound Algorithm
FSM(Deterministic)
Ω(D) pheromonesto find the food
O(D) pheromonesO(D + D2/k) time
TM(Deterministic)
Results hold for Synchronous and Asynchronous models
Previously known: O(D2) pheromones [Lenzen, Radeva, 2013]
Layers
● Definition: layer L● All grid cells at
distance L from origin
W E
N
S
L
W E
N
FSM Need Ω(D) Pheromones
● Assume FSM withS states
● Uses o(D) pheromones
● S+1 consecutivepheromone-free layers exist
● Path starts and ends in same state
● Infinite loopS
FSM Algorithms
W E
N
S
● Problem:FSM can’t count
● Solution:Use pheromonesas turning points
● Similar to the idea of guides[Emek, Langner, Uitto, Wattenhofer, 2013]
Asynchronous FSM Algorithm
W E
N
S
● Mark E, S, W, N
● Explore from N● N never longer
than E, S or W
● Test&Set preventsmultiple ants fromexploring same layer
Synchronous FSM Algorithm
W E
N
S
● Emission schemebreaks initialsymmetry
● But what happensif two ants collide?
● Veteran ants behavedifferently thanNewbie ants
VeteranNewbie
Results
Lower Bound Algorithm
FSM(Deterministic)
Ω(D) pheromonesto find the food
O(D) pheromonesO(D + D2/k) time
TM(Deterministic)
Results hold for Synchronous and Asynchronous models
Previously known: O(D2) pheromones [Lenzen, Radeva, 2013]
Results
Lower Bound Algorithm
FSM(Deterministic)
Ω(D) pheromonesto find the food
O(D) pheromonesO(D + D2/k) time
TM(Deterministic)
Ω(k) pheromonesfor optimal run time
O(k) pheromonesO(D + D2/k) time
Results hold for Synchronous and Asynchronous models
Previously known: O(D2) pheromones [Lenzen, Radeva, 2013]
Async TM Need Ω(k) Pheromones
W E
N
S
● Assume oneant does not emitpheromones
Async TM Need Ω(k) Pheromones
W E
N
S
● Assume oneant does not emitpheromones
● Consider samescheduling butwith extra ants
● All new ants followthat one ant
● Runtime remains thesame (but more ants)
Sync TM Need Ω(k) Pheromones
W E
N
S
● Emit one ant● Until all pheromones
are placed● Emit second ant
● Until all pheromonesare placed
● Continue● Delay is constant
● If no new pheromonesare placed, all followingants behave the same
Asynchronous TM Algorithm
W E
N
S
● TM can count!● Use pheromones
to assign IDs to ants
● Static partition● Explore layers
L = ID (mod Total)● Occasionally update
estimated Total
● Also works for thesynchronous model
ID = 1
ID = 2
1
2
1
11
1
1
1
1
22 22
2 22 22
2
2
2
2
2
2
11 1 11 1 1
11 1 11 1 1
1
1
1
1
1
1
1
1
1
1
2 22 22 22 22
2 22 22 22 22
2
2
2
2
2
2
2
2
2
2
2
2
2
2
Thanks
Questions?