Computer Science / Software Engineering Notes Network

Algorithmic Game Theory

Matthew Barnes

Appendix        2

Normal / Extensive Form Games        3

Normal Form Games        3

Extensive Form Games        6

Intro to Algorithmic Mechanism Design        7

Auctions as Mechanisms        9

Intro to Bayesian Games        9

Basics of Mechanisms        12

Bayesian Game Settings        12

Bayes-Nash Equilibrium        15

Dominant-Strategy Truthfulness        18

Vickrey-Clarke Groves (VCG) Mechanism        19

Direct Quasilinear Mechanisms        19

Groves Mechanisms        21

Vickrey-Clarke-Groves (VCG) Mechanisms        22

VCG Examples        24

Properties of VCG        27

Truthfulness        27

Individual Rationality        28

Budget Balance        29

Revelation Principle        31

Revelation Principle        32

Characterisation of DS Truthful Mechanisms        34

Dominant Strategy Implementation        36

Implementable Choice Rules        36

The Case for Unrestricted Quasilinear Settings        38

The Case for Single Dimensional Settings        40

Optimal Auctions        43

Example of an Optimal Auction        44

Myerson’s Theorem        46

Stable Matching (SM)        48

Gale-Shapley Algorithm        50

GS Returns Stable Matching Proof        52

Extensions of Stable Matching        53

Optimal Stable Matchings        55

DS Truthfulness        57

Hospital Residents Problem (HR)        60

Resident-oriented GS (RGS)        62

Hospital-oriented GS (HGS)        63

Theorems        64

Hospital Residents Problem with Couples (HRC)        65

Stable Roommates (SR)        66

Irving’s Algorithm        68

Phase 1        69

Phase 2        70

One-Sided Matching        74

With Initial Ownership        74

Top Trading Cycle (TTC)        75

You Request My House - I Get Your Turn (YRMH-IGYT)        77

Without Initial Ownership        78

Random Serial Dictatorship        78

Probabilistic Serial Mechanism        82

Secretary Problem        86

Calculating P(Si)        87

Calculating P(S)        89

Optimal k for smaller values of n        89

Sponsored Search Auctions        90

Generalised Second Price        90

Voting        91

Social Choice Theory        91

Voting Algorithms        91

Majority Rule        91

Condorcet’s Method        91

Plurality Voting        91

Borda Count        91

Sequential Pairwise Voting        91

The Hare System        91

Approval Voting        91

Arrow’s Impossibility Theorem        91

Appendix

Normal / Extensive Form Games

Normal Form Games

0

1

0

a0,0, b0,0

a0,1, b0,1

1

a1,0, b1,0

a1,1, b1,1

Payoff matrix for row player

Payoff matrix for column player

Primal problem

Dual problem

max

s.t.

min

s.t

  1. Completeness
  2. Transitivity
  3. Continuity
  4. Independence

Extensive Form Games

Intro to Algorithmic Mechanism Design

Example

1994 Carribean cup qualification

  • A good example is a football cup:
  • Goal of participating teams is to win the cup
  • Goal of designer is to make it fun
  • The designer’s goal is not to have participants scoring their own goals, because that’s no fun...
  • ... but will that stop them?

  • Here’s how it went down:
  1. To go through, Barbados needed to win with a goal difference of ≥ 2.
  2. Barbados leads 2-0. So far, they go through, and Grenada is out!
  3. Grenada scores, making it 2-1. So, Barbados is out!
  4. Barbados deliberately scores into their own net, making it 2-2!
  5. Grenada figures out what Barbados is planning to do, and they come up with a plan of their own: if they score a goal in either net before 90 minutes is up, they go through!
  6. Barbados has to defend both nets from the goal! No goal is scored!
  7. Barbados scores a goal in overtime, which counts twice, making it 4-2 and qualifies to the next round. Grenada is out!

  • If none of that meant anything to you, then just think of it like this:
  • Barbados exploited the rules of the game and scored in their own goal so they could increase their chances of winning.
  • Isn’t the whole point of football to score in your opponent’s goal? That’s how it was designed.
  • You shouldn’t have to score own-goals to try and win...

  • If you don’t like football, then perhaps watch some speedruns at GDQ. Speedrunners break design rules all the time!

Bahar likes football, so football examples it is.

Auctions as Mechanisms

summary pls

Auctions

  • Four types of auctions:
  • English (people shout ascending prices from a reservation price)
  • Dutch (price goes down until someone bids)
  • First-price sealed-bid (highest bidder pays their bid)
  • Vickrey (highest bidder pays second highest bid)

  •  strategic bidders
  • Each bidder  has private valuation
  • Bidder utility model is quasilinear utility model
  • If  loses and pays , utility is
  • If  wins and pays , utility is

  • Independent private value model: bidder valuation does not depend on other bidders’ valuations
  • Bidders cannot collude.

  •  is the bid placed by bidder .
  •  is the bid profile of all bidders.
  • The set of actions for each player is the set of possible bids they can place.
  •  is the utility of player  given bid profile .
  • The payoff (utility) of bidder  depends allocation + payment, which depends on everyone’s bids.

Intro to Bayesian Games

💡 NOTE

There are three stages of a Bayesian game:

Ex-ante: the player knows nothing about anyone’s types, even their own

Interim: the player knows their own type, but nobody else’s.

Ex-post: the player knows all players’ types.

Typically, when we reason with Bayesian games, we’re referring to the interim stage.

For more information, I suggest checking out this cheat sheet.

Example

Sheriff’s Dilemma Part 1: Phantom Bayesian Game

  • Here is a simple example of a Bayesian game I found on Wikipedia.

  • A sheriff faces off against an armed suspect.
  • Both decide whether to shoot the other or not (we’ll call not shooting ‘idling’).

  • The suspect has two types: ‘civilian or ‘criminal.
  • The sheriff only has one type: sheriff.

  • The suspect knows that the sheriff is of type ‘sheriff’, but the sheriff doesn’t know the suspect’s type.
  • They could either be civilian or criminal, for all they know.
  • The chance of the suspect being a criminal is .
  • (so the chance of being a civilian is )

  • The sheriff would rather shoot to defend themself if the suspect shoots, but will idle if the suspect idles (even if they’re a criminal).
  • The suspect would like to shoot if they’re a criminal, but would like to idle if they’re a civilian (even if the sheriff shoots).

  •                 sheriff and suspect both shoot

                        sheriff shoots, suspect does not

                        sheriff does not shoot, suspect shoots

                        sheriff and suspect don’t shoot

  •                 sheriff vs civilian

        sheriff vs criminal

  •         sheriff utility if suspect is civilian and both shoot
  •         suspect utility if criminal and only suspect shoots
  • ...
  • Here are the utility grids, given the two types for the suspect:

Type = “Civilian”

Sheriff action

Shoot

Idle

Suspect action

Shoot

-3,-1

-1,-2

Idle

-2,-1

0,0

Type = “Criminal”

Sheriff action

Shoot

Idle

Suspect action

Shoot

0,0

2,-2

Idle

-2,-1

-1,1

pew pew 🔫

Basics of Mechanisms

Bayesian Game Settings

The only action available to these gears

in this mechanism is to keep on turning.

💡 NOTE

Remember that the type isn’t always just the valuation!

The valuation is the maximum price that player  is willing to pay for the mechanism to choose choice .

The type  represents the private information of the player  and determines what utilities / valuations that player has.

The valuation isn’t the type, but the valuation does depend on the type.

Example

