Skip to main content
Log in

Program equilibrium—a program reasoning approach

  • Published:
International Journal of Game Theory Aims and scope Submit manuscript

Abstract

The concept of program equilibrium, introduced by Howard (Theory and Decision 24(3):203–213, 1988) and further formalised by Tennenholtz (Game Econ Behav 49:363–373, 2004), represents one of the most ingenious and potentially far-reaching applications of ideas from computer science in game theory to date. The basic idea is that a player in a game selects a strategy by entering a program, whose behaviour may be conditioned on the programs submitted by other players. Thus, for example, in the prisoner’s dilemma, a player can enter a program that says “If his program is the same as mine, then I cooperate, otherwise I defect”. It can easily be shown that if such programs are permitted, then rational cooperation is possible even in the one-shot prisoner’s dilemma. In the original proposal of Tennenholtz, comparison between programs was limited to syntactic comparison of program texts. While this approach has some considerable advantages (not the least being computational and semantic simplicity), it also has some important limitations. In this paper, we investigate an approach to program equilibrium in which richer conditions are allowed, based on model checking—one of the most successful approaches to reasoning about programs. We introduce a decision-tree model of strategies, which may be conditioned on strategies of others. We then formulate and investigate a notion of “outcome” for our setting, and investigate the complexity of reasoning about outcomes. We focus on coherent outcomes: outcomes in which every decision by every player is justified by the conditions in his program. We identify a condition under which there exist a unique coherent outcome. We also compare our notion of (coherent) outcome with that of (supported) semantics known from logic programming. We illustrate our approach with many examples.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Apt KR (1990) Logic programming. In: van Leeuwen J. (ed) Handbook of theoretical computer science, vol B: formal models and semantics (B). Elsevier/MIT Press, Amsterdam/Cambridge, pp 493–574

    Google Scholar 

  • Axelrod R (1980) Effective choice in the prisoner’s dilemma. J Confl Resolut 24: 3–25

    Article  Google Scholar 

  • Axelrod R (1984) The evolution of cooperation. Basic Books, New York

    Google Scholar 

  • Bidoit N, Hull R (1989) Minimalism, justification and non-monotonicity in deductive databases. J Comput Syst Sci 38(2): 290–325

    Article  Google Scholar 

  • Binmore K (1994) Game theory and the social contract, vol 1: playing fair. The MIT Press, Cambridge

    Google Scholar 

  • Binmore K (1998) Game theory and the social contract, vol 2: just playing. The MIT Press, Cambridge

    Google Scholar 

  • Clarke EM, Grumberg O, Peled DA (2000) Model checking. The MIT Press, Cambridge

    Google Scholar 

  • Emerson EA (1990) Temporal and modal logic. In: van Leeuwen J (ed) Handbook of theoretical computer science, vol B: formal models and semantics. Elsevier, Amsterdam, pp 996–1072

    Google Scholar 

  • Ferraris P, Lifschitz V (2005) Mathematical foundations of answer set programming. In: Artemov Sergei N, Barringer H, d’Avila Garcez AS, Lamb LC, Woods J (eds) We will show them! (1). College Publications, London, pp 615–664

    Google Scholar 

  • Fitting M (2002) Fixpoint semantics for logic programming. a survey. Theor Comput Sci 278(1–2): 25–51

    Article  Google Scholar 

  • Fortnow L (2009) Program equilibria and discounted computation time. In: Proceedings of the twelfth conference on theoretical aspects of rationality and knowledge (TARK-09), Palo Alto, CA

  • Gelfond M (2008) Answer sets. In: Lifschitz V, van Harmelen F, Porter B (eds) Handbook of knowledge representation, vol 3 of Foundations of artificial intelligence. Elsevier, Amsterdam, pp 285–316

    Chapter  Google Scholar 

  • Howard JV (1988) Cooperation in the prisoner’s dilemma. Theory Decis 24(3): 203–213

    Article  Google Scholar 

  • Kalai AT, Kalai E, Lehrer E, Samet D (2010) A commitment folk theorem. Games Econ Behav 69(1): 127–137

    Article  Google Scholar 

  • Lloyd JW (1987) Foundations of logic programming, 2nd edn. Springer, Heidelberg

    Book  Google Scholar 

  • Osborne MJ, Rubinstein A (1994) A course in game theory. The MIT Press, Cambridge

    Google Scholar 

  • Papadimitriou CH (1994) Computational complexity. Addison-Wesley, Reading

    Google Scholar 

  • Peters M, Szentes B (2008) Definable and contractible contracts. Unpublished Working Paper

  • Tennenholtz M (2004) Program equilibrium. Games Econ Behav 49: 363–373

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wiebe van der Hoek.

Rights and permissions

Reprints and permissions

About this article

Cite this article

van der Hoek, W., Witteveen, C. & Wooldridge, M. Program equilibrium—a program reasoning approach. Int J Game Theory 42, 639–671 (2013). https://doi.org/10.1007/s00182-011-0314-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00182-011-0314-6

Keywords

JEL Classification

Navigation