Michael,
What do you think of this idea:
Create a setting in Romi where even in positions from the learn file, it will pause for a few seconds (or more depending on the time control), before playing the move.
Hopefully, this setting could be switched off for serious games against other engines.
The idea is that one could create a learn file based on a pgn of say 1,000,000 games from lichess (https://database.lichess.org/), of players say 1800-2000.
If Romi plays moves from this learn file, and pauses at certain points for random (but not absurd) periods of time, etc - this will simulate what appears to be human thinking, and then it plays a move from the learn file.
This move might even be a mistake (from a weakish human's game), but it seems like it was well-thought-out and the user-experience from our perspective is of a blitz game with a real human.
IF that move is a mistake, we still have to spot the mistake and refute it.
Sounds like an excellent way to train, but without this move-time-randomizer it's less "realisitic".
I believe Lance Perkins thought up this idea about ten years ago for making Thinker appear more human-like.
Idea for Michael/RomiChess
Moderators: hgm, Rebel, chrisw
-
- Posts: 2526
- Joined: Mon Feb 08, 2016 12:43 am
- Full name: Brendan J Norman
-
- Posts: 4556
- Joined: Tue Jul 03, 2007 4:30 am
Re: Idea for Michael/RomiChess
Rebel was doing this in 1995, when you'd set it to a weak setting, the engine would decide what to move instantly, but the GUI would wait realistically before moving as if the engine was still thinkingBrendanJNorman wrote:I believe Lance Perkins thought up this idea about ten years ago for making Thinker appear more human-like.
The concept is sound, because one tends to imitate the pace of play of opponents, so if the engine plays instantly, one is urged to play instantly, leading to blunders and also, because human pondering is very important and an opponent that moves instantly doesn't let you think on their time.
-
- Posts: 2488
- Joined: Tue Aug 30, 2016 8:19 pm
- Full name: Rasmus Althoff
Re: Idea for Michael/RomiChess
The CT800 engine has a throttle mode where the virtual CPU speed can be set between 1% and 100%. Technically, every second is divided into a 100 slices of 10 ms each, and at N% speed, the first N of them are spent calculating. Then 100-N-4 with sleeping, and the last 4 with busy waiting.
The throttling is simply available as custom UCI command and shows up in the GUI. Works under Windows, Linux and Android. In order to always have some useful move, no matter how short the time, the 3 ply (plus QS) sorting pre-search at root is not throttled.
The nice thing is that the NPS display is approximately in line with the reduction, and that it scales with more thinking time.
The throttling is simply available as custom UCI command and shows up in the GUI. Works under Windows, Linux and Android. In order to always have some useful move, no matter how short the time, the 3 ply (plus QS) sorting pre-search at root is not throttled.
The nice thing is that the NPS display is approximately in line with the reduction, and that it scales with more thinking time.
-
- Posts: 3196
- Joined: Fri May 26, 2006 3:00 am
- Location: WY, USA
- Full name: Michael Sherwin
Re: Idea for Michael/RomiChess
It would be trivial to add. I can make it an option that is off by default on my next official release.BrendanJNorman wrote:Michael,
What do you think of this idea:
Create a setting in Romi where even in positions from the learn file, it will pause for a few seconds (or more depending on the time control), before playing the move.
Hopefully, this setting could be switched off for serious games against other engines.
The idea is that one could create a learn file based on a pgn of say 1,000,000 games from lichess (https://database.lichess.org/), of players say 1800-2000.
If Romi plays moves from this learn file, and pauses at certain points for random (but not absurd) periods of time, etc - this will simulate what appears to be human thinking, and then it plays a move from the learn file.
This move might even be a mistake (from a weakish human's game), but it seems like it was well-thought-out and the user-experience from our perspective is of a blitz game with a real human.
IF that move is a mistake, we still have to spot the mistake and refute it.
Sounds like an excellent way to train, but without this move-time-randomizer it's less "realisitic".
I believe Lance Perkins thought up this idea about ten years ago for making Thinker appear more human-like.
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: 1142
- Joined: Thu Dec 28, 2017 4:06 pm
- Location: Argentina
Re: Idea for Michael/RomiChess
Michael, when do you think your next official release will be? Is it months away? Weeks? Years?
Looks like you've gotten a lot of ideas and features to implement, some very easy (like learning and using the learn file with book off).
Looks like you've gotten a lot of ideas and features to implement, some very easy (like learning and using the learn file with book off).
-
- Posts: 3196
- Joined: Fri May 26, 2006 3:00 am
- Location: WY, USA
- Full name: Michael Sherwin
Re: Idea for Michael/RomiChess
I must have at least some elo gain to justify another release or a lot of testers will be wasting their time testing the new version. Time is an open question and depends a lot on my health.CMCanavessi wrote:Michael, when do you think your next official release will be? Is it months away? Weeks? Years?
Looks like you've gotten a lot of ideas and features to implement, some very easy (like learning and using the learn file with book off).
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: 2526
- Joined: Mon Feb 08, 2016 12:43 am
- Full name: Brendan J Norman
Re: Idea for Michael/RomiChess
Please do. That would be awesome.Michael Sherwin wrote:It would be trivial to add. I can make it an option that is off by default on my next official release.BrendanJNorman wrote:Michael,
What do you think of this idea:
Create a setting in Romi where even in positions from the learn file, it will pause for a few seconds (or more depending on the time control), before playing the move.
Hopefully, this setting could be switched off for serious games against other engines.
The idea is that one could create a learn file based on a pgn of say 1,000,000 games from lichess (https://database.lichess.org/), of players say 1800-2000.
If Romi plays moves from this learn file, and pauses at certain points for random (but not absurd) periods of time, etc - this will simulate what appears to be human thinking, and then it plays a move from the learn file.
This move might even be a mistake (from a weakish human's game), but it seems like it was well-thought-out and the user-experience from our perspective is of a blitz game with a real human.
IF that move is a mistake, we still have to spot the mistake and refute it.
Sounds like an excellent way to train, but without this move-time-randomizer it's less "realisitic".
I believe Lance Perkins thought up this idea about ten years ago for making Thinker appear more human-like.