SlideShare a Scribd company logo
Теория кодирования
МФТИ, осень 2013
Александр Дайняк
www.dainiak.com
Матрицы Адамара (J. Hadamard)
Матрица Адамара — это квадратная матрица из −1, 1 𝑛×𝑛,
в которой любые две строки ортогональны.
Примеры:
1 1
1 −1
1 1 1 1
1 1 −1 −1
1 −1 −1 1
1 −1 1 −1
Теорема Адамара
Матрицы Адамара берут начало от следующей теоремы:
Теорема. (J. Hadamard)
Если 𝐴 = 𝑎𝑖𝑗 1≤𝑖,𝑗≤𝑛
∈ ℝ 𝑛×𝑛 и 𝑎𝑖𝑗 ≤ 1 для любых 𝑖, 𝑗, то тогда
det 𝐴 ≤ 𝑛 𝑛 2
Доказательство:
• det 𝐴 — это объём параллелепипеда, построенного на
векторах-строках матрицы 𝐴
• Объём максимален, когда длины сторон максимальны (максимум
равен 𝑛 при 𝑎𝑖𝑗 = 1) и углы между сторонами прямые
(т.е. векторы ортогональны).
Матрицы Адамара
Если 𝐻 — матрица Адамара, то
• Матрица, полученная из 𝐻 перестановками строк/столбцов,
тоже является матрицей Адамара.
• Матрица, полученная из 𝐻 умножением строк/столбцов на −1,
тоже является матрицей Адамара.
Матрицы Адамара, получаемые друг из друга такими
преобразованиями, эквивалентны.
Матрицы Адамара
Любую матрицу Адамара умножением строк/столбцов на −1
можно привести к виду
1 1 ⋯ 1
1
⋮
1
Такая матрица Адамара называется нормализованной.
Порядок матриц Адамара
Утверждение.
Если 𝐻 ∈ −1, 1 𝑛×𝑛 — матрица Адамара, и 𝑛 > 2, то 4|𝑛.
Доказательство:
От матрицы 𝐻 перейдём к эквивалентной матрице, в которой первые три строки
такие:
1 1 ⋯ 1
1 1 ⋯ 1
1 1 ⋯ 1
𝑖
1 1 ⋯ 1
1 1 ⋯ 1
−1 −1 ⋯ −1
𝑗
1 1 ⋯ 1
−1 −1 ⋯ −1
1 1 ⋯ 1
𝑘
1 1 ⋯ 1
−1 −1 ⋯ −1
−1 −1 ⋯ −1
𝑙
Отсюда
𝑖 + 𝑗 + 𝑘 + 𝑙 = 𝑛
𝑖 + 𝑗 − 𝑘 − 𝑙 = 0
𝑖 − 𝑗 − 𝑘 + 𝑙 = 0
𝑖 − 𝑗 + 𝑘 − 𝑙 = 0
Решение этой системы: 𝑖 = 𝑗 = 𝑘 = 𝑙 = 𝑛 4.
Порядок матриц Адамара
Гипотеза Адамара (не доказана).
Матрицы Адамара порядка 𝑛 существуют(?) для всех натуральных 𝑛,
кратных четырём.
Наименьший порядок, для которого пока не доказано
существование матрицы Адамара, равен 668.
Конструкция Сильвестра
Утверждение.
Матрица Адамара порядка 𝑛 существует для любого 𝑛 = 2 𝑘
.
Доказательство: (J.J. Sylvester)
Заметим, что если 𝐻 — матрица Адамара, то матрицей Адамара
будет и такая:
𝐻 𝐻
𝐻 −𝐻
.
Утверждение теперь следует по индукции из того факта, что
1 1
1 −1
— матрица Адамара.
Матрицы Адамара
Теорема. (R.E.A.C. Paley ’1933)
Если 𝑝 простое и 4| 𝑝 𝑚 + 1 , то существует матрица Адамара
порядка 𝑝 𝑚 + 1 .
(Конструкция Пэли на основе квадратичных вычетов.)
Квадратичные вычеты
Элемент 𝑎 ∈ 𝔽 𝑞 ∖ 0 называется квадратичным вычетом, если
𝑎 = 𝑥2
для некоторого 𝑥 ∈ 𝔽 𝑞.
Остальные элементы из 𝔽 𝑞 ∖ 0 называются квадратичными
невычетами.
Например, в ℤ7 элементы 1,2,4 — к.в.,
а 3,5,6 — к.н.
Квадратичные вычеты
Утверждение.
• Если 𝜆 — примитивный элемент 𝔽 𝑞, то элементы вида 𝜆2𝑡
являются к.в., а вида 𝜆2𝑡+1 — к.н.
• Если 𝑞 = 𝑝 𝑚
и 𝑝 > 2, то ровно половина элементов из 𝔽 𝑞 ∖ 0
являются к.в., а половина — к.н.
Везде далее будем предполагать, что 𝑝 > 2.
Символ Лежандра
Символ Лежандра 𝜒 𝑎 определяется так:
𝜒 𝑎 =
0, если 𝑎 = 0
1, если 𝑎 к. в.
−1, если 𝑎 к. н.
Утверждение.
Для любых 𝑎, 𝑏 ∈ 𝔽 𝑞 имеет место равенство
𝜒 𝑎 ⋅ 𝜒 𝑏 = 𝜒 𝑎𝑏
Квадратичные вычеты
Утверждение.
Для любого 𝑐 ∈ 𝔽 𝑞 ∖ 0 имеет место равенство
𝑏∈𝔽 𝑞
𝜒 𝑏 ⋅ 𝜒 𝑏 + 𝑐 = −1
Доказательство:
Т.к. ровно половина элементов 𝔽 𝑞 ∖ 0 квадратичными вычетами,
то 𝑎∈𝔽 𝑞
𝜒 𝑎 = 0.
Также заметим, что
𝑏∈𝔽 𝑞
𝜒 𝑏 ⋅ 𝜒 𝑏 + 𝑐 =
𝑏∈𝔽 𝑞∖ 0
𝜒 𝑏 ⋅ 𝜒 𝑏 + 𝑐
Квадратичные вычеты
С учётом замеченного, получаем
𝑏∈𝔽 𝑞∖ 0
𝜒 𝑏 ⋅ 𝜒 𝑏 + 𝑐 =
𝑏∈𝔽 𝑞∖ 0
𝜒 𝑏 ⋅ 𝜒 𝑏 ⋅ 𝑏−1 𝑏 + 𝑐 =
=
𝑏∈𝔽 𝑞∖ 0
𝜒 𝑏
2
⋅ 𝜒 𝑏−1 𝑏 + 𝑐 =
𝑏∈𝔽 𝑞∖ 0
𝜒 𝑏−1 𝑏 + 𝑐 =
=
𝑏∈𝔽 𝑞∖ 0
𝜒 1 + 𝑏−1
𝑐 =
𝑎∈𝔽 𝑞∖ 1
𝜒 𝑎 =
𝑎∈𝔽 𝑞
𝜒 𝑎 − 𝜒 1 = −1
Матрица Якобшталя (E. Jacobsthal)
Рассмотрим матрицу 𝑡 𝑎,𝑏 𝑎,𝑏∈𝔽 𝑞
∈ −1, 0, 1 𝑞×𝑞, в которой
𝑡 𝑎,𝑏 ≔ 𝜒 𝑎 − 𝑏 .
Скалярное произведение любых двух различных строк 𝑡 𝑎′,𝑏 𝑏∈𝔽 𝑞
и 𝑡 𝑎′′,𝑏 𝑏∈𝔽 𝑞
равно
𝑏∈𝔽 𝑞
𝜒 𝑎′
− 𝑏 ⋅ 𝜒 𝑎′′
− 𝑏 =
𝑏∈𝔽 𝑞
𝜒 𝑏 ⋅ 𝜒 𝑏 + 𝑎′′
− 𝑎′
= −1
«Подправленная» матрица Якобшталя
Рассмотрим матрицу 𝑡 𝑎,𝑏
′
𝑎,𝑏∈𝔽 𝑞
∈ −1, 1 𝑞×𝑞, в которой 𝑡 𝑎,𝑏
′
= 𝜒 𝑎 − 𝑏 , если
𝑎 ≠ 𝑏 и 𝑡 𝑎,𝑏
′
= −1 иначе.
Скалярное произведение различных строк 𝑡 𝑎′,𝑏
′
𝑏∈𝔽 𝑞
и 𝑡 𝑎′′,𝑏
′
𝑏∈𝔽 𝑞
равно
𝑏∈𝔽 𝑞
𝜒 𝑎′
− 𝑏 ⋅ 𝜒 𝑎′′
− 𝑏 − 𝜒 𝑎′
− 𝑎′′
− 𝜒 𝑎′′
− 𝑎′
=
= −1 − 𝜒 𝑎′ − 𝑎′′ − 𝜒 𝑎′′ − 𝑎′
Если −1 является квадратичным невычетом в 𝔽 𝑞, то
𝜒 𝑎′′ − 𝑎′ = 𝜒 −1 ⋅ 𝜒 𝑎′ − 𝑎′′ = −𝜒 𝑎′ − 𝑎′′ ,
и скалярное произведение получается равным −1.
«Подправленная» и «дополненная»
матрица Якобшталя
𝑇′
≔ 𝑡 𝑎,𝑏
′
𝑎,𝑏∈𝔽 𝑞
∈ −1, 1 𝑞×𝑞
,
где 𝑡 𝑎,𝑏
′
= 𝜒 𝑎 − 𝑏 , если 𝑎 ≠ 𝑏, и 𝑡 𝑎,𝑏
′
= −1 иначе.
Если −1 является квадратичным невычетом в 𝔽 𝑞, то скалярное
произведение любых двух строк матрицы 𝑇′ равно −1. Тогда
матрица
1 1 ⋯ 1
1
⋮ 𝑇′
1
является нормализованной матрицей Адамара.
Матрицы Адамара
Утверждение. (Без доказательства)
При 4| 𝑞 + 1 элемент −1 является квадратичным невычетом в 𝔽 𝑞.
Следствие.
Если 𝑝 простое и 4| 𝑝 𝑚
+ 1 , то существует матрица Адамара
порядка 𝑝 𝑚 + 1 .
Коды Адамара
Введены R.C. Bose, S.S. Shrikhande ’1959.
Идея:
В матрице Адамара любые две строки 𝒂, 𝒃 ортогональны. Т.к. 𝑎, 𝑏 ∈
−1, 1 𝑛 , это значит, что ровно половина координат у них
совпадает, а половина противоположны.
Заменяем координаты −1 → 0 и получаем из строк матрицы
двоичный код с большим кодовым расстоянием.
Коды Адамара
Пусть 𝐴 ∈ 0,1 𝑛×𝑛 — матрица, полученная из нормализованной
матрицы Адамара заменой элементов −1 на 0.
• Множество строк матрицы 𝐴 с отброшенной первой координатой
образует двоичный 𝑛 − 1, 𝑛, 𝑛
2
-код
• Множество строк матрицы 𝐴 и их дополнений образует
𝑛, 2𝑛, 𝑛
2
-код
Оптимальность кодов Адамара
Граница Плоткина (в двоичном случае)
Если 𝑁 < 2𝑑, то для любого 𝑁, 𝑀, 𝑑 -кода
𝑀 ≤
2𝑑
2𝑑 − 𝑁
Коды Адамара с параметрами 𝑛 − 1, 𝑛, 𝑛
2
достигают границы
Плоткина, имея максимально число слов при заданных длине
и кодовом расстоянии.
Каскадные коды
(предложены G.D. Forney ’1966)
Пусть
• 𝐶internal — 𝑛, 𝑚, 𝑑 𝑞-код (внутренний код)
• 𝐶external — 𝑁, 𝑀, 𝐷 𝑚-код (внешний код)
Символам алфавита кода 𝐶ext сопоставим слова кода 𝐶int.
Тогда кодовым словам кода 𝐶ext соответствуют слова длины 𝑁𝑛 в
алфавите кода 𝐶int.
Получаем каскадный 𝑁𝑛, 𝑀, 𝑑′
𝑞-код, где 𝑑′
≥ 𝐷𝑑.
Каскадные коды
(линейный двоичный случай)
Пусть
• 𝐶int — 𝑛, 𝑘, 𝑑 -код (внутренний код)
• 𝐶ext — 𝑁, 𝐾, 𝐷 2 𝑘-код (внешний код)
Элементам 𝔽2 𝑘 сопостaвим слова кода 𝐶int, так, чтобы линейная
комбинация элементов 𝔽2 𝑘 соответствовала линейной комбинации
слов кода 𝐶int.
Тогда кодовым словам кода 𝐶ext соответствуют слова длины 𝑁𝑛 в
алфавите кода 𝐶int.
Получаем каскадный 𝑁𝑛, 𝑘𝐾, 𝑑𝐷 -код.
Коды Форни
В качестве внешнего кода удобно взять оптимальный (например,
MDS) код над алфавитом большой (не слишком) мощности.
В качестве внутреннего кода можно взять близкий к оптимальному
код с не очень большим числом кодовых слов.
Сможем получить асимптотически хорошее семейство
линейных кодов, для которых есть полиномиальный алгоритм
декодирования.
Асимптотически хорошие коды
Пусть задано семейство двоичных кодов
𝐶 ≔ 𝐶 𝑛 𝑛=1
∞
Асимптотической скоростью семейства 𝐶 называется величина
rate 𝐶 ≔ lim
𝑛→∞
log2 𝐶 𝑛
𝑛
Асимптотическим относительным кодовым расстоянием
семейства 𝐶 называется величина
𝛿 𝐶 ≔ lim
𝑛→∞
𝑑 𝐶 𝑛
𝑛
Асимптотически хорошие коды
rate 𝐶 ≔ lim
𝑛→∞
log2 𝐶 𝑛
𝑛
𝛿 𝐶 ≔ lim
𝑛→∞
𝑑 𝐶 𝑛
𝑛
Семейство кодов называется асимптотически хорошим, если для
него rate 𝐶 > 0 и 𝛿 𝐶 > 0
До кодов Форни было неизвестно, существуют ли асимптотически
хорошие семейства кодов с полиномиальными алгоритмами
декодирования.
Теорема Варшамова—Гилберта
Теорема. (Р.Р. Варшамов, E.N. Gilbert)
Пусть натуральные числа 𝑛, 𝑘, 𝑑′ таковы, что
𝑗=0
𝑑′−1
𝑛 − 1
𝑗
< 2 𝑛−𝑘
Тогда существует 𝑛, 𝑘, 𝑑 -код, где 𝑑 > 𝑑′
.
Следствие.
Если 𝛿 < 0.5 и 𝜌 таковы, что 𝐻 𝛿 ≤ 1 − 𝜌, то существует
семейство линейных кодов 𝐶, для которого rate 𝐶 ≥ 𝜌 и 𝛿 𝐶 ≥ 𝛿.
Теорема Варшамова—Гилберта
(асимптотическая версия)
Доказательство следствия:
Если 𝑛, 𝑘, 𝑑′ таковы, что 𝐻 𝑑′ 𝑛 ≤ 1 − 𝑘
𝑛
, то
𝑗=0
𝑑′−1
𝑛 − 1
𝑗
< 2 𝑛⋅𝐻 𝑑′ 𝑛 ≤ 2 𝑛−𝑘,
то есть условия теоремы В.—Г. выполнены, и существует линейный
𝑛, 𝑘, 𝑑 -код, где 𝑑 > 𝑑′.
Если 𝐻 𝛿 ≤ 1 − 𝜌, то берём для каждого 𝑛
𝑘 ≔ 𝜌𝑛 , 𝑑′ ≔ 𝛿𝑛 , и получаем требуемое.
Цель
Теорема Варшамова—Гилберта не даёт полиномиальных (по длине
кодовых слов) алгоритмов построения кода и декодирования.
А хочется следующего:
• Для каждого 𝑛 строить порождающую или проверочную матрицу
некоторого линейного кода с длиной слов, размерностью и
кодовым расстоянием Ω 𝑛 . И всё за полиномиальное от 𝑛
время.
• Исправлять Ω 𝑛 ошибок в кодовых словах за полиномиальное от
𝑛 время.
Каскадный код Форни на основе
конструкции В.—Г. и кода Р.—С.
Пусть 𝑡 ∈ ℕ, и пусть 𝛿 < 0.5 — произвольное фиксированное число.
По теореме В.—Г., существует линейный код с параметрами
𝑡
1−𝐻 𝛿
, 𝑡, 𝛿𝑡
1−𝐻 𝛿
Возьмём этот код в качестве внутреннего.
В качестве внешнего возьмём RS-код с параметрами 2 𝑡, 2 𝑡−1, 2 𝑡−1 + 1 2 𝑡.
Получаем каскадный 𝑛, 𝑘, 𝑑 -код, для которого
𝑛 =
𝑡 ⋅ 2 𝑡
1 − 𝐻 𝛿
, 𝑘 =
𝑡 ⋅ 2 𝑡
2
, 𝑑 >
𝛿𝑡 ⋅ 2 𝑡
2 1 − 𝐻 𝛿
Каскадный код Форни на основе
конструкции В.—Г. и кода Р.—С.
Получаем каскадный 𝑛, 𝑘, 𝑑 -код, для которого
𝑛 =
𝑡 ⋅ 2 𝑡
1 − 𝐻 𝛿
, 𝑘 =
𝑡 ⋅ 2 𝑡
2
, 𝑑 >
𝛿𝑡 ⋅ 2 𝑡
2 1 − 𝐻 𝛿
Этот код является асимптотически хорошим, т.к. 𝑑
𝑛
≥ 𝛿
2 1−𝐻 𝛿
> 0 и
𝑘
𝑛
≥ 1
2 1−𝐻 𝛿
> 0.
Каскадный код Форни на основе
конструкции В.—Г. и кода Р.—С.
Получаем каскадный 𝑛, 𝑘, 𝑑 -код, для которого
𝑛 =
𝑡 ⋅ 2 𝑡
1 − 𝐻 𝛿
, 𝑘 =
𝑡 ⋅ 2 𝑡
2
, 𝑑 >
𝛿𝑡 ⋅ 2 𝑡
2 1 − 𝐻 𝛿
Вычислить порождающую матрицу кода можно при каждом 𝑡 за
полиномиальное время, т.к.
• коды Р.—С. строятся за полиномиальное время от своих
параметров,
• проверочная матрица кода в теореме В.—Г. строится хотя и
перебором, но параметры этого кода логарифмичны по 𝑛.
Каскадный код Форни на основе
конструкции В.—Г. и кода Р.—С.
Получаем каскадный 𝑛, 𝑘, 𝑑 -код, для которого
𝑛 =
𝑡 ⋅ 2 𝑡
1 − 𝐻 𝛿
, 𝑘 =
𝑡 ⋅ 2 𝑡
2
, 𝑑 >
𝛿𝑡 ⋅ 2 𝑡
2 1 − 𝐻 𝛿
Существует «почти тривиальный» полиномиальный алгоритм,
декодирующий кодовые слова, принятые с не более чем 𝛿𝑡⋅2 𝑡
8 1−𝐻 𝛿
ошибками.
Тривиальный алгоритм декодирования
кодов Форни
Каждое слово кода Форни имеет вид
𝒄 = 𝒂1 𝒂2 … 𝒂2 𝑡
где 𝒂𝑖 — слова кода В.—Г. длины 𝑡
1−𝐻 𝛿
.
Если в слове 𝒄 произошло ≤ 𝛿𝑡⋅2 𝑡
8 1−𝐻 𝛿
ошибок, и в результате принято слово
𝒄 = 𝒂1 𝒂2 … 𝒂2 𝑡, то слово 𝒄 восстанавливаем в два шага:
• Для каждого 𝒂𝑖 перебором ищем ближайшее к нему слово кода В.—Г.
При этом неверно восстановленных слов может быть не более
𝛿𝑡⋅2 𝑡
8 1−𝐻 𝛿
𝛿𝑡
2 1−𝐻 𝛿
= 2 𝑡−2.
• Кодовое расстояние внешнего кода равно 2 𝑡−1
+ 1 , поэтому даже 2 𝑡−2
ошибок он успешно исправит.
Пояснения к алгоритму декодирования
кодов Форни
Пусть слово 𝒄 = 𝒂1 𝒂2 … 𝒂2 𝑡 исказилось в 𝑠 разрядах и перешло в
слово 𝒄 = 𝒂1 𝒂2 … 𝒂2 𝑡.
𝒂𝑖 — слова кода В.—Г. с расстоянием 𝑑int.
Пусть 𝐼 = 𝑖 ∣ 𝑑 𝒂𝑖, 𝒂𝑖 ≥ 𝑑int
2
, где 𝐼 ≤ 2𝑠
𝑑int
.
Т.к. на первом шаге проблемы с исправлением могут быть только у
слов 𝒂𝑖, у которых 𝑖 ∈ 𝐼, то на втором шаге, рассматривая каждое
𝒂𝑖 как один элемент поля 𝔽2 𝑡, мы получаем задачу восстановления
слова кода Р.—С. с ошибками не более чем в 2𝑠
𝑑int
разрядах.

More Related Content

What's hot

коды хемминга
коды хеммингакоды хемминга
коды хеммингаYuliyaGridneva
 
Теорема Алона о нулях и её применения
Теорема Алона о нулях и её примененияТеорема Алона о нулях и её применения
Теорема Алона о нулях и её примененияAlex Dainiak
 
Гиперграфы. Покрытия. Жадный алгоритм.
Гиперграфы. Покрытия. Жадный алгоритм.Гиперграфы. Покрытия. Жадный алгоритм.
Гиперграфы. Покрытия. Жадный алгоритм.Alex Dainiak
 
Разбор задач модуля Комбинаторика l
Разбор задач модуля Комбинаторика lРазбор задач модуля Комбинаторика l
Разбор задач модуля Комбинаторика l
DEVTYPE
 
Основы теории графов 09: раскраски планарных графов, совершенные графы
Основы теории графов 09: раскраски планарных графов, совершенные графыОсновы теории графов 09: раскраски планарных графов, совершенные графы
Основы теории графов 09: раскраски планарных графов, совершенные графы
Alex Dainiak
 
Основы теории графов 10: экстремальная теория графов
Основы теории графов 10: экстремальная теория графовОсновы теории графов 10: экстремальная теория графов
Основы теории графов 10: экстремальная теория графов
Alex Dainiak
 