Sheriff’s Dilemma Part 2: Bayesian Game Setting and Mechanism Tendency

  • To better explain these concepts, I’ll “instantiate” them with the Sheriff’s Dilemma example we explained above.
  • Above, we modelled this game as a Bayesian Game.
  • Here, we’ll model it as a Bayesian Game Setting and mechanisms, with a quasilinear utility setting.
  • We’ll say someone is dead if they are shot, and alive if someone is not shot.

  • First, let’s model the Bayesian Game Setting:
  •                 sheriff and suspect are dead

                                sheriff is dead, suspect is alive

                                sheriff is alive, suspect is dead

                                sheriff and suspect are alive

  •                 sheriff vs civilian

                                sheriff vs criminal

  • Now, we have a setting.
  • The choice here is who lives and who dies.
  • The payment here is a guilt value that weighs down on a murderer. The sheriff, being a person of justice, feels more guilt than the suspect.

  • The sheriff and the suspect have utilities about being dead or alive, but there’s no way to actually kill anyone yet.
  • That’s where the mechanisms come in!

  • There’s many different mechanisms we can make to model this game.
  • We’ll start with a normal, deterministic mechanism:
  •                 sheriff and suspect both shoot

                                sheriff shoots, suspect does not

                                sheriff does not shoot, suspect shoots

                                sheriff and suspect don’t shoot

  •         sheriff and suspect kill each other
  •         sheriff kills the suspect
  •         suspect kills the sheriff
  •         nobody shoots, and nobody dies

  • We have now defined a mechanism in which players can kill each other: if you shoot, the other player dies. If the other player shoots, you die.

  • A direct mechanism doesn’t work in a game like this.
  • In a direct mechanism, actions directly correlate to types.
  • This could work with the suspect, by shooting the “criminal” action and idling the “civilian” action.
  • However, the sheriff must also choose between shooting or idling. The sheriff only has one type, and since the action set and the type set must be the same, there are too many actions to the sheriff’s one type.
  • Direct mechanisms only apply to certain games, for example: auctions, where your type is your valuation.
  • This doesn’t apply here, so we’ll move on.

  • We could change our mechanism to a quasilinear mechanism:
  •                 sheriff and suspect both shoot

                                sheriff shoots, suspect does not

                                sheriff does not shoot, suspect shoots

                                sheriff and suspect don’t shoot

Bayesian Game Setting + Mechanism = Bayesian Game

Bayes-Nash Equilibrium

summary pls

Social Choice setting

  • A social choice setting involves:
  •  - a set of possible outcomes
  •  - a set of agents who have preferences over outcomes
  •  - a function that picks one outcome  based on the agents’ preferences
  • The goal is to design a function  that maps agents’ preferences to an outcome fairly.

💡 NOTE

For all the above cases, we say that  is a

strictly dominated strategy if another strategy strictly dominates it.

A strategy is strictly dominant for an agent if it strictly dominates all other strategies for that agent.

This is the same for weakly and very weakly dominance.

Example

Sheriff’s Dilemma Part 3: Bayes-Nash Equilibrium Crusaders

  • Let’s take a look at our utilities for our Sheriff’s Dilemma again:

Type = “Civilian”

Sheriff action

Shoot

Idle

Suspect action

Shoot

-3,-1

-1,-2

Idle

-2,-1

0,0

Type = “Criminal”

Sheriff action

Shoot

Idle

Suspect action

Shoot

0,0

2,-2

Idle

-2,-1

-1,1

  • Here, we can identify some strictly dominated strategies.
  • For example, when the suspect is a civilian, idling strictly dominates shooting.
  • When the suspect is a criminal, shooting strictly dominates idling.
  • So, we can eliminate those:

Type = “Civilian”

Sheriff action

Shoot

Idle

Suspect action

Idle

-2,-1

0,0

Type = “Criminal”

Sheriff action

Shoot

Idle

Suspect action

Shoot

0,0

2,-2

  • Now that we’ve eliminated those, we can decide what’s the sheriff’s best strategy.
  • When the suspect is a civilian, they won’t shoot, so it’s best to idle.
  • When the suspect is a criminal, they’re going to shoot, so the sheriff should defend themselves and shoot too.
  • The sheriff’s best choice depends on the civilian’s type.
  • Let’s calculate the average payoff of each action for the sheriff.
  • If the sheriff shoots:
  •  (utility of sheriff shooting civilian * probability of civilian)
  •  (utility of sheriff shooting criminal * probability of criminal)
  • If the sheriff idles:
  •  (utility of sheriff idling to civilian * probability of civilian)
  •  (utility of sheriff idling to criminal * probability of criminal)
  • If the average payoff of shooting is greater than the average payoff of idling, the sheriff should shoot.
  • Therefore, if , then the sheriff should shoot.
  • Rearranging this, the sheriff should only shoot if .
  • In layman’s terms, only shoot if there is greater than a third chance that the suspect could be a criminal.
  • This makes up our Bayes-Nash equilibrium.

Dominant-Strategy Truthfulness

If you’re playing a Bayesian game with a dominant-strategy

truthful mechanism, you should tell the truth.

Vickrey-Clarke Groves (VCG) Mechanism

Direct Quasilinear Mechanisms

Property

Definition

English pls

(Strict Pareto) Efficiency

Social-welfare maximising

A quasilinear mechanism is efficient (or social-welfare maximising) if, in equilibrium, it selects a choice  that maximises .

It picks the choice that maximises the sum of everyone’s valuations for that choice.

Dominant-strategy truthful

Tell the truth

A direct quasilinear mechanism is dominant-strategy truthful (or just truthful) if for each agent , declaring  maximises ’s utility, no matter what other agents declare.

Agents should declare their true valuation to maximise their utility.

Ex interim individual rationality

I won’t lose

A mechanism is ex interim individually rational if, in equilibrium, each agent ’s utility is at least 0, given an estimation of  using a known distribution.

Formally, it’s when

where  is the equilibrium strategy profile.

No agent will receive negative utility, calculated using an average estimate of everyone else’s valuations.

This is weaker than ex post individual rationality, so:

Ex-post IR ⇒ Ex-interim IR.

Why do we estimate?

The “interim” stage means the player knows their own type (valuation), but not anybody else’s.

Therefore, to calculate their utility in this stage, they must estimate everyone else’s valuations using a known distribution.

Ex post individual rationality

No-one will lose

A mechanism is ex post individually rational if, in equilibrium, the utility of each agent is at least 0.

Formally, it’s when

where  is the equilibrium strategy profile.

No agent will receive negative utility and lose by participating in the mechanism.

In the “ex-post” stage, everyone knows everybody’s valuations. Therefore, true utilities can be calculated without estimations.

Budget balance

Mechanism breaks even

A quasilinear mechanism is budget balanced when , where  is the equilibrium strategy profile.

The mechanism won’t receive any profits or losses; it’ll break even.

Weakly budget balance

Mechanism breaks even or profits

A quasilinear mechanism is weakly budget balanced when , where  is the equilibrium strategy profile.

The mechanism won’t lose money; it’ll only profit or break even.

Tractability

Feasible to run

A quasilinear mechanism is tractable if for all , and  can be computed in polynomial time.

It’s computationally feasible; the algorithm complexities are fast enough to run and be used in-practice.

Groves Mechanisms

Theorem

Green-Laffont

In settings where agents may have unrestricted quasilinear utilities, Groves mechanisms are the only mechanisms that are both:

  • efficient and
  • dominant-strategy truthful.

Here’s the formal statement if you want:

Suppose that for all agents any (reals) is a feasible preference. Then an efficient quasilinear mechanism has truthful reporting as a dominant strategy for all agents and preferences only if it is a Groves mechanism.

Vickrey-Clarke-Groves (VCG) Mechanisms

