Page 405 - 《软件学报》2025年第12期
P. 405

5786                                                      软件学报  2025  年第  36  卷第  12  期


                                                              ...     
                                                      P 11  P 12  P 1N 
                                                                      
                                                                      
                                                                      
                                                      P 21    ...     
                                                          P 22    P 2N 
                                                                      
                                                                      
                                                  P =    .  .  .  .                              (10)
                                                       .   .   .   .  
                                                       .   .   .   .  
                                                                      
                                                                      
                                                                      
                                                                      
                                                      P N1  P N2  ...  P NN
                 其中,

                                                  
                                                  0 ⩽ P ij ⩽ 1, i, j = 1,2,...,N
                                                  
                                                  
                                                  
                                                  
                                                                                                     (11)
                                                   N ∑
                                                  
                                                     P i j = 1, i = 1,2,...,N
                                                  
                                                  
                                                  
                                                  
                                                    j=1
                                                                                                t
                    然后, 引入   t 时刻车辆的位置转移概率向量          π(t) = [π 1 (t),π 2 (t),...], 其中,  π i (t), i = 1,2,...,N  表示在第   个时刻处
                      G i  的概率. 如公式                                     t +1 时刻车辆的位置转移概率向量:
                 于网格                 (12) 所示, 可以利用转移概率矩阵       P 计算得到

                                                       π(t +1) = π(t)· P                             (12)
                                             t+1    π(0) 为初始时刻车辆位置概率向量, 该向量模为             1, 即只有一个元素
                    这里, 递推可得     π(t +1) = π(0)· P . 其中
                 是  1, 其余元素都是   0. 考虑到车辆在下一时刻的网格位置受限于当前所在网格位置的邻域范围, 这里我们仅需从
                 π(t +1) 中提取到以其当前所在网格为中心由周围相邻网格构建的九宫格的位置转移概率生成当前位置转移概率
                 向量  P neigh  即可.
                    在数据包传输的过程中, 当前携带数据包车辆               v B  的邻居车辆  v A  的位置存在以下两种情况: 在下一路径上          (如
                 图  4  所示) 和不在下一路径上     (如图  5  所示), 为了确保数据包能够继续沿着既定路径传输, 设计了如公式                   (13) 所
                 示的基于位置的代价       Place A  计算公式.

                                         1
                                                dist AD          − → −−→         t
                                      λ 1 ×
                                           +λ 2 ×    +λ 3 ×(1−cos < v A ,BD >), ∃v A ∈ VG
                                                                                 best
                                     
                                         p A     d BD
                                     
                                     
                                     
                                     
                                     
                                         1
                                                dist Ag          − → −−→
                                                                                 t
                              Place A =  λ 1 ×  +λ 2 ×  +λ 3 ×(1−cos < v A ,BD >),  ∀v A < VG  且p A > 0  (13)
                                                                                 best
                                         p A    dist Bg
                                     
                                     
                                     
                                     
                                     
                                     
                                         dist Ag         − → −−→
                                                                                 t
                                     
                                      λ 4 ×  +λ 5 ×(1−cos < v A ,BD >),   ∀v A < VG  且p A = 0
                                                                                 best
                                          dist Bg

                                               − →
                                               v A = (a v A  ,b v A ) = (u A ×cosθ,u A ×sinθ)        (14)

                                                −−→
                                                BD = (a BD ,b BD ) = (x D − x B ,y D −y B )          (15)

                                                  − → −−→  a v A  ×a BD +b v A  ×b BD
                                               cos(v A ,BD) = √   √                                  (16)
                                                           2
                                                               2
                                                           a +b ×   a 2  +b 2
                                                           v A  v A  BD  BD
                 其中,   p A  表示邻居车辆  v A  下一时刻出现在下一路径上的转移概率;           VG t   表示下一路径上车辆的集合;        dist AD  表
                                                                        best
                 示邻居车辆    v A  与目的地  D 之间的距离;   dist BD  表示当前车辆   v B  与  D 之间的距离;  dist Ag  表示邻居车辆  v A  与下一路
                 径  G g  之间的距离;  dist Bg  表示当前车辆  v B  与  G g  之间的距离.  dist AD /dist BD  值越小, 说明  v A  相较于  v B  距  D  越近;
                                                                                            BD 表示当前车
                                                       θ
                                                                       v A  表示
                 dist Ag /dist Bg  值越小, 说明  v A  相较于  v B  距  G g  越近.   为  v A  行驶方向角;  − →  v A  的行驶方向向量;   −−→
                                                                 − → −−→  − →  −−→
                 辆   v B  与  D 所形成的向量, 将其作为数据包投递的主方向;         cos(v A ,BD) 表示  v A  与  BD 所成夹角的余弦值, 余弦值越
                 大, 说明数据包投递方向越靠近目标方向.             λ 1 , λ 2 , λ 3  为  3  个参考量的权重占比,  λ 1 , λ 2 , λ 3 ∈ [0,1]且λ 1 +λ 2 +λ 3 = 1;
                 λ 4 , λ 5  为  2  个参考量的权重占比,  λ 4 , λ 5 ∈ [0,1]且λ 4 +λ 5 = 1.
                    对于图   4  所示的邻居车辆在下一路段的情况我们综合考虑位置转移概率                     p A 、距离和行驶方向作为其位置代
                 价. 对于图  5  所示邻居车辆不在下一路段的情况我们首先根据位置预测得到位置转移概率                          p A , 若大于  0, 位置代价
                 进一步考虑距离和行驶方向; 若为           0, 位置代价仅包括距离和行驶方向. 这个代价越小, 说明              v B  通过  v A  传输数据包
                 的代价越小, 即更靠近目的地, 可以有效地减少跳数, 同时增加了邻居车辆将数据包沿着下一路段传递的可能性.
                    (2) 车辆之间链路生存性的影响
                    如图  6  所示, 由于车辆之间通信链路的动态性, 车辆之间通信链路的维护时间同样对数据包传递的可靠性产
   400   401   402   403   404   405   406   407   408   409   410