CN104598927A - 一种大规模图分割方法及*** - Google Patents
一种大规模图分割方法及*** Download PDFInfo
- Publication number
- CN104598927A CN104598927A CN201510047749.6A CN201510047749A CN104598927A CN 104598927 A CN104598927 A CN 104598927A CN 201510047749 A CN201510047749 A CN 201510047749A CN 104598927 A CN104598927 A CN 104598927A
- Authority
- CN
- China
- Prior art keywords
- node
- limit
- large scale
- shortest path
- scale graphs
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于网络技术领域,提供了一种大规模图分割方法及***,所述方法包括:输入大规模图;计算所述大规模图中各节点之间的最短路径,并对各节点之间的边设置标记值;对所述最短路径进行随机抽样;基于随机抽样的最短路径对所述大规模图进行分割,若分割后存在节点之间的边的标记值大于预设参数值,则删除该边。通过本发明,可有效提高大规模图的分割效率。
Description
技术领域
本发明属于网络技术领域,尤其涉及一种大规模图分割方法及***。
背景技术
图分割是指将图的节点分成用户指定数量的独立群组,用于优化与切分边相关的标准。
图分割的方法主要集中于寻找复杂网络中全局的社区结构,传统算法的一个重要前提是需要知道整个图的拓扑结构。但是,当图的大小增长到大规模级别时,新的问题出现了,例如:(1)复杂网络已经变成巨网络,基于传统的复杂网络分析方法难以满足需求;(2)图的规模逐渐变大,将全部路径计算一遍不现实;(3)大规模图中节点数目众多、变化频繁,判断一条边是否处于足够多条最短路径十分耗费资源。
发明内容
鉴于此,本发明实施例提供一种大规模图分割方法及***,以解决现有技术存在的上述问题。
本发明实施例是这样实现的,一种大规模图分割方法,所述方法包括:
输入大规模图;
计算所述大规模图中各节点之间的最短路径,并对各节点之间的边设置标记值;
对所述最短路径进行随机抽样;
基于随机抽样的最短路径对所述大规模图进行分割,若分割后存在节点之间的边的标记值大于预设参数值,则删除该边。
本发明实施例的另一目的在于提供一种大规模图分割***,所述***包括:
大规模图输入单元,用于输入大规模图;
计算单元,用于计算所述大规模图中各节点之间的最短路径,并对各节点之间的边设置标记值;
随机抽样单元,用于对所述最短路径进行随机抽样;
处理单元,用于基于随机抽样的最短路径对所述大规模图进行分割,若分割后存在节点之间的边的标记值大于预设参数值,则删除该边。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例通过计算节点之间的最短路径,并随机抽样最短路径,基于随机抽样的最短路径对大规模图进行分割,可有效解决现有大规模图中节点数目众多、变化频繁,判断一条边是否处于足够多条最短路径十分耗费资源的问题。通过本发明实施例可有效提高大规模图分割的效率,具有较强的易用性和实用性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的大规模图分割方法的实现流程图;
图2是本发明实施例二提供的大规模图分割***的组成结构图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透切理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明实施例一提供的大规模图分割方法的实现流程,该方法过程详述如下:
在步骤S101中,输入大规模图。
在本发明实施例中,所述大规模图是指节点数目众多、变化频繁的图,例如节点数目超过5000,每隔一分钟节点数目就会发生变化的图。
在步骤S102中,计算所述大规模图中各节点之间的最短路径,并对各节点之间的边设置标记值。
其中,所述计算两节点之间的最短路径具体为:
设D_{i,j,k}为从节点i到节点j的只以(1,…,K)集合中的节点为中间节点的最短路径的长度;
若最短路径经过节点k,则D_{i,j,k}=D_{i,k,k-1}+D_{k,j,k-1};
若最短路径不经过节点k,则D_{i,j,k}=D_{i,j,k-1};
因此,D_{i,j,k}=\mbox{min}(D_{i,j,k-1},D_{i,k,k-1}+D_{k,j,k-1})。其中,i、j、k为大于零的整数。
在实际应用中,为了节约空间,可以直接在原有空间上进行迭代,这样空间可降至二维。将计算出来的最短路径上的边标记值加1,如果有边同时处于多条由节点i到节点j的最短路径,则该边的标记值只增加1次。
在步骤S103中,对所述最短路径进行随机抽样。
在本发明实施例中,由于所述大规模图节点较多,为了提高图的分割效率,采用随机抽样的方法,选择其中的部分关键最短路径进行图分割。
需要说明的是,本实施例采用随机抽样的益处还包括:1.不确定性:不像枚举通常是按照一定顺序枚举,难以避免在一个大范围之内各个决策都差不多但是必须全部都枚举的情况;2.灵活性:可以很方便的控制运行次数。尤其是“被迫”枚举的情况下,多次随机效果会更好。
在步骤S104中,基于随机抽样的最短路径对所述大规模图进行分割,若分割后存在节点之间的边的标记值大于预设参数值,则删除该边。
具体的可以是,
步骤1:设置m-OVER算法的参数值m,所述m为大于零的整数;
步骤2:为每条边设置一个整数标记值,并将各边的标记值初始化为零;
步骤3:从所述大规模图中随机选择两节点,并将所述两节点间的所有最短路径上的边的标记值加1;需要说明的是,如果有边同时处于多条由节点i到节点j的最短路径,则该边的标记值只增加1次。
步骤4:如果存在某条边的标记值大于m,则删除该边;
步骤5:判断该边删除后,所述大规模图是否连通,若连通,则返回步骤3;若删除该边后存在多个独立子图,则对于大于预设规模(即较大规模)的独立子图,递归执行步骤1、2、3、4和5(即m-OVER算法);对于小于或等于预设规模(即较小规模)的独立子图,将该独立子图上的节点作为所述大规模图分割后的一个子集,并输出该子集。
本发明实施例采用随机路径搜索策略,设计基于Floyd算法的大规模图的最短路径距离的计算,实现m-OVER分割算法思想,用以达到快速分割大规模图的目的。
实施例二:
图2示出了本发明实施例二提供的大规模图分割***的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该大规模图分割***可以是内置于终端设备(如个人计算机、笔记本电脑、平板电脑、智能手机等)中的软件单元、硬件单元或者软硬件相结合的单元,或者作为独立的挂件集成到终端设备或者终端设备的应用***中。
该大规模图分割***包括:
大规模图输入单元21,用于输入大规模图;
计算单元22,用于计算所述大规模图中各节点之间的最短路径,并对各节点之间的边设置标记值;
随机抽样单元23,用于对所述最短路径进行随机抽样;
处理单元24,用于基于随机抽样的最短路径对所述大规模图进行分割,若分割后存在节点之间的边的标记值大于预设参数值,则删除该边。
进一步的,所述处理单元24包括:
设置模块241,用于设置参数值m,所述m为大于零的整数;
初始化模块242,用于将各边的标记值初始化为零;
第一处理模块243,用于从所述大规模图中随机选择两节点,并将所述两节点间的所有最短路径上的边的标记值加1;
第二处理模块244,用于如果存在某条边的标记值大于m,则删除该边;
第三处理模块245,用于判断该边删除后,所述大规模图是否连通,若连通,则返回第一处理模块继续执行;若删除该边后存在多个独立子图,则对于大于预设规模的独立子图,递归执行设置模块、初始化模块、第一处理模块、第二处理模块以及第三处理模块;对于小于或等于预设规模的独立子图,将该独立子图上的节点作为所述大规模图分割后的一个子集。
进一步的,所述计算单元22具体用于:
设D_{i,j,k}为从节点i到节点j的只以(1,…,K)集合中的节点为中间节点的最短路径的长度;
若最短路径经过节点k,则D_{i,j,k}=D_{i,k,k-1}+D_{k,j,k-1};
若最短路径不经过节点k,则D_{i,j,k}=D_{i,j,k-1};
其中,i、j、k为大于零的整数。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述***的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元、模块既可以采用硬件的形式实现,也可以采用软件功能单元、模块的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
综上所述,本发明实施例通过计算节点之间的最短路径,并随机抽样最短路径,基于随机抽样的最短路径对大规模图进行分割,可有效解决现有大规模图中节点数目众多、变化频繁,判断一条边是否处于足够多条最短路径十分耗费资源的问题。通过本发明实施例可有效提高大规模图分割的效率。而且,本发明实施例在实现上述过程中,不需要增加额外的硬件,可有效降低成本,具有较强的易用性和实用性。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的***和方法,可以通过其它的方式实现。例如,以上所描述的***实施例仅仅是示意性的,例如,所述单元、模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元、模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。
Claims (6)
1.一种大规模图分割方法,其特征在于,所述方法包括:
输入大规模图;
计算所述大规模图中各节点之间的最短路径,并对各节点之间的边设置标记值;
对所述最短路径进行随机抽样;
基于随机抽样的最短路径对所述大规模图进行分割,若分割后存在节点之间的边的标记值大于预设参数值,则删除该边。
2.如权利要求1所述的方法,其特征在于,所述基于随机抽样的最短路径对所述大规模图进行分割,若分割后存在节点之间的边的标记值大于预设参数值,则删除该边包括:
步骤1:设置参数值m,所述m为大于零的整数;
步骤2:将各边的标记值初始化为零;
步骤3:从所述大规模图中随机选择两节点,并将所述两节点间的所有最短路径上的边的标记值加1;
步骤4:如果存在某条边的标记值大于m,则删除该边;
步骤5:判断该边删除后,所述大规模图是否连通,若连通,则返回步骤3;若删除该边后存在多个独立子图,则对于大于预设规模的独立子图,递归执行步骤1、2、3、4和5;对于小于或等于预设规模的独立子图,将该独立子图上的节点作为所述大规模图分割后的一个子集,并输出该子集。
3.如权利要求1所述的方法,其特征在于,所述计算两节点之间的最短路径具体为:
设D_{i,j,k}为从节点i到节点j的只以(1,…,K)集合中的节点为中间节点的最短路径的长度;
若最短路径经过节点k,则D_{i,j,k}=D_{i,k,k-1}+D_{k,j,k-1};
若最短路径不经过节点k,则D_{i,j,k}=D_{i,j,k-1};
其中,i、j、k为大于零的整数。
4.一种大规模图分割***,其特征在于,所述***包括:
大规模图输入单元,用于输入大规模图;
计算单元,用于计算所述大规模图中各节点之间的最短路径,并对各节点之间的边设置标记值;
随机抽样单元,用于对所述最短路径进行随机抽样;
处理单元,用于基于随机抽样的最短路径对所述大规模图进行分割,若分割后存在节点之间的边的标记值大于预设参数值,则删除该边。
5.如权利要求4所述的***,其特征在于,所述处理单元包括:
设置模块,用于设置参数值m,所述m为大于零的整数;
初始化模块,用于将各边的标记值初始化为零;
第一处理模块,用于从所述大规模图中随机选择两节点,并将所述两节点间的所有最短路径上的边的标记值加1;
第二处理模块,用于如果存在某条边的标记值大于m,则删除该边;
第三处理模块,用于判断该边删除后,所述大规模图是否连通,若连通,则返回第一处理模块继续执行;若删除该边后存在多个独立子图,则对于大于预设规模的独立子图,递归执行设置模块、初始化模块、第一处理模块、第二处理模块以及第三处理模块;对于小于或等于预设规模的独立子图,将该独立子图上的节点作为所述大规模图分割后的一个子集。
6.如权利要求4所述的***,其特征在于,所述计算单元具体用于:
设D_{i,j,k}为从节点i到节点j的只以(1,…,K)集合中的节点为中间节点的最短路径的长度;
若最短路径经过节点k,则D_{i,j,k}=D_{i,k,k-1}+D_{k,j,k-1};
若最短路径不经过节点k,则D_{i,j,k}=D_{i,j,k-1};
其中,i、j、k为大于零的整数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510047749.6A CN104598927A (zh) | 2015-01-29 | 2015-01-29 | 一种大规模图分割方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510047749.6A CN104598927A (zh) | 2015-01-29 | 2015-01-29 | 一种大规模图分割方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104598927A true CN104598927A (zh) | 2015-05-06 |
Family
ID=53124699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510047749.6A Pending CN104598927A (zh) | 2015-01-29 | 2015-01-29 | 一种大规模图分割方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104598927A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109765839A (zh) * | 2019-02-15 | 2019-05-17 | 中国科学院上海光学精密机械研究所 | 任意边界光学元件单行不相交随机加工路径规划方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101383748A (zh) * | 2008-10-24 | 2009-03-11 | 北京航空航天大学 | 一种复杂网络中的社区划分方法 |
CN102073700A (zh) * | 2010-12-30 | 2011-05-25 | 浙江大学 | 一种复杂网络社团的发现方法 |
CN102571431A (zh) * | 2011-12-02 | 2012-07-11 | 北京航空航天大学 | 针对复杂网络的基于群思想改进的Fast-Newman聚类方法 |
CN102982180A (zh) * | 2012-12-18 | 2013-03-20 | 华为技术有限公司 | 数据存储方法及设备 |
US20130103368A1 (en) * | 2011-10-25 | 2013-04-25 | John Lyn Farmer | Automated Experimental Design For Polymerase Chain Reaction |
US8497877B2 (en) * | 2010-01-26 | 2013-07-30 | Hon Hai Precision Industry Co., Ltd. | Electronic device and method of switching display images |
CN103699606A (zh) * | 2013-12-16 | 2014-04-02 | 华中科技大学 | 一种基于顶点切割与社区聚集的大规模图划分方法 |
CN103763096A (zh) * | 2014-01-17 | 2014-04-30 | 北京邮电大学 | 随机密钥分配方法和装置 |
-
2015
- 2015-01-29 CN CN201510047749.6A patent/CN104598927A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101383748A (zh) * | 2008-10-24 | 2009-03-11 | 北京航空航天大学 | 一种复杂网络中的社区划分方法 |
US8497877B2 (en) * | 2010-01-26 | 2013-07-30 | Hon Hai Precision Industry Co., Ltd. | Electronic device and method of switching display images |
CN102073700A (zh) * | 2010-12-30 | 2011-05-25 | 浙江大学 | 一种复杂网络社团的发现方法 |
US20130103368A1 (en) * | 2011-10-25 | 2013-04-25 | John Lyn Farmer | Automated Experimental Design For Polymerase Chain Reaction |
CN102571431A (zh) * | 2011-12-02 | 2012-07-11 | 北京航空航天大学 | 针对复杂网络的基于群思想改进的Fast-Newman聚类方法 |
CN102982180A (zh) * | 2012-12-18 | 2013-03-20 | 华为技术有限公司 | 数据存储方法及设备 |
CN103699606A (zh) * | 2013-12-16 | 2014-04-02 | 华中科技大学 | 一种基于顶点切割与社区聚集的大规模图划分方法 |
CN103763096A (zh) * | 2014-01-17 | 2014-04-30 | 北京邮电大学 | 随机密钥分配方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109765839A (zh) * | 2019-02-15 | 2019-05-17 | 中国科学院上海光学精密机械研究所 | 任意边界光学元件单行不相交随机加工路径规划方法 |
CN109765839B (zh) * | 2019-02-15 | 2021-09-07 | 中国科学院上海光学精密机械研究所 | 任意边界光学元件单行不相交随机加工路径规划方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102810113B (zh) | 一种针对复杂网络的混合型聚类方法 | |
CN102799625B (zh) | 一种挖掘社交网络中话题核心圈的方法及*** | |
CN104995870A (zh) | 多目标服务器布局确定 | |
CN105335438A (zh) | 一种基于局部最短回路的社会网络群体划分方法 | |
CN105893382A (zh) | 一种基于先验知识的微博用户群体划分方法 | |
CN102915423B (zh) | 一种基于粗糙集和基因表达式的电力业务数据过滤***及方法 | |
CN104850500A (zh) | 用于数据存储的数据处理方法和装置 | |
CN105205636A (zh) | 一种计算物料需求计划mrp的方法及装置 | |
CN111723298A (zh) | 基于改进标签传播的社交网络社团发现方法、装置及介质 | |
Dengiz et al. | Design of reliable communication networks: A hybrid ant colony optimization algorithm | |
CN102375905B (zh) | 一种针对改进逻辑单元的集成电路的工艺映射方法 | |
CN105069290A (zh) | 一种面向寄递数据的并行化关键节点发现方法 | |
Louhichi et al. | Unsupervised varied density based clustering algorithm using spline | |
CN101894123A (zh) | 基于子图的链接相似度的快速近似计算***和方法 | |
CN102685222B (zh) | 一种用于电力***的云存储资源管理装置 | |
CN103902547A (zh) | 一种基于mdl的增量式动态社区快速发现方法及*** | |
CN104598927A (zh) | 一种大规模图分割方法及*** | |
CN104573730A (zh) | 一种基于决定路径权重的不确定图分割方法及*** | |
CN111651638A (zh) | 一种基于团簇属性和平衡理论在符号网络中挖掘内聚子图的方法 | |
CN115225515B (zh) | 一种网络抗毁性分析方法及相关设备 | |
CN105243238A (zh) | 一种一体化快速产品迭代成形装置及其方法 | |
CN105159922A (zh) | 基于标签传播算法面向寄递数据的并行化社团发现方法 | |
CN104199824A (zh) | 一种树型数据上判定节点关系的方法 | |
CN113347268B (zh) | 基于分布式网络组网方法、装置、存储介质及计算机设备 | |
CN104932982A (zh) | 一种消息访存的编译方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150506 |