# A Distance Matrix Completion Approach to 1-Round Algorithms for Point Placement in the Plane

• Md. Zamilur Rahman
• Udayamoorthy Navaneetha Krishnan
• Cory Jeane
• Yash P. Aneja
Chapter
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10990)

## Abstract

In this paper we propose a 1-round algorithm for approximate point placement in the plane in an adversarial model. The distance query graph presented to the adversary is chordal. The remaining distances are determined using a distance matrix completion algorithm for chordal graphs, based on a result by Bakonyi and Johnson [SIAM Journal on Matrix Analysis and Applications 16 (1995)]. The layout of the points is determined from the complete distance matrix in two ways: using the traditional Young-Householder approach as well as a Stochastic Proximity Embedding (SPE) method due to Agrafiotis [Journal of Computational Chemistry 24 (2003)].

## Keywords

Distance geometry Point placement Distance matrix completion Embed algorithm Eigenvalue decomposition

## 1 Introduction

The problem of locating n distinct points on a line, up to translation and reflection, in an adversarial setting has been extensively studied [1, 2, 3, 4]. The best known 2-round algorithm that makes 9n / 7 queries and has a query lower bound of 9n / 8 queries is due to Alam and Mukhopadhyay [5]. In this paper we propose a 1-round algorithm for the same problem in the plane. To the best of our knowledge there is no prior work extant on this problem. A practical motivation for this study is the extensively researched and closely related sensor network localization problem [6, 7].

## 2 Preliminaries

Let $$D = [d_{ij}]$$ be an $$n \times n$$ symmetric matrix, whose diagonal entries are 0 and the off-diagonal entries are positive. It is said to be an Euclidean distance matrix if there exists points $$p_1, p_2, \ldots , p_{n}$$ in some k-dimensional Euclidean space such that $$d_{ij} = d(p_i, p_j)^2$$, where $$d(p_i, p_j)$$ is the Euclidean distance between the points $$p_i$$ and $$p_j$$. A set of necessary and sufficient conditions for this was given by Schoenberg [8], as well as Young and Householder [9]. A partial distance matrix is one in which some entries are missing.

A graph G consists of a finite set of vertices (also called nodes) $$\{v_1, v_2, \ldots , v_{n}\}$$ and a set of edges $$\{\{v_i, v_j\}, i\ne j\}$$ joining some pairs of vertices. A standard description is $$G = (V, E)$$, where V is the set of vertices set and E is the set of edges. A path in G is a sequence of vertices $$v_i, v_{i+1}, \ldots , v_k$$, where $$\{v_j, v_{j+1}\}$$ for $$j = i, i+1, \ldots , k-1$$, is an edge of G. A cycle is a closed path. The size of a cycle is the number of edges in it. A chord of a cycle is an edge joining two non-consecutive vertices. A graph G is said to be chordal if it has no chordless cycles of size 4 or more.

The distance graph of an $$n \times n$$ distance matrix, is a graph on n vertices with an edge connecting two vertices $$v_i$$ and $$v_j$$ if there is a non-zero entry in i-th row and j-th column of the distance matrix.

The neighbourhood N(v) of a vertex v of G consists of those vertices in G that are adjacent to v. A vertex v is said to be simplicial if N(v) is a clique, that is, a complete subgraph on N(v). A simplicial ordering of the vertices of G is a map $$\alpha : V \rightarrow \{1, 2, \ldots , n\}$$ such that $$v_i$$ is simplicial in the induced graph on the the vertex set $$\{v_i, v_{i+1}, \ldots , v_n\}$$.

## 3 Point Placement on a Line: A Quick Review

To provide a context and motivation for the results of this paper, we provide a quick review of the main ideas underlying point placement algorithms for points on a line, with reference to a state-of-the-art algorithm [5].