💡 NOTE

VCG is a specific mechanism within the class of Groves mechanisms (the most famous mechanism within this class).

Some people refer to Groves mechanisms as VCG mechanisms (which is confusing IMO).

Vickrey auction is a special case of VCG, and hence VCG is sometimes known as the “generalised Vickrey auction”.

In fact, single-item VCGs are literally just Vickrey auctions!

Optimal social welfare

of other agents

if agent  didn’t exist

Optimal social welfare

of other agents

if agent  exists

 in terms of social welfare

Remember from quasilinear utility settings?

Utility is:

If we substitute everything with VCG stuff, we can represent utility in terms of social welfare.

Outcome

Choice

Type  (we assume agent is being truthful, because it’s a dominant strategy)

The utility is the social welfare of the current choice minus the social welfare if agent  didn’t exist.

VCG Examples

Example

VCG In Action: Auction

  • Let’s say we have an auction, and we want to run it using the VCG mechanism.
  • There’s two items:

A cheese grilled sandwich

A Bahar wig

  • We have two bidders:
  • Jie Zhang
  • Bahar Rastegari (not sure why she’d want a wig of her own hair but whatever)

  • Let’s assume that bidders only care about goods they receive, so their valuation is 0 when they get nothing.
  • Therefore, we can specify agent ’s valuation using three values:
  •  (S for sandwich and W for wig)
  • What choice will VCG pick, and what payments?

  • First of all, let’s define the valuations for Jie  and Bahar :

  • To get the choice, we need to find the choice that maximises social welfare.
  • That choice would be Jie getting the sandwich and Bahar getting the wig:

  • So now we know who gets what, but what’s the payments?
  • Let’s do Jie first.
  • (others’ social welfare if Jie didn’t exist) - (others’ social welfare if Jie exists)
  • What would be the social welfare if Jie didn’t exist?
  • It’d be 5, because the choice that maximises social welfare would be Bahar getting both the sandwich and the wig.
  • What would be the social welfare for others if Jie did exist?
  • It’d be 4, because Bahar is getting the wig.
  • Now we can calculate the payment:
  • We can do the same with Bahar.
  • Others’ social welfare if Bahar didn’t exist is 6, with Jie getting both items.
  • Others’ social welfare if Bahar exists is 3, with Jie getting the sandwich.
  • Therefore: .

  • It seems Jie has to pay £1 for the sandwich, and Bahar has to pay £3 for the wig.

Example

VCG In Action: Vickrey Auction

  • Let’s look at an example of a single-item VCG being Vickrey.
  • We’re selling a single item, uhh...

A Greggs veggie bake

  • We’ll have three agents this time:
  • Jie Zhang
  • Bahar Rastegari
  • Markus Brede
  • Let’s declare their valuations for our veggie bake:

  • Jie had a big breakfast earlier, and Markus is a little short on cash at the moment.
  • But Bahar is pretty hungry, and just received a pay bonus the week before!

  • Let’s calculate the choice.
  • The choice that maximises social welfare is giving the veggie bake to Bahar, making the welfare 6.
  • So, Bahar wins.

  • Let’s calculate the payments:
  •  (Bahar)
  • The others’ welfare without Bahar is 4, because Markus would get the bake.
  • The others’ welfare with Bahar is 0, because nobody else is getting anything.
  • Therefore .
  •  (Markus)
  • The others’ welfare without Markus is 6, because Bahar would get the bake.
  • The others’ welfare with Markus is 6, because Bahar.
  • Therefore .
  •  (Jie)
  • For the same reason as Markus, .

  • In conclusion, Bahar wins the veggie bake, and has to pay Markus’ valuation.
  • Seems awfully familiar to Vickrey, doesn’t it?

Example

VCG In Action: Shortest Path

  • You know, VCG can do more than just auctions.
  • If you have an optimisation problem that can be solved with money, VCG can be applied.
  • This includes the shortest path problem.

  • Our optimization problem is finding the shortest path from A to F.
  • The set of outcomes is all possible paths from A to F.
  • Each arc is an agent, and the arc weights are negative valuations for that arc agent if they exist in the shortest path.
  • For example, AB has a negative valuation of -3 for the choice ABDF, but CE would have a valuation of 0 for it (because it’s not in the path).

  • What path does VCG pick, and what are the payments?

  • It’s VCG, so the choice will maximise social welfare.
  • Because all the valuations are negative, the choice will minimise how much the agents have to collectively pay.
  • The choice should be ABEF, with a social welfare of -5.

  • We won’t go over everyone’s payments; only a few.
  • How much does AC have to pay?
  • Well, what’s the others’ social welfare when AC doesn’t exist?

  • The choice when AC doesn’t exist is still ABEF, so it’s -5.
  • What’s the others’ social welfare when AC exists?
  • Again, it’s -5.
  • Would you look at that? Their payment is zero!
  • That means AB has no effect on the mechanism. Whether they exist or not would not change the fact that ABEF is the chosen choice.
  • Every arc that’s not in the shortest path has a payment of 0 (that includes CE, CF, and DF).

  • How much would AB have to pay?
  • First, what’s the others’ social welfare when AB doesn’t exist?

  • The new shortest path is ACEF, which imposes a cost of -6 on everyone else.
  • What’s the others’ social welfare when AB exists?
  • That’d be the valuation of BE + EF, which is -2.
  • So, AB is actually being paid 4 to exist.

  • Spoilers:  and .
  • BE and EF have the same costs; why does EF earn more than BE?
  • That’s because EF has more market power than BE.
  • The other agents would be far worse off without EF than without BE.

  • That’s a bit awkward for BE and EF. I wonder if they can still be friends.

Properties of VCG

Truthfulness

💡 NOTE

VCGs may seem like the best thing ever, right?

Well, it’s rarely used in practice.

This is because it has a long list of weaknesses.

One of its biggest weaknesses is that finding the social-welfare maximising choice might be NP-hard, so it doesn’t have tractability (not feasible). This is especially true in combinatorial auctions.

Individual Rationality

Property

Definition

English pls

Choice-set monotonicity

Less people, same/less choices

A setting exhibits choice-set monotonicity if .

Removing an agent will never grant more choices.

No negative externalities

No participation? No worries!

A setting exhibits no negative externalities if .

Every agent has zero or positive utility for choices made without their participation.

Theorem

The VCG mechanism is ex-post individual rational when the choice-set monotonicity and no negative externalities properties hold.

Budget Balance

Property

Definition

English pls

No single-agent effect

Please leave.

A setting exhibits no single-agent effect if  there exists a choice  that is feasible without  and that has .

Welfare of agents other than  is increased by dropping .

Example:

In an auction setting, agents are better off when one other agent drops out, because there’s less competition.

Therefore, auction settings exhibit no single-agent effect.

Theorem

The VCG mechanism is weakly budget-balanced when the no single-agent effect property holds.

Theorem

Krishna & Perry, 1998

In any Bayesian game setting in which VCG is ex post individually rational...

... VCG collects at least as much revenue as any other efficient and ex interim individually-rational mechanism.

Theorem

Green-Laffont; Hurwics

No dominant-strategy truthful mechanism is always both efficient and weakly budget balanced, even if agents are restricted to the simple exchange setting.

Theorem

Myerson-Satterthwaite

No Bayes-Nash incentive-compatible mechanism is always simultaneously efficient, weakly budget balanced and ex interim individually rational, even if agents are restricted to quasilinear utility functions.

Revelation Principle

Revelation Principle

  1. Every participant has a dominant strategy, no matter the private valuation
  2. This dominant strategy is direct revelation, where the participant truthfully reports all of its private information to the mechanism.
  1. Everyone has dominant strategies
  2. Those dominant strategies are truthful

