Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Maths: Fair match between programs on uneven machines

Author: Rémi Coulom

Date: 09:38:08 02/15/00

Go up one level in this thread


Hi,

There has been a lot of heated discussion about this topic when organizing some
of the previous French Computer Chess Championship.

The short answer to the question is that there is no way you can compensate
really fairly.

To elaborate more, I think that your math below is wrong. You consider that to
be fair you need to have the same "effective reflection times" for both players.
But what you need is to have the same "effective CPU cycles", which is
different.

Christian Barreteau wrote a program that simulates a match on machines with
different CPU speed and different thinking times, with a given prediction ratio.
The results of this simulation showed that if the prediction ratio is high
enough (50% or more, if I remember well), giving more time to the slowest
machine will favor the fastest machine in terms of total effective CPU cycles.

So you really have no solution here. The only way is to forbid pondering.

Remi

On February 15, 2000 at 09:12:25, Shep wrote:

>Hi all,
>
>I was trying to write this post earlier, but found a flaw in my calculations, so
>here goes the fixed one:
>
>Suppose you want to play a match on two machines with PB and only have two
>machines of different speed. (Obviously, just adjusting the time controls to
>reflect the speed difference won't make it fair.)
>
>Assume that machine A is the faster one and that machine B is slower by a factor
>of k>1. The natural impulse would be to give machine B k-times as much
>reflection time.
>For simplicity, let's assume that both machines predict precisely 50% of their
>opponent's moves. Then the effective reflection times for both side are:
>
>  R_a(k) = 1+k/2
>  R_b(k) = k+1/2
>
>Both reflection time functions are linear in k and intersect at k=1, thus it's
>easy to see that
>
> R_a(k) < R_b(k)  for all k>1
>
>Thus
>
>  l := R_b(k)/R_a(k) > 1 for all k>1
>
>is the factor by which B's reflection time is too big to be fair.
>
>Consequently, to have a fair match, the multiplier for B's reflection time needs
>to be k/l instead of k.
>A quick calculation yields the final formula:
>
>  m := k/l = (k^2+2k)/(2k+1)
>
>Thus, if machine B is given m-times the reflection time of machine A, the match
>is fair (under the assumption that both sides predict 50% which is not precise,
>but rather realistic - the final formula is slightly more complex for uneven
>prediction rates).
>
>Example table:
>
>    k    m
>   --------
>    2   ~1.6
>    3   ~2.1
>    4   ~2.7
>    5   ~3.1
>   10   ~5.8
>
>---
>Shep



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.