Let $$P = \{p_1, p_2, \ldots , p_{n}\}$$ be n distinct points on a line. A distance graph on n vertices (corresponding to the n points in P) has edges joining pairs of points whose distances on the line are sought of an adversary. An assignment of lengths to the edges of this graph by an adversary is assumed to be valid if there exists a linear layout consistent with these lengths. The distance graph is said to be line-rigid if a consistent layout exists for all valid, adversarial assignments of lengths. All the distance graphs shown in Fig. 1 are line-rigid. However, a 4-cycle is not line-rigid as there exists an assignment of lengths that makes it a parallelogram, whose vertices have two distinct linear layouts.
A prototypical 1-round algorithm uses the line-rigid 3-cycle (or triangle) graph as the core structure and constructs the following distance graph on n points (see Fig. 2). As the figure shows, the graph has $$n-2$$ triangles, hanging from a common strut. The number of distance queries made is $$2n - 3$$.
A prototypical 2-round algorithm uses the 4-cycle (or triangle) graph as the core structure and constructs the following distance graph on n points (see Fig. 3). As the figure shows, the graph has b and $$b + 2$$ edges, hanging from the left and right end-points respectively of a fixed edge. The explanation is that a 4-cycle is not line-rigid and the rigidity condition that at least one pair of opposite edges are not equal can be satisfied over two rounds. The discrepancy of 2 in the number of edges hanging from the two end-points allows us to pair edges which are not equal and thus meet the line rigidity condition for a 4-cycle. The number of distance queries made is $$3n/2 - 2$$. Thus by increasing the number of rounds and constructing a more complex query graph we reduce the number of distance queries by a constant factor.
The best known 2-round algorithm to-date [5], builds a distance query graph using the 3-path graph of Fig. 4. Its query complexity is $$9n/7 + O(1)$$. This comes at the expense of 55 rigidity conditions that must be satisfied over two rounds.
The main tool for obtaining these rigidity conditions is the concept of a layer graph, introduced in [3]. A layer graph is an orthogonal re-drawing (if possible) of the distance query graph that must satisfy the following conditions:
1. P1.

Each edge e of G is parallel to one of the two orthogonal directions x and y.

2. P2.

The length of an edge e is the distance between the corresponding points on L.

3. P3.

Not all edges are along the same direction (thus a layer graph has a two-dimensional extent).

4. P4.

When the layer graph is folded onto a line, by a rotation either to the left or to the right about an edge of the layer graph lying on this line, no two vertices coincide.

Chin et al. [3] showed that a given distance query graph is not line rigid iff it has a layer graph drawing. The different rigidity conditions are derived from a painstaking enumeration of all possible layer graph drawings of the given distance query graph. This is a challenging task.

Our experience with the implementation of 2-round algorithms (see [10]) has shown that the rigidity conditions are easy to verify when exact arithmetic is used; indeed, we simulated an adversary by generating layouts with integral coordinates. However if pairwise distances are not integral, the rounding errors introduced in finite-precision calculations can make checking the rigidity conditions difficult. This is an unavoidable issue for point-placement in the plane.

Another difficulty of generalizing this approach to two and higher dimensions is that of obtaining a suitable generalization of the layer graph concept and the associated theorem. This motivates the approach taken in this paper. The advantage of this approach is that it is susceptible to generalization to higher dimensions.

## 4 Overview of Our Results

We first discuss a reductionist approach to this problem: reducing point placement in the plane to point placement on a line. We consider the case when the points lie on a circle, using stereographic projection to reduce this to a 1-dimensional point placement problem. For points lying on an integer grid, we reduce the problem to two 1-dimensional point placement problems.

The algorithms for point placement on a line require testing a very large number of constraints involving edge lengths of a distance graph. Our experiments have shown that these work well when the points on a line have integral coordinates. To circumvent this problem we consider a matrix distance completion approach, when the distance graph is chordal. In our adversarial setting, we seek the lengths of this chordal graph from an adversary (An adversary can be thought of as a source of correct distance measurements.).

Once the adversary has returned edge lengths for the chordal distance graph, we solve a matrix distance completion problem. Bakonyi and Johnson [11] showed that if the distance graph corresponding to a partial distance matrix is chordal, there exists a completion of this partial distance matrix. Precisely, they proved the following result.

### Theorem 1

[11] Every partial distance matrix in $$R^k$$, the graph, G, of whose specified entries is chordal, admits a completion to a distance matrix in $$R^k$$.

