Are there computer chess games that play like a human?

Sort:
mcusername

I find it hard and even counterproductive to learn chess by playing a computer, since I get used to a limited range of computer responses to my moves.  After a year of practicing with my computer, I was startled to play actual people on Chess.com because I found that humans make moves that my computer chess games would never, ever make.   I obviously need to play against human beings more often, but I wondered if there is any computer software that is good at playing surprising movies that a human would actually make, rather than always responding to my every move in a very predictable way? Thanks.

mcusername

I can believe it.

EscherehcsE
mcusername wrote:

I find it hard and even counterproductive to learn chess by playing a computer, since I get used to a limited range of computer responses to my moves.  After a year of practicing with my computer, I was startled to play actual people on Chess.com because I found that humans make moves that my computer chess games would never, ever make.   I obviously need to play against human beings more often, but I wondered if there is any computer software that is good at playing surprising movies that a human would actually make, rather than always responding to my every move in a very predictable way? Thanks.

While no engine is human (duh!), a small number of engines play much more believable moves than most engines. The more natural engines tend to be commercial engines (that is, not free). I tended to like HIARCS and Delfi Trainer (DT is no longer available, except for the free demo that only plays at 1000 elo and full strength). There are a few free ones that aren't too bad, if you're willing to hunt them down and tweak them.

That Azeez-Bot you played yesterday is horrible, lol.

EscherehcsE

Something that I've heard about (but haven't tried) is the Leela Chess Zero engine (Lc0) with small neural nets made from actual amateur games. Maybe I'll check it out someday when I'm willing to mess around in Windows again.

mcusername

What's especially irritating are the opening situations in which some games ALWAYS respond the same way to a given move.  Whenever I separate the opposing bishop from my king with a defended knight in 3D Chess, the bishop will ALWAYS take the knight, and never choose to back off and/or stay where it is.  I would think that, instead of programming every move to be played at a certain level, like say 1200, the game could be programmed to play some moves at an 1800 level and some at a 800 level (to balance out on average to a 1200 game) -- thereby maybe inserting a little variety into the performance.  But I guess it's hard to make the program smart enough to play stupidly, or even inconsistently.

CraigIreland

There's so much data from human matches to train an AI on. I'd be amazed if we couldn't come up with a bot which could pass a Turing test.

9qc

Look for Maia Chess

EscherehcsE
uwuwuwuwuwuwuwuwuwuwuwuoo wrote:

Look for Maia Chess

Yeah, that was one of the neural nets I'd heard about that can be used with Lc0.

EscherehcsE

Well, I spent some time with the Maia nets, and I'm very impressed with them! I'd say they're probably on par with Delfi Trainer and HIARCS regarding the naturalness of the moves.

I wasn't able to get the Lc0/Maia combo working in Linux, so, against my better judgement, I set the combo up in Windows and got it working there in the Arena GUI. There are 9 different Maia nets (or weights), ranging from Maia 1100 to Maia 1900. Three of the Maia bots can be played on Lichess (1100, 1500, and 1900). The Maia 1100 net is probably somewhere close to the strength of Delfi Trainer 5.4 set between 1000 and 1100 elo, and Stockfish set at level 0 or 1.

The Maia 1100 bot has a Lichess rapid rating of 1477 and a classical rating of 1416.

https://github.com/CSSLab/maia-chess

PawnTsunami

Lc0 is the closest you will come to seeing a computer play like a human.  The calculation-based engines (e.g. Stockfish, Komodo, Houdini) calculation millions of positions a second to ensure they never make a tactical mistake (or rather, any tactical mistake is so far in the future that no human would see it).  Leela tends to favor piece activity, which leads to more human-ish maneuvers.

But to the core of your question: you should not play computers in hopes of getting better at playing humans.  Computers do not play at an 800 or 1000 level.  They play at a 3800-level with random odd blunders thrown in.  Humans do not play like that.  An 800-level human is going to make a lot of moves that do not fit well (logically) together.  In general, you are not going to have someone play 15 moves of theory in the KID and then leave their queen, rook, bishops, and knights all hanging on consecutive moves.

EscherehcsE
PawnTsunami wrote:

Lc0 is the closest you will come to seeing a computer play like a human.  The calculation-based engines (e.g. Stockfish, Komodo, Houdini) calculation millions of positions a second to ensure they never make a tactical mistake (or rather, any tactical mistake is so far in the future that no human would see it).  Leela tends to favor piece activity, which leads to more human-ish maneuvers.

