拜占庭赌徒问题

在人们的印象中,拜占庭帝国是以无休无止的宫廷阴谋和轨迹而闻名的,但它实在不该得此恶名。下面说一道“拜占庭赌徒”的问题。

问题描述如下:

    你讲和一群顾问一起参与赌局。其中一个顾问会在一张纸上写上0或1,展示给其他顾问看,但是你不会知道这个数字到底是什么。他们都拥有精湛的演技,你无法从他们的话语和申请中推断出他在说实话还是撒谎。每一局,你可以选择不下注,也可以选择押上你的任意金额的资产。

 

   假如现在有4名顾问,其中两个人会一直说实话,但你不知道是那两位。一共玩三局,你的初始资金为100元,那你能确保赢多少钱呢?

  • 一共四个顾问,那第一局肯定只会出现2种情况:2 VS 2 或者 1 VS 3 / 0 VS 4.
    • 如果是至少3个人都说一样的数字,则我们可以放心的将100块钱都押上,这样第一局结束后或得到200元;
    • 如果是2VS2,则这一局我们选择不押钱,因此这句结束后,我们就可以知道是哪两位在说实话,因此后面的就根据他们说的押钱就可以了。
    • 因此,保底能赢 400元。

 

    假如现在只有3名顾问,而且只有一个人会说实话。仍然一共玩三局,初始资金为100元,那这种情况下能确保赢多少钱呢?

  • 第一局要么是3 VS 0,要么是2 VS 1.
    • 如果是3 VS 0那全押上就OK了,如果是2 VS 1,我们不知道是谁在说实话,因此可以选择押上x元:
      • 如果第一局输了,说明那个1才是说实话的人,这样我们下面2局按照他说的来押就可以了,因此可以获得4 * (100-x)元;
      • 如果第一局赢了,则获得了(100+x)元,因此那个1个人一定是说谎者,下面无需再考虑他。
        • 如果第二局那两个人说的不一样了,我们选择不下注,这样第二局结束后就会知道谁是说谎者,到第三局可以获得2*(100+x)元;
        • 如果第二局二人仍一样,则全部下注,第三局与第二局情况一样分析。
      • 这样为了保证最大收益,我们应该使:4*(100-x) = 2*(100+x),则x = 100/3,保底赢266.66元

 

posted @ 2016-05-09 17:55  江湖小妞  阅读(392)  评论(0编辑  收藏  举报