男厕小便池的蒙特卡洛模拟
男厕小便池的蒙特卡洛模拟
Monte Carlo simulation of Urinals in men’s toilet
储存如厕状态的数据结构
储存如厕状态的数据结构
使用一个键值对 Association 来表示当前的如厕状态:
◼
stat
◼
wait
Out[]=
Waiting: 2 | ||||||
选择坑位的逻辑
选择坑位的逻辑
按照一定能量进行坑位的选择, 认为在 i 处选择的能量为:
E
i
w
Left
s
i-1
w
Middle
s
i
w
Right
s
i+1
w
Boundary
s
i
w
Waiting
n
Wait
即:
◼
邻近有人, 需要克服的势垒高 (5)
w
Left
w
Right
◼
位置上有人, 需要克服的势垒非常高 (99)
不过抽象的事情是: 虽然概率很低, 但是也不是不可能的, 毕竟人逼急了什么抽象的事情都能干出来
w
Middle
不过抽象的事情是: 虽然概率很低, 但是也不是不可能的, 毕竟人逼急了什么抽象的事情都能干出来
◼
在边角上, 需要克服的势垒高 (1), 但是总比别人在边上好?
w
Boundary
◼
如果有人在等待的话, 可以适当降低一些自己的矜持, 不得不选择一些不愿意用的空位 (-5)
w
Waiting
在计算得到每个位置上的能量之后, 就可以计算得到选择该坑位的概率:
P
i
-
E
i
e
Out[]=
Seats |
| ||||||||||||
Possibility |
于是状态转移变成如下结果:
◼
对 减少 , 模拟泄洪过程
stat
dt
◼
对 按照 概率增加 , 模拟来人过程
wait
dt/t0
1
◼
若 , 则进行寻址过程
wait > 0
Out[]=