Finally, we compute the planar coordinates of the vertices of this complete distance graph. We have used two methods for this: an intriguing heuristic known as Stochastic Proximity Embedding (SPE) [12] and a deterministic technique due to Young and Householder [9].

## 5 Point Placement in the Plane

When the points $$p_1, p_2, \ldots , p_n$$ lie on an integer grid, we can solve the problem by solving two 1-dimensional point placement problems by projecting them on the x and y-axes. We assume that no two points lie on the same vertical or horizontal line of the grid (see Fig. 5).
When the points lie on a circle, we can solve the problem by stereographic projection of the points on a line and then applying a 1-dimensional point location algorithm to the projected points (see Fig. 6).

When the (distance) graph of the partial distance matrix is chordal, we use a distance matrix completion algorithm, the major components of which are discussed below.

### 5.1 Computing a Simplicial Ordering, $$\alpha$$, of G

A simplicial ordering can be found by a breadth-first search of G, combined with a lexicographic labeling of its vertices. The following well-known LEX-BFS algorithm is due to Rose et al. [13].
For the chordal graph of Fig. 7, a simplicial ordering of is: $$\alpha (a) = 5, \alpha (b) = 4, \alpha (c) = 3, \alpha (e) = 2$$ and $$\alpha (d) = 1$$, obtained from the following label lists of the vertices over five steps.

a

b

c

d

e

Step 0

()

()

()

()

()

Step 1

()

(5)

(5)

()

()

Step 2

()

(5)

(5,4)

(4)

(4)

Step 3

()

(5)

(5,4)

(4)

(4,3)

Step 4

()

(5)

(5,4)

(4,2)

(4,3)

### 5.2 Computing a Chordal Graph Sequence

An algorithm for generating the sequence of chordal graphs depends on the following results, proved in [14].

### Theorem 2

[14] G has no minimal cycles of length exactly 4 if and only if the following holds: For any pair of vertices u and v with $$u \ne v$$, $$\{u, v \} \notin E$$, the graph $$G + \{u, v\}$$ has a unique maximal clique which contains both u and v. (That is: if C and $$C'$$ are both cliques in $$G + \{ u, v \}$$ which contain u and v, then so is $$C \cup C'$$.)

In particular, Theorem 2 holds for chordal graphs. The next theorem suggests an iterative algorithm for solving the distance matrix completion problem.

### Theorem 3

[14] Let $$G = (V, E)$$ be chordal. Then there exists a sequence of chordal graphs $$G_i = (V, E_i)$$, $$i = 0, 1, \ldots , k$$, such that $$G = G_0, G_1, G_2, \ldots , G_k$$ is the complete graph and $$G_i$$ is obtained by adding to $$G_{i-1}$$ an edge $$\{u, v\}$$ as in Theorem 2.

Such an edge $$\{u, v\}$$ is selected using the following scheme described in [14]. Assume that a simplicial ordering $$\alpha$$ of the vertices of the input chordal graph G is available. Let $$v_k$$ be the vertex $$\alpha ^{-1}(k)$$. Set $$k_i = max\{k | (v_k, v_m) \notin E_i ~\mathrm{for ~ some ~} m \}$$ and $$r_i = max\{r | (v_r, v_{k_i}) \notin E_i\}$$. Then the edge to be added is $$\{u, v\} = \{u_{k_i}, v_{r_i}\}$$. In the next section we discuss an algorithm for selecting a maximal clique, containing this edge.

### 5.3 Computing a Maximal Clique Containing a Given Edge

An interesting algorithm due to Bron-Kerbosch [15] computes all maximal cliques, from which we can select the maximal clique that contains this edge. The Bron-Kerbosch algorithm is a recursive backtracking algorithm, and a version based on choosing a pivot is described thus. The algorithm maintains three sets RP and X, reporting the set R as the vertices of a maximum clique when at any level of the recursive calls, the sets P and X become empty.

We have implemented a simple algorithm that starts with the edge of interest and grows this into a maximal clique. In greater details, start with a clique containing two vertices of the given edge, and grow the current clique one vertex at a time by looping through the graph’s remaining vertices. For each vertex v examined, add v to the clique if it is adjacent to every vertex that is already in the clique; otherwise, discard v.

