Book Club: Mathematical Go, Chilling Gets the last point by Elwyn Berlekamp and David Wolfe

So I’ve done the calculation for the move values (and expected territories for black), just by ignoring sente:
C1: B6, W0 - ET3 - MV3
D1: B7, W3 - ET5 - MV2
E1: B8, W5 - ET6.5 - MV1.5
F1: B9, W6.5 - ET7.75 - MV1.25

M1: B4, W0 - ET2 - MV2
L1: B5, W2 - ET3.5 - MV1.5
K1: B6, W3.5 - ET4.75 - MV1.25
J1: B7, W4.75 - ET5.875 - MV1.125
H1: B8, W5.875 - ET6.9375 - MV1.0625

So just like with the corridors, the move values also go towards one, but they are decreasing now. I can’t make much sense of it yet, but maybe the best strategy is to prevent the other player to get moves with bigger move values?

2 Likes

I’m guessing Black and White should be swapped because it’s white making the territory, but the numbers make sense to me :slight_smile:

I mean maybe that makes sense of why one player, in the example diagrams in the book, tends to keep playing in the same corridor they start with. If the move value is slowly increasing once you start, then you keep playing there (following the idea of playing the most valuable moves at each step) until it’s settled, by the capture of the stones?

I guess what it doesn’t explain is why you’d pick to start with B over A, if the value seems smaller. Maybe it’s something to do with the infinitesimals over the fractional parts of the moves being more important?

There’s an example wrong sequence in the book for black that looks like this (Figure 1.4 (a) )

I guess if you were to count the move values, using the ones you provided above

W: 1.0625 + 1.125 + 1.25 + 1.0625 + 2 = 6.5

B: 1.25 + 1.25 + 1.5 + 1.5 = 5.5

So white actually played one point better in the end when they got the last move, even though each black move was actually point for point better during the sequence.

Does that make sense? I think White does actually win by 1 point, as the book claims, and it does mention that getting the last move is key :slight_smile: Here it’s White 15 to Black 14 I think.

@shinuito @Jon_Ko The fractional parts of all moves there are 0, i.e. all of those pushes (except for the last one that actually connects/captures the stones finally) are worth exactly 1 point plus or minus some infinitesimals, under the valuation of moves that is relevant to the CGT theory here.

Finite-sized fractional parts are always bigger than infinitesimals, it’s just that there aren’t any finite fractional parts here.

So I’ve done the calculation for the move values (and expected territories for black), just by ignoring sente:

You can’t ignore sente. Let’s see how to correct it to take into account sente, in the way we need to in order to compute the correct finite part of the values.

Also, did you flip the colors? It’s white that has the expected territories around coordinates C1, D1, E1,… not black. So first let’s rewrite:

C1: B6, W0 - ET3 - MV3
D1: B7, W3 - ET5 - MV2

into

C1: W6, B0 - ET3 - MV3
D1: W7, B3 - ET5 - MV2

and say that these are values for white, not black, e.g. W6, B0 is white has 6 points playing first, black has 0.

Then:

C1: W6, B0 - ET3 - MV3

Yes.

D1: W7, B3 - ET5 - MV2

No, the “ET” cannot be 5 here because white has a simple strategy to guarantee 6 - if white commits to always respond to black’s push, then white achieves at least 6.
So instead this is the correct way to label this move (ignoring infinitesimals):

D1: W7, B6 - ET6 - MV1

In general, you start off by computing “ET” by averaging, like you’ve done. Then, you check if the opponent can get a better score than the tentative “ET” by committing to respond one or more times. If they can, then we call the move that makes the opponent want to respond a “local sente”, and we say “oops averaging was wrong” and instead the ET is the better value that the player an guarantee by committing to respond instead. The value per move invested “MV” is still the difference between the “ET” and the player whose move is gote. (Also, making a point of calling it a value per move invested is a good way to keep the concept straight in one’s head - e.g. Black’s move is locally sente so when they play it and the opponent does best by immediately responding, it’s Black’s turn again. Since it’s still Black’s turn, Black hasn’t net invested anything. So it’s totally fine that the “B6” does not differ from the “ET” by the “MV”, because the “MV” is the value per move invested.).

