# generate cut-tree
bin/gomory_hu -graph /data/graph_edges.tsv -cut_tree_output_path=cut_tree.tree
# query test : output execution time
bin/gomory_hu_tree_query -cut_tree_path=cut_tree.tree
# calculate connectivity distribution
bin/connectivity_distribution -cut_tree_input_path=cut_tree.tree -cut_tree_output_path=connectivity.txt
# connectivity query
bin/query_connectivity -cut_tree_path=cut_tree.tree -query_path=query.txt -output_path=output.txt
# partition query
bin/query_cutset -cut_tree_path=cut_tree.tree -query_path=query.txt -output_path=output.txt
Options
Type
Default
-type
Graph file type (auto, tsv, gen)
string
"auto"
-graph
Input graph
string
"-"
-cut_tree_builder
cut_tree_with_2ecc, PlainGusfield,PlainGusfield_bi_dinitz
string
"cut_tree_with_2ecc"
-cut_tree_output_path
output cut tree path
string
""
-cut_tree_contraction_lower_bound
contraction upper bound
int32
2
-cut_tree_enable_goal_oriented_search
enable_goal_oriented_search
bool
true
-cut_tree_enable_greedy_tree_packing
enable_greedy_tree_packing
bool
true
-cut_tree_separate_near_pairs_d
separate near pairs radius
int32
1
-cut_tree_try_greedy_tree_packing
number of tree packing
int32
1
-cut_tree_try_large_degreepairs
number of tree packing
int32
10
-cut_tree_gtp_dfs_edge_max
number of tree packing
int32
1000000000
Options
Type
Default
-cut_tree_node_pair_random_seed
output gomory_hu tree path
int64
922337203685477583
-cut_tree_num_query
number of queries
int32
10000000
-cut_tree_path
input cut tree path
string
""
bin/connectivity_distribution
Options
Type
Default
-cut_tree_input_path
input cut tree path
string
""
-cut_tree_output_path
output connectivity distribution path
string
""
Options
Type
Default
-cut_tree_path
input cut tree path
string
""
-query_path
input query path
string
""
-output_path
output connectivity path
string
""
Options
Type
Default
-cut_tree_path
input cut tree path
string
""
-query_path
input query path
string
""
-output_path
output partition path
string
""
By using the option -type=tsv
, you can specify .tsv file as the graph file with the option -graph=...
.
In a .tsv file, each line should contain two integers describing an edge (see below).
Vertices should be described by integers starting from zero.
Execute bin/test
to run tests.
This software is released under the MIT License, see LICENSE.txt.
Takuya Akiba, Yoichi Iwata, Yosuke Sameshima, Naoto Mizuno, Yosuke Yano, "Cut Tree Construction from Massive Graphs", ICDM'16 (to appear).