用于解决复杂网络社团划分的FastNewman改进算法matlab源程序
- 资源大小:61.07 kB
- 上传时间:2021-06-29
- 下载次数:0次
- 浏览次数:1次
- 资源积分:1积分
-
标 签:
Matlab
资 源 简 介
FastNewman算法用于解决复杂网络社团划分问题,但是原始的FastNewman算法的复杂度太高,当网络节点增多到上万个节点后,算法运行一次需要数天的时间,而且输入矩阵也会占据很多内存。算法的原理及原始代码见链接(转载):http://www.docin.com/p-668567774.html
算法改进方案:
1. 输入的连接矩阵由原来的n*n(n为节点个数)矩阵,变为m*2(m为连接个数)矩阵,减少了输入数据量,改变了算法内部数据处理方式
2. 算法内部原来的循环处理方式,通过matlab特有的矩阵化处理方式进行优化,减少循环使用次数,降低了算法复杂度
3. 算法内部对e矩阵的计算由原来的对节点的循环方式,改为对连接的循环方式,循环次数由原来的n*n次减少至m次
压缩包文件注释:
1. main.m 为算法主程序,内部包含对算法和数据文件的调用,以及图片生成程序
2. FastNewman.m 改进的Fast Newman算法
3. class_cal.m 用于对算法输出的Z矩阵进行处理,生成各个类内的节点细胞矩阵
4. 50.mat 50个节点的复杂网络,包含节点坐标和连接矩阵
5. 聚类树状图.jpg 对Z矩阵的画图
6. 聚类效果图.jpg 对class_cal.mat输出结果的画图
文 件 列 表
class_cal.m
FastNewman.m
main.m
50.mat
聚类树状图.jpg
聚类效果图.jpg