Skip to main content
Log in

Computer-Aided Constructions of Commafree Codes

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

We determine the maximum size \(W_k(n)\) of a commafree code with codeword length k and alphabet size n for a few previously unknown values of k and n. With the aid of modern SAT solver tooling we prove that \(W_4(5) = 139\), \(W_6(3) = 113\), and \(W_{12}(2) = 334\) and exhibit codes that achieve these bounds.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

Notes

  1. http://github.com/arminbiere/kissat.

  2. http://fmv.jku.at/drabt/.

  3. http://github.com/marijnheule/drat-trim.

  4. http://www.linode.com.

  5. http://github.com/marijnheule/bva.

References

  1. Biere, A., Fazekas, K., Fleury, M., Heisinger, M.: CaDiCaL, Kissat, Paracooba, Plingeling and Treengeling entering the SAT Competition 2020. In: Balyo, T., Froleyks, N., Heule, M., Iser, M., Järvisalo, M., Suda, M. (eds.), Proc. of SAT Competition 2020 – Solver and Benchmark Descriptions, volume B-2020-1 of Department of Computer Science Report Series B, pages 51–53. University of Helsinki (2020)

  2. Bright, C., Cheung, K.K.H., Stevens, B., Kotsireas, I., Ganesh, V.: Unsatisfiability proofs for weight 16 codewords in Lam’s problem. In: Bessiere, C. (ed.), Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence, IJCAI-20, pp. 1460–1466. International Joint Conferences on Artificial Intelligence Organization, (7 2020). Main track

  3. Davis, M., Putnam, H.: A computing procedure for quantification theory. J. ACM 7(3), 201–215 (1960)

    Article  MathSciNet  MATH  Google Scholar 

  4. Eastman, W.: On the construction of comma-free codes. IEEE Trans. Info. Theory 11(2), 263–267 (1965)

    Article  MathSciNet  MATH  Google Scholar 

  5. Golomb, S.W., Gordon, B., Welch, L.R.: Comma-free codes. Can. J. Math. 10, 202–209 (1958)

    Article  MathSciNet  MATH  Google Scholar 

  6. Heule, M.J.H.: Schur number five. In: AAAI, (2018)

  7. Heule, M.J.H., Kullmann, O., Wieringa, S., Biere, A.: Cube and conquer: guiding CDCL SAT solvers by lookaheads. In: Eder, K., Lourenço, J., Shehory, O. (eds.) Hardware and software: verification and testing, pp. 50–65. Springer, Berlin (2012)

    Chapter  Google Scholar 

  8. Heule, M.J.H., Kullmann, O., Marek, V.W.: Solving and verifying the boolean pythagorean triples problem via cube-and-conquer. In: Creignou, N., Le Berre, D. (eds.) Theory Appl. Satisfiability Testing —SAT 2016, pp. 228–245. Springer, Cham (2016)

    Chapter  Google Scholar 

  9. Jiggs, B.H.: Recent results in comma-free codes. Can. J. Math. 15, 178–187 (1963)

    Article  MathSciNet  MATH  Google Scholar 

  10. Knuth, D.E.: Combinatorial algorithms, Part 2, volume 4B of The Art of Computer Programming. Addison-Wesley Professional, first edition (October 2022)

  11. Konev, B., Lisitsa, A.: Computer-aided proof of Erdős discrepancy properties. Artif. Intell. 224, 103–118 (2015)

    Article  MATH  Google Scholar 

  12. Kouril, M., Paul, J.L.: The van der Waerden number \(W(2,6)\) is 1132. Exp. Math. 17(1), 53–61 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  13. Manthey, N., Heule, M.J.H., Biere, A.: Automated reencoding of boolean formulas. In: Biere, A., Nahir, A., Vos, T. (eds.) Hardware and Software: Verification and Testing, pp. 102–117. Springer, Berlin (2013)

    Chapter  Google Scholar 

  14. Niho, Y.: On maximal comma-free codes (corresp.). IEEE Trans. Inf. Theory 19, 580–581 (1973)

    Article  MATH  Google Scholar 

  15. Niklas, E., Sörensson, N.: Translating pseudo-boolean constraints into SAT. J. Satisfiability Boolean Modeling Comput. 4, 1–26 (2006)

    MATH  Google Scholar 

  16. Zinovik, I., Kroening, D., Chebiryak, Y.: Computing binary combinatorial gray codes via exhaustive search with sat solvers. IEEE Trans. Inf. Theory 54(4), 1819–1823 (2008)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