Линейная алгебра - I. Разбор задач
Линейная алгебра - I. Разбор задачЛинейная алгебра - I. Разбор задач
Линейная алгебра - I. Разбор задач
DEVTYPE
 
массивы.строки
массивы.строкимассивы.строки
массивы.строкиdasha2012
 
Линейная алгебра - II
Линейная алгебра - IIЛинейная алгебра - II
Линейная алгебра - II
DEVTYPE
 
Основы комбинаторики - I
Основы комбинаторики - IОсновы комбинаторики - I
Основы комбинаторики - I
DEVTYPE
 
Egje po matematike_zadaniya_s5
Egje po matematike_zadaniya_s5Egje po matematike_zadaniya_s5
Egje po matematike_zadaniya_s5
Иван Иванов
 
Линейная алгебра ll. Разбор задач второго модуля
Линейная алгебра ll. Разбор задач второго модуляЛинейная алгебра ll. Разбор задач второго модуля
Линейная алгебра ll. Разбор задач второго модуля
DEVTYPE
 
Основы теории графов 07: сепараторы в планарных графах
Основы теории графов 07: сепараторы в планарных графахОсновы теории графов 07: сепараторы в планарных графах
Основы теории графов 07: сепараторы в планарных графах
Alex Dainiak
 
Линейная алгебра - I
Линейная алгебра - IЛинейная алгебра - I
Линейная алгебра - I
DEVTYPE
 
