Abstract.
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.
Similar content being viewed by others
References
Banderier, C., Denise, A., Flajolet, P., Gardy, D., Gouyou-Beauchamps, D.: Generating functions for generating trees. Discrete Math. 246 (1-3), 29-55 (2002)
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)
Chase, P. J.: Combination generation and graylex ordering. Congressus Numerantium 69, 215-242 (1989)
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)
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)
Dulucq, S.: Some combinatorial and algorithmic problems in biology. In: Rechenmann, F. (eds.) Septiémes Entretiens Jacques Cartier. (1994)
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)
Ferrari, L., Pergola, E., Pinzani, R., Rinaldi, S.: An algebraic characterization of the set of succession rules. Theoretical Computer Science 281, 351-367 (2002)
Gardner, M.: Curious properties of the Gray code and how it can be used to solve puzzles. Scientific American 227 (2), 106-109 (1972)
Gray, F.: Pulse code communications. U.S. Patent 2632058, March 1953
Liu, C. N., Tang, D. T.: Algorithm 452, enumerating M out N objects. Comm. ACM 16, 485 (1973)
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)
Ludman, J. E.: Gray code generation for MPSK signals. IEEE Transactions on Communications COM-29, 1519-1522 (1981)
Johnson, S. M.: Generation of permutations by adjacent transpositions. Mathematics of Computation 17, 282-285 (1963)
Robinson, J., Cohn, M.: Counting sequences. IEEE Transactions on computers C-30, 17-23 (1981)
Richards, D.: Data compression and Gray-code sorting. Information Processing Letters 22 (4), 210-205 (1986)
Ruskey, F., Sawada, J.: An efficient algorithm for generating necklaces with fixed density. SIAM J. Computing 29 (2), 671-684 (1999)
Ruskey, F., Effler, S.: A CAT algorithm for generating permutations with a fixed number of inversions. Information Processing Letters 86 (2), 107-112 (2003)
Ruskey, F.: Adjacent interchange generation of combinations. Journal of Algorithms 9, 162-180 (1988)
Savage, C.: A survey of combinatorial Gray codes. SIAM Rev. 39 (4), 605-629 (1997)
Trotter, H. F.: PERM (Algorithm 115). Comm. ACM 5 (8), 434-435 (1962)
Vajnovszki, V. : Le codage des arbres binaires. Computer Science Journal of Moldova 3 (2), 194-209 (1995) (Mathematical Reviews 1485353)
Vajnovszki, V.: Generating a Gray code for P-sequences. The Journal of Mathematical Modelling and Algorithms 1 (1), 31-41 (2002)
Vajnovszki, V.: Gray visiting Motzkins. Acta Informatica 38, 793-811 (2003)
West, J.: Generating trees and the Catalan and Schröder numbers. Discrete Math. 146, 247-262 (1995)
Author information
Authors and Affiliations
Corresponding author
Additional information
Received: 10 October 2003, Revised: 10 February 2004, Published online: 21 April 2004
Rights and permissions
About this article
Cite this article
Bacchelli, S., Barcucci, E., Grazzini, E. et al. Exhaustive generation of combinatorial objects by ECO. Acta Informatica 40, 585–602 (2004). https://doi.org/10.1007/s00236-004-0139-x
Issue Date:
DOI: https://doi.org/10.1007/s00236-004-0139-x