Циклические коды БЧХ, Хемминга. Восстановление...

Preview:

DESCRIPTION

Коды БЧХ. Задача восстановления синхронизации. Восстановление синхронизации для смежных классов циклических кодов. Циклическое представление кодов Хемминга. Совершенные коды. Коды Голея. Теорема Васильева.

Citation preview

Теория кодированияМФТИ, осень 2013

Александр Дайняк

www.dainiak.com

Циклический код

Циклический код — это линейный код, такой, что для любого кодового слова

𝑎0, 𝑎1 … , 𝑎𝑛−1слово 𝑎𝑛−1, 𝑎0 … , 𝑎𝑛−2 также является кодовым.

Циклический код — это подмножество 𝐶 кольца 𝔽 𝑥 𝑥𝑛 − 1 , такое, что

• 𝑓1, 𝑓2 ∈ 𝐶 ⇒ ∀𝛼, 𝛽 ∈ 𝔽 𝛼𝑓1 + 𝛽𝑓2 ∈ 𝐶

• 𝑓 ∈ 𝐶 ⇒ 𝑥 ⋅ 𝑓 ∈ 𝐶

Примитивный элемент

Рассмотрим поле 𝔽𝑞, где 𝑞 = 𝑝𝑚, 𝑝 простое.

Известно, что множество 𝔽𝑞 ∖ 0 образует циклическую группу по умножению.

Каждый образующий элемент этой группы (порядок которого равен 𝑞 − 1 ) называется примитивным элементом поля.

Иными словами, примитивный элемент — это такой 𝜆 ∈ 𝔽𝑞, что 1, 𝜆, 𝜆2, … , 𝜆𝑞−2 = 𝔽𝑞 ∖ 0 .

Граница Боуза—Чоудхури—Хоквингема

Теорема. (A.Hocquenghem’1959, R.C. Bose and D.K. Ray-Chaudhuri’1960)

Пусть 𝜆 — примитивный элемент 𝔽𝑞.

Пусть порождающий многочлен 𝑔 кода 𝐶 ⊆ 𝔽𝑞𝑛 таков, что в 𝔽𝑞

среди его корней есть (различные) числа вида𝜆𝑏, 𝜆𝑏+1, … , 𝜆𝑏+𝛿−2

Тогда 𝑑 𝐶 ≥ 𝛿.

Граница Боуза—Чоудхури—ХоквингемаПроблема:

• Если применять теорему «в лоб», то невозможно доказать, что кодовое расстояние больше мощности кодового алфавита, даже если это и так.

Решение:

• Код рассмотрим как подмножество в 𝔽𝑝𝑛, но при применении

границы БЧХ погрузим поле 𝔽𝑝 в 𝔽𝑝𝑚.

Факты о полях

• При любом простом 𝑝 и любом 𝑚 поле 𝔽𝑝 можно вложить как подполе в 𝔽𝑝𝑚.

Обычно поле 𝔽𝑝 — это поле вычетов 𝔽𝑝, а 𝔽𝑝𝑚 строится как множество многочленов с коэффициентами из ℤ𝑝, которые складываются и умножаются по модулю некоторого многочлена степени 𝑚, неприводимого над ℤ𝑝.

Тогда вложение 𝔽𝑝 в 𝔽𝑝𝑚 очевидно: элементам 𝔽𝑝 соответствуют многочлены степени ≤ 0.

Факты о полях

• Элементам 𝔽𝑝𝑚 можно сопоставить вектора из 𝔽𝑝𝑚, так, что сумме

элементов 𝔽𝑝𝑚 соответствует сумма векторов в 𝔽𝑝𝑚.

Раз 𝔽𝑝𝑚 — многочлены с коэффициентами из 𝔽𝑝 степени ≤ 𝑚, то каждому элементу 𝔽𝑝𝑚 сопоставим вектор коэффициентов многочлена.

Коды БЧХ

