本发明属于交通灯时间控制方法技术领域,具体涉及一种基于贝叶斯网络的最佳交通路径规划方法。
背景技术:
我国的城市交通道路复杂多变,交通拥堵问题一直困扰着人们的出行。因此,对交通道路的最佳路径规划进行研究非常必要。目前的路径规划系统,大多研究的是交通路网中的路径搜索问题,对于路径决策方面很少涉猎,且不能够考虑实时的路况信息,对于多因素影响下路径的决策问题还不完善,从而不能实现实时自主决策。
本发明提出基于贝叶斯(bns)网络的一种基于时间窗的svddbn(变结构离散动态贝叶斯网络)的递推推理算法。以某个地区采集得到的路况动态信息为仿真应用背景,通过基于时间窗的svddbn(变结构离散动态贝叶斯网络)的递推推理算法对最佳交通路径决策模型进行在线推理,实时决策出最佳交通路径。
技术实现要素:
本发明的目的是提供一种基于贝叶斯网络的最佳交通路径规划方法,可以根据不同的路况信息实时决策出最佳交通路径,从而缓解道路拥堵,减少交通事故。
本发明所采用的技术方案是,一种基于贝叶斯网络的最佳交通路径规划方法,包括以下步骤:
步骤1、确定影响最佳交通路径的因素;
步骤2、采集影响最佳交通路径的因素的数据并模糊分类;
步骤3、构建基于svddbn的最佳交通路径决策模型;
步骤4、采用最大似然估计法定量地刻画出模型中各变量之间关系的强弱,确立模型中各个节点之间的关系;
步骤5、采用基于时间窗的svddbn递推推理算法计算,得出最佳交通路径。
本发明的特点还在于,
步骤1中影响交通灯时间的因素包括:路径距离、费用、路况和行程时间。
步骤4的具体步骤为:
步骤4.1、构建当前时间片的网络结构模型,确定各个节点之间的依赖关系,按照升序或者降序排列当前隐节点的观测节点的状态;;
步骤4.2、找出对应隐节点的各个状态的相关观测节点和不相关观测节点;
步骤4.3、分别找出相关观测节点和不相关观测节点的最偏好和最不偏好的状态,按照概率大小升序或者降序排列;
步骤4.4、根据观测节点的重要性原则,采用正高次幂或者负高次幂的方法,获得该时间片的条件概率表。
步骤5的具体步骤为:
步骤5.1、设时间窗宽度为w,每获得一组新的证据信息时,如果子网的时间片个数小于时间窗宽度w,直接把新的时间片耦合到子网上,如果时间窗内的时间片个数等于时间窗宽度w,新输入的时间片就会把窗内最早输入的时间片排挤出去,形成新的子网;
步骤5.2、在信息的前向传播过程中,依据定义的前向递归算子,就进行一次滤波操作;在信息后向传播过程中,依据定义的后向递归算子,进行后向递归计算,得到窗内每个时间片隐藏变量的后验概率,输出这些推理结果,并更新以前的推理结果,重复上述过程直至推理结束;
步骤5.3、最后再综合前向信息和后向信息,利用前向因子和后向因子得到单元时间片隐藏变量的后验概率,输出这些推理结果,并更新以前的推理结果,重复上述过程直至推理结束。
本发明的有益效果是:本发明一种基于贝叶斯网络的最佳交通路径规划方法该,考虑到影响交通路径规划的主要因素:路径距离、费用、路况和行程时间,根据实时得到的观测数据以及应用k2算法构建了基于变结构离散动态贝叶斯网络的最佳交通路径决策模型,相较于只考虑单一影响因素的决策模型,本发明决策出的交通路径更加准确完善,再采用贝叶斯网络参数学习中的最大似然估计算法和参数的自适应产生算法进行参数学习,确定各个影响因素与所选路径之间的定量关系,最后将观测数据和变量间的定量关系融入贝叶斯网络推理算法中以实现在线自主决策。针对现有推理算法不能在线决策的问题,本发明提出了一种变结构离散动态贝叶斯网络在线近似推理算法,即一种基于时间窗的svddbn(变结构离散动态贝叶斯网络)的递推推理算法,实现了在线自主决策。
附图说明
图1是本发明一种基于贝叶斯网络的最佳交通路径规划方法中k2算法对应的最佳路径决策模型;
图2是本发明一种基于贝叶斯网络的最佳交通路径规划方法中单个时间片的最佳路径决策模型;
图3是本发明一种基于贝叶斯网络的最佳交通路径规划方法中svddbn(变结构离散动态贝叶斯网络)的最佳路径决策模型;
图4是本发明一种基于贝叶斯网络的最佳交通路径规划方法中变结构动态贝叶斯网络的一个单元;
图5是本发明一种基于贝叶斯网络的最佳交通路径规划方法中基于时间窗的svddbn递推推理算法过程示意图;
图6是西安某地交通示意图;
图7是svddbn的最佳路径决策模型。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明一种基于贝叶斯网络的最佳交通路径规划方法,具体包括以下步骤:
步骤1、确定影响最佳交通路径的因素,影响交通灯时间的因素包括:路径距离、费用、路况和行程时间;
步骤2、采集影响最佳交通路径的因素数据并模糊分类;
步骤3、构建基于svddbn的最佳交通路径决策模型;
本发明路径选择类型的变量(节点)相对于观测到的数据是路径距离、费用、行程时间和路况的变量(节点)的隐变量。根据k2算法,应用matlab构建所需的结构模型,如图1。然后根据实际影响最佳交通路径选择的因素分析,其中,路径选择类型是隐节点x,影响路径选择的主要因素路径距离、费用、行程时间和路况分别用y1、y2、y3、y4表示,得到单个时间片的最佳路径决策模型,如图2。把单个时间片按照行车方向耦合起来就构建了图3所示的基于svddbn的最佳路径决策模型。图中x的下标表示第几个时间片,yij的下标i指是第几个时间片的观测值,j代表第几条路径。例如
步骤4、采用最大似然估计法定量地刻画出模型中各变量之间关系的强弱,确立模型中各个节点之间的关系,步骤4的具体步骤为:
步骤4.1、构建当前时间片的网络结构模型,确定各个节点之间的依赖关系,按照升序或者降序排列当前隐节点的观测节点的状态;;
步骤4.2、找出对应隐节点的各个状态的相关观测节点和不相关观测节点;
步骤4.3、分别找出相关观测节点和不相关观测节点的最偏好和最不偏好的状态,按照概率大小升序或者降序排列;
步骤4.4、根据观测节点的重要性原则,采用正高次幂或者负高次幂的方法,获得该时间片的条件概率表。
步骤5、采用基于时间窗的svddbn递推推理算法计算,得出最佳交通路径,图4为单元化单隐变量变结构动态贝叶斯网络的一个子网,它是由第t-1个时间片和t个时间片组成的一个单元。图5说明基于时间窗的svddbn递推推理算法的基本原理,图中的白色节点表示隐藏节点,灰色节点表示观测节点,步骤5的具体步骤为:
步骤5.1、设时间窗宽度为w。每获得一组新的证据信息时,如果子网的时间片个数小于时间窗宽度w,直接把新的时间片耦合到子网上;如果时间窗内的时间片个数等于时间窗宽度w,新输入的时间片就会把窗内最早输入的时间片排挤出去,形成新的子网,这时,需要在时间窗内进行两个过程的信息传播:一是信息的前向传播,二是信息的后向传播;
步骤5.2、在信息的前向传播过程中,依据定义的前向递归算子,就进行一次滤波操作;在信息后向传播过程中,依据定义的后向递归算子,进行后向递归计算,执行s-1次操作(假定时间窗内有s个时间片,其中s≤w)。综合前向信息和后向信息,执行s-1平滑操作,这样就得到窗内每个时间片隐藏变量的后验概率,输出这些推理结果,并更新以前的推理结果。重复上述过程直至推理结束;
步骤5.3、最后再综合前向信息和后向信息,执行s-1平滑操作,利用前向因子和后向因子得到单元内时间片隐藏变量的后验概率,输出这些推理结果,并更新以前的推理结果,重复上述过程直至推理结束。
以图5所示的svddbn,在宽度为w的时间窗内,推理算法。在单元内,它的第t个时间片有一个隐藏节点和mt个观测节点,隐藏节点用xt表示,有nt个状态,即{1,2…nt};用
第一步:基于时间窗的svddbn前向递推过程
算法的前向算子定义为
在获得新的时间片后,基于时间窗的svddbn的前向算法可按如下两个步骤迭代进行。
1)初始化
其中π(i)=p(x1=i)为先验概率,且
2)递归计算
其中,η为归一化常数,j=1,…,nt,1≤t≤t0。每获得一个新的时间片,信息的前向递推可按式(2)进行计算。
第二步:基于时间窗的svddbn后向递推过程
后向递推算子定义为
1)初始化:
其中,i=1,2,…,nt,这里的t并不是一个恒定的值,而是一个变量,每获得一个新的时间片,就令t=t+1。
2)迭代计算:
其中,i=1,2,…,nt,
综合式(2)和式(4)就得到
其中,η为归一化因子。
每获得一个新的时间片,先依据式(2)进行一次滤波,接着利用式(4)计算时间窗内子网的后向信息,即依据后向递归算子进行递归计算。最后根据式(5)进行平滑操作,计算出时间窗内所有时间片的后验概率,用此结果更新时间窗的上一次推理结果。
所以基于时间窗的svddbn递推推理算法的实现步骤:
步骤1.初始化网络,设定时间窗宽度为w和片总数为t0;
步骤2.向时间窗输入第t个时间片,先依据式(1)和式(2)计算
步骤3.在获得下一个时间片后,令t=t+1,如果t≤w,则转入步骤2,否则转入步骤4;
步骤4.先依据式(2)计算
模糊分类的标准如下:
(1)观测路径距离:一般距离分为“近”,“中”,“远”。距离小于5km为“近”,用n表示,距离大于5km小于10km为“中”,用m表示,距离大于10为“远”,用f表示。
(2)观测到花费的费用一般划分为“多”和“少”。大于20元“多”用d表示,小于20元为“少”用e表示。
(3)行程时间一般用“短”,“一般”,“长”表示。小于0.2h为“短”,用s表示,大于0.2h小于0.3h为“一般”,用o表示,大于0.3h为“长”,用l表示。
(4)用路段平均速度来界定路况的好坏,路况可划分为“拥挤”,“缓行”,“畅通”。平均速度小于15km/h为“拥挤”用y表示,平均速度在大于15km/h小于20km/h为“缓行”用h表示,大于20km/h为“畅通”用c表示。
采集西安某地区的交通信息,将实际交通路网转化成有向图来模拟交通图,如图6所示,研究在已知起点到终点的路径条数的情况下,求解在不同因素下满足驾驶者偏好的路径,比如既要路径距离最短又要求路况最好时,如何实时进行在线决策规划出最佳交通路径。我们评价路径距离的模糊集合:n=“近”,m=“中”,f=“远”,选取的模糊化方法为三角形和梯度形隶属度函数组合。评价路况的模糊集合:c=“畅通”,h=“缓行”,拥挤=“y”,分别对应了3个不同的隶属度函数c(v),h(v),y(v),选取的模糊化方法为三角形和梯度形隶属度函数组合。我们将费用划分为d=“多”、e=“少”,分别对应了2个不同的隶属度函数e(x),d(x)。行程时间是路径距离/路段平均速度,我们评价行程时间的模糊集合:s=“短”,o=“一般”,l=“长”,分别对应3个隶属度函数s(t),o(t),l(t)。
根据图6所示的交通状况信息,驾驶者从起始点s到目标节点d,把行驶路径的决策分为6个时间片,节点1到节点2为一个时间片,2到3分为一个时间片,前三个时间片中每个时间片隐节点的状态数为3,即有3条路径可以选择,分别用上路径、中路径和下路径表示,后三个时间片每个时间片有2条路径可以选择,分别用上路径和下路径表示。分析影响路径选择的因素路径距离和路况,根据观测数据,代入到k2算法中,构建了svddbn的最佳交通路径决策模型。如图7所示最佳路径决策模型x的下标表示第几个时间片,yij的下标i指是第几个时间片的观测值,j代表第几条路径。例如
图7模型中隐藏变量x状态为该时刻可选路径的条数,先验概率是对第一时刻隐节点状态的分布估计。通过最大似然估计参数学习进行计算,得到路径选择类型的先验概率为p(x1,x2,x3)=(0.3,0.4,0.3),x1,x2,x3分别代表上、中、下路径。条件概率表就是已知路径选择类别时各观测变量对应取值的概率,采用基于svddbns的路径决策的参数的自适应产生算法,自动生成各个时间片的条件概率。
根据公式
表1(a)前三个时间片的条件概率
表1(b)后三个时间片的条件概率
状态转移概率实际上是条件概率的一种特殊形式,是时间片之间的条件概率,是当上一时刻路径选择类别分别为隐节点的某一状态时这一时刻路径选择类型为某种状态的概率,这一概率是根据专家经验或者统计学规律得出的。表2是状态转移概率表,表中3\3表示第一个时间片有三条路径可供选择时,第二个时间片有三条可以选择时的概率分布。表中第二行第二列的数据0.3表示第一个时间片选择上路径时,下一个时间片选择走上路径的概率为0.3。
表2状态转移概率
对应图7所示的svddbns的最佳路径决策模型,k1时刻观测6个时间片的路径距离(km)路段平均速度(单位:km/h),记录得到的证据信息见观测表3(a)
表3(a)k1时刻的观测数据
对应图7所示的svddbns的最佳路径决策模型,k2时刻对该模型所对应的道路继续进行观测,观测了6个时间片的证据信息如表3(b)所示
表3(b)k2时刻的观测数据
根据路径距离的模糊分类函数式
表4(a)k1时刻模糊分类后的观测数据
表4(b)k2时刻模糊分类后的观测数据
同理我们可以在k1时刻观测路径的费用(元)和行程时间(min),记录这些证据信息如表5所示,最后得到用时少且费用少的路径。
根据费用的模糊分类函数式
表5观测数据
表6模糊分类后的观测数据
采用基于时间窗的svddbn递推推理算法进行计算,通过仿真来验证图3所示的模型以及算法的有效性。在仿真实验中,用c++语言编程实现,在cpu频率为1.90ghz,内存为4.00gb的计算机上运行,得到k1时刻最佳交通路径(距离最短且路况最好)决策结果如表7所示,k2时刻该路段的最佳交通路径如表8所示。表9记录的是k1时刻费用最少并且用时最少的最佳交通路径决策结果。表7中,第二行第二列中的数字表示第一个时间片选择上路径的概率为0.013624。表中每一列数据依次为选择上、中、下路径的概率值,取这3个概率值中的最大值所对应的路径作为该时片上决策出的最佳路径。
相比于变结构离散动态贝叶斯网络(ddbns)推理算法无法解决在线决策,基于时间窗的svddbn递推推理算法可以快速地利用证据信息进行在线推理。
基于时间窗的svddbn递推推理算法有效的提高了在线决策的准确性与高效性。
通过基于时间窗的svddbn递推推理算法对最佳交通路径决策模型进行在线推理,实时决策出最佳交通路径,有效提高交通道路的利用率。
通过上述方式,本发明一种基于贝叶斯网络的最佳交通路径规划方法,可以根据不同的路况信息实时地决策出最佳的交通灯时间,能够有效的缓解交通拥堵等问题。