Finding the Smallest H-Subgraph in Real Weighted Graphs and Related Problems
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.
Unable to display preview. Download preview PDF.
- [PV91]Plehn, J., Voigt, B.: Finding Minimally Weighted Subgraphs. In: Proceedings of the 16th International Workshop on Graph-Theoretic Concepts in Computer Science (WG), Springer, Heidelberg (1991)Google Scholar
- [VW06]Vassilevska, V., Williams, R.: Finding a maximum weight triangle in n 3 − δ time, with applications. In: Proceedings of the 38th Annual ACM Symposium on Theory of Computing (STOC) (to appear)Google Scholar
- [YZ04]Yuster, R., Zwick, U.: Detecting short directed cycles using rectangular matrix multiplication and dynamic programming. In: Proc. of the 15th ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 247–253. ACM/SIAM (2004)Google Scholar