基于节点覆盖范围的影响力最大化算法
- 格式:pdf
- 大小:1.53 MB
- 文档页数:6
社会网络分析中的关键节点识别方法社会网络分析是一种研究社会系统中人际关系的方法,它可以帮助我们理解个体之间的联系以及整个网络的结构。
在社会网络中,有些节点扮演着非常重要的角色,称为关键节点。
关键节点的识别对于我们深入研究社会网络的性质和效果至关重要。
本文将探讨社会网络分析中的关键节点识别方法。
一、中心性度量中心性度量是一种常见的关键节点识别方法。
它通过计算节点在网络中的重要程度来确定关键节点。
其中最常见的中心性度量方法有以下几种。
1.度中心性(Degree Centrality)度中心性是指节点在网络中与其他节点之间的连接数量。
具有高度中心性的节点通常与许多其他节点相连,因此对整个网络的结构有着较大的影响力。
识别具有最高度中心性的节点可以帮助我们找到在社会网络中拥有广泛人脉和资源的人。
2.接近中心性(Closeness Centrality)接近中心性是指节点与其他节点之间的平均最短路径长度。
接近中心性较高的节点意味着该节点与其他节点之间的距离较短,信息传播和资源传递更加迅速高效。
通过识别具有较高接近中心性的节点,我们可以找到社会网络中信息传播最迅速的关键节点。
3.中介中心性(Betweenness Centrality)中介中心性是指节点在网络中充当信息传递的桥梁角色的程度。
具有高中介中心性的节点意味着它是信息流动的关键媒介,能够在不同节点之间传递信息并维持网络的连通性。
通过识别具有高中介中心性的节点,我们可以找到在社会网络中发挥重要桥梁作用的关键节点。
二、社团检测算法除了中心性度量之外,社团检测算法也是一种有效的关键节点识别方法。
社团是指在社会网络中具有紧密连接的节点群体。
识别社团有助于我们理解社会网络中各种子群体的组织结构以及它们之间的互动关系。
下面介绍几种常见的社团检测算法。
1.模块性优化算法(Modularity Optimization)模块性优化算法是一种常用的社团检测方法,它通过最大化网络内部节点之间的连接强度,同时最小化不同社团之间的连接强度,来划分社团。
社交网络分析算法的使用方法社交网络已成为人们日常生活中不可或缺的一部分。
通过社交网络,人们可以与朋友、家人、同事和陌生人进行交流和互动。
这些网络提供了丰富的信息和机会,也成为了理解社会关系和人际互动的重要资源。
为了深入了解社交网络中的关系和模式,社交网络分析算法应运而生。
社交网络分析算法是一种用于识别、分析和预测社交网络中的关系模式和趋势的方法。
它结合了图论、统计学和数据挖掘技术,适用于各种类型的社交网络,包括在线社交媒体平台、企业内部网络和科学研究网络等。
下面将介绍几种常用的社交网络分析算法及其使用方法。
1. 社区发现算法社区发现算法旨在识别社交网络中的紧密连接的群体或社区。
常用的算法包括Girvan-Newman算法、Louvain算法和谱聚类算法等。
使用这些算法的步骤如下:首先,导入社交网络数据并构建图模型。
每个节点表示一个用户或个体,边表示两个节点之间的关系。
然后,计算节点之间的相似度或连接强度。
这可以通过计算节点间的距离、共同邻居数或其他相似性指标来实现。
接下来,应用社区发现算法来检测网络中的社区。
这些算法基于节点之间的链接模式来确定社区结构。
最后,可视化社区结构,并根据分析结果进行进一步的解释和推断。
2. 影响力传播算法影响力传播算法用于研究在社交网络中如何传播信息、观点或行为。
其中比较有名的算法是独立级联模型(IC模型)和线性阈值模型(LT模型)。
使用这些算法的步骤如下:首先,确定某个节点或群体作为信息源。
然后,为每个节点分配传播概率或阈值。
这些值表示了节点接受信息并传播给邻居的能力。
接下来,使用影响力传播算法模拟信息在社交网络中的传播过程。
这些算法基于节点之间的连接和传播概率来模拟信息在网络中的扩散。
最后,分析信息传播的规律和影响因素,并根据结果确定改进传播策略的方法。
3. 关键节点识别算法关键节点识别算法用于识别对整个社交网络结构和信息传播具有重要影响力的节点。
常用的算法包括介数中心性、度中心性和PageRank算法等。
WSN无线传感器网络布点与节点调度算法性能分析无线传感器网络(Wireless Sensor Network,WSN)是一种由大量节点组成的自组织网络,这些节点通过无线通信协作来收集、处理和传输感知环境中的数据。
WSN广泛应用于环境监测、智能农业、工业自动化等领域。
在WSN的设计和部署中,布点与节点调度算法起着至关重要的作用。
本文将对WSN布点与节点调度算法进行性能分析。
WSN的布点算法是指如何选择节点的位置以实现最佳的网络覆盖和通信质量。
一个好的布点算法应该能够在保证网络覆盖的情况下,尽量减少节点数量,从而节省能量和成本。
目前常用的布点算法有基于部署区域分割的算法和基于感知覆盖的算法。
基于部署区域分割的布点算法将部署区域划分为若干个小区域,然后在每个小区域中选择一个节点作为监测节点。
这种算法的优点是布点简单而且容易实现,但是容易导致节点的密度不均匀,而且在节点间的通信开销较大。
基于感知覆盖的布点算法则根据感知范围和节点的感知能力来选择节点的位置。
算法的目标是使得网络中的每一个位置都能够被至少一个节点所感知到。
这种算法能够有效地提高网络的覆盖率,但是在节点密度较大的情况下,存在部分区域的覆盖重叠现象。
作为WSN的一个关键问题,节点调度算法旨在通过合理地调度节点的工作状态来提高网络的性能和能源利用效率。
常见的节点调度算法有固定时间片调度算法和基于事件驱动的调度算法。
固定时间片调度算法将时间划分为若干个固定长度的时间片,然后将时间片按照顺序分配给节点。
这种算法简单且容易实现,但是容易导致网络中的节点饥饿现象,即某些节点始终得不到工作机会。
基于事件驱动的调度算法则根据节点和网络状态的变化来调度节点的工作状态。
当节点检测到有事件发生时,它将及时发送感知数据,并参与到后续的数据传输和处理中。
这种调度算法能够有效地利用节点的能量,提高网络的响应速度。
但是在节点密度较高的情况下,事件驱动的调度算法容易导致网络拥塞和通信冲突。
顺序覆盖算法
顺序覆盖算法(Sequential Covering Algorithm)是一种用于生成决策树的算法。
它是基于“特征选择-实例覆盖”的策略。
以下是顺序覆盖算法的基本步骤:
1. 初始化一个空的决策树模型。
2. 选择一个未覆盖的实例(未分类的样本)作为起始点。
3. 针对该实例,选择一个最佳的特征作为当前节点的分裂特征。
最佳特征的选择可以根据不同的评价指标进行,如信息增益、基尼指数等。
4. 分裂当前节点,生成子节点。
5. 根据当前节点的分裂特征,对训练数据集进行剪枝,将符合条件的实例分配到相应的子节点中。
6. 对每个子节点,进行递归操作,重复步骤2到步骤5,直到满足终止条件(如达到最大深度、无法再分裂等)。
7. 当前节点的分支生成完毕后,回到步骤2,选择下一个未覆盖的实例作为起始点,继续生成决策树的其他分支。
8. 当所有实例都被覆盖或终止条件达到时,算法停止,得到完整的决策树模型。
顺序覆盖算法通过循环迭代的方式,依次处理每个未覆盖的实例,并根据特征选择生成决策树的分支。
通过遍历实例集合,它能够构建一个简单、可解释的决策树模型。
顺序覆盖算法是一种启发式算法,可能会因特征选择的先后顺序而产生不同的决策树。
同时,如果训练数据中存在噪音或异常值,算法可能会受到影响,需要进行适当的数据处理和预处理操作。
glv工作原理GLV(Generalized Linear Voter)是一种用于社交网络中信息传播的算法,其工作原理是通过模拟人们在社交网络中的投票行为来预测信息的传播趋势。
GLV算法基于社交网络中的节点之间的相互作用关系,通过对节点的评价和选择来模拟信息的传播过程。
GLV算法的工作原理可以简单概括为三个步骤:评价、选择和传播。
首先,算法会对社交网络中的每个节点进行评价,评价的标准可以是节点的影响力、声誉度等指标。
评价的目的是为了确定每个节点的影响力大小,从而在信息传播过程中给予不同的权重。
接下来,GLV算法会根据节点的评价结果进行选择。
选择是指根据节点的影响力大小,决定哪些节点具有更高的传播概率。
一般来说,影响力较大的节点具有更高的传播概率,因为它们在社交网络中具有更广泛的影响力。
GLV算法会通过传播过程来模拟信息在社交网络中的传播。
传播过程中,每个节点都有一定的传播概率,当节点被选中传播时,它会将信息传递给其邻居节点。
传播概率的大小取决于节点的评价结果和选择结果。
传播过程将一直进行下去,直到信息传播到社交网络中的所有节点为止。
GLV算法的工作原理使其具有一定的优势和应用价值。
首先,通过模拟人们在社交网络中的投票行为,GLV算法能够更准确地预测信息的传播趋势。
其次,GLV算法能够根据节点的评价和选择结果,有针对性地选择具有较高传播概率的节点,从而提高信息传播的效率。
此外,GLV算法还可以应用于社交网络中的舆情分析、病毒传播预测等领域。
然而,GLV算法也存在一些局限性。
首先,算法的准确性受限于节点评价的准确性,如果评价结果存在误差或偏差,就会对信息传播的预测结果产生影响。
其次,GLV算法假设社交网络中的节点之间相互独立,不考虑节点之间的关联性和复杂的传播路径,这可能导致对信息传播过程的理解不够全面。
此外,GLV算法没有考虑节点的个体特征和行为习惯,这也会对信息传播的结果产生一定的影响。
GLV算法是一种通过模拟人们在社交网络中的投票行为来预测信息传播趋势的算法。
物联网传感器节点布局优化方法随着物联网技术的快速发展,物联网传感器的布局优化成为提高物联网系统性能和效率的重要任务。
合理布局传感器节点可以提高感知精度、减少能耗、优化网络覆盖范围等方面的性能。
本文将介绍几种常见的物联网传感器节点布局优化方法,并分析其优缺点。
1. 网格型布局方法网格型布局方法是最常见和简单的传感器节点布局方法之一。
这种方法将感知区域划分为若干个网格,每个网格中放置一个传感器节点。
传感器节点之间的间隔相等,覆盖区域理论上完全重叠。
网格型布局方法便于实施和管理,但由于节点间距相等,可能导致一些区域覆盖重叠,浪费了传感器资源,同时在边界区域可能存在盲区,无法完全覆盖。
2. 分级布局方法分级布局方法是指将传感器节点按照不同的等级进行分类,并分别进行布局。
等级较高的传感器节点布置在关键区域,而等级较低的传感器节点主要用于辅助覆盖。
使用分级布局方法可以提高关键区域的感知精度,降低非关键区域的能耗。
然而,分级布局方法需要精确划定不同等级的传感器节点,布局规划相对复杂,且在一些无法明确等级的区域可能存在覆盖不足的情况。
3. 前向表明布局方法前向表明布局方法是一种基于节点间通信的布局优化方法。
在这种布局方法中,传感器节点通过节点之间的通信来确定最佳的节点布局。
传感器节点会向周围节点广播自身的信息,并接收周围节点的回复。
通过分析回复信息,节点可以确定自身位置和周围节点位置,从而优化布局。
前向表明布局方法可以根据实时环境信息实时优化节点布局,提高感知精度和覆盖范围。
然而,该方法需要大量的节点之间通信,带来额外的能耗和通信延迟。
4. 遗传算法布局方法遗传算法布局方法是一种基于进化计算理论的布局优化方法。
这种方法模仿生物进化的原理,通过对现有布局进行突变和交叉等操作,生成新的布局,并根据性能评估函数对新布局进行筛选。
经过多次迭代,最终得到最优的节点布局。
遗传算法布局方法考虑了多个因素,如节点覆盖、能耗、干扰等,并且可以自动适应环境变化和节点故障。
复杂网络中的社区检测算法研究与实现在复杂网络中,社区检测是一项重要的研究任务,旨在识别网络中紧密联系的节点群体。
社区结构的发现有助于我们理解网络的内部组织结构、信息传播模式和网络的功能特性。
近年来,社区检测算法的研究与实现成为网络科学领域的热点之一。
本文将对复杂网络中的社区检测算法进行研究与实现。
首先介绍社区检测的概念和背景,然后对不同的社区检测算法进行综述和对比,并最终实现一种经典的社区检测算法——Louvain算法。
社区检测的概念是基于网络的节点之间存在紧密联系的观点。
在真实世界的复杂网络中,节点之间的连接并非是均匀分布的,而是呈现出一种“疏密相间”的特点,即某些局部区域会密集地连接在一起,形成一种社群或社区的结构。
在社区内部,节点之间的连接往往比与社区外部的连接更稠密。
因此,社区检测算法旨在识别这种节点的紧密联系并将其组织成相应的社区。
目前,已经提出了许多社区检测算法,其中一些较为经典且有效。
以下是对几种常见社区检测算法的综述和对比:1. Girvan-Newman算法:基于边的介数(Betweenness)来度量网络中的关键边。
该算法通过递归地删除具有高介数值的边来划分社区,直到网络中的连通分量数量达到预设的阈值。
尽管该算法在小规模网络上表现出色,但在大规模网络中计算复杂度较高。
2. Modularity最大化算法:基于社区内部的连接相对于社区之间的连接的比例来测量社区的质量。
该算法通过迭代地将节点移动到不同的社区来最大化网络的模块度。
然而,该算法的结果受到分辨率参数的影响,且对于重叠社区的检测效果较差。
3. Louvain算法:是一种基于模块度优化的迭代算法。
该算法首先将网络中的每个节点视为一个社区,然后迭代地将节点从一个社区移动到另一个社区以优化模块度。
该算法具有较高的效率和准确性,并能够处理重叠社区的检测。
在本文中,我们选择实现Louvain算法来探究社区检测的实践过程。
Louvain算法的实现分为两个阶段:第一阶段是局部优化,通过节点的局部移动来最大化模块度增益;第二阶段是全局优化,将节点移动到新社区中以进一步提高模块度。
本期推荐本栏目责任编辑:唐一东萤火虫算法在WSN 节点部署中的应用曹娜娜,谢智峰,穆莉,王汐存(江西科技学院信息工程学院,江西南昌330098)摘要:为解决WSN 随机部署方法导致覆盖率低的问题,提出了一种基于萤火虫算法的WSN 自适应部署方法。
该方法融合概率感知模型和萤火虫算法两种技术,建立网格覆盖模型,实现WSN 节点优化部署。
设计了3组仿真测试,实验结果表明,新方法相较于随机部署方法,其测覆盖率有所提升。
关键词:WSN ;随机部署;萤火虫算法;概率感知模型;网格覆盖模型中图分类号:TP301、TP391文献标识码:A文章编号:1009-3044(2021)03-0005-03开放科学(资源服务)标识码(OSID ):Application of Firefly Algorithm in WSN Node Deployment CAO Na-na,XIE Zhi-feng,MU Li,WANG Xi-cun(School of Information Engineering,Jiangxi University of Technology,Nanchang 330098,China)Abstract:In order to solve the problem of low coverage caused by the random deployment method of WSN,a WSN adaptive deploy⁃ment method based on the Firefly algorithm is proposed.This method fuses two technologies,the probability perception model and the firefly algorithm,to establish a grid coverage model to achieve optimal deployment of WSN nodes.Three sets of simulation tests are designed,and the experimental results show that compared with the random deployment method,the new method has improved test coverage.Key words:WSN;random deployment;firefly algorithm;probabilistic perception model;grid coverage model1前言无线传感器网络(Wireless Sensor Network,WSN)[1]是基于微处理、嵌入式及无线通信等技术的一种具有低功耗、低成本、自组织等特点的分布式信息感知、传输和处理系统。
雾凇优化算法-概述说明以及解释1.引言1.1 概述雾凇优化算法是一种基于自然现象的优化算法,在大数据分析、机器学习、图像处理等领域具有广泛的应用前景。
顾名思义,雾凇优化算法的灵感来自于大自然中的雾凇现象,其原理是模拟雾凇结晶的过程来进行问题求解和优化。
雾凇是一种水珠凝结在物体表面形成的冰晶,其形成需要一系列复杂的条件满足,包括低温、高湿度和一定的气流。
这种自然现象启发了科学家们开发一种新的优化算法,用于解决复杂的优化问题。
雾凇优化算法的应用范围很广泛,可以用于求解各种类型的优化问题,包括函数优化、组合优化、图像处理等。
它通过模拟雾凇结晶的过程,以一种分布均匀、多样化的方式搜索解空间,从而找到问题的最优解或者近似最优解。
与其他优化算法相比,雾凇优化算法具有以下几个优点。
首先,它是一种全局优化算法,能够找到整个解空间中的最优解。
其次,它具有较好的收敛性能,能够在搜索过程中逐步逼近最优解。
此外,雾凇优化算法还具有一定的自适应性和鲁棒性,能够应对不同类型的优化问题。
本文将首先介绍雾凇优化算法的原理,包括其基本思想和数学模型。
然后,将重点探讨雾凇优化算法在不同领域的应用案例,以及取得的实际效果和优势。
最后,对雾凇优化算法进行总结,并展望其未来在优化领域的发展潜力。
通过对雾凇优化算法的深入研究和应用,将有助于进一步提高优化问题的求解效率和准确性,推动优化算法在实际应用中的更广泛运用。
1.2 文章结构文章结构部分的内容如下:文章结构部分将介绍整篇文章的组织结构和内容安排。
通过明确的文章结构,读者可以更清晰地了解本文的逻辑框架,从而更好地理解和阅读全文。
首先,本文将以引言、正文和结论三个主要部分构成。
引言部分将对雾凇优化算法进行概述,包括它的基本原理、应用领域和研究背景等内容。
接下来,正文部分将进一步展开,详细介绍雾凇优化算法的原理和应用。
具体而言,2.1节将详细解释雾凇优化算法的原理,包括其基本思想、建模方式以及优化过程等。
异质信息网络的互信息最大化社区搜索异质信息网络的互信息最大化社区搜索随着信息技术的不断发展,人们对于社交网络的研究也越来越深入。
在社交网络中,人们通过互相交流分享信息,形成了一个庞大而复杂的信息网络。
然而,传统的社区搜索算法在处理这种异质信息网络时面临一些挑战,例如节点类型多样性和节点之间边的异构性。
因此,研究人员提出了基于互信息最大化的社区搜索方法,可以有效地发现异质信息网络中的社区结构。
互信息最大化是一种用于发现社区结构的无监督学习方法,它通过计算节点对之间的互信息来衡量它们之间的相关性。
在异质信息网络中,节点之间可能存在多种类型的关系,例如用户之间的社交关系、物品与用户之间的交互关系等。
传统的社区搜索算法往往忽视了这些节点类型的差异,导致无法准确地发现社区结构。
而互信息最大化的方法能够利用节点之间的关系和节点的属性信息,有效地挖掘不同类型节点之间的关联性。
在互信息最大化的社区搜索方法中,首先需要构建节点之间的关系网络。
异质信息网络中的节点可以表示为多维向量,每个维度对应一个节点类型。
节点之间的关系可以表示为一个矩阵,其中每个元素表示两个节点之间的互信息。
然后,通过最大化节点对之间的互信息,可以找到具有相关性的节点对,进而聚类形成社区结构。
通过不断调整聚类的阈值,可以得到不同规模的社区。
与传统的社区搜索算法相比,互信息最大化的方法具有以下优势。
首先,它能够考虑节点之间的多样性,不仅仅局限于某一类型的节点。
这样可以更全面地发现社区结构。
其次,互信息最大化的方法可以充分利用节点的属性信息,例如节点的特征向量、标签等。
这样可以提供更具有解释性的社区结果。
此外,互信息最大化的方法还能够适应异质信息网络的动态变化,对于新增节点或者关系的处理更加灵活。
然而,互信息最大化的社区搜索方法也面临一些挑战。
首先,节点之间的关系网络构建需要耗费大量的计算资源和存储空间。
同时,由于异质信息网络的复杂性,目前还缺乏有效的算法来准确地计算节点对之间的互信息。
2019年8月 计算机工程与设计 Aug. 2019
第 40 卷 第 8 期 COMPUTER ENGINEERING AND DESIGN Vol. 40 No. 8
基于节点覆盖范围的影响力最大化算法高菊远,王志晓!芮晓彬,何
[候梦男
(中国矿业大学计算机科学与技术学院,江苏 徐州
221116
)
摘 要:为解决传统影响力最大化算法时间复杂度高!选出节点过于集中!导致富人俱乐部现象(tchcklb)的问题!提
出一种基于节点覆盖范围的影响力最大化算法!将节点覆盖范围作为节点选取的中心性评价指标
,有效避免选取种子节点
时节点过于集中。为进一步减少运行时间!对该算法进行CELF优化。在各种规模网络上的实验结果表明!该算法能够有
效选取最具影响力的节点。关键词:社交网络;影响力最大化;节点覆盖范围;富人俱乐部现象;种子节点识别
中图法分类号:TP393 文献标识号:A 文章编号
:1000-7024 (2019
) 08-2211-05
doi: 10. 16208/j. issnl000-7024. 2019. 08. 018
NodecoveragebasedalgorithmforinfluencemaximizationGAO Ju-yuan
, WANGZhixiao, RUI Xiao-bin, HEJing, HOU
Meng-nan
(School of Computer Science and Technology & China University of Mining and Technology & Xuzhou 221116 & China)Abstract: The time-consumption of traditional influence maximization algorithm is high and the selected nodes
are concentrated.
So&thesAopeofinfluenAeislimited.Tosolvetheseproblems&aninfluenAemaximizationalgorithmbasedonnodeAoveragewas proposed.ThenodeAoveragewasseleAtedastheAentralevaluationindex.Inthisway&itavoidedseednodesfrombeingAonAen- trated.To deArease running time&the proposed algorithm was optimized using CELF strategy.Experimental results show that theproposedalgorithmAanseleAtthemostinfluentialnodesmoreefeAtivelyinvarioussizesofnetworks.
Key words: social network; influence maximization; node coverage; rich-club;
seed node identification
0引言随着网络的发展,在线社交网络带给市场营销各种可
能。利用在线社交网络进行病毒营销(),往往会以极小的 成本获得巨大影响,影响力最大化是解决这类问题的关 键其可广泛应用于市场营销策略、广告定向传播、舆 情预测和控制⑶’影响力最大化问题是社交网络分析领域的热点问题4' 国内外研究学者提出许多求解影响力最大化问题的算法, 主要集中于基于传播的算法和基于拓扑结构的算法。基于 传播的算法其时间复杂性高,在较大规模网络中无法运行。 而传统的基于拓扑结构的算法未能很好解决节点在传播过 程中的重复邻居的问题,使得算法的精度较低且适应性差。本文针对选出的节点在传播过程中有大量的共同邻居, 导致影响范围有限的问题,提出了基于节点覆盖范围的影 响力 大 算法 (nodeAoveragealgorithm, NCA), 果表明,本算法相比于其它基于拓扑结构的算法时间代价 极低,并具有很高的影响范围。
1相关工作Kempe等5证明了影响力最大化问题的优化是NP- hard问题,
提出了一个基于传播的爬山贪心算法
general
greedy algorithm,该算法有着很好的准确度,但因为每一
次选取最大影响范围的种子需要遍历整个网络,在网络规
模扩大时&效率很低。
优化的
贪心算法
(Cost-Effective La-
zyForward, CELF)6解决了运行效率问题,该算法利用函
数的子模特性,减少了节点在影响力范围评估上的时间,
实验结果表明CELF在选择节点时有近700倍的速度提升。
收稿日期:201806-25;修订日期:2018-08-13
基金项目:国家自然科学基金项目(61402482);中国博士后基金项目(2015T80555);江苏省博士后基金项目(1501012A)作者简介:高菊远(1995 -),女&辽宁丹东人&硕士研究生&研究方向为影响力最大化;王志晓(1979 -),男&河南平顶山人&博士&
副教授&研究方向为社交网络分析;芮晓彬(1992-),男&江苏徐州人&博士研究生&研究方向为谣言传播动力学;何嬪
(1994-)
,女&
江苏常州人&硕士研究生&研究方向为动态社区发现;候梦男(1993 -),女&湖北黄冈人&硕士研究生&研究方向为层次化社区发现°
E-mail:
gaojuyuanu@163.com• 2212
-
计算机工程与设计
2019 年
然而,CELF仍然需要花费几个小时来运行几万个节点的
网络。Cheng等□提出的StaticGreedy算法以保存静态快照
和计算边际增益的方法来优化运行时间,但在大规模网络
中仍存在运行时间长的问题。以上这几种算法均为基于传 播的影响力最大化算法,可以看出这种算法需要进行影响 力传播过程的优化。另一种算法为基于拓扑结构选择算法,其关注于网络
的拓扑结构或中心性,
该类算法不需要考虑影响力范围过
程的最优,所以运行时间很短。但是影响范围相对较小,
且对于不同的网络结构表现不稳定。在早期的研究中,将
度,距离8等作为评价指标。DegreeDiscount算法
9对度
进行改进,提升了度指标的效果,但提升有限'Lu等(0)
通过寻找局部度值最大节点,提出了 LIR算法。若网络比 较平均,该算法选出的节点可能太过于边缘,
严重影响传
播范围。Nguyen
等〔⑴
将选出的第一批种子节点重新排序
筛选出不相邻的节点作为最终的种子节点,
提出了
proba
bility-based multi-hop
diffusion
算法(下文简称 pBmH 算
法),节点的重新筛选操作将消耗时间,若能直接选出符合 要求的节点将大大缩短时间复杂度。上述两类算法各有优缺点,基于传播的算法能够保证
算法的精度,但算法效率低,不适合大规模网络;基于拓 扑结构的算法具有较高的运行效率,但影响范围不及基于
传播的算法
,且在不同的网络结构上表现不
稳
定
'
Rich-club 高基于 算法性能的
有效途径。
Rich-club现象是选出的节点在传播过程中有
大量的共同邻居,这将严重限制了影响范围。如基于度 的影响力最大化选择策略,选择出的具有较大度的节点
间有许多的共同邻居,导致传播过程中只能影响到有限 的节点。
LIR算法虽解决了 Rich-club现象
,
但在某些网
络中得到的影响范围有限。pBmH算法需要对选出的种 子节点进行重新的筛选,过滤掉种子节点集合中互为邻
居的节点。如果在选取种子节点的时候能够将重叠的邻居忽略, 着重考虑种子节点的覆盖范围,就能够有效地避免
Rich-
club现象。因此本文则从节点覆盖范围的角度进行研究。
2算法描述及其优化本文利用节点覆盖范围来更好地解决Rich-club现象,
计算种子集合与其它节点的共同覆盖范围,选择具有更大
覆盖范围的节点作为种子节点,
重复此操作直至选够所需
要数量的种子节点,并根据CELF对更新节点覆盖范围进 行了时间上的优化,提高算法效率
。
节点的覆盖范围是指节点能直接影响到的范围,
即为
邻居节点集合。N为节点'的邻居集合,两个节点的覆盖
范围N为
Nv = N, u
N
因此种子节点集合S的覆盖范围
N,如下所示
N, = N⑴ u N …u — $ = S ,1,'…i # S
)
算法1: NCA
算法
输入:网络
#=($%
),种子节点数3
: 子 S(1) Initialize S = arg max{ Degree, & # $
}
(2) for i = 2 to 3 do
(3) for all j#V do
(4) N, = N, U 凡
#
5) endMor
(6) select u = arg
max
{
N& & # V\S
};
(7) S= S U {
"
};
(8) endfor
9) return
S
假设网络#= (V,E)有”个节点,m条边。计算节点 覆盖范围的复杂度为0($),需要选取
3个种子节点,
则
NCA算法的复杂度为O(n)。
每次选择一个种子节点后都需要重新更新网络中其它 节点的覆盖范围,这个过程比较费时,故使用了
CELF优
化策略衡量节点覆盖范围的增益效果来对NCA算法进行优
化。选出一个种子节点后,其它节点的覆盖范围会与种子
节点集合有重叠。因此,其它节点的覆盖范围增益将变小。
如若更新后节点的增益比其它未更新的节点增益大,此时
不需要更 其 的 益值
子
集合即可。节点&的覆盖范围增益计算公式如下
gain” = N, U N” / S — N,
其中,N”为节点”的邻居集合,N为种子集合S的节点覆 盖范围,S为网络中不属于种子节点的集合。
算法2: NCA优化算法NCA
_ CELF
输入:网络
G=(V,E),种子节点数3
: 子 S(1) Initialize ur(”)= 0 // cur 为更新标志,1
表
更 0 未更
;
(2) for al ” # V
do
(3) gain, = d” ]/ d”
为节点v的度值
(4) endfor
(5) Initialize S = arg max{gain, ” # V
}
(6) gain, =— 1
//
增益置负
(7) for
i=2to3
do
(8) select u = arg mox{gain&
”
# V
\ S
}
(9) if (ur(u) = = 1
)
(10)
S =S u
{u
}
(11) / ' update seed node coverage N
,
'
/
(12)
gain
u =—1