Teaching AI

Inspired partly by the ‘default 13k rank’ topic, I was wondering if anyone has ever heard of an AI (be it go or chess or even video game AI) that adapts its level to the game it’s playing. A bot that plays teaching games. My experience from playing a lot of bots, before I dared to challenge any living being, is that it seems very difficult to find the right kind of AI. You get absolutely crushed by a strong AI, while a win against weak AI does not feel satisfactory, since you usually win because the bot plays stupid moves.

The current level of reading in go AI is high enough that a bot running on a decent home computer has no problems beating a dan player. The AI also has an accurate way of measuring how well it and its opponent is playing, so it could try to play only moves that keep the winrate as close to 50% as possible. This way it will counter good moves with good moves, and bad moves with bad moves, and in the end the result of the match will depend on endgame. This way the human player might have the experience that it is an interesting game, and if he (she) loses / wins, he will feel that it was not because of overwhelming strength / stupidity of the AI opponent.

This kind of bot would also be perfect to solve the 13k problem, since it can give an accurate estimate.

I have no knowledge of the behind-the-scenes of modern go AI, but perhaps there are some enthusiastic AI specialists here who can tell me why my idea is utter nonsense, a stroke of genius, or has been done already.

Of course this idea is already flawed, since a good teaching game would not be to ignore mistakes, but rather to punish mistakes, and then let the student catch up again, for example by creating weak points in your own shape and seeing if the student can find them. This would require a more complex AI, but is interesting food for thought.

1 Like

The winrate isn’t continuous,in fact it’s very disperse. Maybe winrate is 80% in this move but the next become 20% just for an opponent’s good move or your bad move.And it has no chance to return 50% after a ko fight.
By the way when I undo about fifteen times I could win a dan-AI by killing its large group. I can learn how to kill and how to live quickly through it.
Finally I don’t think a bad move vs a bad move is teaching and learning.It just like you play a bad ball in tennis and your opponent play another bad ball to teach you. The bad move and ball both need to be punished by your opponent.

1 Like

Well, the point of playing a teaching game is that the stronger player will not take advantage of mistakes or weaknesses right away, but rather make them obvious so that it stands out the importance of fixing shape, taking large moves or whatever. And then of course review the game, which I think is the most important part of the learning process. So my advice is to play as many games as you can and review them yourself first, and then maybe post here the one you find more interesting so that stronger players can help you.

Unfortunately I don’t know of any AI that can teach you this way, but maybe playing handicapped games against stronger ranked bots can also help you. Just remember it doesn’t have to be a 9 stones handicap, maybe 3-4 stones is enough even if you lose, remember the point is to see how/what the computer does (common shapes, common invasion points, reactions, etc).


Perhaps it was unclear that I’m not searching for help in finding teaching games, I’m fully aware that reviewing and playing against stronger opponents is the way to go. I created this topic more as an exploration on how AI can be used as a more efficient learning tool than it currently is.

1 Like

It appears to me that at least the winrate is a good indicator of what good and what bad moves are. It is clearly not continuous, and maintaining 50% throughout the game is therefore impossible, but it is not that difficult to find the move that brings a winning / losing game back to equilibrium. It is kind of similar to how you win by using the undo function often enough: just keep trying until you find a move that increases your chances.

Perhaps an AI that watches for glaring mistakes (say, a move that increases the AI’s odds by 25%), then play a few good moves to show where the mistake is at, tenuki and play some slow moves as soon as the position is settled (how could this be judged?) to let the odds return to equal.

I might dive into programming this out, but I’m quite a novice programmer, unfortunately…


In a perfect world, I’d like an AI that is able to identify certain positions as critical in order to explore variations and explain the reasons why certain moves are considered the best.

One step further would be if the AI could keep track of critical positions where you consistently make poor choices, then generate puzzles on those themes to give you practice and shore up your greatest weaknesses.

Basically just like a good human teacher would do. Except the AI is always available day or night and willing to play for as much or as little as you like.


That I would love to see someday. It would be great if you could feed the AI with a bunch of sgf files and analyze your biggest mistakes, and good moves as well, sort of making a profile of your game style.

I suppose it should be somehow possible to make an AI that instead of playing to win (that is, making sure its win percentage is higher than yours all the time) is programmed to lose on purpose. By this I mean that whenever it detects that is ahead, say for instance at 55% win probability, it makes a slow move (not necessarily bad) on purpose.
Perhaps something different even, highlighting during each of your turns several moves without revealing any potential win rate. By doing this you can see different options that would’ve never occurred to you otherwise.


I think it would be nice to have an AI that told you immediately after your move how good it was in comparison to what it thought the best move was. Something like, “That move was 12% worse than moving at G13” or some such… And sometimes it could even say “Great Choice!” if you got one of the top few moves options.

I think that sort of immediate feedback would work wonders on my game.


Trying to estimate how strong a new player is would be the best use for such an AI, so they can be matched with more suitable opponents.

1 Like