关于两个侦探互相跟踪的脑洞——用计算机模拟暴力求解

前两天看到一篇一个有趣的假设,里面提了一个问题:

请两位互相陌生的侦探A和B,然后让A跟踪B,B也跟踪A,而且他们是不知道相互跟踪这件事,那接下来会发生什么有趣的事儿?请各位脑洞大开,补充各种细节吧。

我不是侦探推理小说迷,所以没法从这个角度去开脑洞。不过,我倒是冒出一个想法,就是给这个问题建个模,写一个简单的程序跑一跑,看看能模拟出什么有意思的结果出来。

先说结论吧:如果我们采用二维随机行走的模型来描述侦探的行为,并且假设这两个侦探的跟踪能力完全相同,那么他们必然会在跟踪的过程中互相靠近,直到不能再近为止。互相跟踪,最后在一起,这不正是大家喜闻乐见的结局么?

本文用到的都是最基本的概率论与数学模型,不愿意看这方面内容的可以直接拉到后面看模拟结果。

建模与设定

这个模拟采用的随机游走模型是这样设定的:在一个二维平面上,一个人从原点(0,0)出发,每次以固定步长向任意方向随机走出一步。每一步选择的方位角是一个均匀分布的随机变量。这样,在N步之后,此人的最终位置作为一个随机变量,满足二维的正态分布。期望值为0,标准偏差则随步数N的增加而增加。这个结果可以很容易推导出来,这里就不写了。还是把模拟的结果画出来比较直观一些。

从原点出发,500步以后的位置分布

也就是说,在这种二维随机行走中,无论走了多少步,这个人最终位置的期望值依然在原点,没有移动。步数越大,只是导致标准差变大了大。

接下来,假设两个侦探的行为都符合这样的随机行走,不过,要加上一个“跟踪”行为。

真实世界的跟踪是个很复杂的活动,为了把事情充分地简化,我选择这么建模:

  1. 跟踪在一个无穷大无障碍的平面上进行,
  2. 跟踪成功与否仅由两者之间的距离决定。如果两者距离大于某个最大值R,则目标丢失,该侦探跟踪失败。

于是,侦探必须根据目标的运动相应的改变自己的位置,以保证自己永远处于以目标为圆心,以R为半径的圆形区域内。所以,侦探的跟踪能力就可以用R来描述。R越大,跟踪能力就越强。

加上这样定义的跟踪行为以后,我们的随机游走模型就要加以限制——选择每一步的方向的时候,要排除所有走出跟踪范围导致跟踪失败的方向。显然,正是这种倾向性导致了两个侦探的互相靠近。一个明显的推论就是,如果侦探的跟踪能力无穷大,也就是R无穷大,那么这种跟踪和一个人的随机行走没有任何区别。

至于为什么要用二维随机游走来描述侦探的行为,也很好理解。既然是跟踪,就不应该是两个人站在原地不动死盯着对方看,总得在保持一定距离的前提下装出一副随便逛逛的姿态免得被怀疑。而每一步随机行走的步长(step)也有很好的现实对应:如果目标移动范围很小,侦探就不用太在意,无须采取行动。而一旦目标移动了比较大的距离,就会触发侦探作出反应。这个触发反应的最小移动范围就是step。

有一点需要说明,现实中侦探与目标的位置是连续变化,瞬时调整的。在模拟的过程中,需要将这个过程分立化。跟踪的过程被拆解为“你走一步,然后我看到你的新位置,确定新的跟踪区域,然后在新的区域内再走一步”的方式交替进行。

最后,选定初始条件,只要让两者的初始位置处于彼此跟踪范围内即可,坐标系以两者连线为x轴,连线中点为圆点。

好了,以上就是全部设定。然后就可以让程序跑起来了。

模拟结果

设两个侦探Alice和Bob,初始位置分别为x=-10和x=10。先来看看如果两位侦探的跟踪水平完全相同会怎么样。让我们设他们的最大跟踪距离都是R=40,随机行走步长step=1。

首先来看看在跟踪进行一定步数之后,他们走过的轨迹都是什么样子。比如,一次跟踪进行了10000步,两人走出来的轨迹大概就是下图这样(图中A和B分别是Alice和Bob的初始位置;Alice轨迹为蓝色,Bob为黄色):


初始距离20, R=40,10000步之后轨迹示例

显然,计算单次的跟踪路径除了证明这两个侦探真的很辛苦以外,并不能提供什么有用的信息。所以,让我们将跟踪重复进行N次,来看看当N取值很大的时候,他们的“平均路径”是什么样的。

下图是所有设定不变,将上面的跟踪重复20000次,将所有路径进行平均以后的结果:

初始距离20, R=40,10000步,对20000次跟踪取平均之后的轨迹

看,大家喜闻乐见的结局果然出现了。两位侦探最终相会在他们初始位置连线的中点,相爱相杀。

其实他们要相会也远不需要走10000步那么多。让我们来看看他们前进n步之后所处位置之间距离的期望值随步数n的变化情况。(如果没有跟踪行为,这个期望值将是一个常数)。还是对20000次跟踪取平均:

第n步时的平均距离

可见,他们的距离随步数增加迅速减小。大概到4000多步的时候,距离就几乎为零,这之后就基本上在原点附近小范围浮动,不再有大的变化。

也就是说,由于跟踪范围R是一个有限值,必然导致随机行走的过程中剔除了那些会导致跟踪失败的方向,于是平均下来,两者必然越走越近。

再将第n步时两者的位置分布画出来,更直观地看一下随着步数n的增长两者位置分布的变化情况。

  1. n=1,也就是他们走出第一步以后的位置分布。我选取的参数保证了这一步无论走么走都不会走出跟踪范围,因此位置分布自然是一个以初始位置为圆心,步长为半径的圆圈。


    1步以后的位置分布
  2. n=10。随着步数增长,正态分布开始显现。不过肉眼还看不出来它们的中心有相互靠近的迹象。


    10步以后位置分布
  3. n=100。 到100步的时候,可以看出分布中心沿着x轴移动,两者之间的靠近与重叠已经很明显了。


    100步以后位置分布
  4. n=5000。 到了5000步,他们的位置分布基本上已经完全重叠,不可分辨了。


    5000步以后位置分布

于是,我们可以得出结论,从相隔一定距离的两点出发,两位侦探的行动必然导致他们互相靠近,直到他们的位置分布收敛到一个以同一点为中心的平凡的二维随机游走为止。这一点,对于两个水平相同的侦探来说,就是初始位置连线的中点。

接下来可以看看当两位侦探水平不同的时候情况会有什么变化。这里我只关心他们的平均路径。

还是先摆结论:当两个侦探水平不同时,他们最终依然会相遇,只不过相遇的位置会偏向那个跟踪范围更大、水平更高的侦探。

比如,当Alice的跟踪范围依然为Ra=40,而Bob只比他差一点点,比如Rb=39.5的时候,差别就很明显了。

10000步后轨迹平均。Ra=40, Rb=39.5

你看,水平只比人家差一点点,却要比人家多跑不少路。

如果水平再差得多一点,就更有意思了。下图是Ra=40,Rb=30的结果。

10000步后轨迹平均。Ra=40, Rb=30

Alice水平高,于是可以运筹帷幄之中,几乎只要在自己家门口转转就行了。Bob水平差一截,为了不丢失Alice这个目标,就得一路跟踪到人家家门口去才行。

这些结果也都很合情理。

只要愿意,我们还可以加上其他限制条件。比如要求跟踪距离不能太近,否则会被发现等等。这里就不继续做了。

其实从数学角度来说,这是个很简单的问题。从概率论入手进行理论推导大概也就是一道作业题的难度,而我所做的模拟在简书上众多的程序员眼里也只能算是小儿科。不过,这种用数学建模、暴力计算、强行插入一个侦探推理问题的感觉还是很爽的。应该也算有点脑洞了吧?哈哈。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容