小森在公交站等车,有三路公交车均可乘坐到达目的地。A 公交车到站的时间为 0 到 10 分钟内的任一时间点,且服从 [0, 10] 的均匀分布。同样地,B 公交车到站的时间为 0 到 20 分钟内的任一时间点,C 公交车到站的时间为 0 到 30 分钟内的任一时间点。求问小森的平均等车时间?

1. 只有两辆公交车的情况

三辆公交车分析起来比较复杂,我们可以试着先考虑只有两辆公交车的情况,弄明白了这种情况下的平均等车时间,我们自然而然就很容易推广到三辆公交车的情形。

设公交车 A 到站的时间为随机变量 \(X\),那么 \(X\) 的取值范围为 [0, 10],其概率密度函数为:

\[f_X(x)=\frac{1}{10}, \quad 0 \leqslant x \leqslant 10\]

同理,设公交车 B 到站的时间为随机变量 \(Y\),那么 \(Y\) 的取值范围为 [0, 20],其概率密度函数为:

\[f_Y(y)=\frac{1}{20}, \quad 0 \leqslant y \leqslant 20\]

小森的等待时间为随机变量 \(S\),易知 \(S=min(X, Y)\),也即等待时间为公交车内 A、B 到站时间的较小者。其概率密度函数则为:

\[f_S(s)=\begin{cases} \frac{1}{10}, \quad s = min(x, y)=x \to x \leqslant y \\ \frac{1}{20}, \quad s = min(x, y)=y \to x > y \end{cases}\]

平均等待时间即为 \(S\) 的期望,

\[E[S] = \int f_S(s)sds = \int_0^{10}\frac{1}{20}\Big(\int_0^{y}\frac{1}{10}xdx\Big) dy + \int_{10}^{20}\frac{1}{20}\Big(\int_0^{10}\frac{1}{10}xdx\Big) dy+ \int_0^{10}\frac{1}{10}\Big(\int_0^{x}\frac{1}{20}ydy\Big) dx\]

上式前两项代表 \(x \leqslant y\) 的情况,最后一项代表 \(x > y\) 的情况。

也可以写成下面这样的形式,

\[E[S] = \int f_S(s)sds = \int_0^{10}\frac{1}{10}\Big(\int_0^{x}\frac{1}{20}ydy + \int_{x}^{20}\frac{1}{20}xdy\Big) dx\]

外层积分代表 \(X\) 是 [0, 10] 上的均匀分布,内层积分的第一部分代表 \(x > y\) 的情况,第二部分代表 \(x \leqslant y\) 的情况。

最后求得 \(E[X]=\frac{25}{6}\approx4.1667\),也即小森的平均等车时间为 4.1667 分钟。

import numpy as npsample_num = 1000000
a = np.random.uniform(0, 10, sample_num) # 生成一个 [0, 10] 的均匀分布
b = np.random.uniform(0, 20, sample_num) # 生成一个 [0, 20] 的均匀分布for i in range(a.shape[0]):a[i] = min(a[i], b[i])print(np.mean(a)) # 期望值,4.167499895337278

用程序随机生成数据验证后,也可得到近似的值。

2. 三辆公交车的情况

如果再增加一辆公交车 C,其到站的时间为随机变量 \(Z\),那么 \(Z\) 的取值范围为 [0, 30],其概率密度函数为:

\[f_Z(z)=\frac{1}{30}, \quad 0 \leqslant x \leqslant 30\]

则 \(S=min(X, Y, Z)\),也即等待时间为公交车内 A、B、C 到站时间的较小者。其概率密度函数则为:

\[f_S(s)=\begin{cases} \frac{1}{10}, \quad s = min(x, y, z)=x\\ \frac{1}{20}, \quad s = min(x, y, z)=y \\ \frac{1}{30}, \quad s = min(x, y, z)=z \end{cases}\]

平均等待时间即为 \(S\) 的期望,

\[E[S] = \int f_S(s)sds = \int_0^{10}\frac{1}{10}\Big(\int_0^{x}\frac{1}{20} \Big[\int_0^{y}\frac{1}{30}zdz+\int_y^{30}\frac{1}{30}ydz\Big] dy + \int_x^{20}\frac{1}{20} \Big[\int_0^{x}\frac{1}{30}zdz+\int_x^{30}\frac{1}{30}xdz\Big] dy\Big) dx\]

最外层积分代表 \(X\) 是 [0, 10] 上的均匀分布,中间层积分代表 \(Y\) 是 [0, 20] 上的均匀分布,最内层四部分分别代表 \(x > y \space\&\&\space y > z\)、\(x > y \space\&\&\space y < z\)、\(x < y \space\&\&\space x > z\) 和 \(x < y \space\&\&\space x < z\)四种情况。

最后求得 \(E[X]=3.75\),也即小森的平均等车时间为 3.75 分钟。

import numpy as npsample_num = 1000000
a = np.random.uniform(0, 10, sample_num) # 生成一个 [0, 10] 的均匀分布
b = np.random.uniform(0, 20, sample_num) # 生成一个 [0, 20] 的均匀分布
c = np.random.uniform(0, 30, sample_num) # 生成一个 [0, 30] 的均匀分布for i in range(a.shape[0]):a[i] = min(a[i], b[i])a[i] = min(a[i], c[i])print(np.mean(a)) # 期望值,3.748124747694317

用程序随机生成数据验证后,也可得到近似的值。

获取更多精彩,请关注「seniusen」!

转载于:https://www.cnblogs.com/seniusen/p/10755702.html

均匀分布的公交站等车问题相关推荐

  1. JAVA-数据结构与算法-修路问题(普里姆算法)和公交站问题(克鲁斯卡尔算法)

    修路问题(普里姆算法) 最小生成树,给定一个带权的无向连通图,如何选择一颗生成树,使树上所有边上权的总和为最小:N个顶点,N-1条边 普里姆算法,在包含n个顶点的连通图中,找出只有n-1条边,包含所有 ...

  2. 利用百度地图api抓取POI点(上海公交站)

    1.功能描述 百度地图api抓取POI点(上海公交站) 2.代码 import pandas as pd import requests import json import numpy as npi ...

  3. 克鲁斯卡尔算法解决公交站问题

    一 问题提出 1 某城市新增7个站点(A, B, C, D, E, F, G) ,现在需要修路把7个站点连通. 2 各个站点的距离用边线表示(权) ,比如 A – B 距离 12公里. 问:如何修路保 ...

  4. 面向公交营运的车路协同关键技术研究

    面向公交营运的车路协同关键技术研究 面向公交营运的车路协同关键技术研究 一.公交运行痛点 痛点一:视觉盲区存在安全隐患 痛点二:路况信息.路面状态获取滞后 痛点三:伪优先不能提升公交可靠性和路网运行效 ...

  5. 利用Python爬取全国250m精度的人口数据(GeoQ)、房价数据和公交站(线路)等数据

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 中原百科 GIS大师兄 PS:如有需要Python学习资料的小伙伴可 ...

  6. 变压器相邻公交站 候车人提心吊胆[图]

    高峰时段长队可一直排到体积巨大的变压器下. "每天下班排队等车时,都有一只巨大的变压器悬在我头上."许多乘61路公交车上下班的乘客都有种担心,多年来,两只体积巨大的变压器始终挂在吴 ...

  7. python 取json下某一key_利用Python爬取全国250m精度的人口数据、房价数据和公交站(线路)等数据(一)...

    我的第一篇博客写的就是爬取人口数据,精度是1000m,后来有朋友和我说有个网站开放过250m精度的人口分布数据,而且人口分布有年龄分段等属性. 所以我决定试一下能不能爬到这个网站的人口信息,首先得注册 ...

  8. android百度地图 查询该公交站的公交信息

    最近想做一个根据定位查询附近公交车信息,但是苦于没有啥相关信息,研究一阵子终于弄出来了.提供一个思路,先根据利用POI检索出附近的公交站点,然后在检索结果里利用PoiInfo.address即查出该站 ...

  9. Python爬虫之公交路线及公交站坐标获取

    转载 http://blog.csdn.net/wenwu_both/article/  https://zhuanlan.zhihu.com/p/33003655 1.公交路线获取 # coding ...

最新文章

  1. 重磅,2020年度第十届吴文俊人工智能科学技术奖获奖名单公示
  2. google mock分享
  3. 【WPF】设置TextBox内容为空时的提示文字
  4. python中hashmap的方法_如何为Java的HashMap模拟Python的dict的“ items(...
  5. vc如何打开plt图像_opencv_python从zero到hero————之图像基本操作01
  6. 梯度下降-从0开始一行代码一解释
  7. 文件写入一行 、读取一行的工具类案例
  8. Shell 脚本 ssh免密码 登录 远程服务器 sshpass用法示例
  9. php电竞酒店系统,电竞酒店系统管理@电竞酒店云管家@电竞酒店解决方案
  10. 完整的元器件选型指南
  11. 近观香港,远看上海,反思深圳
  12. BTC投资者损失预计达73亿美元 “割肉式”抛售来袭?加密寒冬比预期更冷、更长
  13. 4-2 webpack使用mapsource调试
  14. 星巴克急了,瑞幸就稳了?
  15. 万万没想到,“红孩儿” 竟然做了程序员,还是 CTO!
  16. android倒计时日历软件,Hurry - 一款颜值超高的日历+倒计时 APP - Android 应用 - 纪念日 - 【最美应用】...
  17. win10新建虚拟机网络配置未连接服务器,Win10系统VMWare虚拟机无法连接网络怎么办?...
  18. 【SQL Server】入门教程-基础篇(三)
  19. 深度学习笔记其三:多层感知机和PYTORCH
  20. Pulsar 社区周报| 2020-12-05 ~ 2020-12-11

热门文章

  1. IMU姿态融合(MPU9250从校正到滤波步骤)
  2. php monolog 使用,使用Monolog做日志
  3. 微软ChatGPT实测:这样“不道德”,我是拒绝的
  4. 华为分布式存储(FusionStorage)
  5. Java开源项目:saas小程序商城(SpringCloud + Oauth2.0 + ShiroRedis + JWT + Gateway + Nacos + Nginx+Vue+Mysql)
  6. 你的Windows 7或Windows Vista安装“系统更新准备工具(KB947821)”了吗?
  7. 红米note9调试微信小程序蓝牙,无法搜索到任何设备
  8. 【线性表】—动态顺序表的增删查改实现
  9. 网络超时检测-select()函数
  10. 华为云计算之容灾技术