This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Optimal Parallel Algorithms for Finding Proximate Points, with Applications
December 1998 (vol. 9 no. 12)
pp. 1153-1166

Abstract—Consider a set P of points in the plane sorted by x-coordinate. A point p in P is said to be a proximate point if there exists a point q on the x-axis such that p is the closest point to q over all points in P. The proximate point problem is to determine all the proximate points in P. Our main contribution is to propose optimal parallel algorithms for solving instances of size n of the proximate points problem. We begin by developing a work-time optimal algorithm running in O(log log n) time and using ${{n \over {\log \log n}}}$ Common-CRCW processors. We then go on to show that this algorithm can be implemented to run in O(log n) time using ${{n \over {\log n}}}$ EREW processors. In addition to being work-time optimal, our EREW algorithm turns out to also be time-optimal. Our second main contribution is to show that the proximate points problem finds interesting, and quite unexpected, applications to digital geometry and image processing. As a first application, we present a work-time optimal parallel algorithm for finding the convex hull of a set of n points in the plane sorted by x-coordinate; this algorithm runs in O(log log n) time using ${{n \over {\log \log n}}}$ Common-CRCW processors. We then show that this algorithm can be implemented to run in O(log n) time using ${{n \over {\log n}}}$ EREW processors. Next, we show that the proximate points algorithms afford us work-time optimal (resp. time-optimal) parallel algorithms for various fundamental digital geometry and image processing problems. Specifically, we show that the Voronoi map, the Euclidean distance map, the maximal empty circles, the largest empty circles, and other related problems involving a binary image of size n×n can be solved in O(log log n) time using

$${{{n^2} \over {\log \log n}}}$$Common-CRCW processors or in O(log n) time using ${{{n^2} \over {\log n}}}$ EREW processors.

