技术领域
[0001] 本发明涉及车联网领域,具体涉及车联网社区动态演化方法。
相关背景技术
[0002] 研究车联网社区的目的是在高动态场景中准确构建社区模型,为基于社区的车联网通达性研究提供理论基础。目前,对车联网社区的研究主要是通过类似复杂网络的社区发现方法来定义社区模型。该类研究大多是对某一时刻车联网网络拓扑以及通信状态的分析上,属于静态社区发现的范畴。然而,车联网是一种拓扑结构高动态变化的移动自组织网络,仅仅依靠传统的静态社区发现策略无法满足实时性要求。因此,对车联网社区演化机制的研究具有重要意义。对于动态社区演化研究,可以分为基于时间片处理的社区演化和基于动态增量的社区演化研究两种类别,具体如下:(1)基于时间片处理的社区演化研究
这类动态社区演化研究是以时间片为单位,对时间片上的网络拓扑进行聚类、融合或对比处理,并在处理结果的基础上进行社区发现、探测社区结构和进行差值比较的过程。研究者提出了一种基于时间片的聚类演化方法,对网络中的核心顶点和连接核心顶点的相关边的变化进行分类,并将聚类思想应用到序列社区的演化事件跟踪与社区结构更新中。有研究者研究了基于时间片的融合演化,这类方法是将相邻时间片的网络数据进行融合处理,并通过比较融合数据的相似性来确定下一时间片的社区结构。基于时间片的社区演化需要实时知道每个时间片内的全部网络结构数据,该方法网络规模较小或网络较为稳定的网络。当网络拓扑快速变化、选择的时间间隔较大时,该方法无法实时反映网络的社区结构;当网络规模较大、节点数量较多时,算法的时间复杂度会很高。
(2)基于动态增量的社区演化研究
社区的动态增量是指网络动态变化中,当前时刻相对于前一时刻社区结构和状态的改变量。目前已有许多关于社区的动态增量演化研究,研究者提出的自适应动态社区发现方法,是将增量策略应用到移动自组织网络的社区发现。研究者提出了动态社会关系网络社区结构的增量识别算法,该方法在社区数目确定的社交网络社区发现中效率较高。
综上所述,基于动态增量的社区演化比较的是前后时刻网络的增量,无须对网络的所有数据进行处理。因此,该方法适用于大规模且拓扑结构快速变化的网络社区演化机制的研究。对于车联网这种节点快速移动、网络拓扑高动态变化的移动自组织网络来说,本发明探究以社区向心力与社区离心力为前提,综合考虑点增量、边增量以及权值增量对社区演化的影响,以最优化模块度的准则下,保持车联网社区结构的动态稳定,提高社区演化过程中的存活时间,从而为车联网通达性研究提供关键技术支撑。
具体实施方式
[0008] 本发明的具体实施过程如图15所示,包括如下6个方面:
[0009] ①相关性质定义
[0010] ②基于点增量的社区变化
[0011] ③基于边增量的社区变化
[0012] ④基于权值增量的社区变化
[0013] ⑤基于社区增量的动态演化算法
[0014] ⑥仿真实验与结果分析
[0015] ①
[0016] 相关性质定义本发明的符号说明如表1所示。
为了研究基于增量的车联网社区演化机制,本发明提出了社区向心力和社区离心力的概念,以及模块度增加定理,如下所示。
定义1社区向心力(Community Centripetal Force)表示社区C(u)对节点u产生吸引程度的量化表达,用 表示,如公式(1)所示。
其中,n表示社区C(u)中节点的个数,α为调整参数,sim(u,v)表示节点u和v的节点相似度,simA(u,C(u))表示节点u与社区C(u)内所有节点的相似度之和,WRuv代表节点u到节点v的通信链路的跳数,σ表示影响因子。
定义2社区离心力(Community Centrifugal Force)表示社区C(u)的邻接社区将节点u拉出社区C(u)的离心程度的量化表达,用 表示,如公式(2)所示。
其中,Cout表示社区C(u)的一个邻接社区,NC(u)表示社区C(u)邻接社区的集合。由上式可知,社区离心力 表示社区C(u)的邻接社区对节点u吸引程度的最大值。
定理1模块度增加定理:任何一个车辆节点u选择对其吸引力最大的社区C作为其归属社区,所带来的模块度增加值最大。
证明:
令D是车联网G中除C以外的任意一个社区,节点u加入社区C带来的模块度增加值记为QC(u),加入社区D带来的模块度增加值为QD(u),则证明定理1变成了验证QC(u)≥QD(u)。
若将u视为一个单点社区,则节点u加入社区C(或D)带来的模块度的改变量QC(u)(或QD(u))等于单点社区与社区C(或D)合并带来的模块度的改变量,如公式(3)和(4)所示。
证明QC(u)≥QD(u)等价于证明QC(u)-QD(u)≥0,即如下所示:
结合社区向心力的定义可得:
结合社区离心力的定义可得:
并且f与f′都是正相关函数,由此得到:
且f″也是正相关函数,由题设可知,社区C对车辆节点u的吸引力最大,即:
因此,QC(u)-QD(u)≥0,即节点u选择对其吸引力最大的社区作为归属社区所带来模块度的增加值最大,故定理得证。
注1:TS表示整个VANET研究区域内节点的相似度之和,
注2:定义VANET网络中的模块度表达式
其中,n代表社区总的个数,ISi代表VANET网络中社区Ci内部所有节点相似度之和,DSi表示社区Ci的所有节点与网络中其它节点的相似度之和,
DSi=∑j≠isimC(Ci,Cj)。
注3:US表示两个社区合并后,形成的新社区所有节点的相似度之和,
[0017] ②
[0018] 基于点增量的社区变化在发明申请(程久军等发明人于2018年5月22日申请的《基于节点相似度的VANET社区发现方法》(申请人:同济大学,专利申请号201810493553.3))提到,车联网的网络拓扑是一个无向有权图,其基本元素是节点、边以及权值。为了研究车联网社区的增量演化机制,本发明将分别探究点增量、边增量以及权值增量的社区变化,最后给出社区增量演化算法。图
1是车联网社区增量演化示意图,本专利中关于点增量、边增量以及权值增量的相关算法描述均可由该图中的(a)与(b)之间相互转换来体现。
一般情况下,车联网的拓扑图是以相对于地球的经纬度建立坐标的,因此,车辆节点是车联网中的主要移动节点。一方面,当车辆启动其通信设备或驶入某社区的范围时,会使该车辆节点加入到车联网中社区中;另一方面,当车辆节点关闭通信设备或驶出某社区的范围时,会使该车辆节点脱离车联网中社区,这些都会导致车联网社区结构的改变。本发明将这类节点变化称为点增量,如图2所示,点增量对车联网社区的影响表现在社区的缩小与增长、消失与形成以及分裂与合并。下面将分别从添加节点和删除节点两方面阐述点增量对社区结构的影响。
(1)添加节点
添加节点时需要考虑节点所处的位置,当车辆节点u未能与其他建立通信,是孤立节点时,将节点u作为一个单节点社区加入社区结构CS中,原有社区结构不变。当车辆节点u与其他节点存在一条或多条边时,这些邻接节点可能属于一个或多个社区,通过计算 和来判断节点u社区属性。
(2)删除节点:
车联网中每个车辆节点都可能会和其他节点通信,即可能存在边。当车辆节点关闭通信功能或驶出原有通信区域时,在社区演化中我们称之为删除节点。对于删除节点,也分两种情况:当需要删除的节点是孤立节点时,删除节点不会对其他社区的结构造成影响;当需要删除的节点不是孤立节点时,删除节点会使与该节点相连的边被级联删除,使该节点的邻接节点的度发生变化,从而导致社区结构改变,通过计算 和 来判断节点u社区属性。
算法1是点增量社区变化的详细算法步骤,具体的流程图如图3所示。
算法.1中,第1到第7行是添加节点的步骤,第8至20行是删除节点的步骤。其中,对于添加节点,第1至3行是对添加的节点是孤立节点时的处理策略,第4至6行表示当添加的节点不是孤立节点时,将该节点并入对其吸引力最大的邻接点社区;对于删除节点,第8至10行表示删除节点时孤立节点的处理策略,第11至19行表示当删除节点不是孤立节点时,首先调整该节点所在社区的结构,其次是对该节点的邻接节点的社区属性进行调整。
[0019] ③
[0020] 基于边增量的社区变化车辆节点u和节点v有通信连接时,表明两节点之间存在边。车联网的网络拓扑中边的变化同样会改变社区结构,与上面的点增量类似,如图4所示,社区内部边增量可能导致社区结构变得疏松和紧密,社区间的边增量可能导致社区的分裂与合并等等。下面分别介绍添加边和删除边两类边增量对社区结构的影响。
(1)添加边
当网络增量为添加边时,分为两种情况:第一种情况是当添加的边是位于社区内部,即社区内部的节点之间有通信连接时,此时只会增强社区内部的紧密程度,该社区各个车辆节点的社区属性不变;第二种情况是当添加的边是位于两个社区之间,即该边两端的节点u和v分别属于不同的社区,则添加边可能会导致u和v的社区属性改变。此时,计算两节点的社区向心力和离心力,并根据定理1来确定其社区归属,u和v的邻接节点参照此法,若引起社区合并,则相应调整社区结构。
(2)删除边
当网络增量为删除边时,也分为两种情况:第一种情况是当删除的边是位于社区之间时,此时删除边只会增强社区内部的紧密程度,与该边相关的社区内部各个节点的社区属性不变;第二种情况是当删除的边是位于社区内部时,此时删除边会使社区结构变得松散,甚至造成社区分裂,此时通过计算两节点的社区向心力和离心力,并根据定理1来确定其社区归属。算法2是边增量社区变化的详细算法步骤,具体流程图如图5所示。
算法2中,第1至2行表示添加的是社区内部边或者删除的是社区之间的边时社区结构保持上一时刻的状态不变。第3到14行表示当添加的是社区之间的边或者删除的是社区内部边时,会引起社区结构发生改变。首先调整与该边相关节点的社区属性,其次调整上述节点的邻接节点的社区归属,后续可能会导致社区的合并与分裂等结构性调整。
[0021] ④
[0022] 基于权值增量的社区变化依据(程久军等发明人于2018年5月22日申请的《基于节点相似度的VANET社区发现方法》(申请人:同济大学,专利申请号201810493553.3))的内容可知,车联网的网络拓扑是一个无向有权图,节点相似度的一个重要组成部分是连接稳定度。连接稳定度中节点间持续通信的时间与拓扑图中边上的权值相关。例如:节点u和v在t时刻的之间边的权值记为wu,v,t,wu,v,t与T(u,v,t)的关系表达为公式(10)。
公式(10)表明,当u和v建立连接时,初始化wuv为1;此后保持通信的时间每增加ε(实验中ε常置为1s),wuv增加一个单位。
当车辆节点之间若建立通信后,若通信一直保持稳定连接,则权值会持续增加,反之就会减小,从而会影响节点的社区归属,社区结构也需要做相应地调整。如图6所示,社区内部的边权值变化会引起社区结构疏松和紧密程度的变化,社区间的边权值变化会导致边缘节点社区属性的改变。
算法3是权值增量社区变化的详细算法步骤,具体的算法流程图如图7所示。
在算法3中,第1至11行表示该算法只针对权值发生改变的边起作用。若wuv在t至t+1时刻发生了变化,第2至6行表示分别计算这条边两端的节点的社区向心力和离心力并据此调整两节点的社区属性,同样地也更新两节点的邻接节点的社区归属;若wuv在t至t+1时刻未发生变化,则不改变社区结构。
[0023] ⑤
[0024] 基于社区增量的动态演化算法车联网的网络动态增量处理只是对变化所影响的局部区域调整社区结构,这使得增量处理的算法较快,效率较高。但是若每次网络发生变化都只调整局部社区结构,随着时间的积累会导致得到的社区结构与真实的社区结构之间的误差愈来愈大,例如:边增量、点增量以及权值增量可能使社区内部发生分裂或合并。为此,在兼顾准确度与效率的基础上,本发明设定最小阈值Qmin,每隔k个单位时间k·T,计算整个网络的模块度Q(CSt),当Q(CSt)在算法4中,第1行表示在初始时刻(即t=0)用第三章提到的车联网社区发现算法ICDNS探测初始社区结构。“在算法4中,第1行表示在初始时刻(即t=0)用社区发现算法LICOD探测初始社区结构。所述社区发现算法LICOD探测初始社区结构公开于:Yakoubi Z,Kanawati R.LICOD:A Leader-driven algorithm for community detection in complex networks[J].Vietnam Journal of Computer Science,2014,1(4):241-256.]第2至16行表示分别对t=1到P逐步进行处理。其中,第4至12行表示对每一时刻里的点增量、边增量以及权值增量等演化行为(用ε表示)做相应的社区结构调整;第13至15行则表示每经过k个单位时间k·T,当车联网整个网络结构的模块度Q(CSt)
[0025] ⑥
[0026] 仿真实验与结果分析(1)仿真实验数据与方法
1)实验数据
为了验证基于网络增量的车联网社区动态演化机制,本发明利用交通仿真工具SUMO创建了一个8000*6000m的区域,仿真参数如表2所示,仿真时间跨度为20min,在该区域内道路数目为60条,十字路口的数量是400个,每个十字路口都有交通信号灯,机动车对应交通信号灯的红黄绿分别为30s、3s和90s,仿真期间车辆最多数目为9000辆。为了模拟大规模异构车联网场景,在道路中设置了20个RSU节点。网络仿真中无线通信范围为200m,实验中节点间模拟以Ping的方式发送大小为32byte的数据包。此外,对车联网节点位置信息和网络数据的采集频率为0.1s/次,数据总数为4428556个。
2)实验方法
本发明仿真实验是在上述仿真研究区域的基础上,利用SUMO和OMNET++仿真软件进行交通仿真和网络仿真,并通过veins框架实现的。本发明在基于节点相似度的车联网社区模型的基础上,提出了一种基于增量的车联网社区演化算法DCEA-NI,通过仿真实验对比DCEA-NI算法相对于其他车联网社区演化算法的一些关键网络指标上的优势,从而验证该算法的准确率和有效性。此外,根据实验发现在当前数据集上计算社区向心力和离心力过程中,调整参数α取值为0.6和影响因子σ分别取值为1时,DCEA-NI的各项性能最好,因此本发明采用上述参数设置进行相关仿真实验。仿真实验的主要网络指标如下:
(1)社区数目演化:在车联网网络变迁的过程中,社区数目随时间的演化情况。
(2)社区生存时间:在车联网网络拓扑结构中,所有社区从形成到消亡的平均时间的变化情况。
(3)模块度演化(Modularity):在车联网社区演化过程中,整个社区结构模块度的变化情况。
(4)标准化互信息量(Normalized Mutual Information,NMI):用于衡量当前社区划分与真实社区划分之间的相同程度,NMI的取值范围是0~1,越接近于1表示社区划分越接近真实情况。
(2)结果分析
1)社区数目演化
图9为DCEA-NI、MIEN和Blondel三种社区演化算法从开始运行到趋于稳定的时间段内社区数目随仿真时间的演化情况。仿真环境中的数据采集频率是0.01s/次(即10ms/次),因此,图9的横坐标单位为10ms。从图9中可以看出DCEA-NI算法以及MIEN算法在开始时社区数目很多,但随后迅速下降到一个值后上下波动,而Blondel算法是开始时社区数目较少,随仿真的进行逐渐增加到一个值后上下波动,这是由这三种算法的内在机制决定的。DCEA-NI算法以及MIEN算法都是采用先将所有节点视为单点社区,再通过合并相似节点和社区得到初始社区分布,然后进行动态增量演化。MIEN算法则是一种基于重叠社区拆分的思路,不断将社区中的重叠社区拆分成多个社区,因此该算法的社区数目是从少到多。
此外,DCEA-NI算法比其它两种算法更为稳定。该算法在10*10ms后社区数目就开始收敛,并且持续只有较小波动,而MIEN与Blondel算法的波动较为剧烈,这是因为DCEA-NI算法中增量策略对点、边以及权值都有全面考虑,并且当社区结构演化低于给定的模块度阈值时,会触发演化机制对社区结构的重构,这些策略都使得全局社区结构更加准确和稳定。
2)社区生存时间
图10为DCEA-NI、MIEN和Blondel三种社区演化算法的社区生存时间对比图,该图是以箱线图的形式统计的是0~20min仿真期间的社区生存时间变化情况,图中的每个箱线表示一分钟内所有社区生存时间的分布(最大值、第一四分位点、中值、第三四分位点以及最小值等)。对比三种算法可以看出,DCEA-NI与MIEN算法的社区平均生存时间均约为58s左右,Blondel算法的社区平均生存时间小于前两种算法,约为40s左右,这说明前两种社区演化算法得到的社区结构更为稳定。但是,从社区生存时间的分布来看,DCEA-NI算法是三者中波动最小的,社区生存时间较为集中,以上对比可以看出DCEA-NI社区演化算法可以有效延长社区生存时间,提高社区稳定性。
3)模块度演化(Modularity)
图11是DCEA-NI、MIEN和Blondel三种社区演化算法前0.5s内的Modularity值变化情况,选取前0.5s仿真时间的原因是当社区演化算法进行到此时已经趋于相对稳定的状态。
从图11中可以看出开始时刻MIEN算法的模块度最高,但当仿真时间超过0.4s后,DCEA-NI算法开始接近MIEN算法,这两种算法在0.5s时的Modularity值均在0.62左右,并且DCEA-NI算法略高,这说明DCEA-NI算法的快速构建稳定社区结构的能力较强。图12表示整个仿真阶段(20min)内Modularity平均值变化情况,从该图中可以看出DCEA-NI算法最为稳定,其Modularity值一直保持在0.625左右,MIEN算法的Modularity值虽然与DCEA-NI差距不大,但是其稳定性明显更低。此外,在图11和图12中,Blondel算法的Modularity值均低于前两者,这也验证了增量演化算法比重叠社区拆分演化算法的正确性和稳定性更高,更适用于车联网这种大规模高动态网络的社区演化研究。
4)标准化互信息量NMI
NMI是用来量化表示计算出来的社区划分与真实划分之间的接近程度,对于此处数据集对应的车联网社区的真实划分如何表达,本发明选择(程久军等发明人于2018年5月22日申请的《基于节点相似度的VANET社区发现方法》(申请人:同济大学,专利申请号
201810493553.3))的Sp-CI算法分别在0.5s和20min内的每个整时刻计算出社区时刻作为真实社区划分,选择Sp-CI算法的原因是该算法在单次的社区发现中具有良好表现,接近于ICDNS算法,且与所要对比的三种社区演化算法无关,避免了实验相关性的干扰。
从图13中可以看出,在0.5s内,三种算法在仿真一开始其NMI值迅速下降到一个稳定水平,这是因为演化算法开始时都会有一个单纯社区发现过程,探测出的社区结构与真实社区结构差别不大,但随着网络拓扑的动态变化以及不同演化算法对社区定义的差异,这些算法对应的NMI值会降低到不同的稳定值。结合图14的20min内仿真实验结果可以看出,本发明提出的DCEA-NI算法与MIEN算法的平均NMI值比较接近,但DCEA-NI算法在后续社区演化过程中表现更为稳定,MIEN算法是三种算法中NMI值稳定性最差的。通过NMI值的仿真实验验证了DCEA-NI社区演化算法对于社区划分中的可靠性和有效性。
创新点
创新点:基于节点相似度的VANET社区发现方法(程久军等发明人于2018年5月22日申请的《基于节点相似度的VANET社区发现方法》(申请人:同济大学,专利申请号
201810493553.3)),探测车联网社区动态演化规律,提出了车联网社区动态演化方法,从而为基于车联网社区的通达性研究提供理论基础。
车联网网络拓扑高动态变化的特性,使得其社区结构也处于快速变化之中,从而很大程度上给车联网网络连通并稳定带来巨大的挑战。因此,分析和理解车联网社区内部动态演化过程是目前车联网网络通达性研究中一个急需解决的问题。本发明在研究社区向心力和社区离心力的前提下,探测点增量、边增量以及权值增量对社区演化的影响,确立社区增量的演化机制,再以社区增量为基础进而研究大规模社区的演化机制。
说明书附表
表1
仿真数据集 参数
区域大小 8000*6000m
仿真时间跨度 20min
道路数目 60
十字路口数量 400
是否提供交通信号灯 是
交通信号灯间隔 30s、3s、90s
车辆最多数目 8523
RSU节点个数 20
无线通信范围 200m
无线通信Mac层协议 IEEE 802.11p
数据包发送应用 Ping
数据包大小(byte) 32
采集频率 0.01s/次
采集数据总数 4428556
表2。