Русская Википедия:Граница Плоткина

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Другие значения Грани́ца Пло́ткина — в теории кодирования определяет предел мощности двоичного кодa длины <math>n</math> и минимального расстояния <math>d</math>. Названа в честь американского математика Морриса Плоткина (1907—2003).

Формулировка

Пусть <math>C</math> — двоичный код длины <math>n</math> или, другими словами, подмножество <math>\mathbb{F}_2^n</math>. Пусть <math>d</math> — минимальное расстояние кода <math>C</math>, то есть

<math>d=\min_{\begin{smallmatrix}x,\;y\in C,\\x\neq y\end{smallmatrix}}d(x,\;y),</math>

где <math>d(x,\;y)</math> — расстояние Хэмминга между <math>x</math> и <math>y</math>. Выражение <math>A_2(n,\;d)</math> обозначает максимально возможное количество кодовых слов в двоичном коде длины <math>n</math> и минимального расстояния <math>d</math>. Граница Плоткина даёт верхний предел этого выражения.

Теорема (граница Плоткина):

1. Если <math>d</math> — чётное число <math>2d>n</math>, то

<math>A_2(n,\;d)\leqslant 2\left\lfloor\frac{d}{2d-n}\right\rfloor.</math>

2. Если <math>d</math> — нечётное число и <math>2d+1>n</math>, то

<math>A_2(n,\;d)\leqslant 2\left\lfloor\frac{d+1}{2d+1-n}\right\rfloor.</math>

3. Если <math>d</math> — чётное число, то

<math>A_2(2d,\;d)\leqslant 4d.</math>

4. Если <math>d</math> — нечётное число, то

<math>A_2(2d+1,\;d)\leqslant 4d+4,</math>

где оператор <math>\left\lfloor ~ \right\rfloor</math> обозначает целую часть числа.

Доказательство первой части

Пусть <math>d(x,\;y)</math> — расстояние Хэмминга между <math>x</math> и <math>y</math>, а <math>M</math> — мощность <math>C</math>. Найдём предел величины <math>\sum_{x,\;y\in C}d(x,\;y)</math> двумя разными способами.

С одной стороны, всего есть <math>M</math> разных возможностей для выбора <math>x</math>, и для каждой из них есть <math>M-1</math> возможностей для выбора <math>y</math>. По определению <math>d(x,\;y)\geqslant d</math> для всех <math>x</math> и <math>y</math>, следовательно

<math>\sum_{x,\;y\in C}d(x,\;y)\geqslant M(M-1)d.</math>

С другой стороны, определим <math>A</math> как матрицу размерности <math>M\times n</math>, строками которой будут элементы кода <math>C</math>. Если <math>s_i</math> — количество нулей в столбце <math>i</math> матрицы <math>A</math>, то столбец <math>i</math> содержит <math>M-s_i</math> единиц. Любые ноль и единица в одном и том же столбце добавляют ровно <math>2</math> (так как <math>d(x,\;y)=d(y,\;x)</math>) к общей сумме <math>\sum_{x,\;y\in C}d(x,\;y)</math>, а значит

<math>\sum_{x,\;y\in C}d(x,\;y)=\sum_{i=1}^n 2s_i(M-s_i).</math>

При чётном <math>M</math> величина в правой части равенства достигает максимума при <math>s_i=M/2</math>, что означает

<math>\sum_{x,\;y\in C}d(x,\;y)\leqslant\frac{1}{2}nM^2.</math>

Объединяя нижнюю и верхнюю границы выражения <math>\sum_{x,\;y\in C}d(x,\;y)</math> в одно неравенство, получим

<math>M(M-1)d\leqslant\frac{1}{2}nM^2,</math>

что при условии <math>2d>n</math> равнозначно

<math>M\leqslant\frac{2d}{2d-n}.</math>

Так как <math>M</math> — чётное число, то

<math>M\leqslant 2\left\lfloor\frac{d}{2d-n}\right\rfloor.</math>

