computer aided verification in mechanism design
play

Computer-aided Verification in Mechanism Design Gilles Barthe, Marco - PowerPoint PPT Presentation

Computer-aided Verification in Mechanism Design Gilles Barthe, Marco Gaboardi, Emilio Jes us Gallego Arias, Justin Hsu*, Aaron Roth*, Pierre-Yves Strub IMDEA Software, Ecole Polytechnique, University at Buffalo, *University of


  1. Computer-aided Verification in Mechanism Design Gilles Barthe, Marco Gaboardi, Emilio Jes´ us Gallego Arias, Justin Hsu*, Aaron Roth*, Pierre-Yves Strub IMDEA Software, ´ Ecole Polytechnique, University at Buffalo, *University of Pennsylvania December 14, 2016 1

  2. Mechanism design = Algorithm design + Strategic inputs *In computer science 2

  3. Incentive properties Encourage agents to behave simply Benefits ◮ For the agents: easy to decide what to do ◮ For the designer: easy to reason about what agents will do 3

  4. Best case: truthfulness Model ◮ Agents have private type t i ∈ T ◮ Mechanism inputs: agents report s i ∈ T ◮ Mechanism outputs: outcome o ∈ O and payments p i ∈ R 4

  5. Best case: truthfulness Model ◮ Agents have private type t i ∈ T ◮ Mechanism inputs: agents report s i ∈ T ◮ Mechanism outputs: outcome o ∈ O and payments p i ∈ R Definition (Complete information) A mechanism is truthful (DSIC) if each agent maximizes their utility by reporting s i = t i , no matter what other agents do. Definition (Incomplete information) A mechanism is Bayesian Incentive Compatible (BIC) if each agent maximizes their expected utility by reporting s i = t i , when other agents report their true type drawn from a known prior µ . 4

  6. Mechanism ≈ Program Truthfulness ≈ Property Program verification for incentive properties 5

  7. But isn’t this really hard? Divide the task ◮ Proof construction: hard ◮ Proof checking: easy 6

  8. Why verify properties? Check correctness 7

  9. Why verify incentive properties? Convince agents What if agents don’t believe incentive property? ◮ Incentive properties often not obvious ◮ Read the proof (?) 8

  10. Why verify incentive properties? Convince agents What if agents don’t believe incentive property? ◮ Incentive properties often not obvious ◮ Read the proof (?) A possible model ◮ Designer constructs formal proof of incentive property ◮ Agents check it automatically 8

  11. Our work: A case study Target ◮ Replica-surrogate-matching mechanism (HKM) ◮ To prove: BIC Proof is non-trivial ◮ Lots of reasoning about randomization ◮ Need incentive property for VCG mechanism 9

  12. Proof construction approaches: basic tradeoff Simple Complex proofs proofs 10

  13. Proof construction approaches: basic tradeoff More automatic Less automatic Simple Complex proofs proofs 10

  14. Proof construction approaches: basic tradeoff More automatic Existing e ff orts Less automatic Simple Complex proofs proofs 10

  15. Proof construction approaches: basic tradeoff More automatic Our target Existing e ff orts Less automatic Simple Complex proofs proofs 10

  16. Idea: incentive properties are relational properties Program: agent’s report → agent’s (expected) utility ◮ First run: agent report equal to agent type (truthful) ◮ Second run: agent report arbitrary (non-truthful) ◮ Truthfulness: first utility larger than second utility Leverage specialized tools ◮ HOARe 2 : for probabilistic relational properties 11

  17. Formally verifying BIC Four main steps 1. Write program 2. Annotate program with assertions 3. Apply solvers to automatically check assertions 4. Fall back to less automated approaches for remaining steps 12

  18. Formally verifying BIC Four main steps 1. Write program 2. Annotate program with assertions 3. Apply solvers to automatically check assertions 4. Fall back to less automated approaches for remaining steps 12

  19. Writing the assertions Basic form { prog :: S | Φ( prog 1 , prog 2 ) } 13

  20. Writing the assertions Basic form { prog :: S | Φ( prog 1 , prog 2 ) } Incentive Compatibility { rept :: T | rept 1 = type } → { util :: R | util 1 ≥ util 2 } 13

  21. Applying solvers Given x 1 < x 2 , prove: ◮ x 1 + 1 < x 2 + 2 (easy) ◮ f ( x 1 ) < f ( x 2 ), where f is a program (harder) 14

  22. Applying solvers Given x 1 < x 2 , prove: ◮ x 1 + 1 < x 2 + 2 (easy) ◮ f ( x 1 ) < f ( x 2 ), where f is a program (harder) Results ◮ Almost all assertions ( ∼ 60) automatically proved ( ∼ seconds) ◮ Solvers run out of time on three assertions 14

  23. Formally verifying BIC Four main steps 1. Write program 2. Annotate program with assertions 3. Apply solvers to automatically check assertions 4. Fall back to less automated approaches for remaining steps See paper for details! 15

  24. Perspective Promising signs: automatic parts ◮ Handle complex proofs and mechanisms ◮ Solvers usually work, and are fast Pain points: manual parts ◮ When solvers fail: life is hard ◮ Crafting program and assertions 16

  25. Needed: more case studies! Do you have a mechanism that . . . ◮ has a tedious proof? ◮ uses randomization? ◮ satisfies a relational property? 17

  26. Needed: more case studies! Do you have a mechanism that . . . ◮ has a tedious proof? ◮ uses randomization? ◮ satisfies a relational property? We want to know! For brave souls: https://github.com/ejgallego/HOARe2 17

  27. Needed: more case studies! Do you have a mechanism that . . . ◮ has a tedious proof? ◮ uses randomization? ◮ satisfies a relational property? We want to know! For brave souls: https://github.com/ejgallego/HOARe2 (Also, I am looking for a job . . . ) 17

  28. Computer-aided Verification in Mechanism Design Gilles Barthe, Marco Gaboardi, Emilio Jes´ us Gallego Arias, Justin Hsu*, Aaron Roth*, Pierre-Yves Strub IMDEA Software, ´ Ecole Polytechnique, University at Buffalo, *University of Pennsylvania December 14, 2016 18

  29. Writing the program Main program: one agent’s utility ◮ Input: agent’s true type and report ◮ Output: agent’s expected utility from mechanism ◮ Assume: other agents reports drawn from prior (BIC) Top level code 19

  30. Handling the hard assertions Hardest step ◮ Mechanism transforms each report into a “surrogate” report ◮ Key lemma: if report ∼ prior, transformation preserves prior ◮ Manually construct proof in different system (EasyCrypt), ∼ 190 out of ∼ 260 total lines of manual proof 20

  31. RSM mechanism (Hartline, Kleinberg, Malekian) Agent Algorithm 21

  32. RSM mechanism (Hartline, Kleinberg, Malekian) Agent RSM Transform Price Algorithm 21

  33. RSM mechanism (Hartline, Kleinberg, Malekian) Agent RSM Transform Price Algorithm Price RSM Transform Agent 21

  34. RSM mechanism (Hartline, Kleinberg, Malekian) Agent RSM Transform Price Algorithm Price RSM Transform Outcome Agent 21

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend