Skip to content

Commit fb511ec

Browse files
Merge pull request #9 from gambitproject/levels
Add default layout generation for .efg files
2 parents a509053 + c82cbf4 commit fb511ec

File tree

17 files changed

+8473
-661
lines changed

17 files changed

+8473
-661
lines changed

.gitignore

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -146,11 +146,11 @@ cython_debug/
146146
*.toc
147147
*.out
148148

149-
# TinyTeX installation
150-
.pytinytex/
151-
152149
# Temporary files
153150
tmp*
154151
temp*
155152
.tmp*
156-
.temp*
153+
.temp*
154+
155+
# .ef files generated from .efg files (the test suite)
156+
games/efg/*.ef

games/2s2x2x2.ef

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
player 1 name Player~1
2+
player 2 name Player~2
3+
player 3 name Player~3
4+
level 0 node 1 player 1
5+
level 2 node 1 xshift -3.58 from 0,1 move U1
6+
level 2 node 2 xshift 3.58 from 0,1 move D1
7+
level 6 node 1 xshift -1.9 from 2,2 move U2
8+
level 6 node 2 xshift 1.9 from 2,2 move D2
9+
level 8 node 1 xshift -0.90 from 6,2 move U3 payoffs 9 8 2
10+
level 8 node 2 xshift 0.90 from 6,2 move D3 payoffs 0 0 0
11+
level 8 node 3 xshift -0.90 from 6,1 move U3 payoffs 0 0 0
12+
level 8 node 4 xshift 0.90 from 6,1 move D3 payoffs 3 4 6
13+
level 6 node 3 xshift -1.9 from 2,1 move U2
14+
level 6 node 4 xshift 1.9 from 2,1 move D2
15+
level 8 node 5 xshift -0.90 from 6,4 move U3 payoffs 0 0 0
16+
level 8 node 6 xshift 0.90 from 6,4 move D3 payoffs 3 4 6
17+
level 10 node 1 player 1 xshift -1.65 from 6,3 move U3
18+
level 8 node 7 xshift 0.90 from 6,3 move D3 payoffs 0 0 0
19+
level 14 node 1 xshift -2.205 from 10,1 move U1
20+
level 14 node 2 xshift 2.205 from 10,1 move D1
21+
level 18 node 1 xshift -1.095 from 14,2 move U2
22+
level 18 node 2 xshift 1.095 from 14,2 move D2
23+
level 20 node 1 xshift -0.73 from 18,2 move U3 payoffs 9 8 2
24+
level 20 node 2 xshift 0.73 from 18,2 move D3 payoffs 0 0 0
25+
level 20 node 3 xshift -0.73 from 18,1 move U3 payoffs 0 0 0
26+
level 20 node 4 xshift 0.73 from 18,1 move D3 payoffs 3 4 6
27+
level 18 node 3 xshift -1.095 from 14,1 move U2
28+
level 18 node 4 xshift 1.095 from 14,1 move D2
29+
level 20 node 5 xshift -0.73 from 18,4 move U3 payoffs 0 0 0
30+
level 20 node 6 xshift 0.73 from 18,4 move D3 payoffs 3 4 6
31+
level 20 node 7 xshift -0.73 from 18,3 move U3 payoffs 9 8 12
32+
level 20 node 8 xshift 0.73 from 18,3 move D3 payoffs 0 0 0
33+
iset 2,2 2,1 player 2
34+
iset 6,4 6,3 6,2 6,1 player 3
35+
iset 14,2 14,1 player 2
36+
iset 18,4 18,3 18,2 18,1 player 3

games/2smp.ef

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
player 1 name Player~1
2+
player 2 name Player~2
3+
level 0 node 1 player 1
4+
level 2 node 1 xshift -3.58 from 0,1 move H
5+
level 2 node 2 xshift 3.58 from 0,1 move T
6+
level 6 node 1 player 1 xshift -1.9 from 2,2 move H
7+
level 6 node 2 player 1 xshift 1.9 from 2,2 move T
8+
level 8 node 1 xshift -0.90 from 6,2 move H
9+
level 8 node 2 xshift 0.90 from 6,2 move T
10+
level 13 node 1 xshift -0.45 from 8,2 move H payoffs -1 1
11+
level 13 node 2 xshift 0.45 from 8,2 move T payoffs 1 -1
12+
level 13 node 3 xshift -0.45 from 8,1 move H payoffs 1 -1
13+
level 13 node 4 xshift 0.45 from 8,1 move T payoffs -1 1
14+
level 9 node 3 xshift -0.90 from 6,1 move H
15+
level 9 node 4 xshift 0.90 from 6,1 move T
16+
level 13 node 5 xshift -0.45 from 9,4 move H payoffs -1 1
17+
level 13 node 6 xshift 0.45 from 9,4 move T payoffs 1 -1
18+
level 13 node 7 xshift -0.45 from 9,3 move H payoffs 1 -1
19+
level 13 node 8 xshift 0.45 from 9,3 move T payoffs -1 1
20+
level 6 node 3 player 1 xshift -1.9 from 2,1 move H
21+
level 6 node 4 player 1 xshift 1.9 from 2,1 move T
22+
level 11 node 5 xshift -0.90 from 6,4 move H
23+
level 11 node 6 xshift 0.90 from 6,4 move T
24+
level 13 node 9 xshift -0.45 from 11,6 move H payoffs -1 1
25+
level 13 node 10 xshift 0.45 from 11,6 move T payoffs 1 -1
26+
level 13 node 11 xshift -0.45 from 11,5 move H payoffs 1 -1
27+
level 13 node 12 xshift 0.45 from 11,5 move T payoffs -1 1
28+
level 10 node 7 xshift -0.90 from 6,3 move H
29+
level 10 node 8 xshift 0.90 from 6,3 move T
30+
level 13 node 13 xshift -0.45 from 10,8 move H payoffs -1 1
31+
level 13 node 14 xshift 0.45 from 10,8 move T payoffs 1 -1
32+
level 13 node 15 xshift -0.45 from 10,7 move H payoffs 1 -1
33+
level 13 node 16 xshift 0.45 from 10,7 move T payoffs -1 1
34+
iset 2,2 2,1 player 2
35+
iset 8,2 8,1 player 2
36+
iset 9,4 9,3 player 2
37+
iset 11,6 11,5 player 2
38+
iset 10,8 10,7 player 2

games/cent2.ef

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
player 1 name Player~1
2+
player 2 name Player~2
3+
level 0 node 1 player 0
4+
level 2 node 1 player 0 xshift -7.16 from 0,1 move 1=rational~(1)
5+
level 2 node 2 player 0 xshift 7.16 from 0,1 move 1=altruist~(\frac{19}{20})
6+
level 7 node 1 xshift -0.62 from 2,2 move 2=rational~(2)
7+
level 7 node 2 xshift 0.62 from 2,2 move 2=altruist~(\frac{19}{20})
8+
level 11 node 1 xshift -0.90 from 7,2 move p
9+
level 15 node 1 xshift 0.00 from 11,1 move p
10+
level 19 node 1 xshift 0.00 from 15,1 move p
11+
level 21 node 1 xshift 0.00 from 19,1 move p payoffs 12.80 3.20
12+
level 10 node 2 xshift -0.90 from 7,1 move p
13+
level 12 node 1 xshift -0.45 from 10,2 move t payoffs 0.40 1.60
14+
level 15 node 2 xshift 0.41 from 10,2 move p
15+
level 18 node 2 xshift -1.095 from 15,2 move p
16+
level 21 node 2 xshift -0.55 from 18,2 move t payoffs 1.60 6.40
17+
level 21 node 3 xshift 0.55 from 18,2 move p payoffs 12.80 3.20
18+
level 6 node 3 xshift -4.18 from 2,1 move 2=rational~(2)
19+
level 6 node 4 xshift 4.18 from 2,1 move 2=altruist~(\frac{19}{20})
20+
level 8 node 1 xshift -0.90 from 6,4 move t payoffs 0.80 0.20
21+
level 11 node 3 xshift 0.90 from 6,4 move p
22+
level 14 node 3 xshift -2.205 from 11,3 move p
23+
level 16 node 1 xshift -0.55 from 14,3 move t payoffs 3.20 0.80
24+
level 19 node 3 xshift 0.27 from 14,3 move p
25+
level 21 node 4 xshift 0.00 from 19,3 move p payoffs 12.80 3.20
26+
level 8 node 2 xshift -0.90 from 6,3 move t payoffs 0.80 0.20
27+
level 10 node 4 xshift 0.90 from 6,3 move p
28+
level 12 node 2 xshift -0.45 from 10,4 move t payoffs 0.40 1.60
29+
level 14 node 4 xshift 2.205 from 10,4 move p
30+
level 16 node 2 xshift -0.82 from 14,4 move t payoffs 3.20 0.80
31+
level 18 node 4 xshift 1.095 from 14,4 move p
32+
level 21 node 5 xshift -0.55 from 18,4 move t payoffs 1.60 6.40
33+
level 21 node 6 xshift 0.55 from 18,4 move p payoffs 12.80 3.20
34+
iset 7,2 7,1 player 1
35+
iset 11,3 11,1 player 2
36+
iset 15,2 15,1 player 1
37+
iset 19,3 19,1 player 2
38+
iset 10,4 10,2 player 2
39+
iset 18,4 18,2 player 2
40+
iset 6,4 6,3 player 1
41+
iset 14,4 14,3 player 1

games/efg/2s2x2x2.efg

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
EFG 2 R "Two stage McKelvey McLennan game with 9 equilibria each stage" { "Player 1" "Player 2" "Player 3" }
2+
""
3+
4+
p "" 1 1 "Infoset2" { "U1" "D1" } 0
5+
p "" 2 1 ":1" { "U2" "D2" } 0
6+
p "" 3 1 ":1" { "U3" "D3" } 0
7+
p "" 1 2 "" { "U1" "D1" } 1 "Outcome 2" { 9, 8, 12 }
8+
p "" 2 2 "Infoset3" { "U2" "D2" } 0
9+
p "" 3 2 "Infoset3" { "U3" "D3" } 0
10+
t "" 1 "Outcome 2" { 9, 8, 12 }
11+
t "" 2 "Outcome 1" { 0, 0, 0 }
12+
p "" 3 2 "Infoset3" { "U3" "D3" } 0
13+
t "" 2 "Outcome 1" { 0, 0, 0 }
14+
t "" 3 "Outcome 4" { 3, 4, 6 }
15+
p "" 2 2 "Infoset3" { "U2" "D2" } 0
16+
p "" 3 2 "Infoset3" { "U3" "D3" } 0
17+
t "" 2 "Outcome 1" { 0, 0, 0 }
18+
t "" 3 "Outcome 4" { 3, 4, 6 }
19+
p "" 3 2 "Infoset3" { "U3" "D3" } 0
20+
t "" 4 "Outcome 3" { 9, 8, 2 }
21+
t "" 2 "Outcome 1" { 0, 0, 0 }
22+
t "" 2 "Outcome 1" { 0, 0, 0 }
23+
p "" 3 1 ":1" { "U3" "D3" } 0
24+
t "" 2 "Outcome 1" { 0, 0, 0 }
25+
t "" 3 "Outcome 4" { 3, 4, 6 }
26+
p "" 2 1 ":1" { "U2" "D2" } 0
27+
p "" 3 1 ":1" { "U3" "D3" } 0
28+
t "" 2 "Outcome 1" { 0, 0, 0 }
29+
t "" 3 "Outcome 4" { 3, 4, 6 }
30+
p "" 3 1 ":1" { "U3" "D3" } 0
31+
t "" 4 "Outcome 3" { 9, 8, 2 }
32+
t "" 2 "Outcome 1" { 0, 0, 0 }

games/efg/2smp.efg

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
EFG 2 R "Two-stage matching pennies game" { "Player 1" "Player 2" }
2+
""
3+
4+
p "" 1 1 "" { "H" "T" } 0
5+
p "" 2 1 "" { "H" "T" } 0
6+
p "" 1 2 "" { "H" "T" } 1 "Match" { 1, -1 }
7+
p "" 2 2 "" { "H" "T" } 0
8+
t "" 1 "Match" { 1, -1 }
9+
t "" 2 "Mismatch" { -1, 1 }
10+
p "" 2 2 "" { "H" "T" } 0
11+
t "" 2 "Mismatch" { -1, 1 }
12+
t "" 1 "Match" { 1, -1 }
13+
p "" 1 3 "" { "H" "T" } 2 "Mismatch" { -1, 1 }
14+
p "" 2 3 "" { "H" "T" } 0
15+
t "" 1 "Match" { 1, -1 }
16+
t "" 2 "Mismatch" { -1, 1 }
17+
p "" 2 3 "" { "H" "T" } 0
18+
t "" 2 "Mismatch" { -1, 1 }
19+
t "" 1 "Match" { 1, -1 }
20+
p "" 2 1 "" { "H" "T" } 0
21+
p "" 1 4 "" { "H" "T" } 2 "Mismatch" { -1, 1 }
22+
p "" 2 4 "" { "H" "T" } 0
23+
t "" 1 "Match" { 1, -1 }
24+
t "" 2 "Mismatch" { -1, 1 }
25+
p "" 2 4 "" { "H" "T" } 0
26+
t "" 2 "Mismatch" { -1, 1 }
27+
t "" 1 "Match" { 1, -1 }
28+
p "" 1 5 "" { "H" "T" } 1 "Match" { 1, -1 }
29+
p "" 2 5 "" { "H" "T" } 0
30+
t "" 1 "Match" { 1, -1 }
31+
t "" 2 "Mismatch" { -1, 1 }
32+
p "" 2 5 "" { "H" "T" } 0
33+
t "" 2 "Mismatch" { -1, 1 }
34+
t "" 1 "Match" { 1, -1 }

games/efg/cent2.efg

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
EFG 2 R "Centipede game. Two inning, with probability of altruists. " { "Player 1" "Player 2" }
2+
""
3+
4+
c "" 1 "(0,1)" { "1=rational" 19/20 "1=altruist" 1/20 } 0
5+
c "" 2 "(0,2)" { "2=rational" 19/20 "2=altruist" 1/20 } 0
6+
p "" 1 1 "(1,1)" { "t" "p" } 0
7+
t "" 1 "Outcome 1" { .80, .20 }
8+
p "" 2 1 "(2,1)" { "t" "p" } 0
9+
t "" 2 "Outcome 2" { .40, 1.60 }
10+
p "" 1 2 "(1,2)" { "t" "p" } 0
11+
t "" 3 "Outcome 3" { 3.20, .80 }
12+
p "" 2 2 "(2,2)" { "t" "p" } 0
13+
t "" 4 "Outcome 4" { 1.60, 6.40 }
14+
t "" 5 "Outcome 5" { 12.80, 3.20 }
15+
p "" 1 1 "(1,1)" { "t" "p" } 0
16+
t "" 6 "Outcome 11" { .80, .20 }
17+
p "" 2 3 "(2,3)" { "p" } 0
18+
p "" 1 2 "(1,2)" { "t" "p" } 0
19+
t "" 7 "Outcome 13" { 3.20, .80 }
20+
p "" 2 4 "(2,4)" { "p" } 0
21+
t "" 5 "Outcome 5" { 12.80, 3.20 }
22+
c "" 3 "(0,3)" { "2=rational" 19/20 "2=altruist" 1/20 } 0
23+
p "" 1 3 "(1,3)" { "p" } 0
24+
p "" 2 1 "(2,1)" { "t" "p" } 0
25+
t "" 8 "Outcome 22" { .40, 1.60 }
26+
p "" 1 4 "(1,4)" { "p" } 0
27+
p "" 2 2 "(2,2)" { "t" "p" } 0
28+
t "" 9 "Outcome 24" { 1.60, 6.40 }
29+
t "" 5 "Outcome 5" { 12.80, 3.20 }
30+
p "" 1 3 "(1,3)" { "p" } 0
31+
p "" 2 3 "(2,3)" { "p" } 0
32+
p "" 1 4 "(1,4)" { "p" } 0
33+
p "" 2 4 "(2,4)" { "p" } 0
34+
t "" 5 "Outcome 5" { 12.80, 3.20 }

games/efg/cross.efg

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
EFG 2 R "Criss-crossing infosets" { "Player 1" "Player 2" }
2+
""
3+
4+
p "ROOT" 1 1 "" { "1" "2" } 0
5+
p "" 2 1 "" { "1" "2" } 0
6+
p "" 1 2 "" { "1" "2" } 0
7+
p "" 2 2 "" { "1" "2" } 0
8+
t "" 0
9+
t "" 0
10+
t "" 0
11+
p "" 1 2 "" { "1" "2" } 0
12+
t "" 0
13+
t "" 0
14+
p "" 2 2 "" { "1" "2" } 0
15+
p "" 1 3 "" { "1" "2" } 0
16+
p "" 2 1 "" { "1" "2" } 0
17+
t "" 0
18+
t "" 0
19+
t "" 0
20+
p "" 1 3 "" { "1" "2" } 0
21+
t "" 0
22+
t "" 0

0 commit comments

Comments
 (0)