以前写过的一些影响力最大化问题的文章:

影响力最大化 IC模型+贪心算法
影响力最大化 模拟爆发(粗糙笔记)
影响力最大化 IC 蒙特卡洛模拟 贪心算法
影响力最大化 IMRank 我心中的最优算法
影响力最大化 CELF 成本效益延迟转发算法

这里做一下记录,不是想要讲解什么,怕以后自己会忘记,所以写的很粗糙,但是我别的blog还是很用心的。哈哈

大家共勉~~~

import random
from time import timeNUM_MC_ROUNDS = 100  # 可修改class SimuGreedy:def __init__(self):with open("graph.txt", "r") as file:self.graph = [[float(x) for x in line.split()] for line in file]self.num_vert = len(self.graph)self.status = [0 for _ in range(self.num_vert)]self.seed_set = []print('Graph with {0} vertices has been loaded.'.format(self.num_vert))print('Number of rounds in single Monte Carlo simulation: {0}'.format(NUM_MC_ROUNDS))def get_seed_set(self):tic = time()while True:max_val = max_id = 0for idx, state in enumerate(self.status):if state == 0:# print('evaluating V{0}'.format(idx))val = self.simulate_influence(idx)# print('V{0}: {0}'.format(idx, val))if val > max_val:max_val = valmax_id = idxself.seed_set.append(max_id)self.status[max_id] = 1# if max_val >= self.num_vert:if len(self.seed_set) == 5:breakelse:print('Current expected #influenced: {0}, {1}-element seed set: {2}'.format(max_val, len(self.seed_set), self.seed_set))return self.seed_set, time() - ticdef simulate_influence(self, vert_id):test_seed_set = [seed for seed in self.seed_set]test_seed_set.append(vert_id)cnt = 0for _ in range(NUM_MC_ROUNDS):live_set = [seed for seed in test_seed_set]newly_influenced_set = []temp_status = [s for s in self.status]temp_status[vert_id] = 1cnt += len(test_seed_set)while True:for idx, state in enumerate(temp_status):if state == 0:prob_not_influenced = 1.for live in live_set:prob_not_influenced *= 1 - self.graph[live][idx]prob_influenced = 1 - prob_not_influencedif prob_influenced >= self.get_rand():temp_status[idx] = 1newly_influenced_set.append(idx)if len(newly_influenced_set) == 0:breakcnt += len(newly_influenced_set)live_set = [inf for inf in newly_influenced_set]newly_influenced_set = []return cnt / NUM_MC_ROUNDS@staticmethoddef get_rand():return random.uniform(0, 1)if __name__ == '__main__':seed_set, time_cost = SimuGreedy().get_seed_set()print('--------------')print('Time cost: {0} s'.format(time_cost))print('Final indexes of vertices in {0}-element seed set:'.format(len(seed_set)))print(seed_set)

