Full Report for Permute by Eric Silverman

Full Report for Permute by Eric Silverman

Permute is a game about twisting things, inspired by twisty puzzles like the Rubik's Cube. The name comes from one of the two main things we can do with pieces in a twisty puzzle: permute them (shuffle their positions); or orient them (change their facing). In this game players take it in turns to rotate 2x2 sets of pieces ('faces') on the board, in an attempt to bring pieces of their colour together in larger groups. Once a face has been twisted, part of it is locked in place ('bandaged') and can't be twisted again. When no more twists are possible, the game is over and the players' largest groups of pieces are scored. To win the game, you must permute your pieces so that they form the largest connected group, and deny your opponent the chance to do the same!

Generated at 05/10/2020, 07:06 from 88891 logged games.

Rules

Representative game (in the sense of being of mean length). Wherever you see the 'representative game' referred to in later sections, this is it!

Play

Each turn, take the following steps:

Twist
Drag from top left to bottom right to rotate a square clockwise, or from bottom right to top left to rotate anticlockwise.
Bandage
Click on a piece in the square you just rotated to bandage it.

Goal

The game ends when there are no more legal moves. The player who controls the biggest group (defined by orthogonal connectivity of like-coloured pawns) is the winner. If the two biggest groups are equal in size, the second-biggest groups are compared, and so on.

Miscellaneous

General comments:

Play: Combinatorial

Family: Combinatorial 2020,Minimal

Mechanism(s): No Board,Scoring

Level: Standard

BGG Stats

BGG EntryPermute
BGG Ratingnull
#Votersnull
SDnull
BGG Weightnull
#Votersnull
Yearnull

Kolomogorov Complexity Analysis

Size (bytes)28370
Reference Size10293
Ratio2.76

Ai Ai calculates the size of the implementation, and compares it to the Ai Ai implementation of the simplest possible game (which just fills the board). Note that this estimate may include some graphics and heuristics code as well as the game logic. See the wikipedia entry for more details.

Playout Complexity Estimate

Playouts per second11519.48 (86.81µs/playout)
Reference Size388636.28 (2.57µs/playout)
Ratio (low is good)33.74

Tavener complexity: the heat generated by playing every possible instance of a game with a perfectly efficient programme. Since this is not possible to calculate, Ai Ai calculates the number of random playouts per second and compares it to the fastest non-trivial Ai Ai game (Connect 4). This ratio gives a practical indication of how complex the game is. Combine this with the computational state space, and you can get an idea of how strong the default (MCTS-based) AI will be.

Playout/Search Speed

LabelIts/sSDNodes/sSDGame lengthSD
Random playout12,394361,279,3973,7061035
search.UCB12,586571995
search.UCT12,479386984

Random: 10 second warmup for the hotspot compiler. 100 trials of 1000ms each.

Other: 100 playouts, means calculated over the first 5 moves only to avoid distortion due to speedup at end of game.

Mirroring Strategies

Rotation (Half turn) lost each game as expected.
Reflection (X axis) lost each game as expected.
Reflection (Y axis) lost each game as expected.
Copy last move lost each game as expected.

Mirroring strategies attempt to copy the previous move. On first move, they will attempt to play in the centre. If neither of these are possible, they will pick a random move. Each entry represents a different form of copying; direct copy, reflection in either the X or Y axis, half-turn rotation.

Win % By Player (Bias)

1: Orange win %49.99±0.33Includes draws = 50%
2: Yellow win %50.01±0.33Includes draws = 50%
Draw %0.00Percentage of games where all players draw.
Decisive %100.00Percentage of games with a single winner.
Samples88891Quantity of logged games played

Note: that win/loss statistics may vary depending on thinking time (horizon effect, etc.), bad heuristics, bugs, and other factors, so should be taken with a pinch of salt. (Given perfect play, any game of pure skill will always end in the same result.)

Note: Ai Ai differentiates between states where all players draw or win or lose; this is mostly to support cooperative games.

UCT Skill Chains