But to the core of your question: you should not play computers in hopes of getting better at playing humans.  Computers do not play at an 800 or 1000 level.  They play at a 3800-level with random odd blunders thrown in.  Humans do not play like that.  An 800-level human is going to make a lot of moves that do not fit well (logically) together.  In general, you are not going to have someone play 15 moves of theory in the KID and then leave their queen, rook, bishops, and knights all hanging on consecutive moves.

The "bad" calculation-based engines might play like that, but the better designed "dumbed down" engines never play at a 3800 level. They implement an algorithm that simply looks at a small number of nodes (based on the strength being simulated), then they also throw in a "randomness" factor to simulate occasional blunders. I think Crafty was one of the early engines to do this.

PawnTsunami
EscherehcsE wrote:

The "bad" calculation-based engines might play like that, but the better designed "dumbed down" engines never play at a 3800 level. They implement an algorithm that simply looks at a small number of nodes (based on the strength being simulated), then they also throw in a "randomness" factor to simulate occasional blunders. I think Crafty was one of the early engines to do this.

It isn't as complicated as you are making it sound.  Basically, it creates 2 "pools" (some do it with 3).  The first pool is the "best lines" pool.  The second is the "error line" (if they add a third, you will see a "slight mistake" and "major mistake" pool).  Then it randomly selects which pool it is pulling from using a weighted random generator (determined by the desired strength), and then a random line from that pool.

In short, it is a 3000+ level engine with random errors thrown in.  It is not anything like how a human will play.  No matter how you try to slice it, that is what the calculation-based engines end up doing.  The Neural Network engines (Lc0 and its siblings) operate closer to how humans think, but in order to scale down their level, you have to play them when they are at a relatively untrained state.  Once they are trained, it is difficult (if not impossible) to scale it down without making completely absurd errors.

 

snoozyman
His name is Nelson Bot
wakuvvaku

Yes my neighbor has a software that plays surprising movies.

magipi
mcusername wrote:

I find it hard and even counterproductive to learn chess by playing a computer, since I get used to a limited range of computer responses to my moves.  After a year of practicing with my computer, I was startled to play actual people on Chess.com because I found that humans make moves that my computer chess games would never, ever make.   I

This is an extremely weird claim. I can't even imagine what kind of moves you are talking about in the first sentence or in the second.

GeorgeWyhv14

Maybe chessmaster program.

EscherehcsE
mcusername wrote:

What's especially irritating are the opening situations in which some games ALWAYS respond the same way to a given move.  Whenever I separate the opposing bishop from my king with a defended knight in 3D Chess, the bishop will ALWAYS take the knight, and never choose to back off and/or stay where it is.  I would think that, instead of programming every move to be played at a certain level, like say 1200, the game could be programmed to play some moves at an 1800 level and some at a 800 level (to balance out on average to a 1200 game) -- thereby maybe inserting a little variety into the performance.  But I guess it's hard to make the program smart enough to play stupidly, or even inconsistently.

It's not hard to program in some randomness in an engine's moves. The programmer just needs to care about it. You might try installing Lucas Chess. It has over 60 engines, and I'm sure a number of them don't always play the same moves.

https://lucaschess.pythonanywhere.com/

benjamimlerbach

e,eeeeeeeeeeeeeeeeeee

e

e

e

e

 

EscherehcsE

Regarding the learning issue, I don't think you can learn chess very well if all you do is play games. You also need to analyze your games, study tactics, strategy, and chess principles, and then apply them to playing games.

I think it's possible to learn chess by playing engines and analyzing those games, but it's very hard to do, because you have to figure everything out by yourself. (Engines aren't very good at telling you why they make the moves that they make.) It's possible to figure out the engine's tactics to a certain level, but it can be nearly impossible to figure out the strategy involved in an engine's moves. It's much easier to do if you have a strong player helping you understand everything.

EscherehcsE

Eh, I was just looking over the engines included in Lucas Chess, and it appears that the Windows version includes the Lc0 engine with the Maia weights. (The Linux version has the ver 0.27 Lc0 engine but no Maia weights, but I'd think you should be able to add the weights yourself.) So you could install Lucas Chess and try out the Maia weights.

I did notice that Maia apparently always plays the same move in the same position. Some GUIs like Arena allow you to add a GUI opening book to an engine, which would add variety in the opening. I don't know if Lucas Chess has that feature.