CoolFace
Datasetpublic

timmyburn/hexo-bootstrap-corpus

Hexo Human Corpus Encoding-free corpus of decisive human Hex Tac Toe games — hexagonal grid, six-in-a-row to win (player 1 opens with 1 move, then both players play 2 moves per turn; the board is theoretically infinite). Each line is one game as a raw axial move list + outcome. Nothing about any neural-network encoding is baked in — no planes, no fixed board size, no action space. Read it with the stdlib json module and build whatever representation you want. Files… See the full description on the dataset page: https://huggingface.co/datasets/timmyburn/hexo-bootstrap-corpus.

sourceHugging Facemitupdated 3mo agoView on Hugging Face
0likes26downloads
Dataset Card

Hexo Human Corpus

Encoding-free corpus of decisive human Hex Tac Toe games — hexagonal grid, six-in-a-row to win (player 1 opens with 1 move, then both players play 2 moves per turn; the board is theoretically infinite).

Each line is one game as a raw axial move list + outcome. Nothing about any neural-network encoding is baked in — no planes, no fixed board size, no action space. Read it with the stdlib json module and build whatever representation you want.

Files

filedescription
hexo_human_corpus.jsonlthe corpus — one game per line
SCHEMA.mdfull per-line schema + conventions
dataset_metadata.jsonprovenance: counts, sha256, source filter

Schema

One JSON object per line:

json
{"game_hash":"0f8c6bdfc55e7f6f","moves":[[0,0],[2,-2],[-3,3]],"winner":1,"source":"human","elo":[898,955]}
fieldtypemeaning
game_hashstring (16 hex)SHA-256 of the move sequence — stable content/dedup key
movesarray of [x, y]axial hex coords (x,y)=(q,r), in play order
winner1 or -11 = first player (X) wins, -1 = second player (O)
sourcestring"human"
elo`[int\null, int\null]`[elo_p1, elo_p2]

Conventions

  • Axial hex coordinates (x, y); the board is infinite so values can be negative. The first player's forced opener is always (0, 0).
  • Replay moves in order to reconstruct any board state.
  • Only decisive (six-in-a-row) games are included — there are no draws.

Usage

python
import json

games = [json.loads(line) for line in open("hexo_human_corpus.jsonl")]
g = games[0]
print(g["moves"], g["winner"])      # [[0,0], [2,-2], ...]  1

Provenance

Rated human games filtered to: rated, ≥20 moves, decisive by six-in-a-row. Per-game elo is each player's rating at game time. Games are anonymised (player ids dropped; only relative Elo retained). See dataset_metadata.json for the exact game count and sha256.

License: MIT.