Algorithm 谷歌运输太理想化了。你将如何改变这一点?

Algorithm 谷歌运输太理想化了。你将如何改变这一点?,algorithm,traffic,Algorithm,Traffic,假设你想从A点到B点。你使用谷歌交通方向,它告诉你: Route 1: 1. Wait 5 minutes 2. Walk from point A to Bus stop 1 for 8 minutes 3. Take bus 69 till stop 2 (15 minues) 4. Wait 2 minutes 5. Take bus 6969 till stop 3(12 minutes) 6. Walk 7 minutes from stop 3 till point B for 3

假设你想从A点到B点。你使用谷歌交通方向,它告诉你:

Route 1:
1. Wait 5 minutes
2. Walk from point A to Bus stop 1 for 8 minutes
3. Take bus 69 till stop 2 (15 minues)
4. Wait 2 minutes
5. Take bus 6969 till stop 3(12 minutes)
6. Walk 7 minutes from stop 3 till point B for 3 minutes.
总时间=5等待+40分钟

Route 2:
1. Wait 10 minutes
2. Walk from point A to Bus stop I for 13 minutes
3. Take bus 96 till stop II (10 minues)
4. Wait 17 minutes
5. Take bus 9696 till stop 3(12 minutes)
6. Walk 7 minutes from stop 3 till point B for 8 minutes.
总时间=10等待+50分钟

Route 2:
1. Wait 10 minutes
2. Walk from point A to Bus stop I for 13 minutes
3. Take bus 96 till stop II (10 minues)
4. Wait 17 minutes
5. Take bus 9696 till stop 3(12 minutes)
6. Walk 7 minutes from stop 3 till point B for 8 minutes.
总的来说,1号公路看起来好多了。然而,实际情况是,由于交通堵塞,69路公交车晚点了3分钟,我最终错过了6969路公交车。下一班车6969至少30分钟后到达,相当于5分钟等待+70分钟(包括在寒冷或炎热天气下30米等待)。如果谷歌真的宣传这种可能性,那不是很好吗?我现在的问题是:考虑到日程安排的不确定性,显示前3条路线的更好算法是什么


谢谢

添加表示不同类型旅程元素不确定性水平的权重如何

都柏林市的公交服务是出了名的不合时宜,与都柏林公交时刻表有关的任何事情都可能增加40%的误差幅度,给出最好和最坏的情况。你也可以把交通高峰时间的长期延误考虑在内。然后,用户可以看到,他们可能有20%或80%的机会真正建立连接

您可以按“最可能正确”的因素对“最佳”旅程进行排序,并将此数据包含在显示给用户的结果中


我的两分钱:)

如果你考虑到不确定性,那么就不再有“最佳路线”,而是可以有一个“最佳策略”,最大限度地减少运输中的总时间;然而,它不能表示为一个线性的指令序列,而更像是一个总体规划的形式,即“去公交站X,等到10:00再去公交站Y,如果它没有到达,步行到车站Z…”这将是出了名的难以呈现给用户的(此外,制作该系统的计算成本也很高)

对于一个固定的指令序列,可以计算它实际运行的概率;但用户希望接受的确定程度是什么?你会满足于,比如说,80%的成功率吗?在最坏的情况下,如果你错过了每两个小时一班的火车,那么当你错过其中一个连接时,纸牌屋就会倒塌


多年来,我编写了一个类似的程序来计算芬兰的长途汽车行程,我只是报告了假设每辆汽车都准时的换乘时间。然后,基本上每一个换乘时间不到15分钟左右的计划都被忽略了,因为它们太危险了(有时在给定路线上每天只有一到两辆长途汽车)。

根据经验。记录实际到达时间与计划到达时间,并计算每个时间的平均值和标准偏差。在考虑可能的路线时,计算某一段到达时间晚到足以使您错过下一段的概率,并计算平均等待时间
P(准时)*T(第一班车)+(1-P(准时))*T(第二班车)
。如果你必须考虑多条腿,每一个都可以独立地迟到,并且你可能会错过多个可能的下一腿,这将变得更加复杂,但一般原则是成立的。

< P>灾难性的失败应该是第一个检查。< / P> 当您试图连接到当天的最后一班公交车时,这一点尤其重要,因为这是路线的关键部分。骑手需要知道正在发生的事情,这样他就不会太分心,并且知道风险

之后,它可以评估最坏情况下的单次失误


然后,如果你真的想变得有趣,看看等待点所在的社区或公交车站的犯罪统计数据

对于英国铁路系统,每个互通式立交节点都有一个相关的“允许的最小换乘时间”。然后,route planner的界面有一个高级选项,允许用户接受默认值或添加半小时增量

在您的示例中,在第2步设置“允许的最小换乘时间”,例如10分钟,将阻止路线1,如建议的那样。当然,这意味着增加了最短可能的行程时间,但这是一种折衷