certified approximation algorithms for the fermat point
play

Certified Approximation Algorithms for the Fermat Point Kolja - PowerPoint PPT Presentation

Certified Approximation Algorithms for the Fermat Point Kolja Junginger 1 Ioannis Mantas 1 Evanthia Papadopoulou 1 Martin Suderland 1 Chee Yap 2 1 Faculty of Informatics, Universit della Svizzera italiana, Lugano, Switzerland 2 Courant Institute,


  1. Certified Approximation Algorithms for the Fermat Point Kolja Junginger 1 Ioannis Mantas 1 Evanthia Papadopoulou 1 Martin Suderland 1 Chee Yap 2 1 Faculty of Informatics, Università della Svizzera italiana, Lugano, Switzerland 2 Courant Institute, NYU, New York, NY, USA 18/03/2020 - Würzburg, Germany - EuroCG 2020

  2. Fermat point ◮ Foci: set of points A = { a 1 , . . . , a k } ⊆ R d ◮ Weight function: w : A → R > 0 a 4 a 3 a 1 a 2 1 / 14

  3. Fermat point ◮ Foci: set of points A = { a 1 , . . . , a k } ⊆ R d ◮ Weight function: w : A → R > 0 ◮ Fermat distance function: � ϕ ( x ) := w ( a ) � x − a � a ∈ A a 4 a 3 x a 1 a 2 1 / 14

  4. Fermat point ◮ Foci: set of points A = { a 1 , . . . , a k } ⊆ R d ◮ Weight function: w : A → R > 0 ◮ Fermat distance function: � ϕ ( x ) := w ( a ) � x − a � a ∈ A ◮ Fermat point x ∗ minimizes ϕ a 4 a 3 x x ∗ a 1 a 2 1 / 14

  5. Assumptions: ◮ The foci are not collinear. ( ⇒ The Fermat point is unique.) [Mello and dos Santos, 2018, Morrison, 2010] ◮ None of the foci is the Fermat point. 2 / 14

  6. Assumptions: ◮ The foci are not collinear. ( ⇒ The Fermat point is unique.) [Mello and dos Santos, 2018, Morrison, 2010] ◮ None of the foci is the Fermat point. x ∗ is an ε -approximation of the Fermat point x ∗ iff The point � x ∗ − x ∗ � ≤ ε. � � 2 / 14

  7. Assumptions: ◮ The foci are not collinear. ( ⇒ The Fermat point is unique.) [Mello and dos Santos, 2018, Morrison, 2010] ◮ None of the foci is the Fermat point. x ∗ is an ε -approximation of the Fermat point x ∗ iff The point � x ∗ − x ∗ � ≤ ε. � � Other notions in literature: x ∗ ) ≤ ϕ ( x ∗ ) + ε ◮ ϕ ( � x ∗ ) ≤ (1 + ε ) ϕ ( x ∗ ) ◮ ϕ ( � 2 / 14

  8. Our contribution ◮ Designed 2 approximation algorithms for the Fermat point ◮ based on box subdivision 3 / 14

  9. Our contribution ◮ Designed 2 approximation algorithms for the Fermat point ◮ based on box subdivision ◮ augmented the Weiszfeld point sequence with a guarantee ◮ Experimentally evaluated our algorithms 3 / 14

  10. Box subdivision idea Algorithm outline: ◮ Start with an axis-aligned box, which contains the Fermat point ◮ Depending on some tests on a box either ◮ split the box into 2 d many subboxes or ◮ discard the box ◮ Stop, if all the non-discarded boxes fit into a ball of radius ε . 4 / 14

  11. Box subdivision idea Algorithm outline: ◮ Start with an axis-aligned box, which contains the Fermat point ◮ Depending on some tests on a box either ◮ split the box into 2 d many subboxes or ◮ discard the box ◮ Stop, if all the non-discarded boxes fit into a ball of radius ε We want predicates, that can decide if the Fermat point is contained in a box. However, the Fermat point is the solution of a polynomial of exponentially high degree in the number of foci. 4 / 14

  12. Tests for predicates R d the set of axis-aligned boxes in R d . Denote by 5 / 14

  13. Tests for predicates R d the set of axis-aligned boxes in R d . Denote by R d → { true , false } . Let P be a logical predicate on boxes, i.e. P : 5 / 14

  14. Tests for predicates R d the set of axis-aligned boxes in R d . Denote by R d → { true , false } . Let P be a logical predicate on boxes, i.e. P : R d → { true , false } is a test for predicate P if T : T ( B ) = true ⇒ P ( B ) = true . 5 / 14

  15. Tests for predicates R d the set of axis-aligned boxes in R d . Denote by R d → { true , false } . Let P be a logical predicate on boxes, i.e. P : R d → { true , false } is a test for predicate P if T : T ( B ) = true ⇒ P ( B ) = true . We conclude nothing if T ( B ) = false . 5 / 14

  16. Soft predicates Definition Let T be a test for a predicate P . We call T a soft predicate of P if it is convergent in this sense: if ( B n ) n ∈ N is a monotone sequence of boxes B n +1 ⊆ B n that converges to a point a , then P ( a ) = T ( B n ) for n large enough. 6 / 14

  17. Soft predicates Definition Let T be a test for a predicate P . We call T a soft predicate of P if it is convergent in this sense: if ( B n ) n ∈ N is a monotone sequence of boxes B n +1 ⊆ B n that converges to a point a , then P ( a ) = T ( B n ) for n large enough. Definition Call g a soft version of function f if it is (i) conservative , i.e. for all B ∈ R d , g ( B ) contains f ( B ) := { f ( p ) : p ∈ B } , and (ii) convergent , i.e. if for monotone sequence ( B n ) n ∈ N that converges to a point a , the width of g ( B n ) converges to 0. We write f for g if g is a soft version of f . 6 / 14

  18. Soft predicates Definition Let T be a test for a predicate P . We call T a soft predicate of P if it is convergent in this sense: if ( B n ) n ∈ N is a monotone sequence of boxes B n +1 ⊆ B n that converges to a point a , then P ( a ) = T ( B n ) for n large enough. Definition Call g a soft version of function f if it is (i) conservative , i.e. for all B ∈ R d , g ( B ) contains f ( B ) := { f ( p ) : p ∈ B } , and (ii) convergent , i.e. if for monotone sequence ( B n ) n ∈ N that converges to a point a , the width of g ( B n ) converges to 0. We write f for g if g is a soft version of f . Soft versions can be derived from analytic functions by evaluating them with interval arithmetic. 6 / 14

  19. Tests Gradient exclusion test C ∇ ( B ) : Given a box B , it returns true if and only if 0 / ∇ ϕ ( B ) . ∈ 7 / 14

  20. Tests Gradient exclusion test C ∇ ( B ) : Given a box B , it returns true if and only if 0 / ∇ ϕ ( B ) . ∈ ⇒ If C ∇ ( B ) returns true, then the Fermat point is not in B . 7 / 14

  21. Tests Gradient exclusion test C ∇ ( B ) : Given a box B , it returns true if and only if 0 / ∇ ϕ ( B ) . ∈ ⇒ If C ∇ ( B ) returns true, then the Fermat point is not in B . Stopping test C ε ( Q ) : Given a set of boxes Q , one of which contains the Fermat point, it returns true, if and only if the minimum axis-aligned bounding box containing all boxes in Q has a radius at most ε . 7 / 14

  22. Tests Gradient exclusion test C ∇ ( B ) : Given a box B , it returns true if and only if 0 / ∇ ϕ ( B ) . ∈ ⇒ If C ∇ ( B ) returns true, then the Fermat point is not in B . Stopping test C ε ( Q ) : Given a set of boxes Q , one of which contains the Fermat point, it returns true, if and only if the minimum axis-aligned bounding box containing all boxes in Q has a radius at most ε . ⇒ If C ε ( Q ) returns true, then we have found an ε -approximation of the Fermat point. 7 / 14

  23. Newton test The Fermat point x ∗ is the root of ∇ ϕ . J − 1 This interval Newton operator N ( B ) = m B − ∇ ϕ ( B ) · ∇ ϕ ( m B ) has the property: x ∗ ∈ N ( B ) ⊂ B ⇒ N ( B ) [Brouwer, 1911, Nickel, 1971] 8 / 14

  24. Newton test The Fermat point x ∗ is the root of ∇ ϕ . J − 1 This interval Newton operator N ( B ) = m B − ∇ ϕ ( B ) · ∇ ϕ ( m B ) has the property: x ∗ ∈ N ( B ) ⊂ B ⇒ N ( B ) [Brouwer, 1911, Nickel, 1971] Newton inclusion test C N ( B ) : Given a box B , it returns true if and only if N (2 B ) ⊂ 2 B . 8 / 14

  25. Newton test The Fermat point x ∗ is the root of ∇ ϕ . J − 1 This interval Newton operator N ( B ) = m B − ∇ ϕ ( B ) · ∇ ϕ ( m B ) has the property: x ∗ ∈ N ( B ) ⊂ B ⇒ N ( B ) [Brouwer, 1911, Nickel, 1971] Newton inclusion test C N ( B ) : Given a box B , it returns true if and only if N (2 B ) ⊂ 2 B . ⇒ If C N ( B ) returns true, then the Fermat point is in N (2 B ) . 8 / 14

  26. Box subdivision algorithm Algorithm 1: Enhanced subdivision for Fermat Point ( E-SUB ) Foci set A , ε > 0 . Output: Point p . Input : 1 B 0 ← Initial-Box ( A ); Q ← Queue () ; Q. push ( B 0 ) ; 2 while not C ε ( Q ) do B ← Q. pop () ; 3 if C ∇ ( B ) then 4 if C N ( B ) then 5 Q ← Queue () ; N (2 B )) ; Q. push ( split 2 ( 6 else Q. push ( split ( B )) ; 7 8 return p ← Center of the bounding box of Q ; Theorem The subdivision algorithm returns an ε -approximation of the Fermat point. 9 / 14

  27. Weiszfeld point sequence The Weiszfeld point sequence p n +1 = T ( p n ) converges to the Fermat point. [Weiszfeld, 1937, Kuhn, 1973, Ostresh, 1978]  � k i =1 w ( a ) a i   � x − a i �  if x / ∈ A  � k   1 i =1 w ( a )  � x − a i � T ( x ) =  �   a ∈ A, a � = x w ( a ) a   � x − a �  if x ∈ A �  1 a ∈ A, a � = x w ( a ) � x − a � Problem: When to stop? two clusters of 249 foci 10 5 x ∗ 0 p 207 start -5 -10 -20 0 20 40 60 80 100 120 10 but p 207 is still far from the Fermat point x ∗ . 1 � p 207 − p 206 � < 10 / 14

  28. Point sequence algorithm Algorithm 2: Point sequence algorithm ( P-SEQ ) Foci set A , ε > 0 . Output: Point p . Input : 1 p ← center of mass; w ← ε ; 2 while True do B ← Box B ( m B = p, ω ( B ) = w ) ; 3 N ( B ) ⊆ B then return p ; if 4 � B � ∩ B 10 = ∅ then w ← min { ε, w · 10 } ; else if N 5 10 else w ← w 10 ; 6 p ← T ( p ) 7 Theorem The point sequence algorithm returns an ε -approximation of the Fermat point. 11 / 14

  29. Experiments Unif-2 Unif-1 12 1 0.8 10 0.6 8 0.4 0.2 6 0 4 -0.2 2 -0.4 -0.6 0 -0.8 -2 -1 -2 0 2 4 6 8 10 12 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Points in Unif-1 are uniformly sampled from a disk and in Unif-2 are uniformly sampled from two disjoint disks. 12 / 14

Recommend


More recommend