Pachinko game
ball has equal chance to move right or left when hit obstacle
program simulates the distribution of balls when they fall to the bottom slots
def __init__(self, slots = 10, probabilityMovingRight = 0.5):
self.variableType = "Binomial"
self.slots = slots
self.probabilityMovingRight = probabilityMovingRight
return
def draw(self, numberOfBalls):
distribution = np.random.binomial(self.slots, self.probabilityMovingRight, numberOfBalls)
return distribution
#10 slots, chance of moving right when hit obstacle is 50%, 1000 balls fall from top
data = BinomialRandomVariable(10, 0.50).draw(1000)
print data
plt.hist(data, bins=21)
plt.xlabel('Value')
plt.ylabel('Occurences');
[ 7 5 5 4 3 4 2 5 5 5 6 4 4 5 4 6 5 3 3 4 6 4 4 6 6
3 4 5 5 5 1 4 5 4 7 5 6 6 4 8 6 5 3 6 6 5 8 4 3 4
4 6 6 7 7 9 5 4 6 4 4 5 7 3 6 6 5 3 5 3 0 4 2 6 3
1 2 7 3 3 7 6 5 5 4 5 3 5 4 7 4 2 6 6 4 2 5 6 3 7
6 6 4 6 2 7 6 7 5 6 5 5 4 4 2 2 7 6 5 4 5 6 9 5 3
5 2 4 4 4 4 3 5 6 6 3 6 6 5 3 7 6 6 2 4 6 6 3 4 4
7 6 8 4 5 2 6 4 3 4 7 6 5 5 4 7 7 4 4 5 2 3 6 5 6
1 5 4 7 4 5 3 3 2 5 4 3 2 6 8 6 4 6 5 5 2 3 10 3 5
3 6 4 4 4 6 6 5 5 5 3 8 4 6 4 8 6 6 7 6 9 3 5 2 4
4 5 6 9 5 2 6 8 6 5 5 3 4 2 1 7 7 4 5 6 3 4 7 4 3
6 9 7 7 3 5 4 4 3 2 5 7 5 8 7 6 5 2 5 3 4 4 6 3 7
3 5 6 3 5 6 8 4 5 7 4 6 6 4 6 7 5 9 5 2 4 5 2 2 5
4 6 7 4 5 6 6 6 7 8 7 3 4 6 4 4 6 5 3 6 6 6 5 1 5
3 4 8 8 4 6 5 3 3 6 7 2 3 6 6 4 5 5 6 7 8 5 4 7 6
3 3 5 5 3 5 4 5 4 8 6 4 6 5 4 6 6 6 5 5 7 3 4 3 6
5 6 6 7 5 5 6 4 5 6 5 4 7 5 5 3 5 6 4 6 4 5 3 7 4
8 3 5 4 3 4 5 5 6 4 6 5 7 4 4 5 4 3 6 6 6 4 6 6 4
6 7 3 5 5 7 7 4 8 4 8 6 5 7 3 3 6 6 6 6 5 4 8 3 6
5 6 5 4 5 8 2 4 3 5 5 5 4 4 6 5 5 6 8 4 5 6 6 3 3
5 6 6 4 10 5 4 6 5 4 6 6 6 3 5 5 6 5 4 7 7 4 4 2 5
4 6 8 4 6 5 5 4 3 7 4 1 2 4 5 5 2 6 4 7 7 7 2 4 5
4 6 7 5 6 5 4 2 5 5 6 6 4 4 5 6 7 4 8 3 4 6 5 6 0
5 5 4 5 8 6 7 3 4 4 3 5 6 6 6 4 5 2 7 7 6 6 5 5 5
4 4 5 4 4 6 4 5 5 5 5 3 2 4 5 3 7 4 6 3 6 1 2 4 6
5 5 5 7 4 4 5 7 3 5 5 4 6 2 5 7 6 3 7 5 4 3 3 6 3
3 4 5 7 4 6 4 5 4 5 6 5 7 7 7 7 4 4 5 6 8 1 3 6 5
3 5 2 3 7 4 5 7 3 4 5 4 4 5 6 6 6 5 3 5 5 6 5 5 2
6 6 7 6 3 5 6 5 2 7 4 4 5 5 6 4 8 8 4 4 6 7 4 2 7
7 5 4 4 5 6 3 5 5 4 6 3 6 7 6 3 6 8 5 4 4 6 6 4 6
3 4 7 6 8 3 4 4 8 5 7 5 5 5 3 5 4 2 5 6 5 6 8 2 4
3 6 4 4 6 7 3 4 6 7 4 5 5 2 6 3 4 5 3 5 8 8 7 4 5
2 6 7 6 5 4 4 5 9 9 7 4 5 4 3 4 4 4 5 6 9 2 6 4 6
5 6 4 5 7 7 6 3 3 3 5 7 7 8 5 7 6 5 4 7 5 5 4 4 7
6 7 5 4 5 5 6 4 7 2 7 8 3 5 4 5 2 6 3 4 5 5 5 8 3
6 4 4 5 6 6 4 6 5 8 7 5 5 7 3 6 5 4 6 7 6 2 4 3 5
4 4 3 3 4 6 6 4 7 3 4 5 6 4 7 4 5 4 4 4 6 3 8 5 5
5 5 4 7 3 3 3 5 6 5 5 5 4 5 4 4 6 4 7 3 4 5 5 6 5
4 5 5 5 3 5 5 7 3 7 6 6 5 5 6 4 4 3 3 3 4 8 2 4 5
3 6 4 2 3 6 2 6 5 5 4 5 5 6 6 5 4 7 5 5 2 4 5 3 4
8 4 6 7 2 4 4 3 4 7 3 7 7 4 2 5 5 6 7 6 5 1 3 4 4]
balls fall mostly to the middle slots
#simulate balls turn to move left when hit obstacle
#10 slots, chance of moving right when hit obstacle is 35%, 1000 balls fall from top
data = BinomialRandomVariable(10, 0.35).draw(1000)
[3 2 4 6 4 2 1 6 3 4 2 3 4 1 3 3 6 4 3 7 4 5 3 3 5 4 5 3 5 2 2 4 3 4 2 7 2
5 3 3 3 2 6 3 2 2 2 3 4 4 3 6 3 2 3 4 5 2 1 6 6 1 2 2 5 3 6 7 6 3 5 7 5 4
3 3 5 5 4 4 6 2 3 3 3 2 4 3 6 3 5 3 2 4 4 3 3 5 4 1 4 5 3 4 4 6 7 4 2 4 3
4 3 4 4 3 5 4 4 5 2 3 6 5 4 4 4 5 6 3 1 1 4 2 3 6 3 2 4 3 2 2 2 3 2 5 5 4
2 2 4 3 2 2 3 2 4 4 3 3 3 4 4 3 3 2 3 4 5 4 1 3 1 2 2 2 3 7 1 2 3 4 2 2 5
2 4 3 5 1 5 3 3 4 2 3 2 2 6 1 2 1 5 3 2 5 6 4 2 5 1 2 3 3 4 4 4 1 3 3 4 0
1 2 2 4 3 4 4 6 2 3 3 5 5 4 5 3 2 4 2 3 3 1 5 2 3 3 4 3 5 6 5 4 3 5 6 3 3
3 4 2 3 2 4 2 3 4 3 3 2 6 3 2 0 3 3 4 3 4 4 2 2 6 4 4 2 2 4 3 5 5 2 2 4 6
1 3 4 5 3 3 2 4 4 2 1 3 4 3 3 1 0 5 3 4 5 2 4 2 3 2 5 0 2 3 3 2 2 1 6 6 1
3 4 5 4 3 6 4 5 5 3 1 4 2 4 4 2 3 5 4 4 1 5 6 3 7 5 3 4 6 3 2 6 2 4 3 3 6
1 3 3 5 2 7 3 4 2 6 2 4 5 7 3 5 4 2 3 2 3 3 2 1 4 3 1 5 2 2 5 2 3 3 4 2 3
3 6 4 1 3 7 1 3 4 4 2 3 4 4 2 6 3 4 2 2 3 3 3 2 4 2 2 5 2 5 4 1 3 4 4 3 2
5 4 4 4 4 4 5 4 3 2 3 2 5 5 2 4 6 2 1 2 4 5 3 3 5 5 4 3 3 6 4 4 5 3 2 3 4
4 3 1 5 7 3 2 4 4 3 3 5 4 3 1 2 6 3 4 3 4 6 6 6 2 4 2 3 6 3 3 2 3 7 2 6 1
2 3 5 5 4 2 2 1 3 4 7 5 3 1 3 4 4 4 3 5 2 1 4 1 4 4 5 2 2 3 5 6 5 3 1 4 4
4 5 4 3 3 5 6 5 6 3 2 5 3 2 4 2 4 4 3 1 5 5 3 5 3 2 2 4 6 4 3 6 3 3 4 3 3
4 3 2 4 5 4 2 2 3 7 3 4 3 3 5 5 1 5 4 6 4 2 3 5 3 4 4 1 2 3 3 4 5 1 4 3 4
2 3 7 2 3 3 2 3 3 3 6 5 3 3 4 4 3 3 3 3 1 3 3 6 5 4 3 4 4 2 3 3 6 3 2 4 4
4 4 3 3 3 2 4 2 4 4 3 3 0 4 3 2 5 6 3 2 3 3 4 1 4 6 4 5 5 3 4 5 2 6 3 4 2
3 2 4 2 5 4 3 3 2 4 4 1 4 4 5 4 0 3 5 5 5 4 5 3 3 4 3 3 2 3 5 4 8 3 4 1 5
4 2 5 2 2 8 1 2 5 6 5 3 6 3 3 7 6 4 2 5 4 4 3 5 3 5 3 4 1 3 5 4 2 4 2 3 3
4 2 3 3 5 4 3 2 3 2 1 2 4 4 1 2 3 6 5 5 4 6 2 5 6 2 2 5 2 2 2 8 3 6 1 3 4
2 4 2 5 4 3 2 3 2 3 5 2 4 1 6 4 6 5 4 8 3 3 5 2 2 4 2 5 2 3 3 2 3 3 3 5 4
4 5 2 2 3 4 5 3 3 3 3 3 6 4 3 2 2 7 4 5 6 2 3 4 5 2 4 3 1 4 4 3 3 3 3 4 7
4 3 2 4 4 2 2 3 4 1 2 2 5 1 3 2 3 3 3 5 4 4 4 4 3 3 5 5 1 5 7 3 4 4 4 3 2
6 3 2 3 2 3 6 4 1 3 3 3 4 3 5 5 2 2 2 4 4 3 3 3 5 2 5 4 4 3 5 2 2 5 2 3 3
4 2 2 5 5 2 4 3 5 4 3 4 1 1 4 2 2 1 3 4 2 3 5 8 5 4 1 2 2 3 5 3 4 3 3 0 3
6]
balls concentrate on left slots, no ball falls in very right slot 10
reference:
No comments:
Post a Comment