It's a great pity that it is not possible to edit posts. Below, I am correcting a minor technical point--I was off by 1 in one place, no big deal. The changes are minor, but it is cleaner to rewrite the whole thing. Also, For the sake of simplicity, I have provided the important part of the story, but for your and mine piece of mind I'll give the detailed, full story in the next post (let me keep this one reasonably short). My error was that I had
x+1 instead of simply
x, and I had a consistent (incredible) typo
a=0 instead of
a=1 (
consistent typo--quite an oxymoron, but true).
***
wlod wrote:Assume that the first player's pre-match rating was lower,
A < B, but s/he is making progress by achieving score
a > 1/2 in each game. How many games it will take the first player to overcome the second? Let's compute a sequence of equivalent inequalities:
Code: Select all
A_n > B_n
if and only if
-------------------------------------
n > log((A+B)*(a-b)/(2*s)) / log(q)
-------------------------------------
Both the numerator and denominator logarithms above are negative. Let's get positive expressions instead, by applying log(x) = -log(1/x) and
- log(x)/log(y) = log(1/x) / log(1/y)
so:
Code: Select all
A_n > B_n if and only if
--------------------------------------
n > log(2*s/((A+B)*(a-b)) / log(1/q)
--------------------------------------
Next:
Code: Select all
2*s = 2*(a*B - b*A)
= (A+B)*(a-b) + (B-A)*(a+b)
= (A+B)*(a-b) + B-A
i.e.
-------------------------
2*s = (A+B)*(a-b) + B-A
-------------------------
hence
Code: Select all
A_n > B_n if and only if
-----------------------------------------------
n > log(1 + (B-A) / ((A+B)*(a-b))) / log(1/q)
-----------------------------------------------
Let's introduce an intuitive parameter
x := 1/dyn (thus
x > 1), so that
- 1/q = 1/(1-dyn) = 1 + 1/(x-1)x
Then
(
log stands here for the
natural logarithm). It follows that
Code: Select all
if
---------------------------------------
n >/ x * log(1 + (B-A)/((A+B)*(a-b)))
---------------------------------------
then A_n > B_n
In particular, for a=1 (hence b=0), we get:
Code: Select all
if a=1 and
-------------------------------
n >/ x * log(1 + (B-A)/(A+B))
-------------------------------
then A_n > B_n
Let's simplify this further, by applying y > log(1+y),
Code: Select all
if a=1 and
--------------------
n >/ x*(B-A)/(A+B)
--------------------
then A_n > B_n
For instance, when the pre-match rating of the second player is
x times the rating of the first one, B/A = x, then the first player needs about
x wins in a row to overcome, rating wise, the second player. Thus via
x we get a good feel of the dynamic constant
dyn; e.g. set
x:=12, i.e.
dyn:=1/12, and it will take you 12 wins in a row against a player, whose rating is 12 times higher, to overcome that player's rating (possibly one less--you need to check the earlier, exact formulas above; exact formulas are more complex).
On the other hand (when, as always, x > 1), and the ratings are
A := c*(x-1) and
B := c*(x+1), i.e. proportional to x-1 and x+1 respectively, then the two ratings are close enough (or, when
x>0 is small, the dynamic parameter
dyn is high) for just one game won by the first player to cause a swap of the ranking of the two players.
For instance, we may infer from Fischer's 9:9 rule that he considered 10:9 advantage insignificant. This means perhaps that one game should be enough to swap the ranking of the two players whose ratings are in a 10:9 proportion. In that case we should set
x := 19, i.e.
dyn := 1/19. Then, if your pre-game rating is 9/10 of your opponent rating, by winning your game against him/her--just one game--you will get ahead. Thus a m-ad system with the dynamic constant
dyn := 1/19 may be called a m-ad system with
Fischer's dynamics.
*******
Regards,
[/quote]