Коды Рида—Соломона. Алгоритм декодирования Берлекэмпа—Велча.
Коды Рида—Маллера: кодовое расстояние, алгоритм мажоритарного декодирования.
Варианты обобщений конструкции Рида—Маллера. Лемма Липтона—ДеМилло—Шварца—Зиппеля. Понятие об алгеброгеометрических кодах.
Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.Alex DainiakЗадача исправления и обнаружения ошибок. Геометрическая интерпретация. Типы ошибок. Метрики Хемминга и Левенштейна. Кодовое расстояние. Основные задачи теории кодов, исправляющих ошибки.
Коды Варшамова—Тененгольца, алгоритмы исправления одиночных ошибок выпадения и вставки символов.
Простейшие границы для параметров кодов, исправляющих ошибки замещения: границы сферической упаковки, Синглтона.
Линейные кодыAlex DainiakЛинейные коды. Определения. Порождающая и проверочная матрицы. Связь кодового расстояния с проверочной матрицей. Граница Варшамова—Гилберта. Систематическое кодирование. Декодирование по синдрому. Коды Хемминга.
Остаточный код. Граница Грайсмера—Соломона—Штиффлера.
Циклические коды БЧХ, Хемминга. Восстановление синхронизацииAlex DainiakКоды БЧХ.
Задача восстановления синхронизации. Восстановление синхронизации для смежных классов циклических кодов.
Циклическое представление кодов Хемминга. Совершенные коды. Коды Голея. Теорема Васильева.
Циклические коды. Граница БЧХAlex DainiakЦиклические коды. Проверочный и порождающий многочлены, критерий существования кода с заданным порождающим многочленом. Вид порождающей и проверочной матриц. Систематическое кодирование.
Граница Боуза—Чоудхури—Хоквингема.
Границы Плоткина и Элайеса—БассалыгоAlex DainiakГраница Плоткина.
Вложение метрических пространств. Лемма о числе векторов в евклидовом пространстве. Граница Элайеса—Бассалыго.
Коды Адамара. Каскадные коды Форни.Alex DainiakМатрицы Адамара. Конструкции Сильвестра и Пэли. Коды на основе матриц Адамара.
Каскадные коды. Коды Форни: конструкция и простой алгоритм декодирования.
Приложения теории кодированияAlex DainiakПриложения кодов, исправляющих ошибки. Рандомизированный протокол в коммуникационной сложности. Криптосхема МакЭлиса. Однородные (псевдослучайные) множества на основе кодов, их приложения к дерандомизации задачи выполнимости и к задаче разделения секрета.
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаAlex DainiakСложность задачи декодирования линейных кодов: задача NCP (задачи о ближайшем кодовом слове).
Графы-расширители. Вероятностное доказательство существования расширителей. Коды на основе двудольных графов. Кодовое расстояние кодов на основе расширителей. Алгоритм декодирования Сипсера—Шпильмана.
Основы теории графов 10: экстремальная теория графовAlex DainiakДоказываем теорему Турана, а затем теорему Эрдёша—Стоуна—Симоновица(Шимоновича) о связи хроматического числа подграфа с максимальным числом рёбер в графе, его не содержащего.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
нод. взаимно простые числаparamzina40Определение НОД. Формирование навыка нахождения наибольшего общего делителя. Отработка умений решать задачи на использование НОД чисел.
ТФРВС - весна 2014 - лекция 4Alexey PaznikovЛЕКЦИЯ 4. Расчет показателей надежности ВС для стационарного режима
Пазников Алексей Александрович
к.т.н., ст. преп. Кафедры вычислительных системСибирский государственный университеттелекоммуникаций и информатики
Основы теории графов 11: гамильтоновы циклыAlex DainiakДоказываем достаточные условия существования в графе гамильтоновых циклов: условия Эрдёша—Хватала, Асратяна—Хачатряна, Хватала. Доказываем необходимые условия существования гамильтонова цикла в планарном графе (теорема Гринберга).
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 09: раскраски планарных графов, совершенные графыAlex DainiakРассматриваем раскраски планарных графов и другие темы, связанные с раскрасками. Доказываем теорему Томассена о том, что списочное хроматическое число любого планарного графа не превышает пяти. Доказываем теорему Эрдёша о том, что существуют графы с большим хроматическим числом и одновременно большим обхватом.
Рассматриваем совершенные графы и доказываем слабую гипотезу Бержа.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
More Related Content
Similar to Коды на основе многочленов и алгоритмы их декодирования (20)
Приложения теории кодированияAlex DainiakПриложения кодов, исправляющих ошибки. Рандомизированный протокол в коммуникационной сложности. Криптосхема МакЭлиса. Однородные (псевдослучайные) множества на основе кодов, их приложения к дерандомизации задачи выполнимости и к задаче разделения секрета.
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаAlex DainiakСложность задачи декодирования линейных кодов: задача NCP (задачи о ближайшем кодовом слове).
Графы-расширители. Вероятностное доказательство существования расширителей. Коды на основе двудольных графов. Кодовое расстояние кодов на основе расширителей. Алгоритм декодирования Сипсера—Шпильмана.
Основы теории графов 10: экстремальная теория графовAlex DainiakДоказываем теорему Турана, а затем теорему Эрдёша—Стоуна—Симоновица(Шимоновича) о связи хроматического числа подграфа с максимальным числом рёбер в графе, его не содержащего.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
нод. взаимно простые числаparamzina40Определение НОД. Формирование навыка нахождения наибольшего общего делителя. Отработка умений решать задачи на использование НОД чисел.
ТФРВС - весна 2014 - лекция 4Alexey PaznikovЛЕКЦИЯ 4. Расчет показателей надежности ВС для стационарного режима
Пазников Алексей Александрович
к.т.н., ст. преп. Кафедры вычислительных системСибирский государственный университеттелекоммуникаций и информатики
Основы теории графов 11: гамильтоновы циклы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Графовая модель канала. Шенноновское произведение графов, шенноновская ёмкость. Теорема о верхней оценке шенноновской ёмкости.
3. Коды Рида—Соломона
По условию, 𝑘 ≤ 𝑛 ≤ 𝑞.
𝐶 ≔ 𝑃 𝑡1 , … , 𝑃(𝑡 𝑛) ∣ 𝑃 ∈ 𝔽 𝑞 𝑥 ∧ deg 𝑃 < 𝑘
• У многочлена степени < 𝑘 может быть не более 𝑘 − 1 корней,
поэтому если 𝑃 ≢ 0, то в векторе 𝑃 𝑡1 , … , 𝑃(𝑡 𝑛) не более
𝑘 − 1 нулевых координат.
Отсюда
𝑑 𝐶 = min
𝒂∈𝐶
𝒂≠𝟎
𝒂 = min
𝑃≢0
# 𝑖 ∣ 𝑃 𝑡𝑖 ≠ 0 = 𝑛 − 𝑘 − 1
4. Коды Рида—Соломона
По условию, 𝑘 ≤ 𝑛 ≤ 𝑞.
𝐶 ≔ 𝑃 𝑡1 , … , 𝑃(𝑡 𝑛) ∣ 𝑃 ∈ 𝔽 𝑞 𝑥 ∧ deg 𝑃 < 𝑘
• Вектора 𝑃 𝑡1 , … , 𝑃(𝑡 𝑛) при разных 𝑃 различны: если
выполнено 𝑃1 𝑡1 , … , 𝑃1(𝑡 𝑛) = 𝑃2 𝑡1 , … , 𝑃2(𝑡 𝑛) ,
то у многочлена 𝑃1 − 𝑃2 не менее 𝑛 корней, а т.к. deg( 𝑃1 −
5. Коды Рида—Соломона
Итак, для любых 𝑘 ≤ 𝑛 ≤ 𝑞 множество
𝑃 𝑡1 , … , 𝑃(𝑡 𝑛) ∣ 𝑃 ∈ 𝔽 𝑞 𝑥 ∧ deg 𝑃 < 𝑘
является 𝑛, 𝑘, 𝑑 𝑞-кодом, где 𝑑 = 𝑛 − 𝑘 + 1.
Вспомним границу Синглтона: «для любого 𝑛, 𝑘, 𝑑 𝑞-кода
выполнено 𝑘 ≤ 𝑛 − 𝑑 + 1».
То есть построенный код достигает границы Синглтона!
Недостаток кода: кодовый алфавит нужно брать очень большим,
т.к. 𝑞 ≥ 𝑛.
6. Коды Рида—Соломона: декодирование
Т.к. 𝑑 𝐶 = 𝑛 − 𝑘 + 1, то код может исправлять 𝑛−𝑘
2
ошибок.
Постановка задачи декодирования:
• Дано искажённое кодовое слово кода Р.—С. 𝑝1, … , 𝑝 𝑛 ∈ 𝔽 𝑞
𝑛
• Найти 𝑃 ∈ 𝔽 𝑞 𝑥 , такой, что deg 𝑃 ≤ 𝑘 − 1 и
# 𝑖 ∣ 𝑃 𝑡𝑖 ≠ 𝑝𝑖 ≤ 𝑛−𝑘
2
(нам гарантируется, что такой 𝑃 существует)
Далее приведём алгоритм Берлекэмпа—Велча (E.R. Berlekamp,
L.R. Welch).
8. Коды Рида—Соломона: декодирование
Дано 𝑝1, … , 𝑝 𝑛 ∈ 𝔽 𝑞
𝑛
.
Найти 𝑃: deg 𝑃 < 𝑘 ∧ # 𝑖 ∣ 𝑃 𝑡𝑖 ≠ 𝑝𝑖 ≤ 𝑛 − 𝑘 2
Идея: мы не знаем 𝑃, так что попытаемся найти какие-то многочлены 𝐸
и 𝑈, для которых
• deg 𝐸 = 𝑠 и coef 𝑥 𝑠 𝐸 = 1, где 𝑠 ≤ 𝑛 − 𝑘 2
• deg 𝑈 ≤ 𝑠 + 𝑘 − 1
• Для любого 𝑖 ∈ 1, … , 𝑛 выполнено равенство
𝑈 𝑡𝑖 = 𝐸 𝑡𝑖 ⋅ 𝑝𝑖
Мы знаем, что 𝐸 и 𝑈 точно найдутся. Вопросы:
1) как это сделать эффективно, и
2) что если найденные 𝐸 и 𝑈 не совпадут с нужными нам 𝐸 и 𝑈?
11. Коды Рида—Соломона: декодирование
При любом фиксированном 𝑠 система
𝑝1 𝑡1
𝑠
= −
0≤𝑗≤𝑠−1
𝑝1 𝑡1
𝑗
⋅ 𝑒𝑗 +
0≤𝑗≤𝑘+𝑠−1
𝑡1
𝑗
⋅ 𝑢𝑗
⋮
𝑝 𝑛 𝑡 𝑛
𝑠 = −
0≤𝑗≤𝑠−1
𝑝 𝑛 𝑡 𝑛
𝑗
⋅ 𝑒𝑗 +
0≤𝑗≤𝑘+𝑠−1
𝑡 𝑛
𝑗
⋅ 𝑢𝑗
линейная относительно 𝑒0, … , 𝑒 𝑠−1, 𝑢0, … , 𝑢 𝑠+𝑘−1 ⇒ если у неё есть
решение, находится оно быстро.
Перебирая 𝑠 = 0,1, …, найдём то 𝑠, при котором решение есть
(такое 𝑠 точно существует, так как есть исходные многочлены 𝐸 и 𝑈).
Тем самым найдём 𝐸 и 𝑈.
12. Коды Рида—Соломона: декодирование
Нашли какие-то 𝐸 и 𝑈.
Если бы это были те самые 𝐸 и 𝑈, то мы сразу нашли бы 𝑃 𝑥 = 𝑈 𝑥
𝐸 𝑥
.
Оказывается, и в ином случае 𝑃 будет выражаться так же:
Утверждение.
Если пары 𝐸1, 𝑈1 и 𝐸2, 𝑈2 удовлетворяют системе
• deg 𝐸 = 𝑠 и coef 𝑥 𝑠 𝐸 = 1, где 𝑠 ≤ 𝑛 − 𝑘 2
• deg 𝑈 ≤ 𝑠 + 𝑘 − 1
• ∀𝑖 ∈ 1, … , 𝑛 выполнено 𝑈 𝑡𝑖 = 𝑝𝑖 ⋅ 𝐸 𝑡𝑖
то 𝑈1
𝐸1
≡ 𝑈2
𝐸2
.
14. Коды Рида—Соломона: декодирование
Завершение доказательства леммы:
Мы установили, что
• deg 𝑈1 𝐸2 − 𝐸1 𝑈2 ≤ 𝑛 − 1
• 𝑈1 𝑡𝑖 𝐸2 𝑡𝑖 − 𝐸1 𝑡𝑖 𝑈2 𝑡𝑖 = 0 для 𝑖 = 1, … , 𝑛
Отсюда следует, что
𝑈1 𝑥 𝐸2 𝑥 − 𝐸1 𝑥 𝑈2 𝑥 ≡ 0
а это эквивалентно тождеству
𝑈1
𝐸1
≡
𝑈2
𝐸2
15. Коды Рида—Соломона
Простор для обобщений:
• Рассматривать многочлены не от одной, а от многих переменных
(коды Рида—Маллера и другие)
• Рассматривать не все возможные многочлены, а специально
выбранное их подмножество
(алгеброгеометрические коды)
16. Коды Рида—Маллера (I.S. Reed, D.E. Muller)
Зафиксируем параметры 𝑟, 𝑚 , где 𝑟 ≤ 𝑚.
Полагаем 𝑞 ≔ 2 и берём многочлены от 𝑚 переменных степени ≤ 𝑟.
Базис в пространстве 𝑃 ∈ 𝔽2 𝑥1, … , 𝑥 𝑚 , deg 𝑃 ≤ 𝑟 :
1 ∪
∪ 𝑥1, 𝑥2, … , 𝑥 𝑚 ∪
∪ 𝑥1 𝑥2, 𝑥1 𝑥3, … , 𝑥 𝑚−1 𝑥 𝑚 ∪
⋮
∪ 𝑥𝑖1
𝑥𝑖2
⋯ 𝑥𝑖 𝑟
∣ 1 ≤ 𝑖1, … , 𝑖 𝑟 ≤ 𝑚
Размерность этого пространства равна 𝑘 = 𝑡≤𝑟
𝑚
𝑡
.
17. Коды Рида—Маллера
Рассматриваем значения многочленов во всех точках 𝔽2
𝑚
:
𝐶 ≔ { 𝑃 0 … 00 , 𝑃 0 … 01 , … , 𝑃 1 … 11
где 𝑃 ∈ 𝔽2 𝑥1, … , 𝑥 𝑚 и deg 𝑃 ≤ 𝑟
Получаем 𝑛, 𝑘, 𝑑 -код, где 𝑛 = 2 𝑚 и 𝑘 = 𝑡≤𝑟
𝑚
𝑡
.
Чтобы оценить 𝑑, понадобится доказать лемму:
Лемма.
Если 𝑃 ∈ 𝔽2 𝑥1, … , 𝑥 𝑚 , 𝑃 ≢ 0 и deg 𝑃 ≤ 𝑟, то
# 𝑠1, … , 𝑠 𝑚 ∈ 𝔽2
𝑚
∣ 𝑃 𝑠1, … , 𝑠 𝑚 = 1 ≥ 2 𝑚−𝑟
18. Коды Рида—Маллера: кодовое расстояние
Лемма.
Если 𝑃 ∈ 𝔽2 𝑥1, … , 𝑥 𝑚 , 𝑃 ≢ 0 и deg 𝑃 ≤ 𝑟, то
# 𝑠1, … , 𝑠 𝑚 ∈ 𝔽2
𝑚
∣ 𝑃 𝑠1, … , 𝑠 𝑚 = 1 ≥ 2 𝑚−𝑟
Доказательство: индукция по 𝑚.
База: 𝑚 = 1. Тогда 𝑃 ∈ 1, 𝑥1, 𝑥1 + 1 — очевидно.
Переход: 𝑚 − 1 → 𝑚. Б.о.о. будем считать, что 𝑃 существенно
зависит от 𝑥 𝑚. Распишем
𝑃 𝑥1, … , 𝑥 𝑚 = 𝑃1 𝑥1, … 𝑥 𝑚−1 + 𝑥 𝑚 𝑃2 𝑥1, … 𝑥 𝑚−1
Так как 𝑃2 ≢ 0 и deg 𝑃2 ≤ 𝑟 − 1, то
# 𝑠1, … , 𝑠 𝑚−1 ∣ 𝑃2 𝑠1, … , 𝑠 𝑚−1 = 1 ≥ 2 𝑚−1 − 𝑟−1
19. Коды Рида—Маллера: кодовое расстояние
𝑃 𝑥1, … , 𝑥 𝑚 = 𝑃1 𝑥1, … 𝑥 𝑚−1 + 𝑥 𝑚 𝑃2 𝑥1, … 𝑥 𝑚−1
# 𝑠1, … , 𝑠 𝑚−1 ∣ 𝑃2 𝑠1, … , 𝑠 𝑚−1 = 1 ≥ 2 𝑚−𝑟
Каждый набор 𝑠1, … , 𝑠 𝑚−1 на котором 𝑃2 = 1, можно дополнить
до набора, на котором 𝑃 = 1:
• если 𝑃1 𝑠1, … , 𝑠 𝑚−1 = 0, то возьмём набор 𝑠1, … , 𝑠 𝑚−1, 1 ,
• если 𝑃1 𝑠1, … , 𝑠 𝑚−1 = 1, то возьмём набор 𝑠1, … , 𝑠 𝑚−1, 0 .
Значит, 𝑃 = 1 не менее чем на 2 𝑚−𝑟 наборах.
20. Коды Рида—Маллера:
мажоритарное декодирование
Код Рида—Маллера с параметрами 𝑟, 𝑚 является
2 𝑚
, 𝑡≤𝑟
𝑚
𝑡
, 2 𝑚−𝑟
-кодом.
Значит, он может исправлять вплоть до 2 𝑚−𝑟−1 − 1 ошибок, и это можно
делать очень быстро многоэтапным голосованием (этот способ
декодирования также называют мажоритарным).
Постановка задачи:
• В векторе из кода Р.—М. (т.е. векторе значений многочлена степени ≤ 𝑟)
изменяются менее 2 𝑚−𝑟−1 координат (т.е. значение многочлена искажается
менее чем в стольких точках)
• Нужно восстановить по искажённому вектору значений исходный вектор
значений (т.е. исходный многочлен)
21. Коды Рида—Маллера:
мажоритарное декодирование
Кодовое слово — это значения многочлена, выразимого линейной
комбинацией в базисе
1 ∪ 𝑥1, 𝑥2, … , 𝑥 𝑚 ∪ ⋯ ∪ 𝑥𝑖1
𝑥𝑖2
⋯ 𝑥𝑖 𝑟
∣ 1 ≤ 𝑖1, … , 𝑖 𝑟 ≤ 𝑚
Восстановить кодовое слово — это то же, что найти коэффициенты
этой линейной комбинации.
22. Лемма о старшем коэффициенте
многочленов над 𝔽2
Лемма.
Для любого 𝑃 ∈ 𝔽2 𝑥1, … , 𝑥 𝑟 справедлива формула
coef 𝑥1⋅…⋅𝑥 𝑟
𝑃 =
𝛼1,…,𝛼 𝑟∈𝔽2
𝑃 𝛼1, … , 𝛼 𝑟
Доказательство:
Многочлен 𝑃 можно представить в виде
𝑃 = 𝑐 ⋅ 𝑥1 … 𝑥 𝑟 + 𝑃1 + ⋯ + 𝑃𝑟
где в 𝑃𝑖 не входит 𝑥𝑖. Получаем
𝛼1,…,𝛼 𝑟∈𝔽2
𝑃 𝛼1, … , 𝛼 𝑟 =
𝛼1,…,𝛼 𝑟∈𝔽2
𝑐 ⋅ 𝛼1 … 𝛼 𝑟
=𝑐
+
1≤𝑖≤𝑟 𝛼1,…,𝛼 𝑟∈𝔽2
𝑃𝑖 𝛼1, … , 𝛼 𝑟
=0
23. Лемма о старшем коэффициенте
многочленов над 𝔽2
𝛼1,…,𝛼 𝑟∈𝔽2
𝑃𝑖 𝛼1, … , 𝛼 𝑟 =
𝛼1,…𝛼 𝑖−1,𝛼 𝑖+1,…,𝛼 𝑟∈𝔽2
𝑃𝑖 𝛼1, … 𝛼𝑖−1, 0, 𝛼𝑖+1, … , 𝛼 𝑟
+𝑃𝑖 𝛼1, … 𝛼𝑖−1, 1, 𝛼𝑖+1, … , 𝛼 𝑟
Но т.к. в слагаемые 𝑃𝑖 переменная 𝑥𝑖 не входит, то
𝑃𝑖 𝛼1, … 𝛼𝑖−1, 0, 𝛼𝑖+1, … , 𝛼 𝑟 = 𝑃𝑖 𝛼1, … 𝛼𝑖−1, 1, 𝛼𝑖+1, … , 𝛼 𝑟
а значит по модулю 2 каждое слагаемое в последней сумме равно нулю.
Лемма доказана.
25. Коды Рида—Маллера:
мажоритарное декодирование
Для любых 𝛽1, … , 𝛽 𝑚−𝑟 ∈ 𝔽2 мы получили
coef 𝑥1⋅…⋅𝑥 𝑟
𝑃 =
𝛼1,…,𝛼 𝑟∈𝔽2
𝑃 𝛼1, … , 𝛼 𝑟, 𝛽1, … , 𝛽 𝑚−𝑟
Если нам дано кодовое слово с не более чем 2 𝑚−𝑟−1
− 1
ошибками, это означает, что нам для дан некий набор величин
𝑃 𝑡1, … , 𝑡 𝑚 , где 𝑃 𝑡1, … , 𝑡 𝑚 = 𝑃 𝑡1, … , 𝑡 𝑚 для всех 𝑡1, … , 𝑡 𝑚 ∈
𝔽2
𝑚
∖ 𝑇bad, где 𝑇bad ≤ 2 𝑚−𝑟−1
− 1.
Подставим 𝑃 𝑡1, … , 𝑡 𝑚 вместо 𝑃 𝑡1, … , 𝑡 𝑚 в нашу формулу…
26. Коды Рида—Маллера:
мажоритарное декодирование
Для каждого набора 𝛽1, … , 𝛽 𝑚−𝑟 ∈ 𝔽2
𝑚−𝑟
рассмотрим сумму
𝑆 𝛽1,…,𝛽 𝑚−𝑟
≔
𝛼1,…,𝛼 𝑟∈𝔽2
𝑃 𝛼1, … , 𝛼 𝑟, 𝛽1, … , 𝛽 𝑚−𝑟
У сумм 𝑆 𝛽1,…,𝛽 𝑚−𝑟
при разных нет общих слагаемых. Поэтому
𝑆 𝛽1,…,𝛽 𝑚−𝑟
= coef 𝑥1⋅…⋅𝑥 𝑟
𝑃
для всех 𝛽1, … , 𝛽 𝑚−𝑟 ∈ 𝔽2
𝑚−𝑟
, кроме, быть может, 𝑇bad штук.
Всего сумм 2 𝑚−𝑟, и 𝑇bad < 2 𝑚−𝑟−1, а значит большинство этих
сумм равны coef 𝑥1⋅…⋅𝑥 𝑟
𝑃.
27. Коды Рида—Маллера:
мажоритарное декодирование
Итоговый метод определения coef 𝑥1⋅…⋅𝑥 𝑟
𝑃:
• Для каждого 𝛽1, … , 𝛽 𝑚−𝑟 ∈ 𝔽2
𝑚−𝑟
вычисляем соответствующую
сумму 𝑆 𝛽1,…,𝛽 𝑚−𝑟
• Находим coef 𝑥1⋅…⋅𝑥 𝑟
𝑃 голосованием:
т.е. как то значение, которое встречается чаще всего среди
𝑆 𝛽1,…,𝛽 𝑚−𝑟
.
Ясно, что так можно определить любой из коэффициентов
coef 𝑥 𝑖1⋅…⋅𝑥 𝑖 𝑟
𝑃.
35. Лемма Шварца—Зиппеля
Формулировка леммы Шварца—Зиппеля в вероятностных
терминах:
Пусть 𝑃 ∈ 𝔽 𝑥1, … , 𝑥 𝑚 и 𝑃 ≢ 0.
Тогда, если 𝑠1, … , 𝑠 𝑚 выбираются равновероятно и независимо из
некоторого множества мощности 𝑁, то
Pr 𝑃 𝑠1, … , 𝑠 𝑚 = 0 ≤ deg 𝑃
𝑁
36. Пример кода на основе
многочленов от двух переменных
Пусть 𝔽 𝑞 = 𝑡1, … , 𝑡 𝑞 .
Рассмотрим код
𝐶 ≔ 𝑃 𝑡1, 𝑡1 , 𝑃 𝑡1, 𝑡2 … , 𝑃 𝑡 𝑞, 𝑡 𝑞 ∣ 𝑃 𝑥, 𝑦 = 0≤𝑖,𝑗<𝑙 𝛼𝑖𝑗 𝑥 𝑖 𝑦 𝑗
Он является 𝑞2, 𝑙2, 𝑞 𝑞 − 2𝑙 𝑞-кодом (оценка 𝑑 𝐶 по лемме
Шварца—Зиппеля).
Можно также доказать более сильную оценку
𝑑 𝐶 ≥ 𝑞 − 𝑙 2
37. Алгеброгеометрические коды
(коды В.Д. Гоппы)
Код Рида—Соломона выглядит так:
𝑃 𝑡1 , … , 𝑃 𝑡 𝑛 ∣ 𝑃 ∈ 𝔽 𝑞 𝑥 ∧ deg 𝑃 < 𝑘
Идея: многочлен маленькой степени имеет мало нулей.
Как можно улучшить конструкцию:
• Тщательно выбрать множество точек 𝑡1, … , 𝑡 𝑛 ,
в которых вычисляется значение 𝑃
• Брать не всевозможные многочлены ограниченной степени,
а специально выбранное их подмножество.
38. Пример
алгеброгеометрического кода
Идея: в качестве точек 𝑡1, … , 𝑡 𝑛 берём нули некоторого многочлена
𝑃base небольшой степени.
В качестве многочленов, по которым строится 𝐶, берём
многочлены, имеющие мало общих нулей с 𝑃base.
Пример.
Будем работать в 𝔽13, взяв
𝑃𝑏𝑎𝑠𝑒 ≔ 𝑦2 − 2𝑥3 + 2𝑥
Множество нулей этого многочлена:
𝑆 𝑏𝑎𝑠𝑒 = { 0,0 , ±1; 0 , 2; ±5 , 3; ±3 , 4; ±4 ,
6; ±2 , 7; ±3 , 9; ±6 , 10; ±2 , 11; ±1
39. Пример
алгеброгеометрического кода
𝑞 ≔ 13
𝑃𝑏𝑎𝑠𝑒 ≔ 𝑦2 − 2𝑥3 + 2𝑥
𝑛 ≔ 𝑆 𝑏𝑎𝑠𝑒 = 19
Рассмотрим множество многочленов
𝑃 ≔ 𝛼1 + 𝛼2 𝑥 + 𝛼3 𝑥2 + 𝛼4 𝑥3 + 𝛼5 𝑦 + 𝛼6 𝑥𝑦
Лемма.
Если 𝑃 ∈ 𝑃 и 𝑃 ≢ 0, то у многочленов 𝑃 и 𝑃base не больше шести общих нулей.
Следствие.
Множество 𝐶 ≔ 𝑃 𝑥0, 𝑦0 𝑥0,𝑦0 ∈𝑆base
∣ 𝑃 ∈ 𝑃 является 19,6,13 13-кодом.
40. Пример
алгеброгеометрического кода
𝑞 ≔ 13
𝑃𝑏𝑎𝑠𝑒 ≔ 𝑦2 − 2𝑥3 + 2𝑥
𝑛 ≔ 𝑆 𝑏𝑎𝑠𝑒 = 19
𝑃 ≔ 𝛼1 + 𝛼2 𝑥 + 𝛼3 𝑥2 + 𝛼4 𝑥3 + 𝛼5 𝑦 + 𝛼6 𝑥𝑦
Множество 𝐶 ≔ 𝑃 𝑥0, 𝑦0 𝑥0,𝑦0 ∈𝑆base
∣ 𝑃 ∈ 𝑃 , образует 19,6,13 13-код.
Сравнение с конструкцией Рида—Соломона:
Чтобы с помощью конструкции Р.—С. получить 𝑘 ≥ 6 и 𝑑 ≥ 13, пришлось бы
взять 𝑞 ≥ 𝑛 ≥ 𝑘 + 𝑑 − 1 ≥ 18, и это дало бы 18,6,13 19-код или 19,6,14 19-
код.
Т.е. выгадали бы единицу в длине слов или расстоянии, но проиграли бы в
мощности алфавита в полтора раза.