Vassilevska V., Williams R., Yuster R. (2006) Finding the Smallest H-Subgraph in Real Weighted Graphs and Related Problems. In: Bugliesi M., Preneel B., Sassone V., Wegener I. (eds) Automata, Languages and Programming. ICALP 2006. Lecture Notes in Computer Science, vol 4051. Springer, Berlin, Heidelberg
Let G be a graph with real weights assigned to the vertices (edges). The weight of a subgraph of G is the sum of the weights of its vertices (edges). The MIN H-SUBGRAPH problem is to find a minimum weight subgraph isomorphic to H, if one exists. Our main results are new algorithms for the MIN H-SUBGRAPH problem. The only operations we allow on real numbers are additions and comparisons. Our algorithms are based, in part, on fast matrix multiplication.
For vertex-weighted graphs with n vertices we obtain the following results. We present an O(nt(ω,h)) time algorithm for MIN H-SUBGRAPH in case H is a fixed graph with h vertices and ω< 2.376 is the exponent of matrix multiplication. The value of t(ω,h) is determined by solving a small integer program. In particular, the smallest triangle can be found in O(n2 + 1/(4 − ω)) ≤o(n2.616) time, the smallest K4 in O(nω + 1) time, the smallest K7 in O(n4 + 3/(4 − ω)) time. As h grows, t(ω,h) converges to 3h/(6-ω) < 0.828h. Interestingly, only for h = 4,5,8 the running time of our algorithm essentially matches that of the (unweighted) H-subgraph detection problem. Already for triangles, our results improve upon the main result of [VW06]. Using rectangular matrix multiplication, the value of t(ω,h) can be improved; for example, the runtime for triangles becomes O(n2.575). We also present an algorithm whose running time is a function of m, the number of edges. In particular, the smallest triangle can be found in O(m(18 − 4ω)/(13 − 3ω)) ≤o(m1.45) time.
For edge-weighted graphs we present an O(m2 − 1/k logn) time algorithm that finds the smallest cycle of length 2k or 2k-1. This running time is identical, up to a logarithmic factor, to the running time of the algorithm of Alon et al. for the unweighted case. Using the color coding method and a recent algorithm of Chan for distance products, we obtain an O(n3/logn) time randomized algorithm for finding the smallest cycle of any fixed length.