gameServer/OfficialServer/Glicko2.hs
changeset 11381 437a60995fe1
parent 11380 ff0fa38bdb18
child 11390 36e1bbb6ecea
equal deleted inserted replaced
11380:ff0fa38bdb18 11381:437a60995fe1
    34         φᵢ = rD oppRating / 173.7178
    34         φᵢ = rD oppRating / 173.7178
    35         g_φᵢ = g_φ φᵢ
    35         g_φᵢ = g_φ φᵢ
    36 
    36 
    37 
    37 
    38 calcNewRating :: RatingData -> [GameData] -> RatingData
    38 calcNewRating :: RatingData -> [GameData] -> RatingData
    39 calcNewRating oldRating [] = oldRating
    39 calcNewRating oldRating [] = RatingData (ratingValue oldRating) (173.7178 * sqrt (φ ^ 2 + σ ^ 2)) σ
       
    40     where
       
    41         φ = rD oldRating / 173.7178
       
    42         σ = volatility oldRating
       
    43 
    40 calcNewRating oldRating games = RatingData (173.7178 * μ' + 1500) (173.7178 * sqrt φ'sqr) σ'
    44 calcNewRating oldRating games = RatingData (173.7178 * μ' + 1500) (173.7178 * sqrt φ'sqr) σ'
    41     where
    45     where
    42         _Es = map (calcE oldRating) games
    46         _Es = map (calcE oldRating) games
    43         υ = 1 / sum (map υ_p _Es)
    47         υ = 1 / sum (map υ_p _Es)
    44         υ_p (_Eᵢ, g_φᵢ, _) = g_φᵢ ^ 2 * _Eᵢ * (1 - _Eᵢ)
    48         υ_p (_Eᵢ, g_φᵢ, _) = g_φᵢ ^ 2 * _Eᵢ * (1 - _Eᵢ)