This repo contains codes for the following paper:
Densest Subhypergraph: Negative Supermodular Functions and Strongly Localized Methods
If you feel it helpful, please cite the paper mentioned above.
We use julia1.9
and we provide the Project.toml
and Manifest.toml
files for our environment.
If you are using REPL, you should be able to activate it by typing activate .
in Pkg REPL(i.e. ] activate .
). If you are running the code files from the command line, remember to include --project
(i.e. julia --project filename.jl
).
The five real-world datasets we use can be accessed at Hypergraph Datasets. For convenience,
run cd src; bash init.sh
to create all directories and download
the datasets.
The procedures of generating synthetic data and accessing the web graph data are included in the corresponding directories.
./src
contains all the codes, experiment-specific codes are included in ./src/Exp...
folders, others are commonly used codes shared through experiments.
You can use all our interfaces via
include("headers.jl")
and the documentation is available via typing ?
and the function name in REPL.
The README for each experiment is included in each subfolder.
In general, we maintain the following code structure:
|_src/
|_data/
|_datasetname/
|_figs/
|_datasetname/
|_results/
|_datasetname/
The data for each dataset is saved in the ./data/datasetname/
folder,
the running results of it are saved in the ./results/datasetname/
folder,
and the plotted figures are saved in the ./figs/datasetname/
.
You may need to create those folders before experiments and modify savepath in the codes.
Part of this code is inspired by AnchoredDensestSubgraph and HypergraphFlowClustering.