Full Report for Exo-Hex by Craig Duncan

Full Report for Exo-Hex by Craig Duncan

Generated at 28/10/2020, 06:03 from 128787 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!


On each turn, a player places a single stone of his/her own colour into any empty cell; once placed, stones never move.


Play continues until the board is full or both players pass, at which point the game is scored. Any group of own-colour stones has a score equal to the number of exo-stones (stones lying outside the grid) that it contains. The owner of the highest scoring group wins.

If there is a tie for highest scoring group, then the tied groups are set aside and the remaining groups are compared; the owner of the highest scoring group among the remaining groups wins. If these groups are also tied, then the process is repeated (that is, the tied groups are set aside and the remaining groups compared) until a winner results. (It is impossible for group scores to be tied "all the way down.")

Pie Rule

The “Pie Rule” applies: After Player 1 plays the first stone to the board, Player 2 can decide whether to play his/her own colour to the board, or alternatively, switch colours with Player 1.


General comments:

Play: Combinatorial

Family: Combinatorial 2019

Mechanism(s): Scoring,Strict Placement

Components: Board

Level: Standard

BGG Stats

BGG EntryExo-Hex
BGG Rating7.5
BGG Weight0

BGG Ratings and Comments

alekerickson8A wonderful addition to the canon of hex-hex connection games. Preceded by close relative Global Connection.
mrraow7Good connection game; but it does seem like most hex strategies can be applied so to me ExoHex feels a more like a hex variant than a game in its own right.

Kolomogorov Complexity Analysis

Size (bytes)28548
Reference Size10293

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 second93422.15 (10.70µs/playout)
Reference Size413992.96 (2.42µs/playout)
Ratio (low is good)4.43

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 playout125,71979816,091,227102,58712811

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: Player 1 (Black) win %50.58±0.27Includes draws = 50%
2: Player 2 (White) win %49.42±0.27Includes draws = 50%
Draw %1.83Percentage of games where all players draw.
Decisive %98.17Percentage of games with a single winner.
Samples128787Quantity 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
2UCT (its=3)610412729230.6524 <= 0.6831 <= 0.712347.784.4447.78127.92
9UCT (its=10)619243479900.6069 <= 0.6374 <= 0.666748.592.4248.99127.81
15UCT (its=16)623153579950.6033 <= 0.6337 <= 0.663049.251.5149.25128.97
23UCT (its=24)622182839230.6529 <= 0.6836 <= 0.712849.841.9548.21128.03
30UCT (its=31)621203509910.6063 <= 0.6367 <= 0.666147.932.0250.05127.41
38UCT (its=39)624143289660.6226 <= 0.6532 <= 0.682649.281.4549.28128.28
46UCT (its=47)620213589990.6008 <= 0.6311 <= 0.660549.252.1048.65128.10
55UCT (its=56)6241336310000.6001 <= 0.6305 <= 0.659949.401.3049.30128.39
UCT (its=66)
0.5941 <= 0.6245 <= 0.6540
UCT (its=66)
0.4676 <= 0.4985 <= 0.5294

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.


Samples128787Quantity 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

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


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.


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 18% 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

Distinct actionsnullNumber of distinct moves (e.g. "e4") regardless of position in game tree
MeasureAll playersPlayer 1Player 2
Mean % of effective moves20.2519.8920.61
Mean no. of effective moves3.503.623.38
Effective game space10^42.7910^23.6810^19.12
Mean % of good moves30.6623.8137.50
Mean no. of good moves18.637.6129.66
Good move game space10^86.8010^29.7210^57.08

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

Hot turns64.06%A hot turn is one where making a move is better than doing nothing.
Momentum23.44%% of turns where a player improved their score.
Correction40.62%% of turns where the score headed back towards equality.
Depth3.24%Difference in evaluation between a short and long search.
Drama4.94%How much the winner was behind before their final victory.
Foulup Factor10.94%Moves that looked better than the best move after a short search.
Surprising turns0.78%Turns that looked bad after a short search, but good after a long one.
Last lead change82.03%Distance through game when the lead changed for the last time.
Decisiveness6.25%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.)

Unique Positions Reachable at Depth


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