ݺߣ

ݺߣShare a Scribd company logo
Теория кодирования
МФТИ, осень 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 𝑚.
Пусть 𝑔 — минимальный многочлен для 𝜆, и 𝐶 ⊂ 𝔽2
2 𝑚−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 -кода Голея: 𝑖=0
3 23
𝑖
= 223−12
• Для 11,6,5 3-кода Голея: 𝑖=0
2 𝑛
𝑖
⋅ 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 называют кодами
Препа́раты.

More Related Content

Similar to Циклические коды БЧХ, Хемминга. Восстановление синхронизации (20)

Приложения теории кодирования
Приложения теории кодированияПриложения теории кодирования
Приложения теории кодирования
Alex Dainiak
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаЗадача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Alex Dainiak
Теорема Алона о нулях и её применения
Теорема Алона о нулях и её примененияТеорема Алона о нулях и её применения
Теорема Алона о нулях и её применения
Alex Dainiak
Use of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureUse of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signature
Andrei Poliakov
Теорема Рамсея, оценки чисел Рамсея
Теорема Рамсея, оценки чисел РамсеяТеорема Рамсея, оценки чисел Рамсея
Теорема Рамсея, оценки чисел Рамсея
Alex Dainiak
лабораторная работа 3
лабораторная работа 3лабораторная работа 3
лабораторная работа 3
Gulnaz Shakirova
Гиперграфы. Покрытия. Жадный алгоритм.
Гиперграфы. Покрытия. Жадный алгоритм.Гиперграфы. Покрытия. Жадный алгоритм.
Гиперграфы. Покрытия. Жадный алгоритм.
Alex Dainiak
Reshenie diofantovyh uravnenij
Reshenie diofantovyh uravnenijReshenie diofantovyh uravnenij
Reshenie diofantovyh uravnenij
dimonz9
Помехоустойчивое кодирование - Циклические коды
Помехоустойчивое кодирование - Циклические кодыПомехоустойчивое кодирование - Циклические коды
Помехоустойчивое кодирование - Циклические коды
nauryzbaevr
Алгоритмы и структуры данных осень 2013 лекция 7
Алгоритмы и структуры данных осень 2013 лекция 7Алгоритмы и структуры данных осень 2013 лекция 7
Алгоритмы и структуры данных осень 2013 лекция 7
Technopark
Советский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисленияСоветский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисления
Positive Hack Days
651650.ppt651650.ppt651650.ppt651650.ppt651650.ppt
651650.ppt651650.ppt651650.ppt651650.ppt651650.ppt651650.ppt651650.ppt651650.ppt651650.ppt651650.ppt
651650.ppt651650.ppt651650.ppt651650.ppt651650.ppt
milanaorucova
Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1
Technopark
20101030 reals and_integers_matiyasevich_ekb_lecture05-06
20101030 reals and_integers_matiyasevich_ekb_lecture05-0620101030 reals and_integers_matiyasevich_ekb_lecture05-06
20101030 reals and_integers_matiyasevich_ekb_lecture05-06
Computer Science Club
Производящие функции
Производящие функцииПроизводящие функции
Производящие функции
Alex Dainiak
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и кодыГригорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Yandex
Приложения теории кодирования
Приложения теории кодированияПриложения теории кодирования
Приложения теории кодирования
Alex Dainiak
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаЗадача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Alex Dainiak
Теорема Алона о нулях и её применения
Теорема Алона о нулях и её примененияТеорема Алона о нулях и её применения
Теорема Алона о нулях и её применения
Alex Dainiak
Use of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureUse of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signature
Andrei Poliakov
Теорема Рамсея, оценки чисел Рамсея
Теорема Рамсея, оценки чисел РамсеяТеорема Рамсея, оценки чисел Рамсея
Теорема Рамсея, оценки чисел Рамсея
Alex Dainiak
лабораторная работа 3
лабораторная работа 3лабораторная работа 3
лабораторная работа 3
Gulnaz Shakirova
Гиперграфы. Покрытия. Жадный алгоритм.
Гиперграфы. Покрытия. Жадный алгоритм.Гиперграфы. Покрытия. Жадный алгоритм.
Гиперграфы. Покрытия. Жадный алгоритм.
Alex Dainiak
Reshenie diofantovyh uravnenij
Reshenie diofantovyh uravnenijReshenie diofantovyh uravnenij
Reshenie diofantovyh uravnenij
dimonz9
Помехоустойчивое кодирование - Циклические коды
Помехоустойчивое кодирование - Циклические кодыПомехоустойчивое кодирование - Циклические коды
Помехоустойчивое кодирование - Циклические коды
nauryzbaevr
Алгоритмы и структуры данных осень 2013 лекция 7
Алгоритмы и структуры данных осень 2013 лекция 7Алгоритмы и структуры данных осень 2013 лекция 7
Алгоритмы и структуры данных осень 2013 лекция 7
Technopark
Советский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисленияСоветский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисления
Positive Hack Days
651650.ppt651650.ppt651650.ppt651650.ppt651650.ppt
651650.ppt651650.ppt651650.ppt651650.ppt651650.ppt651650.ppt651650.ppt651650.ppt651650.ppt651650.ppt
651650.ppt651650.ppt651650.ppt651650.ppt651650.ppt
milanaorucova
Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1
Technopark
20101030 reals and_integers_matiyasevich_ekb_lecture05-06
20101030 reals and_integers_matiyasevich_ekb_lecture05-0620101030 reals and_integers_matiyasevich_ekb_lecture05-06
20101030 reals and_integers_matiyasevich_ekb_lecture05-06
Computer Science Club
Производящие функции
Производящие функцииПроизводящие функции
Производящие функции
Alex Dainiak
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и кодыГригорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Yandex

More from Alex Dainiak (20)

Основы теории графов 11: гамильтоновы циклы
Основы теории графов 11: гамильтоновы циклыОсновы теории графов 11: гамильтоновы циклы
Основы теории графов 11: гамильтоновы циклы
Alex Dainiak
Основы теории графов 10: экстремальная теория графов
Основы теории графов 10: экстремальная теория графовОсновы теории графов 10: экстремальная теория графов
Основы теории графов 10: экстремальная теория графов
Alex Dainiak
Основы теории графов 09: раскраски планарных графов, совершенные графы
Основы теории графов 09: раскраски планарных графов, совершенные графыОсновы теории графов 09: раскраски планарных графов, совершенные графы
Основы теории графов 09: раскраски планарных графов, совершенные графы
Alex Dainiak
Основы теории графов 08: раскраски и списочные раскраски
Основы теории графов 08: раскраски и списочные раскраскиОсновы теории графов 08: раскраски и списочные раскраски
Основы теории графов 08: раскраски и списочные раскраски
Alex Dainiak
Основы теории графов 07: сепараторы в планарных графах
Основы теории графов 07: сепараторы в планарных графахОсновы теории графов 07: сепараторы в планарных графах
Основы теории графов 07: сепараторы в планарных графах
Alex Dainiak
Основы теории графов 06: триангуляции и трёхсвязные планарные графы
Основы теории графов 06: триангуляции и трёхсвязные планарные графыОсновы теории графов 06: триангуляции и трёхсвязные планарные графы
Основы теории графов 06: триангуляции и трёхсвязные планарные графы
Alex Dainiak
Основы теории графов 05: критерии планарности графов
Основы теории графов 05: критерии планарности графовОсновы теории графов 05: критерии планарности графов
Основы теории графов 05: критерии планарности графов
Alex Dainiak
Основы теории графов 04: метрики на деревьях
Основы теории графов 04: метрики на деревьяхОсновы теории графов 04: метрики на деревьях
Основы теории графов 04: метрики на деревьях
Alex Dainiak
Основы теории графов 03: связность
Основы теории графов 03: связностьОсновы теории графов 03: связность
Основы теории графов 03: связность
Alex Dainiak
Основы теории графов 01: напоминание определений, теорема Форда—Фалкерсона
Основы теории графов 01: напоминание определений, теорема Форда—ФалкерсонаОсновы теории графов 01: напоминание определений, теорема Форда—Фалкерсона
Основы теории графов 01: напоминание определений, теорема Форда—Фалкерсона
Alex Dainiak
Основы теории графов 02: факторизация графов (разложение на простые подграфы)
Основы теории графов 02: факторизация графов (разложение на простые подграфы)Основы теории графов 02: факторизация графов (разложение на простые подграфы)
Основы теории графов 02: факторизация графов (разложение на простые подграфы)
Alex Dainiak
Конспект лекций по теории кодирования
Конспект лекций по теории кодированияКонспект лекций по теории кодирования
Конспект лекций по теории кодирования
Alex Dainiak
Графовая модель канала связи. Шенноновская ёмкость
Графовая модель канала связи. Шенноновская ёмкостьГрафовая модель канала связи. Шенноновская ёмкость
Графовая модель канала связи. Шенноновская ёмкость
Alex Dainiak
Визуализация графов: left-right алгоритм распознавания планарности
Визуализация графов: left-right алгоритм распознавания планарностиВизуализация графов: left-right алгоритм распознавания планарности
Визуализация графов: left-right алгоритм распознавания планарности
Alex Dainiak
Визуализация графов: укладки деревьев
Визуализация графов: укладки деревьевВизуализация графов: укладки деревьев
Визуализация графов: укладки деревьев
Alex Dainiak
Визуализация графов: теорема Татта о барицентрической укладке
Визуализация графов: теорема Татта о барицентрической укладкеВизуализация графов: теорема Татта о барицентрической укладке
Визуализация графов: теорема Татта о барицентрической укладке
Alex Dainiak
Визуализация графов: история
Визуализация графов: историяВизуализация графов: история
Визуализация графов: история
Alex Dainiak
Визуализация графов: нижние оценки и NP-трудность
Визуализация графов: нижние оценки и NP-трудностьВизуализация графов: нижние оценки и NP-трудность
Визуализация графов: нижние оценки и NP-трудность
Alex Dainiak
Размерность Вапника—Червоненкиса
Размерность Вапника—ЧервоненкисаРазмерность Вапника—Червоненкиса
Размерность Вапника—Червоненкиса
Alex Dainiak
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
Alex Dainiak
Основы теории графов 11: гамильтоновы циклы
Основы теории графов 11: гамильтоновы циклыОсновы теории графов 11: гамильтоновы циклы
Основы теории графов 11: гамильтоновы циклы
Alex Dainiak
Основы теории графов 10: экстремальная теория графов
Основы теории графов 10: экстремальная теория графовОсновы теории графов 10: экстремальная теория графов
Основы теории графов 10: экстремальная теория графов
Alex Dainiak
Основы теории графов 09: раскраски планарных графов, совершенные графы
Основы теории графов 09: раскраски планарных графов, совершенные графыОсновы теории графов 09: раскраски планарных графов, совершенные графы
Основы теории графов 09: раскраски планарных графов, совершенные графы
Alex Dainiak
Основы теории графов 08: раскраски и списочные раскраски
Основы теории графов 08: раскраски и списочные раскраскиОсновы теории графов 08: раскраски и списочные раскраски
Основы теории графов 08: раскраски и списочные раскраски
Alex Dainiak
Основы теории графов 07: сепараторы в планарных графах
Основы теории графов 07: сепараторы в планарных графахОсновы теории графов 07: сепараторы в планарных графах
Основы теории графов 07: сепараторы в планарных графах
Alex Dainiak
Основы теории графов 06: триангуляции и трёхсвязные планарные графы
Основы теории графов 06: триангуляции и трёхсвязные планарные графыОсновы теории графов 06: триангуляции и трёхсвязные планарные графы
Основы теории графов 06: триангуляции и трёхсвязные планарные графы
Alex Dainiak
Основы теории графов 05: критерии планарности графов
Основы теории графов 05: критерии планарности графовОсновы теории графов 05: критерии планарности графов
Основы теории графов 05: критерии планарности графов
Alex Dainiak
Основы теории графов 04: метрики на деревьях
Основы теории графов 04: метрики на деревьяхОсновы теории графов 04: метрики на деревьях
Основы теории графов 04: метрики на деревьях
Alex Dainiak
Основы теории графов 03: связность
Основы теории графов 03: связностьОсновы теории графов 03: связность
Основы теории графов 03: связность
Alex Dainiak
Основы теории графов 01: напоминание определений, теорема Форда—Фалкерсона
Основы теории графов 01: напоминание определений, теорема Форда—ФалкерсонаОсновы теории графов 01: напоминание определений, теорема Форда—Фалкерсона
Основы теории графов 01: напоминание определений, теорема Форда—Фалкерсона
Alex Dainiak
Основы теории графов 02: факторизация графов (разложение на простые подграфы)
Основы теории графов 02: факторизация графов (разложение на простые подграфы)Основы теории графов 02: факторизация графов (разложение на простые подграфы)
Основы теории графов 02: факторизация графов (разложение на простые подграфы)
Alex Dainiak
Конспект лекций по теории кодирования
Конспект лекций по теории кодированияКонспект лекций по теории кодирования
Конспект лекций по теории кодирования
Alex Dainiak
Графовая модель канала связи. Шенноновская ёмкость
Графовая модель канала связи. Шенноновская ёмкостьГрафовая модель канала связи. Шенноновская ёмкость
Графовая модель канала связи. Шенноновская ёмкость
Alex Dainiak
Визуализация графов: left-right алгоритм распознавания планарности
Визуализация графов: left-right алгоритм распознавания планарностиВизуализация графов: left-right алгоритм распознавания планарности
Визуализация графов: left-right алгоритм распознавания планарности
Alex Dainiak
Визуализация графов: укладки деревьев
Визуализация графов: укладки деревьевВизуализация графов: укладки деревьев
Визуализация графов: укладки деревьев
Alex Dainiak
Визуализация графов: теорема Татта о барицентрической укладке
Визуализация графов: теорема Татта о барицентрической укладкеВизуализация графов: теорема Татта о барицентрической укладке
Визуализация графов: теорема Татта о барицентрической укладке
Alex Dainiak
Визуализация графов: история
Визуализация графов: историяВизуализация графов: история
Визуализация графов: история
Alex Dainiak
Визуализация графов: нижние оценки и NP-трудность
Визуализация графов: нижние оценки и NP-трудностьВизуализация графов: нижние оценки и NP-трудность
Визуализация графов: нижние оценки и NP-трудность
Alex Dainiak
Размерность Вапника—Червоненкиса
Размерность Вапника—ЧервоненкисаРазмерность Вапника—Червоненкиса
Размерность Вапника—Червоненкиса
Alex Dainiak
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
Alex Dainiak

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

  • 1. Теория кодирования МФТИ, осень 2013 Александр Дайняк www.dainiak.com
  • 2. Циклический код Циклический код — это линейный код, такой, что для любого кодового слова 𝑎0, 𝑎1 … , 𝑎 𝑛−1 слово 𝑎 𝑛−1, 𝑎0 … , 𝑎 𝑛−2 также является кодовым. Циклический код — это подмножество 𝐶 кольца 𝔽 𝑥 𝑥 𝑛 − 1 , такое, что • 𝑓1, 𝑓2 ∈ 𝐶 ⇒ ∀𝛼, 𝛽 ∈ 𝔽 𝛼𝑓1 + 𝛽𝑓2 ∈ 𝐶 • 𝑓 ∈ 𝐶 ⇒ 𝑥 ⋅ 𝑓 ∈ 𝐶
  • 3. Примитивный элемент Рассмотрим поле 𝔽 𝑞, где 𝑞 = 𝑝 𝑚, 𝑝 простое. Известно, что множество 𝔽 𝑞 ∖ 0 образует циклическую группу по умножению. Каждый образующий элемент этой группы (порядок которого равен 𝑞 − 1 ) называется примитивным элементом поля. Иными словами, примитивный элемент — это такой 𝜆 ∈ 𝔽 𝑞, что 1, 𝜆, 𝜆2, … , 𝜆 𝑞−2 = 𝔽 𝑞 ∖ 0 .
  • 4. Граница Боуза—Чоудхури—Хоквингема Теорема. (A.Hocquenghem’1959, R.C. Bose and D.K. Ray-Chaudhuri’1960) Пусть 𝜆 — примитивный элемент 𝔽 𝑞. Пусть порождающий многочлен 𝑔 кода 𝐶 ⊆ 𝔽 𝑞 𝑛 таков, что в 𝔽 𝑞 среди его корней есть (различные) числа вида 𝜆 𝑏, 𝜆 𝑏+1, … , 𝜆 𝑏+𝛿−2 Тогда 𝑑 𝐶 ≥ 𝛿.
  • 5. Граница Боуза—Чоудхури—Хоквингема Проблема: • Если применять теорему «в лоб», то невозможно доказать, что кодовое расстояние больше мощности кодового алфавита, даже если это и так. Решение: • Код рассмотрим как подмножество в 𝔽 𝑝 𝑛, но при применении границы БЧХ погрузим поле 𝔽 𝑝 в 𝔽 𝑝 𝑚.
  • 6. Факты о полях • При любом простом 𝑝 и любом 𝑚 поле 𝔽 𝑝 можно вложить как подполе в 𝔽 𝑝 𝑚. Обычно поле 𝔽 𝑝 — это поле вычетов 𝔽 𝑝, а 𝔽 𝑝 𝑚 строится как множество многочленов с коэффициентами из ℤ 𝑝, которые складываются и умножаются по модулю некоторого многочлена степени 𝑚, неприводимого над ℤ 𝑝. Тогда вложение 𝔽 𝑝 в 𝔽 𝑝 𝑚 очевидно: элементам 𝔽 𝑝 соответствуют многочлены степени ≤ 0.
  • 7. Факты о полях • Элементам 𝔽 𝑝 𝑚 можно сопоставить вектора из 𝔽 𝑝 𝑚, так, что сумме элементов 𝔽 𝑝 𝑚 соответствует сумма векторов в 𝔽 𝑝 𝑚. Раз 𝔽 𝑝 𝑚 — многочлены с коэффициентами из 𝔽 𝑝 степени ≤ 𝑚, то каждому элементу 𝔽 𝑝 𝑚 сопоставим вектор коэффициентов многочлена.
  • 8. Коды БЧХ Пусть 𝑝 простое. Рассмотрим циклический код 𝐶 ⊆ 𝔽 𝑝 𝑥 𝑥 𝑛 − 1 с порождающим многочленом 𝑔. Коэффициенты 𝑔 берутся из 𝔽 𝑝, но их можно считать одновременно элементами 𝔽 𝑝 𝑚. Рассмотрим код 𝐶 ⊆ 𝔽 𝑝 𝑚 𝑥 𝑥 𝑛 − 1 , порождённый многочленом 𝑔 (если считать, что 𝑔 ∈ 𝔽 𝑝 𝑚 𝑥 𝑥 𝑛 − 1 ). Можно в том же духе считать, что 𝐶 ⊆ 𝐶.
  • 9. Коды БЧХ Коэффициенты 𝑔 берутся из 𝔽 𝑝, но их можно считать одновременно элементами 𝔽 𝑝 𝑚. 𝐶 ⊆ 𝔽 𝑝 𝑚 𝑥 𝑥 𝑛 − 1 порождён 𝑔. Пусть 𝜆 — примитивный элемент 𝔽 𝑝 𝑚, и 𝑔 𝜆 𝑏 = ⋯ = 𝑔 𝜆 𝑏+𝛿−2 = 0 Тогда граница БЧХ гласит: 𝑑 𝐶 ≥ 𝛿. Так как 𝐶 ⊆ 𝐶, то и 𝑑 𝐶 ≥ 𝛿.
  • 10. Коды БЧХ • Подбираем 𝑔 ∈ 𝔽 𝑝 𝑚 𝑥 𝑥 𝑛 − 1 с коэффициентами из 𝔽 𝑝, так, чтобы в 𝔽 𝑝 𝑚 было выполнено 𝑔 𝜆 𝑏 = ⋯ = 𝑔 𝜆 𝑏+𝛿−2 = 0 и 𝑔| 𝑥 𝑛 − 1 . • На основе 𝑔 строим циклический код в 𝔽 𝑝 𝑥 𝑥 𝑛 − 1 , для которого, по построению, выполнено 𝑑 𝐶 ≥ 𝛿. Вопросы: • Существует ли вообще такой 𝑔? • Как оценить dim 𝐶?
  • 11. Минимальный многочлен Хорошие новости (без доказательства): Для любого 𝛼 ∈ 𝔽 𝑝 𝑚 ∖ 0 существует многочлен 𝑓 ∈ 𝔽 𝑝 𝑚 𝑥 ∖ 0 с коэффициентами из 𝔽 𝑝, для которого 𝑓 𝛼 = 0. Если взять такой 𝑓 минимальной степени, то • 𝑓 неприводим над 𝔽 𝑝, • deg 𝑓 ≤ 𝑚, • 𝑓 ∣ 𝑥 𝑝 𝑚−1 − 1 . Такой 𝑓 называется минимальным многочленом элемента 𝛼.
  • 12. Коды БЧХ Следствия из хороших новостей: • Если 𝑛 = 𝑝 𝑚 − 1, то существует 𝑔, такой, что 𝑔 𝜆 𝑏 = ⋯ = 𝑔 𝜆 𝑏+𝛿−2 = 0 и 𝑔| 𝑥 𝑛 − 1 , причём deg 𝑔 ≤ 𝛿 − 1 𝑚. • Такой 𝑔 можно взять как LCM 𝑓 𝜆 𝑏, … , 𝑓 𝜆 𝑏+𝛿−2 где 𝑓 𝜆 𝑏, … , 𝑓 𝜆 𝑏+𝛿−2 — минимальные многочлены соответствующих элементов.
  • 13. Коды БЧХ Окончательный способ построения кода: • Берём 𝑛 ≔ 𝑝 𝑚 − 1 и 𝑔 ≔ LCM 𝑓 𝜆 𝑏, … , 𝑓 𝜆 𝑏+𝛿−2 где 𝑓 𝜆 𝑏, … , 𝑓 𝜆 𝑏+𝛿−2 — минимальные многочлены соответствующих элементов в 𝔽 𝑝 𝑚. • Строим циклический код в 𝔽 𝑝, используя 𝑔 в качестве порождающего многочлена наименьшей возможной степени Получаем код с параметрами 𝑝 𝑚 − 1, 𝑘, 𝑑 𝑝, где • 𝑘 = 𝑛 − deg 𝑔 ≥ 𝑛 − 𝛿 − 1 𝑚 • 𝑑 ≥ 𝛿
  • 14. Задача восстановления синхронизации Пусть по каналу передаются слова … 𝒂, 𝒃, 𝒄 … 𝑎1 𝑎2 … 𝑎 𝑛 𝑏1 𝑏2 … 𝑏 𝑛 𝑐1 𝑐2 … 𝑐 𝑛 … Если в канале выпадают символы, может произойти ошибка синхронизации: 𝑎𝑖+1 𝑎𝑖+2 … 𝑎 𝑛 𝑏1 𝑏2 … 𝑏 𝑛 𝑐1 𝑐2 … 𝑐 𝑛 … и есть шанс неправильно разбить принятую последовательность на слова: 𝑎𝑖+1 … 𝑎 𝑛 𝑏1 … 𝑏𝑖 ∣ 𝑏𝑖+1 … 𝑏 𝑛 𝑐1 … 𝑐𝑖 ∣ 𝑐𝑖+1 … Если при этом такие слова окажутся кодовыми, то мы далеко не сразу обнаружим ошибку!
  • 15. Задача восстановления синхронизации При потере синхронизации имеем разбиение: 𝑎𝑖+1 … 𝑎 𝑛 𝑏1 … 𝑏𝑖 ∣ 𝑏𝑖+1 … 𝑏 𝑛 𝑐1 … 𝑐𝑖 ∣ 𝑐𝑖+1 … Циклические коды очень плохие с точки зрения восстановления синхронизации: если 𝒂 ∈ 𝐶 и в канал передавалось 𝒂𝒂𝒂 … то при потере синхронизации мы обнаружим ошибку только в самом конце приёма.
  • 16. Свобода от запятой Пусть по каналу передаются слова … 𝒂, 𝒃, 𝒄 … 𝑎1 𝑎2 … 𝑎 𝑛 𝑏1 𝑏2 … 𝑏 𝑛 𝑐1 𝑐2 … 𝑐 𝑛 … Если при приёме слова 𝒃 «запоздать» на 𝑖 тактов, то мы примем слово 𝑏𝑖+1 … 𝑏 𝑛 𝑐1 … 𝑐𝑖 а если «забежать вперёд» на 𝑖 тактов, примем 𝑎 𝑛−𝑖+1 … 𝑎 𝑛 𝑏1 … 𝑏 𝑛−𝑖 Код обладает свободой от запятой степени 𝑟, если для любых кодовых слов 𝒂, 𝒃, 𝒄 и любого 𝑖 ≤ 𝑟 коду не принадлежат слова 𝑏𝑖+1 … 𝑏 𝑛 𝑐1 … 𝑐𝑖 и 𝑎 𝑛−𝑖+1 … 𝑎 𝑛 𝑏1 … 𝑏 𝑛−𝑖.
  • 17. Свобода от запятой Код обладает свободой от запятой степени 𝑟, если для любых кодовых слов 𝒂, 𝒃, 𝒄 и любого 𝑖 ≤ 𝑟 коду не принадлежат слова 𝑏𝑖+1 … 𝑏 𝑛 𝑐1 … 𝑐𝑖 и 𝑎 𝑛−𝑖+1 … 𝑎 𝑛 𝑏1 … 𝑏 𝑛−𝑖. Если 𝑟 ≥ 𝑛 2 , то считаем, что 𝑟 = ∞, а код называется кодом без запятой. Если 𝑟 < ∞, то при приёме можно (перебором) исправить синхросдвиг на ≤ 𝑟 2 символов. Если 𝑟 = ∞, то может быть исправлен любой синхросдвиг.
  • 18. Свобода от запятой Код обладает свободой от запятой степени 𝑟, если для любых кодовых слов 𝒂, 𝒃, 𝒄 и любого 𝑖 ≤ 𝑟 коду не принадлежат слова 𝑏𝑖+1 … 𝑏 𝑛 𝑐1 … 𝑐𝑖 и 𝑎 𝑛−𝑖+1 … 𝑎 𝑛 𝑏1 … 𝑏 𝑛−𝑖. • Циклические коды — не годятся • Зато смежные классы циклических кодов — вполне!
  • 19. Смежные классы линейных кодов Пусть 𝐶 ⊆ 𝔽 𝑛 — линейный код. Его смежный класс — это множество вида 𝐶 + 𝒂 ≔ 𝒄 + 𝒂 ∣ 𝒄 ∈ 𝐶 Заметьте: при 𝒂 ∉ 𝐶 такой код не линейный! Для циклического кода с порождающим многочленом 𝑔 смежный класс имеет вид 𝑓 ⋅ 𝑔 + 𝑠 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥 𝑛 − 1 для некоторого 𝑠 ∈ 𝔽 𝑥 𝑥 𝑛 − 1 .
  • 20. Смежные классы циклических кодов Для циклического кода с порождающим многочленом 𝑔 смежный класс имеет вид 𝑓 ⋅ 𝑔 + 𝑠 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥 𝑛 − 1 для некоторого 𝑠 ∈ 𝔽 𝑥 𝑥 𝑛 − 1 . Теорема. При 𝑠 ≡ 1 степень свободы от запятой смежного класса циклического кода равна deg 𝑔 − 1 при 𝑛 ≥ 2 deg 𝑔, и равна ∞ при 𝑛 < 2 deg 𝑔. (Подробно обоснуем только нижнюю оценку.)
  • 21. Смежные классы циклических кодов Пусть передавались слова 𝒂, 𝒃 ∈ 𝐶. Если при приёме слова 𝒂 произошло запаздывание на 𝑖 тактов, то будет принято слово, которому отвечает многочлен 𝑥−𝑖 ⋅ 𝑓𝒂 − 𝑡1 + 𝑥 𝑛−𝑖 ⋅ 𝑡2, где 𝑡1 и 𝑡2 — многочлены, образованные 𝑖 первыми координатами слов 𝒂 и 𝒃 соответственно, а 𝑓𝒂 — многочлен, отвечающий слову 𝒂.
  • 22. Смежные классы циклических кодов В кольце 𝔽 𝑥 𝑥 𝑛 − 1 имеем 𝑥−𝑖 ⋅ 𝑓𝒂 − 𝑡1 + 𝑥 𝑛−𝑖 ⋅ 𝑡2 = 𝑥 𝑛−𝑖 ⋅ 𝑓𝒂 − 𝑡1 + 𝑡2 Аналогично, если при приёме слова 𝒃 произошло «забегание вперёд», то будет принято слово 𝑥 𝑖 ⋅ 𝑓𝒃 + 𝑡3 − 𝑡4 , где 𝑡3 и 𝑡4 — многочлены, образованные 𝑖 старшими разрядами слова 𝒂 и 𝑖 младшими разрядами 𝒃 соответственно. При этом deg 𝑡1 , deg 𝑡2 , deg 𝑡3 , deg 𝑡4 < 𝑖
  • 23. Смежные классы циклических кодов Итак, в случае рассинхронизации принятое слово будет иметь вид 𝑥 𝑛−𝑖 ⋅ 𝑓 + Δ или 𝑥 𝑖 ⋅ 𝑓 + Δ, где 𝑓 ∈ 𝐶 и deg Δ < 𝑖. Нужно, чтобы 𝑥 𝑛−𝑖 ⋅ 𝑓 + Δ ∉ 𝐶 и 𝑥 𝑖 ⋅ 𝑓 + Δ ∉ 𝐶 при 0 < 𝑖 ≤ 𝑟.
  • 24. Смежные классы циклических кодов Пусть 𝐶 — смежный класс ц.к. вида 𝑓 ⋅ 𝑔 + 1 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥 𝑛 − 1 Нужно, чтобы для любых 𝑓1, 𝑓2, Δ, 𝑖, таких, что deg Δ < 𝑖 и 0 < 𝑖 ≤ 𝑟 в кольце 𝔽 𝑥 𝑥 𝑛 − 1 было выполнено 𝑓1 ⋅ 𝑔 + 1 ≠ 𝑥 𝑛−𝑖 ⋅ 𝑓2 ⋅ 𝑔 + 1 + Δ 𝑓1 ⋅ 𝑔 + 1 ≠ 𝑥 𝑖 ⋅ 𝑓2 ⋅ 𝑔 + 1 + Δ Это равносильно тому, что для любых 𝑓, Δ, 𝑖 𝑓 ⋅ 𝑔 ≠ 𝑥 𝑖 + Δ − 1
  • 25. Смежные классы циклических кодов Пусть 𝐶 — смежный класс ц.к. вида 𝑓 ⋅ 𝑔 + 1 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥 𝑛 − 1 Нужно, чтобы для любых 𝑓, Δ, 𝑖, таких, что deg Δ < 𝑖 и 0 < 𝑖 ≤ 𝑟 в кольце 𝔽 𝑥 𝑥 𝑛 − 1 было выполнено 𝑓 ⋅ 𝑔 ≠ 𝑥 𝑖 + Δ − 1 Имеем 𝑥 𝑖 + Δ − 1 ≢ 0 при любом 𝑖 > 0. Т.к. deg 𝑥 𝑖 + Δ − 1 = 𝑖 ≤ 𝑟, то достаточно, чтобы deg 𝑔 > 𝑟. Это и требовалось доказать.
  • 26. Циклическое представление кодов Хемминга Пусть 𝜆 — примитивный элемент поля 𝔽2 𝑚. Пусть 𝑔 — минимальный многочлен для 𝜆, и 𝐶 ⊂ 𝔽2 2 𝑚−1 — код, порождённый 𝑔. Любой кодовый многочлен 𝑓 ∈ 𝐶 имеет корень, равный 𝜆. Поэтому кодовые вектора 𝑐0, … , 𝑐2 𝑚−2 удовлетворяют соотношению 𝑐0 + 𝑐1 𝜆 + 𝑐2 𝜆2 + ⋯ + 𝑐2 𝑚−2 𝜆2 𝑚−2 = 0
  • 27. Циклическое представление кодов Хемминга Кодовые вектора 𝑐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 𝑚 .
  • 28. Циклическое представление кодов Хемминга Утверждение. Двоичный код Хемминга с параметрами 2 𝑚 − 1, 2 𝑚 − 1 − 𝑚, 3 эквивалентен циклическому коду, порождённому минимальным многочленом примитивного элемента 𝔽2 𝑚.
  • 29. Коды Голея М. Голей (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-код
  • 30. Совершенные коды Граница Хемминга (сферической упаковки). Для любого 𝑛, 𝑀, 𝑑 𝑞-кода имеем 𝑀 ≤ 𝑞 𝑛 𝑆 𝑑−1 2 𝟎 Для любого линейного 𝑛, 𝑘, 𝑑 𝑞-кода 𝑆 𝑑−1 2 𝟎 ≤ 𝑞 𝑛−𝑘 Коды, достигающие эту границу, — совершенные. 𝒂1 𝒂2 𝒂 𝑀 ⋯
  • 31. Совершенные коды 𝑆 𝑑−1 2 𝟎 = 𝑞 𝑛−𝑘 Утверждение. Коды Голея и Хемминга — совершенные. Доказательство: • Для 23,12,7 -кода Голея: 𝑖=0 3 23 𝑖 = 223−12 • Для 11,6,5 3-кода Голея: 𝑖=0 2 𝑛 𝑖 ⋅ 2𝑖 = 311−6 • Для двоичных кодов Хемминга проверяли ранее. Теперь проверим в общем случае.
  • 32. Совершенные коды Проверочная матрица 𝑞-ичного кода Хемминга содержит все линейно независимые столбцы высоты 𝑚. Получается 𝑛 = 𝑞 𝑚−1 𝑞−1 , 𝑘 = 𝑛 − 𝑚, 3 𝑞 -код. Проверяем соотношение 𝑆 𝑑−1 2 𝟎 = 𝑞 𝑛−𝑘: 𝑆1 𝟎 = 1 + 𝑛 𝑞 − 1 = 𝑞 𝑚 = 𝑞 𝑛−𝑘
  • 33. Тривиальные совершенные коды • 𝑛, 1, 𝑛 𝑞-код (состоит из одного слова) • 𝑛, 2, 𝑛 2-код (пара слов-антиподов) при нечётных 𝑛
  • 34. Совершенные коды Теорема. (В. А. Зиновьев, В. К. Леонтьев ’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 𝑞 -код Хемминга.
  • 35. Совершенные коды Следствие теоремы: Для любого совершенного кода над 𝔽 𝑞 существует линейный код с той же длиной слов, числом слов и кодовым расстоянием. Нерешённая проблема: Существуют ли совершенные коды над алфавитами мощности ≠ 𝑝 𝑚 ?
  • 36. Совершенные коды Теорема. (Ю. Л. Васильев ’1962, обобщения: J. Schonheim ’1968, B. Lindstrom ‘1969) Для любого 𝑞 = 𝑝 𝑚 существуют совершенные коды с расстоянием 3, не эквивалентные линейным кодам. Докажем только для случая 𝑞 = 2: При любом 𝑚 существует нелинейный 2 𝑚 − 1, 22 𝑚−𝑚−1, 3 -код.
  • 37. Совершенные коды Лемма. (Конструкция Васильева) Пусть 𝐶′, 𝐶′′ ⊆ 𝔽2 𝑛 — коды с расстояниями 𝑑′ и 𝑑′′, причём 𝑑′ нечётно. Положим 𝜋 𝒂 ≔ 𝑖 𝑎𝑖. Для произвольного 𝛾: 𝐶′′ → 𝔽2 рассмотрим код 𝐶 ≔ 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′ , где 𝒄′ ∈ 𝐶′ , 𝒄′′ ∈ 𝐶′′ Тогда 𝐶 является 2𝑛 + 1, 𝐶′ ⋅ 𝐶′′ , 𝑑 -кодом, где 𝑑 ≥ min 2𝑑′ + 1, 𝑑′′ Доказательство: Нетривиальна только оценка 𝑑 𝐶 . (Похоже на конструкцию Плоткина.)
  • 38. Доказательство леммы Васильева Возьмём пару различных слов кода 𝐶: 𝒂 = 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′ 𝒂 = 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′ Рассматриваем случаи: • 𝒄′ ≠ 𝒄′ и 𝒄′′ = 𝒄′′. Если 𝑑 𝒄′, 𝒄′ = 𝑑′, то 𝜋 𝒄′ ≠ 𝜋 𝒄′ и следовательно 𝑑 𝒂, 𝒂 = 2𝑑′ + 1. Если 𝑑 𝒄′, 𝒄′ > 𝑑′, то 𝑑 𝒂, 𝒂 > 2𝑑′ .
  • 39. Доказательство леммы Васильева Возьмём пару различных слов кода 𝐶: 𝒂 = 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′ 𝒂 = 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′ Рассматриваем случаи: • 𝒄′ = 𝒄′ и 𝒄′′ ≠ 𝒄′′. Тогда, очевидно, 𝑑 𝒂, 𝒂 ≥ 𝑑 𝒄′′, 𝒄′′ ≥ 𝑑′′.
  • 40. Доказательство леммы Васильева 𝒂 = 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′ 𝒂 = 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′ Остался случай 𝒄′ ≠ 𝒄′ и 𝒄′′ ≠ 𝒄′′: Пусть 𝒄′ и 𝒄′ отличаются на множестве позиций 𝐷1, а 𝒄′′ и 𝒄′′ отличаются на множестве позиций 𝐷2. Тогда 𝒄′ + 𝒄′′ и 𝒄′ + 𝒄′′ отличаются по крайней мере на множестве 𝐷2 ∖ 𝐷1. Следовательно 𝑑 𝒂, 𝒂 ≥ 𝐷1 + 𝐷2 ∖ 𝐷1 ≥ 𝐷2 ≥ 𝑑′′
  • 41. Теорема Васильева Следствие из леммы Васильева. Пусть 𝐶′′ ⊆ 𝔽2 𝑛 — код с расстоянием 3. Для произвольного отображения 𝛾: 𝐶′′ → 𝔽2 код 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′ , где 𝒄′ ∈ 𝔽2 𝑛 , 𝒄′′ ∈ 𝐶′′ является 2𝑛 + 1, 2 𝑛 ⋅ 𝐶′′ , 3 -кодом. Доказательство: применяем Лемму с 𝐶′ ≔ 𝔽2 𝑛 . Замечание: если отображения 𝛾 и 𝛾 + 1 нелинейны, то получаемый код не эквивалентен никакому линейному.
  • 42. Теорема Васильева Следствие из леммы Васильева. Если существует 𝑛, 𝑀, 3 -код, то существует 2𝑛 + 1, 2 𝑛 ⋅ 𝑀, 3 -код, не эквивалентный никакому линейному. Теорема. Для любого 𝑚 ≥ 2 существует совершенный 2 𝑚 − 1, 22 𝑚−𝑚−1 , 3 -код, не эквивалентный никакому линейному. Доказательство: Заметим, что при каждом 𝑚 ≥ 2 есть 2 𝑚−1 − 1, 22 𝑚−1−𝑚, 3 -код Хемминга, и применим Следствие с 𝑛 ≔ 2 𝑚−1 − 1 и 𝑀 ≔ 22 𝑚−1−𝑚 .
  • 43. Линейные коды не всегда лучшие Теорема. (F. P. Preparata ’1968, J.-M. Goethals and S. L. Snover ’1972) • Для ∀𝑚 ≥ 2 существует 4 𝑚, 24 𝑚−4𝑚, 6 -код. • Любой линейный код длины 4 𝑚 с расстоянием 6 имеет меньшую мощность. Коды с параметрами 4 𝑚, 24 𝑚−4𝑚, 6 называют кодами Препа́раты.