Rigidity-Based MDS – Localization and Refinement (RB-MDS) Johnny Yeh, Chandana Praneeth Wanigasekera Department of Computer Science Yale University New Haven, CT {johnny.yeh, praneeth}@yale.edu ABSTRACT The current thrust of computer science into the development of sensor networks has spawned a corresponding thrust into the sub-field of sensor-localization. A dearth of applications may utilize the position of sensors in order to assist in calculations, applications which have great potential to expand in the future. However, whereas the applications of localization have been easy to spot, the technique behind calculating accurate values has presented an interesting challenge to computer science. In particular, the process of calculating sensor positions constitutes several stages which must be integrated before effective resolution of the problem can be achieved. The following paper is a discourse on the matter. It will attempt to describe a system – implemented by the authors – called Rigidity-Based MDS (RB-MDS). 1. INTRODUCTION Sensor localizations represent a significant problem for sensor networks. Although sensors can communicate without knowing the precise locations of their neighbors, such knowledge allows for unique strategies such as geographic routing. Also, absolute knowledge of node positions can greatly assist in the utilization of nodes for research – perhaps as a scanning network to study a geographic expanse. In this vein, researchers have developed various methods by which to isolate the position of nodes within a network. Some research has been geared towards finding graph rigidities, properties of networks which can help determine whether or not localization is fully possible. Some research has aimed at calculating the position estimates given distances and beacons whose absolute values are known. And other research has been designed to refine the calculations once acquired. Essentially, scientists have attacked the problem in a piecemeal manner, targeting various layers of the process. In this vein, RB-MDS seeks to combine several of these layers into one cohesive process. Given accurate distances within a certain sub-set of nodes and given the position of several beacon nodes within the network, RBMDS should be able to return accurate approximations of where the nodes lie in both a local coordinate system as well as in the absolute coordinate system derived from the beacon node locations. RB-MDS actually consists of two sets of algorithms running on two originally identical sets of data. When the results for both of these algorithms are completed, the values are combined to ensure the highest degree of accuracy. The first process seeks to divide the network into regions based on the rigidity of those regions. The second process does not divide the network based on regions but seeks to solve for node positions over the entire graph. When combined, these results are surprisingly accurate. 2. SETTING UP RB-MDS The process of running RB-MDS requires that certain conditions be fulfilled before the running of the algorithm. First, the process must begin by taking data in from a topology file with the following format. <no. of nodes> <no. of beacons> <radius> <X size> <Y size> <no. edges> <x, y of beacon nodes> <id of one node of an edge, id of the other node, edge length> The data will be loaded into two identical data structures so that the two processes can be run. To ensure that all points that can have absolute coordinates assigned are processed by the algorithm we have to link each beacon to every other beacon on the graph with edges, because every beacon edge is accurately known. RBMDS requires that new edges are drawn between all pairs of beacons. Since the absolute positions of the beacons are known, adding such edges is trivial and only requires the use of Euclidean method. Adding such edges will help in the later stages by further enhancing the rigidity of the graph. 2. THE FIRST PROCESS The first process begins by dividing the network to separate regions. This will assist in pinpointing accurate values. Two characteristics are desirable in each region. First, a region should be redundantly rigid. In order to achieve this, RBMDS runs an implementation of the pebble game on the data, similar to the implementation described in [1]. This will parcel out the network into regions of nodes. Each of these regions will be labeled with a different values and each region will be defined as redundantly rigid or not redundantly rigid based on the results of the pebble game. Second, each region should have within it at least three beacon nodes. This is so that absolute positions can be determined. Without three beacon nodes, an absolute coordinate system cannot be derived. As noted earlier, RBMDS connected all beacons with edges. Such an operation would enhance the number of edges and thus raise the probability that a redundantly rigid region encompasses many more nodes than it otherwise would. Afterwards, the overall network will have been separated into redundant rigid regions as well as nonredundant rigid regions. The former are the only ones in which RB-MDS can find accurate approximations of node locations. The latter are thus not used in the forthcoming steps. After separating regions into redundant rigid and non-redundant rigid, RB-MDS then runs the Floyd-Warshall shortest paths algorithm on the one-hop distance matrix provided by the initial input. This allows RB-MDS to estimate the distances between any two nodes so long as there is a path in the region between the two nodes. RB-MDS then proceeds to run the MDS algorithm on each of the regions. As explained in [2], the MDS algorithm will calculate estimates of node positions given distances between select nodes. The MDS algorithm eventually gives back pair-wise coordinates for the nodes in the region in question. The first process of RB-MDS finishes by running a refinement algorithm on the results given by RB-MDS. The refinement process consists of constructing equations based on measured and calculated distances between nodes and then using least squares method to solve for the equation as explained in [3]. The refinement essentially attempts to minimize the error in the location approximations of all of the nodes. The refinement process makes a big difference in the quality of the coordinates given by RB-MDS. After refinement, RB-MDS combines approximated positions of all nodes within a given region. Notice that nodes not within a redundantly rigid region will not have their positions calculated by the first process. Ultimately, RBMDS outputs the approximated positions of all nodes within the redundantly rigid regions of the network. 2. THE SECOND PROCESS AND MERGING RESULTS The second process is identical to the first except that it does not separate the network into multiple regions. Rather it runs the Floyd-Warshall algorithm, MDS, and refinement across the entire graph. This returns a set of approximated node positions over the entire graph (Which includes nonredundant rigid points which cannot be pinpointed with 100% accuracy). At this point, RB-MDS will attempt to merge the graphs produced by the first and second processes. Realize that the results from the first process are likely to be more accurate than the results for the second process. This is because the division between redundantly rigid regions and non-redundantly rigid regions prevents deformations from taking place across a certain sub-sect of nodes which are guaranteed rigidity in localization. Yet in order to offer an estimate of every node – regardless of its rigidity – the second process results must be taken into account. In merging the two results, RB-MDS will give priority to the results returned by the first process – the more accurate of the two. However, for all nodes that the first process does not account for, RB-MDS will refer to the results of the second process – which has returned every node in the graph. The graph that RB-MDS creates upon output is test.output, found in the same directory as the computation files. Coordinates that cannot be calculated are discarded and replaced with (0, 0). 3. RESULTS The results returned by RB-MDS prove that the integration of various approaches can lead to highly accurate results. In a sampling of various graphs, the output demonstrated a high degree of consistency with the original graphs offered as input. In Figure 1, the input is a graph consisting of 100 nodes with a radius of 400 across 10 beacons. The graph output is shown in figure 2. Overall, the results demonstrate a high degree of consistency between input and output and reflect the accuracy given by RB-MDS. Figures 3 and 4 demonstrate the same degree of accuracy. The input – Figure 3 – is a graph with 20 nodes and 4 beacons. Although it appears simpler than the previous case, the greatly reduced connectivity between nodes makes it a harder case for which to solve. However, Figure 4 shows that RB-MDS can indeed solve for this case as well. Similar results can be seen for Figures 5 and 6 which have 20 nodes, 6 beacons, and a radius of 300. In Figures 7 and 8, the input has 50 nodes, 10 beacons, and a radius of 300. Again, results indicate high probability of success in determining node positions. Finally, in Figures 9 and 10, the input has 20 nodes and 4 beacons. Two of the clusters are lost since there are no beacons within them. This is an expected behavior for RBMDS. When there are insufficient beacons to determine absolute value positions, RB-MDS simply discards such regions since their positions are determinate. 4. CONCLUSION Sensor networks will continue to develop as an interesting and innovative field of research with the potential to dramatically expand its usability in the near future. However, in order to do so, certain attributes of such networks must be better understood. One area which requires much more research is sensor localization. It remains an open question as to how fast and how large the sensor network may grow before reaching an upper limit on its resources. Also, further research can be done into developing more refined methods of achieving various layers in the process of sensor localization. A better test for redundant rigidity, a faster method of calculating shortest path, and perhaps even a better algorithm than MDS may one day arise which can revolutionize the realm of sensor localization. Towards that goal, RB-MDS represents a significant and effective leap in the direction of efficient sensor localization and hopefully it can contribute to the bright and burgeoning future of sensor networks. REFERENCES [1]. D. J. Jacobs and B. Hendrickson. An Algorithm for Two Dimensional Rigidity Percolation: The Pebble Game. J. Comput. Phys. 137, 346-365 (1997). [2] Y. Shang, W. Ruml, Y. Zhang, and M. Fromherz. Localization from Connectivity in Sensor Network. ACM Mobihoc, 2003. [3]. A. Savvides, H. Park, and M. Srivastava. The Bits and Flops of the N-hop Multilateration Primitive for Node Localization Problems. WSNA, 2002. Figure 1 Figure 2 Figure 4 Figure 3 Figure 5 Figure 6 Figure 7 Figure 8 Figure 9 Figure 10