Presentation is loading. Please wait.

Presentation is loading. Please wait.

Virginia Vassilevska Williams UC Berkeley Joint with Ryan Williams IBM Almaden.

Similar presentations


Presentation on theme: "Virginia Vassilevska Williams UC Berkeley Joint with Ryan Williams IBM Almaden."— Presentation transcript:

1 Virginia Vassilevska Williams UC Berkeley Joint with Ryan Williams IBM Almaden

2  We study many different subgraph isomorphism problems: ◦ k-clique ◦ k-path ◦ k-tree …  These problems have natural maximization variants for weighted graphs: ◦ Is there a k-path of weight > 100?

3  G k – all graphs on k nodes with edge weights from Z  f: G k → {0, 1} is an f-pattern if ◦ f(G)=f(H) whenever G and H are isomorphic ◦ Example: f(G)=1 iff G is a k-clique  We will assume that computing f on G is really efficient.

4  f-pattern detection: ◦ Input: weighted graph G ◦ Decide: does G contain a k-subgraph H with f(H)=1?  f-pattern finding: ◦ Input: weighted graph G ◦ Find a k-subgraph H of with f(H)=1, if it exists.  f-pattern listing: ◦ Input: weighted graph G, integer L ◦ Report L k-subgraphs H with f(H)=1, if they exist.

5  f-pattern detection in D(n,k) time implies f-pattern finding in n*D(n,k) time However, suppose you have D(n,k)=f(k)*(m+n) time algorithm and k is small. [W’09,KW’09]: k-path, k-tree detection in 2 k (m+n) Can you instead get a g(k)*D(n,k) finding algorithm?

6  f-pattern finding in S(n,k) time typically implies listing of L f-patterns in L*S(n,k) time What about L δ S(n,k) + L s(k) for small s(k), δ <1? Can δ get arbitrarily small?

7  f-pattern detection in D(n,k) time implies f-pattern finding in n*D(n,k) time Can you get a g(k)*D(n,k) finding algorithm? Yes! Finding can be done in O(k 2 D(n,k)+H(k)) time. Corollary: k-tree, k-path in 2 k poly(k) (m+n) H(k) – time to find f-pattern in graph on k nodes

8  f-pattern finding in S(n,k) time typically implies listing of L f-patterns in L*S(n,k) time What about L δ S(n,k) + L s(k) for small s(k), δ <1? Listing L patterns can be done in time L S(n/L 1/k, k) + L H(k) H(k) – time to find f-pattern in graph on k nodes

9 Listing L patterns can be done in time L S( n/L 1/k, k) + L H(k) If S(n,k)= g(k) n c then L listing is in time L 1−c/k g(k) n c + L H(k) If S(n,k) = O(n ε k ), then L listing is in time L 1- ε 2 O(k) n εk + L H(k) c’ k-path k-clique

10 L δ S(n,k) + L s(k) for small s(k), δ <1? Can δ get arbitrarily small? Suppose listing up to L distinct 3-cliques is in O(L δ n c + L n δ ) time for every δ > 0 and some c ≥ 2. Then for every δ > 0, the Boolean product of two n × n matrices can be computed in O(n c+ δ ) time Tight relationship between triangle and Boolean matrix multiplication!

11


Download ppt "Virginia Vassilevska Williams UC Berkeley Joint with Ryan Williams IBM Almaden."

Similar presentations


Ads by Google