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

certified approximation algorithms for the fermat point
SMART_READER_LITE
LIVE PREVIEW

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,


slide-1
SLIDE 1

Certified Approximation Algorithms for the Fermat Point

Kolja Junginger 1 Ioannis Mantas 1 Evanthia Papadopoulou 1 Martin Suderland 1 Chee Yap 2

1Faculty of Informatics, Università della Svizzera italiana, Lugano, Switzerland 2Courant Institute, NYU, New York, NY, USA

18/03/2020 - Würzburg, Germany - EuroCG 2020

slide-2
SLIDE 2

Fermat point

◮ Foci: set of points A = {a1, . . . , ak} ⊆ Rd ◮ Weight function: w : A → R>0

a1 a2 a3 a4

1 / 14

slide-3
SLIDE 3

Fermat point

◮ Foci: set of points A = {a1, . . . , ak} ⊆ Rd ◮ Weight function: w : A → R>0 ◮ Fermat distance function: ϕ(x) :=

  • a∈A

w(a)x − a

a1 a2 a3 a4 x

1 / 14

slide-4
SLIDE 4

Fermat point

◮ Foci: set of points A = {a1, . . . , ak} ⊆ Rd ◮ Weight function: w : A → R>0 ◮ Fermat distance function: ϕ(x) :=

  • a∈A

w(a)x − a ◮ Fermat point x∗ minimizes ϕ

a1 a2 a3 a4 x∗ x

1 / 14

slide-5
SLIDE 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

slide-6
SLIDE 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. The point x∗ is an ε-approximation of the Fermat point x∗ iff

  • x∗ − x∗ ≤ ε.

2 / 14

slide-7
SLIDE 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. The point x∗ is an ε-approximation of the Fermat point x∗ iff

  • x∗ − x∗ ≤ ε.

Other notions in literature: ◮ ϕ( x∗) ≤ ϕ(x∗) + ε ◮ ϕ( x∗) ≤ (1 + ε)ϕ(x∗)

2 / 14

slide-8
SLIDE 8

Our contribution

◮ Designed 2 approximation algorithms for the Fermat point

◮ based on box subdivision

3 / 14

slide-9
SLIDE 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

slide-10
SLIDE 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 2d many subboxes or ◮ discard the box

◮ Stop, if all the non-discarded boxes fit into a ball of radius ε .

4 / 14

slide-11
SLIDE 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 2d 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

slide-12
SLIDE 12

Tests for predicates

Denote by Rd the set of axis-aligned boxes in Rd.

5 / 14

slide-13
SLIDE 13

Tests for predicates

Denote by Rd the set of axis-aligned boxes in Rd. Let P be a logical predicate on boxes, i.e. P : Rd → { true, false }.

5 / 14

slide-14
SLIDE 14

Tests for predicates

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

5 / 14

slide-15
SLIDE 15

Tests for predicates

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

5 / 14

slide-16
SLIDE 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 (Bn)n∈N is a monotone sequence of boxes Bn+1 ⊆ Bn that converges to a point a, then P(a) = T(Bn) for n large enough.

6 / 14

slide-17
SLIDE 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 (Bn)n∈N is a monotone sequence of boxes Bn+1 ⊆ Bn that converges to a point a, then P(a) = T(Bn) for n large enough.

Definition

Call g a soft version of function f if it is (i) conservative, i.e. for all B ∈ Rd, g(B) contains f(B) := {f(p) : p ∈ B}, and (ii) convergent, i.e. if for monotone sequence (Bn)n∈N that converges to a point a, the width of g(Bn) converges to 0. We write f for g if g is a soft version of f.

6 / 14

slide-18
SLIDE 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 (Bn)n∈N is a monotone sequence of boxes Bn+1 ⊆ Bn that converges to a point a, then P(a) = T(Bn) for n large enough.

Definition

Call g a soft version of function f if it is (i) conservative, i.e. for all B ∈ Rd, g(B) contains f(B) := {f(p) : p ∈ B}, and (ii) convergent, i.e. if for monotone sequence (Bn)n∈N that converges to a point a, the width of g(Bn) 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

slide-19
SLIDE 19

Tests

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

7 / 14

slide-20
SLIDE 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

slide-21
SLIDE 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

slide-22
SLIDE 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

slide-23
SLIDE 23

Newton test

The Fermat point x∗ is the root of ∇ϕ. This interval Newton operator N(B) = mB − J−1

∇ϕ(B) · ∇ϕ(mB) has

the property: N(B)⊂B ⇒ x∗ ∈ N(B) [Brouwer, 1911, Nickel, 1971]

8 / 14