MatchAIStrong WinsDrawsStrong Losses#GamesStrong Scorep1 Win%Draw%p2 Win%Game Length
0Random         
1UCT (its=2)63103289590.6274 <= 0.6580 <= 0.687348.280.0051.72103.16
2
UCT (its=3)
554
0
446
1000
0.5230 <= 0.5540 <= 0.5845
50.60
0.00
49.40
102.73
3
UCT (its=4)
607
0
393
1000
0.5764 <= 0.6070 <= 0.6368
51.50
0.00
48.50
103.06
4UCT (its=5)63103639940.6044 <= 0.6348 <= 0.664249.700.0050.30102.90
5
UCT (its=6)
518
0
482
1000
0.4870 <= 0.5180 <= 0.5488
50.20
0.00
49.80
102.97
6
UCT (its=7)
548
0
452
1000
0.5170 <= 0.5480 <= 0.5786
50.60
0.00
49.40
103.15
7
UCT (its=8)
580
0
420
1000
0.5492 <= 0.5800 <= 0.6102
47.80
0.00
52.20
102.70
8
UCT (its=9)
565
0
435
1000
0.5341 <= 0.5650 <= 0.5954
51.10
0.00
48.90
102.86
9
UCT (its=10)
576
0
424
1000
0.5451 <= 0.5760 <= 0.6063
48.20
0.00
51.80
102.85
10
UCT (its=11)
601
0
399
1000
0.5703 <= 0.6010 <= 0.6309
48.10
0.00
51.90
102.68
11
UCT (its=12)
620
0
380
1000
0.5895 <= 0.6200 <= 0.6496
49.20
0.00
50.80
102.61
12UCT (its=13)63103419720.6186 <= 0.6492 <= 0.678551.340.0048.66102.84
13
UCT (its=14)
521
0
479
1000
0.4900 <= 0.5210 <= 0.5518
48.10
0.00
51.90
102.81
14
UCT (its=15)
548
0
452
1000
0.5170 <= 0.5480 <= 0.5786
50.80
0.00
49.20
102.65
15
UCT (its=16)
530
0
470
1000
0.4990 <= 0.5300 <= 0.5608
51.60
0.00
48.40
102.72
16
UCT (its=17)
566
0
434
1000
0.5351 <= 0.5660 <= 0.5964
50.40
0.00
49.60
102.49
17
UCT (its=18)
568
0
432
1000
0.5371 <= 0.5680 <= 0.5984
48.20
0.00
51.80
102.57
18
UCT (its=19)
590
0
410
1000
0.5592 <= 0.5900 <= 0.6201
50.40
0.00
49.60
102.67
19
UCT (its=20)
595
0
405
1000
0.5643 <= 0.5950 <= 0.6250
48.90
0.00
51.10
102.54
20
UCT (its=21)
603
0
397
1000
0.5723 <= 0.6030 <= 0.6329
49.30
0.00
50.70
102.29
21
UCT (its=22)
601
0
399
1000
0.5703 <= 0.6010 <= 0.6309
50.50
0.00
49.50
102.75
22
UCT (its=23)
616
0
384
1000
0.5855 <= 0.6160 <= 0.6456
50.00
0.00
50.00
102.43
23UCT (its=24)63103619920.6057 <= 0.6361 <= 0.665547.480.0052.52102.49
24
UCT (its=25)
512
0
488
1000
0.4810 <= 0.5120 <= 0.5429
49.60
0.00
50.40
102.42
25
UCT (its=26)
490
0
510
1000
0.4591 <= 0.4900 <= 0.5210
51.40
0.00
48.60
102.37
26
UCT (its=27)
507
0
493
1000
0.4760 <= 0.5070 <= 0.5379
48.50
0.00
51.50
102.29
27
UCT (its=28)
520
0
480
1000
0.4890 <= 0.5200 <= 0.5508
52.00
0.00
48.00
102.27
28
UCT (its=29)
547
0
453
1000
0.5160 <= 0.5470 <= 0.5776
52.90
0.00
47.10
102.36
29
UCT (its=30)
585
0
415
1000
0.5542 <= 0.5850 <= 0.6152
48.70
0.00
51.30
102.25
30
UCT (its=31)
586
0
414
1000
0.5552 <= 0.5860 <= 0.6161
50.40
0.00
49.60
102.28
31
UCT (its=32)
576
0
424
1000
0.5451 <= 0.5760 <= 0.6063
49.00
0.00
51.00
102.45
32
UCT (its=33)
591
0
409
1000
0.5602 <= 0.5910 <= 0.6211
47.70
0.00
52.30
102.49
33
UCT (its=34)
593
0
407
1000
0.5623 <= 0.5930 <= 0.6230
51.30
0.00
48.70
102.32
34
UCT (its=35)
623
0
377
1000
0.5925 <= 0.6230 <= 0.6525
48.70
0.00
51.30
102.20
35UCT (its=36)63103439740.6173 <= 0.6478 <= 0.677247.020.0052.98102.38
36
UCT (its=37)
479
0
521
1000
0.4482 <= 0.4790 <= 0.5100
48.10
0.00
51.90
102.49
37
UCT (its=38)
535
0
465
1000
0.5040 <= 0.5350 <= 0.5657
48.90
0.00
51.10
102.40
38
UCT (its=39)
530
0
470
1000
0.4990 <= 0.5300 <= 0.5608
48.40
0.00
51.60
102.07
39
UCT (its=40)
546
0
454
1000
0.5150 <= 0.5460 <= 0.5766
52.60
0.00
47.40
102.31
40
UCT (its=41)
568
0
432
1000
0.5371 <= 0.5680 <= 0.5984
52.80
0.00
47.20
102.33
41
UCT (its=42)
561
0
439
1000
0.5301 <= 0.5610 <= 0.5915
50.50
0.00
49.50
102.19
42
UCT (its=43)
535
0
465
1000
0.5040 <= 0.5350 <= 0.5657
53.10
0.00
46.90
102.23
43
UCT (its=44)
554
0
446
1000
0.5230 <= 0.5540 <= 0.5845
51.20
0.00
48.80
102.39
44
UCT (its=45)
587
0
413
1000
0.5562 <= 0.5870 <= 0.6171
50.30
0.00
49.70
102.34
45
UCT (its=46)
582
0
418
1000
0.5512 <= 0.5820 <= 0.6122
49.80
0.00
50.20
102.20
46
UCT (its=46)
518
0
482
1000
0.4870 <= 0.5180 <= 0.5488
50.40
0.00
49.60
101.91

