影响力最大化 RIS 反向影响力采样算法

影响力最大化RIS算法

简介

对于影响力最大化问题,我以前写过几个blog
影响力最大化 IC模型+贪心算法
影响力最大化 模拟爆发(粗糙笔记)
影响力最大化 IC 蒙特卡洛模拟 贪心算法
影响力最大化 IMRank 我心中的最优算法
影响力最大化 CELF 成本效益延迟转发算法

这篇文章主要是介绍一种解决静态网络的影响力最大化问题,RIS方法是Reverse Influence Sampling,反向影响力采样,这是我直译的,但是这个中文名字其实很真实的反映了这个算法的几个重点思想,在后面我们一一介绍。

RIS算法是2014年提出的,感兴趣的话大家可以去scholar搜一下。算是比较新的IM算法了。

随机反向可达集

我们用一个示例来进行展示,首先创建这样的一个图:

在这里插入图片描述

打印出来是这样的:

在这里插入图片描述

然后对上图进行采样,也就是生成一个01之间的随机数,如果某一条边比这个随机数高的话那么这条边就保留,否则就去掉。

在这里插入图片描述

于是我们得到这样的图:

在这里插入图片描述

这就完成了一次RIS采样。然后我们这样定义随机反向可达集(Random Reverse Reachable Set,以下称为RRS)

在这里插入图片描述

如上图所示,我们求的是v2的RRS,可见我们可以理解为,节点v的RRS中的任意节点u被激活都有可能激活节点v。RRS很好理解的。

关键就是如何求解RRS,在真正的应用中一般不会只求一个点的RRS,而是一个source点集的RRS。

求解RRS大致思路:

  1. new_set = [source], RRR_tmp = [source]
  2. while(new_set 不为空)
    tmp = g[那些边的D是在source里面][‘O’]
    RRR = list(set(RRR_tmp + tmp))
    new_set = list(set(RRS) - set(RRR_tmp))
    RRR_tmp = RRR[:]
    return(RRR)

最大贪婪覆盖算法

其实这里不是要介绍这个算法,现在我们已经知道如何求解RRS了,接下来就需要用到最大贪婪覆盖算法来解决影响力最大化问题了。

首先我们不是要得到一个RRS,而是随机选择N个(一般N比较大,超过10000,越多正确率越高)source集合,然后得到N个RRS集合。在这N个RRS集合中我们使用最大贪婪算法:

RRS_list中有N个RRS

  1. for i in range(k):
    #k表示要求解的seed集合中有几个元素。
    寻找RRS_list中出现次数最多的v,添加到seed集合
    将拥有v节点的RRS集合在RRS_list中删掉
    return(seed)

在实现的代码中我使用的是词袋模型来找到出现次数最多的v。

算法近似比

在原来的博客中有朋友问到了近似比,原来一直没注意,我会在以后的图算法中增加这一个度量的分享。

很明显RIS算法得到的不是最优解,而是近似最优解,这时候就有一个重要的衡量:近似比。

假设一个最优化问题的最优解是c*,近似最优解是c,那么算法的近似比是:

在这里插入图片描述

通常情况下,这个性能近似比是输入规模n的函数:

在这里插入图片描述

RIS的近似比:
(1−1/e−ϵ)

时间复杂度

RIS的事件复杂度大大低于IC和CELF,这是有道理的。

我们可以这么想,CELF和IC都是通过贪心遍历然后得到局部最优解。随着n的增大事件复杂度暴增,这就是我觉得CELF和IC贪心是不太实用的传播模型。

但是RIS只在一开始进行一次生成RRS的遍历,然后在求解过程中并不存在后继的遍历计算。用论文中的一句话一开始生成的RRS用于通知网络内的节点扩展。

但是和IMRank算法的时间效率我不太确定,后面我会下一篇关于这两个的事件效率的比较。我先预测一下,我觉得IMRank会更快一些,但是随着n的增加不知道会呈现什么趋势。

源代码

传送门

大家共勉~

  • 11
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RIS(Reconfigurable Intelligent Surface)是一种基于控制反射技术的无线电通信技术,通过在环境中部署大量的可编程反射元件,来调整和优化电磁波在空间中的传输和接收,从而提高信号质量和覆盖范围。 下行定位是指通过RIS向移动设备发送信号,在移动设备上接收到信号后,通过处理信号来确定移动设备的位置。下面是一个基于matlab的RIS下行定位的算法。 1. 环境模型建立 在matlab中建立一个模拟环境,包含RIS、基站和移动设备。在环境中随机部署RIS和移动设备,并设置基站的位置。同时,还需要设置反射面的大小、反射系数等参数。 2. 信号传输模型 根据环境模型建立信号传输模型,计算从基站发射的信号在RIS和移动设备上的传输损耗和相位差。其中,传输损耗可以通过路径损耗模型计算得到,相位差需要考虑信号在反射面上的反射角度和反射系数等因素。 3. 信号接收模型 在移动设备上接收到信号后,需要进行信号处理,计算接收信号的功率和相位。接收功率可以通过信号强度指示(RSSI)或信噪比(SNR)等方式计算,接收相位则需要进行相位解调等处理。 4. 定位算法 通过接收到的信号功率和相位差,可以计算移动设备和RIS之间的距离和位置关系。根据多个RIS的信息,可以采用多普勒雷达定位算法、最小二乘法定位算法等方式进行定位。 5. 优化算法 为了提高定位精度,可以采用粒子群优化算法、遗传算法等方式对定位算法进行优化。 以上就是一个基于matlab的RIS下行定位的算法,其中还有很多细节需要考虑,但这是一个基本的框架。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值