房間內有 100 人,每人有 100 塊,每分鐘隨機給另乙個人 1 塊,最後這個房間內的財富分布怎樣?

時間 2021-05-06 04:05:27

1樓:尋原覓野

從第二分鐘開始就有問題了,有的人窮到了99塊錢,他還按照100元的標準去消費。越來越窮不是活該嗎?

有的人都掙到101塊錢了,他還按照100元的水平去消費。還不讓人家攢下錢嘛

如果每個人每次都按照自己存款的1%去消費,那長期看房間裡每個人的財富肯定是平均分配的了!

也就是說從第二輪開始,擁有99元錢的人應該給出去的錢是9毛9,而不是一塊錢。擁有101元錢的人應該給出去的錢是1.01元,而不是一塊錢。

所以得出來的乙個結論是人要按照自己的能力去消費,才能維持在原有水平

2樓:George2019

寫乙個不需要任何計算的答案,單純想想就能理解為什麼財富會聚集。

假設有乙個小偷,每次從 100 x 100 = 10000 枚硬幣中隨機選擇一枚,將其隨機轉入另乙個口袋。那麼最終硬幣會均勻,對吧?

現在這個小偷的行為不同了。他不是隨機選擇硬幣,而是隨機選擇乙個口袋,只要不是空的,就從中取出一枚硬幣,將其隨機轉入另乙個口袋。

對比以上兩種情景。第二種情景下,一枚硬幣只要進入了富人的口袋,它被小偷選中的概率就會變小。進了窮人的口袋,它被小偷選中的概率會變大。

所以模型中的財富為什麼會聚集就理解了。

分割線此題有乙個嚴格可解情形:房間內有 N >> 1 人,每人手裡一開始有 M 元錢。此時數值模擬和理論計算都表明,平衡時每個錢袋子的錢數服從均值為 M 元的幾何分布。

所以此題答案不是帕累託、對數正態這些分布型別。

3樓:jaffedream

做了個數值和範圍更小的測試。

M1到M10這10個人,每個人初始資金10元,D2=IF(RAND()<0.5,-1,1),隨機獲得1元或減少1元,變化60次,統計總額。標準差大多是6到12。

10個人初始金額20元,D2=IF(RAND()<0.5,-1,1),E2=IF(AND(RAND()>0.5,SUM($C2:

D2)>C2),2,-1),相當於從E2開始,每次的資金額度需要比前一次大,才有機會獲得隨機增加的1元,如不滿足這個前提,就會減少1元。這種條件更符合現實中原始累計形成的優勢,當然結果也更加殘暴,標準差變成大多在15到45之間,貧富差距更大,有更多人債台高築。當然,現實情況要比這個更殘酷。

10個人,初始資金100元,每次隨機給其他人1元,執行60次,標準差10-26。C13:BK22是=RAND(),D23=RANDBETWEEN(1,10),D24=IFERROR(RANDBETWEEN(1,10-SUM(D$23:

D23)),0),D2=INDEX(D$23:D$32,MATCH(LARGE(D$13:D$22,ROW(A1)),D$13:

D$22,0),1)-1。

100個人,每次隨機給其他人1元,執行60次。標準差50左右。人數越多,執行次數越多,標準差就會越大。大致是這趨勢。

4樓:小黑張

我就寫寫怎麼自己跑一下這個計算過程。

首先建立乙個Person類, 初始化的時候可以設定其初始金額,是否富二代,是否允許負債。並且定義它可以進行的操作:與另乙個人交易。

class Person

give(targetPerson)

if(!this.canDebt && this.gold < deal) return;

this.gold = this.gold - deal;

targetPerson.gold = targetPerson.gold + deal; }}

然後建立乙個Room類, 可以儲存100名Person。並且提供玩法的入口。

class Room

initPerson(totalPerson) else

render()

play()

integer(min, maxmin = typeof min !== 'undefined' ? parseInt(min, 10) : -9007199254740992

max = typeof max !== 'undefined' ? parseInt(max, 10) : 9007199254740992 // 2^53

return Math.round(Math.random() * (max - min)) + minstopthis.

playHandler && clearInterval(this.playHandler);

this.renderHandler && clearInterval(this.renderHandlerstart(time){

this.playHandler = setInterval(() =>this.playif(this.count >= 17000) this.stop10);

this.renderHandler = setInterval(() =>this.render300

建立啟動入口

$(function(){

// 觀察1號(紅色)。觀察5個富二代

var room = new Room([1], [10,20,30,40,50]);

$('#start').click(() => {

room.start39;#stop').click(() => {

room.stop

上面三部分組成game.js

建立乙個index.html

開始暫停0這是效果圖。

5樓:公孫衍

走過這個老坑發現乙個奇怪的問題:部分答案通過這個隨機模型的結果,推導出自然狀態下,社會財富和公平性的必然失衡性。這個推導邏輯實在有點奇怪..

1) 本模型的隨機過程本身就是不收斂的,如果直接將結果套用到社會財富分配上,失衡的結論已經在躺在假設中了,還需要分析啥?

2) 模型設定過於簡單,如果用於財富分配至少應該加入消費和稅收。在經濟學101中,財富積累增加量=當期收入-當期稅收-當期消費。在實際情況下,部分富人的開銷更大,需要交納的邊際稅收更高。

因此極為不平均的收入分配經過消費和稅收之後,仍然有可能會得到相對動態平穩的財富分布。

抱歉相對於這個問題之前回答其他大神,本篇回覆過於的素沒有過硬的公式和數學推導,但是這兩個邏輯漏洞太明顯,之前又沒有被人提到,確實有點意料之外。另外這類問題在經濟學中是一成熟的領域(Income Fluctuation Problem),文獻相當豐富。當然經濟學的研究對收入分布的生成沒有用這麼複雜的過程,研究上一般是常規Random Walk...以上

6樓:young仔

這個問題的答案難道不是平均分布麼?既然每人失去的一塊錢和獲得的一塊錢的概率是一樣的,還有雞毛分析的必要。你即使執行一萬億次100個人的財富也會有差值,但是他們平均得到的錢數減去失去的錢數肯定趨向0。

用這種分析去推算貧富差距的原因實在是沒有意義。

7樓:楊世康

即考慮貧困者與富裕者對財富偏好的選擇對社會總財富的影響。

貧困者對財富的效用有放大效應,即對於貧困者收穫1元會產生大於1元的效果,那麼向貧困者繳收1元,會使貧困者的支付大於1元。

富裕者相反,收穫與支付1元,其真實效果要小於1元。

這果假定對於貧困者為1.01,即貧困者收到和支付1元,社會總財富相應的增加或減少0.01元。

富裕者為0.99,即富裕者收到和支付1元,社會總財富相應的減小或增加0.01元。

社會總財富變化情況如圖

從圖中可知,貧困者對財富的患得患失及富裕者對財富的漠不關心都會導致社會總財富的增加。

結論:富裕者群體一般都會有善良的本性,窮山惡水的百姓會在利益面前去不擇手段。

倉稟實而知禮節,衣食足而知榮辱,這是社會進化的結果。

補充些:如果富人消失,全社會不患得失會怎樣?即富人為1.0,貧困者為0.99。

看最下面一條線,哦,社會總財富在下降。大家看看像不像40年前?

8樓:就很懶

這個挺有意思的。

我也寫了個指令碼看了下,確實會這樣。

然後又試了幾個條件:

一是給的錢是收錢的人現在的錢的5%。這樣的規則下最後就只有乙個人有錢了。因為一旦沒錢了別人想給也給不了。0的5%還是0。

二是給的錢是自己剩下的錢的5%,這個規則下面最後的結果幾乎都在75-725之間,我覺得相對還算可以。天下和平吧。

最後乙個是從第二個演化過來的,加了乙個最小要給1塊錢,最大只能給5塊錢的規則,最後的結果還是和二差不多。其實就算把最大的錢限定在3塊最後的窮人也會有50塊左右。

由此可見,有錢人還是要多花錢啊。啊哈哈哈哈哈哈哈哈。

9樓:

最後只有2個人,他倆加一起有1w

遊戲淘汰人會越來越慢,這個好理解~

因為每個人每回合畫出一塊錢的概率是100%,但是會有一定的概率得不到錢~

設最後三人abc

只有當連續發生:

「a給b,b給a,c給a或b」

「a給b,b給a,c給a或b」

「a給b,b給a,c給a或b」

「a給b,b給a,c給a或b」

「a給b,b給a,c給a或b」

「a給b,b給a,c給a或b」

「a給b,b給a,c給a或b」

「a給b,b給a,c給a或b」

「a給b,b給a,c給a或b」

「a給b,b給a,c給a或b」

「a給b,b給a,c給a或b」

「a給b,b給a,c給a或b」

「a給b,b給a,c給a或b」

「a給b,b給a,c給a或b」

「a給b,b給a,c給a或b」

…………

c就死了

等c死了,就剩a和b時,就完全動態平衡了~

10樓:

這道題目很有趣。依賴於「隨機數」的特性,從「隨機數」的角度出發,看看。

傾向 @rorschach 的回答。

1)我們先更改一下題目前提,考慮「允許負債」的情況

這樣,實際上要計算的是:隨機數的分布的數學期望值和模擬值的誤差。

隨機數生成1~100的編號,每個編號的理論個數,與實際值的差值,就是每個人能拿到的錢。

例如給100人生成100000個編號,理論上每個人編號應該有1000個。但由於隨機特性,不可能都是正好是1000個,在1000左右波動,比如1009,997,1023等等,這個波動是+9、-3、+23,這些波動加上初始值,就是每個人的錢數。

看看這波動的規律。程式如下:

結果:可以看出:

隨機次數的增加,「相對誤差」不斷減小,但是「絕對誤差」不斷增加。

得出結論:

在允許「負債」情況下,隨機次數增加,收入趨於兩級分化,差距不斷增加,不收斂。但是增加速度,會越來越慢。

這個結論,非常的反直覺。

一般來說,我們都認為,隨機次數越來越多之後,誤差應該越來越小。

例如,用蒙特卡羅法計算PI。隨機次數不斷增加,算出來的PI值也越來越精確。

我們大多數模擬演算法,都是用到這個特徵:當隨機次數增加之後,分布的「相對誤差」不斷減小。於是能夠大部分模擬的演算法,能夠趨近於理論值。

但是,這題目非常的奇葩。用的是「絕對誤差」。

注意:誤差有兩種:絕對誤差和相對誤差。

真正的隨機數,當個數趨於無窮大之後,每個編號的「比例」也應該無限趨近於 1/100。

但是,「相對誤差」趨近於0,不等於「絕對誤差」趨近於0。

裡面的有乙個趨近速度的問題。例如,同樣是趨向於0的極限,速度不同,結果也不同。

和 就不同。

隨機數個數增長速度,大於「相對誤差」減小速度,結果是「絕對誤差」也是同步增長。

題目在問,隨機數分布與理論值之間的絕對誤差,是什麼分布?

這本質上在拷問「隨機數的本質」的是什麼?真正的隨機是什麼樣子?

概率沒學好,不清楚,估計取決於隨機函式。我猜會猜測是「正態分佈」。

乙個啟發:就算是絕對的隨機,隨著時間的累積,絕對差距,也會不斷增加。

2)題目變形一:人數不變,初始的錢改變10000,一段時間之後,差距怎麼樣?

答案是,差距的看起來沒有想象中大。

其實絕對差距和上面是乙個樣的。但是,由於基數大,這個差距似乎也沒有那麼刺眼了。

3)題目變形二:人數不變,每一輪天上掉一塊錢,每人同等機會。長期之後,他們之間的錢差距會怎麼樣?

答案是,「絕對差距」越來越大,「相對差距」越來越小。

例如,經過1億次之後,每個人的差距大概在1千塊左右。但是每個人都成為100萬富翁了,這1千錢也看不上。

兩個問題相比,差別在於,每個人的基數是否增加。當基數的增長大於差距,那麼,這個差距幾乎是可以忽略不計的。

4)回到原題

隨機數引起引起的「絕對誤差」的增大,是系統兩級分化的動力。

原題的情況,當有人財富為0的時,不扣錢,但可能發錢。

這相當於給整個系統增加乙個負反饋,趨於平均的力量。當出現財富為0的人越多,反饋力量越大。

在邊界條件的約束下,模擬結果表明,會出現穩定結果。

如何知道房間內有沒有人?

Leo Liu 1,紅外陣列可以實現,當然成本也比較高,對環境也有要求,2,房間的大小也決定了使用哪種方案。3,目前也有一些公司使用紅外開發出酒店無卡取電系統,也可以實現4,成本和效果是2難的選擇。 奕華士 外行人乙個回答。知道是否有人,紅外感應就可以了吧,人不可能一直靜止不動 至於有多少個人,個人...

假設有200人,每人100個糖,每輪每人隨機把自己的乙個糖送給另乙個人,足夠多次數後的分配結果怎樣?

程zy 補充 突然有思路了0.0 還行,勉強對得起老師了。其實就是算乙個概率分布的問題,每乙個人,一輪獲得糖果的數量的期望為 E1 1 199 的事件發生199次 損失的糖果數量為 E2 1 這裡直接忽略掉有人數量為0的情況,概率太低,忽略不計 那麼其實就是在算,當A初始有100個,然後操作次數n趨...

Quora 上的 Who is X 話題有 100 人左右關注,知乎的 X 是誰 有 1100 多人關注 為什麼同乙個話題,以 Quora 的使用者基數,其關注數量反而比知乎的還少?

已登出 Samuel Chen 1vote by Cheesun Choong Looks Zhihu is becoming a SNS site more than a knowledge site.People are not talking knowledge on it.People ar...