Search for levels ended: time limit reached.

Level of Play: Strong beats Weak 60% of the time (lower bound with 95% confidence).

Draw%, p1 win% and game length may give some indication of trends as AI strength increases.

1st Player Win Ratios by Playing Strength

This chart shows the win(green)/draw(black)/loss(red) percentages, as UCT play strength increases. Note that for most games, the top playing strength show here will be distinctly below human standard.

Complexity

Game length102.51 
Branching factor50.54 
Complexity10^106.44Based on game length and branching factor
Samples88891Quantity of logged games played

Computational complexity (where present) is an estimate of the game tree reachable through actual play. For each game in turn, Ai Ai marks the positions reached in a hashtable, then counts the number of new moves added to the table. Once all moves are applied, it treats this sequence as a geometric progression and calculates the sum as n-> infinity.

Move Classification

Distinct actions388Number of distinct moves (e.g. "e4") regardless of position in game tree
Good moves144A good move is selected by the AI more than the average
Bad moves243A bad move is selected by the AI less than the average
Response distance3.06Mean distance between move and response; a low value relative to the board size may mean a game is tactical rather than strategic.
Samples88891Quantity of logged games played

Board Coverage

A mean of 73.46% of board locations were used per game.

Colour and size show the frequency of visits.

Game Length

Game length frequencies.

Mean102.51
Mode[103]
Median103.0

Change in Material Per Turn

This chart is based on a single representative* playout, and gives a feel for the change in material over the course of a game. (* Representative in the sense that it is close to the mean length.)

Actions/turn

Table: branching factor per turn, based on a single representative* game. (* Representative in the sense that it is close to the mean game length.)

Action Types per Turn

This chart is based on a single representative* game, and gives a feel for the types of moves available throughout that game. (* Representative in the sense that it is close to the mean game length.)

Red: removal, Black: move, Blue: Add, Grey: pass, Purple: swap sides, Brown: other.

Trajectory

This chart shows the best move value with respect to the active player; the orange line represents the value of doing nothing (null move).

The lead changed on 25% of the game turns. Ai Ai found 1 critical turn (turns with only one good option).

Position Heatmap

This chart shows the relative temperature of all moves each turn. Colour range: black (worst), red, orange(even), yellow, white(best).

Good/Effective moves

MeasureAll playersPlayer 1Player 2
Mean % of effective moves40.2628.6752.08
Mean no. of effective moves13.3312.6014.08
Effective game space10^64.7010^30.6610^34.04
Mean % of good moves35.0159.599.95
Mean no. of good moves22.6627.7717.45
Good move game space10^65.0410^44.8110^20.23

These figures were calculated over a single game.

An effective move is one with score 0.1 of the best move (including the best move). -1 (loss) <= score <= 1 (win)

A good move has a score > 0. Note that when there are no good moves, an multiplier of 1 is used for the game space calculation.

Quality Measures

MeasureValueDescription
Hot turns51.46%A hot turn is one where making a move is better than doing nothing.
Momentum13.59%% of turns where a player improved their score.
Correction39.81%% of turns where the score headed back towards equality.
Depth2.87%Difference in evaluation between a short and long search.
Drama0.69%How much the winner was behind before their final victory.
Foulup Factor39.81%Moves that looked better than the best move after a short search.
Surprising turns0.00%Turns that looked bad after a short search, but good after a long one.
Last lead change49.51%Distance through game when the lead changed for the last time.
Decisiveness11.65%Distance from the result being known to the end of the game.

