Лексикографические коды или лексикоды - это жадно генерируемые коды исправления ошибок с замечательно хорошими свойствами. Они были произведены независимо Владимиром Левенштейном и Джоном Хортоном Конвеем и Нилом Слоаном. Двоичные лексикографические коды - это линейные коды и включают в себя коды Хэмминга и двоичные коды Голея.
Лексикод с минимальным расстоянием d и длиной n над конечным полем генерируется, начиная с вектора с нулевыми нулями и итеративное добавление следующего вектора (в лексикографическом порядке ) минимального расстояния Хэмминга d от векторов, добавленных до сих пор. Например, лексикод длины 3 с минимальным расстоянием 2 будет состоять из векторов, отмеченных знаком «X» в следующем примере:
Вектор | В коде? |
---|---|
000 | X |
001 | |
010 | |
011 | X |
100 | |
101 | X |
110 | X |
111 |
Поскольку лексикоды линейны, их также можно построить с помощью их базис.
Теория лексикографических кодов тесно связана с комбинаторной теорией игр. В частности, кодовые слова в двоичном лексикографическом коде расстояния d кодируют выигрышные позиции в варианте игры Гранди, сыгранной на совокупности груд камней, в которой каждый ход состоит из замены любой одной кучи на не более d - 1 кучка поменьше, и цель - взять последний камень.