Перед вами квадратные числовые таблицы с ячейками-клеточками, заполненными единицами и нулями. Нули, для простоты картины, представлены пустыми клетками. Порядки первой пары квадратов — три и семь, иначе — это цифровые таблицы размерностей 3 x 3 и 7 × 7. По терминологии, принятой в современной комбинаторной математике, такие квадраты называются матрицами инцидентности симметричных блок-схем (СБС). Далее — просто СБС. Все строки СБС могут быть образованы из ее первой строки за счет циклического сдвига исходного ряда единиц и нулей. Для определенности, как здесь, — вправо. Операция циклического сдвига вправо описывается следующим образом: все разряды-клеточки текущей строки сдригаются на одну клетку-шаг вправо; значение крайнего правого разряда (клетки), «выпадающего» за рамки большого квадрата, присваивается левой, «пустой» после сдвига, клетке.
Итак, СБС могут быть порождены циклическим сдвигом всего лишь одной, первой, строки. Все сдвигаемые на один шаг строки по очереди помещаются в позицию второй строки, третьей и так далее.
Справедливости ради нужно отметить, что не все СБС с заданными свойствами могут быть построены вот так, циклически. Иногда приходится применять более сложный способ. В некоторых случаях СБС с заданными свойствами вообще не существуют. Нас будут интересовать количественные характеристики различимости любой пары строк, взятой из матрицы инцидентности блок-схемы. Ступенчато-треугольные диаграммы справа от соответствующих СБС показывают, что любые произвольно выбранные две строки матрицы, например третьего порядка, различаются в двух позициях (разрядах), а неодинаковость для любой пары строк матрицы седьмого порядка характеризуется числом четыре. В разделе прикладной информатики, занимающейся защитой от помех представленных в цифровой форме данных при их передаче или хранении, строки СБС называют часто двоичными векторами, двоичными числами, а показатель их различимости друг от друга — расстоянием, расстоянием в смысле Хэмминга, кодовым расстоянием. Кодовым — это потому, что приведенные выше конструкции в принципе могут служить основой для построения так называемых помехоустойчивых кодов. В хороших системах «охраны информации» величина кодового расстояния «пропорциональна мощности помех», которым эти коды могут противостоять.
Ниже каждой пары «СБС — диаграмма» даны характеристики симметричности СБС. Слева и справа от косой, наклоненной вправо черты, или «слэша» («след от косого сабельного удара», англ.) приведены параметры симметричности соответствующих СБС относительно их двух главных диагоналей, выбранных в качестве осей симметрии. Слева — для наклоненной верхним концом влево главной диагонали, справа — для наклоненной тоже верхним концом, но вправо, главной диагонали. Вне скобок указаны количества несовпадений клеточек (по их содержанию), симметрично расположенных относительно одной из двух возможных осей. Оси, как мы условились, ориентированы вдоль главных диагоналей. В скобках можно видеть суммарное число единиц по клеточкам, лежащим на конкретной главной диагонали.
Переведем дыхание и посмотрим, что за музейные диковинки у нас получились. Заодно дадим еще несколько полезных пояснений и определений. Все двоичные строки-векторы СБС в совокупности образуют систему кодовых слов, или кодовую систему, способную исправлять некоторые ошибки, иногда — только обнаруживать их, но даже эта способность на практике может оказаться очень полезной. Появление ошибок вероятно при передаче кодовых слов системы, например, по радиоканалу. Кодовые расстояния по Хэммингу для любой пары строк у СБС третьего и седьмого порядка все одинаковые. Коды, построенные на основе подобных СБС, называются эквидистантными. Количество единиц в одной двоичной строке специалисты по кодам называют весом. Можно видеть, что в любой представленной СБС вес каждой ее строки одинаков. Коды с таким свойством называют равновесными. Отметим, что из всех приведенных здесь СБС левый и правый параметры симметричности одновременно равны нулю только у СБС третьего порядка. Перестановка любой пары строк (или столбцов) свойств равновесности или эквидистантности СБС не меняет, а вот параметры симметричности изменить может. Если направленно пользоваться операцией перестановки пары строк, вслед за которой обязательно следует перестановка пары столбцов, Можно изменить параметр симметричности по «несимметричной оси», повысить или понизить его, даже свести к нулевому значению. Однако последнее не всегда возможно. СБС более высоких порядков, аналогичные рассматриваемым, успешно применялись в парольной кодовой защите данных системы управления ДОКС — долговременной орбитальной космической станции «Мир».