Program equilibrium—a program reasoning approach

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

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:International journal of game theory 2013-08, Vol.42 (3), p.639-671
Hauptverfasser: van der Hoek, Wiebe, Witteveen, Cees, Wooldridge, Michael
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung: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.
ISSN:0020-7276
1432-1270
DOI:10.1007/s00182-011-0314-6