What would be the elo of a computer program that plays at random?

What would be the Elo of a computer program that plays random moves?

For the sake of simplicity, assume that he never asks for a draw or resigns and never accepts a draw offer.

• Imagine all pieces on the board and you attack the computer's queen. It has a 1 in 16 chance of moving the queen and maybe a slim chance of defending with another piece. Oct 3, 2014 at 15:35
• I find it hard to imagine any human player playing worse than random. Oct 3, 2014 at 16:06
• I would rather do it scientifically Oct 3, 2014 at 16:31
• For my AI class we were to create a Chess AI. The first phase of the assignment was random valid moves. When these AIs fought it mostly ended in draw. A greedy AI that attacks the most valuable piece if applicable, otherwise random beat random AI every time. Mar 23, 2017 at 15:43

Right at the bottom of the Computer Chess Rating List for the 40/4 time control is Brutus RND, an engine that simply selects random legal moves.

http://www.computerchess.org.uk/ccrl/404/cgi/engine_details.cgi?print=Details&each_game=1&eng=Brutus%20RND#Brutus_RND

It has a rating of 205 (as of 6/6/2018). This is not a FIDE rating of course, but it is using the Elo system.

It has 0 wins, 242 losses and 64 draws. The draws are due to faulty programs that accidentally cause draws by repetition or occasionally stalemate, though they generally have a substantial material advantage when this occurs.

FIDE has a rating floor of 1000. Brutus RND would simply fail to establish a rating that high and would be unrated.

If we ignore the FIDE rating floor, it is possible to have a negative rating under the Elo system.

One point to mention is that FIDE uses a table to calculate rating changes and if the rating difference is greater than 735, no change occurs when the stronger player wins. This means Brutus could never have a rating of -5000 or anything like that because it would need to lose points to spectacularly incompetent players that would not be capable of delivering checkmate.

https://www.fide.com/component/handbook/?view=article&id=197

We are left guessing here. 1000 Elo rated players would be able to get Brutus's rating down to 265, but since there are no players with worse ratings, we cannot say exactly how much further they could push Brutus's rating down if they did exist.

I would guess that players that are 500 Elo or worse would have trouble delivering mate consistently, much like the faulty programs. Draws by 3-fold repetition or the 50 move rule are not automatic under FIDE rules and would only occur if Brutus claimed them. But a human could lose by running out of time, as well as drawing by accidental stalemate.

So I'm guessing somewhere in the -200 to 200 range if FIDE allowed ratings below 1000 and allowed Brutus to compete.

The problem with random play is that on an average chess position there are many many moves (from 20 in the opening to easily 50 or more in complicated endgames), but only a handful of those are acceptable. Random moves will result in total discoordination from the very beginning of the game. Moreover, capturing less valuable pieces would be very common, specially in the middlegame. This said, even against extremely weak opposition, the computer will, in the long run, blunder: tons of material will be traded and possibly not many good for the computer, the computer will be undoubtedly undeveloped, his king won't be safe and possibly not even castled...

So many bad things piling up, and extremely quickly, will result in a sure defeat for the machine. His Elo will probably be 0 FIDE.

• It would be even hard to lose against such an engine! Even if you WANT to be checkmated, it can take an eternity until the engine manages it. The only realistic way to a random engine to win is if the opponent resigns. Mar 26, 2015 at 14:30
• If you know even just a little about the game, I completely agree. But if you just know how to move the pieces, not even their value, or any strategy... Well, then the human and the computer are playing in more or less equal terms. Mar 27, 2015 at 18:14
• I think even a novice who just learned the rules today would play better than random. The novice might use a heuristic such as "let's capture pieces", which works great against the random engine, because you can capture any piece, even if it is protected, or simply leave your pieces hanging, and the engine is very unlikely to capture since it has so many other useless moves to choose from. In the end the only possible difficulty for the novice is to figure out how to mate, but it shouldn't be too hard given the likely material advantage.
– itub
Dec 29, 2017 at 1:02
• No it's not hard to lose against a random player if you want to lose. You can try it with the Play Magnus app set to 5-year-old. You just have to force a situation where the only legal move it can make is to deliver checkmate. The easiest way to do this is capture all its pieces except 1 pawn, trap its king so it can only advance the pawn, leave your king on the first rank and arrange your other pieces to block your king from escaping when the pawn promotes and calls check. This works if it promotes to queen or rook, so you have a 50% chance of losing (or 100% if it never under-promotes). Jun 10, 2018 at 7:18

Truly random play is much worse than you would probably think. The USCF absolute floor is 100 and this program would never rise above that.

I'm not sure how Go ratings compare to chess, but random play is about -3500 there. Since the branching factor for chess is lower I'd expect the random player elo to be higher, maybe somewhere between -2000 and -500.

• As noted in the answer at chess.stackexchange.com/a/6509/9025, the USCF rating floor is 100, so it would be impossible to have a negative rating.
– Herb
Dec 28, 2017 at 22:05
• Just a different perspective on the question. It didn't specify which rating system to use, and statistical elo doesn't have a "lower bound". Dec 29, 2017 at 0:52

Worse than an absolute beginner who barely knows the rules of the game, because at least the beginner puts some thought into choosing a move. Their moves may still be mostly random, but at least there's some evaluation of positions going on.

So this engine's rating would be at the lowest possible floor of whatever rating system you choose. It might eventually win or draw a game against an equally bad opponent, and then increase by a few points. However, you can expect the engine's rating to rapidly sink back to the minimum floor afterwards.

In Shannon's "Programming a Computer for Playing Chess", he notes that the probability of random play beating Botvinnik is of the order of 10^-75. Thus, if this random computer were to play Botvinnik (or even a regular master) non-stop for a human lifetime, we can reasonably expect it to never win.

However, Shannon goes on to say that random play isn't the worst strategy; the worst strategy is deliberately playing moves that aid the opponent. While it's possible a complete beginner could do this, the chances are they'll try to play moves that improve their own position.

A very good answer would be to do this:

Use numpy, a very weak game engine, 1500 ELO or so, and attach a python script to it. There are many libraries that provide you with the possible moves in a position, so we can pick one at random. I will post the results later.

http://creative-co.de/random_chess/

You should also check this out.

• Numpy is a scientific mathematics library, not a chess engine. Mar 27, 2015 at 11:56
• It is also a chess engine Mar 27, 2015 at 20:49
• chess.stackexchange.com/questions/6034/… It seems to be called numpty Apr 1, 2015 at 16:22
• @MikhailTal: Is there a reason you don't edit this answer to correct the name? Jun 7, 2018 at 15:49
• @SmallChess: Similar names, but not the same. Jun 7, 2018 at 15:49