欺诈游戏之少数决

看完少数决,里面所出现的‘必胜法’着实是比较精妙。

游戏规则:
1 、总共22个人,选出一个人提出一个问题,所有人都在规定时间内选择投票‘YES’OR ‘NO’
2 、主办方进行唱票,选择人数少的获胜
3 、重复步骤1 2 ,直至最后剩余1人或者2人,即获胜者为1个或者2个

游戏背景:
1 、 主办方每个人分配一个亿(可以理解为借给参赛者)
2 、 淘汰的人输掉一个亿放入奖池,因此而负债主办方一个亿
3 、 若1人获胜,获取奖金21亿元,本金1亿归还主办方;若最后2人获胜,平分20亿奖金,最后每人10亿元奖金,本金1亿归还主办方。
4 、 获胜者若要放弃进入下一轮游戏,则需向主办方归还一半奖金

秋山必胜法:
1 、 寻找其他7人与之组队形成8人组,并签订协议不管谁赢最后的奖金进行均分
2 、 在之后的每轮比赛中,半数人选择‘YES’,半数人选择‘NO’,因而保证了半数的人进入下一轮
3 、 22人赛中,第一轮结束 最坏情况(即进入下一轮人数最多的情况)的结果是10:12,因此进入第二轮人数为10人,自己人有4人(8除以2)
4 、 目前10人,第二轮结束 最坏情况的结果是4:6,因此进入第三轮人数为4人,自己人有2人(4除以2)
5 、 目前4人,第三轮结束 的情况只有 1:3 ,因为两边各有一个自己人,因此最终胜出的一定是自己人

其他人愿意组队理由,算一笔账就清楚了:
1 、 最后8人总资产 =  21 亿奖金+获胜者本身的1亿 = 22亿
2 、 获胜者退赛 归还10.5亿奖金 最后剩余11.5亿
3 、 归还主办方分配给8人的8亿元,剩余3.5亿,平分之后,每人无风险的得到(3.5亿 除以 8),并且不用进入下一轮比赛


可惜的是:半路杀出个更为‘机智’的人福永君

福永必胜法:
1 、 组3个8人组,自己作为每个组的成员,即 3*7+1 = 22,并且不让他人知道多个组的存在
2 、 因而出现 福永所投的一边 一定是少数边 ,因此福永可以走到最后一轮

为什么福永所投的一边一定是少数边?
第一轮:福永和每组队员商量之后表示自己选择‘YES’,则会出现 4*3 = 12 个‘NO’,10个‘YES’,10人进入下一轮
第二轮:福永和每组队员商量之后表示自己选择‘NO’,则会出现 2*3 = 6 个‘YES’,4个‘NO’,4人进入下一轮
第三轮:福永和每组队员商量之后表示自己选择‘YES’,则会出现 1*3 = 3个‘NO’,1个‘YES’也就是福永,游戏结束
出现以上结果的本质是:福永本代表 3 票 , 最后却只能投1票,因此福永投的那一边一定是比对立边少2票的!!!

福永若签订协议组三队,那么赢了之后退赛归还10.5亿,之后的11.5亿不是不够还22人债么?
答:这个真的是绝!作者设计的非常精妙,福永在参赛的时候使用的是假名字,故而签订的协议对于福永来说不生效。


以上就是本剧中出现的两个必胜法。下面就轮到我Carry了!

还记得初中和高中的时候,做数学试卷,有一种证明题,就是压轴的那种,闻风丧胆的那种,看哭了的那种,也就只能
看看的那种o(╯□╰)o。后来,数学老师教给我们一种方法:数学归纳法。这种方法做证明题真的就像是切萝卜丝的感觉。

但这个不是证明题,是一个推导过程。因此暂且命名为‘高氏归纳法’,用于推导总人数为n的情况下的‘福永必胜法’

以下讨论是建立在怎样使  每个团队人数最少的情况之下, 目的很简单,你作为福永,如果要说服组队的那群人,你必须
得先让他 知道 ‘秋山必胜法’, 而‘秋山必胜法’是尽最大可能的减少团队人数从而获取最大利益。因而,'福永必胜法'
要想实施下去,必须使团队人数最少,才能不让其他人产生怀疑。

n>=3(1人或者2人游戏结束)
*    n = x 时,y队,每队z人!            (z-1) *y=r        (x-r)个自由者(即没有参加组队的人)
1、n=3  时,2队,每队2人!            1*2+1 = 3        3-3 = 0 个自由者
2、n=4  时,2队,每队2人!            1*2+1 = 3        4-3 = 1 个自由者
3、n=5  时,2队,每队3人!            2*2+1 = 5        5-5 = 0 个自由者
                    ...                                        ...                            ...
4、n=22时,3队,每队8人!            7*3+1 =22       22-22=0个自由者
5、n=23时,3队,每队8人!            7*3+1 =22       23-22=1个自由者

到这里,出现了一下几个问题:
① 前面考虑的自由者人数到底有何作用?
② n=x 的情况下,y 和 z 的值怎么确定?

第一个问题:
n=22的情况下,福永所投的一边一定是人数少的那一边,那是因为福永代表3张选票,而真正只能投1张,因而自己所投的那一边人数一定比对立边少2人,因为0个自由者,所以这个结果一定成立。
当n=23时,有1个自由者,则这1个自由者就有可能充当1个福永的选票,第一轮结果就会是11:12,但最终福永仍然会是胜利者。
当n=24时,有2个自由者,则这2个自由者有可能充当2个福永的选票,第一轮结果就会是12:12,但不可能一直这种结果,因此,最后福永仍然会是胜利者。
当n=25时,若仍然是3队,每队8人的话,则将会有3个自由者,2个自由者可能性的充当2个福永的选票,则会出现12:12,还有一个自由者若再次投向福永所投的那一边,则结果为12:13,福永将会被淘汰。故因此而有风险。必须改变策略,即改变队数和每队人数,因此到了第二个问题,怎么去确定它们的值。其实由此刻的分析可知   自由者数+1(这里的 1 代表福永自己) <= 队数  才能保证自己不被淘汰。

第二个问题:
①确定游戏轮数,最长轮数 = floor(log2(n+1))-1
                //floor函数向下取整


②队伍人数  z = 2^最长轮数

③团队数量  y= floor((n-1)/(z-1))

此时,①②③步骤就是针对于‘秋山必胜法’的结果。但是此时就会出现第一个问题中出现的情况,即当 自由者数+1 > 队数时,有风险将自己给淘汰掉。

④自由者数 = n - ((z-1) *y + 1)  , 而 n - ((z-1) *y + 1) +1 <= y  必须成立;当该等式不成立时,我们需要增加z的值使自由者数量减少, 增量假设为a,则该式子变为
                                                                n - ((z-1+a) *y + 1) +1 <= y
                                                               =>     a >= (n-y)/y -(z-1)          //a取最小值

                                                               if  :    (n-y)/y - (z-1) 为整数
                                                                        a = (n-y)/y - (z-1)
                                                               else :
                                                                        a=ceil( (n-y)/y - (z-1) )    //ceil函数向上取整


从而,我们确定了最终的  z =2^最长轮数 + a  , y = floor((n-1)/(z-1))

PS:其实你在+a的时候,智商高点的队友肯定会对此产生怀疑的,因此我们尽量保证人数的最小化,宁可增加队伍数量(但要保证队伍能够组成,例如43人组3个16人团是不行的!当然还可以继续延伸下去找合作者一起实施福永必胜法,但是得到的奖金就少了哟,并且这样的话简直不要太复杂)。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31385648/viewspace-2128372/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31385648/viewspace-2128372/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值