一种基于复杂网络商空间模型的路径搜索方法

文档序号:7888837阅读:292来源:国知局
专利名称:一种基于复杂网络商空间模型的路径搜索方法
技术领域
本发明属于复杂网络(Complex Networks)应用技术领域,特别涉及无向带权网络商空间模型和应用商空间粒度计算分类进行路径搜索的方法。

背景技术
近年来,复杂网络的定性分析成了研究的热点,从粒度计算的角度看,这些分析仅给出了最粗粒度下复杂网络的某些宏观性质,而对给定目标下的问题求解来说,只有方向没有方法,仍然没有实质性的进展。
据《复杂网络》(上海科技教育出版社,郭雷、许晓鸣主编,2006年11月第1版,第271-275页)介绍,在解决复杂网络的最短路径问题时,常用的是Dijkstra算法和Floyd算法,Dijkstra算法适合于求解单源点最短路径问题,Floyd算法在求解所有点之间的最短路径效果比较好,但这两种方法都属于试探型搜索算法,由于这两种算法存在网络数据存储的瓶颈和计算量大的问题,只适用于网络规模小的情况,并且搜索耗时,无法处理大规模的复杂网络。而现有的大规模网络最短路径的并行算法思想,虽然能处理大规模的复杂网络,但从工作量和消耗资源的整体上看,不仅没有减少计算量,还增加了消息传递和数据传输的工作量和资源消耗。
对于无向带权网络的路径搜索,现有技术还是Dijkstra算法和Floyd算法及其在此基础上的变形,由于网络数据存储的瓶颈和计算量的问题,只适合于网络规模小的情况,并且搜索耗时。
在道路交通网络中,搜索车辆最佳行车路线的过程是最短路径问题在车辆导航系统中的具体应用,至今还是以Dijkstra算法为经典,也是一些其他相关算法设计的理论基础,是力求通过计算机数据结构、运筹学等方法,从理论上减少搜索算法的时间复杂度,但往往忽略了实际城市道路网络中的道路特征,以及多数驾驶员希望行车过程中尽可能地走主要道路、走路况好的道路的倾向性,并且这些搜索算法只在城市内部的行车路线搜索有所体现,尚未考虑到解决城市间、城市内的最佳行车路径的搜索问题。
同样,在电力系统的电力运输和计算机网络的路由选择搜索中,目前还是在运用试探型搜索算法,用最短路径的思想来解决问题,尚不能搜索电力运输过程中高压、低损耗的输送路线和在计算机网络中由高流量的网络路径组成的路线。
据《问题求解理论及应用——商空间粒度计算理论及应用》(第2版)(清华大学出版社,张铃、张钹著,2007年3月第2版,第1-6,12-14,27-36,38-39,90-105页)介绍,现有商空间理论以三元组(X,F,T)表示研究的论域X、属性F、结构T,用商集[X]对应的三元组([X],[F],[T])表示不同的粒度即商空间,这个模型不但可表示对象的属性,还可表示对象之间的结构关系,同时可描述各种不同粒度世界之间转移、变换、合成、和分解等关系,能充分表述从粗到细、从表及里、从多侧面、多层次上分析问题的能力。但该商空间理论中提出的等价关系还只是数学领域上的一般形式,尚未涉及针对具体复杂网络上的表达形式;该商空间理论还尚未将粒度分层思想应用到构建复杂网络的模型的具体表示方法中。
至今未见大规模复杂网络的可使用的具体模型表示方法,也未见将商空间理论在复杂网络中进行具体应用,尚未见到能实际应用于复杂网络提供快速搜索路径的方法。


发明内容
本发明目的是提出一种基于复杂网络商空间模型的路径搜索方法,以解决无向带权网络中“最佳路径”的快速搜索问题,该“最佳路径”在道路交通网络中是由主要道路、路况好的道路组成的路线;在电力系统中是电力运输过程中高压、低损耗的输送路线;在计算机网络中是由高流量的网络路径组成的路线。
本发明基于复杂网络商空间模型的路径搜索方法,根据无向带权网络中边上权值的不同对节点粒度分类建立层次网络模型;其特征在于从作为粒度最细商空间的初始网络开始,先在网络中提取不同权值构成边权集合,从该边权集合中选取最大的权值进行等价关系分类,根据等价关系对等于最大权值的边进行归并形成等价类,得到粒度较粗的商空间;然后再在边权集合中依次从次大权值开始从大到小选取权值进行等价关系分类,根据等价关系对所得到的粒度较粗的商空间中大于等于选取权值的边进行归并形成等价类,使同一等价类中网络节点的边上权值为大于等于等价关系选取的权值且小于上一个选取的权值,从而构成粒度更粗的商空间;继续依此操作直至分类到粒度最粗的商空间对于连通网络该粒度最粗的商空间中只有一个元素,对于非连通网络则粒度最粗的商空间中元素个数等于其连通分支数目;将各商空间按粒度从细到粗排列形成一个递阶商空间链,再根据每个节点在递阶商空间链上不同商空间中的位置给出各节点的分层编号;从而得到具有按等价关系粒度分类的递阶商空间链和节点集中每个节点的分层编号的商空间模型;然后在此商空间模型基础上进行路径搜索在复杂网络商空间模型中的分层编号中找出要搜索的起点和终点的分层编号,从起点和终点的分层编号的最后一个编号开始比较,在递阶商空间链中从粒度最粗的商空间开始搜索这两点间的连通路径,接着在粒度较粗的商空间中逐步搜索这两点间的连通路径至粒度最细的商空间,即得到“最佳路径”。
上述基于复杂网络商空间模型的路径搜索可具体操作如下 先针对具体复杂网络依据商空间理论给出具体组成元素的表达形式 对已给定的无向带权网络G(X,E),由节点z∈X构成节点集X,由所有的边e构成边集E,边e上的权t(e)∈
,d是网络各边中的最大权值,有k个不同权值的边权集合表示为{d1>d2>...>dk};根据等价关系R(d1),i=1,...,k,连接权值大于等于di的边e的节点属于一个等价类,对应的商空间为 记节点集X=X0,X中的元素用xj0表示,网络中边上的权值大于等于d1的所有边构成的集合是边集E0,即边其边以表示,得商空间(X0,E0); 商空间X1中元素xj1表示等价关系R(d1)中的一个等价类,网络中边上的权值大于等于d2且小于d1的所有边构成的集合是边集E1,即节点集X中边的集合标记为ejt1;得商空间(X1,E1); 商空间Xi中元素xji表示等价关系R(di)中的一个等价类,网络中边上的权值大于等于di+1且小于di的所有边构成的集合是边集Ei,即节点集X中边的集合标记为ejti;得到商空间记为(Xi,Ei),i=0,1,...,k; 对各商空间Xi中的元素排序,记为将各商空间按粒度从细到粗排列构成一个递阶商空间链X0>X1>...>Xk; 将节点集X上的元素用分层编号表示设z∈X,用k+1维整数表示如下z=(z0,z1,...,zk),设piX→Xi是自然投影,令z在Xi中属于第t个元素,则zi=t; 对商空间(Xi,Ei)的每个元素xmi,引入其对应商空间的矩阵Pmi,设xmi是由Xi-1中s个元素构成,则作s×s维矩阵
其中φ表示在商空间(Xi-1,Ei-1)拓扑图中在xti-1与xji-1之间没有边,e((xti-1,xji-1))包含一个或多个值,表示xti-1和xji-1之间存在一条或多条路径;由与构成反对称矩阵Pmi;于是商空间Xi的拓扑结构可由{Pji,j=1,...,m}表示;由上述根据等价关系R(d1)对所述无向带权网络G(X,E)进行的操作得到若干个等价类,得商空间(X1,E1),其对应的矩阵为P11,...,Pn11;根据等价关系R(d2)对商空间(X1,E1)进行操作得到若干个等价类,得商空间(X2,E2),其对应的矩阵为P12,...,Pn22;根据等价关系R(d3)对商空间(X2,E2)进行操作得到若干个等价类,得商空间(X3,E3),其对应的矩阵为P13,...,Pn33;…,依次类推,…;根据等价关系R(di)对商空间(Xi-1,Ei-1)进行操作得到若干个等价类,得商空间(Xi,Ei),其对应的矩阵为P1i,...,Pnii,1≤i≤k,k是边权集合中元素个数,一直操作到商空间(Xj,Ej)中Xj,1≤j≤k只有一个元素为止或到商空间(Xk,Ek);对各商空间Xi中的元素排序,将各商空间按粒度从细到粗排列构成一个递阶商空间链X0>X1>...>Xj,最后将节点集X上的元素用分层结构表示,得节点集X上所有元素的分层编号z=(z0,z1,...,zk),z∈X,其中j<k时,z=(z0,z1,...,zj),z∈X,至此,即完成了对网络G(X,E)的商空间粒度分类;此时,若j<k,则网络分类得到的商空间(Xj,Ej)中只有一个元素;若j=k,则网络分类得到的最后一个商空间(Xk,Ek)只有一个元素或所有商空间中都不只一个元素; 对于要搜索的起点x=(x0,x2,...,xk)与终点y=(y0,y1,y2,...,yk)之间的“最佳路径”,先比较xk,yk,若xk=yk,再比较xk-1,yk-1,直到xi-1不等于yi-1(0≤i≤k),xi=yi,即x,y两点在商空间(Xi-1,Ei-1)上是连通的;再取Pxii,求得由xi-1到yi-1的路径e(xi-1,yi-1)为将x1,x2插入得(x,x1,x2,y);按上述方式继续分别对x与x1,x2与y操作比较xi-2和xi-21,直到xj-1不等于yj-11,取Pxjj,求得由x到x1的路径e(xj-1,xj-11),将其插入x与x1之间,直到商空间(X0,E0)上的连通路径为止;比较xi-22和yi-2,直到xj′-12不等于yj′-1,取Pxj′j′,求得由x2到y的路径e(xj′-12,yj′-1),将其插入x2与y之间,直到商空间(X0,E0)上的连通路径为止; 所述取Pxii,是指求由xi-1到yi-1的路径e(xi-1,yi-1)的过程在商空间(Xi,Ei)中找出商空间(Xi-1,Ei-1)中的xi-1,yi-1,的具体元素中位置,从而取矩阵Pxii对应位置的元素作为路径e(xi-1,yi-1),如果矩阵Pxii对应位置的元素为φ,则将取矩阵Pxii对应位置的行和列上不是φ各一个元素合并一起,行上元素在前,列上元素在后,组成路径e(xi-1,yi-1); 上述符号中“∈”表示“属于”,“”表示“任意”,“”表示“存在”,“”表示“等价于”。
至此,在上述复杂网络商空间模型的基础上,快速搜索出了任意两点的“最佳路径”,并可同时搜索出该两点中多条“最佳路径”。
上述对无向带权网络G(X,E)建立复杂网络商空间模型是直接按照边权集合中从大到小的权值应用等价关系R(di)逐步分层;也可以先不直接按照网络G(X,E)的边权集合中从大到小的权值应用等价关系R(di)逐步分层,而是先对从网络G(X,E)中提取出来的边权集合选取若干个不同权值构成一个新的边权集合,在这新的边权集合中从大到小依次选取权值,应用等价关系R(di)逐步分层;在由此得到的复杂网络商空间模型基础上进行路径搜索时,若在一商空间Xi的某个元素xji中搜索节点集X中两节点之间的“最佳路径”,则既可以在矩阵Pji中搜索路径,也可以在商空间Xi中进行二次或多次商空间粒度分类分层、在商空间Xi中再次建立商空间模型来搜索路径。当直接在矩阵Pji中搜索时得到的路径可能包含有不是“最佳路径”,则可进行二次或多次商空间粒度分类分层再次建立商空间模型来搜索至“最佳路径”;当所搜索的路径要求很高时,采用二次或多次商空间粒度分类分层,再次建立商空间模型来搜索路径。
本发明中所述的无向带权网络是包括交通网络、电力网络或计算机网络在内的复杂网络。
对于道路交通网络,可将模型中的节点z对应为城市、乡镇等具体地点以及各个叉路口,模型中的边e表示城市、乡镇以及各个叉路口之间有道路,网络边e的权值t(e)是根据公路的路段、路道和车速状况来设定,可根据公路的路段类型、路面宽度,允许行车时速、红绿灯设置间距来设定对于路段好、路面宽、允许时速大、红绿灯间距大的路段,所对应的网络边的权值大,反之对应的权值小。
对于电力网络,可将模型中的节点z对应为配电变压器、升压器和降压器,模型中的边e表示配电变压器、升压器和降压器之间有线路,边e的权值t(e)是根据输送线路的输送电压、线路总长度、输送功率等来设定其输送电压高、线路总长度短和输送功率大的对应的权值大,反之权值小。
对于计算机网络,可将模型中的节点z对应为用户或路由器,模型中的边e表示用户、路由器之间有网络线路,边e的权值t(e)是根据网络线路的路径长度、时延、带宽、负载和通讯成本来设定网络线路负载小、通讯成本低、带宽大、时延少和路径短的权值大,反之权值小。
可利用计算机来实现本发明基于复杂网络商空间模型的“最佳路径”快速搜索,其操作步骤如下 用二维数组W[N][N]来存储无向带权网络G(X,E),对于大规模的复杂网络,可以用文件存放,访问无向带权网络G(X,E)时可以逐行读取文件;用数组D[k]存放边权集合{d1>d2>...>dk};用数组P[]来表示商空间(Xi,Ei)的每个元素xmi对应商空间的矩阵Pmi的含义,数组中的对象是链表;用链表X存储商空间(Xi,Ei)中节点集X分层状况,用一维数组point_num[N]来存放每个节点z分层编号z=(z0,z1,...,zk)序列,N为无向带权网络G(X,E)节点数,L为粒度分层次数; 先初始化数组P[]为空,链表X初始为节点集X中元素构成的链表,数组point_num[]初始是节点集X中元素的标号,L赋值为0; 再从二维数组W[N][N]读取网络,取其中大于等于D[L],小于D[L-1],当L=0时,只取其中大于等于D[L]的数值,对数值大于等于D[L]的边记录在数组P[]中P[L+1],根据P[L+1]可以得到商空间X1,来更新链表X,再更新数组point_num[],L在原有基础上加1; 若链表X只有一个点,程序结束;否则当L不等于k,转向步骤2,L等于k; 然后进行节点z与z’间路径快速搜索 先将L赋值为k,将数组point_num[]中的point_num[z]和point_num[z’]从最后一个数开始比较,L在原有基础上减1,依次往前比较直到对应数值不同为止,设不同数值是i1,j1,从point_num[L]中找point_num[i1]和point_num[j1],取其前面的L个数值,在路径z、z’之间插入节点i1、j1,得到z、i1、j1、z’,L在原有基础上减1; 再在将point_num[z]与point_num[i 1]、point_num[j1]与point_num[z’]从第L个数值开始比较,L在原有基础上减1,依次往前比较直到对应数值不同为止,重复步骤1中找数组point_num[]和插入节点操作,依次重复操作,直到L等于0为止。
由于本发明路径搜索方法所采用的复杂网络商空间模型是由递阶商空间链X0>X1>...>Xk和每个节点z分层编号z=(z0,z1,...,zk)构成,递阶商空间链X0>X1>...>Xk有利于从总体上把握复杂网络的边e的权值t(e)的分布状况,为复杂网络中节点间的“最佳路径”搜索过程提供了在不同粒度世界之间转移的平台。构成的递阶商空间链X0>X1>...>Xk和得到的每个节点z分层编号z=(z0,z1,...,zk)为复杂网络中节点间的路径搜索提供了模型,并对于具体的大规模的复杂网络,在计算机应用上解决了复杂网络的内容存储的瓶颈问题。基于复杂网络商空间模型的路径搜索方法是依据复杂网络的商空间模型的递阶商空间链和每个节点分层编号为复杂网络中要搜索的起点和终点找到其分层编号,从粒度最粗的商空间开始搜索两点的连通路径,接着从粒度较粗的商空间中搜索,逐步细化商空间,一直到粒度最细的商空间为止来求复杂网络中任意两点的“最佳路径”,并且还可以同时搜索出网络中多条“最佳路径”,通过建立了的复杂网络的商空间模型基础上进行路径搜索,在道路交通网络中最大可能的搜索出主要道路、路况好的道路,设计了快速、实用、面向驾驶员的人性化路径搜索算法,并能解决城市内、城市间的最佳行车路线;在电力系统中为电力运输选择高压、低损耗的输送路线;在计算机网络中为网络用户找到高流量的网络路径。本发明的路径搜索方法解决了试探性路径搜索方法的盲目和无方向性的复杂性。

