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 29/10/2020, 10:08 from 37903 logged games.

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

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.

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.

General comments:

Play: Combinatorial

Family: Combinatorial 2020,Minimal

Mechanism(s): No Board,Scoring

Level: Standard

BGG Entry | Permute |
---|---|

BGG Rating | null |

#Voters | null |

SD | null |

BGG Weight | null |

#Voters | null |

Year | null |

Size (bytes) | 28370 |
---|---|

Reference Size | 10293 |

Ratio | 2.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.

Playouts per second | 3976.28 (251.49µs/playout) |
---|---|

Reference Size | 1552795.03 (0.64µs/playout) |

Ratio (low is good) | 390.51 |

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.

Label | Its/s | SD | Nodes/s | SD | Game length | SD |
---|---|---|---|---|---|---|

Random playout | 3,992 | 29 | 746,606 | 5,421 | 187 | 7 |

search.UCB | 4,106 | 59 | 182 | 7 | ||

search.UCT | 4,097 | 69 | 181 | 7 |

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.

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.

1: Orange win % | 50.01±0.50 | Includes draws = 50% |
---|---|---|

2: Yellow win % | 49.99±0.50 | Includes draws = 50% |

Draw % | 0.00 | Percentage of games where all players draw. |

Decisive % | 100.00 | Percentage of games with a single winner. |

Samples | 37903 | Quantity 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.

Match | AI | Strong Wins | Draws | Strong Losses | #Games | Strong Score | p1 Win% | Draw% | p2 Win% | Game Length |
---|---|---|---|---|---|---|---|---|---|---|

0 | Random | |||||||||

1 | UCT (its=2) | 631 | 0 | 313 | 944 | 0.6378 <= 0.6684 <= 0.6977 | 46.93 | 0.00 | 53.07 | 187.06 |

4 | UCT (its=5) | 631 | 0 | 366 | 997 | 0.6025 <= 0.6329 <= 0.6623 | 51.76 | 0.00 | 48.24 | 186.57 |

13 | UCT (its=14) | 631 | 0 | 359 | 990 | 0.6069 <= 0.6374 <= 0.6667 | 49.09 | 0.00 | 50.91 | 186.50 |

19 | UCT (its=20) | 571 | 0 | 429 | 1000 | 0.5401 <= 0.5710 <= 0.6013 | 49.50 | 0.00 | 50.50 | 186.49 |

20 | UCT (its=20) | 494 | 0 | 506 | 1000 | 0.4631 <= 0.4940 <= 0.5250 | 49.20 | 0.00 | 50.80 | 185.96 |

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.

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.**

Game length | 186.55 | |
---|---|---|

Branching factor | 92.10 | |

Complexity | 10^218.00 | Based on game length and branching factor |

Samples | 37903 | Quantity 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.

Distinct actions | 708 | Number of distinct moves (e.g. "e4") regardless of position in game tree |
---|---|---|

Good moves | 256 | A good move is selected by the AI more than the average |

Bad moves | 451 | A bad move is selected by the AI less than the average |

Response distance | 4.00 | Mean distance between move and response; a low value relative to the board size may mean a game is tactical rather than strategic. |

Samples | 37903 | Quantity of logged games played |

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

Colour and size show the frequency of visits.

Game length frequencies.

Mean | 186.55 |
---|---|

Mode | [187] |

Median | 187.0 |

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.)

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

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.

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 12% of the game turns. Ai Ai found 10 critical turns (turns with only one good option).

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

Measure | All players | Player 1 | Player 2 |
---|---|---|---|

Mean % of effective moves | 26.45 | 23.80 | 29.13 |

Mean no. of effective moves | 12.17 | 11.89 | 12.45 |

Effective game space | 10^113.27 | 10^55.68 | 10^57.59 |

Mean % of good moves | 34.70 | 66.03 | 3.04 |

Mean no. of good moves | 46.74 | 80.83 | 12.29 |

Good move game space | 10^112.93 | 10^98.11 | 10^14.82 |

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.

Measure | Value | Description |
---|---|---|

Hot turns | 62.57% | A hot turn is one where making a move is better than doing nothing. |

Momentum | 22.46% | % of turns where a player improved their score. |

Correction | 45.99% | % of turns where the score headed back towards equality. |

Depth | 7.69% | Difference in evaluation between a short and long search. |

Drama | 0.98% | How much the winner was behind before their final victory. |

Foulup Factor | 37.43% | Moves that looked better than the best move after a short search. |

Surprising turns | 2.67% | Turns that looked bad after a short search, but good after a long one. |

Last lead change | 89.84% | Distance through game when the lead changed for the last time. |

Decisiveness | 4.28% | 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.)

Moves | Animation |
---|---|

Widdershins h6-g7,Bandage g7,Widdershins o5-n6,Bandage n5,Widdershins h15-g16,Bandage h16 | |

Widdershins h6-g7,Bandage g7,Widdershins o5-n6,Bandage n5,Clockwise g16-h15,Bandage h16 | |

Widdershins h6-g7,Bandage g7,Clockwise n6-o5,Bandage n5,Widdershins h15-g16,Bandage h16 | |

Widdershins h6-g7,Bandage g7,Clockwise n6-o5,Bandage n5,Clockwise g16-h15,Bandage h16 | |

Widdershins m13-l14,Bandage l14,Widdershins m4-l5,Bandage l5,Widdershins f14-e15,Bandage f14 | |

Widdershins m13-l14,Bandage l14,Widdershins m4-l5,Bandage l5,Clockwise e15-f14,Bandage f14 | |

Widdershins m13-l14,Bandage l14,Clockwise l5-m4,Bandage l5,Widdershins f14-e15,Bandage f14 | |

Widdershins m13-l14,Bandage l14,Clockwise l5-m4,Bandage l5,Clockwise e15-f14,Bandage f14 | |

Clockwise g7-h6,Bandage g7,Widdershins o5-n6,Bandage n5,Widdershins h15-g16,Bandage h16 | |

Clockwise g7-h6,Bandage g7,Widdershins o5-n6,Bandage n5,Clockwise g16-h15,Bandage h16 | |

Clockwise g7-h6,Bandage g7,Clockwise n6-o5,Bandage n5,Widdershins h15-g16,Bandage h16 | |

Clockwise g7-h6,Bandage g7,Clockwise n6-o5,Bandage n5,Clockwise g16-h15,Bandage h16 |

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

Size shows the frequency this move is played.

0 | 1 | 2 | 3 | 4 |
---|---|---|---|---|

1 | 225 | 675 | 102709 | 408245 |

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.

No solutions found to depth 4.