Skip to main content

Towards the Succinct Representation of m Out of n

  • Conference paper
  • First Online:
Internet and Distributed Computing Systems (IDCS 2018)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 11226))

Included in the following conference series:

Abstract

Combinations of n objects taken m at the time are ubiquitous in a wide range of combinatorial problems. In this paper, we introduce a novel approach to generate combinations from given integer numbers by using a gradient-based algorithm through plural number of CPU and GPU processors. The time complexity is bounded by \(O(m^2)\) when using a single processor, and bounded by \(O(m \log m)\) when using at most \(O(m/\log m)\) processors. Relevant computational experiments confirmed the practical efficiency within computationally allowable limits. Our approach offers the building blocks to represent combinations with succinct encoding and complexity being independent of n, which is meritorious when n is very large, or when n is time-varying.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    unless otherwise stated, \(\log ()\) refers to \(\log _2()\).

  2. 2.

    personal communication with Ref. [33].

  3. 3.

    assuming algebraic operations with numbers in O(1).

References

  1. Myers, A.F.: k-out-of-n: G system reliability with imperfect fault coverage. IEEE Trans. Reliab. 56(3), 464–473 (2007)

    Article  Google Scholar 

  2. Tamada, Y., Imoto, S., Miyano, S.: Parallel algorithm for learning optimal bayesian network structure. J. Mach. Learn. Res. 12, 2437–2459 (2011)

    MathSciNet  MATH  Google Scholar 

  3. Imada, T., Ota, S., Nagamochi, H., Akutsu, T.: Enumerating stereoisomers of tree structured molecules using dynamic programming. J. Math. Chem. 49, 910–970 (2010)

    Article  Google Scholar 

  4. Suzuki, K., Yokoo, M.: Secure combinatorial auctions by dynamic programming with polynomial secret sharing. In: Blaze, M. (ed.) FC 2002. LNCS, vol. 2357, pp. 44–56. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-36504-4_4

    Chapter  Google Scholar 

  5. Agrawal, R., Mannila, H., Srikant, R., Toivonen, H., Verkamo, A.I.: Fast discovery of association rules. In: Advances in Knowledge Discovery and Data Mining, pp. 307–328 (1996)

    Google Scholar 

  6. Khachiyan, L., Boros, E., Borys, K., Elbassioni, K., Gurvich, V., Makino, K.: Enumerating spanning and connected subsets in graphs and matroids. J. Oper. Res. Soc. Jpn. 50, 325–338 (2007)

    Article  MathSciNet  Google Scholar 

  7. Chisholm, B.J., Webster, D.C.: The development of coatings using combinatorial/high throughput methods: a review of the current status. J. Coat. Technol. Res. 4(1), 1–12 (2007)

    Article  Google Scholar 

  8. Scott-Phillips, T.C., Blythe, R.A.: Why is combinatorial communication rare in the natural world, and why is language an exception to this trend? J. R. Soc. Interface 10(88) (2013)

    Article  Google Scholar 

  9. Knuth, D.E.: Generating All Combinations and Partitions: The Art of Computer Programming, Fascicle 3. Addison Wesley, Reading (1968)

    Google Scholar 

  10. Mifsud, C.J.: Algorithm 154: combination in lexicographical order. Commun. ACM 6(3), 103 (1963)

    Google Scholar 

  11. Chase, P.J.: Algorithm 382: combinations of m out of n objects. Commun. ACM 13(6), 368 (1970)

    Article  Google Scholar 

  12. Akl, S.G.: A comparison of combination generation methods. ACM Trans. Mathe. Softw. 7(1), 42–45 (1981)

    Article  Google Scholar 

  13. Martínez, C., Molinero, X.: An experimental study of unranking algorithms. In: Ribeiro, C.C., Martins, S.L. (eds.) WEA 2004. LNCS, vol. 3059, pp. 326–340. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24838-5_25

    Chapter  Google Scholar 

  14. Ruskey, F., Williams, A.: The coolest way to generate combinations. Discret. Math. 309, 5305–5320 (2009)

    Article  MathSciNet  Google Scholar 

  15. Xiang, L., Ushijima, K.: On o(1) time algorithms for combinatorial generation. Comput. J. 44(4), 292–302 (2001)

    Article  Google Scholar 

  16. Nihenjuis, A., Wilf, H.S.: Combinatorial Algorithms for Computers and Calculators. Academic Press, New York (1978)

    Google Scholar 

  17. Kurtzberg, J.: Algorithm 94: combination. Commun. ACM 5(6), 344 (1962)

    Article  Google Scholar 

  18. Flajolet, P., Zimmerman, P., Van Cutsem, B.: A calculus for the random generation of combinatorial structures. Theor. Comput. Sci. 132(1), 1–35 (1994)

    Article  MathSciNet  Google Scholar 

  19. Knuth, D.E.: The Art of Computing Programming: Volume 2 Seminumerical Algorithms. Addison Wesley, Reading (1968)

    Google Scholar 

  20. Buckles, B.P., Lybanon, M.: Algorithm 515: generation of a vector from the lexicographical index. ACM Trans. Math. Softw. 3(2), 180–182 (1977)

    Article  Google Scholar 

  21. Crouse, D.F.: Remark on algorithm 515: generation of a vector from the lexicographical index combinations. ACM Trans. Math. Softw. 33(2), 15 (2007)

    Article  Google Scholar 

  22. Butler, J.T., Sasao, T.: Index to constant weight codeword converter. In: Koch, A., Krishnamurthy, R., McAllister, J., Woods, R., El-Ghazawi, T. (eds.) ARC 2011. LNCS, vol. 6578, pp. 193–205. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-19475-7_21

    Chapter  Google Scholar 

  23. Er, M.C.: Lexicographic ordering, ranking and unranking of combinations. Int. J. Comput. Mathe. 17, 277–283 (1985)

    Article  Google Scholar 

  24. Tang, C., Du, M., Lee, R.: Unranking combinations in parallel. In: Proceedings of International Computer Symposium, pp. 1006–1010 (1984)

    Google Scholar 

  25. Akl, S.: Design and Analysis of Parallel Algorithms. Prentice Hall, Upper Saddle River (1989)

    MATH  Google Scholar 

  26. Kokosinskiński, Z.: Unranking combinations in parallel. In: Second International Conference Parallel and Distributed Processing Techniques and Applications, pp. 79–82 (1996)

    Google Scholar 

  27. Kapralski, A.: New methods for generation permutations, combinations and other combinatorial objects in parallel. J. Parallel Distrib. Comput. 17, 315–326 (1993)

    Article  MathSciNet  Google Scholar 

  28. Kokosinskiński, Z.: Algorithms for unranking combinations and other related choice functions. Report 95-1-006, The University of Aizu (1995)

    Google Scholar 

  29. Kreher, D., Stinson, D.: Combinatorial Algorithms: Generation Enumeration and Search. CRC Press, Boca Raton (1998)

    MATH  Google Scholar 

  30. Nayak, A., Stojmenovic, I.: Handbook of Applied Algorithms: Solving Scientific, Engineering and Practical Problems. Wiley-Blackwell, Hoboken (2008)

    Book  Google Scholar 

  31. Savage, C.: A survey of combinatorial gray codes. SIAM Rev. 39, 605–629 (1997)

    Article  MathSciNet  Google Scholar 

  32. Liu, C.N., Tang, D.T.: Distance-2 cyclic chaining of constant-weight codes. IEEE Trans. Comput. C–22(2), 176–180 (1973)

    MathSciNet  MATH  Google Scholar 

  33. Shimizu, T., Fukunaga, T., Nagamochi, H.: Unranking of small combinations from large sets. J. Discret. Algorithms 29(5), 8–20 (2014)

    Article  MathSciNet  Google Scholar 

  34. Woodward, J.R., Bai, R.: Canonical representation genetic programming. In: Proceedings of the First ACM/SIGEVO Summit on Genetic and Evolutionary Computation. GEC 2009, New York, NY, USA, pp. 585–592. ACM (2009)

    Google Scholar 

  35. Harris, M.: Optimizing parallel reduction in CUDA. NVIDIA Developer Technology. Accessed 20 June 20 2018

    Google Scholar 

Download references

Acknowledgement

We acknowledge the support from Kakenhi No. 15K18095 to fund this work.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Victor Parque .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Parque, V., Miyashita, T. (2018). Towards the Succinct Representation of m Out of n. In: Xiang, Y., Sun, J., Fortino, G., Guerrieri, A., Jung, J. (eds) Internet and Distributed Computing Systems. IDCS 2018. Lecture Notes in Computer Science(), vol 11226. Springer, Cham. https://doi.org/10.1007/978-3-030-02738-4_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-02738-4_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-02737-7

  • Online ISBN: 978-3-030-02738-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics