Ben Brooks

Department of Economics
University of Chicago

babrooks@uchicago.edu (email)

This page hosts my software projects. Needless to say, these are all works in progress. Bug reports are greatly appreciated. Please send them here. You can also find me on GitHub.




BCESolve

This package consists of tools for finding the set of Bayes correlated equilibria (BCE) for a given game of incomplete information. There is an abstract class for games, from which the user can derive classes for their own game of interest. We include examples for auctions and Bertrand competition. In addition, there are classes for using Gurobi to solve for the set of BCE, and a serialization class that uses Boost to save games for further analysis. A Qt-based graphical interface is also provided for visualizing BCE. There is also an interface called bcemex and a graphical interface called bcegui for studying the solution information in MATLAB. Here is a picture of the graphical interface in action.

The source code for BCESolve is freely available through the GitHub page under the terms of the GPLv3 license. You can find pre-built documentation for the source code here.




SGSolve

developed with Dilip Abreu and Yuliy Sannikov

The SGSolve package consists of tools for solving for the pure strategy subgame perfect Nash equilibria of two player stochastic games with perfect monitoring. The code implements the algorithms of Abreu, Brooks, and Sannikov (2016, 2019). The package also contains a graphical interface called SGViewer that can be used to specify, solve, and explore the solutions of stochastic games.

You can download pre-compiled binaries of SGViewer (aka stand-alone and ready-to-use programs) for Mac OS X.

The source code for SGSolve is freely available through the GitHub page under the terms of the GPLv3 license. You can find pre-built documentation for the source code here.




RGSolve

developed with Dilip Abreu, Moshe Katzwer, Rohit Lamba, and Yuliy Sannikov

RGSolve is a Java implementation of the algorithm of Abreu and Sannikov (2014) for solving two player infinitely repeated games with perfect monitoring. The algorithm leverages special structure of equilibria that generate extreme payoffs to quickly find the set of equilibrium payoffs. RGSolve is a standalone program that allows the user to interactively design and solve repeated games within the aforementioned class.

Download