Game Theory

Marc Vicuna, Mathematical Computation

(RowDefault[, (Spacer1), , (Spacer1), ])  #WolframTechConf

In Brief

Games

MatrixGame

TreeGame

GameTheoryData

Functionality

Generation

Visualization

Solving

What is Game Theory?

The mathematics of decision making:

MatrixGame

Generation

Generate a MatrixGame:

game=MatrixGame[{{{1,1},{-1,0}},{{3,0},{-3,1}}},]

Visualization

Visualize a MatrixGame:

game["Dataset"]

MatrixGamePlot[game]

Solving

Consider strategies:

Solve a MatrixGame:

strat=FindMatrixGameStrategies[game][[1]]

MatrixGamePlot[game,strat]

Generate the classical game of rock-paper-scissors:

MatrixGamePlot[GameTheoryData["RockPaperScissors"]]

FindMatrixGameStrategies[GameTheoryData["RockPaperScissors"]]

TreeGame

Generation

Generate a TreeGame:

game=TreeGame[{"Me",{"You",{1,1},{-1,0}},{"You",{3,0},{-3,1}}}]

Visualization

TreeGamePlot[game]

game=TreeGame[{"Me",{"You",{1,1}->"Come",{-1,0}->"Else"}->"15 min",{"You",{3,0}->"Come",{-3,1}->"Else"}->"30 min"}]

Solving

Consider tree strategies:

Solve a TreeGame:

strat=FindTreeGameStrategies[game][[1]]

TreeGamePlot[game,strat]

GameTheoryData

A wide range of named games:

GameTheoryData[]

GameTheoryData["ElFarolBar","Description"]

GameTheoryData["ElFarolBar","Source"]

GameTheoryData["ElFarolBar","Classes"]

GameTheoryData["ElFarolBar",4]//MatrixGamePlot

More!

More complex MatrixGame:

MatrixGamePlot[GameTheoryData["DinersDilemma",6]]

More complex TreeGame:

TreeGamePlot[GameTheoryData["Escalation"]]

Strategy Functions

Generate a MatrixGame:

game=MatrixGame[{{{1,0},{2,2}},{{-1,2},{3,1}}}]

Find a strategy:

strat=FindMatrixGameStrategies[game][[1]]

Verify the optimality of your strategy:

VerifyMatrixGameStrategy[game,strat]

Calculate the payoffs of your strategy:

MatrixGamePayoff[game,strat]

Generate a TreeGame:

game=TreeGame[{"A",{"B",{1,2},{2,1}},{"B",{3,0},{0,3}}}]

Find a strategy:

strat=FindTreeGameStrategies[game][[1]]

Verify the optimality of your strategy:

VerifyTreeGameStrategy[game,strat]

Calculate the payoffs of your strategy:

TreeGamePayoff[game,strat]

Thank you!