We haven’t addressed how you determine what the infnitesimals are here, and I won’t cover that here because while I understand the theory, I don’t understand it well enough to re-teach it very well :slight_smile: . So for that you’ll need to read the book more.

4 Likes

Thanks for taking the time to go through that :slight_smile: So then if one was to try to correct the above values, presumably one goes on to average the positions using the sente value being carried through at some point.

So would it be

C1: W6, B0 - ET3 - MV3
D1: W7, B6 - ET6 - MV1
E1: W8, B6 - ET7 - MV1
F1: W9, B7 - ET8 - MV1

M1: W4, B0 - ET2 - MV2
L1: W5, B4 - ET4 - MV1
K1: W6, B4 - ET5 - MV1
J1: W7, B5 - ET6 - MV1
H1: W8, B6 - ET7 - MV1

? Since that seems to have no fractional parts as you mentioned.

One thing though, would be that in the global evaluations, it’s not always the case that L1 or D1 are actually sente.

Like if the game is played out like

which up to some numbering difference (because I didn’t number 1 and 2) is figure 1.5 of the book. Move 13 might seem to be locally sente but globally it isn’t because 14 is actually sente for black.

In some other move orders, the sente move never even gets closed to being played either.

So it’s seems a bit tricky to understand how or when to apply such calculations for sente or not.

I guess one could try to correct this then also, but with every move worth 1 point, and White taking one extra move again being just worth 1 point, hence being one point more.

Maybe it’s just coincidence that the gote values also added up to one point more for white?

1 Like

Yep, those values look correct to me now.

And yes, a move might not be globally sente given a board position, which is why I called them “locally” sente. It turns out that (if there is no possibility of ko) you don’t need need to consider anything global to determine the CGT value of a move. Stuff like local senteness (and more complex branching and nestings of it) are sufficient to determine the finite part of the value, any infinitesimals, as well as any “fuzzy”/hot quantities.

Then, once you understand those quantities and how to do arithmetic on them (which indeed behaves differently than normal arithmetic in many cases), global optimal play can be derived from the arithmetic on them.

It’s not a coincidence that doing it with the fractional values added up to one point more. In general if you take ANY branching tree of moves where you’ve “anchored” the tree at the correct final scores for the actual terminal positions, and fix any particular sequence of moves, you can assign any values you like to all nodes above those terminal positions, and then say that moves in a given sequence are “worth” the differences between the values of the nodes they lead between, and because the game always has to get to a terminal position, by the time you do so the differences will always cancel out.

But as I understand it, there’s only one way to assign values that work with the rest of the CGT theory properly. The fact that there are other ways that make the differences cancel out doesn’t mean they will work with the rest of the theory to be able to compare and determine optimal plays.

2 Likes

Why? (Edit: Oops, you already gave some explanations) That’s what I don’t know yet. But maybe I should get myself a book before joining the book club :sweat_smile:.

1 Like

So as in, I fix an endgame sequence like

I make sure that the terminal positions have the right values at the end, but I’m free to assign whatever values all the way up in the tree, which in the above are numbers A through J.

Then I do the same computation:

W: (A-B)+(B-C)+(D-E)+(J-8)+(I-7) = A-C+D-E+I+J-15
B: (G-H)+(C-6)+(E-8)+(H-I) = C+G+E - I -14

It doesn’t quite feel like it works. The difference between white and black here is 1 point and a bunch of random choices between the nodes at the top, like A, D, G and J all only appear once and can’t cancel out.

So maybe I’m not interpreting it exactly correctly. Maybe you mean it should all be part of one tree? The thing is the calculations are all being done independently, though technically two are direct copies of each other. So maybe I need to enforce some equalities like J-8=A-B in absolute value? Though that wouldn’t be the case for the sente calculations, since the tree gets a bit strange, where the sente move is kind of worth “nothing” since it’s the expected outcome, playing it isn’t the difference between the EVs.


