popular matchings: structure and cheating strategies€¦ · popular matchings: structure and...

Post on 24-Jun-2020

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

top related