We thank both of the anonymous reviewers for many helpful suggestions and corrections that improved the presentation of this paper. In particular, one reviewer noticed that a BVA preprocessor substantially reduced the original encoding size, which inspired the improved incoding in Sect. 3.1.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Aaron A. Windsor.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix

Appendix

A code that achieves \(W_4(5) = 139\):

$$\begin{aligned} \{&0012, 0013, 0014, 0100, 0102, 0103, 0104, 0110, 0111, 0112, 0113, \\&0114, 0204, 0212, 0213, 0214, 0304, 0312, 0313, 0314, 1012, 1013, \\&1014, 2000, 2002, 2003, 2004, 2012, 2013, 2014, 2022, 2023, 2024, \\&2032, 2033, 2034, 2100, 2102, 2103, 2104, 2110, 2111, 2112, 2113, \\&2114, 2204, 2212, 2213, 2214, 2224, 2234, 2304, 2312, 2313, 2314,&\\&2324, 2334, 3000, 3002, 3003, 3004, 3012, 3013, 3014, 3022, 3023, \\&3024, 3032, 3033, 3034, 3100, 3102, 3103, 3104, 3110, 3111, 3112, \\&3113, 3114, 3204, 3212, 3213, 3214, 3224, 3234, 3304, 3312, 3313, \\&3314, 3324, 3334, 4000, 4002, 4003, 4004, 4012, 4013, 4014, 4022, \\&4023, 4024, 4032, 4033, 4034, 4042, 4043, 4044, 4100, 4102, 4103, \\&4104, 4110, 4111, 4112, 4113, 4114, 4122, 4123, 4124, 4132, 4133, \\&4134, 4142, 4143, 4144, 4204, 4212, 4213, 4214, 4224, 4234, 4244, \\&4304, 4312, 4313, 4314, 4324, 4334, 4344\} \end{aligned}$$

The code above omits representatives from the following equivalence classes:

$$\begin{aligned} {[}0203], [0412], [0413], [0414], [1213], [1214], [1314], [2223], [2233], [2333], [2434] \end{aligned}$$

A code that achieves \(W_6(3) = 113\):

$$\begin{aligned} \{&001000, 001100, 001101, 001102, 001200, 001201, 001202, 002000, 002100, \\&002101, 002102, 002200, 002201, 002202, 010102, 011100, 011101, 011102, \\&011110, 011111, 011200, 011201, 011202, 011210, 011211, 012100, 012101, \\&012102, 012110, 012111, 012112, 012200, 012201, 012202, 012210, 012211, \\&012220, 020100, 020102, 020110, 020120, 020200, 020210, 020220, 021100, \\&021101, 021102, 021110, 021111, 021120, 021121, 021200, 021201, 021202, \\&021210, 021211, 022100, 022101, 022102, 022110, 022111, 022112, 022120, \\&022121, 022200, 022201, 022202, 022211, 022212, 101000, 101100, 101200, \\&101201, 101202, 102000, 102100, 102200, 102201, 102202, 111200, 111201, \\&111202, 111210, 111211, 112200, 112201, 112202, 112210, 112211, 112220, \\&121200, 121201, 121202, 121210, 121211, 122120, 122121, 122211, 122212, \\&212200, 212201, 212202, 212210, 212211, 212220, 222100, 222101, 222102, \\&222200, 222201, 222202, 222211, 222212 \} \end{aligned}$$

The code above omits representatives from the following equivalence classes:

$$\begin{aligned} {[}001002], [011021], [012022] \end{aligned}$$

Finally, a code that achieves \(W_{12}(2) = 334\):