“People die if they are killed”

Theorem

Revelation Principle

For every mechanism in which every participant has a dominant strategy (no matter what their private information), there is an equivalent direct dominant-strategy truthful mechanism.

Characterisation of DS Truthful Mechanisms

Theorem

A mechanism is dominant-strategy truthful if and only if it satisfies the following conditions for every agent  and every :

1.

The payment function

 can be written as

.

2.

If part

Only if part

Let’s say that agent  can either be truthful and declare , or lie and declare .

The choice the mechanism picks if agent   declares .

The choice the mechanism picks if agent  declares .

The payment of agent  for choice .

The payment of agent  for choice .

Now, let’s walk through what’s going to happen to agent :

If  picks , their utility will be .

If  picks , their utility will be .

If  yielded a greater utility for , then the mechanism would’ve picked  instead of  when  declared truthfully.

Therefore, it’s a dominant strategy for  to declare .

First condition:

Let’s assume, for the sake of contradiction, the payment function did depend on ’s declared valuation, .

That means there could be a truthful strategy  and a untruthful strategy  where they both yield the same choice , but the truthful strategy has a higher payment than the untruthful strategy .

Then  could increase their utility by being untruthful, as they could get the same result and pay less.

So, as per this proof by contradiction, the payment cannot depend on ’s declaration if this mechanism is DS truthful.

Second condition:

Again, for the sake of contradiction, let’s say player  declares truthfully, but the choice does not maximise their utility.

That means there could be some other untruthful valuation  that picks the choice that does maximise their utility, .

Then  could increase their utility by declaring the untruthful valuation and getting the choice that maximises their utility.

As per this proof by contradiction, the mechanism must pick the choice that maximises utility if this mechanism is DS truthful.

Dominant Strategy Implementation

Implementable Choice Rules

Property

Definition

English pls

Weak Monotonicity

WMON

A social choice function  satisfies weak monotonicity (WMON) if for all agents  and all possible valuation profiles of the other agents  we have that  implies that .

Let’s say the mechanism picks  if agent  plays , and  if they play .

When an agent  changes their valuation from  to , then the increase in value for their new choice  is at least as large as the increase in value for their old choice .

Theorem

WMON is necessary for DS truthfulness

If a mechanism  is DS truthful, then  satisfies WMON.

DS truthful → WMON

Theorem

When WMON is sufficient for DS truthfulness

If all domains of preferences  are convex sets (as subsets of Euclidean space) then for every social choice function  that satisfies WMON there exists payment functions  such that  is DS truthful.

WMON → DS truthful (if preferences are convex sets)

Wahoo yes convex set 🎉🎉🎉🎉

Boo no convex set 😡💢💢

  1. Unrestricted quasilinear settings where  (set of reals)
  2. Single dimensional settings

The Case for Unrestricted Quasilinear Settings

Affine maximisers = DS truthful?

“Any affine maximiser social choice function  can be implemented in dominant strategies; i.e. there exists payment functions  where  is DS truthful.”

Can we prove it? You bet we can!

VCG is truthful. What if we just stick the affine maximiser choice function into VCG and see if that works?

On the right track, but... hmm, no. That doesn’t feel right.

It’s not rigorous enough.

Let’s have a closer look at what makes VCG and affine maximisers different.

Let’s take the choice function of VCG and abstract it a little:

Here, I’ve defined a social welfare  function for VCG, and substituted it in the choice and payment functions.

Now, how do we “transform” our VCG to an affine maximiser?

We should create a new, refined  function, of course!

Can you see how substituting our new  function results in the affine maximiser choice function?

Well, we’ve substituted it in the choice function. The payment function used  too, you know. Let’s sub it in there too:

There we have it! A payment function that, when paired with its respective affine maximiser , creates a DS truthful mechanism (because we effectively have VCG, which is truthful).

We could factor out  out of the payment function, but since it’s just a scalar, it shouldn’t affect the truthfulness of the mechanism.

Source; slides 15 to 19

(what, you thought I came up with this on my own?)

Theorem

Roberts

If there are at least three choices that a social choice function will choose given some input, and if agents have general quasilinear preferences, then the set of (deterministic) social choice functions implementable in dominant strategies is precisely the set of affine maximisers.

The Case for Single Dimensional Settings

Property

Definition

English pls

Monotonicity

Monotone in

A social choice function  on a single parameter domain is called monotone in  if for every  and every  we have that  implies that . That is, if valuation  makes  win, then so will every higher valuation .

If agent  plays  and gets a choice from their winning alternatives , then if player  plays a higher valuation , then player  will still get a choice from their winning alternative .

Theorem

A normalised mechanism  on a single parameter domain is DS truthful if and only if the following conditions hold:

  1.  is monotone in every
  2. Every winning bid pays the critical value
  • If  then
  • If  is undefined (implying that given ,  wins for all ), then there exists some value , , such that .

Optimal Auctions

Economists designing optimal auctions

Example of an Optimal Auction

  1. There’s no sale if both bids are below
  2. Sale is at price  if there’s one bid below and one above
  3. Sale is at second highest bid price if both are above

Buy BaharCoin while it’s still low

1. Both bids are below

The chance of one valuation being drawn below  is  itself. Since there’s two players, and valuations are drawn independently, the probability of two is , so the probability that two valuations are drawn below  is .

Probability:

Revenue:

2. One bid is below  and one is above

The chance that one valuation is drawn above  is .

The first case is player 1’s valuation being drawn below  and player 2’s valuation being above ; the probability of that is .

The second case is the opposite: player 2’s valuation being below and player 1’s being above. The probability of that is also .

Either the first case could happen OR the second case, so we add them up (both cases are mutually exclusive) to get the total probability that one bid is below and one is above: .

Probability:

Revenue:

3. Both bids are above

Both players draw valuations above , so the probability is , which is .

The expected revenue of this case is derived from the expected minimum valuation drawn, given that both bids are above . In maths language, that’s .

If you want to know why it’s , then read the appendix section for this. If you really don’t care and are willing to accept it for what it is (how to derive it is not examinable), then you’re ironically wiser than I am and should simply read ahead.

Probability:

Revenue:

Myerson’s Theorem

Theorem

Myerson (1981)

The optimal (single-item) auction is a sealed-bid auction in which every agent is asked to declare their valuation.

The good is sold to the agent , as long as .

If the good is sold, the winning agent  is charged the smallest valuation that they could have declared while still remaining the winner, i.e.:

  1. The winner is the agent with the highest virtual valuation, so long as it’s non-negative (the valuation is above the reserve price).
  1. The winner has to pay the smallest valuation they could have declared while still remaining the winner.

  • Is this VCG?
  • No, it’s not efficient.
  • In this auction, weak bidders’ valuations are inflated by the virtual valuations to make strong bidders bid more aggressively.
  • This means if a weak bidder wins (and they can, even if they bid less than others), the outcome won’t maximise social welfare.

  • How should bidders bid?
  • Truthfully!
  • This is effectively a Vickrey auction, but with a reserve price and virtual valuation space. Neither of these depend on the agent’s declaration, so just like how Vickrey is truthful, optimal auctions are truthful also.

  • What happens in the special case where all agents’ valuations are drawn from the same distribution?
  • We’ll just have a normal Vickrey auction, with a reserve prices that satisfies:
  • Since everyone will have the same reserve price, it’s effectively like  in our BaharCoin example.

  • What happens in the general case (valuations are drawn from different distributions; asymmetric auctions)?
  • Like I said above, stronger bidders will have to pay more aggressively to keep up with the inflated virtual valuations of the weak bidders.
  • In a way, it exploits how much people are willing to bid on something they really want. A bit mean, when you think about it.

