【发布时间】:2014-05-28 15:56:49
【问题描述】:
我正在尝试为我正在开发的网站构建一个随机样本和随机分配生成器,该网站应该将相同数量的随机选择的项目分配给一组可变的人。
例如:
本轮测评共有 9 位测评员,477 道题,需要两名测评员各打分(同一测评员不会对同一题进行两次评分)。这样一来,总共需要进行 954 项“评估”,每位评估员 106 项。
因此,我需要一个最终列表,例如...
(Item, Assessor1, Assessor2)
(1, A, B)
(2, C, D)
(3, E, F)
(4, G, H)
(5, H, B)
(6, B, F)
.
.
.
And so on
我找到了可以生成随机数的网站,甚至一些可以对组进行随机分配的网站,但即便如此,我仍然发现同一评估员会在整个结果中对同一项目进行评分的情况。
我不太关心固有的随机性,而是更关心确保每个结果列表中的每个评估员都对相同数量的项目进行评分,而不是对相同的项目进行评分。
我通常可以达到我拥有它的程度 - 接近 - 也许一个评分员会多 1 或 2 分,而另一位会少 1 或 2 分,但不幸的是,他们是平等的分组是一个硬性要求。
编辑
实现了@Tinstaafl 的代码并运行了以下代码:
Dim col As New MyItemCollection
col.AddAssessor("A")
col.AddAssessor("B")
col.AddAssessor("C")
col.AddAssessor("D")
col.AddAssessor("E")
col.AddAssessor("F")
col.AddAssessor("G")
col.AddAssessor("H")
col.AddAssessor("I")
For I As Integer = 1 To 477
col.AddItem(I.ToString)
Next
Dim newList As List(Of MyItemCollection.MyItem) = col.AssignAssessors
For Each item As MyItemCollection.MyItem In col.itemlist
Response.Write(item.ToString & "<br/>")
Next
不幸的是我的输出看起来像
1 - F - F
2 - I - I
3 - E - E
4 - F - F
5 - C - C
6 - D - D
7 - G - G
8 - A - A
9 - C - C
10 - B - B
11 - D - D
12 - D - D
13 - D - D
14 - D - D
15 - H - H
等等……
【问题讨论】:
标签: vb.net algorithm random random-sample