Yes we need to be clear what scales we're talking about. What you call Natural I thought was called Gamma.
Natural = ln(Gamma).
Elo = Natural*400/ln(10)
I think these are the same as the definitions given in 2.1 of
http://remi.coulom.free.fr/WHR/WHR.pdf (Greek letter gamma = Gamma, lowercase r = Natural, uppercase R = Elo).
Code: Select all
|Elo |Natural|Gamma | win%|
|0.00 |0 |1.00 |0.50 |
|30.00 |0.075 |1.19 |0.46 |
|60.00 |0.15 |1.41 |0.41 |
|400.00 |1 |10.00 |0.09 |
Am I right that the handicap argument for Game::initialize is on the classic Elo scale? I see this bits of code that make me think so:
opponent_elo = bpd.elo + black_advantage # Addition used here, as I expected
rval = 10**(opponent_elo/400.0) # Here is the conversion from Elo to Natural
When I wrote: "So for kyu players and 1 rank difference: RankB-RankA=1 and k=0.85.", that was for the KGS formula, which uses a Natural scale: P = 1 / ( 1 + e^(k*(RankB-RankA)) ). So for that formula ranks are fixed to always be 1 rank = 1.0 on the Natural scale. And the "k" parameter is used to change expected win rates for dans vs kyus.
So to compare apples to apples I converted from that formula to the classic Elo formula which uses log10 and has the 400 constant in there. I did a similar conversion from EGF GoR's parameter they call "a" (
http://www.europeangodatabase.eu/EGD/EG ... system.php).
When you wrote your system used 30-60 Elo per rank, I assumed you meant the classic Elo scale using log10 and the 400 constant, is that right? I added a table for those values:
Code: Select all
| | KGS | EGF | EGF | KGS | EGF | EGF |
| | exp. | exp. | obs. | exp. | exp. | obs. |
| even game | win % | win % | win % | elo | elo | elo |
|-----------|-------|-------|-------|-------|-------|-------|
| 10k vs 9k | 30.0 | 33.9 | 44.8 | 148 | 116 | 36 |
| 5d vs 6d | 21.4 | 20.1 | 27.8 | 226 | 232 | 166 |
30 Elo difference | 45.7% | (go shrine lower end 1 rank difference)
60 Elo difference | 41.5% | (go shrine lower end 1 rank difference)