Bounds on edit-metric codes
Eq(n,d) is the largest number of words of length n over q symbols such that every two of them are at Levenshtein distance at least d. The distance counts the insertions, deletions and substitutions needed to turn one word into the other. These tables give the best known bounds for binary, ternary and quaternary codes of fixed length, and for binary and ternary codes of variable length.
The tables start from Sheridan Houghten's tables at Brock University, copied on 27 October 2026, and record improvements found since then. 75 cells have a better lower bound than Houghten's table, and 10 more follow from those. One more follows from other entries of Houghten's own tables. Every new lower bound that comes with a code links to the codewords and their SHA-256, and check.py checks any of them. This page is maintained separately from Houghten's.
Last updated 2026-11-07. Corrections and new codes are welcome at ayeung16@stanford.edu. Data: bounds.csv (every cell, with its source), records.csv (every claim beyond Houghten's table).
Improvements
Cells where the best known bound differs from Houghten's table, newest first.
| cell | Houghten | now | construction | date | source | code |
|---|---|---|---|---|---|---|
| E4(14,10) | ≥13 | ≥18 | tabu search on the codewords earlier: 14 (this page, 2026-11-06) | 2026-11-07 | this page | codewords 1 kBaf3d1b47975ffd8b… |
| E4(13,9) | ≥17 | ≥21 | tabu search on the codewords earlier: 20 (this page, 2026-11-06) | 2026-11-07 | this page | codewords 1 kB6f3d70cc5f352d86… |
| E4(12,9) | ≥13 | ≥14 | tabu search on the codewords | 2026-11-07 | this page | codewords 1 kB7de53b0be9c9521a… |
| E4(11,9) | ≥7 | ≥9 | tabu search on the codewords earlier: 8 (this page, 2026-11-06) | 2026-11-07 | this page | codewords 1 kB4ff1fc23a1c6855f… |
| E3(12,8) | 10–36 | 11–36 | tabu search on the codewords | 2026-11-07 | this page | codewords 1 kB7a7d5ef936425286… |
| E3(11,8) | 7–12 | 8–12 | tabu search on the codewords | 2026-11-07 | this page | codewords 1 kB888fa44709567236… |
| E3(11,7) | 11–36 | 13–36 | tabu search on the codewords | 2026-11-07 | this page | codewords 1 kBb2a5e0c24ae8ad7a… |
| E4(13,11) | ≥5 | ≥7 | tabu search on the codewords | 2026-11-06 | this page | codewords 1 kB184b12c4a765e3db… |
| E4(13,10) | ≥11 | ≥12 | tabu search on the codewords | 2026-11-06 | this page | codewords 1 kB083645394017e65d… |
| E4(12,10) | ≥6 | ≥8 | tabu search on the codewords | 2026-11-06 | this page | codewords 1 kB667bb68f90a12c9f… |
| E4(14,9) | ≥27 | ≥37 | lexicode | 2026-11-06 | this page | codewords 1 kBd3ec8a08c4005750… |
| E4(15,8) | ≥61 | ≥251 | lexicode and so E4(16,8) ≥ 251 | 2026-11-06 | this page | codewords 4 kBbc117447c9227237… |
| E4(14,8) | ≥54 | ≥112 | lexicode | 2026-11-06 | this page | codewords 2 kB22b2befad2d31b6a… |
| E4(15,7) | ≥196 | ≥1107 | lexicode and so E4(16–17,7) ≥ 1107 | 2026-11-06 | this page | codewords 18 kB15ae5c445ac05761… |
| E4(14,7) | ≥188 | ≥448 | lexicode | 2026-11-06 | this page | codewords 7 kB3334b349bdc96d91… |
| E4(16,5) | ≥9220 | ≥154463 | lexicode and so E4(17,5) ≥ 154463 | 2026-11-06 | this page | codewords 2.6 MB7b1cc9895641e052… |
| E4(16,4) | ≥18308 | ≥1712330 | lexicode and so E4(17,4) ≥ 1712330 | 2026-11-06 | this page | codewords 29.1 MB27a72718218263c3… |
| E4(14,3) | ≥40604 | ≥1782677 | lexicode and so E4(15–17,3) ≥ 1782677 | 2026-11-06 | this page | codewords 26.7 MB2ad22bf3b7e2e20f… |
| E2(24,7) | ≥132 | ≥210 | lexicode | 2026-11-06 | this page | codewords 6 kB1b8f67c7f269b2ae… |
| E2(23,7) | ≥97 | ≥140 | lexicode | 2026-11-06 | this page | codewords 4 kB420139e3dc0153f5… |
| E2(20,7) | ≥35 | ≥44 | lexicode | 2026-11-06 | this page | codewords 1 kB6132a6d9f8461c24… |
| E2(24,5) | ≥1489 | ≥3979 | lexicode | 2026-11-06 | this page | codewords 100 kBe3ac518ee03c3870… |
| E2(23,5) | ≥1268 | ≥2344 | lexicode | 2026-11-06 | this page | codewords 57 kB911222c15690f60b… |
| E2(20,5) | ≥379 | ≥501 | lexicode | 2026-11-06 | this page | codewords 11 kB6fc9dc522a1b88d2… |
| E2(16,5) | ≥65 | ≥70 | lexicode | 2026-11-06 | this page | codewords 2 kBf43325da6ab2ccfc… |
| E4(15,6) | ≥880 | ≥6486 | lexicode and so E4(16–17,6) ≥ 6486 | 2026-11-05 | this page | codewords 104 kB75bf91e501c06d4d… |
| E4(14,6) | ≥879 | ≥2346 | lexicode | 2026-11-05 | this page | codewords 36 kB92a4f972ecb53ad7… |
| E4(10,6) | 60–496 | 68–496 | prescribed symmetry (dihedral symbol group, reflections combined with reversal) + local search | 2026-11-05 | this page | codewords 1 kBeb867a52ebe6e648… |
| E4(15,5) | ≥6419 | ≥49992 | lexicode | 2026-11-05 | this page | codewords 800 kBec111574133cb4c4… |
| E4(14,5) | ≥5517 | ≥16440 | lexicode | 2026-11-05 | this page | codewords 247 kBaa888ba53bf8cd9d… |
| E4(15,4) | ≥17780 | ≥510118 | lexicode | 2026-11-05 | this page | codewords 8.2 MBb5a36e98fe33103e… |
| E4(10,4) | 1463–8192 | 1520–8192 | prescribed symmetry (dihedral symbol group, quarter turns and two reflections combined with reversal) + local search | 2026-11-05 | this page | codewords 17 kB100524bdc0698e3c… |
| E4(8,4) | 176–512 | 204–512 | prescribed symmetry (dihedral symbol group, reflections combined with reversal) + local search earlier: 200 (Yeung 2026) | 2026-11-05 | this page | codewords 2 kBeaa89bde408b5c68… |
| E3(12,6) | 56–486 | 63–486 | prescribed symmetry (all symbol permutations and reversal) + local search | 2026-11-05 | this page | codewords 1 kB568131647b5068f1… |
| E3(12,5) | 208–1557 | 219–1557 | prescribed symmetry (all symbol permutations and reversal) + local search | 2026-11-05 | this page | codewords 3 kB567f156e035f7d4e… |
| E3(12,4) | 1129–5832 | 1227–5832 | prescribed symmetry (all symbol permutations and reversal) + local search | 2026-11-05 | this page | codewords 16 kB84a706f14405ad90… |
| E3(12,3) | 7819–19683 | 8238–19683 | prescribed symmetry (cyclic symbol shift and reversal) + local search | 2026-11-05 | this page | codewords 108 kB1df538f21bcb4e2a… |
| E3(11,6) | 29–162 | 36–162 | prescribed symmetry (cyclic symbol shift and reversal) + local search | 2026-11-03 | this page | codewords 1 kBdc17504563bfd7ec… |
| E3(10,6) | 18–54 | 19–54 | prescribed symmetry (symbol swap and reversal) + local search | 2026-11-03 | this page | codewords 1 kB277ae6ea1ee3f514… |
| E3(11,5) | 98–648 | 108–648 | prescribed symmetry (cyclic symbol shift and reversal) + local search | 2026-11-03 | this page | codewords 2 kBb643535c5dc00ade… |
| E3(10,5) | 49–216 | 54–216 | prescribed symmetry (cyclic symbol shift and reversal) + local search | 2026-11-03 | this page | codewords 1 kBaf66b7099e3be1a6… |
| E3(11,4) | 471–1944 | 525–1944 | prescribed symmetry (all symbol permutations and reversal) + local search | 2026-11-03 | this page | codewords 7 kB188b37b46232302b… |
| E3(9,5) | 25–72 | 26–72 | local search on the full conflict graph | 2026-10-30 | this page | codewords 1 kBd0125f9477a6e8e8… |
| E3(10,4) | 202–648 | 214–648 | local search on the full conflict graph | 2026-10-30 | this page | codewords 3 kBa779abe32f8e9307… |
| E3(9,4) | 88–216 | 97–216 | local search on the full conflict graph | 2026-10-30 | this page | codewords 1 kB84807952f74fb97f… |
| E3(8,4) | 41–72 | 45–72 | local search on the full conflict graph | 2026-10-30 | this page | codewords 1 kB55fb5c48ae32c99a… |
| E3(7,4) | 21–24 | 22–24 | local search on the full conflict graph | 2026-10-30 | this page | codewords 1 kBd12a99d782914093… |
| E3(11,3) | 2972–7029 | 3205–7029 | prescribed symmetry (symbol swap and reversal) + local search | 2026-10-30 | this page | codewords 39 kB380e6e628ef3dee2… |
| E3(10,3) | 1133–2811 | 1261–2811 | local search on the full conflict graph | 2026-10-30 | this page | codewords 14 kB09a8e07988f564ba… |
| E3(9,3) | 438–937 | 503–937 | local search on the full conflict graph | 2026-10-30 | this page | codewords 6 kB83b83addd095089d… |
| E3(8,3) | 179–324 | 201–324 | local search on the full conflict graph | 2026-10-30 | this page | codewords 2 kB4474956503afe82d… |
| E3(7,3) | 71–108 | 83–108 | local search on the full conflict graph | 2026-10-30 | this page | codewords 1 kB90d9acbb186355bb… |
| E2(12,4) | 54–84 | 55–84 | local search on the full conflict graph | 2026-10-30 | this page | codewords 1 kB96075d21863f1270… |
| E2(11,4) | 32–42 | 33–42 | local search on the full conflict graph | 2026-10-30 | this page | codewords 1 kBae414fe2fffabe7f… |
| E2(12,3) | 179–256 | 180–256 | local search on the full conflict graph | 2026-10-30 | this page | codewords 3 kBa0d12eb8b83dac60… |
| E2(11,3) | 104–136 | 106–136 | local search on the full conflict graph | 2026-10-30 | this page | codewords 2 kBb4c4f5db49aae059… |
| E4(14,4) | ≥15206 | ≥153767 | lexicode | 2026-10-26 | this page | codewords 2.3 MB9cd1825c0f96bbfc… |
| E4(13,4) | ≥7744 | ≥46908 | lexicode | 2026-10-26 | this page | codewords 657 kB4d79e4c843ac7b24… |
| E4(13,3) | ≥40604 | ≥500882 | lexicode | 2026-10-26 | this page | codewords 7.0 MB3ab0ef6e02273359… |
| E4(12,4) | ≥4574 | ≥14522 | lexicode | 2026-10-10 | this page | codewords 189 kBa90753c71c599a6b… |
| E4(12,3) | ≥40604 | ≥141943 | lexicode | 2026-10-10 | this page | codewords 1.8 MB19e55fe76f3ca4bc… |
| E4(9,6) | 27–128 | 32–128 | prescribed symmetry + local search | 2026-09 | Yeung 2026 | codewords 1 kBf034a20a9dac7571… |
| E4(8,6) | 14–32 | 16–32 | prescribed symmetry + local search | 2026-09 | Yeung 2026 | codewords 1 kB773280cf9dc013ce… |
| E4(9,5) | 97–384 | 100–384 | prescribed symmetry + local search | 2026-09 | Yeung 2026 | codewords 2 kBf0647e8c17476633… |
| E4(8,5) | 38–96 | 44–96 | prescribed symmetry + local search | 2026-09 | Yeung 2026 | codewords 1 kBb777627b5733905e… |
| E4(7,5) | 18–24 | 20–24 | prescribed symmetry + local search | 2026-09 | Yeung 2026 | codewords 1 kB74f19f275251e84f… |
| E4(9,4) | 495–2048 | 520–2048 | prescribed symmetry + local search | 2026-09 | Yeung 2026 | codewords 6 kBf48053ee681fc579… |
| E4(7,4) | 65–128 | 72–128 | prescribed symmetry + local search | 2026-09 | Yeung 2026 | codewords 1 kB85cb1ceb68de50cc… |
| E4(6,4) | 28–32 | 30–32 | prescribed symmetry + local search | 2026-09 | Yeung 2026 | codewords 1 kBfc6fb24268384a77… |
| E4(9,3) | 3451–9360 | 3760–9360 | prescribed symmetry (C4) + local search earlier: 3717 (Weindel & Heckel 2025) | 2026-09 | Yeung 2026 | codewords 38 kB9c7c0ce7c75fbf30… |
| E4(8,3) | 1132–2340 | 1148–2340 | prescribed symmetry (Klein four-group) + local search | 2026-09 | Yeung 2026 | codewords 11 kBe98fe9d121189c38… |
| E4(7,3) | 356–614 | 364–614 | prescribed symmetry (C3 x C2) + local search | 2026-09 | Yeung 2026 | codewords 4 kBdadc469672cd5dfe… |
| E4(6,3) | 114–176 | 120–176 | prescribed symmetry (Klein four-group) + local search | 2026-09 | Yeung 2026 | codewords 1 kBadeaa3604074f5f2… |
| E4(11,3) | ≥40604 | ≥42080 | OnlineMIS on the full conflict graph | 2025 | Weindel & Heckel 2025 | not published |
| E4(10,3) | 11743–30417 | 12489–30417 | ReduMIS on the full conflict graph | 2025 | Weindel & Heckel 2025 | not published |
| E2(24,3) | ≥14089 | ≥16927 | append one symbol to a code for E2(23,3), which Houghten's table gives as ≥16927 | – | Houghten | – |
Binary, fixed length
E2(n,d) for words of length n over 2 symbols. Houghten's table: binaryedit.html.
| n\d | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 2 | 4 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 3 | 8 | 4 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 4 | 16 | 8 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 5 | 32 | 16 | 4 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 6 | 64 | 32 | 7 | 4 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 |
| 7 | 128 | 64 | 12 | 5 | 2 | 2 | 2 | 1 | 1 | 1 | 1 | 1 |
| 8 | 256 | 128 | 19 | 9 | 4 | 2 | 2 | 2 | 1 | 1 | 1 | 1 |
| 9 | 512 | 256 | 34 | 13 | 5 | 4 | 2 | 2 | 2 | 1 | 1 | 1 |
| 10 | 1024 | 512 | 58–68 | 21 | 8 | 4 | 2 | 2 | 2 | 2 | 1 | 1 |
| 11 | 2048 | 1024 | 106–136 | 33–42 | 11 | 6 | 4 | 2 | 2 | 2 | 2 | 1 |
| 12 | 4096 | 2048 | 180–256 | 55–84 | 16–18 | 9 | 4 | 4 | 2 | 2 | 2 | 2 |
| 16 | 65536 | 32768 | ≥1062 | ≥70 | ||||||||
| 20 | 220 | 219 | ≥6208 | ≥501 | ≥44 | |||||||
| 23 | 223 | 222 | ≥16927 | ≥2344 | ≥140 | |||||||
| 24 | 224 | 223 | ≥16927 | ≥3979 | ≥210 | |||||||
| 32 | 232 | 231 | ≥211170 | ≥1667 |
Houghten's binary page has no rows for n = 13–15 or 17–19, 21, 22 and 25–31.
Ternary, fixed length
E3(n,d) for words of length n over 3 symbols. Houghten's table: ternaryedit.html.
| n\d | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 2 | 9 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 3 | 27 | 9 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 4 | 81 | 27 | 7 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 5 | 243 | 81 | 15 | 5 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 6 | 729 | 243 | 35–36 | 13 | 4 | 3 | 1 | 1 | 1 | 1 | 1 | 1 |
| 7 | 2187 | 729 | 83–108 | 22–24 | 8 | 3 | 3 | 1 | 1 | 1 | 1 | 1 |
| 8 | 6561 | 2187 | 201–324 | 45–72 | 15–24 | 7 | 3 | 3 | 1 | 1 | 1 | 1 |
| 9 | 19683 | 6561 | 503–937 | 97–216 | 26–72 | 12–18 | 6 | 3 | 3 | 1 | 1 | 1 |
| 10 | 59049 | 19683 | 1261–2811 | 214–648 | 54–216 | 19–54 | 9–14 | 5 | 3 | 3 | 1 | 1 |
| 11 | 311 | 59049 | 3205–7029 | 525–1944 | 108–648 | 36–162 | 13–36 | 8–12 | 4 | 3 | 3 | 1 |
| 12 | 312 | 311 | 8238–19683 | 1227–5832 | 219–1557 | 63–486 | 20–108 | 11–36 | 7–9 | 4 | 3 | 3 |
Quaternary, fixed length
E4(n,d) for words of length n over 4 symbols. Houghten's table: quaternaryedit.html.
| n\d | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 4 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 2 | 16 | 4 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 3 | 64 | 16 | 4 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 4 | 256 | 64 | 16 | 4 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 5 | 1024 | 256 | 44 | 11 | 4 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 6 | 4096 | 1024 | 120–176 | 30–32 | 8 | 4 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 7 | 16384 | 4096 | 364–614 | 72–128 | 20–24 | 8 | 4 | 1 | 1 | 1 | 1 | 1 | 1 |
| 8 | 65536 | 16384 | 1148–2340 | 204–512 | 44–96 | 16–32 | 5 | 4 | 1 | 1 | 1 | 1 | 1 |
| 9 | 49 | 65536 | 3760–9360 | 520–2048 | 100–384 | 32–128 | 11–20 | 5 | 4 | 1 | 1 | 1 | 1 |
| 10 | 410 | 49 | 12489–30417 | 1520–8192 | 249–1536 | 68–496 | 20–80 | 10–16 | 5 | 4 | 1 | 1 | 1 |
| 11 | 411 | 410 | ≥42080 | ≥4574 | ≥676 | ≥139 | ≥41 | ≥16 | ≥9 | ≥4 | ≥4 | 1 | 1 |
| 12 | 412 | 411 | ≥141943 | ≥14522 | ≥1894 | ≥338 | ≥79 | ≥30 | ≥14 | ≥8 | ≥4 | ≥4 | 1 |
| 13 | 413 | 412 | ≥500882 | ≥46908 | ≥5517 | ≥879 | ≥188 | ≥54 | ≥21 | ≥12 | ≥7 | ≥4 | ≥1 |
| 14 | 414 | 413 | ≥1782677 | ≥153767 | ≥16440 | ≥2346 | ≥448 | ≥112 | ≥37 | ≥18 | ≥7 | ≥5 | ≥4 |
| 15 | 415 | 414 | ≥1782677 | ≥510118 | ≥49992 | ≥6486 | ≥1107 | ≥251 | ≥45 | ≥19 | ≥10 | ≥6 | ≥4 |
| 16 | 416 | 415 | ≥1782677 | ≥1712330 | ≥154463 | ≥6486 | ≥1107 | ≥251 | ≥83 | ≥32 | ≥16 | ≥8 | ≥6 |
| 17 | 417 | 416 | ≥1782677 | ≥1712330 | ≥154463 | ≥6486 | ≥1107 | ≥322 | ≥143 | ≥57 | ≥24 | ≥13 | ≥8 |
Houghten's quaternary page gives only lower bounds for n > 10; they are written with ≥ here.
Binary, variable length
The largest code over 2 symbols with minimum edit distance d whose longest word has length n. Houghten's table: binaryeditvar.html.
| n\d | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 2 | 7 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 3 | 15 | 5 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 4 | 31 | 11 | 3 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 5 | 63 | 21 | 6 | 3 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 6 | 127 | 43 | 10 | 5 | 3 | 3 | 1 | 1 | 1 | 1 | 1 | 1 |
| 7 | 255 | 85 | 16 | 7 | 3 | 3 | 3 | 1 | 1 | 1 | 1 | 1 |
| 8 | 511 | 171 | 23–33 | 12 | 6 | 3 | 3 | 3 | 1 | 1 | 1 | 1 |
| 9 | 1023 | 341 | 40–67 | 16–25 | 7 | 5 | 3 | 3 | 3 | 1 | 1 | 1 |
| 10 | 2047 | 683 | 61–135 | 25–51 | 11 | 6 | 3 | 3 | 3 | 3 | 1 | 1 |
| 11 | 4095 | 1365 | 109–271 | 36–103 | 14–23 | 8 | 6 | 3 | 3 | 3 | 3 | 1 |
| 12 | 8191 | 2731 | 188–543 | 55–207 | 18–47 | 12–17 | 6 | 5 | 3 | 3 | 3–5 | 3 |
Ternary, variable length
The largest code over 3 symbols with minimum edit distance d whose longest word has length n. Houghten's table: ternaryeditvar.html.
| n\d | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 4 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 2 | 13 | 4 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 3 | 40 | 10 | 4 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 4 | 121 | 31 | 8 | 4 | 1 | 1 | 1 | 1 | 1 | 1 |
| 5 | 364 | 91 | 17 | 6 | 4 | 1 | 1 | 1 | 1 | 1 |
| 6 | 1093 | 274 | 36–52 | 14 | 5 | 4 | 1 | 1 | 1 | 1 |
| 7 | 3280 | 820 | 79–157 | 22–43 | 9 | 4 | 4 | 1 | 1 | 1 |
| 8 | 9841 | 2461 | 195–472 | 44–130 | 16–28 | 8–13 | 4 | 4 | 1 | 1 |
| 9 | 29524 | 7381 | 477–1417 | 94–391 | 26–85 | 13–40 | 7–13 | 4 | 4 | 1 |
| 10 | 88573 | 22144 | 1134–4252 | 203–1174 | 50–256 | 19–121 | 10–40 | 6–13 | 4–13 | 4 |
Notes
Reading the tables
A single number is the exact value. a–b means the value is between a and b. ≥a means only a lower bound is known. Hover a coloured cell to see where its value comes from and what Houghten's table gives; click it to jump to its entry in the list of improvements. In the variable-length tables a code may contain words of any length up to n, the empty word included.
Bounds that follow from others
Appending the same symbol to every word of a code leaves all distances unchanged, so Eq(n+1,d) ≥ Eq(n,d). A code with minimum distance d+1 also has minimum distance d, so Eq(n,d) ≥ Eq(n,d+1). Cells marked as following from an improved cell take their value this way. Every upper bound is Houghten's.
Checking a code
Each code file has a short header declaring q, n, d, the size and the SHA-256 of the sorted codewords, followed by one word per line. check.py needs only Python 3 and checks one file at a time:
python3 check.py codes/edit4_n13_d3_size500882.txt
Before it was listed, each code here was also accepted by three verifiers that share no code: a ball-marking check, a sort-based ball-collision check and a pairwise bit-parallel Levenshtein check.
How the new codes were found
The entries from Yeung 2026 came from searching for codes invariant under a chosen group of symbol permutations and reversal, which shrinks the search to orbits of words. Of the entries first published here, the large quaternary ones are lexicodes: take the words in lexicographic order and keep each one that is far enough from every word kept so far. Most binary and ternary ones come from iterated local search for a maximum independent set in the conflict graph, whose vertices are all qn words, with an edge between two words closer than d. Where that graph is too large, the search runs on the graph of orbits under a small group of symbol permutations and reversal, which the paper uses for the quaternary cells. The same search reproduces every exact value it was run on before any open cell was believed. The small codes at large d come from tabu search on the codewords themselves: random words are changed one symbol at a time, always making the change that most reduces how far the close pairs fall short of d, and a word is added whenever no pair is too close. All of these searches were run by an LLM coding agent under the protocol in the paper, which also describes what went wrong along the way.
Sources
- S. Houghten, tables of bounds on edit-metric codes, Brock University: index, with the five tables linked above. They first appeared in S. K. Houghten, D. Ashlock and J. Lenarz, Construction of optimal edit metric codes, Proc. 2006 IEEE Information Theory Workshop, 259–263, and S. Baker, R. Flack and S. Houghten, Optimal variable-length insertion-deletion correcting codes and edit metric codes, Congressus Numerantium 186 (2008), 65–80. Houghten's pages list the later improvements and their sources.
- A. Yeung, Coding Agents for Coding Theory, NeurIPS 2026 MATH-AI Workshop, arXiv:2609.39081 arxiv.org/abs/2609.39081
- F. Weindel and R. Heckel, LLM-Guided Search for Deletion-Correcting Codes, arXiv:2504.00613, Table 3. The codewords are not published. arxiv.org/abs/2504.00613