config/
contains a cofigurations for benchmarksdata_benchmarks/
contains results of benchmarksforbidden/
contains a defintions of forbidden subgraphsmodel/
contains graph datasetstools/
some tools for graphs generations or tests
It needs boost-devel and gurobi for the BLP-Alogorithm.
mkdir build
cd build
cmake ..
make
You need a alid gurobi license to use the blp program.
Example:
ruby generate_k.rb -i model/albert_barabasi/ -f forbidden/claw -p blp -t 300
Create a json file in config/
.
{
"instances" : ["list of graph data sets"],
"forbidden" : [ "list of forbidden subgraphs"],
"progs" : ["list of programms to test"],
"seed" : "initial seed",
"max_time" : "maximal runtime in seconds"
}
For example
{
"instances" : ["./model/albert_barabasi", "./model/newman_watts_strogatz",],
"forbidden" : [ "./forbidden/claw", "./forbidden/cluster"],
"progs" : ["grow_reduce", "grow_reduce2", "bottom --useWeight 0"],
"seed" : 5489,
"max_time" : 5
}
The binary file should be in build/
and begin with ffree_
. So if in the config we have "grow_reduce"
then ffree_grow_reduce
will be called.
ruby ruby benchmark.rb -c config/your_config_file.json
Every programm will be tested against every instance with all the possible forbidden subgraphs.
The results are in data_benchmarks/
.
Every result single (all programs tested against one instance and one forbidden subgraph) will habe its own folder by date.
There will be some files. The most interesing will be results.json