Пусть 𝑝 простое. Рассмотрим циклический код 𝐶 ⊆ 𝔽𝑝 𝑥 𝑥𝑛 − 1с порождающим многочленом 𝑔.

Коэффициенты 𝑔 берутся из 𝔽𝑝, но их можно считать одновременно элементами 𝔽𝑝𝑚.

Рассмотрим код 𝐶 ⊆ 𝔽𝑝𝑚 𝑥 𝑥𝑛 − 1 , порождённый многочленом 𝑔 (если считать, что 𝑔 ∈ 𝔽𝑝𝑚 𝑥 𝑥𝑛 − 1 ).

Можно в том же духе считать, что 𝐶 ⊆ 𝐶.

Коды БЧХ

Коэффициенты 𝑔 берутся из 𝔽𝑝, но их можно считать одновременно элементами 𝔽𝑝𝑚.

𝐶 ⊆ 𝔽𝑝𝑚 𝑥 𝑥𝑛 − 1 порождён 𝑔.

Пусть 𝜆 — примитивный элемент 𝔽𝑝𝑚, и 𝑔 𝜆𝑏 = ⋯ = 𝑔 𝜆𝑏+𝛿−2 = 0

Тогда граница БЧХ гласит: 𝑑 𝐶 ≥ 𝛿.

Так как 𝐶 ⊆ 𝐶, то и 𝑑 𝐶 ≥ 𝛿.

Коды БЧХ

• Подбираем 𝑔 ∈ 𝔽𝑝𝑚 𝑥 𝑥𝑛 − 1 с коэффициентами из 𝔽𝑝, так, чтобы в 𝔽𝑝𝑚 было выполнено𝑔 𝜆𝑏 = ⋯ = 𝑔 𝜆𝑏+𝛿−2 = 0 и 𝑔| 𝑥𝑛 − 1 .

• На основе 𝑔 строим циклический код в 𝔽𝑝 𝑥 𝑥𝑛 − 1 , для которого, по построению, выполнено 𝑑 𝐶 ≥ 𝛿.

Вопросы:

• Существует ли вообще такой 𝑔?

• Как оценить dim 𝐶?

Минимальный многочлен

Хорошие новости (без доказательства):

Для любого 𝛼 ∈ 𝔽𝑝𝑚 ∖ 0 существует многочлен 𝑓 ∈ 𝔽𝑝𝑚 𝑥 ∖ 0с коэффициентами из 𝔽𝑝, для которого 𝑓 𝛼 = 0.

Если взять такой 𝑓 минимальной степени, то

• 𝑓 неприводим над 𝔽𝑝,

• deg 𝑓 ≤ 𝑚,

• 𝑓 ∣ 𝑥𝑝𝑚−1 − 1 .

Такой 𝑓 называется минимальным многочленом элемента 𝛼.

Коды БЧХ

Следствия из хороших новостей:

• Если 𝑛 = 𝑝𝑚 − 1, то существует 𝑔, такой, что

𝑔 𝜆𝑏 = ⋯ = 𝑔 𝜆𝑏+𝛿−2 = 0 и 𝑔| 𝑥𝑛 − 1 , причём

deg 𝑔 ≤ 𝛿 − 1 𝑚.

• Такой 𝑔 можно взять как

LCM 𝑓𝜆𝑏 , … , 𝑓𝜆𝑏+𝛿−2

где 𝑓𝜆𝑏 , … , 𝑓𝜆𝑏+𝛿−2 — минимальные

многочлены соответствующих элементов.

Коды БЧХ

Окончательный способ построения кода:

• Берём 𝑛 ≔ 𝑝𝑚 − 1 и𝑔 ≔ LCM 𝑓𝜆𝑏 , … , 𝑓𝜆𝑏+𝛿−2

где 𝑓𝜆𝑏 , … , 𝑓𝜆𝑏+𝛿−2 — минимальные многочлены соответствующих элементов в 𝔽𝑝𝑚.

• Строим циклический код в 𝔽𝑝, используя 𝑔 в качестве порождающего многочлена наименьшей возможной степени

