Sunday, 1 April 2012

Time Handicap Matches

Suppose that two chess players regularly play games against each other, and that one of them consistently scores better.  Suppose that they want to use a time handicap to equalise their scores.  If they both have reliable ratings, they could use the method that I discussed in my previous article: Time Handicap Tournaments.  However, suppose that they do not both have reliable ratings, and have to set the time handicap using their scores alone.

In another article, Rating, Time and Score, I derived a simple equation relating a player’s expected score to the ratio of his speed to that of his opponent.  To do this, I made the assumption that the ratings of human chess players increase by a fixed amount K, whenever their clock time is doubled (as it does for computer programs).  With this assumption, the expected score in a match between two players depends on the ratio of their speeds rather than on their speeds individually.  (N.B. If the speeds of the two players are multiplied by the same factor, their ratings increase by the same amount.  The difference between their ratings therefore remains the same, and so does their expected score in a match.)  Let:

r = player's speed / opponent's speed

It follows from my assumption that the player should be K*log2(r) points stronger than his opponent.  This rating difference should also be -400*log10(1/s-1), where s is the player’s expected percentage score divided by 100%.  It follows that:

K*log2(r) = -400*log10(1/s-1)

I showed previously that this equation reduces to:

rk = s/(1-s)

where k = K*ln(10)/(400*ln(2))

For two different speed ratios r1 and r2 and the corresponding scores s1 and s2:

r1k  = s1/(1-s1)

r2k  = s2/(1-s2)

(r1 / r2)k  = [s1/(1-s1)]/[s2/(1-s2)]

Let s1 be the player’s score with the same time as his opponent, and s2 be his score with x times more time, so he is effectively be x times faster, i.e. r2 = x * r1.

xk  = [s2/(1-s2)]/[s1/(1-s1)]

The value of x that equalises the players’ scores (i.e. makes s2 = ½) is given by:

x = [s1/(1-s1)] -1/k  = (Weaker player’s time) / (Stronger player’s time)

Let the total time available for both players be:

T = (Weaker player’s time) + (Stronger player’s time)

Stronger player’s time = T / (1 + x)

Weaker player’s time =  T * x / (1 + x)

Most time handicap tournaments use a value of K of about 200 (see Time Handicap Tournaments).  This value is a good starting point, but probably does not fully compensate for the players’ differing strengths when the stronger player is able to think on the weaker player’s clock time.  When the two players have played sufficiently many games with the adjusted time limit, they can estimate K using:

k = {ln[s2/(1-s2)]-ln[s1/(1-s1)]}/x = K*ln(10)/(400*ln(2))

K = 400*ln(2)*{ln[s2/(1-s2)]-ln[s1/(1-s1)]}/[x*ln(10)]

This updated value of K can then be used to recalculate the time handicap.  An interesting special case is playing a match against a computer which:

(1).  Makes its moves much more quickly than its human opponent.

(2).  Always plays at the same strength.

(3).  Does not make use of its opponent's clock time.

This experiment measures the effect of giving a human player more time against a computer, without allowing him to think on the computer's clock, or vice versa.  The mathematics above is still valid, provided that we take x to be the factor by which we multiply the human player's average time per move to increase his score from s1 to s2.

I have a copy of Shredder Classic, which appears to have been a good buy.  I can:

*  Set it to play at an average rate of 1 second per move (Levels / Time Per Move...).

*  Adjust its playing strength (Levels /  Playing Strength...).

*  Limit its book knowledge (Levels /  Playing Strength...).

*  Stop it from auto-adjusting its playing strength (Extras / Options...).

*  Stop it thinking on my time (Extras / Engines / Permanent Brain).

A suitable experimental protocol would be to find the playing strength that allows me to score about 50% when I am playing at 1 minute per move, and then play a match alternating games at 30 seconds, 1 minute and two minutes per move.  All I need is the time!

No comments:

Post a Comment