$$\begin{aligned} \{&000001000011, 000010000000, 000010000001, 000010000011, 000010000101, \\&000100000101, 000100001001, 000101000011, 000101001011, 000110000001, \\&000110000011, 000110000101, 000110000111, 000110001001, 000110001011, \\&000110001101, 000110001111, 000110010001, 000110010011, 000110010101, \\&000110010111, 000110011001, 000110011011, 000110011101, 000110011111, \\&000111000011, 000111001011, 001000001001, 001000010001, 001001000011, \\&001001001011, 001001010011, 001010000001, 001010000011, 001010000101, \\&001010001001, 001010001011, 001010010001, 001010010011, 001010010101, \\&001100000001, 001100000101, 001100001001, 001100001101, 001100010001, \\&001100010101, 001100011101, 001101000011, 001101001011, 001101010011, \\&001110000001, 001110000011, 001110000101, 001110001001, 001110001011, \\&001110001101, 001110001111, 001110010001, 001110010011, 001110010101, \\&001110011001, 001110011011, 001110011101, 001110011111, 001111000000, \\&001111000011, 001111001011, 001111010011, 010000010001, 010001000011, \\&010001010011, 010010000001, 010010000011, 010010000101, 010010010001, \\&010010010011, 010010010101, 010010100011, 010100000001, 010100000101, \\&010100001001, 010100010001, 010100010101, 010101000011, 010101001011, \\&010101010011, 010110000001, 010110000011, 010110000101, 010110000111, \\&010110001001, 010110001011, 010110001101, 010110001111, 010110010001, \\&010110010011, 010110010101, 010110010111, 010110011001, 010110011011, \\&010110011101, 010110011111, 010110100011, 010110100111, 010110101011, \\&010111000011, 010111001011, 010111010011, 010111011011, 010111100011, \\&010111101011, 010111111011, 011000000000, 011000000001, 011000001001, \\&011000010001, 011001000011, 011001001011, 011001010011, 011001011011, \\&011001101011, 011001111011, 011010000001, 011010000011, 011010000101, \\&011010001001, 011010001011, 011010010001, 011010010011, 011010010101, \\&011010011001, 011010011011, 011010100011, 011010101011, 011100000000, \\&011100000001, 011100000101, 011100001001, 011100010001, 011100010101, \\&011100011101, 011101000011, 011101001011, 011101010011, 011101011011, \\&011101111011, 011110000011, 011110000101, 011110001001, 011110001011, \\&011110010001, 011110010011, 011110010101, 011110011001, 011110011011, \\&011110011101, 011110011111, 011110100011, 011110101011, 011111000011, \\&011111001011, 011111010011, 011111011011, 011111100011, 011111101011, \\&011111111011, 100001000011, 100010000000, 100010000001, 100010000011, \\&100010000101, 100010100011, 100100000000, 100100000001, 100100000101, \\&100100001001, 100101000011, 100101001011, 100110000001, 100110000011, \\&100110000101, 100110000111, 100110001001, 100110001011, 100110001101, \\&100110001111, 100110100011, 100110100111, 100110101011, 100111000011, \\&100111001011, 100111100011, 100111101011, 101000000000, 101000000001, \\&101000001001, 101000010001, 101001000011, 101001001011, 101001010011, \\&101010000001, 101010000011, 101010000101, 101010001001, 101010001011, \\&101010010001, 101010010011, 101010010101, 101010100011, 101010101011, \\&101100000001, 101100000101, 101100001001, 101100001101, 101100010001, \\&101100010101, 101100011101, 101101000011, 101101001011, 101101010011, \\&101101011011, 101110000001, 101110000011, 101110000101, 101110001001, \\&101110001011, 101110001101, 101110001111, 101110010001, 101110010011, \\&101110010101, 101110011001, 101110011011, 101110011101, 101110011111, \\&101110100011, 101110101011, 101111000000, 101111000011, 101111001011, \\&101111010011, 101111100011, 101111101011, 101111111011, 110000010001, \\&110001000011, 110001010011, 110010000001, 110010000011, 110010000101, \\&110010010001, 110010010011, 110010010101, 110010100011, 110100000001, \\&110100000101, 110100001001, 110100010001, 110100010101, 110101000011, \\&110101001011, 110101010011, 110110000001, 110110000011, 110110000101, \\&110110000111, 110110001001, 110110001011, 110110001101, 110110001111, \\&110110010001, 110110010011, 110110010101, 110110010111, 110110011001, \\&110110011011, 110110011101, 110110011111, 110110100011, 110110100111, \\&110110101011, 110111000011, 110111001011, 110111010011, 110111010111, \\&110111011011, 110111100011, 110111101011, 110111111011, 111000001001, \\&111000010001, 111001000011, 111001001011, 111001010011, 111001101011, \\&111001111011, 111010000001, 111010000011, 111010000101, 111010001001, \\&111010001011, 111010010001, 111010010011, 111010010101, 111010100011, \\&111010101011, 111100000101, 111100001001, 111100010001, 111100010101, \\&111101000011, 111101001011, 111101010011, 111110000000, 111110000001, \\&111110000011, 111110000101, 111110001001, 111110001011, 111110010001, \\&111110010011, 111110010101, 111110011001, 111110011011, 111110011101, \\&111110011111, 111110100011, 111110101011, 111111000011, 111111001011, \\&111111010011, 111111100011, 111111101011, 111111111011 \} \end{aligned}$$

The code above omits a representative from only the equivalence class [000011001011].

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Windsor, A.A. Computer-Aided Constructions of Commafree Codes. J Autom Reasoning 67, 12 (2023). https://doi.org/10.1007/s10817-023-09662-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10817-023-09662-6

Keywords

Navigation