There are some novel ideas in here worth appreciating. The classic “time scramble” is absolutely worth considering, even in top level human play.
It seems strange that even with fairly abundant datasets such as Lichess, that it is still difficult to approximate human strength with a bot.
As a “low strength human”, it’s very easy to see how traditional chess engines fail to emulate humans.
As far as actual calculation look ahead goes, humans aren’t calculating to chess engine depth. How often is a human really considering every possible move to greater than a 3 move depth?
Humans are moving with instinct. We cull the decision tree based on our evaluation of how promising a branch may be, not its objective calculated strength. This is where the chess engines break down.
Humans rely on instinct, pattern recognition, and strategy. None of this translates to a chess engine unless you are a top level player with near perfect instincts and pattern recognition.
My hunch is that for approximately human strength, the lowest ELO human makes moves completely at random, where the highest ELO human with follow the brute forced top lines. The challenge is tweaking the decision tree to match human evaluation of a branch based on skill level, and a second conditional probability of selecting a branch based on the player’s ELO.
The output of the chess engine shouldn’t be deterministic, but probabilistic. History has shown when you take a probabilistic approach to a problem, normally magic falls out. I’m yet to see a probabilistic chess engine.
Here's a previous post outlining more about how the model works, whereas this post is more about how well it has turned out.
I'm not finding the bot realistic at all. It makes the exact same type of blunders you would expect a dumbed down bot to make. Just random, strange looking blunders.
As at 900 level, me playing white, it goes Bf3 in the opening as if I have a knight there, but there isn't a knight there anymore. I just moved it to e5. There's 3 pieces protecting that square. Would never see that in a real game except if it's a crazy premove (it did not move quickly).
At 1800 level, I'm about to double attack their knight on h6, so it moves its king out of g8 to get a flight square. But then it doesn't follow through on its plan, inexplicably ignoring my threat and giving me a piece. I have no other immediate threats.
I thought maybe chessbook.com would allow me to just play a normal game against this bot, but I guess not?
I was expecting servos and latex... But, nice achievement.
[flagged]
> This also helps the model maintain a more consistent playing style. Sometimes there’s a sacrifice available on the board, through many turns. A human would usually either decide he wants to do it or not, and stick with that decision until something concrete changes. But when I played this bot before adding recency, the bot would be ignoring the tactic for many moves then after an unrelated quiet move, go for it. It felt very alien and off-putting.
From the position history in the previous post. Good point. Same with bishops "sniping". If a bishop is moved to b2, and remains there or 20 moves, it can be "forgotten" and opponent suddenly has a pin or something underprotected. But if I saw the exact same board, but the previous move was moving the bishop to b2, I would be aware of it. That kind of local thinking is of course something I should learn to not do, but at my level (1700-1800 FIDE) it's how humans play.