Page 1 of 1

Idea for Michael/RomiChess

Posted: Tue Jan 02, 2018 11:44 am
by BrendanJNorman
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.

Re: Idea for Michael/RomiChess

Posted: Tue Jan 02, 2018 12:30 pm
by Ovyron
BrendanJNorman wrote:I believe Lance Perkins thought up this idea about ten years ago for making Thinker appear more human-like.
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 thinking :)

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.

Re: Idea for Michael/RomiChess

Posted: Tue Jan 02, 2018 12:47 pm
by Ras
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.

Re: Idea for Michael/RomiChess

Posted: Wed Jan 03, 2018 8:17 pm
by Michael Sherwin
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.
It would be trivial to add. I can make it an option that is off by default on my next official release.

Re: Idea for Michael/RomiChess

Posted: Wed Jan 03, 2018 8:31 pm
by CMCanavessi
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).

Re: Idea for Michael/RomiChess

Posted: Wed Jan 03, 2018 11:20 pm
by Michael Sherwin
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).
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.

Re: Idea for Michael/RomiChess

Posted: Sat Jan 06, 2018 4:32 am
by BrendanJNorman
Michael Sherwin wrote:
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.
It would be trivial to add. I can make it an option that is off by default on my next official release.
Please do. That would be awesome.