Получаем код с параметрами 𝑝𝑚 − 1, 𝑘, 𝑑 𝑝, где

• 𝑘 = 𝑛 − deg 𝑔 ≥ 𝑛 − 𝛿 − 1 𝑚

• 𝑑 ≥ 𝛿

Задача восстановления синхронизации

Пусть по каналу передаются слова … 𝒂, 𝒃, 𝒄 …𝑎1𝑎2 … 𝑎𝑛𝑏1𝑏2 … 𝑏𝑛𝑐1𝑐2 … 𝑐𝑛 …

Если в канале выпадают символы, может произойти ошибка синхронизации:

𝑎𝑖+1𝑎𝑖+2 … 𝑎𝑛𝑏1𝑏2 … 𝑏𝑛𝑐1𝑐2 … 𝑐𝑛 …

и есть шанс неправильно разбить принятую последовательность на слова:

𝑎𝑖+1 … 𝑎𝑛𝑏1 … 𝑏𝑖 ∣ 𝑏𝑖+1 … 𝑏𝑛𝑐1 … 𝑐𝑖 ∣ 𝑐𝑖+1 …

Если при этом такие слова окажутся кодовыми, то мы далеко не сразу обнаружим ошибку!

Задача восстановления синхронизации

При потере синхронизации имеем разбиение:𝑎𝑖+1 … 𝑎𝑛𝑏1 … 𝑏𝑖 ∣ 𝑏𝑖+1 … 𝑏𝑛𝑐1 … 𝑐𝑖 ∣ 𝑐𝑖+1 …

Циклические коды очень плохие с точки зрения восстановления синхронизации: если 𝒂 ∈ 𝐶 и в канал передавалось

𝒂𝒂𝒂 …

то при потере синхронизации мы обнаружим ошибку только в самом конце приёма.

Свобода от запятой

Пусть по каналу передаются слова … 𝒂, 𝒃, 𝒄 …𝑎1𝑎2 … 𝑎𝑛𝑏1𝑏2 … 𝑏𝑛𝑐1𝑐2 … 𝑐𝑛 …

Если при приёме слова 𝒃 «запоздать» на 𝑖 тактов, то мы примем слово

𝑏𝑖+1 … 𝑏𝑛𝑐1 … 𝑐𝑖

а если «забежать вперёд» на 𝑖 тактов, примем𝑎𝑛−𝑖+1 … 𝑎𝑛𝑏1 … 𝑏𝑛−𝑖

Код обладает свободой от запятой степени 𝑟, если для любых кодовых слов 𝒂, 𝒃, 𝒄 и любого 𝑖 ≤ 𝑟 коду не принадлежат слова 𝑏𝑖+1 … 𝑏𝑛𝑐1 … 𝑐𝑖 и 𝑎𝑛−𝑖+1 … 𝑎𝑛𝑏1 … 𝑏𝑛−𝑖.

Свобода от запятой

Код обладает свободой от запятой степени 𝑟, если для любых кодовых слов 𝒂, 𝒃, 𝒄 и любого 𝑖 ≤ 𝑟 коду не принадлежат слова 𝑏𝑖+1 … 𝑏𝑛𝑐1 … 𝑐𝑖 и 𝑎𝑛−𝑖+1 … 𝑎𝑛𝑏1 … 𝑏𝑛−𝑖.

Если 𝑟 ≥ 𝑛

2, то считаем, что 𝑟 = ∞, а код называется кодом без

запятой.

Если 𝑟 < ∞, то при приёме можно (перебором) исправить синхросдвиг на ≤ 𝑟

2символов.

Если 𝑟 = ∞, то может быть исправлен любой синхросдвиг.

Свобода от запятой

Код обладает свободой от запятой степени 𝑟, если для любых кодовых слов 𝒂, 𝒃, 𝒄 и любого 𝑖 ≤ 𝑟 коду не принадлежат слова 𝑏𝑖+1 … 𝑏𝑛𝑐1 … 𝑐𝑖 и 𝑎𝑛−𝑖+1 … 𝑎𝑛𝑏1 … 𝑏𝑛−𝑖.

