Abstract
The snake-in-the-box problem is concerned with finding a longest induced path in a hypercube \(Q_n\). Similarly, the coil-in-the-box problem is concerned with finding a longest induced cycle in \(Q_n\). We consider a generalization of these problems that considers paths and cycles where each pair of vertices at distance at least \(k\) in the path or cycle are also at distance at least \(k\) in \(Q_n\). We call these paths \(k\)-snakes and the cycles \(k\)-coils. The \(k\)-coils have also been called circuit codes. By optimizing an exhaustive search algorithm, we find 13 new longest \(k\)-coils, 21 new longest \(k\)-snakes and verify that some of them are optimal. By optimizing an algorithm by Paterson and Tuliani to find single-track circuit codes, we additionally find another 8 new longest \(k\)-coils. Using these \(k\)-coils with some basic backtracking, we find 18 new longest \(k\)-snakes.
Similar content being viewed by others
Notes
This work was made possible by the facilities of the Shared Hierarchical Academic Research Computing Network (SHARCNET: www.sharcnet.ca) and Compute/Calcul Canada.
References
Abbott HL, Katchalski M (1988) On the snake in the box problem. J Comb Theory B 45(1):13–24
Abbott HL, Katchalski M (1991) On the construction of snake in the box codes. Util Math 40:97–116
Bishop J (2006) Investigating the snake-in-the-box problem with neuroevolution. Department of Computer Science, The University of Texas at Austin, Austin
Carlson BP, Hougen DF (2010) Phenotype feedback genetic algorithm operators for heuristic encoding of snakes within hypercubes. In: Pelikan M, Branke J (eds) GECCO, ACM, pp 791–798
Casella DA, Potter WD (2005a) New lower bounds for the snake-in-the-box problem: using evolutionary techniques to hunt for snakes. In: Proceedings of the eighteenth international Florida artificial intelligence research society conference, Clearwater Beach, FL, USA. AAAI Press, Menlo Park, pp 264–269
Casella DA, Potter WD (2005b) Using evolutionary techniques to hunt for snakes and coils. In: IEEE congress on evolutionary computing, Edinburgh, UK, pp 2499–2505
Chebiryak Y, Kroening D (2008) An efficient SAT encoding of circuit codes. In: International symposium on information theory and its applications
Chien RT, Freiman CV, Tang DT (1964) Error correction and circuits on the \(n\)-cube. In: 2nd Allerton conference on circuit and system theory, pp 899–912
Davies D (1965) Longest ‘seperated’ paths and loops in an \(n\) cube. IEEE Trans Electron Comput EC-14 (2):261
Deimer K (1984) Some new bounds for the maximum length of circuit codes. IEEE Trans Inf Theory 30(5):754–756
Deimer K (1985) A new upper bound on the length of snakes. Combinatorica 5:109–120
Diaz Gomez PA, Hougan DF (2006) Genetic algorithms for hunting snakes in hypercubes: fitness function analysis and open questions. In: Software engineering, artificial intelligence, networking, and parallel/distributed computing 2006, pp 389–394
Douglas RJ (1969a) Some results on the maximum length of circuits of spread \(k\) in the \(d\)-cube. J Comb Theory 6:323–339
Douglas RJ (1969b) Upper bounds on lengths of circuits of even spread in the \(d\)-cube. J Comb Theory 7:206–214
Emelyanov PG (1995) On an upper bound for the length of a snake in an \(n\)-dimensional unit cube. Diskret Anal Issled Oper 2(3):10–17
Emelyanov PG, Lukito A (2000) On the maximal length of a snake in hypercubes of small dimension. Discret Math 218(1–3):51–59
Etzion T, Paterson KG (1996) Near-optimal single-track gray codes. IEEE Trans Inf Theory 42:779–789
Garey MR, Johnson DS (1979) Computers and Intractability: a guide to the theory of NP-completeness. Freeman, San Francisco
Harris B (1977) The use of circuit codes in analog-to-digital conversion. Graph theory and its applications. Academic Press, New York, pp 121–132
Hiltgen AP, Paterson KG (2001) Single-track circuit codes. IEEE Trans Inf Theory 47(6):2587–2595
Hiltgen AP, Paterson KG, Brandestini M (1996) Single-track gray codes. IEEE Trans Inf Theory 42:1555–1561
Juric M, Potter W, Plaskin M (1994) Using PVM for hunting snake-in-the-box codes. In: Proceedings of the transputer research and applications conference, pp 97–102
Kautz WH (1958) Unit-distance error-checking codes. IRE Trans Electron Comput Ec-7:179–180
Kinny D (2012) A new approach to the snake-in-the-box problem. In: Luc De R, Christian B, Didier D, Patrick D, Paolo F, Fredrik H, Peter LJF (eds) ECAI, volume 242 of frontiers in artificial intelligence and applications. IOS Press, pp 462–467
Klee V (1967) A method for constructing circuit codes. J Assoc Comput Mach 14:520–528
Klee V (1970a) The use of circuit codes in analog-to-digital conversion. In: Harris B (ed) Graph theory and its applications. Academic, New York
Klee V (1970b) What is the maximum length of a d-dimensional snake? Am Math Mon 77:63–65
Kochut KJ (1996) Snake-in-the-box codes for dimension 7. J Comb Math Comb Comput 20:175–185
Lukito A (1998) An upper bound for the length of snake-in-the-box codes. In: 6th international workshop algebraic and combinatorial coding theory
Lukito A, van Zantan AJ (1998) Stars and snake-in-the-box codes. Technical report DUT-TWI-98-43. Department of Technical Mathematics and Informatics, Delft University of Technology, Delft, The Netherlands
Paterson KG, Tuliani J (1998) Some new circuit codes. IEEE Trans Inf Theory 44(3):1305–1309
Potter W (2012) Latest records for the snake-in-the-box problem. http://www.ai.uga.edu/sib/records/. Accessed Nov 2012
Potter WD, Robinson RW, Miller JA, Kochut K, Redys DZ (1994) Using the genetic algorithm to find snake-in-the-box codes. In: Industrial and engineering applications of artificial intelligence and expert systems, pp 421–426
Rajan DS, Shende AM (1999) Maximal and reversible snakes in hypercubes. In: 24th annual Australasian conference on combinatorial mathematics and combinatorial computing
Schwartz M, Etzion T (1999) The structure of single-track gray codes. IEEE Trans Inf Theory 45:2383–2396
Singleton RC (1966) Generalized snake-in-the-box codes. IEEE Trans Electron Comput 15:596–602
Sloane N (2012) The on-line encyclopedia of integer sequences. Sequence number: A000937, A099155. http://oeis.org/. Accessed Nov 2012
Snevily HS (1994) The snake-in-the-box problem: a new upper bound. Discret Math 133(3):307–314
Solov’jeva FI (1987) An upper bound for the length of a cycle in an \(n\)-dimensional unit cube. Diskr Analiz 45:71–76
Taylor CA (1998) A comprehensive framework for the snake-in-the-box problem. Thesis for Master of Science, The University of Georgia
Tuohy DR, Potter WD, Casella DA (2007a) A hybrid optimization method for discovering snake-in-the-box codes. In: First symposium on foundations of computational intelligence (FOCI’07)
Tuohy DR, Potter WD, Casella DA (2007b) Searching for snake-in-the-box codes with evolved pruning methods. In: International conference on genetic and evolutionary methods, pp 3–9
Wojciechowski J (1989) A new lower bound for snake-in-the-box codes. Combinatorica 9:91–99
Wyner AD (1971) Note on circuits and chains of spread \(k\) in the \(n\)-cube. IEEE Trans Comput C-20(4):474–474
Wynn E (2012) Constructing circuit codes by permuting initial sequences. CoRR, abs/1201.1647
Yehezkeally Y, Schwartz M (2012) Snake-in-the-box codes for rank modulation. In: ISIT, pp 2983–2987
Zémor G (1997) An upper bound on the size of the snake-in-the-box. Combinatorica 17:287–298
Zinovik I, Chebiryak Y, Kroening D (2009) Periodic orbits and equilibria in glass models for gene regulatory network. IEEE Trans Inf Theory 56(2):1819–1823
Zinovik I, Kroening D, Chebiryak Y (2008) Computing binary combinatorial gray codes via exhaustive search with SAT solvers. IEEE Trans Inf Theory 54(4):1819–1823
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendices
1.1 Instances of longest \(k\)-coils and \(k\)-snakes
Each \(k\)-coil and \(k\)-snake can be represented compactly by its transition (or coordinate) sequence starting from some arbitrary starting vertex, generally assumed to be \(0^n\). Assuming that the first bit position is 0 and that the symbols \(a\) to \(g\) represent the positions 10–16, we provide the transition sequences for each new longest \(k\)-coil and \(k\)-snake discovered. Each sequence is prefaced by \((n,k,t)\) where \(n\) is the length of the bitstrings, \(k\) is the spread, and \(t\) is the length of the \(k\)-coil or \(k\)-snake. Observe that for \(k\)-snakes this means the transition sequence will have \(t\) symbols, while for the \(k\)-coils the transition sequence will have \(t{-}1\) symbols.
The \(k\)-coils (13,3,494), (14,3,812), (15,3,1380), (16,3,2240), (17,3,3910), (15,4, 480), (16,4,768), and (17,4,1224) are also single-track circuit codes. However, to have the single-track property, the starting vertex is important. For these coils, we add in this starting string as a 4th parameter.
1.1.1 \(k\)-coils
1.1.2 \(k\)-snakes
Rights and permissions
About this article
Cite this article
Hood, S., Recoskie, D., Sawada, J. et al. Snakes, coils, and single-track circuit codes with spread \(k\) . J Comb Optim 30, 42–62 (2015). https://doi.org/10.1007/s10878-013-9630-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10878-013-9630-z