Thanks. Okay, I am going to amend the drafted rules to assign ko-blocks to the stone being recaptured, rather than the empty point of the ko. They will also persist as long as the stone remains on the board. I think the complexity of these rules is almost the same as the earlier draft (slightly simpler in some regards, slightly more wordy in others). It's about as easy to actually code up too.
I think this should get both of Matti's positions correct. It will still show anomalies for *even longer* chains of kos due to assigning a block to only a stone rather than the pair of stones of a ko, but whatever, that's fine. It will also still share the "rules beast" issue in the other thread of position B for J89 rules where a double ko death can be won, but the most "obvious" interpretation of J89 also shares that issue, so I'm going to just accept that anomaly for these too.
Unless anyone finds anything seriously broken with this, I'll go ahead and finish KataGo's implementation and start the next official run shortly, supporting these rules (yay). If all goes well, in few weeks we should have some very strong new KataGo nets.
------------------
Amendments (in bold)
------------------
A pseudolegal move consists of a player performing the following:
- Coloring an empty point with the player's color.
- Then resolving captures of the opponent's color.
- Then resolving captures of the player's color.
...
...
For any regions emptied by the steps of resolving captures, we say that the move captures those regions.
Cleanup Phase Basics and Definitions
A ko-move for a player in a position is any pseudolegal move M where the opponent would have a pseudolegal move in response, the ko-reply, that would result in exactly the grid coloring prior to M.
(Note: It is not hard to prove that any ko-move captures exactly one region, with that region containing exactly one point, the same point that the ko-reply would color.)
In addition to the grid coloring, points on the grid may be marked as
ko-recapture-blocked.
(Note: this is no longer per-player, since it is implicitly differentiated by the color of the stone being marked)
The state during cleanup phases consists of the grid coloring
together with the ko-recapture-blocked status of all points and the color of the player next to take a turn.
Cleanup Phase Play
Cleanup lasts for two phases[6]. In each phase, starting with the grid coloring from the end of the previous phase, the players alternate turns, starting with the opponent of the player who took the last turn of the previous phase. A turn in the cleanup is either a pass, a legal move, or an
unblock-ko-recapture action.[7]
...
A legal move by a player during a cleanup phase is any pseudolegal move for that player that either...
- Is NOT a ko-move.
- Is a ko-move that both...
- Does NOT capture a region that contains any point marked as ko-recapture-blocked.
- AND where that player did NOT on any earlier turn during the same cleanup phase make a legal move on exactly the same point with exactly
the same grid coloring.
Then, followed by marking the point colored by that move as ko-recapture-blocked.
Then, followed by unmarking all ko-recapture-blocked points whose grid color is empty.
An unblock-ko-recapture action consists of a player choosing a ko-move for that player that would capture a region containing a point marked as ko-recapture-blocked, and removing that mark (with no changes to the coloring of the grid).