finding a heaviest triangle is not harder than matrix multiplication

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

Upload: nanji

Post on 06-Jan-2016

35 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

Finding a Heaviest Triangle is not Harder than Matrix Multiplication

Artur Czumaj & Andrzej Lingas

Page 2: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

overview

• The problem

• Previous solutions

• New solution– Idea– Flow– Proof

• Consequences & improvements

• Summary of results

Page 3: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

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

Page 4: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

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

Page 5: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

appetizer

Page 6: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

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

Page 7: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

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∈ ∈ ∈

Page 8: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

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

Page 9: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

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 + κ]• ℓ = κ/ξ

Page 10: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

Flow detail 2 - generate path indication matrices

Page 11: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

Flow detail 3 – find triplets of sections

Page 12: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

Flow detail 4 – prune set

Page 13: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

Flow detail 5 - recursion

Page 14: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

HT – Proof of correctness

• All triangles potentials are added in

• Only subsumed triangle potentials are removed

• Note vertex numbering

Page 15: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

HT proof of time

• Define chains

• Dilworth’s lemma– Largest antichain includes one element from

each chain

Page 16: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

HT proof of time - cont

Page 17: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

HT proof of time cont 2

Page 18: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

Consequences – sparse matrixes

• Sparse matrixes – m is small• Can split into two parts, one as above, one m-

bound• Choose clever splitting point

Page 19: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

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

Page 20: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

Consequences - more

• Instead of triangle or general sets of linked vertexes, relate to particular connection patterns – isomorphic graphs

• Can use fast rectangular matrix multiplication

Page 21: Finding a Heaviest Triangle is not Harder than Matrix Multiplication

Consequences – results summary