Full Report for Furl (Square 8x8) by Stephen Tavener

Full Report for Furl (Square 8x8) by Stephen Tavener

Either furl up a row of your pieces, or unfurl a stack. If you have a piece in your end row at the start of your turn, you win.

Generated at 10/05/2020, 18:47 from 1235 logged games.

Rules

Start Position

Play

Each turn, choose one of two types of moves:

Furl
Choose two or more of your pieces in an unbroken line, and stack them on the piece at the end of that line.
Unfurl
Choose a stack of at least two pieces and sow them one per space in a straight line starting in the space in front of your stack. Intermediate spaces must be empty, but the final space may be occupied by an enemy piece or stack. If so, you capture those pieces.

Goal

You win if you have a piece or stack on the row farthest from you at the start of your turn.

You lose if you have no legal moves.

Miscellaneous

General comments:

Play: Combinatorial

BGG Stats

BGG EntryFurl (Square 8x8)
BGG Ratingnull
#Votersnull
SDnull
BGG Weightnull
#Votersnull
Yearnull

Kolomogorov Complexity Estimate

Size (bytes)26336
Reference Size10293
Ratio2.56

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 second5980.50 (167.21µs/playout)
Reference Size557693.38 (1.79µs/playout)
Ratio (low is good)93.25

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 playout6,117182574,83916,8319453
search.UCB9,22212,3781612
search.UCT7,1971,8162014
search.Minimax354,22179,840196
search.AlphaBeta47,14073,588143

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: White win %51.09±2.79Includes draws = 50%
2: Black win %48.91±2.78Includes draws = 50%
Draw %0.00Percentage of games where all players draw.
Decisive %100.00Percentage of games with a single winner.
Samples1235Quantity 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.

Levels of Play

AIStrong WinsDrawsStrong Losses#GamesStrong Win%p1 Win%Game Length
Random       
Rαβ + ocqBKs (t=0.01s)360036100.0055.5619.94
Rαβ + ocqBKs (t=0.07s)36084481.8254.5514.50
Rαβ + ocqBKs (t=0.55s)36054187.8041.4613.22

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.

Complexity

Game length18.22 
Branching factor113.25 
Complexity10^33.90Based on game length and branching factor
Samples1235Quantity 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 actions2282Number of distinct moves (e.g. "e4") regardless of position in game tree
Killer moves119A 'killer' move is selected by the AI more than 50% of the time
Too many killers to list.
Good moves1228A good move is selected by the AI more than the average
Bad moves1053A bad move is selected by the AI less than the average
Terrible moves433A terrible move is never selected by the AI
Too many terrible moves to list.
Samples1235Quantity of logged games played

Board Coverage

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

Colour shows the frequency of visits.

Change in Material Per Turn

This chart is based on a single playout, and gives a feel for the change in material over the course of a game.

Actions/turn

Table: branching factor per turn.

Action Types per Turn

This chart is based on a single playout, and gives a feel for the types of moves available over the course of a game.

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 31% of the game turns. Ai Ai found 3 critical turns (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 moves64.7173.5854.86
Mean no. of effective moves62.3250.6075.33
Effective game space10^-∞10^15.3710^-∞
Mean % of good moves39.3433.8645.42
Mean no. of good moves36.7424.9049.89
Good move game space10^21.2010^8.9510^12.25

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 turns73.68%A hot turn is one where making a move is better than doing nothing.
Momentum5.26%% of turns where a player improved their score.
Correction36.84%% of turns where the score headed back towards equality.
Depth8.07%Difference in evaluation between a short and long search.
Drama1.41%How much the winner was behind before their final victory.
Foulup Factor78.95%Moves that looked better than the best move after a short search.
Surprising turns10.53%Turns that looked bad after a short search, but good after a long one.
Last lead change57.89%Distance through game when the lead changed for the last time.
Decisiveness21.05%Distance from the result being known to the end of the game.

These figures were calculated over a single game, and based on the measures of quality described in "Automatic Generation and Evaluation of Recombination Games" (Cameron Browne, 2007).

Openings

MovesAnimation
Furl g1:a1,Furl a8:g8,Furl h1:f3,Furl h8:h6,Unfurl f3:f6,Unfurl h6:h3,Furl b3:d3,Furl f7:h5,Furl f5:f6,Unfurl h5:e8
Furl h1:b1,Furl a8:g8,Furl h2:c2,Furl h7:c7,Furl a1:c3,Furl g6:e6,Unfurl c3:c6,Unfurl e6:e3,Furl c5:c6,Furl e3:e5
Furl h1:b1,Furl b8:h8,Furl a1:a3,Furl a7:f7,Unfurl a3:d6,Furl h6:f6,Furl h2:c2,Unfurl f6:f3,Furl c5:d6,Furl f4:f3
Furl b1:h1,Furl a8:g8,Furl a1:a3,Furl h8:h6,Unfurl a3:d6,Unfurl h6:e3,Furl h2:c2,Furl a7:f7,Furl c5:d6,Furl f4:e3
Furl h1:b1,Furl a8:g8,Furl a1:a3,Furl h8:h6,Unfurl a3:d6,Unfurl h6:e3,Furl h3:f3,Furl g7:g5,Furl d2:h2,Unfurl g5:d5
Furl a1:g1,Furl a8:g8,Furl a2:f2,Furl h8:h6,Furl h1:f3,Unfurl h6:e3,Unfurl f3:c6,Furl g5:f4,Furl a3:c3,Unfurl f4:f2
Furl a1:g1,Furl b8:h8,Furl h1:f3,Furl a8:a6,Unfurl f3:c6,Unfurl a6:d3,Furl c2:f2,Furl c4:d3,Unfurl f2:f6,Unfurl d3:f1
Furl a1:g1,Furl b8:h8,Furl h1:h3,Furl a8:a6,Unfurl h3:e6,Unfurl a6:d3,Furl a3:c3,Furl b7:b5,Furl f2:a2,Unfurl b5:e5
Furl b1:h1,Furl a8:g8,Furl a1:a3,Furl h8:h6,Unfurl a3:d6,Unfurl h6:e3,Furl h2:c2,Furl a6:c6,Furl h3:g3,Furl g7:f6
Furl b1:h1,Furl b8:h8,Furl h2:c2,Furl a8:a6,Furl a1:c3,Unfurl a6:d3,Unfurl c3:f6,Furl b5:c4,Furl h3:f3,Unfurl c4:c2
Furl g1:a1,Furl h8:b8,Furl h1:h3,Furl a8:a6,Unfurl h3:e6,Unfurl a6:d3,Furl a3:c3,Furl b7:b5,Furl a2:f2
Furl g1:a1,Furl a8:g8,Furl h1:f3,Furl h8:h6,Unfurl f3:f6,Unfurl h6:h3,Furl b3:d3,Furl f7:h5,Furl f5:f6

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

012
129687912

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

Puzzles

PuzzleSolution

Black to win in 10 moves

Black to win in 12 moves

Black to win in 6 moves

White to win in 6 moves

White to win in 4 moves

Black to win in 2 moves

Black to win in 2 moves

Black to win in 2 moves

Black to win in 2 moves

White to win in 2 moves

Black to win in 4 moves

Selection criteria: first move must be unique, and not forced to avoid losing. Beyond that, Puzzles will be rated by the product of [total move]/[best moves] at each step, and the best puzzles selected.