Instructions for running the diverse mining cliques programs reported in 

@inproceedings{BogdanovClique2013,
  title={As Strong as the Weakest Link: Mining Diverse Cliques in Weighted Graphs},
  author={Bogdanov, Petko and Baumer, Ben and Basu, Prithwish and Bar-Noy, Amotz and Singh, Ambuj K.},
  booktitle={Proceedings of Machine Learning and Knowledge Discovery in Databases - European Conference (ECML/PKDD)},
  year={2013},
  publisher={Springer}
}

Warning this is a very preliminary alpha of the program. Please, contact Petko Bogdanov (petko@cs.ucsb.edu) should you have any questions.

1. Installation
Just copy the included jar file in a desired folder. You need to have Java 6 or higher installed.

2. Input Data Format
- ASCII
- tab separated
- 3 columns: node1(string), node2(string), edge weight(double)
- edges need to exist in both directions, e.g. node1 - node2 and node2 - node1
- Include a single header (first line) tab-separated line:
  HEADER, <number of nodes>(integer), <number of edges> (integer)
- The count of edges in the heather should match the total number of remaining rows
- for an example, see included data.txt 

3. Running

3.1. DiCliQ

java -jar diverse.jar -dicliq <graph file> <num cliques> <clique size> <alpha> <threshold size>

- graph file is the data file
- num cliques is the parameter m as described in the paper
- cliques size is the desired clique size (parameter k in the paper)
- alpha is the relative weight of score and diversity, between 0 and 1
- threshold size is the number of thresholds for the edge score for DiCliQ, use 20 if unsure

Example invocation on data.txt

>java -jar diverse.jar -dicliq data.txt 2 3 0.5 20

Output:

2,5,4,	0.45	0.8
3,2,1,	0.29166666666666663	0.5
Elapsed time :35ms

3.2. BuDiC

java -jar diverse.jar -budic <graph file> <num cliques> <clique size> <alpha>

parameters are same as for DiCliQ.

Example invocation on data.txt:

>java -jar diverse.jar -budic data.txt 2 3 0.5 20

Output:

2,5,4,	0.45	0.8
3,2,1,	0.29166666666666663	0.5
Elapsed time :4ms