Разбор задач модуля "Теория графов ll"
Разбор задач модуля "Теория графов ll"Разбор задач модуля "Теория графов ll"
Разбор задач модуля "Теория графов ll"
DEVTYPE
 
Основы комбинаторики - II
Основы комбинаторики - IIОсновы комбинаторики - II
Основы комбинаторики - II
DEVTYPE
 
Основы теории графов 11: гамильтоновы циклы
Основы теории графов 11: гамильтоновы циклыОсновы теории графов 11: гамильтоновы циклы
Основы теории графов 11: гамильтоновы циклы
Alex Dainiak
 
Основы комбинаторики II. Разбор задач
Основы комбинаторики II. Разбор задачОсновы комбинаторики II. Разбор задач
Основы комбинаторики II. Разбор задач
DEVTYPE
 

What's hot (20)

коды хемминга
коды хеммингакоды хемминга
коды хемминга
 
20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich
 
Теорема Алона о нулях и её применения
Теорема Алона о нулях и её примененияТеорема Алона о нулях и её применения
Теорема Алона о нулях и её применения
 
Гиперграфы. Покрытия. Жадный алгоритм.
Гиперграфы. Покрытия. Жадный алгоритм.Гиперграфы. Покрытия. Жадный алгоритм.
Гиперграфы. Покрытия. Жадный алгоритм.
 
Matanal 31oct
Matanal 31octMatanal 31oct
Matanal 31oct
 
Разбор задач модуля Комбинаторика l
Разбор задач модуля Комбинаторика lРазбор задач модуля Комбинаторика l
Разбор задач модуля Комбинаторика l
 
Основы теории графов 09: раскраски планарных графов, совершенные графы
Основы теории графов 09: раскраски планарных графов, совершенные графыОсновы теории графов 09: раскраски планарных графов, совершенные графы
Основы теории графов 09: раскраски планарных графов, совершенные графы
 
Основы теории графов 10: экстремальная теория графов
Основы теории графов 10: экстремальная теория графовОсновы теории графов 10: экстремальная теория графов
Основы теории графов 10: экстремальная теория графов
 
Линейная алгебра - I. Разбор задач
Линейная алгебра - I. Разбор задачЛинейная алгебра - I. Разбор задач
Линейная алгебра - I. Разбор задач
 
массивы.строки
массивы.строкимассивы.строки
массивы.строки
 
Линейная алгебра - II
Линейная алгебра - IIЛинейная алгебра - II
Линейная алгебра - II
 
Основы комбинаторики - I
Основы комбинаторики - IОсновы комбинаторики - I
Основы комбинаторики - I
 
Egje po matematike_zadaniya_s5
Egje po matematike_zadaniya_s5Egje po matematike_zadaniya_s5
Egje po matematike_zadaniya_s5
 
Линейная алгебра ll. Разбор задач второго модуля
Линейная алгебра ll. Разбор задач второго модуляЛинейная алгебра ll. Разбор задач второго модуля
Линейная алгебра ll. Разбор задач второго модуля
 
Основы теории графов 07: сепараторы в планарных графах
Основы теории графов 07: сепараторы в планарных графахОсновы теории графов 07: сепараторы в планарных графах
Основы теории графов 07: сепараторы в планарных графах
 
Линейная алгебра - I
Линейная алгебра - IЛинейная алгебра - I
Линейная алгебра - I
 
Разбор задач модуля "Теория графов ll"
Разбор задач модуля "Теория графов ll"Разбор задач модуля "Теория графов ll"
Разбор задач модуля "Теория графов ll"
 
Основы комбинаторики - II
Основы комбинаторики - IIОсновы комбинаторики - II
Основы комбинаторики - II
 
Основы теории графов 11: гамильтоновы циклы
Основы теории графов 11: гамильтоновы циклыОсновы теории графов 11: гамильтоновы циклы
Основы теории графов 11: гамильтоновы циклы
 
Основы комбинаторики II. Разбор задач
Основы комбинаторики II. Разбор задачОсновы комбинаторики II. Разбор задач
Основы комбинаторики II. Разбор задач
 

Similar to Коды Адамара. Каскадные коды Форни.

Алфавитное кодирование. Коды с минимальной избыточностью. Теорема Макмиллана.
Алфавитное кодирование. Коды с минимальной избыточностью. Теорема Макмиллана.Алфавитное кодирование. Коды с минимальной избыточностью. Теорема Макмиллана.
Алфавитное кодирование. Коды с минимальной избыточностью. Теорема Макмиллана.
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
 
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и кодыГригорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и кодыYandex
 
Основы теории графов 03: связность
Основы теории графов 03: связностьОсновы теории графов 03: связность
Основы теории графов 03: связность
Alex Dainiak
 
Графовая модель канала связи. Шенноновская ёмкость
Графовая модель канала связи. Шенноновская ёмкостьГрафовая модель канала связи. Шенноновская ёмкость
Графовая модель канала связи. Шенноновская ёмкость
Alex Dainiak
 
Основы теории графов 04: метрики на деревьях
Основы теории графов 04: метрики на деревьяхОсновы теории графов 04: метрики на деревьях
Основы теории графов 04: метрики на деревьях
Alex Dainiak
 
Производящие функции
Производящие функцииПроизводящие функции
Производящие функцииAlex Dainiak
 
презентация по теме «действительные числа»
презентация по теме «действительные числа»презентация по теме «действительные числа»
презентация по теме «действительные числа»
Kirrrr123
 
Основы теории графов 08: раскраски и списочные раскраски
Основы теории графов 08: раскраски и списочные раскраскиОсновы теории графов 08: раскраски и списочные раскраски
Основы теории графов 08: раскраски и списочные раскраски
Alex Dainiak
 
