买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】多属性时序交通网络中k个最近邻节点对的查询方法_厦门纳网科技股份有限公司_201811636467.X 

申请/专利权人:厦门纳网科技股份有限公司

申请日:2018-12-29

公开(公告)日:2024-03-08

公开(公告)号:CN109840620B

主分类号:G06Q10/047

分类号:G06Q10/047;G06Q50/40

优先权:

专利状态码:有效-授权

法律状态:2024.03.08#授权;2019.06.28#实质审查的生效;2019.06.04#公开

摘要:本发明公开了一种多属性时序交通网络中k个最近邻节点对的查询方法,包括将交通网络的多属性时序图映射到二维坐标系中;在二维坐标系中,用一条平行于y轴的直线L把所述交通网络图中的所有节点一分为二,分别计算直线L左右两侧的k个最近邻节点对,然后选出整体的k个最近邻节点对;在直线L右侧寻找直线L左侧的任意一个网格c1的r近邻网格c2,计算格c1中的节点vs到c2中的节点vd的多约束时序路径;并计算c2里的节点vd到c1里的节点vs的多约束时序路径;从节点vs到节点vd的多约束时序路径和节点vd到节点vs的多约束时序路径中选出符合多约束的k个最近邻节点对。本发明能够找出交通路网中两点间符合约束的并且具有最短距离的路径,满足出行需求。

主权项:1.一种多属性时序交通网络中k个最近邻节点对的查询方法,其特征在于,包括:将交通网络的多属性时序图映射到二维坐标系中;在所述二维坐标系中,用一条平行于y轴的直线L把所述交通网络图中的所有节点一分为二,分别计算直线L左右两侧的k个最近邻节点对,然后选出整体的k个最近邻节点对;所述一分为二指以直线L左右两侧的划分的节点个数相同或节点个数相差为1;以第k大距离r为对角线构造正方形网格,且直线L在网格线上;在直线L右侧寻找直线L左侧的任意一个网格c1的r近邻网格c2,计算网格c1中的节点vs到网格c2中的节点vd的多约束时序路径;并计算网格c2里的节点vd到c1里的节点vs的多约束时序路径;从节点vs到节点vd的多约束时序路径和节点vd到节点vs的多约束时序路径中选出符合多约束的k个最近邻节点对;节点vs到节点vd的多约束时序路径的计算方法,包括:反向搜索步骤:从终点vd向起点vs进行反向搜索,计算反向搜索路径的目标方程值,然后通过目标方程的值来判断反向搜索路径是否满足相应的W个约束,路径的目标方程值存储在节点vi中;正向扩展步骤:结合反向搜索步骤中存储的信息,从起点vs向终点vd进行搜索,找到起点vs至终点vd之间符合约束的最短时序路径;所述反向搜索步骤包括:步骤301,对每一条边e=vi,vi+1,ti,fWe依次进行检查,如果这条边的出发时间和到达时间在给定的时间区间[tα,tβ]内,则执行步骤302;如果出发时间在时间区间[tα,tβ]内,到达时间不在该区间,则处理下一条边;否则,停止处理;其中,ti表示这条边的出发时间;其中,fWe表示边上的W个属性值;步骤302,从vd开始,对于边e=vi,vi+1,ti,fWe,令相应的运行时间为ri;如果vi+1是终点,那么更新利用中的信息更新得到里的一条信息具体为并且,其中,表示反向时序路径从vi+1点的出发时间;表示中当前最小的目标函数值;表示第j个属性的累计值;对更新之后,删除中的受支配元素;其中,表示从vd到终点vi+1的相关信息;步骤303,如果令如果令其中,表示反向路径的最晚出发时刻;步骤304:对于每一个节点,返回反向路径的最小目标函数值δminvi、取得目标函数值的路径的出发时刻和反向路径的最晚出发时刻所述步骤301之前还包括:将多属性时序图中所有时序边按照出发时间从大到小排序;所述正向扩展步骤包括:步骤501,判定当前扫描到的边e=vi,vi+1,ti,fwe的出发时刻是否在用户给定的时间区间内,如果不在,停止处理;如果出发时间在时间区间[tα,tβ]内,到达时间不在该区间,则处理下一条边;如果出发时刻和到达时刻都在给定时间范围内,则执行步骤502;步骤502,对当前求取的前半部分路径和反向过程求取的后半部分路径的属性值求聚合,包括:步骤5021,判断从vi+1到vd的时序路径的最小目标函数值是否大于1,如果表明从vi+1到vd之间不存在一条符合约束的路径;步骤5022,如果判断从vs经过e到vi+1的路径的到达时间是否小于vi+1到vd的最晚出发时刻如果说明和所有的从vi+1到vd的路径在时间上无法衔接,从vs经过e不能到达vd;步骤5023,如果把和反向过程中求取的后半部分路径的最小目标方程值进行聚合,得到聚合路径且λj表示约束;如果表明从vs经过e到vd没有符合约束的路径;如果则利用中的信息去更新删除中的受支配元素;其中,Fvi中每个元素的形式为avi表示正向时序路径到vi点的到达时间;表示目标函数值;表示第j个属性的累计值;表示从起点到vi的路径长度;步骤503:在中找到从vs到vd符合约束的最短路径,并从中选出k个节点对;所述步骤501之前还包括:将多属性时序图中所有时序边按照出发时间从小到大到排序。

