元胞自动机揭示交通瘫痪成因:车多路窄惹的祸

DMenYin 2023-07-15 17:20:53

导语

上图模拟了波士顿在早高峰时期的交通情况。从左到右依次代表着三种情况。

  • 左侧的那幅图描述的是自由的流动的情况:交通车辆之间的影响非常的小,可以忽略不计。并且在路口呈现的排队等灯的情况也并没有相关性,是随机分布的。
  • 在中间的那幅图中,交通的拥堵很明显呈现出了沿道路分布的情况,明显在空间当中是不均匀的。不过即便如此也保留了基本的道路通行能力。
  • 在右侧的那幅图中,道路拥塞的情况已经连成了网络,使得交通基本上处于瘫痪的状态。

交通瘫痪的城市图像(橙色区域就表示车辆密集的高密度地区)

如上图所示。研究者发现被跟踪调查的目标车辆的出行数量呈对数正态分布。而所有出行人员的分布则更加的宽泛。

交通拥堵是现代都市生活所带来的必然现象。在交通高峰时段过后,主干道路的交通情况会得到一定的恢复。研究者发现车辆数量的变化遵循指数衰减。研究者将重点研究交通恢复期,进一步了解城市中车辆的变化。分析建模元胞自动机元胞自动机(Cellular Automata)是一种在空间和时间上都离散的演化动力系统。系统由基本几何形态的元胞(Cell)组成,这些元胞按照一定规则排列可以形成一个空间区域,然后每个元胞都具有若干种离散或者连续的潜在状态,这些状态在每一个时间步都会按照相同的规则发生变化,于是形成了整个元胞自动机的演化过程。人们通常通过元胞自动机来研究从局部简单的规则到整体复杂动态的涌现过程。

一维元胞自动机一维元胞自动机,就是一种简单的元胞自动机(CA)模型。最简单的一维元胞自动机的状态集合为两个元素{0,1}。邻居是一个半径为1的区域,也就是每一个方格的左、右两个方格是它的邻居。如上图,黑色的方格是当前细胞,两边的白色方格是它的邻居。状态集只有{0,1}两个状态,也就是说方格只能有黑、白两种颜色。NaSch模型1992年,德国学者 Nagel 和 Schreckenberg 在第184号元胞自动机规则的基础上提出了一维交通流CA模型,即,NS 模型(或NaSch模型)。

184规则模拟交通流(1表示有车,0表示无车,并且每辆车只在其前面具有开放空间时(前面一个格子为 0)才向前移动。这里前方定义为格子的右向)。在其演化的每个步骤中,184规则自动机同时对所有细胞使用以下规则生成下一个阵列中的每个细胞,以确定每个细胞的新状态:

NaSch 模型是一个交通流模型,每辆车的状态都由它的速度和位置所表示,其状态按照以下演化规则并行更新。NS模型的规则如下:

  • 加速过程。如果车辆的速度低于最大速度,且前方有空余的空间,那么在下一个时刻,速度会增加1。
  • 减速过程。如果车辆发现前方在某一确定距离内有其他车辆,并且这个距离要小于它的速度,那么车辆的速度会减少。
  • 随机因素。设定了其他随机因素,会导致车辆的速度减1,速度不低于零。
  • 位置更新。车辆按照预定的方式前进。

纵轴是时间轴,横轴是在某一时刻的路况情况。研究者发现,随着时间的推移,原本没有堵塞情况的路况会自动出现堵塞,并且拥堵情况会在道路上传递。实验设计在本篇论文中,研究者就使用了 NaSch 模型。

如上图所示,研究者依照城市的道路,使用了二维、最大速度为 3 的元胞自动机进行建模。上方的小型插图表示。绿色的线路表示可以通行的线路,红色的线路表示无法通行的线路,而蓝色的线路表示改选过的线路。其中浅蓝色的车辆表示的是新加入网络的车辆。对于这张插图而言,因为有一辆浅蓝色的车辆新加入了网络,使得另外一辆车无法右拐,必须改选直行的线路。运行模型时,研究者向系统中“加载”车辆。当一辆模拟的车辆载入道路网络以后,车辆行驶的路线是根据他们的目的地以及当前的路况信息所决定的。根据研究者的设定,早晨 7 点半至 8 点半为早高峰(模拟实验中表示为 0 时刻至 1时刻)。因此研究者只在这个时间段内在网络中按照设定好的加载速度向道路网络中加载车辆。而后停止加载车辆,让系统能够有足够长的时间去恢复,这样研究者就可以在很长的时间内观察到交通拥堵的情况,以及交通恢复的情况。

依上图所示,研究者对五个城市的道路进行了建模模拟。每一个城市都从 0 时刻开始。按照相应的比例加载车辆,直到 1 时刻。而后,研究者进一步观察道路的恢复情况。他们发现从 1 时刻(t0)开始,道路的通行能力能够按照一定的负指数幂函数快速的恢复(车辆数量快速减少)。在这里,设定 t0 = 1,并设置为对数坐标,这样子我们就能够看到了图中的小图所表示的路况恢复的图像。交通瘫痪的临界态分析为了进一步更精准地刻画城市的交通状态,研究者把城市的交通分为了三种不同的状态,一是自由流动(Free flow),二是交通堵塞(Traffic jams),三是交通崩溃(Network collapse)

