Skip to content

jdmoorman/uclasm

Repository files navigation

logo

Subgraph Matching on Multiplex Networks

Zenodo Archive PyPI Version Supported Python Versions

To reproduce our experiments, you will need at least Python 3.7 and a few packages installed. You can check your python version with

$ python --version

and install the necessary packages with

$ python -m pip install numpy scipy pandas tqdm matplotlib networkx

You will also need a local copy of our code either cloned from GitHub or downloaded from a Zenodo archive. To install our package from your local copy of the code, change to the code directory and use pip.

$ cd uclasm
$ python -m pip install .

Erdős–Rényi Experiments

Running the experiments will take a while depending on your hardware.

$ cd experiments
$ python run_erdos_renyi.py
$ python plot_erdos_renyi.py

Change the variables in run_erdos_renyi.py to run with different settings i.e. number of layers and whether isomorphism counting is being done.

plot_erdos_renyi.py will generate a figure called n_iter_vs_n_world_nodes_3_layers_500_trials_iso_count.pdf which corresponds to figure 7 in the paper. Other figures related to time and number of isomorphisms will also be generated.

Sudoku Experiments

Running the experiments will take a while depending on your hardware.

$ cd experiments
$ python run_sudoku.py
$ python plot_sudoku_times.py

plot_sudoku_times.py will generate a figure called test_sudoku_scatter_all_log.pdf which corresponds to figure 6 in the paper. Other figures for each individual dataset will also be generated.