CN116542411A - 一种凸剖分构造方法及系统 - Google Patents
一种凸剖分构造方法及系统 Download PDFInfo
- Publication number
- CN116542411A CN116542411A CN202310480156.3A CN202310480156A CN116542411A CN 116542411 A CN116542411 A CN 116542411A CN 202310480156 A CN202310480156 A CN 202310480156A CN 116542411 A CN116542411 A CN 116542411A
- Authority
- CN
- China
- Prior art keywords
- target point
- profile
- cavity
- points
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010276 construction Methods 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000004422 calculation algorithm Methods 0.000 claims description 47
- 238000005070 sampling Methods 0.000 claims description 7
- 238000002224 dissection Methods 0.000 abstract description 32
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004040 coloring Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000012443 analytical study Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Traffic Control Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种凸剖分构造方法及系统,旨在对剖腔进行凸剖分构造。方法包括:剖分图网络,获得剖分结果;确定剖腔任意两边界点间最短路径;在最短路径上的目标点不属于所在最短路径上的两边界点所在剖腔时,将剖腔存入其待定集,在目标点属于所在最短路径上的两边界点所在剖腔时,将其关键路径标签置为目标取值;在目标点待定集为一元待定集且关键路径标签为目标取值时,构建对应虚拟目标点,并将其置入目标点待定集中的剖腔;遍历目标点对应的关联点,并在其与虚拟目标点在同一剖腔时,将其与虚拟目标点组成出入边替换其与目标点组成的出入边;从图网络中取节点,遍历其所在剖腔中的节点;在节点相邻剖腔唯一时,将其置入相邻剖腔。
Description
技术领域
本发明涉及图网络剖分技术领域,尤其涉及一种凸剖分构造方法及系统。
背景技术
剖分可以理解为针对已知图的一种划分。例如,任意一个点A,可以看做将图网络G划分为两个集合。一个是A点本身,另一个是除A之外的所有点集。这种划分就形成了G的一个剖分结果P,对应的两个集合称为P的两个剖腔。
如果剖腔(记为Q)内的所有点具备“凸性”,那么我们称其为凸剖腔。“凸性”的定义跟G所代表的场景相关。例如,如果G代表二维平面上的点,那么“凸性”表示剖腔Q中任意两点间的连线J,对于图网络G中的A点,只要A点在连线J上,那么A点一定也在剖腔Q中。又如,如果图网络G代表路径规划中的最短路径关系,那么“凸性”表示剖腔Q中任意两点间最短路径所经过的中间点也一定在剖腔Q中。
如果剖分结果P内的所有剖腔都是凸的,那么称剖分结果P为凸剖分。在构造图网络的剖分时,我们经常希望构造凸剖分。显然,凸剖分一定存在,因为如果把G中每个点看做一个集合,那么其天然形成了一个凸剖分。但是,更多时候,如地图的着色划分问题,我们希望凸剖分的剖分结果P中的各个剖腔能够包含至少n个点,相应的剖分结果P称为n阶凸剖分,n称为P的阶。而n阶凸剖分不一定存在,因此,我们希望在构造一个凸剖分的剖分结果P,使其在一定条件下有尽可能多的高阶凸剖腔,尽可能少的低阶凸剖腔。
发明内容
有鉴于此,本发明提供一种凸剖分构造方法及系统。旨在提供一种对图网络进行凸剖分构建方式,以对剖腔进行凸剖分构造。
在本发明实施例的第一方面,提供了一种凸剖分构造方法,所述方法包括:
通过剖分构造算法对图网络进行剖分,获得剖分结果,所述剖分结果中至少包括两个剖腔;
通过第一预设算法计算各个剖腔各自的任意两边界点之间的最短路径,并将所述最短路径上除所述最短路径上的两边界点外的其他点确定为目标点;
在所述目标点不属于所在的最短路径上的两边界点所处于的剖腔的情况下,将所述剖腔的剖腔序号存入所述目标点的待定集,以及,在所述目标点属于所在的最短路径上的两边界点所处于的剖腔的情况下,将所述目标点的关键路径标签置为目标取值;
在所述目标点的待定集为一元待定集,以及所述目标点的关键路径标签为目标取值的情况下,构建所述目标点对应的虚拟目标点,并将所述虚拟目标点置入所述目标点的待定集中的剖腔序号所对应的剖腔;
遍历与所述目标点构成出边或入边的关联点,并在所述关联点所属于剖腔的剖腔序号与所述虚拟目标点所属于剖腔的剖腔序号相同的情况下,通过所述虚拟目标点与所述关联点组成出边或入边以替换所述目标点与所述关联点组成的出边或入边;
循环从所述图网络中取出节点,通过第二预设算法遍历所述节点所在的剖腔中的各个节点;
在遍历到的节点的相邻剖腔唯一的情况下,将所述遍历到的节点置入所述相邻剖腔。
可选地,所述方法还包括:
在所述目标点的待定集为一元待定集,以及所述目标点的关键路径标签为非目标取值的情况下,将所述目标点划分至所述目标点的待定集中的剖腔序号所对应的剖腔。
可选地,在所述目标点的待定集为非一元待定集的情况下,所述方法还包括:
将所述非一元待定集中的剖腔序号所对应的剖腔置空,以及,将所述非一元待定集对应的目标点所处于的剖腔置空;
将置空的各个剖腔各自所对应的剖腔序号在各个待定集中删除;
将所述非一元待定集对应的目标点确定为中心点;
根据所述中心点和第一预设剖腔半径,构建新剖腔,并返回步骤:通过第一预设算法计算各个剖腔各自的任意两边界点之间的最短路径,并将所述最短路径上除所述最短路径上的两边界点外的其他点确定为目标点。
可选地,根据所述非一元待定集对应的目标点和第一预设剖腔半径,构建新剖腔之后,所述方法还包括:
确定置空的剖腔中的剩余节点是否非空;
在置空的剖腔中的剩余节点非空的情况下,在所述剩余节点中随机采样中心点;
根据随机采样的中心点和第一预设剖腔半径,构建新剖腔,并返回步骤:通过第一预设算法计算各个剖腔各自的任意两边界点之间的最短路径,并将所述最短路径上除所述最短路径上的两边界点外的其他点确定为目标点。
可选地,所述方法还包括:
在基于第一预设剖腔半径构建的新剖腔确定的待定集中包括非一元待定集的情况下,将该非一元待定集中的剖腔序号所对应的剖腔置空,以及,将该非一元待定集对应的目标点所处于的剖腔置空;
将置空的各个剖腔各自所对应的剖腔序号在各个待定集中删除;
将该非一元待定集对应的目标点确定为中心点;
根据该中心点和第二预设剖腔半径,构建新剖腔,并返回步骤:通过第一预设算法计算各个剖腔各自的任意两边界点之间的最短路径,并将所述最短路径上除所述最短路径上的两边界点外的其他点确定为目标点;所述第二预设剖腔半径为根据预设规则确定的剖腔半径。
本发明第二方面提供一种凸剖分构造系统,所述系统包括:
剖分模块,用于通过剖分构造算法对图网络进行剖分,获得剖分结果,所述剖分结果中至少包括两个剖腔;
目标点确定模块,用于通过第一预设算法计算各个剖腔各自的任意两边界点之间的最短路径,并将所述最短路径上除所述最短路径上的两边界点外的其他点确定为目标点;
待定集和关键路径标签确定模块,用于在所述目标点不属于所在的最短路径上的两边界点所处于的剖腔的情况下,将所述剖腔的剖腔序号存入所述目标点的待定集,以及,在所述目标点属于所在的最短路径上的两边界点所处于的剖腔的情况下,将所述目标点的关键路径标签置为目标取值;
虚拟目标点构建模块,用于在所述目标点的待定集为一元待定集,以及所述目标点的关键路径标签为目标取值的情况下,构建所述目标点对应的虚拟目标点,并将所述虚拟目标点置入所述目标点的待定集中的剖腔序号所对应的剖腔;
边构建模块,用于遍历与所述目标点构成出边或入边的关联点,并在所述关联点所属于剖腔的剖腔序号与所述虚拟目标点所属于剖腔的剖腔序号相同的情况下,通过所述虚拟目标点与所述关联点组成出边或入边替换所述目标点与所述关联点组成的出边或入边;
节点遍历模块,用于循环从所述图网络中取出节点,通过第二预设算法遍历所述节点所在的剖腔中的各个节点;
剖腔构造模块,用于在遍历到的节点的相邻剖腔唯一的情况下,将所述遍历到的节点置入所述相邻剖腔。
针对在先技术,本发明具备如下优点:
本发明实施例提供的一种凸剖分构造方法,该凸剖分构造方法首先通过剖分构造算法对图网络进行剖分,获得剖分结果,该剖分结果中包括多个剖腔。通过第一预设算法计算各个剖腔各自的任意两个边界点之间的最短路径,从而对于该各个剖腔中的任意一个剖腔均可以获得多个最短路径,然后对获得的所有最短路径进行遍历,获得存在于最短路径上的所有目标点。然后对于任意一个目标点,判断该任意一个目标点是否属于自身所在的最短路径上的两个边界点所处于的剖腔。在该任意一个目标点不属于自身所在的最短路径上的两个边界点所处于的剖腔的情况下,将该剖腔的剖腔序号存储至该任意一个目标点的待定集中,以表明该任意一个目标点将不属于该剖腔;而在该任意一个目标点属于自身所在的最短路径上的两个边界点所处于的剖腔的情况下,设置该任意一个目标点的关键路径标签为目标取值,以表明该任意一个目标点将属于自身所在的最短路径上的两个边界点所处于的剖腔。在该任意一个目标点的待定集为一元待定集和该任意一个目标点的关键路径标签为目标取值的情况下,构建该任意一个目标点对应的虚拟目标点,并将该虚拟目标点划分到该任意一个目标点的待定集中的剖腔序号所对应的剖腔中。然后遍历与该任意一个目标点能够构成出边或入边的各个关联点,并在遍历到的关联点所属于的剖腔与该虚拟目标点所属于的剖腔相同的情况下,将由该遍历到的关联点与该任意一个目标点构成的出边或入边替换为由该遍历到的关联点与该虚拟目标点构成的出边或入边,由此将影响该遍历到的关联点所在的剖腔成为凸剖腔的出边或入边替换为一个不会影响该遍历到的关联点所在的剖腔成为凸剖腔的出边或入边。循环从图网络中取出节点,通过第二预设算法遍历取出的节点所在的剖腔中的各个节点;在遍历到的节点的相邻剖腔唯一的情况下,将遍历到的节点置入该相邻剖腔,从而将该遍历到的节点从原来的剖腔划分到该相邻剖腔,以避免该遍历到的节点影响该相邻剖腔形成一个凸剖腔。由此可将图网络构造为凸剖分。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种凸剖分构造方法的流程图;
图2为本发明实施例提供的一种凸剖分构造方法中的一种示意图;
图3为本发明实施例提供的一种凸剖分构造方法中的另一种示意图;
图4为本发明实施例提供的一种凸剖分构造方法的另一流程图;
图5为本发明实施例提供的一种凸剖分构造系统的示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。
在对本发明进行说明之前,先说明本发明提出的背景。剖分可以理解为针对已知图的一种划分。例如,任意一个点A,可以看做将图G划分为两个集合。一个是点A本身,另一个是除点A之外的所有点集。这种划分就形成了图G的一个剖分P,对应的两个集合称为剖分P的两个剖腔。
在剖腔(如剖腔Q)内的所有点具备“凸性”,那么我们称其为凸剖腔。“凸性”的定义与图G所代表的场景相关。例如,如果图G代表二维平面上的点,那么“凸性”表示剖腔Q内任意两点间的连线J,对于图G中的点A,只要点A在J上,那么其一定也在剖腔Q中。又如,如果图G代表路径规划中的最短路径关系,那么“凸性”表示剖腔Q内任意两点间的最短路径上的任意一个处于该最短路径上的点也一定在剖腔Q中。
如果剖分P内的所有剖腔都是凸的,那么称P为凸剖分。在构造图的剖分时,我们经常希望构造凸剖分,这是因为凸剖分中每个点都是仅与自身所在剖腔相关的一个点,而不会与其他剖腔相关联,这将更便于针对剖腔进行各种分析。显然,凸剖分一定存在,因为如果把图G中每个点看做一个集合,那么其天然形成了一个凸剖分。但是,更多时候,如地图的着色划分问题,期望剖分P的各个剖腔能够包含至少n个点,相应的P称为n阶凸剖分,n称为P的阶。而n阶凸剖分却不一定存在,因此,在进行各种分析研究中期望构造一个凸剖分P,使其在一定条件下有尽可能多的高阶凸剖腔。
有鉴于此,本发明提供一种凸剖分构造方法,旨在实现对不为凸剖分的图网络剖分结果进行凸剖分构造。
图1为本发明实施例提供的一种凸剖分构造方法的流程图,如图1所示,所述方法包括:
步骤S101:通过剖分构造算法对图网络进行剖分,获得剖分结果,所述剖分结果中至少包括两个剖腔;
步骤S102:通过第一预设算法计算各个剖腔各自的任意两边界点之间的最短路径,并将所述最短路径上除所述最短路径上的两边界点外的其他点确定为目标点;
步骤S103:在所述目标点不属于所在的最短路径上的两边界点所处于的剖腔的情况下,将所述剖腔的剖腔序号存入所述目标点的待定集,以及,在所述目标点属于所在的最短路径上的两边界点所处于的剖腔的情况下,将所述目标点的关键路径标签置为目标取值;
步骤S104:在所述目标点的待定集为一元待定集,以及所述目标点的关键路径标签为目标取值的情况下,构建所述目标点对应的虚拟目标点,并将所述虚拟目标点置入所述目标点的待定集中的剖腔序号所对应的剖腔;
步骤S105:遍历与所述目标点构成出边或入边的关联点,并在所述关联点所属于剖腔的剖腔序号与所述虚拟目标点所属于剖腔的剖腔序号相同的情况下,通过所述虚拟目标点与所述关联点组成出边或入边以替换所述目标点与所述关联点组成的出边或入边;
步骤S106:循环从所述图网络中取出节点,通过第二预设算法遍历所述节点所在的剖腔中的各个节点;
步骤S107:在遍历到的节点的相邻剖腔唯一的情况下,将所述遍历到的节点置入所述相邻剖腔。
在本发明的实施例中,步骤S101通过已有的剖分算法对图网络进行剖分,获得相应的剖分结果。在剖分结果只有一个剖腔的情况下,图网络中的所有点都属于该剖腔,因此该剖腔自然也就属于凸剖腔,此时无需对其进行凸剖分构造,而在通过已有剖分构造算法对图网络进行剖分,获得的剖分结果中至少包括两个剖腔的情况下,再进行进一步的凸剖分的构造。本发明提供的一种凸剖分构造方法的适用场景为最短路径计算场景。
在获得剖分结果,且该剖分结果包括至少两个剖腔后,步骤S102针对每个剖腔均通过第一预设算法计算各个剖腔各自的任意两边界点之间的最短路径。其中,所述第一预设算法优选为Dijsktra算法,应当理解的是Dijsktra算法只是第一预设算法的一种优选实施方式,所述第一预设算法同样可以是其他可以计算各个剖腔各自的任意两边界点之间的最短路径的算法。
示例地,为便于描述和理解,本发明在进行示例性说明时均以剖分结果包括两个剖腔为例进行说明,在剖分结果包括剖腔A1和剖腔A2的情况下,针对剖腔A1,通过第一预设算法计算剖腔A1的任意两边界点之间的最短路径。如图2所示,图中剖腔A1的边界点a11与边界点a14之间的最短路径为边界点a11与边界点a14的连线,剖腔A1的边界点a12与边界点a13之间的最短路径为边界点a12与边界点a13的连线,同时图中剖腔A1还包括大量的其他边界点无法在图2中完全示出,剖腔A1中任意两个边界点进行组合均可获得对应的一个最短路径。
针对剖腔A2,通过第一预设算法计算剖腔A2的任意两边界点之间的最短路径。如图2所示,图中剖腔A2的边界点a21与边界点a24之间的最短路径为边界点a21与边界点a24的连线,剖腔A2的边界点a22与边界点a23之间的最短路径为边界点a22与边界点a23的连线,同时图中剖腔A2还包括大量的其他边界点无法在图2中完全示出,剖腔A2中任意两个边界点进行组合均可获得对应的一个最短路径。
在本发明的实施例中,在计算到各个剖腔各自的任意两边界点之间的最短路径后,将各个最短路径上除各个最短路径的两个边界点外的其他所有点确定为目标点。
示例地,如图2所示,对于边界点a11和边界点a13连线的最短路径,处于该最短路径上的除边界点a11和边界点a13外的其他点均为该最短路径上的目标点。
在本发明的实施例中,针对图网络中的每个点均预先构建一个的待定集,该待定集初始状态下为空集,同时针对图网络中的每个点均设定一个对应的关键路径标签,该关键路径标签初始取值为0。目标点同样属于是图网络中的点,因此每个目标点具有与自身的待定集和关键路径标签。步骤S103确定各个目标点是否属于自身所在的最短路径上的两边界点所处于的剖腔。其中,目标点可以处于多个最短路径上,如目标点x3同时处于最短路径r1、r2和r3上,则在确定目标点x3是否属于自身所在的最短路径上的两边界点所处于的剖腔时,需要确定目标点x3是否属于自身所在的最短路径r1上的两边界点所处于的剖腔,确定目标点x3是否属于自身所在的最短路径r2上的两边界点所处于的剖腔,以及确定目标点x3是否属于自身所在的最短路径r3上的两边界点所处于的剖腔。其中,最短路径上的两边界点也就是最短路径上的两个端点。
在目标点不属于自身所在的最短路径上的两边界点所处于的剖腔时,将该剖腔的剖腔序号存入该目标点的待定集中,以表明该目标点的存在影响了该剖腔成为一个凸剖腔。示例地,如图2所示,剖腔A1中的边界点a11与a14之间的最短路径上有一个目标点x1,该目标点x1属于剖腔A2而不属于边界点a11和边界点a14所处于的剖腔A1,此时该目标点x1将影响剖腔A1成为一个凸剖腔,此时将剖腔A1的剖腔序号存入目标点x1的待定集中。
在目标点属于自身所在的最短路径上的两边界点所处于的剖腔时,将该目标点的关键路径标签设置为目标取值,其中目标取值优选取值为1。示例地,如图2所示,剖腔A2中的边界点a21与a24之间的最短路径上有目标点x1,该目标点x1属于剖腔A2,也就是属于边界点a21和边界点a24所处于的剖腔A2,此时将该目标点x1的关键路径标签设置为目标取值;如图2所示,剖腔A2中的边界点a22与a23之间的最短路径上包括目标点x2,该目标点x2属于剖腔A2,也就是属于边界点a22和边界点a23所处于的剖腔A2,此时将该目标点x2的关键路径标签设置为目标取值。在一个目标点取值为0而不被取值为目标取值,表明该目标点所属于的剖腔中将没有属于该剖腔的两个边界点构成的最短路径经过该目标点,由此将目标点划分到其他剖腔中将不会影响该目标点所在的剖腔成为凸剖腔。如在一个目标点x4所在的所有最短路径包括最短路径r4和最短路径r5,而该目标点x4的关键路径标签取值为0时,表明该目标点x4所在的最短路径r4的两边界点所处于的剖腔不属于该目标点x4所在的剖腔,同时该目标点x4所在的最短路径r5的两边界点所处于的剖腔也不属于该目标点x4所在的剖腔,也就是经过目标点x4的所有最短路径都不是基于目标点x4所在的剖腔的边界点所构成的,因此目标点x4的存在将不会影响自身所在的剖腔成为凸剖腔。
在本发明的实施例中,在通过步骤S103完成所有目标点各自的待定集确定和关键路径标签确定后,步骤S104确定各个目标点是否为一元待定集,以及确定各个目标点的关键路径标签是否为目标取值。其中,目标点的一元待定集表征的是该目标点的待定集中只有一个元素,也就是只有一个剖腔的剖腔序号存在于该待定集中。
在目标点的待定集为一元待定集,并且该目标点的关键路径标签为目标取值的情况下,表明该目标点所在的所有最短路径中包括该一元待定集中的剖腔序号对应的剖腔中的两个边界点所构成的最短路径,同时不包括除该目标自身所在的剖腔和该一元待定集中的剖腔以外的剖腔的两个边界点所构成的最短路径。也就是,在一个目标点x5属于剖腔A3,同时目标点x5的待定集中只包括剖腔A4对应的剖腔序号的情况下,在目标点x5的待定集为一元待定集,同时目标点x5的关键路径标签为目标取值的情况下,此时目标点x5所在的所有最短路径中至少有一个最短路径是由剖腔A4中的两边界点构成,对于目标点x5所在的所有最短路径中其他不是由剖腔A4中的两边界点构成的最短路径,一定是由目标点x5所在的剖腔A3中的两边界点构成。
此时,该目标点的存在将影响该目标点的待定集中所记录的剖腔序号对应的剖腔形成凸剖腔,此时本发明在该目标点所在的相同位置构建一个与该目标点对应的虚拟目标点,然后将该虚拟目标点划分到该目标点的待定集中的剖腔序号对应的剖腔中。示例地,继续沿用上述示例,在目标点x5所在的相同位置构建一个与目标点x5对应的虚拟目标点x5’,将该虚拟目标点划分到自身待定集中记录的剖腔A4中。
然后遍历与该目标点能够构成出边或入边的关联点,其中,能够与该目标点能够构成出边或入边的关联点表征的是与该目标点具有关联关系的其他点,因此在对该目标点进行剖腔的重新划分,以将该目标点的存在会导致无法成为凸剖腔的剖腔重新构造为凸剖腔的同时,需要对该目标点相关联的关联点也进行重新划分。对于遍历到的关联点,确定遍历到的关联点所属于的剖腔是否与该目标点对应的虚拟目标点所属于剖腔的剖腔序号相同,在该遍历到的关联点所属于的剖腔与该目标点对应的虚拟目标点所属于剖腔的剖腔序号相同的情况下,表明该遍历到的关联点实际就属于该目标点的存在所会影响成为凸剖腔的剖腔,此时该遍历到的关联点将不会影响该剖腔成为凸剖腔,此时可以直接以该遍历到的关联点与该目标点对应的虚拟目标点构成出边或入边以替换该遍历到的关联点与该目标点构成的出边或入边,并删除该遍历到的关联点与该目标点构成的出边或入边。由此将原本会影响一个剖腔成为凸剖腔的出边或入边修正为不会影响一个剖腔成为凸剖腔的出边或入边。其中,出边和入边表征的是一个有向图,在两个点相关联时,该两个点将构成一个有向图,在一个点将指向另一个点,该有向图对于该一个点而言属于出边,而对于该另一个点而言属于出边。
示例地,继续沿用上述示例,遍历与目标点x5能够构成出边或入边的关联点,在遍历到关联点y1,同时该关联点y1与目标点x5构成出边时,同时确定该遍历到的关联点y1所属于的剖腔为剖腔A4时,将遍历到的关联点y1与虚拟目标点x5’构成出边,以该出边替换遍历到的关联点y1与目标点x5构成的出边,并删除遍历到的关联点y1与目标点x5构成的出边,由此将原本会影响一个剖腔成为凸剖腔的由遍历到的关联点y1与目标点x5构成的出边修正为不会影响一个剖腔成为凸剖腔的由遍历到的关联点y1与虚拟目标点x5’构成的出边。
在遍历完所有目标点各自的所有关联点后,执行步骤S106,对会影响剖腔成为凸剖腔的目标点重新进行剖腔划分。具体地:每次从包括图网络中所有节点的节点集合中随机取出一个节点,通过第二预设算法遍历该取出的节点所在的剖腔中的各个节点。其中,所述第二预设算法优选为广度优先遍历(Breath First Search)。确定遍历到的节点所在的剖腔的相邻剖腔是否唯一,在该遍历到的节点的相邻剖腔唯一的情况下,也就是该遍历到的节点在向外扩展时所触碰到的边界点均为同一个剖腔的边界点,此时,将该遍历到的节点置入该相邻剖腔。将每次遍历到的节点从节点集合中进行删除,在节点集合中所有的节点均完成遍历后,结束凸剖腔构建。在节点集合中所有的节点均完成遍历的情况下,在相邻剖腔唯一,且该相邻剖腔相同的所有节点均被置入该相邻剖腔后,该相邻剖腔将被构造为凸剖腔。
在本发明的实施例中,如图3所示,通过本发明提供的一种凸剖分构造方法,对于由剖腔A1中的两边界点a15、a16构成的最短路径上的各个目标点,在目标点不属于剖腔A1的情况下,在该目标点的相同位置构建一个对应的虚拟目标点,而对于图网络中处于由两边界点a15、a16构成的最短路径和虚线范围内的各个节点的相邻剖腔将唯一,且为剖腔A1,此时该范围内的各个节点均将被划分到剖腔A1中,使得原本不为凸剖腔的A1被构造为凸剖腔。
本发明实施例提供的一种凸剖分构造方法,该凸剖分构造方法首先通过剖分构造算法对图网络进行剖分,获得剖分结果,该剖分结果中包括多个剖腔。通过第一预设算法计算各个剖腔各自的任意两个边界点之间的最短路径,从而对于该各个剖腔中的任意一个剖腔均可以获得多个最短路径,然后对获得的所有最短路径进行遍历,获得存在于最短路径上的所有目标点。然后对于任意一个目标点,判断该任意一个目标点是否属于自身所在的最短路径上的两个边界点所处于的剖腔。在该任意一个目标点不属于自身所在的最短路径上的两个边界点所处于的剖腔的情况下,将该剖腔的剖腔序号存储至该任意一个目标点的待定集中,以表明该任意一个目标点将不属于该剖腔;而在该任意一个目标点属于自身所在的最短路径上的两个边界点所处于的剖腔的情况下,设置该任意一个目标点的关键路径标签为目标取值,以表明该任意一个目标点将属于自身所在的最短路径上的两个边界点所处于的剖腔。在该任意一个目标点的待定集为一元待定集和该任意一个目标点的关键路径标签为目标取值的情况下,构建该任意一个目标点对应的虚拟目标点,并将该虚拟目标点划分到该任意一个目标点的待定集中的剖腔序号所对应的剖腔中。然后遍历与该任意一个目标点能够构成出边或入边的各个关联点,并在遍历到的关联点所属于的剖腔与该虚拟目标点所属于的剖腔相同的情况下,将由该遍历到的关联点与该任意一个目标点构成的出边或入边替换为由该遍历到的关联点与该虚拟目标点构成的出边或入边,由此将影响该遍历到的关联点所在的剖腔成为凸剖腔的出边或入边替换为一个不会影响该遍历到的关联点所在的剖腔成为凸剖腔的出边或入边。循环从图网络中取出节点,通过第二预设算法遍历取出的节点所在的剖腔中的各个节点;在遍历到的节点的相邻剖腔唯一的情况下,将遍历到的节点置入该相邻剖腔,从而将该遍历到的节点从原来的剖腔划分到该相邻剖腔,以避免该遍历到的节点影响该相邻剖腔形成一个凸剖腔。由此可将图网络构造为凸剖分。
在本发明中,所述方法还包括:在所述目标点的待定集为一元待定集,以及所述目标点的关键路径标签为非目标取值的情况下,将所述目标点划分至所述目标点的待定集中的剖腔序号所对应的剖腔。
在本发明的实施例中,在目标点的待定集为一元待定集,以及该目标点的关键路径标签为非目标取值的情况下,表明该目标点将处于该目标点的待定集中的唯一一个剖腔中的两个边界点构成的最短路径上,同时该目标点还不属于该剖腔,从而导致该剖腔无法形成凸剖腔,同时该目标点所在的所有最短路径都不会经过自身所属于的剖腔,因此此时将该目标点划分到其他任何剖腔,都将不会影响该目标点原本所在的剖腔成为凸剖腔,此时本发明在目标点的待定集为一元待定集,以及该目标点的关键路径标签为非目标取值的情况下,直接将该目标点划分到该目标点的待定集中所记录的剖腔中。
在本发明中,在所述目标点的待定集为非一元待定集的情况下,所述方法还包括:将所述非一元待定集中的剖腔序号所对应的剖腔置空,以及,将所述非一元待定集对应的目标点所处于的剖腔置空;将置空的各个剖腔各自所对应的剖腔序号在各个待定集中删除;将所述非一元待定集对应的目标点确定为中心点;根据所述中心点和第一预设剖腔半径,构建新剖腔,并返回步骤:通过第一预设算法计算各个剖腔各自的任意两边界点之间的最短路径,并将所述最短路径上除所述最短路径上的两边界点外的其他点确定为目标点。
在本发明的实施例中,在目标点的待定集为非一元待定集的情况下,表明该目标点将处于该目标点的待定集中的各个剖腔中的各自两边界点所构成的最短路径上,同时该目标点还不属于该各个剖腔。如目标点x6经过最短路径L1、L2、L3,而最短路径L1的两边界点属于剖腔A7,最短路径L2的两边界点属于剖腔A8,最短路径L3的两边界点属于剖腔A9,目标点属于剖腔A10。由此,该目标点的存在将导致该各个剖腔均无法形成凸剖腔,这是一种非常不合理的剖腔划分结果,本发明为了构造凸剖腔,针对这种情况,本发明对该各个剖腔重新进行更为合理的剖腔划分,并在通过划分获得更为合理的划分结果后,返回步骤S102。
具体地,在目标点的待定集为非一元待定集的情况下,对该一元待定集中的各个剖腔需要对应的剖腔置空,同时对该非一元待定集对应的目标点所在的剖腔进行置空,以针对置空的各个剖腔重新进行更为合理的剖腔划分。由于剖腔被置空,因此被置空的剖腔也将不存在,此时还需将所有目标点各自的待定集中出现过被置空的剖腔的剖腔需要进行删除。然后将该非一元待定集对应的目标点确定为中心点重新进行剖腔的划分。根据被确定为中心点的目标点和提前预设好的第一预设剖腔半径,以该中心点为中心构建剖腔,并以该第一预设剖腔半径为半径将处于该半径范围内的所有节点均划分到该新构建的剖腔中,然后返回步骤S102。
在本发明中,根据所述非一元待定集对应的目标点和第一预设剖腔半径,构建新剖腔之后,所述方法还包括:确定置空的剖腔中的剩余节点是否非空;在置空的剖腔中的剩余节点非空的情况下,在所述剩余节点中随机采样中心点;根据随机采样的中心点和第一预设剖腔半径,构建新剖腔,并返回步骤:通过第一预设算法计算各个剖腔各自的任意两边界点之间的最短路径,并将所述最短路径上除所述最短路径上的两边界点外的其他点确定为目标点。
在本发明的实施例中,由于被置空的剖腔数量可能较多,范围可能较大,以非一元待定集对应的目标点和提前预设的第一预设剖腔半径,构建新剖腔后可能无法将所有被置空的剖腔中的所有节点都划分到该新剖腔中。因此,在根据所述非一元待定集对应的目标点和第一预设剖腔半径,构建新剖腔之后,所述方法还包括:确定是否还有原本属于被置空的剖腔中而未被划分到该新剖腔中的节点,如果还有原本属于被置空的剖腔中而未被划分到该新剖腔中的节点,则在原本属于被置空的剖腔中而未被划分到该新剖腔中的节点中随机取样一个节点为中心点构建剖腔,并将该中心点的第一预设剖腔半径内的所有节点划分到该剖腔中。继续执行步骤:确定置空的剖腔中的剩余节点是否非空。如果还有原本属于被置空的剖腔中而未被划分到该新剖腔中的节点,则以相同的实施方式继续进行新剖腔的划分,直至不再具有原本属于被置空的剖腔中而未被划分到该新剖腔中的节点为止,此时返回步骤S102。
在本发明中,所述方法还包括:在基于第一预设剖腔半径构建的新剖腔确定的待定集中包括非一元待定集的情况下,将该非一元待定集中的剖腔序号所对应的剖腔置空,以及,将该非一元待定集对应的目标点所处于的剖腔置空;将置空的各个剖腔各自所对应的剖腔序号在各个待定集中删除;将该非一元待定集对应的目标点确定为中心点;根据该中心点和第二预设剖腔半径,构建新剖腔,并返回步骤:通过第一预设算法计算各个剖腔各自的任意两边界点之间的最短路径,并将所述最短路径上除所述最短路径上的两边界点外的其他点确定为目标点;所述第二预设剖腔半径为根据预设规则确定的剖腔半径。
在本发明的实施例中,在基于各个被确定为中心点的节点和第一预设剖腔半径构建多个新剖腔后,各个新剖腔将执行步骤S102和步骤S103,对于执行完步骤S102和步骤S103后的新剖腔,确定该新剖腔中的各个目标点的待定集是否为非一元待定集,如果确定目标点的待定集为非一元待定集,表明虽然重新构建了新剖腔,但仍旧有目标点的存在使得多个剖腔无法成为凸剖腔,此时仍旧存在不合理的划分结果,此时本发明针对这种目标点的待定集中的各个剖腔继续重新进行剖腔,以使得所有节点的待定集均为一元待定集为止。具体地,基于各个被确定为中心点的节点和第一预设剖腔半径构建多个新剖腔,各个新剖腔均将执行步骤S102和步骤S103,以对该各个剖腔中的目标点进行待定集的确定,在确定的待定集中包括非一元待定集的情况下,将该非一元待定集中的剖腔序号对应的剖腔进行置空,同时将该非一元待定集对应的目标点所处于的剖腔置空。由于这些置空的剖腔将不再存在,而对于这些置空的剖腔中的节点将重新进行剖腔的划分,因此在这些置空的剖腔存在于其他待定集中时,将这些置空的剖腔各自所对应的剖腔序号从其他待定集中删除。然后将该非一元待定集对应的目标点确定为中心点,然后以该中心点为中心,以第二预设剖腔半径为半径,重新构建新剖腔,返回步骤S102,以使得在更小的范围下构建新剖腔,进而使得能够构建到更为合理的剖腔划分结果。其中,所述第二预设剖腔半径为上一个预设剖腔半径的预设比例,例如在基于第一预设半径和一个中心点构建新剖腔后,在该新剖腔中还包括目标点的待定集为非一元待定集时,以该目标点为中心点并以半径为第一预设剖腔半径的一半的第二预设剖腔半径构建新剖腔,如果该基于半径为第一预设剖腔半径的一半的第二预设剖腔半径构建的新剖腔中还包括目标点的待定集为非一元待定集时,以该目标点为中心点并以半径为上述第二预设剖腔半径的一半的第二预设剖腔半径构建新剖腔。
对于通过第二预设剖腔半径构建好的新剖腔继续执行步骤S102和步骤S103,以确定构建好的新剖腔中是否还包括目标点的待定集为非一元待定集,如果还存在非一元待定集的情况,则继续减小构建新剖腔的预设剖腔半径,重新进行新剖腔的构建,如此循环,直至在基于一个预设剖腔半径构建的所有新剖腔中不存在目标点的待定集为非一元待定集为止。
在本发明的实施例中,如图4所示,针对图网络通过已有算法预先生成一个初始剖分结果P,然后为图网络中的各个节点生成初始待定集和关键路径标签,节点的初始待定集为空集,节点的初始关键路径标签取值为0。指定阈值r,用于在剖腔划分不合理时,以该指定阈值进行新剖腔的重新划分。将flag_r赋值为0,然后计算每个剖腔内剖腔自身的两边界点之间的最短路径L。对于所有的最短路径L,遍历L中的各个目标点,在遍历到的目标点不属于所在的最短路径上的两边界点所处于的剖腔的情况下,将该两边界点所处于剖腔的剖腔序号存入该目标点的待定集,以及,在遍历到的目标点属于所在的最短路径上的两边界点所处于的剖腔的情况下,将目标点的关键路径标签设置为目标取值。在完成各个目标点的待定集和关键路径标签的确定后,遍历各个待定集非空的目标点,在遍历到的目标点A容量大于1时,该遍历到的目标点A为非一元待定集,此时该目标点的存在将导致多个剖腔无法成为凸剖腔,这是一种非常不合理的划分方式,此时将flag_r赋值为1,以使得在剖腔划分不合理的情况下构建了新的剖腔后,针对该新构建的剖腔将会返回步骤:计算剖腔内两边界点之间的最短路径L,以对该新构建的剖腔中的各个目标点重新确定待定集和关键路径标签。将该遍历到的目标点A的待定集中的剖腔和该遍历到的目标点A所在的剖腔置空,并从其他待定集中剔除这些被置空的剖腔,然后以该遍历到的目标点A为中心点,构建新的剖腔,并从该中心点开始进行BFS(广度优先遍历(Breath First Search),以将半径r范围内的各个节点均划分到该新剖腔中,确定是否还存在原本属于置空的各个剖腔中的节点未被划分新剖腔。如果还存在,则从剩余的节点中随机采样新的中心点,以该新的中心点构建另一个新的剖腔,并从该新的中心点开始进行BFS(广度优先遍历(Breath First Search),以将半径r范围内的各个节点均划分到该另一个新的剖腔中,直至原本属于置空的各个剖腔中的节点均被划分至新剖腔中为止。在遍历完所有的非空待定集后,在确定flag_r取值为1时,表明有新的剖腔生成,此时对着新的剖腔中的目标点需要重新进行待定集和关键路径标签的确定,因此返回到步骤:计算剖腔内两边界点之间的最短路径。同时为防止上述基于半径r构建的新剖腔仍旧不合理,而需要继续缩小构建新剖腔的半径,以使得能够构建到合理的剖腔划分,因此将半径r赋值为r/2,应当理解的是此处对半径r的赋值同样可以是其他小于上一次r取值的一个数值,如r/3,r/4等。
而在判断flag_r取值时,确定flag_r取值为0时表明所有的非空待定集均为一元待定集,此时所有的剖腔划分均较为合理,此时可以进行凸剖腔的构建。此时遍历非空待定集的目标点,对于遍历到的目标点A,确定目标点A的关键路径标签是否为目标取值1,在目标点A的关键路径标签为目标取值时,在目标点A的相同位置构建一个虚拟目标点A’,并将虚拟目标点A’划分到目标点A待定集中的剖腔。确定与目标点A能够构成出边或入边的关联点B,确定关联点B所在的剖腔是否与虚拟目标点A’所在的剖腔相同,在关联点B所在的剖腔与虚拟目标点A’所在的剖腔相同时,则构建A’B连线,以取代AB连线,并删除AB连线。而在目标点A的关键路径标签不为目标取值时,此时直接将目标点A划分到自身待定集中的剖腔序号对应的剖腔中。在完成所有待定集非空的目标点后,构建一个包括图网络中所有节点的集合D,然后随机从集合D中选取节点,通过BFS遍历该节点所在剖腔中的各个节点,对于遍历到的节点均从集合D中剔除,确定遍历到的节点的相邻剖腔是否唯一,在节点的相邻剖腔唯一的情况下,将该节点所在的剖腔修改为该相邻剖腔,直至集合D中的所有节点均被遍历到为止。
本发明第二方面还提供一种凸剖分构造系统,如图5所示,所述系统500包括:
剖分模块501,用于通过剖分构造算法对图网络进行剖分,获得剖分结果,所述剖分结果中至少包括两个剖腔;
目标点确定模块502,用于通过第一预设算法计算各个剖腔各自的任意两边界点之间的最短路径,并将所述最短路径上除所述最短路径上的两边界点外的其他点确定为目标点;
待定集和关键路径标签确定模块503,用于在所述目标点不属于所在的最短路径上的两边界点所处于的剖腔的情况下,将所述剖腔的剖腔序号存入所述目标点的待定集,以及,在所述目标点属于所在的最短路径上的两边界点所处于的剖腔的情况下,将所述目标点的关键路径标签置为目标取值;
虚拟目标点构建模块504,用于在所述目标点的待定集为一元待定集,以及所述目标点的关键路径标签为目标取值的情况下,构建所述目标点对应的虚拟目标点,并将所述虚拟目标点置入所述目标点的待定集中的剖腔序号所对应的剖腔;
边构建模块505,用于遍历与所述目标点构成出边或入边的关联点,并在所述关联点所属于剖腔的剖腔序号与所述虚拟目标点所属于剖腔的剖腔序号相同的情况下,通过所述虚拟目标点与所述关联点组成出边或入边替换所述目标点与所述关联点组成的出边或入边;
节点遍历模块506,用于循环从所述图网络中取出节点,通过第二预设算法遍历所述节点所在的剖腔中的各个节点;
剖腔构造模块507,用于在遍历到的节点的相邻剖腔唯一的情况下,将所述遍历到的节点置入所述相邻剖腔。
可选地,所述系统还包括:
第一剖腔构造模块,用于在所述目标点的待定集为一元待定集,以及所述目标点的关键路径标签为非目标取值的情况下,将所述目标点划分至所述目标点的待定集中的剖腔序号所对应的剖腔。
可选地,所述系统还包括:
剖腔置空模块,用于将所述非一元待定集中的剖腔序号所对应的剖腔置空,以及,将所述非一元待定集对应的目标点所处于的剖腔置空;
剖腔删除模块,用于将置空的各个剖腔各自所对应的剖腔序号在各个待定集中删除;
中心点确定模块,用于将所述非一元待定集对应的目标点确定为中心点;
第二剖腔构造模块,用于根据所述中心点和第一预设剖腔半径,构建新剖腔。
可选地,所述系统还包括:
剩余节点确定模块,用于确定置空的剖腔中的剩余节点是否非空;
随机采样模块,用于在置空的剖腔中的剩余节点非空的情况下,在所述剩余节点中随机采样中心点;
第三剖腔构造模块,用于根据随机采样的中心点和第一预设剖腔半径,构建新剖腔。
可选地,所述系统还包括:
第一剖腔置空模块,用于在基于第一预设剖腔半径构建的新剖腔确定的待定集中包括非一元待定集的情况下,将该非一元待定集中的剖腔序号所对应的剖腔置空,以及,将该非一元待定集对应的目标点所处于的剖腔置空;
第一剖腔删除模块,用于将置空的各个剖腔各自所对应的剖腔序号在各个待定集中删除;
第一中心点确定模块,用于将该非一元待定集对应的目标点确定为中心点;
第四剖腔构造模块,用于根据该中心点和第二预设剖腔半径,构建新剖腔。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (6)
1.一种凸剖分构造方法,其特征在于,所述方法包括:
通过剖分构造算法对图网络进行剖分,获得剖分结果,所述剖分结果中至少包括两个剖腔;
通过第一预设算法计算各个剖腔各自的任意两边界点之间的最短路径,并将所述最短路径上除所述最短路径上的两边界点外的其他点确定为目标点;
在所述目标点不属于所在的最短路径上的两边界点所处于的剖腔的情况下,将所述剖腔的剖腔序号存入所述目标点的待定集,以及,在所述目标点属于所在的最短路径上的两边界点所处于的剖腔的情况下,将所述目标点的关键路径标签置为目标取值;
在所述目标点的待定集为一元待定集,以及所述目标点的关键路径标签为目标取值的情况下,构建所述目标点对应的虚拟目标点,并将所述虚拟目标点置入所述目标点的待定集中的剖腔序号所对应的剖腔;
遍历与所述目标点构成出边或入边的关联点,并在所述关联点所属于剖腔的剖腔序号与所述虚拟目标点所属于剖腔的剖腔序号相同的情况下,通过所述虚拟目标点与所述关联点组成出边或入边以替换所述目标点与所述关联点组成的出边或入边;
循环从所述图网络中取出节点,通过第二预设算法遍历所述节点所在的剖腔中的各个节点;
在遍历到的节点的相邻剖腔唯一的情况下,将所述遍历到的节点置入所述相邻剖腔。
2.根据权利要求1所述的凸剖分构造方法,其特征在于,所述方法还包括:
在所述目标点的待定集为一元待定集,以及所述目标点的关键路径标签为非目标取值的情况下,将所述目标点划分至所述目标点的待定集中的剖腔序号所对应的剖腔。
3.根据权利要求1所述的凸剖分构造方法,其特征在于,在所述目标点的待定集为非一元待定集的情况下,所述方法还包括:
将所述非一元待定集中的剖腔序号所对应的剖腔置空,以及,将所述非一元待定集对应的目标点所处于的剖腔置空;
将置空的各个剖腔各自所对应的剖腔序号在各个待定集中删除;
将所述非一元待定集对应的目标点确定为中心点;
根据所述中心点和第一预设剖腔半径,构建新剖腔,并返回步骤:通过第一预设算法计算各个剖腔各自的任意两边界点之间的最短路径,并将所述最短路径上除所述最短路径上的两边界点外的其他点确定为目标点。
4.根据权利要求3所述的凸剖分构造方法,其特征在于,根据所述非一元待定集对应的目标点和第一预设剖腔半径,构建新剖腔之后,所述方法还包括:
确定置空的剖腔中的剩余节点是否非空;
在置空的剖腔中的剩余节点非空的情况下,在所述剩余节点中随机采样中心点;
根据随机采样的中心点和第一预设剖腔半径,构建新剖腔,并返回步骤:通过第一预设算法计算各个剖腔各自的任意两边界点之间的最短路径,并将所述最短路径上除所述最短路径上的两边界点外的其他点确定为目标点。
5.根据权利要求4所述的凸剖分构造方法,其特征在于,所述方法还包括:
在基于第一预设剖腔半径构建的新剖腔确定的待定集中包括非一元待定集的情况下,将该非一元待定集中的剖腔序号所对应的剖腔置空,以及,将该非一元待定集对应的目标点所处于的剖腔置空;
将置空的各个剖腔各自所对应的剖腔序号在各个待定集中删除;
将该非一元待定集对应的目标点确定为中心点;
根据该中心点和第二预设剖腔半径,构建新剖腔,并返回步骤:通过第一预设算法计算各个剖腔各自的任意两边界点之间的最短路径,并将所述最短路径上除所述最短路径上的两边界点外的其他点确定为目标点;所述第二预设剖腔半径为根据预设规则确定的剖腔半径。
6.一种凸剖分构造系统,其特征在于,所述系统包括:
剖分模块,用于通过剖分构造算法对图网络进行剖分,获得剖分结果,所述剖分结果中至少包括两个剖腔;
目标点确定模块,用于通过第一预设算法计算各个剖腔各自的任意两边界点之间的最短路径,并将所述最短路径上除所述最短路径上的两边界点外的其他点确定为目标点;
待定集和关键路径标签确定模块,用于在所述目标点不属于所在的最短路径上的两边界点所处于的剖腔的情况下,将所述剖腔的剖腔序号存入所述目标点的待定集,以及,在所述目标点属于所在的最短路径上的两边界点所处于的剖腔的情况下,将所述目标点的关键路径标签置为目标取值;
虚拟目标点构建模块,用于在所述目标点的待定集为一元待定集,以及所述目标点的关键路径标签为目标取值的情况下,构建所述目标点对应的虚拟目标点,并将所述虚拟目标点置入所述目标点的待定集中的剖腔序号所对应的剖腔;
边构建模块,用于遍历与所述目标点构成出边或入边的关联点,并在所述关联点所属于剖腔的剖腔序号与所述虚拟目标点所属于剖腔的剖腔序号相同的情况下,通过所述虚拟目标点与所述关联点组成出边或入边替换所述目标点与所述关联点组成的出边或入边;
节点遍历模块,用于循环从所述图网络中取出节点,通过第二预设算法遍历所述节点所在的剖腔中的各个节点;
剖腔构造模块,用于在遍历到的节点的相邻剖腔唯一的情况下,将所述遍历到的节点置入所述相邻剖腔。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310480156.3A CN116542411A (zh) | 2023-04-28 | 2023-04-28 | 一种凸剖分构造方法及系统 |
CN202410492661.4A CN118195095A (zh) | 2023-04-28 | 2024-04-23 | 一种基于凸剖腔构造的交通分析预测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310480156.3A CN116542411A (zh) | 2023-04-28 | 2023-04-28 | 一种凸剖分构造方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116542411A true CN116542411A (zh) | 2023-08-04 |
Family
ID=87446358
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310480156.3A Pending CN116542411A (zh) | 2023-04-28 | 2023-04-28 | 一种凸剖分构造方法及系统 |
CN202410492661.4A Pending CN118195095A (zh) | 2023-04-28 | 2024-04-23 | 一种基于凸剖腔构造的交通分析预测方法及系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410492661.4A Pending CN118195095A (zh) | 2023-04-28 | 2024-04-23 | 一种基于凸剖腔构造的交通分析预测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN116542411A (zh) |
-
2023
- 2023-04-28 CN CN202310480156.3A patent/CN116542411A/zh active Pending
-
2024
- 2024-04-23 CN CN202410492661.4A patent/CN118195095A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN118195095A (zh) | 2024-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5664179A (en) | Modified skip list database structure and method for access | |
US8250107B2 (en) | Techniques for graph data structure management | |
JP2002229825A (ja) | コンピュータメモリ | |
JP6243045B2 (ja) | グラフデータクエリ方法および装置 | |
US7194456B2 (en) | Method of querying a structure of compressed data | |
US8738559B2 (en) | Graph partitioning with natural cuts | |
CN108694158A (zh) | 用于检查bim模型文件是否变化的方法 | |
CN108920105B (zh) | 基于社区结构的图数据分布式存储方法及装置 | |
CN110807028B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
CN111159577A (zh) | 一种社群划分方法、装置、存储介质及电子装置 | |
CN110837647A (zh) | 管理访问控制列表的方法及装置 | |
CN116542411A (zh) | 一种凸剖分构造方法及系统 | |
CN110765073B (zh) | 分布式存储系统的文件管理方法、介质、设备及装置 | |
CN108304384A (zh) | 拆词方法及设备 | |
KR101719714B1 (ko) | 동적 환경 소셜 네트워크 그래프에서 다중 제약 조건 그래프 패턴 매칭을 위한 효율적인 인덱스 갱신 방법 및 장치 | |
CN106034266B (zh) | 光路由的生成方法及装置 | |
Munro et al. | Dynamic planar point location in external memory | |
Brand et al. | Scenario reduction algorithm and creation of multi-stage scenario trees | |
EP2033430B1 (en) | Methods, systems, and computer program products for performing range-based directory number (dn) screening | |
CN108984780B (zh) | 基于支持重复键值树数据结构管理磁盘数据的方法和装置 | |
CN110516122B (zh) | 嵌套型数据的合并方法、装置及电子设备 | |
CN113656127A (zh) | 页面路由方法、装置、存储介质及处理器 | |
CN107688567B (zh) | 一种索引存储方法及相关装置 | |
CN117370619B (zh) | 图的分片存储和子图采样方法及装置 | |
CN107368512B (zh) | 信息对象的查询和序列确定方法、装置及设备、可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20230804 |