具体实施例方式 对于一个无向带权网络,其网络模型可以应用于道路交通网、电网、互联网等网络上。以下分别给出本发明的复杂网络商空间模型以及基于该模型的路径搜索方法在不同类型无向带权网络下的具体使用的举例说明。
实施例1道路交通网络的基于复杂网络商空间模型的路径搜索方法 根据中国《公路工程技术标准》将公路划分为五个等级,城市道路分为快速路、主干路、次干路及支路四类。具体的城市路段通常包括高速公路、街、路、巷、道等多种类型。在城市、城乡和城镇间,公路路段有高速公路、国道、省道和乡镇公路等,路道有4车道、3车道、2车道和单车道等。在所要建立的道路交通网络图中,其网络G(X,E),节点z可对应为城市、乡镇等具体地点以及各个叉路口,网络边e上的权t(e)是根据公路的路段、路道和车速状况来决定。在对于某一有公路相通的城镇集合地区构建道路交通网络图时,可将其节点z对应为城市的具体地点和各个叉路口,网络边e上的权t(e)则可根据公路的路段类型、路面宽度,允许行车时速、红绿灯设置间距来设定对于路段好、路面宽、允许时速大、红绿灯间距大的路段,所对应的网络边的权值大,反之对应的权值小。
若选取的某一地区城市间公路网络中的城市地点、各个叉路口按某种顺序标号为1,2,3,4,5,6,7,8,9,10;城市间的交通公路状况用带权值的网络边e表示无公路连接的两城市间的网络边权值是0,其它网络边权值的大小由公路的路段、路道和车速状况来决定,例如可将4车道和车速是80km/h以上的高速公路其网络边的权值表示为10,而权值5则表示网络边是国道、3车道和车速是80km/h,权值3表示网络边是省道、2车道和车速是60km/h,权值1表示网络边是城市、乡镇公路、单车道和车速是低于60km/h,由此建立起一个无向带权的道路交通复杂网络共有10个点记为节点集X{1,2,3,4,5,6,7,8,9,10}的商空间模型,设其边e上的权t(e)为{10,5,3,1}由上面设定条件所对应出其节点1和2、3和4、6和9之间权值分别是10,节点2和4、5和6、7和10、8和10之间的权值分别为5,节点2和5、3和7、5和8、6和7之间的权值分别是3,节点1和3、4和6、4和7、7和9、8和9、9和10之间权值分别为1,其它节点间无相连。
对无向带权网络G(X,E)建立复杂网络商空间模型是直接按照边权集合中从大到小的权值应用等价关系R(di)逐步分层,在此称为逐步分层方法;也可以先不直接按照网络G(X,E)的边权集合中从大到小的权值应用等价关系R(di)逐步分层,而是先对从网络G(X,E)中提取出来的边权集合选取若干个不同权值构成一个新的边权集合,在这新的边权集合中从大到小依次选取权值,应用等价关系R(di)逐步分层为区别起见称此为非逐步分层方法。
则其复杂网络商空间模型的逐步分层方法过程为节点1和2、3和4、6和9之间权值是10,故(X0,E0)x50,x70,x80,x100,共有10个元素。
R(10)等价类将网络中边上的权值大于等于10的构成一个等价类,节点1和2是一个等价类,3和4是一个等价类,6和9是一个等价类,得商集共有7个元素,其对应的矩阵如下节点1和2之间权值是10,有节点3和4之间权值是10,有节点6和9之间权值是10,有得商空间(X1,E1),由X1中7个元素构成,由于节点2和4、5和6、7和10、8和10之间的权值为5,故商空间(X1,E1)中x11与x21相连,x31与x41有边,x51、x61分别与x71相连,其它没有边。
R(5)等价类将网络中边上的权值大于等于5,小于10的构成一个等价类,节点x11和x21是一个等价类,x31和x41是一个等价类,x51、x61和x71是一个等价类,得商集共有三个元素,其对应的矩阵如下节点2和4之间权值是5,有节点5和6之间权值是5,有节点7和10、8和10之间权值是5,有得商空间(X2,E2),由X2中3个元素构成,由于节点2和5、3和7、5和8、6和7之间的权值是3,故商空间(X2,E2)中x12、x22和x32构成完全连通图。
R(3)等价类将网络中边上的权值大于等于3,小于5的构成一个等价类,x12、x22和x32是一个等价类,有商空间(X3,E3)只有一个元素其矩阵如下节点2和5、3和7、5和8、6和7之间的权值是3,有得商空间(X3,E3),X3中只有一个元素构成拓扑图。构成一个递阶商空间链X0>X1>X2>X3,最后将X上的元素用分层结构表示,节点1在X0,X1,X2,X3中都是第一个元素,故有1=(1,1,1,1),节点2在X0中是第二个元素,在X1,X2,X3中都是第一个元素,故有2=(2,1,1,1),……,节点10在X0中是第十个元素,在X1中是第七个元素,在X2中是第三个元素,在X3中是第一个元素,故有10=(10,7,3,1)。
可得节点分层编号1=(1,1,1,1),2=(2,1,1,1),3=(3,2,1,1),4=(4,2,1,1),5=(5,3,2,1),6=(6,4,2,1),7=(7,5,3,1),8=(8,6,3,1),9=(9,3,2,1),10=(10,7,3,1)。
上述方法是根据边权集合{d1>d2>...>dk}进行逐步分层的,也可以用非逐步分层,加快分层速度。根据实际情况,如果要求不区分高速和国道,可以省去网络的第一次分层,在要求区分的时候,再用分层方法来将高速和国道区分开来;这对于网络节点多,权值类别多的复杂网络适应性更强。
选取3个权值构成新的需要依据的权值集合{5,3,1),由于节点1和2、3和4、6和9之间权值是10,节点2和4、5和6、7和10、8和10之间的权值为5,故有(X′0,E′0) R′(5)等价类将网络中边上的权值大于等于5的构成一个等价类,得商集共有三个元素,其对应的矩阵如下 得商空间(X′1,E′1。), 由于节点2和5、3和7、5和8、6和7之间的权值是3,故商空间(X′1,E′1)的拓扑图由X′1。中3个元素构成,x′11,x′21和x′31构成完全连通图。
R′(3)等价类将网络中边上的权值大于等于3,小于5的构成一个等价类,得商集只有一个元素其矩阵如下 得商空间(X′2,E′2),其拓扑图是由x′12一个点构成。X′0>X′1>X′2构成一个递阶商空间链,最后将X上的元素用分层结构表示, 节点分层编号1=(1,1,1),2=(2,1,1),3=(3,1,1),4=(4,1,1),5=(5,2,1),6=(6,2,1),7=(7,3,1),8=(8,3,1),9=(9,2,1),10=(10,3,1)。
根据复杂网络商空间模型可以快速搜索网络中任意两节点的“最佳路径”,对于网络用逐步分层方法得到模型中搜索从点1到点10的路径其步骤如下 将起点用分层表示x=(1,1,1,1),y=(10,7,3,1),因为x3=y3所以从1到10最大的路径容量为d3=3; 作起终点序列((1,1,1,1),(10,7,3,1)),因而x3=y3=1,故在矩阵P13中求路径; 求x,y在P13中的连通路径,在商空间(X3,E3)中找出(X2,E2)中的x3=1,y3=3在X3的具体元素中位置是其唯一的一个元素的1,3位置,故取P13[1][3]((3,2,1),(7,5,3)),现将它插入x,y之间得 ((1,1,1,1),(3,2,1),(7,5,3),(10,7,3,1))[3,7]; 由((1,1,1,1),(3,2,1))和((7,5,3),(10,7,3))的第2个坐标相同,故分别在P12和P32中求各自的连通路径,由P12[1][2],P32[1][3]得((2,1),(4,2))和((7,5),(10,7)),插入上述序列得((1,1,1,1),(2,1),(4,2),(3,2,1),(7,5,3),(7,5),(10,7),(10,7,3,1))[2,4],[3,7],[7,10]。
由((1,1,1,1),(2,1))、((4,2),(3,2,1))、((7,5,3),(7,5))、((10,7),(10,7,3,1))第1个坐标是相同的,故分别在P11[1][2],P21[1][1],P71中求各自的连通路径得 (1,2),(4,3),(7,7),(10,10).插入上述序列得 ((1,1,1,1),(1,2),(2,1),(4,2),(4,3),(3,2,1),(7,5,3),(7,7),(7,5),(10,7),(10,10),(10,7,3,1)) [1,2],[2.4],[4,3],[3.7],[7,7][7,10],[10,10];最后得点1到点10的路径(1,2,4,3,7,10); 用第二种非逐步分层方法从点1到点10的路径其步骤 将起点用分层表示x=(1,1,1),y=(10,3,1),因为x2=y2所以从1到10最大的路径容量为d2=2; 作起终点序列((1,1,1),(10,3,1)),因x2=y2=1,故在矩阵P′12中求路径; 求x,y在P′12中的连通路径((3,1),(7,3)),现将它插入x,y之间得 ((1,1,1),(3,1),(7,3),(10,3,1))[3,7]; 由((1,1,1),(3,1))和((7,3),(10,3,1)),的第1个坐标相同,故分别在P′11和P′31中求各自的连通路径,在P′11中没有找不到连通路径,要对商空间(X′1,E′1)细分,对其进行二次分层,在商空间(X′1,E′1)中找节点1到3的路径,得(1,2,4,3);最后得(1,2,4,3,7,10)。
对比以上两种方法,对于静态网络,用逐步分层方法比较好,网络只要分层一次,就可以随意查找任意两节点间的连通路径,并且连通路径是按求“最佳路径”原则来选取的。对于动态网络,网络的布局随时可能发生变化,每次搜索节点之间的路径时都要进行构建网络的商空间模型,对网络分层,为了加快其复杂网络商空间模型构建的速度,用非逐步分层方法比较好。
下面通过计算机操作来完成这10点网络的复杂网络商空间模型的逐步分层方法形成过程以及节点1到10的搜索过程步骤 用二维数组W[N][N]来存储无向带权网络,用数组D[k]存放权值分类值,intD[]={1.0,5,3,1};用数组P[]来表示商空间的矩阵Pmi的意思,数组中的对象是链表,用链表X存储商空间Xi节点分层状况,用一维数组point_num[N]来存放每个节点分层后的编号序列,N为节点数,本实施例中取N=10。利用计算机操作如下 1.初始化数组P[]为空,链表X为{1}->{2}->{3}->{4}->{5}->{6}->{7}->{8}->{9}->{10},point_num[]是{{1,}{2,}{3,}{4,}{5,}{6,}{7,}{8,}{9,}{10,}},L=0; 2.从二维数组W[N][N]读取网络,取其中大于等于D
(=10)的数值,对数值大于等于10的边记录在数组P[]中,P[1]中有{{1,2;1,2}->{3,4;3,4}->{6,9;6,9}},根据P[1]可以得到商空间X1,来更新链表X{1,2}->{3,4}->{5}->{6,9}->{7}->{8}->{10},再更新一维数组point_num[]{{1,1,}{2,1,}{3,2,}{4,2,}{5,3,}{6,4,}{7,5,}{8,6,}{9,4,}{10,7,}},L在原有基础上加1; 3.从二维数组W[N][N]读取网络,取其中大于等于D[1](=5),小于D
的数值,对数值大于等于5小于10的边记录在P中,P[2]中有{{1,2;2,4}->{3,4;5,6}->{5,7;7,10}>{6,7;8,10}},根据P[2]可以得到商空间X2,来更新链表X{1,2,3,4}->{5,6,9}->{7,8,10},再更新一维数组point_num[]{{1,1,1,}{2,1,1,}{3,2,1,}{4,2,1,}{5,3,2,}{6,4,2,}{7,5,3,}{8,6,3,}{9,4,2,}{10,7,3,}},L在原有基础上加1; 4.从二维数组W[N][N]读取网络,取其中大于等于D[2](=3),小于D[1]的数值,对数值大于等于3小于5的边记录在数组P[]中,P[3]中有{{1,2;2,5}->{1,3;3,7}->{2,3;5,8;6,7}},根据P[3]可以得到商空间X3,来更新链表X{1,2,3,4,5,6,9,7,8,10},再更新一维数组point_num[]{{1,1,1,1}{2,1,1,1}{3,2,1,1}{4,2,1,1}{5,3,2,1}{6,4,2,1}{7,5,3,1}{8,6,3,1}{9,4,2,1}{10,7,3,1}},由于链表X只有一个点,程序结束。
5.L=4,将数组point_num[]中point_num[1]和point_num[10]从最后一个数开始比较,都是1,L=3,比较倒数第二个,1、3是不同,在P[L=3]中找{1,3;*,*},找到{1,3;3,7},从point_num[]中找point_num[3]和point_num[7],由于L=3,故有{3,2,1}{7,5,3},在路径1、10之间插入3、7,得到1、3、7、10,L=2; 6.比较{1,1,1,1}{3,2,1}和{7,5,3}{10,7,3,1},在P[L=2]中找{1,2;*,*}和{5,7;*,*},找到{1,2;2,4}和{5,7;7,10},故有{2,1}{4,2}和{7,5][10,7},在路径中分别插入2、4和7、10,得到1、2、4、3、7、10、10,L=1; 7.比较{1,1,1,1}{2,1}、{4,2}{3,2,1}、{7,5,3}{7,5}、{10,7}{10,7,3,1},在P[L=1]中找{1,2;*,*}、{4,3;*,*}、{7,7;*,*}、{10,10;*,*},由于像{7,7;*,*}{10,10;*,*}没有必要找,只要找{1,2;*,*}、{4,3;*,*},找到{1,2;1,2}、{3,4;3,4},{3,4;3,4}不是与{4,3;*,*}完全匹配,故要对换其位置,有{4,3;4,3}。故可的1到10的路径是1、2、4、3、7、10。
应用复杂网络商空间模型来路径搜索可以搜索任意两节点间的“最佳路径”,然后将“最佳路径”的数字编码对应于城市和各个叉路口的名称对应,即可以得到任意两个城市间的“最佳路径”。如果行车对于高速和国道、车道的要求不是很严格,只是对车速有要求,可以把权值是10的边改为5就行了。
通过建立其复杂网络商空间模型,并在此模型的基础上进行路径搜索,在道路交通网络中最大可能的快速搜索出主要道路、走路况好、面向驾驶员的人性化道路,这就解决了城市内、城市间的最佳行车路线。
实施例2电力输送网络的基于复杂网络商空间模型的路径搜索方法 在电力系统中是电力输送过程中,根据我国远距离输电的电压有110千伏、220千伏、330千伏,近年还建成了500千伏的超高压输电线路,以及国外还建有1150千伏的试验性超高压输电线路的具体实际情况,建立网络G(X,E),节点z是各个配电变压器、升压器和降压器,边e上的权t(e)根据输送线路的输送电压、线路总长度、输送功率等来决定,其输送电压高、线路总长度短和输送功率大的对应的权值大,反之权值小。
现在选取某一区域的电力系统,将该区域的各个配电变压器、升压器和降压器名称共12个按照一定的顺序来标号为1,2,3,4,5,6,7,8,9,10,11,12,各个配电变压器、升压器和降压器的连接状况用带权的边e表示,无连接的权值是0,其它的权值根据输送线路的输送电压、线路总长度、输送功率等来决定,权值为9的边表示输送电压为500千伏、路径短、输送功率大,权值是7表示输送电压为330千伏、路径短、输送功率较大,权值是4的边表示输送电压为220千伏、路径较短、输送功率不大,权值为1的边表示输送电压为110千伏、路径长、输送功率小。建立复杂网络的商空间模型,对于一个无向带权网络G(X,E),共有12个点记为X{1,2,3,4,5,6,7,8,9,10,11,12},设边e上的权t(e)为{9,7,4,1}。节点1和2、4和5、6和7、9和10之间权值是9,节点2和3、8和9、8和11之间的权值为7,节点1和4、3和5、5和10、6和10、、7和8、10和11、11和12之间的权值是4,节点2和4、3和7、4和6、4和10、6和9、9和11、8和12之间权值为1,其它节点间无相连。
其网络的商空间分层表示过程(X0,E0)x30,x80,x110,x120,共有12个元素。
R(9)等价类得商集共有8个元素,其对应的矩阵如下 得商空间(X1,E1),由X1中8个元素构成,其中x11与x21相连,x51分别与x61、x71相连,其它没有边。
R(7)等价类得商集共有5个元素,其对应的矩阵如下得商空间(X2,E2),由X2中5个元素构成,x12与x22相连,x22与x42相连,x32与x42相连,x42与x52相连,其它没有边。
R(4)等价类只有一个元素其矩阵如下;得商空间(X3,E3),X3中只有一个元素构成拓扑图。
节点分层编号1=(1,1,1,1),2=(2,1,1,1),3=(3,2,1,1),4=(4,3,2,1),5=(5,3,2,1),6=(6,4,3,1),7=(7,4,3,1),8=(8,5,4,1),9=(9,6,4,1),10=(10,6,4,1),11=(11,7,4,1),12=(12,8,5,1)。在此复杂网络商空间模型的基础上搜索从点4到点10的路径其步骤如下 将起点用分层表示x=(4,3,2,1),y=(10,6,4,1),因为x3=y3所以从4到10最大的路径容量为d3=3; 作起终点序列((4,3,2,1),(10,6,4,1)),因x3=y3=1,故在矩阵P13中求路径; 求x,y在P13中的连通路径((5,3,2),(10,6,4)),现将它插入x,y之间得 ((4,3,2,1),(5,3,2),(10,6,4),(10,6,4,1))[5,10]; 再在((4,3,2,1),((5,3,2))、((10,6,4),(10,6,4,1))比较,((4,3,2,1),((5,3,2))的第1和2个坐标相同,故在P21连通路径,由P21得(4,5),插入上述序列得 ((4,3,2,1),(4,5),(5,3,2),(10,6,4),(10,6,4,1))[4,4],[4,5],[5,5],[10,10] 最后得点4到点10的路径为(4,5,10)。
应用复杂网络商空间模型的路径搜索方法可以搜索任意两节点间的“最佳路径”,然后将“最佳路径”的数字编码对应于各个配电变压器、升压器和降压器名称对应,即可以得到任意两输送点间的“最佳路径”。
通过建立其复杂网络商空间模型,并在此模型的基础上进行路径搜索,在电力系统中为电力运输选择高压、低损耗的输送路线。
实施例3计算机网络中路由选择的的基于复杂网络商空间模型的路径搜索方法 在计算机网络路由选择过程中,建立网络G(X,E),,节点z是用户或路由器,边e上的权t(e)是由于节点间的路径长度、时延、带宽、负载和通讯成本来决定。在一个区域的内部,节点z是用户;在区域外部,节点z是路由器。在搜索路径时,先判断源和目的用户是否在同一个区域内,如果在同一个区域内,用节点z是用户的方法搜索;否则,判断源和目的用户的归属路由器,然后用节点z是路由器的方法搜索。对于边e上的权t(e)的确定,负载小、通讯成本低、带宽大、时延少和路径短的权值大,反之权值小。
现在选取某一区域的计算机网络系统,将各个路由器按照一定的顺序来标号,各个配路由器的连接状况用带权的边e表示,无连接的权值是0,其它的权值根据路径长度、时延、带宽、负载和通讯成本等来决定,权值为10的边表示负载很小、通讯成本低、带宽大、时延少和路径短,权值是5表示负载小、通讯成本较低、带宽大、时延少和路径短,权值是3的边表示负载比较小、通讯成本较低、带宽不大、时延长和路径长,权值为1的边表示负载大、通讯成本大、带宽小、时延长和路径长。应用本发明的方法通过计算机仿真模拟了104节点及104节点以内的计算机网络系统的网络,无向带权网络是分别根据随机网络模型、小世界网络模型和无标度网络模型来生成的,存储在文本文件中,分别用商空间粒度逐步分层方法和非逐步分层方法来建立复杂网络商空间模型,并在此基础上分别搜索了50对点的“最佳路径”,相比之下,Dijkstra算法和Floyd算法无法完成104节点的路径搜索的计算机仿真实验,且对于102和103数量级的无向带权网络路径搜索时间也很长,搜索的路径不是“最佳路径”。结果表明复杂网络商空间模型对于“最佳路径”搜索是很方便的,在该模型商的路径搜索方法能够快速搜索出任意两节点间的“最佳路径”;逐步分层方法在建立模型时时间较非逐步分层方法长,但在搜索“最佳路径”的时间上短些。故有对于静态网络,用逐步分层方法比较好,网络只要分层一次,就可以随意查找任意两节点间的连通路径,并且连通路径是按求“最佳路径”原则来选取的。对于动态网络,用非逐步分层方法比较好。
应用复杂网络商空间模型的路径搜索方法可以搜索任意两节点间的“最佳路径”,然后将“最佳路径”的数字编码对应于各个路由器名称对应,即可以得到任意两路由器间的“最佳路径”。
通过建立其复杂网络商空间模型,并在此模型的基础上进行路径搜索,可以搜索出计算机网络中由高流量的网络路径组成的路线,在计算机网络系统中提高了网络的吞吐量和速度。
权利要求
1.一种基于复杂网络商空间模型的路径搜索方法,根据无向带权网络中边上权值的不同对节点粒度分类建立层次网络模型;其特征在于从作为粒度最细商空间的初始网络开始,先在网络中提取不同权值构成边权集合,从该边权集合中选取最大的权值进行等价关系分类,根据等价关系对等于最大权值的边进行归并形成等价类,得到粒度较粗的商空间;然后再在边权集合中依次从次大权值开始从大到小选取权值进行等价关系分类,根据等价关系对所得到的粒度较粗的商空间中大于等于选取权值的边进行归并形成等价类,使同一等价类中网络节点的边上权值为大于等于等价关系选取的权值且小于上一个选取的权值,从而构成粒度更粗的商空间;继续依此操作直至分类到粒度最粗的商空间对于连通网络该粒度最粗的商空间中只有一个元素,对于非连通网络则粒度最粗的商空间中元素个数等于其连通分支数目;将各商空间按粒度从细到粗排列形成一个递阶商空间链,再根据每个节点在递阶商空间链上不同商空间中的位置给出各节点的分层编号;从而得到具有按等价关系粒度分类的递阶商空间链和节点集中每个节点的分层编号的商空间模型;然后在此商空间模型基础上进行路径搜索在复杂网络商空间模型中的分层编号中找出要搜索的起点和终点的分层编号,从起点和终点的分层编号的最后一个编号开始比较,在递阶商空间链中从粒度最粗的商空间开始搜索这两点间的连通路径,接着在粒度较粗的商空间中逐步搜索这两点间的连通路径至粒度最细的商空间,即得到“最佳路径”
2.如权利要求1所述基于复杂网络商空间模型的路径搜索方法,特征在于
对已给定的无向带权网络G(X,E),由节点z∈X构成节点集X,由所有的边e构成边集E,边e上的权t(e)∈
,d是网络各边中的最大权值,有k个不同权值的边权集合表示为{d1>d2>...>dk};根据等价关系R(di),i=1,...,k,连接权值大于等于di的边e的节点属于一个等价类,对应的商空间为
记节点集X=X0,X中的元素用xj0表示,网络中边上的权值大于等于d1的所有边构成的集合是边集E0,即边其边以表示,得商空间(X0,E0);
商空间Z1中元素xj1表示等价关系R(d1)中的一个等价类,网络中边上的权值大于等于d2且小于d1的所有边构成的集合是边集E1,即节点集X中边的集合标记为ejt1;得商空间(X1,E1);
商空间Xi中元素xji表示等价关系R(di)中的一个等价类,网络中边上的权值大于等于di+1且小于di的所有边构成的集合是边集Ei,即节点集X中边的集合标记为ejti;得到商空间记为(Xi,Ei),i=0,1,...,k;
对各商空间Xi中的元素排序,记为将各商空间按粒度从细到粗排列构成一个递阶商空间链X0>X1>...>Xk;
将节点集X上的元素用分层编号表示设z∈X,用k+1维整数表示如下z=(z0,z1...,zk),设piX→Xi是自然投影,令z在Xi中属于第t个元素,则zi=t;
对商空间(Xi,Ei)的每个元素xmi,引入其对应商空间的矩阵Pmi,设Xmi是由Xi-1中s个元素构成,则作s×s维矩阵
m=1,...,ni;
其中φ表示在商空间(Xi-1,Ei-1)拓扑图中在xti-1与xji-1之间没有边,e((xti-1,xji-1))包含一个或多个值,表示xti-1和xji-1之间存在一条或多条路径;由与构成反对称矩阵Pmi;于是商空间Xi的拓扑结构可由{Pji,j=1,...,m}表示;
由上述根据等价关系R(d1)对所述无向带权网络G(X,E)进行的操作得到若干个等价类,得商空间(X1,E1),其对应的矩阵为P11,...,Pn11;根据等价关系R(d2)对商空间(X1,E1)进行操作得到若干个等价类,得商空间(X2,E2),其对应的矩阵为P12,...,Pn22;根据等价关系R(d3)对商空间(X2,E2)进行操作得到若干个等价类,得商空间(X3,E3),其对应的矩阵为P13,...,Pn33;...,依次类推,...;根据等价关系R(di)对商空间(Xi-1,Ei-1)进行操作得到若干个等价类,得商空间(Xi,Ei),其对应的矩阵为P1i,...,Pnii,1≤i≤k,k是边权集合中元素个数,一直操作到商空间(Xj,Ej)中Xj,1≤j≤k只有一个元素为止或到商空间(Xk,Ek);对各商空间Xi中的元素排序,将各商空间按粒度从细到粗排列构成一个递阶商空间链X0>X1>...>Xj,最后将节点集X上的元素用分层结构表示,得节点集X上所有元素的分层编号z=(z0,z1,...,zk),z∈X,其中j<k时,z=(z0,z1,...,zj),z∈X,至此,即完成了对网络G(X,E)的商空间粒度分类;此时,若j<k,则网络分类得到的商空间(xj,Ej)中只有一个元素;若j=k,则网络分类得到的最后一个商空间(Xk,Ek)只有一个元素或所有商空间中都不只一个元素;
对于要搜索的起点x=(x0,x2,...,xk)与终点y=(y0,y1,y2,...,yk)之间的“最佳路径”,先比较xk,yk,若xk=yk,再比较xk-1,yk-1,直到xi-1不等于yi-1(0≤i≤k),xi=yi,即x,y两点在商空间(xi-1,Ei-1)上是连通的;再取Pxii,求得由xi-1到yi-1的路径e(xi-1,yi-1)为将x1,x2插入得(x,x1,x2,y);按上述方式继续分别对x与x1,x2与y操作比较xi-2和xi-21,直到xi-1不等于xi-11,取Pxjj,求得由x到x1的路径e(xj-1,xj-11),将其插入x与x1之间,直到商空间(X0,E0)上的连通路径为止;比较xi-22和yi-2,直到xj′-12不等于yj′-1,取Pxjj′,求得由x2到y的路径e(xj′-12,yj′-1),将其插入x2与y之间,直到商空间(X0,E0)上的连通路径为止;
所述取Pxii,是指求由xi-1到yi-1的路径e(xi-1,yi-1)的过程在商空间(Xi,Ei)中找出商空间(Xi-1,Ei-1)中的xi-1,yi-1的具体元素中位置,从而取矩阵Pxii对应位置的元素作为路径e(xi-1,yi-1),如果矩阵Pxii对应位置的元素为φ,则将取矩阵Pxii对应位置的行和列上不是φ各一个元素合并一起,行上元素在前,列上元素在后,组成路径e(xi-1,yi-1);
上述符号中“∈”表示“属于”,“”表示“任意”,“”表示“存在”,“”表示“等价于”。
3.如权利要求1所述基于复杂网络商空间模型的路径搜索方法,特征在于先对从网络G(X,E)中提取出来的边权集合选取若干个不同权值构成一个新的边权集合,在这新的边权集合中从大到小依次选取权值,应用等价关系R(di)逐步分层;若在一商空间Xi的某个元素Xji中搜索节点集X中两节点之间的“最佳路径”,则在矩阵Pji中搜索路径,或在商空间Xi中进行二次或多次商空间粒度分类分层、在商空间Xi中再次建立商空间模型来搜索路径;当直接在矩阵Pji中搜索时得到的路径包含有不是“最佳路径”,则进行二次或多次商空间粒度分类分层再次建立商空间模型来搜索至“最佳路径”;当所搜索的路径要求很高时,采用二次或多次商空间粒度分类分层,再次建立商空间模型来搜索路径。
4.如权利要求1所述基于复杂网络商空间模型的路径搜索方法,特征在于所述的无向带权网络是包括交通网络、电力网络或计算机网络在内的复杂网络。
5.如权利要求1所述基于复杂网络商空间模型的路径搜索方法,特征在于对于道路交通网络,将模型中的节点z对应为城市、乡镇等具体地点以及各个叉路口,模型中的边e表示城市、乡镇以及各个叉路口之间有道路,网络边e的权值t(e)是根据公路的路段、路道和车速状况来设定,根据公路的路段类型、路面宽度,允许行车时速、红绿灯设置间距来设定对于路段好、路面宽、允许时速大、红绿灯间距大的路段,所对应的网络边的权值大,反之对应的权值小。
6.如权利要求1所述基于复杂网络商空间模型的路径搜索方法,特征在于对于电力网络,可将模型中的节点z对应为配电变压器、升压器和降压器,模型中的边e表示配电变压器、升压器和降压器之间有线路,边e的权值t(e)是根据输送线路的输送电压、线路总长度、输送功率等来设定其输送电压高、线路总长度短和输送功率大的对应的权值大,反之权值小。
7.如权利要求1所述基于复杂网络商空间模型的路径搜索方法,特征在于对于计算机网络,可将模型中的节点z对应为用户或路由器,模型中的边e表示用户、路由器之间有网络线路,边e的权值t(e)是根据网络线路的路径长度、时延、带宽、负载和通讯成本来设定网络线路负载小、通讯成本低、带宽大、时延少和路径短的权值大,反之权值小。
8.如权利要求1所述基于复杂网络商空间模型的路径搜索方法,特征在于采用计算机来实现路径快速搜索的操作步骤如下
用二维数组W[N][N]来存储无向带权网络G(X,E),对于大规模的复杂网络,可以用文件存放,访问无向带权网络G(X,E)时可以逐行读取文件;用数组D[k]存放边权集合{d1>d2>...>dk};用数组P[]来表示商空间(Xi,Ei)的每个元素xmi对应商空间的矩阵Pmi的含义,数组中的对象是链表;用链表X存储商空间(Xi,Ei)中节点集X分层状况,用一维数组point_num[N]来存放每个节点z分层编号z=(z0,z1,...,zk)序列,N为无向带权网络G(X,E)节点数,L为粒度分层次数;
先初始化数组P[]为空,链表X初始为节点集X中元素构成的链表,数组point_num[]初始是节点集X中元素的标号,L赋值为0;
再从二维数组W[N][N]读取网络,取其中大于等于D[L],小于D[L-1],当L=0时,只取其中大于等于D[L]的数值,对数值大于等于D[L]的边记录在数组P[]中P[L+1],根据P[L+1]可以得到商空间X1,来更新链表X,再更新数组point_num[],L在原有基础上加1;
若链表X只有一个点,程序结束;否则当L不等于k,转向步骤2,L等于k;
然后进行节点z与z’间路径快速搜索
先将L赋值为k,将数组point_num[]中的point_num[z]和point_num[z’]从最后一个数开始比较,L在原有基础上减1,依次往前比较直到对应数值不同为止,设不同数值是i1,j1,从point_num[L]中找point_num[i1]和point_num[j1],取其前面的L个数值,在路径z、z’之间插入节点i1、j1,得到z、i1、j1、z’,L在原有基础上减1;
再在将point_num[z]与point_num[i1]、point_num[j1]与point_num[z’]从第L个数值开始比较,L在原有基础上减1,依次往前比较直到对应数值不同为止,重复步骤1中找数组point_num[]和插入节点操作,依次重复操作,直到L等于0为止。
全文摘要
本发明基于复杂网络商空间模型的路径搜索方法,特征是先利用等价关系对网络进行逐步粗化分类,构成递阶商空间链,得到每个节点的分层编号的商空间模型;然后在商空间模型中找到要搜索的起点和终点的分层编号,根据对应递阶商空间链中从细到粗的商空间,从最后一个编号开始比较,从粒度最粗的商空间开始搜索两点的连通路径,接着在较粗的商空间中搜索细的商空间,一直到最细的商空间为止,根据任意两节点的分层编号可以直观的发现两节点的“最佳路径”的路径分布状况,根据其递阶商空间链可以找出网络中任意两节点的“最佳路径”;再依据该模型从最粗的商空间开始搜索两点的连通路径,逐步细化,一直到搜索到最细的商空间,搜索出“最佳路径”。
文档编号H04L12/46GK101114968SQ20071013139
公开日2008年1月30日 申请日期2007年8月31日 优先权日2007年8月31日
发明者张燕平, 铃 张, 何富贵 申请人:安徽大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1