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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend