在3个“存储桶”之间分配点的算法

时间:2019-05-21 23:18:57

标签: python algorithm sorting

我正在尝试编写一种算法,以在系统中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分),等等。

我无法找到一种方法来完成这项工作,部分原因是我不知道这种操作叫什么。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您可以汇总规则权重(@Table(name = "X") @Entity public class Extended extends Extracted{ //all relational fields from OldMain, no data fields } )并将其与100进行比较。您应该为每个规则分配S = sum(rule_num[i] * rule_weight[i])点,而不是给规则分配1点。

100/S

如果积分不是整数,这取决于您。