Transactions on Computational Science XXXIII pp 97-114 | Cite as

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

## 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 9*n* / 7 queries and has a query lower bound of 9*n* / 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].

*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.

*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\).

*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.

- P1.
Each edge

*e*of*G*is parallel to one of the two orthogonal directions**x**and**y**. - P2.
The length of an edge

*e*is the distance between the corresponding points on*L*. - P3.
Not all edges are along the same direction (thus a layer graph has a two-dimensional extent).

- 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

*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 (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*

*G*, combined with a lexicographic labeling of its vertices. The following well-known LEX-BFS algorithm is due to Rose et al. [13].

| | | | | |
---|---|---|---|---|---|

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

*R*,

*P*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

*F*. Moreover, if

*p*and

*q*then

*x*can be chosen so that the embedding dimension of

*F*is \(s = max \{p, q\}\).

*s*. This provides a solution for

*x*that follows from the following result.

### Theorem 5

*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}\}\).

*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.

*r*is the embedding dimension. Thus, we have

*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.

## 7 SPE Versus Young-Householder

**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

*G*, shown in Fig. 8.

# 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

*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

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.Damaschke, P.: Randomized vs. deterministic distance query strategies for point location on the line. Discrete Appl. Math.
**154**(3), 478–484 (2006)MathSciNetCrossRefGoogle Scholar - 2.Damaschke, P.: Point placement on the line by distance data. Discrete Appl. Math.
**127**(1), 53–62 (2003)MathSciNetCrossRefGoogle Scholar - 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). https://doi.org/10.1007/978-3-540-74126-8_35CrossRefGoogle Scholar
- 4.Alam, M.S., Mukhopadhyay, A.: More on generalized jewels and the point placement problem. J. Graph Algorithms Appl.
**18**(1), 133–173 (2014)MathSciNetCrossRefGoogle Scholar - 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). https://doi.org/10.1007/978-3-319-14974-5_4CrossRefGoogle Scholar
- 6.Aspnes, J., et al.: A theory of network localization. IEEE Trans. Mobile Comput.
**5**(12), 1663–1678 (2006)CrossRefGoogle Scholar - 7.Biswas, P., Liang, T., Wang, T., Ye, Y.: Semidefinite programming based algorithms for sensor network localization. TOSN
**2**(2), 188–220 (2006)CrossRefGoogle Scholar - 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)MathSciNetCrossRefGoogle Scholar - 9.Young, G., Householder, A.S.: Discussion of a set of points in terms of their mutual distances. Psychometrika
**3**(1), 19–22 (1938)CrossRefGoogle Scholar - 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.Bakonyi, M., Johnson, C.R.: The euclidian distance matrix completion problem. SIAM J. Matrix Anal. Appl.
**16**(2), 646–654 (1995)MathSciNetCrossRefGoogle Scholar - 12.Agrafiotis, D.K.: Stochastic proximity embedding. J. Comput. Chem.
**24**(10), 1215–1221 (2003)CrossRefGoogle Scholar - 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)MathSciNetCrossRefGoogle Scholar - 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)MathSciNetCrossRefGoogle Scholar - 15.Bron, C., Kerbosch, J.: Algorithm 457: finding all cliques of an undirected graph. Commun. ACM
**16**(9), 575–577 (1973)CrossRefGoogle Scholar - 16.Ellis, R., Lay, D.: Rank-preserving extensions of band matrices. Linear Multilinear Algebra
**26**, 147–179 (1990)MathSciNetCrossRefGoogle Scholar - 17.Kabsch, W.: A solution for the best rotation to relate two sets of vectors. Acta Crystallogr. A
**32**(5), 922–923 (1976)CrossRefGoogle Scholar - 18.Markenzon, L., Vernet, O., Araujo, L.H.: Two methods for the generation of chordal graphs. Ann. OR
**157**(1), 47–60 (2008)MathSciNetCrossRefGoogle Scholar