Do computers play better in live chess if given more time?

Sort:
fschmitz422

Background: I don't want to accidentally inflate my rapid rating by playing the computer accounts at higher time controls they are usually played against. (Since I'm quite new to chess, I need at least 20/20, else I blunder way too much.)

It's obvious these computer accounts technically do not really need more time to play better. The question is rather if they are programmed/configured to commit more errors if given less time.

thx!

notmtwain

Feel free to speculate. They don't reveal anything about how they are programmed.

If you have examples of computer blunders you believe were deliberately introduced, please post them.

fschmitz422
@notmtwain : I think it's obvious that the computers make mistakes on purpose. Otherwise we wouldn't stand a chance against them. Just one arbirary example from my last game, played at 20/20(!). See for instance 30. .. Ne4 :
 
This is typical for Computer2, and, according to my still limited experience, it is similar with Computer3.  - What is unclear to me is if they make more or more severe errors at shorter time controls. If not, this would constitute a loophole to inflate one's rating, either accidentally or on purpose.
 
fschmitz422

... meant 30. .. Nb4, sorry.

Or one of the other two or three major errors the computer committed in this game.

game_designer

The short answer is yes.

More time = more positions can be searched.

I am writing an engine now, I have the source code for 5 engines on my machine, one of them is Stockfish.

 

The engine wants to search as many positions as possible, problem is that it can also lose on time.

So the search function usually accepts 2 arguments, white_time and black_time, this is the time remaining in milliseconds (1000 ms = one second)

 

The search runs in a loop trying to find the best move, every few thousand positions it checks the time.

 

The exact algorithm in each engine varies but it could be something like this:

 

1. Search for moves and evaluate score for each position.

2. Check time every say 2000 moves that have been scored.

3. If engine time left is less than 5 minutes and less than opponents time, cutoff and play best move.

4. If total time spent by engine during current search > one minute, cut off and play best move.

 

Longer time controls means more positions = better moves.

fschmitz422

@game_designer