You heard it here first, folks: Google’s optimal sock auctions.

Stable Matching (SM)

Let’s say there’s two leaders, red and orange, and two followers, blue and purple.

They have the following preferences:

Leaders:

red : blue > purple

orange : blue > purple

Followers:

blue : red > orange

purple: red > orange

In summary, red is the most popular leader, and blue is the most popular follower.

It makes sense that the most popular leader and follower would want each other.

However, check out the pairing on the right: blue is paired with orange, and red is paired with purple.

Blue and red would rather be paired with each other. This is a blocking pair.

Now, look at the pairing on the left. Blue and red are now paired, so it’s not a blocking pair anymore.

Sure, purple would rather be with red, and orange would rather be with blue, but blue and red are happy where they are, so those aren’t blocking pairs.

Gale-Shapley Algorithm

Theorem

Myerson (1981)

A stable matching always exists, and can be found in polynomial time.

Gale-Shapley algorithm pseudocode (leader-oriented)

Assign all leaders and followers to be free // Initial state

while (some leader l is free and hasn't proposed to every follower)
 
f = first follower on l's list to whom l hasn't yet proposed


 
// next: l proposes to f
 
if (f is free)
   assign
l and f to be engaged // tentatively matched
 
else if (f prefers l to their fiancé l')
   set
l and f to be engaged
   set
l' to be free
 
else
   
f rejects l // and l remains free

output the
n engaged pairs, who form a stable matching

GS Returns Stable Matching Proof

1. The algorithm always terminates

2. The algorithm returns a matching

3. The matching it returns is stable

We notice two things about GS:

  1. Leaders propose to followers in decreasing order of preference
  2. Once a follower is matched up, they never become unmatched; only “trades up”

Because of this, the algorithm terminates after at most  iterations of the while loop, where  is the number of leaders (and thus, the number of followers too).

Why?

Because for each leader, they propose to  followers, worst-case. If there’s also  leaders, then there are , or , proposals.

This is also a proof for GS being in polynomial time.

In this proof, we’ll show that GS returns a one-to-one matching, meaning that each leader has at least one follower and vice versa.

This will be split into two parts:

1. In GS, all leaders get matched.

Let’s do a proof by contradiction.

Let’s say there’s some leader  in the output matching that is unmatched.

That means there must be some follower  that’s also unmatched (pigeonhole principle; a leader can’t be matched with more than one follower).

If  is unmatched, that means they were never proposed to.

But,  is unmatched, so they should have proposed to every follower.

A contradiction!

2. In GS, all followers get matched.

As proved before, all leaders get matched.

If all  leaders are matched, then they all must be matched to unique  followers.

But  followers are all we have!

Therefore all followers must be matched.

We can prove that the returned matching  is stable by showing that there’s no blocking pairs.

Consider any pair  that is not in .

There are two possibilities for the pair :

1.  never proposed to

 proposes in decreasing order of preferences, so  must have proposed to  first before .

 is not blocking.

2.  proposed to

 must have rejected , either right away or after they matched up once, because  prefers  to .

 is not blocking.

In either case,  is not a blocking pair.

Extensions of Stable Matching

Gale-Shapley algorithm pseudocode (leader-oriented, SMI)

Assign all leaders and followers to be free // Initial state

while (some leader l is free and hasn't proposed to every follower they find acceptable)
 
f = first follower on l's list to whom l hasn't yet proposed


 
// next: l proposes to f
 
if (f is free and finds l acceptable)
   assign
l and f to be engaged // tentatively matched
 
else if (f prefers l to their fiancé l')
   set
l and f to be engaged
   set
l' to be free
 
else
   
f rejects l // and l remains free

output the engaged pairs, who form a stable matching

No! 🤦‍♂️ It’s not where we match office ties...

Optimal Stable Matchings

Proof

So our claim was “leader-oriented GS’ return leader-optimal matchings”.

To do a proof by contradiction, we need to consider “a leader-oriented GS does not return a leader-optimal matching”.

Leaders propose in decreasing order of preferences, so therefore some leader is going to be rejected by an achievable partner during GS (this doesn’t always happen, but it happens most of the time. We’ll consider it in this example).

Let’s say we have some leaders and some followers, and we’re running a GS.

All of the sudden, some leader  is rejected by their first achievable partner  (this is the first ever rejection by an achievable follower in this run. Remember that)!

Since  and  are achievable, there must be some stable matching  that contains the matching .

Now, when  rejected , why do you think  did that? It’s because  was proposed by some leader they prefer! We’ll call this leader .

We now know  prefers  to

In our ‘other’ stable matching, , let’s say  is matched to some other follower, .

When  was rejected by ,  hadn’t been rejected by any achievable partner yet. That’s because we’ve already defined the rejection of  by  to be the first in this run (remember? ;D).

So,  had never been rejected yet, before they proposed to  and made  reject .

If  had never been rejected yet, then they must prefer  over .

Why? Because if they preferred ,  would’ve proposed to  first, and would have had to be rejected by  in order to propose to  in the first place!

We now know  prefers  to

Let’s summarise what we’ve found out so far:

 is supposed to be a stable matching. Can you spot the contradiction?

There is a blocking pair: , but  is meant to be a stable matching. A clear contradiction!

Therefore, leader-oriented GS’ must return leader-optimal matchings.

When preferences are strict,

all executions of leader-oriented GS

return the same stable matching.

When preferences are strict, there exists:

  • a leader-optimal stable matching
  • a follower-optimal stable matching

Theorem

Myerson (1981)

When preferences are strict, the leader-optimal matching is the follower-pessimal matching, and vice versa.

DS Truthfulness

Theorem

Dubins and Freedleader; Roth

The mechanism that yields the leader-optimal stable matching (in terms of stated preferences) makes it a dominant strategy for each leader to state their true preferences.

Theorem

Roth, 1982

No stable matching mechanism exists for which truth-telling is a dominant strategy for every agent.

Theorem

Roth and Sotomayor, 1990

When any stable mechanism is applied to a marriage market in which preferences are strict and there is more than one stable matching, then at least one agent can profitably misrepresent their preferences, assuming others tell the truth.

Proof

Here, we have two leaders and two followers:

This instance has two stable matching:

  • Green, leader-oriented
  • Purple, follower-oriented

Every stable matching mechanism must choose either green or purple.

Suppose that our mechanism picks green.

Now, if  changes their preferences so they only like , the mechanism will pick purple: the follower-oriented matching that  likes.

Similarly, if  declares that they only like , the mechanism can only pick green: the leader-oriented matching that  likes.

In this scenario, at least one agent benefits by lying.

Theorem

Immorlica and Mahdian, SODA 2005

The number of students that have more than one achievable hospital vanishes. Therefore, with high probability, the truthful strategy is a dominant strategy.

Theorem

Gonczarowski and Friedgut, 2013

In an instance of SM (no ties or indifference), and assuming that lying is only possible by permuting one’s preferences: if no lying follower is worse off then

  • No follower is worse off
  • No leader is better off

Hospital Residents Problem (HR)

Problem

Description

SMI

Stable Matching problem with Incomplete lists

Agents may declare some candidates unacceptable, represented by preference lists of only some choices

SMT

Stable Matching problem with Ties

Shin Megami Tensei

Agents may be indifferent among several candidates

SMTI

Stable Matching problem with Ties and Incomplete lists

Both incomplete lists and indifferences are allowed

HR

Hospitals / Residents problem

Many-to-one stable matching problem with incomplete lists

HRT

Hospitals / Residents problem with Ties

Many-to-one stable matching problem with ties and incomplete lists

The namesake comes from junior doctors applying

and doing training in hospitals..

  1.  and  find each other acceptable
  2. Either:
  1. Either:

Resident-oriented GS (RGS)

Resident-oriented Gale-Shapley algorithm pseudocode

M = ∅ // assign all residents and hospitals to be free

while (some resident ri is unmatched and has a non-empty list)

  ri applies to the first hospital hj on their list

  M = M ∪ {(ri,hj)}

  if (hj is over-subscribed)

    rk = worst resident assigned to hj

    M = M \ {(rk,hj)} // rk is set free

  if (hj is full)

    rk = worst resident assigned to hj

    for (each successor rl of rk on hj’s list)

      delete rl from hj’s list

      delete hj from rl’s list

  output the engaged pairs, who form a stable matching

Hospital-oriented GS (HGS)

Hospital-oriented Gale-Shapley algorithm pseudocode

M = ∅ // assign all residents and hospitals to be free

while (some hospital hi is under-subscribed and has non-empty list)

  si = qi - |M(hi)| // the number of available seats in hi

  hi applies to the first si residents on its list

  foreach (rj that hi applies to)

    if (rj is free)

      M = M ∪ {(rj,hi)}

    else if (rj prefers hi to her current hospital h’)

      M = M ∪ {(rj,hi)} \ {(rj,h’)} // h’ is set free

    if (rj is not free)

      for (each successor hl of M(rj) on rj’s list)

        delete hl from rj’s list

        delete rj from hl’s list

  output the engaged pairs, who form a stable matching

Resident-optimal matchings and hospital-optimal matchings

Theorems

Theorem

Rural Hospitals Theorem

(Roth, 1984; Gale and Sotomayor, 1985; Roth, 1986)

In a given instance of HR:

  1. The same residents are assigned in all stable matchings.
  2. Each hospital is assigned the same number of residents in all stable matchings.
  3. Any hospital that is under-subscribed in one stable matching is assigned exactly the same set of residents in all stable matchings.

  1. If you get a HR stable matching where a subset of the residents get assigned hospitals  and the rest do not get assigned, then for all stable matchings in that HR problem, all residents in  will be assigned and all other residents  will not be assigned.
  2. For all stable matchings in our HR problem, the number of residents assigned to hospital  is the same.
  3. Given any stable matching in our HR problem, if we have a hospital  who has matchings with  and is undersubscribed, then all stable matchings have the exact same matchings with  for .

Theorem

(Roth; 5.16 in TSM)

A stable matching mechanism that yields the resident-optimal matching makes it a dominant strategy for all residents to state their true preferences.

Theorem

(Roth; 5.14 in TSM)

No stable matching mechanism exists that makes it a dominant strategy for all hospitals to state their true preferences.

Hospital Residents Problem with Couples (HRC)

(r1,r2): (h1,h2)

r3    :  h1 h2

h1: r1 r3 r2

h2: r1 r3 r2

Blocking pair:

(r1,h1)

(r1,r2): (h1,h2)

r3    :  h1 h2

h1: r1 r3 r2

h2: r1 r3 r2

Blocking pair:

(r3,h1)

(r1,r2): (h1,h2)

r3    :  h1 h2

h1: r1 r3 r2

h2: r1 r3 r2

Blocking pair:

(r3,h2)

  • there are no single residents

[Ng and Hirschberg, 1988;

Ronn, 1990]

  • there are no single residents, and
  • each couple has a preference list of length <= 2, and
  • each hospital has a preference list of length <= 3

[Manlove and McBride, 2013]

  • the preference list of each single resident, couple and hospital is derived from a strictly ordered master list of hospitals, pairs of hospitals and residents respectively, and
  • each preference list is of length ≤3, and
  • the instance forms a “dual market”

“What does that mean”, you may ask. I don’t know. I just write the notes.

[Biró et al, 2011]

[Manlove and McBride, 2013]

Stable Roommates (SR)

Let’s get all the matchings and show that none of them are stable.

Blocking pair:

Blocking pair:

Blocking pair:

Irving’s Algorithm

  1. Reduces the preference lists to a ‘phase-1 table’
  2. Gets the stable matching, if it exists, by eliminating ‘rotations’

A stock image of semi-engaged roommates.

Phase 1

Irving’s Algorithm Phase 1 pseudocode

Assign all agents to be free // initial state

while (some free agent x has a non-empty list)

  y = first agent on x’s list

  // next: x proposes y

  if (some person z is semi-engaged to y)

    assign z to be free // y rejects z

  assign x to be semi-engaged to y

  for (each successor w of x on y’s list)

    delete w from y’s list

    delete y from w’s list

Phase 2

Intuitively, how do you find a rotation in a phase-1 table?

Alright, here’s a phase-1 table, and I’ll walk through how to find a rotation in it.

Let’s start at the top, with A, because A has a second preference:

p: A

q:

A’s second preference is B, so we add B to the ‘q’ list:

p: A

q: B

Now, we look at B. B’s last preference is C, so we add C to the ‘p’ list:

p: A C

q: B

We move on to C. C’s second preference is D, so we add D to the ‘q’ list:

p: A C

q: B D

Onto D. D’s last preference is A, so we add A to the ‘p’ list:

p: A C A

q: B D

We’ve already got an A in the ‘p’ list! So, we stop there, or else we’d be repeating ourselves.

So, you see? We just alternate between putting the second preference in ‘q’ and the last preference in ‘p’ until we hit a cycle.

If we wanted to eliminate this rotation, we’d eliminate the bottom-left top-right pairs in these two sequences:

p: A C A

q: B D

So, we’d remove  and  from our preference table and either look for more rotations to eliminate, or, if a list is empty or all lists have one entry, we stop.

Irving’s Algorithm Phase 2 pseudocode

T = phase-1 table // initial state

while ((some list in T has more than one entry) and

       (no list in T is empty))

  find a rotation  exposed in T

  T = T /  // eliminate

if (some list in T is empty)

  return instance unsolvable

else

  return T, which is a stable matching

Starting our rotation with m1

Starting our rotation with w1

p: m1 m2 m1

q: w1 w2

Eliminated:

p: w1 w2 w1

q: m2 m1

Eliminated:

One-Sided Matching

Möbius strip matching: an alternative title.

With Initial Ownership

Top Trading Cycle (TTC)

Would you take part in a mechanism to

swap your house with someone else?

  1. Each agent points to their most preferred house (possibly their own), and each house points back to their owner.
  2. This creates a directed graph; in this graph, identify cycles
  1. Assign each agent in a cycle to the house they are pointing at and remove them from the mechanism with their assigned house.
  2. If:
  1. Otherwise, repeat from step 1.

Here’s the preference lists:

a1 : h3 > h2 > h1

a2 : h1 > h4 > h2

a3 : h1 > h4 > h3

a4 : h3 > h4

The blue represents ownership, for example a1 owns h1.

On the diagram, the green arrows are the houses pointing to their owners, and the blue arrows are the agents pointing to their desired houses.

Now, we search for cycles. We start from one agent, and we follow through the arrows until we get back to the start.

Starting at a1, the following cycle can be found:

a1 → h3 → a3 → h1 → a1

So, we make the following assignment:

  • a1 → h3
  • a3 → h1

We remove these agents and houses from the algorithm, and we continue.

The houses a2 and a4 were pointing to are now allocated! So now, they point to the next available houses on their list.

Now, let’s look for another cycle:

a2 → h4 → a4 → h4

The cycle only loops around a4 and h4, so we’ll only assign a4 the house:

  • a4 → h4

Now, we remove a4 and h4.

It’s trivial that the only assignment left is to assign a2 to their own house!

So our final assignment is:

  • a1 → h3
  • a3 → h1
  • a4 → h4
  • a2 → h2

You Request My House - I Get Your Turn (YRMH-IGYT)

  1. Fix a priority order of the agents.
  2. Let the agent with the top priority receive their first-choice room, the second agent receive their top choice among the remaining rooms, and so on, until someone requests the room of an existing tenant.
  3. If the existing tenant whose room is requested has already received a room, then proceed to the next agent.
  1. If at any step, a cycle forms, the cycle is formed by existing tenants  where  points to the house of agent , who points to the house of , and so on. In this case, assign these houses by letting them exchange, and then proceed with the algorithm.

Without Initial Ownership

Random Serial Dictatorship

Those that can’t do, teach.

Those that can’t teach, teach gym.

Ai =

s1

s2

s3

t1

0

1

0

t2

1

0

0

t3

0

0

1

Ex-ante Pareto efficiency

Ex-post Pareto efficiency

The lottery is Pareto-efficient with respect to the expected utilities.

By ‘expected utilities’, we mean the average utility that the agents yield with our random lottery.

If there is no other lottery we could use that yields higher average utilities and no lower average utilities, then our algorithm is ex-ante Pareto efficient.

‘ex-ante’ here means ‘before the lottery’.

Allocations of all mechanism ‘outputs’ of the lottery are Pareto efficient.

If the allocations of every mechanism  (that our lottery could possibly draw) are Pareto efficient, then our algorithm is ex-post Pareto efficient.

‘ex-post’ here means ‘after the lottery’.

Why RSD is not ex-ante

Why RSD is ex-post

To be ex-ante Pareto efficient, there must not be another lottery that yields at least higher expected utilities to all teachers.

So, let’s define a lottery that fits that criteria!

Let’s define some setting for TA, and say there’s two possible mechanisms RSD’s lottery could pick: M1, and M2. There’s three teachers, and the utilities of each allocation yielded by each mechanism are (a,b,c) and (x,y,z), respectively.

We’ll assume that a, b, and c are bigger than x, y, and z.

So, the expected utility of each teacher using RSD’s lottery is (a+x)/2, (b+y)/2, and (c+z)/2, because there’s an even chance of picking M1 and M2.

Can we find a lottery that yields at least higher expected utilities?

How about a lottery that has a 100% chance of picking M1, and a 0% chance of picking M2?

The expected utilities there are a, b, and c.

Since a > x, b > y, and c > z, then a > (a+x)/2, b > (b+y)/2, and c > (c+z)/2. This lottery yields a higher expected utility for all teachers!

Therefore, RSD is not ex-ante Pareto efficient.

Remember that normal SD is Pareto efficient.

Once a random permutation of teachers is picked, the algorithm is now just regular SD.

So, no matter what the lottery picks, every mechanism outcome will be Pareto efficient.

Therefore, RSD is ex-post Pareto efficient.

Truthfulness-in-Expectation

Universal Truthfulness

A teacher always maximises their expected utility by acting truthfully.

If a teacher will always yield the same or less expected utility by giving false preferences, then the algorithm is truthful-in-expectation.

All mechanism ‘outputs’ of the lottery are DS truthful.

If every mechanism  (that our lottery could possibly draw) is DS truthful, our algorithm has universal truthfulness.

Why RSD is truthful-in-expectation

Why RSD is universally truthful

SD is DS truthful, meaning you already maximise utility when you are truthful in SD.

Because any draw of the lottery turns RSD into an SD, being truthful will maximise your utility with any possible draw of the lottery, and therefore will maximise expected utility.

Therefore, RSD is truthful-in-expectation.

Remember, SD is DS truthful.

Any draw of the lottery turns RSD into a normal SD.

So no matter what the lottery does, RSD will always turn into a regular SD.

Therefore, RSD is DS truthful.

Theorem

(Zhou, 1990)

There does not exist an ex-ante Pareto efficient, truthful, and symmetric mechanism.

💡 NOTE

Jie gave some confusing definitions of anonymity and symmetry in the lectures that don’t quite add up to the Zhou paper.

He says that anonymity is where the names of the teachers have no effect on the results, and only the preference order should affect the outcome of an agent.

He says that symmetry is where agents with the same preference profile get the same allocations.

I’m not saying Jie is wrong 😅 I’m saying I don’t understand this discrepancy between these two pairs of definitions. If any of you know, could you please comment here and explain? 🥺🙏

Probabilistic Serial Mechanism

fF

fI

fD

aA

0

3/4

1/4

aB

1/2

1/4

1/4

aC

1/2

0

1/2

fF

fI

fD

aA

1/3

1/2

1/6

aB

1/3

1/2

1/6

aC

1/3

0

2/3

Nothing beats a jelly-filled doughnut.

Theorem

Bounded Incentives in Manipulating the Probabilistic Serial Rule

No agent can misreport its preferences such that its utility becomes more than 1.5 times of what it is when reported truthfully. This ratio is a worst-case guarantee by allowing an agent to have complete information about other agents’ reports.

Name

Pareto efficiency

Incentives

Fairness

Random Serial Dictatorship

(Random Priority)

Ex-post Pareto efficient

Truthful

Anonymous

Probabilistic Serial

Ordinal efficient

Not truthful

Anonymous

Envy-free

Pseudo-market

(not examinable)

Ex-ante Pareto efficient

Not truthful

Anonymous

Envy-free

What’s ordinal efficiency?

Not on the slides, so not examinable, I think

A mechanism is ordinally efficient if the outputted random assignment (probability distribution from agents to items) is ordinally efficient.

A definition by Bogomolnaia and Moulin (that was made readable by Abdulkadiroglu and Sonmez) is: a random assignment is ordinally efficient if they are not stochastically dominated by any other possible random assignment.

What does it mean for a random assignment to stochastically dominate another?

  • It means that, for every agent , and every item  that  ordinally prefers over every item , the stochastically dominating random assignment has a higher or equal chance of drawing  than .
  • In addition, there must be at least one  item where there is a strictly higher chance of drawing  than .
  • Source: Pycia, 2011

Let’s demonstrate this with an example. We have four agents, and four items:

  • a1, a2: a > b > c > d
  • a3, a4: b > a > d > c

RSD returns the following lottery (random assignment):

a

b

c

d

a1

5/12

1/12

5/12

1/12

a2

5/12

1/12

5/12

1/12

a3

1/12

5/12

1/12

5/12

a4

1/12

5/12

1/12

5/12

However, every agent prefers the lottery returned by PS:

a

b

c

d

a1

1/2

0

1/2

0

a2

1/2

0

1/2

0

a3

0

1/2

0

1/2

a4

0

1/2

0

1/2

The PS lottery stochastically dominates the RSD lottery!

Since PS returns the ordinal efficient random assignment, there is no other lottery that stochastically dominates this one.

Like ex-post, ordinal efficiency only requires ordinal preferences.

Ordinal efficiency is a stronger property than ex-post.

Ordinal efficiency is a weaker property than ex-ante.

Ex-ante implies ordinal efficiency.

Ordinal efficiency implies ex-post.

Here’s an example to show that ordinal efficiency is weaker than ex-ante:

  • a1, a2, a3: a > b > c

PS returns the following lottery for this setting:

a

b

c

a1

1/3

1/3

1/3

a2

1/3

1/3

1/3

a3

1/3

1/3

1/3

Now, in terms of purely ordinal preferences, this is efficient.

But what if we got more specific and added cardinal preferences compatible with our ordinal ones?

  • u1 = (1, 0.8, 0)
  • u2 = (1, 0.2, 0)
  • u3 = (1, 0.2, 0)

According to these cardinal preferences, everyone’s expected utilities for the above lottery are (0.6, 0.4, 0.4).

However, I can make a new lottery with higher expected utilities:

a

b

c

a1

0

1

0

a2

1/2

0

1/2

a3

1/2

0

1/2

With this new lottery, everyone’s expected utilities are (0.8, 0.5, 0.5). Higher than our ‘ordinally efficient’ lottery from before!

Secretary Problem

How do we maximise our chances of hiring the best secretary? 🤔

Calculating P(Si)

Each value is like that applicant’s ‘utility’.

Calculating P(S)

Optimal k For Smaller Values of n

Sponsored Search Auctions

Shameless plug: Use DuckDuckGo! 🦆

For these examples, I’m going to use DuckDuckGo instead of Google because:

  • They respect your privacy
  • They have a built-in dark theme
  • They use bangs, which are so cool and I now can’t live without

They still sell ad space, but nothing is personalised.

Use it today!

Greedy vs Offline Optimal

Sorry, Xbox players! Maybe in the next example?

Generalised Second Price (GSP)

Agent

Bid

Allocation

Payment

1

£5

First slot

£4

2

£4

Second slot

£1

3

£1

N/A

N/A

A small example of GSP, selling two ad slots, with the

setting in yellow and the mechanism result in green.

Google’s Weighted GSP

Quality score

Bid

(and true valuation)

Weighted bid

Allocation

Payment

Utility

Amazon

0.6

£10

£6

2

£3.33

4

eBay

0.9

£7

£6.30

1

£6.67

0.3

CEX

0.4

£5

£2

N/A

£0

0

Click-Through-Rate

Generalised First Price (GFP)

Nash Equilibria in GSP

Allocation

Agent

True valuation

Bid

Payment

Utility

1

Red

£5

£5

£4

2

Blue

£4

£4

£1

N/A

Green

£1

£1

£0

0

Allocation

Agent

True valuation

Bid

Payment

Utility

1

Blue

£4

£4

£2

2

Red

£5

£2

£1

N/A

Green

£1

£1

£0

0

Target agent

Old allocation

New allocation

Change in utility

Red

2

1

Red

2

0

Blue

1

2

Blue

1

0

Green

0

2

Green

0

1

Locally Envy-Free Equilibrium

Allocation

Agent

True valuation

Bid

Payment

Utility

1

Blue

£4

£4

£2

2

Red

£5

£2

£1

N/A

Green

£1

£1

£0

0

A copy of the table above

Bottom advertiser

Top advertiser

Change in utility

Red

Blue

Allo.

Agent

True

Bid

Pay

Utility

1

Red

£5

£4

£2

2

Blue

£4

£2

£1

N/A

Green

£1

£1

£0

0

Change in utility for Red

Change in utility for Blue

Green

Red

Allo.

Agent

True

Bid

Pay

Utility

1

Blue

£4

£4

£2

2

Green

£1

£2

£1

N/A

Red

£5

£1

£0

0

Change in utility for Green

Change in utility for Red

Allocation

Agent

True valuation

Bid

Payment

Utility

1

Red

£5

£5

£2.50

2

Blue

£4

£2.50

£1

N/A

Green

£1

£1

£0

0

Bottom advertiser

Top advertiser

Change in utility

Blue

Red

Allo.

Agent

True

Bid

Pay

Utility

1

Blue

£4

£5

£2.50

2

Red

£5

£2.50

£1

N/A

Green

£1

£1

£0

0

Change in utility for Blue

Change in utility for Red

Green

Blue

Allo.

Agent

True

Bid

Pay

Utility

1

Red

£5

£5

£2.50

2

Green

£1

£2.50

£1

N/A

Blue

£4

£1

£0

0

Change in utility for Green

Change in utility for Blue

GSP vs VCG

This is why we can’t just tell the truth

when we want to buy ad space.

Social Choice Theory (Voting)

Voting Algorithms

Majority Rule

  1. Each voter has a preference for one of the two candidates.
  2. The candidate with the most votes wins.

Theorem

May’s Theorem (Kenneth May 1952)

Among all possible two-candidate voting systems that never result in a tie, majority rule is the only one that is:

  • Anonymous
  • Neutral
  • Monotone

Condorcet’s Method

Voter 1

Voter 2

Voter 3

1st

A

B

C

2nd

B

A

A

3rd

C

C

B

A vs B

A vs C

B vs C

V1

V2

V3

1st

A

B

C

2nd

B

A

A

3rd

C

C

B

Winner: A

V1

V2

V3

1st

A

B

C

2nd

B

A

A

3rd

C

C

B

Winner: A

V1

V2

V3

1st

A

B

C

2nd

B

A

A

3rd

C

C

B

Winner: B

Voter 1

Voter 2

Voter 3

1st

A

B

C

2nd

B

C

A

3rd

C

A

B

A vs B

A vs C

B vs C

V1

V2

V3

1st

A

B

C

2nd

B

C

A

3rd

C

A

B

Winner: A

V1

V2

V3

1st

A

B

C

2nd

B

C

A

3rd

C

A

B

Winner: C

V1

V2

V3

1st

A

B

C

2nd

B

C

A

3rd

C

A

B

Winner: B

Plurality Voting

Voter 1

Voter 2

Voter 3

1st

A

B

C

2nd

B

A

A

3rd

C

C

B

Borda Count

Voter 1

Voter 2

Voter 3

Voter 4

Voter 5

1st

A

A

A

B

B

2nd

B

B

B

C

C

3rd

C

C

C

A

A

A: 2+2+2+0+0=6

B: 1+1+1+2+2=7

C: 0+0+0+1+1=2

B is the winner!

Voter 1

Voter 2

Voter 3

Voter 4

Voter 5

1st

A

A

A

C

C

2nd

B

B

B

B

B

3rd

C

C

C

A

A

A: 2+2+2+0+0=6

B: 1+1+1+1+1=5

C: 0+0+0+2+2=4

A is the winner!

Sequential Pairwise Voting

The Hare System

No 🤦‍♂️ not that kind of hare

Approval Voting

Arrow’s Impossibility Theorem

Voting System

Cons

Condorcet’s Method

Voting cycle

Plurality Voting

Fails to satisfy the Condorcet

Criterion, manipulable

Borda Count

Fails to satisfy the

Independence of Irrelevant

Alternatives (IIA) property

Sequential Pairwise Voting

Fails to satisfy Pareto efficiency

(unanimity)

Hare System

Fails to satisfy monotonicity

Approval Voting

Manipulable

Arrow’s Impossibility Theorem

With three or more candidates and any number of voters, there does not

exist - and there will never exist - a voting system that satisfies:

  1. If every voter prefers alternative A over alternative B, then the group prefers A over B. -- unanimity
  2. If every voter’s preference between A and B remains unchanged, then the group’s preference between A and b will also remain unchanged (even if voters’ preferences between other pairs like A and C, B and C, or D and E change). -- independence of irrelevant alternatives
  3. No single voter possesses the power to always determine the group’s preference -- non-dictatorship

Theorem

Arrow’s Impossibility Theorem

When you have three or more candidates, you can’t have a voting system that is:

  • Unanimous
  • Independent of Irrelevant Alternatives
  • Non-dictatorial

Theorem

Gibbard-Satterthwaite, 1971

Every non-dictatorial aggregation rule with >=3 candidates is manipulable.