基于时间的算法评分

jba*_*ing 5 algorithm math

我们希望创建一种评分算法,在更短的时间内获得更高的分数,在更长的时间内获得更少的分数。需要注意的是,没有实际范围,因此时间范围可以从 100 毫秒到长达 10 分钟或更长时间,点范围为 0 到 50。

谢谢你的帮助。

her*_*tao 3

您可以使用以下方程简单地使其成为线性映射:

\n\n

points = 50 * 100/time_in_ms

\n\n

这将为您提供:

\n\n
    \n
  • time_in_ms=100ms=>50积分
  • \n
  • ...
  • \n
  • time_in_ms=10min=>0.0083积分
  • \n
  • ...
  • \n
  • time_in_ms=+\xe2\x88\x9e=>0积分
  • \n
\n\n

如果时间和点的范围发生变化,您可以轻松调整上述方程。

\n

  • 您可以取时间的对数或平方根并调整“100”。例如,如果您使用“points = 50 * 10 / sqrt(time)”,您仍然会在 100 毫秒内获得 50 分,而 5 秒大约会获得 7 分。直到 250 秒(即四分多钟)才达到 1 分。 (3认同)