目标

在有用节点集U 中选择k 个初始节点,使其具有最大的传播影响范围。

方法

任一社区内,首先选择影响传播范围F 值最大的节点为起始点,将其加入集合S,并标记其邻居节点。在未标记的节点中继续选择一点,满足两节点所能影响到达的节点集合的和集最大,即节点数目最多,并标记其邻居节点。依此类推,每次选择的节点均为被标记的节点,遍历每个社区,直到选取完满足条件的k’ 个节点为止。

# 参数:节点关系的文件路径,节点传播范围F值的文件路径
# 输出文件路径,领袖个数def getLeaders(inputFileName_Node, inputFileName_TKFK, outputFileName, leaderNum):# 打开文件读入节点关系with open(inputFileName_Node, 'r') as file:# 保存节点关系node = {}for line in file.readlines():# 读出文件内容,以制表符分割line_s = line.strip().split('\t')# 如果发帖者已存在,直接将跟随者添加if line_s[0] in node:node[line_s[0]].append(line_s[1])# 不存在则先添加发帖者,并将跟随者添加在发帖者里else:node.setdefault(line_s[0], []).append(line_s[1])# 如果跟随者已经在节点里忽略,否则添加if line_s[1] in node:passelse:node.setdefault(line_s[1], [])# 打开文件读入传播范围Fwith open(inputFileName_TKFK,'r') as fileF:# 存储节点及对应的F值value_F = {}# 标记节点是否已使用value_Flag = {}# 读取文件内容for line in  fileF.readlines():line_s = line.strip().split('\t')value_F[line_s[0]] = float(line_s[2])value_Flag[line_s[0]] = False# 降序排序f值value_F_list = sorted(value_F.items(), key=lambda asb:asb[1], reverse=True)i = 1# 保存结果result_list = []while i <= leaderNum:for l in value_F_list:# 如果该节点没使用则标记该节点并放入结果里if not value_Flag[l[0]]:value_Flag[l[0]] = Trueresult_list.append(l[0])# 标记该节点的所有邻居节点for u in node[l[0]]:value_Flag[u] = Truebreaki = i + 1# 将结果保存至文件with open(outputFileName, 'w')as fileLeader:for result in result_list:fileLeader.write(result + '\n')# 使该程序既能单独运行也能作为模块导入
if __name__ == '__main__':getLeaders(r'D:\PycharmProjects\Demo\data\all.txt',r'D:\PycharmProjects\Demo\data\TkFk.txt',r'D:\PycharmProjects\Demo\data\leader_result.txt',20)

