Some experiments in Go learning software

A few months ago, while looking at OGS rank deflation, I mentioned that I was experimenting with the problem of choosing the right moves to review. I’ve continued working on that and have collected a few related experiments in a small web app called go git gud.

It’s still early. I’m sharing it mainly because I’m interested in whether these ideas make sense to other Go players.

Review before AI analysis

When we open a game in KataGo right after it ends, it’s easy to feel like we’re learning from the engine. But getting the answers immediately can stop us from thinking actively about the game and our own moves.

The app therefore asks the player to review the game first: identify possible mistakes, leave notes, and try alternative moves. When the review is submitted, the engine reveals its analysis and scores the proposed alternatives.

The idea is not to test whether the player can guess KataGo’s move. It is to make the player commit to their own reading before seeing the answer.

I’m curious whether this extra step produces better reflection or merely adds friction.

AI tutor

A major problem with reviewing a game in KataGo is that we don’t always know what to focus on.

The biggest point losses are often blunders, lapses in focus, or difficult tsumego-style positions. Those moves matter, but they don’t always tell us what would be useful to study. The AI also finds problems with almost every move, while ideal “blue moves” may depend on ideas far beyond our current understanding.

I’m experimenting with KataGo’s HumanSL network to find mistakes that:

  • are not simple blunders or lapses in focus;

  • have an understandable alternative; and

  • are appropriate to the player’s current level.

I don’t want an AI tutor to list every imperfect move. I want it to find a small number of moves that the player might realistically learn from.

Estimated ranks

To choose an appropriate HumanSL level, the app does not use the player’s stated rank—or require one.

Instead, it makes a rough KGS-style rank estimate from the probability of each move, conditioned on the player’s move history and candidate rank. This uses the same basic method as my earlier OGS rank analysis.

The estimate is meant to select an appropriate model profile. It is not meant to claim that KGS ranks are the “correct” ranks.

Urgent before big

I’ve also been experimenting with a different type of problem generated from OGS games.

These problems try to capture a familiar uncertainty: should I respond locally because the position is urgent, or tenuki for a big move elsewhere?

Each problem presents a position and first asks whether it is urgent or tenukiable. If it is urgent, the player must find the best local move. If it is tenukiable, the player must find several good places to play elsewhere.

The Urgent section is available now, but it does not have a rating system yet, so the difficulty varies wildly. The Tenuki section is still under development.

Here’s an Urgent problem that has some teaching value imo:

https://ggg.david.ma/problems/247


I’d be especially interested in people’s thoughts on three questions:

  • Does reviewing before seeing the engine analysis help?

  • What makes an engine-identified mistake genuinely teachable?

  • Does the urgent-versus-tenuki format sound useful?

Critical feedback is very welcome. These are experiments, and I’m still working out which parts are actually helpful.

4 Likes

I think AI Sensei and KataGo are really useful. And AI Sensei already more or less solves the above problem of “I want it to find a small number of moves that the player might realistically learn from.” I usually only review mistakes that’s above a certain loss value.

Rank estimation models is like always something that’s more “for fun” (to see whether a software can accurately guess someone’s rank) rather than something of value. Everyone playing Go online already knows what rank they’re at.

Almost every single piece of text in the screenshot above: “Find the urgent move”, “Find the move that cannot wait. You have one attempt”, “Black to play” feels like redundant and pointless text that’d I’d rather not see. Most tsumego sites get the point across with very few words. But I also think that for vast majority of go players, tsumego problems are much more effective for improving compared to “direction of play” type problems. Near all serious mistakes incurring large point losses are due to misreading. Direction of play mistakes usually doesn’t lose too many points and can be improved upon by just reviewing your games rather than doing problems.

2 Likes

Appreciate the feedback!

The AI tutor “learnable moves” is different from AI Sensei in that it 1) it filters away the mistakes that are hard to avoid, 2) it also shows an alternative that’s more human, and not necessarily the best move.

Rank estimation is mostly for fun yes. But it underlies the AI tutor’s move choices.

The redundant copy was a first pass. Definitely will clean it up later.

Hand crafted tsumegos have been battle tested for centuries. Hard to beat that!

This is not a real dichotomy. Sometimes you have to tenuki to play an urgent move somewhere else on the board. The AI wanting to tenuki does not mean the blue move is big (in the sense of valuable, but not urgent).


I very much agree with this though.

1 Like