创建非重新组织的随机人群

时间:2015-04-29 15:37:12

标签: math random grouping

所以这不是一个真正的信息学问题,但我猜测解决方案在于信息学。

我们有一个由100名学生组成的小组,他们之间的相互讨论。为此,我们希望将它们分成10组,每组10人。 我们希望进行三轮讨论,但我们希望每次都有不同的小组。没有人应该和同一个人坐两次。

假设我们分配了我们的小组信件 abcdefghij(10) Person1获得第1轮:第2轮:第3轮:C Person2获得Round1:A然后无法获得Round2:B或Round3:C因为他们会再次见面。

手动执行此操作听起来非常疯狂,我确信有一个非常简单的解决方案。也许甚至是一个完全符合这个要求的程序,但是我无法找到它或者不知道要搜索什么......

可悲的是,我在编程方面没有任何技巧,但也许这甚至可以用excel或类似的方式完成?

所有帮助或提示apreciated。 谢谢你花时间!

2 个答案:

答案 0 :(得分:1)

是的,可以在excel中完成。你只需要三步法:

  1. 以随机方式混合学生。
  2. 创建一组不重复学生的混音
  3. 将订单转换应用于学生
  4. 棘手的是第二名。

    示例性组合是:

    由于学生的顺序是随机的,你可以将它们分成10组10人,这很容易。所以我们完成了第一次讨论。

    对于第二次讨论,你可以选择每组的第一人(每10个人一次),因为他们第一次不在同一组。

    然后从第1组获得第1人,从第2组获得第2名,从第3组获得第3名。通过这种方式,您可以清楚地看到没有人与该组中的同一个人。对于其余的组,只需要进行不同的开始,所以第二组的第一人与第二组一起进入第三组等。

    尽管这不是唯一的解决方案,但实施起来相当容易。甚至可以在excel中使用。

答案 1 :(得分:1)

如果你只需要三轮,你可能会得到一个“差异计划”,甚至是一个随机的过程,同时拒绝不合适的安排。但是,如果您可以稍微更改数字100,则可以获得更有趣的结果。

例如,很容易在一组81个元素上构建所谓的“可解析的平衡不完全块设计”,9个组,在一组中没有一对出现多次。您可以使用sage系统命令echo 'print(designs.AffineGeometryDesign(2,1,9))' | sage > output.txt执行此操作。不幸的是,sage以字典顺序打印块,但您可以轻松地以更有用的顺序重新排列它们。类似地,print(designs.AffineGeometryDesign(2,1,11))提供了一个块设计,其中包含121个元素,每组11个。使用10而不是9或11不能解决问题:数字必须是素数的幂。

这些命令的输出相当长,所以我将做一个更简单的例子,用4代替9.输出是

AffineGeometryDesign<points=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], 
blocks=[[0, 1, 2, 3], [0, 4, 8, 12], [0, 5, 10, 15], [0, 6, 11, 13], [0, 7, 9, 14], 
[1, 4, 11, 14], [1, 5, 9, 13], [1, 6, 8, 15], [1, 7, 10, 12], [2, 4, 9, 15], 
[2, 5, 11, 12], [2, 6, 10, 14], [2, 7, 8, 13], [3, 4, 10, 13], [3, 5, 8, 14], 
[3, 6, 9, 12], [3, 7, 11, 15], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15]]>

points只给出了积分的编号;请注意,它从0开始而不是1,并且总共有16个点。更有趣的是blocks。我们可以按如下方式重新排列块:

[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15]
[0, 4, 8, 12], [1, 5, 9, 13], [2, 6, 10, 14], [3, 7, 11, 15]
[0, 5, 10, 15], [1, 4, 11, 14], [2, 7, 8, 13], [3, 6, 9, 12] 
[0, 6, 11, 13], [1, 7, 10, 12], [2, 4, 9, 15], [3, 5, 8, 14]
[0, 7, 9, 14], [1, 6, 8, 15], [2, 5, 11, 12], [3, 4, 10, 13]  

每行覆盖具有4个不相交子集的地面集。选择任意一对数字,你会发现它们在一个且只有一个块在一起。这允许您在存在rBIBD的情况下延伸超过三轮。

与100名学生打交道的一种方法是增加21名“假”学生(可能只是空占位者或可能是教师,助教,研究助理等)并使用(121,11,1) -rBIBD由Sage生成。