• Циклические коды — не годятся

• Зато смежные классы циклических кодов — вполне!

Смежные классы линейных кодов

Пусть 𝐶 ⊆ 𝔽𝑛 — линейный код.

Его смежный класс — это множество вида 𝐶 + 𝒂 ≔ 𝒄 + 𝒂 ∣ 𝒄 ∈ 𝐶

Заметьте: при 𝒂 ∉ 𝐶 такой код не линейный!

Для циклического кода с порождающим многочленом 𝑔 смежный класс имеет вид

𝑓 ⋅ 𝑔 + 𝑠 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥𝑛 − 1

для некоторого 𝑠 ∈ 𝔽 𝑥 𝑥𝑛 − 1 .

Смежные классы циклических кодов

Для циклического кода с порождающим многочленом 𝑔 смежный класс имеет вид

𝑓 ⋅ 𝑔 + 𝑠 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥𝑛 − 1

для некоторого 𝑠 ∈ 𝔽 𝑥 𝑥𝑛 − 1 .

Теорема.При 𝑠 ≡ 1 степень свободы от запятой смежного класса циклического кода равна

deg 𝑔 − 1

при 𝑛 ≥ 2 deg 𝑔, и равна ∞ при 𝑛 < 2 deg 𝑔.(Подробно обоснуем только нижнюю оценку.)

Смежные классы циклических кодов

Пусть передавались слова 𝒂, 𝒃 ∈ 𝐶.

Если при приёме слова 𝒂 произошло запаздывание на 𝑖 тактов, то будет принято слово, которому отвечает многочлен

𝑥−𝑖 ⋅ 𝑓𝒂 − 𝑡1 + 𝑥𝑛−𝑖 ⋅ 𝑡2,где 𝑡1 и 𝑡2 — многочлены, образованные 𝑖 первыми координатами слов 𝒂 и 𝒃 соответственно, а 𝑓𝒂 — многочлен, отвечающий слову 𝒂.

Смежные классы циклических кодов

В кольце 𝔽 𝑥 𝑥𝑛 − 1 имеем𝑥−𝑖 ⋅ 𝑓𝒂 − 𝑡1 + 𝑥𝑛−𝑖 ⋅ 𝑡2 = 𝑥𝑛−𝑖 ⋅ 𝑓𝒂 − 𝑡1 + 𝑡2

Аналогично, если при приёме слова 𝒃 произошло «забеганиевперёд», то будет принято слово 𝑥𝑖 ⋅ 𝑓𝒃 + 𝑡3 − 𝑡4 , где 𝑡3 и 𝑡4 —многочлены, образованные 𝑖 старшими разрядами слова 𝒂 и 𝑖младшими разрядами 𝒃 соответственно. При этом

deg 𝑡1 , deg 𝑡2 , deg 𝑡3 , deg 𝑡4 < 𝑖

Смежные классы циклических кодов

Итак, в случае рассинхронизации принятое слово будет иметь вид

𝑥𝑛−𝑖 ⋅ 𝑓 + Δ или 𝑥𝑖 ⋅ 𝑓 + Δ,

где 𝑓 ∈ 𝐶 и deg Δ < 𝑖.

Нужно, чтобы 𝑥𝑛−𝑖 ⋅ 𝑓 + Δ ∉ 𝐶 и 𝑥𝑖 ⋅ 𝑓 + Δ ∉ 𝐶 при 0 < 𝑖 ≤ 𝑟.

Смежные классы циклических кодов

Пусть 𝐶 — смежный класс ц.к. вида𝑓 ⋅ 𝑔 + 1 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥𝑛 − 1

Нужно, чтобы для любых 𝑓1, 𝑓2, Δ, 𝑖, таких, что deg Δ < 𝑖 и 0 < 𝑖 ≤ 𝑟в кольце 𝔽 𝑥 𝑥𝑛 − 1 было выполнено

