日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

云漫圈 | 有趣的海盗问题 (完整版)

發(fā)布時間:2024/9/27 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 云漫圈 | 有趣的海盗问题 (完整版) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

戳藍字“CSDN云計算”關(guān)注我們哦!


者:小灰

來源:程序員小灰


小灰發(fā)布的關(guān)于海盜問題的漫畫,得到了大家的熱烈討論,很感謝大家的支持。這一次,小灰做了如下更新:


1.修正了小灰面試階段的一個數(shù)字錯誤

2.補充了6個海盜和7個海盜局面下,最優(yōu)的分配方式





—————? 第二天? —————





海盜分金幣問題:


5個海盜,獲得了100枚金幣,于是他們要商量一個方法來分配金幣。商議方式如下:


1. 由5個海盜輪流提出分配方案。


2. 如果超過半數(shù)海盜(包括提出者)同意該方案,則按照該方案分配。


3. 如果同意該方案的人數(shù)(包括提出者)小于等于半數(shù),則提出者要被扔到海里喂魚,剩下的海盜繼續(xù)商議分配。


4. 海盜們都是絕對理性的,以自己盡可能多獲得金幣為目的。但是在收益相等的情況下,會傾向把提出者扔到海里。


問:第一個海盜應(yīng)該提出怎樣的分配方案,才能保證自己既不被扔到海里,又能使自己利益最大化?




舉一個栗子:


此時第一個海盜來提議分配方案,他說:

我要100枚金幣,你們其他人一個金幣也沒有!


顯然,其他小伙伴一致反對,結(jié)果第一個提出者被扔到了海里。



接下來輪到第二個海盜提出分配方案,他說:

我只要1個金幣,剩下3個小伙伴每人33個金幣!


第三個海盜反對,剩下兩個小伙伴同意,同意者超過了半數(shù)(4 : 1),于是按照這個方法執(zhí)行了分配。










————————————













如何利用遞歸思想來簡化問題呢?讓我們來詳細分析一下,后文把五個海盜簡稱為老一、老二、老三、老四、老五。


老一在提出分配方案的時候,不妨這樣思考:

如果我被扔到海里了,剩下4個海盜,此時老二的最優(yōu)分配方案是什么呢?

我只要在老二的分配方案上稍微增加一點,就能贏得更多的支持。


老二在提出分配方案的時候,也會這樣思考:

如果我被扔到海里了,剩下3個海盜,此時老三的最優(yōu)分配方案是什么呢?

我只要在老三的分配方案上稍微增加一點,就能贏得更多的支持。


老三在提出分配方案的時候,還是會這樣思考:

如果我被扔到海里了,剩下2個海盜,此時老四的最優(yōu)分配方案是什么呢?

我只要在老四的分配方案上稍微增加一點,就能贏得更多的支持。


整個遞歸過程,就像下圖一樣:



這個遞歸過程到什么時候截止呢?剩下兩個人為止。


想想看,當剩下兩個人的時候,是什么情形?


此時老四沒有任何選擇!無論他如何分配,哪怕把100枚金幣都給老五,老五仍然可以反對,導(dǎo)致老四被扔到海里,金幣全歸老五所有。




由此,老三心想:老四沒有最優(yōu)決策,所以無論我提出什么要求,老四都一定會同意,而老五一定不同意。


由于只要超過半數(shù)同意就可以執(zhí)行分配,所以老三的最優(yōu)策略如下:





接下來,老二暗自尋思:如果沒有我,老三能獲得100枚金幣,所以無論如何不會同意我。但我可以設(shè)法“籠絡(luò)”老四和老五,形成 3 : 1 的局面。


在老三的“淫威”下,他們原本一個金幣都得不到。我給他們一人一枚金幣,好過由老三來分配,所以他們肯定會同意。


因此,老二的最優(yōu)策略如下:




終于輪到老一了,老一心里琢磨:如果沒有我,老二能獲得98枚金幣,我總不能分給他多于98枚,索性放棄他,只要剩下三人中籠絡(luò)到兩人,形成 3 : 2 的局面即可。


要籠絡(luò)誰呢?以老二的策略,老三得不到金幣,所以老三最好“伺候”。我給老三1枚,老三一定同意。


至于老四和老五,本來可以得到1枚,所以我必須比老二給的多,才能贏得支持。但我又沒必要同時籠絡(luò)他倆,要么給老四兩枚金幣,放棄老五,要么給老五兩枚金幣,放棄老四。


因此,老一的最優(yōu)策略如下:







由于海盜數(shù)目增加到7人,原本的老大順延成為老三,原本的老二順延成為老四......大家注意這里不要混淆。





如何把兩種分配結(jié)果進行聚合呢?



在剩余5個海盜的情況下,要么老六得到兩枚金幣,老七沒有金幣;要么老六沒有金幣,老七得到兩枚金幣。從概率學(xué)的角度來分析,這兩種情況發(fā)生的幾率各占50%,所以老六和老七的平均收益都是1枚金幣



這樣一來,老二就變得容易分析了。老二想要形成 4:2 的局面,他該怎么分配呢?


如果沒有自己,老三可以得到97枚,所以老三直接放棄掉。

剩余5個海盜時,老四得不到金幣,所以給老四一枚就可以拉攏,很好伺候。

剩余5個海盜時,老五、老六、老七的平均收益都是1枚,但我們只要拉攏其中兩人就行。所以其中一人沒有金幣,另外兩人各自給兩枚。這樣就形成了一個排列組合:

2, 2, 0

2, 0, 2

0, 2, 2


因此,老二自己保留的金幣數(shù)量是 100 - 2 - 2 - 1 =?95完整的分配方案有3種,如下圖所示:




接下來,為了分析老大的策略,我們?nèi)匀恍枰焉厦嫒N情況聚合一下。


對于老五、老六、老七,他們各自有三分之二的幾率得到兩枚金幣,有三分之一的幾率得不到金幣。所以他們的收益平均值是 2 * 2/3 =?1.33?枚金幣。



這樣一來,老大也變得容易分析了。老大想要形成 4:3 的局面,他該怎么分配呢?


如果沒有自己,老二可以得到95枚,所以老二直接放棄掉。

剩余6個海盜時,老三得不到金幣,所以給老三一枚就可以拉攏,很好伺候。

剩余6個海盜時,老四的收益是1枚,老五、老六、老七的平均收益是1.33枚,但無論1枚還是1.33枚,給他們兩枚金幣都是可以拉攏的。我們只要拉攏其中兩人就行,所以其中兩人沒有金幣,另外兩人各自給兩枚。這樣又形成了一個排列組合:


2, 2, 0,?0

2, 0, 2,?0

2, 0, 0, 2

0, 2, 2,?0

0, 2, 0, 2

0, 0, 2, 2


因此,老一自己保留的金幣數(shù)量是 100 - 2 - 2 - 1 =?95。完整的分配方案有6種,比較復(fù)雜,這里就不用圖片表示了,直接列出表格:




—————END—————

1.微信群:

添加小編微信:color_ld,備注“進群+姓名+公司職位”即可,加入【云計算學(xué)習(xí)交流群】,和志同道合的朋友們共同打卡學(xué)習(xí)!


2.征稿:

投稿郵箱:liudan@csdn.net;微信號:color_ld。請備注投稿+姓名+公司職位。


推薦閱讀

  • Gartner的預(yù)言:通向混合IT之旅

  • 崩潰!新浪程序員加班錯失 77 萬年會大獎

  • 剛剛!華為又被美國盯上了!

  • 阿里“菜鳥”AI?

  • 以太坊升級的拖油瓶,竟只是這幾行代碼

  • 程序員有話說 | 程序猿在乘地鐵的時候都在想什么?

  • 清華北大“世界排名斷崖式下跌”?


點擊“閱讀原文”,打開 CSDN App 閱讀更貼心!

喜歡就點擊“好看”吧!

總結(jié)

以上是生活随笔為你收集整理的云漫圈 | 有趣的海盗问题 (完整版)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。