slide-24
SLIDE 24

Newton test

The Fermat point x∗ is the root of ∇ϕ. This interval Newton operator N(B) = mB − J−1

∇ϕ(B) · ∇ϕ(mB) has

the property: N(B)⊂B ⇒ x∗ ∈ N(B) [Brouwer, 1911, Nickel, 1971] Newton inclusion test CN(B): Given a box B, it returns true if and only if N(2B) ⊂ 2B.

8 / 14

slide-25
SLIDE 25

Newton test

The Fermat point x∗ is the root of ∇ϕ. This interval Newton operator N(B) = mB − J−1

∇ϕ(B) · ∇ϕ(mB) has

the property: N(B)⊂B ⇒ x∗ ∈ N(B) [Brouwer, 1911, Nickel, 1971] Newton inclusion test CN(B): Given a box B, it returns true if and only if N(2B) ⊂ 2B. ⇒ If CN(B) returns true, then the Fermat point is in N(2B).

8 / 14

slide-26
SLIDE 26

Box subdivision algorithm

Algorithm 1: Enhanced subdivision for Fermat Point (E-SUB) Input : Foci set A, ε > 0. Output: Point p.

1 B0 ← Initial-Box(A);

Q ← Queue(); Q.push(B0);

2 while not Cε(Q) do 3

B ← Q.pop();

4

if C∇(B) then

5

if CN(B) then

6

Q ← Queue(); Q.push(split2( N(2B));

7

else Q.push(split(B));

8 return p ← Center of the bounding box of Q;

Theorem

The subdivision algorithm returns an ε-approximation of the Fermat point.

9 / 14

slide-27
SLIDE 27

Weiszfeld point sequence

The Weiszfeld point sequence pn+1 = T(pn) converges to the Fermat point. [Weiszfeld, 1937, Kuhn, 1973, Ostresh, 1978] T(x) =                k

i=1 w(a) ai x−ai

k

i=1 w(a) 1 x−ai

if x / ∈ A

  • a∈A,a=x w(a)

a x−a

  • a∈A,a=x w(a)

1 x−a

if x ∈ A Problem: When to stop?

  • 20

20 40 60 80 100

120

  • 10
  • 5

5 10

x∗ start p207

two clusters of 249 foci

p207 − p206 <

1 10 but p207 is still far from the Fermat point x∗.

10 / 14

slide-28
SLIDE 28

Point sequence algorithm

Algorithm 2: Point sequence algorithm (P-SEQ) Input : Foci set A, ε > 0. Output: Point p.

1 p ← center of mass;

w ← ε;

2 while True do 3

B ← Box B(mB = p, ω(B) = w);

4

if N(B) ⊆ B then return p ;

5

else if N B

10

  • ∩ B

10 = ∅ then w ← min{ε, w · 10}; 6

else w ← w

10; 7

p ← T(p)

Theorem

The point sequence algorithm returns an ε-approximation of the Fermat point.

11 / 14

slide-29
SLIDE 29

Experiments

Unif-1

  • 1
  • 0.8
  • 0.6
  • 0.4
  • 0.2

0.2 0.4 0.6 0.8 1

  • 1
  • 0.8
  • 0.6
  • 0.4
  • 0.2

0.2 0.4 0.6 0.8 1

Unif-2

  • 2

2 4 6 8 10 12

  • 2

2 4 6 8 10 12

Points in Unif-1 are uniformly sampled from a disk and in Unif-2 are uniformly sampled from two disjoint disks.

12 / 14

slide-30
SLIDE 30

Experiments

U n i f

  • 1

(a) (b)

U n i f

  • 2

Finding the Fermat point with times as function of (a) k, with ε = 10−4 and (b) ε, with k = 100.

13 / 14

slide-31
SLIDE 31

Thank you for your attention!

  • L. Brouwer

Über Abbildung von Mannigfaltigkeiten. Mathematische Annalen, 1911.

  • H. Kuhn

A note on Fermat’s problem. Mathematical programming, 1973.

  • L. Mello and L. dos Santos

On the location of the minimum point in the Euclidean distance sum problem. São Paulo Journal of Mathematical Sciences, 2018.

  • K. Morrison

The FedEx Problem. The College Mathematics Journal, 2010.

  • K. Nickel

On the Newton method in interval analysis. Wisconsin University-Madison Mathematics Research Center, 1971.

  • L. Ostresh

Convergence and descent in the Fermat location problem. Transportation Science, 1978.

  • E. Weiszfeld

Sur le point pour lequel la somme des distances de n points donnés est minimum. Tohoku Mathematical Journal, First Series, 1937.

14 / 14