Finding the smallest H-Subgraph in real weighted graphs and related problems

  • Authors:
  • Virginia Vassilevska;Ryan Williams;Raphael Yuster

  • Affiliations:
  • Computer Science Department, Carnegie Mellon University, Pittsburgh, PA;Computer Science Department, Carnegie Mellon University, Pittsburgh, PA;Department of Mathematics, University of Haifa, Haifa, Israel

  • Venue:
  • ICALP'06 Proceedings of the 33rd international conference on Automata, Languages and Programming - Volume Part I
  • Year:
  • 2006

Quantified Score

Hi-index 0.01

Visualization

Abstract

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 ω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-ω) h. 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.