If it was all part of the one move tree, I might understand kind of. One plays (A-B), then the next player has to play (B-C) and so on, and everything bar the A and the final value cancels out, since the players play in an alternating sequence. Probably being slightly sloppy with some minus signs.

1 Like

So move trees and values are still a bit confusing, but I suppose we can try get a handle on this “chilling” idea, or at least get some ideas down.

They say in 2.2 that they effectively “tax away” some integer number of points in the position so that the move values are close to zero. The motivation was that in a lot of the corridor positions the values of moves are close to 1 point, so they focus on the differences to the nearest point I guess.

It says for the moment, just accept the methodology even though it’s not very well motivated as it will be useful later.

So it then talks about playing the “chilled game”.

If you jump ahead to chapter 3, the motivation seems to be that Go is a game about gaining as many points as you can, while Combinatorial Game theory is about playing the last move. Then chilling is supposed to turn Go endgame into a “tepid” game where combinatorial game theory applies and has been used successfully.

It’s mentioned on page 18, that there’s no real rule on how to do the markings but just some way to normalise the position near zero.


So…

I think you take a position, tax away a certain number of points and mark this in the position. Then every move by either player has to add a marking, or remove an opponents marking from the area they play in.

It looks like say when you have a position like:

you chill and mark it in some way (I would think since
black is making between 2-3 points, you add two markings to normalise near zero.)

image

So in the above it seems like it matches pg18’s example of a similar looking position.

I think the markings are kind of keeping track of the tax, so playing a move costs a point. Meaning of black plays it goes to

and if white plays it goes to

The actual scores in these positions in the chilled game should be something like the points you get minus the tax of the markings. So when black gets three points but has three markings they get a net of zero.


I think that’s how some of the examples work also - so maybe we can look at a couple of those?

Without chilling the example above shows how to write the unsettled position in CGT notation. You write the options for BLack (L for left) in the left side of some set brackets, and White’s (right) options in the right side. In this case Black can make two points, and White can turn it to zero so the unsettled position is {2|0}. This is probably a fuzzy number where the first player can win, so while it has mean 1 and temperature 1, it isn’t the number 1.

The number 1

Actually the number 1 can be written in a number of ways like {0|2}. Typically numbers have all the left options lower than all the right options. When it represents a number you can kind of think of the left options as lower bounds for a number, and the right as upper bounds, and there’s a simplicity theorem that tells you, when it’s a number it’s the simplest number that fits in that interval (we can come back to that if it’s relevant).

In the chilled game you tax away one point, and if Black plays they need to add an additional black marking, while if white plays, they remove a black marking:

So then, I think, when evaluating the position, you kind of see the markings as a tax or a penalty on points. When black captures 1 stone for two points, they have two markings, so it’s a net of 0. When white saves the one stone, they remove a marking, and so again the local score is zero.

The position is written {0|0}=*, which is the value * we mentioned before for dame. I think the idea is that in this chilled game, it being tepid, is that players aren’t really incentivised to make moves like this until there’s really not too many other moves left. You’re just trying to avoid running out of moves, and a move like * here or a dame in Go, you really only want to play when there’s nothing else left to do (except special circumstances with ko in Chinese rules).


There’s a comment about a chilled dame being worth 0, “because the tax is so great”, but I think one would have to read the rules of the chilled game properly. If it was playable and it gave you a -1 due to the marking, you have to know what that means. Maybe it’s simply an illegal move in the chilled game. 0 is kind of like no move available in some situations, in others it’s just a second player win.


The next example is where the players can both make a point, but also leave a dame behind:

image

In the normal game, Black can play and make one point, or white can play and make one point, and there’s always a dame left. So the position is {1*|-1*}, where 1 means a point for black and -1 is a point for white, * is the dame value in area rules, and 1* is a shorthand for 1+*.