9 1.1 - системы счисления
9 1.1 - системы счисления9 1.1 - системы счисления
9 1.1 - системы счисленияjula-mam
 
1742 повторяем математику за курс средней школы арефьева и.г-2015 -118с
1742  повторяем математику за курс средней школы арефьева и.г-2015 -118с1742  повторяем математику за курс средней школы арефьева и.г-2015 -118с
1742 повторяем математику за курс средней школы арефьева и.г-2015 -118с
psvayy
 
Системы счисления
Системы счисленияСистемы счисления
Системы счисления
Andrey Dolinin
 
Обращение Мёбиуса на ч.у.м.
Обращение Мёбиуса на ч.у.м.Обращение Мёбиуса на ч.у.м.
Обращение Мёбиуса на ч.у.м.Alex Dainiak
 
Об одном методе автоматической транскрипции
Об одном методе автоматической транскрипцииОб одном методе автоматической транскрипции
Об одном методе автоматической транскрипции
Спецсеминар "Искусственный Интеллект" кафедры АЯ ВМК МГУ
 
Short instruction laba1
Short instruction laba1Short instruction laba1
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"Nikolay Grebenshikov
 
ТФРВС - весна 2014 - лекция 4
ТФРВС - весна 2014 - лекция 4ТФРВС - весна 2014 - лекция 4
ТФРВС - весна 2014 - лекция 4
Alexey Paznikov
 
!Predictive analytics part_2
!Predictive analytics part_2!Predictive analytics part_2
!Predictive analytics part_2
Vladimir Krylov
 

Similar to Коды Адамара. Каскадные коды Форни. (20)

Алфавитное кодирование. Коды с минимальной избыточностью. Теорема Макмиллана.
Алфавитное кодирование. Коды с минимальной избыточностью. Теорема Макмиллана.Алфавитное кодирование. Коды с минимальной избыточностью. Теорема Макмиллана.
Алфавитное кодирование. Коды с минимальной избыточностью. Теорема Макмиллана.
 
Теорема Рамсея, оценки чисел Рамсея
Теорема Рамсея, оценки чисел РамсеяТеорема Рамсея, оценки чисел Рамсея
Теорема Рамсея, оценки чисел Рамсея
 
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
 
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и кодыГригорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
 
Основы теории графов 03: связность
Основы теории графов 03: связностьОсновы теории графов 03: связность
Основы теории графов 03: связность
 
Графовая модель канала связи. Шенноновская ёмкость
Графовая модель канала связи. Шенноновская ёмкостьГрафовая модель канала связи. Шенноновская ёмкость
Графовая модель канала связи. Шенноновская ёмкость
 
Основы теории графов 04: метрики на деревьях
Основы теории графов 04: метрики на деревьяхОсновы теории графов 04: метрики на деревьях
Основы теории графов 04: метрики на деревьях
 
Производящие функции
Производящие функцииПроизводящие функции
Производящие функции
 
алгоритм
алгоритмалгоритм
алгоритм
 
презентация по теме «действительные числа»
презентация по теме «действительные числа»презентация по теме «действительные числа»
презентация по теме «действительные числа»
 
Основы теории графов 08: раскраски и списочные раскраски
Основы теории графов 08: раскраски и списочные раскраскиОсновы теории графов 08: раскраски и списочные раскраски
Основы теории графов 08: раскраски и списочные раскраски
 
9 1.1 - системы счисления
9 1.1 - системы счисления9 1.1 - системы счисления
9 1.1 - системы счисления
 
1742 повторяем математику за курс средней школы арефьева и.г-2015 -118с
1742  повторяем математику за курс средней школы арефьева и.г-2015 -118с1742  повторяем математику за курс средней школы арефьева и.г-2015 -118с
1742 повторяем математику за курс средней школы арефьева и.г-2015 -118с
 
Системы счисления
Системы счисленияСистемы счисления
Системы счисления
 
Обращение Мёбиуса на ч.у.м.
Обращение Мёбиуса на ч.у.м.Обращение Мёбиуса на ч.у.м.
Обращение Мёбиуса на ч.у.м.
 
Об одном методе автоматической транскрипции
Об одном методе автоматической транскрипцииОб одном методе автоматической транскрипции
Об одном методе автоматической транскрипции
 
Short instruction laba1
Short instruction laba1Short instruction laba1
Short instruction laba1
 
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
 
ТФРВС - весна 2014 - лекция 4
ТФРВС - весна 2014 - лекция 4ТФРВС - весна 2014 - лекция 4
ТФРВС - весна 2014 - лекция 4
 
!Predictive analytics part_2
!Predictive analytics part_2!Predictive analytics part_2
!Predictive analytics part_2
 

More from Alex Dainiak

Основы теории графов 06: триангуляции и трёхсвязные планарные графы
Основы теории графов 06: триангуляции и трёхсвязные планарные графыОсновы теории графов 06: триангуляции и трёхсвязные планарные графы
Основы теории графов 06: триангуляции и трёхсвязные планарные графы
Alex Dainiak
 
Основы теории графов 05: критерии планарности графов
Основы теории графов 05: критерии планарности графовОсновы теории графов 05: критерии планарности графов
Основы теории графов 05: критерии планарности графов
Alex Dainiak
 
Основы теории графов 01: напоминание определений, теорема Форда—Фалкерсона
Основы теории графов 01: напоминание определений, теорема Форда—ФалкерсонаОсновы теории графов 01: напоминание определений, теорема Форда—Фалкерсона
Основы теории графов 01: напоминание определений, теорема Форда—Фалкерсона
Alex Dainiak
 
Основы теории графов 02: факторизация графов (разложение на простые подграфы)
Основы теории графов 02: факторизация графов (разложение на простые подграфы)Основы теории графов 02: факторизация графов (разложение на простые подграфы)
Основы теории графов 02: факторизация графов (разложение на простые подграфы)
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
 

More from Alex Dainiak (12)

Основы теории графов 06: триангуляции и трёхсвязные планарные графы
Основы теории графов 06: триангуляции и трёхсвязные планарные графыОсновы теории графов 06: триангуляции и трёхсвязные планарные графы
Основы теории графов 06: триангуляции и трёхсвязные планарные графы
 
Основы теории графов 05: критерии планарности графов
Основы теории графов 05: критерии планарности графовОсновы теории графов 05: критерии планарности графов
Основы теории графов 05: критерии планарности графов
 
Основы теории графов 01: напоминание определений, теорема Форда—Фалкерсона
Основы теории графов 01: напоминание определений, теорема Форда—ФалкерсонаОсновы теории графов 01: напоминание определений, теорема Форда—Фалкерсона
Основы теории графов 01: напоминание определений, теорема Форда—Фалкерсона
 
Основы теории графов 02: факторизация графов (разложение на простые подграфы)
Основы теории графов 02: факторизация графов (разложение на простые подграфы)Основы теории графов 02: факторизация графов (разложение на простые подграфы)
Основы теории графов 02: факторизация графов (разложение на простые подграфы)
 
Конспект лекций по теории кодирования
Конспект лекций по теории кодированияКонспект лекций по теории кодирования
Конспект лекций по теории кодирования
 
Визуализация графов: left-right алгоритм распознавания планарности
Визуализация графов: left-right алгоритм распознавания планарностиВизуализация графов: left-right алгоритм распознавания планарности
Визуализация графов: left-right алгоритм распознавания планарности
 
Визуализация графов: укладки деревьев
Визуализация графов: укладки деревьевВизуализация графов: укладки деревьев
Визуализация графов: укладки деревьев
 
