Higher-Order Relational Refinement Types for Mechanism Design and Differential Privacy Gilles Barthe 1 , Marco Gaboardi 2 , Emilio Jesús Gallego Arias 3 , 4 , Justin Hsu 4 , Aaron Roth 4 , Pierre-Yves Strub 1 1 IMDEA Software, 2 University of Dundee, 3 CRI Mines–ParisTech, 4 University of Pennsylvania January 15th, 2015
The Application Mechanism Design
A story One painting for sale
A story One painting for sale How much will you pay?
A story One painting for sale How much will you pay? $10 million! $50 million! $3
A story One painting for sale How much will you pay? $10 million! $50 million! $3 Who wins, and for how much?
A story How much will you pay? Top bid pays top price? $10 million! • Simple rule • Can encourage manipulation... $50 million! $3
A story How much will you pay? Top bid pays top price? $10 million! • Simple rule • Can encourage manipulation... $50 million! $10 . 1 million? $3
What is Mechanism Design? Algorithm design with strategic inputs
What is Mechanism Design? Algorithm design with strategic inputs Rational agents • Report data • Care about output • May lie, strategize
What is Mechanism Design? Algorithm design with strategic inputs Rational agents • Report data • Care about output • May lie, strategize Goal: encourage “good” behavior
Truthfulness Designing auctions • Bidders each have personal value v : R for the item
Truthfulness Designing auctions • Bidders each have personal value v : R for the item • Bidder’s happiness is function of price, v , whether they win
Truthfulness Designing auctions • Bidders each have personal value v : R for the item • Bidder’s happiness is function of price, v , whether they win • Bidder reports a bid b : R to the mechanism
Truthfulness Designing auctions • Bidders each have personal value v : R for the item • Bidder’s happiness is function of price, v , whether they win • Bidder reports a bid b : R to the mechanism Property: agent always maximizes happiness with b “ v
A (very) simple auction Fixed price auction • Given a fixed price price • Bidder bids bid , buys item if higher than price
A (very) simple auction Fixed price auction • Given a fixed price price • Bidder bids bid , buys item if higher than price What is the happiness function for a bidder? fixedprice price value bid = if bid > price then value - price else 0
The verification strategy Consider bidder’s happiness function. . . • First run: bidder bids b “ v (honest)
The verification strategy Consider bidder’s happiness function. . . • First run: bidder bids b “ v (honest) • Second run: bidder bids arbitrarily (maybe not honest)
The verification strategy Consider bidder’s happiness function. . . • First run: bidder bids b “ v (honest) • Second run: bidder bids arbitrarily (maybe not honest) • Verify: happiness in first run is higher than in second run
The verification strategy Consider bidder’s happiness function. . . • First run: bidder bids b “ v (honest) • Second run: bidder bids arbitrarily (maybe not honest) • Verify: happiness in first run is higher than in second run
The verification strategy Consider bidder’s happiness function. . . • First run: bidder bids b “ v (honest) • Second run: bidder bids arbitrarily (maybe not honest) • Verify: happiness in first run is higher than in second run ě fixedprice p v v = fixedprice p v b = if v > p then if b > p then v - p v - p else else 0 0
The verification strategy Consider bidder’s happiness function. . . • First run: bidder bids b “ v (honest) • Second run: bidder bids arbitrarily (maybe not honest) • Verify: happiness in first run is higher than in second run ě fixedprice p v v = fixedprice p v b = if v > p then if b > p then v - p v - p else else 0 0 This is a relational property
Introducing HOARe 2 A type system with relational refinement types
Refinement types predicate type Judgment Γ $ e : t x : T | φ p x q u
Refinement types predicate type Judgment Γ $ e : t x : T | φ p x q u
Refinement types predicate type Judgment Γ $ e : t x : T | φ p x q u
Refinement types predicate type Judgment Γ $ e : t x : T | φ p x q u “ e is a program of type T such that φ p e q holds”
Refinement types Example Γ $ 3 : t x : Z | x ě 0 u
Refinement types Example Γ $ 3 : t x : Z | x ě 0 u “3 is a non-negative integer”
Relational Reasoning Relational Judgment Γ $ e :: t x :: T | φ p x Ÿ , x Ź qu
Relational Reasoning Relational Judgment Γ $ e :: t x :: T | φ p x Ÿ , x Ź qu
Relational Reasoning Relational Judgment Γ $ e :: t x :: T | φ p x Ÿ , x Ź qu φ mentions two runs of program e via x Ÿ and x Ź
Relational Reasoning Relational Judgment Γ $ e :: t x :: T | φ p x Ÿ , x Ź qu φ mentions two runs of program e via x Ÿ and x Ź Example t y :: Z | y Ÿ ď y Ź u $ e :: t x :: Z | x Ÿ ď x Ź u
Relational Reasoning Relational Judgment Γ $ e :: t x :: T | φ p x Ÿ , x Ź qu φ mentions two runs of program e via x Ÿ and x Ź Example t y :: Z | y Ÿ ď y Ź u $ e :: t x :: Z | x Ÿ ď x Ź u “If y increases, then e increases.”
Relational Reasoning Relational Judgment Γ $ e :: t x :: T | φ p x Ÿ , x Ź qu φ mentions two runs of program e via x Ÿ and x Ź Example t y :: Z | y Ÿ ď y Ź u $ e :: t x :: Z | x Ÿ ď x Ź u “If y increases, then e increases.” Background • First used in the RF* language, POPL 2014
Typing truthfulness Happiness function fixedprice price value bid = if bid > price then value - price else 0
Typing truthfulness Happiness function fixedprice price value bid = if bid > price then value - price else 0 Truthfulness in a type
Typing truthfulness Happiness function fixedprice price value bid = if bid > price then value - price else 0 Truthfulness in a type t p :: R | p Ÿ “ p Ź u (Fixed price)
Typing truthfulness Happiness function fixedprice price value bid = if bid > price then value - price else 0 Truthfulness in a type t p :: R | p Ÿ “ p Ź u (Fixed price) Ñ t v :: R | v Ÿ “ v Ź u (Bidder value fixed)
Typing truthfulness Happiness function fixedprice price value bid = if bid > price then value - price else 0 Truthfulness in a type t p :: R | p Ÿ “ p Ź u (Fixed price) Ñ t v :: R | v Ÿ “ v Ź u (Bidder value fixed) Ñ t b :: R | b Ÿ “ v Ÿ u (Bid “ value on Ÿ run)
Typing truthfulness Happiness function fixedprice price value bid = if bid > price then value - price else 0 Truthfulness in a type t p :: R | p Ÿ “ p Ź u (Fixed price) Ñ t v :: R | v Ÿ “ v Ź u (Bidder value fixed) Ñ t b :: R | b Ÿ “ v Ÿ u (Bid “ value on Ÿ run) Ñ t u :: R | u Ÿ ě u Ź u (Truthful)
Adding in randomness A more complex auction • Unlimited supply of items (e.g., music files) • Want to use fixedprice , but for what price?
Adding in randomness A more complex auction • Unlimited supply of items (e.g., music files) • Want to use fixedprice , but for what price? A more realistic example Randomize! on average
Adding in randomness A more complex auction • Unlimited supply of items (e.g., music files) • Want to use fixedprice , but for what price? A more realistic example Randomize! g 1 g 2 on average
Adding in randomness A more complex auction • Unlimited supply of items (e.g., music files) • Want to use fixedprice , but for what price? A more realistic example Randomize! g 1 g 2 on average optimal optimal price price
Adding in randomness A more complex auction • Unlimited supply of items (e.g., music files) • Want to use fixedprice , but for what price? A more realistic example Randomize! g 1 g 2 p 1 p 2 on average optimal optimal price price
Adding in randomness A more complex auction • Unlimited supply of items (e.g., music files) • Want to use fixedprice , but for what price? A more realistic example Randomize! g 1 g 2 p 1 p 2 on average optimal optimal price price Verify: happiness higher when bid is true value
Adding in randomness A more complex auction • Unlimited supply of items (e.g., music files) • Want to use fixedprice , but for what price? A more realistic example Randomize! g 1 g 2 p 1 p 2 on average optimal optimal price price Verify: happiness higher when bid is true value
One key ingredient Monotonicity of expectation • (One) Distribution µ over A
One key ingredient Monotonicity of expectation • (One) Distribution µ over A • Two functions f 1 , f 2 : A Ñ R with f 1 x ě f 2 x for all x : A
One key ingredient Monotonicity of expectation • (One) Distribution µ over A • Two functions f 1 , f 2 : A Ñ R with f 1 x ě f 2 x for all x : A • Then, fact about expected values: E µ r f 1 s ě E µ r f 2 s f 1 bigger than f 2 on average
Recommend
More recommend