Methods for playing human-like chess
Moderators: hgm, Rebel, chrisw
-
- Posts: 102
- Joined: Sun Sep 09, 2007 6:32 am
Methods for playing human-like chess
What are the current methods used to make engines play more like humans? Are those methods effective, or do they still need improvement? Which engine plays the most like a human?
-
- Posts: 3196
- Joined: Fri May 26, 2006 3:00 am
- Location: WY, USA
- Full name: Michael Sherwin
Re: Methods for playing human-like chess
This question is not easy to answer. Attempts have been made but I can not think of any engine that is specifically known for its human like play. Maybe someone else knows of one. There was one engine that tried to mimic human like blunders. For example it would not see certain backward bishop moves. I hope that someone else will respond to your question as I think that this is an interesting topic.
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
-
- Posts: 102
- Joined: Sun Sep 09, 2007 6:32 am
Re: Methods for playing human-like chess
I think it's an interesting goal, and efforts to this goal would be more beneficial to the improving chess player than adding more Elo points to the top engines. I think we would first need a database of games from a range of non-masters. I recall someone had harvested every FICS game at one point. If it included time stamps, that would be an excellent start. I guess the main goal is deciding which moves the engine would either discard or be blind to, then matching Elo ratings to approximate number of errors made per game. Statistical analysis and Markov techniques would probably go a long way toward making something decent.
-
- Posts: 102
- Joined: Sun Sep 09, 2007 6:32 am
-
- Posts: 3196
- Joined: Fri May 26, 2006 3:00 am
- Location: WY, USA
- Full name: Michael Sherwin
Re: Methods for playing human-like chess
If your interest is in helping human players to improve then the learning abilities in RomiChess should be of interest. They are very human like. The first one is reinforcement learning adapted from Pavlov's dog experiments. Humans tend to shy away from lines that they lose with and play lines they win with. This algorithm does the same for RomiChess. This is not the same as just selecting book lines from an existing book. RomiChess can create its own book from scratch or extend an existing book. The second is more immediate and I call it 'monkey see monkey do'. It just remembers winning lines and plays them back for as much as 180 half moves. Humans tend to just copy moves from games as well. Winboard is the only interface that I know that works with Romi's learning ability. The UCI protocol does not seem to even permit what RomiChess does.
In theory RomiChess can help a human improve their game. Just select an opening. If the human wins Romi will change the evaluations of the stored games and play differently. If you change sides Romi will play the humans winning line against them. If the human still wins then Romi will play that line when the colors are reversed. If Romi wins she will just keep playing the same line again and again until she is beaten.
In theory RomiChess can help a human improve their game. Just select an opening. If the human wins Romi will change the evaluations of the stored games and play differently. If you change sides Romi will play the humans winning line against them. If the human still wins then Romi will play that line when the colors are reversed. If Romi wins she will just keep playing the same line again and again until she is beaten.
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
-
- Posts: 417
- Joined: Sat May 24, 2014 9:16 am
Re: Methods for playing human-like chess
You should honestly ask Mark, the author of HIARCS, these questions. HIARCS probably is right up there to play the most like a human being (Komodo might be up there also; Stockfish certainty is not). But in reality, no engine will ever play like a human. Humans make outrageous blunders both strategically and tactically - and they simply just do not play like computers. Nevertheless, I think that this topic is quite interesting.rreagan wrote:What are the current methods used to make engines play more like humans? Are those methods effective, or do they still need improvement? Which engine plays the most like a human?
I think Gandalf was considered in its time of flourishment to be very human like.
-
- Posts: 4833
- Joined: Sun Aug 10, 2008 3:15 pm
- Location: Philippines
Re: Methods for playing human-like chess
Before I tried testing engines that have uci limit strength and uci elo options, to compare Deuterium's limit strength algo. I test the engine at uci elo 1200. Here are some results in swiss at TC 40 moves in 3 minutes repeating using arena, and an excellent ArenaSwiss program. The elo column is the rating change similar to FIDE calculation, Horizon is winboard engine that has setting for rating. Danasa is also winboard set at 1200. It was a plan to issue rating per period after the engines accumulate rating changes after the tournament they participated.rreagan wrote:What are the current methods used to make engines play more like humans? Are those methods effective, or do they still need improvement? Which engine plays the most like a human?
I download some fics games with elo around 1100 to 1300 I think, and check games played by these players.
Looking at the games of these engines, most impressive are games from MadChess and Ufim. Search MadChess here the author had published his algo.
Swiss 1200-1:
Code: Select all
Rank Engine ELO 1 2 3 4 5 6 7 Score Tie White ELO
----------------------------------------------------------------------------------------------------------
1: Horizon v4.4 elo1200 1200 3W+ 2B- 9W+ 5B+ 4W+ 6W+ 7B+ 6.0 30.0 4 +25
2: BlackMamba v1.2c elo1200 1200 10W+ 1W+ 6B+ 4B+ 7B+ 3B- 5W- 5.0 31.0 3 +15
3: Amyan v1.72 elo1200 1200 1B- 10B+ 5W- 11W+ 8B+ 2W+ 6W+ 5.0 28.0 4 +15
4: Rybka v2.3.2a elo1200 1200 12W+ 5B+ 7B+ 2W- 1B- 9B+ 11W+ 5.0 26.0 3 +15
5: Ufim v8.02 elo1200 1200 8W+ 4W- 3B+ 1W- 6B- 12B+ 2B+ 4.0 31.0 3 +5
6: Tornado v4.4 elo1200 1200 14W+ 9W+ 2W- 8B+ 5W+ 1B- 3B- 4.0 27.0 4 +5
7: Cheng4 v0.36c elo1200 1200 11W+ 13B+ 4W- 9B+ 2W- 10B+ 1W- 4.0 26.0 4 +5
8: Hiarcs v14 elo1200 1200 5B- 12W+ 11B+ 6W- 3W- 14B+ 13W+ 4.0 19.0 4 +5
9: Houdini v4 elo1200 1200 13W+ 6B- 1B- 7W- 14B+ 4W- 12B+ 3.0 23.0 3 -5
10: MadChess v1.4 elo1200 1200 2B- 3W- 13B+ 12B- 11B+ 7W- 14W+ 3.0 20.0 3 -5
11: Rodent v1.3 elo1200 1200 7B- 14B+ 8W- 3B- 10W- 13W+ 4B- 2.0 23.0 3 -15
12: Deuterium v14.2.33.276 elo1200 1200 4B- 8B- 14W+ 10W+ 13B- 5W- 9W- 2.0 21.0 4 -15
13: Arasan v17.1 elo1200 1200 9B- 7W- 10W- 14B+ 12W+ 11B- 8B- 2.0 18.0 3 -15
14: Hamsters v0.7.1 elo1200 1200 6B- 11W- 12B- 13W- 9W- 8W- 10B- 0.0 20.0 4 -35
Code: Select all
Rank Engine ELO 1 2 3 4 5 6 7 Score Tie White ELO
----------------------------------------------------------------------------------------------------------
1: Deuterium v14.3.34.21 elo1200 1200 2B= 9W+ 5B+ 3W+ 4B+ 6W+ 7B+ 6.5 29.5 3 +60
2: Horizon v4.4 elo1200 1200 1W= 10B+ 4B+ 8W+ 3W+ 5B+ 9B+ 6.5 28.5 3 +60
3: Amyan v1.72 elo1200 1200 7B+ 6W+ 11W+ 1B- 2B- 9B+ 5W= 4.5 29.5 3 +15
4: BlackMamba v1.2c elo1200 1200 11B= 12W+ 2W- 6B+ 1W- 8B+ 10W+ 4.5 27.5 4 +15
5: Cheng4 v0.36c elo1200 1200 9W= 8B+ 1W- 11B+ 10W+ 2W- 3B= 4.0 29.0 4 +10
6: Ufim v8.02 elo1200 1200 10W+ 3B- 7W= 4W- 13B+ 1B- 14W+ 3.5 23.5 4 -5
7: Houdini v4 elo1200 1200 3W- 14W+ 6B= 9B- 11B+ 12W+ 1W- 3.5 22.5 4 0
8: Tornado v4.4 elo1200 1200 14B+ 5W- 12B+ 2B- 9W= 4W- 13W+ 3.5 22.5 4 +5
9: Rybka v2.3.2a elo1200 1200 5B= 1B- 13W+ 7W+ 8B= 3W- 2W- 3.0 30.5 4 -5
10: Hiarcs v14 elo1200 1200 6B- 2W- 14W+ 12W+ 5B- 13B= 4B- 2.5 23.0 3 -20
11: Rodent v1.3 elo1200 1200 4W= 13B+ 3B- 5W- 7W- 14B+ 12W- 2.5 21.0 4 -25
12: MadChess v1.4 elo1200 1200 13W= 4B- 8W- 10B- 14W+ 7B- 11B+ 2.5 18.5 3 -20
13: Arasan v17.1 elo1200 1200 12B= 11W- 9B- 14B+ 6W- 10W= 8B- 2.0 17.5 3 -30
14: Deuterium v14.2.33.276 elo1200 1200 8W- 7B- 10B- 13W- 12B- 11W- 6B- 0.0 20.0 3 -60
Code: Select all
Rank Engine ELO 1 2 3 4 5 6 7 Score Tie White ELO
---------------------------------------------------------------------------------------------------------
1: Horizon v4.4 elo1200 1200 16B+ 8W+ 4W+ 3W+ 5B+ 2W+ 7B+ 7.0 25.0 4 +30
2: Deuterium v14.3.34.21 elo1200 1200 7B- 13B+ 12W+ 4W+ 8W+ 1B- 3B+ 5.0 29.0 3 +15
3: BlackMamba v1.2c elo1200 1200 14B+ 7W+ 6W+ 1B- 9B+ 4W+ 2W- 5.0 29.0 4 +15
4: Amyan v1.72 elo1200 1200 10B+ 11W+ 1B- 2B- 6W+ 3B- 8W+ 4.0 31.0 3 +5
5: Rybka v2.3.2a elo1200 1200 8B- 14W+ 11B+ 6W+ 1W- 7W= 10B= 4.0 26.5 4 +5
6: Ufim v8.02 elo1200 1200 13W+ 12B+ 3B- 5B- 4B- 9W+ 11W+ 4.0 25.5 3 +5
7: Tornado v4.4 elo1200 1200 2W+ 3B- 9B- 11W+ 10W+ 5B= 1W- 3.5 31.0 4 0
8: Cheng4 v0.36c elo1200 1200 5W+ 1B- 10B+ 9W= 2B- 13W+ 4B- 3.5 30.0 3 0
9: SlowChess 2.960e elo1200 1200 12W- 15B+ 7W+ 8B= 3W- 6B- 14B+ 3.5 23.0 3 0
10: Houdini v4 elo1200 1200 4W- 16B+ 8W- 14B+ 7B- 15W+ 5W= 3.5 19.0 4 -5
11: MadChess v1.4 elo1200 1200 15W+ 4B- 5W- 7B- 16W+ 12W+ 6B- 3.0 20.5 4 -10
12: Hiarcs v14 elo1200 1200 9B+ 6W- 2B- 13W- 15W+ 11B- 16B+ 3.0 20.5 3 -10
13: DanaSahZ 0.4 elo1200 1200 6B- 2W- 16W+ 12B+ 14W+ 8B- 15W- 3.0 19.5 4 -10
14: Rodent v1.3 elo1200 1200 3W- 5B- 15B+ 10W- 13B- 16W+ 9W- 2.0 21.0 4 -20
15: Arasan v17.1 elo1200 1200 11B- 9W- 14W- 16W+ 12B- 10B- 13B+ 2.0 18.0 3 -20
16: <Bye> 1 1W- 10W- 13B- 15B- 11B- 14B- 12W- 0.0 23.5 3 0
Code: Select all
Rank Engine ELO 1 2 3 4 5 6 7 Score Tie White ELO
----------------------------------------------------------------------------------------------------------
1: Horizon v4.4 elo1200 1200 16W+ 3B+ 2B+ 4B+ 5W+ 12W+ 7B+ 7.0 25.5 3 +65
2: Hamsters v0.7.1 elo1200 1200 13B+ 5B+ 1W- 12W+ 4W+ 3B= 9B+ 5.5 29.0 3 +40
3: Deuterium v14.3.34.21 elo1200 1200 14B+ 1W- 13W= 9B+ 8W+ 2W= 12B+ 5.0 26.5 4 +30
4: Cheng4 v0.36c elo1200 1200 11W+ 12B= 10B+ 1W- 2B- 6W= 5W+ 4.0 30.5 4 0
5: Amyan v1.72 elo1200 1200 7B+ 2W- 11W+ 6B+ 1B- 13W+ 4B- 4.0 30.0 3 +5
6: Ufim v8.02 elo1200 1200 10W= 8B+ 12B= 5W- 7B= 4B= 13W+ 4.0 24.0 3 +5
7: Houdini v4 elo1200 1200 5W- 11B- 15B+ 16W+ 6W= 8B+ 1W- 3.5 24.0 4 +5
8: MadChess v1.4 elo1200 1200 9B= 6W- 14B+ 10W+ 3B- 7W- 15B+ 3.5 22.5 3 0
9: Arasan v17.1 elo1200 1200 8W= 10B- 16W+ 3W- 14B+ 15B+ 2W- 3.5 21.0 4 -5
10: Hiarcs v14 elo1200 1200 6B= 9W+ 4W- 8B- 13W- 16B+ 14W+ 3.5 19.5 4 0
11: Rybka v2.3.2a elo1200 1200 4B- 7W+ 5B- 13W+ 12B- 14W= 16B+ 3.5 19.0 3 +15
12: BlackMamba v1.2c elo1200 1200 15B+ 4W= 6W= 2B- 11W+ 1B- 3W- 3.0 30.5 4 -15
13: Tornado v4.4 elo1200 1200 2W- 15W+ 3B= 11B- 10B+ 5B- 6B- 2.5 27.0 2 -10
14: SlowChess 2.960e elo1200 1200 3W- 16B= 8W- 15W= 9W- 11B= 10B- 1.5 21.0 4 -40
15: Rodent v1.3 elo1200 1200 12W- 13B- 7W- 14B= 16B+ 9W- 8W- 1.5 18.0 4 -40
16: Deuterium v14.2.33.276 elo1200 1200 1B- 14W= 9B- 7B- 15W- 10W- 11W- 0.5 24.0 4 -55
Code: Select all
Rank Engine ELO 1 2 3 4 5 6 7 8 9 Score Tie White ELO
--------------------------------------------------------------------------------------------------------------------
1: Horizon v4.4 elo1200 1200 2W+ 4W+ 5B+ 7B+ 3B+ 6W+ 9W+ 8B+ 11W+ 9.0 47.0 5 +45
2: Amyan v1.72 elo1200 1200 1B- 14B+ 4W+ 6W+ 7W+ 5B+ 3B- 11W+ 9B+ 7.0 46.5 4 +25
3: BlackMamba v1.2c elo1200 1200 15W+ 5B- 12W+ 11B+ 1W- 7B= 2W+ 4W+ 6B= 6.0 45.0 5 +15
4: Deuterium v14.3.34.21 elo1200 1200 12W+ 1B- 2B- 10W+ 8W+ 9B= 6W+ 3B- 5B+ 5.5 49.0 4 +10
5: Cheng4 v0.36c elo1200 1200 14W+ 3W+ 1W- 8B+ 6B- 2W- 10B+ 7B+ 4W- 5.0 49.5 5 +5
6: Rybka v2.3.2a elo1200 1200 16W+ 8W+ 7W= 2B- 5W+ 1B- 4B- 13B+ 3W= 5.0 47.0 5 +5
7: Tornado v4.4 elo1200 1200 11W+ 9W+ 6B= 1W- 2B- 3W= 12B+ 5W- 16B+ 5.0 45.0 5 +5
8: Houdini v4 elo1200 1200 13W+ 6B- 9W+ 5W- 4B- 16B+ 14B+ 1W- 15W+ 5.0 37.5 5 +5
9: Ufim v8.02 elo1200 1200 10W+ 7B- 8B- 15B+ 13W+ 4W= 1B- 14B+ 2W- 4.5 43.0 4 0
10: Hiarcs v14 elo1200 1200 9B- 12B- 16W+ 4B- 14W+ 11W= 5W- 15B+ 13B+ 4.5 30.5 4 0
11: Hamsters v0.7.1 elo1200 1200 7B- 15W+ 13B= 3W- 12W+ 10B= 16W+ 2B- 1B- 4.0 40.5 4 -5
12: SlowChess 2.960e elo1200 1200 4B- 10W+ 3B- 13W+ 11B- 15W+ 7W- 16B- 14B- 3.0 33.5 4 -15
13: Arasan v17.1 elo1200 1200 8B- 16B+ 11W= 12B- 9B- 14W= 15B+ 6W- 10W- 3.0 31.5 4 -15
14: Rodent v1.3 elo1200 1200 5B- 2W- 15B- 16W+ 10B- 13B= 8W- 9W- 12W+ 2.5 35.0 5 -20
15: MadChess v1.4 elo1200 1200 3B- 11B- 14W+ 9W- 16B= 12B- 13W- 10W- 8B- 1.5 34.0 4 -30
16: Deuterium v14.2.33.276 elo1200 1200 6B- 13W- 10B- 14B- 15W= 8W- 11B- 12W+ 7W- 1.5 33.5 5 -30
-
- Posts: 859
- Joined: Mon Aug 10, 2009 10:05 pm
- Location: Italy
- Full name: Stefano Gemma
Re: Methods for playing human-like chess
I think that a statistical approach is the wrong direction, to have an engine playing as a human. You can't achieve an human like style using statistic because human don't think in a true mathematical way... it would be something like simulating random numbers using a pseudo-random generator: the first are not predictable while the latter was. The only way, i think, would be to use neural networks or other AI algorithms... and still in those algorithms you must use true randomness. Of course some human play in a predictable way but strong grand-masters have personal style and play some unexpected move, time by time.rreagan wrote:I think it's an interesting goal, and efforts to this goal would be more beneficial to the improving chess player than adding more Elo points to the top engines. I think we would first need a database of games from a range of non-masters. I recall someone had harvested every FICS game at one point. If it included time stamps, that would be an excellent start. I guess the main goal is deciding which moves the engine would either discard or be blind to, then matching Elo ratings to approximate number of errors made per game. Statistical analysis and Markov techniques would probably go a long way toward making something decent.
In the past, there were an italian program called "eta-beta" that were not so strength but were based in an human like style of tough. the software not just played moves but could say why she played that move. I say "she" because the programmer was a woman, that i've never had the fortune to meet (she's still alive but she doesn't work on that software anymore, as far as i know).
-
- Posts: 7220
- Joined: Mon May 27, 2013 10:31 am
Re: Methods for playing human-like chess
There is a good way to test if your engine plays human like. Just use it on chess.com and count how many games it takes before you get a warning or your account gets blocked. If your engine is able to detect mate in 10 or more users get suspicious.