faster geometric algorithms via dynamic determinant computation

41
Faster Geometric Algorithms via Dynamic Determinant Computation Faster Geometric Algorithms via Dynamic Determinant Computation Vissarion Fisikopoulos joint work with L. Pe˜ naranda (now IMPA, Rio de Janeiro) Department of Informatics, University of Athens ESA, Ljubljana, 12.Sep.2012 V.Fisikopoulos | ESA’12 1 / 16

Upload: vissarion-fisikopoulos

Post on 11-May-2015

81 views

Category:

Technology


0 download

DESCRIPTION

Presentation of the paper "Faster Geometric Algorithms via Dynamic Determinant Computation" in the European Symposium on Algorithms (ESA) 2012

TRANSCRIPT

Page 1: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms viaDynamic Determinant Computation

Vissarion Fisikopoulos

joint work with L. Penaranda (now IMPA, Rio de Janeiro)

Department of Informatics, University of Athens

ESA, Ljubljana, 12.Sep.2012

V.Fisikopoulos | ESA’12 1 / 16

Page 2: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation

Geometric algorithms and predicates

Setting

I geometric algorithms → sequence of geometric predicates

I many geometric predicates → determinants

I as dimension grows predicates become more expensive

Examples

V.Fisikopoulos | ESA’12 2 / 16

Page 3: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation

Geometric algorithms and predicates

Setting

I geometric algorithms → sequence of geometric predicates

I many geometric predicates → determinants

I as dimension grows predicates become more expensive

Examples

I Orientation: Does c

lie on, left or rightof ab?∣∣∣∣∣∣

ax ay 1

bx by 1

cx cy 1

∣∣∣∣∣∣ R 0

a

b

c

V.Fisikopoulos | ESA’12 2 / 16

Page 4: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation

Geometric algorithms and predicates

Setting

I geometric algorithms → sequence of geometric predicates

I many geometric predicates → determinants

I as dimension grows predicates become more expensive

Examples

I inCircle: Does d lieon, inside or outsideof abc?∣∣∣∣∣∣∣∣ax ay a2

x + a2y 1

bx by b2x + b2

y 1

cx cy c2x + c2y 1

dx dy d2x + d2

y 1

∣∣∣∣∣∣∣∣ R 0

a

b

c

d

V.Fisikopoulos | ESA’12 2 / 16

Page 5: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation

Outline

1 Dynamic determinant computation

2 Geometric algorithms: convex hull

3 Implementation - experiments

V.Fisikopoulos | ESA’12 3 / 16

Page 6: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation

Outline

1 Dynamic determinant computation

2 Geometric algorithms: convex hull

3 Implementation - experiments

V.Fisikopoulos | ESA’12 4 / 16

Page 7: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation

Determinant: Exact Computation

Given matrix A ⊆ Rd×d

I Theory: State-of-the-art O(dω), ω ∼ 2.7 [KaltofenVillard05]

I Practice: Gaussian elimination, O(d3)

Division-free algorithms

I Laplace (cofactor) expansion, O(d!)

I [Rote01], O(d4)

I [Bird11], O(dω+1)

Working on integers

combinatorics, lattice polyhedra, algebraic geometry

V.Fisikopoulos | ESA’12 5 / 16

Page 8: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation

Determinant: Exact Computation

Given matrix A ⊆ Rd×d

I Theory: State-of-the-art O(dω), ω ∼ 2.7 [KaltofenVillard05]

I Practice: Gaussian elimination, O(d3)

Division-free algorithms

I Laplace (cofactor) expansion, O(d!)

I [Rote01], O(d4)

I [Bird11], O(dω+1)

Working on integers

combinatorics, lattice polyhedra, algebraic geometry

V.Fisikopoulos | ESA’12 5 / 16

Page 9: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation

Determinant: Exact Computation

Given matrix A ⊆ Rd×d

I Theory: State-of-the-art O(dω), ω ∼ 2.7 [KaltofenVillard05]

I Practice: Gaussian elimination, O(d3)

Division-free algorithms

I Laplace (cofactor) expansion, O(d!)

I [Rote01], O(d4)

I [Bird11], O(dω+1)

Working on integers

combinatorics, lattice polyhedra, algebraic geometry

V.Fisikopoulos | ESA’12 5 / 16

Page 10: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation

Dynamic Determinant Computations