### 5.4 Distance Matrix Completion of a Clique

The distance matrix of a clique with the distance of one edge missing can be formulated as the problem of completing a partial distance matrix with one missing entry. The following lemma proposes a solution to this problem.

### Theorem 4

[11] The partial distance matrix
\begin{aligned} \begin{pmatrix} 0 &{} D_{12} &{} x \\ D_{12}^{t} &{} D_{22} &{} D_{23} \\ x &{} D_{23}^{t} &{} 0 \\ \end{pmatrix} \end{aligned}
admits at least one completion to a distance matrix F. Moreover, if
\begin{aligned} \begin{pmatrix} 0 &{} D_{12} \\ D_{12}^{t} &{} D_{22} \\ \end{pmatrix} \end{aligned}
and
\begin{aligned} \begin{pmatrix} D_{22} &{} D_{23} \\ D_{23}^{t} &{} 0 \\ \end{pmatrix} \end{aligned}
are distance matrices with embedding dimensions p and q then x can be chosen so that the embedding dimension of F is $$s = max \{p, q\}$$.
This is equivalent to finding completions of the partial distance matrix:
\begin{aligned} \begin{pmatrix} 0 &{} 1 &{} 1 &{} e^{t} &{} 1 \\ 1 &{} 0 &{} d_{12} &{} \overline{D}_{13} &{} d_{14} \\ 1 &{} d_{12} &{} 0 &{} \overline{D}_{23} &{} x \\ e &{} \overline{D}_{13}^{t} &{} \overline{D}_{23}^t &{} \overline{D}_{33} &{} \overline{D}_{34} \\ 1 &{} d_{14} &{} x &{} \overline{D}_{34}^{t} &{} 0 \\ \end{pmatrix} \end{aligned}
to a matrix in which the Schur complement
\begin{aligned} \begin{pmatrix} a &{} B &{} x - d_{12} - d_{14} \\ B^t &{} C &{} D \\ x - d_{12} - d_{14} &{} D^t &{} f \\ \end{pmatrix} \end{aligned}
of the upper left $$2 \times 2$$ principal submatrix
\begin{aligned} \begin{pmatrix} 0 &{} 1 \\ 1 &{} 0 \\ \end{pmatrix} \end{aligned}
has a positive semidefinite completion of rank s. This provides a solution for x that follows from the following result.

### Theorem 5

[16] Let
\begin{aligned} R = \begin{pmatrix} a &{} B &{} x \\ B^t &{} C &{} D \\ x &{} D^t &{} f \\ \end{pmatrix} \end{aligned}
be a real partial positive semidefinite matrix in which $$rank \begin{pmatrix}a &{} B \\ B^t &{} C \\ \end{pmatrix} = p$$ and $$rank \begin{pmatrix} C &{} D \\ D^t &{} f \\ \end{pmatrix} = q$$. Then there is real positive semidefinite completion F of R such that the rank of F is $$max\{p, q\}$$. This completion is unique iff $$rankC = p$$ or $$rankC = q$$.

In the next section we discuss the last stage of the point placement problem: this is to determine the coordinates of a layout from a completed distance matrix.

## 6 Coordinate Computation

We apply and compare two methods: an intriguing heuristic known as Stochastic Proximity Embedding (SPE) [12] and a deterministic technique due to Young and Householder [9]. Below we describe these briefly.

### 6.1 The SPE Method

Let $$P^r = \{p_1^{a}, p_2^{a}, \ldots , p_n^{a}\}$$ be an arbitrary embedding in two-dimensions of the points $$P = \{p_1, p_2, \ldots , p_n\}$$. The input to the algorithm is a complete (or incomplete) distance matrix $$R = [r_{ij}]$$, representing the exact distances between some pairs of points as well as an approximate distance matrix $$D = [d_{ij}]$$, representing approximate distances between all pairs of points. The latter matrix is derived from the arbitrary embedding $$\{p_1^{a}, p_2^{a}, \ldots , p_n^{a}\}$$.

