女朋友走丢数学模型

知乎问题

和女朋友在商场走丢了,随机乱逛和守在特定地点等候,哪个相遇的概率更高?

高赞答主的整理以及部分代码

刘天任

提出了整点离散模型,两个人一起时间减半(代码留最后

假设你和女朋友都是(完美的)无头苍蝇,且商场空间有对称性的话,两个人都随机乱逛比其中一个蹰着更好。

张雨萌

都是随机游走的话,两个人一起走相当于(积累方差的)速度*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()
原文地址:https://www.cnblogs.com/Math-Nav/p/13479764.html