When is a move sente?
Diclaimers
This post just represents my own thoughts about a specific subject: deciding whether a particular Go endgame move in a very simple situation is locally sente or not. Global issues (e.g., which area should I play in at all?) are not addressed at all. I have a particular sweet spot between rigor and intuition that I try to hit when explaining things to myself; your preferences may be different in either direction. More rigorous formulations like thermographs are outside the scope of this post.
Motivation
Working through the “Sente or gote?” examples in Part 4 of my series on endgame counting, and seeing a position slowly change from gote to sente as the size of the followup increased, got me thinking about the various semi-formal definitions of sente I’ve encountered:
-
A move is sente if your opponent wants it to be; that is, if responding is a more efficient use of their local moves than not responding.
-
A move is sente if the followup is bigger than the move itself. (One intuition here is that if your first move used to be the biggest move on the board, now the followup will be the biggest move on the new board.)
Clearly these definitions should match up, and it doesn’t take much symbol manipulation to show that they do, but I felt that there should be an obvious intuitive explanation that was eluding me. So I used a principle that has always served me well: if it is possible for a mathematical relationship to be portrayed geometrically, doing so will provide important mathematical insight. So let’s do that!
The generic example
I’m going to try to avoid Go diagrams completely in this post; let’s see if I’m successful. Everything will be based on a completely generic example. Positions will be specified by a sequence of Ws and Bs showing who made local moves in what order.
In our root position X, White’s best move (which we are assuming for this example to always be gote) would result in position W, and Black’s best move would result in position B, after which Black’s best followup would result in position BB and White’s best followup would result in position BW. (I will abuse notation to use BB to refer both to the sequence of two Black moves and the position that results after they are played.)
I’m going to use definition 1 of sente here and later we can see how it matches definition 2. Remember, White gets to decide whether your Black move is gote or sente. All you can do is play it; they’re the ones with the choice to either respond to it or tenuki. So the value of move B is always the minimum of its value if White considers it to be gote and its value if White considers it to be sente.
As your followup BB becomes bigger and bigger, the value of B if White decides it’s gote keeps increasing as well. That’s because half the time you’ll actually get to execute the followup.
Meanwhile, the value of B if White decides it’s sente doesn’t depend at all on the value of the followup, because White will never let you execute it.
If the followup is small enough, B is certainly actually gote. As we increase the size of the followup, the gote value of B gets bigger and bigger (linearly), until it reaches the sente value of B, after which point B becomes sente forever.
Here’s all of that in a graph. As we move from left to right, increasing the followup value, the gote value goes up until it hits the sente value, at which point White would prefer to think of it as sente.
Endgame tree diagrams
Now that I have a better idea of the big picture, I’m going to draw a completely different kind of diagram to explore the crossover point between gote and sente. Each one of these will correspond to a different vertical slice of Diag. 1, moving from left to right.
Here’s the simplest possible gote endgame, with no followups. In this new diagram type, the x axis shows how many extra local moves have been played by one side versus the other, and the y axis shows the local score (higher is better for Black).
From our starting position X, Black can make the blue move from X to B, or White can make the red move from X to W. We assign a score to X that’s midway between the two because either player is equally likely to be the first to play in this area. In these graphs I’ll make the nodes gray if their score is derived from other nodes’ scores.
The value of a move is the slope of its line; that’s as much as you can change the local score in one move. You can see here why we divide the swing $B-W$ by two when computing a miai value; the difference in stone advantage on the rest of the board between W and B is two.
Now we’ll add two nodes for the Black and White followups from position B.
Black’s move from the the original position X takes us to an intermediate position B, which has two smaller gote followups the same way that Diag. 2a did. The score of B is declared to be the midpoint of BW and BB, just like we did before. This means that we now have to go through two steps to calculate the score of X, since we need to calculate the score of B first.
Let’s make BB bigger:
W and BW are still in the same place as before, but everything else moved, because BB pulled B up with it, which pulled X up in turn. This what I was talking about before in the “generic example” section when I said that increasing the size of the gote followup increases the value of the original gote move.
Now let’s make BB really big:
At first this looks like more of the same, but there’s a crucial difference; we pulled B up so far that BW is now on the other side of the W-B line. I’m now going to use dashed lines to draw two different ways that White can interpret this situation.
The top dashed line is the same as before, where White treats Black’s move as gote; White is saying “either I’ll play W or Black will play B, and the value of my move is half the difference.” The bottom dashed line is when White treats Black’s move as sente; now they’re saying “either I’ll play W or Black will play B and I’ll immediately bring it back to BW, and the value of my move is all of the difference.”
As we raise BB, when do we flip over from gote to sente? When the slope between BW and B is the same as the slope between X and B. But the slope between BW and B is the same as the slope between B and BB, so this happens exactly when the followup BB from B is as big as the original move B from X. QED.
Effectively. this last position really looks more like this, disregarding situations like Black playing B at the wrong time or using it as a ko threat that White ignores:
There are only two normal outcomes; either Black plays B and White immediately responds with BW, or White plays W. Therefore the local score will never be more than BW, and so we might as well just call that the score of X. You may have heard the phrase “sente gains nothing”; basically, B’s sente move is already baked into the score of X, and the best that Black can expect is just to get what they deserve.
OK, that was a lot of work to prove a fairly basic conclusion you probably understood already, and if your reaction is to all of this was “That was already all obvious from the start!”, I am jealous of you, but I’m glad that I now understand it too.
Fast determination
I published the above a few days ago, and then realized that I wanted to tie up one more simple loose end. We know that a move is sente for Black when the slope from B to BB is greater than the slope from X to B (“the followup is bigger than the original move”), but that’s a little annoying to compute because B depends on BW and BB, and then X depends on B. What do we get if we simplify the calculation so that it just depends on the terminal states W, BW, and BB (the black nodes in my diagrams)? Those are the scores we can just count instead of having to take averages.
It’s simple: the crossover point is when the distance between BW and BB is twice the distance between W and BW. I said I was going to try to have no Go diagrams in this post, but I’ll reuse the example from Part 4 of the area counting series to illustrate.
Of the $6$ points at stake, Black could get $0$ (W), $2$ (BW), or $6$ (BB). The difference between $2$ and $6$ is twice the difference between $0$ and $2$, so we’re right at the crossover point between gote and sente. If the BB score were any bigger, it would be sente. I really like using area counting here because we only have to keep track of one sort of value: how many of the points at stake Black is getting.
One more example, since the answer surprised me:
My first instinct was that White’s hane at A is sente, since they’re threatening to hane again and pick up two stones. But is it? Let’s see. Seven points are at stake, since if Black descends to A it’s their privilege to push. White’s share of those seven points is $0$ if Black goes first, $3$ if White goes first and Black responds (White will get the corner point for free while Black connects), and $7$ if White goes first and then follows up. But the second difference of $7-3=4$ is not nearly twice the first difference of $3-0=3$. So this area really is gote, with a move value of $4$ (the difference between $0$ and the average of $7$ and $3$, minus one).