Neeldhara Misra and Debanuj Nayak
IIT Gandhinagar
CALDAM 2022
10th February 2022
Distribute m items among n agents.
Backdrop: Agents have preferences over bundles of items.
Goal: Make everyone happy. 🙌
📦 →
🙋♀️
💐 →
🤦♀️
🍰 →
🤩
🚗 →
🤷♀️
Task:
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
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 $$
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
Backdrop: Agents have preferences over bundles of items.
Goal: Make everyone happy. 🙌
Compute an allocation
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
Backdrop:
Goal: Make everyone happy. 🙌
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow \mathbb{Z} $$
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
Backdrop:
Goal: Make everyone happy. 🙌
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
0/1 Valuations
$$ \{0,1\} $$
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
Backdrop:
Goal: Make everyone happy. 🙌
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
Additive Valuations
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
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\}) \).
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
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.
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
Backdrop:
Goal: Make everyone happy. 🙌
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
Backdrop:
Goal: Make everyone happy. 🙌
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
Backdrop:
Goal: Make everyone happy. 🤔
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
Backdrop:
Goal: Make everyone happy. 🤔
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
😀 → {🍰,🍵}
😍 → {🍔,🍟,☕️}
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
Backdrop:
Goal: Make everyone happy. 🤔
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
👀 → {🍰,🍵}
😍 → {🍔,🍟,☕️}
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
Backdrop:
Goal: Make everyone happy. 🤔
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
😬 → {🍰,🍵}
😍 → {🍔,🍟,☕️}
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
Backdrop:
Goal: Make everyone happy. 🤔
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
😠 → {🍰,🍵}
😍 → {🍔,🍟,☕️}
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
Backdrop:
Goal: Make everyone happy. 🤔
Compute an allocation
$$ \nu_\ell: 2^R \rightarrow $$
$$ \{0,1\} $$
😭 → {🍰,🍵}
😍 → {🍔,🍟,☕️}
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
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)) \)
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
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)) \)
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
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)) \)
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
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.
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
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)
Distribute m items among n agents.
Backdrop: Agents have preferences over items.
Goal: Make everyone happy. 🙌
Task:
$$ \pi: A \rightarrow 2^R $$
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.
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
Directed Graphs
Goal: Determine the existence of a
complete and locally envy-free allocation.
NP-hard
(even when valuations are binary and identical).
Undirected Graphs
Goal: Determine the existence of a
complete and locally envy-free allocation.
P
even when valuations are binary and identical.
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
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 (for general utilities)
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
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
Localized notions of envy...
are a natural and less restrictive model.
undirected graphs
v/s
directed graphs
some contrasts, some similarities...
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
😎
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
😎
😀
😀
😀
😀
😀
😀
😀
😀
😀
😀
😀
😀
😀
😀
😀
😀
😀
😀
undirected graphs
v/s
directed graphs
some contrasts, some similarities...
Is the problem of finding efficient and locally envy-free allocations in XP when parameterized by the vertex cover of the underlying social network?
Note that whenever existence is guaranteed with respect to complete graphs, it is also guaranteed with respect to any social network.
Our study focused completely on 0/1 valuations. More general valuations, including chores, would be interesting to study further!