Download presentation
Presentation is loading. Please wait.
Published byLillian Flynn Modified over 8 years ago
1
Application of Formal Method on Game Mechanism Design Ye Fang, Swarat Chaudhuri, Moshe Vardi
2
Bid for an second-hand camera Sealed-bid auction What price will you give?
3
What are you considering when bidding? Rules? Other players? How much does it actually worth to you?
4
Rule 1: Winner highest bidder Price highest bid If you win, pay for (true value – your bid) Otherwise pay for nothing How to win and make profit? Shade your true value just a little… bit.
5
Rule 2: Winner highest bidder Price second highest bid How you bid here? en… If I have the highest bid If my bid is not the highest I should gain as much as I can !! Just bid for your true value.
6
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
7
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?
8
Manual Mechanism Design How? – Traditionally, economists come up with some possible mechanism by intuition and prove the property. Magic ?!
9
Example: Vickery Auction sealed-bid auction Highest bidder wins Price paid for the second highest bid Property of the rule Force players to bid for their true value Efficient Allocation
10
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
11
Automating the Design Procedure Magic Is there a systematic approach to generate the mechanism of desire property?
12
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
13
Previous work Application of search algorithm Mechanism function is a mapping Agents Type Space outcome space
14
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
15
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 ?!
16
Our Solution Computer-aided programming Computer-aided mechanism design A mechanism is naturally a program
17
Problem modeling first step of Automation What we observed: Preference aggregation Decision making rule (Resource allocation)
18
Our solution A collection of Preference input Decision making mechanism (Resource allocation) output
19
Players/agents Private field true evaluation of the good true preference profile over the candidates utility function bid Rule Outcome Who is the winner How much should each player pay
20
Properties Truth-revealing (players behavior) Maximize profit (outcome) No dictatorship (outcome) Efficient allocation (outcome)
21
Modeling language agentTemplate
22
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
23
Mechanism function Assuming 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
24
Execution part
25
A complete program program 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
26
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
27
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
28
What we are really solving? If the mechanism function is complete, it becomes a verification problem. to verify
29
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
30
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
31
((((((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
32
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.
33
Difficulty of nonlinear arithmetic Only support linear mechanism function The formula is a boolean combination of linear inequalities. where each ci:
34
if any of the combinations of ci is unsatisfiable. Lazy evaluation From single ci, to two ci, cj, to three ci, cj, ck, …
35
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_0 v_x_0<=b_x_1 b_x_2<=v_x_0 v_x_0-0.0-c_0*b_x_0-c_1*b_x_1-c_2*b_x_2<=0.
36
Application of Farkas Lemma If the system has no solution.
37
Application of Farkas Lemma Then the original problem becomes: Exists(y, z),
38
b_x_2<=v_x_0 v_x_0<=b_x_1 b_x_2<=v_x_0 v_x_0-0.0-c_0*b_x_0-c_1*b_x_1-c_2*b_x_2<=0.0 Exists(y, z),
39
Last Step We feed the generated formula to z3 on the fly. Program stops as long as we find a feasible solution.
40
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.
41
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.
42
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?
46
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
47
Let’s VOTE If we use majority vote: P1: P2: P3:
48
Result: a> b> c> a ??
49
Another problem in Voting Say, an agent prefers If he knows a will not win How will he vote? b? Strategic bidding
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.