[1] P. Baglietto, M. Maresca, and M. Migliardi, "Euclidean Distance Transform on Polymorphic Processor Array," Proc. Computer Architectures for Machine Perception, pp. 288-293, 1995.
[2] D.H. Ballard and C.M. Brown, Computer Vision, Prentice Hall, Upper Saddle River, N.J., 1982.
[3] O. Berkman, B. Schieber, and U. Vishkin, "A Fast Parallel Algorithm for Finding the Convex Hull of a Sorted Point Set," Int'l J. Comput. Geom. Appl., vol. 6, no. 2, pp. 231-241, June 1996.
[4] V. Bokka, H. Gurla, S. Olariu, and J.L. Schwing, "Time- and VLSI-Optimal Convex Hull Computation on Meshes with Multiple Broadcasting," Information Processing Letters, vol. 56, no. 5, pp. 273-280, 1995.
[5] G. Borgefors, "Centres of Maximal Discs in the 5-7-11 Distance Transform," Proc. Eighth Scandinavian Conf. Image Analysis, vol. 1, pp. 105-111, 1993.
[6] H. Breu, J. Gil, D. Kirkpatrick, and M. Werman, “Linear time Euclidean Distance Transform Algorithms,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 17, pp. 529-533, 1995.
[7] D.Z. Chen,“Efficient geometric algorithms on the EREW-PRAM,” Proc. 28th Ann. Allerton Conf. on Comm., Control, and Computing, pp. 818-827, 1990; also IEEE Trans. Parallel and Distributed Systems, vol. 6, no. 1, pp. 41-47, 1995.
[8] L. Chen, "Optimal Algorithm for Complete Euclidean Distance Transform," Chinese J. Computers, vol. 18, no. 8, pp. 611-616, 1995.
[9] L. Chen and H.Y.H. Chuang, "Designing Systolic Architectures for Complete Euclidean Distance Transform," J. VLSI Signal Processing, vol. 10, no. 2, pp. 169-179, 1995.
[10] L. Chen and H.Y.H. Chuang, "An Efficient Algorithm for Complete Euclidean Distance Transform on Mesh-Connected SIMD," Parallel Computing, vol. 21, no. 5, pp. 841-852, 1995.
[11] L. Chen and H.Y.H. Chuang, "A Fast Algorithm for Euclidean Distance Maps of a 2-D Binary Image," Information Processing Letters, vol. 51, pp.25-29, 1994.
[12] W. Chen, K. Nakano, T. Masuzawa, and N. Tokura, "Optimal Parallel Algorithms for Computing Convex Hulls," IEICE Trans., vol. J74-D-I, no. 6, pp. 809-820, 1992.
[13] W. Chen, K. Nakano, T. Masuzawa, and N. Tokura, "A Parallel Method for the Prefix Convex Hulls Problem," IEICE Trans. Fundamentals Electronic Comm.. and Computer Science, vol. E77-A, no. 10, pp. 1,675-1,683, 1994.
[14] H.Y.H. Chuang and L. Chen, "SIMD Hypercube Algorithm for Complete Euclidean Distance Transform," Proc. IEEE Int'l Conf. Algorithms and Architectures for Parallel Processing, vol. 2, pp. 874-877, 1995.
[15] S.A. Cook, C. Dwork, and R. Reischuk, "Upper and Lower Time Bounds for Parallel Random Access Machines without Simultaneous Writes," SIAM J. Computing, vol. 15, pp. 87-97, 1986.
[16] H.N. Djidjev and A. Lingas, "On Computing Voronoi Diagrams for Sorted Point Sets," Int'l J. Comput. Geom. Appl., 1995.
[17] R.O. Duda and P.E. Hart, Pattern Classification and Scene Analysis. Wiley and Sons, 1973.
[18] A. Fujiwara, T. Masuzawa, and H. Fujiwara, "An Optimal Parallel Algorithm for the Euclidean Distance Maps," Information Processing Letters, vol. 54, pp. 295-300, 1995.
[19] T. Hirata, "A Unified Linear-Time Algorithm for Computing Distance Maps," Information Processing Letters, vol. 58, pp. 129-133, 1996.
[20] J. J'aJ'a, An Introduction to Parallel Algorithms.New York: Addison-Wesley, 1992.
[21] F. Lee and R. Jou, "Efficient Parallel Geometric Algorithms on a Mesh of Trees," Proc. 33rd Ann. Southeast Conf., pp. 213-218, 1995.
[22] Y.-H. Lee, S.-J. Horng, T.-W. Kao, F.-S. Jaung, Y.-J. Chen, and H.-R. Tsai, "Parallel Computation of Exact Euclidean Distance Transform," Parallel Computing, vol. 22, no. 2, pp. 311-325, 1996.
[23] O. Okun and S. Ablameyko, "Modified Distance Transform with Raster Scanning Value Propagation," Proc. SPIE-Int'l Soc. Optical Eng., vol. 2,826, pp. 284-293, 1996.
[24] S. Pavel and S.G. Akl, "Efficient Algorithms for the Euclidean Distance Transform," Parallel Processing Letters, vol. 5, no. 2, pp. 205-212, 1995.
[25] F.P. Preparata and M.I. Shamos, Computational Geometry. Springer-Verlag, 1985.
[26] T.S. Rappaport, Wireless Communications: Principles&Practice. Prentice Hall, 1996.
[27] G. Sanniti di Baja and L. Serino, "An Application of Quasi-Euclidean Distance Maps," Proc. Eighth Scandinavian Conf. Image Analysis, vol. 2, pp. 1,195-1,201, 1993.
[28] F.Y. Shih and C.C. Pu, "A Skeletonization Algorithm by Maxima Tracking on Euclidean Distance Transform," Pattern Recognition, vol. 28, no. 3, pp. 331-341, 1995.
[29] Y. Shiloach and U. Vishkin, "Finding the Maximum, Merging and Sorting in a Parallel Computation Model," J. Algorithms, vol. 2, no. 1, pp. 88-102, 1981.
[30] L.G. Valiant, "Parallelism in Comparison Problem," SIAM J. Computing, vol. 4, no. 3, pp. 348-355, 1975.
[31] Y. Ge and J.M. Fitzpatrick, "On the Generation of Skeletons From Discrete Euclidean Distance Maps," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 18, pp. 1,055-1,066, 1996.

Index Terms:
Proximate points, convex hulls, parallel algorithms, digital geometry, image analysis, pattern recognition, largest empty circles, cellular systems.
Citation:
Tatsuya Hayashi, Koji Nakano, Stephan Olariu, "Optimal Parallel Algorithms for Finding Proximate Points, with Applications," IEEE Transactions on Parallel and Distributed Systems, vol. 9, no. 12, pp. 1153-1166, Dec. 1998, doi:10.1109/71.737693
Usage of this product signifies your acceptance of the Terms of Use.