𝑓1 ⋅ 𝑔 + 1 ≠ 𝑥𝑛−𝑖 ⋅ 𝑓2 ⋅ 𝑔 + 1 + Δ𝑓1 ⋅ 𝑔 + 1 ≠ 𝑥𝑖 ⋅ 𝑓2 ⋅ 𝑔 + 1 + Δ

Это равносильно тому, что для любых 𝑓, Δ, 𝑖𝑓 ⋅ 𝑔 ≠ 𝑥𝑖 + Δ − 1

Смежные классы циклических кодов

Пусть 𝐶 — смежный класс ц.к. вида𝑓 ⋅ 𝑔 + 1 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥𝑛 − 1

Нужно, чтобы для любых 𝑓, Δ, 𝑖, таких, что deg Δ < 𝑖 и 0 < 𝑖 ≤ 𝑟в кольце 𝔽 𝑥 𝑥𝑛 − 1 было выполнено

𝑓 ⋅ 𝑔 ≠ 𝑥𝑖 + Δ − 1

Имеем 𝑥𝑖 + Δ − 1 ≢ 0 при любом 𝑖 > 0.

Т.к. deg 𝑥𝑖 + Δ − 1 = 𝑖 ≤ 𝑟, то достаточно, чтобы deg 𝑔 > 𝑟.

Это и требовалось доказать.

Циклическое представлениекодов Хемминга

Пусть 𝜆 — примитивный элемент поля 𝔽2𝑚.

Пусть 𝑔 — минимальный многочлен для 𝜆, и 𝐶 ⊂ 𝔽22𝑚−1 — код,

порождённый 𝑔.

Любой кодовый многочлен 𝑓 ∈ 𝐶 имеет корень, равный 𝜆. Поэтому кодовые вектора 𝑐0, … , 𝑐2𝑚−2 удовлетворяют соотношению

𝑐0 + 𝑐1𝜆 + 𝑐2𝜆2 + ⋯ + 𝑐2𝑚−2𝜆2𝑚−2 = 0

Циклическое представление кодов Хемминга

Кодовые вектора 𝑐0, … , 𝑐2𝑚−2 удовлетворяют соотношению

𝑐0 + 𝑐1𝜆 + 𝑐2𝜆2 + ⋯ + 𝑐2𝑚−2𝜆2𝑚−2 = 0

Так как 𝜆0, 𝜆1, … , 𝜆2𝑚−2 = 𝔽2𝑚 ∖ 0 , и так как каждому элементу

𝔽2𝑚 отвечает вектор из 𝔽2𝑚, то проверочная матрица кода равна

𝑣𝜆0 , 𝑣𝜆1 , … , 𝑣𝜆2𝑚−2 ∈ 𝔽2

𝑚× 2𝑚−1

где 𝑣𝜆𝑖 — вектор, отвечающий 𝜆𝑖.

Столбцы матрицы — все ненулевые вектора 𝔽2𝑚.

Циклическое представление кодов Хемминга

Утверждение.Двоичный код Хемминга с параметрами 2𝑚 − 1, 2𝑚 − 1 − 𝑚, 3эквивалентен циклическому коду, порождённому минимальным многочленом примитивного элемента 𝔽2𝑚.

Коды Голея

М. Голей (M. J. E. Golay) предложил два кода, позже было замечено, что они циклические:

• 23,12,7 -код с порождающим многочленом1 + 𝑥 + 𝑥5 + 𝑥6 + 𝑥7 + 𝑥9 + 𝑥11

• 11,6,5 3-код с порождающим многочленом2 + 𝑥2 + 2𝑥3 + 𝑥4 + 𝑥5

Расширенные коды Голея:

• 23,12,7 -код → 24,12,8 -код

• 11,6,5 3-код → 12,6,6 3-код

Совершенные коды

Граница Хемминга (сферической упаковки).Для любого 𝑛, 𝑀, 𝑑 𝑞-кода имеем

