Title: Batched Colored Intersection Searching Sparse Matrix Multiplication
1- Batched Colored Intersection Searching Sparse
Matrix Multiplication - Elad Verbin
- Joint work with Haim Kaplan and Micha Sharir
2(Batched) Colored Intersection Searching (CI)
- INPUT n points n hypercubes each object
colored in one of c colors. - GOAL Report all intersecting pairs of colors
OUTPUT the Intersection graph
Naïve Algorithm O(cn)
3Our results - The Bottom Line
- CI of points and hypercubes costs O(nc0.69). (for
nc1.69) - CI of points and halfplanes costs O(n4/3c0.46).
(for nc1.44) - Generalizable to many classes of objects
4(Boolean) Sparse Matrix Multiplication (SMM)
- You are given Boolean matrices A with c rows, B
with c columns, where A and B have n non-zero
entries - Compute AB
- (number of columns of A and rows of B
unimportant) - (input matrices given in sparse representation)
5Today we show
- These two problems have the same complexity! (up
to polylog factors) - Why the connection?
- Because both are aggregation problems!
- (Many algorithms use MM, less results show
equivalence to MM)
6Aggregation problems
1001101
1
X
1101001
3 witnesses aggregation!
2 witnesses aggregation!
7Motivation for colored problems
- Nice generalization of Range Searching.
Interesting behavior. - Computing intersection between polygons
- Terrain Guarding
8Intersections Between polygons
9Intersections Between polygons
Triangulate and use CI
10History of Colored Problems
- Defined by Gupta, Janardan Smid in beginning of
90s. - Mostly geometrical techniques
- Try to transform to an input where each pair of
color intersects only once - Some tricks to allow output-sensitivity.
- A paper on the batched problem by Bozanis,
Kitsios,Makris and Tsakalidis
11Lecture Outline
- SMM CI
- CI SMM
- Points and Halfplanes
- Sparse Matrix Multiplication
- More Extensions of our method
- Open Problems
12I. SMM CI
?
13I. SMM CI
1.Color code the rows of A / columns of B
14I. SMM CI
2. Number the columns / rows
1 2 3
1
2
3
15I. SMM CI
3. Translate to points
1 2 3
1
2
3
R
1
2
3
16I. SMM CI
3. Translate to points and degenerate hypercubes
1 2 3
1
2
3
R
1
2
3
17I. SMM CI
- In other words SMM Degenerate CI
R
1
2
3
18II. CI SMM
191 dimension
1. Build Segment Tree over Input Points and
Segments
p5, p6, p7, p8 I3, I2
p3, p4, I2
p3 I1
p2 , I1,I2
p1
p2
p3
p4
p5
p6
p7
p8
202. Represent as union of bi-cliques
p3 I1
p3, p4 I2
p3
I2
p4
p5, p6, p7, p8 I3, I2
p2 I1,I2
I3
p5, p6
p1
p2
p3
p4
p5
p6
p7
p8
p7
I2
p8
Total number of vertices Õ(n)
213. Compute union of bicliques by matrix
multiplication
p3
I2
p4
I3
p5, p6
p7
I2
p8
223. Compute union of bicliques by matrix
multiplication
233. Compute union of bicliques by matrix
multiplication
24Higher dimensions
- Higher-dimensional segment tree
p7
p6
p8
p5
p1
p2
p3
p4
p5
p6
p7
p8
p8, p5 R1, R2
2-d segment tree
25III. Points and Halfplanes
26Points and Halfplanes
- For points and halfplanes, a cutting theorem
Matouek,Chazelle gives that the graph of
object intersections can be written as the
disjoint union of bi-cliques with total size
Õ(m4/3). - Lower bound SMM with m 1s
- Upper bound SMM with Õ(m4/3) 1s.
- With an additional idea Gives O(m4/3n0.46). (for
mn1.44)
gap!
27Same for Points and Triangles
28IV. Matrix Multiplication
- Usual MM Multiply two nn matrices.
- How fast?
- Trivial O(n3)
- Optimistic O(n2)
- Strassen (69) O(n2.81) big surprise!
- Currently Best -- Coppersmith and Winograd (90)
O(n2.376). Complicated and impractical. - Recently another method by Cohn et al. hope to
finally get O(n2).
2.81log27. Method Look at the matrix as a block
matrix. Show how to multiply two 22 matrices
with 7 multiplications and 18 additions
?
29Complexity of SMM
- Yuster and Zwick (04) Multiplying Square sparse
matrices - We multiply rectangular sparse matrices. Same
technique. - Running time
- so, O(mn0.69). (for mn1.69)
30SMM
Multiply heavy and light separately
X
31SMM
Multiply heavy and light separately
X
X
32V. Extensions
- Any set of orthogonal objects of constant
dimension (boxes vs. boxes, etc.) equivalent to
SMM - Non-orthogonal objects Points and Halfplanes,
Points and Triangles, Triangles and Triangles
use cuttings to reduce to MM. Also in higher
dimension. - No longer equivalent to MM lower bound does not
match upper bound. - Application Check for intersections in a set of
convex polytopes in Rd
33Extensions
- Input set of boxes goal report all triplets
of colors that intersect. Equivalent to
matrix-multiplication variant. - Counting version Each object has weight. Want to
compute, for each pair of colors c1,c2,
, where the sum is over all x of
color c1, y of color c2, that intersect.
Equivalent to non-Boolean MM. (here you need a
disjoint partition into bi-cliques).
34VI. Further work and Open Questions
- Colored range counting objects vs. colors
- INPUT n points n hypercubes each point colored
in one of c colors. (cn). - GOAL For each hypercube, count how many colors
it touches. - In ongoing work with Natan Rubin this is also
equivalent to a matrix multiplication variant
35VI. Further work and Open Questions
- Lower bound for SMM?
- Easier Prove that computing AAT when A has n
rows, columns, 1s in each
column takes at least time (assume e.g.
mn6). What computational model?! - Output-Sensitive Algorithm? (need
output-sensitive algorithm for SMM!)
36Thank you!
Any Questions?