Testing Euclidean minimum spanning trees in the plane

Artur Czumaj, Christian Sohler
2008 ACM Transactions on Algorithms
Given a Euclidean graph G over a set P of n points in the plane, we are interested in verifying whether G is a Euclidean minimum spanning tree (EMST) of P or G differs from it in more than ǫ n edges. We assume that G is given in adjacency list representation and the point/vertex set P is given in an array. We present a property testing algorithm that accepts graph G if it is an EMST of P and that rejects with probability at least 2 3 if G differs from every EMST of P in more than ǫ n edges. Our
more » ... than ǫ n edges. Our algorithm runs in O( n/ǫ · log 2 (n/ǫ)) time and has a query complexity of O( n/ǫ · log(n/ǫ)). (notice that in this case m = Θ(n 2 )). We are not aware of any research on the problem of verifying if a Euclidean graph is an EMST for its vertex set Recently, (after publishing the preliminary version  of the current paper) three sublinear-time approximation algorithms have been presented for the problem of estimating the weight of the MST. These algorithms are designed in a similar flavor as that in property testing. Chazelle et al.  presented an algorithm that, given a connected graph in adjacency list representation with average degree D, edge weights in the range [1 . . . W], and a parameter 0 < ε < 1 2 , approximates, with high probability, the weight of a MST in time O(D W ε −3 ) within a factor of (1 + ε). Czumaj et al.  gave a O( √ n · poly(1/ε))-time for a similar problem for geometric graphs, but this algorithm is assuming that the input graph is provided with some additional geometric data structures. Finally, Czumaj and Sohler  obtained an O(n · poly(1/ε))-time algorithm that estimates the weight of the MST in any metric graph to within a factor of (1 + ε). Outline After we introduce some basic notation in Section 2, in Section 2.1 we develop a property tester for disjointness of geometric objects, which is used as a subroutine in the EMST tester. Next, in Section 3, we present our property testing algorithm for the EMST problem. Section 4 gives another property testing algorithm which is slightly faster for large values of 1/ǫ. Preliminaries We begin with some basic definitions needed in this section before we discuss the input representation: Definition 2.1 A geometric graph for P is a weighted graph G = (P, E) with vertex set P and edge set E ⊆ P × P (the edges can be interpreted as straight-line segments connecting the endpoints). The weight of an edge (p, q) is implicitly given by the Euclidean distance between p and q in R 2 . Definition 2.2 A minimum spanning tree of the complete geometric graph for P is called the Euclidean minimum spanning tree (EMST) of P. Next we define when a graph is "far" from the EMST. Typically, a distance measure for graph properties depends on the number of entries in the graph representation that must be changed to obtain a graph that has the tested property. Definition 2.3 Let G = (P, E) be a geometric graph for P and let T = (P, E) be the Euclidean minimum spanning tree of P. We say G is ǫ-far from being the Euclidean minimum spanning tree of P (or, in short, ǫ-far from EMST) if one has to modify (insert or delete) more than ǫn edges in G to obtain T, that is : Input representation. We assume that both the point set and the graph are given as an oracle, and the point set is represented by a function f : [n] → R 2 (here and throughout the paper we will use the notation [n] := {1, . . . , n} for the set of integer numbers between 1 and n). The algorithm may query the oracle for the value of f(i) for some i ∈ [n]; the returned value is the position of the ith point of P. The geometric graph is given in the unbounded length adjacency list representation introduced in . The unbounded length adjacency list model is a general model for sparse graphs. The graph structure is