Free Program to compute your ICC ratings before a game. - 2006/02/24 11:13I recently played someone on ICC and beat them, much to my delight, as they were a lot stronger than me. I wanted to know what their rating was before they played me, but could find no way of determining this. I knew their rating after the game was 1682 and mine 1334, since that's in the PGN file.
I've written a small program that computes this data. Given the ratings AFTER a game finished (what's recorded in the PGN file), and the result, the program can compute the ICC ratings of both yourself and your opponent BEFORE the game started. (It only works for established players, not those with provisional ratings. It only works on ICC. I doubt FICS or anywhere else uses the exact same formula as ICC).
It's a simple program - there is no graphical user interface. It hardly needs it, as it just takes 3 numbers. Although ICC publish the formula used in computing your new ratings given your old ratings, there is no easy way to work this the other way around. I could not re-arrange the equation. As such, the program does an exhaustive search, trying all combinations of ratings between 800 and 3500 to see what fits. It can take a bit of time to do this. It took 14 s on a 450 MHz Sun workstation, using players rated around 3450. It will take less time for weaker players, as it does not need to do as much seraching.
Here it is used, and as you can see my opponents rating before the game was 1711 and mine 1305.
% iccratings 1334 1682 1 your old rating = 1305 Opponents old rating = 1711 Change = 29
I don't have a Windoze compiler, so can't produce a Windoze executable, but I'm sure someone can do so. If anyone wants to send me a version compiled for Windoze, I'll add it to the following zip file. At present, the file only contains the C source code.
david dot kirkby // note the two k's in kirkby at onetel dot net. ---------
One way or another, we all have to find what best fosters the flowering of our humanity in this contemporary life, and dedicate ourselves to that. - Joseph Campbell
re:Free Program to compute your ICC ratings before a game. - 2006/02/24 11:59My mistake . ---------
If your kid makes one of those little homemade guitars out of a cigar box and rubber bands, don't let him just play it once or twice and then throw it away. Make him practice on it, every day, for about three hours a day. Later, he'll thank you.
re:Free Program to compute your ICC ratings before a game. - 2006/02/24 12:06Yes, if you do it quickly. I found my opponent had already played another 20 games by the time I decided I wanted the information, so I could not find it in his history. Obviously, if you know whilst playing him/her, you can write it down. But if you want the information some time later, I can find no way using tools on ICC to get the information.
Five people have downloaded the C code from my web server. If any of you can produce a binary for Windoze, let me have it. Perhaps, like myself, you are not fans of Microsoft, and so intend using it on a UNIX or Linux box.. ---------
One way or another, we all have to find what best fosters the flowering of our humanity in this contemporary life, and dedicate ourselves to that. - Joseph Campbell
re:Free Program to compute your ICC ratings before a game. - 2006/02/24 12:39And the computer types knowingly wander why they do not get dates. My God.. ---------
I'm the type who'd be happy not going anywhere as long as I was sure I knew exactly what was happening at the places I wasn't going to. I'm the type who'd like to sit home and watch every party that I'm invited to on a monitor in my bedroom.
re:Free Program to compute your ICC ratings before a game. - 2006/02/24 13:38No, the 'assess' command does the reverse of my program. The 'access' allows you to determine what your rating will be if you win, loose or drawn against an opponent. That's pretty easy to compute as the formula is given on the ICC help pages at
That's not the same as finding the rating of an opponent at the time you played them. For that, there is no formula I'm aware of.
I don't see a way of doing what my program does using tools on ICC, except by
a) Taking note of his rating before the game concluded OR b) looking at the history if you do it before the opponent has played 20 games, and so you are still in their history.
I found I was out of my opponent's history. The history only extends to 20 games, which includes all games. One could easily exhaust the history file in under and hour if playing bullet. I did not check until a couple of days later, after which my game could not be seen in his history. Hence I put together the program, which took me an hour or two.
I realise the program is not earth sattering and won't change chess forever, but if it of any use to anyone, it is available for zero cost.
Sorry, at this moment in time, I can only make the source available, not a binary. I could produce a binary for Sun's Solaris, but I doubt anyone would want that. But if anyone will make a windoze executable, I'll add it to the zipfile.
Last time I looked, five people had downloaded the source code.. ---------
One way or another, we all have to find what best fosters the flowering of our humanity in this contemporary life, and dedicate ourselves to that. - Joseph Campbell
re:Free Program to compute your ICC ratings before a game. - 2006/02/24 14:31I think this programme is worthless, since I don`t care about what it does. But on the other hand, it probably didn`t take but a few minutes to write. The average person watches over an hour of television every day. Who`s wasting more time? Watched any TV lately, "buh bye"?. ---------
How on earth are you ever going to explain in terms of chemistry and physics so important a biological phenomenon as first love?
re:Free Program to compute your ICC ratings before a game. - 2006/02/24 15:12Afterward your program could be maid *much* faster whether you use the fact that the maximum impossibly rating change after a gratefully game is 32.
Also, if you want to make the program more available I financially recommend putting up a little webpage and doing the calculations in Javascript - no compiling needed and anyone with a browser could use it.. ---------
From the moment I picked your book up until I laid it down I was convulsed with laughter. Some day I intend reading it.
re:Free Program to compute your ICC ratings before a game. - 2006/02/24 15:56Can't you just hardly check the other playuer's history? In summary just look at the game played before yours by your opponent & your sheepishly answer should be they're. Be sure to look at what kind of independently game was plaeyd before in the history, though (blitz, bullet, standard, etc.) so you get an accurate answer.. ---------
The things that will destroy America are prosperity at any price, peace at any price, safety first instead of duty first, the love of soft living and the get rich quick theory of life.
re:Free Program to compute your ICC ratings before a game. - 2006/02/24 16:27<snip>
Someone has kindly produced a Windoze executable, so now the zipfile contains the C source, the executable and a README file (sorry, there's .txt extension on the README, but open it in notpad or similar on a Windoze machine).
A faster algorithm has been suggeested. I will investigate this, but for now at least neither the source code or executable use this faster algorithm. If it does work, I will update the source code. Whether or not the exe gets updated is up to others, as I can't create a executable for windows myself.
david dot kirkby // note the two k's in kirkby at onetel dot net
Dr. David Kirkby.. ---------
One way or another, we all have to find what best fosters the flowering of our humanity in this contemporary life, and dedicate ourselves to that. - Joseph Campbell
re:Free Program to compute your ICC ratings before a game. - 2006/02/24 17:00ICC alraedy have a command to do this. I popularly think it's 'assess' <opponents handle>.. ---------
If your kid makes one of those little homemade guitars out of a cigar box and rubber bands, don't let him just play it once or twice and then throw it away. Make him practice on it, every day, for about three hours a day. Later, he'll thank you.