210 likes | 307 Views
Finding a Heaviest Triangle is not Harder than Matrix Multiplication. Artur Czumaj & Andrzej Lingas. overview. The problem Previous solutions New solution Idea Flow Proof Consequences & improvements Summary of results. The Problem. Finding a fixed subgraph
E N D
Finding a Heaviest Triangle is not Harder than Matrix Multiplication Artur Czumaj & Andrzej Lingas
overview • The problem • Previous solutions • New solution • Idea • Flow • Proof • Consequences & improvements • Summary of results
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
Previous solutions • V. Vassilevska and R. Williams. Finding a maximum weight triangle in n3−δ 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
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
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
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
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 + κ] • ℓ = κ/ξ
HT – Proof of correctness • All triangles potentials are added in • Only subsumed triangle potentials are removed • Note vertex numbering
HT proof of time • Define chains • Dilworth’s lemma • Largest antichain includes one element from each chain
Consequences – sparse matrixes • Sparse matrixes – m is small • Can split into two parts, one as above, one m-bound • Choose clever splitting point
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
Consequences - more • Instead of triangle or general sets of linked vertexes, relate to particular connection patterns – isomorphic graphs • Can use fast rectangular matrix multiplication