𝑀 ≤𝑞𝑛

𝑆 𝑑−1 2 𝟎

Для любого линейного 𝑛, 𝑘, 𝑑 𝑞-кода𝑆 𝑑−1 2 𝟎 ≤ 𝑞𝑛−𝑘

Коды, достигающие эту границу, — совершенные.

𝒂1

𝒂2

𝒂𝑀⋯

Совершенные коды

𝑆 𝑑−1 2 𝟎 = 𝑞𝑛−𝑘

Утверждение.Коды Голея и Хемминга — совершенные.

Доказательство:

• Для 23,12,7 -кода Голея: 𝑖=03 23

𝑖= 223−12

• Для 11,6,5 3-кода Голея: 𝑖=02 𝑛

𝑖⋅ 2𝑖 = 311−6

• Для двоичных кодов Хемминга проверяли ранее. Теперь проверим в общем случае.

Совершенные коды

Проверочная матрица 𝑞-ичного кода Хемминга содержит все линейно независимые столбцы высоты 𝑚.

Получается 𝑛 = 𝑞𝑚−1

𝑞−1, 𝑘 = 𝑛 − 𝑚, 3

𝑞-код.

Проверяем соотношение 𝑆 𝑑−1 2 𝟎 = 𝑞𝑛−𝑘:

𝑆1 𝟎 = 1 + 𝑛 𝑞 − 1 = 𝑞𝑚 = 𝑞𝑛−𝑘

Тривиальные совершенные коды

• 𝑛, 1, 𝑛 𝑞-код (состоит из одного слова)

• 𝑛, 2, 𝑛 2-код (пара слов-антиподов) при нечётных 𝑛

Совершенные коды

Теорема. (В. А. Зиновьев, В. К. Леонтьев ’1972, A. Tietäväinen ’1973,

J. H. van Lint ’1971, M. R. Best ’1983, Y. Hong ’1983, V. Pless ’1968) — Б/д.

• Нетривиальных совершенных кодов с расстоянием > 7 не существует.

• Единственным с точностью до эквивалентности совершенным кодом

с расстоянием 7 является 23,12,7 -код Голея.

• Любой нетривиальный код над алфавитом мощности 𝑞 = 𝑝𝑚

с расстоянием ≤ 5 либо эквивалентен 11,6,5 3-коду Голея,

либо имеет те же длину, число слов и кодовое расстояние,

что и 𝑞𝑡−1

𝑞−1, 𝑞𝑡−1

𝑞−1− 𝑡, 3

𝑞-код Хемминга.

Совершенные коды

Следствие теоремы:Для любого совершенного кода над 𝔽𝑞 существует линейный код с той же длиной слов, числом слов и кодовым расстоянием.

Нерешённая проблема:Существуют ли совершенные коды над алфавитами мощности ≠ 𝑝𝑚?

Совершенные коды

Теорема. (Ю. Л. Васильев ’1962, обобщения: J. Schonheim ’1968, B. Lindstrom ‘1969)Для любого 𝑞 = 𝑝𝑚 существуют совершенные коды с расстоянием 3, не эквивалентные линейным кодам.

Докажем только для случая 𝑞 = 2:

При любом 𝑚 существует нелинейный 2𝑚 − 1, 22𝑚−𝑚−1, 3 -код.

Совершенные коды

Лемма. (Конструкция Васильева)Пусть 𝐶′, 𝐶′′ ⊆ 𝔽2

𝑛 — коды с расстояниями 𝑑′ и 𝑑′′, причём 𝑑′

нечётно. Положим 𝜋 𝒂 ≔ 𝑖 𝑎𝑖.

Для произвольного 𝛾: 𝐶′′ → 𝔽2 рассмотрим код

𝐶 ≔ 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′ , где 𝒄′ ∈ 𝐶′, 𝒄′′ ∈ 𝐶′′

