首先,把问题贴上来:
Five pirates discover a chest full of 100 gold coins. The pirates are ranked by their
years of service, Pirate #5 having five years of service, Pirate #4 four years, and so on down to
Pirate #1 with only one year of deck scrubbing under his belt. To divide up the loot, they
agree on the following:
The most senior pirate will propose a distribution of the booty. All pirates will then
vote, including the most senior pirate, and if at least 50% of the pirates on board accept
the proposal, the gold is divided as proposed. If not, the most senior pirate is forced to
walk the plank and sink to Davy Jones’ locker. Then the process starts over with the
next most senior pirate until a plan is approved.
These pirates are not your ordinary swashbucklers. Besides their democratic leanings, they are
also perfectly rational and know exactly how the others will vote in every situation. Emotions
play no part in their decisions. Their preference is first to remain alive, and next to get as
much gold as possible and finally, if given a choice between otherwise equal outcomes, to have
fewer pirates on the boat.
Suppose that you’re the most senior pirate (#5). Propose a distribution of coins that keeps
you alive, that maximizes your gold, and that will be accepted.
最近刚好在学博弈论,这个问题在我看来也是一个完全信息动态博弈,是一个序贯谈判,可以用归纳法解答。
solution:
因为当有50%的vote就可以同意一个分配方案,因此可以知道最坏的情况下船上也会有2个人,此时#2可以分得100coins,#1分得0个。假设有3个人时,#3要取得一个人的支持,不可能是#2,所以他可以提出给#1 one coin,one is better than nothing。当有四个人时,#4知道#3是不可能支持他的,所以他也要争取一个人的vote,办法是给#1 2coins or #2 1 coin,结果#2 1 coin。当有5个pirates,#5还要争取两个人的vote,但是#4显然不会支持他的,#3在只有#4有决定权是得到nothing,因此可以给#3 1 coin,但要争取#2 或#1,只好是#1只要1 cion,而#2要2 coin。因此最佳的决策是(98,0,1,0,1)。
ps.
想一想如何用编程语言来实现。