Calls simulator to obtain individual data points, and then analyzes that data.
Runs a full simulation where a game is set up, and a NE is obtained by means of best response dynamics.
Sets up an instance of the class Game, which will contain everything pertaining to the details of the game, as well as any functions needed later.
Contains any variable parameters pertaining to the setup of the Game object. Some of these parameters may later be passed down from main.py if necessary.
Code for the class Game. A Game object is composed of agents, as well high level functions for those agents.
Code for the class Agent. Includes the beliefs of the agents, as well as code pertaining to their behavior.
Takes a Game object and iteratively allows agents to change their strategies to improve their expected utility, and does so until either convergence or some failure condition is met.
Any calculations that are used multiple times or would cause clutter in the code.