Abstract
A parallel algorithm is presented for computing the convex hull of a set ofn points in the plane. The algorithm usesn 1−ε processors, 0<ε<1, and runs inO(n ε logh) time, whereh is the number of edges on the convex hull, for a total cost ofO (n logh). This performance matches that of the best currently known sequential convex hull algorithm. In addition, sinceh≤n, the algorithm is worst-case optimal in view of the Ω (n logn) worst-case lower bound on sequential convex hull computation. It is also shown that the convex hull algorithm leads to a parallel sorting algorithm whose total cost isO(n logn), which is optimal.
Zusammenfassung
In dieser Arbeit wird ein paralleler Algorithmus zur Berechnung der konvexen Hülle einer Menge vonn Punkten in der Ebene vorgestellt. Der Algorithmus benötigtn 1−ε Prozessoren, 0<ε<1, und läuft in der ZeitO(n ε logh), wobeih die Zahl der Kanten der konvexen Hülle ist. Daraus ergeben sich Gesamtkosten vonO(n logh). Dieses Verhalten stimmt mit dem des besten bisher bekannten sequentiellen Algorithmus zur Berechnung der konvexen Hülle überein. Der Algorithmus ist zusätzlich optimal im schlechtesten Fall, dah≤n gilt und Ω(n logn) eine untere Schranke für die sequentielle Berechnung der konvexen Hülle ist. Außerdem wird gezeigt, daß der Algorithmus für die konvexe Hülle zu einem parallelen Sortierverfahren führt, dessen GesamtkostenO(n logn) sind, d. h. auch dieses Verfahren ist optimal.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Graham, R. L.: An efficient algorithm for determining the convex hull of a finite planar set. Information Processing Letters1, 132–133 (1972).
Shamos, M. I., Hoey, D.: Closest-point problems. Proceedings of the 16th Annual IEEE Symposium on Foundations of Computer Science, New York, October 1975, pp. 151–162.
Preparata, F. P., Hong, S. J.: Convex hulls of finite sets of points in two and three dimensions. Communications of the ACM20, 87–93 (1977).
Akl, S. G., Toussaint, G. T.: A fast convex hull algorithm Information Processing Letters7, 219–222 (1978).
Yao, A. C.-C.: A lower bound to finding convex hulls. Journal of the ACM28, 780–787 (1981).
Kirkpatrick, D. G. Seidel, R.: The ultimate planar convex hull algorithm? Proceedings of the 20th Allerton Conference on Communication, Control and Computing, Monticello, Illinois, October 1982.
Chow, A. L.: A parallel algorithm for determining convex hulls of sets of points in two dimensions. Proceedings of the 19th Allerton Conference on Communication, Control and Computing, Monticello, Illinois, September 30 – October 2, 1981, pp. 214–223.
Nath, D., Maheshwari, S. N., Bhatt, P. C. P.: Parallel algorithms for the convex hull problem in two dimensions. Technical Report EE 8005, Department of Electrical Engineering, Indian Institute of Technology, New Delhi, India, October 1980.
Akl, S. G.: A constant-time parallel algorithm for computing convex hulls. BIT22, 130–134 (1982).
Chandra, A. K., Stockmeyer, L. J., Vishkin, U.: A complexity theory for unbounded fan-in parallelism. Proceedings of the 23rd Symposium on Foundations of Computer Science, Chicago, Illinois, November 1982, pp. 1–13.
Ralston, A., ed.: Encyclopedia of computer science and engineering, 2nd ed., p. 954; p. 1456. Toronto: Van Nostrand Reinhold 1983.
Flynn, M. J.: Very high-speed computing systems. Proceedings of the IEEE54, 1901–1909 (1966).
Akl, S. G.: An optimal algorithm for parallel selection. Technical Report No. 83-146, Department of Computing and Information Science, Queen's University, Kingston, Ontario, Canada, April 1983. Information Processing Letters (to appear).
Shamos, M. I.: Geometric complexity. Proceedings of the 7th Annual ACM Symposium on Theory of Computing, Albuquerque, New Mexico, May 1975, pp. 224–233.
Knuth, D. E.: The art of computer programming, Vol. 3: Sorting and Searching. Don Mills, Ontario: Addison-Wesley 1973.
Stone, H. S.: Parallel processing with the perfect shuffle. IEEE Transactions on ComputersC-20, 153–161 (1971).
Preparata, F. P.: New parallel sorting schemes. IEEE Transactions on ComputersC-27, 669–673 (1978).
Borodin, A., Hopcroft, J. E.: Routing, merging and sorting on parallel models of computation. Proceedings of the 14th Annual ACM Symposium on Theory of Computing, San Francisco, California, May 5–7, 1982, pp. 338–344.
Batcher, K. E.: Sorting networks and their applications. Proceedings of the AFIPS 1968 SJCC, Vol. 32, pp. 307–317. Montvale, N.J.: AFIPS Press 1968.
Nassimi, D., Sahni, S.: Parallel permutation and sorting algorithms and a new generalized connection network. Journal of the ACM29, 642–667 (1982).
Todd, S.: Algorithms and hardware for a merge sort using multiple processors. IBM Journal of Research and Development22, 509–517 (1978).
Shiloach, Y., Vishkin, U.: Finding the maximum, merging and sorting in a parallel computation model. Technical Report Nr. 173, Department of Computer Science, Israel Institute of Technology, Haifa, Israel, March 1980.
Author information
Authors and Affiliations
Additional information
This work was supported by the Natural Sciences and Engineering Research Council of Canada under grant NSERC-A3336.
Rights and permissions
About this article
Cite this article
Akl, S.G. Optimal parallel algorithms for computing convex hulls and for sorting. Computing 33, 1–11 (1984). https://doi.org/10.1007/BF02243071
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF02243071
CR Categories and Subject Descriptors
- B.3.2. [Memory Structures]: Design Styles — shared memory
- C.1.2. [Computer Systems Organization]: Multiple Data Stream Architectures (Multi-Processors) —single-instruction-stream, multiple-data-stream processors (SIMD)
- F.2.2., F.2.3. [Analysis of Algorithms and Problem Complexity]: Nonnumerical Algorithms and Problems — computations on discrete structures, geometrical problems and computations, sorting and searching: Trade-offs among Complexity Measures