Тогда 𝐶 является 2𝑛 + 1, 𝐶′ ⋅ 𝐶′′ , 𝑑 -кодом, где𝑑 ≥ min 2𝑑′ + 1, 𝑑′′

Доказательство:Нетривиальна только оценка 𝑑 𝐶 .(Похоже на конструкцию Плоткина.)

Доказательство леммы Васильева

Возьмём пару различных слов кода 𝐶:

𝒂 = 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′

𝒂 = 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′

Рассматриваем случаи:

• 𝒄′ ≠ 𝒄′ и 𝒄′′ = 𝒄′′. Если 𝑑 𝒄′, 𝒄′ = 𝑑′, то 𝜋 𝒄′ ≠ 𝜋 𝒄′ и следовательно

𝑑 𝒂, 𝒂 = 2𝑑′ + 1.Если 𝑑 𝒄′, 𝒄′ > 𝑑′, то

𝑑 𝒂, 𝒂 > 2𝑑′.

Доказательство леммы Васильева

Возьмём пару различных слов кода 𝐶:

𝒂 = 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′

𝒂 = 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′

Рассматриваем случаи:

• 𝒄′ = 𝒄′ и 𝒄′′ ≠ 𝒄′′. Тогда, очевидно, 𝑑 𝒂, 𝒂 ≥ 𝑑 𝒄′′, 𝒄′′ ≥ 𝑑′′.

Доказательство леммы Васильева

𝒂 = 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′

𝒂 = 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′

Остался случай 𝒄′ ≠ 𝒄′ и 𝒄′′ ≠ 𝒄′′:Пусть 𝒄′ и 𝒄′ отличаются на множестве позиций 𝐷1, а 𝒄′′ и 𝒄′′ отличаются на множестве позиций 𝐷2.

Тогда 𝒄′ + 𝒄′′ и 𝒄′ + 𝒄′′ отличаются по крайней мере на множестве 𝐷2 ∖ 𝐷1.

Следовательно𝑑 𝒂, 𝒂 ≥ 𝐷1 + 𝐷2 ∖ 𝐷1 ≥ 𝐷2 ≥ 𝑑′′

Теорема Васильева

Следствие из леммы Васильева.Пусть 𝐶′′ ⊆ 𝔽2

𝑛 — код с расстоянием 3.

Для произвольного отображения 𝛾: 𝐶′′ → 𝔽2 код

𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′ , где 𝒄′ ∈ 𝔽2𝑛, 𝒄′′ ∈ 𝐶′′

является 2𝑛 + 1, 2𝑛 ⋅ 𝐶′′ , 3 -кодом.

Доказательство: применяем Лемму с 𝐶′ ≔ 𝔽2𝑛.

Замечание: если отображения 𝛾 и 𝛾 + 1 нелинейны, то получаемый код не эквивалентен никакому линейному.

Теорема Васильева

Следствие из леммы Васильева.Если существует 𝑛, 𝑀, 3 -код, то существует 2𝑛 + 1, 2𝑛 ⋅ 𝑀, 3 -код, не эквивалентный никакому линейному.

Теорема.Для любого 𝑚 ≥ 2 существует совершенный

2𝑚 − 1, 22𝑚−𝑚−1, 3 -код, не эквивалентный никакому линейному.

Доказательство:

Заметим, что при каждом 𝑚 ≥ 2 есть 2𝑚−1 − 1, 22𝑚−1−𝑚, 3 -код

Хемминга, и применим Следствие с 𝑛 ≔ 2𝑚−1 − 1 и 𝑀 ≔ 22𝑚−1−𝑚.

Линейные коды не всегда лучшие

Теорема. (F. P. Preparata ’1968, J.-M. Goethals and S. L. Snover ’1972)

• Для ∀𝑚 ≥ 2 существует 4𝑚, 24𝑚−4𝑚, 6 -код.

• Любой линейный код длины 4𝑚 с расстоянием 6 имеет меньшую мощность.

Коды с параметрами 4𝑚, 24𝑚−4𝑚, 6 называют кодами

Препа́раты.

Recommended