Faster Algorithms for Finding and Counting Subgraphs
Abstract: In this paper we study a natural generalization of both {\sc -Path} and {\sc -Tree} problems, namely, the {\sc Subgraph Isomorphism} problem. In the {\sc Subgraph Isomorphism} problem we are given two graphs and on and vertices respectively as an input, and the question is whether there exists a subgraph of isomorphic to . We show that if the treewidth of is at most , then there is a randomized algorithm for the {\sc Subgraph Isomorphism} problem running in time $\cO<sup>*(2<sup>k</sup></sup> n<sup>{2t})$. To do so, we associate a new multivariate {Homomorphism polynomial} of degree at most with the {\sc Subgraph Isomorphism} problem and construct an arithmetic circuit of size at most $n<sup>{\cO(t)}$ for this polynomial. Using this polynomial, we also give a deterministic algorithm to count the number of homomorphisms from to that takes $n<sup>{\cO(t)}$ time and uses polynomial space. For the counting version of the {\sc Subgraph Isomorphism} problem, where the objective is to count the number of distinct subgraphs of that are isomorphic to , we give a deterministic algorithm running in time and space $\cO<sup>*({n</sup> \choose k/2}n<sup>{2p})$ or ${n\choose k/2}n<sup>{\cO(t</sup> \log k)}$. We also give an algorithm running in time $\cO<sup>{*}(2<sup>{k}{n</sup></sup> \choose k/2}n<sup>{5p})$ and taking space polynomial in . Here and denote the pathwidth and the treewidth of , respectively. Thus our work not only improves on known results on {\sc Subgraph Isomorphism} but it also extends and generalize most of the known results on {\sc -Path} and {\sc -Tree}.
Paper Prompts
Sign up for free to create and run prompts on this paper.