Limit playing strength or time, in Arena chess?

Sort:
Daunted

Hi, in Arena chess, what's the best way to limit an engine's power?  I'm not that familiar with this software so hopefully someone who knows can help me. I googled it but could not find someone comparing these two methods. So I see two options, "limit playing strength to elo" under "Levels" and also "Adjust" where I can limit the time an engine has, for instance, to one second per move.  I've been told that using the time limit is better but I would not know the ELO that way and I want to have an idea of ELO so I can play an engine that's roughly the same ELO.

 

Thank you.

EscherehcsE

Generally, it's better to "limit playing strength to elo". However, the engine you're using must be designed for that feature. (If it wasn't designed for that, the "limit playing strength to elo" choice in the menu will be greyed out and unusable.) Of course, engine programmers handle the elo reduction in different ways. Some only reduce the number of nodes searched, while others might also add some randomness to the evaluation function that varies according to the elo level.

 

However, even if you can limit playing strength by elo, the elo level chosen will probably not be accurate. All of the engine programmers guess at the elo levels, because it would take a massive amount of work to accurately calibrate the elo levels to real-life playing performance. So really, all you can do is pick an elo level for an engine, then try to find out what that level corresponds to by playing it many games against a rated player. (Preferably many rated players, but now we're getting into silly talk. Smile) Short of that, you won't really know the actual elo level of the engine; You'll just have to use the engine in a relative way to see if you get better over time by increasing your winning percentage against it.

 

You could try using time to limit the engine, but you might find that stong engines like Stockfish could be too strong for you even at 1 second. I think the rule of thumb is that every doubling of time used roughly corresponds to +50 or +60 elo.

 

You can also try setting the search depth in plies, but that's really messy. I think the relationship between search depth and elo levels is non-linear, and engines also often add search extensions to the search depth, which would mess things up.

 

Maybe the best "non-elo" solution would be to limit the number of nodes searched, as it isn't distorted by things like search extensions.

 

Stockfish 8 is an exception to the "limit by elo" idea. You can limit Stockfish's strength, but you do it in the engine configuration window by choosing a skill level between 0 and 20.

Daunted

Wow thank you very much for that helpful and comprehensive reply.   I think the engine that I was using was one that came with Arena, Rybka 2.3.2a, and it allows me to change the ELO.

 

Only problem I have is I was hoping that with lower ELO, the engine would think less time, like maybe two seconds, but having put the time as infinite (so that it won't influence the ELO in a negative way by limiting it's time), it was taking several minutes just to make the very first move.  I'm not sure what time limit to choose so that it will make the computer play faster but not so fast that will lower the ELO more than what I have chosen it to be.

EscherehcsE
Daunted wrote:

Wow thank you very much for that helpful and comprehensive reply.   I think the engine that I was using was one that came with Arena, Rybka 2.3.2a, and it allows me to change the ELO.

 

Only problem I have is I was hoping that with lower ELO, the engine would think less time, like maybe two seconds, but having put the time as infinite (so that it won't influence the ELO in a negative way by limiting it's time), it was taking several minutes just to make the very first move.  I'm not sure what time limit to choose so that it will make the computer play faster but not so fast that will lower the ELO more than what I have chosen it to be.

Oh no, don't set the time to infinite unless you're in analysis mode. (In infinite mode, Rybka should have never made a move at all, unless you gave it a "Move Now" command.)

So you want the engine to move very quickly? People usually pick a time control, say game in 30 minutes, and they want the engine to use most of its clock during the game, just like a human player would do. I would just pick a time control that I was comfortable with (blitz, tournament, etc.) and let the engine use that time.

If you want the engine to move almost instantly, I guess you could set the engine's game level to a "time per move" of, say, 1 second, but I'd be afraid that the engine would play far below your chosen elo for that engine. (I think for the "time per move" levels, Arena will ensure that the engine abides by the time control, but it will let you use as much time as you like.) Personally, I don't like engines that move instantly, and I avoid them like the plague.

EscherehcsE

Oops, I was wrong about the infinite level. I thought it really meant "infinite", but it actually means that the engine will calculate to its maximum search depth. In any case, I don't think you want to use the infinite playing level.

Daunted

Great thank you very much.  Yeah I don't like engines that move right away but probably for psychological reasons.  I even like the move itself to be played kind of slowly.  Sometimes feels like the queen goes eight squares in a hundredth of a second!  Feels sudden.  But yeah your advice  about game in 30 minutes or so sounds good, I want the computer to make a move that's fast enough that I won't have to wait more than 30 seconds (also partly because when it does a lot of thinking my computer heats up quite a bit) but also not so fast that it will affect the ELO rating negatively.  

EscherehcsE
Daunted wrote:

Great thank you very much.  Yeah I don't like engines that move right away but probably for psychological reasons.  I even like the move itself to be played kind of slowly.  Sometimes feels like the queen goes eight squares in a hundredth of a second!  Feels sudden.  But yeah your advice  about game in 30 minutes or so sounds good, I want the computer to make a move that's fast enough that I won't have to wait more than 30 seconds (also partly because when it does a lot of thinking my computer heats up quite a bit) but also not so fast that it will affect the ELO rating negatively.  

"I even like the move itself to be played kind of slowly.  Sometimes feels like the queen goes eight squares in a hundredth of a second!  Feels sudden."

In the menu, go to "Options --> Appearance --> Chessboard --> Pieces". In the "Sliding pieces" section, try setting the speed of the sliding pieces to medium (or even slower, if desired).

 

"(also partly because when it does a lot of thinking my computer heats up quite a bit)"

If your PC heats up during engine use, the engine is probably trying to use too many threads. Go into the engine configuration and reduce the number of threads (or in the case of Rybka, the max CPUs) until the overheating problem goes away. If you don't know what number to pick, selecting 1 thread or CPU will guarantee that overheating won't be a problem, although you might give up a bit of engine performance.

Rat1960

Arena:
What I do is start a blitz game. Select Options -> Pause Clock
I save the game to file. Then I edit the file and kill any moves and edit say [TimeControl "900"]
Then reload the program until the last stored reflects my edits.

Under Engines -> Load Engine is a choice of engines.
Under Levels -> Limit Playing Strength to ELO ...  which if not grey the engine strength changes is available.

If all else fails with the default SOS 5.1 in place and blitz, select Options->Pause Clock every time it is your move. However please note its ELO is about 2560.
My straight Blitz score is =0 +0 and minus every game I have played.

Daunted

Thank you all, good tips for me, I'll try these settings and see how it goes. happy.png

EscherehcsE
Rat1960 wrote:

Arena:
What I do is start a blitz game. Select Options -> Pause Clock
I save the game to file. Then I edit the file and kill any moves and edit say [TimeControl "900"]
Then reload the program until the last stored reflects my edits.

Under Engines -> Load Engine is a choice of engines.
Under Levels -> Limit Playing Strength to ELO ...  which if not grey the engine strength changes is available.

If all else fails with the default SOS 5.1 in place and blitz, select Options->Pause Clock every time it is your move. However please note its ELO is about 2560.
My straight Blitz score is =0 +0 and minus every game I have played.

Well, I have no idea what you're doing here, but if it works for you, then OK, I guess. Smile

 

What I would do is: Load an engine, set the engine's elo level, pick a time control, then play the game. After the game is over, if you want to edit any of the game data, go to "Game --> Game data". Then, if you want to save the game to a PGN, either go to "PGN --> Save Current Game in PGN Format" or go to "Game --> Export to Clipboard --> As PGN" then paste the clipboard contents to a PGN file.

EscherehcsE

One simple, easy to use engine for lower elo levels is Ufim 8.02. It's UCI and has handicapped elo levels from 700 to 2000. If you don't want the engine to move instantly, enable the option "DelayOnWeakLevels" in the engine configuration window.

 

Engine download link:

https://web.archive.org/web/20140329072350/http://wbec-ridderkerk.nl/html/details1/Ufim.html

 

Logos for engine:

http://www.chessmosaic.com/Ufim1.html

Daunted

Have you tested the engine, is it safe (like not a virus)?  I hadn't heard of it before.  Sorry, I don't know much about computers, just want to be on the safe side but I really do want to try that engine because sounds like it would be just the kind of engine that would be helpful for me to improve.

EscherehcsE
Daunted wrote:

Have you tested the engine, is it safe (like not a virus)?  I hadn't heard of it before.  Sorry, I don't know much about computers, just want to be on the safe side but I really do want to try that engine because sounds like it would be just the kind of engine that would be helpful for me to improve.

I'm confident that Ufim is virus free. I've been using it for years, and it's never caused any of my AV programs concern. I also can't remember anyone else expressing concern with the download.

 

One note: The ChessMosaic page has a different download link to Ufim that goes to a Russian web site. In general, I'm a bit leery of Russian download sites, but in the case of Ufim, both downloads have identical files (same hash signatures), except that the Russian download has added an extra Russian Readme text file.

 

Just stick with the archived Ridderkerk link, and you'll be fine.

 

P.S. - If it makes you feel any better, the chess GUI LucasChess includes Ufim as one of its many preloaded engines.

P.P.S. - Don't get too optimistic that these chess computers will help you improve a lot. They're useful for checking to see what blunders you made in a game, and maybe they're useful at telling you what moves are safe in a certain position, but they can't really explain plans or strategy.

Daunted

thanks again for your helpful replies EscherehcsE . happy.png

Daunted
EscherehcsE wrote:

...Some only reduce the number of nodes searched....

I forgot to ask, but I read somewhere that each time you divide the nodes by half, you reduce the ELO by 60.  Not sure if that was for a specific engine or a general rule.  Because otherwise how do I know how much to reduce the number of nodes by?

EscherehcsE
Daunted wrote:
EscherehcsE wrote:

...Some only reduce the number of nodes searched....

I forgot to ask, but I read somewhere that each time you divide the nodes by half, you reduce the ELO by 60.  Not sure if that was for a specific engine or a general rule.  Because otherwise how do I know how much to reduce the number of nodes by?

I guess that makes sense, since if you divide the nodes by half, you're also effectively slowing the calculation speed by half. As far as I know, it's a general rule of thumb for any engine. I never tried testing the rule of thumb to see how accurate it is.