Generic Long Cycle Rule
jann: Since the long cycle rule page refers to a specific application in a particular ruleset, I created this page as a placeholder for the theoretical concept. The idea is to notice that - independently of specific rulesets and their wordings - Go is played in practice so that:
- 1. If the game enters a cyclical loop of moves repeating the same board positions perpetually, it will never reach a final position thus will have no result (or can be considered a draw) - IF the players capture the same number of stones in the cycle.
- 2. However, if captures in the cycle are not balanced, then insisting on this repetition will - sooner or later, one way or the other - lead to the loss of the player who loses more stones per loop (regardless of how that is achieved in a particular ruleset).
Note that the above does not change or introduce anything new to the rules. It is merely an observation and clarification for practical convenience. If the rules would say nothing about repetition, the situation would still be the same: no scorable final position reachable thus no result in case 1 - while in case 2 one side can eventually stop repeating and win on prisoners (with territory scoring).
The scoring method only matters for case 2. It still doesn't say anything new if territory scoring is used (except in hypothetical play, or if suicide is allowed). However, it creates a necessary change for area scoring, simply to retain the expected equality between the two systems.
These points only refer to actual multiple times repetition, not necessarily to the first or a casual repetition of a position (see 1-eye-flaw for a single repetition that does not lead to perpetual loop).
Specific rulesets may introduce further extra rules that affect whether case 1 or 2 can actually happen in certain positions (or at all). The simple ko rule already thins case 1, preventing what could be a common cycle otherwise (another notable cycle intervention is moonshine life, usually prevented as well). But the above points still hold as defaults for when not overridden.