Chapter 5 Simulation

Additional example: Social wealth distribution

Suppose that:
  1. There are 100 people in a room.
  2. Everyone has $100 at the beginning.
  3. For each person, he/she will randomly give another person (in the room, can be him/herself) $1 per minute.
Several assumptions:
  1. Assume that we can generate a set of random integers from 1 to 100 in MATLAB.
  2. The distributed result for each person is independent.
  3. It is allowed that one may have debt.
Question: What is the long-term distribution of the wealth?
First, we simulate the problem in MATLAB.
% Social wealth distribution
clear;
No_player = 100;
player = 1:No_player;
Money_initial = 100;
p_money = Money_initial*ones(1,No_player);
max_iter = 10000;
figure(1);
for i = 1:max_iter
To_give = ceil((No_player).*rand(1,No_player));
for j = 1:No_player
p_money(j) = p_money(j) - 1;
p_money(To_give(j)) = p_money(To_give(j)) +1;
end
% subplot(2,1,1);
% bar(p_money);
% str_1 = ['Social wealth distribution after ', num2str(i), ' miniutes.'];
% title(str_1);
% xlabel('Player');
% ylabel('Personal wealth');
% axis([0 100 -200 200]);
% subplot(2,1,2);
% bar(sort(p_money),'r');
% str_2 = ['Social wealth distribution after ', num2str(i), ' miniutes. (Sorted)'];
% title(str_2);
% xlabel('Player');
% ylabel('Personal wealth');
% axis([0 100 -200 200]);
% pause(0.001);
end
subplot(2,1,1);
bar(p_money);
str_1 = ['Social wealth distribution after ', num2str(i), ' miniutes.'];
title(str_1);
xlabel('Player');
ylabel('Personal wealth');
axis([0 100 min(p_money)-10 max(p_money)+10]);
subplot(2,1,2);
bar(sort(p_money),'r');
str_2 = ['Social wealth distribution after ', num2str(i), ' miniutes. (Sorted)'];
title(str_2);
xlabel('Player');
ylabel('Personal wealth');
axis([0 100 min(p_money)-10 max(p_money)+10]);
Next, we learn several things from the result of simulation:
Ratio_of_rich = (sum(p_money>100))/100
Ratio_of_rich = 0.4800
p = sort(p_money,'descend');
twenty_richest = sum(p(1:20))/(10000)
twenty_richest = 0.4556
ten_richest = sum(p(1:10))/(10000)
ten_richest = 0.2593
bankrup_no = sum(p<=0)
bankrup_no = 13

Extensions:

  1. How does the wealth distribution change if one is not allowed to have debt? That is, one may not give people money if he/she has no money, but he/she can receive from others.
  2. Are the initial money and number of people crucial in this example?
  3. Is there an explanation of the result above from the point of view of sociology?
  4. Is there a theoretical formula for the social wealth distribution?