49
Application of Formal Method on Game Mechanism Design Ye Fang, Swarat Chaudhuri, Moshe Vardi

Application of Formal Method on Game Mechanism Design

  • Upload
    kelton

  • View
    28

  • Download
    0

Embed Size (px)

DESCRIPTION

Application of Formal Method on Game Mechanism Design. Ye Fang, Swarat Chaudhuri , Moshe Vardi. Bid for an second-hand camera Sealed-bid auction What price will you give?. What are you considering when bidding? Rules? Other players? How much does it actually worth to you?. - PowerPoint PPT Presentation

Citation preview

Page 1: Application of Formal Method on Game Mechanism Design

Application of Formal Method on Game Mechanism Design

Ye Fang, Swarat Chaudhuri, Moshe Vardi

Page 2: Application of Formal Method on Game Mechanism Design

• Bid for an second-hand camera• Sealed-bid auction

What price will you give?

Page 3: Application of Formal Method on Game Mechanism Design

What are you considering when bidding? Rules? Other players? How much does it actually worth to

you?

Page 4: Application of Formal Method on Game Mechanism Design

Rule 1:Winner highest bidderPrice highest bid• If you win, pay for (true value – your bid)• Otherwise pay for nothingHow to win and make profit?Shade your true value just a little… bit.

Page 5: Application of Formal Method on Game Mechanism Design

Rule 2:Winner highest bidderPrice second highest bid

How you bid here?en…

If I have the highest bid If my bid is not the

highestI should gain as much as I

can !! Just bid for your true value.

Page 6: Application of Formal Method on Game Mechanism Design

• In the view point of a designer, why all these matter?

• Designers want a good rule• What can be a good rule?

Maximize auctioneer’s profit Efficient allocation of good Knowledge of how much the good worth

to the bidders

Page 7: Application of Formal Method on Game Mechanism Design

• Given the players are self-interested (strategic), which means they want to achieve maximum utility (gain)

• How can we come up with a GOOD rule?

Page 8: Application of Formal Method on Game Mechanism Design

Manual Mechanism Design

• How?– Traditionally, economists come up with some

possible mechanism by intuition and prove the property.

Magic ?!

Page 9: Application of Formal Method on Game Mechanism Design

• Example: Vickery Auctionsealed-bid auctionHighest bidder winsPrice paid for the second highest bid

• Property of the rule Force players to bid for their true valueEfficient Allocation

Page 10: Application of Formal Method on Game Mechanism Design

• What if there does not exist a rule?• Arrow impossibility theorem

If everyone prefers a to b, then a will has higher rank than b

Independence of preference Social preference between a and b only depends on

individuals preference of a and b

Dictatorship

Page 11: Application of Formal Method on Game Mechanism Design

Automating the Design Procedure

Magic

• Is there a systematic approach to generate the mechanism of desire property?

Page 12: Application of Formal Method on Game Mechanism Design

Previous Work• “Automated Mechanism Design:A New Application Area for

Search Algorithms” by Tuomas, Sandholm.

• “Application of Automated Mechanism Design”, Vincent Conitzer, Tuomas Sandholm.

• “Computationally Feasible Automated Mechanism Design: General Approach and Case Studies ”, Mingyu Guo and Vincent ∗Conitzer

Page 13: Application of Formal Method on Game Mechanism Design

Previous work

• Application of search algorithm• Mechanism function is a mapping

Agents Type Space outcome space

Page 14: Application of Formal Method on Game Mechanism Design

Previous work• The type space of an agent can be, in the case of

auction, true evaluations and bids.

• The approach is basically an guided online search with constrains and objectives.

• The algorithm takes an instance of the program, output the result.

• Not very rule like

Page 15: Application of Formal Method on Game Mechanism Design

• In the case of auction,• The type space will be agents’ bid and their

true evaluation of the good.• Outcome space will be the winner and the

price

• Given an instance of the game with • p0(b0, v0),p1(b1,v1),p2(b2,v2)• => Winner is __ Price is__

RULE ?!

Page 16: Application of Formal Method on Game Mechanism Design

Our Solution

• Computer-aided programming

• Computer-aided mechanism design

• A mechanism is naturally a program

Page 17: Application of Formal Method on Game Mechanism Design

• Problem modeling first step of Automation• What we observed:

Preference aggregation

Decision making rule

(Resource allocation)

Page 18: Application of Formal Method on Game Mechanism Design

Our solution

A collection of Preference input

Decision making mechanism

(Resource allocation) output

Page 19: Application of Formal Method on Game Mechanism Design

• Players/agentsPrivate field

true evaluation of the good true preference profile over the candidates utility function bid

• Rule• Outcome

Who is the winnerHow much should each player pay

Page 20: Application of Formal Method on Game Mechanism Design

• Properties Truth-revealing (players behavior)Maximize profit (outcome)No dictatorship (outcome)Efficient allocation (outcome)

Page 21: Application of Formal Method on Game Mechanism Design

• Modeling language agentTemplate

Page 22: Application of Formal Method on Game Mechanism Design

Choice for mechanism

• What can be a mechanism function for auction?

• Winner = ? (winner’s id#)• Price = ? (constant, linear functions,

polynomials, etc)

• Let’s start simple:Hard to solve for constrain solvers.

can represent constants

Page 23: Application of Formal Method on Game Mechanism Design

• Mechanism functionAssuming bids are sorted and winner is the

highest bidder

@ pre : { sorted(p, 1) } @mechanism m[list[] p][tuple result]= real winner = p[0][0]; real price = 0; for i = 0 to N-1 do price = price + ? c * p[i][1]; end for tuple result = Tuple(winner, price);end m

Page 24: Application of Formal Method on Game Mechanism Design

• Execution part

Page 25: Application of Formal Method on Game Mechanism Design

• A complete programprogram main [] =

real N = 3; agent template mechanism function execution code end program main

@ post : forall(i, 0, N), { a[i].uf(result, a[i].self, a[i].v) <=

a[i].uf(m(InsertSorted(Tuple(a[i].self,a[i].v), setExclude(e,i), 1)), a[i].self, a[i].v) } @

(ai_id, vi)

B_-i

Page 26: Application of Formal Method on Game Mechanism Design

• A typical program includes: Agent Templates Mechanism function Execution code

Generate agents according to templates Create input for mechanism function

Assumptions of inputs and outputs of program or functions

Page 27: Application of Formal Method on Game Mechanism Design

What we are really solving?

• If the mechanism function has missing constants, we will synthesize feasible ones.

to synthesize

for i = 0 to N-1 do price = price + ? c * p[i][1]; end for

Page 28: Application of Formal Method on Game Mechanism Design

What we are really solving?

• If the mechanism function is complete, it becomes a verification problem.

to verify

Page 29: Application of Formal Method on Game Mechanism Design

Translate program to formula

• Let’s walk through an example• Three players Vickrey Auction• Desired Property formulated in logic

expression: For all Players, b_i v_i ut(bid for any value) <= ut (bid for true value) While keep all the others’ bid the same

Page 30: Application of Formal Method on Game Mechanism Design

• M(b_0, B_-i)• Assume b0>b1>b2• ut_0 = v_0-price • M(v_0, B_-i)

• Cases: v0>b1>b2 => ut_0’ = v_0-price b1>v0>b2 => ut_0’ = 0 b1>b2>b0 => ut_0’ = 0

Page 31: Application of Formal Method on Game Mechanism Design

