Towards the Automatic Synthesis of Interpretable Chess Tactics
Organizations: North Carolina State University Venture IV, 1730 Varsity Dr, Raleigh, NC 27606
Abstract
State-of-the-art reinforcement learning agents are capable of outperforming human experts at games like chess, Go and StarCraft II. These agents do not simply take advantage of their digital hardware in being able to react and calculate faster than humans, but employ better strategies that lead to more victories. Interpreting these strategies would give human players valuable insight into how to improve their play. In this preliminary work, we propose a symbolic sub-policy model for playing chess. Inspired by chess tactics, our model attempts to incorporate domain knowledge to improve interpretability. We adapt patterns learned by an inductive logic programming system called PAL to derive our model. We contribute a divergence metric to evaluate our model against a random baseline, and find a set of tactics that is able to suggest moves of similar playing strength to a human beginner. Finally, we propose a computational evaluation scheme for the model by augmenting an off-the-shelf engine with it.
Figures & tables
| Pattern | Definition |
|---|---|
| can_threat | A piece (P1) can threaten another piece (P2) after making a move to (X3,Y3) |
| can_fork | A piece (P1) can produce a fork to the opponent’s King and piece (P3) after making a move to (X4,Y4) |
| can_check | A piece (P1) can check the opponent’s King after a moving to (X3,Y3) |
| discovered_check | A check by piece (P2) can be “discovered” after moving another piece (P1) to (X4,Y4) |
| discovered_threat | A piece (P1) can threaten an opponent’s piece (P3) after moving another piece (P2) to (X4,Y4) |
| skewer | A King in check by a piece (P1) “exposes” another piece (P3) when it is moved out of check to (X4,Y4) |
| Tactic | Coverage | Divergence | |
|---|---|---|---|
| SF14 | Maia | ||
| can_threat | 0.96 | 378.94 | 9.22 |
| can_check | 0.45 | 549.19 | 4.02 |
| can_fork | 0.32 | 676.45 | 4.67 |
| discovered_check | 0 | 338.55 | 18.64 |
| discovered_threat | 0.96 | 375.97 | 1.19 |