Advertisement
AlFas

Untitled

May 2nd, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.75 KB | None | 0 0
  1. Objective Champion Winrate Algorithm
  2.  
  3. DISCLAIMER: This is not tested at all, and by no means must be taken into serious consideration yet; it's under heavy development without evident mathematical reasoning behind the algorithms. All the formulas are generated with a concept in mind that is extracted empirically.
  4.  
  5. G(t): a function that, given a time t (in seconds), calculates the gravity of the match's result towards the overall winrate of the champion based on the player's estimated experience
  6.  
  7. Assume a player has played a total of M matches, of which N are with that champion whose winrate is to be calculated. Each match is Q[i], where 0 <= i < M, and each match with the selected champion is P[i], where 0 <= i < N.
  8.  
  9. At any given moment, the player's experience in that champion is determined by both the frequency at which they train themselves and the other champions that are being played. The more the times the player does not play the selected champion, the more the gravity degrataion.
  10.  
  11. The gravity starts and is low-capped at 1.00. By playing the champion gravity is increased exponentially, and by not playing for a certain amount of time or more, or even playing other champions, gravity starts slightly decreasing exponentially too.
  12.  
  13. However, as the player keeps playing, their experience is also increased depending on the frequency of playing.
  14.  
  15. Therefore, by iterating through all the matches, the gravity for the selected champion is determined by the following formula:
  16.  
  17. G(t) = max(1, g(m)), where
  18. - t is the time in seconds
  19. - m is the index of the last match that was **completed** before time t
  20.  
  21. j
  22. g(t) = 1 + Σ (d(j, k, a(j)) ^ o(i, j)), where
  23. i=0
  24. - j is the index of the last match before the specified time
  25. - k is the index of the last match with the selected champion before the specified time
  26.  
  27. d(p, q, t) = ((b(q) - t) / (1.75D)) ^ sqrt(2), where
  28. - p is the index of the last match before the specified time
  29. - q is the index of the last match with the selected champion before the specified time
  30. - t is the time at which the delta is being calculated
  31. - D the constant denoting the number of seconds in a day (86400)
  32.  
  33. e(p, t) = , where
  34. - p is the index of the last match before the specified time
  35. - q is the index of the last match with the selected champion before the specified time
  36. - t is the time at which the delta is being calculated
  37.  
  38. o(i, j) = (1 + (1 - j ^ -0.25) * (i / j) ^ 1.25), where
  39. - i is the index of the currently evaluated match
  40. - j is the index of the last match that will be evaluated
  41.  
  42. k(i) =
  43.  
  44. a(i): a function that returns the time at which the match at the specified index started
  45. b(i): a function that returns the time at which the match with the selected champion at the specified index started
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement