Коды БЧХ.
Задача восстановления синхронизации. Восстановление синхронизации для смежных классов циклических кодов.
Циклическое представление кодов Хемминга. Совершенные коды. Коды Голея. Теорема Васильева.
Циклические коды. Граница БЧХAlex DainiakЦиклические коды. Проверочный и порождающий многочлены, критерий существования кода с заданным порождающим многочленом. Вид порождающей и проверочной матриц. Систематическое кодирование.
Граница Боуза—Чоудхури—Хоквингема.
Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.Alex DainiakЗадача исправления и обнаружения ошибок. Геометрическая интерпретация. Типы ошибок. Метрики Хемминга и Левенштейна. Кодовое расстояние. Основные задачи теории кодов, исправляющих ошибки.
Коды Варшамова—Тененгольца, алгоритмы исправления одиночных ошибок выпадения и вставки символов.
Простейшие границы для параметров кодов, исправляющих ошибки замещения: границы сферической упаковки, Синглтона.
Коды на основе многочленов и алгоритмы их декодированияAlex DainiakКоды Рида—Соломона. Алгоритм декодирования Берлекэмпа—Велча.
Коды Рида—Маллера: кодовое расстояние, алгоритм мажоритарного декодирования.
Варианты обобщений конструкции Рида—Маллера. Лемма Липтона—ДеМилло—Шварца—Зиппеля. Понятие об алгеброгеометрических кодах.
Линейные кодыAlex DainiakЛинейные коды. Определения. Порождающая и проверочная матрицы. Связь кодового расстояния с проверочной матрицей. Граница Варшамова—Гилберта. Систематическое кодирование. Декодирование по синдрому. Коды Хемминга.
Остаточный код. Граница Грайсмера—Соломона—Штиффлера.
Границы Плоткина и Элайеса—БассалыгоAlex DainiakГраница Плоткина.
Вложение метрических пространств. Лемма о числе векторов в евклидовом пространстве. Граница Элайеса—Бассалыго.
Коды Адамара. Каскадные коды Форни.Alex DainiakМатрицы Адамара. Конструкции Сильвестра и Пэли. Коды на основе матриц Адамара.
Каскадные коды. Коды Форни: конструкция и простой алгоритм декодирования.
Приложения теории кодированияAlex DainiakПриложения кодов, исправляющих ошибки. Рандомизированный протокол в коммуникационной сложности. Криптосхема МакЭлиса. Однородные (псевдослучайные) множества на основе кодов, их приложения к дерандомизации задачи выполнимости и к задаче разделения секрета.
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаAlex DainiakСложность задачи декодирования линейных кодов: задача NCP (задачи о ближайшем кодовом слове).
Графы-расширители. Вероятностное доказательство существования расширителей. Коды на основе двудольных графов. Кодовое расстояние кодов на основе расширителей. Алгоритм декодирования Сипсера—Шпильмана.
Основы теории графов 11: гамильтоновы циклыAlex DainiakДоказываем достаточные условия существования в графе гамильтоновых циклов: условия Эрдёша—Хватала, Асратяна—Хачатряна, Хватала. Доказываем необходимые условия существования гамильтонова цикла в планарном графе (теорема Гринберга).
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 10: экстремальная теория графовAlex DainiakДоказываем теорему Турана, а затем теорему Эрдёша—Стоуна—Симоновица(Шимоновича) о связи хроматического числа подграфа с максимальным числом рёбер в графе, его не содержащего.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
More Related Content
Similar to Циклические коды БЧХ, Хемминга. Восстановление синхронизации (20)
Приложения теории кодированияAlex DainiakПриложения кодов, исправляющих ошибки. Рандомизированный протокол в коммуникационной сложности. Криптосхема МакЭлиса. Однородные (псевдослучайные) множества на основе кодов, их приложения к дерандомизации задачи выполнимости и к задаче разделения секрета.
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаAlex DainiakСложность задачи декодирования линейных кодов: задача NCP (задачи о ближайшем кодовом слове).
Графы-расширители. Вероятностное доказательство существования расширителей. Коды на основе двудольных графов. Кодовое расстояние кодов на основе расширителей. Алгоритм декодирования Сипсера—Шпильмана.
Основы теории графов 11: гамильтоновы циклыAlex DainiakДоказываем достаточные условия существования в графе гамильтоновых циклов: условия Эрдёша—Хватала, Асратяна—Хачатряна, Хватала. Доказываем необходимые условия существования гамильтонова цикла в планарном графе (теорема Гринберга).
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 10: экстремальная теория графовAlex DainiakДоказываем теорему Турана, а затем теорему Эрдёша—Стоуна—Симоновица(Шимоновича) о связи хроматического числа подграфа с максимальным числом рёбер в графе, его не содержащего.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 09: раскраски планарных графов, совершенные графыAlex DainiakРассматриваем раскраски планарных графов и другие темы, связанные с раскрасками. Доказываем теорему Томассена о том, что списочное хроматическое число любого планарного графа не превышает пяти. Доказываем теорему Эрдёша о том, что существуют графы с большим хроматическим числом и одновременно большим обхватом.
Рассматриваем совершенные графы и доказываем слабую гипотезу Бержа.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 08: раскраски и списочные раскраскиAlex DainiakВводим понятие списочной раскраски. Демонстрируем различие между обчным и списочным хроматическим числом. Доказываем теоремы Брукса и Визинга. Доказываем теорему Алона об оценки списочного хроматического числа через минимальную степень вершин. Доказываем верхнюю оценку на списочное хроматическое число через обычное.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 07: сепараторы в планарных графахAlex DainiakДоказываем теорему Липтона—Тарджена о существовании хороших разделяющих множеств (сепараторов) в планарных графах.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 06: триангуляции и трёхсвязные планарные графыAlex DainiakВводим понятие триангуляций. Доказываем, что триангуляции трёхсвязны. Доказываем критерий Татта о том, когда множество образует границу грани в трёхсвязном планарном графе. Доказываем теорему Вагнера—Фари о том, что у любого планарного графа существует укладка, в которой рёбра — отрезки прямых линий.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 05: критерии планарности графовAlex DainiakВводим определение укладки, планарных графов, доказываем критерии планарности Вагнера и Понтрягина—Куратовского.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 04: метрики на деревьяхAlex DainiakДоказываем теорему Зарецкого о существовании дерева с заданными расстояниями между вершинами.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 03: связностьAlex DainiakОбсуждаем два определения k-связности. Доказываем теорему Менгера об их эквавалентности (через теорему Форда—Фалкерсона). Доказываем теоремы о построении 2-связных и 3-связных графов. Вводим деревья блоков и точек сочленения. Доказываем теорему Мадера о существовании k-связного подграфа.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 01: напоминание определений, теорема Форда—ФалкерсонаAlex DainiakВспоминаем определения изоморфизма, связности, соседства и т.п. Доказываем (напоминаем) теорему Форда—Фалкерсона, из которой на следующей лекции выведем теорему Менгера.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 02: факторизация графов (разложение на простые подграфы)Alex DainiakДоказываем теоремы о разложении полных графов на полные двудольные: Грэхема—Поллака и Анселя. Доказываем теорему Татта о критерии существования совершенного паросочетания в произвольном графе.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Конспект лекций по теории кодированияAlex DainiakСобранные в один файл конспекты лекций по теории кодов, исправляющих ошибки. Лекции читаются на факультете ФИВТ МФТИ.
Последняя версия этого файла всегда доступна на www.dainiak.com
Графовая модель канала связи. Шенноновская ёмкостьAlex DainiakГрафовая модель канала. Шенноновское произведение графов, шенноновская ёмкость. Теорема о верхней оценке шенноновской ёмкости.
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
𝑚
.
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𝑑′
.
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 называют кодами
Препа́раты.