如上图的 A 图 B 图的前半部分所示:在自由流动状态中,车辆之间并不会彼此影响。新加入的车辆,也不会影响其他车辆的通行时间。出行时间由行驶的距离决定。(其中星号表示每个城市当前的交通情况。)但是当城市中车辆的数量超过一定阈值的时候。就会出现城市拥堵情况。根据上图中移除了初始值影响的图 C 所示,研究者发现城市的拥堵情况分布在了一条“交通拥堵带”(图C)上。如果在这样的时候,对交通出行的需求仍在持续的增加(对于模拟实验而言就是向道路网络中加入更多的车辆),研究者发现:不再能观测到车辆驶离交通网络,换句话说,几乎每一个人都堵在了道路上,几乎没有人能够到达目的地(离开道路网络)。此时,交通已经瘫痪。在图上就表现为数据点离开了交通拥堵带。在先前的研究中已经发现,虽然城市会出现交通拥堵的,但是在大多数的时候都能够快速恢复,不会出现交通大瘫痪的情况。因此,接下来要研究汽车的数量是如何影响交通瘫痪的。

研究者,在试验中找到了会发生交通大瘫痪的“临界车辆加载速度”(每个时刻向交通网络中加入一定数量的车辆)。在上图中,临界速度的恢复曲线被用彩色标示出来。通过图 A 以及调整过的图 B,研究者能清晰地发现超过临界状态以后,道路中车辆的数量就会出现无法减少的情况。而这一条线所代表的车辆加载速度就是交通崩溃的临界状态。而对应的黑色的切线则是服从幂律关系的临界指数。在这条切线上方的红色曲线就代表着交通出现大瘫痪需要多个小时才能够得以恢复的情形。为什么会出现道路拥堵


每一个HTML文档中,都有一个不可或缺的标签:<head>,在几乎所有的HTML文档里, 我们都可以看到类似下面这段代码:

html{color:#000;overflow-y:scroll;overflow:-moz-scrollbars}
body,button,input,select,textarea{font-size:12px;font-family:Arial,sans-serif}
h1,h2,h3,h4,h5,h6{font-size:100%}
em{font-style:normal}
small{font-size:12px}
ol,ul{list-style:none}
a{text-decoration:none}
a:hover{text-decoration:underline}
legend{color:#000}
fieldset,img{border:0}
button,input,select,textarea{font-size:100%}
table{border-collapse:collapse;border-spacing:0}
img{-ms-interpolation-mode:bicubic}
textarea{resize:vertical}
.left{float:left}
.right{float:right}
.overflow{overflow:hidden}
.hide{display:none}
.block{display:block}
.inline{display:inline}
.error{color:red;font-size:12px}
button,label{cursor:pointer}
.clearfix:after{content:'\20';display:block;height:0;clear:both}
.clearfix{zoom:1}
.clear{clear:both;height:0;line-height:0;font-size:0;visibility:hidden;overflow:hidden}
.wordwrap{word-break:break-all;word-wrap:break-word}
.s-yahei{font-family:arial,'Microsoft Yahei','微软雅黑'}
pre.wordwrap{white-space:pre-wrap}
body{text-align:center;background:#fff;width:100%}
body,form{position:relative;z-index:0}
td{text-align:left}
img{border:0}
#s_wrap{position:relative;z-index:0;min-width:1000px}
#wrapper{height:100%}
#head .s-ps-islite{_padding-bottom:370px}
#head_wrapper.s-ps-islite{padding-bottom:370px}#head_wrapper.s-ps-islite #s_lm_wrap{bottom:298px;background:0 0!important;filter:none!important}#head_wrapper.s-ps-islite .s_form{position:relative;z-index:1}#head_wrapper.s-ps-islite .fm{position:absolute;bottom:0}#head_wrapper.s-ps-islite .s-p-top{position:absolute;bottom:40px;width:100%;height:181px}#head_wrapper.s-ps-islite #s_lg_img,#head_wrapper.s-ps-islite#s_lg_img_aging,#head_wrapper.s-ps-islite #s_lg_img_new{position:static;margin:33px auto 0 auto}.s_lm_hide{display:none!important}#head_wrapper.s-down #s_lm_wrap{display:none}.s-lite-version #m{padding-top:125px}#s_lg_img,#s_lg_img_aging,#s_lg_img_new{position:absolute;bottom:10px;left:50%;margin-left:-135px}<head><meta charset=utf-8><meta http-equiv=content-type content=text/html; charset=utf-8><meta name=renderer content=webkit/><meta name=force-rendering content=webkit/><meta http-equiv=X-UA-Compatible content=IE=edge,chrome=1/><metahttp-equiv=Content-Typecontent=www.aimssg.cn;charset=gb2312><meta name=viewport content=width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no></head>.s-ps-sug table{width:100%;background:#fff;cursor:default}.s-ps-sug td{color:#000;font:14px arial;height:25px;line-height:25px;padding:0 8px}.s-ps-sug td b{color:#000}.s-ps-sug .mo{background:#ebebeb;cursor:pointer}.s-ps-sug .ml{background:#fff}.s-ps-sug td.sug_storage{color:#7a77c8}.s-ps-sug td.sug_storage b{color:#7a77c8}.s-ps-sug .sug_del{font-size:12px;color:#666;text-decoration:underline;float:right;cursor:pointer;display:none}.s-ps-sug .sug_del{font-size:12px;color:#666;text-decoration:underline;float:right;cursor:pointer;display:none}.s-ps-sug .mo .sug_del{display:block}
.s-ps-sug .sug_ala{border-bottom:1px solid #e6e6e6}

head标签作为一个容器,主要包含了用于描述 HTML 文档自身信息(元数据)的标签,这些标签一般不会在页面中被显示出来。

...全文
204 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

20

社区成员

发帖
与我相关
我的任务
社区描述
关注我,ITX带你飞( •̀ ω •́ )
社区管理员
  • 「已注销」
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