Continued: Finding equivalent times for different engines

Discussion of chess software programming and technical issues.

Moderator: Ras

Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: Continued: Finding equivalent times for different engine

Post by Sven »

Some additions to my model are necessary.

1) When looking at the formula

Code: Select all

DTO2(N) = -400 * log10(N / WT(N) - 1)
it is obvious that WT(N), the sum of all game results so far, must be neither zero nor N (i.e., you cannot immediately calculate any ELO estimate from a 0% or 100% game result). A simple solution to come around that problem is to start with an imaginary first game that is not really played but counted as a draw. It might be good to exclude that first game when calculating the error function, although it would not hurt much not to do so. AFAIK the BayesElo program does something similar.

2) I wrote this:

Code: Select all

  K(N+1) := sqrt(2 ^ ((ARA2(N) - DTO2(N)) / DR))
  [...]

  Note also that sqrt("...") is used instead of "..." to avoid jumping values and to allow for a smooth convergence.
The original, more accurate version would instead be:

Code: Select all

K(N+1) := 2 ^ ((ARA2(N) - DTO2(N)) / DR)
The only real drawback I found appears if many of the first games are lost by the second engine E2. In this case the "accurate" formula would assign very high time-odds factors, e.g. 106.63 after starting with three losses (for DR=70), which would make the whole experiment quite useless due to its time consumption. Therefore I switched to the "smooth version" using the square root, although I am not sure about its convergence properties since the resulting time-odds factor after having reached a 50% total game result is not directly derived from the underlying model.

Sven
Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: Continued: Finding equivalent times for different engine

Post by Sven »

Uri Blass wrote:The total sum of all results in all games also converge to 50% but it is an indirect result
It would be subject of a proof whether this is valid for all models we are discussing here, including mine of course. At least I think it is possible to have a function that calculates T(N+1) without getting total results converging to 50%. A possible problem could be a toggling effect, for instance.
Uri Blass wrote:and my target is to increase the time to have expected result of 50% in the next game
To have a notion of an expected result you certainly need a model of rating based on time-odds games, as in my model for instance.

What makes your very first formula attractive, as opposed to all doubts and alternative thoughts I developed, is its simplicity. So I would not exclude that it finally turns out to be better than everything else that came later, also from a practical viewpoint.

That does not mean that I wouldn't defend my own approach any longer, though. Maybe we find some combined solution.

@All: Any volunteers for running simulations and/or real tests based on the models presented here are welcome, of course. I did not spend the time yet to write a script as initially suggested.

Sven