Presentation is loading. Please wait.

Presentation is loading. Please wait.

Finding a Heaviest Triangle is not Harder than Matrix Multiplication Artur Czumaj & Andrzej Lingas.

Similar presentations


Presentation on theme: "Finding a Heaviest Triangle is not Harder than Matrix Multiplication Artur Czumaj & Andrzej Lingas."— Presentation transcript:

1 Finding a Heaviest Triangle is not Harder than Matrix Multiplication Artur Czumaj & Andrzej Lingas

2 overview The problem Previous solutions New solution –Idea –Flow –Proof Consequences & improvements Summary of results

3 The Problem Finding a fixed subgraph Finding a triangle - shortest path Known to be no more than matrix multiplication Rectangular matrix mult is O(n^w), w< 2.376 So: Finding a heaviest triangle

4 Previous solutions V. Vassilevska and R. Williams. Finding a maximum weight triangle in n 3−δ time, with applications. Proc. 38th Annual ACM Symposium on Theory of Computing (STOC’06), pp. 225–231, 2006. [12] V. Vassilevska, R. Williams, R. Yuster. Finding the smallest H-subgraph in real weighted graphs and related problems. To appear in Proc. 33rd International Colloquium on Automata, Languages and Programming (ICALP’06), 2006. [13] Maximum witness of Boolean matrix product

5 appetizer

6 New solution (HT) – idea Based on triangles having three vertices Generate set of where triangles might be found “potentials” – not set of triangles Cut down set Recursion – set is hierarchically defined Start with set of n^3 potential triangles At each step reduce to O(ξ2) sets of (n/ξ)3 triplets

7 HT – flow - definition procedure HTξ(G, I,K, J) Input: A graph G = (V,E) with vertex weights (G is given as adjacency matrix) vertices are numbered in non-decreasing weight order from 1 to n subintervals I, K, and J of [1,..., n], of the same length κ assumed to be a power of ξ Output: Maximum-weight triangle (i, j, k), if any, such that i ∈ I, j ∈ J, and k ∈ K

8 Flow - outline If set is of size 1 and it has a triangle, return it Break down intervals into sections Generate matrixes indicating paths between intervals Find triplets of interval sections which are interconnected Prune set of triplets Recursion on all triplets of interval sections

9 Flow detail 1 – stopping condition and definitions if κ = 1 then if (i0 + 1, j0 + 1, k0 + 1) is a (non- degenerate) triangle in G then return (i0 + 1, j0 + 1, k0 + 1); stop let i0, j0, and k0 be such that I = [i0 + 1, i0 + κ], K = [k0 + 1, k0 + κ], and J = [j0 + 1, j0 + κ] ℓ = κ/ξ

10 Flow detail 2 - generate path indication matrices

11 Flow detail 3 – find triplets of sections

12 Flow detail 4 – prune set

13 Flow detail 5 - recursion

14 HT – Proof of correctness All triangles potentials are added in Only subsumed triangle potentials are removed Note vertex numbering

15 HT proof of time Define chains Dilworth’s lemma –Largest antichain includes one element from each chain

16 HT proof of time - cont

17 HT proof of time cont 2

18 Consequences – sparse matrixes Sparse matrixes – m is small Can split into two parts, one as above, one m- bound Choose clever splitting point

19 Consequences - Kh clique How about finding a maximum subgrapgh of more than 3 vertexes? Insight – can make a hierarchy with a new graph where we look fro triangle, and where each vertex is a third of the clique we are looking for What to do when not a multiple of 3

20 Consequences - more Instead of triangle or general sets of linked vertexes, relate to particular connection patterns – isomorphic graphs Can use fast rectangular matrix multiplication

21 Consequences – results summary


Download ppt "Finding a Heaviest Triangle is not Harder than Matrix Multiplication Artur Czumaj & Andrzej Lingas."

Similar presentations


Ads by Google