我正在编写一些代码,允许评估者评估一些东西(模糊,对吧?)。在进行评估之前,需要对提交的项目进行随机抽样。这部分相当简单。
困扰我的部分是要求每个项目都需要由两个不同的评估者进行评估,并且我们希望每个评估者执行的评估的最终数量尽可能均匀地分布。
例如:如果我有10个项目,那么应该是20个评估(每个项目2个评估)。20个评估除以4个评估者,得出每个评估者5个评估。显然,数字不会总是这么干净(11个项目仍然是每个评估者5个项目,剩下的两个项目在每个人都平衡后分配到最上面)。
只是在这里寻找一些算法方面的帮助。我能得到的最接近的结果是一条钟形曲线,而不是我想要的。
发布于 2011-04-19 04:11:41
这并不难。假设您有A访问器和I项。只需运行以下循环(所有内容都是从零开始的索引):
a = 0
for 0 <= r < 2:
for 0 <= i < I:
while (assessor a is already assessing item i):
a = (a + 1) mod A
assessor a will assess item i on round r
a = (a + 1) mod A这将简单地以循环方式分配评估人员,但将跳过同一评估人员将对同一项目进行两次评估的情况。
https://stackoverflow.com/questions/5707313
复制相似问题