◇◇新语丝(www.xys.org)(xys3.dxiong.com)(www.xysforum.org)(xys2.dropin.org)◇◇ 滚屏抽号滚了吗 作者:胖光   看到奥卡姆剃刀的《滚屏抽号何时休》, 有几点不同意见:   现在很多抽奖的程序,看起来就是一个滚筒,停到哪里就选中那个号码。这 个显然和我们实际的实物抽奖有类似的地方,这也是理所应当的,本来就是计算 机模拟抽奖嘛!   但是如果把所有号码视为一个滚筒,就碰到奥先生的第二个问题,“那自开 动后到嘉宾喊停能滚多少个号码呢”, 显然很多号码根本连“滚到”的机会都没 有嘛!也即“要人为确定下来从哪疙瘩滚起,那远离这疙瘩的号全都注定没戏 了”。问题是实际上滚筒并不存在,屏幕上只是不停的显示随机(伪随机)抽出 的一个号码而已。这个过程并不需要奥先生所说的“经过复杂的算法运算形成两 组长伪随机序列,使开动位置和下次取位双随机吧?”,当然这样做也不难,实 际上我们完成“滚屏抽奖”只需要1、2条sql语句的工作量而已。 While not 喊停{ sql 随机选择一行 显示 sleep 0.1秒 }   接下来第二个问题,如果要从1000万抽出1条,是否需要输入1000万记录到 计算机呢。首先作为一个技术问题输入不是问题,短信平台会自动完成这个工作。 其次作为一个数学问题,假设工作人员只输入1000万条中的100条,是否影响每 个号码的中奖概率呢?这是一个简单的条件概率,结论是并不影响!当然那个嘉 宾喊停,间隔多少也不影响中奖概率,但是这是一种抽奖的形式,不就图个乐嘛。   第三个问题,计算机会不会作弊?计算机当然不作弊,程序可能作弊。这是 毫无疑问的。奥先生的关于公证员这一问就很有力,为了保证程序没有问题,公 证员首先必须code review保证代码是合理的没有故意作弊,其次公证员必须保 证compile过程正常、还需要保证运行的就是刚才检查过的程序、显示屏结果的 确和计算机生成的一致等等。。。我相信这是不可能的任务。公证员在这种场合 基本就是摆设,没人能说服大家这个过程是绝对公平的。所以去年厦门px游行后 的市民听证会的入场抽号就没有使用计算机,而是用了10多名小学生轮流抽号、 组合、辛苦了快2个小时,总算免却作弊的嫌疑。   总之我认为“滚屏”抽号无可厚非,是否公证是个法律技术交叉问题,法律 上是否必不可少我是外行不敢说,从技术上公证员是很难保证计算机抽奖的公正 性的。 (XYS20090216) ◇◇新语丝(www.xys.org)(xys3.dxiong.com)(www.xysforum.org)(xys2.dropin.org)◇◇