constants.py-路径目录。
准备数据 防守 攻击
-
构造图.py :使用igraph API构造通信图,并将其保存为Pickle格式(.pkl) -
分析.py :计算图形的一些拓扑度量,例如节点/边数、平均路径长度、平均度数、直径、密度等。请参阅“sample_data_and_results/graph_metrics”中俄勒冈州数据集的图形属性 -
绘图_度.py :绘制图形的度分布,并将分布拟合为幂律和指数分布。 请参阅“sample_data_and_results/plots/degrees_distribution”中俄勒冈州数据集的度分布 -
计算机_人.py :计算通信图中每个节点的有效网络大小度量(ENS)。
-
NodeSplit(NodeSplit目录) 节点split.py :将顶部节点迭代拆分为两个,将其一半的边移动到新创建的节点。
-
边缘硬化(rm_edges目录) -
rm_edges_随机.py :随机删除预算中给定的一些边缘。 -
met无向.py :运行Le等人在“MET:最小化具有小特征映射的大型图中传播的快速算法”中描述的MET算法。
-
-
节点加固(rm_nodes目录) -
rm_兰德.py :随机删除预算给定的多个节点。 -
rm _ top _ degree _ iterative.py(复制副本) :逐步删除程度最高的节点,直到达到预算。 -
rm_操作_输入.py :删除具有最高有效网络大小的顶部节点。
-
-
隔离(隔离目录) 隔离社区.py :使用Leiden、Infomap或Leading Eigenvector算法提取社区,然后硬化其边界,例如,硬化所有社区间的边缘,以分离社区。
-
在Simulation类中实现四个SPM模型——SI、SIS、SIR、SIIDR。 -
它提供了使用同一文件中给定的攻击参数运行SPM攻击的功能,例如SIIDR。 这些参数表示感染概率(β)、恢复率(mu)、γ1、γ2。 -
攻击的起点是随机选择的。 -
这里设置了其他几个参数,包括实验次数(默认为500)、模拟过程中的时间步数、用于构建弹性图的预算等。
-
防御索引:对其进行攻击的图形,例如,索引0是带有“无防御”的图形,索引1是应用nodesplit后的结果图形,等等。这是主脚本中名为“防御”的列表中的索引,即。, SPM_with_real_params.py -
param index:攻击传播参数,例如,param_index 2是与wannacry跟踪wc_1_5s等相对应的参数集。该对应关系是在siidr_params数据结构中建立的 SPM_带_参数.py .
sample_data_and_results/plots目录中有多个图,用于比较俄勒冈州样本数据上各种防御的性能。