These figures were calculated over a single representative* game, and based on the measures of quality described in "Automatic Generation and Evaluation of Recombination Games" (Cameron Browne, 2007). (* Representative, in the sense that it is close to the mean game length.)

Openings

MovesAnimation
Widdershins f1-e2,Bandage f2,Widdershins c5-b6,Bandage b5,Widdershins f4-e5,Bandage f4
Widdershins f1-e2,Bandage f2,Widdershins c5-b6,Bandage b5,Clockwise e5-f4,Bandage f4
Widdershins f1-e2,Bandage f2,Clockwise b6-c5,Bandage b5,Widdershins f4-e5,Bandage f4
Widdershins f1-e2,Bandage f2,Clockwise b6-c5,Bandage b5,Clockwise e5-f4,Bandage f4
Widdershins b2-a3,Bandage b2,Widdershins d4-c5,Bandage c4,Widdershins d2-c3,Bandage d2
Widdershins b2-a3,Bandage b2,Widdershins d4-c5,Bandage c4,Clockwise c3-d2,Bandage d2
Widdershins b2-a3,Bandage b2,Clockwise c5-d4,Bandage c4,Widdershins d2-c3,Bandage d2
Widdershins b2-a3,Bandage b2,Clockwise c5-d4,Bandage c4,Clockwise c3-d2,Bandage d2
Widdershins c2-b3,Bandage c3,Widdershins j6-i7,Bandage j7,Widdershins l5-k6,Bandage k5
Widdershins c2-b3,Bandage c3,Widdershins j6-i7,Bandage j7,Clockwise k6-l5,Bandage k5
Widdershins c2-b3,Bandage c3,Clockwise i7-j6,Bandage j7,Widdershins l5-k6,Bandage k5
Widdershins c2-b3,Bandage c3,Clockwise i7-j6,Bandage j7,Clockwise k6-l5,Bandage k5
Widdershins f2-e3,Bandage f2,Widdershins b11-a12,Bandage a12,Widdershins k4-j5,Bandage k5
Widdershins f2-e3,Bandage f2,Widdershins b11-a12,Bandage a12,Clockwise j5-k4,Bandage k5
Widdershins f2-e3,Bandage f2,Clockwise a12-b11,Bandage a12,Widdershins k4-j5,Bandage k5
Widdershins f2-e3,Bandage f2,Clockwise a12-b11,Bandage a12,Clockwise j5-k4,Bandage k5
Widdershins e3-d4,Bandage d4,Widdershins i1-h2,Bandage i2,Widdershins l11-k12,Bandage l12
Widdershins e3-d4,Bandage d4,Widdershins i1-h2,Bandage i2,Clockwise k12-l11,Bandage l12
Widdershins e3-d4,Bandage d4,Clockwise h2-i1,Bandage i2,Widdershins l11-k12,Bandage l12
Widdershins e3-d4,Bandage d4,Clockwise h2-i1,Bandage i2,Clockwise k12-l11,Bandage l12
Widdershins i3-h4,Bandage h4,Widdershins h9-g10,Bandage g10,Widdershins b1-a2,Bandage a1
Widdershins i3-h4,Bandage h4,Widdershins h9-g10,Bandage g10,Clockwise a2-b1,Bandage a1
Widdershins i3-h4,Bandage h4,Clockwise g10-h9,Bandage g10,Widdershins b1-a2,Bandage a1
Widdershins i3-h4,Bandage h4,Clockwise g10-h9,Bandage g10,Clockwise a2-b1,Bandage a1
Widdershins d4-c5,Bandage c5,Widdershins j1-i2,Bandage j1,Widdershins f4-e5,Bandage e5
Widdershins d4-c5,Bandage c5,Widdershins j1-i2,Bandage j1,Clockwise e5-f4,Bandage e5
Widdershins d4-c5,Bandage c5,Clockwise i2-j1,Bandage j1,Widdershins f4-e5,Bandage e5

Opening Heatmap

Colour shows the success ratio of this play over the first 10moves; black < red < yellow < white.

Size shows the frequency this move is played.

Unique Positions Reachable at Depth

012345
1121363300451187657400697

Note: most games do not take board rotation and reflection into consideration.
Multi-part turns could be treated as the same or different depth depending on the implementation.
Counts to depth N include all moves reachable at lower depths.
Inaccuracies may also exist due to hash collisions, but Ai Ai uses 64-bit hashes so these will be a very small fraction of a percentage point.

Shortest Game(s)

No solutions found to depth 5.