The algorithm is surprisingly simple, consisting of two nested cycles: an outer cycle, called the learning cycle and an inner cycle that applies a Newton-Raphson root-finding style correction to the coordinates of a randomly chosen pair of points from the set $$P^r$$. The number of iteration steps is $$C\times S$$, where C is the number of learning cycles and S is the number of times a random pair of points is selected from $$P^r$$. The parameters C and S are set so that $$CS = o(n^2)$$, as the quadratic running times of similar algorithms based on Multi-Dimensional Scaling (MDS), Principal Component Analysis (PCA), for example, make them inefficient when dealing with very large point sets. Algorithm 3 SPE is a formal description of the SPE heuristic.

During our experiments with the SPE heuristic, we observed that if the number of points to be learned is fewer than the number of learning cycles, SPE ends up translating the point set by a very large value. To preempt this translation, we introduced the notion of anchor points. These are a few points whose positions are never updated, treating them, so to say, as fixed points of the transformation. We modified the above original version of SPE accordingly.

### 6.2 The Young-Householder Method

Young and Householder’s algorithm [9] for coordinate computation is based on the following result.

### Theorem 6

[9] A necessary and sufficient condition for a set of numbers $$d_{ij} = d_{ji}$$ to be the mutual distances of a real set of points in Euclidean space is that the matrix $$B = [d^2_{1i} + d^2_{1j} - d^2_{ij}]$$ be positive semi-definite; and in this case the set of points is unique apart from a Euclidean transformation.

In this case, there exists an orthogonal matrix $$\sigma$$ such that
\begin{aligned} B = \sigma L^2 \sigma ^t \end{aligned}
where $$L^2 = [\lambda ^2_{1}, \lambda ^2_{2}, \ldots , \lambda ^2_{r}, 0, \ldots , 0]$$, $$\sigma ^t$$ is the transpose of $$\sigma$$, and r is the embedding dimension. Thus, we have
\begin{aligned} B = (\sigma L) (\sigma L)^t \end{aligned}
Since $$B = AA^t$$, where the rows of the matrix A are the coordinates of the points $$p_1, p_2, \ldots , p_{n}$$ in some r dimensional Euclidean space, the coordinates of the points are determined by solving the system of linear equations.
\begin{aligned} A = \sigma L \end{aligned}

## 7 SPE Versus Young-Householder

For the SPE heuristic, we set the so-called R-matrix to the completed distance matrix. To estimate the match of the layouts, we fixed one of the layouts and performed the geometric transformations (translations and rotations) on the other layouts and then we computed their Root-mean-square deviation (RMSD) distances. We computed RMSD distances using Eq. 1.
\begin{aligned} RMSD (p,q)= \sqrt{\frac{1}{n}\sum _{i=1}^{n}((p_{ix}-q_{ix})^2+(p_{iy}-q_{iy})^2)} \end{aligned}
(1)
Here we applied Kabsch algorithm [17] to perform a translation and the optimal rotation. For translation, we computed the centroids from both sets of coordinates and then subtracted the centroids from all the points in each set. Then we computed the covariance matrix. Next we computed singular value decomposition (SVD) of the covariance matrix and after we computed the optimal rotation matrix.

Remarks: During our experiments with the SPE heuristic, we observed that if the number of points to be learned is fewer than the number of learning cycles, SPE ends up translating the point set by a very large value. This translation can be preempted by assuming that the positions of a few points, named as anchor points, are known a priori. Such an assumption is not very far-fetched as in the network localization problem the positions of some sensors, called beacon nodes are known. Inside the loops of the SPE heuristic, the positions of the anchor points are never updated, treating them, so to say, as fixed points of the transformation. Anchor points have another merit: SPE becomes less sensitive to the initial random distribution we start with. Otherwise, SPE has to be run with different initial distributions to get a final layout that agrees closely with the layout generated by the Young-Householder method.

### 7.1 Experimental Results

