Yuhang's Blog

赌徒摊分问题

2021-08-06 Mathematics

和另外两个朋友去吃饭,饭局结束玩德州扑克,说好拿出饭钱的90元按照游戏结束后的筹码分布进行摊分。牌局开始的时候每人有30个筹码;牌局结束,我剩下68个筹码,朋友A剩下22个,朋友B输光了。怎样分摊账单合理呢?

一种容易想到的看法是看成我们每人拿30元出来作为本金进行赌博,那么我最后净盈利38元;如果说本来我需要支付账单30元,那么如今我需要支付-8元,同时朋友A支付38元,朋友B支付60元。也就是说我不但不用付钱,还可以赢得8元。这是有问题的,原因在于我们要分配90元的账单,因此每个人都应该支付大于等于0元,而不应该出现某位玩家不用支付反而赢钱的情况。特殊地,我们希望如果有一个玩家赢得了全部的筹码,他应当支付0元,剩下两个人应该平均地支付账单,即每人支付45元。 正确的看法应该是把每位玩家拥有的每个筹码看作让其他2位玩家平均支付1元的权利,即让其他2位玩家每人支付0.5元的权利。那么游戏结束的时候,每位玩家需要支付的钱数,就是其他2位玩家赢得的筹码数之和乘以0.5。因此我应当支付11元,朋友A应当支付34元,朋友B应当支付45元。 一般地,在一个n人玩家的游戏中,开始每人有a个筹码,游戏结束时第i个人有ai个筹码,账单是m元。那么第i个玩家需要支付 bi=m(naai)(n1)na 元。容易验证 bi=m,bi是关于ai的负斜率一次函数。当ai=na(赢得全部筹码)时,bi=0;当ai=0(输光筹码)时,bi=mn1。从而有 0bimn1. 这无疑是合理的分配方式。