Skip to content

satyakisikdar/CNRG

Repository files navigation

Code repository for the paper Modelling graphs with Vertex Replacement Grammars by Satyaki Sikdar, Justus Hibshman, and Tim Weninger. Find the preprint here.

Run python3 -m pip install -r requirements.txt prior to running runner.py to install required packages.

Usage instructions (also visible by running python3 runner.py -h)

usage: runner.py [-h] [-g] [-c] [-b {full,part,no}] [-l LAMB] [-s] [-o OUTDIR]
                 [-n N]

optional arguments:
  -h, --help            Show this help message and exit
  -g, --graph           Name of the graph, looks in the ./src/tmp directory for the edge list (default: karate)
  -c, --clustering      Clustering method to use (default: louvain)
  -b {full,part,no}, --boundary {full,part,no}
                        Degree of boundary information to store (default: part)
  -l , --lamb LAMB      Size of RHS (lambda) (default: 5)
  -s , --selection      Selection strategy (default: level)
  -o , --outdir OUTDIR  Name of the output directory (default: output)
  -n N                  Number of graphs to generate (default: 5)

Edge lists of new undirected graphs can be added in the ./src/temp/ directory with extension .g.