1. Сравнить коды V5,6 и V5,10, а также коды V6,8 ... V6,12 по их способности исправлять двойные замещения вида 0 → 1.
2. Для кода Vn, n+1 сформулировать признак исправимости замещения двух или большего числа символов. Каким будет этот признак для кода Vn, 2n?
3. Найти алгоритм исправления (исправимого) двойного замещения для кодов Vn, n+1 и Vn, 2n.
4. Коды Vn, k можно использовать для исправления одиночных замещений вида 1 → 0). Каково в этом случае правило декодирования?
5. Построив код V7,8, убедиться, что на местах с номерами 3, 5, 6, 7 встречаются всевозможные наборы из нулей и единиц и, значит, символы с этими номерами играют роль информационных.
6. Утверждение задачи 5 можно обобщить на случай любого кода Vn, n+1, для которого n = 2m - 1.
Рассмотрим m позиций с номерами 1, 2, ..., 2m-1. Выберем произвольную комбинацию из нулей и единиц в оставшихся n-m позициях. Тогда существует единственное заполнение позиций 1, 2, ..., 2m, для которого получившееся слово удовлетворяет условию (2), т. е. является кодовым. Отсюда вытекает, что число слов кода Vn, n+1 равно 2n-m, т. е. совпадает с числом слов в коде Хемминга длины n = 2m - 1.
7. Пусть k ≥ n + 1 есть простое число. Через Vn, k обозначим код, состоящий из всех слов υ = x1 х2 ... хn, для которых выполняются два соотношения:
Σni=1 ixi ≡ 0 (mod k),
Σni=1 i2xi ≡ 0 (mod k).
Построить код V6,7. Убедиться, что он исправляет любые одиночные и двойные замещения вида 0 → 1.
8. Показать, что всякий код Vn, k (см. задачу 7) исправляет любые одиночные и двойные замещения вида 0 → 1. Сохранится ли это свойство для составного k?