全文数据:多属性时序交通网络中k个最近邻节点对的查询方法技术领域本发明涉及交通网络领域,特别涉及一种多属性时序交通网络中k个最近邻节点对的查询方法。背景技术随着社会经济的飞速发展,交通在日益发达的同时也变得更加复杂,并且一天内随着时序信息的变化,两点间是否连通,两点间道路的拥挤状况,汽车的油耗等等都会发生变化,因此,如何高效合理地进行城市规划以及出行安排已经成为困扰人们的问题之一。本方法的提出就是为了解决该问题。举例来说,用户需要设计一个2日旅游规划,在进行酒店预订,旅游路线规划[3]时会考虑一些因素,这些因素包括从酒店的最早出发时间,到景点的最晚到达时间,从酒店到景点的交通费用预算,运行时间,以及两点间的距离等等。因此,交通网络里的k个最近邻节点对查询k-Closest-Pairs-Query,k-CPQ已经吸引了人们的注意力。就传统意义上来说,给定路网上的两种兴趣点集合P和Q,那么k-CPQ会返回来自于P*Q的k个兴趣节点对,并且这些节点对之间的距离是前k小的。对于旅游规划这个场景,P就是酒店集合,Q就是景点集合。此外,交通网络是具有时序信息的,车辆的出发时间是根据已有的时刻表来安排的,那么人们在进行旅游路线规划的时候就需要考虑时序信息。在公共交通网络里,每个车辆除了具有时序信息外,从出发地到目的地之间会有运行距离,运行费用等属性。通常人们在考虑路径时也会对这些属性提出一些相应的约束来表明他们对路径的要求。比如用户想用三天时间游览上海这座城市的几个景点,他们希望每天在早上8:30到10:30之间能够游览两个景点,且希望每天游览的这两个景点之间的距离最近,并且从一个景点搭车到另一个景点的时间不超过45分钟,搭车费用不超过70元,那么旅行团应该怎么来安排每天的游览路线?这个问题就可以抽象为如何解决多属性时序交通网络里满足多个约束的k个最近邻节点对查询问题,这对现实生活中的各种应用有着重要的意义。现有的k-CPQ的解决方法主要分为两类,一类是在欧几里得空间里解决k-CPQ,另一类是在其他度量空间上解决k-CPQ。首先介绍欧几里得空间里的一些方法,Corral等人[1]假设已经在R*树中分别对兴趣点集合P和Q建立索引,然后利用R*树的分层属性来提高修剪能力。为了快速求取节点对之间的距离,[2][3]中使用双向扩展方法,加上平面扫描技术对一些远距离的节点进行剪枝,此外,通过选择一个好的扫描轴和扫描方向,进一步提高了扫描的效率。Yang和Lin[4]提出了一种新的索引结构bRdnn-tree,用于追踪P中每个节点在Q中的最近邻节点。其次介绍在其他度量空间里的一些方法,Gao等人[5]提出了基于深度优先,最佳优先及其组合的三种方法,使用M树[6]处理k-CPQ。Kurasawa等人[7]提出了基于分治法的自适应的多分区方法来解决k-CPQ问题,该方法的基本思想是通过不断迭代减少第k大最近邻对的距离的上界。此外,k-CPQ问题经常与相似性连接查询相关联,相似性连接算法的目标是寻找距离不超过ε的节点对。Jacox等人[8]提出了基于快排的方法背后的基本思想,它递归地将数据划分为更小的分区。Fredriksson等人[9]对[8]中的方法进行改进。Sarma等人[10]和Wang等人[11]基于Map-Reduce方法研究了相似性连接问题,该方法基于底层数据分布来划分数据空间。如上所述,由于难以选择适当的ε值,较小的值可能导致不完整的结果,而较大的值可能会产生过多的开销,因此解决相似性连接的方法无法有效地处理k-CPQ问题。此外,现有的分析方法还存在如下问题:1分析方法基于静态图上,未考虑时序信息。相比于静态图来说,现实生活中的交通路网更趋向于时序图,例如不同时间段交通道路的拥挤程度不一样,从而导致运行时间不一样,不同时间段航班的价格不一样等等,而传统的方法只是考虑了静态图上的情况,因此不能很好地拟合真实世界的情况。2只是单纯考虑路径上的一个约束。就目前的研究来看,绝大多数的节点距离的研究都是只考虑一个目标或者单个约束下的目标,比如经典的Dijkstra算法,它只考虑了路径长度这一个目标,很多方法只考虑了在给定运行费用的约束下的最短路径。然而,现实生活中,人们在出行等活动中往往会考虑多个因素,比如从A点出发到B点时会考虑总的行驶时间,总的汽车油耗预算等,综合考虑多个因素后在选择最符合条件的一条路径,因此,仅考虑一个约束的话还远远不能解决生活中的实际问题。3准确率不高,运行时间长。就目前而言,还没有专门的研究来处理时序图上的多约束k最近邻节点对查询问题,如果将传统方法应用到这方面的话,则需要对图中的任意两个节点计算它们之间的路径和该路径上的每个属性的累计值,然后选出k个符合约束的具有最短路径的节点对作为结果集合。并且在计算每个节点对之间的路径时,对于每一个属性需要算出满足该属性约束的最短路径,如果有W个属性,则需算出W个最短路径,再从这W个路径集中筛选出交集,由此可见,这种方法无论是效率还是准确率方面都不是很高。[1]A.Corral,Y.Manolopoulos,Y.Theodoridis,andM.Vassilakopoulos.Algorithmsforprocessingk-closest-pairqueriesinspatialdatabases.DKE,491:67–104,2004[2].[2]H.Shin,B.Moon,andS.Lee.Adaptivemulti-stagedistancejoinprocessing.ACMSIGMODRecord,292:343–354,2000.[3]H.Shin,B.Moon,andS.Lee.Adaptiveandincrementalprocessingfordistancejoinqueries.IEEETKDE,156:1561–1578,2003.[4]C.YangandK.-I.Lin.Anindexstructureforimprovingclosestpairsandrelatedjoinqueriesinspatialdatabases.InIEEEIDEAS,pages140–149,2002.[5]Y.Gao,L.Chen,X.Li,B.Yao,andG.Chen.Efficientk-closestpairqueriesingeneralmetricspaces.VLDBJ,pages1–25,2015.[6]M.Patella,P.Ciaccia,andP.Zezula.M-tree:Anefficientaccessmethodforsimilaritysearchinmetricspaces.InVLDB,pages1241–1253,1997.[7]H.Kurasawa,A.Takasu,andJ.Adachi.Findingthek-closestpairsinmetricspaces.InProc.ofthe1stWorkshoponNewTrendsinSimilaritySearch,pages8–13,2011.[8]E.H.JacoxandH.Samet.Metricspacesimilarityjoins.ACMTODS,332:7,2008.[9]K.FredrikssonandB.Braithwaite.Quickersimilarityjoinsinmetricspaces.InSimilaritySearchandApplications,pages127–140.2013.[10]A.DasSarma,Y.He,andS.Chaudhuri.Clusterjoin:asimilarityjoinsframeworkusingmap-reduce.PVLDB,712:1059–1070,2014.[11]Y.Wang,A.Metwally,andS.Parthasarathy.Scalableall-pairssimilaritysearchinmetricspaces.InACMKDD,pages829–837.ACM,2013.。发明内容本发明的目的在于克服现有技术的不足,提出一种多属性时序交通网络中k个最近邻节点对的查询方法,在用户给定了交通网络图上的多个属性的约束下,能够快速寻找到满足约束的k个最近邻节点,即找出交通路网中两点间符合约束的并且具有最短距离的路径,满足出行需求。本发明采用如下技术方案:一种多属性时序交通网络中k个最近邻节点对的查询方法,包括:将交通网络的多属性时序图映射到二维坐标系中;在所述二维坐标系中,用一条平行于y轴的直线L把所述交通网络图中的所有节点一分为二,分别计算直线L左右两侧的k个最近邻节点对,然后选出整体的k个最近邻节点对;所述一分为二指以直线L左右两侧的划分的节点个数相同或节点个数相差为1;以第k大距离r为对角线构造正方形网格,且直线L在网格线上;在直线L右侧寻找直线L左侧的任意一个网格c1的r近邻网格c2,计算网格c1中的节点vs到网格c2中的节点vd的多约束时序路径;并计算网格c2里的节点vd到c1里的节点vs的多约束时序路径;从节点vs到节点vd的多约束时序路径和节点vd到节点vs的多约束时序路径中选出符合多约束的k个最近邻节点对。优选的,节点vs到节点vd的多约束时序路径的计算方法,包括:反向搜索步骤:从终点vd向起点vs进行反向搜索,计算反向搜索路径的目标方程值,然后通过目标方程的值来判断反向搜索路径是否满足相应的W个约束,路径的目标方程值存储在节点vi中;正向扩展步骤:结合反向搜索步骤中存储的信息,从起点vs向终点vd进行搜索,找到起点vs至终点vd之间符合约束的最短时序路径。优选的,所述反向搜索步骤包括:步骤301,对每一条边e=vi,vi+1,ti,fWe依次进行检查,如果这条边的出发时间和到达时间在给定的时间区间[tα,tβ]内,则执行步骤302;如果出发时间在时间区间[tα,tβ]内,到达时间不在该区间,则处理下一条边;否则,停止处理;其中,ti表示这条的出发时间;步骤302,从vd开始,对于边e=vi,vi+1,ti,fWe,令相应的运行时间为ri;如果vi+1是终点,那么更新利用中的信息更新得到里的一条信息具体为并且,其中,表示反向时序路径从vi+1点的出发时间;表示中当前最小的目标函数值;表示第j个属性的累计值,其中1≤j≤W;对更新之后,删除中对受支配元素;步骤303,如果另如果另其中,表示反向路径的最晚出发时刻;步骤304:对于每一个节点,返回反向路径的最小目标函数值取得目标函数值的路径的出发时刻和反向路径的最晚出发时刻优选的,所述步骤301之前还包括:将多属性时序图中所有时序边按照出发时间从大到小排序。优选的,所述正向扩展步骤包括:步骤501,判定当前扫描到的边e=vi,vi+1,ti,fWe的出发时刻是否在用户给定的时间区间内,如果不在,停止处理;如果出发时间在时间区间[tα,tβ]内,到达时间不在该区间,则处理下一条边;如果出发时刻和到达时刻都在给定时间范围内,则执行步骤502;步骤502,对当前求取的前半部分路径和反向过程求取的后半部分路径的属性值求聚合,包括:步骤5021,判断从vi+1到vd的时序路径的最小目标函数值是否大于1,如果表明从vi+1到vd之间不存在一条符合约束的路径;步骤5022,如果判断从vs经过e到vi+1的路径的到达时间是否小于vi+1到vd的最晚出发时刻如果说明和所有的从vi+1到vd的路径在时间上无法衔接,从vs经过e不能到达vd;步骤5023,如果把和反向过程中求取的后半部分路径的最小目标方程值进行聚合,得到聚合路径且其中1≤j≤W;如果表明从vs经过e到vd没有符合约束的路径;如果则利用中的信息去更新删除中的受支配元素;其中,中每个元素的形式为avi表示正向时序路径到vi点的到达时间;表示目标函数值;表示第j个属性的累计值;表示从起点到v的路径长度;步骤503:在中找到从vs到vd符合约束的最短路径,并从选出k个节点对。优选的,所述步骤501之前还包括:将多属性时序图中所有时序边按照出发时间从小到大到排序。与现有技术相比,本发明的有益效果如下:1本发明一种多属性时序交通网络中k个最近邻节点对的查询方法,考虑了交通网络的时序图的特征,不同于传统的静态图;2本发明一种多属性时序交通网络中k个最近邻节点对的查询方法,提出了一个由路径的多个属性值以及相应的约束值组成的目标方程,该目标方程用来判断路径上的每个属性是否满足用户给定的约束,从而判断这条路径是否可行;3本发明一种多属性时序交通网络中k个最近邻节点对的查询方法,提出对交通路网多属性时序图进行双向搜索正反向结合的算法来综合考虑约束值,以及最短路径这一目标值,从而求出两节点之间的多约束最短路径;4本发明一种多属性时序交通网络中k个最近邻节点对的查询方法,提出分治方法,来加速k个最近邻满足约束的节点对的计算,并且在计算过程中采用网格划分法来进行剪枝。上述说明仅是本发明技术方案的概述,为了能够更清楚地了解本发明的技术手段,从而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下列举本发明的具体实施方式。根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述及其他目的、优点和特征。附图说明图1为本发明实施例的映射到二维坐标系中的多属性时序路网图;图2为本发明实施例的构造了网格的多属性时序路网;图3为本发明实施例的r近邻网格示意图;图4为本发明实施例的多属性时序路网和对应公交线路图;其中图4a为多属性时序路网图,图4b为对应的公交线路图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步的详细描述。本发明一种多属性时序交通网络中k个最近邻节点对的查询方法,用于查询时序图上多约束下的k个最近邻节点对问题,整体上采用分治法来解决该问题。首先,在坐标系中,用一条平行于y轴的直线L把所有节点一分为二,分别计算L左右两侧的k个最近邻节点对,然后选出整体的k个最近邻节点对,以第k大距离r为对角线构造正方形网格即正方形边长为,且直线L在网格线上。对L左侧的任意一个网格c1,在L右侧寻找c1的r近邻网格c2,计算c1里的节点vs到c2里的节点vd的多约束时序路径。同理,计算c2里的节点vd到c1里的节点vs的多约束时序路径。节点vs到节点vd的时序路径的计算方式包括:首先从vd向vs进行反向搜索,计算出vs到vd的路径以及中间节点到vd的路径的最小目标方程值和最晚出发时刻,然后从vs开始正向扩展路径,在扩展过程中结合反向过程保留的信息进行剪枝,从而加快查询速度,最后得到从vs到vd之间满足约束的最短时序路径。最终把符合多约束的k个最近邻节点对作为结果输出。具体的,包括如下三方面:一,提出通过交通网络信息判定路径上的多个属性值是否满足用户给定的约束的目标方程,具体如下。在日常出行时,用户往往根据自己的喜好对行程所花费的时间、油耗等属性提出相应的约束,因此,有必要设计一个目标方程来判断路径上的属性聚合值是否满足约束。其次,由于交通网络很多时候是实时变化的,首先得获取不同时间段下每条道路的信息。目前,随着全球定位系统、无限通信和移动互联网技术的快速发展,路网信息可以越来越容易的获得,比如可以通过百度地图轻松地得到两点间的路径长度和行驶时间等信息。根据这些已知信息,可以判断出该路径是否满足用户的约束。所述目标方程是由路径的多个属性值以及相应的约束值组成的,该目标方程用来判断路径上的每个属性是否满足相应的约束。给定W个约束,λ1,λ2,…λW,在t时刻从起点vs到终点vt的路径的目标方程被定义为:其中,其中1≤w≤W,f1evi,vi+1,ti,fWe,…,fWevi,vk是边evi,vi+1,ti,fWe上的W个属性值,如果表明路径符合W个约束,是一条可行路径,否则,该路径不可行。使用上述δ函数,可表示交通网络中任意两节点的目标方程。在交通网络中,这W个属性可以包括车辆在两个停靠站之间的运行时间、两个停靠站之间的票价以及用户从起点到终点的换乘次数等等。如果用户想要从要坐大巴从苏州到扬州,希望在路上的运行时间不超过3个小时,票价不超过80元,换乘次数不超过1次。根据交通运输路线来看,有这样两种方案:1直接从苏州到扬州,票价78元,换乘次数为0;2从苏州坐车到镇江,票价50元,再从镇江坐车到扬州,票价30元,换乘次数为1次。本发明的目标就是利用这个方法,通过实时的路网信息判断某个时间段内该路径的属性值是否满足用户约束。二,通过交通网络信息寻找两点间满足约束的具有最短距离的路径,具体如下。由于最终目标是寻找交通路网中满足用户约束的k个最近邻兴趣点,并且通过上述目标方程,已经能够判断一条路径是否满足用户给的多个约束,因此,进一步需要在交通路网中求出两点间符合约束的并且具有最短距离的路径。基于上述提出的目标,本发明提出了一个两步算法,该算法对交通路网多属性时序图进行双向搜索,第一次搜索从终点vd到起点vs,第二次搜索从起点vs到终点vd。在该算法中,第一步的反向过程首先计算反向搜索路径BackwardTemporalPath的目标方程值,然后通过目标方程的值来判断BTPBackwardTemporalPath是否满足相应的W个约束,在这个过程中,路径的目标方程值存储在节点vi中,可以用来加速第二次正向过程的搜索。如果表明从起点vs到终点vd存在一条可行路径。然后,接下来的正向搜索过程就可以从起点vs向终点vd进行搜索,从而找到满足约束的最短路径。a反向搜索过程这个过程从终点vd向起点vs进行搜索,主要计算两个值:1中间节点vi到vd的所有时序路径的最小δ值,用δmin来表示,相应的路径的出发时间表示为以及中间节点vi到vd的所有时序路径的最晚出发时刻,用表示。因此,在每个节点vi上,存储了δmin、和在节点上存储的这些信息能够在正向搜索过程中帮助预测路径的可行性。此外,在反向搜索过程中,如果节点vi到节点vd有两条路径p1和p2,如果p1的出发时间比p2的出发时间早,并且δp1值比δp2大,那么就说p2支配p1,那么就可以把路径p1移除,因为该路径出发时间越早,先前的路径就越难以和该路径连接,当前δ值越大,最终的δ值就越有可能不满足约束。反向搜索的主要过程如下:首先把时序图中的所有时序边按照出发时间从大到小排序。在每个节点v上创建一个Lv来存储从节点v到终点vd的所有路径的相关信息,Lv中的每个元素的形式为其中dv、和分别表示反向时序路径从v点的出发时间、目标函数值和第j个属性的累计值,其中,1≤j≤W。为了方便算法的阐述,令边e=vi,vi+1,ti,fWe这里的ti指的是这条边的出发时刻的运行时间用ri来表示。所述反向搜索过程具体包括如下步骤:步骤301:对每一条边e=vi,vi+1,ti,fWe依次进行检查,如果这条边的出发时间和到达时间在给定的时间区间[tα,tβ]内,则跳到步骤302;如果出发时间在时间区间[tα,tβ]内,到达时间不在该区间,则处理下一条边在搜索之前,已经将所有边按照出发时间从大到小的顺序进行了排序,因此下一条边就是按照出发时间从大到小排序的下一条边;否则,算法终止;步骤302:从vd开始,对于边e=vi,vi+1,ti,fWe,相应的运行时间为ri。如果vi+1恰巧是终点,那么更新即将ti+ri,0,0….0加入到中,这里的就是值从终点到终点的相关信息,包括从终点出发的时刻ti+ri,终点到终点的目标函数值0,以及这个属性的累加值0,因为是从终点到终点,实际上并没有运行,所以相关属性都是0,这其实只是一种特殊情况而已;然后,基于更新选择中的元素其中且是中当前最小的目标函数值。利用该元素更新得到里的一条信息,其中并且,对更新之后,利用前面提到的剪枝删除中对受支配元素;步骤303:如果更新如果更新节点vi的δmim以及该值对应的路径的出发时刻步骤304:对于每一个节点,返回δmin,和即反向路径的最小目标函数值,以及取得该函数值的路径的出发时刻,和反向路径的最晚出发时刻。b正向扩展过程该过程首先把图中的所有时序边按照出发时间从小到大到排序,然后对这些边进行遍历来求符合约束的最短路径,在此过程中,结合反向求得的最小目标方程值和最晚出发时刻来对路径的可行性进行预测。初始化时,在每个节点v上创建一个Fv来存储起点vs到节点v的所有路径的相关信息,Fv中的每个元素的形式为其中av,分别表示正向时序路径到v点的到达时间,目标函数值,第j个属性的累计值1≤j≤W,从起点到v的路径长度。为了方便算阐述,e=vi,vi+1,ti,fwe的运行时间用ri来表示。具体包括如下步骤:步骤501:判定当前扫描到的边e=vi,vi+1,ti,fwe的出发时刻是否在用户给定的时间区间内,如果不在,则算法结束;如果出发时间在时间区间[tα,tβ]内,到达时间不在该区间,则处理下一条边;如果出发时刻和到达时刻都在给定时间范围内,那么跳到步骤502;步骤502:对当前求取的前半部分路径和反向过程求取的后半部分路径的属性值求聚合,主要过程如下:1首先判断从vi+1到vd的时序路径的最小目标函数值是否大于1,如果说明从vi+1到vd之间不存在一条符合约束的路径;2如果判断从vs经过e到vi+1的路径的到达时间是否小于vi+1到vd的最晚出发时刻如果表明和所有的从vi+1到vd的路径在时间上无法衔接,说明从vs经过e不能到达vd;3如果接下来把和反向过程中求取的后半部分路径的最小目标方程值进行聚合,得到聚合路径且其中1≤j≤W。如果表明从vs经过e到vd没有符合约束的路径;如果则可以利用中的信息去更新具体为1≤j≤W,并且,其中表示正向时序路径到达vi+1的时间;表示中当前最小的目标函数值;表示第j个属性的累计值,其中1≤j≤W;更新完之后,删除中的受支配元素;步骤503:在中找到从vs到vd符合约束的最短路径,并且返回。最终通过上述双向搜索算法,就可以得到交通网络中任意两点间满足用户约束的具有最短距离的那条路径如果存在的话。三,从整个交通网络里搜寻出满足多约束的前k个最近邻兴趣点对。通过上述一和二,已经能够得到交通网络中两点间满足用户约束的具有最短距离的路径,但是整个交通网络是非常巨大的,想要枚举出所有的点对是不现实的,因此,如何有效并且高效地解决交通网络的问题是一个值得思考并且具有现实意义的问题。为此,本发明提出了基于分治法的k最近邻点计算方法,如下。参见图1至图3所示,由于整个交通网络可以抽象为一张多属性时序图,每个节点都具有位置信息,每条边多具有属性信息,因此,可以将整个交通网络时序图映射到二维坐标系中,在所述二维坐标系中,用一条平行于y轴的直线L把把所有节点一分为二,所述一分为二指以直线L左右两侧的划分的节点个数相同或节点个数相差为1。令P1和P2分别表示L左侧和右侧的节点,在L左侧和右侧分别找出k个符合约束的具有最短路径的节点对,然后把两侧得到的结果合并,即取前k小个节点对,至此,仅考虑了单侧的情况,并未考虑两侧交叉的情况一个节点在L左侧,一个节点在L右侧的情况,所以接下来借助于构造网格来计算两侧交叉的情况,来得到整体的k个符合约束的具有最短路径的节点对。具体如下:以当前第k大距离r为对角线,构造正方形网格即正方形边长为,构造网格时保证L在网格线上如图2所示的虚线为构造的网格,L在网格线上方便计算,那么对于L左侧的每个距离L小于r的网格单元c1,这里要求c1到L的最短距离小于r是因为,如果c1到L的最短距离大于r,那么对于L右侧的任一节点,c1中的节点到它的距离必然会大于r,也就不符合要求,也就没有继续计算的必要,因此,由于网格以及r的存在,在计算两侧交叉的情况下,不需要遍历所有的网格,只需要遍历那些距离符合要求的即可,通过在右侧找到c1的r近邻网格c2如果c1到c2的最短距离不超过r,那么c2就是c1的r近邻网格,c2可能不止一个,如图3所示,c1到c2的最短距离为MinDist,如果MinDist≤r,那么c2就是c1的r近邻网格,同理,c1也是c2的r近邻网格,采用上述二中介绍的正反向搜索算法来计算c1里的任一节点vs到c2里的任一节点vd的多约束时序路径。同理,计算c2里的任一节点vd到c1里的任一节点vs的多约束时序路径。最终选出前k个符合约束的具有最短路径的节点对。从上面的描述可以看出,每计算出一个新的第k小的节点对,网格的对角线长度就会随之减小,能够过滤掉的节点就会越多,这样算法效率就会更快。相应地,参见图1至图4所示,在交通路网中,令集合P={a,c,d,k}表示酒店集合,集合Q={h,i,j}表示景点集合,边上的权重表示该路段的长度,图4表格里显示了每一个路段上的公交信息,包含该路段的起点、终点、公交的出发时刻、运行时间和费用等信息。给定时间区间[8:30AM,10:30AM],在路段上的运行时间不超过45分钟,总的预算不超过$10,需要寻找两个最近邻酒店-景点对,运用本发明可以得出两个满足时间区间和多个属性约束的最近邻酒店-景点对,其中一个酒店-景点对为c,j,距离为5km,用户在9:00AM在c点附近搭车b2,那么相应的运行时间为24mins,费用为$5,并且在9:24AM到达f点,在9:45AM在f点搭车b2去往j点,相应的运行时间为18mins,费用为$4,那么该用户能够在10:03AM到达j点,整个过程中,在路段上所花费点时间之和为42mins,费用为$9。另一个酒店-景点对为d,i,距离为9km,用户可以在9:00AM在d点附近搭乘车辆b2,那么可以在9:20AM到达e点,然后在9:30AM在e点换乘b3去往i,那么用户可以在9:55AM到达i,整体在路段上的运行时间为45mins,费用为$9。上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。