We have implemented the above algorithm in Python on a laptop with an Intel Core i7 processor with 16GB RAM, running under Windows 10. The software includes a module for the generation of chordal graphs to be used as input. The chordal graph generation uses one of two algorithms proposed by Markenzon et al. [18]. A formal description of this algorithm is given below.
The result of an experiment is described below for a chordal graph. The following partial distance matrix, where the off-diagonal 0’s represent unknown distances,
\begin{aligned} \begin{pmatrix} 0 &{} 9 &{} 0 &{} 0 &{} 0 &{} 0 &{} 5 &{} 20 \\ 9 &{} 0 &{} 2 &{} 25 &{} 40 &{} 34 &{} 20 &{} 17 \\ 0 &{} 2 &{} 0 &{} 17 &{} 0 &{} 0 &{} 0 &{} 13 \\ 0 &{} 25 &{} 17 &{} 0 &{} 5 &{} 0 &{} 0 &{} 2 \\ 0 &{} 40 &{} 0 &{} 5 &{} 0 &{} 2 &{} 0 &{} 5 \\ 0 &{} 34 &{} 0 &{} 0 &{} 2 &{} 0 &{} 10 &{} 5 \\ 5 &{} 20 &{} 0 &{} 0 &{} 0 &{} 10 &{} 0 &{} 13 \\ 20 &{} 17 &{} 13 &{} 2 &{} 5 &{} 5 &{} 13 &{} 0 \end{pmatrix} \end{aligned}
is obtained from the distances returned by the adversary based on the layout of a chordal graph, G, shown in Fig. 8.
The matrix distance completion algorithm outputs the following matrix.
\begin{aligned} \begin{pmatrix} 0 &{} 9 &{} 17.0 &{} 34.0 &{} 37.0 &{} 25.0 &{} 5 &{} 20 \\ 9 &{} 0 &{} 2 &{} 25 &{} 40 &{} 34 &{} 20 &{} 17 \\ 17.0 &{} 2 &{} 0 &{} 17 &{} 34.0 &{} 32.0 &{} 26.0 &{} 13 \\ 34.0 &{} 25 &{} 17 &{} 0 &{} 5 &{} 9.0 &{} 25.0 &{} 2 \\ 37.0 &{} 40 &{} 34.0 &{} 5 &{} 0 &{} 2 &{} 20.0 &{} 5 \\ 25.0 &{} 34 &{} 32.0 &{} 9.0 &{} 2 &{} 0 &{} 10 &{} 5 \\ 5 &{} 20 &{} 26.0 &{} 25.0 &{} 20.0 &{} 10 &{} 0 &{} 13 \\ 20 &{} 17 &{} 13 &{} 2 &{} 5 &{} 5 &{} 13 &{} 0 \end{pmatrix} \end{aligned}
where the computed entries are shown with a decimal point, followed by a single 0. The correctness of the computed entries can be checked against Fig. 8.
We ran the above complete distance matrix through our implementation of the Young-Householder algorithm. A plot of the output is shown in Fig. 9. Next we ran the SPE algorithm and the embedding is shown in Fig. 10. The embedding after translation and rotation is shown in Fig. 11. We plot the YH vs SPE in Fig. 12 where we can see the embedding from both methods are same. The RMSD value before and after geometric transformation is 4318.60872515 and $$3.11126009039e^{-13}$$, respectively.
We ran experiments on different chordal graphs and listed the results in Sect. 7.1. In this table, #Vertices refers to the number of vertices in the graph, #Edges refers to the number of edges in the initial partial graph. For a graph, we ran SPE ($$C\times S$$) times or until $$d_{ij}=r_{ij}$$. The RMSD value before and after geometric transformation is listed in columns 3 and 4.

# Vertices

# Edges

RMSD before Geo. Trans

RMSD after Geo. Trans

4

5

6164982694

5.76717E-07

5

9

304301527.4

2.57528E-08

5

8

9059590529

4.1455E-07

5

7

1222955924

7.82276E-07

6

14

81556345.73

8.86177E-09

6

13

28010.02681

2.23914E-12

6

12

29981807636

2.31506E-06

6

11

48331865860

3.01052E-06

7

20

8577710.63

5.02859E-10

7

19

1273505726

8.44946E-08

7

18

8261513997

8.99897E-07

7

17

663158.4682

6.56741E-11

7

16

318999605.8

3.63369E-08

7

15

2006376531

1.745E-07

7

14

121336040.3

7.96895E-07

8

27

177582109.7

1.17449E-08

8

