Engine · ミノAI
Shogi AI built to play like people.
A traditional shogi engine is built to answer one question: what is the strongest move? That is the wrong question for an opponent you are trying to learn against. Mino is Shogi Castle’s own shogi AI, and it answers a different one: what would a player at this strength actually play? It learns that from real games played by people on lishogi.org.
The Mino castle
The 美濃囲い, the castle Mino is named for: king on 2h behind three generals. Usually the first castle a shogi player learns to build.
Why we built Mino AI
Being weaker is not the same as being human.
You can make a powerful engine easier. Cut its search short, or make it pick its fourth-best move now and then, and it will lose more often. But it does not start playing like a beginner. It plays like a very strong player having a seizure: twenty moves of flawless technique, then a piece left hanging for no reason, then flawless technique again. Nothing about that teaches you what a real opponent does, because no real opponent does it.
Human mistakes have shape. A beginner does not choose a random legal move; they push the wrong pawn, miss a lance coming down an open file, leave their king a little too exposed and not know it yet. Those are specific, and they are learnable, because millions of people have made them in games that were written down.
A weakened engine
- Search for the strongest move
- Cut the search short, or force an error
- Play brilliantly, then blunder
- Weaker, but not human
Mino AI
- Learn how people choose moves
- Condition on playing strength
- Sample from what real players play
- Weaker in the way people are weaker
What it gives back
Mino does not return a move. It returns a probability across every legal move: its estimate of how likely a player at that strength is to choose each one. The opponent you face is a draw from that distribution, which is why two games never open the same way.
One real position. A strong engine would name the first line and stop; a person picks among all of them, and so does Mino.
How it works
One model, many strengths of play.
Mino reads the position along with who is playing it: how strong the player is, how strong their opponent is, and how far into the game they are. It does not return one answer. It returns a probability across every legal move, which is its estimate of how likely a human of that strength would be to play each one.
Shogi Castle builds its opponents from that distribution. A higher level draws from a stronger player’s move choices and picks among them more decisively; a lower level draws from a weaker player’s and wanders more. Every move it plays is a move real people play in real games. The weakest opponent is not a random one, it is a plausible one.
A ladder you can climb
Because the strength of a Mino opponent comes from the move distribution rather than from a crippled search, the levels are smooth. Each one is measurably stronger than the one below it, and each one still plays recognisable shogi.
After the game
Two readings of the same move.
A search engine can tell you a move cost you 180 centipawns. It cannot tell you whether that was a blunder or simply what a player of your strength does here, and those need different advice. So every game you play gets read twice: once by a search, for what the move cost, and once by Mino, for how likely it was. What the review says depends on where the two answers land.
It also shows the move itself by strength. For each turning point, the move players around 1000, 1400, 1700 and 2000 are most likely to play, with how often. Sometimes they all agree and the position was simply not the problem. Sometimes the answer changes at every row, and that is the move worth studying.
On players held out of its training, Mino names the move the player actually made more often the stronger that player is, because strong players agree with each other more. That is the direction it has to move for the reading to mean anything.
What it learned from
Mino was trained on millions of positions from publicly available human shogi games, across the full range of playing strengths, from beginners to strong amateurs.
Its training goal is deliberately simple. Show it a position, tell it how strong the player to move is, and ask it to predict the move that player actually chose. Nothing about “best” enters into it. Everything Mino knows about shogi, it learned from watching people play.
Tested against players it has never seen
A model that has memorised its training games will look excellent and teach you nothing. So Mino is measured on players whose games were removed from its training entirely, not merely on positions it did not see. Whole games are held back, and only the held-out player’s own moves are scored.
On that held-out test it picks the move the player actually chose about half the time, and a little more often the stronger the player: strong players’ choices are the more predictable ones. That is the part a person can check; the point of it is that every level plays like people of that strength, not like a strong engine holding back.
The right engine for the right job
Mino is not built for maximum playing strength and does not claim it. A model that predicts human moves cannot out-calculate a search engine, and it is not supposed to.
So Shogi Castle uses both. Mino plays the human-like opponents, where feeling natural matters more than being correct. Conventional engines handle expert-strength play and position analysis, where being correct is the entire point.
Mino was trained on real human games played on lishogi.org, an open-source shogi server.
Play against Mino
Levels 1 to 8 in Shogi Castle are Mino; from 9 to 12 a calculating engine takes over. Pick the strength you want to face.