One-column update problem

Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th column ofA, (A)i, is replaced by u ⊆ Rd.

V.Fisikopoulos | ESA’12 6 / 16

Page 11: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation

Dynamic Determinant Computations

One-column update problem

Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th column ofA, (A)i, is replaced by u ⊆ Rd.

Solution: Sherman-Morrison formula (1950)

A ′−1 = A−1 −(A−1(u− (A)i)) (e

Ti A

−1)

1+ eTi A−1(u− (A)i)

det(A ′) = (1+ eTi A−1(u− (A)i)det(A)

Complexity: O(d2) Algorithm: dyn inv

V.Fisikopoulos | ESA’12 6 / 16

Page 12: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation

Dynamic Determinant Computations

One-column update problem

Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th column ofA, (A)i, is replaced by u ⊆ Rd.

Variant Sherman-Morrison formulas

I Q: What happens if we work over the integers?

I A: Use the adjoint of A (Aadj) → exact divisions

I Complexity: O(d2) Algorithm: dyn adj

V.Fisikopoulos | ESA’12 6 / 16

Page 13: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation

Dynamic Determinant Computations

One-column update problem

Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th column ofA, (A)i, is replaced by u ⊆ Rd.

Variant Sherman-Morrison formulas

I Q: What happens if we work over the integers?

I A: Use the adjoint of A (Aadj) → exact divisions

I Complexity: O(d2) Algorithm: dyn adj

V.Fisikopoulos | ESA’12 6 / 16

Page 14: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation

Dynamic Determinant Computations

One-column update problem

Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th column ofA, (A)i, is replaced by u ⊆ Rd.

Variant Sherman-Morrison formulas

I Q: What happens if we work over the integers?

I A: Use the adjoint of A (Aadj) → exact divisions

I Complexity: O(d2) Algorithm: dyn adj

V.Fisikopoulos | ESA’12 6 / 16

Page 15: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

Outline

1 Dynamic determinant computation

2 Geometric algorithms: convex hull

3 Implementation - experiments

V.Fisikopoulos | ESA’12 7 / 16

Page 16: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

The convex hull problem

Definition

The convex hull of A ⊆ Rd is the smallest convex set containing A.

Example

V.Fisikopoulos | ESA’12 8 / 16

Page 17: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

The convex hull problem

Definition

The convex hull of A ⊆ Rd is the smallest convex set containing A.

Incremental convex hull construction

I connect each outer point to thevisible segments

I visibility test = orientation test

V.Fisikopoulos | ESA’12 8 / 16

Page 18: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

The convex hull problem

Definition

The convex hull of A ⊆ Rd is the smallest convex set containing A.

Incremental convex hull construction

I connect each outer point to thevisible segments

I visibility test = orientation test

V.Fisikopoulos | ESA’12 8 / 16

Page 19: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

The convex hull problem

Definition

The convex hull of A ⊆ Rd is the smallest convex set containing A.

Incremental convex hull construction

I connect each outer point to thevisible segments

I visibility test = orientation test

V.Fisikopoulos | ESA’12 8 / 16

Page 20: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

The convex hull problem

Definition

The convex hull of A ⊆ Rd is the smallest convex set containing A.

Incremental convex hull construction

I connect each outer point to thevisible segments

I visibility test = orientation test

V.Fisikopoulos | ESA’12 8 / 16

Page 21: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

The convex hull problem

Definition

The convex hull of A ⊆ Rd is the smallest convex set containing A.

Incremental convex hull construction

I connect each outer point to thevisible segments

I visibility test = orientation test

V.Fisikopoulos | ESA’12 8 / 16

Page 22: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

The convex hull problem

Definition

The convex hull of A ⊆ Rd is the smallest convex set containing A.

Incremental convex hull construction

I connect each outer point to thevisible segments

I visibility test = orientation test

V.Fisikopoulos | ESA’12 8 / 16

Page 23: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

The convex hull problem

Definition

The convex hull of A ⊆ Rd is the smallest convex set containing A.

Incremental convex hull construction

I connect each outer point to thevisible segments

I visibility test = orientation test

V.Fisikopoulos | ESA’12 8 / 16

Page 24: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

The convex hull problem

Definition

The convex hull of A ⊆ Rd is the smallest convex set containing A.

Incremental convex hull construction

I connect each outer point to thevisible segments

I visibility test = orientation test

V.Fisikopoulos | ESA’12 8 / 16

Page 25: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

The convex hull problem

Definition

The convex hull of A ⊆ Rd is the smallest convex set containing A.

Incremental convex hull construction

I connect each outer point to thevisible segments

I visibility test = orientation test

V.Fisikopoulos | ESA’12 8 / 16

Page 26: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

The convex hull problem

Definition

The convex hull of A ⊆ Rd is the smallest convex set containing A.

Incremental convex hull construction

I connect each outer point to thevisible segments

I visibility test = orientation test

V.Fisikopoulos | ESA’12 8 / 16

Page 27: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

The convex hull problem

Definition

The convex hull of A ⊆ Rd is the smallest convex set containing A.

Incremental convex hull construction

I connect each outer point to thevisible segments

I visibility test = orientation test

Similar problems: Delaunay, regular triangulations, point-location

V.Fisikopoulos | ESA’12 8 / 16

Page 28: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

The convex hull problem: REVISITED

I convex hull → sequence of similar orientation predicates

I take advantage of computations done in previous steps

Incremental convex hull construction → 1-column updates

V.Fisikopoulos | ESA’12 9 / 16

Page 29: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

The convex hull problem: REVISITED

I convex hull → sequence of similar orientation predicates

I take advantage of computations done in previous steps

Incremental convex hull construction → 1-column updatesp1

p2 p3

p1 p2 p3

1 1 1

A =

I Orientation(p1, p2, p3) = det(A) in O(dω)

V.Fisikopoulos | ESA’12 9 / 16

Page 30: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

The convex hull problem: REVISITED

I convex hull → sequence of similar orientation predicates

I take advantage of computations done in previous steps

Incremental convex hull construction → 1-column updatesp1

p2 p3

p4

p1 p3

1 1 1

A′ =p4

I Orientation(p1, p2, p4) = det(A ′) in O(d2)

I Store det(A), A−1 + update det(A ′), A ′−1 (Sherman-Morrison)

V.Fisikopoulos | ESA’12 9 / 16

Page 31: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

The convex hull problem: REVISITED

I convex hull → sequence of similar orientation predicates

I take advantage of computations done in previous steps

Incremental convex hull construction → 1-column updatesp1

p2 p3

p4

p1 p3

1 1 1

A′ =p4

I Orientation(p1, p2, p4) = det(A ′) in O(d2)

I Store det(A), A−1 + update det(A ′), A ′−1 (Sherman-Morrison)

V.Fisikopoulos | ESA’12 9 / 16

Page 32: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

Dynamic determinants in geometric algorithms

Given A ⊆ Rd, n = |A| and t = the number of cells

Theorem

Orientation predicates in increm. convex hull: O(d2) (space: O(d2t))Proof: update det(A ′), A ′−1

Corollary

Orientation predicates involved in point-location: O(d) (space: O(d2t))Proof: update only det(A ′)

Corollary

Incremental convex hull and volume comput.: O(dω+1nt) → O(d3nt)

V.Fisikopoulos | ESA’12 10 / 16

Page 33: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments

Outline

1 Dynamic determinant computation

2 Geometric algorithms: convex hull

3 Implementation - experiments

V.Fisikopoulos | ESA’12 11 / 16

Page 34: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments

Determinant implementation

Dynamic determinant computation

I C++, GNU Multiple Precision arithmetic library (GMP)

I Implement dyn inv & dyn adj

Exact determinant computation software

I LU decomposition (CGAL)

I optimized LU decomposition (Eigen)

I asymptotically optimal algorithms (LinBox)

I Maple’s default determinant algorithm (Maple 14)

I Bird’s algorithm (our implementation)

I Laplace (cofactor) expansion (our implementation)

V.Fisikopoulos | ESA’12 12 / 16

Page 35: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments

Determinant experiments

Uniform distributed rational coefficients, matrix A ⊆ Qd×d.

d Bird CGAL Eigen Laplace Maple dyn inv dyn adj

3 .013 .021 .014 .008 .058 .046 .0234 .046 .050 .033 .020 .105 .108 .0425 .122 .110 .072 .056 .288 .213 .0676 .268 .225 .137 .141 .597 .376 .1027 .522 .412 .243 .993 .824 .613 .1488 .930 .710 .390 – 1.176 .920 .2109 1.520 1.140 .630 – 1.732 1.330 .310

10 2.380 1.740 .940 – 2.380 1.830 .430

spec: Intel Core i5-2400 3.1GHz, 6MB L2 cache, 8GB RAM, 64-bit Debian GNU/Linux

V.Fisikopoulos | ESA’12 13 / 16

Page 36: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments

Determinant experiments

Uniform distributed integer coefficients, matrix A ⊆ Zd×d.

d Bird CGAL Eigen Laplace Linbox Maple dyn inv dyn adj3 .002 .021 .013 .002 .872 .045 .030 .0084 .012 .041 .028 .005 1.010 .094 .058 .0155 .032 .080 .048 .016 1.103 .214 .119 .0236 .072 .155 .092 .040 1.232 .602 .197 .0337 .138 .253 .149 .277 1.435 .716 .322 .0468 .244 .439 .247 – 1.626 .791 .486 .0689 .408 .689 .376 – 1.862 .906 .700 .085

10 .646 1.031 .568 – 2.160 1.014 .982 .10711 .956 1.485 .800 – 10.127 1.113 1.291 .13312 1.379 2.091 1.139 – 13.101 1.280 1.731 .16013 1.957 2.779 1.485 – – 1.399 2.078 .184

spec: Intel Core i5-2400 3.1GHz, 6MB L2 cache, 8GB RAM, 64-bit Debian GNU/Linux

V.Fisikopoulos | ESA’12 13 / 16

Page 37: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments

Convex hull implementation

Hashed dynamic determinants

I dyn inv & dyn adj + hash table (dets & matrices)

I geometric software → geometric predicates

Convex hull software

I randomized incremental (triangulation/CGAL)

I beneath-and-beyond (bb) (polymake)

I double description method (cdd)

I gift-wrapping with reverse search (lrs)

triangulation + hashed dynamic determinants = hdch z or hdch q

V.Fisikopoulos | ESA’12 14 / 16

Page 38: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments

Convex hull experiments

6-dim points, integer coeffs uniformly distributed inside a 6-ball

0

10

20

30

40

50

60

70

100 150 200 250 300 350 400 450 500

Tim

e (s

ec)

Number of input points

hdch_qhdch_z

trianglrsbb

cdd

I hdch q (hdch z)rational (integer)arithmetic

I drawback: memoryconsuption

500 6D points

triang 0.1GBhdch z 2.8GBhdch q 3.8GB

spec: Intel Core i5-2400 3.1GHz, 6MB L2 cache, 8GB RAM, 64-bit Debian GNU/LinuxV.Fisikopoulos | ESA’12 15 / 16

Page 39: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments

Point location experiments

I triangulation of A ⊆ Zd points uniformly distibuted on a d-ball surface

I 1K and 1000K query points uniformly distibuted on a d-cube

d |A| preprocess ds mem # cells query time (sec)time (sec) (MB) triang 1K 1000K

hdch z 8 120 45.20 6913 319438 0.41 392.55triang 8 120 156.55 134 319438 14.42 14012.60

hdch z 9 70 45.69 6826 265874 0.28 276.90triang 9 70 176.62 143 265874 13.80 13520.43

hdch z 10 50 43.45 6355 207190 0.27 217.45triang 10 50 188.68 127 207190 14.40 14453.46

hdch z 11 39 38.82 5964 148846 0.18 189.56triang 11 39 181.35 122 148846 14.41 14828.67

I up to 78 times faster using up to 50 times more memory

spec: Intel Core i5-2400 3.1GHz, 6MB L2 cache, 8GB RAM, 64-bit Debian GNU/Linux

V.Fisikopoulos | ESA’12 16 / 16

Page 40: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments

Conclusions and Future work

The code

http://hdch.sourceforge.net

Future work

I Delaunay triangulations (inSphere predicate)

I gift-wrapping convex hull algorithms

I overcome large memory consumption (clean periodically the hashtable)

I filtered computations

I CGAL submission

THANK YOU !!!

V.Fisikopoulos | ESA’12 17 / 16

Page 41: Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments

Conclusions and Future work

The code

http://hdch.sourceforge.net

Future work

I Delaunay triangulations (inSphere predicate)

I gift-wrapping convex hull algorithms

I overcome large memory consumption (clean periodically the hashtable)

I filtered computations

I CGAL submission

THANK YOU !!!

V.Fisikopoulos | ESA’12 17 / 16