综合影响力模型InfG算法相关推荐

  1. 讲解AI三大方向的模型与算法!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 开课吧教育 公开课:人工智能的模型与算法 AI应用会是人类最好的工具, 是人类智能的延伸和拓展. ...

  2. 微软亚洲研究院资深专家、IEEE Fellow帮助您深入细致地学习网络传播模型和算法啦!...

    点击上方蓝字关注我们 任何社会性动物在个体与个体.群体与个体之间都存在着相互影响的关系,例如个体依从群体的行为会有利于猎食或减少被猎食的可能.而人类作为具有复杂交流手段的高级社会性动物,人际和社会影响 ...

  3. 工业大数据分析综述:模型与算法

    工业大数据分析综述:模型与算法 王宏志,梁志宇,李建中,高宏 哈尔滨工业大学计算机科学与技术学院,黑龙江 哈尔滨 150001   摘要:随着条形码.二维码.RFID.工业传感器.自动控制系统.工业互 ...

  4. 风控违约场景如何预测,来看看这份常见的三种模型实现算法对比

    在机器学习算法中,树模型在风控.营销等实际业务场景应用中始终备受青睐.其中对于GBDT集成学习树模型,我们是非常熟悉的,而且在此基础上发展而来的XGBoost.LightGBM更是我们日常建模场景中经 ...

  5. 武器目标分配问题研究进展: 模型、算法与应用

    源自:系统公正与电子技术 作者:李梦杰  常雪凝  石建迈  陈超  黄金才  刘忠 摘 要 武器目标分配问题是指挥控制与任务规划领域的关键难点之一, 也是军事运筹领域的基础研究课题.经过多年研究, ...

  6. 2022年中国隐私计算综合影响力 TOP10 企业

    在数据融合需求增强和数据保护要求提高的多重需求下,隐私计算成为技术最优解,并且在金融.政务.通信运营商.医疗.互联网等多个场景不断拓展.PCview隐私计算研究院围绕产品技术能力.数据运营能力.市场与 ...

  7. 机器学习三要素之数据、模型、算法

    参考:https://gitbook.cn/gitchat/column/5ad70dea9a722231b25ddbf8/topic/5b1086eccad6fe44db4c1268 1. 机器学习 ...

  8. 收藏 | 机器学习模型与算法最全分类汇总!

    题图 | AltumCode 机器学习模型与算法包括线性回归.对数几率回归.LASSO回归.Ridge回归.LDA.k近邻.决策树.感知机.神经网络.支持向量机.AdaBoost.GBDT.XGBoo ...

  9. 中国工程院院士陈左宁详述:人工智能模型和算法的七大发展趋势

    来源:C114通信网 在近日举行的"第十六届CCF全过高性能计算学术年会"上,中国工程院副院长.中国科协副主席.中国工程院院士陈左宁发表了题为<人工智能进展对算力需求分析&g ...

  10. TF之DD:利用Inception模型+GD算法生成带背景的大尺寸、高质量的Deep Dream图片——五个架构设计思维导图

    TF之DD:利用Inception模型+GD算法生成带背景的大尺寸.高质量的Deep Dream图片--五个架构设计思维导图 目录 TF中的Deep Dream实践:利用Inception模型+GD算 ...

最新文章

  1. 【强烈推荐】国土档案管理信息系统产品使用说明书系列目录【附下载地址】...
  2. C语言实现汉诺塔问题
  3. 阿里内部不显示 P 序列职级,“高 P”光环成过去式?网友:这下可以装大佬了...
  4. setInterval动态时间处理
  5. codevs 4560 NOIP2015 D2T2 子串
  6. 外部编辑Infopath的表单模板(xsn)
  7. 同学你好,听说你想学习做硬件?
  8. 前端学习(688):断点调试
  9. 在线阅读试听视频小程序模板源码
  10. 封装一个时间百分比多个数比较
  11. html文件如何转php文件,怎么把动态的php文件转换成静态的html文件,html文件是php文件…...
  12. python类中函数_如何在Python类中使用模块函数
  13. 大碰撞!当Linux多线程遭遇Linux多进程
  14. rsync实现同步文件
  15. vid在c语言中的作用,——PVID的作用及和VID的区别
  16. 研发面试问题回答技巧
  17. git ssh-keygen
  18. nlp研究的三个层次
  19. 鼠标右键点击文件夹、bat文件、txt文档,指针出现假死转圈的解决方法(Adobe Acrobat右键邮件选项引起的win10假死)
  20. 日历函数单元 (转)

热门文章

  1. 几种常见的数据分析模型
  2. 【AD封装】2.4G PCB天线(量产用)
  3. 超30亿人脸数据被泄露,美国AI公司遭科技巨头联合“封杀”
  4. 一文读懂各种分布式机器学习框架的区别与联系
  5. java 注解的实例化
  6. ssr 端口已被占用_解决 SSR for Windows 客户端烦人的 1080 端口已被占用
  7. 颜值测试API,微软小冰颜值,颜值API
  8. 复杂知识图谱问答综述方法、挑战和解决办法
  9. 【离散数学】数理逻辑 第一章 命题逻辑(6) 析取范式和合取范式、主析取范式和主合取范式及两者联系
  10. 监督学习、无监督学习、半监督学习、弱监督学习、强化学习