Skip to content

Commit 49a12d9

Browse files
committed
version 1.0
update
1 parent 58a6277 commit 49a12d9

24 files changed

+148117
-1
lines changed

.gitattributes

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Auto detect text files and perform LF normalization
2+
* text=auto

.gitignore

+125
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# C extensions
7+
*.so
8+
9+
# Distribution / packaging
10+
.Python
11+
build/
12+
develop-eggs/
13+
dist/
14+
downloads/
15+
eggs/
16+
.eggs/
17+
lib/
18+
lib64/
19+
parts/
20+
sdist/
21+
var/
22+
wheels/
23+
pip-wheel-metadata/
24+
share/python-wheels/
25+
*.egg-info/
26+
.installed.cfg
27+
*.egg
28+
MANIFEST
29+
30+
# PyInstaller
31+
# Usually these files are written by a python script from a template
32+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
33+
*.manifest
34+
*.spec
35+
36+
# Installer logs
37+
pip-log.txt
38+
pip-delete-this-directory.txt
39+
40+
# Unit test / coverage reports
41+
htmlcov/
42+
.tox/
43+
.nox/
44+
.coverage
45+
.coverage.*
46+
.cache
47+
nosetests.xml
48+
coverage.xml
49+
*.cover
50+
*.py,cover
51+
.hypothesis/
52+
.pytest_cache/
53+
54+
# Translations
55+
*.mo
56+
*.pot
57+
58+
# Django stuff:
59+
*.log
60+
local_settings.py
61+
db.sqlite3
62+
db.sqlite3-journal
63+
64+
# Flask stuff:
65+
instance/
66+
.webassets-cache
67+
68+
# Scrapy stuff:
69+
.scrapy
70+
71+
# Sphinx documentation
72+
docs/_build/
73+
74+
# PyBuilder
75+
target/
76+
77+
# Jupyter Notebook
78+
.ipynb_checkpoints
79+
80+
# IPython
81+
profile_default/
82+
ipython_config.py
83+
84+
# pyenv
85+
.python-version
86+
87+
# pipenv
88+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
90+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
91+
# install all needed dependencies.
92+
#Pipfile.lock
93+
94+
# celery beat schedule file
95+
celerybeat-schedule
96+
97+
# SageMath parsed files
98+
*.sage.py
99+
100+
# Environments
101+
.env
102+
.venv
103+
env/
104+
venv/
105+
ENV/
106+
env.bak/
107+
venv.bak/
108+
109+
# Spyder project settings
110+
.spyderproject
111+
.spyproject
112+
113+
# Rope project settings
114+
.ropeproject
115+
116+
# mkdocs documentation
117+
/site
118+
119+
# mypy
120+
.mypy_cache/
121+
.dmypy.json
122+
dmypy.json
123+
124+
# Pyre type checker
125+
.pyre/

AUTHOR

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
SpecGreedy: Unified Dense Subgraph Detection
2+
Copyright (C) Wenchieh Feng

Makefile

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#
2+
# Makefile for SPECGREEDY
3+
#
4+
5+
all: clean demo
6+
7+
clean:
8+
rm -rf outs
9+
mkdir outs
10+
find ./src -name *.pyc | xargs rm -rf
11+
12+
demo:
13+
@echo "run demo."
14+
./demo.sh
15+
@echo
16+
17+
tar:
18+
rm -rf output/*
19+
@echo [PROJECT]
20+
./package.sh
21+
@echo [PROJECT] "done."
22+
@echo

README.md

+58-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,58 @@
1-
# specgreedy
1+
SpecGreedy: Unified Dense Subgraph Detection
2+
==================
3+
**SpecGreedy** is a unified fast algorithm for the generalized densest subgraph detection problem (GenDS)
4+
based on the graph spectral properties and a greedy peeling approach.
5+
6+
- _Theory & Correspondences_: the unified formulation, GenDS, subsumes many real problems from different applications;
7+
and its optimization is guaranteed by the spectral theory.
8+
- _Scalable_: SpecGreedy runs linearly with the graph size.
9+
- _Effectiveness_: The performance (solution-quality and speedy) of SpecGreedy is verified on **40** real world networks;
10+
and it can find some interesting patterns in real applications,
11+
like the sudden bursts in research co-authorship relationships
12+
13+
14+
**[The repo will be updated soon]**
15+
16+
Datasets
17+
========================
18+
19+
The datasets used are available online, they are from some popular network repositories, including
20+
[Stanford's SNAP](http://snap.stanford.edu/data),
21+
[AUS's Social Computing Data Repository](http://socialcomputing.asu.edu/),
22+
[Network Repository](http://networkrepository.com/),
23+
[Aminer scholar datasets](https://www.aminer.cn/data),
24+
[Koblenz Nwtwork Collection](http://konect.uni-koblenz.de/networks/), and
25+
[MPI-SWS social datasets](http://socialnetworks.mpi-sws.org).
26+
27+
28+
Environment
29+
=======================
30+
Python 3.6 is supported in the current version.
31+
32+
To install required libraries, please type
33+
```bash
34+
pip install -r requirements
35+
```
36+
----
37+
38+
39+
Running Demo
40+
========================
41+
42+
Demo for detecting the densest subgraph, please type
43+
```bash
44+
make
45+
```
46+
47+
48+
Reference
49+
========================
50+
If you use this code as part of any published research, please acknowledge the following papers.
51+
```
52+
@inproceedings{feng2020specgreedy,
53+
title={SpecGreedy: Unified Dense Subgraph Detection},
54+
author={Wenjie Feng, Shenghua Liu, Danai Koutra, Huawei Shen, and Xueqi Cheng},
55+
booktitle={European Conference on Machine Learning and Principles and Practice of Knowledge Discovery in Databases (ECML-PKDD)},
56+
year={2020},
57+
}
58+
```

0 commit comments

Comments
 (0)