权利要求:1.一种多属性时序交通网络中k个最近邻节点对的查询方法,其特征在于,包括:将交通网络的多属性时序图映射到二维坐标系中;在所述二维坐标系中,用一条平行于y轴的直线L把所述交通网络图中的所有节点一分为二,分别计算直线L左右两侧的k个最近邻节点对,然后选出整体的k个最近邻节点对;所述一分为二指以直线L左右两侧的划分的节点个数相同或节点个数相差为1;以第k大距离r为对角线构造正方形网格,且直线L在网格线上;在直线L右侧寻找直线L左侧的任意一个网格c1的r近邻网格c2,计算网格c1中的节点vs到网格c2中的节点vd的多约束时序路径;并计算网格c2里的节点vd到c1里的节点vs的多约束时序路径;从节点vs到节点vd的多约束时序路径和节点vd到节点vs的多约束时序路径中选出符合多约束的k个最近邻节点对。2.根据权利要求1所述的多属性时序交通网络中k个最近邻节点对的查询方法,其特征在于,节点vs到节点vd的多约束时序路径的计算方法,包括:反向搜索步骤:从终点vd向起点vs进行反向搜索,计算反向搜索路径的目标方程值,然后通过目标方程的值来判断反向搜索路径是否满足相应的W个约束,路径的目标方程值存储在节点vi中;正向扩展步骤:结合反向搜索步骤中存储的信息,从起点vs向终点vd进行搜索,找到起点vs至终点vd之间符合约束的最短时序路径。3.根据权利要求2所述的多属性时序交通网络中k个最近邻节点对的查询方法,其特征在于,所述反向搜索步骤包括:步骤301,对每一条边e=vi,vi+1,ti,fWe依次进行检查,如果这条边的出发时间和到达时间在给定的时间区间[tα,tβ]内,则执行步骤302;如果出发时间在时间区间[tα,tβ]内,到达时间不在该区间,则处理下一条边;否则,停止处理;其中,ti表示这条的出发时间;步骤302,从vd开始,对于边e=vi,vi+1,ti,fWe,令相应的运行时间为ri;如果vi+1是终点,那么更新利用中的信息更新得到里的一条信息具体为并且,其中,表示反向时序路径从vi+1点的出发时间;表示中当前最小的目标函数值;表示第j个属性的累计值,其中1≤j≤W;对更新之后,删除中对受支配元素;步骤303,如果另如果另其中,表示反向路径的最晚出发时刻;步骤304:对于每一个节点,返回反向路径的最小目标函数值取得目标函数值的路径的出发时刻和反向路径的最晚出发时刻4.根据权利要求3所述的多属性时序交通网络中k个最近邻节点对的查询方法,其特征在于,所述步骤301之前还包括:将多属性时序图中所有时序边按照出发时间从大到小排序。5.根据权利要求3所述的多属性时序交通网络中k个最近邻节点对的查询方法,其特征在于,所述正向扩展步骤包括:步骤501,判定当前扫描到的边e=vi,vi+1,ti,fWe的出发时刻是否在用户给定的时间区间内,如果不在,停止处理;如果出发时间在时间区间[tα,tβ]内,到达时间不在该区间,则处理下一条边;如果出发时刻和到达时刻都在给定时间范围内,则执行步骤502;步骤502,对当前求取的前半部分路径和反向过程求取的后半部分路径的属性值求聚合,包括:步骤5021,判断从vi+1到vd的时序路径的最小目标函数值是否大于1,如果表明从vi+1到vd之间不存在一条符合约束的路径;步骤5022,如果判断从vs经过e到vi+1的路径的到达时间是否小于vi+1到vd的最晚出发时刻如果说明和所有的从vi+1到vd的路径在时间上无法衔接,从vs经过e不能到达vd;步骤5023,如果把和反向过程中求取的后半部分路径的最小目标方程值进行聚合,得到聚合路径且其中1≤j≤W;如果表明从vs经过e到vd没有符合约束的路径;如果则利用中的信息去更新删除中的受支配元素;其中,中每个元素的形式为avi表示正向时序路径到vi点的到达时间;表示目标函数值;表示第j个属性的累计值;表示从起点到v的路径长度;步骤503:在中找到从vs到vd符合约束的最短路径,并从选出k个节点对。6.根据权利要求5所述的多属性时序交通网络中k个最近邻节点对的查询方法,其特征在于,所述步骤501之前还包括:将多属性时序图中所有时序边按照出发时间从小到大到排序。

百度查询: 厦门纳网科技股份有限公司 多属性时序交通网络中k个最近邻节点对的查询方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。