知乎问题
和女朋友在商场走丢了,随机乱逛和守在特定地点等候,哪个相遇的概率更高?
高赞答主的整理以及部分代码
刘天任
提出了整点离散模型,两个人一起时间减半(代码留最后
假设你和女朋友都是(完美的)无头苍蝇,且商场空间有对称性的话,两个人都随机乱逛比其中一个蹰着更好。
张雨萌
都是随机游走的话,两个人一起走相当于(积累方差的)速度*2。然而与之相对的,两个人一起走对应的图更复杂,有可能出现很多岔路,消耗在岔路的时间也可能更多。
Mather King
将两人的运动看作布朗运动,建立连续模型
都是随机游走的话,两个人一起走相当于(积累方差的)速度*2。然而与之相对的,两个人一起走对应的图更复杂,有可能出现很多岔路,消耗在岔路的时间也可能更多。
代码
刘天任
#!/usr/bin/python3
__author__ = 'Tianren Liu'
import numpy as np
import random
step = np.array(((0,1),(0,-1),(1,0),(-1,0)));
def meettime1 (Y, cap=2000):
X = np.array((0,0));
Y = np.array(Y);
for i in range(cap):
if np.array_equal(X,Y):
return i
Y += random.choice(step)
else:
return cap
def meettime2 (Y, cap=1000):
X = np.array((0,0));
Y = np.array(Y);
for i in range(cap):
if np.array_equal(X,Y):
return i
X += random.choice(step)
Y += random.choice(step)
else:
return cap
if __name__ == "__main__":
samplenum = 10000
T1 = np.array([meettime1((2,4)) for i in range(samplenum)])
T1.sort()
print (T1)
T2 = np.array([meettime2((2,4)) for i in range(samplenum)])
T2.sort()
print (T2)
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot(np.arange(samplenum)/samplenum,T1)
ax.plot(np.arange(samplenum)/samplenum,T1/2)
ax.plot(np.arange(samplenum)/samplenum,T2)
plt.show()