You always start.
Your moveYour turnThe network winsYou win?!Draw
No rule is written in the CSS: the network decides everything, including when the game is over.
You play X. The computer plays O, and it never loses.
No rule is written in the CSS: the network decides everything, including when the game is over.
1,243 units and 5,434 nonzero weights. The trained layers come first; everything after the logits was written by hand. Each layer only reads the one before, so values needed later pass down through carry units, max(0, x) = x.
| Rule | As ReLU |
|---|---|
| x ≥ t, for an integer x | relu(x − t + 1) − relu(x − t) |
| a AND b AND c | relu(a + b + c − 2) |
| a OR b OR … | s − relu(s − 1), with s = a + b + … |
| a line of three X | relu(x₀ + x₁ + x₂ − 2) |
| square c is the best free one | relu(1 − Σ_d beats(d, c)), where d beats c if it is free and c isn't, or both are and d's score is higher |
| O moves only if you moved, didn't win, and the board isn't full | relu(best_c + moved − x_won − full − 1) |