24点游戏探秘系列6:用概率统计的眼光看24点游戏

    技术2022-05-11  73

    24点游戏探秘系列6:

    用概率统计的眼光看24点游戏

    作者 ococo 2003/1/30 http://ococo.vip.myrice.com

    24点游戏是用四张牌使用加减乘除先得出24者为赢(其中A代表1;J代表11;Q代表12;K代表13;大小王代表5)。

    解24点游戏时,需要试多少次才知道是否有解呢?为了简单起见,这里只讨论四数不同的情况。

    首先看两个数用加减乘除运算,看有几种情况:

    a + ba * ba - ba / bb - ab / a

    去除与(a+b)等价的(b+a),和与(a*b)等价的(b*a),有6种情况。

    从4个数中取两个数,根据概率统计可知有4*3/2=6种可能。

    因此,第一步计算有4*3/2 * 6 = 36种可能。

    现在,有一个计算出的数,和4个数中的另外两个,共3个数。需要从中再取出两个并选择一个运算方式。这次运算又有3*2/2*6 = 18 种可能(原理同上)。最后两个数的运算又有 2*1/2*6 = 6种可能。

    因此,总的来看,每一组数都有36*18*6 = 3888种可能情况。每个解都是这3888种情况中的一种。计算机求解也是在这3888种情况中逐一尝试进行的。

    那么又有多少组数呢。这就简单了。四个数都不相同时,有13*12*11*10 = 17160组数。

    求所有局面的所有解,也就是17160*3888 = 66718080种情况,做这个对现在的家用电脑都是小菜一碟,瞬间完成的。

    以下是不重复1-13的四个数有解个数的分布情况:

    108组数没有解。

    其他情况为:

     sum(1-10)=356 //表示 有356组的解的个数在(1-10)之间 sum(11-20)=121 sum(21-30)=80 sum(31-40)=29 sum(41-50)=8 sum(51-60)=5 sum(61-70)=2 sum(71-80)=2 sum(81-90)=2 sum(91-100)=1 sum(101-110)=0 sum(111-120)=1


    最新回复(0)