# CNAT **Repository Path**: mervin/CNAT ## Basic Information - **Project Name**: CNAT - **Description**: The Complex Network Analysis Tool - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: http://cnat.mervin.me - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2013-09-11 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README CNAT--The complex network analysis tool 注: 1,这是自己利用业余时间开发的一个项目,难免有所缺陷和不足,希望各位仁兄提出宝贵意见和建议,不断改进。 2,希望更多的开源爱好者加入项目,完善功能。 3, 未来需要添加的功能有:社区划分、分形、可视化等等。 4, 该项目使用国际编码方式UTF-8,Windows下的编码方式为GBK,所以在导入工程后通过修改项目的属性来更改项目的编码方式。 5, usr目录是用户目录,所以该目录内的文件注释不是很详细 功能: - 网络图构造:模型建网和真实数据建网(支持.net文件) - 多网络的对比:新生节点和连接,消失的节点和连接,稳定的节点和连接 - 网络特征量分析:度分布,核层次性,聚类系数,紧密度,节点和边介数,路径, 匹配系数。 - 多种网络模型: * 随机模型:随机网络模型,全局耦合网络模型,最近邻耦合网络。 * 小世界模型:WS小世界模型,NW小世界模型。 * 无标度模型:BA模型,适应度模型 * Internet模型:PFP模型 - 地震网络模型 - 链路预测评价指标 * AUC * Precision - 链路预测算法 * 基于相似性 * 基于最大似然估计 文件目录结构: ++| 目录 --| 文件 --> 变量 ==> 函数 >> 枚举 \\ 注释 ++| src ++| core --------------------------------------\\核心文件 --| Global.java -----------------------------\\全局配置文件 --| AbstractModel.java ----------------------\\网络模型抽象类 --| Edge.java -------------------------------\\网络中的边 --| Node.java -------------------------------\\网络中的节点 --| InterfaceNet.java -----------------------\\网络操作接口 --| Network.java ----------------------------\\网络操作类 ++| feature -----------------------------------\\网络特征量计算 --| AssortativeCoefficient.java -------------\\匹配系数 --| Betweenness.java ------------------------\\介数,有向和无向 --| Closeness.java --------------------------\\紧密度,有向和无向 --| ClusterCoefficient.java -----------------\\聚类系数 --| Degree.java -----------------------------\\度 --| MultiNet.java ---------------------------\\两个网络的节点和边的比对 --| Path.java -------------------------------\\路径(最短路径,最短路径树)有向和无向 --| PCB.java --------------------------------\\无向网络中最短路径、介数、紧密度、网络直径的计算 ++| linkPrediction ----------------------------\\链路预测算法 ++| evaluation ------------------------------\\评价指标 --| AUC.java ------------------------------\\AUC评价指标 --| Precision.java ------------------------\\Precision评价指标 ++| similarity ------------------------------\\基于相似性的链路预测算法, ++| global --------------------------------\\基于全局性的相似性链路预测算法 --| RWR.java ----------------------------\\RWR算法 ++| local ---------------------------------\\基于局部的相似性链路预测算法 --| CN.java -----------------------------\\CN算法 --| AA.java -----------------------------\\AA算法 --| RA.java -----------------------------\\RA算法 ++| quasi ---------------------------------\\基于半局部的相似性链路预测算法 --| LP.java -----------------------------\\LP算法 --| LRW.java ----------------------------\\LRW算法 --| SRW.java ----------------------------\\SRW算法 --| Similarity.java -----------------------\\相似性链路预测算法抽象类 --| LinkePrediction.java --------------------\\链路预测抽象类 ++| model -------------------------------------\\网络模型 ++| earthquake ------------------------------\\地震模型 --| OFC.java ------------------------------\\OFC地震模型 --| RealOFC.java --------------------------\\真实地震数据在时序上建网,且仿真能量倒塌 ++| internet --------------------------------\\Internet网络模型 --| PFP.java ------------------------------\\PFP模型 --| RandomNetwork.java ----------------------\\随机网络模型 --| GloballyCoupledNet.java -----------------\\全局耦合网络模型 --| NearestNeighborCoupledNet.java ----------\\最近邻耦合网络模型 --| WSNetwork.java --------------------------\\WS小世界模型 --| NWNetwork.java --------------------------\\NW小世界模型 --| BANetwork.java --------------------------\\BA模型 --| LocalWorldEvolvingNet.java --------------\\局部世界演化模型 ++| usr ---------------------------------------\\用户目录 ++| util --------------------------------------\\工具箱 ++| plugin ----------------------------------\\插件 --| EarthquakeRenormalization.java --------\\地震网络的重整化,划分格子 ++| other -----------------------------------\\其他 --| INode.java ----------------------------\\FibonacciHeap --| CreateNetFile.java ----------------------\\由只含有边关系的网络文件转换成.NET文件 --| ExtractASByLink.java --------------------\\提取AS网络 --| ExtractIPByLink.java --------------------\\提前IPv4网络 --| ExtractIPv6ByLink.java ------------------\\提前IPv6网络 --| EdgeDeweigh.java ------------------------\\对于网络文件去重,缩小文件体积,注意有向和无向 --| FileTool.java ---------------------------\\文件操作类 --| MathTool.java ---------------------------\\数学操作类 --| MapTool.java ----------------------------\\Map类型操作类,排序和查找 --| Link.java -------------------------------\\链路类,描述一条网络中的链路 --| Pair.java -------------------------------\\节点对类,A-B --| PairList.java ---------------------------\\List --| PairMap.java ----------------------------\\Map --| PairSet.java ----------------------------\\Set --| FibonacciHeap.java ----------------------\\斐波那契数据结构的实现 --| D.java ----------------------------------\\测试类