higher order relational refinement types for mechanism
play

Higher-Order Relational Refinement Types for Mechanism Design and - PowerPoint PPT Presentation

Higher-Order Relational Refinement Types for Mechanism Design and Differential Privacy Gilles Barthe 1 , Marco Gaboardi 2 , Emilio Jess Gallego Arias 3 , 4 , Justin Hsu 4 , Aaron Roth 4 , Pierre-Yves Strub 1 1 IMDEA Software, 2 University of


  1. 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

  2. The Application Mechanism Design

  3. A story One painting for sale

  4. A story One painting for sale How much will you pay?

  5. A story One painting for sale How much will you pay? $10 million! $50 million! $3

  6. A story One painting for sale How much will you pay? $10 million! $50 million! $3 Who wins, and for how much?

  7. A story How much will you pay? Top bid pays top price? $10 million! • Simple rule • Can encourage manipulation... $50 million! $3

  8. 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

  9. What is Mechanism Design? Algorithm design with strategic inputs

  10. What is Mechanism Design? Algorithm design with strategic inputs Rational agents • Report data • Care about output • May lie, strategize

  11. What is Mechanism Design? Algorithm design with strategic inputs Rational agents • Report data • Care about output • May lie, strategize Goal: encourage “good” behavior

  12. Truthfulness Designing auctions • Bidders each have personal value v : R for the item

  13. Truthfulness Designing auctions • Bidders each have personal value v : R for the item • Bidder’s happiness is function of price, v , whether they win

  14. 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

  15. 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

  16. A (very) simple auction Fixed price auction • Given a fixed price price • Bidder bids bid , buys item if higher than price

  17. 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

  18. The verification strategy Consider bidder’s happiness function. . . • First run: bidder bids b “ v (honest)

  19. The verification strategy Consider bidder’s happiness function. . . • First run: bidder bids b “ v (honest) • Second run: bidder bids arbitrarily (maybe not honest)

  20. 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

  21. 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

  22. 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

  23. 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

  24. Introducing HOARe 2 A type system with relational refinement types

  25. Refinement types predicate type Judgment Γ $ e : t x : T | φ p x q u

  26. Refinement types predicate type Judgment Γ $ e : t x : T | φ p x q u

  27. Refinement types predicate type Judgment Γ $ e : t x : T | φ p x q u

  28. 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”

  29. Refinement types Example Γ $ 3 : t x : Z | x ě 0 u

  30. Refinement types Example Γ $ 3 : t x : Z | x ě 0 u “3 is a non-negative integer”

  31. Relational Reasoning Relational Judgment Γ $ e :: t x :: T | φ p x Ÿ , x Ź qu

  32. Relational Reasoning Relational Judgment Γ $ e :: t x :: T | φ p x Ÿ , x Ź qu

  33. Relational Reasoning Relational Judgment Γ $ e :: t x :: T | φ p x Ÿ , x Ź qu φ mentions two runs of program e via x Ÿ and x Ź

  34. 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

  35. 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.”

  36. 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

  37. Typing truthfulness Happiness function fixedprice price value bid = if bid > price then value - price else 0

  38. Typing truthfulness Happiness function fixedprice price value bid = if bid > price then value - price else 0 Truthfulness in a type

  39. 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)

  40. 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)

  41. 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)

  42. 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)

  43. Adding in randomness A more complex auction • Unlimited supply of items (e.g., music files) • Want to use fixedprice , but for what price?

  44. 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

  45. 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

  46. 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

  47. 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

  48. 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

  49. 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

  50. One key ingredient Monotonicity of expectation • (One) Distribution µ over A

  51. 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

  52. 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