IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 基于BAS算法实现复杂网络社区发现问题——附python代码 -> 正文阅读

[网络协议]基于BAS算法实现复杂网络社区发现问题——附python代码

基于智能优化算法的复杂网络社区发现问题

第一章 基于天牛须算法求解复杂网络社区发现问题



前言

????????复杂网络社区发现问题,无疑是研究热点之一。社区发现方法有很多,最近一段时间将和大家一起分享一下基于智能优化求解复杂网络社区发现问题方面的知识及代码


一、基本天牛须算法

????????关于BAS算法的相关介绍就不再这里赘述了,没接触过的同学请阅读前文《智能优化算法:天牛须搜索算法》。

二、关于社区发现

????????基于智能优化算法求解社区发现问题,其实主要在于适应度函数的选取上。与单纯的数值优化相比,区别点在于适应度函数换成了模块度Q。
????????这里讲一句题外话,这篇博文只针对刚刚接触社区发现的同学。因此,其中涉及到的相关问题,本人并没有深入的写下去,包括模块度分辨率低、社区重叠等问题。在后续的博文中(如果我还有时间的话,“狗头”)我会继续和大家分享,还有,我没时间看私信和评论,大概一年看一次吧。

基本问题

  1. 社区的编码表示
  2. 天牛的左右须更新方式

????????上述两点解决了,基本上就没啥问题了。

????????社区编码这里采用“几节点几社区”的方式,假设有 n n n个节点的网络,则初始化 [ 1 , 2 , 3 , … … , n ] [1,2,3,……,n] [1,2,3,n]。初始化后,可以对初始的编码进行简单的操作,进行改善。比如,根据节点的邻居节点社区进行自节点社区更新。

????????关于天牛左右须问题,主要存在两点问题:一是,质心节点的选取,即选择哪个节点做为天牛的质心节点;二是,质心确定后,左右须按照什么规则进行更新。质心节点的选取,可以是随机的,可以是遍历的。但是在随机中,要保证禁忌性。即每次随机的质心节点要加入禁忌表中,防止每次随机都选到相同的节点。(PS:我师妹一开始就犯了这个错误,大家需要注意)在遍历中,需要确定每次遍历的次数,要保障Q最大化。
????????左右须更新规则其实也比较好理解,选定质心后,根据质心节点的邻居节点所属社区的频率进行更新,这里需要注意的是,变的是质心节点的社区编号。比如,节点5为质心,则观察节点5的邻居节点所属的社区[1,1,1,2,3,3,4]。所属社区最多的社区编号为1,则质心节点5的社区编号变为1,这就是左须的更新规则;同理,邻居节点所属社区编号第二多的作为右须。
????????下面是具体的效果,这里我没有对社区数量进行预设,即没有在代码中规定网络划分为几个社区。因为我考虑到,在已知网络时,确实如此操作是可以的。但是在处理随机、未知的网络时,这种预设的方式就行不通了,因此,这里我的社区数量没有进行预设。

另外,这个算法只是最最最基础的,可以在这个基础上进行很多的创新和改进。比如,我在算法中没有预设社区数量,最后划分出四个社区,与已知两个社区相比差别较大。那么如何改进?两点,其一从算法本身进行改进,包括分辨率、算法搜索能力;其二进行社区融合等等,各种方法,留给朋友们发散一下思维。

???????因为是基础算法,所以搜索能力一般般,每次运行结果得到的社区发现结果都不同,Q也不同。


总结

在这里附上python代码,大家有问题尽量不要再CSDN上找我,因为我真的不习惯看,可以从面包多上私信我。如果你私信我没回只有一个原因:你的问题让我感到很无语,请大家组织好语言,不要上来就高人一等哈,拜谢!

python代码链接 https://mianbaoduo.com/o/bread/YpicmZ1y

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 19:06:09  更:2022-03-30 19:07:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:22:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码