13.07.2015 Views

Заметки о расширящих графах

Заметки о расширящих графах

Заметки о расширящих графах

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Первый пример применения экспандеров: коды, исправлящиеошибки.Покажем, как с помощью расширяющего графа посторить линейныйкод, позволяющий исправлять ошибки в доле δ = 1/(2000d) битов. Чтобызадать линейный код с длиной кодового слова n, достаточно описать егопроверочную матрицу H (слово x ∈ {0, 1} n является кодовым словом еслии только если Hx t = 0). Другими словами, нужно задать систему линейныхуравнений для переменных x 1 , . . . , x n ; решения этой системы и будуткодовыми словами.Зафиксируем некоторый (n, 3n/4, d)-экспандер G. Сопоставим переменныеx 1 , . . . , x n вершинам в левой доле графа. Вершинам из правой долибудут соответствовать уравнения. А именно, каждой вершине v из правойдоли G мы сопоставляем уравнениеx i1 + . . . + x is = 0 (mod 2),где x i1 , . . . , x is – это список вершин, соединённых рёбрами с v.Число уранвений равно 3n/4, так что размерность пространства решенийне меньше n/4. Это значит, что в нашем коде будет не менее 2 n/4 кодовыхслов.Остаётся доказать, что данный код действительно исправляет ошибки.Для этого нужно проверить, что расстояние между любыми кодовыми словамине может быть меньше n/(1000d) (на самом деле для расстояния этогокода можно доказать более сильную оценку; но мы ограничимся самымпростым рассуждением). Для линейного кода нужное нам условие эквивалентнотому, что в каждом ненулевом кодовом слове должно быть не менееn/(1000d) единиц.Предположим противное: пусть есть кодовое слово x 1 . . . x n (решение системылинейных уравнений, соответствующих графу G), в котором менееn/(1000d) единиц. Обозначим S множество вершин из левой доли графа, соответствующихединицам в данной битовой последовательности. Поскольку|S| < n/(1000d), можно применить первое свойство экспандера: число соседейS достаточно велико|Γ(S)| ≥ 7d|S|8Из S выходит ровно d|S| вершин. Подсчитаем среднее (по всем вершинамv ∈ Γ(S)) число ребер, которое приходит из S в v. Очевидно, это число непревосходитd|S|7d|S|/8 = 8/7 < 2Это значит, что хотя бы у одной вершины v из правой доли есть ровноодин сосед из S. Но в таком случае уравнение, соответствующее v, не выполненяетсяна наборе x 1 . . . x n . Значит, набор битов с менее чем n/(1000d)единицами не может быть кодовым словом.3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!