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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
unless otherwise stated, \(\log ()\) refers to \(\log _2()\).
- 2.
personal communication with Ref. [33].
- 3.
assuming algebraic operations with numbers in O(1).
References
Myers, A.F.: k-out-of-n: G system reliability with imperfect fault coverage. IEEE Trans. Reliab. 56(3), 464–473 (2007)
Tamada, Y., Imoto, S., Miyano, S.: Parallel algorithm for learning optimal bayesian network structure. J. Mach. Learn. Res. 12, 2437–2459 (2011)
Imada, T., Ota, S., Nagamochi, H., Akutsu, T.: Enumerating stereoisomers of tree structured molecules using dynamic programming. J. Math. Chem. 49, 910–970 (2010)
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
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)
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)
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)
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)
Knuth, D.E.: Generating All Combinations and Partitions: The Art of Computer Programming, Fascicle 3. Addison Wesley, Reading (1968)
Mifsud, C.J.: Algorithm 154: combination in lexicographical order. Commun. ACM 6(3), 103 (1963)
Chase, P.J.: Algorithm 382: combinations of m out of n objects. Commun. ACM 13(6), 368 (1970)
Akl, S.G.: A comparison of combination generation methods. ACM Trans. Mathe. Softw. 7(1), 42–45 (1981)
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
Ruskey, F., Williams, A.: The coolest way to generate combinations. Discret. Math. 309, 5305–5320 (2009)
Xiang, L., Ushijima, K.: On o(1) time algorithms for combinatorial generation. Comput. J. 44(4), 292–302 (2001)
Nihenjuis, A., Wilf, H.S.: Combinatorial Algorithms for Computers and Calculators. Academic Press, New York (1978)
Kurtzberg, J.: Algorithm 94: combination. Commun. ACM 5(6), 344 (1962)
Flajolet, P., Zimmerman, P., Van Cutsem, B.: A calculus for the random generation of combinatorial structures. Theor. Comput. Sci. 132(1), 1–35 (1994)
Knuth, D.E.: The Art of Computing Programming: Volume 2 Seminumerical Algorithms. Addison Wesley, Reading (1968)
Buckles, B.P., Lybanon, M.: Algorithm 515: generation of a vector from the lexicographical index. ACM Trans. Math. Softw. 3(2), 180–182 (1977)
Crouse, D.F.: Remark on algorithm 515: generation of a vector from the lexicographical index combinations. ACM Trans. Math. Softw. 33(2), 15 (2007)
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
Er, M.C.: Lexicographic ordering, ranking and unranking of combinations. Int. J. Comput. Mathe. 17, 277–283 (1985)
Tang, C., Du, M., Lee, R.: Unranking combinations in parallel. In: Proceedings of International Computer Symposium, pp. 1006–1010 (1984)
Akl, S.: Design and Analysis of Parallel Algorithms. Prentice Hall, Upper Saddle River (1989)
Kokosinskiński, Z.: Unranking combinations in parallel. In: Second International Conference Parallel and Distributed Processing Techniques and Applications, pp. 79–82 (1996)
Kapralski, A.: New methods for generation permutations, combinations and other combinatorial objects in parallel. J. Parallel Distrib. Comput. 17, 315–326 (1993)
Kokosinskiński, Z.: Algorithms for unranking combinations and other related choice functions. Report 95-1-006, The University of Aizu (1995)
Kreher, D., Stinson, D.: Combinatorial Algorithms: Generation Enumeration and Search. CRC Press, Boca Raton (1998)
Nayak, A., Stojmenovic, I.: Handbook of Applied Algorithms: Solving Scientific, Engineering and Practical Problems. Wiley-Blackwell, Hoboken (2008)
Savage, C.: A survey of combinatorial gray codes. SIAM Rev. 39, 605–629 (1997)
Liu, C.N., Tang, D.T.: Distance-2 cyclic chaining of constant-weight codes. IEEE Trans. Comput. C–22(2), 176–180 (1973)
Shimizu, T., Fukunaga, T., Nagamochi, H.: Unranking of small combinations from large sets. J. Discret. Algorithms 29(5), 8–20 (2014)
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)
Harris, M.: Optimizing parallel reduction in CUDA. NVIDIA Developer Technology. Accessed 20 June 20 2018
Acknowledgement
We acknowledge the support from Kakenhi No. 15K18095 to fund this work.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
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)