Yes, this is how engines basically work (I'm an IT guy myself, and i have some understanding of the principles at least).  - BUT : For these computer accounts the engine has to be 'throttled' somehow anyway, and the question is : How? - Maybe the configuration assigns only a certain fraction of the time available for the human opponent as CPU time to the engine. In this case the computer's strength would scale with the time controls, yet without the computer being invincible.

game_designer

Did you select the computers strength at the start of the game?

 

If not then it uses your rating to play at a certain strength, say 200 rating points per band.

 

Example, if players rating is 1000 < x <= 1199 then play at strength 3.

 

Then config for strength 3 would be loaded with lots of settings, max ply (depth), time used, think or not during opponents move, don't always play best move, contempt (if position worse keep playing for win), so many tweaks possible and they vary engine by engine.

fschmitz422

Hm, we're both talking about the computer accounts ("Computer2-MEDIUM" etc.) in live chess here?

game_designer

 I just did Menu | Play | Computer and it defaulted to Level 2

 

My rating is 800 (cause I never play anymore) so it does select the level based on rating.

 

I did look at live chess as well but did not see play computer there so I am not sure how you did that or how you set the time control.

game_designer

 I have a free account, cause I am cheap, probably why I can't see or have those options.

 

I just checked the engine moving on level 2, it takes exactly 2 seconds per move.

 

Note that in my case the engine is probably the JavaScript Stockfish ported code that runs on my machine.

 

In your case it is probably Stockfish proper in C++ running on a server.

 

They need to do this for premium members only otherwise the engine servers would suffer under the load, too many people playing against engines for the servers to handle.

game_designer

How do you mean?

 

A paying member gets to play stockfish on a server, the proper stockfish.

 

There is another version of stockfish, ported over to JavaScript, it is a lot weaker because JavaScript only has basic datatypes and does not have the UINT64 needed for bitboards,

 

That is the version that runs on my machine because I am not a paying member, the JS code gets downloaded to my machine when I play an engine on chess.com

 

Chess.com has to do it that way otherwise all the non paying members would slow down the engine servers.

fschmitz422

Yes, maybe you cannot see the computer accounts in live chess having a free account yourself. Only, for premium members they are not accessible via some 'play computer' menu item either, but e.g. via the dark green dots in the 'Open Challenges' (or similar) tab.

They have ratings for themselves, just as human players do, and I was thinking all this makes sense only if their strength also scales with the time settings, just as with humans.

Anyway, thanks for your thoughts.

 

Martin_Stahl
game_designer wrote:

 I just did Menu | Play | Computer and it defaulted to Level 2

 

My rating is 800 (cause I never play anymore) so it does select the level based on rating.

 

I did look at live chess as well but did not see play computer there so I am not sure how you did that or how you set the time control.

 

The OP is talking about the computer accounts in Live. 

@computer1-easy

@computer2-medium

@computer3-hard

@computer4-impossible

 

They have constant seeks out on the seek graph and you can directly challenge them.

 

They do play worse than a human player, most of the time, or at least in blitz. But yes, they are throttled in some manner and it is likely some combination of max-depth and time based on the overall time control.  That said, their ratings should be fairly accurate here, based on the pool of players; they get that rating by winning and losing against real players. 

So, while they may make poor moves at times, it shouldn't be that much different than a similarly rated player.

 

You can get an inflated rating playing exclusively against the computers, which kind of contradicts my accurate rating comment but I think most of that comes from playing the same one too much instead of moving up to a stronger opponent. Also, I think sometimes they play worse in situations where the servers are under high loads (which makes logical sense). My highest blitz and rapid ratings here came from playing them early on. 

fschmitz422
Martin_Stahl hat geschrieben:

But yes, they are throttled in some manner and it is likely some combination of max-depth and time based on the overall time control.

(...)

You can get an inflated rating playing exclusively against the computers, which kind of contradicts my accurate rating comment but I think most of that comes from playing the same one too much instead of moving up to a stronger opponent.

(...)

 

Ah, thanks for the info!

game_designer

 Ok, I had a look, I can see them...

 

Little green dots in open challenges.

 

I would call those "robots", good to know that their ratings are based on actual games.

 

I did see a similar thing on ICC but that was many years ago, I have not used that site in ages.

 

So I guess, as Martin has already mentioned, that each "robots" playing config (setup) is based on two main factors: it's rating and the time control.

martinchess1

kasparov's book 'deep thinking' says an engine programmed exclusively to look at every option (tactics only, most common, effective, and disappointing), increases it's rating by 200 points with each extra ply it can analyse (it may be a full move ie 2 ply), can't remember, but you get the drift.

martinchess1

a programming trick is to let the engine play 2 moves, without a reply after the first. if the position does not improve for the engine after the two moves, then the first move is discounted and is not an option.

fschmitz422
game_designer hat geschrieben:

 So I guess, as Martin has already mentioned, that each "robots" playing config (setup) is based on two main factors: it's rating and the time control.

 

I'd rather say that the rating is the result of the setup. Although it is of course possible that they've implemented automatic setup adjustment with a closed control (feedback) loop, with some arbitrary rating being the system target output value, and other parameters like max-depth and time fraction being the adjusted variables. That's at least the way I'd do it.

Martin_Stahl

They gave an initial rating to the bots when they set them up. Their current rating is based on the standard rating algorithms and play against members.

game_designer

I just used the wrong term, ratings is indeed confusing.

 

I meant strength, from one of my earlier posts, example used 200 points in the band.

 

Strength would correspond with your 4 categories, easy, medium, hard, impossible.

 

Yes, seed a starting value and the actual rating would float about, hopefully between a defined range, assuming they got the initial setup right.

 

It may be possible to see the stats over time for each of those robots, to see how the ratings change, but I did not bother looking.