Also-Rans list updated

Discussion of computer chess matches and engine tournaments.

Moderator: Ras

Michel
Posts: 2292
Joined: Mon Sep 29, 2008 1:50 am

Re: Also-Rans list updated

Post by Michel »

For fun I computed the offset between unscaled BayesElo and Logistic Elo for large Elo. It is given by the formula

Code: Select all

log(cosh(ld))/l
where d=draw_elo and l is the constant 0.00575646273248511 (approx 1/174). (BayesElo is the larger one).

The offset is actually surprisingly large. For the default draw_elo=97.3 it is 26 but for the more typical draw_elo of 240 it is already equal to 130.

Asymptotically for large draw_elo we may assume

Code: Select all

cosh(ld)=(1/2)exp(ld)
and thus the offset is

Code: Select all

(log(1/2)+ld)/l=d-120
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Also-Rans list updated

Post by Laskos »

Michel wrote:For fun I computed the offset between unscaled BayesElo and Logistic Elo for large Elo. It is given by the formula

Code: Select all

log(cosh(ld))/l
where d=draw_elo and l is the constant 0.00575646273248511 (approx 1/174). (BayesElo is the larger one).

The offset is actually surprisingly large. For the default draw_elo=97.3 it is 26 but for the more typical draw_elo of 240 it is already equal to 130.

Asymptotically for large draw_elo we may assume

Code: Select all

cosh(ld)=(1/2)exp(ld)
and thus the offset is

Code: Select all

(log(1/2)+ld)/l=d-120
So you are saying that there is a constant offset (for fixed drawelo and x->infinity)? I either miss something or something is wrong when I see Bayeselo default curve and true Logistic with the same f'(0). Drawelo=200 here.

Image

The offset doesn't seem a constant for x->infinity, or I miss something like a multiplication instead of addition.
Michel
Posts: 2292
Joined: Mon Sep 29, 2008 1:50 am

Re: Also-Rans list updated

Post by Michel »

when I see Bayeselo default curve and true Logistic with the same f'(0)

I said _unscaled_ BayesElo. Thus the f'(0) are different.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Also-Rans list updated

Post by Laskos »

Michel wrote:
when I see Bayeselo default curve and true Logistic with the same f'(0)

I said _unscaled_ BayesElo. Thus the f'(0) are different.
Ok, thanks.
Michel
Posts: 2292
Joined: Mon Sep 29, 2008 1:50 am

Re: Also-Rans list updated

Post by Michel »

No problem.

From looking at the graphs it seems that if L is the logistic score function and B is the unscaled Bayes Elo score function (thus B(x)=(1/2)(L(x-d)+L(x+d)) ) then

(B^-1 circ L)(x)-x

is reasonably well approximated by a logistic type function with known f'(0) and known asymptotic values. This would then answer Lucas's original request for an approximate formula relating BayesElo and Logistic elo in case of a match between two engines.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Also-Rans list updated

Post by Laskos »

Michel wrote:No problem.

From looking at the graphs it seems that if L is the logistic score function and B is the unscaled Bayes Elo score function (thus B(x)=(1/2)(L(x-d)+L(x+d)) ) then

(B^-1 circ L)(x)-x

is reasonably well approximated by a logistic type function with known f'(0) and known asymptotic values. This would then answer Lucas's original request for an approximate formula relating BayesElo and Logistic elo in case of a match between two engines.
It may look nice, but practically the inverse of B(x) is ugly
-400 log[(exp(-d/400) (1 + exp(d/200) (1 - 2 y) - 2 y + Sqrt[(1 - 2 y)^2 + exp(d/100) (1 - 2 y)^2 + exp(d/200) (2 + 8 y - 8 y^2)]))/(4 y)]

And inputing L(x), (B^-1 circle L)(x) is something like

-400 log[1/4 exp(1/400 (-d - x)) (1 + exp(d/200) - exp(1/400 (2 d + x)) + Sqrt[(1 + exp(d/200))^2 - (-1 + exp(d/200))^2 Sech[x/800]^2] + exp(x/400) (-1 + Sqrt[(1 + exp(d/200))^2 - (-1 + exp(d/200))^2 Sech[x/800^2]]))]

Having this, I plotted (B^-1 circle L)(x) - x for d=240

Image

It indeed seems a logistic, as you figured out, with a constant offset for x->infinity and a given derivative in 0.
Michel
Posts: 2292
Joined: Mon Sep 29, 2008 1:50 am

Re: Also-Rans list updated

Post by Michel »

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

Re: Also-Rans list updated

Post by Laskos »

The derivative of (B^-1 circle L)(x)-x in 0 is

1/4*exp(-d/400)*[exp(d/400)-1]^2

You got the offset, so the logistic can be constructed.
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Also-Rans list updated

Post by Daniel Shawul »

Sorry to butt in with an unrelated question but I need help with integrating and finding limits of a function using mathematica. I tried for two days in vain so i hope you or Michel can give me clues as how to solve it if that is indeed the case.

It can integrate this
(Integral[ 2^x, {x,0,d/2} ] +Integral[ exp(-2 * ((d*(0.5-1) + x)^2)/d) 2^x, {x,d/2,d}])^(1/d)

But I am interested to find its limit as d goes to infinity and it chokes on that. I am trying the online integrator so maybe that is the problem.
limit (Integral[ 2^x, {x,0,d/2} ] +Integral[ exp(-2 * ((d*(0.5-1) + x)^2)/d) 2^x, {x,d/2,d}])^(1/d) as d->infinity

This function is obtained from an approximation a product of a cumulative binomial and an exponential 2^d. The first part decrease while the second increases canceling each other out eventually. As d->infinity there should be a constant to be reached that is the branching factor.

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

Re: Also-Rans list updated

Post by Laskos »

Daniel Shawul wrote:Sorry to butt in with an unrelated question but I need help with integrating and finding limits of a function using mathematica. I tried for two days in vain so i hope you or Michel can give me clues as how to solve it if that is indeed the case.

It can integrate this
(Integral[ 2^x, {x,0,d/2} ] +Integral[ exp(-2 * ((d*(0.5-1) + x)^2)/d) 2^x, {x,d/2,d}])^(1/d)

But I am interested to find its limit as d goes to infinity and it chokes on that. I am trying the online integrator so maybe that is the problem.
limit (Integral[ 2^x, {x,0,d/2} ] +Integral[ exp(-2 * ((d*(0.5-1) + x)^2)/d) 2^x, {x,d/2,d}])^(1/d) as d->infinity

This function is obtained from an approximation a product of a cumulative binomial and an exponential 2^d. The first part decrease while the second increases canceling each other out eventually. As d->infinity there should be a constant to be reached that is the branching factor.

Daniel
Mathematica admits the limit quickly
1.501748681871975