Popular Matchings: Structure and Cheating Strategies€¦ · Popular Matchings: Structure and...
Transcript of Popular Matchings: Structure and Cheating Strategies€¦ · Popular Matchings: Structure and...
Popular Matchings: Structure and CheatingStrategies
Meghana Nasre
April 19, 2013.
Setup
Input
• Set of agents A and set of posts P.
• Agents rank posts according to individual preferences.
Goal
• Compute a good assignment of agents to posts.
a
a
a
1
2
3
1 2 3 4 5
1
1
2
23 4 5
1
3
2 3
p p p p p
• Relevant in matching students to housing, NETflix, ...
• Preferences may be strict..
Setup
Input
• Set of agents A and set of posts P.
• Agents rank posts according to individual preferences.
Goal
• Compute a good assignment of agents to posts.
a
a
a
1
2
3
1 2 3 4 5
1
1
2
23 4 5
1
3
2 3
p p p p p
• Relevant in matching students to housing, NETflix, ...
• Preferences may be strict..
Setup
Input
• Set of agents A and set of posts P.
• Agents rank posts according to individual preferences.
Goal
• Compute a good assignment of agents to posts.
a
a
a
1
2
3
1 2 3 4 5
1
1
2
23 4 5
1
3
2 3
p p p p p
• Relevant in matching students to housing, NETflix, ...
• Preferences may be strict..
Setup
Input
• Set of agents A and set of posts P.
• Agents rank posts according to individual preferences.
Goal
• Compute a good assignment of agents to posts.
a
a
a
1
2
3
1 2 3 4 5
1
1
2
23 4 5
1
3
2 3
p p p p p
• Relevant in matching students to housing, NETflix, ...
• Preferences may be strict..
Setup
Input
• Set of agents A and set of posts P.
• Agents rank posts according to individual preferences.
Goal
• Compute a good assignment of agents to posts.
a
a
a
1
2
3
1 2 3 4 5
1
1
2
2
1
3
2
p p p p p
1
22
3 4
• Relevant in matching students to housing, NETflix, ...
• Preferences may be strict or can contain ties.
Setup
Input
• G = (A ∪ P,E ); edge set E is ranked.
A P
a
a
a
1
2
3
1 2 3 4 5
1
1
2
23 4 5
1
3
2 3
p p p p p a
a
a
1
2
3
p
p
p
p
p
1
2
3
4
5
Setup
Input
• G = (A ∪ P,E ); edge set E is ranked.
Output
• A matching M in G .
A P
a
a
a
1
2
3
1 2 3 4 5
1
1
2
23 4 5
1
3
2 3
p p p p p a
a
a
1
2
3
p
p
p
p
p
1
2
3
4
5
• Several notions of optimality – rank-maximality, popularity,fairness...
Setup
Input
• G = (A ∪ P,E ); edge set E is ranked.
Output
• A matching M in G .
A P
a
a
a
1
2
3
1 2 3 4 5
1
1
2
23 4 5
1
3
2 3
p p p p p a
a
a
1
2
3
p
p
p
p
p
1
2
3
4
5
• Several notions of optimality – rank-maximality, popularity,fairness...
Popular matching – definition
• An agent compares two matchings M1 and M2 using votes.
• Matching that gets more votes is the better of the two.
M2
M1
a
a
a
1
2
3
1 2 3 4 5
1
1
2
23 4 5
1
3
2 3
a
a
a
1
2
3
1 2 3 5
1
1
2
23 4 5
1
3
2 3
4p p p p p p p p p p
• M1 � M2.
• M is popular if no matching M ′ is more popular than M.
• Instance may admit no popular matching.
• Instance may admit many popular matchings.
Popular matching – definition
• An agent compares two matchings M1 and M2 using votes.
• Matching that gets more votes is the better of the two.
M2
M1
a
a
a
1
2
3
1 2 3 4 5
1
1
2
23 4 5
1
3
2 3
a
a
a
1
2
3
1 2 3 5
1
1
2
23 4 5
1
3
2 3
4p p p p p p p p p p
• M1 � M2.
• M is popular if no matching M ′ is more popular than M.
• Instance may admit no popular matching.
• Instance may admit many popular matchings.
Popular matching – definition
• An agent compares two matchings M1 and M2 using votes.
• Matching that gets more votes is the better of the two.
M2
M1
a
a
a
1
2
3
1 2 3 4 5
1
1
2
23 4 5
1
3
2 3
a
a
a
1
2
3
1 2 3 5
1
1
2
23 4 5
1
3
2 3
4p p p p p p p p p p
• M1 � M2.
• M is popular if no matching M ′ is more popular than M.
• Instance may admit no popular matching.
• Instance may admit many popular matchings.
Popular matching – definition
• An agent compares two matchings M1 and M2 using votes.
• Matching that gets more votes is the better of the two.
M2
M1
a
a
a
1
2
3
1 2 3 4 5
1
1
2
23 4 5
1
3
2 3
a
a
a
1
2
3
1 2 3 5
1
1
2
23 4 5
1
3
2 3
4p p p p p p p p p p
• M1 � M2.
• M is popular if no matching M ′ is more popular than M.
• Instance may admit no popular matching.
• Instance may admit many popular matchings.
Popular matching – definition
• An agent compares two matchings M1 and M2 using votes.
• Matching that gets more votes is the better of the two.
M2
M1
a
a
a
1
2
3
1 2 3 4 5
1
1
2
23 4 5
1
3
2 3
a
a
a
1
2
3
1 2 3 5
1
1
2
23 4 5
1
3
2 3
4p p p p p p p p p p
• M1 � M2.
• M is popular if no matching M ′ is more popular than M.
• Instance may admit no popular matching.
• Instance may admit many popular matchings.
This talk..
A centralized matching market.
• Assume: Input instance admits a popular matching.
• A central authority chooses any popular matching.
• A manipulative agent – a1.• a1 is aware of the true preferences of everybody.
• Goal: a1 wants to manipulate to get better always.• Other agents do not change preferences.
• What is a1’s best strategy?
• What if all agents are manipulative?
This talk..
A centralized matching market.
• Assume: Input instance admits a popular matching.
• A central authority chooses any popular matching.
• A manipulative agent – a1.• a1 is aware of the true preferences of everybody.
• Goal: a1 wants to manipulate to get better always.• Other agents do not change preferences.
• What is a1’s best strategy?
• What if all agents are manipulative?
This talk..
A centralized matching market.
• Assume: Input instance admits a popular matching.
• A central authority chooses any popular matching.
• A manipulative agent – a1.• a1 is aware of the true preferences of everybody.
• Goal: a1 wants to manipulate to get better always.• Other agents do not change preferences.
• What is a1’s best strategy?
• What if all agents are manipulative?
Background
• Notion of popularity – introduced by Gardenfors in 1975.• Initially defined in the context of stable marriage problem.
• Abraham et al. – popularity in one-sided preferences (SODA 05).
• In terms of strategic issues• Strategic issues of stable marriage/ roommates well
understood.Teo et al. (Mgmt Sci 01), Huang (STACS 07).
• Our study is in similar spirit for popularity.
Background
• Notion of popularity – introduced by Gardenfors in 1975.• Initially defined in the context of stable marriage problem.
• Abraham et al. – popularity in one-sided preferences (SODA 05).
• In terms of strategic issues• Strategic issues of stable marriage/ roommates well
understood.Teo et al. (Mgmt Sci 01), Huang (STACS 07).
• Our study is in similar spirit for popularity.
Background
• Notion of popularity – introduced by Gardenfors in 1975.• Initially defined in the context of stable marriage problem.
• Abraham et al. – popularity in one-sided preferences (SODA 05).
• In terms of strategic issues• Strategic issues of stable marriage/ roommates well
understood.Teo et al. (Mgmt Sci 01), Huang (STACS 07).
• Our study is in similar spirit for popularity.
Background
• Notion of popularity – introduced by Gardenfors in 1975.• Initially defined in the context of stable marriage problem.
• Abraham et al. – popularity in one-sided preferences (SODA 05).
• In terms of strategic issues• Strategic issues of stable marriage/ roommates well
understood.Teo et al. (Mgmt Sci 01), Huang (STACS 07).
• Our study is in similar spirit for popularity.
Outline
• Strict preferences.• Characterization of popular matchings.• Switching graph.• A single manipulative agent.• All agents are manipulative.
• Ties• Characterization of popular matchings.• Switching graph.
prior to this, switching graph for ties was open
• Summary.
Strict preferences
Popular matchings: characterization Abraham et al. SICOMP 07
• Uses notion of f -post and s-post for an agent.
• f -post: rank-1 post for an agent.
• s-post: most preferred non-f -post.
a
p p p p p1 2 3 4 5
a
a
a
1
2
3
4
2
2
1
1
1
1
3
3 2 4
34
43
5
25
• s-post may be a dummy last-resort post in some cases.
Popular matchings: characterization Abraham et al. SICOMP 07
• Uses notion of f -post and s-post for an agent.
• f -post: rank-1 post for an agent.
• s-post: most preferred non-f -post.
a
p p p p p1 2 3 4 5
a
a
a
1
2
3
4
2
2
1
1
1
1
3
3 2 4
34
43
5
25
• s-post may be a dummy last-resort post in some cases.
Popular matchings: characterization Abraham et al. SICOMP 07
• Uses notion of f -post and s-post for an agent.
• f -post: rank-1 post for an agent.
• s-post: most preferred non-f -post.
a
p p p p p1 2 3 4 5
a
a
a
1
2
3
4
2
2
1
1
1
1
3
3 2 4
34
43
5
25
• s-post may be a dummy last-resort post in some cases.
Popular matchings: characterization Abraham et al. SICOMP 07
• Uses notion of f -post and s-post for an agent.
• f -post: rank-1 post for an agent.
• s-post: most preferred non-f -post.
a
p p p p p1 2 3 4 5
a
a
a
1
2
3
4
2
2
1
1
1
1
3
3 2 4
34
43
5
a
a
a
a
p
p
p
1 1
2 2
33
4
4
reduced graph G’
25
p
p5
• s-post may be a dummy last-resort post in some cases.
Popular matchings: characterization Abraham et al. SICOMP 07
• A matching M is popular iff:
1. M matches all f -posts (the red posts).2. M matches each agent a to either f (a) or s(a).
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
a popular matching
a
p p p p p1 2 3 4 5
a
a
a
1
2
3
4
2
2
1
1
1
1
3
3 2 4
34
43
5
25
Popular matchings: characterization Abraham et al. SICOMP 07
• A matching M is popular iff:
1. M matches all f -posts (the red posts).2. M matches each agent a to either f (a) or s(a).
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
a popular matching
a
p p p p p1 2 3 4 5
a
a
a
1
2
3
4
2
2
1
1
1
1
3
3 2 4
34
43
5
25
Popular matchings: characterization Abraham et al. SICOMP 07
• A matching M is popular iff:
1. M matches all f -posts (the red posts).2. M matches each agent a to either f (a) or s(a).
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
a popular matching
a
p p p p p1 2 3 4 5
a
a
a
1
2
3
4
2
2
1
1
1
1
3
3 2 4
34
43
5
25
Popular matchings: characterization Abraham et al. SICOMP 07
• A matching M is popular iff:
1. M matches all f -posts (the red posts).2. M matches each agent a to either f (a) or s(a).
a
p p p p p1 2 3 4 5
a
a
a
1
2
3
4
2
2
1
1
1
1
3
3 2 4
34
43
5
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
25
another pop. matching
• An O(m + n) time algorithm for strict lists.
Popular matchings: characterization Abraham et al. SICOMP 07
• A matching M is popular iff:
1. M matches all f -posts (the red posts).2. M matches each agent a to either f (a) or s(a).
a
p p p p p1 2 3 4 5
a
a
a
1
2
3
4
2
2
1
1
1
1
3
3 2 4
34
43
5
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
25
another pop. matching
• An O(m + n) time algorithm for strict lists.
Recall.. our problem
• A centralized matching market.
• Central authority chooses any popular matching.
• A manipulative agent – a1.• a1 is aware of the true preferences of everybody.• Other agents do not change preferences.
What does a1 get when every one is truthful?
• since M is popular, M(a1) ∈ {f (a1), s(a1)}.• identify edges (a1, p) such that (a1, p) belongs to some pop.
mat.
Recall.. our problem
• A centralized matching market.
• Central authority chooses any popular matching.
• A manipulative agent – a1.• a1 is aware of the true preferences of everybody.• Other agents do not change preferences.
What does a1 get when every one is truthful?
• since M is popular, M(a1) ∈ {f (a1), s(a1)}.• identify edges (a1, p) such that (a1, p) belongs to some pop.
mat.
Switching graph
Switching graph Mc Dermid and Irving. JOCO 11
Start with a pop. mat. M⇓ switch
to another pop. mat. M ′
• GM = (P,EM); vertices: posts in G ; edges: agents in G .
• Edges of GM : defined w.r.t a popular matching M in G .
Switching graph Mc Dermid and Irving. JOCO 11
Start with a pop. mat. M⇓ switch
to another pop. mat. M ′
• GM = (P,EM); vertices: posts in G ; edges: agents in G .
• Edges of GM : defined w.r.t a popular matching M in G .
Switching graph Mc Dermid and Irving. JOCO 11
• GM = (P,EM); vertices: posts in G ; edges: agents in G .
• Edges of GM : defined w.r.t a popular matching M in G .
a
p p p p p1 2 3 4 5
a
a
a
1
2
3
4
2
2
1
1
1
1
3
3 2 4
34
43
5
25
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
reduced graph
a popular matching
• For a, define M(a) and OM(a).
Switching graph Mc Dermid and Irving. JOCO 11
• GM = (P,EM); vertices: posts in G ; edges: agents in G .
• Edges of GM : defined w.r.t a popular matching M in G .
a
p p p p p1 2 3 4 5
a
a
a
1
2
3
4
2
2
1
1
1
1
3
3 2 4
34
43
5
25
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
reduced graph
a popular matching
• For a, define M(a) and OM(a).
Switching graph Mc Dermid and Irving. JOCO 11
• GM = (P,EM); vertices: posts in G ; edges: agents in G .
• Edges of GM : defined w.r.t a popular matching M in G .
a
p p p p p1 2 3 4 5
a
a
a
1
2
3
4
2
2
1
1
1
1
3
3 2 4
34
43
5
25
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
reduced graph
p2
p3
p1
p4
p5
a popular matchingswitching graph
• For a, define M(a) and OM(a). Edge from M(a) to OM(a).
Switching graph Mc Dermid and Irving. JOCO 11
• GM = (P,EM); vertices: posts in G ; edges: agents in G .
• Edges of GM : defined w.r.t a popular matching M in G .
a
p p p p p1 2 3 4 5
a
a
a
1
2
3
4
2
2
1
1
1
1
3
3 2 4
34
43
5
25
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
reduced graph
p2
p3
p1
p4
p5
a popular matchingswitching graph
• For a, define M(a) and OM(a). Edge from M(a) to OM(a).
Switching graph Mc Dermid and Irving. JOCO 11
• GM = (P,EM); vertices: posts in G ; edges: agents in G .
• Edges of GM : defined w.r.t a popular matching M in G .
a
p p p p p1 2 3 4 5
a
a
a
1
2
3
4
2
2
1
1
1
1
3
3 2 4
34
43
5
25
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
reduced graph
a popular matchingswitching graph
p2
p3
p4
p1
p5
a1
• For a, define M(a) and OM(a). Edge from M(a) to OM(a).
Switching graph Mc Dermid and Irving. JOCO 11
• GM = (P,EM); vertices: posts in G ; edges: agents in G .
• Edges of GM : defined w.r.t a popular matching M in G .
a
p p p p p1 2 3 4 5
a
a
a
1
2
3
4
2
2
1
1
1
1
3
3 2 4
34
43
5
25
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
reduced graph
a popular matchingswitching graph
p2
p3
p4
p1
p5
a2
a1
• For a, define M(a) and OM(a). Edge from M(a) to OM(a).
Switching graph Mc Dermid and Irving. JOCO 11
• GM = (P,EM); vertices: posts in G ; edges: agents in G .
• Edges of GM : defined w.r.t a popular matching M in G .
a
p p p p p1 2 3 4 5
a
a
a
1
2
3
4
2
2
1
1
1
1
3
3 2 4
34
43
5
25
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
reduced graph
a popular matchingswitching graph
p2
p3
p4
p1
p5
a2
a1 a
3a
4
• For a, define M(a) and OM(a). Edge from M(a) to OM(a).
Switching graph Mc Dermid and Irving. JOCO 11
• GM = (P,EM); vertices: posts in G ; edges: agents in G .
• Edges of GM : defined w.r.t a popular matching M in G .
a
p p p p p1 2 3 4 5
a
a
a
1
2
3
4
2
2
1
1
1
1
3
3 2 4
34
43
5
25
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
reduced graph
a popular matchingswitching graph
p2
p3
p4
p1
p5
a2
a1 a
3a
4
• Switching path p5, p1, p4.
Switching graph Mc Dermid and Irving. JOCO 11
• GM = (P,EM); vertices: posts in G ; edges: agents in G .
• Edges of GM : defined w.r.t a popular matching M in G .
a
p p p p p1 2 3 4 5
a
a
a
1
2
3
4
2
2
1
1
1
1
3
3 2 4
34
43
5
25
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
a
a
a
a
p
p
p
p
1 1
2 2
33
4
4
p5
reduced graph
switching graph
p2
p3
p4
p5
a
aa
3a
4
another popular matching
p1
1
2
• Switching path p5, p1, p4.
Switching graph Mc Dermid and Irving. JOCO 11
• GM = (P,EM); vertices: posts in G ; edges: agents in G .
• Edges of GM : defined w.r.t a popular matching M in G .
• For a, define M(a) and OM(a). Edge from M(a) to OM(a).
• Reduced graph has exactly two edges per agent.
• Switching graph is extremely simple!
cycle componenttree component
Switching graph Mc Dermid and Irving. JOCO 11
• GM = (P,EM); vertices: posts in G ; edges: agents in G .
• Edges of GM : defined w.r.t a popular matching M in G .
• For a, define M(a) and OM(a). Edge from M(a) to OM(a).
• Reduced graph has exactly two edges per agent.
• Switching graph is extremely simple!
cycle componenttree component
Switching graph Mc Dermid and Irving. JOCO 11
• GM = (P,EM); vertices: posts in G ; edges: agents in G .
• Edges of GM : defined w.r.t a popular matching M in G .
• For a, define M(a) and OM(a). Edge from M(a) to OM(a).
• Reduced graph has exactly two edges per agent.
• Switching graph is extremely simple!
cycle componenttree component
Switching graph
• GM = (P,EM); vertices: posts in G ; edges: agents in G .
• Edges of GM : defined w.r.t. a popular matching M in G .
• For a, define M(a) and OM(a). Edge from M(a) to OM(a).
• Reduced graph has exactly two edges.
• Switching graph is extremely simple!
cycle componenttree component
agents stuck with their posts
Switching graph
• GM = (P,EM); vertices: posts in G ; edges: agents in G .
• Edges of GM : defined w.r.t. a popular matching M in G .
• For a, define M(a) and OM(a). Edge from M(a) to OM(a).
• Reduced graph has exactly two edges.
• Switching graph is extremely simple!
cycle component
agents stuck with their posts
tree component
agents can switch
Partition set of agents
cycle component
agents stuck with their posts
tree component
agents can switch
Af
Ab
A = Af ∪ As ∪ Af /s
• Af ⇒ agents that get matched to f -post always.
• As ⇒ agents that get matched to s-post always.
• Af /s ⇒ agents that get matched to f -post sometime, s-postat others.
Partition set of agents
cycle component
agents stuck with their posts
tree component
agents can switch
Af
Ab
A = Af ∪ As ∪ Af /s
• Af ⇒ agents that get matched to f -post always.
• As ⇒ agents that get matched to s-post always.
• Af /s ⇒ agents that get matched to f -post sometime, s-postat others.
Manipulative agent
Manipulative agent a1
What partition does a1 belong when every one is truthful?
cycle component
agents stuck with their posts
tree component
agents can switch
Af
Ab
A = Af ∪ As ∪ Af /s
• If a1 ∈ Af , every pop. mat in G matches a1 to f (a1).
• Recall other agents remain truthful.
• Hence, true preference list is optimal for a1.
What if a1 belongs to As or Af /s?
Manipulative agent a1
What partition does a1 belong when every one is truthful?
cycle component
agents stuck with their posts
tree component
agents can switch
Af
Ab
A = Af ∪ As ∪ Af /s
• If a1 ∈ Af , every pop. mat in G matches a1 to f (a1).
• Recall other agents remain truthful.
• Hence, true preference list is optimal for a1.
What if a1 belongs to As or Af /s?
Manipulative agent a1
What partition does a1 belong when every one is truthful?
cycle component
agents stuck with their posts
tree component
agents can switch
Af
Ab
A = Af ∪ As ∪ Af /s
• If a1 ∈ Af , every pop. mat in G matches a1 to f (a1).
• Recall other agents remain truthful.
• Hence, true preference list is optimal for a1.
What if a1 belongs to As or Af /s?
Manipulative agent a1
What partition does a1 belong when every one is truthful?
cycle component
agents stuck with their posts
tree component
agents can switch
Af
Ab
A = Af ∪ As ∪ Af /s
• If a1 ∈ Af , every pop. mat in G matches a1 to f (a1).
• Recall other agents remain truthful.
• Hence, true preference list is optimal for a1.
What if a1 belongs to As or Af /s?
Manipulative agent a1
What partition does a1 belong when every one is truthful?
cycle component
agents stuck with their posts
tree component
agents can switch
Af
Ab
A = Af ∪ As ∪ Af /s
• If a1 ∈ Af , every pop. mat in G matches a1 to f (a1).
• Recall other agents remain truthful.
• Hence, true preference list is optimal for a1.
What if a1 belongs to As or Af /s?
As agent
a1 : f1, p1, p2, . . . , pk , s1, . . .
Always gets matched to s1 by being truthful.
• Recall a1 belongs to the tree part of a cycle component in GM .
s1
a1
f1
tree component cycle component
• Can a1 get matched to f1 by manipulation?No! There is no way to switch other agents.
As agent
a1 : f1, p1, p2, . . . , pk , s1, . . .
Always gets matched to s1 by being truthful.
• Recall a1 belongs to the tree part of a cycle component in GM .
s1
a1
f1
tree component cycle component
• Can a1 get matched to f1 by manipulation?No! There is no way to switch other agents.
As agent
a1 : f1, p1, p2, . . . , pk , s1, . . .
Always gets matched to s1 by being truthful.
• Recall a1 belongs to the tree part of a cycle component in GM .
s1
a1
f1
tree component cycle component
• Can a1 get matched to f1 by manipulation?
No! There is no way to switch other agents.
As agent
a1 : f1, p1, p2, . . . , pk , s1, . . .
Always gets matched to s1 by being truthful.
• Recall a1 belongs to the tree part of a cycle component in GM .
s1
a1
f1
tree component cycle component
• Can a1 get matched to f1 by manipulation?No! There is no way to switch other agents.
As agent
a1 : f1, p1, p2, . . . , pk , s1, . . .
Always gets matched to s1 by being truthful.
• Recall a1 belongs to the tree part of a cycle component in GM .
s1
a1
f1
tree component cycle component
pi
• Can a1 get matched to one of p1, . . . , pk by manipulation?Yes! Provided one of pi belongs to a tree component.
As agent
a1 : f1, p1, p2, . . . , pk , s1, . . .
Always gets matched to s1 by being truthful.
• Recall a1 belongs to the tree part of a cycle component in GM .
s1
a1
f1
tree component cycle component
pi
Theorem: a1 can cheat if and only if one of pi belongs to a treecomponent.
As agent
a1 : f1, p1, p2, . . . , pk , s1, . . .a1 : pi , s
If part: If one of pi belongs to a tree component, a1 can getmatched to it always.
s1
a1
f1
tree component cycle component
pi
s
Note: This change does not affect s(a) for others.
As agent
a1 : f1, p1, p2, . . . , pk , s1, . . .a1 : pi , s
If part: If one of pi belongs to a tree component, a1 can getmatched to it always.
s1
a1
f1
tree component cycle component
pi
s
Note: This change does not affect s(a) for others.
As agent
a1 : f1, p1, p2, . . . , pk , s1, . . .a1 : pi , s
If part: If one of pi belongs to a tree component, a1 can getmatched to it always.
s1
a1
f1
tree component cycle component
pi
s
Note: This change does not affect s(a) for others.
As agent
a1 : f1, p1, p2, . . . , pk , s1, . . .a1 : pi , s
If part: If one of pi belongs to a tree component, a1 can getmatched to it always.
s1
a1
f1
tree component cycle component
pi
s
• Apply the switching path starting at pi .
• This makes pi unmatched.
As agent
a1 : f1, p1, p2, . . . , pk , s1, . . .a1 : pi , s
If part: If one of pi belongs to a tree component, a1 can getmatched to it always.
s1
a1
f1
tree component cycle component
pi
s
• Apply the switching path starting at pi .
• This makes pi unmatched.
As agent
a1 : f1, p1, p2, . . . , pk , s1, . . .a1 : pi , s
If part: If one of pi belongs to a tree component, a1 can getmatched to it always.
s1
f1
tree component cycle component
a1
pi
s
• Assign pi to a1.
• Ensures that every pop. mat. assigns a1 to pi .
As agent
a1 : f1, p1, p2, . . . , pk , s1, . . .a1 : pi , s
If part: If one of pi belongs to a tree component, a1 can getmatched to it always.
s1
f1
tree component cycle component
a1
pi
s
• Assign pi to a1.
• Ensures that every pop. mat. assigns a1 to pi .
Af /s agent
a1 : f1, p1, p2, . . . , pk , s1, . . .
Gets matched to f1 sometimes, and to s1 at other times.
• Recall a1 belongs to a cycle or a tree component in GM .
tree component cycle component
f1
a1
s1
s
• Can she get matched to f1 always by cheating?Yes, provided there exists another cycle component in GM .
Theorem: a1 can cheat iff there exists a cycle component in GM
not containing a1.
Af /s agent
a1 : f1, p1, p2, . . . , pk , s1, . . .
Gets matched to f1 sometimes, and to s1 at other times.
• Recall a1 belongs to a cycle or a tree component in GM .
tree component cycle component
f1
a1
s1
s
• Can she get matched to f1 always by cheating?Yes, provided there exists another cycle component in GM .
Theorem: a1 can cheat iff there exists a cycle component in GM
not containing a1.
Af /s agent
a1 : f1, p1, p2, . . . , pk , s1, . . .
Gets matched to f1 sometimes, and to s1 at other times.
• Recall a1 belongs to a cycle or a tree component in GM .
tree component cycle component
f1
a1
s1
s
• Can she get matched to f1 always by cheating?
Yes, provided there exists another cycle component in GM .
Theorem: a1 can cheat iff there exists a cycle component in GM
not containing a1.
Af /s agent
a1 : f1, p1, p2, . . . , pk , s1, . . .
Gets matched to f1 sometimes, and to s1 at other times.
• Recall a1 belongs to a cycle or a tree component in GM .
tree component cycle component
f1
a1
s1
s
• Can she get matched to f1 always by cheating?Yes, provided there exists another cycle component in GM .
Theorem: a1 can cheat iff there exists a cycle component in GM
not containing a1.
Af /s agent
a1 : f1, p1, p2, . . . , pk , s1, . . .
Gets matched to f1 sometimes, and to s1 at other times.
• Recall a1 belongs to a cycle or a tree component in GM .
tree component cycle component
f1
a1
s1
s
• Can she get matched to f1 always by cheating?Yes, provided there exists another cycle component in GM .
Theorem: a1 can cheat iff there exists a cycle component in GM
not containing a1.
Af /s agent
a1 : f1, p1, p2, . . . , pk , s1, . . .a1 : f1, s
If part: If there exists a cycle component in GM not containing a1,then a1 can get matched to f1 always.
tree component cycle component
f1
a1
s1
s
Af /s agent
a1 : f1, p1, p2, . . . , pk , s1, . . .a1 : f1, s
If part: If there exists a cycle component in GM not containing a1,then a1 can get matched to f1 always.
tree component cycle component
f1
a1
s1
s
Af /s agent
a1 : f1, p1, p2, . . . , pk , s1, . . .a1 : f1, s
If part: If there exists a cycle component in GM not containing a1,then a1 can get matched to f1 always.
tree component cycle component
f1
s1
s
a1
Complexity of computing strategy
• Strategy requires simple checks which are linear in size ofswitching graph.
Theorem: Optimal cheating strategy for a1 can be computed inO(m + n) time for strict lists.
Complexity of computing strategy
• Strategy requires simple checks which are linear in size ofswitching graph.
Theorem: Optimal cheating strategy for a1 can be computed inO(m + n) time for strict lists.
A non co-operative game
• All agents are manipulative.
• All agents have complete information.
• Do I manipulate if all other agents remain truthful?
• If answer is NO for every agent, then true preferences form aNash equilibrium.
• Using our strategy, possible to decide in O(m + n) time if truepreferences form an equilibrium.uses simple checks on switching graph.
A non co-operative game
• All agents are manipulative.
• All agents have complete information.
• Do I manipulate if all other agents remain truthful?
• If answer is NO for every agent, then true preferences form aNash equilibrium.
• Using our strategy, possible to decide in O(m + n) time if truepreferences form an equilibrium.uses simple checks on switching graph.
A non co-operative game
• All agents are manipulative.
• All agents have complete information.
• Do I manipulate if all other agents remain truthful?
• If answer is NO for every agent, then true preferences form aNash equilibrium.
• Using our strategy, possible to decide in O(m + n) time if truepreferences form an equilibrium.uses simple checks on switching graph.
A non co-operative game
• All agents are manipulative.
• All agents have complete information.
• Do I manipulate if all other agents remain truthful?
• If answer is NO for every agent, then true preferences form aNash equilibrium.
• Using our strategy, possible to decide in O(m + n) time if truepreferences form an equilibrium.uses simple checks on switching graph.
Ties
Preference lists with ties
Challenges
• The characterization of popular matchings is more involved.Abraham et al. SICOMP 07
• Uses well known Dulmage Mendelson decomposition.
• Prior to this, no switching graph was known for ties.
• Switch. graph is a collection of sink and non-sink components.
S NS
Preference lists with ties
Challenges
• The characterization of popular matchings is more involved.Abraham et al. SICOMP 07
• Uses well known Dulmage Mendelson decomposition.
• Prior to this, no switching graph was known for ties.
• Switch. graph is a collection of sink and non-sink components.
S NS
Strategic issues – ties
• Using switching graph, develop a cheating strategy formanipulative agent.
• Strategies remain similar in spirit – require more work forproofs.
Theorem: Optimal cheating strategy for a1 can be computed inO(√nm) time for the case of ties.
Strategic issues – ties
• Using switching graph, develop a cheating strategy formanipulative agent.
• Strategies remain similar in spirit – require more work forproofs.
Theorem: Optimal cheating strategy for a1 can be computed inO(√nm) time for the case of ties.
Summary:
• Study of strategic issues of popular matching.
• A switching graph characterization for ties.
• Counting number of pop. mat. for ties is #P − complete.This is in contrast with strict lists.
Extensions:
• How can agents co-operate to get better always?
• Other ways to define improvement rather than better always?
• Cheating strategies for other measures – like rank-maximality,fairness?
Thank You.
Popular matchings: need not exist
a
a
a
p p p
1
2
3
1 2 3
1 2 3
1
1
2
2
3
3
a
a
a
p p p
1
2
3
1 2 3
1 2 3
1
1
2
2
3
3
a
a
a
p p p
1
2
3
1 2 3
1 2 3
1
1
2
2
3
3
MM1 2
M3
More popular than relation is not transitive.