In the opening where most stones are disconnected and there is mainly open space, those distances may be meaningful.
But later in the game, longer strings of stones appear that separate different regions of the board and the safety of those strings (eyes, liberties, connectivity) would also play an important role in calculating some kind of distance metric that coincides with the perception of a human player about proximity/relatedness of any pair of board intersections. So I think that computing a meaningful distance metric becomes complicated very quickly. A good one might even require an AI.
Well I was curious so I plotted a few games at different levels
Charts
I calculated the Euclidean distance between each pair of moves, and rounded down to nearest integer to make these histograms. All games went to counting.
A randomly picked DDK game: (~15k)
A randomly picked SDK game: (~5k)
One of my games:
A KataGo game:
They all look quite similar honestly, but at least this shows quite well how even at KataGo-level, successive moves are more likely to be close together than not! And not only responding to attachments etc, even moves around distances 3-5 are more common than further away moves, at least in this game.
(I know this is quite obvious when you think about, but still cool to see visualized I think)
They all look quite similar honestly
You can clearly see the ātailā (ie. the range ~3ā20) fattening with rank increase, though.
Indeed! Here are the averages from those same four games:
DDK: 2.928
SDK: 3.778
Dan: 4.822
KataGo: 4.907
From this sample size of 4 I conclude that this metric is perfectly correlated with strength, and we should all start tenuki:ing more to get stronger
How about for pros with different styles? E.g. Cho Hunhyun is known for his light play whereas Kobayashi Koichi was more slow and steady so perhaps Choās average displacement metric is larger?
I tried downloading a couple of games from each player, but I realized halfway through that I forgot to exclude games which ended by resignation, and then go4go started giving me some trouble. Thereās probably too much noise anyways to conclude anything from just a couple of hand-picked games. If I could get my hands on a large collection of sgf:s from some different players that would be nice, but in the meantime, here are the averages for both players in this game:
Kobayashi Koichi: 4.299
Cho Hunhyun: 4.386
A very slight difference, but supporting your hypothesis
go4go started giving me some trouble
Thereās always Waltheri.
Good idea! I filtered to games where the player in question played black, to make it easier to consider only their moves. I also filtered to games won by 0.5 points.
Here are all 4 games in Waltheri where Cho played black and won by 0.5 points:
4.313
4.694
4.521
4.312
Average: 4.460
Here are 4 randomly picked games where Kobayashi played black and won by 0.5 points:
4.788
5.775
4.043
4.182
Average: 4.697
So not looking great for the hypothesis anymore unfortunately (but again, the sample size is way too small to say anything meaningful, especially given how much the number apparently changes from game to game)
Hereās the game responsible for that 5.775 outlier:
(white had an average distance of 4.641 in that game)
That outlier has many ko fights. Perhaps ko threats tend to be distant from the ko, thereby boosting the average distance?
Ko threats might seem geometrically unrelated to the ko, but semantically they are closely related to it (not really a tenuki).
In a way everything is tenuki for the perfect player as well: they donāt make choices that matter for themselves either, so one couldnāt really speak of āpurposeā or āintentā there either.
So the typical average āawaynessā in professional games (to borrow and misuse a term from Arimaa) is 4.0ā4.8?
Thatās already something I didnāt know.
Ko threats might seem geometrically unrelated to the ko, but semantically they are closely related to it (not really a tenuki).
Yes, it really brings us back to the original topic Even if you had hundreds of games from each player and you noticed that one player had a higher average distance, it might be a better indicator of how much they like to fight koās than of how much they like to tenuki.
Although in that particular game, isnāt it interesting that blackās average is significantly higher than whiteās? So itās not only about kos.
Anyways, I think Iāve done enough numerology for one day now
Obviously, a truly random play generator will make a perfect response sometimes, by any definition of āperfectā. Random doesnāt mean āprobability zero of being correctā. Sometimes it means āprobability .5 of being correctā, or some other number. Also, every random number generator has a probability distribution, which may be āflat randomā meaning the same probability for generating any number, or some other distribution.
Go Variant Idea:
Your Average Awayness must always be greater than x during the course of the game. If a play near your opponentās last play would drop you below x, then it is greyed-out on the board.Your and your opponentās current averages are displayed on the side for reference, and the effect of each move you consider is shown when you hover your mouse over a spot.
This gives me an idea: would it just as computationally challenging and interesting to program the weakest possible bot as to make the strongest?
Competitions could be held to see which bot could force its own loss.
Chinese rules, ofc, so that even dango score points and that easy route to loss is removed.
which bot could force its own loss.
The EyefillTower bot?
It kind of reminded me of Benford's law - Wikipedia
I wonder is there some sensible assumptions that could lead to a predicted distribution. Iām not sure if it could be a poisson process to be a poisson, exponential or gamma type distribution.
Even weaker than the selfatari bot!
My intuition is that forcing a loss would be relatively easy to program. But new things can be learned by experimenting. Try it out on paper. See if you can write down an algorithm for losing, using operations that you simply invent as needed. Iāll bet it isnāt hard.
There are certainly algorithms in existence already to create examples of each of these kinds of distributions. The easy way is to capture or create a distribution function, then multiply a flat random number generator by that function.