起因
国庆第一天,我在家门口的十字路口被堵住了。站在路边等的那几分钟,我盯着信号灯看了老半天,发现一个挺明显的事:南北向的车排成长队,东西向基本没几辆,可红绿灯还是照老规矩"南北30秒、东西30秒"地轮着放。
我脑子里就冒出个念头:车流都这么不均匀了,红绿灯就不能"看人下菜"、跟着车流自己调吗?
这篇文章就是把今天的观察和想法、加上后来查的东西,整理成一篇随笔。
一、发现问题:路口是怎么堵起来的
那天的情况用一句话就能说清:该放车的时候不够放,不该放的时候白白放。
-
南北向车多,绿灯那30秒根本不够用,车越积越长;
-
东西向车少,30秒绿灯大部分时间是空的,纯浪费。
这种"一头多一头少"的车流,行话叫潮汐车流。国庆这种日子方向性特别强,比平时更明显,老配时的毛病也就被放大了。
我当时的疑问很简单:现在的红绿灯,配时基本都是写死的——每方向绿灯几秒、多久轮一次,设好就不怎么动。能不能让灯自己"长眼睛":
南北车多就给南北多点绿灯,东西没车就干脆跳过,别让它干等。
这想法后来一查,还真不新鲜,城市交通里早就在做,专业名字叫自适应信号控制。
二、思考和检索:自适应信号灯,到底行不行
1.它是怎么"看"和"算"的
说穿了就三步:
看——靠地感线圈、摄像头、雷达这些家伙,实时知道每个方向排了多少车、车流多大;
算——根据各方向的"需求",算出绿灯该给多久;
动——信号机执行新配时,比如把南北绿灯从30秒拉到50、60秒,东西压到15~20秒甚至直接跳过。
落在那天那个路口,大概就是这么回事:
| 南北 | 绿灯30秒 | 延长到50~60秒 |
| 东西 | 绿灯30秒 | 缩短到15~20秒,没车时跳过 |
目标说白了就一句:在保障安全、也保住行人过街时间的前提下,把绿灯尽量给"排队长、等得久"的方向,让大家平均等待时间最短。
2.现实里的做法
自适应不是一种技术,是"一家子",常见的这么几种:
-
感应控制:最简单的"有车就延"。每个方向给个最低绿灯,后面还有车就再延几秒,没车立刻切。东西向没车就跳过、南北向连着放,很多小路口在用。
-
单点自适应:只管一个路口四个方向的配时。便宜、上得快,但只看得见自己,容易把拥堵"推"到下一个路口。
-
区域协同(绿波):一片路口联网统一调度,不光看当前路口,还看上下游,做成"一路绿灯"。代表作是英国的SCOOT、澳大利亚的SCATS,杭州"城市大脑"也算这类。
-
强化学习:让路口自己"玩着学着",通过大量仿真和真实数据,慢慢学会"车多就给绿灯、没车就跳过"。这几年很火,但训练贵、还讲不清为什么这么配。
3.那为什么大街上没全换
道理不难,落地却卡在几个硬地方:
-
费钱:摄像头、雷达、线圈要装要养,老路口改造是一笔钱,小路口一般不配;
-
不能只盯着机动车:东西向车少,可要是行人、电动车多,绿灯就不能压太短,过街安全是底线,没得商量;
-
极端流量它也怕:算法一般是"短时微调",绿灯有上限。比如南北上限60秒,车再多也不能一直放,得给对向留最低时间,不然那边就"饿死"了;
-
黄灯、全红不能省:那是保命的时间,车没走完就放另一方向,会出事故;
-
单点调好了,可能坑了邻居:一个路口优化完,堵点会往下一个路口挪。
所以一句话:技术上早就可行了,现实里卡在钱、安全和协调上,于是很多路口还是老配时。
三、发散和总结:从路口想到网络,再想到人
1. 红绿灯,其实和网络的"堵车"是一回事
发散一想,我忽然觉得路口信号灯和计网里的拥塞控制特别像。
都是在有限资源里,实现资源的合理调度、避免无效浪费。
| 十字路口 | 路由器 |
| 车道通行能力 | 链路带宽 |
| 车辆 | 数据包 |
| 排队车辆 | 路由器缓冲区 |
| 绿灯时长 | 分给某个方向的传输时间 |
相通的地方好几条,挑几条说:
-
都拿"队伍长度"当信号:红绿灯看排队车数,网络看缓冲区排队(延迟变大、丢包),队伍长了就多给资源或降速;
-
资源都有上限,不能无限分:南北绿灯不能无限长、东西必须保底,网络里每个流也有最小保障和速率上限;
-
都怕突发:国庆瞬时车流暴涨,对应网络的流量突发;
-
都有"局部好了、全局未必好"的坑:单路口调好可能把堵挪到下一个路口,单路由器只盯自己缓冲区也容易把拥塞甩给下游,都得靠区域或全局协同。
网络的经验,可以迁移到智慧交通的红绿灯控制上:
-
别等堵死再动手:网络里有个思路叫RED,队列快到满之前就提前干预。红绿灯可以学:排队接近阈值就提前慢慢加绿灯,而不是排到上一个路口才猛调;
-
按权重分:网络里按权重分带宽,红绿灯可以学:南北车多权重高多分点,东西权重低但保底,别让谁"饿死"。
不过说到底,两者有个没法照搬的根本差别:
-
网络能丢包,交通不能"丢车"。网络堵了直接丢包、让发送方重传就行;车不能扔,只能限流慢慢放。这是最大的不同;
-
路口是"你用我就不能用":南北通行时东西绝不能放(相位互斥);网络链路可以多条流一起走;
-
车有惯性、司机还是人:车不能瞬间加速消失,司机还会抢道、犹豫,比数据包难伺候多了;
-
数据包能存,车不能"存":网络需求可以压一压再发,交通需求当下消化不掉,就变成堵。
2. 那天四个交警,其实在干"人工自适应"的活
那天现场来了4个交警,站的位置和干的活,我看下来大概是这样:
-
南北进口一个:管着驶进路口的车,不让车一直往里堆,防路口里面塞满——车一塞满,绿灯也走不动,叫"死锁";
-
东西进口一个:压着东西机动车进来,给行人、电动车找空当放行;
-
路口中央一个:指挥把路口里滞留的车清走,保证上一个方向的车走干净了;
-
远端机动一个:盯着排队尾巴,看上游还有没有车源源不断来,好通知进口岗控流;顺便处理剐蹭、乱停。
他们最核心的一招就一句:先把路口里面清空,再管放不放车,而不是一个劲儿放。
我原来也以为南北车多就多放南北绿灯就行,后来才明白:路口一旦塞满,放多少车都白搭,只会越堵越死。所以交警宁可间歇性截断来车,等路口消化完再放一批。这套东西换成网络的词,就是入口限流——不是等缓冲区满了才丢包,而是提前管住涌进来的流量。
那我们普通人遇到这种堵,能干嘛?
-
进路口前看一眼对面出口——出口堵死了,就算绿灯也别开进去,不然卡在中间,把横向车流也锁死了,这是最要紧的一条;
-
别抢道别加塞,加塞只会让清空更慢,越添越堵;
-
交警的手势永远优先于红绿灯,这是法规规定的;
-
远远看到长队,提前找小路绕,别硬往主路挤。
3. 自动化和人,各自能干到哪
回头把这两天琢磨的拢一拢:
-
自适应红绿灯:7×24自动转,便宜、规范、有保底,但只能做微调,遇上路口被填满这种"死锁"就没辙,也处理不了事故、占道;
-
交警现场指挥:看得全、能限流能分流、能临时改规则、能处理死锁,但费人力、不能一直盯着,还受视线体力限制。
所以堵也得分两层:
只是排队长、路口里面是空的——自适应红绿灯就能解,多给主方向绿灯消化排队就行;
路口里面都被车填满了——光调绿灯时长完全没用,必须从外面控流,这正是交警在干的事。
很多自适应系统的局限也在这:只能处理第一层,第二层的死锁,还得靠人。
4. 以后的路口会变成什么样
把这一天捋下来,脉络其实很清楚:
-
现在:多数路口还是固定配时,节假日靠"节假日专用方案"或者交警人力兜底;
-
趋势:从固定配时,到自适应,到一片路的协同,再到大数据和强化学习驱动的智慧交通;
-
现实:算法在进步,可人力还得兜底。更合理的前景不是"算法取代交警",而是算法管日常、交警管突发、系统把交警的操作记下来反哺算法,人机一起干活。
最后
把这篇随笔收个尾,给大家留几个问题:
讨论:
-
你心目中的智慧交通是什么样的?
-
未来的交通管控会是什么样?
-
随着无人驾驶时代的到来,需要哪些配套的基础设施?
欢迎在评论区聊聊你的看法。
网硕互联帮助中心





评论前必须登录!
注册