26

551350.4771

3.46512E-11

8

24

4.67258E+11

3.97418E-05

8

23

907371.8146

6.12932E-11

9

35

8737642714

1.03805E-06

10

44

188935050.7

1.73626E-08

11

54

88538220.03

8.17251E-09

11

53

844370.2674

1.05934E-10

11

52

1196485.246

6.64448E-11

12

65

31394552.32

3.60513E-09

12

64

6083483.794

3.78314E-30

12

63

463247953.3

2.1168E-08

13

77

24104264.98

6.6898E-08

13

76

97530293

1.59546E-08

13

75

686054.2491

8.1589E-08

13

74

18470126.97

1.90852E-09

13

73

2062075.845

1.40785E-07

14

90

2847630.879

2.26219E-10

# Vertices

# Edges

RMSD before Geo. Trans

RMSD after Geo. Trans

15

104

2117864.588

2.65562E-10

15

103

3658041.023

2.5549E-08

16

118

40338688.31

6.72352E-07

17

135

2300705.974

8.44445E-10

17

134

1171271.563

2.64047E-10

17

133

2726784111

3.98553E-07

18

152

101220497.1

2.63716E-08

19

170

23454858.87

9.07134E-05

19

169

2297515.954

3.50958E-09

19

168

186898258.3

1.71402E-08

20

189

5015786.442

2.16286E-08

20

188

710440.9778

1.85761E-05

20

187

222145709.8

2.3955E-07

20

186

22051830.05

0.000203226

20

185

284561.9915

3.98301E-11

20

184

10035500.9

0.149877199

21

209

61660621.28

5.02581E-09

21

208

1988789.434

1.60774E-07

22

230

14488854.69

0.000815554

22

228

11976883.32

0.001114898

22

227

8297614.582

0.438067978

23

251

430611.4293

1.50913E-10

24

275

3.99943E+11

0.05391485

25

299

16517667.05

0.353860889

25

298

118930088.8

0.040632086

26

323

8397700.33

1.28898E-09

27

350

139031643.7

2.61083E-06

28

377

425730.4965

0.000547247

30

434

18810003.15

1.000356519

30

433

2266368.665

0.011282119

30

432

1187155.942

1.67458E-07

30

430

41982908.09

6.05155E-07

31

463

963614.5917

1.82794E-08

32

494

378732.6461

7.2889E-05

32

493

13433060.45

2.43305E-07

33

525

2811847.373

2.01482E-09

## 8 Computational Complexity

The computational complexity of the algorithm can be parametrized with respect to three different measures: (a) number of rounds, which is 1 in our case; (2) query complexity, which is the number of distance queries posed to the adversary and is a function of the number of rounds; (c) the time complexity of the algorithm.

The query complexity is the number of edges in the initial chordal graph. We have tried to make it as sparse as possible. It is always a tree on n vertices, with a few more edges added, to meet the requirements of the distance matrix completion algorithm. Thus the query complexity is O(n). The time complexity of the algorithm is dominated by the number of times we have to perform distance matrix completion of a clique. This is $$O(n^2f(n))$$, as we go from a chordal graph which is nearly a tree to a complete (chordal) graph. This explains the $$n^2$$ term. The factor f(n) is the complexity of the distance matrix completion algorithm. A loose upper bound is $$O(n^3)$$. Thus the time complexity of our algorithm is in $$O(n^5)$$.

## 9 Conclusion

In this paper we have proposed a 1-round algorithm for point placement in the plane in an adversarial setting, taking advantage of an existing infrastructure for completing partial distance matrices whose distance graphs are chordal. The locations of the points in the plane are recovered from the complete distance matrix, as outlined in Sects. 6 and 7.

Much more work remains to be done. The most interesting open question is this: for what kind of chordal graphs do we have a unique distance matrix completion? Bakonyi and Johnson [11] proved the following:

### Theorem 7

Let R be a partial distance matrix in $$R^k$$, the graph $$G = (V, E)$$ of whose specified entries is chordal and let $$\mathcal {S}$$ be the set of all minimal vertex separators of G. Then R admits a unique completion to a distance matrix if and only if
\begin{aligned} \begin{pmatrix} 0 &{} e^{T} \\ e &{} R(S) \\ \end{pmatrix} \end{aligned}
has rank $$k+2$$ for any $$S \in \mathcal {S}$$.

