A go-like game on a hexagonal grid.

Generated at 03/06/2020, 12:59 from 22 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!

Two adjacent same-colour stones, or a stone and an adjacent empty point, are linked if there is another point adjacent to both that is not occupied by the other colour. Two adjacent empty points, on the other hand, are always linked.

A group is a stone together with all other stones one could reach from it through a series of steps between linked stones. Since only same-colour stones are linked, all stones in a group are the same colour.

A liberty of a group is an empty point linked to at least one stone in that group.

Similarly, a territory is an empty point together with all other empty points one could reach from it through a series of steps between linked empty points. You own a territory if all stones linked to points in that territory are of your colour.

Black plays first, then turns alternate. On your turn, you must pass or place a stone of your colour on an empty point. After a placement, remove all enemy stones in groups without liberties. After all removals, the stone you placed must be part of a group with at least one liberty, and the current board position must be different from the board positions at the end of all your previous turns. Otherwise, your placement is illegal.

The game ends when both players pass in succession. The player with the higher score in the final position wins. A player's score is the number of stones of their colour on the board, plus the number of points in their territories, plus a komi in the case of White. The button may be used to break ties.

The komi is the number of points which is added to White's score at the end of the game as a compensation for playing second. Before the game starts, the first player chooses the value of komi, and then the second player chooses sides. Alternatively, both players may just agree on a value. To avoid ties, it is suggested to either set komi to half a point higher than a whole number (like 6.5) or to use a whole value along with the button.

The button is a special token which is placed next to the board at the start of the game. On your turn, if neither player has taken the button yet, you may not pass, but you may take the button instead of making a board play. At the end of the game, a half point is added to the score of the player who has taken the button. When checking for repetitions, two identical board positions are still considered different if the button had already been taken in one of them but not in the other.

General comments:

Play: Combinatorial

Family: Combinatorial 2019,Go

Mechanism(s): Capture,Scoring

Components: Board

Level: Standard

BGG Entry | Keil |
---|---|

BGG Rating | 9 |

#Voters | 2 |

SD | 0 |

BGG Weight | 0 |

#Voters | 0 |

Year | 2019 |

User | Rating | Comment |
---|---|---|

luigi87 | 9 | My game. I think this is the most logical way to adapt Go to hexagonal boards. I was pleasantly surprised by its gameplay once I internalized how connections and cuts work. |

ror1991 | 9 | A Hex-Go variant with a capturing rule that looks a bit weird at first, but turns out to be very natural. Definitely the best Hex-Go game I've seen! (and I've seen all of them probably). |

Size (bytes) | 31687 |
---|---|

Reference Size | 10293 |

Ratio | 3.08 |

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 | 42.58 (23486.76µs/playout) |
---|---|

Reference Size | 541770.51 (1.85µs/playout) |

Ratio (low is good) | 12724.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.

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

Random playout | 44 | 5 | 9,583 | 739 | 217 | 71 |

search.UCB | 20,510 | 963 | 168 | 50 | ||

search.UCT | 19,972 | 898 | 200 | 46 |

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: Player 1 win % | 72.73±20.88 | Includes draws = 50% |
---|---|---|

2: Player 2 win % | 27.27±14.12 | Includes draws = 50% |

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

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

Samples | 22 | 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.

AI | Strong Wins | Draws | Strong Losses | #Games | Strong Win% | p1 Win% | Game Length |
---|---|---|---|---|---|---|---|

Random | |||||||

Grand Unified UCT(U1-T,rSel=u, secs=0.01) | 36 | 0 | 0 | 36 | 100.00 | 69.44 | 53.11 |

Grand Unified UCT(U1-T,rSel=u, secs=0.03) | 36 | 0 | 11 | 47 | 76.60 | 48.94 | 167.34 |

Grand Unified UCT(U1-T,rSel=u, secs=0.07) | 36 | 0 | 10 | 46 | 78.26 | 60.87 | 179.80 |

Grand Unified UCT(U1-T,rSel=u, secs=0.20) | 36 | 0 | 13 | 49 | 73.47 | 48.98 | 184.78 |

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

Draw%, p1 win% and game length may give some indication of trends as AI strength increases; but be aware that the AI can introduce bias due to horizon effects, poor heuristics, etc.

Game length | 41.23 | |
---|---|---|

Branching factor | 99.85 | |

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

Samples | 22 | 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 | 142 | Number of distinct moves (e.g. "e4") regardless of position in game tree |
---|---|---|

Killer moves | 2 | A 'killer' move is selected by the AI more than 50% of the time Killers: Play White,Komi=6 |

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

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

Terrible moves | 8 | A terrible move is never selected by the AI Terrible moves: Pass,Komi=7,Komi=10,Komi=5,Komi=0,Komi=3,Komi=4,Komi=1 |

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

Samples | 22 | Quantity of logged games played |

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

Colour and size show the frequency of visits.

Game length frequencies.

Mean | 41.23 |
---|---|

Mode | [40, 50] |

Median | 40.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.

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

1 | 11 | 149 | 17679 |

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