Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Division of Labor in Ant Colonies
Alex Cornejo, Anna Dornhaus,Nancy Lynch and Radhika Nagpal
October 13, 2014
1/19
What is division of labor?
I Division of labor is the process by whichindividual ants in a colony decide which task toperform to ensure the survival of the colony.
2/19
What is division of labor?
I Division of labor is the process by whichindividual ants in a colony decide which task toperform to ensure the survival of the colony.
2/19
What is division of labor?
I Division of labor is the process by whichindividual ants in a colony decide which task toperform to ensure the survival of the colony.
2/19
What is division of labor?
I Division of labor is the process by whichindividual ants in a colony decide which task toperform to ensure the survival of the colony.
2/19
What is division of labor? (cont.)
I Much of the existing work focuses on exploringthe correlation between temporal andmorphological variations and worker behavior.
3/19
What is division of labor? (cont.)
I Much of the existing work focuses on exploringthe correlation between temporal andmorphological variations and worker behavior.
3/19
What is division of labor? (cont.)
I Much of the existing work focuses on exploringthe correlation between temporal andmorphological variations and worker behavior.
3/19
Contributions
I A very general mathematical formulation for thephenomenon of division of labor in ant colonies.
I A distributed algorithm that quickly reaches anear optimal task allocation and imposing onlyminimal assumptions on the capabilities ofindividual ants.
4/19
Contributions
I A very general mathematical formulation for thephenomenon of division of labor in ant colonies.
I A distributed algorithm that quickly reaches anear optimal task allocation and imposing onlyminimal assumptions on the capabilities ofindividual ants.
4/19
A model for division of labor
I A set A of ants.
I A set T of tasks.I For task τ ∈ T , ant a ∈ A and time t ∈ R≥0:
I d(τ, t) is the total energy demand for task τat time t.
I e(τ, a, t) is the energy that can be suppliedby ant a if engaged at task τ at time t.
5/19
A model for division of labor
I A set A of ants.
I A set T of tasks.I For task τ ∈ T , ant a ∈ A and time t ∈ R≥0:
I d(τ, t) is the total energy demand for task τat time t.
I e(τ, a, t) is the energy that can be suppliedby ant a if engaged at task τ at time t.
5/19
A model for division of labor
I A set A of ants.
I A set T of tasks.
I For task τ ∈ T , ant a ∈ A and time t ∈ R≥0:
I d(τ, t) is the total energy demand for task τat time t.
I e(τ, a, t) is the energy that can be suppliedby ant a if engaged at task τ at time t.
5/19
A model for division of labor
I A set A of ants.
I A set T of tasks.I For task τ ∈ T , ant a ∈ A and time t ∈ R≥0:
I d(τ, t) is the total energy demand for task τat time t.
I e(τ, a, t) is the energy that can be suppliedby ant a if engaged at task τ at time t.
5/19
A model for division of labor
I A set A of ants.
I A set T of tasks.I For task τ ∈ T , ant a ∈ A and time t ∈ R≥0:
I d(τ, t) is the total energy demand for task τat time t.
I e(τ, a, t) is the energy that can be suppliedby ant a if engaged at task τ at time t.
5/19
A model for division of labor
I A set A of ants.
I A set T of tasks.I For task τ ∈ T , ant a ∈ A and time t ∈ R≥0:
I d(τ, t) is the total energy demand for task τat time t.
I e(τ, a, t) is the energy that can be suppliedby ant a if engaged at task τ at time t.
5/19
Task Assignment
I A task assignment is a functiony : A× R≥0 → T ∪ {⊥}.
I Given y we define Y (τ, t) as the set of antsassigned to task τ at time t, and I(t) as the setof ants assigned to no task at time t.
Y (τ, t) = {a ∈ A : y(a, t) = τ}I(t) = {a ∈ A : y(a, t) =⊥}
I Observe that by definition A = Y (τ, t) ∪ I(t).
6/19
Task Assignment
I A task assignment is a functiony : A× R≥0 → T ∪ {⊥}.
I Given y we define Y (τ, t) as the set of antsassigned to task τ at time t, and I(t) as the setof ants assigned to no task at time t.
Y (τ, t) = {a ∈ A : y(a, t) = τ}I(t) = {a ∈ A : y(a, t) =⊥}
I Observe that by definition A = Y (τ, t) ∪ I(t).
6/19
Task Assignment
I A task assignment is a functiony : A× R≥0 → T ∪ {⊥}.
I Given y we define Y (τ, t) as the set of antsassigned to task τ at time t, and I(t) as the setof ants assigned to no task at time t.
Y (τ, t) = {a ∈ A : y(a, t) = τ}I(t) = {a ∈ A : y(a, t) =⊥}
I Observe that by definition A = Y (τ, t) ∪ I(t).
6/19
Task Assignment
I A task assignment is a functiony : A× R≥0 → T ∪ {⊥}.
I Given y we define Y (τ, t) as the set of antsassigned to task τ at time t, and I(t) as the setof ants assigned to no task at time t.
Y (τ, t) = {a ∈ A : y(a, t) = τ}I(t) = {a ∈ A : y(a, t) =⊥}
I Observe that by definition A = Y (τ, t) ∪ I(t).
6/19
What is a good task allocation?
I w(τ, t) =∑
a∈Y (τ,t) e(τ, a, t) is the energysupplied to task τ at time t.
I q(τ, t) = d(τ, t)− w(τ, t), if negative representsa surplus of energy at task τ , if positiverepresents a deficit of energy at task τ , and ifzero then the task τ is in equilibrium.
I An optimal task assignment is one thatminimizes
∑τ∈T q(τ, t)
2
7/19
What is a good task allocation?
I w(τ, t) =∑
a∈Y (τ,t) e(τ, a, t) is the energysupplied to task τ at time t.
I q(τ, t) = d(τ, t)− w(τ, t), if negative representsa surplus of energy at task τ , if positiverepresents a deficit of energy at task τ , and ifzero then the task τ is in equilibrium.
I An optimal task assignment is one thatminimizes
∑τ∈T q(τ, t)
2
7/19
What is a good task allocation?
I w(τ, t) =∑
a∈Y (τ,t) e(τ, a, t) is the energysupplied to task τ at time t.
I q(τ, t) = d(τ, t)− w(τ, t), if negative representsa surplus of energy at task τ , if positiverepresents a deficit of energy at task τ , and ifzero then the task τ is in equilibrium.
I An optimal task assignment is one thatminimizes
∑τ∈T q(τ, t)
2
7/19
What is a good task allocation?
I w(τ, t) =∑
a∈Y (τ,t) e(τ, a, t) is the energysupplied to task τ at time t.
I q(τ, t) = d(τ, t)− w(τ, t), if negative representsa surplus of energy at task τ , if positiverepresents a deficit of energy at task τ , and ifzero then the task τ is in equilibrium.
I An optimal task assignment is one thatminimizes
∑τ∈T q(τ, t)
2
7/19
Restricted System Model
I We assume e(τ, a, t) = c for all τ ∈ T , everyant a ∈ A, and every time t ∈ R≥0.
I We consider synchronous model where timeproceeds in lock-step rounds 1, 2, . . ., and forthe duration of each round i ∈ N each anta ∈ A works at task y(a, i).
8/19
Restricted System Model
I We assume e(τ, a, t) = c for all τ ∈ T , everyant a ∈ A, and every time t ∈ R≥0.
I We consider synchronous model where timeproceeds in lock-step rounds 1, 2, . . ., and forthe duration of each round i ∈ N each anta ∈ A works at task y(a, i).
8/19
Restricted System Model
I We assume e(τ, a, t) = c for all τ ∈ T , everyant a ∈ A, and every time t ∈ R≥0.
I We consider synchronous model where timeproceeds in lock-step rounds 1, 2, . . ., and forthe duration of each round i ∈ N each anta ∈ A works at task y(a, i).
8/19
Capabilities of Individuals
I Recall that q(τ, i) = d(τ, i)− w(τ, i) is thedifference between the energy demand for taskτ at round i and the energy supplied for task τat round i.
I For each task τ ∈ T ants can sense only abinary feedback function f(τ, i) where:
f(τ, i) =
{+1 q(τ, i) ≥ 0,
−1 q(τ, i) < 0.
9/19
Capabilities of Individuals
I Recall that q(τ, i) = d(τ, i)− w(τ, i) is thedifference between the energy demand for taskτ at round i and the energy supplied for task τat round i.
I For each task τ ∈ T ants can sense only abinary feedback function f(τ, i) where:
f(τ, i) =
{+1 q(τ, i) ≥ 0,
−1 q(τ, i) < 0.
9/19
Capabilities of Individuals
I Recall that q(τ, i) = d(τ, i)− w(τ, i) is thedifference between the energy demand for taskτ at round i and the energy supplied for task τat round i.
I For each task τ ∈ T ants can sense only abinary feedback function f(τ, i) where:
f(τ, i) =
{+1 q(τ, i) ≥ 0,
−1 q(τ, i) < 0.
9/19
Algorithm Idea
I Intuition: Given sufficient memory, ants coulduse a randomized binary-search-like strategy,guided by the function f , to reach the optimaldivision of labor.
I Idea 1: Offload the burden of memory from theindividuals to the colony.
I Idea 2: Let ants use a response-thresholdstrategy to pick tasks, and allow them tospecialize.
10/19
Algorithm Idea
I Intuition: Given sufficient memory, ants coulduse a randomized binary-search-like strategy,guided by the function f , to reach the optimaldivision of labor.
I Idea 1: Offload the burden of memory from theindividuals to the colony.
I Idea 2: Let ants use a response-thresholdstrategy to pick tasks, and allow them tospecialize.
10/19
Algorithm Idea
I Intuition: Given sufficient memory, ants coulduse a randomized binary-search-like strategy,guided by the function f , to reach the optimaldivision of labor.
I Idea 1: Offload the burden of memory from theindividuals to the colony.
I Idea 2: Let ants use a response-thresholdstrategy to pick tasks, and allow them tospecialize.
10/19
Algorithm Idea
I Intuition: Given sufficient memory, ants coulduse a randomized binary-search-like strategy,guided by the function f , to reach the optimaldivision of labor.
I Idea 1: Offload the burden of memory from theindividuals to the colony.
I Idea 2: Let ants use a response-thresholdstrategy to pick tasks, and allow them tospecialize.
10/19
Algorithm Details
I Each ant stores a task currentTask ∈ T ∪ {⊥}and a potential table %[τ ].
I Initially ants start in the Resting state withcurrentTask =⊥ and a potential of zero forevery task ∀τ ∈ T, %[τ ] = 0.
I Ants can be in one of the five states Resting,FirstReserve, SecondReserve,TempWorker and CoreWorker.
11/19
Algorithm Details
I Each ant stores a task currentTask ∈ T ∪ {⊥}and a potential table %[τ ].
I Initially ants start in the Resting state withcurrentTask =⊥ and a potential of zero forevery task ∀τ ∈ T, %[τ ] = 0.
I Ants can be in one of the five states Resting,FirstReserve, SecondReserve,TempWorker and CoreWorker.
11/19
Algorithm Details
I Each ant stores a task currentTask ∈ T ∪ {⊥}and a potential table %[τ ].
I Initially ants start in the Resting state withcurrentTask =⊥ and a potential of zero forevery task ∀τ ∈ T, %[τ ] = 0.
I Ants can be in one of the five states Resting,FirstReserve, SecondReserve,TempWorker and CoreWorker.
11/19
Simplified State Machine
FirstReserve SecondReserve TempWorker CoreWorkerResting
threshold
+1 prob 12
+1 prob 12
+1 +1
−1
−1
−1
−1
12/19
Resting State
∀τ ∈ T, %[τ ]←
{0 if f(τ, i) < 0
min(%[τ ] + 1, 3) if f(τ, i) > 0
candidate ← {τ ∈ T | %[τ ] = 3}if candidate 6= ∅ then
with probability 12do
∀τ ∈ T, %[τ ]← 0currentTask ← random candidate taskstate ← TempWorker
end withend if
13/19
Resting State
∀τ ∈ T, %[τ ]←
{0 if f(τ, i) < 0
min(%[τ ] + 1, 3) if f(τ, i) > 0
candidate ← {τ ∈ T | %[τ ] = 3}
if candidate 6= ∅ thenwith probability 1
2do
∀τ ∈ T, %[τ ]← 0currentTask ← random candidate taskstate ← TempWorker
end withend if
13/19
Resting State
∀τ ∈ T, %[τ ]←
{0 if f(τ, i) < 0
min(%[τ ] + 1, 3) if f(τ, i) > 0
candidate ← {τ ∈ T | %[τ ] = 3}if candidate 6= ∅ then
with probability 12do
∀τ ∈ T, %[τ ]← 0currentTask ← random candidate taskstate ← TempWorker
end withend if
13/19
Resting State
∀τ ∈ T, %[τ ]←
{0 if f(τ, i) < 0
min(%[τ ] + 1, 3) if f(τ, i) > 0
candidate ← {τ ∈ T | %[τ ] = 3}if candidate 6= ∅ then
with probability 12do
∀τ ∈ T, %[τ ]← 0currentTask ← random candidate taskstate ← TempWorker
end withend if
13/19
Working States
case state = TempWorker
if f(currentTask, i) < 0 thenstate ← FirstReserve
elsestate ← CoreWorker
end ifcase state = CoreWorker
if f(currentTask, i) < 0 thenstate ← TempWorker
end ifend case
14/19
Working States
case state = TempWorkerif f(currentTask, i) < 0 then
state ← FirstReserve
elsestate ← CoreWorker
end ifcase state = CoreWorker
if f(currentTask, i) < 0 thenstate ← TempWorker
end ifend case
14/19
Working States
case state = TempWorkerif f(currentTask, i) < 0 then
state ← FirstReserveelse
state ← CoreWorkerend if
case state = CoreWorkerif f(currentTask, i) < 0 then
state ← TempWorkerend if
end case
14/19
Working States
case state = TempWorkerif f(currentTask, i) < 0 then
state ← FirstReserveelse
state ← CoreWorkerend if
case state = CoreWorker
if f(currentTask, i) < 0 thenstate ← TempWorker
end ifend case
14/19
Working States
case state = TempWorkerif f(currentTask, i) < 0 then
state ← FirstReserveelse
state ← CoreWorkerend if
case state = CoreWorkerif f(currentTask, i) < 0 then
state ← TempWorkerend if
end case
14/19
Reserve Statescase state = FirstReserve
if f(currentTask, i) < 0 thenstate ← Resting
elsewith probability 1
2do
state ← TempWorkerotherwise
state ← SecondReserveend with
end ifcase state = SecondReserve
if f(currentTask, i) < 0 thenstate ← Resting
elsestate ← TempWorker
end ifend case
15/19
Reserve Statescase state = FirstReserve
if f(currentTask, i) < 0 thenstate ← Resting
else
with probability 12do
state ← TempWorkerotherwise
state ← SecondReserveend with
end ifcase state = SecondReserve
if f(currentTask, i) < 0 thenstate ← Resting
elsestate ← TempWorker
end ifend case
15/19
Reserve Statescase state = FirstReserve
if f(currentTask, i) < 0 thenstate ← Resting
elsewith probability 1
2do
state ← TempWorkerotherwise
state ← SecondReserveend with
end if
case state = SecondReserveif f(currentTask, i) < 0 then
state ← Restingelse
state ← TempWorkerend if
end case
15/19
Reserve Statescase state = FirstReserve
if f(currentTask, i) < 0 thenstate ← Resting
elsewith probability 1
2do
state ← TempWorkerotherwise
state ← SecondReserveend with
end ifcase state = SecondReserve
if f(currentTask, i) < 0 thenstate ← Resting
elsestate ← TempWorker
end ifend case
15/19
Reserve Statescase state = FirstReserve
if f(currentTask, i) < 0 thenstate ← Resting
elsewith probability 1
2do
state ← TempWorkerotherwise
state ← SecondReserveend with
end ifcase state = SecondReserve
if f(currentTask, i) < 0 thenstate ← Resting
elsestate ← TempWorker
end ifend case
15/19
Reserve Statescase state = FirstReserve
if f(currentTask, i) < 0 thenstate ← Resting
elsewith probability 1
2do
state ← TempWorkerotherwise
state ← SecondReserveend with
end ifcase state = SecondReserve
if f(currentTask, i) < 0 thenstate ← Resting
elsestate ← TempWorker
end ifend case
15/19
Analysis Outline
I Lemma 1: If during an interval tasks are nottoo oversatisfied, the probability there is a taskwith a deficit is exponentially small in theinterval length.
16/19
Analysis Outline
I Lemma 1: If during an interval tasks are nottoo oversatisfied, the probability there is a taskwith a deficit is exponentially small in theinterval length.
16/19
Analysis Outline
I Lemma 1: If during an interval tasks are nottoo oversatisfied, the probability there is a taskwith a deficit is exponentially small in theinterval length.
time
ants
0
16/19
Analysis Outline
I Lemma 1: If during an interval tasks are nottoo oversatisfied, the probability there is a taskwith a deficit is exponentially small in theinterval length.
time
ants
0
16/19
Analysis Outline
I Lemma 1: If during an interval tasks are nottoo oversatisfied, the probability there is a taskwith a deficit is exponentially small in theinterval length.
time
ants
0
16/19
Analysis Outline
I Lemma 1: If during an interval tasks are nottoo oversatisfied, the probability there is a taskwith a deficit is exponentially small in theinterval length.
time
ants
0
16/19
Analysis Outline
I Lemma 1: If during an interval tasks are nottoo oversatisfied, the probability there is a taskwith a deficit is exponentially small in theinterval length.
time
ants
0
16/19
Analysis Outline
I Lemma 2: Once a task transitions from havinga deficit to a surplus, it will keep oscillatingevery two or three rounds; moreover, withconstant probability the number of ants involvedin the oscillations is reduced by a constantfraction.
17/19
Analysis Outline
I Lemma 2: Once a task transitions from havinga deficit to a surplus, it will keep oscillatingevery two or three rounds; moreover, withconstant probability the number of ants involvedin the oscillations is reduced by a constantfraction.
time
ants
0
17/19
Analysis Outline
I Lemma 2: Once a task transitions from havinga deficit to a surplus, it will keep oscillatingevery two or three rounds; moreover, withconstant probability the number of ants involvedin the oscillations is reduced by a constantfraction.
time
ants
0
17/19
Analysis Outline
I Lemma 2: Once a task transitions from havinga deficit to a surplus, it will keep oscillatingevery two or three rounds; moreover, withconstant probability the number of ants involvedin the oscillations is reduced by a constantfraction.
time
ants
0
17/19
Analysis Outline
I Lemma 2: Once a task transitions from havinga deficit to a surplus, it will keep oscillatingevery two or three rounds; moreover, withconstant probability the number of ants involvedin the oscillations is reduced by a constantfraction.
time
ants
0
17/19
Analysis Outline
I Lemma 2: Once a task transitions from havinga deficit to a surplus, it will keep oscillatingevery two or three rounds; moreover, withconstant probability the number of ants involvedin the oscillations is reduced by a constantfraction.
time
ants
0
17/19
Analysis Outline
I Theorem: After O(log n) rounds, with highprobability, ants reach an optimal taskallocation.
time
ants
0
18/19
Questions?
19/19