Weng and Lin 2011 - Bradley-Terry Update Algorithms
Summary
Closed-form online rules for the Bradley-Terry model with variance: each player’s mean moves by and its variance shrinks by . Full-pair uses all opponents; partial-pair only adjacent ranks. With two players this is an Elo step with Bayesian step size.
Overview
Variance-augmented BT (Eq. 48): , (via ). Ties follow Glicko: (Eq. 51).
Main Content
Algorithm 1 (BT, full-pair)
For team and each opponent : , , , , with if (i beats q), if tied, if . Then , ; team update , ; individuals by Eqs. 43-44. The damping weights control how fast variance falls (default in the experiments).
Algorithm 2 (BT, partial-pair)
Same as Algorithm 1 except that sum only over = the teams ranked immediately above and below (one neighbour for first and last place).
Derivation sketch. and , so and .
Relation to Elo. Elo: with . is a variance-free, reparameterised ; here varies per player and falls with uncertainty.
Examples
One game, two new players
Setup. Both players , , ; player 1 wins. Solution. ; ; , so , ; drops from 69.4 to about 65.05 (verified numerically below). Interpretation. A new player moves about 2.6 points on its first result; a veteran with small moves far less.
import numpy as np
def bt_full_update(mu, sig2, rank, beta2=(25/6)**2, kappa=1e-4):
"""One player per team. rank: smaller is better; equal ranks tie."""
k = len(mu); new_mu = mu.copy(); new_s2 = sig2.copy()
for i in range(k):
Om = De = 0.0
for q in range(k):
if q == i: continue
c = np.sqrt(sig2[i] + sig2[q] + 2*beta2)
p = 1/(1+np.exp((mu[q]-mu[i])/c))
s = 1.0 if rank[q] > rank[i] else (0.5 if rank[q] == rank[i] else 0.0)
gamma = np.sqrt(sig2[i])/c
Om += sig2[i]/c*(s-p)
De += gamma*(sig2[i]/c**2)*p*(1-p)
new_mu[i] = mu[i] + Om
new_s2[i] = sig2[i]*max(1-De, kappa)
return new_mu, new_s2
mu = np.array([25., 25.]); s2 = np.array([(25/3)**2]*2)
print(bt_full_update(mu, s2, [1, 2])) # mu -> [27.64, 22.36], sig2 -> 65.05Connections
- Elo, Glicko and TrueSkill compared in Elo, Glicko and TrueSkill - Dynamic Skill Ratings (Concept Note).
- Offline counterpart: Caron 2012 - Bradley-Terry Likelihood and Latent Exponential Augmentation.
See Also
Weng and Lin 2011 - Thurstone-Mosteller and Plackett-Luce Update Rules · Weng and Lin 2011 - Glicko Derivation and Comparison with Elo