海盗分金博弈关键词:海盗分金;利益最大化;喂鲨鱼一、问题提出1假设:5个海盗抢得100枚金币后,讨论如何进行公正分配。
他们商定的分配原则是:(1)抽签确定各人的分配顺序号码(5,4,3,2,1);(2)由抽到5号签的海盗提出分配方案,然后5人进行表决,如果方案得到半数或半数以上的人同意,就按照他的方案进行分配,否则就将5号扔进大海喂鲨鱼;(3)如果5号被扔进大海,则由4号提出分配方案,然后由剩余的4人进行表决,只有当达到半数的人同意时,才会按照他的提案进行分配,否则也将被扔入大海;(4)依此类推。
2条件:(1)每个海盗都是很聪明的人,都能很理智的判断得失,从而做出选择;(2)海盗之间不会相互串谋;(3)海盗在自己的收益最大化的前提下乐意看到其他海盗被扔入大海喂鲨鱼。
(因为其他海盗被扔入大海喂鲨鱼符合每个海盗的最大化利益。
)3问题:第一个海盗提出怎样的分配方案才能够使自己的收益最大化?二、问题解法(0,100,0,0,0)0)0,1,0,98)利用逆推法:(1)假设5、4、3号已被扔入海中,则2号的方案为0、100,2号自己支持这个方案就满足半数或半数以上的人同意的条件,所以这个方案必定能通过;(2)3号的方案必为1、0、99,1号在这个方案能得到1个金币比2号的方案0个金币要好,所以1号会同意这个方案,不管给多少金币给2号,2号都不可能支持这个方案,因为如果3号死了,2号会得到100金币,所以1、3号支持,超过半数,这个方案必定能通过;(3)4号的方案必为0、1、0、99,因为只要半数人同意,方案就会通过,4号只要给2号1个金币,2号就会同意,方案也就能通过,而若要1号同意,至少要给1号2个金币,要3号同意则要100个金币,都不符合利益最大化;(4)5号的方案必为1、0、1、0、98,这个方案要至少3人同意才能通过,所以除5号自己外,还要有2人同意,在4号的方案中1号和3号一个金币也得不到,故只要各给他们1个金币他们就会同意,而若要2号同意则需2个金币,要4号同意则需100金币,根据利益最大化要求,给1号和3号各1个金币,而给2号和4号0个金币。
故答案是:1、0、1、0、98。
三、问题扩展现在假设是N个海盗分M个金币,其他条件不变,则N号海盗应该提出怎样的分配方案?(1)当2≤N≤2M+2时,从上述解法推知,2k号的海盗分给号码是小于2k的偶数号的海盗1个金币,自己拿剩余的M-k+1个金币,其他人0个,显然这里k=1,2,3,…,M+1;2k+1号的海盗分给号码是小于2k+1的奇数的海盗1个金币,自己拿剩余的M-k个金币,其他人0个,显然这里k=1,2,3,…,M。
所以就有2≤N≤2M+2时,N=2k (k=1,2,3,…,M+1),N号海盗提出的方案应为(0,1,0,1,…, 0, M-k+1);N=2k+1 (k=1,2,3,…,M),N号海盗提出的方案应为(1,0,1,0,…, 1,0, M-k)。
(2)当N>2M+2时,就会发现金币不够分,再用上面的方法就不行了。
N=2M+3时,需要M+2个人同意才满足半数或半数以上的人同意的条件,前2M+2个人中号码是奇数的海盗有M+1个,现在只有M个金币,故只有分到金币的M个人会同意,再加上他自己,共有M+1个人同意,少于半数,所以他会被扔进大海里喂鲨鱼;N=2M+4时,需要M+2个人同意才满足半数或半数以上的人同意的条件,前2M+2个人中号码是奇数的海盗有M+1个,现在只有M个金币,故只有分到金币的M个人会同意,2M+3号也一定会同意(不同意的话,就轮到他做决策,他一定会被扔进大海里喂鲨鱼),再加上他自己,共有M+2个人同意,刚好半数,他的方案是(1,0,1,0,…, 1,0,0,0,1,…, 1,0, 1,0, 0,0),即给从前M+1个号码是奇数的海盗中任取M个给1个金币,其他人给0个;N=2M+5时,需要M+3个人同意才满足半数或半数以上的人同意的条件,只要给2M+4号方案中得益是0的人1个金币,他们就会同意(当然也可以给得1个金币的人多于1个金币,但这不符合利益最大化条件),还有就是不能确定前2M+2个人中号码是奇数的海盗中哪一个得0个金币,故这一个也应该剔除,所以应该从前2M+2个人中号码是偶数的海盗(M+1个),2M+3,2M+4号海盗中(即2M+4号方案中得益一定是0的人,共M+3个)任选M个给1个金币,其他得0个,加上自己共M+1个同意,故2M+5号海盗会被扔进大海里喂鲨鱼;N=2M+6时,需要M+3个人同意才满足半数或半数以上的人同意的条件,只要给2M+4号方案中得益一定是0的人1个金币,他们就会同意,所以应该从M+3个海盗中任选M个给1个金币,其他得0个,2M+5号一定会同意,加上自己共M+2个同意,故2M+6号海盗也会被扔进大海里喂鲨鱼;N=2M+7时,需要M+4个人同意才满足半数或半数以上的人同意的条件,只要给2M+4号方案中得益一定是0的人1个金币,他们就会同意,所以应该从M+3个海盗中任选M个给1个金币,其他得0个,2M+5、2M+6号一定会同意,加上自己共M+3个同意,故2M+7号海盗还是会被扔进大海里喂鲨鱼;N=2M+8时,需要M+4个人同意才满足半数或半数以上的人同意的条件,只要给2M+4号方案中得益一定是0的人1个金币,他们就会同意,所以应该从M+3个海盗中任选M个给1个金币,其他得0个,2M+5、2M+6、2M+7号一定会同意,加上自己共M+4个同意,刚好半数,他的方案是从前2M+2个人中号码是偶数的海盗(M+1个),2M+3,2M+4号海盗中(即2M+4号方案中得益一定是0的人,共M+3个)任选M 个给1个金币,其他得0个;依次类推,可以得到:N=2M+2k (k=2,3,4, …)时,需要M+2k-1个人同意才满足半数或半数以上的人同意的条件,只要给2M+2k-1号方案中得益一定是0的人1个金币,他们就会同意,所以应该从M+2k-1-1个海盗中任选M 个给1个金币,其他得0个,2M+2k-1+1、2M+2k-1+2、…、2M+2k -1号一定会同意,加上自己共M+2k-1个同意,刚好半数,他的方案是从前2M+2个人中号码是奇数或偶数(k 是偶数时这里是奇数,k 是奇数时这里是偶数)的海盗,2M+3,2M+4,…,2M+2k-1号海盗中(共M+2k-1-1个)任选M 个给1个金币,其他给0个;N≠2M+2k (k=2,3,4, …)时,他一定会被扔进大海里喂鲨鱼。
从前M+1个号码是奇数的海盗中任取M 个给1个金币,其他人给0个。
偶数(k 是偶数时这里是奇数,k 是奇数时这里是偶数)的海盗,2M+3,2M+4,…,2M+2-1号海盗中(共M+2-1个)任选M 个给1个金币,其他给0个。
(1,0,1,0,∙∙∙, 1,0,0)(0,1,0,1,∙∙∙, 0, 1,0,0)(1,0,1,0,∙∙∙, 1,0, M-k )(0,1,0,1,∙∙∙, 0, M-k+1)(1, 0, 99, 0, ∙∙∙, 0)(0, 100, 0, 0, ∙∙∙, 0)综上,我们可以得到: 当2≤N ≤2M+2时,N=2k (k=1,2,3,…,M+1),N 号海盗提出的方案应为(0,1,0,1,…, 0, M-k+1); N=2k+1 (k=1,2,3,…,M),N 号海盗提出的方案应为(1,0,1,0,…, 1,0, M-k ); 当N >2M+2时,N=2M+2k (k=2,3,4, …)N 号海盗提出的方案应为从前2M+2个人中号码是奇数或偶数(k 是偶数时这里是奇数,k 是奇数时这里是偶数)的海盗,2M+3,2M+4,…,2M+2k-1号海盗中(共M+2k-1-1个)任选M 个给1个金币,其他给0个;N≠2M+2k (k=2,3,4, …)时,他一定会被扔进大海里喂鲨鱼。
四、问题变式方案“得到半数或半数以上的人同意”改为“得到多于半数的人同意”,其他不变。
(100,0,0,0,0)0)0,1,0,98)或2,1,0,98)利用逆推法:(1)假设5、4、3号已被扔入海中,则2号一定会被扔进大海里喂鲨鱼;(2)3号的方案为(0,0,100,0,0),若3号被扔进大海里喂鲨鱼,则2号也会被扔进大海里喂鲨鱼,所以无论如何,2号一定会同意;(3)4号的方案为(1,1, 0,98,0),因为必须要有3个人同意才行,故4号还需要争取2个人同意,结合3号的方案得出这样的结果;(4)5号的方案为(2,0, 1,0,97)或(0,2 ,1,0,97),5号还需要争取2个人同意,结合4号的方案,可以给3号一个金币而得到3号的支持,还需要一个名额,争取到1号或2号都需要2个金币,而争取到4号要99个金币,故只需给1号或2号2个金币就行。
故得出答案是:(2,0, 1,0,97)或(0,2 ,1,0,97)。
五、变式扩展现在假设是N个海盗分M个金币,其他条件同变式,则N号海盗应该提出怎样的分配方案?若干个海盗分100个金币的分配方案注:阴影部分表示从n个任选[(n+1)/2]个2,其他为0(1)当M=2k(k=3,4,5, …)时,N<M+1,方案为前N-3个任取[N/2]-1个给2个金币,第N-2个给1个金币,第N-1个给0个金币,自己得M-2[N/2]+1个金币;N=M,方案为前M-3个中任取[M/2]-1个给2个金币,第M-2个给1个金币,第M-1个得0个,自己得1个金币;N=M+1,方案为前M-2个海盗和M号海盗中任取M/2-1个给2个金币,第M-1个给1个金币,自己得1个金币;N=M+2,M+2号海盗要想获得其他人的支持都需要付2个金币,M个金币最多只能获得M/2个人的支持,加上自己共M/2+1个同意,刚好是总数的一半,所以M+2号会被扔进大海里喂鲨鱼;N=M+3,同M+2号的思考方式,再加上M+2号会无条件支持,共M/2+2个同意,刚好超过总数的一半,所以M+3方案为从前M+1个海盗中任取M/2个给2个金币,第M+2个给0个金币,自己得0个金币;N=M+4,给M+2、M+3号海盗各1个金币,从前M+1个海盗中任取M/2-1个给2个金币,共M/2+2个同意,所以M+4号会被扔进大海里喂鲨鱼;N=M+5,给M+2、M+3号海盗各1个金币,从前M+1个海盗中任取M/2-1个给2个金币,自己得0个,M+4号会无条件支持,共M/2+3个同意,超过总数的一半;N=M+6,给M+4、M+5号海盗各1个金币,从前M+3个海盗中任取M/2-1个给2个金币,自己得0个,共M/2+2个同意,不到总数的一半,所以M+6号会被扔进大海里喂鲨鱼;N=M+7,给M+4、M+5号海盗各1个金币,从前M+3个海盗中任取M/2-1个给2个金币,自己得0个,M+6号会无条件支持,共M/2+3个同意,不到总数的一半,所以M+7号会被扔进大海里喂鲨鱼;N=M+8,给M+4、M+5号海盗各1个金币,从前M+3个海盗中任取M/2-1个给2个金币,自己得0个,M+6、M+7号会无条件支持,共M/2+4个同意,不到总数的一半,所以M+8号会被扔进大海里喂鲨鱼;N=M+9,给M+4、M+5号海盗各1个金币,从前M+3个海盗中任取M/2-1个给2个金币,自己得0个,M+6、M+7、M+8号会无条件支持,共M/2+5个同意,超过总数的一半;……(2)当M=2k+1(k=2,3,4, …)时,N<M+2,方案为前N-3个任取[N/2]-1个给2个金币,第N-2个给1个金币,第N-1个给0个金币,自己得M-2[N/2]+1个金币;N=M+1,方案为前M-2个中任取[M/2]-1个给2个金币,第M-1个给1个金币,第M 个得0个,自己得0个金币;N=M+2,给M、M+1号1个金币,M+2号海盗要想获得其他人的支持都需要付2个金币,M剩余M-2个金币最多只能获得(M-1)/2-1个人的支持,加上自己共(M-1)/2+2个人同意,超过半数,方案为前M-1个任取(M-1)/2-1个给2个金币,M、M+1号1个金币,自己得1个金币;N=M+3,M+3号海盗要想获得其他人的支持都需要付2个金币,M个金币最多只能获得(M-1)/2个人的支持,加上自己共(M-1)/2+1个人同意,不足半数,所以M+3号会被扔进大海里喂鲨鱼;N=M+4,M+3会无条件支持,M+4号海盗要想获得其他人的支持都需要付2个金币,M个金币最多只能获得(M-1)/2个人的支持,加上自己共(M-1)/2+2个人同意,不足半数,所以M+3号会被扔进大海里喂鲨鱼;N=M+5,M+3、M+4会无条件支持,M+5号海盗要想获得其他人的支持都需要付2个金币,M个金币最多只能获得(M-1)/2个人的支持,加上自己共(M-1)/2+3个人同意,超过半数,分配方案是前M+2个任取(M-1)/2-1个给2个金币,M+3、M+4号0个金币,自己得1个金币;N=M+6,分给M+3、M+4号1个金币就能得到他们的支持,而要想获得其他人的支持都需要付2个金币,剩余M-2个金币最多只能获得(M-1)/2-1个人的支持,加上自己共(M-1)/2+2个人同意,不足半数,所以M+6号会被扔进大海里喂鲨鱼;N=M+7,M+6会无条件支持,分给M+3、M+4号1个金币就能得到他们的支持,而要想获得其他人的支持都需要付2个金币,剩余M-2个金币最多只能获得(M-1)/2-1个人的支持,加上自己共(M-1)/2+3个人同意,不足半数,所以M+7号会被扔进大海里喂鲨鱼;N=M+8,M+6、M+7会无条件支持,分给M+3、M+4号1个金币就能得到他们的支持,而要想获得其他人的支持都需要付2个金币,剩余M-2个金币最多只能获得(M-1)/2-1个人的支持,加上自己共(M-1)/2+4个人同意,不足半数,所以M+8号会被扔进大海里喂鲨鱼;N=M+9,M+6、M+7、M+8会无条件支持,分给M+3、M+4号1个金币就能得到他们的支持,而要想获得其他人的支持都需要付2个金币,剩余M-2个金币最多只能获得(M-1)/2-1个人的支持,加上自己共(M-1)/2+5个人同意,超过半数,分配方案是前M+2个任取(M-1)/2-1个给2个金币,M+3、M+4号1个金币,M+6、M+7、M+8号0个金币,自己得1个金币;……而当N足够大时,情况要复杂得多。