Temperature

Cooling by exactly one

Cooling is usually met as a way of reading a thermograph: a tax, and two numbers at the height of the tax. Applied as an operator it returns a position instead — and then the obvious question is whether heating gives the position back. Over the 1,474 values born by day three, 27 survive the round trip and 15 of those are numbers that never moved. Cooling throws away almost everything it touches.

Assumes: Cooling · Reading a thermograph

Cooling arrives on this site as a way of reading a diagram. Charge a tax of tt on every move, ask what each player gets, and the two answers are the two walls of the thermograph at height tt. The tax is a dial; the diagram is what the dial produces.

But cooling is an operator, not a reading. GtG_t is a game — the position with every move taxed, all the way down the tree — and holding on to that game rather than to its two scores is what the Go and Domineering literature does under the name chilling, which is cooling by exactly one.

Cooling by 1, and heating back. Each row is a position, its temperature, what it becomes when every move is taxed, and what comes back when the tax is refunded. The refund is not an inverse: a position whose temperature was below the tax has already frozen into a number, and heating a number does nothing at all.
Fig. 1 Six positions taxed one unit a move. {40}\{4 \mid 0\}, whose temperature is 2, becomes the smaller fight {31}\{3 \mid 1\}; {20}\{2 \mid 0\}, whose temperature is exactly 1, becomes 11\ast — the mean with a star on it; and {10}\{1 \mid 0\}, \ast and \uparrow, all of whose temperatures are below 1, freeze into their means. The last column heats each result by the same amount and asks for the original back. Three of the six come back.

The definition, and the case at the boundary

Three clauses, and the third is the one worth watching.

