【发布时间】:2019-05-21 23:18:56
【问题描述】:
我正在尝试编写一个算法来在系统中的 X 个规则之间分配 100 个权重点,其中规则具有 Y 个不同的权重之一。例如:
如果我在系统中有 9 条规则,其中 3 条规则设置为高优先级,2 条规则设置为中优先级,4 条规则设置为低优先级,那么积分将按如下方式分配:
High (3x) - 20 per rule (60 points)
Med (2x) - 10 per rule (20 points)
Low (4x) - 5 per rule (20 points)
总分 100 分
所有权重可能并不总是存在。例如,可能有 1 条高规则和 1 条低规则、1 条中等规则(将获得全部 100 分)等。
我还没有找到一种方法来完成这项工作,部分原因是我不知道这种类型的操作叫什么。任何帮助将不胜感激。
【问题讨论】:
-
> 如果我在系统中有 6 条规则,其中 3 条规则设置为高优先级,2 条规则设置为中优先级,4 条规则设置为低优先级 你是说 9 条规则吗?
-
我做到了。我将编辑问题。
-
您说的是“Y”权重,但在您的帖子的其余部分中,始终存在三个权重(对应于“高”、“中”和“低”)。这只是一个示例吗?您是否正在寻找一个同时涵盖两个、四个或任何数量权重的解决方案?
-
我们目前有 3 个权重,但我们可能会在未来添加更多权重,如果可能的话,我希望我的解决方案能够适应。
-
我可以假设权重不必是简单的 1/2/4 比率吗?