The Math of
Cutting Cakes and Dividing Candy
Neeldhara Misra
IIT Gandhinagar
DAIICT Β· 23rd October 2024
Math models are useful in the social sciences
Social sciences motivate
new math
Takeaways...
Source
Cake Cutting
Hesiod's Theogony:
Prometheus cuts ox in two, offers Zeus choice
Old Testament Book of Genesis:
Abraham offers Lot choice: land to left or right
Mining in the Ocean:
The United Nations Convention on the Law of the SeaΒ applies a procedure similar to divide-and-choose for allocating areas in the ocean among countries.
Cake Cutting
Jack Sprat could eat no fat
His wife could eat no lean
So 'twixt them both they cleared the cloth,
And licked the platter clean
Mother Goose Nursery Rhyme
Cake Cutting
Outline
Outline
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over bundles of items.Β
Goal: Make everyone happy. π
π¦ β
Β πββοΈ
π β
π€¦ββοΈ
π°Β β
π€©
πΒ β
π€·ββοΈ
Task:
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop: Agents have preferences over bundles of items.
Goal: Make everyone happy. π
Compute an allocation
$$ \pi(a_i) \cap \pi(a_j) = \emptyset $$
No sharing...
Complete
$$ \bigcup_{a \in A} \pi(a) = R $$
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop: Agents have preferences over bundles of items.
Goal: Make everyone happy. π
Compute an allocation
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: Make everyone happy. π
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow \mathbb{Z} $$
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: Make everyone happy. π
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
0/1 Valuations
$$ \{0,1\} $$
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: Make everyone happy. π
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
Additive Valuations
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: Make everyone happy. π
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
For all subsets \( S \subseteq R \),Β \( \nu_\ell(S) = \sum_{o \in S} \nu_\ell(\{o\}) \).
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: Make everyone happy. π
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
If πββοΈ values the items π° and π at 1 each, then she values {π°, π} at 2.
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: Make everyone happy. π
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: Make everyone happy. π
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: Make everyone happy. π€
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: Make everyone happy. π€
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
π β {π°,π΅}
π β {π,π,βοΈ}
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: Make everyone happy. π€
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
π β {π°,π΅}
π β {π,π,βοΈ}
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: Make everyone happy. π€
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
π¬ β {π°,π΅}
π β {π,π,βοΈ}
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: Make everyone happy. π€
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
π β {π°,π΅}
π β {π,π,βοΈ}
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: Make everyone happy. π€
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
π β {π°,π΅}
π β {π,π,βοΈ}
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: Make everyone happy. π€
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
π β {π°,π΅}
π β {π,π,βοΈ}
Β Agent a enviesΒ b in \( \pi \) if \( v_a(\pi(b)) > v_a(\pi(a)) \)
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: Make everyone happy. π€
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
π β {π°,π΅}
π β {π,π,βοΈ}
Β Agent a enviesΒ b in \( \pi \) if \( v_a(\pi(b)) > v_a(\pi(a)) \)
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: The allocation \( \pi \) creates no envy
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
π β {π°,π΅}
π β {π,π,βοΈ}
Β Agent a enviesΒ b in \( \pi \) if \( v_a(\pi(b)) > v_a(\pi(a)) \)
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: The allocation \( \pi \) creates no envy
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
π β {π°,π΅}
π β {π,π,βοΈ}
Β Agent a enviesΒ b in \( \pi \) if \( v_a(\pi(b)) > v_a(\pi(a)) \)
and a knows b.
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: The allocation \( \pi \) creates no envy
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
π β {π°,π΅}
π β {π,π,βοΈ}
Β Agent a enviesΒ b in \( \pi \) if \( v_a(\pi(b)) > v_a(\pi(a)) \)
and a knows b.
(between friends)
Fair Division
Distribute m items among n agents.Β
Backdrop: Agents have preferences over items.Β
Goal: Make everyone happy. π
Task:
$$ \pi: A \rightarrow 2^R $$
Fair Division
Backdrop:
Goal: The allocation \( \pi \) creates no envy
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
π β {π°,π΅}
π β {π,π,βοΈ}
Β Agent a enviesΒ b in \( \pi \) if \( v_a(\pi(b)) > v_a(\pi(a)) \)
and a knows b.
(between friends)
and a social network on \( A \)
Fair Division via Social Comparison
AAMAS 2017
Rediet Abebe,
Jon M. Kleinberg, and David C. Parkes
Networked fairness in cake cutting
IJCAI 2017
Xiaohui Bei.
Youming Qiao, and Shengyu Zhang.
Preprint (2022)
Ganesh Ghalme, Xin Huang, Nidhi Rathi
Envy-Free Cake Cutting with Graph Constraints
Β Local envy-freeness in house allocation problems.
AAMAS 2018
Aurélie Beynier, Yann Chevaleyre, Laurent Gourvès, Julien Lesca, Nicolas Maudet, and Anaëlle Wilczynski.
Envy-Free Allocations Respecting Social Networks
Journal of Artifical Intelligence, 2022
&
AAMAS 2018
Robert Bredereck,
Andrzej Kaczmarczyk,
and Rolf Niedermeier.
Β
Parameterized Complexity of Envy-Free
Resource Allocation
in Social Networks
AAAI 2020
Eduard Eiben,
Robert Ganian,
Thekla Hamm,
and Sebastian Ordyniak
Preprint (2022)
Justin Payan, Rik Sengupta, Vignesh Viswanathan
Locally EFX Allocations Over a Graph
Survey (2021)
Outline
FPT Algorithm:
Solve the problem in time \(f(k)\cdot n^{O(1)}\), for some appropriate parameter \(k\).
Kernelization:
Reduce the problem in time \(n^{O(1)}\),
to an equivalent instance whose size is bounded by \(f(k)\),
for some appropriate parameter \(k\).
XP Algorithm:
Solve the problem in time \(O^\star(n^{f(k)})\), for some appropriate parameter \(k\).
FPT Algorithm:
Solve the problem in time \(f(k)\cdot n^{O(1)}\), for some appropriate parameter \(k\).
Kernelization:
Reduce the problem in time \(n^{O(1)}\),
to an equivalent instance whose size is bounded by \(f(k)\),
for some appropriate parameter \(k\).
XP Algorithm:
Solve the problem in time \(O^\star(n^{f(k)})\), for some appropriate parameter \(k\).
The art of parameterization
Useful
for real
Useful
for us
An example
Finding an efficient (PO) envy-free allocation is fixed-parameter tractable with respect to the combined parameter (n+z)
for identical monotonic additive preferences.
-
n denotes the number of agents and
-
z is the number of different values that occur in the utility functions.
\(f_j := (u_1(r_j),u_2(r_j),...,u_n(r_j)).\)
Define the signatureΒ of a resource
to be a \(n\)-tuple that collects all the utilities that agents have for said resource.
#signatures ~ \(z^n\)
\(fΒ = (u_1(Β Β ),u_2(Β Β ), \ldots\)
\(fΒ = (u_1(Β Β ),u_2(Β Β ), \ldots\)
Objects with the same signature are indistinguishable.
For each agent \(a_i \in A\) and each fingerprint \(f\):
Β
\(x_f^i\) β #of resources
with fingerprint \(f\)
allocated to agent i.
\(\forall 1 \leq p \leq n, 1 \leq q \leq n:\)
\(\sum_{f \in F} x_p^f \cdot f[p] \geq \sum_{f \in F} x_{q}^f \cdot f[p]\)
Parameters for Resource Allocation
number of agents
number of items
number of agent types
number of item types
max utility
#distinct utilities
graph parameters (e.g, vertex cover, treewidth, etc.)
domain parameters (e.g, rank/sparsity/etc. of the utility matrix)
Recap: the parameterized paradigm
Parameterized complexity: acknowledge the presence of additional structure, which manifests as a secondary measurement a parameter.
Design algorithms that restrict the combinatorial explosion
to a function of the parameter.
Undirected Graphs
Goal: Determine the existence of a
complete and locally envy-free allocation.
NP-complete
AGMW'15, HSVWX'20
(even when valuations are binary
andΒ the graph is complete).
Undirected Graphs
Goal: Determine the existence of a
complete and locally envy-free allocation.
P
even when valuations are binary and identical.*
*for connected graphs
Directed Graphs
Goal: Determine the existence of a
complete and locally envy-free allocation.
NP-hard
(even when valuations are binary and identical).
BKN'18
Undirected Graphs
Goal: Determine the existence of a
complete and locally envy-free allocation.
NP-hard
even when valuations are binary and nearlyΒ identical.
Directed Graphs
Goal: Determine the existence of a
efficientΒ and locally envy-free allocation.
P
if the social network is a DAG
BKN'18
Undirected Graphs
Goal: Determine the existence of a
efficient and locally envy-free allocation.
NP-hard
even if the social network is a path
Undirected Graphs
Goal: Determine the existence of a
efficient and locally envy-free allocation.
NP-hard
even if* the social network is a star
*general utilities
EGHO'20
Undirected Graphs
Goal: Determine the existence of a
efficientΒ and locally envy-free allocation.
W[1]-hard
parameterized by the vertex cover number for 0/1 utilities
Complete Graphs
Goal: Determine the existence of a
efficientΒ and locally envy-free allocation.
FPT
parameterized by #goods or #agents
BBN'16
Undirected Graphs
Goal: Determine the existence of a
efficientΒ and locally envy-free allocation.
FPT
parameterized by #goods or #agents
Undirected Graphs
Goal: Determine the existence of a
efficientΒ and locally envy-free allocation.
W[1]-hard
parameterized by #goods or #agents
Takeaway
Localized notions of envy...
are a natural and less restrictive model.
Takeaway
undirected graphs
v/s
directed graphs
some contrasts, some similarities...
Outline
Reductions: a framework for showing hardness
Historically
annoying
problem
Our
annoying
problem
\(\leq\)
Recipe for solving
well-known annoying problem (e.g, SAT)
via any hypothetical algorithm (A) for solving problem X:
Step 2. Run the algorithm A on q. OutputΒ β oΒ
Step 3. Return o. Profit. πΈ
π
Step 1. Reduce instance of SAT to instance of X β q
π₯
Cutting \( \ell \) vertices
Given a graph \( G \), partition its vertex set into three parts: \( (X \cup S \cup Y) \) so that:
a) \( |S| \leq k \)
b) \( |X| = \ell \)
c) There are no edges between \( X \) and \( Y \).
\( \Downarrow \)
\( G \)
\( S \)
\( Y \)
\( X \)
n happy agents
n greedy agents
one trigger agent
n happy agents
n greedy agents
one trigger agent
n happy agents
n greedy agents
one trigger agent
...based on the structure of the graph \( G \)
\( \ell \) coveted items
...liked by all agents.
\( n - \ell + 1 \) greedyΒ items
...liked by all greedy agents and the trigger agent.
\( \ell + k \) happyΒ items
...liked by all happy agents.
n happy agents
n greedy agents
one trigger agent
...based on the structure of the graph \( G \)
n happy agents
n greedy agents
one trigger agent
n happy agents
n greedy agents
one trigger agent
n happy agents
n greedy agents
one trigger agent
π‘
n happy agents
n greedy agents
one trigger agent
π‘
n happy agents
n greedy agents
one trigger agent
π
n happy agents
n greedy agents
one trigger agent
π
π
π
π
π
π
π
n happy agents
n greedy agents
one trigger agent
π
π
π
π
π
π
π
n happy agents
n greedy agents
one trigger agent
π
π
π
π
π
π
π
n happy agents
n greedy agents
one trigger agent
π
Are any of the happy agents jealous?
π
π
π
π
π
π
n happy agents
n greedy agents
one trigger agent
π
They don't envy the π-agents, since they don't value theΒ Β Β good.
π
π
π
π
π
π
n happy agents
n greedy agents
one trigger agent
π
Some of them will envy the agents who got the coveted goodsΒ Β Β .
π
π
π
π
π
π
n happy agents
n greedy agents
one trigger agent
π
Some of them will envy the agents who got the coveted goodsΒ Β Β .
π
π
π
π
π
π
n happy agents
n greedy agents
one trigger agent
π
Agents in \( X \cup S \) will envy the agents who got the coveted goodsΒ Β Β .
π
π
π
π
π
π
n happy agents
n greedy agents
one trigger agent
π
Agents in \( X \cup S \) will envy the agents who got the coveted goodsΒ Β Β .
π
π
π
π
π
π
n happy agents
n greedy agents
one trigger agent
π
Agents in \( X \cup S \) will envy the agents who got the coveted goodsΒ Β Β .
π
π
π
π
π
π
n happy agents
n greedy agents
one trigger agent
π
π
π
π
π
π
π
π
π
π
π
π
π
π
π
n happy agents
n greedy agents
one trigger agent
π
π
π
π
π
π
π
π
π
π
π
π
π
π
π
π
π
π
π
Takeaway
undirected graphs
v/s
directed graphs
some contrasts, some similarities...
Outline
future work
Open problems
Is the problem of finding efficient and locally envy-free allocations in XP when parameterized by the vertex cover of the underlying social network?
FAIRNESS CONCEPTS
Note that whenever existence is guaranteed with respect to complete graphs, it is also guaranteed with respect to any social network.
Valuations
Our study focused completely on 0/1 valuations. More general valuations, including chores, would be interesting to study further!
Cutting Cake and Distributing Candy
By Neeldhara Misra
Cutting Cake and Distributing Candy
- 107