When the game is chilled, no markings are added, but when the player captures a point they also add a marking which cancels out the point, and chilled dame are worth zero. So in the chilled game again this is {0|0}=*.


Then it introduces a positive infinitesmal called up ↑. It’s negative is down ↓. ↑ is defined to be {0|*}, where black can move to a 0 position (where there’s no moves left or it’s a second player win) and White can only turn the position into a * (like one move left or a first player win). So the advantage is to Black, which is why it is a positive number. It shows up in another corridor like position in the chilled game

An aside on ↑

I actually came across ↑ in another combinatorial game I like to play by designer Mark Steere. The game is called Hadron.

The rules are fairly simple, if you can’t play you lose. You can only place your colour on an empty space when there is an equal number of neighbours of both colours. So 0 neighbours, 1 red and 1 blue or 2 red and 2 blue. In the top left corner, if blue plays there’s no more legal moves there so that’s a 0. If red plays, now the corner square is a legal move because it will have 1 red and 1 blue neighbour. That single square is like a dame in go so it’s also worth *. That means the game in the top left is {0|*}=↑. It turns out corridors like these in hadron are kind of multiples of ↑, so it almost feels like a fundamental unit in some sense :slight_smile: You can also prove that because both players always have the same set of moves available to them at all times, that the only values in this game are all infinitesmal :smiley:

This corridor is {0|↑}= ⇑* or ↑+↑+* (double up star)

The longer corridors then I believe alternate having and not having a *, and also they’re integer multiples of ↑.

Then maybe we can look at the game in 2.7 in a separate post, assuming the above knowledge in some sense.

For Figure 2.7 there’s a game where it’s White to move and win, and it asks to calculate all the values of moves

I think if we were just going to calculate without infinitesmals, I would think something like

kind of using the corridor methods, and the sente methods for game trees we were half working out (treat E and A as a local sente, and threating to save the f1 stone as local sente).

So the black estimates add to say 11.5 and the white to say around 11.5 also.

Now I think to play the chilled game we need to mark the positions, and I think the estimates help do that. I think that means we should and can mark 11 points for each in the respective areas to tax away those integer points like so:

which seems to be fairly close to what is shown in figure 2.9 for the markings. Then I think we can try calculate chilled values.

a) is ↓ from the previous post (if white plays it’s 0 in the chilled game, 3 points minus 3 points tax), and if black plays it turns into *, so {*|0}= ↓.

b) It seems like it’s just 1/2? The only way I could reason it in the chilled game would be if black moves, it’s worth zero (territory is cancelled by the marking), but if white tries to move then they pick up a marking which is like -1? So maybe that would be 1 point to black. If so it would make the position {0|1}=1/2 which actually is the value 1/2 believe it or not. The “simplest” number between 0 and 1 is 1/2.

c) If black plays it’s 0, if white also zero, so this is just *.

d) I think if black plays it moves to -1/2, because they remove one white mark and then it’s the unmarked corridor from (b) except now it’s white so a minus sign. If white plays they move it to 0. So that would be {-1/2|0}=-1/4 and that genuinely is the number -1/4 in CGT also.

e) If white plays it’s 0, if Black plays it moves to a three space area with one mark. I might need a tree for this one:

It looks like it’s also worth down, like (a), which agrees with the book.

f) If white plays 0, if black plays it’s the 1/2 corridor for white so it’s -1/4 again.

g) looks more complicated. If Black plays 0, if white plays… tree time again I guess.

So it turns out it’s worth double up *, or ⇑* which is also ↑+↑+*, and I mentioned it in a tiny section in the last post.

h) is the same as (c) so it’s also *.

So that’s the whole position.

You can add it all up, to get

1/2 - 1/4 - 1/4 + ↓ + ↓ + ⇑* + * + * = *

because ⇑*= ↑+↑+*, ↑=-↓ and * + *=0.

So the whole position has an infinitesmal of * which is a first player or next player win. Meaning that if White can play first they can win, which is what the problem says.