С другой стороны, если <math>M</math> нечётное, то <math>\sum_{i=1}^n 2s_i(M-s_i)</math> достигает максимума при <math>s_i=\frac{M\pm1}{2}</math>, откуда следует, что

<math>\sum_{x,\;y\in C}d(x,\;y)\leqslant\frac{1}{2}n(M^2-1).</math>

Объединяя нижнюю и верхнюю границы выражения <math>\sum_{x,\;y\in C}d(x,\;y)</math> в одно неравенство, получим

<math>M(M-1)d\leqslant\frac{1}{2}n(M^2-1),</math>

что при условии <math>2d>n</math> равнозначно

<math>M\leqslant\frac{2d}{2d-n}-1.</math>

Так как <math>M</math> — целое число, то

<math>M\leqslant\left\lfloor\frac{2d}{2d-n}-1\right\rfloor=\left\lfloor\frac{2d}{2d-n}\right\rfloor-1\leqslant 2\left\lfloor\frac{d}{2d-n}\right\rfloor,</math>

что и завершает доказательство первой части.

Доказательство второй части

Для получения необходимого неравенства нам необходимо доказать следующую лемму.

Лемма 1

<math> A(n,\;2r-1)= A(n+1,\;2r).</math>

Доказательство леммы

Пусть <math>C</math> будет <math>(n,\;M,\;2r-1)</math>-кодом. Добавляя к <math>C</math> проверку на чётность, получаем <math>(n+1,\;M,\;2r)</math>-код, откуда следует, что

<math>A_2(n,\;2r-1)\leqslant A_2(n+1,\;2r).</math>

В обратную сторону выкидывание одной координаты в заданном <math>(n+1,\;M,\;2r)</math>-коде приводит к <math>(n,\;M,\;d\geqslant 2r-1)</math>-коду, так что

<math>A_2(n,\;2r-1)\geqslant A_2(n+1,\;2r).</math>

Требуемый результат следует из первой части доказательства и леммы 1.

Доказательство третьей части

Снова докажем сперва следующее вспомогательное утверждение.

Лемма 2

<math>A_2(n,\;d)\leqslant 2A_2(n-1,\;d).</math>

Доказательство леммы

В заданном <math>(n,\;M,\;d)</math>-коде разделим все кодовые слова на два класса, отнеся в один класс те слова, которые начинаются с нуля, а в другой — те, которые начинаются с единицы. Один из этих классов содержит по крайней мере половину кодовых слов, что влечёт

<math>A_2(n-1,\;d)\geqslant\frac{A_2(n,\;d)}{2}.</math>

Из первой части доказательства и леммы 2 следует, что

<math>A_2(4r,\;2r)\leqslant 2A_2(4r-1,\;2r)\leqslant 8r.</math>

Искомый результат получаем, подставляя <math>d=2r</math>.

Доказательство четвёртой части

Из леммы 1 следует, что

<math>A_2(2d+1,\;d)=A_2(2d+2,\;d+1).</math>

Так как, <math>2d+2</math> и <math>d+1</math> — чётные числа, то можно воспользоваться результатом третьей части доказательства:

<math>A_2(2d+2,\;d+1)=A_2(2(d+1),\;d+1)\leqslant 4(d+1)=4d+4,</math>

что завершает доказательство всей теоремы.

Коды, достигающие границы Плоткина

Если существуют матрицы Адамара всех возможных порядков (что, однако, до сих пор ещё не доказано), то во всех частях теоремы выполняются равенства. Таким образом, граница Плоткина является точной в том смысле, что существуют коды, достигающие этой границы[1].

Примечания

  1. Левенштейн В. И. Применение матриц Адамара к одной задаче кодирования. — Проблемы кибернетики. — 5:123-136 [2A], 1961.

Литература

  • Плоткин М. Двоичные коды с заданным минимальным расстоянием. — Кибернетический сборник. — Москва, 7:60-73 [2], 1963.
  • F. J. MacWilliams and N. J. A. Sloane. The Theory of Error-Correcting Codes. — Amsterdam, Netherlands, North-Holland, § 2.2, 1977.

См. также