Random Sampling Techniques in Parallel Algorithms

  • Rajeev Raman
Part of the Combinatorial Optimization book series (COOP, volume 5)

Abstract

Random sampling is an important tool in the design of parallel algorithms. Using random sampling it is possible to obtain simple parallel algorithms which are efficient in practice. We will focus on the use of random sampling in fundamental problems such as sorting, selection, list ranking and graph connectivity.

Keywords

Parallel Algorithm Minimum Span Tree List Ranking Step Complexity Span Forest 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    A. Aggarwal, M. M. Klawe, S. Moran, P. Shor and R. Wilber. Geometric applications of a matrix searching problem. Algorithmica 2 (1987), pp. 209–233.MathSciNetCrossRefGoogle Scholar
  2. [2]
    A. Aggarwal and J. Park. Notes on searching in multidimensional monotone arrays (preliminary version). In Proc. 29th IEEE Conference on the Foundations of Computer Science (1988), pp. 497–512.Google Scholar
  3. [3]
    M. J. Atallah. A faster parallel algorithm for a matrix searching problem. Algorithmica, 9 (1993), pp. 156–167.MathSciNetMATHCrossRefGoogle Scholar
  4. [4]
    M. J Atallah and S. R. Kosaraju. An efficient parallel algorithm for the row minima of a totally monotone matrix. J. Algorithms, 13 (1992), pp. 394–413.Google Scholar
  5. [5]
    B. Awerbuch and Y. Shiloach. New connectivity and MSF algorithms for Ultracomputer and PRAM. IEEE Trans. Computers 36 (1987), pp. 1258–1263.MathSciNetMATHCrossRefGoogle Scholar
  6. [6]
    Y. Azar and U. Vishkin. Tight comparison bounds on the complexity of parallel sorting. SIAM J. Computing, 16 (1987), pp. 458–464.MathSciNetMATHCrossRefGoogle Scholar
  7. [7]
    S. Baase. Introduction to parallel connectivity, list ranking and connectivity. In J. H. Reif, ed., Synthesis of Parallel Algorithms, Morgan Kaufmann, 1993, pp. 61–114.Google Scholar
  8. [8]
    H. Bast and T. Hagerup. Fast parallel space allocation, estimation and integer sorting. Information and Computation, 123 (1995), pp. 72–110.MathSciNetMATHCrossRefGoogle Scholar
  9. [9]
    G. E. Blelloch. Scans as primitive parallel operations. IEEE Trans. Computers C-38 (1989), pp. 1526–1538.Google Scholar
  10. [10]
    G. E. Blelloch. Vector Models for Data-Parallel Computing, MIT Press, 1990.Google Scholar
  11. [11]
    G. E. Blelloch. NESL: A nested data-parallel language (version 3.0). Technical Report CS-CMU-94-112, Carnegie-Mellon University, 1994.Google Scholar
  12. [12]
    G. E. Blelloch, C. E. Leiserson, B. M. Maggs, C. G. Plaxton, S. J. Smith and M. Zagha. A comparison of sorting algorithms for the Connection Machine CM–2. In Proc. 3rd Annual ACM Symposium on Parallel Algorithms and Architectures, ACM Press, 1991, pp. 3–16.Google Scholar
  13. [13]
    R. B. Boppana. The average-case parallel complexity of sorting. Information Processing Letters, 33 (1989).Google Scholar
  14. [14]
    P. G. Bradford, R. Fleischer and M. Smid. More efficient parallel totally monotone matrix searching. J. Algorithms 23 (1997), pp. 386–400.MathSciNetMATHCrossRefGoogle Scholar
  15. [15]
    P. G. Bradford, G. J. E. Rawlins and G. E. Shannon. Efficient matrix chain ordering in polylog time. SIAM J. Computing 27 (1998), pp. 466–490.MathSciNetMATHCrossRefGoogle Scholar
  16. [16]
    R. Cole, P. N. Klein and R. E. Tarjan. Finding minimum spanning forests in logarithmic time and linear work using random sampling. In Proc. Symposium of the 8th Annual ACM Symposium on Parallel Algorithms and Architectures, ACM Press, 1996, pp. 243–250.Google Scholar
  17. [17]
    R. Cole, P. N. Klein and R. E. Tarjan. A linear-work parallel algorithm for finding minimum spanning trees. In Proc. Symposium of the 6th Annual ACM Symposium on Parallel Algorithms and Architectures, ACM Press, 1994, pp. 11–15.Google Scholar
  18. [18]
    R. Cole. Parallel merge sort. SIAM J. Computing, 17 (1988), pp. 770–785.MATHCrossRefGoogle Scholar
  19. [19]
    T. H. Cormen, C. E. Leiserson and R. L. Rivest. Introduction to Algorithms, MIT Press, 1990.Google Scholar
  20. [20]
    L. Devroye, Universal limit laws for depths in random trees, SIAM J. Computing, 28 (1999), 409–432 (to appear).Google Scholar
  21. [21]
    W. Feller. An Introduction to Probability Theory and its Applications v.1 (3rd Ed.), John Wiley & Sons, 1968.Google Scholar
  22. [22]
    F. E. Fich, P. Ragde, and A. Wigderson. Relations among concurrent write models of parallel computation. SIAM J. Computing, 17 (1988), pp. 606–627.MathSciNetMATHCrossRefGoogle Scholar
  23. [23]
    R. W. Floyd and R. L. Rivest. Expected time bounds for selection. Comm. of the ACM 18 (1975), pp. 165–172.MATHCrossRefGoogle Scholar
  24. [24]
    S. Fortune and J. Wyllie. Parallelism in random access machines. In Proc. 10th ACM Symposium on Theory of Computing (1978), pp. 114–118.Google Scholar
  25. [25]
    M. L. tredman and R. E. Tarjan. Fibonacci heaps and their uses in improved network optimization problems. J. ACM, 34 (1987), pp. 596–615.CrossRefGoogle Scholar
  26. [26]
    Z. Galil and K. Park. Dynamic programming with convexity, concavity, and sparsity. Theoretical Computer Science 92 (1992).Google Scholar
  27. [27]
    H. Gazit. Randomized parallel connectivity. In J. H. Reif, ed., Synthesis of Parallel Algorithms, Morgan Kaufmann, 1993, pp. 197–214.Google Scholar
  28. [28]
    Y. Gil and L. Rudolph. Counting and packing in parallel, in Proc. International Conference on Parallel Processing, pp. 1000–1002, IEEE Computer Society Press, 1986.Google Scholar
  29. [29]
    J. Greiner. A comparison of parallel algorithms for connected components. In Proc. Symposium of the 6th Annual ACM Symposium on Parallel Algorithms and Architectures, ACM Press, 1994, pp. 16–23.Google Scholar
  30. [30]
    S. Halperin and U. Zwick. Optimal randomized EREW PRAM algorithms for finding spanning forests and for other basic connectivity problems. In Proc. 7th Annual ACM-SIAM Symposium on Discrete Algorithms, SIAM, 1996, pp. 438–447.Google Scholar
  31. [31]
    T. Hagerup and R. Raman. Waste makes haste: tight bounds for loose parallel sorting. In Proc. 33rd IEEE Conference on Foundations of Computer Science (FOCS), pp. 628–637, 1992.Google Scholar
  32. [32]
    J. JáJá. An Introduction to Parallel Algorithms, Addison-Wesley, 1992.Google Scholar
  33. [33]
    D. Karger. Randomization in graph optimization problems. Optima 58 (1998), pp. 1–10.Google Scholar
  34. [34]
    D. Karger. Random sampling in graph optimization problems. Ph.D. Thesis, Department of Computer Science, Stanford University, 1995.Google Scholar
  35. [35]
    D. Karger, P. N. Klein and R. E. Tarjan. A randomized linear-time algorithm for finding minimum spanning trees. J. ACM 42 (1995), pp. 321–328.MathSciNetMATHCrossRefGoogle Scholar
  36. [36]
    S. Khuller, B. Raghavachari and N. Young. Balancing minimum spanning and shortest path trees. Algorithmica 14 (1995), pp. 305–321.MathSciNetMATHCrossRefGoogle Scholar
  37. [37]
    T. W. Lam and Kwong-fai Chan. Finding least-weight subsequences with fewer processors. Algorithmica 9 (1993), pp. 615–628.MathSciNetMATHCrossRefGoogle Scholar
  38. [38]
    H. Li and K. C. Sevcik. Parallel sorting by overpartitioning. In Proc. 6th Annual ACM Symposium on Parallel Algorithms and Architectures, ACM Press, 1994, pp. 46–57.Google Scholar
  39. [39]
    R. J. Lipton and J. F. Naughton and D. A. Schneider and S. Seshadri. Efficient sampling strategies for relational database operations. Theoretical Computer Science, 116 (1993), pp. 195–226.MathSciNetMATHCrossRefGoogle Scholar
  40. [40]
    Y. Matias and U. Vishkin. Converting high probability into nearly-constant time—with applications to parallel hashing (extended abstract). Proceedings of the 23rd Annual ACM Symposium on Theory of Computing, pp. 307–316, 1991.Google Scholar
  41. [41]
    N. Megiddo. Parallel algorithms for finding the maximum and median almost surely in constant time. Technical Report, Graduate School of Industrial Administration, Carnegie-Mellon University, 1982.Google Scholar
  42. [42]
    R. Motwani and P. Raghavan. Randomized Algorithms, Cambridge University Press, 1995.Google Scholar
  43. [43]
    K. Mulmuley. Computational Geometry: An Introduction Through Randomized Algorithms, Prentice-Hall, 1994.Google Scholar
  44. [44]
    E. M. Palmer. Graphical Evolution: An Introduction to the Theory of Random Graphs. John Wiley, 1985.Google Scholar
  45. [45]
    S. Rajasekaran and J. H. Reif. Optimal and sublogarithmic time randomized parallel sorting algorithms. SIAM J. Computing, 18 (1989), pp. 594–607.MathSciNetMATHCrossRefGoogle Scholar
  46. [46]
    S. Rajasekaran and S. Sen. Random sampling techniques and parallel algorithm design. In J. H. Reif, ed., Synthesis of Parallel Algorithms, Morgan Kaufmann, 1993, pp. 411–451.Google Scholar
  47. [47]
    R. Raman and U. Vishkin. Optimal randomized parallel algorithms for computing the row maxima of a totally monotone matrix. In Proc. 5th ACM-SIAM Symposium on Discrete Algorithms, pp. 613–621, 1994.Google Scholar
  48. [48]
    A. G. Ranade. A simple optimal list ranking algorithm. Proc. 5th International Conference on High-Performance Computing (HiPC ’98), to appear, 1998.Google Scholar
  49. [49]
    M. Reid–Miller. List ranking and list scan on the Cray C-90. In Proc. Symposium of the 6th Annual ACM Symposium on Parallel Algorithms and Architectures, ACM Press, 1994, pp. 104–113.Google Scholar
  50. [50]
    M. Reid-Miller, G. Miller and F. Modugno. In J. H. Reif, ed., Synthesis of Parallel Algorithms, Morgan Kaufmann, 1993, pp. 115–194.Google Scholar
  51. [51]
    J. H. Reif. Optimal parallel algorithms for integer sorting and graph connectivity. Technical Report TR-08-85, Harvard University, 1985.Google Scholar
  52. [52]
    J. H. Reif and L. G. Valiant. A logarithmic time sort for linear size networks. J. ACM 34 (1987), pp. 60–76.MathSciNetCrossRefGoogle Scholar
  53. [53]
    J. H. Reif and S. Sen. Optimal randomized parallel algorithms for computational geometry. Algorithmica 7 (1992), pp. 91–117.MathSciNetMATHCrossRefGoogle Scholar
  54. [54]
    R. Reischuk. Probabilistic parallel algorithms for sorting and selection. SIAM J. Computing, 14 (1985), pp. 396–409.MathSciNetMATHCrossRefGoogle Scholar
  55. [55]
    Y. Shiloach and U. Vishkin. An O(logn) parallel connectivity algorithm. J. Algorithms 3 (1981), pp. 57–67.MathSciNetCrossRefGoogle Scholar
  56. [56]
    J. D. Ullman and M. Yannakakis. High-probability parallel transitive closure algorithms. SIAM J. Computing 20 (1991), pp. 100–125.MathSciNetMATHCrossRefGoogle Scholar
  57. [57]
    L. G. Valiant. A bridging model for parallel computation. Communications of the ACM, 33, pp. 103–111, 1990.CrossRefGoogle Scholar
  58. [58]
    U. Vishkin. Advanced parallel prefix-sums, list ranking and connectivity. In J. H. Reif, ed., Synthesis of Parallel Algorithms, Morgan Kaufmann, 1993, pp. 341–406.Google Scholar

Copyright information

© Kluwer Academic Publishers 1999

Authors and Affiliations

  • Rajeev Raman
    • 1
  1. 1.Department of Computer ScienceKing’s College LondonLondonUK

Personalised recommendations