Дискретная математика
Алгебраическая теория кодирования: BCH и Рид-Соломон
Компакт-диск с царапинами всё равно читается. QR-код с закрытыми 30% всё равно сканируется. Это не магия - это алгебраическая теория кодирования.
- **CD/DVD**: код RS(255,239) над GF(2^8) исправляет всплески ошибок длиной до 4000 бит - царапины на диске не страшны
- **QR-коды**: уровень коррекции H допускает до 30% повреждений благодаря Reed-Solomon поверх GF(2^8)
- **Флеш-память**: BCH-коды в NAND-флеш снижают частоту нечитаемых блоков с 10⁻⁴ до менее 10⁻⁹
- **Космическая связь**: NASA использует RS-коды в миссиях Voyager и Cassini для коррекции ошибок на расстоянии миллиардов километров
Предварительные знания
- Конечные поля GF(q): арифметика, неприводимые полиномы, примитивные элементы
- Линейные коды: матричное представление, расстояние Хэмминга, граница Синглтона
- Полиномиальные кольца и деление с остатком
Конечные поля и полиномиальные коды
В 1960 году Ирвинг Рид и Густав Соломон опубликовали код, который сегодня защищает данные на каждом CD/DVD и в стандарте QR: при плотности ошибок до 30% диск всё равно читается. Основа - поле Галуа GF(2^m): арифметика по модулю неприводимого полинома степени m над GF(2).
Код RS(255, 239) над GF(2^8) исправляет до скольких ошибок?
Коды BCH: конструкция и декодирование
Рэй-Чоудхури, Хоквингем и Боуз в 1960 году независимо построили семейство BCH-кодов. Двоичный BCH(63, 45) с t=3 используется в стандарте NAND-флеш: Samsung в 2008 году применил его в первых 32-нм SLC-чипах, снизив частоту нечитаемых блоков с 10^{-4} до менее 10^{-9}.
Что находит алгоритм Берлекэмпа-Мэсси при декодировании BCH/RS?
Алгебра кодирования в системе дискретной математики
Алгебраические коды объединяют теорию полей, полиномиальную алгебру и линейные пространства для решения инженерной задачи надёжной передачи данных.
- Теория групп и полей — GF(2^m) - мультипликативная циклическая группа, на которой строится вся арифметика кодов
- Линейная алгебра — Кодовые слова - векторы в линейном пространстве над конечным полем
- Теория сложности — Алгоритм Берлекэмпа-Мэсси работает за O(t²) - полиномиальное декодирование
- Теория информации — RS-коды являются MDS-кодами, достигающими границы Синглтона: максимальная корректирующая способность при минимальной избыточности
Итоги
- Поле Галуа GF(2^m) - основа для построения кодов: 2^m элементов, арифметика через неприводимый полином степени m
- RS(n,k) над GF(2^m): длина n, k информационных символов, минимальное расстояние d = n-k+1, исправляет t = ⌊(d-1)/2⌋ ошибок
- BCH-коды строятся через НОК минимальных полиномов; корни порождающего полинома включают 2t последовательных степеней α
- Алгоритм Берлекэмпа-Мэсси за O(t²) находит локаторный полином ошибок из синдромной последовательности
- Поиск Чиня находит позиции ошибок как корни локаторного полинома; формулы Форни дают значения ошибок