Визуализация графов: теорема Татта о барицентрической укладке
Визуализация графов: теорема Татта о барицентрической укладкеВизуализация графов: теорема Татта о барицентрической укладке
Визуализация графов: теорема Татта о барицентрической укладке
 
Визуализация графов: история
Визуализация графов: историяВизуализация графов: история
Визуализация графов: история
 
Визуализация графов: нижние оценки и NP-трудность
Визуализация графов: нижние оценки и NP-трудностьВизуализация графов: нижние оценки и NP-трудность
Визуализация графов: нижние оценки и NP-трудность
 
Размерность Вапника—Червоненкиса
Размерность Вапника—ЧервоненкисаРазмерность Вапника—Червоненкиса
Размерность Вапника—Червоненкиса
 
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
 

Коды Адамара. Каскадные коды Форни.

  • 1. Теория кодирования МФТИ, осень 2013 Александр Дайняк www.dainiak.com
  • 2. Матрицы Адамара (J. Hadamard) Матрица Адамара — это квадратная матрица из −1, 1 𝑛×𝑛, в которой любые две строки ортогональны. Примеры: 1 1 1 −1 1 1 1 1 1 1 −1 −1 1 −1 −1 1 1 −1 1 −1
  • 3. Теорема Адамара Матрицы Адамара берут начало от следующей теоремы: Теорема. (J. Hadamard) Если 𝐴 = 𝑎𝑖𝑗 1≤𝑖,𝑗≤𝑛 ∈ ℝ 𝑛×𝑛 и 𝑎𝑖𝑗 ≤ 1 для любых 𝑖, 𝑗, то тогда det 𝐴 ≤ 𝑛 𝑛 2 Доказательство: • det 𝐴 — это объём параллелепипеда, построенного на векторах-строках матрицы 𝐴 • Объём максимален, когда длины сторон максимальны (максимум равен 𝑛 при 𝑎𝑖𝑗 = 1) и углы между сторонами прямые (т.е. векторы ортогональны).
  • 4. Матрицы Адамара Если 𝐻 — матрица Адамара, то • Матрица, полученная из 𝐻 перестановками строк/столбцов, тоже является матрицей Адамара. • Матрица, полученная из 𝐻 умножением строк/столбцов на −1, тоже является матрицей Адамара. Матрицы Адамара, получаемые друг из друга такими преобразованиями, эквивалентны.
  • 5. Матрицы Адамара Любую матрицу Адамара умножением строк/столбцов на −1 можно привести к виду 1 1 ⋯ 1 1 ⋮ 1 Такая матрица Адамара называется нормализованной.
  • 6. Порядок матриц Адамара Утверждение. Если 𝐻 ∈ −1, 1 𝑛×𝑛 — матрица Адамара, и 𝑛 > 2, то 4|𝑛. Доказательство: От матрицы 𝐻 перейдём к эквивалентной матрице, в которой первые три строки такие: 1 1 ⋯ 1 1 1 ⋯ 1 1 1 ⋯ 1 𝑖 1 1 ⋯ 1 1 1 ⋯ 1 −1 −1 ⋯ −1 𝑗 1 1 ⋯ 1 −1 −1 ⋯ −1 1 1 ⋯ 1 𝑘 1 1 ⋯ 1 −1 −1 ⋯ −1 −1 −1 ⋯ −1 𝑙 Отсюда 𝑖 + 𝑗 + 𝑘 + 𝑙 = 𝑛 𝑖 + 𝑗 − 𝑘 − 𝑙 = 0 𝑖 − 𝑗 − 𝑘 + 𝑙 = 0 𝑖 − 𝑗 + 𝑘 − 𝑙 = 0 Решение этой системы: 𝑖 = 𝑗 = 𝑘 = 𝑙 = 𝑛 4.
  • 7. Порядок матриц Адамара Гипотеза Адамара (не доказана). Матрицы Адамара порядка 𝑛 существуют(?) для всех натуральных 𝑛, кратных четырём. Наименьший порядок, для которого пока не доказано существование матрицы Адамара, равен 668.
  • 8. Конструкция Сильвестра Утверждение. Матрица Адамара порядка 𝑛 существует для любого 𝑛 = 2 𝑘 . Доказательство: (J.J. Sylvester) Заметим, что если 𝐻 — матрица Адамара, то матрицей Адамара будет и такая: 𝐻 𝐻 𝐻 −𝐻 . Утверждение теперь следует по индукции из того факта, что 1 1 1 −1 — матрица Адамара.
  • 9. Матрицы Адамара Теорема. (R.E.A.C. Paley ’1933) Если 𝑝 простое и 4| 𝑝 𝑚 + 1 , то существует матрица Адамара порядка 𝑝 𝑚 + 1 . (Конструкция Пэли на основе квадратичных вычетов.)
  • 10. Квадратичные вычеты Элемент 𝑎 ∈ 𝔽 𝑞 ∖ 0 называется квадратичным вычетом, если 𝑎 = 𝑥2 для некоторого 𝑥 ∈ 𝔽 𝑞. Остальные элементы из 𝔽 𝑞 ∖ 0 называются квадратичными невычетами. Например, в ℤ7 элементы 1,2,4 — к.в., а 3,5,6 — к.н.
  • 11. Квадратичные вычеты Утверждение. • Если 𝜆 — примитивный элемент 𝔽 𝑞, то элементы вида 𝜆2𝑡 являются к.в., а вида 𝜆2𝑡+1 — к.н. • Если 𝑞 = 𝑝 𝑚 и 𝑝 > 2, то ровно половина элементов из 𝔽 𝑞 ∖ 0 являются к.в., а половина — к.н. Везде далее будем предполагать, что 𝑝 > 2.
  • 12. Символ Лежандра Символ Лежандра 𝜒 𝑎 определяется так: 𝜒 𝑎 = 0, если 𝑎 = 0 1, если 𝑎 к. в. −1, если 𝑎 к. н. Утверждение. Для любых 𝑎, 𝑏 ∈ 𝔽 𝑞 имеет место равенство 𝜒 𝑎 ⋅ 𝜒 𝑏 = 𝜒 𝑎𝑏
  • 13. Квадратичные вычеты Утверждение. Для любого 𝑐 ∈ 𝔽 𝑞 ∖ 0 имеет место равенство 𝑏∈𝔽 𝑞 𝜒 𝑏 ⋅ 𝜒 𝑏 + 𝑐 = −1 Доказательство: Т.к. ровно половина элементов 𝔽 𝑞 ∖ 0 квадратичными вычетами, то 𝑎∈𝔽 𝑞 𝜒 𝑎 = 0. Также заметим, что 𝑏∈𝔽 𝑞 𝜒 𝑏 ⋅ 𝜒 𝑏 + 𝑐 = 𝑏∈𝔽 𝑞∖ 0 𝜒 𝑏 ⋅ 𝜒 𝑏 + 𝑐
  • 14. Квадратичные вычеты С учётом замеченного, получаем 𝑏∈𝔽 𝑞∖ 0 𝜒 𝑏 ⋅ 𝜒 𝑏 + 𝑐 = 𝑏∈𝔽 𝑞∖ 0 𝜒 𝑏 ⋅ 𝜒 𝑏 ⋅ 𝑏−1 𝑏 + 𝑐 = = 𝑏∈𝔽 𝑞∖ 0 𝜒 𝑏 2 ⋅ 𝜒 𝑏−1 𝑏 + 𝑐 = 𝑏∈𝔽 𝑞∖ 0 𝜒 𝑏−1 𝑏 + 𝑐 = = 𝑏∈𝔽 𝑞∖ 0 𝜒 1 + 𝑏−1 𝑐 = 𝑎∈𝔽 𝑞∖ 1 𝜒 𝑎 = 𝑎∈𝔽 𝑞 𝜒 𝑎 − 𝜒 1 = −1
  • 15. Матрица Якобшталя (E. Jacobsthal) Рассмотрим матрицу 𝑡 𝑎,𝑏 𝑎,𝑏∈𝔽 𝑞 ∈ −1, 0, 1 𝑞×𝑞, в которой 𝑡 𝑎,𝑏 ≔ 𝜒 𝑎 − 𝑏 . Скалярное произведение любых двух различных строк 𝑡 𝑎′,𝑏 𝑏∈𝔽 𝑞 и 𝑡 𝑎′′,𝑏 𝑏∈𝔽 𝑞 равно 𝑏∈𝔽 𝑞 𝜒 𝑎′ − 𝑏 ⋅ 𝜒 𝑎′′ − 𝑏 = 𝑏∈𝔽 𝑞 𝜒 𝑏 ⋅ 𝜒 𝑏 + 𝑎′′ − 𝑎′ = −1
  • 16. «Подправленная» матрица Якобшталя Рассмотрим матрицу 𝑡 𝑎,𝑏 ′ 𝑎,𝑏∈𝔽 𝑞 ∈ −1, 1 𝑞×𝑞, в которой 𝑡 𝑎,𝑏 ′ = 𝜒 𝑎 − 𝑏 , если 𝑎 ≠ 𝑏 и 𝑡 𝑎,𝑏 ′ = −1 иначе. Скалярное произведение различных строк 𝑡 𝑎′,𝑏 ′ 𝑏∈𝔽 𝑞 и 𝑡 𝑎′′,𝑏 ′ 𝑏∈𝔽 𝑞 равно 𝑏∈𝔽 𝑞 𝜒 𝑎′ − 𝑏 ⋅ 𝜒 𝑎′′ − 𝑏 − 𝜒 𝑎′ − 𝑎′′ − 𝜒 𝑎′′ − 𝑎′ = = −1 − 𝜒 𝑎′ − 𝑎′′ − 𝜒 𝑎′′ − 𝑎′ Если −1 является квадратичным невычетом в 𝔽 𝑞, то 𝜒 𝑎′′ − 𝑎′ = 𝜒 −1 ⋅ 𝜒 𝑎′ − 𝑎′′ = −𝜒 𝑎′ − 𝑎′′ , и скалярное произведение получается равным −1.
  • 17. «Подправленная» и «дополненная» матрица Якобшталя 𝑇′ ≔ 𝑡 𝑎,𝑏 ′ 𝑎,𝑏∈𝔽 𝑞 ∈ −1, 1 𝑞×𝑞 , где 𝑡 𝑎,𝑏 ′ = 𝜒 𝑎 − 𝑏 , если 𝑎 ≠ 𝑏, и 𝑡 𝑎,𝑏 ′ = −1 иначе. Если −1 является квадратичным невычетом в 𝔽 𝑞, то скалярное произведение любых двух строк матрицы 𝑇′ равно −1. Тогда матрица 1 1 ⋯ 1 1 ⋮ 𝑇′ 1 является нормализованной матрицей Адамара.
  • 18. Матрицы Адамара Утверждение. (Без доказательства) При 4| 𝑞 + 1 элемент −1 является квадратичным невычетом в 𝔽 𝑞. Следствие. Если 𝑝 простое и 4| 𝑝 𝑚 + 1 , то существует матрица Адамара порядка 𝑝 𝑚 + 1 .
  • 19. Коды Адамара Введены R.C. Bose, S.S. Shrikhande ’1959. Идея: В матрице Адамара любые две строки 𝒂, 𝒃 ортогональны. Т.к. 𝑎, 𝑏 ∈ −1, 1 𝑛 , это значит, что ровно половина координат у них совпадает, а половина противоположны. Заменяем координаты −1 → 0 и получаем из строк матрицы двоичный код с большим кодовым расстоянием.
  • 20. Коды Адамара Пусть 𝐴 ∈ 0,1 𝑛×𝑛 — матрица, полученная из нормализованной матрицы Адамара заменой элементов −1 на 0. • Множество строк матрицы 𝐴 с отброшенной первой координатой образует двоичный 𝑛 − 1, 𝑛, 𝑛 2 -код • Множество строк матрицы 𝐴 и их дополнений образует 𝑛, 2𝑛, 𝑛 2 -код
  • 21. Оптимальность кодов Адамара Граница Плоткина (в двоичном случае) Если 𝑁 < 2𝑑, то для любого 𝑁, 𝑀, 𝑑 -кода 𝑀 ≤ 2𝑑 2𝑑 − 𝑁 Коды Адамара с параметрами 𝑛 − 1, 𝑛, 𝑛 2 достигают границы Плоткина, имея максимально число слов при заданных длине и кодовом расстоянии.
  • 22. Каскадные коды (предложены G.D. Forney ’1966) Пусть • 𝐶internal — 𝑛, 𝑚, 𝑑 𝑞-код (внутренний код) • 𝐶external — 𝑁, 𝑀, 𝐷 𝑚-код (внешний код) Символам алфавита кода 𝐶ext сопоставим слова кода 𝐶int. Тогда кодовым словам кода 𝐶ext соответствуют слова длины 𝑁𝑛 в алфавите кода 𝐶int. Получаем каскадный 𝑁𝑛, 𝑀, 𝑑′ 𝑞-код, где 𝑑′ ≥ 𝐷𝑑.
  • 23. Каскадные коды (линейный двоичный случай) Пусть • 𝐶int — 𝑛, 𝑘, 𝑑 -код (внутренний код) • 𝐶ext — 𝑁, 𝐾, 𝐷 2 𝑘-код (внешний код) Элементам 𝔽2 𝑘 сопостaвим слова кода 𝐶int, так, чтобы линейная комбинация элементов 𝔽2 𝑘 соответствовала линейной комбинации слов кода 𝐶int. Тогда кодовым словам кода 𝐶ext соответствуют слова длины 𝑁𝑛 в алфавите кода 𝐶int. Получаем каскадный 𝑁𝑛, 𝑘𝐾, 𝑑𝐷 -код.
  • 24. Коды Форни В качестве внешнего кода удобно взять оптимальный (например, MDS) код над алфавитом большой (не слишком) мощности. В качестве внутреннего кода можно взять близкий к оптимальному код с не очень большим числом кодовых слов. Сможем получить асимптотически хорошее семейство линейных кодов, для которых есть полиномиальный алгоритм декодирования.
  • 25. Асимптотически хорошие коды Пусть задано семейство двоичных кодов 𝐶 ≔ 𝐶 𝑛 𝑛=1 ∞ Асимптотической скоростью семейства 𝐶 называется величина rate 𝐶 ≔ lim 𝑛→∞ log2 𝐶 𝑛 𝑛 Асимптотическим относительным кодовым расстоянием семейства 𝐶 называется величина 𝛿 𝐶 ≔ lim 𝑛→∞ 𝑑 𝐶 𝑛 𝑛
  • 26. Асимптотически хорошие коды rate 𝐶 ≔ lim 𝑛→∞ log2 𝐶 𝑛 𝑛 𝛿 𝐶 ≔ lim 𝑛→∞ 𝑑 𝐶 𝑛 𝑛 Семейство кодов называется асимптотически хорошим, если для него rate 𝐶 > 0 и 𝛿 𝐶 > 0 До кодов Форни было неизвестно, существуют ли асимптотически хорошие семейства кодов с полиномиальными алгоритмами декодирования.
  • 27. Теорема Варшамова—Гилберта Теорема. (Р.Р. Варшамов, E.N. Gilbert) Пусть натуральные числа 𝑛, 𝑘, 𝑑′ таковы, что 𝑗=0 𝑑′−1 𝑛 − 1 𝑗 < 2 𝑛−𝑘 Тогда существует 𝑛, 𝑘, 𝑑 -код, где 𝑑 > 𝑑′ . Следствие. Если 𝛿 < 0.5 и 𝜌 таковы, что 𝐻 𝛿 ≤ 1 − 𝜌, то существует семейство линейных кодов 𝐶, для которого rate 𝐶 ≥ 𝜌 и 𝛿 𝐶 ≥ 𝛿.
  • 28. Теорема Варшамова—Гилберта (асимптотическая версия) Доказательство следствия: Если 𝑛, 𝑘, 𝑑′ таковы, что 𝐻 𝑑′ 𝑛 ≤ 1 − 𝑘 𝑛 , то 𝑗=0 𝑑′−1 𝑛 − 1 𝑗 < 2 𝑛⋅𝐻 𝑑′ 𝑛 ≤ 2 𝑛−𝑘, то есть условия теоремы В.—Г. выполнены, и существует линейный 𝑛, 𝑘, 𝑑 -код, где 𝑑 > 𝑑′. Если 𝐻 𝛿 ≤ 1 − 𝜌, то берём для каждого 𝑛 𝑘 ≔ 𝜌𝑛 , 𝑑′ ≔ 𝛿𝑛 , и получаем требуемое.
  • 29. Цель Теорема Варшамова—Гилберта не даёт полиномиальных (по длине кодовых слов) алгоритмов построения кода и декодирования. А хочется следующего: • Для каждого 𝑛 строить порождающую или проверочную матрицу некоторого линейного кода с длиной слов, размерностью и кодовым расстоянием Ω 𝑛 . И всё за полиномиальное от 𝑛 время. • Исправлять Ω 𝑛 ошибок в кодовых словах за полиномиальное от 𝑛 время.
  • 30. Каскадный код Форни на основе конструкции В.—Г. и кода Р.—С. Пусть 𝑡 ∈ ℕ, и пусть 𝛿 < 0.5 — произвольное фиксированное число. По теореме В.—Г., существует линейный код с параметрами 𝑡 1−𝐻 𝛿 , 𝑡, 𝛿𝑡 1−𝐻 𝛿 Возьмём этот код в качестве внутреннего. В качестве внешнего возьмём RS-код с параметрами 2 𝑡, 2 𝑡−1, 2 𝑡−1 + 1 2 𝑡. Получаем каскадный 𝑛, 𝑘, 𝑑 -код, для которого 𝑛 = 𝑡 ⋅ 2 𝑡 1 − 𝐻 𝛿 , 𝑘 = 𝑡 ⋅ 2 𝑡 2 , 𝑑 > 𝛿𝑡 ⋅ 2 𝑡 2 1 − 𝐻 𝛿
  • 31. Каскадный код Форни на основе конструкции В.—Г. и кода Р.—С. Получаем каскадный 𝑛, 𝑘, 𝑑 -код, для которого 𝑛 = 𝑡 ⋅ 2 𝑡 1 − 𝐻 𝛿 , 𝑘 = 𝑡 ⋅ 2 𝑡 2 , 𝑑 > 𝛿𝑡 ⋅ 2 𝑡 2 1 − 𝐻 𝛿 Этот код является асимптотически хорошим, т.к. 𝑑 𝑛 ≥ 𝛿 2 1−𝐻 𝛿 > 0 и 𝑘 𝑛 ≥ 1 2 1−𝐻 𝛿 > 0.
  • 32. Каскадный код Форни на основе конструкции В.—Г. и кода Р.—С. Получаем каскадный 𝑛, 𝑘, 𝑑 -код, для которого 𝑛 = 𝑡 ⋅ 2 𝑡 1 − 𝐻 𝛿 , 𝑘 = 𝑡 ⋅ 2 𝑡 2 , 𝑑 > 𝛿𝑡 ⋅ 2 𝑡 2 1 − 𝐻 𝛿 Вычислить порождающую матрицу кода можно при каждом 𝑡 за полиномиальное время, т.к. • коды Р.—С. строятся за полиномиальное время от своих параметров, • проверочная матрица кода в теореме В.—Г. строится хотя и перебором, но параметры этого кода логарифмичны по 𝑛.
  • 33. Каскадный код Форни на основе конструкции В.—Г. и кода Р.—С. Получаем каскадный 𝑛, 𝑘, 𝑑 -код, для которого 𝑛 = 𝑡 ⋅ 2 𝑡 1 − 𝐻 𝛿 , 𝑘 = 𝑡 ⋅ 2 𝑡 2 , 𝑑 > 𝛿𝑡 ⋅ 2 𝑡 2 1 − 𝐻 𝛿 Существует «почти тривиальный» полиномиальный алгоритм, декодирующий кодовые слова, принятые с не более чем 𝛿𝑡⋅2 𝑡 8 1−𝐻 𝛿 ошибками.
  • 34. Тривиальный алгоритм декодирования кодов Форни Каждое слово кода Форни имеет вид 𝒄 = 𝒂1 𝒂2 … 𝒂2 𝑡 где 𝒂𝑖 — слова кода В.—Г. длины 𝑡 1−𝐻 𝛿 . Если в слове 𝒄 произошло ≤ 𝛿𝑡⋅2 𝑡 8 1−𝐻 𝛿 ошибок, и в результате принято слово 𝒄 = 𝒂1 𝒂2 … 𝒂2 𝑡, то слово 𝒄 восстанавливаем в два шага: • Для каждого 𝒂𝑖 перебором ищем ближайшее к нему слово кода В.—Г. При этом неверно восстановленных слов может быть не более 𝛿𝑡⋅2 𝑡 8 1−𝐻 𝛿 𝛿𝑡 2 1−𝐻 𝛿 = 2 𝑡−2. • Кодовое расстояние внешнего кода равно 2 𝑡−1 + 1 , поэтому даже 2 𝑡−2 ошибок он успешно исправит.
  • 35. Пояснения к алгоритму декодирования кодов Форни Пусть слово 𝒄 = 𝒂1 𝒂2 … 𝒂2 𝑡 исказилось в 𝑠 разрядах и перешло в слово 𝒄 = 𝒂1 𝒂2 … 𝒂2 𝑡. 𝒂𝑖 — слова кода В.—Г. с расстоянием 𝑑int. Пусть 𝐼 = 𝑖 ∣ 𝑑 𝒂𝑖, 𝒂𝑖 ≥ 𝑑int 2 , где 𝐼 ≤ 2𝑠 𝑑int . Т.к. на первом шаге проблемы с исправлением могут быть только у слов 𝒂𝑖, у которых 𝑖 ∈ 𝐼, то на втором шаге, рассматривая каждое 𝒂𝑖 как один элемент поля 𝔽2 𝑡, мы получаем задачу восстановления слова кода Р.—С. с ошибками не более чем в 2𝑠 𝑑int разрядах.