Acta Informatica

, Volume 40, Issue 8, pp 585–602 | Cite as

Exhaustive generation of combinatorial objects by ECO

  • Silvia Bacchelli
  • Elena Barcucci
  • Elisabetta Grazzini
  • Elisa Pergola


The problem of exhaustively generating combinatorial objects can currently be applied to many disciplines, such as biology, chemistry, medicine and computer science. A well known approach to the exhaustive generation problem is given by the Gray code scheme for listing n-bit binary numbers in such a way that successive numbers differ in exactly one bit position. In this work, we introduce an exhaustive generation algorithm, which is general for the classes of succession rules considered in [1]. We also show that our algorithm is efficient in an amortized sense; it actually uses only a constant amount of computation per object.


Computer Science Generation Problem Generation Algorithm Code Scheme Constant Amount 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Banderier, C., Denise, A., Flajolet, P., Gardy, D., Gouyou-Beauchamps, D.: Generating functions for generating trees. Discrete Math. 246 (1-3), 29-55 (2002)Google Scholar
  2. 2.
    Barcucci, E., Del Lungo, A., Pergola, E., Pinzani, R.: ECO: a methodology for the enumeration of combinatorial objects. Journal of Difference Equations and Applications 5, 435-490 (1999)Google Scholar
  3. 3.
    Chase, P. J.: Combination generation and graylex ordering. Congressus Numerantium 69, 215-242 (1989)Google Scholar
  4. 4.
    Chung, F. R. K., Graham, R. L., Hoggatt, V. E., Kleimann, M.: The number of Baxter permutations. J. Combin. Theory Ser. A 24, 382-394 (1978)Google Scholar
  5. 5.
    Del Lungo, A., Frosini, A., Rinaldi, S.: ECO method and the exhaustive generation of convex polyominoes. In: Calude, C. S., Dinneen, M. J., Vajnovszki, V. (eds.) DMTCS 2003. Lecture Notes in Computer Sciences 2731, pp. 129-140 (2003)Google Scholar
  6. 6.
    Dulucq, S.: Some combinatorial and algorithmic problems in biology. In: Rechenmann, F. (eds.) Septiémes Entretiens Jacques Cartier. (1994)Google Scholar
  7. 7.
    Eades, P., McKay, B.: An algorithm for generating subsets of fixed size with a strong minimal change property. Information Processing Letters 19, 131-133 (1984)Google Scholar
  8. 8.
    Ferrari, L., Pergola, E., Pinzani, R., Rinaldi, S.: An algebraic characterization of the set of succession rules. Theoretical Computer Science 281, 351-367 (2002)Google Scholar
  9. 9.
    Gardner, M.: Curious properties of the Gray code and how it can be used to solve puzzles. Scientific American 227 (2), 106-109 (1972)Google Scholar
  10. 10.
    Gray, F.: Pulse code communications. U.S. Patent 2632058, March 1953Google Scholar
  11. 11.
    Liu, C. N., Tang, D. T.: Algorithm 452, enumerating M out N objects. Comm. ACM 16, 485 (1973)Google Scholar
  12. 12.
    Lucas, J. M., Roelants van Baronaigien, D., Ruskey, F.: On rotations and the generation of binary trees. Journal of Algorithms 15 (3), 343-366 (1993)Google Scholar
  13. 13.
    Ludman, J. E.: Gray code generation for MPSK signals. IEEE Transactions on Communications COM-29, 1519-1522 (1981)Google Scholar
  14. 14.
    Johnson, S. M.: Generation of permutations by adjacent transpositions. Mathematics of Computation 17, 282-285 (1963)Google Scholar
  15. 15.
    Robinson, J., Cohn, M.: Counting sequences. IEEE Transactions on computers C-30, 17-23 (1981)Google Scholar
  16. 16.
    Richards, D.: Data compression and Gray-code sorting. Information Processing Letters 22 (4), 210-205 (1986)Google Scholar
  17. 17.
    Ruskey, F., Sawada, J.: An efficient algorithm for generating necklaces with fixed density. SIAM J. Computing 29 (2), 671-684 (1999)Google Scholar
  18. 18.
    Ruskey, F., Effler, S.: A CAT algorithm for generating permutations with a fixed number of inversions. Information Processing Letters 86 (2), 107-112 (2003)Google Scholar
  19. 19.
    Ruskey, F.: Adjacent interchange generation of combinations. Journal of Algorithms 9, 162-180 (1988)Google Scholar
  20. 20.
    Savage, C.: A survey of combinatorial Gray codes. SIAM Rev. 39 (4), 605-629 (1997)Google Scholar
  21. 21.
    Trotter, H. F.: PERM (Algorithm 115). Comm. ACM 5 (8), 434-435 (1962)Google Scholar
  22. 22.
    Vajnovszki, V. : Le codage des arbres binaires. Computer Science Journal of Moldova 3 (2), 194-209 (1995) (Mathematical Reviews 1485353)Google Scholar
  23. 23.
    Vajnovszki, V.: Generating a Gray code for P-sequences. The Journal of Mathematical Modelling and Algorithms 1 (1), 31-41 (2002)Google Scholar
  24. 24.
    Vajnovszki, V.: Gray visiting Motzkins. Acta Informatica 38, 793-811 (2003)Google Scholar
  25. 25.
    West, J.: Generating trees and the Catalan and Schröder numbers. Discrete Math. 146, 247-262 (1995)Google Scholar

Copyright information

© Springer-Verlag Berlin/Heidelberg 2004

Authors and Affiliations

  • Silvia Bacchelli
    • 1
  • Elena Barcucci
    • 2
  • Elisabetta Grazzini
    • 2
  • Elisa Pergola
    • 2
  1. 1.University of BolognaCesenaItaly
  2. 2.Dipartimento di Sistemi e InformaticaUniversity of FirenzeFirenzeItaly

Personalised recommendations