首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >交通模型 – 元胞自动机——数学专题(一)

交通模型 – 元胞自动机——数学专题(一)

作者头像
神无月
发布2018-06-25 14:36:24
2.1K0
发布2018-06-25 14:36:24
举报
文章被收录于专栏:小文博客小文博客

问题抛出:

相信各位路上的老司机都遇到过这样的怪事儿,车在路上正常的行驶着,突然遇到堵车,却发现前面根本没发生事故,也没什么其他特殊状况,令人匪夷所思。这种称为“幽灵堵车”的现象到底是什么原因造成的呢?

原理分析:

在知乎上有大神@DD YY对本问题有这比较全面的回答了,他解释这种堵车发生的原因是:当车流比较饱和的时候,实际上大家都匀速前进这个状态是非常不稳定的。只要有一点儿扰动,前方的司机变道或者踩一脚刹车,就会立即造成后方车辆依次做出连锁反应,然后形成一个虚拟的堵车点,这个堵车点会堆积大量车,然后逐渐蔓延到很远的后方。如图 这是一个交通事故的现场,造成第一辆车停下:

当这事故现场清理干净以后,后面的车仍然需要依次加速离开:

当这事故现场清理干净以后,后面的车仍然需要依次加速离开:

后方的车看到的情况就是,没有任何异常情况啊,为什么大家都停在这里。而从更宏观的角度,我们会看到路上有一个“拥堵带”,在逐渐向后方移动。取决于车辆密度,这个拥堵带有可能会越长越大,然后就永久地呆在那里,直到车辆稀少以后才会逐渐消失 根据Morris R.Flynndenn等人的研究 ,将交通模型方程比作流体流动方程,在最简单的例子中,假设一条直行单车道,所有的司机遵守相同的规则,在路上有序的行驶,当某一个位置出现阻碍时,车流开始变得不稳定,一个小小的扰动开始被放大,这个现象就是典型的幽灵堵车模型,这个不稳定的波动逐渐向后的车流传递,波动,司机被迫刹车,导致这点的交通出现拥堵,尽管整个道路的的平均密度没有发生改变。(Morris R.Flynndenn等人将这种交通波动称为“jamitons”。

Nagel-Schreckenberg 模型

元胞自动机模型是由Nagel 和Schrekenberg于1992 年提出的NS 模型[3]。NS 模型可以描述一些实际交通现象,并应用于美国联邦公路运输局的TRANSIMS 项目以及交通联机模拟系统。对于传统的司机驾驶汽车的情况采用元胞自动机的方法建立模型。

初等元胞自动机( Elementary Cellular Automata, ECA)的基本要素如下空间:一维直线上等间距的点。可为某区间上的整数点的集合。状态集:S={s1,s2} 即只有两种不同的状态。这两种不同的状态可将其分别编码为0 与 1;若用图形表示,则可对应“黑”与“白” 或者其他两种不同的颜色。邻居:取邻居半径r=1,即每个元胞最多只有“左邻右舍”两个邻居。演化规则:任意设定, 最多2^8=256种。

根据 Nagel-Schreckenberg 模型,假设车辆的运动满足以下规则。

1.当前速度是 v 。 2.如果前面没车,它在下一秒的速度会提高到 v + 1 ,直到达到规定的最高限速。 3.如果前面有车,距离为d,且 d < v,那么它在下一秒的速度会降低到 d - 1 。 4.此外,司机还会以概率 p 随机减速, 将下一秒的速度降低到 v - 1 。 5.在一条直线上,随机产生100个点,代表道路上的100辆车,另取概率 p 为 0.3

经过迭代结果:

图中,横轴代表距离(从左到右),纵轴代表时间(从上到下),因此每一行就表示下一秒的道路情况。可以看到,该模型会随机产生交通拥堵(图形上黑色聚集的部分)。这就证明了,单车道即使没有任何原因,也会产生交通堵塞。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年8月8日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题抛出:
  • 原理分析:
    • Nagel-Schreckenberg 模型
      • 根据 Nagel-Schreckenberg 模型,假设车辆的运动满足以下规则。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档