影响力最大化 模拟爆发(粗糙笔记)相关推荐

  1. 【转】如何从计算视角研究网络传播影响力最大化问题?

    电商中对社交网络的两个应用方向,基于社交网络做推荐和基于社交网络做裂变广告.有意思的是做电商的往往做不起社交,电商和社交数据很难打通,而不管做推荐还是做广告,所有的建模和分析都是基于用户行为数据的,不 ...

  2. 社交网络中基于位置的影响力最大化 CIKM2015 译文

    社交网络中基于位置的影响力最大化 摘要 这篇文章的目的是通过研究在LBSN平台中基于位置的影响最大化来实现O2O模式上的产品推广.随着O2O环境下存在的消费行为,传统的线上影响力扩散模型不能准确描述产 ...

  3. 干货!网络推断与数据驱动的影响力最大化问题

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 影响力最大化是指在社交网络中选择少量种子节点,以最大限度地扩大这些种子的影响力,这在过去二十年中已经得到了广泛的研究.在规范环境中,整个 ...

  4. 读《影响力》西奥迪尼---笔记

    读<影响力>西奥迪尼---笔记 1    本书框架:包括互惠.承诺与一致.社会认同.喜爱.权威.稀缺六大影响力武器 2    文书意图:从原理.成因上讲述这六个影响力武器对我们的影响,以及 ...

  5. 一种有效的基于路径的社交网络影响力最大化方法【论文阅读】

    文章目录 一.论文的亮点 二.HIPA算法具体过程 三.论文的优缺点 四.自己的收获点 五.未来可能的突破点 [摘要]本文是关于影响力最大化相关内容:内容的是关于论文An efficient path ...

  6. Information Sciences 2022 | 利用图嵌入和图神经网络实现社交网络中的影响力最大化

    目录 前言 1. 影响力最大化 2. SGNN 2.1 标签生成 2.2 struc2vec 2.3 GNN特征处理 2.4 回归预测 2.5 整体框架 3. 实验 3.1 数据集 3.2 评价指标 ...

  7. 会议笔记_一种带时间约束的影响力最大化算法

    引入时间因素 节点或者人在不同时间影响其他节点的属性不同 两个创新点: 最早激活时间:超过时间约束不会被激活 累计传播延时:激活一个节点需要多少时间 种子选择方法(三步): 第一步·设计包含时间约束的 ...

  8. Influence Maximization影响力最大化

    在现代社会,信息是最重要的.如果目前我们有了一份信息,而我们想要 最大化地传播信息,则我们得考虑如何选择切入点,选择哪些人作为初始传播 的节点,可以使全网受到信息的影响最大. 一个公司想向市场推广一个 ...

  9. 北航数据结构与c语言2017答案,2022年北京航空航天大学991数据结构与C语言程序设计考研资料汇总:参考书目-历年考研真题-模拟题库-笔记和课后习题详解...

    北京航空航天大学软件学院官网网址: 991数据结构与C语言程序设计考研参考书目: 谭浩强<C程序设计>(第4版)笔记和课后习题详解 谭浩强<C程序设计>(第4版)精讲班[教材精 ...

  10. 毕业设计-模拟数据集生成笔记

    使用的数据及工具 单细胞基因表达普数据,行为barcodes(测序技术检测得到的样本,约有1000-3000个),列为基因(不同的基因看作不同的变量,个数从2000-50000不等).使用的工具为R ...

最新文章

  1. 20162329 张旭升 2017 - 2018 《程序设计与数据结构》第五周总结
  2. 排序算法 快速排序 python 0913
  3. B. Fortune Telling
  4. html 打开页面光标自动选中输入框_Python自动部署码云:
  5. SDL1.3(C语言)程序移植LINUX。。。
  6. 01 你了解依赖倒置原则吗
  7. 当你不能够再拥有,你唯一可以做的,就是令自己不要忘记
  8. 如何用hb制作一个html网页,HTML网页制作基础
  9. 5G核心网中的数据管理
  10. 转 | pll loop的tran与stb仿真
  11. iis服务器响应缓慢,IIS网站加载缓慢怎么办?如何处理?
  12. 突破KEIL软件编译时 C51中断号最大只能为31限制的补丁,使中断号可以达到256
  13. 电话交换机--程控交换机
  14. 二维离散余弦变换(DCT)与二维离散反余弦变换(IDCT)C语言实现
  15. 学Java可以不学算法吗-学java有必要学算法吗?
  16. java implement和extends
  17. 2021年高处作业登高架设证考试题库
  18. 《Clean Code》代码的整洁之道(一)
  19. Ubuntu16.04 RTX2060 安装CUDA10.2
  20. kindle取消注册与注册教程

热门文章

  1. 如何画出企业系统架构图
  2. Socket编程面试题
  3. 腾讯云神图·人脸识别(Face Recognition)常见问题的解答
  4. 【2020年数据分析岗面试题】不断更新...(含自己的理解、思考和简答)
  5. 解决office2016显示图标异常——转载
  6. zemax中非序列添加相位面_zemax非序列照明技巧汇编
  7. 实验一:常用网络命令操作
  8. Steam注册遇到CAPTCHA问题,一直注册不了,一个简单的注册办法
  9. Mixly编程使用Arduino ESP32实现ESP-NOW组网
  10. 挨踢部落故事汇(9):女程序媛的开发梦