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
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?
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.
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.
• 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
• 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?
Manual Mechanism Design
• How?– Traditionally, economists come up with some
possible mechanism by intuition and prove the property.
Magic ?!
• 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
• 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
Automating the Design Procedure
Magic
• Is there a systematic approach to generate the mechanism of desire property?
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
Previous work
• Application of search algorithm• Mechanism function is a mapping
Agents Type Space outcome space
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
• 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 ?!
Our Solution
• Computer-aided programming
• Computer-aided mechanism design
• A mechanism is naturally a program
• Problem modeling first step of Automation• What we observed:
Preference aggregation
Decision making rule
(Resource allocation)
Our solution
A collection of Preference input
Decision making mechanism
(Resource allocation) output
• 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
• Properties Truth-revealing (players behavior)Maximize profit (outcome)No dictatorship (outcome)Efficient allocation (outcome)
• Modeling language agentTemplate
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
• 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
• Execution part
• 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
• 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
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
What we are really solving?
• If the mechanism function is complete, it becomes a verification problem.
to verify
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
• 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
• ((((((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
• 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.
• Difficulty of nonlinear arithmetic• Only support linear mechanism function• The formula is a boolean combination of linear
inequalities.
where each ci:
• if any of the combinations of ci is unsatisfiable.
• Lazy evaluation From single ci, to two ci, cj , to three ci, cj, ck, …
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.
Application of Farkas Lemma
• If the system has no solution.
Application of Farkas Lemma
• Then the original problem becomes:Exists(y, z),
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),
Last Step
• We feed the generated formula to z3 on the fly.
• Program stops as long as we find a feasible solution.
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.
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.
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?
• 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
• Let’s VOTEIf we use majority vote:
P1:P2:P3:
• Result: a> b> c> a ??
• Another problem in VotingSay, an agent prefers
If he knows a will not winHow will he vote? b?Strategic bidding