Capturing Races
Liberties
It’s important to update our definition of liberties. When we first learned Go, we were probably taught that a group’s liberties are the number of adjacent empty intersections. That definition is not very helpful when it comes to capturing races, where one should also account for approaching moves that are not strictly adjacent, and for free forcing moves. Let us update it to a new more practical one.
| Number of Liberties | |
|---|---|
| Old definition a.k.a. primary liberties |
Number of empty adjacent intersections. |
| New definition a.k.a. secondary liberties |
Net number of moves necessary for capture. |
Other resources on capturing races have various names for these types of liberties. We use primary liberties to refer to the old definition, and secondary liberties to refer to the new definition. If we do not specify primary or secondary, we are referring to secondary liberties by default.
Approach Moves
Approach moves are moves that are not strictly adjacent to the group, but are necessary to capture it. These are moves that do not count asprimary liberties, but they do count as secondary liberties.
Example: Approaching Move 1
Solution
Correct: White has 8 primary liberties and secondary liberties.Example: Approaching Move 2
Solution
Note that, depending on context, an approaching move may be avoided if the corresponding liberty is left for last. Always be careful to read the capture sequence to determine whether an approach move is necessary.
Example: Approaching Move 3
Solution
Forcing Moves
The opposite can also happen, where an intersection may count as a primary liberty, but not as a secondary liberty. A common example is in forcing moves which the opponent must respond to. Since the opponent must respond, it means that they don’t get to make progress on their side of the capture race with that move, which is a net positive for the player with the forcing move.
Example: Bamboo Joint
Wrong answer
Wrong: 7 libertiesSolution
Correct: 6 libertiesExample: Throw-in
Wrong answer
Wrong: 8 libertiesSolution
Correct: 7 libertiesEyes and their Liberties
The presence and size of eyes is of primary importance in determining the outcome of a capturing race. For that purpose, it’s helpful to figure out how many liberties are associated with an eye of a given size.
Let $n$ denote the size of the eye, and $\liberties(n)$ denote the liberties.
Small Eyes vs Big Eyes
We must distinguish between small and big eyes, as they have different properties.
| Size $n$ | Liberties | |
|---|---|---|
| Small Eye | 1-3 | $\liberties(n) = n$ |
| Big Eye | 4+ | $\liberties(n) > n$ |
Eyes are said to be of the same-size if they are either:
- literally of the same size, i.e., $n$-eye vs $n$-eye, or
- both small, e.g., 1-eye vs 3-eye are “same-size”.
The Liberties Function
There’s two approaches to learning the mapping from eye size to liberties: You can:
- simply memorize the few relevant cases, or
- learn the general formula.
Neither is superior to the other, so pick whichever fits best with your learning style. If you’re mathematically inclined, you may prefer the formula, but if you’re not, you may prefer to memorize the few relevant cases.
Liberties Table
If you’d rather just memorize the values, here are the relevant ones:
| $n$ | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| $\liberties(n)$ | 1 | 2 | 3 | 5 | 8 | 12 | 17 |
Liberties Formula
If you’d rather learn the general formula, it is as follows. For small eyes, the formula for liberties is very simple,
\[\liberties(n) = n \,.\]For big eyes, the formula becomes only slightly more complex,
\[\liberties(n) = \triangular(n-2) + 2 \,.\]where the triangular function is defined as follows (also see triangular numbers, easily memorized, e.g., if you’re a fan of killer sudoku or kakuro),
\[\begin{align} \triangular(n) &= \sum_{i=1}^n i \\ &= \begin{cases} 1, & \text{ if } n = 1, \\ n + \triangular(n-1), & \text{ otherwise}, \end{cases} \\ &= \frac{n(n+1)}{2} \,. \end{align}\]For completeness, here are the relevant values of the triangular function:
| $n$ | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| $\triangular(n)$ | 1 | 3 | 6 | 10 | 15 |
In practice, I use this method because I am already familiar with the triangular function, and I find the formula to be simpler to memorize than the raw values. When I need to apply the formula, I simply go through three steps shown below.
| Start | $n$ | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|
| Subtract 2 | $n-2$ | 2 | 3 | 4 | 5 |
| Map triangular | $\triangular(n-2)$ | 3 | 6 | 10 | 15 |
| Add 2 | $\triangular(n-2) + 2$ | 5 | 8 | 12 | 17 |
| End | $\liberties(n)$ | 5 | 8 | 12 | 17 |
Non-Empty Eyes
So far, we have only considered empty eyes. How do we account for eyes that are not empty? The answer is simple: first, count the liberties as if the eye were empty, then subtract the number of moves that have already been played inside the eye.
Example: Non-Empty Big Eye
Wrong answer
Wrong: There are $5$ empty intersections. Black has $5$ liberties.Wrong answer
Wrong: There are $5$ empty intersections. Black has $\liberties(5) = 8$ liberties.Wrong answer
Wrong: The eye size is $n=7$. Black has $\liberties(7) = 17$ liberties.Solution
Correct: The eye size is $n=7$, but $2$ liberties are already taken. Black has $\liberties(7) - 2 = 17 - 2 = 15$ liberties.Capturing Race Rules
Finally, using the terminology and knowledge above, we can discuss the rules of capturing races. Generally speaking, the process to determine the outcome of a capturing race requires the following steps:
- Identify problem type (number and size of eyes, number of shared liberties)
- Identify groups (favorite vs underdog)
- Count stuff (variables F and U, respectively for favorite and underdog)
- Determine outcome based on F and U
| Race Type | Favorite (F) | Underdog (U) | Outcomes |
|---|---|---|---|
|
Eyes: None
Shared libs: 0-1 |
Who: Group with more libs
Goal: Kill Variable: N/A |
Who: Group with fewer libs
Goal: Kill Variable: N/A |
Favorite wins, underdog dies. |
|
Eyes: None
Shared libs: 2+ |
Who: Group with more libs
Goal: Kill Variable: F = Exclusive libs + 1 |
Who: Group with fewer libs
Goal: Seki Variable: U = Exclusive libs + shared libs |
F > U: favorite wins, underdog dies.
F = U: unsettled, first player wins. F < U: underdog wins, seki. |
|
Eyes: Eye vs same-size eye
Shared libs: 0 |
Who: Group with more libs
Goal: Kill Variable: N/A |
Who: Group with fewer libs
Goal: Kill Variable: N/A |
Favorite wins, underdog dies. |
|
Eyes: Eye vs same-size eye
Shared libs: 1+ |
Who: Group with more libs
Goal: Kill Variable: F = Exclusive libs |
Who: Group with fewer libs
Goal: Seki Variable: U = Exclusive libs + shared libs |
F > U: favorite wins, underdog dies.
F = U: unsettled, first player wins. F < U: underdog wins, seki. |
| Eyes: Eye vs no eye |
Who: Group with eye
Goal: Kill Variable: F = Exclusive libs + shared libs |
Who: Group with no eye
Goal: Kill Variable: U = Exclusive libs |
F > U: favorite wins, underdog dies.
F = U: unsettled, first player wins. F < U: underdog wins, favorite dies. |
| Eyes: Big eye vs smaller eye |
Who: Group with big eye
Goal: Kill Variable: F = Exclusive libs + shared libs |
Who: Group with smaller eye
Goal: Kill Variable: U = Exclusive libs |
F > U: favorite wins, underdog dies.
F = U: unsettled, first player wins. F < U: underdog wins, favorite dies. |
Rules Summary
Though each case in the table is in some aspect different from the others, there are some common themes that arise and that can be useful to memorize the rules:
- The favorite’s goal is always to kill.
- The underdog’s goal is always to kill or to live in seki.
- Seki is only possible if:
- Both players have the same-size eye or no eyes at all.
- The underdog has at least as many liberties as the favorite.
- There is at least one shared liberty (if eyes are present) and at least two shared liberties (if no eyes are present).
- If the eyes are uneven, the shared liberties only count for the favorite.
- The eye-vs-no-eye and big-eye-vs-smaller-eye cases follow the same rule, a bigger eye gives the same advantages as the opponent having none.