I wondered if it would be reasonably easy to have CrazyZeroplay Paco Shako. This is a Chess variant with the unique property that instead of capturing each other, pairs of opposing pieces can coexist ('embracing each other') on the same square, dragging each other along as they move, but unable to 'capture'. They can be liberated from an embrace only by a lone piece of the same color jumping into their square, after which they have to move away in the same turn, possibly releasing another piece from an embrace, so that you get move chains.Rémi Coulom wrote: ↑Sat Apr 27, 2019 10:05 pmThanks for organizing the tournament. CrazyZero is my generic AlphaZero implementation (I currently have networks for Go, shogi, gomoku, Othello, renju, and chess). I spent only a few days training a network. It is 20 layers of 128 units. It was running with two Volta GPU (V100 + TitanV). It has good positional evaluation, but big tactical blindspots.
The interesting thing is that no one really has any idea how it should be played. The game is won by embracing the opponent's King, but like checkmate in orthodox Chess this goal is usually far beyond the horizon. Because all material stays on the board, embracing or not, there is no obvious intermediate goal, like improving material balance is in most forms of Chess.
So it would be very interesting to see what a NN-based engine makes of this. A possible implementation would use a 'two-level' 8x8 board, one level for the white and another for the black pieces. (I used this in the 'demo' diagram against which one can play at the URL I gave above, which plays mostly randomly unless it foresees a King embrace.) The chain moves are tricky, though; when treated as separate turns (during which the side-to-move doesn't change, or, alternatively, the opponent has a forced null move until the chain terminates) it would make for very deep tactics once the density of embracing pairs gets large (and the move chains start to branch rather than fizzle out quickly). Which is probably not good for the Alpha-Zero approach. But a move generator could be written in such a way that it considers chain moves that embrace the King as a single move. (The board state after that doesn't matter anymore.) This should at least enable the NN to learn what intermediate goal it should adopt to maximize its chances to find a King-embracing move.