• ((((((b_2<=b_1) and (v_0<=b_2)) and (((v_0<=b_2)and (b_2<=b_1))))

implies • v_0-0.0-c_0*b_0-c_1*b_1-c_2*b_2<=0.0

• ((((b_1<=v_0) and (b_2<=b_1)) and (((b_2<=b_1)and (b_1<=v_0))))

implies • v_0-0.0-c_0*b_0-c_1*b_1-c_2*b_2<=v_0-0.0-c_0*v_0-c_1*b_1-

c_2*b_2

• ((((b_2<=v_0) and (v_0<=b_1)) and (((b_2<=v_0)and (v_0<=b_1))))

implies • v_0-0.0-c_0*b_0-c_1*b_1-c_2*b_2<=0.0

Page 32: Application of Formal Method on Game Mechanism Design

• The output of the compiler will be formula of the form:

Exists ( Mechanism with missing constants C) For all (possible inputs of the mechanism)

Phi(C, outcome) where Phi() is the desired property.

Page 33: Application of Formal Method on Game Mechanism Design

• Difficulty of nonlinear arithmetic• Only support linear mechanism function• The formula is a boolean combination of linear

inequalities.

where each ci:

Page 34: Application of Formal Method on Game Mechanism Design

• if any of the combinations of ci is unsatisfiable.

• Lazy evaluation From single ci, to two ci, cj , to three ci, cj, ck, …

Page 35: Application of Formal Method on Game Mechanism Design

Application of Farkas Lemma• is unsatisfiable if each di,j(I)

is unsatifiable.

• Each di,j(I) is a linear system that has no solution.

b_x_2<=v_x_0v_x_0<=b_x_1b_x_2<=v_x_0v_x_0-0.0-c_0*b_x_0-c_1*b_x_1-c_2*b_x_2<=0.

Page 36: Application of Formal Method on Game Mechanism Design

Application of Farkas Lemma

• If the system has no solution.

Page 37: Application of Formal Method on Game Mechanism Design

Application of Farkas Lemma

• Then the original problem becomes:Exists(y, z),

Page 38: Application of Formal Method on Game Mechanism Design

b_x_2<=v_x_0v_x_0<=b_x_1b_x_2<=v_x_0v_x_0-0.0-c_0*b_x_0-c_1*b_x_1-c_2*b_x_2<=0.0

• Exists(y, z),

Page 39: Application of Formal Method on Game Mechanism Design

Last Step

• We feed the generated formula to z3 on the fly.

• Program stops as long as we find a feasible solution.

Page 40: Application of Formal Method on Game Mechanism Design

Experimental results

• We have synthesized mechanism for vickery auction, position auction, multiple same good auction.

• We have showed if a linear voting mechanism satisfies Pareto efficiency, Independent of irrelevant alternatives, the solver only able to give mechanisms resulting in dictatorship.

Page 41: Application of Formal Method on Game Mechanism Design

What we have achieved

• We have designed a DSL for preference aggregation games.

• We have synthesized a sets of linear mechanism which are recorded in literature.

Page 42: Application of Formal Method on Game Mechanism Design

Future work

• Limitation of the solver– Currently, we are only able to verify or synthesize

linear mechanism functions– We are only able to simulate games with less than

ten agents

• How can we prove the mechanism to work for N(infinite number of) players instead of an arbitrary number of players?

Page 43: Application of Formal Method on Game Mechanism Design
Page 44: Application of Formal Method on Game Mechanism Design
Page 45: Application of Formal Method on Game Mechanism Design
Page 46: Application of Formal Method on Game Mechanism Design

• What should a fair voting achieve?If everyone prefers a to b, then a will has higher

rank than b

Independence of preference Social preference between a and b only depends on

individuals preference of a and b

No dictator

Page 47: Application of Formal Method on Game Mechanism Design

• Let’s VOTEIf we use majority vote:

P1:P2:P3:

Page 48: Application of Formal Method on Game Mechanism Design

• Result: a> b> c> a ??

Page 49: Application of Formal Method on Game Mechanism Design

• Another problem in VotingSay, an agent prefers

If he knows a will not winHow will he vote? b?Strategic bidding