a universally-truthful approximation scheme for multi-unit auction
DESCRIPTION
Presented in Seminar Algorithmic Game Theory. Everything is highly simplified. If someone sees mistakes, please don't hesitate to comment.TRANSCRIPT
Introduction Tools The Mechanism Summary
A Universally-Truthful Approximation Scheme forMulti-unit Auction
Author : Berthold Vöcking
Presenter : Thatchaphol Saranurak
Seminar Algorithmic Game Theory
Saarland University
6 Dec 2011
Introduction Tools The Mechanism Summary
Outline
Introduction
Problem
3 Kinds of Truthfulness
Related Work
Tools
∆-Perturbed Maximizer
Consensus Function with Drop-outs
The Mechanism
Social Choice Function
Feasibility
Approximation Ratio
Universal Truthfulness
Summary
Introduction Tools The Mechanism Summary
Outline
Introduction
Problem
3 Kinds of Truthfulness
Related Work
Tools
∆-Perturbed Maximizer
Consensus Function with Drop-outs
The Mechanism
Social Choice Function
Feasibility
Approximation Ratio
Universal Truthfulness
Summary
Introduction Tools The Mechanism Summary
Multi-unit Auction
• m identical items
• n bidders
• Bidders bid : Valuation function vi
• vi : {0,1, ...,m}→ R>0
• how much i is willing to pay for each amount
• V = {v |v(0) = 0 and v is non-decreasing }
• Bidders get : Allocation s• s = (s1,s2, ...,sn) ∈ {0, ...,m}n: how much each gets
• feasible set A = {s | ∑ni=1 si6 m}
• vi(s) = vi(si)
• Objective : maximize social welfare ∑i vi(s) = v(s)
Introduction Tools The Mechanism Summary
Multi-unit Auction
• m identical items
• n bidders
• Bidders bid : Valuation function vi
• vi : {0,1, ...,m}→ R>0
• how much i is willing to pay for each amount
• V = {v |v(0) = 0 and v is non-decreasing }
• Bidders get : Allocation s• s = (s1,s2, ...,sn) ∈ {0, ...,m}n: how much each gets
• feasible set A = {s | ∑ni=1 si6 m}
• vi(s) = vi(si)
• Objective : maximize social welfare ∑i vi(s) = v(s)
Introduction Tools The Mechanism Summary
Multi-unit Auction
• m identical items
• n bidders
• Bidders bid : Valuation function vi
• vi : {0,1, ...,m}→ R>0
• how much i is willing to pay for each amount
• V = {v |v(0) = 0 and v is non-decreasing }
• Bidders get : Allocation s• s = (s1,s2, ...,sn) ∈ {0, ...,m}n: how much each gets
• feasible set A = {s | ∑ni=1 si6 m}
• vi(s) = vi(si)
• Objective : maximize social welfare ∑i vi(s) = v(s)
Introduction Tools The Mechanism Summary
Multi-unit Auction
• m identical items
• n bidders
• Bidders bid : Valuation function vi
• vi : {0,1, ...,m}→ R>0
• how much i is willing to pay for each amount
• V = {v |v(0) = 0 and v is non-decreasing }
• Bidders get : Allocation s• s = (s1,s2, ...,sn) ∈ {0, ...,m}n: how much each gets
• feasible set A = {s | ∑ni=1 si6 m}
• vi(s) = vi(si)
• Objective : maximize social welfare ∑i vi(s) = v(s)
Introduction Tools The Mechanism Summary
Multi-unit Auction
• m identical items
• n bidders
• Bidders bid : Valuation function vi
• vi : {0,1, ...,m}→ R>0
• how much i is willing to pay for each amount
• V = {v |v(0) = 0 and v is non-decreasing }
• Bidders get : Allocation s• s = (s1,s2, ...,sn) ∈ {0, ...,m}n: how much each gets
• feasible set A = {s | ∑ni=1 si6 m}
• vi(s) = vi(si)
• Objective : maximize social welfare ∑i vi(s) = v(s)
Introduction Tools The Mechanism Summary
Multi-unit Auction
• m identical items
• n bidders
• Bidders bid : Valuation function vi
• vi : {0,1, ...,m}→ R>0
• how much i is willing to pay for each amount
• V = {v |v(0) = 0 and v is non-decreasing }
• Bidders get : Allocation s• s = (s1,s2, ...,sn) ∈ {0, ...,m}n: how much each gets
• feasible set A = {s | ∑ni=1 si6 m}
• vi(s) = vi(si)
• Objective : maximize social welfare ∑i vi(s) = v(s)
Introduction Tools The Mechanism Summary
Multi-unit Auction
• m identical items
• n bidders
• Bidders bid : Valuation function vi
• vi : {0,1, ...,m}→ R>0
• how much i is willing to pay for each amount
• V = {v |v(0) = 0 and v is non-decreasing }
• Bidders get : Allocation s• s = (s1,s2, ...,sn) ∈ {0, ...,m}n: how much each gets
• feasible set A = {s | ∑ni=1 si6 m}
• vi(s) = vi(si)
• Objective : maximize social welfare ∑i vi(s) = v(s)
Introduction Tools The Mechanism Summary
Mechanism
• Mechanism (f ,p)
• social choice function f : Vn → A
• payment scheme p = (p1,p2, ...,pn)
• pi : Vn → R
• k-approximation mechanism
• social welfare from mechanismoptimum social welfare ≥ k
• Polynomial time mechanism
• poly(n, logm)
Introduction Tools The Mechanism Summary
Mechanism
• Mechanism (f ,p)
• social choice function f : Vn → A
• payment scheme p = (p1,p2, ...,pn)
• pi : Vn → R
• k-approximation mechanism
• social welfare from mechanismoptimum social welfare ≥ k
• Polynomial time mechanism
• poly(n, logm)
Introduction Tools The Mechanism Summary
Mechanism
• Mechanism (f ,p)
• social choice function f : Vn → A
• payment scheme p = (p1,p2, ...,pn)
• pi : Vn → R
• k-approximation mechanism
• social welfare from mechanismoptimum social welfare ≥ k
• Polynomial time mechanism
• poly(n, logm)
Introduction Tools The Mechanism Summary
Mechanism
• Mechanism (f ,p)
• social choice function f : Vn → A
• payment scheme p = (p1,p2, ...,pn)
• pi : Vn → R
• k-approximation mechanism
• social welfare from mechanismoptimum social welfare ≥ k
• Polynomial time mechanism
• poly(n, logm)
Introduction Tools The Mechanism Summary
Mechanism
• Mechanism (f ,p)
• social choice function f : Vn → A
• payment scheme p = (p1,p2, ...,pn)
• pi : Vn → R
• k-approximation mechanism
• social welfare from mechanismoptimum social welfare ≥ k
• Polynomial time mechanism
• poly(n, logm)
Introduction Tools The Mechanism Summary
Utility of Bidder
• let s = f (vi,v−i)
• v−i : all valuation functions, except i's valuation
• Utility of bidder i : vi(s) − pi(vi,v−i)
Introduction Tools The Mechanism Summary
Utility of Bidder
• let s = f (vi,v−i)
• v−i : all valuation functions, except i's valuation
• Utility of bidder i : vi(s) − pi(vi,v−i)
Introduction Tools The Mechanism Summary
Outline
Introduction
Problem
3 Kinds of Truthfulness
Related Work
Tools
∆-Perturbed Maximizer
Consensus Function with Drop-outs
The Mechanism
Social Choice Function
Feasibility
Approximation Ratio
Universal Truthfulness
Summary
Introduction Tools The Mechanism Summary
Deterministic Mechanism
De�nition
Deterministically truthful
• Utility vi(s) − pi is maximized when i bids the true vi
Introduction Tools The Mechanism Summary
Randomized Mechanism
• Randomized mechanism
• Probability distribution over deterministic mechanisms
De�nition
Universally truthful
• Each mechanism in distribution is truthful
De�nition
Truthful in expectation
• Expected utility is maximized when i bids the true vi
• Truthful only if bidders don't know outcome of random bits
Introduction Tools The Mechanism Summary
Randomized Mechanism
• Randomized mechanism
• Probability distribution over deterministic mechanisms
De�nition
Universally truthful
• Each mechanism in distribution is truthful
De�nition
Truthful in expectation
• Expected utility is maximized when i bids the true vi
• Truthful only if bidders don't know outcome of random bits
Introduction Tools The Mechanism Summary
Randomized Mechanism
• Randomized mechanism
• Probability distribution over deterministic mechanisms
De�nition
Universally truthful
• Each mechanism in distribution is truthful
De�nition
Truthful in expectation
• Expected utility is maximized when i bids the true vi
• Truthful only if bidders don't know outcome of random bits
Introduction Tools The Mechanism Summary
Randomized Mechanism
• Randomized mechanism
• Probability distribution over deterministic mechanisms
De�nition
Universally truthful
• Each mechanism in distribution is truthful
De�nition
Truthful in expectation
• Expected utility is maximized when i bids the true vi
• Truthful only if bidders don't know outcome of random bits
Introduction Tools The Mechanism Summary
Outline
Introduction
Problem
3 Kinds of Truthfulness
Related Work
Tools
∆-Perturbed Maximizer
Consensus Function with Drop-outs
The Mechanism
Social Choice Function
Feasibility
Approximation Ratio
Universal Truthfulness
Summary
Introduction Tools The Mechanism Summary
Compare Di�erent Power of Truthfulness-es
Truthfulness Mechanism
Deterministically truthful 2-approx, poly-time
Universally truthful ?
Truthful in expectation(*) FPTAS
• PTAS
• for �xed ε > 0, (1− ε)-approximation• run in poly(n, logm)• may run in exp(1/ε).
• FPTAS
• PTAS, but run in poly(1/ε)
• (*) suggested : no poly-time universally truthful mechanism
has approximation ratio better than 2
Introduction Tools The Mechanism Summary
Compare Di�erent Power of Truthfulness-es
Truthfulness Mechanism
Deterministically truthful 2-approx, poly-time
Universally truthful ?
Truthful in expectation(*) FPTAS
• PTAS
• for �xed ε > 0, (1− ε)-approximation• run in poly(n, logm)• may run in exp(1/ε).
• FPTAS
• PTAS, but run in poly(1/ε)
• (*) suggested : no poly-time universally truthful mechanism
has approximation ratio better than 2
Introduction Tools The Mechanism Summary
Compare Di�erent Power of Truthfulness-es
Truthfulness Mechanism
Deterministically truthful 2-approx, poly-time
Universally truthful ?
Truthful in expectation(*) FPTAS
• PTAS
• for �xed ε > 0, (1− ε)-approximation• run in poly(n, logm)• may run in exp(1/ε).
• FPTAS
• PTAS, but run in poly(1/ε)
• (*) suggested : no poly-time universally truthful mechanism
has approximation ratio better than 2
Introduction Tools The Mechanism Summary
Compare Di�erent Power of Truthfulness-es
Truthfulness Mechanism
Deterministically truthful 2-approx, poly-time
Universally truthful ?
Truthful in expectation(*) FPTAS
• PTAS
• for �xed ε > 0, (1− ε)-approximation• run in poly(n, logm)• may run in exp(1/ε).
• FPTAS
• PTAS, but run in poly(1/ε)
• (*) suggested : no poly-time universally truthful mechanism
has approximation ratio better than 2
Introduction Tools The Mechanism Summary
This Paper : �Universally Truthful Mechanism has PTAS�
Truthfulness Mechanism
Deterministically truthful 2-approx, poly-time
Universally truthful PTAS
Truthful in expectation FPTAS
Introduction Tools The Mechanism Summary
Outline
Introduction
Problem
3 Kinds of Truthfulness
Related Work
Tools
∆-Perturbed Maximizer
Consensus Function with Drop-outs
The Mechanism
Social Choice Function
Feasibility
Approximation Ratio
Universal Truthfulness
Summary
Introduction Tools The Mechanism Summary
Multiple-choice Knapsack Problem
• n classes of objects
• m objects, for each class
• each object k has weight wk and pro�t pk
• select 1 object from each class
• sum of weight ≤ m• maximize sum of pro�t
Introduction Tools The Mechanism Summary
Multiple-choice Knapsack Problem
• n classes of objects
• m objects, for each class
• each object k has weight wk and pro�t pk
• select 1 object from each class
• sum of weight ≤ m• maximize sum of pro�t
Introduction Tools The Mechanism Summary
Reduce Maximizing Social Welfare → Knapsack Problem
• De�ne (i, j) be object for allocating j items to bidder i
• w(i,j) = j• p(i,j) = vi(j)
• Solve Knapsack = Optimize social welfare
• But still cannot solve in poly(n, logm)
• #object is n×m not poly(n, logm)
• Knapsack is NP-Hard!
Introduction Tools The Mechanism Summary
Reduce Maximizing Social Welfare → Knapsack Problem
• De�ne (i, j) be object for allocating j items to bidder i
• w(i,j) = j• p(i,j) = vi(j)
• Solve Knapsack = Optimize social welfare
• But still cannot solve in poly(n, logm)
• #object is n×m not poly(n, logm)
• Knapsack is NP-Hard!
Introduction Tools The Mechanism Summary
Reduce Maximizing Social Welfare → Knapsack Problem
• De�ne (i, j) be object for allocating j items to bidder i
• w(i,j) = j• p(i,j) = vi(j)
• Solve Knapsack = Optimize social welfare
• But still cannot solve in poly(n, logm)
• #object is n×m not poly(n, logm)
• Knapsack is NP-Hard!
Introduction Tools The Mechanism Summary
Reduce Maximizing Social Welfare → Knapsack Problem
• De�ne (i, j) be object for allocating j items to bidder i
• w(i,j) = j• p(i,j) = vi(j)
• Solve Knapsack = Optimize social welfare
• But still cannot solve in poly(n, logm)
• #object is n×m not poly(n, logm)
• Knapsack is NP-Hard!
Introduction Tools The Mechanism Summary
Reduce Maximizing Social Welfare → Knapsack Problem
• De�ne (i, j) be object for allocating j items to bidder i
• w(i,j) = j• p(i,j) = vi(j)
• Solve Knapsack = Optimize social welfare
• But still cannot solve in poly(n, logm)
• #object is n×m not poly(n, logm)
• Knapsack is NP-Hard!
Introduction Tools The Mechanism Summary
Perturbed Valuation Function
• De�ne
• ∆ > 0 is some constant
• xji ∼ [0,1]
• q(k) : {0, ...,m}→ Z is number of factor 2 of k
• 96 = 25 ×3 so q(96) = 5
• q(k)≤ blogmc
• exception : q(0) = blogmc+1
• Perturbed valuation function
v′i(j) = v(j)+(2q(j)+ xji)∆
Introduction Tools The Mechanism Summary
Perturbed Valuation Function
• De�ne
• ∆ > 0 is some constant
• xji ∼ [0,1]
• q(k) : {0, ...,m}→ Z is number of factor 2 of k
• 96 = 25 ×3 so q(96) = 5
• q(k)≤ blogmc
• exception : q(0) = blogmc+1
• Perturbed valuation function
v′i(j) = v(j)+(2q(j)+ xji)∆
Introduction Tools The Mechanism Summary
Perturbed Valuation Function
• De�ne
• ∆ > 0 is some constant
• xji ∼ [0,1]
• q(k) : {0, ...,m}→ Z is number of factor 2 of k
• 96 = 25 ×3 so q(96) = 5
• q(k)≤ blogmc
• exception : q(0) = blogmc+1
• Perturbed valuation function
v′i(j) = v(j)+(2q(j)+ xji)∆
Introduction Tools The Mechanism Summary
Perturbed Valuation Function
• De�ne
• ∆ > 0 is some constant
• xji ∼ [0,1]
• q(k) : {0, ...,m}→ Z is number of factor 2 of k
• 96 = 25 ×3 so q(96) = 5
• q(k)≤ blogmc
• exception : q(0) = blogmc+1
• Perturbed valuation function
v′i(j) = v(j)+(2q(j)+ xji)∆
Introduction Tools The Mechanism Summary
Perturbed Valuation Function
• De�ne
• ∆ > 0 is some constant
• xji ∼ [0,1]
• q(k) : {0, ...,m}→ Z is number of factor 2 of k
• 96 = 25 ×3 so q(96) = 5
• q(k)≤ blogmc
• exception : q(0) = blogmc+1
• Perturbed valuation function
v′i(j) = v(j)+(2q(j)+ xji)∆
Introduction Tools The Mechanism Summary
Perturbed Valuation Function
• De�ne
• ∆ > 0 is some constant
• xji ∼ [0,1]
• q(k) : {0, ...,m}→ Z is number of factor 2 of k
• 96 = 25 ×3 so q(96) = 5
• q(k)≤ blogmc
• exception : q(0) = blogmc+1
• Perturbed valuation function
v′i(j) = v(j)+(2q(j)+ xji)∆
Introduction Tools The Mechanism Summary
Perturbed Valuation Function
• De�ne
• ∆ > 0 is some constant
• xji ∼ [0,1]
• q(k) : {0, ...,m}→ Z is number of factor 2 of k
• 96 = 25 ×3 so q(96) = 5
• q(k)≤ blogmc
• exception : q(0) = blogmc+1
• Perturbed valuation function
v′i(j) = v(j)+(2q(j)+ xji)∆
Introduction Tools The Mechanism Summary
Poly-time Knapsack
• Set pro�t of object p(i,j) = v′i(j) instead of vi(j)
• Claim: Expected running time of Knapsack is
poly(n, logm, P/∆)
• P is second largest number of max bid vi(m)
• set ∆ be proportion to P ⇒ run in poly-time
Introduction Tools The Mechanism Summary
Poly-time Knapsack
• Set pro�t of object p(i,j) = v′i(j) instead of vi(j)
• Claim: Expected running time of Knapsack is
poly(n, logm, P/∆)
• P is second largest number of max bid vi(m)
• set ∆ be proportion to P ⇒ run in poly-time
Introduction Tools The Mechanism Summary
Poly-time Knapsack
• Set pro�t of object p(i,j) = v′i(j) instead of vi(j)
• Claim: Expected running time of Knapsack is
poly(n, logm, P/∆)
• P is second largest number of max bid vi(m)
• set ∆ be proportion to P ⇒ run in poly-time
Introduction Tools The Mechanism Summary
Informal Explanation of Achieving Poly-time Knapsack
v′i(j) = v(j)+(2q(j)+ xji)∆
• term q(·) : can focus on only poly(n, logm, P/∆) objects
• Nice proof but have to skip.
• term x : can run Knapsack in poly(#object) time in expectation
• How ?
Introduction Tools The Mechanism Summary
Informal Explanation of Achieving Poly-time Knapsack
v′i(j) = v(j)+(2q(j)+ xji)∆
• term q(·) : can focus on only poly(n, logm, P/∆) objects
• Nice proof but have to skip.
• term x : can run Knapsack in poly(#object) time in expectation
• How ?
Introduction Tools The Mechanism Summary
Informal Explanation of Achieving Poly-time Knapsack
v′i(j) = v(j)+(2q(j)+ xji)∆
• term q(·) : can focus on only poly(n, logm, P/∆) objects
• Nice proof but have to skip.
• term x : can run Knapsack in poly(#object) time in expectation
• How ?
Introduction Tools The Mechanism Summary
Use Randomness to Bound Running Time(Smoothed Analysis)
• �Hard instances� of Knapsack are �isolated�
• Random variable averages running time of hard instances with
easy instances
(�gures from: Smoothed Analysis Homepage)
Introduction Tools The Mechanism Summary
Use Randomness to Bound Running Time(Smoothed Analysis)
• �Hard instances� of Knapsack are �isolated�
• Random variable averages running time of hard instances with
easy instances
(�gures from: Smoothed Analysis Homepage)
Introduction Tools The Mechanism Summary
Use Randomness to Bound Running Time(Smoothed Analysis)
• �Hard instances� of Knapsack are �isolated�
• Random variable averages running time of hard instances with
easy instances
(�gures from: Smoothed Analysis Homepage)
Introduction Tools The Mechanism Summary
∆-Perturbed Maximizer
• ∆-perturbed maximizer = solving Knapsack with perturbed
valuation function
• Additive error• Reject low bidding
Introduction Tools The Mechanism Summary
∆-Perturbed Maximizer
• ∆-perturbed maximizer = solving Knapsack with perturbed
valuation function
• Additive error• Reject low bidding
Introduction Tools The Mechanism Summary
Additive Error
• ∆-perturbed maximizer maximizes ∑ni=0 v′i(s)
• Social welfare is less than ∑ni=0 v′i(s)
0 ≤n
∑i=0
v′i(s)−n
∑i=0
vi(s)≤ (2blogmc+3)∆n
• v′i(j) = vi(j)+(2q(j)+ xji)∆
• q(j)≤ blogmc+1
• xji ≤ 1
• v′i(j)− vi(j)≤ (2blogmc+2+1)∆
Introduction Tools The Mechanism Summary
Additive Error
• ∆-perturbed maximizer maximizes ∑ni=0 v′i(s)
• Social welfare is less than ∑ni=0 v′i(s)
0 ≤n
∑i=0
v′i(s)−n
∑i=0
vi(s)≤ (2blogmc+3)∆n
• v′i(j) = vi(j)+(2q(j)+ xji)∆
• q(j)≤ blogmc+1
• xji ≤ 1
• v′i(j)− vi(j)≤ (2blogmc+2+1)∆
Introduction Tools The Mechanism Summary
Additive Error
• ∆-perturbed maximizer maximizes ∑ni=0 v′i(s)
• Social welfare is less than ∑ni=0 v′i(s)
0 ≤n
∑i=0
v′i(s)−n
∑i=0
vi(s)≤ (2blogmc+3)∆n
• v′i(j) = vi(j)+(2q(j)+ xji)∆
• q(j)≤ blogmc+1
• xji ≤ 1
• v′i(j)− vi(j)≤ (2blogmc+2+1)∆
Introduction Tools The Mechanism Summary
Additive Error
• ∆-perturbed maximizer maximizes ∑ni=0 v′i(s)
• Social welfare is less than ∑ni=0 v′i(s)
0 ≤n
∑i=0
v′i(s)−n
∑i=0
vi(s)≤ (2blogmc+3)∆n
• v′i(j) = vi(j)+(2q(j)+ xji)∆
• q(j)≤ blogmc+1
• xji ≤ 1
• v′i(j)− vi(j)≤ (2blogmc+2+1)∆
Introduction Tools The Mechanism Summary
Additive Error
• ∆-perturbed maximizer maximizes ∑ni=0 v′i(s)
• Social welfare is less than ∑ni=0 v′i(s)
0 ≤n
∑i=0
v′i(s)−n
∑i=0
vi(s)≤ (2blogmc+3)∆n
• v′i(j) = vi(j)+(2q(j)+ xji)∆
• q(j)≤ blogmc+1
• xji ≤ 1
• v′i(j)− vi(j)≤ (2blogmc+2+1)∆
Introduction Tools The Mechanism Summary
Additive Error
• ∆-perturbed maximizer maximizes ∑ni=0 v′i(s)
• Social welfare is less than ∑ni=0 v′i(s)
0 ≤n
∑i=0
v′i(s)−n
∑i=0
vi(s)≤ (2blogmc+3)∆n
• v′i(j) = vi(j)+(2q(j)+ xji)∆
• q(j)≤ blogmc+1
• xji ≤ 1
• v′i(j)− vi(j)≤ (2blogmc+2+1)∆
Introduction Tools The Mechanism Summary
Reject Low Bidding
• Max bid of bidder i :vi(m)
• Claim: if vi(m)< ∆ → bidder i get nothing si = 0
v′i(j) = v(j)+(2q(j)+ xji)∆
• vi(j)< vi(m)< ∆
• q(j)+1 ≤ q(0) and q is multiplied by ∆
• v′i is maximized when j = 0
Introduction Tools The Mechanism Summary
Reject Low Bidding
• Max bid of bidder i :vi(m)
• Claim: if vi(m)< ∆ → bidder i get nothing si = 0
v′i(j) = v(j)+(2q(j)+ xji)∆
• vi(j)< vi(m)< ∆
• q(j)+1 ≤ q(0) and q is multiplied by ∆
• v′i is maximized when j = 0
Introduction Tools The Mechanism Summary
Reject Low Bidding
• Max bid of bidder i :vi(m)
• Claim: if vi(m)< ∆ → bidder i get nothing si = 0
v′i(j) = v(j)+(2q(j)+ xji)∆
• vi(j)< vi(m)< ∆
• q(j)+1 ≤ q(0) and q is multiplied by ∆
• v′i is maximized when j = 0
Introduction Tools The Mechanism Summary
Reject Low Bidding
• Max bid of bidder i :vi(m)
• Claim: if vi(m)< ∆ → bidder i get nothing si = 0
v′i(j) = v(j)+(2q(j)+ xji)∆
• vi(j)< vi(m)< ∆
• q(j)+1 ≤ q(0) and q is multiplied by ∆
• v′i is maximized when j = 0
Introduction Tools The Mechanism Summary
Reject Low Bidding
• Max bid of bidder i :vi(m)
• Claim: if vi(m)< ∆ → bidder i get nothing si = 0
v′i(j) = v(j)+(2q(j)+ xji)∆
• vi(j)< vi(m)< ∆
• q(j)+1 ≤ q(0) and q is multiplied by ∆
• v′i is maximized when j = 0
Introduction Tools The Mechanism Summary
Reject Low Bidding
• Max bid of bidder i :vi(m)
• Claim: if vi(m)< ∆ → bidder i get nothing si = 0
v′i(j) = v(j)+(2q(j)+ xji)∆
• vi(j)< vi(m)< ∆
• q(j)+1 ≤ q(0) and q is multiplied by ∆
• v′i is maximized when j = 0
Introduction Tools The Mechanism Summary
Summary of ∆-Perturbed Maximizer
• Maximizes social welfare
• in poly-time• (2blogmc+3)∆n additive error• reject low bid
Introduction Tools The Mechanism Summary
Summary of ∆-Perturbed Maximizer
• Maximizes social welfare
• in poly-time• (2blogmc+3)∆n additive error• reject low bid
Introduction Tools The Mechanism Summary
Summary of ∆-Perturbed Maximizer
• Maximizes social welfare
• in poly-time• (2blogmc+3)∆n additive error• reject low bid
Introduction Tools The Mechanism Summary
Outline
Introduction
Problem
3 Kinds of Truthfulness
Related Work
Tools
∆-Perturbed Maximizer
Consensus Function with Drop-outs
The Mechanism
Social Choice Function
Feasibility
Approximation Ratio
Universal Truthfulness
Summary
Introduction Tools The Mechanism Summary
Want Function l Such That
1. Drop out : fail to compute with low prob
Pr[l(a) =⊥] = ε
2. Bound : if l(a) 6=⊥l(a)≤ a
3. Separation : if l(a1)< l(a2) 6=⊥
a1 < l(a2)−1
Introduction Tools The Mechanism Summary
Want Function l Such That
1. Drop out : fail to compute with low prob
Pr[l(a) =⊥] = ε
2. Bound : if l(a) 6=⊥l(a)≤ a
3. Separation : if l(a1)< l(a2) 6=⊥
a1 < l(a2)−1
Introduction Tools The Mechanism Summary
Want Function l Such That
1. Drop out : fail to compute with low prob
Pr[l(a) =⊥] = ε
2. Bound : if l(a) 6=⊥l(a)≤ a
3. Separation : if l(a1)< l(a2) 6=⊥
a1 < l(a2)−1
Introduction Tools The Mechanism Summary
2.Bound
• τ ∼ [0,1]
• xτ(i) = (i+ τ) 1ε; i ∈ Z
1/𝜖
𝑙 𝑎 = 𝑥𝜏(𝑘) 𝑎
1
𝑑
𝑥𝜏(𝑘 + 1) 𝑙 . =⊥
• let k be largest integer s.t. xτ(k)≤ a
• lτ(a) =
{xτ(k) ; d > 1⊥ ; d ≤ 1
• So lτ(a)≤ a
Introduction Tools The Mechanism Summary
2.Bound
• τ ∼ [0,1]
• xτ(i) = (i+ τ) 1ε; i ∈ Z
1/𝜖
𝑙 𝑎 = 𝑥𝜏(𝑘) 𝑎
1
𝑑
𝑥𝜏(𝑘 + 1) 𝑙 . =⊥
• let k be largest integer s.t. xτ(k)≤ a
• lτ(a) =
{xτ(k) ; d > 1⊥ ; d ≤ 1
• So lτ(a)≤ a
Introduction Tools The Mechanism Summary
2.Bound
• τ ∼ [0,1]
• xτ(i) = (i+ τ) 1ε; i ∈ Z
1/𝜖
𝑙 𝑎 = 𝑥𝜏(𝑘) 𝑎
1
𝑑
𝑥𝜏(𝑘 + 1) 𝑙 . =⊥
• let k be largest integer s.t. xτ(k)≤ a
• lτ(a) =
{xτ(k) ; d > 1⊥ ; d ≤ 1
• So lτ(a)≤ a
Introduction Tools The Mechanism Summary
2.Bound
• τ ∼ [0,1]
• xτ(i) = (i+ τ) 1ε; i ∈ Z
1/𝜖
𝑙 𝑎 = 𝑥𝜏(𝑘) 𝑎
1
𝑑
𝑥𝜏(𝑘 + 1) 𝑙 . =⊥
• let k be largest integer s.t. xτ(k)≤ a
• lτ(a) =
{xτ(k) ; d > 1⊥ ; d ≤ 1
• So lτ(a)≤ a
Introduction Tools The Mechanism Summary
3.Separation
1/𝜖
𝑎1 1 𝑙𝜏(𝑎2)
𝑎2
1
lτ(a1)< lτ(a2) ⇒ a1 < lτ(a2)−1
Introduction Tools The Mechanism Summary
1.Drop out
• τ ∼ [0,1]• xτ(i) = (i+ τ) 1
ε; i ∈ Z
• Can view xτ(k+1) as random number picked ∼ (a, a+ 1ε]
• Drop out if it is picked ∼ (a, a+1]
1/𝜖
𝑥𝜏(𝑘)
𝑎 1
𝑥𝜏(𝑘 + 1)
•Pr[lτ(a) =⊥] =
11/ε
= ε
Introduction Tools The Mechanism Summary
1.Drop out
• τ ∼ [0,1]• xτ(i) = (i+ τ) 1
ε; i ∈ Z
• Can view xτ(k+1) as random number picked ∼ (a, a+ 1ε]
• Drop out if it is picked ∼ (a, a+1]
1/𝜖
𝑥𝜏(𝑘)
𝑎 1
𝑥𝜏(𝑘 + 1)
•Pr[lτ(a) =⊥] =
11/ε
= ε
Introduction Tools The Mechanism Summary
1.Drop out
• τ ∼ [0,1]• xτ(i) = (i+ τ) 1
ε; i ∈ Z
• Can view xτ(k+1) as random number picked ∼ (a, a+ 1ε]
• Drop out if it is picked ∼ (a, a+1]
1/𝜖
𝑥𝜏(𝑘)
𝑎 1
𝑥𝜏(𝑘 + 1)
•Pr[lτ(a) =⊥] =
11/ε
= ε
Introduction Tools The Mechanism Summary
1.Drop out
• τ ∼ [0,1]• xτ(i) = (i+ τ) 1
ε; i ∈ Z
• Can view xτ(k+1) as random number picked ∼ (a, a+ 1ε]
• Drop out if it is picked ∼ (a, a+1]
1/𝜖
𝑥𝜏(𝑘)
𝑎 1
𝑥𝜏(𝑘 + 1)
•Pr[lτ(a) =⊥] =
11/ε
= ε
Introduction Tools The Mechanism Summary
Summary
1. Pr[lτ(a) =⊥] = ε
2. lτ(a)≤ a
3. lτ(a1)< lτ(a2)⇒ a1 < lτ(a2)−1
Introduction Tools The Mechanism Summary
Summary
1. Pr[lτ(a) =⊥] = ε
2. lτ(a)≤ a
3. lτ(a1)< lτ(a2)⇒ a1 < lτ(a2)−1
Introduction Tools The Mechanism Summary
Summary
1. Pr[lτ(a) =⊥] = ε
2. lτ(a)≤ a
3. lτ(a1)< lτ(a2)⇒ a1 < lτ(a2)−1
Introduction Tools The Mechanism Summary
Multiplicative Consensus Function
• Mechanism uses multiplicative variant.
• Lτ(a) = lτ(logNa) ; N is some constant
1. Pr[Lτ(a) =⊥] = ε
2. Lτ(a)≤ a3. Lτ(a1)< Lτ(a2)⇒ a1 < Lτ(a2)/N
Introduction Tools The Mechanism Summary
Multiplicative Consensus Function
• Mechanism uses multiplicative variant.
• Lτ(a) = lτ(logNa) ; N is some constant
1. Pr[Lτ(a) =⊥] = ε
2. Lτ(a)≤ a3. Lτ(a1)< Lτ(a2)⇒ a1 < Lτ(a2)/N
Introduction Tools The Mechanism Summary
Multiplicative Consensus Function
• Mechanism uses multiplicative variant.
• Lτ(a) = lτ(logNa) ; N is some constant
1. Pr[Lτ(a) =⊥] = ε
2. Lτ(a)≤ a3. Lτ(a1)< Lτ(a2)⇒ a1 < Lτ(a2)/N
Introduction Tools The Mechanism Summary
Multiplicative Consensus Function
• Mechanism uses multiplicative variant.
• Lτ(a) = lτ(logNa) ; N is some constant
1. Pr[Lτ(a) =⊥] = ε
2. Lτ(a)≤ a3. Lτ(a1)< Lτ(a2)⇒ a1 < Lτ(a2)/N
Introduction Tools The Mechanism Summary
Multiplicative Consensus Function
• Mechanism uses multiplicative variant.
• Lτ(a) = lτ(logNa) ; N is some constant
1. Pr[Lτ(a) =⊥] = ε
2. Lτ(a)≤ a3. Lτ(a1)< Lτ(a2)⇒ a1 < Lτ(a2)/N
Introduction Tools The Mechanism Summary
Outline
Introduction
Problem
3 Kinds of Truthfulness
Related Work
Tools
∆-Perturbed Maximizer
Consensus Function with Drop-outs
The Mechanism
Social Choice Function
Feasibility
Approximation Ratio
Universal Truthfulness
Summary
Introduction Tools The Mechanism Summary
Combination of Allocation
• τ ∼ [0,1] and then �x
• N = 2(logm+3)n/ε
• for each bidder i• Li = Lτ(v(−i)
max)
• v (−i)max
: maxj 6=ivj(m) largest max bid excluded i's
• if Li =⊥→ si = 0• if Li 6=⊥
• call ∆i-perturbed maximizer ; ∆i = Li/N• get allocation s(i)
• si = s(i)i
• Summary : bidder i get ithelement of allocation from
∆i-perturbed maximizer
Introduction Tools The Mechanism Summary
Combination of Allocation
• τ ∼ [0,1] and then �x
• N = 2(logm+3)n/ε
• for each bidder i• Li = Lτ(v(−i)
max)
• v (−i)max
: maxj 6=ivj(m) largest max bid excluded i's
• if Li =⊥→ si = 0• if Li 6=⊥
• call ∆i-perturbed maximizer ; ∆i = Li/N• get allocation s(i)
• si = s(i)i
• Summary : bidder i get ithelement of allocation from
∆i-perturbed maximizer
Introduction Tools The Mechanism Summary
Combination of Allocation
• τ ∼ [0,1] and then �x
• N = 2(logm+3)n/ε
• for each bidder i• Li = Lτ(v(−i)
max)
• v (−i)max
: maxj 6=ivj(m) largest max bid excluded i's
• if Li =⊥→ si = 0• if Li 6=⊥
• call ∆i-perturbed maximizer ; ∆i = Li/N• get allocation s(i)
• si = s(i)i
• Summary : bidder i get ithelement of allocation from
∆i-perturbed maximizer
Introduction Tools The Mechanism Summary
Combination of Allocation
• τ ∼ [0,1] and then �x
• N = 2(logm+3)n/ε
• for each bidder i• Li = Lτ(v(−i)
max)
• v (−i)max
: maxj 6=ivj(m) largest max bid excluded i's
• if Li =⊥→ si = 0• if Li 6=⊥
• call ∆i-perturbed maximizer ; ∆i = Li/N• get allocation s(i)
• si = s(i)i
• Summary : bidder i get ithelement of allocation from
∆i-perturbed maximizer
Introduction Tools The Mechanism Summary
Combination of Allocation
• τ ∼ [0,1] and then �x
• N = 2(logm+3)n/ε
• for each bidder i• Li = Lτ(v(−i)
max)
• v (−i)max
: maxj 6=ivj(m) largest max bid excluded i's
• if Li =⊥→ si = 0• if Li 6=⊥
• call ∆i-perturbed maximizer ; ∆i = Li/N• get allocation s(i)
• si = s(i)i
• Summary : bidder i get ithelement of allocation from
∆i-perturbed maximizer
Introduction Tools The Mechanism Summary
Combination of Allocation
• τ ∼ [0,1] and then �x
• N = 2(logm+3)n/ε
• for each bidder i• Li = Lτ(v(−i)
max)
• v (−i)max
: maxj 6=ivj(m) largest max bid excluded i's
• if Li =⊥→ si = 0• if Li 6=⊥
• call ∆i-perturbed maximizer ; ∆i = Li/N• get allocation s(i)
• si = s(i)i
• Summary : bidder i get ithelement of allocation from
∆i-perturbed maximizer
Introduction Tools The Mechanism Summary
Combination of Allocation
• τ ∼ [0,1] and then �x
• N = 2(logm+3)n/ε
• for each bidder i• Li = Lτ(v(−i)
max)
• v (−i)max
: maxj 6=ivj(m) largest max bid excluded i's
• if Li =⊥→ si = 0• if Li 6=⊥
• call ∆i-perturbed maximizer ; ∆i = Li/N• get allocation s(i)
• si = s(i)i
• Summary : bidder i get ithelement of allocation from
∆i-perturbed maximizer
Introduction Tools The Mechanism Summary
Only 2 Di�erent Allocations
• i∗is bidder who bid the highest vi(m)
• ∀i 6= i∗, v (−i)max
= vmax (recall: v(−i)max
largest max bid excluded i's)
• same Li = Lτ(vmax) ⇒ same ∆i ⇒ same allocation s(i)
• Only s(i∗)might be di�erent
s(i)
−−−−−−
, s(i∗)
∗∗∗∗∗∗
(i∗th)
, s
−−−−∗−
• s(i),s(i
∗)are feasible allocations (not allocate more than m)
• results from Knapsack
Introduction Tools The Mechanism Summary
Only 2 Di�erent Allocations
• i∗is bidder who bid the highest vi(m)
• ∀i 6= i∗, v (−i)max
= vmax (recall: v(−i)max
largest max bid excluded i's)
• same Li = Lτ(vmax) ⇒ same ∆i ⇒ same allocation s(i)
• Only s(i∗)might be di�erent
s(i)
−−−−−−
, s(i∗)
∗∗∗∗∗∗
(i∗th)
, s
−−−−∗−
• s(i),s(i
∗)are feasible allocations (not allocate more than m)
• results from Knapsack
Introduction Tools The Mechanism Summary
Only 2 Di�erent Allocations
• i∗is bidder who bid the highest vi(m)
• ∀i 6= i∗, v (−i)max
= vmax (recall: v(−i)max
largest max bid excluded i's)
• same Li = Lτ(vmax) ⇒ same ∆i ⇒ same allocation s(i)
• Only s(i∗)might be di�erent
s(i)
−−−−−−
, s(i∗)
∗∗∗∗∗∗
(i∗th)
, s
−−−−∗−
• s(i),s(i
∗)are feasible allocations (not allocate more than m)
• results from Knapsack
Introduction Tools The Mechanism Summary
Only 2 Di�erent Allocations
• i∗is bidder who bid the highest vi(m)
• ∀i 6= i∗, v (−i)max
= vmax (recall: v(−i)max
largest max bid excluded i's)
• same Li = Lτ(vmax) ⇒ same ∆i ⇒ same allocation s(i)
• Only s(i∗)might be di�erent
s(i)
−−−−−−
, s(i∗)
∗∗∗∗∗∗
(i∗th)
, s
−−−−∗−
• s(i),s(i
∗)are feasible allocations (not allocate more than m)
• results from Knapsack
Introduction Tools The Mechanism Summary
Only 2 Di�erent Allocations
• i∗is bidder who bid the highest vi(m)
• ∀i 6= i∗, v (−i)max
= vmax (recall: v(−i)max
largest max bid excluded i's)
• same Li = Lτ(vmax) ⇒ same ∆i ⇒ same allocation s(i)
• Only s(i∗)might be di�erent
s(i)
−−−−−−
, s(i∗)
∗∗∗∗∗∗
(i∗th)
, s
−−−−∗−
• s(i),s(i
∗)are feasible allocations (not allocate more than m)
• results from Knapsack
Introduction Tools The Mechanism Summary
Outline
Introduction
Problem
3 Kinds of Truthfulness
Related Work
Tools
∆-Perturbed Maximizer
Consensus Function with Drop-outs
The Mechanism
Social Choice Function
Feasibility
Approximation Ratio
Universal Truthfulness
Summary
Introduction Tools The Mechanism Summary
Feasibility ∑ni=0 si ≤ m
1. Li = Li∗ 6=⊥• s(i) = s(i∗) = s• so s is feasible.
2. Li =⊥or Li∗ =⊥• s is [feasible allocation+empty allocation]• #items is not increased ⇒ feasible
Introduction Tools The Mechanism Summary
Feasibility ∑ni=0 si ≤ m
1. Li = Li∗ 6=⊥• s(i) = s(i∗) = s• so s is feasible.
2. Li =⊥or Li∗ =⊥• s is [feasible allocation+empty allocation]• #items is not increased ⇒ feasible
Introduction Tools The Mechanism Summary
Feasibility ∑ni=0 si ≤ m
1. Li = Li∗ 6=⊥• s(i) = s(i∗) = s• so s is feasible.
2. Li =⊥or Li∗ =⊥• s is [feasible allocation+empty allocation]• #items is not increased ⇒ feasible
Introduction Tools The Mechanism Summary
Feasibility ∑ni=0 si ≤ m
1. Li = Li∗ 6=⊥• s(i) = s(i∗) = s• so s is feasible.
2. Li =⊥or Li∗ =⊥• s is [feasible allocation+empty allocation]• #items is not increased ⇒ feasible
Introduction Tools The Mechanism Summary
Feasibility ∑ni=0 si ≤ m (2)
3 Li 6= Li∗ 6=⊥• Li∗ = Lτ(v(−i∗)
max)< Lτ(vmax) = Li
• v(−i∗)max
< Li/N = ∆i
• because if Lτ (a1)< Lτ (a2), then a1 < Lτ (a2)/N
• Max bid of all bidder i except i∗are < ∆i ⇒ get nothing(will use again)
• ∑i si = si∗ ≤ m
Introduction Tools The Mechanism Summary
Feasibility ∑ni=0 si ≤ m (2)
3 Li 6= Li∗ 6=⊥• Li∗ = Lτ(v(−i∗)
max)< Lτ(vmax) = Li
• v(−i∗)max
< Li/N = ∆i
• because if Lτ (a1)< Lτ (a2), then a1 < Lτ (a2)/N
• Max bid of all bidder i except i∗are < ∆i ⇒ get nothing(will use again)
• ∑i si = si∗ ≤ m
Introduction Tools The Mechanism Summary
Feasibility ∑ni=0 si ≤ m (2)
3 Li 6= Li∗ 6=⊥• Li∗ = Lτ(v(−i∗)
max)< Lτ(vmax) = Li
• v(−i∗)max
< Li/N = ∆i
• because if Lτ (a1)< Lτ (a2), then a1 < Lτ (a2)/N
• Max bid of all bidder i except i∗are < ∆i ⇒ get nothing(will use again)
• ∑i si = si∗ ≤ m
Introduction Tools The Mechanism Summary
Feasibility ∑ni=0 si ≤ m (2)
3 Li 6= Li∗ 6=⊥• Li∗ = Lτ(v(−i∗)
max)< Lτ(vmax) = Li
• v(−i∗)max
< Li/N = ∆i
• because if Lτ (a1)< Lτ (a2), then a1 < Lτ (a2)/N
• Max bid of all bidder i except i∗are < ∆i ⇒ get nothing(will use again)
• ∑i si = si∗ ≤ m
Introduction Tools The Mechanism Summary
Feasibility ∑ni=0 si ≤ m (2)
3 Li 6= Li∗ 6=⊥• Li∗ = Lτ(v(−i∗)
max)< Lτ(vmax) = Li
• v(−i∗)max
< Li/N = ∆i
• because if Lτ (a1)< Lτ (a2), then a1 < Lτ (a2)/N
• Max bid of all bidder i except i∗are < ∆i ⇒ get nothing(will use again)
• ∑i si = si∗ ≤ m
Introduction Tools The Mechanism Summary
Outline
Introduction
Problem
3 Kinds of Truthfulness
Related Work
Tools
∆-Perturbed Maximizer
Consensus Function with Drop-outs
The Mechanism
Social Choice Function
Feasibility
Approximation Ratio
Universal Truthfulness
Summary
Introduction Tools The Mechanism Summary
(1−4ε)−Approximation Ratio
• Prob no one drop out ≥ 1−2ε
• Prob bidder i∗drop out = ε
• Prob bidder i 6= i∗drop out = ε
• They are completely correlated.
• Will prove that if none drop out ⇒ approx ratio ≥ (1−2ε)
• Overall approx ratio ≥ (1−2ε)2 ≥ (1−4ε)
Introduction Tools The Mechanism Summary
(1−4ε)−Approximation Ratio
• Prob no one drop out ≥ 1−2ε
• Prob bidder i∗drop out = ε
• Prob bidder i 6= i∗drop out = ε
• They are completely correlated.
• Will prove that if none drop out ⇒ approx ratio ≥ (1−2ε)
• Overall approx ratio ≥ (1−2ε)2 ≥ (1−4ε)
Introduction Tools The Mechanism Summary
(1−4ε)−Approximation Ratio
• Prob no one drop out ≥ 1−2ε
• Prob bidder i∗drop out = ε
• Prob bidder i 6= i∗drop out = ε
• They are completely correlated.
• Will prove that if none drop out ⇒ approx ratio ≥ (1−2ε)
• Overall approx ratio ≥ (1−2ε)2 ≥ (1−4ε)
Introduction Tools The Mechanism Summary
(1−4ε)−Approximation Ratio
• Prob no one drop out ≥ 1−2ε
• Prob bidder i∗drop out = ε
• Prob bidder i 6= i∗drop out = ε
• They are completely correlated.
• Will prove that if none drop out ⇒ approx ratio ≥ (1−2ε)
• Overall approx ratio ≥ (1−2ε)2 ≥ (1−4ε)
Introduction Tools The Mechanism Summary
Analyze Allocation s(i∗)
• Additive error
≤ 2(logm+3)n∆i∗ = 2(logm+3)n Li∗N︸︷︷︸
2(log m+3)n/ε
= εLi∗
• Li∗ = Lτ(v(−i∗)max
)≤ v(−i∗)max
≤ vmax ≤ opt
• v(s(i∗))≥ opt− εLi∗ ≥ (1− ε)opt
Introduction Tools The Mechanism Summary
Analyze Allocation s(i∗)
• Additive error
≤ 2(logm+3)n∆i∗ = 2(logm+3)n Li∗N︸︷︷︸
2(log m+3)n/ε
= εLi∗
• Li∗ = Lτ(v(−i∗)max
)≤ v(−i∗)max
≤ vmax ≤ opt
• v(s(i∗))≥ opt− εLi∗ ≥ (1− ε)opt
Introduction Tools The Mechanism Summary
Analyze Allocation s(i∗)
• Additive error
≤ 2(logm+3)n∆i∗ = 2(logm+3)n Li∗N︸︷︷︸
2(log m+3)n/ε
= εLi∗
• Li∗ = Lτ(v(−i∗)max
)≤ v(−i∗)max
≤ vmax ≤ opt
• v(s(i∗))≥ opt− εLi∗ ≥ (1− ε)opt
Introduction Tools The Mechanism Summary
2 Cases When None Drop out
1. Li = Li∗
• Mechanism yields s = s(i∗)
• Social welfare ≥ (1− ε)opt
2. Li 6= Li∗
• Max bid of all bidder i except i∗are < ∆i
• si∗ = s(i∗)
i∗ and si = 0 for all i 6= i∗
• Social welfare is vi∗(s(i∗)i∗ )
vi∗(s(i∗)i∗ ) = v(s(i
∗))− ∑i6=i∗
vi(s(i∗))≥ (1− ε)opt− εopt
= (1−2ε)opt
Introduction Tools The Mechanism Summary
2 Cases When None Drop out
1. Li = Li∗
• Mechanism yields s = s(i∗)
• Social welfare ≥ (1− ε)opt
2. Li 6= Li∗
• Max bid of all bidder i except i∗are < ∆i
• si∗ = s(i∗)
i∗ and si = 0 for all i 6= i∗
• Social welfare is vi∗(s(i∗)i∗ )
vi∗(s(i∗)i∗ ) = v(s(i
∗))− ∑i6=i∗
vi(s(i∗))≥ (1− ε)opt− εopt
= (1−2ε)opt
Introduction Tools The Mechanism Summary
2 Cases When None Drop out
1. Li = Li∗
• Mechanism yields s = s(i∗)
• Social welfare ≥ (1− ε)opt
2. Li 6= Li∗
• Max bid of all bidder i except i∗are < ∆i
• si∗ = s(i∗)
i∗ and si = 0 for all i 6= i∗
• Social welfare is vi∗(s(i∗)i∗ )
vi∗(s(i∗)i∗ ) = v(s(i
∗))− ∑i6=i∗
vi(s(i∗))≥ (1− ε)opt− εopt
= (1−2ε)opt
Introduction Tools The Mechanism Summary
2 Cases When None Drop out
1. Li = Li∗
• Mechanism yields s = s(i∗)
• Social welfare ≥ (1− ε)opt
2. Li 6= Li∗
• Max bid of all bidder i except i∗are < ∆i
• si∗ = s(i∗)
i∗ and si = 0 for all i 6= i∗
• Social welfare is vi∗(s(i∗)i∗ )
vi∗(s(i∗)i∗ ) = v(s(i
∗))− ∑i6=i∗
vi(s(i∗))≥ (1− ε)opt− εopt
= (1−2ε)opt
Introduction Tools The Mechanism Summary
Outline
Introduction
Problem
3 Kinds of Truthfulness
Related Work
Tools
∆-Perturbed Maximizer
Consensus Function with Drop-outs
The Mechanism
Social Choice Function
Feasibility
Approximation Ratio
Universal Truthfulness
Summary
Introduction Tools The Mechanism Summary
Mechanism is Truthful i�(Direct Characterization)
1. Payment pi : not depend on vi
(can depend on s = f (vi,v−i) and v−i)
pi = q(i)s (v−i)
2. Social choice function maximizes each bidder's utility : for all i
f (v) = argmax(vi(s)−q(i)s (v−i))
• Informal explanation
• i's utility is vi(s)−qs , if he lies v′i he may get vi(s′)−qs′
• f already chooses s which maximizes vi(s)−qs
• ⇒ tell the true vi to f for optimizing his utility
Introduction Tools The Mechanism Summary
Mechanism is Truthful i�(Direct Characterization)
1. Payment pi : not depend on vi
(can depend on s = f (vi,v−i) and v−i)
pi = q(i)s (v−i)
2. Social choice function maximizes each bidder's utility : for all i
f (v) = argmax(vi(s)−q(i)s (v−i))
• Informal explanation
• i's utility is vi(s)−qs , if he lies v′i he may get vi(s′)−qs′
• f already chooses s which maximizes vi(s)−qs
• ⇒ tell the true vi to f for optimizing his utility
Introduction Tools The Mechanism Summary
Mechanism is Truthful i�(Direct Characterization)
1. Payment pi : not depend on vi
(can depend on s = f (vi,v−i) and v−i)
pi = q(i)s (v−i)
2. Social choice function maximizes each bidder's utility : for all i
f (v) = argmax(vi(s)−q(i)s (v−i))
• Informal explanation
• i's utility is vi(s)−qs , if he lies v′i he may get vi(s′)−qs′
• f already chooses s which maximizes vi(s)−qs
• ⇒ tell the true vi to f for optimizing his utility
Introduction Tools The Mechanism Summary
Mechanism is Truthful i�(Direct Characterization)
1. Payment pi : not depend on vi
(can depend on s = f (vi,v−i) and v−i)
pi = q(i)s (v−i)
2. Social choice function maximizes each bidder's utility : for all i
f (v) = argmax(vi(s)−q(i)s (v−i))
• Informal explanation
• i's utility is vi(s)−qs , if he lies v′i he may get vi(s′)−qs′
• f already chooses s which maximizes vi(s)−qs
• ⇒ tell the true vi to f for optimizing his utility
Introduction Tools The Mechanism Summary
Mechanism is Truthful i�(Direct Characterization)
1. Payment pi : not depend on vi
(can depend on s = f (vi,v−i) and v−i)
pi = q(i)s (v−i)
2. Social choice function maximizes each bidder's utility : for all i
f (v) = argmax(vi(s)−q(i)s (v−i))
• Informal explanation
• i's utility is vi(s)−qs , if he lies v′i he may get vi(s′)−qs′
• f already chooses s which maximizes vi(s)−qs
• ⇒ tell the true vi to f for optimizing his utility
Introduction Tools The Mechanism Summary
Mechanism is Truthful i�(Direct Characterization)
1. Payment pi : not depend on vi
(can depend on s = f (vi,v−i) and v−i)
pi = q(i)s (v−i)
2. Social choice function maximizes each bidder's utility : for all i
f (v) = argmax(vi(s)−q(i)s (v−i))
• Informal explanation
• i's utility is vi(s)−qs , if he lies v′i he may get vi(s′)−qs′
• f already chooses s which maximizes vi(s)−qs
• ⇒ tell the true vi to f for optimizing his utility
Introduction Tools The Mechanism Summary
Universal Truthfulness
• Fixed all random variables (τ , xji) and still truthful
⇒Universally Truthful
• There are 2 cases
1. Li =⊥• Li = Lτ(v(−i)
max)
• depends on only v−i
• i cannot do anything ⇒ no incentive to lie
Introduction Tools The Mechanism Summary
Universal Truthfulness
• Fixed all random variables (τ , xji) and still truthful
⇒Universally Truthful
• There are 2 cases
1. Li =⊥• Li = Lτ(v(−i)
max)
• depends on only v−i
• i cannot do anything ⇒ no incentive to lie
Introduction Tools The Mechanism Summary
Universal Truthfulness
• Fixed all random variables (τ , xji) and still truthful
⇒Universally Truthful
• There are 2 cases
1. Li =⊥• Li = Lτ(v(−i)
max)
• depends on only v−i
• i cannot do anything ⇒ no incentive to lie
Introduction Tools The Mechanism Summary
Universal Truthfulness
• Fixed all random variables (τ , xji) and still truthful
⇒Universally Truthful
• There are 2 cases
1. Li =⊥• Li = Lτ(v(−i)
max)
• depends on only v−i
• i cannot do anything ⇒ no incentive to lie
Introduction Tools The Mechanism Summary
Universal Truthfulness (2)
2. Li 6=⊥⇒ i get allocation s(i) from ∆i-perturbed maximizer
• ∆i-perturbed maximizer maximizes ∑j v′j(sj)
• ∑j v′j(sj) = vi(si)+(2q(si)+ xsii )∆i +∑
j6=iv′j(sj)︸ ︷︷ ︸
−pi
2.1 pi not depend on vi
• q(·), xsii , v−i not depend on vi
• ∆i = Li/N = Lτ (v (−i)max
)/N not depend on vi
2.2 Utility vi(s)−pi is maximized
Introduction Tools The Mechanism Summary
Universal Truthfulness (2)
2. Li 6=⊥⇒ i get allocation s(i) from ∆i-perturbed maximizer
• ∆i-perturbed maximizer maximizes ∑j v′j(sj)
• ∑j v′j(sj) = vi(si)+(2q(si)+ xsii )∆i +∑
j6=iv′j(sj)︸ ︷︷ ︸
−pi
2.1 pi not depend on vi
• q(·), xsii , v−i not depend on vi
• ∆i = Li/N = Lτ (v (−i)max
)/N not depend on vi
2.2 Utility vi(s)−pi is maximized
Introduction Tools The Mechanism Summary
Universal Truthfulness (2)
2. Li 6=⊥⇒ i get allocation s(i) from ∆i-perturbed maximizer
• ∆i-perturbed maximizer maximizes ∑j v′j(sj)
• ∑j v′j(sj) = vi(si)+(2q(si)+ xsii )∆i +∑
j6=iv′j(sj)︸ ︷︷ ︸
−pi
2.1 pi not depend on vi
• q(·), xsii , v−i not depend on vi
• ∆i = Li/N = Lτ (v (−i)max
)/N not depend on vi
2.2 Utility vi(s)−pi is maximized
Introduction Tools The Mechanism Summary
Universal Truthfulness (2)
2. Li 6=⊥⇒ i get allocation s(i) from ∆i-perturbed maximizer
• ∆i-perturbed maximizer maximizes ∑j v′j(sj)
• ∑j v′j(sj) = vi(si)+(2q(si)+ xsii )∆i +∑
j6=iv′j(sj)︸ ︷︷ ︸
−pi
2.1 pi not depend on vi
• q(·), xsii , v−i not depend on vi
• ∆i = Li/N = Lτ (v (−i)max
)/N not depend on vi
2.2 Utility vi(s)−pi is maximized
Introduction Tools The Mechanism Summary
Universal Truthfulness (2)
2. Li 6=⊥⇒ i get allocation s(i) from ∆i-perturbed maximizer
• ∆i-perturbed maximizer maximizes ∑j v′j(sj)
• ∑j v′j(sj) = vi(si)+(2q(si)+ xsii )∆i +∑
j6=iv′j(sj)︸ ︷︷ ︸
−pi
2.1 pi not depend on vi
• q(·), xsii , v−i not depend on vi
• ∆i = Li/N = Lτ (v (−i)max
)/N not depend on vi
2.2 Utility vi(s)−pi is maximized
Introduction Tools The Mechanism Summary
Universal Truthfulness (2)
2. Li 6=⊥⇒ i get allocation s(i) from ∆i-perturbed maximizer
• ∆i-perturbed maximizer maximizes ∑j v′j(sj)
• ∑j v′j(sj) = vi(si)+(2q(si)+ xsii )∆i +∑
j6=iv′j(sj)︸ ︷︷ ︸
−pi
2.1 pi not depend on vi
• q(·), xsii , v−i not depend on vi
• ∆i = Li/N = Lτ (v (−i)max
)/N not depend on vi
2.2 Utility vi(s)−pi is maximized
Introduction Tools The Mechanism Summary
Practical Payment
• −pi = 2q(si)+ xsii )∆i +∑j 6=i v′j(sj)
• Now pi < 0
• Clarke's pivot rule : Can add some payment hi(v−i) to pi
• ⇒0 ≤ pi ≤ vi
• Utility and payment are both positive.
Introduction Tools The Mechanism Summary
Practical Payment
• −pi = 2q(si)+ xsii )∆i +∑j 6=i v′j(sj)
• Now pi < 0
• Clarke's pivot rule : Can add some payment hi(v−i) to pi
• ⇒0 ≤ pi ≤ vi
• Utility and payment are both positive.
Introduction Tools The Mechanism Summary
Practical Payment
• −pi = 2q(si)+ xsii )∆i +∑j 6=i v′j(sj)
• Now pi < 0
• Clarke's pivot rule : Can add some payment hi(v−i) to pi
• ⇒0 ≤ pi ≤ vi
• Utility and payment are both positive.
Introduction Tools The Mechanism Summary
Summary
• ∆-perturbed maximizer
• computes near-optimal allocation in poly-time
• Consensus function
• enables combination of allocations to be feasible
• pi not depend on vi and f maximizes utility ⇒ truthful
Theorem
∃ randomized PTAS for universally truthful multi-unit auction.
Introduction Tools The Mechanism Summary
Summary
• ∆-perturbed maximizer
• computes near-optimal allocation in poly-time
• Consensus function
• enables combination of allocations to be feasible
• pi not depend on vi and f maximizes utility ⇒ truthful
Theorem
∃ randomized PTAS for universally truthful multi-unit auction.
Introduction Tools The Mechanism Summary
Summary
• ∆-perturbed maximizer
• computes near-optimal allocation in poly-time
• Consensus function
• enables combination of allocations to be feasible
• pi not depend on vi and f maximizes utility ⇒ truthful
Theorem
∃ randomized PTAS for universally truthful multi-unit auction.
Introduction Tools The Mechanism Summary
Summary
• ∆-perturbed maximizer
• computes near-optimal allocation in poly-time
• Consensus function
• enables combination of allocations to be feasible
• pi not depend on vi and f maximizes utility ⇒ truthful
Theorem
∃ randomized PTAS for universally truthful multi-unit auction.
Introduction Tools The Mechanism Summary
Thank you for your attention