Gt={Gif G is a numbermean(G)if t>temperature(G){GtLtGtR+t}otherwiseG_t = \begin{cases} G & \text{if } G \text{ is a number} \\ \text{mean}(G) & \text{if } t > \text{temperature}(G) \\ \{\, G^L_t - t \mid G^R_t + t \,\} & \text{otherwise} \end{cases}

A number has nothing to tax: whoever moves in it is already committed, and the arithmetic does not change. Above the temperature the position has frozen — both players have stopped wanting to move — and it is worth its mean value exactly.

Between those two, each option is cooled and then charged the tax. And at exactly the temperature the recursion still applies, which is where the star comes from: {20}\{2 \mid 0\} has temperature 1, and cooling it by 1 gives {210+1}={11}\{2 - 1 \mid 0 + 1\} = \{1 \mid 1\}, which is 11\ast and not 11. The mean with an infinitesimal hung on it.

That star is not a rounding artefact. It is the residue of a fight that has just stopped being worth having, and it is precisely why the operator used in Go endgame analysis carries an explicit convention about stars rather than being plain division by a temperature.

Cooling {3 | −1}, one degree at a time. The same position under a rising tax on moving. Each bar is what Left gets moving first and what Right gets moving first, once every move costs the tax. The bars close as the tax rises, and at the temperature they meet — and from there on the position is worth its mean value and neither player wants to touch it.
Fig. 2 The same operation as a dial rather than as a table. {31}\{3 \mid -1\} has a mean of 1 and a temperature of 2, so the two scores close as the tax rises and meet at 2. Cooling by exactly 1 takes this position to {20}\{2 \mid 0\} — a fight half as large, still a fight — and cooling by anything past 2 gives the plain number 1.

Three regimes, and which positions are in which

A fixed tax sorts the positions into three groups, and the sorting is what makes the operator useful and what makes it lossy.

Numbers pass through unchanged. There is nothing in a number to tax: whoever moves in it is already committed to an amount, and taxing a move that gains nothing changes nothing. Fifteen of the 1,474 day-three values are numbers.

Positions colder than the tax freeze. Their temperature is below 1, so a tax of 1 is past the height at which they stopped being worth moving in, and they collapse to their mean values. That is 1,238 of the 1,474 — five sixths of the day. A single tax of one is a blunt instrument at day three because day three is mostly cold.

Positions hotter than the tax shrink. {40}\{4 \mid 0\} becomes {31}\{3 \mid 1\}: the same fight with a point taken off each side, still a fight, still worth moving in. Sixty-one values are strictly hotter than 1 and 160 sit exactly at it.

The three regimes are the reason a fixed tax is a choice. Cooling by 1 is right for a game whose typical fight is worth about a move, and every Domineering and Go endgame this site has drawn is such a game — which is why the operator exists at that setting and not at another.

What it does to a catalogue

Domineering is the natural place to point the operator, because its small boards carry values of every kind: integers, fractions, switches and forms with no name.

Domineering boards cooled by 1. Small Domineering boards with their values, their temperatures and what they become when every move is taxed by one. A board whose temperature is below the tax freezes into its mean; a board at exactly the tax keeps a star; and the boards that end up smaller than every positive number are the ones the Go literature's chilling operator was built to produce.
Fig. 3 Five boards, cooled by one. The 2×22\times2 and the 3×33\times3 are both worth ±1\pm 1, and both cool to exactly \ast — two boards of different sizes with the same value, taxed into the same infinitesimal. The 2×32\times3 board has temperature 54\tfrac54, so a tax of one leaves it a fight; the 2×42\times4 board has temperature 0 and freezes into nothing at all.

The ±1\pm 1 boards are the case the operator was built for. A position worth ±1\pm 1 is a fight over one point: whoever moves takes it. Taxing every move by one removes exactly that fight and leaves \ast — a position where the points are settled and the move still matters. Everything about who is ahead has been divided out, and what remains is the question of who runs out first, which is what atomic weight measures.

That is the whole idea behind chilling as a tool: a Go or Domineering endgame is a sum of local fights, most of them worth about the same, and taxing away the common part turns a question about points into a question about tempo.

Small Domineering boards and what they are worth. Every value here was computed from the moves rather than looked up. Even on boards this small the values are switches and infinitesimals rather than numbers, which is the ordinary situation for a partizan game and the reason the theory needs more than arithmetic.
Fig. 4 The same boards with their temperatures, which are what decide the outcome of the cooling. Two of them sit at exactly 1, two above it and one below — and the three cases behave completely differently under the same tax. A catalogue like this is what makes a fixed tax a reasonable thing to charge: most small Domineering fights are worth about one move.

The star at the boundary

The third clause of the definition is the one that produces the operator’s signature, and it deserves its own look.

At tt strictly below the temperature the recursion produces a fight. At tt strictly above it the position is the mean. At tt exactly the temperature the recursion still applies and it produces the mean with a star: {20}\{2 \mid 0\} cooled by 1 is {11}\{1 \mid 1\}, which is 11\ast.

That is not an artefact of writing {11}\{1 \mid 1\} rather than 11. The two are different games: 11\ast is confused with 11, a player moving in it goes to 11 and the opponent then has nothing, and no amount of rearrangement makes it a number. The recursion produced it and the naming routine reports it.

The Domineering catalogue shows the same thing from the board. The 2×22\times2 and 3×33\times3 boards are both worth ±1\pm 1, both have temperature exactly 1, and both cool to exactly \ast — the mean is zero and the star is what survives. Two boards of different sizes, taxed into the same infinitesimal, which is the operator doing precisely what it was built for: dividing out the part of a fight that is about points and leaving the part that is about tempo.

Heating does not undo it

Cooling has an obvious candidate for an inverse. Heating by tt hands the tax back:

Gt={GL,t+tGR,tt},with a number left alone.G^t = \{\, G^{L,t} + t \mid G^{R,t} - t \,\}, \qquad \text{with a number left alone.}

For {20}\{2 \mid 0\} the round trip works: cooling gives 11\ast, and since 11\ast is not a number, heating it applies the recursion and returns {20}\{2 \mid 0\} exactly. For \ast it does not: cooling freezes \ast into 00, heating leaves 00 alone, and the star is gone for ever.

The question is which of those two is typical, and it is not the first.

Cooling by 1 and heating back, over every value born by day three. Each band is a range of temperatures, with how many values fall in it and how many survive being cooled and then heated by the same amount. Cooling freezes everything below the tax into its mean value, and heating leaves a number alone — so almost nothing comes back, and what does is mostly what never moved.
Fig. 5 Every value born by day three, banded by temperature, with how many survive being cooled and then heated by one. 27 of 1,474 come back, and 15 of those are numbers — which cooling never touched. Of the 1,459 positions the operator actually changed, 12 survive. The two bands that lose everything are the ones below the tax: 337 positions of temperature exactly zero and 901 between zero and one.

Two separate losses are visible in that table.

Below the tax, everything is lost, and the reason is stated in the definition: those positions freeze into their means, a mean is a number, and heating a number does nothing. 1,238 of the 1,474 values are in this band. Cooling by one is a very blunt instrument at day three, because most values born by day three are cold.

Above the tax, most positions are still lost, and this one is less obvious. Of the 61 values with temperature above 1, five come back. {12}\{1\ast \mid -2\} cools to {01}\{0 \mid -1\} and heats back to {12}\{1 \mid -2\} — the star inside the Left option was frozen away at a level of the tree where the tax had already exceeded the local temperature, and the refund cannot know it was ever there.

Cooling by 1 and heating back, over every value born by day two. Each band is a range of temperatures, with how many values fall in it and how many survive being cooled and then heated by the same amount. Cooling freezes everything below the tax into its mean value, and heating leaves a number alone — so almost nothing comes back, and what does is mostly what never moved.
Fig. 6 The same measurement one day earlier, where every row can be checked by hand. Eight of the 22 values come back and seven of them are numbers; the single survivor that is not a number is {11}\{1 \mid -1\}, whose temperature is exactly 1. Fourteen of the fifteen positions cooling changed do not survive it.

How much is thrown away, counted directly

The round trip measures the loss from one side — how many positions can be recovered — and there is a more direct measurement available, which is how many distinct things are left after the tax.

Cool every one of the 1,474 day-three values by one and count the answers. There are 29.

That is the whole of the operator’s output on a day of the construction: 1,474 values in, 29 out. Nothing about the round trip is needed to see the size of the collapse, and 29 is a much starker number than 27 survivors, because it does not depend on any claim about inverses.

The distribution is as lopsided as the count. 433 of the values cool to zero — that is the single largest class, nearly a third of the day, every one of them a position whose whole content was a fight smaller than the tax. Four more classes hold 177 apiece, at ±14\pm\tfrac14 and ±12\pm\tfrac12: those are the cold positions whose means happen to be quarters and halves, arriving from very different trees and leaving indistinguishable. Star has 62 members and ±1\pm 1\ast have 29 each.

Only three of the 29 classes have a single member, so all but three of the answers are shared. Two of them are the extreme integers ±3\pm 3, which are numbers the operator never touched, and the third is {11}\{1 \mid -1\} — the switch whose temperature is exactly the tax, which is the boundary case the star comes from.

A class with 433 members in it is what “the operator is not injective” looks like at scale. The 2×22\times2 and 3×33\times3 Domineering boards landing on the same star, two sections above, is not a curiosity about two boards; it is one instance of a collapse that is happening everywhere, and the sizes of these classes are the honest measure of what a fixed tax costs.

Why the collapse is this severe here

Two things make the number as small as 29, and only one of them is about the operator.

Day three is mostly cold. Five sixths of its values have a temperature below one, so five sixths of the input freezes to a mean before the tax has done any work at all. The image is then dominated by whatever means those positions have — and day-three means are drawn from a very short list of small dyadic rationals, which is why four classes of 177 appear at ±14\pm\tfrac14 and ±12\pm\tfrac12. Most of the collapse is a collapse of cold positions onto a handful of numbers.

And the hot part is small. Sixty-one values are strictly hotter than the tax and 160 sit exactly at it; between them they supply the star, the two 11\ast classes and the handful of remaining fights. There is simply not much material at day three for a tax of one to leave standing.

So the 29 is a joint fact about the operator and about where it is being pointed, which is the same caution the round-trip census carries and is worth repeating in this form. Point the same tax at a pool of Go endgame regions, where every fight is worth about a move by construction, and the cold band that dominates here is largely absent — the operator would be working on its intended input rather than on a day of the universal construction.

That is the reason to read both measurements together. The round trip says the operator has no inverse worth the name; the fibres say how much it merges, and where; and the temperature bands say that most of the merging on this particular input was decided before the operator was applied.

What is lost, and where it goes

The two losses in the census have different causes and it is worth separating them, because only one of them is about the tax being too large.

Freezing is the obvious one. A position below the tax becomes a number, a number has no structure left, and heating a number does nothing. Everything about the position other than its mean is gone, and no operator applied afterwards can recover it — the information is not hidden, it is absent.

Depth is the subtle one, and it accounts for the failures above the tax. Cooling is recursive: the options are cooled before the tax is applied, and an option whose own temperature was below the tax froze at that level. So a position can be hot at the top, survive the tax there, and still lose an infinitesimal three levels down where the local fight had already cooled out.

{12}\{1\ast \mid -2\} is the example. Its temperature is 32\tfrac32, comfortably above the tax; cooling gives {01}\{0 \mid -1\} and heating that back gives {12}\{1 \mid -2\}. The star inside the Left option is what went missing, at a level of the tree where the tax exceeded what was going on locally, and a refund applied at the top has no way of knowing it was ever there.

That is why the Go literature’s warming operator is not simply heating. It carries a rule about stars precisely to put back what the recursion’s lower levels drop.

What the solver computed, and how

cool(G, t) and heat(G, t) are the two definitions above, written as recursions over the canonical form and memoised nowhere — they are cheap because the trees are small.

Both are new machinery here, and the reason is worth stating: the cooling this collection has had all along returns the two numbers at height tt and nothing else. A pair of numbers cannot be added to anything, compared with anything, or heated back. Every question in this essay needs the cooled game, and none of them could be asked before.

The census runs over the 1,474 values born by day three, obtained by the antichain enumeration described elsewhere. For each, the temperature comes from the thermograph, the round trip is heat(cool(G, 1), 1), and the comparison with GG is a difference game solved by the recursion — not a string comparison of names, which would have counted two spellings of one value as a failure.

Cooling by 2, and heating back. Each row is a position, its temperature, what it becomes when every move is taxed, and what comes back when the tax is refunded. The refund is not an inverse: a position whose temperature was below the tax has already frozen into a number, and heating a number does nothing at all.
Fig. 7 The same operator at a different setting. Cooling by two freezes everything with a temperature below two, so {20}\{2 \mid 0\} — which survived a tax of one — is now a plain 1 and does not come back. The tax is a parameter and the boundary moves with it: what a fixed tax preserves is exactly the fights larger than the tax.

Where the model stops

This is cooling, and chilling is cooling plus a convention. In the Go endgame literature the operator applied to a position is cooling by one with a rule about how stars are treated, so that its inverse — Norton’s warming operator, written \int — recovers the position exactly. This site computes plain cooling and plain heating, and the measurement above is the reason the literature needs the extra clause: without it, the inverse recovers 12 positions in 1,459.

A tax of one is a choice, and the last figure is the evidence: the same six positions at a tax of two sort themselves differently, and one that survived a tax of one does not survive a tax of two. Nothing distinguishes 1 as a temperature except that most small Domineering and Go fights are worth about one move, which is a fact about those games and not about the theory. The last figure shows the same operator at 2 behaving differently on the same positions.

The operator is applied to values, not to boards. Cooling a Domineering position here means cooling the game its board evaluates to, and a reader should not take the figure as showing a taxed game of Domineering — there is no such game with a rulebook, and the tax is an operation on the value.

And cooling does not commute with addition. (G+H)t(G + H)_t is not generally Gt+HtG_t + H_t, for the same reason temperatures do not add: the sum can freeze at a temperature neither part froze at. Every claim here is about a single position; nothing above licenses cooling a board one region at a time.

An operator with a purpose, not a trick

It would be easy to read a census reporting 27 survivors out of 1,474 as a verdict against the operator. It is not, and the reason is what the operator is for.

Chilling is not used to store a position and get it back. It is used to change the question: an endgame of a dozen local fights, each worth about a point, becomes — after a uniform tax of one — a sum of infinitesimals, where the points have cancelled and what remains is a question about tempo that atomic weight answers directly.

Losing information is the point of the operation. What matters is that the right information is lost, uniformly, across every region of the board, so the comparison between regions survives. The census measures how much is thrown away, which is the honest number to have beside a tool whose job is throwing things away.

The one place it becomes a problem is the inverse. A player who chills a board, computes an answer and wants to translate it back into points needs an operator that undoes the tax exactly — and plain heating is not it, on 1,447 of 1,474 values.

Where the ladder goes next

The operator opens two rungs. One is the inverse this essay could not build: the warming operator, its star convention, and the theorem that makes the pair exact rather than merely nearly exact. The other is the use the operator was invented for — taking a whole endgame, chilling every region, and deciding the sum by atomic weight instead of by points, which is a claim about sums that no single position can test.

Part 1 of 3

One argument about Chilling. The parts either side of it:

What links here

Essays that reach for this one mid-argument — the half of a link its own author cannot write down.

What this makes readable

Essays that declare this one a prerequisite.

The objects named here

The third axis, after the field and the series: the games, values and theorems themselves, and every essay that touches each one.

All-smallCanonical formCold gameCoolingDomineeringExhaustive searchGo endgameHot gameInfinitesimalMean valueStar (∗)TemperatureThermograph