参数评分函数或算法

Parametric Scoring Function or Algorithm

我正在尝试想出一种方法来根据 "points" 的整数来得出 "score",可以使用少量(3-5?)参数进行调整.最好它足够简单,可以合理地在电子表格中输入 function/calculation 以供 "designer"(不是程序员或数学家)调整参数。第一个点具有最大价值,最终其他点具有固定或接近固定的价值。从点值的初始斜率到最终斜率的过渡将是平滑。请参阅下面的示例形状。

对于参数,一个理想的例子是:

曲线的确切形状不太重要,只要拐角可以更平滑或更尖锐

这不是一个游戏,而是一个包含多个组件的评级系统(其中几个可能使用这种 scale)将被组合。

这似乎是 SO/SE 的非传统问题。在我的职业生涯中,我主要从事财务软件方面的工作,我希望我能在这类事情上有一些领域的智慧。

Prune 解决方案的实施:

Google Sheet

参数:

  • 初始值(一)
  • 第二个值 (b)
  • 最小值 (z)

你的衰减率为b/a。从这里开始很简单:遍历您的值,在每一步应用衰减,直到您达到最小值 "peg":

x[n] = max( z, a * (b/a)^n )
// Take the larger of the computed "decayed" value, 
//   and the specified minimum.

序列 x 是您的值列表。

如果您想要达到特定点的整数,您也可以截断中间结果。只需将 floor 函数应用于每个计算值,但如果它变得太小,仍然允许 z 覆盖它。

这样够好吗?我知道导数函数中存在不连续性,如果最小值和衰减没有很好地对齐,这会很明显。您可以通过相对衰减来调整它,将指数衰减曲线从 y = 0 转换为 z.

base = z
diff = a-z
ratio = (b-z) / diff

x[n] = z + diff * ratio^n

在这种情况下,您不需要 max 函数,因为衰减的自然渐近线为 0。