Advertisement

Exact and Approximate Map-Reduce Algorithms for Convex Hull

  • Anirban Ghosh
  • Samuel Schwartz
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11346)

Abstract

Given a set of points P in the Euclidean plane, the classic problem of convex hull in computational geometry asks to compute the smallest convex polygon C with the vertex set \(X \subseteq P\), such that every point in P belongs to C.

In our knowledge, only two map-reduce convex hull algorithms have been designed so far. The exact map-reduce algorithm designed by Goodrich et al. (2011) is intricate and runs in constant number of rounds when the mappers and reducers have a memory of \(\varTheta (|P|^\epsilon )\), for a small constant \(\epsilon >0\). Otherwise, their algorithm runs in logarithmic number of rounds with high probability. In Big Data, easy-to-implement constant-round map-reduce algorithms are highly preferred. The other exact map-reduce algorithm, designed by Eldawy et al. (2011), does not perform efficiently when X contains sufficiently high number of points from P.

In this paper, we design two new simple constant-round map-reduce algorithms along with map-reduce implementable pruning heuristics to address the above shortcomings. Our first algorithm CH-MR is exact and outperforms Eldawy et al.’s algorithm when reasonable computing resources are available, and the heuristics are able to prune away sufficient number of points. The second algorithm, named APXCH-MR, can run efficiently on any point set to return an approximate convex hull, when the input parameters are sub-linear in |P|.

The designed algorithms are theoretically analyzed in the light of the popular \(\mathcal {MRC}\) model. Our algorithms are easy to implement and do not use any complicated data structure.

Keywords

Convex hull Parallel computing Map-reduce 

Notes

Acknowledgment

We are thankful to the anonymous reviewers for their insightful comments that helped us to improve the presentation of the paper.

