Networked Fairness in Cake Cutting

Networked Fairness
in Cake Cutting
Xiaohui Bei
Youming Qiao
Shengyu Zhang
Economics
• In a nutshell, economics studies how resources are managed and
allocated.
• One of the most fundamental targets is to achieve certain fairness in
the allocation of resources.
Cake cutting
• Problem setting:
• One cake, 𝑛 people (who want to split it).
• Each person might value different portions of the cake
differently.
• Some like strawberries, some like chocolate, …
• Normalization: Each one values the whole cake as 1.
• This valuation info is private.
• Goal: divide the cake to make all people happy.
Cake cutting
• A cake cutting protocol is proportionally
fair (or proportional for short) if each
person gets ≥ 1/𝑛 fraction by her measure.
• No matter how other people behave.
• A cake cutting protocol is envy-free if each person thinks that
she gets the most by her measure.
• Envy-free ⇒ proportional:
• 𝑎𝑖𝑗 : how much person 𝑗 gets in person 𝑖’s measure.
• Envy-free: 𝑎𝑖𝑖 ≥ 𝑎𝑖𝑗 , ∀𝑗
⇒ proportional: 𝑎𝑖𝑖 ≥ 1/𝑛, ∀𝑖.
Envy-free when 𝑛 = 2
1. Alice cuts the cake
into two equal
pieces
• by her measure
2. Bob chooses a
larger piece
• by his measure
3. Alice takes the
other piece
5
• Theorem. The outcome is envy-free (and thus proportionally
fair).
• Proof.
• Alice: gets exactly half
• no matter which piece Bob chooses,
• as the two pieces are equal to her.
• Bob: gets at least half,
• no matter how Alice cuts the cake,
• as Bob takes a piece before Alice.
General 𝑛
• Much more complicated.
• Only recently*1: discovered a finite-step procedure for finding an
envy-free allocation.
• But the procedure is very complicated.
• And its complexity is an exponential tower of height 6: 𝑛𝑛
𝑛
𝑛𝑛
𝑛
.
*1. Haris Aziz and Simon Mackenzie. A discrete and bounded envy-free cake cutting protocol for any number of agents.
FOCS, 2016.
Envy on networks
• Envy usually happens between people knowing each other.
• We don’t envy someone we don’t even know.
• Envy on networks:
• An undirected graph 𝐺 = 𝑉, 𝐸 .
• 𝑉 = 𝑎𝑔𝑒𝑛𝑡𝑠
• 𝑖, 𝑗 ∈ 𝐸 if agent 𝑖 knows agent 𝑗.
• An allocation is envy-free on 𝐺 if no agent envies any of her neighbors.
• An allocation is proportional on 𝐺 if each agent gets at least the average of
her neighbors’ total allocation
• with respect to her own valuation
Observations
•
Envy-free on 𝐺
⇒
proportional on 𝐺
⇓
⇓
Envy-free on subgraph 𝐺 ′ ⇒ proportional on subgraph 𝐺 ′
• The standard envy-free is envy-free on the complete graph.
• Fair allocations on general graphs is not easy, but on special classes of
graphs may be.
• Goal: Simple protocols for fair allocations on certain types of graphs.
• This paper: two classes of graphs.
First class: trees
• Theorem 1. For any tree 𝑇, there is a procedure to output an
allocation that is envy-free on 𝑇.
• An useful algorithm*1: AustinCut 𝑖, 𝑗, 𝑚, 𝑆
• 𝑖, 𝑗: two agents. 𝑚: positive integer. 𝑆: part of cake.
• AustinCut 𝑖, 𝑗, 𝑚, 𝑆 cuts 𝑆 into 𝑛 pieces so that both agent 𝑖 and
agent 𝑗 view them all equal.
• 𝑣𝑖 𝑆1 = ⋯ = 𝑣𝑖 𝑆𝑛 =
• 𝑣𝑗 𝑆1 = ⋯ = 𝑣𝑗 𝑆𝑛 =
1
𝑣
𝑛 𝑖
1
𝑣
𝑛 𝑗
𝑆
𝑆
*1. AK Austin. Sharing a cake. The Mathematical Gazette, 66(437):212–215, 1982.
Algorithm
n=7
1. Agent 𝑟 cuts the cake into 𝑛 equal pieces (in 𝑟’s
measure).
𝑟
𝑎1
𝑎2
𝑏1
𝑐1
𝑏2
𝑐2
Algorithm
1. Agent 𝑟 cuts the cake into 𝑛 equal pieces (in 𝑟’s
measure).
2. Agent 𝑎1 takes the largest piece (in 𝑎1 ’s measure).
n=7
𝑟
𝑎1
𝑎2
𝑏1
𝑐1
𝑏2
𝑐2
Algorithm
1. Agent 𝑟 cuts the cake into 𝑛 equal pieces (in 𝑟’s
measure).
2. Agent 𝑎1 takes the largest piece (in 𝑎1 ’s measure).
3. Agent 𝑎2 takes 5 largest pieces (in 𝑎2 ’s measure).
n=7
𝑟
𝑎1
𝑎2
𝑏1
𝑐1
𝑏2
𝑐2
Algorithm
1. Agent 𝑟 cuts the cake into 𝑛 equal pieces (in 𝑟’s
measure).
2. Agent 𝑎1 takes the largest piece (in 𝑎1 ’s measure).
3. Agent 𝑎2 takes 5 largest pieces (in 𝑎2 ’s measure).
4. Agent 𝑟 takes the remaining piece.
n=7
𝑟
𝑎1
𝑎2
𝑏1
𝑐1
𝑏2
𝑐2
Algorithm
1. Agent 𝑟 cuts the cake into 𝑛 equal pieces (in 𝑟’s
measure).
2. Agent 𝑎1 takes the largest piece (in 𝑎1 ’s measure).
3. Agent 𝑎2 takes 5 largest pieces (in 𝑎2 ’s measure).
4. Agent 𝑟 takes the remaining piece.
5. Agent 𝑟 and 𝑎2 use AustinCut to cut 𝑎2 ’s part into 5
equal pieces (equal to both 𝑟 and 𝑎2 ).
n=7
𝑟
𝑎1
𝑎2
𝑏1
𝑐1
𝑏2
𝑐2
Algorithm
1. Agent 𝑟 cuts the cake into 𝑛 equal pieces (in 𝑟’s
measure).
2. Agent 𝑎1 takes the largest piece (in 𝑎1 ’s measure).
3. Agent 𝑎2 takes 5 largest pieces (in 𝑎2 ’s measure).
4. Agent 𝑟 takes the remaining piece.
5. Agent 𝑟 and 𝑎2 use AustinCut to cut 𝑎2 ’s part into 5
equal pieces (equal to both 𝑟 and 𝑎2 ).
6. Recursively repeat Steps 2-5 in each subtree 𝑎𝑖 .
n=7
𝑟
𝑎1
𝑎2
𝑏1
𝑐1
𝑏2
𝑐2
Algorithm
1. Agent 𝑟 cuts the cake into 𝑛 equal pieces (in 𝑟’s
measure).
2. Agent 𝑎1 takes the largest piece (in 𝑎1 ’s measure).
3. Agent 𝑎2 takes 5 largest pieces (in 𝑎2 ’s measure).
4. Agent 𝑟 takes the remaining piece.
5. Agent 𝑟 and 𝑎2 use AustinCut to cut 𝑎2 ’s part into 5
equal pieces (equal to both 𝑟 and 𝑎2 ).
6. Recursively repeat Steps 2-5 in each subtree 𝑎𝑖 .
n=7
𝑟
𝑎1
𝑎2
𝑏1
𝑐1
𝑏2
𝑐2
Algorithm
1. Agent 𝑟 cuts the cake into 𝑛 equal pieces (in 𝑟’s
measure).
2. Agent 𝑎1 takes the largest piece (in 𝑎1 ’s measure).
3. Agent 𝑎2 takes 5 largest pieces (in 𝑎2 ’s measure).
4. Agent 𝑟 takes the remaining piece.
5. Agent 𝑟 and 𝑎2 use AustinCut to cut 𝑎2 ’s part into 5
equal pieces (equal to both 𝑟 and 𝑎2 ).
6. Recursively repeat Steps 2-5 in each subtree 𝑎𝑖 .
n=7
𝑟
𝑎1
𝑎2
𝑏1
𝑐1
𝑏2
𝑐2
Algorithm
1. Agent 𝑟 cuts the cake into 𝑛 equal pieces (in 𝑟’s
measure).
2. Agent 𝑎1 takes the largest piece (in 𝑎1 ’s measure).
3. Agent 𝑎2 takes 5 largest pieces (in 𝑎2 ’s measure).
4. Agent 𝑟 takes the remaining piece.
5. Agent 𝑟 and 𝑎2 use AustinCut to cut 𝑎2 ’s part into 5
equal pieces (equal to both 𝑟 and 𝑎2 ).
6. Recursively repeat Steps 2-5 in each subtree 𝑎𝑖 .
n=7
𝑟
𝑎1
𝑎2
𝑏1
𝑐1
𝑏2
𝑐2
Fairness: Envy-free
• Why is this allocation envy-free?
• Consider, for example, 𝑎2 .
• 𝑎2 doesn’t envy her parent 𝑟 because
• 𝑎2 took 5 blue pieces before 𝑟 took 1 blue piece
• 𝑎2 finally got exactly 1/5 of the 5 blue pieces
n=7
𝑟
𝑎1
𝑏1
• 𝑎2 doesn’t envy her child 𝑏1 because
• 𝑎2 finally got exactly 1/5 of 5 equal yellow pieces
• 𝑏1 finally got exactly 1/3 of the 3 yellow pieces
𝑎2
𝑐1
𝑏2
𝑐2
Second class: descendant graphs
• Descendant graphs:
• Take a tree.
• Connect all (ancestor, descendant) pairs.
• Theorem 2. For any descendant graph 𝐺, there is a
procedure to output an allocation that is
proportional on 𝐺.
Notation
• Depth 𝑑 𝑣 : # edges from 𝑣 to root 𝑟
• 𝑑 = 𝑑 𝑇 = max 𝑑 𝑣
𝑣: leaf
• 𝑇 𝑣 : subtree rooted at 𝑣
• 𝑇 𝑣 : # nodes in 𝑇 𝑣
•𝑓 𝑣 =
𝑑 𝑣 +𝑇 𝑣
𝑑 𝑣 +1
⋅ 𝑑!
• Root: 𝑓 𝑟 = 𝑇 ⋅ 𝑑!
• Leaf: 𝑓 ℓ = 𝑑!
• Fact 1. 𝑑 𝑣 |𝑓 𝑣 , ∀𝑣 with 𝑑 𝑣 ≥ 1
• Fact 2. 𝑓 𝑣 = 𝑑! +
𝑓 𝑢
𝑢∈𝑇 𝑣 −𝑣 𝑑 𝑢
Algorithm
𝑓 𝑣 =
𝑑 𝑣 + 𝑇 𝑣
⋅ 𝑑!
𝑑 𝑣 +1
10
2
𝑟
4
𝑎1
2
𝑎2
2
𝑏1
𝑏2
Algorithm
𝑓 𝑣 =
1. Agent 𝑟 cuts the cake into 𝑓(𝑟) equal pieces
(in 𝑟’s measure).
𝑑 𝑣 + 𝑇 𝑣
⋅ 𝑑!
𝑑 𝑣 +1
10
2
𝑟
4
𝑎1
2
𝑎2
2
𝑏1
𝑏2
Algorithm
𝑓 𝑣 =
1. Agent 𝑟 cuts the cake into 𝑓(𝑟) equal pieces
(in 𝑟’s measure).
2. Agent 𝑎1 takes
𝑓 𝑎1
𝑑 𝑎1
largest pieces (in 𝑎1 ’s measure).
𝑑 𝑣 + 𝑇 𝑣
⋅ 𝑑!
𝑑 𝑣 +1
10
2
𝑟
4
𝑎1
2
𝑎2
2
𝑏1
𝑏2
Algorithm
𝑓 𝑣 =
1. Agent 𝑟 cuts the cake into 𝑓(𝑟) equal pieces
(in 𝑟’s measure).
2. Agent
3. Agent
𝑓
𝑎1 takes
𝑑
𝑓
𝑎2 takes
𝑑
𝑎1
𝑎1
𝑎2
𝑎2
largest pieces (in 𝑎1 ’s measure).
largest pieces (in 𝑎2 ’s measure).
𝑑 𝑣 + 𝑇 𝑣
⋅ 𝑑!
𝑑 𝑣 +1
10
2
𝑟
4
𝑎1
2
𝑎2
2
𝑏1
𝑏2
Algorithm
𝑓 𝑣 =
1. Agent 𝑟 cuts the cake into 𝑓(𝑟) equal pieces
(in 𝑟’s measure).
2. Agent
3. Agent
4. Agent
𝑓
𝑎1 takes
𝑑
𝑓
𝑎2 takes
𝑑
𝑓
𝑏1 takes
𝑑
𝑎1
𝑎1
𝑎2
𝑎2
𝑏1
𝑏1
largest pieces (in 𝑎1 ’s measure).
largest pieces (in 𝑎2 ’s measure).
𝑑 𝑣 + 𝑇 𝑣
⋅ 𝑑!
𝑑 𝑣 +1
10
2
𝑟
4
𝑎1
2
2
𝑏1
largest pieces (in 𝑏1 ’s measure).
𝑎2
𝑏2
Algorithm
𝑓 𝑣 =
1. Agent 𝑟 cuts the cake into 𝑓(𝑟) equal pieces
(in 𝑟’s measure).
2. Agent
3. Agent
4. Agent
5. Agent
𝑓
𝑎1 takes
𝑑
𝑓
𝑎2 takes
𝑑
𝑓
𝑏1 takes
𝑑
𝑓
𝑏2 takes
𝑑
𝑎1
𝑎1
𝑎2
𝑎2
𝑏1
𝑏1
𝑏2
𝑏2
largest pieces (in 𝑎1 ’s measure).
largest pieces (in 𝑎2 ’s measure).
𝑑 𝑣 + 𝑇 𝑣
⋅ 𝑑!
𝑑 𝑣 +1
10
2
𝑟
4
𝑎1
2
2
𝑏1
largest pieces (in 𝑏1 ’s measure).
largest pieces (in 𝑏2 ’s measure).
𝑎2
𝑏2
Algorithm
𝑓 𝑣 =
1. Agent 𝑟 cuts the cake into 𝑓(𝑟) equal pieces
(in 𝑟’s measure).
2. Agent
3. Agent
4. Agent
5. Agent
𝑓
𝑎1 takes
𝑑
𝑓
𝑎2 takes
𝑑
𝑓
𝑏1 takes
𝑑
𝑓
𝑏2 takes
𝑑
𝑎1
𝑎1
𝑎2
𝑎2
𝑏1
𝑏1
𝑏2
𝑏2
largest pieces (in 𝑎1 ’s measure).
largest pieces (in 𝑎2 ’s measure).
𝑑 𝑣 + 𝑇 𝑣
⋅ 𝑑!
𝑑 𝑣 +1
10
2
𝑟
4
𝑎1
2
2
𝑏1
largest pieces (in 𝑏1 ’s measure).
largest pieces (in 𝑏2 ’s measure).
6. Recursively repeat the above procedure in each subtree 𝑎𝑖 .
𝑎2
𝑏2
Algorithm
𝑓 𝑣 =
1. Agent 𝑟 cuts the cake into 𝑓(𝑟) equal pieces
(in 𝑟’s measure).
2. Agent
3. Agent
4. Agent
5. Agent
𝑓
𝑎1 takes
𝑑
𝑓
𝑎2 takes
𝑑
𝑓
𝑏1 takes
𝑑
𝑓
𝑏2 takes
𝑑
𝑎1
𝑎1
𝑎2
𝑎2
𝑏1
𝑏1
𝑏2
𝑏2
largest pieces (in 𝑎1 ’s measure).
largest pieces (in 𝑎2 ’s measure).
𝑑 𝑣 + 𝑇 𝑣
⋅ 𝑑!
𝑑 𝑣 +1
10
2
𝑟
4
𝑎1
2
2
𝑏1
largest pieces (in 𝑏1 ’s measure).
largest pieces (in 𝑏2 ’s measure).
6. Recursively repeat the above procedure in each subtree 𝑎𝑖 .
𝑎2
𝑏2
Algorithm
𝑓 𝑣 =
1. Agent 𝑟 cuts the cake into 𝑓(𝑟) equal pieces
(in 𝑟’s measure).
2. Agent
3. Agent
4. Agent
5. Agent
𝑓
𝑎1 takes
𝑑
𝑓
𝑎2 takes
𝑑
𝑓
𝑏1 takes
𝑑
𝑓
𝑏2 takes
𝑑
𝑎1
𝑎1
𝑎2
𝑎2
𝑏1
𝑏1
𝑏2
𝑏2
largest pieces (in 𝑎1 ’s measure).
largest pieces (in 𝑎2 ’s measure).
𝑑 𝑣 + 𝑇 𝑣
⋅ 𝑑!
𝑑 𝑣 +1
10
2
𝑟
4
𝑎1
2
2
𝑏1
largest pieces (in 𝑏1 ’s measure).
largest pieces (in 𝑏2 ’s measure).
6. Recursively repeat the above procedure in each subtree 𝑎𝑖 .
𝑎2
𝑏2
Fairness: Proportional
𝑓 𝑣 =
• Root:
•
•
•
•
Connects all other nodes.
Cut the cake into 𝑓 𝑟 = 𝑇 ⋅ 𝑑! equal pieces
Got 𝑑! pieces
Thus achieves exactly the average of its neighbors
𝑑 𝑣 + 𝑇 𝑣
⋅ 𝑑!
𝑑 𝑣 +1
10
2
𝑟
4
𝑎1
2
𝑎2
2
𝑏1
𝑏2
Fairness: Proportional
• Consider an internal node 𝑣.
• 𝑣 has ancestors: set 𝑁𝑎 𝑣 .
• 𝑣 has descendants: set 𝑁𝑑 𝑣 .
• Consider an ancestor 𝑢 and a descendant 𝑤.
𝑣
Fairness: Proportional
• Consider an internal node 𝑣.
• 𝑣 has ancestors: set 𝑁𝑎 𝑣 .
• 𝑣 has descendants: set 𝑁𝑑 𝑣 .
• Consider an ancestor 𝑢.
• 𝑆𝑣𝑢 : portion 𝑢 gives to 𝑣.
𝑢
• 𝑆𝑣𝑑
: portion 𝑢 gives to 𝑣 and then transfers to 𝑁𝑑 𝑣 .
𝑢 : portion 𝑢 gives to 𝑣 and then stays at 𝑣.
• 𝑆𝑣𝑣
• 𝑆𝑑𝑢 : portion 𝑢 gives to 𝑁𝑑 𝑣 .
• 𝑆𝑢𝑢 : portion 𝑢 leaves to herself.
𝑆𝑣𝑢
𝑢
𝑆𝑑𝑢
𝑆𝑣𝑢
𝑣
𝑢
𝑢
𝑆𝑣𝑑
𝑆𝑣𝑣
Fairness: Proportional
𝑆𝑣𝑢
𝑢
• 𝛼𝑣 : valuation function of 𝑣.
𝑢 ≥
• Claim: 𝛼𝑣 𝑆𝑣𝑣
𝑢
𝛼𝑣 𝑆𝑢𝑢 +𝛼𝑣 𝑆𝑑𝑢 +𝛼𝑣 𝑆𝑣𝑑
𝑑 𝑣 + 𝑇 𝑣 −1
.
• Once prove this, then sum it over 𝑢 ∈ 𝑁𝑎 𝑣 :
𝛼𝑣 𝑆𝑎 +𝛼𝑣 𝑆𝑑 +𝛼𝑣 𝑆𝑣𝑑
𝛼𝑣 𝑁𝑣
𝛼𝑣 𝑆𝑣 ≥
=
.
𝑑 𝑣 + 𝑇 𝑣 −1
•
•
•
•
𝑁 𝑣
𝑆𝑣 : What 𝑣 finally has.
𝑆𝑎 : What 𝑣’s ancestors collectively have.
𝑆𝑑 : What 𝑣’s ancestors give to 𝑣’s descendants.
𝑆𝑣𝑑 : What 𝑣 gives to 𝑣’s descendants.
𝑆𝑑𝑢
𝑆𝑣𝑢
𝑣
𝑢
𝑢
𝑆𝑣𝑑
𝑆𝑣𝑣
Conclusion
• This work tries to initialize studies of fair allocation on graphs.
• Two special classes of graphs are investigated.
• Trees: envy-free
• Descendant graphs: proportional
• Many other interesting classes are left open.
• Cycles
• Low-degree
•…