APP下载

不确定随机网络Top-k最近节点查询算法

2018-10-23连春月李孝忠牛浩浩

天津科技大学学报 2018年5期
关键词:测度机会权重

连春月,李孝忠,牛浩浩

(天津科技大学计算机科学与信息工程学院,天津 300457)

实际生活中,会遇到许多非确定的现象.为了研究这类非确定的现象,17世纪诞生了概率论.概率论基于大量的历史数据,有效解决了很多统计问题.但是,有时因为各种原因无法获得足够多的数据,这时使用概率论解决问题就很难办到.为了解决这类问题,Liu B于2007年提出了不确定理论[1],并于2010年对不确定理论进行重新定义[2],为小样本数据、甚至是无样本数据的统计提供了新的理论基础.

经过多年研究与实践,不确定理论得到了充分的发展与广泛的应用.2013年,高原[3]详细研究了不确定网络的最短路径问题;2014年,Zhou等[4]研究了不确定网络的最短路径的逆不确定分布问题;2015年,Zhou等[5]给出了不确定网络的最小生成树的路径最优条件.

对于一个复杂网络,某些弧的权重可以通过对历史数据进行统计分析得到,而某些弧由于没有历史数据或者历史数据无效,导致其权重不能通过概率统计得到,只能利用专家的经验数据,得到不确定弧的权重的不确定分布函数.

2013年,为了解决这类既有非确定因素,又有不确定因素的现象,Liu Y[6]开创了机会理论.2014年,Liu B[7]首次将机会理论引入不确定网络,提出不确定随机网络的概念.2015年,盛玉红[8]对不确定随机网络的最短路径问题、最小生成树问题和最大流问题进行研究,提出理想机会分布函数的概念并利用其求解了上述问题.

关于非确定性数据的Top-k查询问题,学者们提出了各种计算方法,包括U-topK[9]、U-kRanks[10],PT-k[11],Global-topK[12]等.Li 等[13]提出了基于权值参数的排名函数,实现了排名分值与概率平衡.2016年,郭长友等[14]首次将不确定理论应用到不确定数据的Top-k查询计算中.

非确定数据的 Top-k查询在 P2P系统、电缆铺设等方面已经有了实际应用,但不确定数据和随机数据同时存在的Top-k查询方面的研究并不多.本文基于现有研究成果,将包含不确定数据和随机数据的问题转化为不确定随机网络,并在深度优先遍历的算法上,提出在一定机会测度的情况下,寻找距离某个节点最近的k个节点的算法,能有效解决在经验数据和小样本数据混杂情况下的节点查询问题.

1 相关概念

1.1 不确定理论[1]

定义1设Γ为非空集合,L是Γ上的σ-代数,任意的Λ∈L称为一个事件.如果从L到实数集R的集函数M满足以下条件:

公理 1(规范性) 对于全集Γ,有M{Γ}=1;

公理 2(对偶性) 对于任意的事件Λ∈L,有M{Λ}+M{Λc}=1;

公理 3(次可列可加性) 对于可数的事件序列M{Λ},有

则称集函数 M 为Γ上的不确定测度,三元组(Γ,L, M)称为一个不确定空间.

为了研究乘积空间上的不确定测度,Liu B提出了乘积公理[1]:

公理 4设(Γi,Li,Mi)为一列不确定空间,则乘积不确定测度M为

不确定变量的定义是由抽象的不确定空间和Borel集描述的.如果仅从定义出发,在理解和应用不确定变量时都会遇到困难,为了更好地理解不确定变量,给出如下不确定分布的概念.

定义 4若不确定变量ξ具有不确定分布

其中 a和 b为常数,则ξ为线性的不确定变量,记为L( a, b).

定义 5若对于任意的 α∈ (0,1),不确定变量ξ的不确定分布Φ(x)的反函数 Φ-1(α)存在且唯一,则称Φ(x)为正则分布,称ξ为正则不确定变量.

定义 6若不确定变量ξ具有正则分布Φ(x),则其反函数Φ-1(α)称为ξ的逆不确定分布.

例 1根据定义 4—定义 6,线性不确定变量L( a, b)的逆不确定分布为

1.2 机会理论[6]

定义 7设(Γ,L,M)× (Ω,A, Pr)是一个机会空间,Θ是L×A的一个事件,那么事件Θ的机会测度为

定义 8从机会空间(Γ ,L ,M )× (Ω,A, Pr)到实数集 R的可测函数ξ称为不确定随机变量,即对于任意的Borel实数集Β,集合

是L×A中的一个事件.定义 9设 f:Rn→R是一个可测函数,ξ1,ξ2,…,ξn是机会空间(Γ,L,M)×(Ω,A, Pr)上的一列不确定随机变量,那么对任意的(γ,ω)∈Γ×Ω,ξ=f(ξ1,ξ2,…,ξn)是由

所确定的一个不确定随机变量.

定义10η1,η2,…,ηm是一系列独立的随机变量,概率分布分别为Ψ1,Ψ2,…,Ψm,τ1,τ2,…,τn是一列不确定变量,不确定分布分别为ϒ1,ϒ2,… ,ϒn,那么不确定随机变量

有一个机会分布

其中,对任意的实数y1, y2,…,ym,F(x, y1,y2,…,ym)是不确定变量f(η1,η2,…,ηm,τ1,τ2,…τn)的不确定分布,它可由其反函数F-1(α;y, y,…,y)=f(y,y,…,12m12y,ϒ-1(α) ,ϒ-1(α),…,ϒ-1(α))决定,条件是f为对于m12nτ1,τ2,…,τn的单增函数.

例 2设η是一个随机变量,其概率分布为Ψ,τ是一个不确定变量,其不确定分布为ϒ.那么,ξ= η+ τ是一个不确定随机变量,ξ的机会分布为