References

  1. 1.
    Agarwal, P.K., Fox, K., Munagala, K., Nath, A.: Parallel algorithms for constructing range and nearest-neighbor searching data structures. In: Proceedings of the 35th ACM SIGMOD-SIGACT-SIGAI Symposium on Principles of Database Systems, pp. 429–440 (2016)Google Scholar
  2. 2.
    Aghamolaei, S., Baharifard, F., Ghodsi, M.: Geometric spanners in the MapReduce model. In: Wang, L., Zhu, D. (eds.) COCOON 2018. LNCS, vol. 10976, pp. 675–687. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-94776-1_56CrossRefGoogle Scholar
  3. 3.
    Akl, S.G., Toussaint, G.T.: Efficient convex hull algorithms for pattern recognition applications. In: Proceedings of the 4th International Joint Conference on Pattern Recognition, pp. 483–487 (1979)Google Scholar
  4. 4.
    Andrew, A.M.: Another efficient algorithm for convex hulls in two dimensions. Inform. Process. Lett. 9(5), 216–219 (1979)CrossRefGoogle Scholar
  5. 5.
    Andoni, A., Nikolov, A., Onak, K., Yaroslavtsev, G.: Parallel algorithms for geometric graph problems. In: Proceedings of the 46th Annual ACM Symposium on Theory of Computing, pp. 574–583 (2014)Google Scholar
  6. 6.
    Bykat, A.: Convex hull of a finite set of points in two dimensions. Inform. Process. Lett. 7(6), 296–298 (1978)MathSciNetCrossRefGoogle Scholar
  7. 7.
    Chan, T.M.: Optimal output-sensitive convex hull algorithms in two and three dimensions. Discrete Comput. Geom. 16(4), 361–368 (1996)MathSciNetCrossRefGoogle Scholar
  8. 8.
    Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. Commun. ACM 51(1), 107–113 (2008)CrossRefGoogle Scholar
  9. 9.
    Eddy, W.F.: A new convex hull algorithm for planar sets. ACM Trans. Math. Softw. 3(4), 398–403 (1977)CrossRefGoogle Scholar
  10. 10.
    Eldawy, A., Li, Y., Mokbel, M.F., Janardan, R.: CG\(\_\)Hadoop: computational geometry in MapReduce. In: Proceedings of the 21st ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, pp. 294–303 (2013)Google Scholar
  11. 11.
    Ene, A., Im, S., Moseley, B.: Fast clustering using MapReduce. In: Proceedings of the 17th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 681–689 (2011)Google Scholar
  12. 12.
    Finocchi, I., Finocchi, M., Fusco, E.G.: Clique counting in MapReduce: algorithms and experiments. ACM J. Exp. Algorithmics 20, 1–7 (2015)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Goodrich, M.T., Sitchinava, N., Zhang, Q.: Sorting, searching, and simulation in the MapReduce framework. In: Asano, T., Nakano, S., Okamoto, Y., Watanabe, O. (eds.) ISAAC 2011. LNCS, vol. 7074, pp. 374–383. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-25591-5_39CrossRefzbMATHGoogle Scholar
  14. 14.
    Graham, R.L.: An efficient algorithm for determining the convex hull of a finite planar set. Inform. Process. Lett. 1(4), 132–133 (1972)CrossRefGoogle Scholar
  15. 15.
  16. 16.
    Jarvis, R.A.: On the identification of the convex hull of a finite set of points in the plane. Inform. Process. Lett. 2(1), 18–21 (1973)CrossRefGoogle Scholar
  17. 17.
    Karloff, H., Suri, S., Vassilvitskii, S.: A model of computation for MapReduce. In: Proceedings of the Twenty-First Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 938–948. Society for Industrial and Applied Mathematics (2010)Google Scholar
  18. 18.
    Kirkpatrick, D.G., Seidel, R.: The ultimate planar convex hull algorithm? SIAM J. Comput. 15(1), 18–21 (1986)MathSciNetCrossRefGoogle Scholar
  19. 19.
    Lattanzi, S., Moseley, B., Suri, S., Vassilvitskii, S.: Filtering: a method for solving graph problems in MapReduce. In: Proceedings of the Twenty-Third Annual ACM Symposium on Parallelism in Algorithms and Architectures, pp. 85–94 (2011)Google Scholar
  20. 20.
    Mitzenmacher, M., Upfal, E.: Probability and Computing: Randomization and Probabilistic Techniques in Algorithms and Data Analysis. Cambridge University Press, Cambridge (2017)zbMATHGoogle Scholar
  21. 21.
    Preparata, F.P., Hong, S.J.: Convex hulls of finite sets of points in two and three dimensions. Commun. ACM 20(2), 87–93 (1977)MathSciNetCrossRefGoogle Scholar
  22. 22.
    Preparata, F.P., Shamos, M.I.: Computational Geometry: An Introduction. Springer, New York (1985).  https://doi.org/10.1007/978-1-4612-1098-6CrossRefzbMATHGoogle Scholar
  23. 23.
    Raynaud, H.: Sur l’enveloppe convex des nuages de points aleatoires dans \(R^{n}\). J. Appl. Probab. 7, 35–48 (1970)CrossRefGoogle Scholar
  24. 24.
    Rényi, A., Sulanke, R.: Über die konvexe Hülle von \(n\) zufällig gerwähten Punkten I. Z. Wahrsch. Verw. Gebiete 2, 75–84 (1963)CrossRefGoogle Scholar
  25. 25.
    Soisalon-Soininen, E.: On computing approximate convex hulls. Inform. Process. Lett. 16(3), 121–126 (1983). A correction to this paper appeared in Inform. Process. Lett. 22, 55–56 (1986). coauthored by Ivan StojmenovićGoogle Scholar
  26. 26.
    Suri, S., Vassilvitskii, S.: Counting triangles and the curse of the last reducer. In: Proceedings of the 20th International Conference on World Wide Web, pp. 607–614 (2011)Google Scholar
  27. 27.
    Yaroslavtsev, G., Vadapalli, A.: Massively parallel algorithms and hardness for single-linkage clustering under \(\ell \)\(_{p}\)-distances, arXiv:1710.01431 (2017)

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.School of ComputingUniversity of North FloridaJacksonvilleUSA

Personalised recommendations