So given that apparently you should play on something worth * to win so c or h. That leaves the total at 0 for the rest of the board which is supposed to be a second player win in the chilled game. Then I guess that rounds to one point somehow in the actual go game.

It say the best move is actually to play G on ⇑* which is kind of blacks advantage, since ⇑>* meaning ⇑*>0. In the game tree when white plays it turns that into just an ↑, which is still and advantage to black but smaller. overall it removes a ↑* by playing (the difference in the positions from the tree), and so I think it turns the whole board positions value to a ↓ which favours white no matter who moves first.

There’s some interesting comments about how playing on any of the numbers is terrible.

It’d be interesting again to understand how the rounding of infinitesimals works. There was some earlier comments of:

If the game totals to 5* or 5+1/4*? Apparently 5+1/4* rounds the same way as 5+1/4 - whatever that is. A game of 5* though if black moves first they win by 6, but if white moves first only 5. If the game was just 5, with no infinitesmals, then it wouldn’t matter who went first, it would just end with B+5.

If a game has value 3↑* then Black can win by either 4 or 2 points. If the game had value 3↑ or 3⇑* then Black can win by 4 or 3 points, as ↑ and ⇑* both exceed zero.


Hopefully there’s more examples of that kind of thing later. Probably this post is a lot to take in, if you haven’t looked at these infinitesmal numbers before, the CGT notation etc. I can try explain it more in another post also.


Edit - maybe a sample playout of the endgame with katago, W+1 in area scoring.

1 Like

After that example the book goes on to explain the previous examples:

So maybe we can try understand the values there, and then maybe even martin’s examples, given the previous two posts.

I did the same kinds of marking for the chilled game, this time 11 points each.

a) was the same as (c) from the last game so it’s *.

b) is the same as (a) of the previous game so it’s ↓

So then the value of the position in the chilled game is ↓* or ↓+*, and so if White moves to take * then they can win.

Again I’m 100% sure on how the score intereacts with the infinitesimals and rounding. I might have to get further into the book to get a better feeling for that one. I can guess maybe that the score is 0+↓ after white’s move, and then that rounds to -1? or white winning by 1.

Again in this game I marked the territory for the chilled game. The two values A and B are the same as the previous game but C maybe needs to be calculated.

c) If black moves, they gain a point but also a marking so that’s 0. If white moves, they gain a prisoner which I guess is cancelled out by the marking they have to add, and then I guess there’s just two dame left, one for white (connect the ko shape), one for black to connect the groups. I guess maybe the connection for white is sente, but yeah maybe the value is just {0|0}=*. The book does seem to suggest that it is * so this would be my understanding of that value.

So then the whole board in the chilled game sums to * + * + ↓ = ↓, because * is it’s own negative. So if white plays they can “round” ↓ to their favour. So when white plays (b) they move both the local position (↓) and the global position to a value of 0, and that should be the winning move.

That said again, I need to read more to understand how the chilled game values get rounded to affect the result of the normal game by one point, but still maybe understanding these figures is a good start.


I think in order to attempt @martin3141’s examples, one probably needs the section 2.5 on tinies and minies, because there’s large numbers of stones to be captured or saved.

I start to run into things like {3|-3}=±3 for the area in the top at F1, and the bottom I’m evaluating as the mess {4|{0|-2}} in one of the positions. The first value seems to have mean 0, but the second one doesn’t, so maybe one needs to mark it differently and learn properly the ideas involved in chilling and marking.

But to be fair, I still need to learn how to count those positions properly without infinitesmals :smiley:

Section 2.6 just seems to be fairly hard to read in isolation and it does say “the reader should not feel obliged to understand the method yet”.

So maybe that’s a good point to just give up on Chapter 2 for the moment, put a pin in Martins positions, at least with respect to the infinitesimals, and then read Ch 3 about chilling?

I’m going to suggest taking this a lot slower, doing things in a logical order, and getting really confident with each topic before moving onto the next. Starting with:

Combinatorial games in general (Section 3.5 - 3.5.3)

I was going to summarize the chapter but really everyone should just read it, or read Winning Ways, and share what they are comfortable with. I will note that I discovered some useful Unicode symbols.
Two are even explicitly referenced as “Symbols used in game theory” in the Unicode standard!

     ≹ ⧾ ⧿

I’ll also add in the kinds of arrows @shinuito was using for reference:

     ↑ ↓ ⇑ ⇓ ⤊ ⤋

Definitions of the infinitesimals:

* = {0|0}
↑ = {0|*}
↓ = {*|0}
⇑ = ↑+↑
⤊ = ↑+↑+↑
G = { 0 | {0|-G} }, also written as {0 || 0 | -G}
⧿G = { G | 0 || 0 }

I think this is worth clearing up. After re-reading the section a bit, my understanding is that usually we are talking about equivalence classes of games (G = H for all members of the class), since equivalent games have the same result and can be substituted for each other in all situations. So when we say “it’s a zero game”, we just mean that the second player wins and it doesn’t matter how.

This is a fun exercise. The point is to justify the notation by proving {0|1} + {0|1} = 1. And the way you do that kind of thing is by showing that {0|1} + {0|1} - 1 is a zero game; the second player wins.

So maybe we should talk about this some more.

If we are at G = * for example, Black can move to 0, which is the same as what Black would be able to do from G = 1. Effectively Black “rounded” it up to 1. Similarly, White playing on * would “round” it down to -1.

With 1/2 = {0|1}, Black “rounds” to 1 and White “rounds” to 0.

Is that something specific from the book?

Maybe a good way to think of it is to consider games related to G = 5 + 1/4 + *. Suppose for now Black is playing first. Black can then win G - 5 and White will win G - 6. These are the same outcomes as for a game G = 6, so it’s like Black rounded the score up to 6.

Similarly, if White plays first, you get the same outcomes as for a game G = 5, so it’s like White rounds it down to 5. The outcomes are actually the same as when Black plays first! But that is not the case for integer games, which is why the equivalent values are 5 or 6 depending on who goes first.

I hope I did that right…does it help? Anything else we should review?

Personally, in this section, I have been most confused by the “reversing reversible options” concept, which is ironic since supposedly Go players know it intuitively. I think I’m getting more comfortable with it now though.

Once we’re comfortable with games in general, I think we could move on to discussing Go as a game, cooling, and chilling.

2 Likes
My own posts so far

I guess one issue is that the logical order involves reading from Chapter 3 first? :laughing:

I guess I was just summarising some ideas of what I can kind of understand in order, and highlighting some things that still confuse me.

There’s no real rush on anyone to understand everything, but if having additional notes or examples written down for someone helps them make it through a section, when otherwise it would be daunting or impossible to read it, then it feels worth having them there. It can be read at anyone’s individual pace that they’re comfortable with.


For me for instance, almost none of what I’ve written down in the previous posts would’ve made sense to me the first time I looked at the book a couple of years ago.

But I have tried to write it in a manner that while it might not make sense right away, hopefully one can see what’s supposed to be happening if using it alongside the books text.


The problem with working individually

I guess one issue is that, making the prerequisite to reading a chapter be essentially reading another book is probably not going to be the way to encourage people to be involved :stuck_out_tongue:

Maybe it’d take six months to read Winnings ways, or even Chapter 3 to a point where I’m “comfortable” with it, but with some summary of cliff notes, one could get up to speed in a sense much faster.

It’s kind of like if picked the topic of a lecture course to self study, it might take you a while to understand everything by yourself. However with a lecturer or tutor or whoever that can strip out the main points and examples, you can keep moving along faster, and still whenever you have time you can pick other examples to test your understanding etc :slight_smile:



Some more specifics:

Equivalence classes of games

This equivalence class of games is probably one of the single biggest headaches I’ve seen, and I’m not even sure how cleared up it can be. The notation is confusing, the notion of the game vs its value, the idea of playing games to figure out their value - all honestly quite a big headache to take in.