其中,y是随机变量η的任一实现.

2 不确定随机网络下的Top-k查询算法

2.1 不确定随机网络

N是节点集合,U是不确定弧的集合,R是随机弧的集合,W 是不确定权重和随机权重的集合,那么四元组(N,U,R,W)被称为一个不确定随机网络.

例3图1是有4个节点的不确定随机网络.其中,随机权重ηAB、ηCD的概率分布分别为ΨAB、ΨCD.不确定权重τBC具有正则的不确定分布ϒBC.各边的权重的分布函数见表1.

图1 4节点不确定随机网络Fig. 1 Uncertain random network with 4 nodes

表1 图1网络中各边的权重的分布函数Tab. 1 Distribution function of the edge’s weight of figure 1

ΨAB,ΨCD的概率分布函数分别为

ϒBC的不确定分布为

则权重的机会分布函数为

计算可得

假设机会测度Φ (x) =0.95,计算得权重x=25.7.

2.2 Top-k最近节点查询算法

给定不确定随机网络G,节点间的权重的机会分布函数为Φ,则节点间的路径长度机会分布函数D=Φ,即将节点间的权重建模为节点间的路径长度.基于节点间的路径长度,提出以下的不确定随机网络Top-k最近节点查询算法.

输入:不确定随机网络 G=(N,U,R,W),选择的最近节点个数k,初始节点p,机会测度α.

输出:当机会测度为α时,与 p最近的k个节点,以及对应路径.

具体算法如下:

(1)计算所有节点间 i,j间的路径,初始节点为:i=1,j=2,并将 i标记为已访问;

(2)从N中取出非i节点k,若两点间有路径,将k标记为已访问;

(3)若k=j,将所有已访问节点组成的路径放入路径集合D中,回溯至上一个已访问节点,重复步骤(2);否则,重复步骤(2);

(4)若 k≥n,j++,重复步骤(1)—(3),直至 j=n;

(5)若 j>n,j- -,i++,重复步骤(1)—(4),直至 i=n;

(6)计算D中所有路径的机会分布函数;

(7)计算当机会测度为α时,点 p到所有节点的路径长度;

(8)找到距离点 p最近的k个点及对应路径,算法结束.

算法中步骤(2)—(3)部分的代码如下:

function FindPath(matrix,startNode,endNode){

result[nPos]=startNode.key;//将当前节点放入结果集

Mark[startNode.key]=true;//标记为已访问nPos++;

while(nPos !=0){

var tempVal=result[nPos-1];//获取结果集最后

一个元素

if(tempVal==endNode.key){//如果当前节点为

结束节点,将结果集中的节点放入路径结果集中

for(let j=0;j<nPos;j++){

resultPath[pathNum][j]=result[j];

}

nPos- -;//回溯至目标节点的上一个节点

result[nPos]=0;

pathNum++;//新增路径数目

Mark[endNode.key]=false;

break;

};

while(startNode.flag<matrix.length){

if(matrix[tempVal][startNode.flag]==1){

if(Mark[startNode.flag]==false){

var tempNode=new Node();

tempNode.key=startNode.flag;

tempNode.flag=0;

FindPath(matrix,tempNode,endNode);

}

}

startNode.flag++;

}

if(startNode.flag==matrix.length){

nPos- -;

startNode.flag=0;

Mark[startNode.key]=false;

break;

}

}

为了更好地理解算法,用例4进行简要说明.

例 4有 5个节点的不确定随机网络,如图 2所示.其中τAB、τBD、τDE是不确定权重,且分别具有正则的不确定分布ϒAB、ϒBD、ϒDE;ηAE、ηBC、ηCD是随机权重,分别具有概率分布ΨAE、ΨBC、ΨCD,网络中各边的权重的分布函数见表 2.求距离节点 A最近的3个节点.

图2 5节点不确定随机网络Fig. 2 Uncertain random network with 5 nodes

表2 图2网络中各边的权重的分布函数Tab. 2 Distribution function of the edge’s weight of figure 2

能够得到任意两点间的路径长度机会分布函数

其中F( x,yij,(i,j)∈R)由它的逆不确定分布确定:

当机会测度α=0.9时,计算出任意两点间的最小路径长度,计算结果见表3.

表3 α=0.9时节点间路径长度Tab. 3 Path length between nodes when α=0.9

当机会测度α=0.8时,计算出任意两点间的最小路径长度,计算结果见表4.

表4 α=0.8时节点间路径长度Tab. 4 Path length between nodes when α=0.8

所以,当机会测度α=0.9,k=3时,距离节点A最近的 3个点分别为 E、B、C.当机会测度α=0.8,k=3时,距离节点A最近的3个点分别为E、B、D.

当机会测度变化时,查询到的最短路径节点也可能发生变化,所以需要根据现实需求来指定机会测度,以得到预期结果.

3 结 语

本文提出了不确定随机网络的 Top-k最近节点查询问题,并使用机会理论求解该问题,设计不确定随机网络在一定机会测度条件下的 Top-k查询算法.此算法能正确求解不确定随机网络的Top-k查询问题,在网络节点数目较小、不确定随机分布较简单时的效率较高;一旦网络节点数目众多、网络非常复杂时,则计算的时间复杂度会较高.如何对算法进行改进,以提高算法的计算效率是下一步的研究方向.

猜你喜欢

测度机会权重
权重望寡:如何化解低地位领导的补偿性辱虐管理行为?*
平面上两个数字集生成的一类Moran测度的谱性
我国要素价格扭曲程度的测度
权重常思“浮名轻”
给进步一个机会
最后的机会
为党督政勤履职 代民行权重担当
给彼此多一次相爱的机会
没机会下手
关于Lebesgue积分理论中按测度收敛问题的教学研究