I love using KataGo and I really feel like to help you. As you can see from my signature, I wrote a book "Understanding the Rules of Baduk". Many questions you have about Go rules are probably already included there, but I regret that I did not finish its translation in English.
lightvector wrote:
For AlphaZero-like self-play training purposes, neural net input/output representation, and compatibility with existing protocols for computer Go playing and game representation (GTP, SGF), I would like a ruleset that:
* Does not include any hypothetical play, branching of the game (i.e. copying the game to determine something) or any rollback of state upon determining the status of a chain, or a ko, or an area of the board. The game and all statuses are determined through alternating actions alone.
* All possible actions in any phase of the game are either a pass or are "naturally" representable as being associated with one or more locations on the board, such that these locations are disjoint between actions on a given turn (implications: any location has at most one possible action associated with it, the maximum number of possible legal actions on a 19x19 board is 362, there are no actions like "communicate a list of group and their proposed statues to be agreed upon" that cannot be naturally be encoded in such a way, etc.).
* Will still produce some result even with fairly badly-behaved players. Such as players that play completely at random, or do not understand when play are necessary or not, or that "mistakenly" take actions that result in the game ending "prematurely". Self-play rules must be able to handle such players.
* Can be efficiently implemented in an actual computer program without too much difficulty. I think the current draft is not too bad on this - only a small number of additional concepts are defined such "state" and "atari" beyond those that a computer implementation would need to implement anyways such as "region", and simple combinations of those concepts are enough to define the most complex concepts like "independent-life-region" without any more layers of definitions. And as for efficiency, everything is computable directly, for example no tree search over move sequences is necessary to implement any of the rules.
* Subject to the above technical requirements/restrictions, still does a reasonable job of matching most common situation results in the Japanese rules so long as the players ARE reasonably-well-behaved and act self-interestedly.
It is a nice summary of your objective. I mostly agree with you that a rule (for both human and AI) must seek for such goals, and actually the above sentences can be a good summary of Ch. 5 of my book.
lightvector wrote:
For most area-scoring rulesets, it is not hard to come up with a version that satisfies all the above technical requirements, in fact many of them pretty much do already
Now it is difficult for me to agree with this. Maybe you think some rulesets adopting superko rules (T-T, AGA, NZ or whatever) can achieve this, but I've yet to see a superko-adopting rule that does not have an anomaly. Ch. 10 of my book is devoted to explain all the anomalies of superko rules.
Ch. 12 of the book introduces a new ruleset which is pretty much a reproduction of the current Chinese ruleset. (I feel like to say that by applying this ruleset, the result of the game will match with the intention of the current Chinese rule.) The rule text is at this link.
http://home.unist.ac.kr/~jukim/?module= ... 1a9b1ec6f1Even though it is basically an area scoring rule, if you are looking for a ruleset that results in draws for triple and quadruple kos and prevents trolling (such as sending-two-returning-one, repeatedly touching double ko seki, not giving up separated moonshine life, etc.) maybe it is worth reading. Unfortunately, the commentary of the ruleset is yet to be translated, and without the whole book in English, it won't be easy for you to understand how the rule can really survive all possible attacks. If you have specific questions, I can at least answer them.
The ruleset introduces some unfamiliar concepts, but you are a programmer and you will quickly realize that its programming is actually quite easy because all you need to do is to write down a few if, then, else sentences. (There is no implicit statement such as "resolve the situation".) Probably the only drawback is the introduction of two different passes, one for the ko capture and one for the game ending. (The situation will be worse for you because you are seeking for a territory scoring rule, and the game is played through multiple phases.) I tried really hard to see if I can make a ruleset with only one type of pass, but my temporarily conclusion is No. To defend a game from all wicked trolls, two different passes are probably inevitable.
_________________
Jaeup Kim
Professor in Physics, Ulsan National Institute of Science and Technology, Korea
Author of the Book "Understanding the Rules of Baduk", available at
https://home.unist.ac.kr/professor/jukim/bbs/board.php?bo_table=notice&wr_id=5