Vertex cover preprocessing for influence maximization algorithms

 Abstract

   影响力最大化问题是社交网络分析中的一个基本问题,其目的是选择一小组节点作为种子集,并在特定的传播模型下最大化通过种子集传播的影响力。本文研究了独立级联模型下影响力最大化算法中执行顶点覆盖作为预处理的效果。所提出的方法从主要计算过程中消除无效节点,以找到最有影响力的节点。基于结果,将所提出的算法与现实世界数据集上的几种方法相结合,证实了该方法的效率。

关键词——社交网络;影响力最大化;独立级联模型;顶点覆盖;病毒式营销;

I. INTRODUCTION

   近二十年来,随着通信技术的发展和互联网的普及,社交网络在信息传播、互动和建立人与人之间的关系方面发挥着至关重要的作用。此外,由于世界各地绝大多数人都使用社交网络,因此每天可以交换大量有价值的信息和想法] 1 [ 。如此大量的信息引起了研究人员对社交网络应用研究的关注。过去的研究在社交网络中的信息传播方面导致了病毒式营销等应用平台的进步。病毒式营销作为一种成功的技术,利用口碑效应,是一种实用的商业方法。同时,它在社交网络中向其他人宣传和传播信息。广告作为病毒式营销的最基本目标,强调基于个人希望受到朋友和邻居影响的事实来销售新产品。为了实现这一目标,在社交网络中寻找有影响力的个体是切实可行的方法之一] 2 [ 。寻找有影响力的个人进行大规模广告激发了社交网络的理论研究,即影响力最大化。因此,这是本文研究的基础。

  影响力最大化(IM)旨在找到一小组节点,通过激活这些节点,社交网络中的影响力传播将最大化。形式上,影响力最大化问题,输入图 G (V, E) 和预定义的 K 值,试图以 |S| 的方式找到集合 S ⊆V = k 且影响函数 S,σ(S) 在特定扩散模型下最大化[3].Eq1。集合S的影响函数是集合S能够活跃的预期活跃节点数。

   第一项研究是由 Kemp 等人完成的。它将 IM 表述为离散优化问题。他们证明了在独立级联模型(IC)和线性阈值(LT)模型下计算 IM 问题的最优解是一个 NP 难问题。他们的贪心算法保证了(1-1/e)的近似比,其中e是自然对数的底数[3]。然而,他们的贪心算法需要很长时间,并且不适合大型网络。因此,人们进行了大量的研究来缓解这种算法。 CELF算法作为实用方法之一,由Leskovec等人提出。 [4]。与贪心算法相比,该算法提高了在网络中查找节点的速度。结果表明,运行时间仍然较高,不适合大型网络。一段时间以来,这个问题已成为社交网络研究者的热门话题。与此同时,各种研究都集中在提高其加速速度和影响力传播上[1,2,5-8]。由于社交网络已显着增长,寻找有影响力的节点需要快速的计算和较短的响应时间。很明显;大规模社交网络中存在许多无效节点。因此,从计算过程中删除其中部分或全部可以减少计算开销。

     当前的论文使用去除无效节点过程作为在社交网络中执行 IM 算法之前的预处理阶段。而且,它的目的是提高内存使用率、影响力传播、加速;建议的方法使用寻找一组顶点作为顶点覆盖的想法。顶点覆盖问题旨在找到覆盖图中所有边的节点子集。由于寻找最小顶点覆盖被证明是 NP 困难问题,因此存在针对次优解决方案的实用近似算法[9]。所提出的方法中使用了贪婪算法,作为解决该问题的有效近似算法之一。所提出的方法可以用作大多数 IM 算法的预处理阶段。因此,它降低了时间复杂度并保持了效率.

   纸张的其余部分形成如下。第二节介绍了 IM 问题的相关工作。同时,第二节提供了所提出方法的相关定义,然后分析了时间复杂度。此外,在第四节中,显示了真实数据集上的实验结果。最后,第五节给出了结论。

II. RELATED WORKS

     IM 问题首先由 Domingos 和 Richardson 在 2001 年为了寻找一组有利可图的客户而提出。他们使用马尔可夫随机场对这个问题进行建模,并提出了一种概率方法[10]。坎普等人。将 IM 问题表述为离散优化问题。他们还引入了一种简单的贪婪爬山算法,该算法保证预期影响力扩散在最佳影响力扩散的 (1-1/e) 范围内[3]。受kemp研究的启发,许多算法都致力于解决IM问题,并试图提高kemp贪心算法的效率。莱斯科维克等人。利用子模块化性质,提出了CELF算法,它比贪婪方法快了近700倍。虽然他们的方法速度很快,但不适合大规模社交网络并且需要很长时间[4]。此外,陈等人。提出了SD算法,假设节点的影响力根据节点的度数而增加。 SD挑出度数最好的节点,然后减少其直接邻居的值,直到所有节点都被选择[6]。

   IM 问题首先由 Domingos 和 Richardson 在 2001 年为了寻找一组有利可图的客户而提出。他们使用马尔可夫随机场对这个问题进行建模,并提出了一种概率方法[10]。坎普等人。将 IM 问题表述为离散优化问题。他们还引入了一种简单的贪婪爬山算法,该算法保证预期影响力扩散在最佳影响力扩散的 (1-1/e) 范围内[3]。受kemp研究的启发,许多算法都致力于解决IM问题,并试图提高kemp贪心算法的效率。莱斯科维克等人。利用子模块化性质,提出了CELF算法,它比贪婪方法快了近700倍。虽然他们的方法速度很快,但不适合大规模社交网络并且需要很长时间[4]。此外,陈等人。提出了SD算法,假设节点的影响力根据节点的度数而增加。 SD挑出度数最好的节点,然后减少其直接邻居的值,直到所有节点都被选择[6]。加快运行时间并注重方法的可扩展性。曹等人。建议OASNET[11]。该算法通过假设社区是独立的并且影响力不能跨不同社区传播来识别子社区。 OASNET采用CNN方法进行社区检测,将网络划分为c个社区,其中c为常数。然后它从每个社区中选择 k 个节点。最后,它在c中选择k个最有影响力的节点。 K 个节点。在[7]陈等人。提出了CIM算法。它分三个阶段寻找有影响力的节点。在第一阶段,采用启发式分层社区检测方法来获取社区结构。然后在第二阶段,根据每个社区的网络拓扑和属性选择候选节点。第三阶段,从候选节点中选出k个有影响力的节点作为种子节点.

III. PROPOSED METHOD

   随着社交网络的扩展和人们的广泛使用,社交网络的规模日益增大。因此,寻找有影响的节点会带来一些问题,例如内存不足、处理速度减慢。所提出的克服这些问题的方法在运行原始算法之前提供了预处理模式。该方法在减少内存、改进检测有用节点的过程和加速进程方面很有用。所提出的方法使用顶点覆盖问题 VCP 作为预处理。它通过顶点覆盖集在应用 IM 算法之前删除无效节点。顶点覆盖是给定图的顶点子集,其中每条边都连接到子集中的至少一个顶点[9]。寻找最小顶点覆盖是图论中的优化问题。

  Definition of vertex cover:  

给定图 G(V, E) 节点 V 的集合和边 E 的集合,顶点覆盖问题是找到一个集合 D⊆V,其中对于每条边 {u,v} ε E、u ε D 或 v ε D [ 12]。图 1(a) 显示了一个包含六个节点和六个边的图。在图 1(b) 中,顶点覆盖集以红色显示。从观察来看,图中的所有边都连接到红色节点

Definition of minimum vertex cover:

图 1 (a) 包含六个节点和六个边的示例图。 (b) 顶点覆盖集 (c) 最小顶点覆盖。

  具有最少顶点数的顶点覆盖集 S(|S| = min {|D |,D 是顶点覆盖集})。图 1(c) 显示了最小顶点覆盖。所提出的方法 VCP 声称大多数有效节点都在顶点覆盖集中。这样,VCP不再在图的所有节点中寻找有效节点,而是仅检查顶点覆盖集并剪枝其他节点。结果,计算量显着减少。另一方面,有两个因素表明寻找最小顶点覆盖集不适用于 IM 算法的预处理。主要依据是该问题自然是NP问题。因此寻找最小集合需要大量的计算时间。同时,第二个动机是它会将给定的集合大小(作为输入)减少太多,从而限制了有效节点的范围。

  因此,这将使所提出的方法无效。根据现状,VCP 方法建议使用近似算法来查找顶点覆盖(不一定是最小集)。所提出的方法使用算法1,其时间复杂度为O(|V|+|E|),并且近似系数为2[9]。

在算法1中,顶点覆盖集由D表示,它在第1行中用null初始化。在第 2 行中,集合 E ́ 保存图的边的副本,在第 3 行中,在迭代过程中检查每条边。从 E ́ 中选择了一条边 (u, v),并将其端点添加到集合 D 中。然后,将连接到每个端点 u 或 v 的所有边从集合 E ́ 中删除。因此,去除É中的所有边后,得到集合D作为顶点覆盖集合。

图 2. 在“Zachary’s karate Club”网络上执行顶点覆盖

图 2 展示了在“Zachary’s karateclub”数据集 [13] 上执行该算法的结果。 “扎卡里的空手道Club”网络有34个节点。算法1选择18个节点作为顶点覆盖集。这样,有效节点就可以从18个节点中进行选择,而不是34个节点。因此,该数据集的计算过程几乎可以减少一半。

IV. EXPERIMENTS

   本节论文展示了IC模型下VCP算法的效率。所有实验均在 Windows PC intel corei7 3.07 GHz、8GB 内存上进行。该算法已在最大 6GB 堆大小的 Java 中实现。此外,为了获得种子集蒙特卡罗的影响扩散,模拟了10000次迭代。

A. Experimental results

   在这项研究中,使用了四个真实世界的数据集来检查所提出方法的性能。文献[1]中介绍的Dolphin网络展示了Dolphin的合作网络。它包括七年来海豚之间的行为。该网络中的节点代表海豚,边显示海豚之间的连接。 GrQc 社交网络 [2],来自 arXiv 的协作网络,它展示了“广义相对和量子宇宙学”类别中共同撰写的文章。节点代表作者,边代表文章中作者之间的协作。 NetHEPT网络[3]。该社交网络还表明了文章作者之间的关系。该网络源自 1991 年至 2003 年间 arXiv 数据库的“高能物理理论”部分。维基投票网络 [4]。它是一个用于选择维基百科网站管理员的投票网络。在这个网络中,节点是站点用户,边 (u, v) 意味着 u 投票给了 v。表 I 提供了真实世界数据集的统计特征.

  此外,为了评估所提出的方法,结合CELF[4]、DDSE[8]和IPA[17]算法对预处理阶段的性能进行了研究。 CELF算法已使用1000次MonteCarlo模拟,IPA中的阈值设置为θ=1/160。 DDSE探索性算法使用遗传学来解决最大化问题的影响。此外,IPA 算法是一种基于路径的启发式方法,基于路径独立的假设。

表II显示了有关VCP通过设置k=50删除测试数据集无效节点的性能的信息。该表显示数据集中删除节点的平均数量。例如,从 NetHEPT 数据集中可以看出,使用 VCP 平均消除了数据集中 20% 的节点(近 3K 个节点),从而提高了速度,从而减少了运行时间。

   表III说明了在预处理阶段应用VCP方法后删除的有效节点的平均百分比。这样,执行VCP算法后的剩余节点就与每个算法的最终响应进行了比较。从观察来看,该方法消除了微不足道的有效节点,对最终结果确实有积极的影响。例如,在GrQc网络中,将VCP应用于IPA算法仅删除IPA算法找到的50个有效节点之一,而不添加VCP。

图3. 基于IC模型的不同算法对四个现实世界网络的影响分布,其中主动概率为p=0.01

图 3 显示了不同算法对基于 IC 模型的四个现实数据集的影响分布,其中主动概率为 p = 0.01。每幅图都说明了在预处理之前和之后对不同数据集执行算法的情况。据观察,应用VCP作为影响力最大化算法的预处理,不仅不会对最终的影响力扩散率产生不利影响,而且还可以提高影响力扩散率。

除此之外,图 4 提供了有关测试数据集上不同算法的执行时间的信息,以在每个网络中选择 50 个种子节点。在此图中,x 轴描述种子集,y 轴提供时间的对数值。从图 4 中观察,结果表明,将 VCP 方法与其他算法相结合具有优异的性能,并减少了所有比较算法的执行时间。在大型数据集中,它也更加具体。更准确地说,网络越广泛,VCP 的性能就越好。例如,在 NetHEPT 数据集中将 VCP 方法与 CELF 算法相结合,记录了出色的性能,并将运行时间减少了约 7 分钟。

CONCLUSION

  本文提出了一种实用的预处理方法来解决社交网络中 IC 模型下的影响力最大化问题。该方法的成就可以与减少算法的运行时间有关,这是通过对主图进行预处理并从影响力传播计算过程中消除无效节点而获得的。此外,它还改善了影响力传播,从而在网络中找到更有影响力的节点。在真实社交网络上执行该方法的实验结果表明,该方法与其他算法结合具有更好的性能,并且可以在可接受的时间内减少在大型网络上运行该算法的时间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/466798.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

考研复习C语言进阶(4)

1. 为什么存在动态内存分配 我们已经掌握的内存开辟方式有: int val 20;//在栈空间上开辟四个字节 char arr[10] {0};//在栈空间上开辟10个字节的连续空间 但是上述的开辟空间的方式有两个特点: 1. 空间开辟大小是固定的。 2. 数组在申明的时候&#…

Stm32-使用TB6612驱动电机及编码器测速

这里写目录标题 起因一、电机及编码器的参数二、硬件三、接线四、驱动电机1、TB6612电机驱动2、定时器的PWM模式驱动电机 五、编码器测速1、定时器的编码器接口模式2、定时器编码器模式测速的原理3、编码器模式的配置4、编码器模式相关代码5、测速方法 六、相关问题以及解答1、…

软件测试入门基础

说到软件测试,那么首先得和没有基础的同学们,讲解一下,平时我们使用的那些app,比如淘宝,微信是怎么进行交互的呢?在淘宝上下个订单,按钮按出去为什么就能下单成功呢?微信看朋友圈&am…

组建对等网

一、概念 对等网络(Peer-to-Peer, P2P)是一种分布式网络架构,其中每个参与节点(称为"对等体"或"节点")既可以作为客户端也可以作为服务器,直接与网络中的其他节点分享资源&#xff08…

windows上安装虚拟机及搭建Linux环境

虚拟机的安装 VMware Workstation Player(虚拟机),下载网址如下: VMware Workstation Player | VMwarehttps://www.vmware.com/content/vmware/vmware-published-sites/us/products/workstation-player.html.html?srcWWW_Player7Pro_US_HPPromo_Introducing 进入网…

8.Python从入门到精通—Python 字符串,转义字符,字符串运算符

8.Python从入门到精通—Python 字符串,转义字符,字符串运算符 Python 字符串创建字符串访问字符串中的字符字符串切片字符串操作符字符串方法 Python 转义字符Python字符串运算符 Python 字符串 在 Python 中,字符串是一种基本数据类型,用于表示文本数据…

深度学习pytorch——基本数据类型创建Tensor(持续更新)

声明:本深度学习笔记基于课时18 索引与切片-1_哔哩哔哩_bilibili学习而来 All is about Tensor 定义:Tensors are simply mathematical objects that can be used to describe physical properties, just like scalars and vectors. In fact tensors a…

地址转换函数(ip地址在计算中的识别方式,ipv4与ipv6)

ip地址在计算中的识别方式 ip地址如192.168.3.103是字符串 在计算机中该字符串ip用整型保存并识别。 ipv4与ipv6 ipv4 有四组,每组一个字节,一共4x832位 ipv4一共有 2^32 42 9496 7296 个地址。 ipv6 IPv6是由八组,每组四位16进制数字…

Java:设计模式

文章目录 参考简介工厂模式简单工厂模式工厂方法模式抽象工厂模式总结 单例模式预加载懒加载线程安全问题 策略模式 参考 知乎 简介 总体来说设计模式分为三类共23种。 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模…

【晴问算法】入门篇—贪心算法—区间选点问题

题目描述 给定n个闭区间,问最少需要确定多少个点,才能使每个闭区间中都至少存在一个点。 输入描述 输出描述 输出一个整数,表示最少需要确定的点的个数。 样例1输入 3 1 4 2 6 5 7输出 2 解释 至少需要两个点(例如3和5&#xff…

Java基础夯实【进阶】——八股文【2024面试题案例代码】

1、Java当中什么是线程和进程 在Java中,线程和进程是两个非常重要的概念。进程可以被视为一个执行中的程序的实例,它拥有自己的内存空间和系统资源。而线程则是进程中的一个实体,由进程创建,并允许程序在同一时刻执行多个任务。J…

Jenkins实现CICD(4)_Jenkins和gitlab进行交互

文章目录 一、实现功能二、操作思路三、插件安装四、jenkins与gitlab集成配置2.1、需求2.2、gitlab生成 API认证token2.2.1、创建token 2.3、jenkins使用gitlab API通信2.3.1、创建凭据2.3.2、查看创建结果 2.4、jenkins 集成 Gitlab2.4.1、配置2.4.2、操作流程 参考&#xff1…

XDAG节点版本更新(0.6.5升级到0.7.0)

1、拉取最新的xdagj源码 mkdir /root/xdagj-0.7.0 && cd /root/xdagj-0.7.0 git clone https://github.com/XDagger/xdagj.git cd xdagj mvn clean package -Dmaven.test.skiptrue2、创建新的数据目录并解压程序包 mkdir /data/docker-compose/xdagj-7.0/bin -p cd /…

Linux使用git命令行教程

. 个人主页:晓风飞 专栏:数据结构|Linux|C语言 路漫漫其修远兮,吾将上下而求索 文章目录 git安装git仓库的创建.git 文件添加文件git 三板斧(add,commit,push)解释拓展git log.gitignore git安装 首先输入git --version看看有没有安装git 如…

STM32F4+薄膜压力传感器(FSR)AO模拟输出程序ADC模数转换器详解

前言:博主在使用STM32F4加薄膜压力传感器用来测量压力时,发现给的例程只有STM32F1系列的,而STM32F4系列库函数程序不太一致,博主实战解决了该问题,用STM32F4标准库开发。有关ADC模数转换器的详细知识点详情点击我的博文…

【深度长文】聊一聊 Java AbstractQueuedSynchronizer 以及在 ReentrantLock 中的应用

文章目录 AQS 原理简述内部数据结构公平锁 vs. 非公平锁ReentrantLock 非公平锁ReentrantLock 公平锁 AQS 源码分析加锁过程addWaiteracquireQueuedshouldParkAfterFailedAcquirecancelAcquire 解锁过程unparkSuccessor AbstractQueuedSynchronizer (AQS) 是 Java 并发包中&…

【AUTOSAR】【通信栈】Fls

AUTOSAR专栏——总目录-CSDN博客文章浏览阅读592次。本文主要汇总该专栏文章,以方便各位读者阅读。https://blog.csdn.net/qq_42357877/article/details/132072415?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132072415%22…

【电路笔记】-MOSFET作为开关

MOSFET 作为开关 文章目录 MOSFET 作为开关1、概述2、MOSFET特性曲线2.1 截住区域2.2 饱和区域3、MOSFET作为开关的示例4、功率MOSFET电机控制5、P沟道MOSFET作为开关6、互补MOSFET作为开关电机控制器当 MOSFET 在截止区和饱和区之间工作时,MOSFET 是非常好的电子开关,用于控…

RK3588 Buildroot 增加本地模块(单独编译/加入系统配置)

前言 本文基于 RK3588 Buildroot 编写. 在RK3588开发板环境下,开发者通常利用Buildroot来定制适合RK3588芯片特性的嵌入式Linux系统。通过Buildroot,开发者能够根据实际需求裁剪系统组件、添加特定驱动、配置内核特性,并集成用户应用程序&a…

哪里有视频素材网站免费下载?高清烟花视频素材哪里有?

如果你在寻找那些能点亮夜空的绚丽烟花视频素材,或者无水印的高清视频素材,那下面这些资源网站将会是你的宝库。今天,我要分享给你一些最佳的无水印视频素材下载网站,让你的视频制作闪耀起来。 1.蛙学府 这个网站是视频创作者的天…