生活攻略
美国大学城路口全是 four-way stop,高峰期为什么感觉比红绿灯还慢?
1. 从一个很普通的路口开始
在美国读书的人大概都遇到过这种路口:四个方向各立一块红色八角 STOP 牌,没有红绿灯,也没有哪个方向一直拥有优先权。每辆车都要停下来,然后大致按照先到先走、转弯让直行的规则穿过路口。
这种路口通常叫 four-way stop。平时它很方便:横向没有车时,停一下、看一眼就能走,不需要对着空路等几十秒红灯。大学城、住宅区和校园周边因此到处都是。
但集中放学时,它会突然换一副样子。
四个方向都排起队以后,每辆车都要重新确认顺序:对面那辆是不是比我早一点?左边那辆要直行还是左转?我们是不是同时到的?有人犹豫,有人抢先,也有人已经起步又重新踩下刹车。原本很轻巧的路口,像是一下失去了节奏。
于是我想知道:
Four-way stop 到底在什么情况下会变得比红绿灯更慢?
这看起来只是一个生活问题,但要回答它,不能直接规定“停车牌每 4 秒走一辆、红绿灯每 2 秒走一辆”,因为这样算出来的胜负只会重复这两个数字。我们需要让两种控制方式按照各自的运行规则处理同一批车,再看结果怎样随流量变化。
2. 停车牌和红绿灯,慢在不同地方
Four-way stop:每一轮都要重新协调
Four-way stop 没有预先安排好接下来半分钟属于哪个方向。车到了以后,驾驶人自己观察顺序,再决定谁先走。
车少时,这种办法非常灵活。没有冲突就不需要空等,对向直行的两辆车有时还可以一起通过。但车多以后,每一轮都要重新观察和确认。左转、行人和模糊的到达顺序,都可能让下一辆车多停一会儿。
红绿灯:先浪费几秒,再连续放行
红绿灯把路口的时间分成几段:南北方向走一段时间,再切给东西方向。
切换并不是瞬间完成的。比如南北绿灯结束后,通常要先经过黄灯,再留一小段所有方向都是红灯的时间,让已经进入路口的车辆离开,然后东西方向才开始通行。这几秒里,没有一个方向能够像绿灯中段那样连续放车。交通工程把这类无法充分用来通行的时间叫作 lost time,其实就是每次换方向都要付出的“清场和交接成本”。
绿灯刚亮时也不会立刻进入最快速度。队首司机要看到灯变绿、做出反应、松开刹车并开始加速;第二辆车又要等第一辆先移动。等到队伍连续运动起来以后,车辆通过停止线的间隔才会稳定缩短。
所以红绿灯的特点可以概括为:每次切换都要付一笔固定成本,但付完以后,同一方向的车可以一批接一批地通过。
下面的动画把这两种节奏放在了一起。它不是用来计算正文数字的模拟,只是把过程放快了:车辆随机出现;four-way stop 一轮一轮决定谁先走,红绿灯则经历清场、队首起步和连续放行。切换到高流量,更容易看到两者的差别。
Four-way stop:逐轮判断
红绿灯:按方向成批放行
这是帮助理解机制的压缩示意,不用于生成正文中的模拟数字。
这已经给出了一个猜想:车少时,four-way stop 可能因为不用空等而更快;车多时,红绿灯的连续放行可能更有优势。接下来要做的,是看看这种反转会在什么地方出现。
3. 第一组实验:只增加车辆
第一组实验先有意只改变一件事:每小时进入路口的车辆总数。
我模拟了一座四个方向、每个方向一条车道的路口。车辆随机到达,左转、直行和右转的比例先设为 10%、80% 和 10%。同一批到达的车辆分别交给 four-way stop 和红绿灯处理,这样比较的就是控制方式,而不是哪一边碰巧来了更少的车。
在 four-way stop 一边,模型按照车辆的到达顺序分配通行机会,并允许互不冲突的对向车辆一起通过;在红绿灯一边,它会经历黄灯、全红和队首起步,但绿灯中段可以连续放车。每种流量重复运行 40 次,再对结果取平均。更具体的参数放在文末。
这里还需要先定义图里的“平均延误”。对一辆车来说,延误从它到达路口、加入队伍时开始,到它获得通行机会并进入路口时结束。若记录时段在 $T$ 时刻结束,第 $i$ 辆车的延误写成
\[d_i=\min\{t_i^{\mathrm{enter}},T\}-t_i^{\mathrm{in}}, \qquad \bar d=\frac{1}{N}\sum_{i=1}^{N}d_i.\]其中,$t_i^{\mathrm{in}}$ 是到达路口并加入队伍的时间,$t_i^{\mathrm{enter}}$ 是获得通行机会、进入路口的时间,$N$ 是记录时段内到达的车辆数。若一辆车到模拟结束仍没能通过,可以把它的 $t_i^{\mathrm{enter}}$ 看作无穷大,于是暂时以 $T-t_i^{\mathrm{in}}$ 计算。因此,路口已经严重过载时,图里的平均延误其实只是下界;继续模拟,仍在排队的车辆还会等得更久。后文把这个量简称为“平均延误”。
每个点是 40 次随机模拟的平均值;阴影表示重复模拟之间的不确定范围。纵轴只显示 0–300 秒;曲线和阴影在与 300 秒上边界相交的位置结束,边界之外的数据不再绘制。
总流量只有 400 辆/小时时,four-way stop 的平均等待约为 4.1 秒,定时信号约为 13.8 秒。车很少时,红绿灯经常在替一个根本不存在的横向车流保留时间。
流量增加到 1,400 辆/小时时,four-way stop 仍然较快:平均约 9.9 秒,信号灯约 16.3 秒。
但再增加 200 辆,结果就反过来了。1,600 辆/小时时,four-way stop 平均约 22.5 秒,信号灯约 16.9 秒。总流量只增加了 14%,four-way stop 的等待却增加了一倍多。
原因不是每辆车本身突然慢了十几秒,而是路口已经接近自己能够稳定处理的上限。上一小段队伍还没消失,下一批车又来了。小队伍慢慢叠成大队伍,等待就不再跟流量一起平缓增加。
到 1,800 辆/小时时,four-way stop 的平均等待已经超过 150 秒,而信号灯仍在 18 秒左右。此时 four-way stop 每小时放走的车少于新到达的车,队伍会继续增长。这里的“平均等待”只是模拟结束时截取的一张照片;如果继续观察,数字还会变大。
4. 集中放学留下的队伍,不会随高峰一起消失
大学城的车流并不是一整小时保持不变。更常见的是平时很空,下课后 20 分钟突然涌来大量车辆。
下面让路口先保持 400 辆/小时。到第 25 分钟时,进入流量瞬间升到 2,000 辆/小时,并维持 20 分钟;第 45 分钟时,再瞬间恢复到原来的 400 辆/小时。这里没有缓慢上升或下降的过渡过程。
黄色区域是 20 分钟集中放学。曲线表示 40 次模拟中的平均排队车辆数。
高峰开始前,两种路口都没有持续排队。高峰开始后,four-way stop 每分钟新来的车多于它能放走的车,队伍近似直线上升。第 45 分钟时,路口前平均积压约 106 辆车。
问题是,第 45 分钟车流恢复正常,并不代表之前的 106 辆车凭空消失。路口必须先用空闲出来的能力偿还旧队伍,之后又花了约 15 分钟才基本清空。
信号灯在同一次冲击中的平均峰值约为 14 辆,而且高峰结束后很快恢复。这解释了为什么“集中放学只有二十分钟”,附近道路却可能堵得更久。
5. 哪些因素真的会改变分界线?
一开始我以为,主路和支路的车流比例会明显改变结果。但模拟中,主路从占一半增加到占八成,反转位置几乎没动。
先看红绿灯。模型会按照两条道路的流量分配绿灯:主路车变多,就把更多绿灯时间给主路。现实中的信号灯也常用不同时段的配时方案,或者根据车辆检测器调整绿灯长度;并不是所有路口都在每一秒实时计算,但繁忙方向通常不会永远只拿一半时间。因此,主路占比上升并不会让主路车辆在同样的红灯前越积越多。
Four-way stop 也会从车流集中得到好处,只是方式不同。假如大部分车辆都在南北方向,东西方向来车就会更少,路口更常出现“只有两个对向方向有车”的情况。模型允许这两股互不冲突的对向车流同时通过,也减少了四个方向反复确认先后顺序的次数。于是,车流偏向主路时,红绿灯和 four-way stop 的效率都得到改善;两者之间的反转位置才没有明显移动。这不是说主路比例永远不重要,而是它在这组设定里没有明显改变两种控制方式的相对优势。
相比之下,下面三件事会直接改变每轮通行需要多久:左转、行人,以及车辆是否真的完全停下。
这里需要先解释最后一项。在 STOP 牌前,规则要求车辆真正停住,也就是车轮速度降到零,再观察并起步,这通常叫 full stop。现实中有些驾驶人只把车速降得很低,确认没有危险后就继续向前,车轮并没有完全停止,这叫 rolling stop。后者表面上省了一点时间,但也减少了观察和确认的余量。
下面的实验把左转比例、冲突行人数量和 full stop 比例分别调高或调低,观察 four-way stop 与信号灯的平均等待在什么流量下反转。
点越靠左,表示 four-way stop 在更低的车流量下就开始落后。这里的具体数字属于模拟,不是现实中的安装标准。
左转比例从 0 增加到 40% 时,反转位置从约 1,619 辆/小时降到约 1,311 辆/小时。左转路径更长,也更容易与对面车辆冲突;共用一条车道时,一辆等待左转的车还可能挡住后面的直行车辆。
行人的影响更明显。没有行人时,反转约在 1,526 辆/小时;每条冲突横道达到 100 人/小时时,下降到约 1,305 辆;继续增加到 400 人/小时,下降到约 990 辆。这里的精确数字很依赖行人怎样到达、一次过街占用多久,不能直接拿去判断某个真实路口,但方向很清楚:车辆不断让行,会降低路口实际能够放走车辆的速度。
Full stop 比例从 60% 增加到 100% 时,反转位置也从约 1,718 辆/小时降到约 1,390 辆。单看效率,rolling stop 似乎提高了通行能力;但它是否值得,显然不能只看节省了几秒。安全和规则遵从的问题需要单独讨论。
6. 为什么一点犹豫会造成很大的差别?
Four-way stop 还有一个红绿灯没有的步骤:驾驶人要自己判断谁先走。
为了观察这个过程,我给模型加入两个可以调节的数字:两辆车到达相差多少秒时,驾驶人会把它们看成“差不多同时到”;每次出现这种情况,又会额外犹豫多久。
下面固定总流量为 1,500 辆/小时。没有额外犹豫时,平均等待约为 12.8 秒。
横轴表示多大的到达时间差会被看成“同时到达”,纵轴表示每次判断不清时多犹豫多久。格内是平均等待时间。
如果两辆车相差 0.5 秒以内会被看成同时到达,每次只多犹豫 0.5 秒,平均等待上升到约 16.8 秒。两个数字都变成 1 秒时,平均等待约为 48.7 秒。
如果把“同时到达”的范围放宽到 2 秒,每次仍只多犹豫 1 秒,平均等待会超过 170 秒。这并不是每辆车简单多等了 1 秒,而是犹豫让路口每小时能够放走的车辆变少,最终低于新车到达的速度,队伍开始持续积累。
这组数字目前只是用来观察机制,并不是对真实驾驶人的测量。若想继续认真研究,最有用的数据会是路口视频:车辆到达时间差、实际启动顺序、已经起步又重新刹车的次数,以及获得通行机会后多久才真正移动。
7. 回到最初的问题
现在可以回答开头的问题了。
Four-way stop 平时很快,是因为它几乎没有固定的空等成本。只来一辆车时,驾驶人确认安全就能离开。它高峰时会突然变慢,则是因为每一轮都要重新观察和协调;左转、行人或一点点犹豫,都会降低路口放车的速度。接近上限以后,增加的主要不再是那一两秒操作时间,而是来不及消化的队伍。
红绿灯恰好相反。它在低流量时经常让人等待不存在的冲突,而且每次换方向都要花时间清场和重新起步。但当同一方向已经排起队时,它可以让车辆连续通过,不需要每辆车都重新协商一次。
所以这里没有一个脱离场景的固定冠军,也没有一个适用于所有路口的反转数字。真正重要的不只是有多少辆车,还包括这些车要怎么转、有多少行人、驾驶人怎样判断,以及高峰是稳定持续还是突然发生。
还有另一个问题没有包含在这篇里:如果信号灯把更多绿灯给主路,平均等待会下降,但支路司机会不会变得更惨?这涉及平均效率、公平和规则遵从,值得之后再单独讨论。
数据与方法来源
- 基准模拟完整结果 CSV
- 敏感性实验完整结果 CSV
- 敏感性实验参数说明
- 重复次数收敛检查 CSV
- Kyte, M. (1990). Estimating Capacity of an All-Way-Stop-Controlled Intersection. 本文 four-way stop 放行间隔的主要现场数据来源。
- Federal Highway Administration. Traffic Signal Timing Manual. 信号周期、切换时间和连续车流概念的背景资料。
展开查看模型的具体设定
基准实验是四个方向各一条车道的路口。Four-way stop 的放行间隔参考 Kyte 对 20 个真实路口、7,129 次车辆离开的记录,并允许互不冲突的对向车辆同时通过。信号灯每 70 秒循环一次,其中 8 秒用于黄灯、全红和方向切换;队伍稳定移动后,车辆约每 2 秒通过一辆,南北与东西方向的绿灯长度按照车流比例调整。 每次模拟先运行 15 分钟让车流进入稳定状态,再记录 60 分钟。第一组实验和集中放学实验使用 40 次重复;后面的敏感性实验因为组合更多,根据网格大小使用 24 到 40 次。完整次数记录在 CSV 中。为了单独检查第一组实验,在 400、1,400、1,600 和 1,800 辆/小时四个关键位置,我又把重复次数提高到 320 次。 检查后,40 次估计的反转位置约为 1,506 辆/小时,320 次时约为 1,527 辆/小时,相差约 1.4%;四个位置上两种路口的快慢关系也都没有改变。接近上限时,单次结果的波动确实更大:在 1,600 辆/小时时,40 次估计为 22.5 ± 3.0 秒,320 次估计为 20.5 ± 0.7 秒。也就是说,40 次足以支持第一组实验的方向性结论和取整后的数字,但不适合把小数点或某一辆/小时当成精确边界。后面的敏感性结果同样只用来比较明显的方向,不把图上的具体分界值当作工程标准。本文是用于解释机制的简化模拟,不是工程设计软件。它没有多车道、校车、重型卡车或复杂的行人相位。图表和正文数字均由可复现脚本生成。
存入收藏夹
选一个收藏夹归类;不选就留在「默认收藏夹」。