SkillAgentSearch skills...

MultiDismantler

Pioneeringly propose a multi-layer network key node identification algorithm that integrates Graph Neural Networks (GNNs) and Deep Reinforcement Learning (DRL), filling an important technological gap in the field of intelligent disintegration and protection of complex systems.

Install / Use

/learn @Villafly/MultiDismantler
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Deep-learning-aided dismantling of interdependent networks

This code is aimed to provide the implementation of Deep-learning-aided dismantling of interdependent networks for network dismantling for both synthetic and real-world interconenected multilayer networks.

im1

DEMO

Please run the run.sh file as a demo to use our algorithm and model. Run the following command to start traning the model with unit removal cost. The data used for training are synthetic graphs. With default parameters, training on a V100 gpu takes almost 24 hours.

./run.sh MultiDismantler_unit_cost train

Run the following command to test the pre-trained model with unit removal cost in real dataset, and the output of the code includes the sequence of deleted nodes, the removal cost during the dismantling process, the changes in the normalized LMCC, and the value of AUDC. The results are stored in the "results/unitcost/MultiDismantler_real" folder.

./run.sh MultiDismantler_unit_cost testReal

Run this following command to test the trained model with unit removal cost in the synthetic dataset generated with different network size of nodes and various synthetic network controling parameters $g$, $\gamma$, and $k$, and the output of the code includes the average value of AUDC.The results are stored in the "results/unitcost/MultiDismantler_syn/" folder.

./run.sh MultiDismantler_unit_cost testSynthetic

Run this command to output the Normalized LMCC decline curve of real network with degree node remmoval cost.The results are stored in the "results/unitcost/MultiDismantler_audc" folder.

./run.sh MultiDismantler_unit_cost drawLmcc

The only difference between the following commands and the above commands is that unit cost is replaced with degree cost.

./run.sh MultiDismantler_degree_cost train
./run.sh MultiDismantler_degree_cost testReal
./run.sh MultiDismantler_degree_cost testSynthetic
./run.sh MultiDismantler_degree_cost drawLmcc
View on GitHub
GitHub Stars7
CategoryEducation
Updated2mo ago
Forks5

Languages

Python

Security Score

70/100

Audited on Jan 29, 2026

No findings