Skip to content

Instantly share code, notes, and snippets.

@imabuddha
Created January 24, 2010 17:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save imabuddha/285328 to your computer and use it in GitHub Desktop.
Save imabuddha/285328 to your computer and use it in GitHub Desktop.
From a post by John Fairbairn on GoDiscussions.com:
For most practical purposes the necessary information can be reduced to an algorithm which I think goes back to a paper by Karl-Heinz Lenz in the Deutsche Go-Zeiting in the early 80s. My version of it (at your own peril) is:
1. Choose Attacker (= player with advantage; side with bigger eye or, if equal side with more exclusive liberties) and defender; small eyes count as equal irrespective of size)
2. Get number of Shared liberties S
3. From S, get Fail number F
a) if S = 0, F = 0, else
b) F = S if defender has eye, or
c) F = S-1 if defender has no eye
4. Get D, Difference in exclusive liberties and see if attacker wins: D >= F (D=F is the unsettled case)
5. If attacker fails, check for Seki (eye status equal and S = 2 for eyeless groups, S = 1 for groups with eyes)
The five bolded letters give the mnemonic ASFDS, which four letters also happen to form the left hand starting position on the Qwerty keyboard. If you need it, "four" letters is a reminder that a big eye is one where the number of capture moves exceeds the number of liberties, i.e. >= 4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment