每 10 分钟和 15 分钟一班的两辆巴士中的第一辆的等待时间预期值

机器算法验证 可能性 随机变量 期望值
2022-02-11 05:44:05

我遇到了一个面试问题:

每10分钟有一趟红色火车。每15分钟有一趟蓝色火车。它们都从随机时间开始,因此您没有任何时间表。如果您随机到达车站并乘坐任何一辆先到的火车,预计等待时间是多少?

4个回答

解决问题的一种方法是从生存函数开始。为了至少要等待t分钟你必须至少等待t红色蓝色火车的分钟。因此,总体生存函数只是个体生存函数的乘积:

S(t)=(1t10)(1t15)

其中,对于0t10, 是您至少需要等待的概率t下一班火车的分钟。这考虑到了 OP 在评论中的澄清,即要采取的正确假设是每列火车都在一个固定的时间表上,独立于另一列和旅行者的到达时间,并且两列火车的阶段是均匀分布的,

然后得到的pdf为

p(t)=(1S(t))=110(1t15)+115(1t10)

并以通常的方式获得期望值:

E[t]=010tp(t)dt=010t10(1t15)+t15(1t10)dt=010(t6t275)dt,

结果是359分钟。

答案是

E[t]=xymin(x,y)110115dxdy=x(y<xydy+y>xxdy)110115dx
获取括号内的部分:
y<xydy=y2/2|0x=x2/2
y>xxdy=xy|x15=15xx2
所以,这部分是:
(.)=(y<xydy+y>xxdy)=15xx2/2
最后,
E[t]=x(15xx2/2)110115dx=(15x2/2x3/6)|010110115=(1500/21000/6)110115=510/93.89

这是要模拟的 MATLAB 代码:

nsim = 10000000;
red= rand(nsim,1)*10;
blue= rand(nsim,1)*15;
nextbus = min([red,blue],[],2);
mean(nextbus)

假设每列火车都在一个固定的时刻表上,独立于其他火车和旅行者的到达时间,那么两列火车都没有在第一个到达的概率x分钟是10x10×15x15为了0x10,当积分给出3593.889分钟

或者,假设每列火车都是泊松过程的一部分,则联合率是115+110=16火车一分钟,使预期的等待时间6分钟

我可能是错的,但假设每列火车的出发时间遵循均匀分布,我会说在随机时间到达车站时,预期的等待时间为:

  1. Red train 是E[R]=5分钟
  2. B火车是E[B]=7.5分钟
  3. 先来的火车是E[min(R,B)]=1510(E[B]E[R])=154=3.75分钟


正如评论中指出的那样,我将“它们都从随机时间开始”理解为“两列火车在同一随机时间开始”。这是一个非常有限的假设。