The characterization is interesting but computationally very expensive. It would be interesting to know if simpler characterizations exist that could be used to generate chordal graphs having unique completions.

Other problems of interest are the extensions of the algorithm to other classes of graphs than chordal graphs and the design of 2-round algorithms.

## References

1. 1.
Damaschke, P.: Randomized vs. deterministic distance query strategies for point location on the line. Discrete Appl. Math. 154(3), 478–484 (2006)
2. 2.
Damaschke, P.: Point placement on the line by distance data. Discrete Appl. Math. 127(1), 53–62 (2003)
3. 3.
Chin, F.Y.L., Leung, H.C.M., Sung, W.K., Yiu, S.M.: The point placement problem on a line-improved bounds for pairwise distance queries. In: Giancarlo, R., Hannenhalli, S. (eds.) WABI 2007. LNCS, vol. 4645, pp. 372–382. Springer, Heidelberg (2007).
4. 4.
Alam, M.S., Mukhopadhyay, A.: More on generalized jewels and the point placement problem. J. Graph Algorithms Appl. 18(1), 133–173 (2014)
5. 5.
Alam, M.S., Mukhopadhyay, A.: Three paths to point placement. In: Ganguly, S., Krishnamurti, R. (eds.) CALDAM 2015. LNCS, vol. 8959, pp. 33–44. Springer, Cham (2015).
6. 6.
Aspnes, J., et al.: A theory of network localization. IEEE Trans. Mobile Comput. 5(12), 1663–1678 (2006)
7. 7.
Biswas, P., Liang, T., Wang, T., Ye, Y.: Semidefinite programming based algorithms for sensor network localization. TOSN 2(2), 188–220 (2006)
8. 8.
Schoenberg, I.J.: Remarks to Maurice Fretchet’s article “sur la definition axiomatique d’une classe d’espace distancis vectoriellement applicable sur l’espace de Hilbert". Ann. Math. 36(3), 724–731 (1935)
9. 9.
Young, G., Householder, A.S.: Discussion of a set of points in terms of their mutual distances. Psychometrika 3(1), 19–22 (1938)
10. 10.
Mukhopadhyay, A., Sarker, P.K., Kannan, K.K.V.: Point placement algorithms: an experimental study. Int. J. Exp. Algorithms 6(1), 1–13 (2016)Google Scholar
11. 11.
Bakonyi, M., Johnson, C.R.: The euclidian distance matrix completion problem. SIAM J. Matrix Anal. Appl. 16(2), 646–654 (1995)
12. 12.
Agrafiotis, D.K.: Stochastic proximity embedding. J. Comput. Chem. 24(10), 1215–1221 (2003)
13. 13.
Rose, D.J., Tarjan, R.E., Lueker, G.S.: Algorithmic aspects of vertex elimination on graphs. SIAM J. Comput. 5(2), 266–283 (1976)
14. 14.
Grone, R., Johnson, C.R., Sa, E.M., Wolkowicz, H.: Positive definite completions of partial hermitian matrices. Linear Algebra Appl. 58, 109–124 (1984)
15. 15.
Bron, C., Kerbosch, J.: Algorithm 457: finding all cliques of an undirected graph. Commun. ACM 16(9), 575–577 (1973)
16. 16.
Ellis, R., Lay, D.: Rank-preserving extensions of band matrices. Linear Multilinear Algebra 26, 147–179 (1990)
17. 17.
Kabsch, W.: A solution for the best rotation to relate two sets of vectors. Acta Crystallogr. A 32(5), 922–923 (1976)
18. 18.
Markenzon, L., Vernet, O., Araujo, L.H.: Two methods for the generation of chordal graphs. Ann. OR 157(1), 47–60 (2008)

© Springer-Verlag GmbH Germany, part of Springer Nature 2018

## Authors and Affiliations

• Md. Zamilur Rahman
• 1
• Udayamoorthy Navaneetha Krishnan
• 1
• Cory Jeane
• 1