Download presentation

Presentation is loading. Please wait.

Published byEthen Eyre Modified about 1 year ago

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

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google