The best explanation I’ve seen, is possibly from Siegels Combinatorial Game Theory, where he says you have four outcomes of a Short Combinatorial game (short being no loops and only a finite number of future positions/options):

N - next player win (like * and other things)
P - previous player win ( like 0)
L - left player wins no matter who goes first
R - right player wins no matter who goes first.

He says o(G), the outcome of a short game G is precisely one the above outcomes.

Then defines an equivalence relation G=H iff o(G+X)=o(H+X) for all short games X.

I guess the point is, that while different games will have different numbers of moves available to a player, there’s something inherent in them that makes them the same. Some options are just always bad, no matter how they show up in the respective game, and so the extra freedom isn’t enough to really distinguish the game from another without those options.

But I don’t know that adding a lot of rigour, will help the generic reader feel any more comfortable with Berlekamp’s book specifically.

Generally then without the rigour, it’s about as good as saying 0 is a second player win, regardless of the specifics, and adding 0 to any positions doesn’t change the outcome.

My issues with understanding rounding

In the usual sense, I don’t think of Black playing a move from * or 1 as being like rounding. In normal combinatorial games it’s just taking a move and being able to take a move is also preventing losing by one more move. Or if you want it’s like spending a point of territory, if you had to fill in your territory in Go say. Or for example in amazons, if you have a value of 1, typically you have space where only you can move and you spend that territory when you turn it to zero.

I’m sure there’s weirder positions and representations of the game 1 but at least for intuition this is what I think of. The game G=1 is a one move advantage for Black.

I see * as a position where either player has the advantage of going first to spend or cash in on the last move. It could be a dame in Go, a contested single space between two amazons in amazons, the last move in Hadron which either player can play to end the game etc.

At least when the values are numbers I can’t really picture it like rounding. Maybe for star - I can kind of think of maybe one case.

Specifically what I mean is, if a position is 5+*, I would think of that as meaning in terms of settled territory, black probably has 5 more points than white, but there’s some unsettled regions adding up to *. The simplest case there’s just one region like a dame left in Chinese rules, where if black plays they “round” * to make the position 6 points for Black, but if white plays they “round” the position down to 4 points to Black. So Black wins by 6 or 4.

What I’m very unclear about though is: if the position could be estimated to be B+5, without know anything about infinitesimals, and then you mess about with the chilled game and get * as the value, what does that mean for the whole game? It’s probably not the same as the “rounding” I was describing above is it? Is the position 5+*? Probably not to both. I guess it’s more like 5+ ∫* like you mentioned in a previous post. I think I read ∫* was {1|-1} in Chapter 4. But basically I don’t know how it all fits together, the comments about rounding, chilling, warming and winning by one point because of the infinitesimals.

Essentially, I think I would need to read chapters 3 and 4 probably before I’m comfortable with this stuff :smiley:

Yes, this whole business of rounding is on page 18 and 19 in section 2.4 on ups downs and stars. It’s as vague as anything else for the moment, but probably it becomes clear when you understand it.


Long post short, if you wanted to summarise Ch 3, I would welcome it.

If you don’t I might do it in stages as I become comfortable with it :slight_smile:

And I appreciate that even if it looks like we’re going fast, it hopefully gives people different things where they can find something they can contribute to and it keeps them interested.

@Jon_Ko was able to say here’s a bunch of gote values for these positions, can we ignore sente, and what happens with the gote values?

I don’t know myself, but then @hexahedron is able to come in to help clear some things up because they know about it.

@martin3141 is able to come in and ask questions about specific counting problems, or contribute their owns ones, which again, maybe I can’t answer it, but someone else might be able to come along and help too :slight_smile:

You yourself @Feijoa are able to come along and highlight things that don’t look right or emphasise some things in the previous posts that are worthwhile knowing about etc.

I think it’s all good - maybe it’s hard to digest everything but it’s not disappearing or going anywhere hopefully :slight_smile:

