一个赌博面试题的研究(未解答出来)

来源:互联网 发布:手机连不上4g网络数据 编辑:程序博客网 时间:2024/04/28 09:46
        问题简单化就是检测一个掷骰子软件是否公正,骰子为6个面。


最简单的思考为:侧大量的数据,然后求每一个值的出现概率是否为1/6
被leader否定后仍然没有发现逻辑疏忽出现在哪
无奈最后看了答案,明白了 不仅仅需要看概率,还要看每一个值的概率分布是否均匀
比如骰子的出现为1,2,3,4,5,6,1,2,3,4,5,6,1,2,3....
现在发现问题了吧,很明显每一个值的概率都会为1/6,但是他绝对是不公正的
因为他的出现不是随机的,我们能找到其中的规律,并且能够运用这种规律进行作弊
比较隐蔽的作弊方法可以这样:
骰子出现u(1<=u<=6)以后的第n次掷骰子事件出现奇数的概率提高1/5
骰子出现v(1<=v<=6)以后的第n次掷骰子事件出现偶数的概率提高1/5
这种安排仍旧能够使其每个值的概率趋近1/6,但是及其隐蔽
这样的话,解这道题就涉及到数据挖掘方面的算法了,相当棘手啊