元胞自动机交通流模型

旧街凉风 提交于 2020-08-17 11:51:15

元胞自动机,第一次听到这名字感觉很高大上,然后查了下,这是一类模型,而不是具体的某个模型,具体的模型还得自己来,元胞自动机提供的只是一个方法的框架。

一、元胞自动机

下面的东西摘自维基百科:

细胞自动机,又称格状自动机、元胞自动机,是一种离散模型,在可算性理论、数学及理论生物学都有相关研究。它是由无限个有规律、坚硬的方格组成,每格均处于一种有限状态。整个格网可以是任何有限维的。同时也是离散的。每格于t时的态由 t-1时的一集有限格(这集叫那格的邻域)的态决定。 每一格的“邻居”都是已被固定的。(一格可以是自己的邻居。)每次演进时,每格均遵从同一规矩一齐演进。

就形式而言,细胞自动机有三个特征:

  • 平行计算(parallel computation):每一个细胞个体都同时同步的改变

  • 局部的(local):细胞的状态变化只受周遭细胞的影响。

  • 一致性的(homogeneous):所有细胞均受同样的规则所支配

更多介绍可以直接查看维基百科“细胞自动机”页面,或者Wolfram的元胞自动机页面。

这次接触它主要是用来解决交通流问题。也就是这次2014年的数学建模美国赛A题。要求衡量右行规则的交通流量和安全性以及其他因素,那么首先就得把交通模拟出来。我查了下也有现成的交通模拟软件比如Vissim,但是对于数学建模来说显然不是这么解决问题的。那么最好的方法就是通过元胞自动机了。

二、NS模型

初等元胞自动机共有256种更新规则,我们可以利用规则184来模拟交通流。

车辆行驶规则为:黑色元胞表示被一辆车占据,白色表示无车,若前方格子有车,则停止。若前方为空,则前进一格。

如图:

yuanbao

1992年,德国学者Nagel和Schreckenberg在第184号规则的基础上提出了一维交通流CA模型,即,NS 模型(或NaSch模型)。

CA模型最基本的组成包括四个部分:元胞(cell )、元胞空间(lattice)、邻域(neighbor)及更新规则(rule)。

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

gengxin

NS模型的演化规则:

1)加速: 司机总是期望以最大的速度行驶

2)安全刹车: 为避免与前车碰撞

3)随机慢化(以随机慢化概率p):由于不确定因素

  • a) 过度刹车
  • b) 道路条件变化
  • c) 心理因素
  • d) 延迟加速

4)位置更新:车辆前进

在NS 模型的基础上,又陆续地提出了一系列一维CA交通模型,如TT、BJH、VDR、FI等模型。

三、多车道CA模型

然后,进一步的,在此基础上提出多车道CA模型,也就是解决此次美赛A题的交通流模拟的模型框架。

与单车道模型相比,多车道模型增加了换车道规则。

Nagel 等在单车道NS模型的基础上,又提出了多车道模型。在该模型中,在各条车道上行驶的车辆要遵守NS规则,在进行车道变换时还要满足车道变换规则(lane-changing rules)。

该模型的车道变换规则如下:

(1) 如果vmax>gap,且gapleft≥gap,则从右车道变换至左车道。

(2) 如果 vmax<gap-voffset,且 vmax<gapright-voffset,则从左车道变换至右车道。

(3) 如果vback<gapback (保证后车不会与本车发生碰撞),则在满足以上条件的情况下,车辆以概率Pchange,进行车道变换,并规定以下限制条件:

如果vright>gapleft,则vright=gapleft(禁止右车道的车辆超过左车道车辆)。

以上内容部分参考自《第6章_元胞自动机交通流模型》。

至于具体的模型,明天应该能出来,到时候再用Matlab实现。

本文章与我的个人博客文章《元胞自动机交通流模型》同步。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!