CN106157154A - 用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法 - Google Patents
用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法 Download PDFInfo
- Publication number
- CN106157154A CN106157154A CN201610580477.0A CN201610580477A CN106157154A CN 106157154 A CN106157154 A CN 106157154A CN 201610580477 A CN201610580477 A CN 201610580477A CN 106157154 A CN106157154 A CN 106157154A
- Authority
- CN
- China
- Prior art keywords
- vespertilio
- algorithm
- community
- node
- network
- 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.)
- Granted
Links
- 241000608575 Vespertilio Species 0.000 title claims abstract description 147
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 41
- 230000035772 mutation Effects 0.000 claims abstract description 26
- 230000005540 biological transmission Effects 0.000 claims abstract description 5
- 230000006870 function Effects 0.000 claims description 45
- 210000000349 chromosome Anatomy 0.000 claims description 15
- 230000002068 genetic effect Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 5
- 239000002245 particle Substances 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 230000004927 fusion Effects 0.000 claims description 3
- 230000001737 promoting effect Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims 1
- 230000008901 benefit Effects 0.000 abstract description 5
- 241001481833 Coryphaena hippurus Species 0.000 description 10
- 235000005156 Brassica carinata Nutrition 0.000 description 9
- 244000257790 Brassica carinata Species 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 108090000623 proteins and genes Proteins 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000012800 visualization Methods 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005295 random walk Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 241001627955 Tetraodon lineatus Species 0.000 description 1
- 210000001367 artery Anatomy 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007340 echolocation Effects 0.000 description 1
- 230000010429 evolutionary process Effects 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 235000001968 nicotinic acid Nutrition 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 210000003462 vein Anatomy 0.000 description 1
- 238000013316 zoning Methods 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Economics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Genetics & Genomics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Physiology (AREA)
- Computational Linguistics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,包括如下步骤:S1,获取海量数据,构建网络结构模型,将蝙蝠算法以模块度函数作为适应度函数,采用基于字符的编码方式,利用标签传播方法改进初始化种群;S2,将蝙蝠算法个体的速度转化为变异概率值,使用交叉算子和变异算子计算位置更新,从而实现普通蝙蝠算法的自适应进化,将自适应进化蝙蝠算法,对网络进行划分,得到更加准确的网络社区划分结果。与用于社区发现的其他智能算法相比,该算法具有收敛速度快、求解精度高的优势,更适合大规模网络下的社区发现。
Description
技术领域
本发明涉及大数据挖掘领域,尤其涉及一种用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法。
背景技术
复杂系统可以建模成复杂网络进行分析,社区可以视为系统中具有某些特定属性或功能的子系统。很多复杂网络都存在社区结构,研究复杂网络的社区结构有着重要的理论意义。首先,通过社区结构,可挖掘节点群体的共同特征和属性,有助于分析整体与部分的关系;再者,在基于现有网络信息的基础上可预测相似节点的功能,节点之间潜在的连接可能性;最后,可以探索社区结构对网络传播、同步、稳定性等动力学特性的影响,且根据社区划分出的网络结构更清晰,可视化效果更直观。
社区发现的目的是挖掘网络中的社区结构,社区发现的研究思路层出不穷,算法原理和性能指标各有差异,从算法求解策略的角度出发,社区发现的算法大体分为基于图分割的算法,聚类算法,基于网络动力学特性的算法和基于目标函数的优化算法等。其中,基于模块度函数(Modularity)的优化算法是目前较为普遍的算法之一。模块度函数(常用Q表示)是Newman与Girvan提出的定量评价社区结构优劣的度量指标,从而将复杂网络的社区发现问题转化为模块度函数的优化问题,Q值越大,网络的社区结构越明显。模块度函数的优化是一个NP-complete问题,相比于传统优化算法,智能优化算法对目标函数的要求更为宽松,可以在有限的时间内找到较好的解,因此研究者们更倾向于利用智能优化算法解决社区发现问题。现有技术使用基于二进制矩阵编码的遗传算法,虽然这种编码便于进行交叉操作,但是编解码复杂,算法时间复杂度为O(n3),且需要进行编码修正;在离散差分进化算法中加入免疫克隆算子,提高了算法的局部开发能力,增加了算法的鲁棒性;现有技术提出一种离散粒子群算法,对速度更新重新定义并应用在符号网络的社区发现。模块度函数存在分辨率受限的问题,即在大规模网络中存在较小社区的情况下这类方法的效果不佳。还有使用surprise函数作为社区评价指标,并提出一种基于贪婪思想的局部优化surprise函数的社区发现算法。虽然surprise函数一定程度上可以解决分辨率受限问题,然而引入随机网络模型和概率论等理论知识,不易理解,因此本发明仍然采用模块度函数Q作为社区评价的标准。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种
为了实现本发明的上述目的,本发明提供了一种用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,包括如下步骤:
S1,获取海量数据,构建网络结构模型,将蝙蝠算法以模块度函数作为适应度函数,采用基于字符的编码方式,利用标签传播方法改进初始化种群;
S2,将蝙蝠算法个体的速度转化为变异概率值,使用交叉算子和变异算子计算位置更新,从而实现普通蝙蝠算法的自适应进化,将自适应进化蝙蝠算法,对网络进行划分,得到更加准确的网络社区划分结果。
所述的用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发 现方法,优选的,所述S1包括:
S1-1,采用模块度函数Q作为适应度函数;
S1-2,采用基于字符的编码方式,
所述的用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,优选的,所述S2包括:
S2-1,丢弃脉冲频率fi,将普通蝙蝠算法的速度转化为遗传算法中变异概率,实现了普通蝙蝠算法和遗传算法的融合;
S2-2,交叉算子用于提升探索能力,变异算子用于局部开发,通过交叉变异运算更新蝙蝠的位置。
所述的用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,优选的,所述S2-1中速度转化包括:
蝙蝠速度由当前位置和最优蝙蝠的位置决定,如式(8):
操作符表示异或,因此是二进制变量,只能取0或1,其中n为维度下标;假设蝙蝠处于两种极端情况:当蝙蝠完全搜索不到目标时,则 此时蝙蝠搜索位置需要全维更新;蝙蝠已经在目标位置,则 此时不需要更新;蝙蝠算法的寻优过程就是速度和位置不断变化的过程,速度代表了蝙蝠当前位置是否处于最优位置的概率,随着算法逐步趋于收敛,需要更新的速度越来越少,然后利用速度和迭代次数的关系构造函数表示蝙蝠当前位置处于最佳位置的概率
式中:t表示当前迭代次数,Mg表示最大迭代次数;由上式可知,在算法初期需要更新的位置较多,迭代次数t较小,而很大,因此比较小,说明蝙蝠位置距离最佳位置较远,而蝙蝠算法后期则恰恰相反,t变大, 减小,导致很大,说明蝙蝠越来越接近目标位置。
所述的用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,优选的,所述S2-2中交叉算子包括:
引入遗传算子,随机选择两个染色体,分别作为交叉的源染色体和目标染色体;然后随机从源染色体选择一个节点,获取其所在社区成员C和社区标号l,接着在目标染色体中寻找C中的成员,并将其社区标号改为l。
所述的用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,优选的,所述S2-2中变异算子包括:
S2-2-1,待变异的蝙蝠位置为依次对维度d更新,如果随机数小于变异概率pm,则进入步骤S2-2-2;
S2-2-2,计算变异节点vd的局部函数Fd(Xt),寻找其邻居节点标签集合Ld,d∈{1,2,…n};
S2-2-3,对于将标签j赋值给Xd,计算对应局部函数Fd(Xt);
S2-2-4,选择对局部函数贡献度大的标签作为第d维的标签值。
所述的用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,优选的,所述S2-2-4包括:
重复执行d=d+1,
式中:Cj表示同属一个社区j的节点集合,Ld={l1,l2,…lk}是节点vd的邻居节点的社区标签集;局部函数Fd(Xt),其中,
表示粒子位置第d维分量用j代替后求解Fd(Xt),其中,
表示依次将节点d的标签依次更换为其邻居节点的标签,并求解对应Fd(Xt),取使Fd(Xt)最大的标签作为
所述的用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,优选的,所述S2还包括随机扰动步骤:
假设选择节点1为扰动点,其社区标签为4;寻找节点1的所有邻居节点2、4、5、7;设置比例因子ε=0.5,依次遍历所有节点,如果随机数rand大于ε,则对节点进行扰动操作。
所述的用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,优选的,所述S2还包括时间复杂度分析步骤:
设网络数据G=(V,E)的节点数为n,对应于蝙蝠算法搜索空间维度,则计算模块度函数的时间复杂度为O(n2),初始化阶段采用标签传播策略,其时间复杂度为其中表示网络的平均度,蝙蝠算法迭代一次需要进行NP次交叉变异操作和一次寻找最佳蝙蝠位置操作,时间复杂度为:
式中:β是平均变异概率,Cavg为平均社区大小;故AEBA时间复杂度为:
综上所述,由于采用了上述技术方案,本发明的有益效果是:
针对现有智能优化算法解决复杂网络社区发现问题存在求解适应度函数精度低,算法收敛速度慢等不足,在基本蝙蝠算法框架下,结合遗传算法的思想,提出一种自适应进化蝙蝠算法。首先,算法以模块度函数作为适应度函数,采用基于字符的编码方式,利用标签传播方法初始化种群;再者,将蝙蝠个体的速度转化为变异概率,使用交叉变异算子更新位置,从而实现蝙蝠的自适应进化;最后,在计算机生成网络和真实网络环境下进行仿真实验。实验结果表明:与用于社区发现的其他智能算法相比,该算法具有收敛速度快、求解精度高的优势,更适合大规模网络下的社区发现。
针对社区发现场景,本发明从遗传算法中的交叉编译和变异算子中得到启发,对蝙蝠算法进行改进,提出了自适应进化蝙蝠算法。该算法摒弃原始蝙蝠算法速度和位置更新思想,引入进化过程,通过交叉变异算子计算位置更新,利用速度更新的快慢提供变异概率值,自适应进行变异操作。通过计算机合成网络和真实世界网络仿真实验表明,AEBA具有收敛速度快、求解精度高的特 点,比IGA、IDDE等算法具有更优的性能,在大规模网络能够更高效地进行社区发现。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1A-1C为基于字符的编解码示意图;
图2A-2B为随机扰动算子示意图;
图3为本发明AEBA流程图;
图4本发明合成网络上AEBA与IGA、IDDE算法性能比较图;
图5A-5G为本发明真实网络AEBA与IGA、IDDE算法性能比较图;
图6A-6B为Karate网络可视化结果图;
图7A-7B为Dolphin网络可视化结果图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位 置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
本发明提供了一种用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,包括如下步骤:
S1,获取海量数据,构建网络结构模型,将蝙蝠算法以模块度函数作为适应度函数,采用基于字符的编码方式,利用标签传播方法改进初始化种群;
S2,将蝙蝠算法个体的速度转化为变异概率值,使用交叉算子和变异算子计算位置更新,从而实现普通蝙蝠算法的自适应进化,将自适应进化蝙蝠算法,对网络进行划分,得到更加准确的网络社区划分结果。
1蝙蝠算法
1.1蝙蝠算法的仿生学原理
蝙蝠算法(Bat algorithm,BA)模拟蝙蝠在黑暗环境中捕食行为特征,以微蝙蝠的回声定位特性为基础,根据发射超声波的脉冲频率进行指向性飞行。在搜索过程中,发射脉冲的频数较低而响度大,随着目标范围的缩小,蝙蝠会增加发射脉冲的频数,从而增加获取目标的信息量,最终精确定位到目标所在位置。
1.2BA数学模型
1.2.1蝙蝠的运动
蝙蝠算法包含三个要素,即搜索脉冲频率、发射脉冲响度和频数。蝙蝠算法中蝙蝠是种群中的个体,同时对应解空间中的一个解。在第t次迭代中,蝙蝠搜寻猎物时使用的频率为:
fi=fmin+(fmax-fmin)×λ (1)
式中:fi为第i只蝙蝠搜索猎物时的发射频率;fmin,fmax分别代表脉冲频率的最小值和最大值,λ是服从0-1均匀分布的随机因子。
蝙蝠搜索猎物时的速度υi=(υi1,υi2,...,υin)更新公式由下式决定:
式中:分别表示第i只蝙蝠在t和t+1时刻的飞行速度;表示第i只蝙蝠t时刻的空间位置;表示当前搜索过程中蝙蝠群体中的最佳位置;下标n表示搜索空间维度。
蝙蝠的位置Xi=(xi1,xi2…xin)更新为:
在局部搜索部分,蝙蝠个体的位置是随机游走在当前种群最优解周围,更新如下:
式中:代表当前种群最优解的第n维,ε称为比例因子,它是一个在[-1,1]区间上的随机数,是在第t次迭代中,所有蝙蝠响度的平均值。从式中可看出,比例因子ε代表了随机游走的方向和强度。
1.2.2发射脉冲和响度
蝙蝠算法的局部搜索能力依赖于响度和脉冲频数。一旦蝙蝠发现猎物,发射脉冲信号的响度就会减弱,但频数则会逐渐增大。蝙蝠的脉冲频数和响度更新公式如下:
式中:为最大脉冲频数,α和γ都是常数,α是脉冲响度减弱系数,γ是脉冲频数增加系数。事实上,α类似于模拟退火算法中的冷却系数,对于任意0<α<1和γ>0,当迭代次数t→∞时,都有脉冲响度和频数在最优位置发生变化时才会更新,这种情况说明蝙蝠正在向目标靠近。
综上所述,蝙蝠算法步骤如下:
1)初始化参数设置:包括种群大小NP、搜索脉冲频率范围[fmin,fmax]、最大响度最大脉冲频度脉冲响度衰减系数α、频度增加系数γ、迭代终止条件和随机初始化蝙蝠位置Xi,(i=1,2,3....NP);
2)计算当前种群适应度,找出处于蝙蝠的最佳位置X*;
3)根据式(1)初始化搜索脉冲频率fi,根据式(2)和(3)更新蝙蝠速度υi和空间位置Xi;
4)生成随机数r1,如果r1>ri,则使用最优蝙蝠的位置随机扰动式(4)代替当前个体位置;
5)生成随机数r2,当r2>Ai且F(Xi)>F(X*)时(F为适应度函数),接受最优解,并使用式(5)和(6)更新响度和频数;
6)判断算法是否达到终止条件,若未达到,则重复步骤2)-6)。
2自适应进化蝙蝠算法
本发明对原始蝙蝠算法进行改进,提出自适应进化蝙蝠算法(AdaptiveEvolution Bat Algorithm,AEBA)用于解决社区发现问题。下面本发明将详细介绍利用改进的蝙蝠算法求解复杂网络中的社区发现问题。
2.1适应度函数
AEBA采用模块度函数Q作为适应度函数,其数学表达式如下:
式中:n表示网络节点总数,m表示网络总边数,aij表示图的邻接矩阵元素,ki,kj分别表示节点vi,vj的度,δi,δj分别表示节点vi,vj所在的社区编号,当vi,vj同属于一个社区时,c(δi,δj)=1,反之,c(δi,δj)=0。Q值越接近于1,网络的社区结构越明显。实际网络中,Q值一般在0.3~0.7的范围内,当Q<0.3时表明网络没有社区结构。
2.2编码方式与初始化
AEBA采用基于字符的编码方式,这种编码简单明了,易于操作。基于字符的编码是用粒子的位置编码直接表示对应节点的社区编号,这是一种最传统也是最直观有效的编码方式。基于字符的编解码过程如图1所示,图1A是网络拓扑图,假设网络中节点的编码为图1B,因为位置1、4、5、7的编码都是1,所以它们同属一个社区,如图1C中节点所示。同理可得节点2,3,6是一个社区。
比较好的初始化策略不仅可以减小搜索空间,缩短算法运行时间,还能保证种群的多样性。因此,本发明采用标签传播的方法初始化种群。
2.3更新操作
2.3.1速度更新
本发明算法丢弃脉冲频率fi,将蝙蝠算法的速度转化为遗传算法中变异概率,实现了蝙蝠算法和遗传算法的融合,具体过程如下:蝙蝠速度由当前位置和最优蝙蝠的位置决定,如式(8):
操作符表示异或,因此是二进制变量,只能取0或1,其中n为维度下标。假设蝙蝠处于两种极端情况:当蝙蝠完全搜索不到目标时,则 此时蝙蝠搜索位置需要全维更新;而理想情况下,蝙蝠已经在目标位置,则此时不需要更新。蝙蝠算法的寻优过程就是速度和位置不断变化的过程,速度代表了蝙蝠当前位置是否处于最优位置的概率,随着算法逐步趋于收敛,需要更新的速度越来越少,说明越来越接近目标位置,需要调整的位置也在减少,于是,我们利用速度和迭代次数的关系构造函数表示蝙蝠当前位置处于最佳位置的概率
式中:t表示当前迭代次数,Mg表示最大迭代次数。由上式可知,在算法初期需要更新的位置较多,迭代次数t较小,而很大,因此比较小,说明蝙蝠位置距离最佳位置较远,而算法后期则恰恰相反,t变大,减小,导致很大,说明蝙蝠越来越接近目标位置。
2.3.2位置更新
本发明将遗传算法中的交叉算子和变异算子引入到AEBA中,交叉算子用于提升探索能力,变异算子用于局部开发,通过交叉变异运算更新蝙蝠的位置。
1)交叉算子
首先,传统的交叉算子如单点交叉、多点交叉、均匀交叉只关注基因本身,因此忽略了基因之间的相互关系。再者,本发明算法采用基于字符的编码方式,每一个基因表示节点所在社区标号,也就是说这些基因之间是存在联系的,一旦随意交换基因,就会割裂基因之间的关系,改变社区结构,最终使得求解的适应度函数变小,导致寻优过程倒退。因此,传统的交叉算法不能应用于本发明算法中。
针对上述问题,本发明具体的策略如下:随机选择两个染色体,分别作为交叉的源染色体和目标染色体。然后随机从源染色体选择一个节点,获取其所在社区成员C和社区标号l,接着在目标染色体中寻找C中的成员,并将其社区标号改为l。单路交叉可以形象地比作一种社区集体搬迁的行为,加入到新环境后社区成员之间的联系依然存在,双路交叉不仅保持这种社区关系,而且增加了种群多样性,扩宽了蝙蝠寻优搜索范围。双路交叉的操作如下表:
表1双路交叉示意图
Table1 A schematic illustration of Two-way cross operation
2)变异算子
变异算子体现了算法的局部开发能力。传统的变异算子采用随机变异策略,这会导致算法寻优能力退化。AEBA采用局部搜索定向变异方法,每发生一次变异蝙蝠都在向最优位置靠近。蝙蝠发生变异的概率pmt=1-pbt,其中pbt含义见公式(9),pbt越小表示蝙蝠当前位置距离最佳位置较远,而蝙蝠发生变异的概率就越大,于是巧妙地将蝙蝠速度更新引入到变异算子中,实现了蝙蝠的自适应进化。
变异算子的具体操作步骤流程如下:
①待变异的蝙蝠位置为依次对维度d更新,如果随机数小于变异概率pm,则进入步骤2);
②计算变异节点vd的局部函数Fd(Xt),寻找其邻居节点标签集合Ld,d∈{1,2,…n};
③对于将标签j赋值给Xd,计算对应局部函数Fd(Xt);
④选择对局部函数贡献度大的标签作为第d维的标签值。更新公式见式(10)-式(12):
d=d+1,重复执行步骤2-4。
式中:Cj表示同属一个社区j的节点集合,Ld={l1,l2,…lk}是节点vd的邻居节点的社区标签集。式(10)定义局部函数Fd(Xt),式(11)表示粒子位置第d维分量用j代替(或者说,节点vd的标签更改为j)后求解Fd(Xt),式(12)表示依次将 节点d的标签依次更换为其邻居节点的标签,并求解对应Fd(Xt),取使Fd(Xt)最大的标签作为
2.3.3随机扰动
蝙蝠算法的随机扰动模拟蝙蝠在觅食过程中协同工作机制,种群共享最优位置信息,个体根据最佳位置调整自己的飞行路线,以提高捕食效率。AEBA设计的随机扰动算子如图2所示,假设选择节点1为扰动点,其社区标签为4。寻找节点1的所有邻居节点2、4、5、7,如图中箭头所示,将它们的标签设置为4。设置比例因子ε=0.5,依次遍历所有节点,如果随机数rand大于ε,则对节点进行扰动操作。
2.4算法流程图
综上所述,自适应进化蝙蝠算法为流程图3。
2.5时间复杂度分析
设网络G=(V,E)的节点数为n,对应于蝙蝠算法搜索空间维度,则计算模块度函数的时间复杂度为O(n2)。AEBA初始化阶段采用标签传播策略,其时间复杂度为其中表示网络的平均度。算法迭代一次需要进行NP次交叉变异操作和一次寻找最佳蝙蝠位置操作,时间复杂度为:
式中:β是平均变异概率,Cavg为平均社区大小。故AEBA时间复杂度为:
3实验与分析
为了验证自适应进化蝙蝠算法的性能,选择计算机合成网络和7种现实网 络两类实验环境,并与免疫离散差分进化(IDDE)算法和改进的遗传算法(IGA)进行对比实验测试。实验均在Inter(R)Core(TM)i7-3770处理器,主频3.4GH,内存4G,操作系统Windows7的台式机下运行。
AEBA参数设置为:种群大小NP=100,迭代次数Mg=50,最大响度A0=0.95,最大频数r0=0.95,响度衰减系数α=0.95,频度增加系数γ=0.5。
3.1计算机合成网络测试
LFR(Lancichinetti-Fortunato-Radicchi)基准网络是当前社区发现研究中最为常用的计算机合成数据集,该网络模拟现实网络节点之间连接服从幂律分布的特性,产生的社区大小也服从幂律分布。LFR基准网络主要包括以下参数:网络中节点个数n,节点的平均度节点最大度kmax;最小社区包含的节点的数量cmin;最大社区包含节点数量cmax;节点与社区外部节点连接概率参数μ(0≤μ≤0.5),当μ>0.5时,社区中节点与外部的连接近乎一致,网络的社区结构变得模糊,故不属于本发明研究场景范围。本发明使用LFR网络模型的参数为:n=128,kmax=16,cmin=32,cmax=32,μ以0.05为步长从0依次递增到0.5。由于社区结构已知,因此采用标准化互信息NMI(Normalized mutual information)作为评价指标。
计算NMI首先需要定义混淆矩阵B,矩阵行号代表参考社区结构E,列号代表算法实验发现社区结构F,pij表示划分在标准社区和发现社区中共同存在的节点数。NMI取值范围是[0,1],值越大,表明算法划分的结果越接近参考网络的社区结构,表示为:
式中:BE,BF分别表示矩阵B的行数和列数,Bi·表示第i行元素之和,B·j表示第j列元素之和,n表示网络节点总数。
为了不失一般性,将各算法独立运行30次,最终统计平均得到NMI值随着概率参数μ变化的曲线图4所示。
可以看出,当μ<0.4时,三种算法划分的社区结果与参考社区完全一致;μ=0.4时,IGA性能出现下降,而IDDE算法和AEBA直至μ=0.5时NMI值才出现下降,且IDDE算法下降幅度明显高于AEBA。可见本发明提出的自适应进化蝙蝠算法在LFR网络测试中的稳定性优于IGA,准确性优于IGA和IDDE算法。
AEBA快速收敛特性分析:蝙蝠算法更新速度选择的参照标准为当前最佳蝙蝠位置,所以蝙蝠位置更易接近极值点;双路交叉算子起全局搜索作用,变异算子进行局部开发,保证算法求解精度;蝙蝠位置的更新有一部分依靠当前最佳位置随机扰动产生,即每只蝙蝠都在最佳位置附近飞行,因此压缩了搜索空间,更易找到最优解或次优解。随着计算机和信息技术的迅猛发展和普及应用,网络规模呈爆炸性增加,AEBA在保证一定求解精度的同时能够快速收敛,比其他对比算法更加具有应用优势。
3.2真实网络数据集
本发明选用Karate、Dolphin、Book、Football、Jazz、E-mail以及Science 共7个真实网络数据集进行仿真实验,其中Karate、Dolphin、Book、Football和Jazz网络规模较小,具体描述见表2。
表2真实网络数据集信息
各算法适应度随迭代次数变化如图5A-5G所示,其中横轴表示迭代次数,纵轴表示适应度即模块度函数Q值。可以看出,当网络规模较小时(Karate、Dolphin、Book、Football和Jazz),本发明AEBA与对比算法求解的Q值相当,但是收敛速度要快于其他算法,如图中蓝色曲线所示。当网络规模增大时如(E-mail和Science),自适应进化蝙蝠算法快速收敛的优势明显,且在Science网络中求解的Q值显著高于其他两种算法。
通过网络可视化手段考察本发明自适应进化蝙蝠算法的性能。Karate网络和Dolphin网络的可视化结果如图6A-6B和图7所示。
Karate数据集是上世纪70年代由学者Zachary用来进行复杂网络信息流研究。他通过将近三年的时间观察某大学空手道俱乐部的业务和人员交往情况,该俱乐部有4位老师分工管理,其中一名教练和经理在授课费用方面存在分歧,随着日积月累,最终爆发矛盾冲突,俱乐部分裂为两部分,如图6A所示,其中节点表示俱乐部人员,边表示各成员之间的交往情况。根据节点度值排序位列前三的是:节点34,节点1和节点33。而节点1和节点33恰恰代表发生冲突的教练和经理,作为网络的重要连通节点,他们的离开导致整个网络分裂,很好地解释了空手道俱乐部一分为二的原因。我们在空手道网络随机运行AEBA一次,求得Q=0.4198,NMI=0.6187,社区划分结果如图6B所示。从 图中可以看出,AEBA在标准划分的基础上对两个派别进行更细致的划分,得到4个社区。图中绿色部分完全只与节点1连接,可以看做教练的忠实盟友。此外,节点9在参考划分中属于教练派,但是可以看出他与经理派的连边要多于教练派,因此本算法将其划为经理派的社区内。
Dolphin数据集是Lusseau等研究海豚群体生活习性构建的动物社区网络,该网络共有62个节点,159条边,根据海豚性别可以把网络划分出2个社区,如图7A所示。
我们随机抽取AEBA运行一次,求得Q=0.5285,NMI=0.6441,社区划分结果如图7B所示。本发明算法依然保持了原有划分,并未出现错划性别的情况,值得注意的是,根据海豚间的交流程度,还将雌性海豚社区细化为4个小社区,社区内部明显比社区之间交流更为频繁,因此可以说海豚网络具有一定的层次结构。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (9)
1.一种用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,其特征在于,包括如下步骤:
S1,获取海量数据,构建网络结构模型,将蝙蝠算法以模块度函数作为适应度函数,采用基于字符的编码方式,利用标签传播方法改进初始化种群;
S2,将蝙蝠算法个体的速度转化为变异概率值,使用交叉算子和变异算子计算位置更新,从而实现普通蝙蝠算法的自适应进化,将自适应进化蝙蝠算法,对网络进行划分,得到更加准确的网络社区划分结果。
2.根据权利要求1所述的用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,其特征在于,所述S1包括:
S1-1,采用模块度函数Q作为适应度函数;
S1-2,采用基于字符的编码方式。
3.根据权利要求1所述的用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,其特征在于,所述S2包括:
S2-1,丢弃脉冲频率fi,将普通蝙蝠算法的速度转化为遗传算法中变异概率,实现了普通蝙蝠算法和遗传算法的融合;
S2-2,交叉算子用于提升探索能力,变异算子用于局部开发,通过交叉变异运算更新蝙蝠的位置。
4.根据权利要求3所述的用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,其特征在于,所述S2-1中速度转化包括:
蝙蝠速度由当前位置和最优蝙蝠的位置决定,如式(8):
操作符表示异或,因此是二进制变量,只能取0或1,其中n为维度下标;假设蝙蝠处于两种极端情况:当蝙蝠完全搜索不到目标时,则 此时蝙蝠搜索位置需要全维更新;蝙蝠已经在目标位置,则 此时不需要更新;蝙蝠算法的寻优过程就是速度和位置不断变化的过程,速度代表了蝙蝠当前位置是否处于最优位置的概率,随着算法逐步趋于收敛,需要更新的速度越来越少,然后利用速度和迭代次数的关系构造函数表示蝙蝠当前位置处于最佳位置的概率
式中:t表示当前迭代次数,Mg表示最大迭代次数;由上式可知,在算法初期需要更新的位置较多,迭代次数t较小,而很大,因此比较小,说明蝙蝠位置距离最佳位置较远,而蝙蝠算法后期则恰恰相反,t变大, 减小,导致很大,说明蝙蝠越来越接近目标位置。
5.根据权利要求3所述的用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,其特征在于,所述S2-2中交叉算子包括:
引入遗传算子,随机选择两个染色体,分别作为交叉的源染色体和目标染色体;然后随机从源染色体选择一个节点,获取其所在社区成员C和社区标号l,接着在目标染色体中寻找C中的成员,并将其社区标号改为l。
6.根据权利要求3所述的用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,其特征在于,所述S2-2中变异算子包括:
S2-2-1,待变异的蝙蝠位置为依次对维度d更新,如果随机数小于变异概率pm,则进入步骤S2-2-2;
S2-2-2,计算变异节点vd的局部函数Fd(Xt),寻找其邻居节点标签集合Ld,d∈{1,2,…n};
S2-2-3,对于将标签j赋值给xd,计算对应局部函数Fd(Xt);
S2-2-4,选择对局部函数贡献度大的标签作为第d维的标签值。
7.根据权利要求6所述的用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,其特征在于,所述S2-2-4包括:
重复执行d=d+1,
式中:Cj表示同属一个社区j的节点集合,Ld={l1,l2,…lk}是节点vd的邻居节点的社区标签集;局部函数Fd(Xt),其中,
表示粒子位置第d维分量用j代替后求解Fd(Xt),其中,
表示依次将节点d的标签 依次更换为其邻居节点的标签,并求解对应Fd(Xt),取使Fd(Xt)最大的标签作为
8.根据权利要求3所述的用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,其特征在于,所述S2还包括随机扰动步骤:
假设选择节点1为扰动点,其社区标签为4;寻找节点1的所有邻居节点2、4、5、7;设置比例因子ε=0.5,依次遍历所有节点,如果随机数rand大于ε,则对节点进行扰动操作。
9.根据权利要求3所述的用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法,其特征在于,所述S2还包括时间复杂度分析步骤:
设网络数据G=(V,E)的节点数为n,对应于蝙蝠算法搜索空间维度,则计算模块度函数的时间复杂度为O(n2),初始化阶段采用标签传播策略,其时间复杂度为其中表示网络的平均度,蝙蝠算法迭代一次需要进行NP次交叉变异操作和一次寻找最佳蝙蝠位置操作,时间复杂度为:
式中:β是平均变异概率,Cavg为平均社区大小;故AEBA时间复杂度为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610580477.0A CN106157154B (zh) | 2016-07-21 | 2016-07-21 | 用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610580477.0A CN106157154B (zh) | 2016-07-21 | 2016-07-21 | 用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106157154A true CN106157154A (zh) | 2016-11-23 |
CN106157154B CN106157154B (zh) | 2021-07-30 |
Family
ID=58060747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610580477.0A Active CN106157154B (zh) | 2016-07-21 | 2016-07-21 | 用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106157154B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106658624A (zh) * | 2016-11-29 | 2017-05-10 | 重庆大学 | 一种多无线网络共存场景下的用户与网络匹配方法 |
CN109947132A (zh) * | 2019-04-09 | 2019-06-28 | 浙江工业大学 | 基于rfid库存盘点的无人机三维路径规划方法 |
CN111343023A (zh) * | 2020-02-28 | 2020-06-26 | 电子科技大学 | 自适应机动网络节点运动控制的分布式协同决策方法 |
CN111709518A (zh) * | 2020-06-16 | 2020-09-25 | 重庆大学 | 一种基于社区感知和关系注意力的增强网络表示学习的方法 |
CN112230675A (zh) * | 2020-10-19 | 2021-01-15 | 南京航空航天大学 | 在协同搜救中考虑运行环境和性能的无人机任务分配方法 |
CN113162804A (zh) * | 2021-04-21 | 2021-07-23 | 南通大学 | 一种欺骗攻击和脉冲干扰共同影响下符号网络的二分同步方法 |
CN110399817B (zh) * | 2019-07-15 | 2021-11-09 | 西安邮电大学 | 一种基于改进蝙蝠算法的eeg通道选择方法 |
CN117784852A (zh) * | 2024-02-28 | 2024-03-29 | 山东工商学院 | 一种基于鱼鳞仿生优化算法的多模态传感器温度控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103208027A (zh) * | 2013-03-13 | 2013-07-17 | 北京工业大学 | 基于局部模块度的遗传算法用于大规模复杂网络社区挖掘的方法 |
CN104268629A (zh) * | 2014-09-15 | 2015-01-07 | 西安电子科技大学 | 一种基于先验信息和网络固有信息的复杂网络社区检测方法 |
CN105072064A (zh) * | 2015-07-20 | 2015-11-18 | 南京信息工程大学 | 一种基于dna遗传蝙蝠方法的分数间隔多模盲均衡方法 |
-
2016
- 2016-07-21 CN CN201610580477.0A patent/CN106157154B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103208027A (zh) * | 2013-03-13 | 2013-07-17 | 北京工业大学 | 基于局部模块度的遗传算法用于大规模复杂网络社区挖掘的方法 |
CN104268629A (zh) * | 2014-09-15 | 2015-01-07 | 西安电子科技大学 | 一种基于先验信息和网络固有信息的复杂网络社区检测方法 |
CN105072064A (zh) * | 2015-07-20 | 2015-11-18 | 南京信息工程大学 | 一种基于dna遗传蝙蝠方法的分数间隔多模盲均衡方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106658624A (zh) * | 2016-11-29 | 2017-05-10 | 重庆大学 | 一种多无线网络共存场景下的用户与网络匹配方法 |
CN109947132A (zh) * | 2019-04-09 | 2019-06-28 | 浙江工业大学 | 基于rfid库存盘点的无人机三维路径规划方法 |
CN110399817B (zh) * | 2019-07-15 | 2021-11-09 | 西安邮电大学 | 一种基于改进蝙蝠算法的eeg通道选择方法 |
CN111343023A (zh) * | 2020-02-28 | 2020-06-26 | 电子科技大学 | 自适应机动网络节点运动控制的分布式协同决策方法 |
CN111709518A (zh) * | 2020-06-16 | 2020-09-25 | 重庆大学 | 一种基于社区感知和关系注意力的增强网络表示学习的方法 |
CN112230675A (zh) * | 2020-10-19 | 2021-01-15 | 南京航空航天大学 | 在协同搜救中考虑运行环境和性能的无人机任务分配方法 |
CN112230675B (zh) * | 2020-10-19 | 2022-06-24 | 南京航空航天大学 | 在协同搜救中考虑运行环境和性能的无人机任务分配方法 |
CN113162804A (zh) * | 2021-04-21 | 2021-07-23 | 南通大学 | 一种欺骗攻击和脉冲干扰共同影响下符号网络的二分同步方法 |
CN117784852A (zh) * | 2024-02-28 | 2024-03-29 | 山东工商学院 | 一种基于鱼鳞仿生优化算法的多模态传感器温度控制方法 |
CN117784852B (zh) * | 2024-02-28 | 2024-05-14 | 山东工商学院 | 一种基于鱼鳞仿生优化算法的多模态传感器温度控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106157154B (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106157154A (zh) | 用于自媒体网络数据的自适应进化蝙蝠算法下的复杂网络社区发现方法 | |
Cai et al. | A survey on network community detection based on evolutionary computation | |
Mo et al. | Research of biogeography particle swarm optimization for robot path planning | |
Duan et al. | New progresses in swarm intelligence–based computation | |
Li et al. | A novel complex network community detection approach using discrete particle swarm optimization with particle diversity and mutation | |
Mu et al. | Multi-objective ant colony optimization algorithm based on decomposition for community detection in complex networks | |
Hassan et al. | A discrete bat algorithm for the community detection problem | |
Hu et al. | HG-SMA: Hierarchical guided slime mould algorithm for smooth path planning | |
Fumanal-Idocin et al. | Community detection and social network analysis based on the Italian wars of the 15th century | |
CN110298491A (zh) | 一种基于黏菌群体智能的交通网络节点选择方法 | |
CN104200272A (zh) | 一种基于改进遗传算法的复杂网络社区挖掘方法 | |
CN114492749B (zh) | 面向限时红蓝对抗问题动作空间解耦的博弈决策方法 | |
Zhang et al. | Application of natural computation inspired method in community detection | |
Wang et al. | Improved Genetic Algorithm (VNS‐GA) using polar coordinate classification for workload balanced multiple Traveling Salesman Problem (mTSP) | |
Zhang et al. | HG-Meta: Graph meta-learning over heterogeneous graphs | |
Cui et al. | An interpretation framework for autonomous vehicles decision-making via SHAP and RF | |
Lam | Active walks: The first twelve years (Part II) | |
Cook et al. | Complex network theory | |
Wang et al. | Multistrategy integrated marine predator algorithm applied to 3D surface WSN coverage optimization | |
Bertelle et al. | Organization detection using emergent computing | |
Tang et al. | Dynamic scheduling for multi-level air defense with contingency situations based on Human-Intelligence collaboration | |
Yildirim et al. | Canadian traveler problem with neutralizations | |
Xiong et al. | A parallel immune genetic algorithm for community detection in complex networks | |
Wu et al. | Improved AFSA for solving intelligent test problem | |
Graham et al. | The Science Fiction Prototyping Framework: Building Behavioural, Social and Economic Impact, and Community Resilience |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |