Skip to content

Instantly share code, notes, and snippets.

@jmarhee
Created September 18, 2023 06:04
Show Gist options
  • Save jmarhee/bb2a5ca54771568a20615dd03f9a0b7f to your computer and use it in GitHub Desktop.
Save jmarhee/bb2a5ca54771568a20615dd03f9a0b7f to your computer and use it in GitHub Desktop.
import java.util.Scanner;
public class NashEquilibrium {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[][] game = new int[2][2];
System.out.println("Enter the payoff matrix for Player 1 (separate values with spaces):");
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
game[i][j] = input.nextInt();
}
}
while (true) {
System.out.println("Enter Player 2's move (0 or 1):");
int p2move = input.nextInt();
int bestP1move = 0;
if (game[0][p2move] < game[1][p2move]) {
bestP1move = 1;
}
System.out.println("Player 1's best move: " + bestP1move);
System.out.println("Enter Player 1's move (0 or 1):");
int p1move = input.nextInt();
int bestP2move = 0;
if (game[p1move][0] < game[p1move][1]) {
bestP2move = 1;
}
System.out.println("Player 2's best move: " + bestP2move);
if (bestP1move == p1move && bestP2move == p2move) {
System.out.println("Equilibrium reached!");
break;
}
System.out.println("Not yet in equilibrium. Keep playing.");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment