10 years of Computer Chess

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: 10 years of Computer Chess

Post by Laskos »

Don wrote:
Laskos wrote:
Sven Schüle wrote:
Laskos wrote:
Sven Schüle wrote:
But even if ~30000 ELO really were the maximum possible ELO rating for chess (which I doubt) then it would take ~540 years until that goal were reached with an improvement rate of 50 ELO per year.

Sven
You seem to be confused. Houdini's rating is about 28,237 Elo points, therefore it's not so far from 30,000 points of the perfect engine.

Kai
Are you kidding?
Not quite, if 0 Elo points is the rating of the random mover, and 30,000 Elo points is the rating of the perfect engine, then the engines like Crafty or Houdini are at say 28,000 Elo points (maybe 25,000 or maybe 29,000, but let's assume 28,000). Just setting the material values and the goal that more material is better is giving a rating of maybe 24,000 Elo points, and the last 60 years were about getting the rating from 24,000 to 28,000 Elo points, with 30,000 Elo points being the strength of the perfect engine and 0 Elo points being the strength of the random mover.

Kai
zero is probably way too high for the random mover.
Elo scale is relative, I just set the rating of the random mover to 0. If we want to preserve more or less the present ratings, then the random mover would be rated at something like -25,000 Elo points, and the perfect engine at some 5,000 Elo points. The last 60 years were about improving the play from 0 Elo points to 3,000 Elo points.

But there is a way to perhaps get a rough idea of what this would give us.

We can build a random mover hybrid and then make versions of intermediate strength and rate them.

Here is a simple scheme to do exactly that:


To make a make, first score all the 1 ply moves and then add a random number between 0 and N-1 to each moves score and play the higher scoring one after doing this. If N is really large it's very close to random. if N is 1 it will play the same strength as a real 1 ply search.

So we can start with N = 1 and fine out how much we have to add to N to get 200 ELO for example. Let's say it turns out to be 40. The we repeat and try to construct a sequence of versions between random and fully non-random. If there is 30,000 ELO between them we would have to make an impractically large number of versions.

Don
Good, this is in fact practically doable. I guess for N=3-4 it will start losing pawns to N=1 and will be by several hundred points weaker. For N=100, more than 95% of the moves are random, but it would still be measurably better than the total random mover.

Kai
Uri Blass
Posts: 10268
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: 10 years of Computer Chess

Post by Uri Blass »

elo is meaningless.
The random player may even get higher rating than the perfect player
with the right pool of players(that do not know their opponent and have the same strategy against every opponent).

Let take 10 players

A is the random player
B1 is the player that is perfect only when the position is drawn but resigns as soon as it gets a winning position(a bug that can cause it to usually
lose but not when it plays against the perfect player).
B2,...B8 behave the same as B1
C is the perfect player.


Let do a tournament between the 10 players based on 100 games between every pair of players.
The expected result is

A:800 out of 900(to be more correct bigger than 799.999999999999)
C:500 out of 900(to be more correct bigger than 499.999999999999)
B1,B2...B8: 400 out of 900(more correct smaller than 400.000000000001)

If you calculate rating then there is no doubt that the random player has the biggest rating including bigger rating then the perfect player in this pool because the random player can beat players that the perfect player cannot beat them.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: 10 years of Computer Chess

Post by Laskos »

Uri Blass wrote:elo is meaningless.
The random player may even get higher rating than the perfect player
with the right pool of players(that do not know their opponent and have the same strategy against every opponent).

Let take 10 players

A is the random player
B1 is the player that is perfect only when the position is drawn but resigns as soon as it gets a winning position(a bug that can cause it to usually
lose but not when it plays against the perfect player).
B2,...B8 behave the same as B1
C is the perfect player.


Let do a tournament between the 10 players based on 100 games between every pair of players.
The expected result is

A:800 out of 900(to be more correct bigger than 799.999999999999)
C:500 out of 900(to be more correct bigger than 499.999999999999)
B1,B2...B8: 400 out of 900(more correct smaller than 400.000000000001)

If you calculate rating then there is no doubt that the random player has the biggest rating including bigger rating then the perfect player in this pool because the random player can beat players that the perfect player cannot beat them.
Sure Elo system in absurd cases is meaningless. For a round-robin with N engines, one is describing N(N-1)/2 numbers with N-1 rating diffrences, there is a N/2 factor in excess in a hope no absurdities as you show to happen.

Now, for your absurdity, do you assume that the perfect chess is a draw? If not, and it's win or loss, how can B engines get points from the C engine? Anyway, I think we have to define the goal of the chess as "to mate the opposite King". Otherwise I can invent a "perfect loser" (without resignations), the engine which makes all the possible (but by playing, not resignation) to lose a game. It's not even clear to me that the "perfect loser" can theoretically draw by accident a perfect engine. If not, its rating is minus infinite.

Kai
Uri Blass
Posts: 10268
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: 10 years of Computer Chess

Post by Uri Blass »

I assume chess is a draw by perfect play.

If it is not(and we suppose white wins) then B1,...B8 may have a different bug that is resigning with white when the opponent blunder and reduce the distance to mate.

The perfect player is going to lose as slow as possible so it is going to lose against B1...B8 with black but the random player will probably blunder that is going to cause B1...B8 to resign with white.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: 10 years of Computer Chess

Post by Don »

A random player could not get a higher rating than a perfect player.

You can construct programs that are very much weaker than random. I already outlined one such program in a previous post, a program that resigns on the first move for example. Another way is to take a conventional program and just play a random move, but exclude the top N moves as judged by the search. (Strangely enough, it is still possible for such a player to play a perfect games but it would be fantastically rare, even compared to a uniformly random player which is fantastically rare.)
Uri Blass wrote:elo is meaningless.
The random player may even get higher rating than the perfect player
with the right pool of players(that do not know their opponent and have the same strategy against every opponent).

Let take 10 players

A is the random player
B1 is the player that is perfect only when the position is drawn but resigns as soon as it gets a winning position(a bug that can cause it to usually
lose but not when it plays against the perfect player).
B2,...B8 behave the same as B1
C is the perfect player.


Let do a tournament between the 10 players based on 100 games between every pair of players.
The expected result is

A:800 out of 900(to be more correct bigger than 799.999999999999)
C:500 out of 900(to be more correct bigger than 499.999999999999)
B1,B2...B8: 400 out of 900(more correct smaller than 400.000000000001)

If you calculate rating then there is no doubt that the random player has the biggest rating including bigger rating then the perfect player in this pool because the random player can beat players that the perfect player cannot beat them.
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: 10 years of Computer Chess

Post by Don »

Uri Blass wrote:I assume chess is a draw by perfect play.

If it is not(and we suppose white wins) then B1,...B8 may have a different bug that is resigning with white when the opponent blunder and reduce the distance to mate.

The perfect player is going to lose as slow as possible so it is going to lose against B1...B8 with black but the random player will probably blunder that is going to cause B1...B8 to resign with white.
If you require that games are played out, no resignation, it would be difficult to create a player that always loses against a random player. You could probably make a player a loser by:

refusing to make captures.
refusing to play checkmate ever ...
trying to put the king in the most vulnerable position possible.

But you cannot force the opponent to beat you.

Don
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
Adam Hair
Posts: 3226
Joined: Wed May 06, 2009 10:31 pm
Location: Fuquay-Varina, North Carolina

Re: 10 years of Computer Chess

Post by Adam Hair »

Don wrote:
Uri Blass wrote:I assume chess is a draw by perfect play.

If it is not(and we suppose white wins) then B1,...B8 may have a different bug that is resigning with white when the opponent blunder and reduce the distance to mate.

The perfect player is going to lose as slow as possible so it is going to lose against B1...B8 with black but the random player will probably blunder that is going to cause B1...B8 to resign with white.
If you require that games are played out, no resignation, it would be difficult to create a player that always loses against a random player. You could probably make a player a loser by:

refusing to make captures.
refusing to play checkmate ever ...
trying to put the king in the most vulnerable position possible.

But you cannot force the opponent to beat you.

Don
I was thinking that way this morning. But, if in addition to the three guidelines you mention you also play in such a way to limit the number of legal moves the random mover can make, then it will be likely that checkmate will eventually occur. Of course, there is the chance that the random mover will never make the mating move.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: 10 years of Computer Chess

Post by Don »

Adam Hair wrote:
Don wrote:
Uri Blass wrote:I assume chess is a draw by perfect play.

If it is not(and we suppose white wins) then B1,...B8 may have a different bug that is resigning with white when the opponent blunder and reduce the distance to mate.

The perfect player is going to lose as slow as possible so it is going to lose against B1...B8 with black but the random player will probably blunder that is going to cause B1...B8 to resign with white.
If you require that games are played out, no resignation, it would be difficult to create a player that always loses against a random player. You could probably make a player a loser by:

refusing to make captures.
refusing to play checkmate ever ...
trying to put the king in the most vulnerable position possible.

But you cannot force the opponent to beat you.

Don
I was thinking that way this morning. But, if in addition to the three guidelines you mention you also play in such a way to limit the number of legal moves the random mover can make, then it will be likely that checkmate will eventually occur. Of course, there is the chance that the random mover will never make the mating move.
I created the random player and have some surprises. But first of all there is an issue about how to handle mate scores with the version that allows some randomness. I don't want a "semi-random" player to always play a mate because the score is so high. So what I did is to always give a mate score a score just higher than the best non-mate score. If the best non-mate move is 350 then before I add randomness a mate in 1 is 360 (I add 10 points plus made distance.) I do the inverse thing for losing mates.

It looks like you need to add about 500,000 points of randomness to come close to simulating truly random play using the scheme I suggested earlier. A value of 200,000 is still measurably stronger and 100,000 for instance, by maybe 10 ELO but well beyond the error margins.

Note that with randomness of 1000 you are playing nowhere near random, because you still fairly likely to take advantage of winning a queen for instance. So it's sort of like a version of Komodo that notices big moves, but not little moves and you can "dial" in the strength this way.

Komodo searching 1 ply will draw about about 29% of the time, give or take a percentage point or two. But with the highly random version about 82% of the games are draws. So the random player has a difficult time mating another random player but will still often stumble into a checkmate.
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
User avatar
M ANSARI
Posts: 3707
Joined: Thu Mar 16, 2006 7:10 pm

Re: 10 years of Computer Chess

Post by M ANSARI »

Funny thing is that 10 years ago a lot of people were thinking that it would be impossible to get more than 100 ELO over Shredder 7.04 ... EVER! Would be interesting to see how the top engine 10 years from now would do against H3 using same TC's. My guess is at least 300 ELO better but would really be surprised if it is more.
Uri Blass
Posts: 10268
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: 10 years of Computer Chess

Post by Uri Blass »

Don wrote:
Uri Blass wrote:I assume chess is a draw by perfect play.

If it is not(and we suppose white wins) then B1,...B8 may have a different bug that is resigning with white when the opponent blunder and reduce the distance to mate.

The perfect player is going to lose as slow as possible so it is going to lose against B1...B8 with black but the random player will probably blunder that is going to cause B1...B8 to resign with white.
If you require that games are played out, no resignation, it would be difficult to create a player that always loses against a random player. You could probably make a player a loser by:

refusing to make captures.
refusing to play checkmate ever ...
trying to put the king in the most vulnerable position possible.

But you cannot force the opponent to beat you.

Don
I believe that I can lose simply by developing my king in the opening and allow mate in 1.

The random player may avoid a mating move but if I allow it many times to make a mating move then the probability of it not to make the mating move is very small and there is not going to be a stalemate when I have many pieces on the board(if I see that the random player captured most of my pieces I am going to try to avoid losing the last pieces in order not to get stalemate).

I did not try to play games against the random player in order to lose
but my guess is that I can lose at least 99 games out of 100.