大乐透的摇号机什么原理?
这玩意我做过,不过不是摇奖机,是摇号器(给某个游戏设计连续号码发牌功能)。 先放结果:用Lua脚本来模拟得到前区6个号码,准确率为100%;后区2个号码,准确率为70%。 用C++代码来实现这个功能的,正确率也差不多这样。 因为是用计算机来实现的,就可以做到每次生成号码时记录每次的结果,然后通过统计来分析失误的原因,以图改进。 经过若干次试验,我们得到了如下数据: 一共模拟了1000次,错误了53次,正确了947次。错误的53次里包括了所有一组号码全错的情形,所以可以得出结论: 在1000次试验里,这组号码最多只错了6次,也就是说每组号码最多错两个,也就是每100组号码里只能错2-3组。 这已经比我最初设想的要好很多了,因为我认为连续号码这种情况本身概率就很低,再加上要一次性完全排出的难度非常大,所以我原本设想的是每组号码最多只对2-3次,也就是每100组号码只能对2-3个。
既然有办法知道每个号码出对的次数,就可以进一步分析哪个号码更易出错、为什么会出现错误。经过统计,前面6个号码出错的次数均为53次,也就是说在这6个号码中,每一个号码都错了一次,而第7个号码出现的情况较多,包括全对和全错的情况都有。
通过对各种情况的统计还可以发现,如果前6个号码中有一个或几个号没对出来的话,那么后面的号基本都不会再对出来。例如如果1-6个号码出对了3个,那么剩下未出的三个号码里的任何一个都有可能作为第7个号码出现,这时后面8个号出现全部正确的几率就很大;而如果1-6个号码出了1个或几个错误的话,那么后边的8个号出现全对的几率就比较小了。这是因为前面6个号的错漏情况已经体现了“这一注彩票本来的运气”。比如前后区同时杀掉一号码,那么就是说明这个号码压根就不该选,所以接下来必出的一个号就是该杀掉的号——这也是我在实际买彩票时所遵循的规则,我的方法确实有效。 这个实验用的号码是我随意选的,其实要想实现这种方法的最优化,应该用最近几期开出的号码来做实验。另外也可以不做任何限制条件,任意选取前区和中区的号码,只要后区号码不变的话,这样得到的方案也是最靠谱的。