We could also make a second thread if we really want to, and only put things in that are correct, and that are in a logical order (but that depends on your use case, understand just the Berlekamp book? Understand CGT generally? Understand CGT as it applies to Go? Understand how pros calculate in Go and why that even works as well as it does? Etc)

Perhaps you knew already, but Senseis had quite a bit of content on CGT: CGT path at Sensei's Library

1 Like

Nope, but I appreciate the link :slight_smile:

I’ll have a look through it and see if anything jumps out as useful to me :smiley:

I do have a few books on it, and I have that CGSuite installed, although it’s a bit of a mess to code in if you happen to want to play and calculate games that aren’t already coded into it.

Probably you are right that the logical order, probably isn’t the order that the book is written in. Maybe Chapter 3 should’ve been Chapter 1. Maybe 4 should be 2 or maybe it should jump back to 1 or 2, who knows really.

I find generally that a lot of CGT books don’t feel like they’re in a very logical order. They can either go too heavy into theory, too heavy into just pure definitions and calculations, or they can just go completely tangentially into tonnes of games and rules that you probably don’t care about or will forget. Whichever angle and book you come at it from, it’s almost like it’s designed to sidetrack or disincentise you from whatever brought you there in the first place :smiley:

1 Like

I think it’s more or less describing the idea of sente, or local sente at least when applied to Go.

So it says, if black plays a move and white has a response that they prefer to the original position, then you can replace blacks option by blacks options in the reversed position.

If you go back to one of the old posts earlier:

What does it mean for white A to be sente? Well one of the definitions was that Black can respond without taking a loss. The position expects Black to get 2 points, and if black answers white they get a minimum of two points.

However if you also look at that move tree, black can and should always respond to white’s move, as it’s at least as good as the initial position.

If you look at a bigger clump of stones threatened to be saved:

White has an option whereby black actually prefers the value assigned to the move after whites move than the original position. So black will always reply with this move (assuming it’s the biggest move). Then you replace whites option with whites options in the reversed position. Although in this case it’s terminal, so I think that might be why in calculating sente moves they basically carry the score from the preferred outcome back up the tree.

So in this second tree, rather than writing

{9|| 8|0}

black always prefers the 8, so you just replace the {8|0} with 8.

and you get

{9|8}

which is kind of like what happens with a sente move calculation I believe.

What do you think?

(I mean it might not actually be the game {9|8}, maybe that behaves differently to {9 || 8|0 }, but it feels like the idea. I might need to reread the definitions a few more times)

Well {9|4} is not 6.5 so I’m not sure about that whole diagram. And if it’s just supposed to show some intuitive idea, I don’t know how you can be sure Black wouldn’t prefer some other unmentioned move to the 8. Especially if this game gets combined with others.

1 Like

Well that’s true, but it’s mean value is 6.5.

I guess that’s actually also true, it probably doesn’t work for all games it could be combined with.


It could be that this is the difference between being a local sente and a global sente though?

There’s some examples of that like showing {-1,*|↓}=-1/2.

Also I think you can use it to show that {1|0} + {1|0} = 1 in section 3.5. Though that’s a messy calculation I find. Maybe there’s a shortcut?

{1|0}+{1|0}

(skipping all the proofs of the >=, which is where some of the length is)

{1|0}+{1|0} = 1+{1|0} || 1|0

1+{1|0} = {2, {1|0} | 1}, but 2>= {1|0} so this is {2|1} by the dominated options.

So then you get

G = {1|0}+{1|0} = 2|1 || 1|0

then you can show that 1>=G to make the right option reversible through one, and replace it by 1’s right option which can be {}, so then

G = {1|0}+{1|0} = 2|1 ||

Then show that 1<=G so that the left option is reversible through 1 to be replace with it’s left option of 0

and you get G = {1|0}+{1|0} = {0 | } = 1.

Although maybe from the start you can also just try both G<=1 and G>=1 since combined that would be G=1 :smiley: