/
Текст
i Дискретная
математика
и математические
вопросы
кибернетики
Дискретная
математика
и математические
вопросы
кибернетики
Под общей редакцией
С. В. ЯБЛОНСКОГО
и О. Б. ЛУПАНОВА
Том первый
т,
ИЗДАТЕЛЬСТВО «НАУКА»
ГЛАВНАЯ РЕДАКЦИЯ
ФИЗИКО-МАТЕМАТИЧЕСКОЙ ЛИТЕРАТУРЫ
МОСКВА 197 4
518
Д48
УДК 519.95
Авторы:
Ю. Л. ВАСИЛЬЕВ, Ф. Я. ВЕТУХНОВСКИЙ, В. В. ГЛАГОЛЕВ,
10. И. ЖУРАВЛЕВ, В. И. ЛЕВВНШТЕЙН, С. В. ЯБЛОНСКИЙ
Дискретная математика и математические вопросы
кибернетики, т. I, под общей редакцией С. В.
Яблонского и О. В. Лупанова, Главная редакция физико-
математической литературы изд-ва «Наука», М., 1974.
Первый том двухтомной монографии,
написанной коллективом специалистов но математической
кибернетике. Книга может служить учебным
пособием для студентов, специализирующихся в
области теоретической кибернетики. В первый том
входят главы, посвященные функциональным
построениям в многозначных логиках, теории
дизъюнктивных нормальных форм, теории графов и теории
кодирования.
Книга будет полезна широкому кругу научных
работников — специалистов в других разделах
математики, а также инженерам, работающим в
области вычислительной техники, автоматики, связи
и электроники.
СЗ Главная редакция физико математической литературы
издачельства «Наука», 1974.
„ 20204-159 /
^ 053@2)-74 457t
ОГЛАВЛЕНИЕ
Предисловие 7
Раздел 1. ВВЕДЕНИЕ В ТЕОРИЮ ФУНКЦИЙ fe-ЗНАЧНОЙ
ЛОГИКИ 9
Глава I. Алгебра логики 9
§ 1. Функции алгебры логики 9
§ 2. Формулы. Реализация функций формулами 12
§ 3. Эквивалентность формул. Свойства элементарных
функций. Принцип двойственности 17
§ 4. Разложение булевых функций по переменным.
Совершенная дизъюнктивная нормальная форма 21
§ 5. Полнота и замкнутость 24
§ 6. Важнейшие замкнутые классы. Теорема о полноте 28
§ 7. Представление о результатах Поста 34
Глава П. fe-значная логика 35
§ 8. Функции А-значной логики. Формулы я реализация
функций формулами 35
§ 9. Примеры полных систем 39
§ 10. Распознавание полноты. Теорема А. В. Кузнецова о полноте 42
§ 11. Некоторые свойства существенных функций. Теорема Слу-
пецкого и ее приложения 46
§ 12. Теорема Саломаа 54
§ 13. Особенности fc-значных логик 59
Ля тература 65
Раздел 2. АЛГОРИТМЫ ПОСТРОЕНИЯ МИНИМАЛЬНЫХ
ДИЗЪЮНКТИВНЫХ НОРМАЛЬНЫХ ФОРМ ДЛЯ ФУНКЦИЙ
АЛГЕБРЫ ЛОГИКИ 67
Глава I. Основные понятия теории дизъюнктивных нормальных форм 67
§ 1. Постановка задачи 67
§ 2. Геометрическая интерпретация - 69
1*
4
ОГЛАВЛЕНИЕ
§ 3. Допустимые конъюнкции 70
§ 4. Сокращенная д. н. ф 71
§ 5. Методы построения сокращенной д. н. ф 74
§ 6. Тупиковые д. н. ф 76
§ 7. Способы построения тупиковых д. н. ф 77
§ 8. Не всюду определенные (частичные) функции алгебры логики S1
Глава П. Локальные алгоритмы упрощения дизъюнктивных
нормальных форм ... 83
§ 9. Операции над д. н. ф 84
§ 10. Алгоритм Квайна 85
§ 11. Необходимое и достаточное условие вхождения
конъюнкции в д. н. ф. DUt 87
§ 12. Л-алгоритм 90
§ 13. Кольцевой алгоритм 93
§ 14. Отсутствие локального критерия вхождения конъюнкции
в д. н. ф. DUh 95
Литература 98
Раздел 3. МЕТРИЧЕСКИЕ СВОЙСТВА ДИЗЪЮНКТИВНЫХ
НОРМАЛЬНЫХ ФОРМ 99
Глава I. Цель оценок и обзор оценок 99
Глава II. Оценки максимальных значений 106
§ 1. Введение 106
§ 2. Длина совершенной и сокращенной д. н. ф 108
§ 3. Протяженность 112
§4. Длины кратчайших, тупиковых и минимальных д. н. ф. . . . 116
§ 5. Число тупиковых д. н. ф. и число кратчайших д. н. ф. . . . 125
§ 6. Разброс 126
§ 7. Плотные функции 128
Глава III. Оценки типичных значений 130
§ 8. Вспомогательные результаты 131
§ 9. Длина сокращенной д. н. ф , 137
§ 10. Результативность некоторых локальных алгоритмов ... 139
§ 11. Длина кратчайшей д. н. ф 140
§ 12. Число тупиковых д. н. ф 144
Литература 147
Раздел 4. ГРАФЫ И СЕТИ 149
Глава 1. Графы 149
§ 1. Элементы графа. Способы задания графа. Подграфы .... 149
§ 2. Цепи. Циклы. Связность 153
ОГЛАВЛЕНИЕ 5
§ 3. Деревья 155
§ 4. Эйлеровы (четные) графы. Цикломатическое число .... 158
Глава II. Двухполюсные сети . . • 160
§ 5. Сети. Цепи в сетях. Соединения сетей 160
§ 6. Потоки в сетях 162
§ 7. Сильно связные сети и несепарабельные графы 174
§ 8. Каноническое разложение сетей 178
Глава III. Подсчет числа графов и сетей 186
§ 9. Некоторые простые оценки 186
§ 10. Подсчет числа деревьев 188
§ 11. Оценки числа графов и сетей с р ребрами 190
Глава IV. Раскраска графов 195
§ 12. Хроматическое число и хроматический класс 195
§ 13. Раскраска вершин 195
§ 14. Раскраска ребер 200
Литература 205
Раздел 5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ 207
Введение 207
Глава I. Свойства кодов 209
1 § 1. Побуквенное кодирование. Коды и их свойства 209
* §[2. Конструкции для распознавания свойств кодов 216
§ 3. Автоматное кодирование и декодирование 221
Глава II. Эффективное кодирование 225
* § 4._ Оптимальный код. Методы построения кодов, близких
к оптимальному 225
§ 5. Метод Хаффмена построения оптимального кода 229
§ 6. Асимптотически оптимальное кодирование блоками при
известном и неизвестном распределении вероятностей . . . 232
§ 7. Асимптотически оптимальный счетный префиксный код . . . 237
Глава III. Коды с исправлением ошибок 241
1 § 8. Некоторые определения и постановка задач 241
§ 9. Примеры кодов с исправлением одиночных ошибок
различных типов 247
§ 10. Класс линейных кодов \ 255
Глава IV. Методы получения оценок для кодов с исправлением
ошибок 260
§ 11. Оценки, основанные на рекуррентных соотношениях . . . 260
§ 12. Метод эквидистантных кодов 264
§ 13. Методы заполнения п покрытия 267
6
ОГЛАВЛЕНИЕ
Глава V. Методы построения кодов с исправлением ошибок .... 277
§ 14. Метод Боуза—Чоудхури 277
§ 15. Методы построения максимальных кодой в случае
больших расстояний 282
§ 16. Метод случайного выбора кода 293
IIриложеиис. Некоторые оценки и предельный соотношения .... 299
Литература 302
1Гредмстный указатели 3(Jt>
ПРЕДИСЛОВИЕ
Данная монография состоит из двух томов. Первый том в
основном посвящен вопросам дискретной математики, второй том —
в основном вопросам математической кибернетики. Дискретная
математика является базой для математической кибернетики.
Включенный в монографию материал по дискретной математай©
в значительной степени определяется материалом по
математической кибернетике, поэтому между ними трудно провести четкую
грань.
В первый том входят разделы, относящиеся к функциональным
построениям в алгебре логики и в многозначных логиках, к
теории дизъюнктивных нормальных форм, теории графов и теории
кодирования. Во второй том входят разделы, относящиеся к
теории автоматов, синтезу управляющих систем и эквивалентным
преобразованиям управляющих систем, теории надежности и ряду
смежных вопросов.
Необходимость этого издания продиктована тем, что
указанные разделы входят в курсы, читаемые на
механико-математических факультетах и факультетах вычислительной математики
и кибернетики университетов и других вузов, а также
используются при подготовке аспирантов. В настоящее время для этой
цели используются статьи из 51-го тома Трудов математического
института им. В. А. Стеклова, несколько монографических
статей из сборников «Проблемы кибернетики», «Кибернетических
сборников», сборника «Автоматы» и др. Многие из этих изданий
давно стали библиографической редкостью. Следует также
отметить, что количество статей, содержащих существенные
результаты, непрерывно растет.
Отобранный авторами монографии материал не претендует на
полноту, но составляет основу указанных выше разделов; в
основном это факты уже прошедшие проверку временем.
Поскольку материал монографии призван служить базой для
обучения и научной работы, авторы не стремились формулировать
и доказывать результаты в наиболее общей форме. С другой
стороны, авторы старались дать представление и о методах соответ-
8
ПРЕДИСЛОВИЕ
ствующих направлений; эти методы демонстрируются в наиболее
простых ситуациях. Разделы монографии написаны разными
авторами и являются в определенном смысле независимыми, хотя
между ними имеется известная связь. В частности, некоторые
разделы используют отдельные факты и понятия из других
разделов. Кроме того, сделана попытка унифицировать понятия
и обозначения в разных разделах, хотя это не удалось провести
до конца. Таким образом, монография является чем-то
промежуточным между сборником статей и книгой. Следуя традициям
учебной литературы, авторы монографии стремились к
сокращению упоминаний фамилий авторов отдельных результатов; такие
упоминания делаются лишь в исключительных случаях.
Мы выражаем благодарность редактору монографии
В. М. Храпченко, который проделал большую работу, далеко
выходящую за пределы обычного редактирования.
С. В. Яблонский, О. Б. Лупанов
Раздел 1
ВВЕДЕШШ В ТЕОРИЮ ФУНКЦИЙ
fc-ЗНАЧНОЙ ЛОГИКИ
С В. Яблонский
Глава I. АЛГЕБРА ЛОГИКИ
§ 1. Функции алгебры логики
Пусть U={uv щ, • • ., ит,. . .} — исходный алфавит
переменных (аргументов). Будем рассматривать над этим алфавитом
функции f(uh, щг, ..-, ",-„) (utj?= uiv j=?l), аргументы которых
определены на множестве Е2=(О, 1}, и такие, что/(ах, а2 . . ., а„)е
е Е2, когда а. е#2 (i=*=l, 2,..., /г). Эти функции мы будем называть
функциями алгебры логики или булевыми функциями. Чтобы
избежать сложных обозначений для „,,„.„„„. ,
*¦ „ ТАБЛИЦА 1
индексов переменных, мы оудем
употреблять в качестве мета-
обозначений (обозначений для
произвольных символов
алфавита U) символы х, У, z, . . .,
а также эти символтд с
индексами. Таким образом, запись
/(жц х2, . . ., хп) понимается
как запись функции, зависящей
от любых аргументов uiy, ui2, . . .
. .., щп, где UijФии при ]^=1.
Очевидно, что для задания
функции f (хх, х2, . . ., xt) достаточно указать, какое значение
функции соответствует каждому из наборов значений аргументов,
т. е. выписать ее таблицу (см. таблицу 1).
Легко видеть, что п переменных в совокупности принимают
2" различных значений. Для удобства мы употребляем
стандартное расположение наборов: если набор рассматривать как
двоичную запись числа, то их расположение соответствует
естественному расположению чисел 0, 1, . . ., 2" — 1. Далее мы видим,
что каждая функция / (хъ х2, . . ., х„) определяет отображение
Е2х Е2х ¦ • • X Е2 -»• Е2. Поэтому естественно интерпретировать
ж,.
0
0
0
1
• • #И-1 ХП
,.. Q Q
...01
...10
...11
/to, ••
ко,
/@,
/@,
/а,
, Хп_lt Хп)
. -, 0, 0\
. ., 0, 1)
• ., 1. 0)
.., 1,1)
п раз
10
1. ТЕОРИЯ ФУНКЦИЙ fc-ЗНАЧНОЙ ЛОГИКИ
/как символ, обозначающий это отображение, а хх, х2, . . ., хя,
как названия столбцов. В этом случае функции / (хг, х2, . . ., х,)
и / (Уи Уъ> • ¦ •» У„) будут задавать одно и то же отображение, и
их таблицы будут отличаться только, быть может, названиями
столбцов. Обозначим через Р2 систему всех функций алгебры
логики над алфавитом U, содержащую также константы 0 и 1.
Если зафиксировать п переменных хг, х2, . . ., хк, то различные
таблицы будут отличаться друг от друга лишь значениями в
правом столбце. Поэтому справедливо следующее утверждение.
Теорем а ?1. Число; р2(п) всех функций из Р2, зависящих
от п переменных хх, х2, . . ., хп, равно 2г".
Здесь следует обратить внимание на два обстоятельства:
1) Число функций алгебры логики, зависящих от заданных п
аргументов, конечно. Поэтому, если нужно выяснить, обладают ли
функции из этого конечного множества каким-либо свойством,
достаточно осуществить так называемый перебор функций из
данного множества. Однако числа р2(п) с ростом п быстро растут:
ft A) = 4, ft B) = 16, Pi C) = 256, р2 D) = 65536, ...
Таким образом, уже при сравнительно небольших значениях
п (п ^ 6) перебор становится практически неосуществимым, даже
с использованием вычислительной техники.
2) С ростом числа аргументов таблица, задающая функцию,
сильно усложняется. Так, например, уже при сравнительно
небольшом числе аргументов, скажем, при и=10, таблица
становится громоздкой (имеет 1024 строки), а при п=20 практически
необозрима.
Введенное выше понятие функции несовершенно тем, что оно
не позволяет рассматривать функции от меньшего числа
аргументов как функции от большего числа аргументов. Для устранения
этого недостатка введем следующее" определение.
Определение 1. Функция / (%, . . ., xt_y, xt, ж<+1, . . ., xv)
из Pa зависит существенным образом от аргумента ж,., если
существуют такие значения аг, . . ., a{_lt ai+1, . . ., ап
переменных xv ... х._г, х{+1, . . ., хп, что
/(«1» • • м <*,_!, 0, а.+1, . .., а,)^/(«1, . . ., а(_г, 1, а.+1, . . ., а„).
В этом случае переменная х{ называется существенной. Если х{
не является существенной переменной, то тогда она называется
несущественной или фиктивной.
Пусть для функции f(xx, . . ., хП) переменная х. является
фиктивной. Возьмем таблицу для функции /(а^, . . ., гн) и по ней
построим новую таблицу пу темвычеркивания всех строк вида
<xi+1, . . ., а„) и вычеркивания столбца для
аргумента х(. Полученная таблица будет определять некоторую
функцию g{xx, . . ., х._г, xi+i, . . ., .г;,). Будем говорить, что функция
ГЛ. I. АЛГЕБРА ЛОГИКИ
11
gixt. • • •> x*-v xi+i' • • •' x«) получена из f (xlf . . ., xn) путем
удаления фиктивной переменной х4, а также, что функция
f(xu • • •. х») получается из g(xx, . . ., x{_lt xM, . . ., xt) путем
введения фиктивной переменной х{.
Определение 2. Функции f1 и /2 называются равными,
если функцию /2 можно получить из /х путем добавления и
изъятия фиктивных аргументов.
В дальнейшем всюду функции рассматриваются с точностью
до фиктивных переменных, т. е. мы считаем, что если задана
функция /х, то задана и любая равная ей функция /2. Ввиду этого для
обозначения равных функций мы будем ислользовать один и
тот же функциональный символ, т. е. /х^/г-
Заметим, что существуют функции двух типов, которые не
имеют существенных переменных: первые из них равны
тождественно 0, вторые 1. Ввиду этого мы включили в наши
рассмотрения константы 0 и 1 (рассматривая их как функции от пустого
множества переменных).
Замечай и>е. Если задана конечная система функций из
Р?.' {/и • • •¦> /*}' s ~i& li T0 поскольку функции рассматриваются
с точностью до фиктивных переменных, можно считать, что все
они зависят от одних и тех же переменных хг, . . ., хп, т. е. имеют
вид: f^xj, . . ., zK), ...,/, (xlt . . ., x„).
В заключение этого параграфа рассмотрим примеры функций
алгебры логики (они определяются таблицами 2 и 3).
ТАБЛИЦА 2 ТАБЛИЦА 3
д:
0
1
0
0
0
1
1
1
X
0
1
X
1
0
Ж, X,
0 0
0 1
1 0
1 1
(*1&*2)
0
0
0
1
(XiVb)
0
1
1
1
(ж,^-х,)
1
1
0
1
(x^ + x,)
0
1
1
0
(*l/*>)
1
1
1
0
Данные функции часто употребляются в математической
логике и кибернетике и играют такую же роль, как, например,
х" или sin х в анализе, поэтому их можно считать элементарными
функциями.
1) fi(x)—0 — константа 0.
2) и(х) — 1 — константа 1.
3) /з(х)=х — тождественная функция.
4) fi(x)=x — отрицание х; читается также как «не х».
5) fb(xx, x2)= (x1&.xi) — конъюнкция хх и х2; читается также
как «?j и х2». Вместо знака & иногда употребляется знак • или
12
1. ТЕОРИЯ ФУНКЦИЙ fc-ЗНАЧНОП ЛОГИКИ
вообще знак опускается, т. е." пишут (х^). Эту функцию часто
называют логическим умножением или логическим произведением.
6) /в (хп хъ)=(х1 V х2) — дизъюнкция хг и хг; читается также
как «,хг или ж2». Эту функцию часто называют логическим
сложением или логической суммой.
7) }Ахъ х2)=(х1 -> а;2) — импликация хх и #2, читается также
как «из хх следует х2». Эту функцию часто называют- логическим
следованием.
8) fs(xx, х2)=(х1-\-х2) — сложение хг и хг по mod 2.
9) /эС-^и #2) =(xJxil — функция Шеффера.
Заметим, что
(a:1&a:2) = niin(a;1, х2) = {х1-хг), (х1\/ х2) = тах(х1, х2).
§ 2. Формулы, Реализация функций формулами
Как и в элементарной алгебре, исходя из элементарных
функций, можно строить формулы.
Определение 3. Пусть ^ — некоторое (не обязательно
конечное) подмножество функций из Р2.
а) Базис индукции. Каждое выражение f(xv . . ., хп), где
/е^, называется формулой над ср.
б) Индуктивный переход. Пусть /„(х^ . . ., хт) —
функция из 'р иЛц . . ., Ат — выражения, являющиеся либо
формулами над ср, либо символами переменных из U. Тогда
выражение f0(Ax, . . ., Ат) называется формулой над °р.
Таким образом, с множеством "р связано, вообще говоря,
бесконечное множество формул над ^5.
Пример 1. Пусть 'р — множество элементарных функций.
Следующие выражения являются формулами над ср:
1) (((ж^о) + xi) + *2).
2) (х1 (Х2 + ?3)),
3) (^ V ((х2 -> аг3) (аг3 -> х2)))
В дальнейшем будем обозначать формулы заглавными
готическими буквами с квадратными скобками, в которых
перечисляются функции, необходимые для их построения. Так, запись
ЯГА, ..../Л
означает, что формула ЭД построена из /1; . . , /,. В тех случаях,
когда нужно обратить внимание на множество переменных,
которые участвуют в построении формулы, пишут
Ж*л. ••-*»)•
Формулы, которые использовались для построения формулы ЗД,
будем называть подформулами формулы QI.
ГЛ. I. АЛГЕБРА ЛОГИКИ 13
Пусть формула 21 является формулой над множеством ^ =
= {Л(*1, .-•.*,), ..-./.(«i. •••> О). т- е. 21 = 21 ГД, .... /,].
Возьмем множество функций Q = {#х (а^, .. ., ж„), ...,g, (xv . . -,хп)},
где gi имеет те же переменные, что и Д. (i = l, ..., s).
Определение 4. Пусть формула Ъ = 93[g1; ..., g,]
получается из 21 путем замены I * . Тогда говорят, что фор-
Vol • • • 6g/
мула 93 имеет то же самое строение, что и формула 21.
Пример 2.
1) =р = {xv (х1 & х2)}, 21 = {хх & (я2&ж3));
2) ?5 = {«!, («! -* х2)}, 93 = (жх -> (ж2 -> ж3))-
Очевидно, что 21 и 93 имеют одинаковое строение.
В дальнейшем строение формулы обозначается через С (с
индексами или без них), и формула 21 однозначно определяется
строением С и упорядоченной совокупностью {Д, Д, . . ., Д}.
Поэтому можно писать
21 = С|Д, Д, ...,/,].
Сопоставим теперь каждой формуле 21 (а^, . .., хп) над °р
функцию /(а^, . . ., жя) из Р2, опираясь на индуктивное определение
формул.
а) Базис индукции. Если 21 fo, . . ., xri) = f(x1, . . ., .r„),
где /б ^, то в этом случае мы сопоставим формуле 21 (хъ ..., хя)
функцию f(x1, ..., х„).
б) Индуктивный переход. Если 21 {хг, ..., xj —
= f0(A1, ..., Ат), где А{A = \, . . ., т) является либо формулой
над ср, либо символом переменной х ч(), то тогда в первом случае,
по предположению индукции А. сопоставлена функция Д. из Р2,
а во втором случае А{ сопоставляется тождественная функция
Д = xJU). Сопоставим формуле 21 (xv ..., хя) функцию / (а^,.. .,хп) =
= /о (Д> • • •' Ли)-
Если функция / соответствует формуле 21, то говорят также,
что формула 21 реализует функцию /. Функцию /,
соответствующую формуле 21, будем называть суперпозицией функций из °р,
а процесс получения функции / из ^> будем называть операцией
суперпозиции.
Пример 3. Пусть Д^, х2), f2{xx, х2, х3) и Д^, х%, хя) —
функции, соответствующие формулам из примера 1.
1) Формула (((х1 x^+x-J+Xz) строится за три шага. Мы имеем
следующие подформулы:
(«A). ((*i*s) + xi) и (((^А) + *i) + «г)-
В таблице 4 приводятся соответствующие им функции, которые
вычисляются с помощью таблицы 3 и правила б). Последний
14
1. ТЕОРИЯ ФУНКЦИЙ ft-ЗНАЧНОЙ ЛОГИКИ
ТАБЛИЦА 4
X, Ж,
0 0
0 1
1 0
1 1
(*л)
0
0
и
1
((*л) + *i)
0
0
1
0
(«ад) + *.) + «.>
0
1
1
1
_ _ —1
столбец определяет функцию f1(x1, x2); очевидно, что fi{xv х2) —
= тах(а:1, х2).
2) Функцию /2(^ц %i #з) мы будем строить несколько иным
путем (также вытекающим из определения). Для каждого набора
(о1( о2, о3), используя таблицы 2 и 3, найдем /2(°i, oa, а3) как
/г(°1> 32> J3) = (di(a2 + a3))
(см. таблицу 5, первый столбец).
ТАБЛИЦА 5
Хх Хъ Х3
0 0 0
0 0 1
0 1 0
0 1 1
А<
«1, *2> Жз)
0
1
1
0
/з (*i, *„ *з)
0
1
1
0
Xt Xj ЭС3
1 0 0
1 0 1
1 1 0
1 1 1
Л (xIi *2f жз)
0
0
0
0
/з(*1,-а*. ж3).
0
0
0
0
3) Для нахождения функции f3{xx, х.г, х3) будехм, опираясь на
таблицы 2 и 3, искать те наборы, на которых формула
К V ((*« -* *з) (*з -*¦ хъ)))
обращается в 1. Очевидно, что это равносильно нахождению
случаев, при которых формула (a^V {{х2 -> х3)(х3 -> х2))) равна 0.
Последнее имеет место при х1=0 в тех случаях, когда ((х2 ->¦ х3) •
• (х3 -*¦ х2)) обращается в 0. Наконец формула ((х2 -»• х3) (х3 -*¦ х$))
обращается в 0, когда по крайней мере одна из формул
(х2 -+ х3), (х3 -*¦ х2) обращается в 0, что имеет место при хг = \,
х3=0 или х2=0, х3=1. Таким образом, /3(х1? х2, х3) равна 1 на двух
наборах @, 0, 1) и @, 1, 0) (см. таблицу 5, второй столбец).
Замечание 1. Пупкт б) в определении формул (стр. 12)
можно заменить на пункт, использующий две более простые
операции.
ГЛ. ! ЛЛГК.КГА. ЛОПШК
1Г,
1) Операция подстановки переменных. Пусть s= I I —
подстановка переменных (зг,у не обязана отличаться от х{, при
j^Ll). Эта подстановка позволяет произвести подстановку
переменных у функции /(xj, . . ., х,) и получить из нее функцию
f(x,;, . ¦ ., ?«„)• Очевидно, что подстановка переменных включает
в себя переименование переменных, перестановку переменных
и отождествление переменных.
2) Операция бесповторной подстановки функций. Она
позволяет строить выражения f{Av . . ., Ат), где А. либо формула,
либо переменная из U, причем хотя бы одно из А( отлично от
переменной, а множества переменных, входящих в Af и А р не
пересекаются.
Очевидно, что всякая формула над <р мо?кет быть получена из
функций, принадлежащих °р, путем применения сначала операции
бегао-втор-аой "подстановки функций (ноо'шць ^тяяф-й. жатятякртп-
ной), а затем операции подстановки переменных (причем
однократной).
Замечание 2. Если Я?> содержит тождественную
функцию, то формулировка пункта б) в определении формул и
функций, реализуемых формулами, упрощается: нужно предполагать,
что все А. являются формулами над °р.
Введенный нами язык формул удобен для записи функций
алгебры логики, описывающих различные условия или
высказывания. Для иллюстрации рассмотрим два примера. В них
используются высказывания вида «имеет место xi> или просто «ж», что
означает, что при данных условиях х истинно, т. е. равно 1.
Пример 4. Сложение re-разрядных двоичных чисел. Мы
исходим из обычного алгоритма сложения «столбиком»
хи ... х2 х1
Уп---У2 Уг
ш
Zk+1 Zn ¦ ¦ ¦ Z1 Z]
Требуется выразить значения разрядов суммы через значения
разрядов слагаемых. Для решения этого вопроса рассматривают
вспомогательные величины wn, . . ., ^,'где wi обозначает
результат переноса из г-го разряда в (г+1)-й разряд. Эти величины
появляются в упомянутом алгоритме.
Ясно, что
s, = ((*, +У,)+ «>,_,) К = 0, х^==ум^=0, / = 1,...,» + *)¦
Величина w{ определяется условием переноса из г-го разряда
в (г-И)-й разряд: «перенос в (г+1)-й разряд имеет место тогда
и только тогда, когда по крайней мере две из трех величин
jli 1. ТЕОРИЯ ФУНКЦИЙ ft-ЗНАЧНОЙ ЛОГИКИ
х{, ,(/,-, w,._1 ])авны 1». Это высказывание более подробно можно
сформулировать так: «а.;, и уу или «ж(. и w,^1» или «у{ и «?,_]»•
Если теперь заменить союзы «и» и «или» символами & и V>
то получится следующая формула для wt:
w, = (((х,. & Vt) V (xt & ш,.,)) V 0//& «>,_,)) (/ = 1, ..., »).
Пример 5. Задача о вызове свободного лифта. Пусть
в подъезде имеется три лифта, обслуживающих п этажей. На
каждом этаже имеется устройство, которое позволяет при
нажатии кнопки вызывать ближайший свободный лифт.
Спрашивается, как можно на логическом языке записать условие вызова
i-го лифта, s=l, 2, 3. Мы рассмотрим эту задачу для случая
вызова лифта на первом этаже.
Для описания исходной информации введем Зга аргументов
X\t ,Vl> zi> #2> ^2' Z2' ' ' •' *»> Уп' Z>i>
где x. = i тогда и только тогда, когда 1-й лифт находится на ?-м
этаже и свободен, г/, = 1 тогда и только тогда, когда 2-й лифт
находится на ?-м этаже и свободен, z( — i тогда и только тогда, когда
3-й лифт находится на i-м этаже и свободев.
Обозначим через /r (xlt yv zx, . . ., хп, уп, z„),. . ., /ш (хг, уг,
zlt . . ., хп, уп, zj функции, равные 1 тогда и только тогда, когда
вызывается лифт с номером соответственно 1, 2, 3. Условие
вызова 1-го лифта или функция /г, характеризуется тем, что «1-й
лифт свободен, и нет свободных лифтов, расположенных на более
низком этаже, чем 1-й лифт». Это высказывание можно выразить
подробнее следующим образом: «первый лифт вызывается тогда
и только тогда, когда первый лифт находится на первом этаже
и свободен или на первом этаже нет свободных лифтов с номерами
2 и 3, и в этом случае первый лифт находится на 2-м этаже и
свободен, или на 2-м этаже нет свободных лифтов с номерами 2 и 3
и здесь в свою очередь. . .». Запишем это высказывание через
высказывания хг, уг, zlt . . ., хп, у„, zn: «первый лифт вызывается
тогда и только тогда, когда хг, или когда «не уг и не z^>, и в этом
случае х2 или «не г/2 и не z2» и здесь в свою очередь. . .». Теперь
нетрудно получить формулу для /г, если заменить союзы «и»
и «или» на «&» и «V»! частицу «не» на «"» и расставить скобки
и соответствии с соединительными словами:
U (*1. У1, ZV • • •. Х»Уп, Z„) = {Хг V ((ft & *l) & (Г2 V ((&&*з) ^ (• • • )))))•
Аналогичные формулы получаются для функций /п и /П1:
fu(xl>Vl> Zj, ¦••»«„, Уп, Z„) = {yx V((^l&^l)&(.V2V((^2&Z2) &(...))))),
/m(*i. Ут «1. • • -'Хн,уя, zfl) = (z1V((«i&?i)&(*2 V((*a&&)&(- • •)))))•
Таким образом, язык формул представляет известный^интерес.
I'JI I. АЛГЕБРА ЛОГИКИ
17
§ ',). Эквивалентность формул. Свойства элементарных
функций. Принцип двойственности
Мы видели, что каждой формуле над If) соответствует функция
алгебры логики, причем различным формулам могут
соответствовать равные функции (см. примеры).
Определение 5. Формулы 1 и 93 над ^ называются
эквивалентными, если соответствующие им функции /^ и Jcq равны,
т е. /<2i = fcQ- Запись ЭД = 93 будет означать, что формулы 51 и
<23 эквивалентны.
Пример 6.
1) 0 = (х&х),
2) (х1 (х2 + х3)) = (хх V ((ж2 -* х3) (х3 -+ ж2))),
3) (х -»{/) = (у ->• х).
Приведем список эквивалентностей (тождеств),
характеризующий свойства некоторого множества элементарных функций
(главным образом, множества @, 1, х, (хх & ж2), (х1 V х2)})*).
Обозначим через (х1 о ж2) любую из функций (х1 & х2), (хх\/хг),
(xt |-.г2). Существенно только, чтобы символ о в тождестве всюду
имел один и тот же смысл.
1. Функция (а^о^г) обладает свойством ассоциативности:
((#! О Х2) О Ж3) = (хх О (х2 О Х3)).
2. Функция (х1ох2) обладает свойством коммутативности:
(х1 о х2) = (х2 о Xj).
3. Для конъюнкции и дизъюнкции выполняются
дистрибутивные законы:
((х, V х2) & х3) = (fo & Xj) V (а* & хз)),
{{Х1 & Х2) \/ Х3) = ((Ж1 V *з) & (Ж2 V Жз))-
4. Имеют место следующие соотношения между отрицанием,
конъюнкцией и дизъюнкцией:
х = х, {хх & х2) = (т1 V $2), (ajj V ж2) = (Jj & .г2).
5. Выполняются следующие свойства конъюнкции и дизъюнкции:
(х & ж) = ж, (ж \/ х) = х,
(х&х) = 0, (ж \/ у) =• 1,
(я&0) = 0, (х\/0)=ж,
(я&1) = ж, (ж\/1) = 1.
Тождества легко могут быть проверены путем сопоставления
функций, соответствующих правой и левой частям тождеств.
*) Нетрудно получить аналогичные тождества для множества {0, 1,
2 Дискретная математика, т. I
IN
1. ТЕОРИЯ ФУНКЦИЙ fc-ЗНАЧНОЙ ЛОГИКИ
Замечания. 1. С целью упрощения записи формул мы
условимся, что операция & сильнее операции V> T- е- если нет
скобок, то сначала выполняется операция &, а потом V-
Например, запись (хг Si х2 V хз) означает ((хх & х2) V х3).
2. В силу закона ассоциативности для (ххоа:2) можно вместо
формул ((хгох^ оxs), (x1 о (х2ох3)) пользоваться выражением
(х1ох2ох9), которое не является формулой, но может быть
превращено в нее путем расстановки скобок, причем
функциональные свойства не меняются, как бы мы ни расставляли
скобки.
3. В формулах, у которых внешняя функция является либо
конъюнкцией, либо дизъюнкцией, либо сложением по mod 2,
либо импликацией, либо функцией Шеффера, внешние скобки
опускаются, например, пишем хх ->ж2 вместо (хг ->х2);
опускаются скобки у выражения, если над ним стоит знак ~, например,
пишем Xi -»• х2 вместо (xt —> х2).
В дальнейшем будем употреблять следующие обозначения:
& X. = Хх к Х„ & . . . SiX,, V X. = Хх V ж2 V • • • V х,-
1=1 " |=и
Эти записи имеют смысл также и при s=l.
Удобно сформулировать ряд правил, вытекающих из пунктов
2 и 5 списка тождеств элементарных функций.
Если в логическом произведении один из множителей равен О,
то и логическое произведение равно 0.
Если в логическом произведении, содержащем не менее двух
множителей, имеется множитель, равный 1, то его можно
зачеркнуть.
Если в логической сумме, содержащей не менее двух слагаемых,
имеется слагаемое, равное 0, то его можно зачеркнуть.
Если в логической сумме одно из слагаемых равно 1, то и
логическая сумма равна 1.
В дальнейшем, используя замечания 1, 2'и 3, мы будем
употреблять не формулы, а выражения, отличающиеся от формул
тем, что в них кое-где пропущены скобки. Эти выражения мы
также иногда будем называть формулами.
Очевидно, что если '21' — подформула формулы '21, то при
замене любого ее вхождения на эквивалентную формулу 93' формула *21
перейдет в формулу 03, которая будет эквивалентна 01.
Этот принцип вместе с тождествами для элементарных
функций, к которым присоединяются все тождества, получаемые
подстановкой вместо переменных х, хх, хг, х3 любых переменных
и формул, позволяет осуществлять эквивалентные
преобразования и, тем самым, получать новые тождества.
ГЛ. I. АЛГЕБРА ЛОГИКИ
19
Пример i.
1) х\ V Х\Ч = xi • ! V хг • х% = х\ • О- V хг) = xi' 1 = ^г-
Таким образом, xY\J х^хг=хХл T- е- получаем правило
поглощения произведения хгх2 множителем хг.
2) xsx.z V ¦?& = (хг V -7,) .^2 —1 • хг = %
Итак, жха;.2 V JE^ = х.2, т. е. получаем правило склеивания
произведений х^хг и ?Ах2.
\у зд^з V «да = ад* V -^А V (ж1 V *i) Ж2Ж з = ^А V ж1жз V1 •
• x2xs = ж^ V ^1жз V ж2ж3.
Таким образом, xxx2\J x^^^XjX^XJ хгхя\/ х%х3, т. е. получаем
правило обобщенного склеивания.
Существует еще один способ получения тождеств. Он основан
на использовании так называемого принципа двойственности.
Определение 6. Функция (f(xv . . ., хп))*, равная
J(x1, . . ., хя), называется двойственной функцией к функции
1\Х1, • • •) Хп)-
Очевидно, что таблица для двойственной функции (при
выбранном порядке наборов) получается из таблицы для функции
}(хх, . . ., #к) инвертированием (т. е. заменой 0 на 1 и 1 на 0) столбца
функции и его переворачиванием (см. таблицу 6).
ТАБЛИЦА 6
X i Х-1 Aj
0 0 0
0 0 1
0 1 0
0 1 1
/ (*1, Ж,, Ж,)
1
1
0
0
(/ (жь х,, ж3))*
0
1
0.
1
jC i л^ 0С^
1 0 0
1 0 1
1 1 0
1 1 1
7 4*1» ^1j ^з)
0
1
0
1
(/ (ж,, *,, ж,))*
1
1
0
0
Поскольку (f(xh, ..., x,„))* = f(Xil, ..., Xi„), то функция
(/(ж,-,, ..., х/а)У определяет то же отображение, что и функция
(/(ж,, . . ., xjf. Обозначим это отображение через /*. Тогда
(f(xv ...,x„)T = f(xv .... *„).
Легко видеть, что среди функций 0, 1, х, т, x1Scx2, x1 V х.г
0 двойственна 1т
1 двойственна 0,
,г двойственна ж,
г двойственна х,
а.\ & х% двойственна хх \J хг,
xi V х2 Двойственна хг & х2.
2*
20
1. ТЕОРИЯ ФУНКЦИЙ fe-ЗНАЧНОЙ ЛОГИКИ
Из определения двойственности вытекает, что
/** = (/*)* = /,
т. е. функция f является двойственной к /* (свойство взаимности).
Пусть функция f(xv ..., хп) выражена формулой 21.
Спрашивается, можно ли построить формулу 93, реализующую функцию
f'(xv ..., ад?
Обозначим через хх, . . ., хп все различные символы переменных,
встречающиеся в наборах (хп, ,
Теорема 2. Если
Ф(*1? .... xn)=f(f1{xn, ..
то
ф*(*1. • ••> *„) = /* (Я (*ш ••
' •' ^lpj' '
^lp,)l • •
xlpjl ••
.... xj =
•J xlpjy •
• • •' l^ml' • • •' X>»Pm)-
•' Jm{XmV • • •' X">Pm))>
•> Jm \xmli • ¦ •> Xmpm)).
- Ф (Ж:, . . ., 3;B) =
• •> ^mV^ml' • • •' ^»Pb)) =
¦ •' Jm i^mV • - •' ^™Pm)) ~
• •> /»i (#mi> • • •> Xmpm)) =
Доказательство. Ф*(х1У .
= J(fl(xlv ..
= /(/i(«n. ••
= /(Д(*ш ••
= Г(Я(*ш .
Из теоремы вытекает
Принцип двойственности. .Если формула 21 = С[Д, .. ., /J
реализует функцию f(xv .. ., хя), то формула С [ft, ..., /J], т.е.
формула, полученная из 21 заменой функций Д, ...,/,
соответственно на функции f*u . . ¦, fa, реализует функцию f (xlt ..., #J.
Эту формулу мы будем называть формулой, двойственной к 21, и
обозначать через 21*. Таким образом,
«а*=сгл, ..../а.
Для формул над множеством °р = @, 1, ж, а^&а^, а^ V х2)
принцип двойственности может быть сформулирован так: для
получения формулы 21*, двойственной к формуле 21, нужно в
формуле 21 всюду заменить
0 на 1,
1 на 0,
& на V>
V ка &.
Или, если
то
21 = С[0, 1, х, х1&.х2, хг\/х2],
2Г = С[1, 0, х, xx\J x2, х,&х2].
Пример 8.
1) 21i (xlt х2) = хх & х2, 21* (х}, х2) = х1 V ж2,
2) 21 (Zj, i^^Vift 2l2(^, a:2) =r. (хг V sa)(ж1 V я2)-
ГЛ. I. АЛГЕБРА ЛОГИКИ
21
Из принципа двойственности вытекает, что если
Щх1г ..., х„) = <»(*!, .... *„).
то
W(xlt ...,хя) = <&(х1, .... хп).
Пример 9. Из тождества х1 & х2 = xL V г2 вытекает тождество
Xl\/ х.2 = т18сх2.
Принцип двойственности позволяет почти в два раза
сокращать усилия на вывод тождеств при рассмотрении свойств
элементарных функций. Другие применения принципа
двойственности будут даны ниже.
§ 4. Разложение булевых функций по переменным.
Совершенная дизъюнктивная нормальная форма
Говоря о языке формул, мы сознательно не касались весьма
важного вопроса: всякая ли функция алгебры логики может быть
выражена в виде формулы, если допустить в качестве °р некоторый
запас элементарных функций? Ближайшие рассмотрения
направлены на решение этого вопроса.
Введем обозначение:
хс = хо\/ ха,
где а — параметр, равный 0 либо 1. Очевидно, что
( X при а = О,
ха — {
{ X при а = 1.
Легко видеть, что х"=1 тогда и только тогда, когда х=а, т. е.
значение «основания» равно значению «показателя».
Теорема 3 (о разложении функций по переменным).
Каждую функцию алгебры логики f(xlt . . ., хп) при любом т
A ^т ^_ п) можно представить в следующей форме:
J \Х1> • • ¦' Хт' Xm+V • ¦ ¦' жя) =
= V «!•&... &a?.&/Cl, . . ., ат, xm+v . .., хп), A)
К> .... °т)
где дизъюнкция берется по всевозможным наборам значений
переменных xv . . ., хт. Это представление называется разложением
функции по т переменным хг, . . ., хт.
Доказательство. Рассмотрим произвольный набор
значений переменных (ях, . . ., аИ) и покажем, что левая и правая
части соотношения A) принимают на нем одно и то же значение.
Левая часть дает f(«±, . . ., ая). Правая часть дает.
V «?'& ¦ • • &0&» &/(<*!, • • - °т, <*ш+1, • • •> «„) =
К. ....»,„)
= а«>& . . . &с?«&/(а1, . . .,«„, а„и1, . . ., </„) = /К • • ., а,).
22
1. ТЕОРИЯ ФУНКЦИЙ ft-ЗНАЧНОЙ ЛОГИКИ
В качестве следствий получаем два специальных случая
разложения.
1)^Разложение по переменной:
f(xv ..., xn.v xe) = xn&f(xl, ..., хя_„ l)\/x„&f(xv .... xn_v 0).
Функции f{xx, . . ., #„_!, 1) и f(xv . . ., xlt_x, 0) называются
компонентами разложения. Данное разложение полезно, когда
какие-либо свойства булевых функций устанавливаются по
индукции.
2) Разложение по всем п переменным:
/fo, . . ., хп) = V *?&¦•• &aj;-&/(alt ..., a„).
("и ..., «я)
Оно может быть преобразовано при /(а;1; . • ., хп)ф0:
у х\> & .. . &а^« &/ (oj, .. ., о„) = V *i' & .. . &я°».
(»1, ..., "я) («1, ....»»),
Л»1> •••¦ "»)=!
Итак, в этом случае разложение имеет вид
!{хх, ...,?„)= V а#&... &хъ.
(»1, .... "и).
Оно носит название совершенной дизъюнктивной нормальной
формы (совершенной д. н. ф.).
Непосредственно к понятию совершенной д. н. ф. примыкает
следующая теорема.
Теорема 4. Каждая функция алгебры логики может быть
выражена в виде формулы через отрицание, конъюнкцию и
дизъюнкцию.
Доказательство.
1) Пусть /(жц . . ., хв)=0. Тогда, очевидно,
/ (З-р • • • > Хп) = Хх <Х Xj.
2) Пусть f(x0 . . .. хп) ф 0. Представим ее в совершенной д. н. ф.:
/(*„ . .., хп)= V я»«&... &хя».
(»i, ...."я),
/(»! "Я) = 1
Таким образом, в обоих случаях функция / выражается в виде
формулы через отрицание, конъюнкцию и дизъюнкцию.
Итак, оказалось, что любую булеву функцию можно задать
формулой над ср, взяв в качестве ^ множество, состоящее из трех
функций: отрицания, конъюнкции и дизъюнкции.
Данная теорема носит конструктивный характер, так как она
позволяет для каждой функции фактически построить
реализующую ее формулу (совершенную д. н. ф.). А именно, берем таблицу
для функции f(xlt . . ., х„) (/#0) и отмечаем в ней все строки
ГЛ- 1 АЛГЕБРА ЛОГИКИ
23
(ох, . . ., ая), В КОТОРЫХ f(av . . ., оя) = 1; ДЛЯ КЭЖДОЙ ТЭК ОЙ СТрОКИ
образуем логическое произведение
х1> & ... & х%«
и затем все полученные конъюнкции соединяем знаком
дизъюнкции.
Пример 10.
1) Написать совершенную д. н. ф. для функции хг -*я2. Мы
имеем три набора @, 0), @, 1) и A, 1), на которых эта функция
равна 1 (см. таблицу 3). Поэтому
хх -+ х2 = хЧ & х\ V х\ & х\ V х\ & х\ — хх & ж2 V х1 & хг V хх & х2.
2) Найти совершенную д. н. ф. для функции, заданной
таблицей 7.
ТАБЛИЦА 7
ж1 ^2 ^3
0 0 0
0 0 1
0 1 0
0 1 1
/ (*i, **¦ *а)
1
1
0
0
Х\ Х% ЭСз
1 0 0
1 0 1
1 1 0
1 1 i
/ (*ь Xj, Ж3)
0
1
0
1
Имеем
У (Я"!! ^2' '^"З/ == -^]Р^З V "l*2^*8 V ^1^2^3 V •Ьу^УрЗ'
Совершенная д. н. ф. есть выражение типа V &, т. е.
логическая сумма произведений х\*. Спрашивается, нельзя ли для
булевых функций получить разложение типа & \J ? Покажем, что это
возможно при ]ф\. Для этого разложим функцию /* (очевидно,
f ф0) в совершенную д. н. ф.:
f{xv ...,xj= V аф& ... кх\п.
(Ti *я)>
/*(т„ ...,т„)=1
Возьмем тождество для двойственных формул:
/"(*!,...,*„)= & (*i'V--.V«S-)-
(*i, ...,т„),
/*(*i тя)=г
Левая часть, очевидно, есть f(xv...,xn), а правая может быть
преобразована далее;
V*T/) =
{х\> v • • • v *г-).
& (х? V ¦
/*<т„ ...,т»)=1
(г1. •¦•,Тя),
/Л 1п)=0
= &
(«I. ••.."«),
/(»!. ..о»п)=0
24
1. ТЕОРИЯ ФУНКЦИЙ fc-ЗНАЧНОЙ ЛОГИКИ
Таким образом, получаем разложение:
/ (xv..., хя) = s & (xi v • • • v *;»).
("i,....<=¦«).
Л»|. ...,»я)=«
Оно носит название совершенной конъюнктивной нормальной
формы (совершенной к. н. ф.).
Пример 11.
1) Построить совершенную к. н. ф. для функции^ -> х2. Имеем
2) Построить совершенную к. н. ф. для функции f(xv х2, xs),
заданной таблицей 7. Имеем
/ (xlt х.2, х3) = (х1 V ж2 V *з) (*i V г2 V *з) fa V Ч V^3) faV ж2 V *з)-
Итак, язык формул над множеством функций, состоящим из
отрицания, конъюнкции и дизъюнкции, может быть использован
наряду с таблицами как средство для задания булевых функций.
Поскольку табличный язык по громоздкости примерно
эквивалентен языку совершенных д. н. ф. (к. н. ф.), то можно утверждать,
что язык формул, использующий отрицания, конъюнкции
и дизъюнкции, не хуже языка таблиц. Можно показать, что на
самом деле он существенно лучше табличного языка. Для
пояснения рассмотрим функцию
7 (Ху, .. ., ж29/ == xi V • • • V хж
Формула в правой части насчитывает 39 символов B0 символов
переменных и 19 символов \/), таблица для /fa, . . ., х10)
содержит 220 > 106, т. е. более миллиона строк.
§ 5. Полнота и замкнутость
Выше мы видели, что всякая функция алгебры логики может
быть выражена в виде формулы через элементарные функции х,
хх&хг и хг\/х%. В связи с этим возникает вопрос, в какой мере
является случайным наличие таких систем элементарных функций?
Сейчас мы не собираемся давать исчерпывающего ответа на
поставленный вопрос, а лишь покажем, что таким свойством
обладают и некоторые другие системы элементарных функций.
Определение 7. Система функций {Д, /2, . . ., /„,. . .}
из Р2 называется (функционально) полной, если любая булева
функция может быть записана в виде формулы через функции
этой системы.
Рассмотрим примеры полных систем.
1. Система Рг — множество всех булевых функций —
является полной системой.
ГЛ. I. АЛГЕБРА ЛОГИКИ
25
2. Система °р = {х, х1&х2, х1\/ х2) представляет собой полную
систему.
Ясно, что не каждая система является полной, например,
система ^={0, 1}. Следующая теорема позволяет сводить вопрос
о полноте одних систем к вопросу о полноте других систем.
Теорема 5. Пусть даны две системы функций из Р2:
<Р = {А,/*,...}, (I)
Q = fo, e» ••¦}> (И)
относительно которых известно, что первая система полна и
каждая ее функция выражается в виде формулы через функции
второй системы. Тогда вторая система является также полной.
Доказательство. Пусть h — произвольная функция
из Р2. В силу полноты первой системы h можно выразить формулой
над ср, т. е.
h = C\flt U ...,/,...J
(мы в скобках выписываем все функции системы °р, хотя в
формуле фактически встречается лишь конечное их число). По
условию теоремы
h = cASi, &> ¦••].
/а = ^2 fffi» Sv ¦ ¦ -1.
Поэтому мы можем в формуле С [Д, /2,. . .1 исключить вхождения
символов функций /lf /2,. . ., заменив их формулами над Q *).
Это можно записать так:
C[fv U,.. .] = c[Cl[gv g2,...], c2[gv g2,...],...].
Последнее выражение определяет формулу над Q со строением
С. Мы получаем:
С [С, \glt g2, . ..], С2 [gv g,, ...),...] = С [glt g2, . ..],
или, окончательно,
h=C'[gv g2, ...],
т. е. мы выразили h в виде формулы над Q. Теорема доказана.
*) Не всегда эти замены можно произвести все одновременно, так как
при замене, вообще говоря, могут возникать новые вхождения символов
Д, /2, . . .. Например, если /i=xx&x2, a ц=х-1 V х2> S2~xi +^2 и h=x1u(x2&x3),
то fi=x1&x2=x1-\-x2~\-(x1\J x2)n h=x1& (x3&xt)=x1-\-(xi&xa)-{-(xl\/(x2&x9))-=
=*1+х2+*3+(*2 V *з)+(*1 V (*2+*3 -Hxi V *з)))-
26
t. ТЕОРИЯ ФУНКЦИЙ fc-ЗНАЧНОЙ ЛОГИКИ
Опираясь на эту теорему, можно установить полноту еще ряда
систем и тем самым расширить список примеров полных систем.
3. Система ср = {х, хх & х%) является полной. Для
доказательства возьмем за систему I систему 2, а за систему II —
систему 3 и используем тождество
которое вытекает из свойства 4 элементарных функций.
4. Система ср=^х, хх \J х2} является полной. Доказывается
аналогично предыдущему либо через принцип двойственности.
5. Система ср={х11хг) является полной. Для доказательства
за систему I возьмем систему 3 , а за систему II — систему 5.
Легко видеть, что
х1/х1 = х1 и (x1lx2)l(x1lx2) = x1lx2 = xlScx2.
6. Система ^={0, 1, ххх2, хх-{-х2} является полной. Для
доказательства опять за систему I возьмем систему 3, а за систему II —
систему 6. Мы имеем
Xj -J— 1 = Xj,
X-tXq X-i CX "^O.
Так как формула, построенная из констант 0, 1 и функций
ххх% и х1-\-х2, после раскрытия скобок и несложных
алгебраических преобразований переходит в полином по mod 2:
?i ®*li ... *gXH ' • • Xig>
•i, ..., i»
то мы получили теорему, принадлежащую И. И. Жегалкину.
Теорема 6. Каждая функция из Р2 можепСбыть выражена
при помощи полинома по mod 2 (полинома Жегалкина).
Подсчитаем число полиномов Жегалкина от переменных х1г. . .
. . ., хи, т. е. число выражений вида
2л a»i... нх>\ • • • х'ж-
•V •••.»¦«
Число членов ж,,. . . xit равно количеству подмножеств {i1( . . .
. . ., i,} множества из п чисел {1, . . ., п), т. е. 2". Поскольку
а,-1...,-,=0 или 1, то искомое число полиномов равно 22",
т. е. числу всех булевых функций от тех же переменных. Отсюда
как следствие получаем единственность представления функций
посредством полиномов Жегалкина.
П р и м е р 12. Выразить xx\J х2 в виде полинома Жегалкина.
Ищем выражение для хх V х% в виде полинома с неопределенными
коэффициентами:
xi V хг — axix2 -\- ох\ ~{~ сх2 4~ ^-
ГЛ I. АЛГЕБРА ЛОГИКИ
27
При х^ — х^ — О имеем 0 = d,
при ху = 0, х2^=1 » 1=с,
при .-г, = 1, хг = § » 1—/;,
при а:1 = ж2=1 имеем: 1 = я -(- fr -|~ с, т. е. 1=а.
Мы получаем
Из этих примеров видно, что существует целый ряд нолных
систем. Каждая из них может быть принята за множество
элементарных функций. Таким образом, для задания булевых функций
можно использовать различные языки формул. Какой именно
из языков является более удобным — это зависит от характера
рассматриваемой задачи.
С понятием полноты тесно связано понятие замыкания и
замкнутого класса.
Определение 8. Пусть 90?— некоторое подмножество
функций из Р2. Замыканием 90? называется множество всех булевых
функций, представимых в виде формул через функции множества 90?.
Замыкание множества 90? обозначается через [9Л].
Пример 13.
1) 90? = Р2. Очевидно, что [<3Bl] = Ps.
2) 90? — {1, хг -\-х2). Замыканием этого множества будет класс L
всех линейных функций, т. е. функций, имеющих вид:
f(xv . . ..ж,) — с0-f-ел + ... -f спх„, где с, = 0, 1 (< = (),..., re).
Отметим некоторые очевидные свойства замыкания:
1) [90?] 2 Ж
2) ЦЩ] = №],
3) если 90?! С 90?2, то [90?^ С [90?2],
4) [З^иЗДЭДОЛШЗД.
Определение 9. Класс (множество) 90? называется
(функционально) замкнутым, если |90?]=90?.
Пример 14.
1) Класс 90? = Р2 является замкнутым.
2) Класс 90?= {1, х1-\-х2] не замкнут.
3) Класс L замкнут, так как линейное выражение,
составленное из линейных выражений, является линейным.
Легко видеть, что всякий класс [90?] будет замкнутым. Это
дает возможность получать многочисленные примеры замкнутых
классов.
В терминах замыкания и замкнутого класса можно дать другое
определение полноты (эквивалентное исходному): 90? — полная
система, если [90?]=Р,,
28
1. ТЕОРИЯ ФУНКЦИЙ /j-ЗНАЧНОЙ ЛОГИКИ
§ 6. Важнейшие замкнутые классы. Теорема о полноте
Этот параграф мы начинаем с рассмотрения некоторых
важнейших замкнутых классов в Р2.
1. Обозначим через Т0 класс всех булевых функций / (xv. . .
. . ., ?л), сохраняющих константу О, т. е. функций, для которых
/@,...,0)=0.
Легко видеть, что функции 0, х, хх & х2, хх V х2, хх-{-х2
принадлежат классу Т0, а функции 1, ж не входят в Т0.
Поскольку таблица для функции / из класса Т0 в первой строке
содержит значение 0, то в Т0 содержится ровно A/2) 2г булевых
функций, зависящих от переменных хг, . . ., хп.
Покажем, что Т0 — замкнутый класс. Так как Т0 содержит
тождественную функцию, то для обоснования замкнутости 10
достаточно показать, что функция
ф = /(А U
принадлежит Ти, если /, /15 . . ., f,„ принадлежат Т0. Последнее
вытекает из цепочки равенств
Ф@, . .., 0) = /(/1@, .. .,0), .. .,/,„@, .... 0)) = /@, .. .,0) = 0.
2. Обозначим через Тг класс всех булевых функций / (xv . . .
. . ., хп), сохраняющих константу 1, т. е. функций,"для которых
Легко видеть, что функции 1, х, хг & х2, хх\/'-х2 принадлежат
классу 7\, а функции 0, г не входят в 7\.
В силу того, что класс Тг состоит из функций, двойственных
функциям из класса Тй (или, как мы будем говорить, класс 7\
двойствен классу Т0), нетрудно перенести результаты о классе
Т0 на класс Г,. Класс Тх содержит A/2) 22" функций, зависящих от
переменных хи . . ., хп, и является замкнутым.
3. Обозначим через S класс всех самодвойственных функций,
т. е. функций / из Р2 таких, что /*=/.
Очевидно, что самодвойственными функциями будут х, х.
Менее тривиальным примером самодвойственной функции является
функция h (xu х2, x3)=XjX2 V хгх3 V ЧЧ'-
h*(xx, х.г, x.i)~{x1\Jх2){хг\/х.л){х2\/х.А) =
Для самодвойственной функции имеет место тождество
f(x1,...,xj=f(x1,...,xj,
так что на наборах (а1? . . ., а:) и (а15 . . ., aj, которые мы будем
называть противоположными, самодвойственная функция прини-
ГЛ. I. АЛГЕБРА ЛОГИКИ
29
мает противоположные значения. Отсюда следует, что
самодвойственная функция полностью определяется своими значениями
на первой половине строк (см. таблицу 1). Поэтому число
самодвойственных функций, зависящих от переменных х^ . . ., хп,
равно 22"- = yfW.
Докажем теперь, что класс S замкнут. Поскольку класс S
содержит тождественную функцию, достаточно показать, что
функция
Ф = Щ,..../М)
является самодвойственной, если /, flt . . ., fm самодвойственны.
Последнее устанавливается непосредственно:
ф* = ЛЯ... ¦.?) = /(/!, ••••/„) = *•
Докажем теперь лемму о несамодвойственной функции.
Л е м м а 1. Если / (хг, . . ., xj $ S, то из нее путем
подстановки функций х и х можно получить несамодвойственную
функцию одной переменной, т. е. константу.
Доказательство. Так как f<$S, то найдется набор (а1г . . ., сся)
такой, что
/К» ...,aj = /(alt ...,<0.
Рассмотрим функции <p((x) = x**(i = \., ..., п) и положим
?(а0 = /(?,(«), ..;?„(х)).
Мы имеем
?@) = /(?1@), • • .,«Р,@)) = /@"', • •., 0-) = /(«,, .. .,*„) =
= /(«„... ,0 = /Aт',...,1-) = /(?1A).---.Т.A)) = ТA).
4. Здесь мы будем употреблять векторную запись наборов:
и т. п. и вместо /(<*!, . . .,ая) употреблять запись /(a).
Определение 10. Для двух наборов а = (а,, . . ., ая) и р =
==(Pi» • • •'PJ выполнено отношение предшествования а =^ р, если
¦iOj «»<Р»-
Например, @,1,0,1) ^ A,1,0,1).
Очевидно, что если а =^ р и р =<! у, то й^у.
Определение 11. Наборы аир называются сравнимыми,
если один из них предшествует другому.
Следует отметить, что не все пары наборов находятся в
отношении предшествования. Так, наборы @,1) и A,0) несравнимы.
Таким образом, множество всех наборов Длины п по отношению
к предикату =^ является частично упорядоченным.
30 1. TKOi'lHl ФУНКЦИЯ /i-ЗНЛЧНОИ ЛОГИКИ
Определение 12. Функция f(xt, • ¦ -, х,) называется
монотонной, если для любых двух наборов а и р, таких, что
8|=^ р, имеет место неравенство
Очевидно, что монотонными функциями будут 0, 1, х, хг & х3
И X, V xi-
Обозначим через М множество всех монотонных функций.
Покажем, что класс монотонных функций замкнут. Поскольку
тождественная функция принадлежит классу М, то для
установления замкнутости М достаточно показать, что функция
ф=/(Л,..../я)
является монотонной, если /, Д, ••••/„ монотонны. Пусть х =
= (х-,, . . ., arj, ж1 = (хп, .. ., x1Pl), .. .,хт = (х,„„ ¦¦¦, хтрт) — наборы
переменных соответственно функций Ф, Д, •••>/»,> причем
множество переменных функции Ф состоит из тех и только тех
переменных, которые встречаются у функций Д, . • • •/„,- Пусть аир—-
два набора значений переменных х, причем й =^ р. Эти наборы
определяют наборы а1, р1, .. ., а™, рт значений переменных х1, . . .,хт,
такие, что а1 ^ р1, . . ., ат =^ рт. В силу монотонности функций
Д> • • •> 1т
/i(a1)</](P1).---'/»(«ffl)</,„(Pm).
поэтому
(д(^--^лат))<(д(^-а„(р,п)),
и и силу монотонности функции /:
/(Л(а1). • • •./»(«"))</(/!(Р1) UP"))-
Отсюда получаем
Ф(а) = /(/1(а1),...,/т(а»'))</(/1ф1),...)/т(р"')) = Ф(р).
Будем называть наборы аир соседними (по г-й координате),
если
& = (а1, . . .: a(_v a.(, ai+v . . ., aj,
р = (oj, . . ., aw, a., a{+1, . . ., a„).
Докажем теперь лемму о немонотонной функции.
Лемма 2. #аш /(xlt . . ., хп) $М, то из нее путем
подстановки констант 0 и 1 и функции х можно получить функцию X.
Доказательство. Сначала покажем, что найдется пара
соседних наборов аир, таких, что а =4 P и
/(*)>/(Р).
В самом деле, так как / <? М, то существуют наборы а1 и р1 такие,
что а1 =< р1 и /(а1) >/(р1). Если наборы а1 и Р1 — соседние, то
ГЛ. I. АЛГЕБРА ЛОГИКИ
31
наша цель достигнута. Если а1 и р1 не являются соседними
наборами, то набор р1 отличается от набора а1 в t координатах, где
/J>1, причем эти t координат в наборе а1 имеют значение О,
а в наборе р1 — значение 1. В силу этого между а1 и р1 можно
вставить t — 1 промежуточных наборов а2; а3,..., а', таких, что
а1 ^ s?< . ¦ . < &'< P1.
Очевидно, что наборы, стоящие в этой цепочке рядом, будут
соседними. Так как }(а.1)^>/ф1), то по крайней мере на одной из
этих пар соседних наборов — обозначим их через 5. и р (а =^ р)
— будет / (а) ^> / (р). Пусть данные наборы имеют соседство по
1-я координате, т. е.
а=(а„ ...,cci_1, 0, а.,,, . . .,«„), р = (а1, . ...а.^, 1, а.и, . . ., а„).
Рассмотрим функцию
<р (х) =/(«!,..., а,._,, х, а,.+1, . . ., ай).
Мы имеем
«р ((J) == / К, . . ., at_lt 0, а,.+1, . ... ая) = /(«)> / (р) =
= /(«„ ¦••,«,¦_!, I, ам, .-.,«„) =«рA).
Последнее означает, что ф @) = 1, а ф A)=0, т. е. ф (ж)=?. Лемма
доказана.
5. Последним классом является класс L всех линейных
функций.
Он, очевидно, содержит константы 0, 1, тождественную
функцию х, функции х, хх~{-х2 и не содержит хЛ & хг, хх \J х2.
Поскольку линейная функция однозначно определяется
заданием га+1 коэффициентов с0, сх, . . ., сп, число линейных функций,
зависящих от переменных хх, . . ., хп, равно 2"+1.
Выше было показано, что этот класс также замкнут.
Докажем лемму о нелинейной функции.
Л^е м м а 3. Если f (хх, . . ., хп) «? L, то из нее путем
подстановки констант Qui и функций хих, а также, быть может, путем
навешивания отрицания над f, можно получить функцию хх & хг.
Доказательство. Возьмем полином Жегалкина для
функции /':
f(xL, . ¦ ., xt) = 2j ан ... uXii ¦ • ¦ х>$-
ч •'«
В силу нелинейности в полиноме найдется член, содержащий не
менее двух множителей. Без ограничения общности можно
считать, что среди этих множителей присутствуют хх и х%. Тогда
полином можно преобразовать следующим образом:
¦Zi a'i ..., i»X'i ¦ ¦ ¦ Xig === X1X2J1 \Х3' • • •' Хп) Г
•'¦. ...,•'*
+ «j/8 (Х3, . . ., Х„) + X4J3 (Х3, . . ., хя) + /4 (Х3, .... Хп),
32
i. ТЕОРИЯ ФУНКЦИЙ fc-ЗИАЧНОЙ ЛОГИКИ
ТАБЛИЦА 8
где в силу единственности полинома fi (хя, . . ., хп) ф 0. Пусть
а3, . . ., а„ таковы, что jx (ос3, . . ., а„) = 1. Тогда
ср (.г,, ж2) = / (xv х.,, a „ . . ., a„) = я5,ж, -f **i + Р*я + Т.
где а, р, у — константы, равные 0 или 1. Рассмотрим функцию
ф (хг, ж2), получаемую из «р (хг, #2) следующим образом;
ф(а^, г2) = <р(аг1 + р, JCS + <*) + аР + Т-
Очевидно, что
?(«! + ?, х2-Ь«) + ар + г=(г1 + Р)(ха + *) + «(ж1 + Р) +
+ |3(ж2 + а) + у + аР + Т = а;1%-
Следовательно,
']»(;?[, а;2) = arx & а:2.
Лемма доказана полностью.
В заключение заметим, что замкнутые классы Т0, Ти S, М
и L попарно различны, что видно из таблицы 8, в которой знак
«+» означает, что функция содержится
в классе, а знак «—» — противоположную
ситуацию.
Теперь мы можем перейти к
рассмотрению "одного из основных вопросов алгебры
логики — вопроса о необходимых и
достаточных условиях полноты. Итак,^пусть
<?> = {/i. к /.. ••¦}
— произвольная система функций иэ Р2.
Спрашивается, как выяснить, будет ли
она полной или нет?. Ответ на этот вопрос дает
Теорема 7 (о функциональной полноте). Для того чтобы
система функций °р была полной, необходимо и достаточно, чтобы
она целиком не содержалась ни в одном из пяти замкнутых
классов Тй, 7\, S, М и L.
Необходимость. Пусть °р полна, т. е. [cpj = P2.
Допустим, что °р содержится в одном из указанных классов —
обозначим его через ЭХ, т. е. '-р С У1. Тогда в силу свойств замыкания
и замкнутости ~Я имеем
Значит, ^Я=Р2, что неверно. Необходимость доказана.
Достаточность. Пусть °р целиком не содержится ни
в одном из пяти указанных классов. Тогда из °р можно выделить
подсистему ср1, содержащую не более пяти функций, которая также
обладает этим свойством. Для этого возьмем в °р функции/,., fjy
iki /,»>' In которые не принадлежат соответственно классам 7'0,
0
1
X
г„
+
—
—
г,
_
+
—
S
_
—
+
м
+
-f
—
L
+
+
+
ГЛ. I. АЛГЕБРА ЛОГИКИ
33
Гх, S, М и L, и примем <^Ь' = {/4, /_,-, /fc, /„ fm}- Можно считать, что
все эти функции зависят от одних и тех же переменных хх, . . ., хп
(см. замечание § 1).
Доказательство достаточности будем проводить в три этапа.
I. Построение при помощи функций f., fj и/д. констант 0 и 1.
Рассмотрим*функцию /( (/< $ T0). Возможны два случая:
1) f( A, * . ., 1) = 1. Тогда tp (x)=fi (х, . . ., х) есть константа
1, ибо
?@) = /,.@, ...,0) = 1 и <рA) = /,A,...,1) = 1.
Вторая константа получается из /.: /. A, . . ., 1) = 0.
2) /,• A, • • •, 1) = 0. Тогда <р (х) = /,. (х, . . ., х) есть х, ибо
«Р@) = /<@,...,0) = 1 и тA) = /,A,...,1) = 0.
Возьмем fk (Jk $ S). Так как мы имеем х, то в силу леммы 1 из fk
мы можем получить константу. Поскольку мы располагаем х,
то мы получаем и вторую константу. Итак, в обоих случаях мы
получаем константы 0 и 1.
П. Построение при помощи констант 0, 1 и функции /т
функции х. Это осуществляется на основе леммы 2.
III. Построение при помощи констант 0, 1 и функций х и /,
функции хг & #2. Это осуществляется на основе леммы 3.
Таким образом, при помощи формул над ср' (а значит, и над ф)
мы реализовали функции х и хг & хг. Этим достаточность
доказана.
Следствие 1. Всякий замкнутый класс JR функций из Рг
такой, что с$1=у?=Рг, содержится по крайней мере в одном из
построенных классов.
Следуя А. В. Кузнецову [1 ], введем
Определение 13. Класс 9} функций из Р2 называется
предполным (или максимальным), если Л неполный, а для любой
функции /, /еР2 и f^Jl, класс 9?U{/} — полный.
Из определения следует, что предполный класс является
замкнутым.
Следствие 2. В алгебре логики существует только пять
предполных классов, а именно: Тй, Z\, S, М и L. (Для
доказательства фактически нужно проверить только то, что ни один из этих
классов не содержится в другом.)
Рассмотрим пример, иллюстрирующий возможности теоремы
о функциональной полноте.
Пример 15. Покажем, что система функций Д=х1-х2,
/а=0, /3=1 и /4=#1+#2+а;з является полной.
Мы имеем: /3$jT0) /2фГ1( /2ф5, /4фМ, /дф?. С другой
стороны, выбрасывание любой из функций приводит к неполной
системе:
{/«. /з. h) С L, (Л, Д. /4} С Tv {/р /2, /J С Т0
3 Дискретная математика, т. I
34
t. ТЕОРИЯ ФУНКЦИЙ ft-ЗНАЧНОЙ ЛОГИКИ
(A, U П) <= м.
Из доказательства теоремы 7 непосредственно вытекает
следующая теорема.
Теорема 8. Из всякой полной в Р2 системы °р функций
можно выделить полную подсистему, содержащую не более четырех
функций.
Доказательство. Мы видели, что из '-р можно
выделить полную подсистему °р', содержащую не более пяти функций.
Оказывается, что функция /,- <? Т0, кроме того, либо не
самодвойственна (случай 1) доказательства): f. (О, . . ., 0)=/. A, . . ., 1),
либо не сохраняет 1 и не монотонна (случай 2)): /. @, . . ., 0) >
> /. A, . . ., 1). Поэтому полной будет либо система {/., /у, fm, /,},
либо система {/,., fk, f,}.
Пример 15 показывает, что константа 4 в теореме 8 не может
быть понижена.
Теорема о функциональной полноте на самом деле дает не
только критерий полноты. Она позволяет (в сочетании с
разложением функции в совершенную д. н. ф. или к. н. ф.) найти для
произвольной булевой функции / формулу через функции полной
системы ^>.
§ 7. Представление о результатах Поста
Весьма глубокое изучение замкнутых классов в Р2 было
осуществлено американским математиком Э. Постом [8, 9] (см.
также [4]). Им была описана структура всех замкнутых классов
в Р2. Сформулируем некоторые из важнейших результатов,
связанных с этим исследованием.
Определение 14. Система функций {/], /2, ••-,/„, . ..} из
замкнутого класса 9Л называется полной в 9)?, если ее замыкание
совпадает с 9J?.
Иначе говоря, система полна в ЭД, если каждая функция из
9Л может быть выражена в виде формулы через функции данной
системы.
Определение 15. Система функций {/х, /2, . . ., fs, . . .}
из замкнутого класса 3D? называется его базисом, если она полна
в 9J?, но всякая ее собственная подсистема не является полной
в 9#.
Так, система f1=x1-xi, /2=0, /3=1, /4=^1+^2+^3 является
базисом в Р2. Можно показать, что система функций @, 1, х1 & х2,
xi V х2} является базисом для класса М.
Теорема 9 (Пост [8, 9]). Каждый замкнутый класс из Р2
имеет конечный базис.
ГЛ. II. А-ЗНАЧНАЯ ЛОГИКА
35
Теорема 10 (Пост [8, 9]). Мощность множества замкнутых
классов в Р2 счетная.
Хотя вторая из этих теорем логически следует из первой, тем
не менее в доказательстве Поста сначала устанавливается второй
факт, а затем — первый.
Глава II. fc-ЗНАЧНАЯ ЛОГИКА
Конечнозначные логики вводятся как обобщение двузначной
логики. В силу этого наше изложение местами будет кратким,
будут опускаться аналогичные определения и доказательства.
Обратим особое внимание на два обстоятельства:
1. В &-значных логиках сохраняются многие свойства и
результаты, которые имели место в двузначной логике.
2. В /с-значных логиках при k ^ 3 наблюдаются явления,
обнаруживающие принципиальное их отличие от алгебры логики.
В связи с этим некоторые задачи не имеют такого исчерпывающего
решения, как в алгебре логики, а другие вовсе не решены.
§ 8. Функции к-зиачнои логики. Формулы и реализация
функций формулами
Пусть ?/={ц1; н2, . . ., иы, . . .} — исходный алфавит
переменных (аргументов). Будем рассматривать над этим алфавитом
функции /(и,,, гг2, . . ., и,-п) (и.-^л,,, при j=?l), аргументы
которых определены на множестве Ек={0, 1, . . ., к—1}, и такие,
что / (а1? а2, . . ., а„) е Ек, когда а< е ЕА (? = 1, 2, . . ., п).
Для упрощения записи мы будем использовать для
переменных метаобозначения х, у, z, . . ., а также xt, y(, z,, . . ., и
употреблять для функций более простую запись / (хх, . . ., xt).
Очевидно, что функция / (х±, . . ., хК) полностью определена,
если задана ее таблица (см. таблицу 9).
ТАБЛИЦА 9
хп~
0 ... 0 0
0 ... 0 1
0 ... 0 /.--1
0 ... 1 0
v—1. . . k—1 /i—1
/(*.,
*п)
/@,
/@,
, 0, 0)
, 0, 1)
/@,
/(A-i.
. , 0, к-1)
. , 1,0)
. , к-1, k—i)
3*
36
1. ТЕОРИЯ ФУНКЦИЙ ft-ЗНАЧНОЙ ЛОГИКИ
В этой таблице наборы суть разложения в й-ичной системе
счисления чисел 0, 1, . . ., к"—1. Символ / здесь будет
интерпретироваться как символ, обозначающий отображение,
характеризуемое таблицей, а символы хъ . . ., хп — как названия
столбцов. Для функций одной переменной мы наряду с таблицами будем
использовать запись в виде (обобщенной) подстановки
/0 1 ... к— 1\
где s (a) -- ia.
Обозначим через Р}. множество всех функций А-значной логики
над алфавитом U, содержащее также константы 0, 1, . . ., к—1.
Так как число наборов {аг, . . ., ал) значений переменных
хъ . . ., хп равно к", то мы имеем следующее утверждение.
Теорема 11. Число всех функций из Рк, зависящих от п
переменных xv . . ., хп, равно кк".
Из сказанного вытекает, что в Рк при /фЗ в значительной
степени возрастают трудности по сравнению с Р2, как в
возможности эффективного использования табличного задания функций,
так и в возможности перебора всех функций от п переменных. Уже
в Ps число функций от двух переменных равно 39=19683, т. е. это
множество практически необозримо. В Рк часто употребляют
вместо табличного задания функций задание при помощи
алгоритма вычислимости функций. Например,
max (xv . . .,xt)
можно рассматривать как алгоритм, который для любого набора
(а1? . . ., ад) значений переменных выдает их максимум. Этот
алгоритм определяет в Рк единственную функцию, которую мы
будем обозначать тем же символом.
Далее вводится (как в Р2) понятие существенной и
несущественной переменной, а также понятие равенства функций. Это
позволяет рассматривать функции в Рк с точностью до фиктивных
переменных.
После этого рассматриваются примеры некоторых
конкретных функций из Рк, которые можно считать элементарными
функциями.
1) х=х-\-1 (mod к). Здесь х представляет собой обобщение
отрицания в смысле «циклического» сдвига значений.
2) Nx=k—1—х. Nx или, как часто обозначают, ~ж является
другим обобщением отрицания, в смысле «зеркального»
отображения значений. В литературе оно носит название отрицания
Лукашевича.
*) Ji(x) — \ 0 хфХ D = 0, .... ft—1).
ГЛ. II. ft-ЗНАЧНАЯ ЛОГИКА
37
Функции J{ (х) при i=f=k—1 обобщают некоторые свойства
отрицания.
4) / (х)-{ 1 ПРИЖ==*>
Функция j. (х) — характеристическая функция значения i и при
i^f=k—1 представляет собой обобщение отрицания.
5) min (xv x.2) — обобщение конъюнкции.
6) х1 • х2 (mod к) — второе обобщение конъюнкции.
7) max (xv х2) — обобщение дизъюнкции.
8) х1 -\- х2 (mod к).
Из рассмотрения этого списка элементарных функций видно,
что функции алгебры логики имеют в &-значной логике (к ^ 3)
по несколько аналогов, каждый из которых обобщает
соответствующее свойство функции.
Затем, так же, как и в алгебре логики, вводится понятие
формулы над множеством функций °р. Формулы мы обозначаем
символами 51, 93, • • • без индексов и с индексами. Если мы хотим
указать зависимость формулы от переменных или выделить
функции, из которых построена формула, то употребляем обозначения
<%(zv ..., *„) и 51 [Д, ..., /,].
Каждой формуле 5( (xv ..., хК) сопоставляется функция / (xv ..., хК)
из Рк; при этом говорят также, что формула 51 реализует
функцию /. Аналогичный смысл здесь имеют суперпозиция
функций из °Р и операция суперпозиции. Далее вводится понятие
эквивалентности формул 51 и 93: 51 = 93, если соответствующие
им функции /,?[ и fcQ равны.
Опираясь на понятие эквивалентности, можно описать
основные свойства элементарных функций. Укажем некоторые из них.
Пусть (хх о х2) обозначает любую из функций min (xu ж2)>
хх-х2 (mod к), max (хъ х2), x1-\-x2(mod к).
1. Функция (х1ох2) обладает свойством ассоциативности:
((х1 о х2) о х3) = (х1 о (х2 о х3)).
2. Функция (х1 о х2) обладает свойством коммутативности:
(.Tj О Х.2) = (х.20 Xj).
В дальнейшем мы иногда будем обозначать функции min (xv х2)
и max (хг, х2) соответственно через (хг & х2) и (х1 V х2). В силу
свойства ассоциативности и соглашения о том, что операция &
выполняется раньше операции V (сы- замечания 1—3 § 3), можно
употреблять для записи формул выражения, получающиеся ид
формул путем опускания некоторых скобок,
38
1. ТЕОРИЯ ФУНКЦИЙ ft-ЗНАЧНОЙ ЛОГИКИ
Укажем еще несколько' групп тождеств, относящихся уже
к системе элементарных функций {0, . . ., к—1, Jo(x)> • • •
• •¦, Jk-i (х), min (х±, x2), max (х1У х2)}.
3. Правила спуска символа / «вглубь» формулы:
т н \ к — 1 "Р11 * = 3,
"л"; 1 0 при х^з (сг, т = 0, 1, . . ., А; — 1);
'.(/,(*)) =
¦ /0(a:)V. ¦ • W,-i(*) V ^х(х) V- • • V/*-i И при = = 0,
0 при0<в<& —1,
7т(ж) при а = А;—1;
К («л) =
= К (*i) С. (**) V • • • Wi (**)) V /. W {К to) V • • • V h-i to));
7, (*i V XJ =
= К (*i) (/0 (**) V • • • V /. te)) V /. (*2) Co to) V ¦ • • V /. to)).
4. Свойства дистрибутивности:
(xx \/ x2) x3 = {xxxs) у (х2ж3),
(x^j) \/ ж3 = {x1 \/ ж3) (ж2 V хз)-
5. 1Гравило исключения «чистых» вхождений переменной:
* = 1 •/^) V 2 •/^) V-• • V (й-1)/*-i(*).
6. Правило введения переменной:
хх = хх G0 (х2) V • • • V 7*-i Ы).
7. Правила упрощения:
<*w ^ ' \ 0 при х^а;
ах = min (а, х),
а \/ х = тах(з, х),
(к—1)х = х, 0 •# = (),
(к—1)\/х = к—1, 0\'х = х.
Опираясь на некоторый запас тождеств (например, тождеств
I—7 для системы элементарных функций {(J, . . ., к— 1, J0(x), ¦ ¦ ¦
¦ ¦ -, J!c~i(x), min(z1, x2), max (xv а;,)}, можно при помощи
эквивалентных преобразований получить новые тождества.
Рассмотрение свойств элементарных функций показывает,
что не для всех обобщений булевых функций сохраняются
соответствующие свойства. Поясним это на нескольких примерах.
Пример 16.
1) ~(~х)=х, но х=^=х (при к ^ 3).
2) -—min (хх, ,r2) = max (~xx, ~x,), но min (xx, хг) =^= max (xv %2).
ГЛ. II. fc-ЗНАЧНАЯ ЛОГИКА
39
В заключение приведем тождество, представляющее собой
аналог совершенной д. н. ф. и играющее важную роль в
последующем изложении:
f(xv ..., хп) = V /Сг1(а;1)&...&7Тя(а;л)&/(а1, ..., оя).
Oi> ..о »и)
Доказывается оно прямой проверкой.
Нетрудно видеть, что каждая формула над множеством
элементарных функций {0, . . ., к—1, J0 (х), . . ., Jk_x (x), min (xv x2),
max (хг, х2)} может быть при помощи тождеств 1—7
преобразована к совершенной д. н. ф. Отсюда легко вывести, что
тождества 1—7 позволяют перейти от любой формулы над данным
множеством функций к любой другой формуле, эквивалентной
исходной. Последнее свидетельствует о том, что система тождеств
1—7 в известном смысле обладает полнотой.
§ 9. Примеры полных систем
В Рк определение полноты выглядит так же, как и в Р2.
Определение 16. Система функций {Д, /2, . . ., /s, • • •}
из Р7, называется (функционально) полной, если любая функция
из Рк может быть записана в виде формулы через функции этой
системы.
Ниже рассматриваются примеры полных систем. Для
обоснования полноты мы будем использовать принцип сведения задачи
о полноте одних систем к задаче о полноте других систем (см. § 5).
1. Система ср=Рк. Очевидно, что множество всех' функций из
Р1: представляет полную систему.
2. Система °р = (О, ..., к—1, /0(.г), .. ., Jk_x(x), ш'т(х1, х2),
max^j, х2)}.
Теорема 12. Система ^={0, ...,к — 1, J0(x), . . .. Jк_1(х),
miii(x1, x2), max^j, х2)} является полной в Рк.
Доказательство. Пусть /(xv . . ., хп) — произвольная
функция из Рк. Для нее имеет место разложение
f(xv . . ., *„)= V /,>,)&. . .&/.„(*,)&/(*„ . . ., ап).
Ol ап)
Данная формула (правая часть) пост[оена из функций, входящих
в ср. Теорема доказана.
3. Система °р = [х, max (xv x2)}.
Теорема 13. Система ср~{г, тах(^, х2)} полна в Рк.
Доказательство, а) Построение констант. Из функции
ж = х -j- 1 получаем функции
*-f2 = (*-f-l)+l x + (k-l) = (x + (k-2)) + l, х = х+к=
= (x + (k-l))+l.
40
1. ТЕОРИЯ ФУНКЦИЙ ft-ЗНАЧНОЙ ЛОГИКИ
Легко видеть, что
max (х, х-\-1, .. ., х-{-(к— 1)) =к — 1.
Отсюда при помощи х получаем остальные константы.
б) Построение функций одной переменной. Сначала получаем
функции /(. (х) (i=0, . . ., А;—1):
1{(х) = \-\- max {x-\-ol}.
афк—1—i
В самом деле, если я=?, то левая часть равна к—1, а правая часть
1+ max {j-fa} = l+ max {Z + <x} = 1 -f- (к — 2) = k — 1;
а.фк—1—i г-^-афк—1
если x=^=l, то левая часть равна 0, а правая —
1 ~\- max {x -f- a} =
о.фк—1—i
Введем функции Д_,. (х), где
1+ max {х + «.} = 1-\-(х-\-(к— 1— a:))=A=0.
о.фк—1—i
4 М _ J S ПРИ Х = '>
/,,,-w — \ о при х^и
Покажем, что
/.,,И = s +1 + max(/.(х), k—1—s).
Но это легко усматривается из графиков, изображенных на рис. 1.
к-1
к-1
k-1-S \ о.
">-0 О—<~О-
к-1
• О О • • • О
J I I I
6—о———-о—*—о—
0 1 HiM к-1 0 1 Hi 1+1 к-1 0 1 HiM к-1
Ji(x) max(Ji(x),k-1-s) s+Umx(/i(T),k-1-s)
Рис. 1.
I»
Если ср (х) — произвольная функция одной переменной из Рк,
то
<? (х) = max {ff!0h 0 (x), /fA)> j (ж), . . ., /,,,*_!,, ^ (ж)},
и, в частности,
~a; = max{/j._li0(a;), /fc_2, i(z), ..., /0,jt-i(z)}-
в) Получение min (ar1? x2). Мы видели, что
~-min(a;I, я2) = max (~x1, ~x2).
ГЛ. II. ft-ЗНАЧНАЯ ЛОГИКА
41
Отсюда
rain (ж,, х2) = ~тах (~х1, ~ж2).
Таким образом, мы можем при помощи формул над исходной
системой функций выразить любую из функций системы {0, ...
. . ., к—1, /0 (х), . . ., Jk^ (x), min (xv х2), max (x±, x2)},
относительно которой доказано, что она полная. Поэтому и система
{х, max (x-y, х2)} является полной. Теорема доказана.
Введем обозначение: ¦ Vk (хх, х2)=тах (хх, ж2)+1. Функция
Vk (хх, х2) называется функцией Вебба и представляет собой аналог
функции Шеффера.
4. Система cp = {Vk (xlf х2)} является полной. Вопрос о ее
полноте может быть легко сведен к вопросу о полноте
системы 3.
С понятием полноты связано понятие замыкания и замкнутого
класса. Приведем их определения.
Определение 17. Пусть ~fR — произвольное подмножество
функций из Рк. Замыканием 9Л называется множество [9Л] всех
функций из Рк, представимых в виде формул через функции
множества 97?.
Определение 18. Класс (множество) 9Л называется
(функционально) замкнутым, если [9D?] = 9D?.
Для данных понятий справедливы высказывания, которые были
сделаны при рассмотрении аналогичных понятий в Р2. Приведем
примеры замкнутых множеств.
Пример 17. 1) Класс 9Л = Рк, очевидно, является замкнутым.
2) Пусть & С Ек. Обозначим через Тg множество всех функций
f (xv ..., хп) из Рк таких, что /(а1, . .., ая) е &, если a. eg (/ =
= 1, . .., га). Другими словами, Ts — множество всех функций из
Рк, сохраняющих &; это мы будем записывать так:
f(S, S, .... S)QS.
Класс Т?, очевидно, является замкнутым.
В терминах замыкания можно дать другое определение
полноты, эквивалентное исходному: 97? — полная система, если
V3R]=Pk.
Понятие замкнутого класса может быть приложено к решению
вопроса об обосновании неполноты некоторых систем.
Пример 18. Рассмотрим систему с$)~{~х, max (Жц х2)}.
Пусть <? = {0, к— 1). Так как обе функции системы ^
сохраняют S, toJ^JCITY Поскольку при /с^З <§=?Ек, то Tg не
содержит, например, константу 1. Значит, при к^З ^р не будет полной
системой. На этом примере видно, что система {—х, тах(а;1, х2)}
хотя и является обобщением системы {х, хг \/ х2) булевых
функций, она не является полной.
42
1. ТЕОРИЯ ФУНКЦИЙ ft-ЗНАЧНОЙ ЛОГИКИ
§ 10. Распознавание полноты. Теорема А. В. Кузнецова
о полноте
Теперь мы перейдем к обсуждению вопросов полноты
произвольных систем ср. Следовательно, здесь нас будет интересовать,
каким образом по множеству ^ можно узнать, будет ли оно
полным или нет? Мы рассмотрим два подхода к решению этой задачи.
Первый подход алгоритмический. Он требует уточнения слов
«задана произвольная система ср». Ввиду этого мы несколько
сузим задачу и будем предполагать, что система ^ конечна:
^ = {/i. /2. ¦•-/.}
и, стало быть, она может быть явно задана перечнем таблиц либо
списком формул. Можно считать, что каждая из функций системы
ty зависит от переменных хъ х2, . . ., хг Наша задача может быть
сформулирована следующим образом: существует ли алгоритм,
позволяющий для каждой конечной системы °?> выяснять, будет ли
она полной или нет (задача распознавания полноты).
Для произвольного р ^ 1 обозначим через g? (xL, . . ., х)
функции х{, т. е. положим
??(.Г„ . . ., .ГГ)~Х(
и через 9JL, ... х — множество всех функций из 9D?, зависящих
от переменных х1, . . ., х,.
Теорема 14. Существует алгоритм для распознавания
полноты.
Доказательство. Построим но индукции
последовательность множеств
-JCq, Х/ц, . . •, JCr, ¦ ¦ .
функций от двух переменных хх и х2.
Базис индукции. Положим 9^о=0» гДе 0 — пустое
множество.
Индуктивный переход. Пусть уже построены множества
9?а, 9?}, . . ., 9?г; покажем, как определяется множество <3lr+l. Для
этого выпишем функции, входящие в 9?г (г Г> 0):
0lr = {hl(xl, х.2), ..., hSr(xv х2)) (sr = 0 при г = 0),
и для каждого i (i=l, . . ., s) рассмотрим всевозможные формулы
вида
fi([rAxv xz)> ¦¦¦' П,,(х1> хг*)>
где 7/, (хи х2) есть либо функция hj (xx, х2) (/=1, . . ., sr) либо
fi {х1, Хг).
ГЛ. II. ft-ЗНАЧНАЯ ЛОГИКА
43
Таким образом, просматривая s (sr-\-2)" формул, мы, быть
может, получим функции, не вошедшие в 9}г; их мы обозначим
через
»sr+l (#i, Х.г), . . ., uSr+1{Xl, X2).
Положим
^¦г+1 = ^г U {hirn{xv х,), . . ., /\+, (xv a-,)}.
Очевидно, что
Ъ\ с 9^ с ... с ОТ, с ...
Из построения ясно, что если 9^г+1 = 9^г, то 9lr = 9lr+i = . . ., т. е.
цепочка множеств стабилизируется. Обозначим через г*
минимальный номер множества, начиная с которого наступает
стабилизация. Тогда
9?0 с 91х с ... с 9U
Так как |9?,| не больше, чем /с'*2*), то г* ^ кк\ Значит, момент
стабилизации может быть обнаружен через ограниченное число
шагов. Рассмотрим множество 9?г*. Возможны два случая.
1) 9?г* содержит все функции от двух переменных xv x2 и,
значит, содержит Vk (xv х2). Тогда исходная система полна.
2) 9?г» не содержит всех функций от двух переменных. В этом
случае, так как ['р]^*, = 9^r*, [°PJ не содержит всех функций от
переменных хг и х2. Следовательно, ^ не полна.
Из данных рассуждений легко извлекается алгоритм: строим
классы 9^0, 9?j, . . ., 9ir* ДО момента стабилизации и
рассматриваем класс <3lr", no которому и определяем, имеет место полнота
для ф или нет. Теорема доказана.
Теорема 15. Из всякой полной в Ph системы °Р можно
выделить конечную подсистему, являющуюся также полной.
Доказательство. Пусть ср = {/1, /2, ...,/,,.. .}.
В силу полноты системы <р функция Vk (хг, х2) может быть
выражена через функции системы ^ в виде формулы:
\\(xv х^ = Ш1, ..., f,r].
Очевидно, что подсистема {/,,, . . ., /,г} является искомой. Теорема
доказана.
Таким образом, существенно бесконечных полных систем не
бывает, и тем самым введенное выше ограничение в задаче
распознавания полноты является не столь сильным, как это могло
казаться первоначально.
Второй подход к решению вопроса о полноте связан с
проверкой некоторых свойств для класса °р.
Введем одно понятие и докажем относительно него две леммы.
*) Как обычно, \М\ обозначает мощность (число элементов) множества М.
44 1. ТЕОРИЯ ФУНКЦИЙ ft-ЗНАЧНОЙ ЛОГИКИ
Пусть 9? — класс функций hj (ух, . . ., у ) из Рк, зависящих
от р переменных уъ . . ., ур, и пусть 9? содержит функции
gi (Уи • • -I УР)=У{ (*=li • • .. Р)-
Определение 19. Функция f(xv ...,xn) сохраняет
множество 9Z, если для любых функций /г,-, (уи ..., ур), .. ., }ця (уи . . ., уР)
из 9?
/(М^ь . • ., Ур), ..., Л;я(г/ь • ¦ ., у,))€ЭТ.
Обозначим через ЭД класс всех функций из Рк, сохраняющих
множество 91.
Пример 19. Пусть к = 2, р = 1 и 9l={j/, у}. Тогда
функция /(х1; ..., хг), сохраняющая множество 9}, удовлетворяет
соотношению
/({/'», .... у°») = у°,
откуда
/Ei. ¦••• 3«) = /C1. •••> а«)-
Значит, функция/^, . . ., ж„) самодвойственная и класс
сохранения множества 9} есть класс S самодвойственных функций.
Лемма 4. Класс 93? всех функций, сохраняющих 9?, является
замкнутым.
Доказательство. Очевидно, что класс 9)? содержит
тождественную функцию. Поэтому для обоснования замкнутости
класса 9?? достаточно показать, что функция
ф = /(Л, .... /J
принадлежит классу 9)?, если функции /, /х, . . ., fm принадлежат
классу 9Л. Пусть Ф зависит от п переменных. Возьмем
произвольные функции Л,-1? . . ., й,я из класса 9?. Тогда
Ф (/ц, ..., /*,„) = / (Л (Л,-,, ..., й,я), . . ., /„, (Л,,, . . ., Л,,)) =
= /(#„ .... /U
где функции Яр . . ., Нт принадлежат классу 9Z. Поэтому и
/(#!, .. ., Ят) принадлежит <~Я. Лемма доказана.
Лемма 5. Если класс 91 таков, что [9Z]yi... Ур = 9?, то для
класса 9Л, сохраняющего 91, имеет место равенство:
Доказательство. Пусть /г(у1? ..., г/ ) е9?. Тогда если
А<„ ..., й^е91, то
Л (hh, ..., hip) е [<ЭДЛ.. .Ур = 91,
ГЛ. II. fc-ЗНАЧНАЯ ЛОГИКА
45
т. е. функция AeSWy,...^. С другой стороны, если f(yv ...,y)e
еЩ^.-.г/р, то, подставляя вместо yv ..., ур функции gv ..., gp,
получим
/ fo, ..., gp)e<3l или / (j/i, ..., ур) е 91
Лемма доказана.
Теперь сформулируем и докажем теорему, принадлежащую
А. В. Кузнецову.
Теорема 16 (о функциональной полноте [1]). Можно
построить такую систему замкнутых классов в Рк
Wlv 9Л2, .... 9#,
(каждый из которых целиком не содержит ни одного из остальных
классов), что система функций из Рк полна тогда и только тогда,
когда она целиком не содержится ни в одном из классовых, ¦ . ., 9Л,.
Доказательство. Построение системы
классов 9J?1; . . ., 9Л8. Пусть 91±, 912, . . ., 9?г — система
всех таких собственных подмножеств множества функций из Рк,
зависящих от двух переменных хх и х2, которые удовлетворяют
следующим условиям (?=1, . . ., I):
1. 91< содержит обе функции g1(xv х2) = х1 и g2{xv х2) = х2.
2. [9ЪЬЛ = 9Ъ.
Указанные подмножества строятся путем перебора всех
собственных подмножеств множества функций из Рк, зависящих от
переменных х1 и х2 (число таких подмножеств меньше 2к ). При этом
оставляются те подмножества, которые содержат обе функции g±
и g2, и далее, для каждого оставшегося подмножества Э1
проверяют условие 19^]*,*, = 9?, что может быть осуществлено, как
в теореме о распознавании полноты.
Обозначим через 9J?i класс сохранения подмножества 9},-. В силу
лемм 4 и 5 90^- — замкнутый класс такой, что
/ . (9Ж-),Л = 9Ъ
(т. е. они все разные).
Далее остается только удалить те классы, которые содержатся
в каком-либо из остальных классов. Мы получим систему
9^, 9Л2,..., 9я,.
Необходимость вытекает из свойств замыкания и
неполноты классов 9Лу.
Достаточность. Пусть 9Л — система функций, целиком
не содержащаяся ни в одном из классов 93?^. (/ = 1, .. ., s). Можно
считать, что 9Л — замкнутый класс. Обозначим через 9Й' класс
[9Л (J {gv g2}]. Очевидно, что классы 9Л и 9Л' либо одновременно
полны либо неполны, так как
3»' = 9ki№i, g2)\
46
1. ТЕОРИЯ ФУНКЦИЙ fe-ЗНАЧНОЙ ЛОГИКИ
и функция Vk(xv х2) либо входит в 97? и 9??', либо не
содержится ни в 97?, ни в 97?'. Возьмем 9^' = 97?*л. Покажем, что 9?'
содержит все функции, зависящие от переменных хх и ж2. В самом
деле, допустим, что это не так. Очевидно, что [9?'] С 97?'',
19^']лЛ=9^' и следовательно, в данном случае 91' = 9?,- при
некотором г. 97?' сохраняет множество 9?,-, поэтому 9??' С 97?^. С 97? ¦
при некотором /. Так как 9ЛС9Л', то 97? С 97?., что
противоречит условию. Таким образом, 9^', а значит, и 97?', содержит
функцию Vk (хг, х2). Отсюда вытекает полнота класса 9)?', а
следовательно, и класса 97?. Теорема доказана.
Следует обратить внимание на то обстоятельство, что теорема
Кузнецова доказывает, что возможно выразить условия полноты
системы ^ в терминах принадлежности ее к специальным
классам 97?!, . . ., 97?s. Однако фактическое построение классов, даже
при небольших к, связано с трудоемкими вычислениями, которые
практически невозможно осуществить. В силу этого возникает
вопрос о поиске других, более эффективных критериев. Мы увидим,
что эта цель достижима, но за счет введения ограничений, т. е. за
счет знания дополнительной информации об исходной системе °р.
§11. Некоторые свойства существенных функций.
Теорема Слупецкого и ее приложения
Целью этого параграфа является доказательство одного
критерия полноты. Однако для этого нам необходимо несколько
подробнее изучить свойства функций / (xv . . ., х) из Рк, которые
зависят существенно не менее, чем от двух переменных. Данные
функции мы будем называть существенными. Докажем три леммы.
Лемма 6. Пусть / (х1У . . ., жя) — существенная функция,
принимающая I (I ^> 3) значений. Пусть хх — ее существенная
переменная. Тогда найдутся два таких набора (а, а„, . . ., а)
и (р, а2, . . ., а„), что
/(а, а2, . . ., aJ^/(S, а2, . . ., а),
и/(а, х2, . . ., х,) принимает значение, отличное и от/ (а, я2) . . ., aj,
и от f (р, а2, . . ., а,).
Доказательство. Так как х1 — существенная
переменная функции /, то найдутся такие значения а2, . . ., ап, что
последовательность
/(О, а2, .. ., а„), /A, а2, . . ., аи), . . ., f (к — 1, а2> . . ., ал) A)
содержит не менее двух различных значений. Возможны два случая.
1) В последовательности A) содержатся не все I значений.
Рассмотрим набор (а, у2, . . ., уи) такой, что значение/ (а, у2, . . ., у,)
не встречается в A). Очевидно, что
/(«, «2. •¦•> <0^/(a. Та» ••¦- Т.)-
ГЛ. II. ft-ЗНАЧНАЯ ЛОГИКА
47
Примем за C любое из значении, для которых
/ф, а,, .. ., «„)=?/(«, я2, . . ., «J.
Очевидно, что также
f{% а2, ..., а„)=^/(а, Т.2, . . ., Тя).
2) В последовательности A) встречаются все I значений.
Из существенности функции / вытекает, что существует а такое,
что
/(а, х.,, . . ., х,) ф const
(иначе / зависела бы существенно только от одной переменной).
Отсюда следует, что найдутся наборы («, «2, . . ., aJ и
(а, Тг. ¦ • •. Т») такие, что
/(а, а2, ..., ая)=?/(а, Тг, . . ., Ъ;).
Так как последовательность A) содержит I (I ;> 3) значений, то
найдется такое р, что
/(&, а2, . . ., ан)=^/(а, а,, . . ., а„)
и
/(Р, а.- ••¦> *»)=И=/(«> Т*. ••- !'„)•
Лемма доказана.
Лемма 7 (основная). Если / (хх, . . ., х,) — существенная
функция, принимающая 1A^3) значений, то найдутся п
подмножеств Gx, . . ., G множества Ек, таких, что
KJGJ, ..., |GJ<Z-1,
и на множестве наборов (alt . . ., а,), где a( ? G (i = l, . . ., /г),
m. е. на GXXG2X. . -XGn, функция f принимает Означений.
Доказательство. Можно считать, что хх —
существенная переменная функции /. На основании предыдущей леммы
найдутся три набора
(а, <х2, . . ., aj, (?, а,, . . ., ан) и (at, Тг, . . ., Тп),
на которых / принимает три различных значения. Добавим к этим
наборам еще 1—3 набора
(Ц'\ 3@, ..., SCD), ..., (З('-з), 8('-з), .... Sff-a.),
на которых / принимает остальные I—3 значения.
Положим t*=
G1 = {a, В, о[1), ..., SJ'-з)},
G2 = (a2, T,, 80), .. , 8('-з)},
G = (а ^ o(D о('-3)\
48
1. ТЕОРИЯ ФУНКЦИЙ fc-ЗНАЧНОЙ ЛОГИКИ
Построенные множества, очевидно, удовлетворяют требованиям
леммы. Лемма доказана.
Определение 20. Система наборов вида
(«1.
(«и
(«1.
к.
¦> <*„¦-
fi a
j
a .
. ., а ),
• - *„),
°o.
называется квадратом, если а,=г=|3,- и a-^Pj.
Лемма 8. Пусть / (а^, . . ., ж„) — существенная функция,
принимающая 1A^3) значений. Тогда найдется квадрат, на
котором f принимает либо более двух значений л\хбо два значения,
причем одно из них только в одной его точке.
Доказательство. Можно считать, что
существенная переменная функции /. Тогда на основании леммы 6
найдутся наборы
(а, а2> .... ая), C, а2, . . ., а„) и (а, Т,, .... у„),
на которых / принимает три различных значения. Эти наборы
порождают куб размера 2, т. е. куб, имеющий проекцию на
каждую ось не более, чем из двух точек,
а размерность не более п. Данный
куб определяется как
л?/=а
К Ь) х К ъ) х... х {*„, у,,}.
х,=/3
Рис. 2.
Рассмотрим в этом кубе
гиперплоскости хг=а и хх=Р (рис. 2). В
гиперплоскости х1= а соединим точку
(а2, . . ., оя) с точкой (у2, . . ., Ти)
цепочкой ребер, принадлежащих этой
гиперплоскости (каждое ребро — это
пара соседних наборов
гиперплоскости, т. е. наборов, принадлежащих
гиперплоскости и отличающихся
значением ровно в одной координате). Данная цепочка ребер
определяет цепочку ребер в гиперплоскости хг= р, являющуюся ее
проекцией. Пара соответствующих ребер этих цепочек образует
квадрат. Следовательно, имеем цепочку квадратов. На ребре Rx
первого квадрата функция / принимает значения / (а, а2, . . ., «J
и / (Р> а2> • • •» a»)i a Ha ребре Rt последнего квадрата
функция / хотя бы одного из этих значений не принимает. В таком
случае в цепочке найдется квадрат (пусть его номер i) такой,
что на ребре R( функция / принимает значения / (а, аг, , . ., ая)
ГЛ. II. fc-ЗНАЧНАЯ ЛОГИКА
49
и / (Р, а2, . . ., а„), а на ребре R.+1 не принимает по крайней мере
одного из этих значений. Квадрат с номером i является искомым.
Лемма доказана.
Доказанные леммы допускают простую геометрическую
интерпретацию. Пусть / (xv . . ., х„) — существенная функция,
принимающая I значений, где I ^> 3. Тогда:
1. Существует куб размера 2 такой, что на нем функция
/принимает по крайней мере три значения (лемма 6).
2. Существует куб размера I — 1 такой, что на нем функция /
принимает все I значений (лемма 7).
3. Существует квадрат, на котором функция / принимает либо
более двух значений либо ровно два, из которых одно в одной
точке (лемма 8).
Замечание 1. Первые две леммы не имеют смысла для
к=2, третья имеет, но неверна, так как функция
в своей области определения, — а она есть квадрат, — принимает
два значения и оба с кратностью два.
Замечание 2. Леммы 7 и 8 не допускают усиления.
В самом деле, пусть 3 ^ I ^ к—1, п ^ 3 и
/ (х ..., х) = 1 1 ПРИ Xl== ••• =*«='' 1<i<^ —1,
' *' " \ 0 в остальных точках.
Пусть Gv . . ., Gn — произвольные подмножества множества Ек и
1<1^1> .... |^|<г-2.
Тогда на GXX. . .XG„ функция /, не может принимать все I
значений. Далее, на™любом квадрате /, принимает не более двух
значений.
При рассмотрении функций / [xv . . ., ж„) из Р,., обладающих
определенными свойствами на некотором множестве c?=G1X. . . X
XGb, часто приходится переходить к функциям /' {хг, . . ., хп),
обладающим аналогичными свойствами, но, может быть, на
другом множестве с§"=(?^х. . .xG'n. Переход от функции / к
функции /' мы будем называть нормировкой. Другими словами, норми-
ровка'связана ^преобразованием переменных и преобразованием
значений функции вида
f'(x1,...^,)=~^Hf^](x]),...^N(x,))).
В этих преобразованиях мы исходим из того, что \G[\ — \G1\=l1,
. . ., \G'n\ = \Gu\=ln. Обозначим через тH, . . ., т^ значения, которые
принимает / на множестве <§, и через %,, . . ., ^_1 — попарно
4 Дискретная математика, т. I
50
1. ТЕОРИЯ ФУНКЦИЙ fc-ЗНАЧНОЙ ЛОГИКИ
различные числа множества Ек. Нормировка определяется
указанием взаимно однозначных соответствий между множествами:
Йо> • • •> W^K. ¦ • ¦• Vi)>
G^G[,
G„**G'.
Эти взаимно однозначные соответствия могут быть подчинены
дополнительным требованиям, например, чтобы фиксированная
точка (аг, . . ., aj из <§ соответствовала фиксированной точке
(с^, . . ., а,',) из S' и чтобы фиксированная точка \
соответствовала фиксированной точке т\ . Ясно, что эти соответствия могут
быть осуществлены при помощи функций с[> (х), ^ (х), . . ., <|>, (ж)
из Рк, которые всегда можно выбрать из множества
подстановок, а если I, 1г, . . ., 1п ^ к—1, то их можно выбрать из
множества функций одной переменной, принимающих не более
к—1 значений. Очевидно, что при нормировке кратности
значений функции /' на ¦->' такие же, как кратности соответствующих
значений функции / на ?. В дальнейшем нормировка используется
в следующих видах:
I. {ц0,.... v,} = {-п\,..., т,;,} н ф (х) = х, а с; = {о,.... *, - 1}
(/- ],....»)•
2. 6', - С. и 6, (х) -=- .с (/--],..., //), а (т),', .... Ti^_, > —
= {(),...,/- 1).
•'J. {г.• • - v,} = {o,..-J -1},6';-={0,.... z, - 1} (/ -= i, ...,«).
Случаи 1 (преобразование переменных) и 2 (преобразование
значений) — случаи неполной нормировки. В качестве
фиксированных точек т)' и ((*!, . . ., сс,';) обычно берутся 0 и @, . . ., 0).
Докажем теперь теорему, являющуюся обобщением известной
теоремы Слупецкого.
Теорема 17 [2]. Пусть система ср функций из Р,, где
к ^- 3, содержит все функции одной переменной, принимающие не
более к—1 значений. Тогда для полноты системы ^ необходимо
и достаточно, чтобы система ^р содержала существенную
функцию f (хг, . . ., хр), принимающую все к значений.
Необходимость. Пусть ср — полная система.
Предположим, что °р не содержит существенной функции,
принимающей все к значений. Очевидно, что тогда из ср нельзя получить
существенной функции, принимающей все к значений. Мы пришли
к противоречию. Значит, ^содержит существенную функцию,
принимающую все к значений.
Достаточность. Пусть ф удовлетворяет условию
теоремы и содержит существенную функцию / (xv . . ., xj,
принимающую все к значений. Покажем, пользуясь индукцией, что
°р полна.
ГЛ. II. fc-ЗНАЧНАЯ ЛОГИКА
51
1) Базис индукции. Покажем, что из ^ можно
получить все функции из Рк, принимающие два значения. На основании
леммы 8 найдется квадрат
(а„ . . ., a,_j, а,., а<+1> . . ., ау_р а.., ау+1, . . ., а„),
(at, . . ., а._!, В., а.+1, . . ., о..^, a., <xj41, . . .,«„),
(alt .... а..!, 3., а.+1, . . ., ау_1; Зу, а.+1, . . ., а„),
(а3, . . .. <*,-_!, а», а,-+1, . . ., а^1; Зу, <ху+1, . . ., а„),
где а,. =^=3,- и а. =^=8 на котором функция / принимает не менее
двух значений, причем одно из них т\ — в одной точке. Возьмем
функцию ф (х) такую, что
0 при х = -г\,
1 при х=?=%
Очевидно, что ф (х) е ср. Пусть
g {xv х.г) = <|> (/ (<*!, . . ., а,._г, s1? а,.+1, . . ., ау_г, ж,, а,+1, . . ., а,,)).
Функция g(x2, х») на квадрате {(а,., а,), C., а.), (Р<, Ву), (a,-, 6у)}
принимает два значения, 0 и 1, причем значение 0 в одной точке;
назовем ее (а.\, ag). Осуществляя неполную нормировку так, чтобы
точка @, 0) отображалась в точку (aj, a°), а весь квадрат {@, 0),
A,0), A, 1), A,0)}— в указанный выше квадрат, получим
функцию g'(ху, ж2), где
g'(xlt xJ=g(tyJ(x1), ф2(л;2))
и ф:, ф2 е °р. Функция g' (xlt ж2), очевидно, есть максимум на
множестве {0, 1} X @, 1}. Обозначим ее через х^\/01х^. Так как
система °р содержит функции ji(x), где
... A при х = i,
//(*) = L ,.
(О при x=f=i,
то
х1 (\01х2 = ]0 (]0 (Xj) Voi/o \х2>)
есть минимум на множестве @, 1}х{0, 1). Пусть h (х1? . . ., хт) —
произвольная функция, принимающая два значения 0 и 1. Тогда
h (а-i, . . •, хя) = V /., fa) & ... & jam (хш) & h (ax, . . ., oj =
(»,. ..., "m)
= V oi /„, (^0 &oi ¦ • ¦ &oi/«„. (*J &oi^ fa, ¦ • •. a J-
C"i %)
Таким образом, функция h (x1; . . ., xh) может быть получена
из системы 'р. Так как °р содержит все функции одной переменной,
принимающие любые два значения, то мы можем также получить
из "р все функции, принимающие любые два значения.
4*
0 (х) —
52
1. ТЕОРИЯ ФУНКЦИЙ fc-ЗНАЧНОЙ ЛОГИКИ
2) Пусть из ^ построены все функции, принимающие не более
I—1 значений, и I—1 <С к. Покажем, что тогда из °р можно
построить все функции из Рк, принимающие I значений. Возьмем
функцию / (xv . . ., хп). На основании леммы 7 найдутся п
подмножеств Gx, . . ., Gn таких, что \Gt\ ^ 1—1 (? = 1, . . ., /г) и на
<§'=G1X. . .xGn функция / принимает I значений ¦%, %, . . .
..., 7);_г. Положим, что эти значения принимаются соответственно
на следующих наборах из &:
а@'=(а@), а@), ...,а(<»),
т.е. /(ас°') = тH, /(аA)) = т111 . . .,/(а(;_1,) = 71,_1. Покажем, что из
системы °р можно построить произвольную функцию h{xv . . .,хт),
принимающую значения тH, %,..., т),^.
В самом деле, функцию А^,. . ., хт) можно задать при помощи
таблицы 10, в которой 3 = (а1; . . ., ат). Определим функции
ifj (xlt ..., хт) (/ = 1, . . ., п) так, как указано в таблице И.
ТАБЛИЦА 10 ТАБЛИЦА 11
Х\ . . . Хт
°1 • • -"т
<\>j {Xlt . . . , Хт)
„(;»)
Х\ • . • 3-7П
<?1 . . . <зт
A(*i> . . . , хт)
ll P)
Тогда
A(*i. . . ., a;J =/(<!>! (xv . .., жт), . . ., ^(xv . . ., xj),
ибо
/(<h(°i. • • .,°J. • ¦ - t„Ci> • • ¦.om))=/W,W). • • -.<чв))) = Ът
и
Имея все функции с заданными I значениями т|0, . . ., т); 1(
можно в случае I <С_к при помощи функций одной переменной,
принимающих менее к значений, получить остальные функции
с I значениями. Таким образом, применяя этот прием, мы дойдем
до 1—к и тогда построим все функции из Рк. Этим достаточность
доказана.
Следствие (критерий Слупецкого [12]). Пусть система
°?) функций из Рк, где к ^ 3, содержит все функции одной
переменной. Тогда для полноты системы ^ необходимо и достаточно,
чтобы °р содержала существенную функцию f (xv . . ., хп),
принимающую все к значений.
ГЛ. II. ft-ЗНАЧНАЯ ЛОГИКА
53
Замечание. Доказанная теорема верна при 4 ^ 3 и не
может быть распространена на случай к=2. В самом деле, система
^ = {0, 1, х, х, Zj + a;.,}
не является полной, так как ^ICI.
Непосредственное использование теоремы 17 и тем более ее
следствия не всегда удобно, так как для этого предварительно
нужно установить наличие в ^ всех функций одной переменной,
принимающих не более к—\ значений, т. е. кк—к\ функций.
С ростом к громоздкость указанных построений сильно возрастает.
Поэтому целесообразно в формулировках теорем заменить
требование, чтобы система ^ содержала определенное множество
функций одной переменной, на требование, чтобы система 'р порождала
это множество функций одной переменной. Последнее может быть
установлено гораздо более экономичным образом, например,
если известно, что из °р могут быть получены какие-то конкретные
системы функций одной переменной, порождающие все функции
одной переменной.
В качестве примеров таких систем приведем две системы.
Теорема 18 17]. Все функции одной переменной из Рк
могут быть порождены тремя функциями:
f (х) = х — 1 (mod k),
1х при 0^.х^к— 3,
к — 1 при х = к — 2, h (x) —
к — 2 при х = к — 1,
Теорема 19. Все функции одной переменной иг Рк могут
быть порождены к функциями
II при х = 0,
0 при х = 1, (г = 1, ...,&—1)
х в остальных случаях,
и функцией h (x).
Доказательства теорем несложны, поэтому опускаются.
В заключение рассмотрим еще одно приложение доказанного
критерия полноты. Мы укажем характеристическое свойство
функции из Рк, образующей полную систему (функция Шеффера).
Соответствующая теорема является незначительным усилением
теоремы из [6].
Теорема 20. Функция f (xv . . ., х.) из Рк, где к ^ 3,
является функцией Шеффера тогда и только тогда, когда
f (х^ . . ., х,) порождает все функции одной переменной,
принимающие не более к—1 значений.
Необходимость очевидна.
1 при х = и,
х при х^=0.
54
1. ТЕОРИЯ ФУНКЦИЙ fc-ЗНАЧНОЙ ЛОГИКИ
Достаточность. Очевидно, что / (хх, . . ., xtl) должна
принимать все к значений, так как из нее получаются, например,
все константы. Если / — несущественная функция, то / есть
подстановка и из нее можно получить только подстановки. В этом
случае мы не получим даже констант. Значит, это невозможно,
т. е. / является существенной функцией. Применяя теорему 17,
приходим к тому, что система °E = {f (хг, . . ., яя)} является полной.
Теорема доказана.
§ 12. Теорема Саломаа
Можно рассматривать системы ср функций из Рк, содержащие
определенные подгруппы подстановок, и изучать условия их
полноты. В этом направлении Саломаа были получены два критерия
полноты. Один из них мы подробно разберем.
Теорема 21 (критерий Саломаа И И). Пусть система °р
функций из Рк, где к ^ 5, содержит все разнозначные функции
одной переменной (группу всех подстановок €>*.). Тогда для полноты
системы °fi необходимо и достаточно, чтобы ф содержала
существенную функцию f (xv . . ., хп), принимающую все к значений.
Необходимость доказывается так же, как и в
теореме 17.
Достаточность. Доказательство разобьем на
несколько этапов.
I. Построение функции <р (х), зависящей
от одной переменной и принимающей
/значений, где 2 <; I <; к—1.
В силу леммы 7 можно указать подмножества Gv . . .,Gn такие,
что | G. | <;& — 1 (i = 1, .. ., п) и на g = G1X • • • X Gn функция /
принимает все к значений. При помощи подстановок из Qk можно
осуществить неполную нормировку функции / и перейти к функции
/' (хх, .. .. хя), которая принимает все к значений на множестве
?' = G;X •¦• XG;„ где G'1=...=G', = Ek_1 = {0, 1 Л —24
Обозначим через t\ величину /' (к—1,...,к—1), т. е. t\ =
= /' (к— 1, . . ., к— 1). Покажем, что в §' можно выбрать два
набора аA) и аB) так, что aW =?а\2\ . . ., а'1) =^ а<2> И /' (аA)) = т],
a /' (а'2')^7!- Это можно осуществить следующим образом: возьмем
набор р е ?' такой, что /' (р) = т\. Пусть Пр — пучок гиперплоскостей
размерности п — 1, параллельных координатным гиперплоскостям
размерности п — 1 и проходящих через точку р = (Р1, . •., CJ, т. е.
множество точек, для которых либо х1 = |31, . .., либо хп = $п.
Возможны два случая.
а) В <§' вне Пр существует точка у такая, что /' (f) =?= % В этом
случае цель достигнута — за точки йA) и <х<2) можно взять точки
Р и Т-
ГЛ. II. ft-ЗНАЧНАЯ ЛОГИКА
55
б) Для любой точки 7 из &', не принадлежащей Пр, имеет
место /' d) =z -г). Тогда в ?' найдется точка § е Пр, в которой
/' (о) ?= "Ч- Рассмотрим пучок П§. При к ^ 4 пучки Пр и П§ не могут
исчерпывать всего подкуба <§" размера fe — 1. Значит, в нем
найдется точка I, не принадлежащая ни пучку Пр, ни пучку Ш, и
поэтому в силу б) /' (?) = г). Таким образом, взяв за йш и йB) точки
I и о, мы опять достигаем цели.
Выберем в §' точки а<3), . .., ас*-1' так, чтобы система точек
обладала тем свойством, что для любых i и / (l<^<i, j^к—1 и
1^=]) а("фПа(у). Обозначим через а@) набор (к—1, . . ., к — 1).
Очевидно, что матрица, составленная из компонент наборов а@',
йA>, ...,5.u-i>:
«["', а?\ ...,«<•»
! а_> > ' • ¦ I "Я
\ ul i а2 > • • • > я
состоит из разнозначных столбцов. Эти столбцы определяют п
функций <рх (ж), . . ., да, (х), а именно:
<Р, (/) = «И> (/ = 0, . . ., Л - 1; * = 1, . . ., га).
Рассмотрим функцию ср (ж), оп])еделяемую формулой
ф(х) =/'(<?! (.г), . ..,<р„ (ж)).
Так как »,,..., сряе ^) и ср @) =. ср (I) = т), а<рB)=^=т], то ср (.г) и
есть искомая функция.
П. Построение функции ф (ж), зависящей
от одной переменной и принимающей два
значения Oil.
Рассмотрим функцию <р (x). Пусть она принимает I значений
(I =С к—1). Тогда можно осуществить ее нормировку при помощи
подстановок так, что получится функция «' (х), у которой
<р'@) = <р'A) = 0. ?'B)=1, <р'C) = 2,...,<?'(*) = *-!.
Очевидно, что функция
I -1 раз
будет принимать два значения 0 и 1. Пусть т0 и тх — кратности,
с которыми она принимает значения 0 и 1 (m0Jrm1=k). Можно
осуществить ее неполную нормировку — преобразование
переменной при помощи подстановки так, что получится функция ф (х):
U при х <Сто>
I при х ^г т0.
И*)-
56
1. ТЕОРИЯ ФУНКЦИЙ ft-ЗНАЧНОЙ ЛОГИКИ
Заметим здесь, что система °f) порождает все константы, ибо
tp' (ф (х))=0, а остальные константы получаются путем
использования подстановки ж+1 (mod к).
III. Построение функций х1\/01х2, xi &oAi я в~
ляющихся на множестве {О, 1}Х{0, 1}
соответственно максимумом и минимумом.
В силу леммы 8 из функции / можно при помощи подстановки
констант построить функцию g (xv х2), принимающую на
некотором квадрате не менее двух значений, причем одно из них в одной
точке (?!, ?2). При помощи подстановок можно произвести ее
неполную нормировку, преобразующую квадрат {О, 1}Х{0, 1} в
указанный выше квадрат, а точку @, 0) — в точку (сх, |2).
Полученную функцию обозначим через g' (xv x2). Далее возьмем функцию
ф (х). Можно считать, что /?г0 <С тх, иначе мы произвели бы
нормировку значений функции при помощи транспозиции t01 (x),
/0 1 2...Л—1\
где V(x)= | л о г, /i 1 > а так>ке нормировку переменной при
помощи функции —х и получили бы функцию ф' (х). Для ф' (х),
очевидно, кратности m'Q и т[, с которыми она принимает
значения 0 и 1, удовлетворяют соотношению т'0 ^ т[.
Так как к ^ 5, то т1 ^ 3, и поэтому значениям функции
g' (xv х2), принимаемым на множестве {@, 1), A, 0), A, 1)}, можно
взаимно однозначным образом сопоставить некоторые элементы
из множества {т0, . . ., к—1}. Это соответствие можно
продолжить до подстановки s(х) из <2>к такой, что s (g' @, 0))=0. Очевидно,
что
Ф (s (&' («1. x-2))) = xi\/o&-
Поскольку
% (% (^l/V 01^01 \Xi)l == Xl "Ol'^'
то мы имеем максимум и минимум на {0, 1} X {0, 1}.
IV. Построение функций }0(х), . .., jk_1 (x), т. е. функций
М*) = {о
1 при х = i,
при х^=1.
Возьмем функцию ф (ж) и определим tv.г (х) как транспозицию
значений i и /, т. е.
/0...1-1 i i + l .../-1 ; / + l...fc-l\
'vw = [0...!-l / i-f 1 .../ —1 i 7 + 1 ...k—l)-
Построим функцию
Ь (*) = Ф (х) &oi t (*»„-i. «о И).
ГЛ. II. ft-ЗНАЧНАЯ ЛОГИКА
57
Очевидно, что
ф Ы = 1° ПРИ х<т° + 1>
YlW A при ж>те0 + 1,
т. е. <(>! (х) принимает значения 0 и 1 соответственно с кратностями
т'0 = тй-\-\ и 011 = 01! — 1.
Применяя эту процедуру щ — 1 раз, мы получим функцию <j>m,-i (х):
, (О при x<im0-\-m1 — 1=к — 1,
<!>„,_! (я)-^ при x>fc_L
Таким образом, tymi-i(x) = jk_1(x). Остальные функции /0 (х), ...
• • •> /*-2 (•г) получаются путем неполной нормировки—преобразованием
переменных при помощи подстановок.
V. Построение всех функций изР4 (индукция
по числу значений). Эта часть доказательства почти совпадает
с доказательством соответствующего индуктивного утверждения
теоремы 17. Отличие состоит в том, что при нормировках здесь
используются подстановки из S&. Теорема полностью доказана.
Теперь покажем, что теорема неверна для к ^ 4. Это
устанавливается при помощи примеров.
Случай к=2. Множество в2 содержит две функции х и х.
Возьмем существенную функцию хх-\-х%. Система {х, х, хх-\-х^
состоит из линейных функций и поэтому не будет полной.
Случай к=2>. Множество ?>3 содержит шесть функций:
х, ж + 1, х + 2, 2х, 2а;+ 1, 2х + 2 (mod3)
— все они являются линейными. Если взять существенную
функцию, принимающую три значения: х1-\-х2 (mod 3), то система
C$={QS, Zj-f-.Tj} будет порождать только линейные функции и
поэтому не будет полной.
Случай /с=4. Множество ©4 содержит двадцать четыре
функции. Здесь мы не можем использовать свойство линейности
(в смысле линейного выражения по mod 4), ибо не все функции
из в4 являются линейными. Поэтому мы рассмотрим так
называемое свойство квазилинейности. Пусть G — абелева группа над
множеством Ек с операцией ф. Кроме того, пусть
а = (а1( ...,<*„),
«еР=ке^, .--.«„ею,
о = (о,...,о),
QSL = (Qa.1> ...,0a„)
@ а обозначает элемент противоположный а).
58
1. ТЕОРИЯ ФУНКЦИЙ /t-ЗНАЧНОЙ ЛОГИКИ
Определение 21. Функция / (хг, . . ., х,) называется
квазилинейной относительно группы G, если для любых наборов
аир
/(«фр) = (/BH/C)) 9/@).
Очевидно, что функции g(x) = x и rr1 ф хг являются
квазилинейными. Легко видеть, что, беря р — 0 а, по:г\чаем
/(П) = (/(й)®/ВаЮ/(П)
пли
2/@) =/E.) ф/@ а).
Обозначим через Ьв класс всех квазилинейных функций.
Лемма 9. Класс LG является замкнутым.
Доказательство. Так как функция g (x)=x
содержится в Lg, to для доказательства замкнутости класса LG
достаточно показать, что
Ф(г) = /(/1(ж),...,/и(х))
принадлежит LG, если /, fv...,fm принадлежат LG. Возьмем два
произвольных набора а и р. Тогда
Ф(а 0 Р) = /(А(а Ф Р), • • •• /„(а © Р)) =
- / ((А (а) © А (Р)) 9 А @),..., (/„ (а) © /м (р)) Э /„ @)) =
-(/(/1(а)Ф/1(Р),.--/тE.)Ф/т(Р))Ш
®/(e/i@),.--.e/„@)))e/@) =
= (((/ (Д (*),...,/„ (а)) ф / (А (Р), ..•¦/„ (Р))) 9 / (б)) ©
®/(e/i@),...,e/m(O)))e/@)=
= (Ф (а) 0 ф (Р)) © (/ (9 А (б). • • • • 9 L (б)) 9 2/ (б)) =
= (Ф (а) 0 Ф (р)) 0 / (А (б),..., /„ @)) = (Ф (а) 0 ф (р)) 0 ф @).
Лемма доказана.
Определим теперь над множеством ЕА операцию © (см.
таблицу 12). Множество Et с операцией ф образует абелеву группу G,
нулем которой является число 0, и такую, что
а ф а = 0,
а значит,
0а = а.
Выясним, каким условиям должна удовлетворять
квазилинейная функция / (х), зависящая от одной переменной. Из определе-
ГЛ. II. fc-ЗНАЧНАЯ ЛОГИКА
59
ТАБЛИЦА 1
е
0
1
2
3
0
0
1
2
3
2
1
1
0
3
2
2
2
3
0
1
О
3
2
1
0
ния вытекает, что для любых аи р
/(яФ?)=/МФ/(?)©/@).
Это условие автоматически выполнено, если а или C равно 0 или
а= р (так как т^гТ^О)- В силу коммутативности операции ф
отсюда следует, что для квазилинейности
функции / (х) необходимо и достаточно
выполнения трех равенств:
/A© 2) =/AH/B) ф/@),
/A©3) = /AH/CH/@),
/B©3) = /BH/C)©/(О),
которые равносильны одному
соотношению:
/(ОH/AH/BH/C) = О.
Для каждой функции из множества E4 оно автоматически
выполнено, так как эти функции разнозначны и
0010203 = 0.
Итак, все функции из Qi квазилинейны. В то же время
функция jt(x) не квазилинейна, ибо j. @) ф /.A) ф /.B) ф /4C) = 1.
Возьмем существенную функцию, принимающую все четыре
значения: хг © хг. Тогда система ^ = {<54, хг ф х2) порождает только
квазилинейные функции, поэтому (в силу неполноты класса LG)
система °р не полна.
§ 13. Особенности fc-значных логик
Предыдущий материал показывает, что во многом конечно-
значные логики похожи на двузначную логику. В них сохраняются
многие результаты, имеющие место в двузначной логике. Правда,
рост значности все-таки приводит к известным усложнениям
формулировок и доказательств.
Однако теперь уже накоплено достаточно много фактов,
указывающих на своеобразие конечнозначных логик, в том числе и
фактов, выявляющих существенное отличие Рг при к ^ 3 от Рг.
Эти обстоятельства тем более заслуживают внимания, если иметь
в виду работу Поста [8], в которой была выдвинута идея сведения
конечнозначных логик к двузначной логике. Он предложил вместо
функции f (х-у, . . ., хи) из Р, рассматривать систему функций
{«Pifo
°nV
x»i)> • • ¦> b(xi
;Х,
«V
., ?,,,)}, где l=]log2k [*), причем, если значение а, имеет
*) ]а[ обозначает наименьшее целое число, но меньшее а.
60
1. ТЕОРИЯ ФУНКЦИЙ ft-ЗНАЧНОЙ ЛОГИКИ
двоичный код аа. . . atl(i=i, . . ., п), то значение / (сс1? . . ., ая)
должно иметь двоичный код
ср^яц, . • .,аи, . . .,«„!, . • .,<*„,) . . . ?г(аа, . • .,аи, ¦ ¦ .,аи1, . . .,ан1).
При этом операции суперпозиции в Рк будет соответствовать
весьма специальная операция над системой функций (<р1} . . ., <р,}
из Р2. Возможность кодирования функций из Р,. системами
функций из Рг может быть полезной при решении логических задач
на вычислительных машинах, но мало что дает для исследований
в конечнозначных логиках. Факты, свидетельствующие о
своеобразии PJ: при к ^> 3, были известны, начиная с работ Слупец-
кого [12], а также работ Кузнецова [1] и автора 12]. Однако
более поздние результаты Янова и Мучника [5] показали, что
различие между Рк и Рг значительно существеннее, чем это казалось
раньше.
В настоящем параграфе мы собираемся коснуться лишь
некоторых стороа этой проблемы. Нас будут жатереслъ&ть спедукщ&е
три вопроса.
1. Вопрос о существовании базисов для замкнутых
классов в Рк.
, 2. Вопрос о мощности системы всех замкнутых классов в Рк.
3. Вопрос о возможности представления функций из Рк
посредством полиномов.
Как это вытекает из теорем Поста и Жегалкина, в алгебре
логики мы имеем следующие ответы на поставленные
вопросы.
1. Каждый замкнутый класс в Р2 имеет конечный базис.
2. Мощность множества всех замкнутых классов в Р2
равна Яо-
3. Всякая функция в Р2 может быть записана в виде полинома
по mod 2.
Для Рк {к ^ 3) соответствующие ответы составляют
содержание последующих теорем. Первая из них есть теорема Янова.
Теорема 22 [5]. Для всякого к, к^ 3, в Рк существует
замкнутый класс, не имеющий базиса.
Д о к аэательство. Рассмотрим последовательность
функций (i—i,k 2, . . .)
f =0 f(x х И при а^ =...=*, = 2,
10 '•'•vi' > г) |Q B остальных случаях.
Обозначим через JRk множество всех функций, получающихся
из {/о> /и • • •} путем переименования (без
отождествления) переменных. Легко видеть, что УЛк — замкнутый класс.
Допустим, что 9[>?fc имеет базис. Тогда в базисе найдется такая
функция /, получающаяся из некоторой функции /„„ путем переиме-
ГЛ. II. fc-ЗНАЧНАЯ ЛОГИКА
61
нования переменных, что число п0 минимально. Далее возможны
два случая.
1. Базис содержит еще хотя бы одну функцию /'. Этой
функции соответствует функция /„,, у которой nl ^>nQ. Так как /Яо может
быть получена из /Й1 путем отождествления переменных, то /
выражается через /', что противоречит определению базиса.
2. Базис состоит из единственной функции /. В этом случае
никакая функция /„ с п ^> п0 не может быть получена из /, так как
/я„(- • •./«„, • • .) —О- Мы опять приходим к противоречию.
Итак, остается допустить, что <3Rk не имеет базиса. Теорема
доказана.
Следующая теорема, принадлежащая Мучнику, является
надстройкой над теоремой Янова.
Теорема 23 [5]. Для всякого к, к^ 3, в Рк существует
замкнутый класс со счетным базисом.
Доказатель с т в о. Рассмотрим последовательность
функций (?=2, 3, . . .)
f{(xv ...,х{) =
A нриж1= . . . =xJ_1=xJ.+1= . . . =х( = 2, Xj = \ (/=1, • • ., i),
10 в остальных случаях.
Обозначим через УЛк замкнутый класс, порожденный
системой {/2, /3, . . .}. Покажем, что эта система является базисом в сЮ1к-
Для доказательства достаточно установить, что никакая из
функций fm не может быть выражена в виде формулы через остальные
функции системы, т. е. невозможно представление
1т == ^1 L/2' • ' ' ' /т-1 > /т+1> • • •-!•
Если записать формулу 21 несколько подробнее, то получим
•Л [/2> • • •> Tm-V Jm+V ¦ ¦ ¦ I =
~ /г (™1 L/2' - • -'Jm-V /m+1' • ¦ -J' • • •' "OrlJ2> • • "'/m-l' /m+l> • • • I)
ИЛИ
'm \XV • • •' xm) ~
~/r(^lL/2> • • ¦¦'fm-V /m+1' ••¦]>•• •> <3r [/2, • • •'/„,_!, fm+V • ¦ ¦})• \4
Априори возможны три случая.
1. Среди формул 'Bj,. . ., 93г (здесь г^> 2) по крайней мере две
формулы отличны от символов переменных. Тогда при любых
значениях переменных xv . . ., хт на соответствующих местах
функции /г возможны лишь значения 0 и 1 и поэтому правая часть
B) будет тождественно равна нулю. Последнее противоречит
возможности представления B), так как /„#0.
62
1. ТЕОРИЯ ФУНКЦИЙ ft-ЗНАЧНОЙ ЛОГИКИ
2. Среди формул 93х, . . ., 03,. найдется только одна формула 93,,
которая отлична от символа переменной. По условию, остальные
формулы сводятся к переменным, и поскольку г ^ 2, то найдется
по крайней мере одна формула cb^xq. Рассмотрим набор хх=. . . =
=xq_l=xq+1=. . .=хт=2 и xq = \. На этом наборе
формулаQ3gпринимает значение либо 0 либо 1. Следовательно, при данном выборе
значений переменных на двух местах функции /г будут стоять
значения, отличные от 2. Поэтому правая часть B) примет значение 0.
В то же время левая часть B) на данном наборе равна 1. Мы пришли
к противоречию.
3. Все формулы 95ц • • ч ^г — символы переменных. В этом
случае г > т и, следовательно, в формуле встретятся по крайней
мере два вхождения некоторой переменной х . Взяв набор хх=
= . . .=хр_1=хр+1=. . .=хт=2 и ж =1, мы обратим левую часть B)
в 1, а правую в 0. Следовательно, этот случай также невозможен.
Теорема доказана.
Непосредственно к доказанному примыкает следующая теорема.
Теорема 24. Для всякого к, к~^ 3, Рк содержит континуум
различных замкнутых классов.
Доказательство. Число замкнутых классов в Рк
можно оценить сверху числом всех подмножеств функций из Р!:.
Так как Рк содержит счетное число функций, то число
подмножеств множества Рк равно континууму.
Для завершения доказательства нужно оценить снизу число
замкнутых классов в Рк. С этой целью рассмотрим замкнутый
класс, JJlk, построенный при доказательстве предыдущей теоремы.
Этот класс имеет базис
{/2, /з- ¦ • ¦}•
Образуем для каждой последовательности pv р2, ..., где
2<Pi<P2<--->
класс ЭДд. (р1( р2, .. .), порожденный системой функций {/Pl, /Рг, .. .}.
Легко видеть, что
Жк(р[, Р;, ...)=И=ЗЛ*(р", р*. ...).
если
Pi» {'¦>¦> ¦ ¦ -?=?i, p2. • • •
Следовательно, семейство (xW^Pu p2, . . .)} является
континуальным семейством. Теорема доказана.
Теорема 25 [2]. Система полиномов по mod к полна в Рк
тогда и только тогда, когда к=р, где р — простое число.
Доказательство. Легко видеть, что для любой
функции / (xv . . ., хп) из Рк имеет место представление
J{xl,...,xn) = 2 /.,fo) ¦ • • /.,(х„) 1 (ov ..., о„) (modк).
ГЛ. П. /i-ЗНАЧНАЯ ЛОГИКА
C3
Поэтому вопрос о представимости функции / полиномами по mod к
сводится к вопросу о представимости в виде полиномов функций:
/о(*). ¦••¦ /ый-
В силу того, что
L (•'<') •= /и ix —:).
мы можем утверждать, что система полиномов по mod к полна
тогда и только тогда, когда представима в виде полинома
функция /0 {х).
1. Пусть к=р. В этом случае, опираясь на малую теорему
Ферма, получаем:
h) (х) = ! — ^~л (mod />)>
т. е. система полиномов полна в Рк*).
Можно указать другой способ решения этой же задачи. Будем
искать представление функции g (x), зависящей от одной
переменной, в виде полинома, пользуясь методом неопределенных
коэффициентов:
8 (•<•') == ао + «1* + - ¦ ¦ + V1"-
Мы получаем систему уравнений
аи + а, ¦ 04- а.2 ¦ (У- + . . . -f Лр_л ¦ О" = g @),
a0 + tfl.l'+a,.r+...+Vl.l"-^ йA),
' «o + «j ' 2! + «2 • 2* + . . . + a, , ¦ 2"-' = gB),
|a0 + a1(p-l)i + aa(p-lja+...+Vl(p-l)^ = ff(p-l).
Определитель этой системы
1
1
1
1
0
1
2
Р-1
и
12
?2
(Р-1J ¦•
0
1Р-1
2Р-1
• (р-!)^'
есть определитель Вандермонда. Как известно,
*) Малая теорема Ферма доказывается так. Пусть 1 ^ о ^ р — 1;
тогда числа гх=а-1, . . ., 7/,_1=а(р —1) не сравнимы по mod p. Поэтому
г! . . . г„_1=о^-1(р—1) 1 (mod р) и (р — 1)! = oP-i(p—1)! (mod p) или
lEsa?-i(mod p).
64
1. ТЕОРИЯ ФУНКЦИЙ fc-ЗНАЧНОЙ ЛОГИКИ
Так как р — простое число, то Д^О (mod p). Пользуясь правилом
Крамера и учитывая, что АфО (mod p), мы сможем решить в целых
числах сравнения
а.Д = Л; (modp) (г' = 0, 1, . . ., р~ 1),
где Д; — соответствующий минор. Итак, мы приходим к
единственному решению исходной системы и, следовательно, к
полиному, изображающему /0 (х).
2. Пусть к=/=р. Тогда k=k1k2i, где 1 <^кх <С к. Допустим, что
/9 (х) = Ьй-\-Ь1х~\- ... -(- btx* (mod к).
При х=0 получаем Ь0=1. При х=кг получаем
0 = 1+ & А + ¦ • • + ЬД (mod к)
или
ft — 1 — bjc, + . . . -f bsk[ (mod к),
т. е. /с—1 делится на кх. Таким образом, к и А:—1 делятся на kv
что возможно только при кг—1. Мы пришли к противоречию.
Следовательно, при к=^р функция у0 (х) не представима полиномом
по mod к.
Доказанная теорема может быть легко обобщена на случай,
когда на Ек возможно определить две операции: © и X —
сложение и умножение, относительно которых Ек образует поле.
Как показывается в алгебре, конечное поле или поле Галуа
существует тогда и только тогда, когда к=рт. В этом случае оно
определяется с точностью до изоморфизма однозначным образом.
При этом относительно сложения оно образует абелеву группу
характеристики р, т. е. для любого его элемента а выполняется
соотношение:
а© ... 0а = О,
Р раз
где 0 — пуль группы. Эту группу можно определить,
рассматривая запись чисел а. в р-ичной системе счисления, т. е. в виде
наборов («!, . . ., а,„) и операцию афр=(а1+Р1, . . ., а„,+$т) (+
означает сложение по modp). Все элементы поля Галуа, кроме 0,
образуют относительно второй операции циклическую группу.
Пример 20. Пусть к=22. Тогда операция @ есть операция,
заданная таблицей 12. Для построения таблицы для операции X
заметим, что числа 1, 2, 3 могут быть выражены как степени
некоторого элемента а. (это следует из цикличности
мультипликативной группы). Число а удовлетворяет уравнению
<х3 = 1
ЛИТКРАТУРА
65
и, так как а=^=1, то уравнению
а5©*® 1=0.
Взяв за а элемент 2, получим а2 = 0(аф1) = 3. Так как
2х2=аХа = 3,
2х3=ах«2 = а3 = 1,
3 X 3 = а? X *2 = а4 = а = 2,
мы получаем следующую таблицу для операции X (таблица 13).
Мы можем, повторяя первую часть доказательства предыдущей
теоремы, показать, что каждая функция / (хг, , . ., хп) из Рк при
к=рт представима полиномом над
соответствующим полем Галуа. В частности,
в Р4 возможно представление функций
полиномами, но не ив mod 4, а
полиномами над полем Галуа.
Итак, для Рк, к ^ 3, мы получаем
следующие ответы на поставленные в
начале параграфа вопросы.
1. В Рк существуют замкнутые
классы, не имеющие конечного базиса.
2. Мощность множества всех
замкнутых классов в Рк равна с.
3. Всякая функция в i\ может быть записана в виде полинома
по mod к (соответственно над полем Галуа) в том и только том
случае, когда к=р (соответственно, когда к=рт).
Сопоставляя эти ответы с ответами для двузначного случая,
мы видим, насколько существенно различие указанных логик.
Кроме того, мы видим, что некоторые вопросы решаются
по-разному, в зависимости от значения числа к.
ТАБЛИЦА
X
0
1
2
3
0
0
0
0
0
13
1
0
1
2
3
2
0
2
3
i
3
0
3
1
2
ЛИТЕРАТУРА
1. Кузнецов А. В., О проблемах тождества и функциональной
полноты для алгебраических систем, Труды Третьего Всесоюзного
математического съезда, т. II, М., Изд-во АН СССР, 1956, 145—146.
2. Яблонский С. В., Функциональные построения в
Л-значнойлогике, Труды МИАН СССР 51, М., Изд-во АН СССР, 1958, 5—142.
3. Яблонский СВ., Методические разработки по курсу «Элементы
дискретной математики», М., МГУ, 1971.
4. Яблонский С. В., Гаврилов Г. П., Кудрявцев В. Б.,
Функции алгебры логики и классы Поста, М., «Наука», 1966.
5. Янов Ю.И.,Мучник А.А.,О существовании /с-значных
замкнутых классов, не имеющих конечного базиса, ДАН СССР 127, iu 1,
1959, 44—46.
6. Martin N., The Sheffer functions of 3-valued logic, J. Symb. logic
19, Ai 1, 1954, 45-51.
5 Дискретная математика, т. I
66
1. ТЕОРИЯ ФУНКЦИЙ ft-ЗНАЧНОЙ ЛОГИКИ
7. Р i с а г S., Sur les fonctions de fimes dans les ensembles finis quelconque,
Fund. Math. 24, 1955, 183—185.
8. P о s t E., Introduction to a general theory of elementary propositions,
Amer. J. Math. 43, 1921, 163—185.
9. P о s t E., Two-valued iterative systems, 1941.
10, R о s s e r S. В., Т u r q u e 11 e A. R., Many-valued logic, Amsterdam,
1952.
11, Salomaa A., Some completeness criteria for sets of functions over
a finite domain I, II, Turun Ylopiston Jalkaisuja Annales Universitatis
Turkuensis, sarja A 53, 1962, 1—9; 63, 1963, 1—19. (Русский перевоа:
«Кибернетический сборник», вып. 8, М., «Мир», 1964, 7—32).
12, Slupeski J., Kryterium petnosci wielowartosciowych systemow
logiki zdan, Comptes rendus des seances de la Societe des Sciences et des
Lettres de Varsovie, CI. Ill, 32, 1939, 102—109.
Раздел 2
АЛГОРИТМЫ ПОСТРОЕНИЯ МИНИМАЛЬНЫХ
ДИЗЪЮНКТИВНЫХ НОРМАЛЬНЫХ ФОРМ
ДЛЯ ФУНКЦИЙ АЛГЕБРЫ ЛОГИКИ
Ю. И. Журавлев
Глава I. ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ ДИЗЪЮНКТИВНЫХ
НОРМАЛЬНЫХ ФОРМ
§ 1. Постановка задачи
В разделе 1 было установлено, что всякая функция алгебры
логики, отличная от 0, может быть представлена совершенной
дизъюнктивной нормальной формой
f(x1, ..., х„) = V х\* ... х«», где х* = |
(<ч »я'> К
/l»i. ...,»я)=1
х при а = 1,
X при а = 0.
Однако совершенная дизъюнктивная нормальная форма обычно
допускает упрощения, в результате которых получается формула,
также реализующая /, но содержащая меньшее число символов.
Пусть, например, / (х, у, z) задана таблицей 1.
ТАБЛИЦА
X
0
0
0
0
V
0
0
1
1
1
Z
0
1
0
1
fix, у, Z)
1
1
1
0
X
;
1
1
У
0
0
1
1
г
0
1
0
1
/ (Ж, У, 2)
0
1
0
1
Совершенная дизъюнктивная нормальная форма для / (я, у, z)
есть
xyz V %yz V ?yz V xSz V ХУ2-
В то же время функция / (х, у. z) может быть задана формулой
?>х или D2:
D1 = xz\/ xz V ху,
D.2 = rz у xz V yz.
В дальнейшем мы будем рассматривать методы представления
68 2. АЛГОРИТМЫ ПОСТРОЕНИЯ МИНИМАЛЬНЫХ Д. H. Ф.
функций алгебры логики простейшими 1 формулами в классе
так называемых дизъюнктивных нормальных форм (д. н. ф.).
Для уточнения вопроса дадим ряд определений.
Определение 1. Элементарной конъюнкцией называется
логическое произведение К = ?*¦ ... г'г переменных в некоторых
степенях, в котором все Xij различны. Число г называется рангом
конъюнкции. В случае г—0 конъюнкция называется пустой
и полагается равной 1.
Определение 2. Дизъюнктивной нормальной формой
(д. н. ф.) называется дизъюнкция D = K1\/ ...\/ Кт элементарных
конъюнкций Kj, в которой все К. различны. Число т называется
длиной д. н. ф. В случае то=0 д. н. ф. называется пустой и
полагается равной 0.
Определение 3. Минимальной д. н. ф. функции
/ (х1? . . ., хП) называется д. н. ф., реализующая / (xv . . ., х„)
и содержащая наименьшее число символов переменных по
сравнению со всеми другими д. н. ф., реализующими / (хг, . . ., хп).
Так, например, д. н. ф. Dt и D2, реализующие / (х, у, z) (см.
таблицу 1), являются для нее минимальными.
Определение 4. Кратчайшей д. н. ф. функции
/ (xv . . ., хИ) называется д. н. ф., реализующая / (xv .. ., хп) и
содержащая наименьшее число элементарных конъюнкций по
сравнению со всеми другими д. н. ф., реализующими f (xv . . ., х„).
Минимальные д. н. ф. Dt и D2, реализующие / (х, у, z) (см.
таблицу 1), являются также и кратчайшими.
Предметом данного раздела является изложение методов
синтеза минимальных и кратчайших д. н. ф. для функций алгебры
логики.
Существует тривиальный алгоритм построения минимальной
(кратчайшей) д. н. ф. для произвольной функции алгебры логики
/ (xv . . ., хл). Все д. н. ф., составленные из букв х^ . . ., хп,
хг, . . ., хп, упорядочиваются по числу букв (числу конъюнкций)
и по порядку для каждой д. н, ф. D проверяется соотношение
D=f{x,, ...,x).
Первая по порядку д. н. ф., для которой это соотношение
выполнено, есть, очевидно, минимальная (кратчайшая) д. н. ф. для
функции / (xv . . ., х„).
Уже при сравнительно небольших п этот метод приводит к
перебору огромного числа д. н. ф. и поэтому практически неприменим.
Некоторое представление о его трудоемкости дает
Теорема 1. Число различных д. н. ф., составленных из
переменных xv . . ., х„, равно 23".
Доказательство. Число различных элементарных ¦
конъюнкций, составленных из переменных хъ . . ., хн, равно 3".
Действительно, каждая из п переменных либо не входит в конъюнк-
ГЛ. I. ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ Д. Н. Ф.
69
цию, либо входит в нее с отрицанием, либо входит в нее без
отрицания. Очевидно, что число различных д. н. ф., составленных
из переменных хх, . . ., хп, равно числу подмножеств множества
из 3я элементов, т. е. 23".
Число 23" есть мощность множества объектов (д. н. ф.), из
которого необходимо произвести выбор д. н. ф., обладающей
экстремальными свойствами (кратчайшей или минимальной). Это число
в известной степени характеризует трудоемкость указанного
алгоритма.
В качестве примера рассмотрим функцию / (х, у, z), заданную
таблицей 1. Для построения кратчайшей д. н. ф. этой функции
необходимо проверить все д. н. ф., составленные менее чем из трех
конъюнкций, и некоторые д. н. ф., составленные из трех
конъюнкций. В тривиальном алгоритме число таких проверок, очевидно,
не меньше 380. Можно показать, что для функции x-\-y+z (mod 2)
число проверок не меньше 3305.
Существуют различные способы повышения эффективности
алгоритма синтеза минимальных (кратчайших) д. н. ф.
Большинство из них заключается в том, что из множества всех
элементарных конъюнкций некоторым сравнительно нетрудоемким способом
удаляются конъюнкции, которые заведомо не входят в
минимальные (кратчайшие) д. н. ф. Это приводит к понижению
мощности множества д. н. ф., среди которых находятся минимальные
(кратчайшие) д. н. ф. заданной функции. Вторая группа способов
связана с более экономным перебором д. н. ф. из этого множества.
§ 2. Геометрическая интерпретация [7]
Для наглядности мы будем часто использовать геометрическую
модель. Множество всех точек (ах,
а,-е{0,1/, обозначим через Е". Иными
словами, Е" — это множество всех
вершин единичного «-мерного куба.
Каждой функции алгебры логики
/ (xlt . . ., хп) поставим в соответ-
NfCLEn всех
• • •> =0, что
а„), у которых все
ствие подмножество
таких вершин (ах,
/О
¦1>
¦0=1.
Пример 1. Функции / (х, у, z)
(см. таблицу 1) отвечает подмноже-
CTBoiV/={(Of 0, 0), @, 0,1), @,1,0),
A, 0, 1), A, 1, 1)} вершин
трехмерного единичного куба (рис. 1).
Данное соответствие является взаимно однозначным и обладает
следующими свойствами. Пусть fx (хх, . . ., хп) п /, (х15 . . ., хп) —
произвольные функции алгебры логики. Тогда
70 2. АЛГОРИТМЫ ПОСТРОЕНИЯ МИНИМАЛЬНЫХ Д. Н. Ф.
1) функции Д соответствует подмножество E"\Nfl,
2) функции /г & /2 соответствует подмножество Njt П ^л»
.3) функции Д \у /2 соответствует подмножество /V/1 U /V/,,
4) если Д ^ /2, то Nfl С iV/, и наоборот.
Определение 5. Подмножество Nk С /?" называется
интервалом r-го ранга, если оно соответствует элементарной
конъюнкции К r-го ранга.
Очевидно, что каждой конъюнкции К = х".' ... х** соответствует
интервал NK, состоящий из всех вершин куба Е", у которых
?,, = з1, ..., a:<r = ar, a значения остальных координат произвольны.
Таким образом, каждая вершина куба Е" является интервалом
п-го ранга, множество всех вершин — интервалом нулевого ранга,
а интервал r-го ранга геометрически представляет собой
подмножество вершин куба Е", заполняющих его (п—г)-мерную грань.
Пример 2. В трехмерном кубе конъюнкции ху
соответствует ребро Ngs={@, 0, 0), @, 0, 1)}, являющееся интервалом
2-го ранга (см. рис. 1).
Для каждой д. н. ф. ^V- • -V'кт функции / (хХ1 . . ., хп)
выполняется соотношение
т
Nf=UNSj.
Поэтому с каждой д. н. ф. функции / связано покрытие
подмножества Nj, такими интервалами NKl, ..., NKm, что /Vs^. (Z Л^.
Справедливо и обратное положение: каждому покрытию подмножества Nf
интервалами, лежащими в Nj, соответствует некоторая д. н. ф".
функции f(xx, ..., хп).
т
Обозначим через г,- ранг интервала Nkj. Тогда г = ~^г, совпа-
дает с числом букв в д. н. ф. Задача построения минимальной
д. н. ф. сводится, очевидно, к отысканию такого покрытия N,
т
интервалами NkjQNj, чтобы выражение г = 2 О было мини-
мальным. При построении покрытия, соответствующего кратчайшей
д. н. ф., следует минимизировать число интервалов, участвующих
в покрытии.
§ 3. Допустимые конъюнкции
Из изложенного в § 2 следует, что при построении минимальных
(кратчайших) д. н." ф. для функции / достаточно рассматривать
только те интервалы Nk, для которых NKCNj, т. е. Агк fl (En\Nf)
пусто. Такие интервалы и соответствующие им конъюнкции мы
будем называть допустимыми.
ГЛ. I. ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ Д. Н. Ф.
71
Возможен следующий способ повышения эффективности
тривиального алгоритма. Выделяются все допустимые конъюнкции К,,
и к множеству {Kj} применяется тривиальный алгоритм. Этот
простой прием существенно увеличивает эффективность
тривиального алгоритма.
Множество всех допустимых конъюнкций может быть получено
путем удаления из числа 3й конъюнкций «лишних». Заметим,
что конъюнкции, обращающиеся в единицу в вершине (а1г . . ., «J,
суть произведения некоторых из букв х^, . . ., х*«. Поэтому если
(<*!, . . ., ая) eE"\Nf, то из списка всех 3" конъюнкций следует
удалить 2" конъюнкций, составленных из сомножителей,
входящих в множество {а^', . . ., х%>}.
Пример 3. Рассмотрим функцию / (х, у, г), заданную
таблицей 1 (§ 1). Множество E"\JV } состоит из трех точек:
(О, 1, 1), A, 0, 0), A, 1, 0). Составим' таблицу 2.
ТАБЛИЦА 2
Точки
множества
E"\N/
@, 1, 1)
A, 0, 0)
A, 1, 0)
Конъюнкции, обращающиеся в единицу
в точках из E"\Nf
1; х, у, г; ху, xz, yz; xyz.
1; х, у, z; ху, xz, yz\ xyz.
1; x, у, г; ху, xz, yz; xyz.
Все конъюнкции, указанные в таблице 2, удалим из множества
27 конъюнкций, составленных из переменных х, у, z. После
удаления в этом множестве останутся конъюнкции:
xyz, xyz, xyz, xyz, xyz, ху, xz, xz, yz.
Если применить к множеству оставшихся конъюнкций
тривиальный алгоритм, то число шагов при построении кратчайшей д. н. ф,
не может быть больше 130 (ср. с примером из § 1).
/
§ 4. Сокращенная д. н. ф.
При построении минимальных д. н. ф. из числа допустимых
конъюнкций могут быть удалены некоторые конъюнкции, заведомо
не входящие ни в одну минимальную д. н. ф. заданной функции.
Определение 6. Интервал NK называется максимальным
для /, если NE С Nf и не существует интервала NK> такого, что
Nx С Njp С Nf.
При проверке соотношения Ne С NK> полезно иметь в виду,
то оно выполняется тогда и только тогда, когда К ^ К', но
72 2. АЛГОРИТМЫ ПОСТРОЕНИЯ МИНИМАЛЬНЫХ Д. Н. Ф.
К^=К'', т. е. когда конъюнкция К' получается из конъюнкции К
путем вычеркивания непустого числа сомножителей.
Очевидно, что каждый интервал Ng С Nf содержится в
некотором максимальном интервале Ngj С Nf. Поэтому совокупность
{Nkj}, 7=1, • . ., т всех максимальных для / интервалов
определяет покрытие подмножества Na
т
Определение 7. Д. н. ф. V К,, реализующая функцию
.7-1
/ (х±, . . ., хя) и соответствующая покрытию подмножества Л'^
всеми максимальными для / интервалами, называется
сокращенной д. н. ф. функции / (хг, . . ., хп). Сокращенную д. н. ф.
функции / мы будем обозначать через Du (/).
Очевидно, что сокращенная д. н. ф. определяется по функции /
однозначно. Сокращенная д. н. ф., вообще говоря, не является
минимальной или кратчайшей. Так, например, сокращенная
д. н. ф. функции / (х, у, z) (рассмотренной в примере 3) ееи
ху\/ x~z\J xz\/ yz,
в то время, как минимальные (они же кратчайшие) д. н. ф.
функции / (х, у, z) суть
zz V п\/ ху и Х2 \/ zz V yz.
Связь между минимальной и сокращенной д. н. ф. устанавливается
следующим утверждением.
Теорема 2. Минимальная д. н. ф. функции f (хг, . . ., xj
получается из сокращенной д. н. ф. функции f (хх, . . ., хп) путем
удаления некоторых элементарных конъюнкций.
Доказательство. Теорема будет доказана, если мк
установим, что покрытие подмножества Лг-, отвечающее
минимальной д. н. ф., состоит только из максимальных интервалов.
Последнее почти очевидно, так как если бы покрытие содержало
пе максимальный интервал, то его можно было бы заменить
объемлющим максимальным интервалом. В результате этой
операции сумма рангов интервалов данного покрытия
уменьшилась бы, что противоречит предположению о минимальности д. н. ф.
Следствие. Если конъюнкция К не входит в
сокращенную д. н. ф. функции /, то К не входит ни в одну минимальную
д. н. ф. для /.
Для кратчайших д. н. ф. теорема, аналогичная теореме 2,
неверна. Действительно, функция / (х, y)=x\Jy имеет
сокращенную д. н. ф. x\Jy и кратчайшие д. н. ф. Вг=х\/у, D*=xy\Jy.
ГЛ. I. ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ Д. Н. Ф.
73
D3=x\/xy. Д. н. ф. D2 и Ds нельзя получить из сокращенной
д. н. ф. удалением некоторых элементарных конъюнкций.
Связь между кратчайшей и сокращенной д. н. ф.
устанавливается следующим утверждением.
Теорема 3. Для всякой функции f (хъ . . ., хп)
существует кратчайшая д. н. ф., которая получается из сокращенной
д. н. ф. функции f (хх, . . ., хп) путем удаления некоторых
элементарных конъюнкций.
Доказательство. Для того чтобы получить
требуемую кратчайшую д. н. ф., достаточно взять произвольную
кратчайшую д. н. ф. функции /ив соответствующем ей покрытии
заменить каждый не максимальный интервал объемлющим
максимальным интервалом.
Теоремы 2 и 3 показывают, что при построении минимальных
а кратчайших д. н. ф. нет необходимости рассматривать все
допустимые конъюнкции — достаточно ограничиться теми,
которые входят в сокращенную д. н. ф. В дальнейшем мы будем
рассматривать только те кратчайшие д. н. ф., которые подпадают
нод утверждение теоремы 3.
Выше на примере было показано, что сокращенная д. н. ф.
может не быть ни минимальной, ни кратчайшей. Тем не менее
существуют классы функций, для которых эти понятия совпадают.
Теорема 4. Сокращенная д. н. ф. монотонной функции
f (хх, . . ., хп) не содержит отрицаний переменных и является
ее единственной минимальной (кратчайшей) д. н. ф.
Доказательство. Докажем сначала первую часть
утверждения. Пусть NKClNf, причем К = x(l ... zir,xir,n ... xif, где
r~^>r!. Тогда конъюнкция К, а вместе с ней и функция /,
обращается в единицу во всех вершинах куба Е", у которых xtx = ...
... =.xiT, = 1, x,r,+1 = ... =х,-г = 0, а значения остальных
координат произвольны. Но тогда в силу монотонности функция /
обращается в единицу и во всех остальных вершинах куба Еп, у
которых х,-1= ... =xir, = 1. Полагая К1 = x!t ... xir„ получим
NK С N* С Nf.
Таким образом, если интервалу соответствует конъюнкция,
содержащая отрицания переменных, то он не является
максимальным для /. Следовательно, сокращенная д. н. ф. функции / не
содержит отрицаний переменных.
По доказанному любая конъюнкция К из сокращенной д. н. ф.
функции / имеет вид
Л. — X{t ... Xif.
Покажем, что конъюнкция К является единственной конъюнкцией
в сокращенной д. н. ф., которая обращается в единицу в вершине
куба Е" с координатами xh = ... = xir = 1, x,r+1 = ... = xin = 0.
74 2. АЛГОРИТМЫ ПОСТРОЕНИЯ МИНИМАЛЬНЫХ Д. Н. Ф.
В самом деле, если бы в сокращенной д. в. ф. имелась другая
конъюнкция К1, обращающаяся в этой вершине в единицу, то
такая конъюнкция К' не содержала бы, во-первых, букв ?,¦„ ..., ?,„,
а во-вторых, букв ж,-г+1, ..., х,„. Поэтому в конъюнкцию К' могли бы
входить лишь буквы а:,,, ..., xir, причем не все. Но тогда было бы
Nx С NE, С N/t
что противоречит максимальности интервала Nk- Таким образом,
для любого максимального интервала Nk существует вершина
куба Е", которая покрывается только этим максимальным
интервалом. Поэтому из покрытия подмножества N соответствующего
сокращенной д. н. ф., ни один из интервалов удалить нельзя.
В силу теорем 2 и 3 отсюда следует вторая часть утверждения.
§ 5. Методы построения сокращенной д. н. ф.
Существует целый ряд методов синтеза сокращенной д. н. ф.
[7]. Большинство из них рассчитано на определенный способ
задания функции и хотя различно по форме, но однотипно по
существу. В процессе их применения обычно используются
следующие преобразования (часто не все):
1) склеивание
xK\JxK = K,
2) поглощение
K'\ZK'K" = KI,
3) неполное склеивание
хК\/ xK = xK\J xK\J К,
4) обобщенное склеивание
хК' V хК" = хК' V хК" V К'К":
(Подразумевается, что все преобразования выполняются только
слева направо).
Мы ограничимся здесь описанием одного метода.
Метод Блейка [8]. К конъюнкциям произвольной д. н. ф.
D функции / (х1: . . ., хп) применяются операции поглощения и
обобщенного склеивания (заметим, что две другие операции легко
выражаются через них).
Покажем, что с помощью преобразований 2) и 4), исходя
из любой д. н. ф. функции / (хъ . . ., хп), можно получить ее
сокращенную д. н. ф.
Пусть сначала выполняются все возможные преобразования
4). Покажем, что при этом каждая конъюнкция К,
соответствующая максимальному интервалу для /, будет включена в д. н. ф.
Достаточно рассмотреть случай, когда К не входит в D.
ГЛ. I. ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ Д. H. Ф.
75
Прежде всего заметим, что в К входят только те переменные,
которые содержатся в D. Действительно, если бы это было не так,
то, удалив из К переменную, не входящую в D, мы получили бы
конъюнкцию К' такую, что Nk С Nk' С Nj>~N/, а это
противоречит максимальности Nk-
Рассмотрим теперь множество конъюнкций {Kj),
удовлетворяющих трем условиям: 1° Kj содержит только те переменные,
которые входят в D; 2°NKj С Nk; 3°Nkj с? Nh для всех
конъюнкций Н из д. н. ф. D. Множество {К,} содержит конъюнкцию К и,
следовательно, непусто. Выберем в нем конъюнкции наибольшего
ранга Кг, . . ., Кт. Рассмотрим конъюнкцию Кг. Она не может
содержать все переменные, входящие в D, так как в этом случае
интервал Nk, состоял бы из одной вершины, а это вело бы к
нарушению условия 3°. Возьмем переменную х, от которой зависит D
и не зависит Кг. Рассмотрим конъюнкции хК1 и хКг. Они
удовлетворяют условиям 1° и 2° и имеют ранг больший, чем ранг Кг.
Значит, хКх и хКг не удовлетворяют условию 3°, т. е. в д. н. ф.
D имеются конъюнкции Н1 и Н2 такие, что Nxk, С Nb„ Nsk, ? ^я,-
В конъюнкцию Н1 входит сомножитель х, а в конъюнкцию Н2 —
сомножитель X, так как Nk, C? Nh, и Nk, <? Лгя,. Поэтому
Н, = хН'и Нг = хН'2, где NXl С NH{, Nk, С Л'я^.
Отсюда уже ясно, что при выполнении преобразований 4) на
некотором шаге в д. н. ф. будет включена либо конъюнкция Kt
либо конъюнкция K'v такая, что Nk,:CZ Nk*. To же самое верно
и для конъюнкций К2, . . ., Кт. После этого конъюнкция
наибольшего ранга, удовлетворяющая условиям 1°, 2° и 3°, будет
иметь ранг меньший, чем Кх. Следовательно, на некотором шаге
в д. н. ф. будет включена и конъюнкция К.
После того как будут получены все конъюнкции,
соответствующие максимальным интервалам, преобразование 2) удаляет все
конъюнкции, соответствующие не максимальным интервалам.
Полученная д. н. ф. является сокращенной д. н. ф. функции /.
Отметим, что порядок выполнения преобразований на самом
деле не очень существен.
Пример 4. Рассмотрим функцию / (х, у, z), заданную
таблицей 1 (§ 1), и ее совершенную д. н. ф.:
xy%\Jxyz у' xyz\Jxyz\Jxyz.
Имеем
xyz V xyz = xy (правило 1)),
xyz \J xyz = xz (правило 1)),
xy\J xyz =xy\/ xz (правила 4) и 2)),
xy\J xz=xy\J xz\J yz (правило 4)),
Dc (/) = xy V xz\J yz\J xz.
76 2. АЛГОРИТМЫ ПОСТРОЕНИЯ МИНИМАЛЬНЫХ Д. Н. Ф.
г,
ООЬ
i
011 111
011У
^л
У
101
110
000
100
Рис. 2.
§ 6. Тупиковые д. н. ф.
После того как сокращенная д. н. ф. построена, для получения
минимальной (кратчайшей) д. н. ф. можно воспользоваться
тривиальным алгоритмом. Ясно, что в данном случае его
эффективность еще выше. Тем не менее и здесь травпальный алгоритм
приводит к перебору огромного числа д. н. ф. и поэтому
практически неприменим. Возможен, однако,
другой подход, связанный с
перебором лишь так называемых тупиковых
д. н. ф.
Определение 8. Покрытие
подмножества N f максимальными
интервалами называется
неприводимым, если после удаления из него
любого интервала оно перестает быть
покрытием.
Определение 9. Д. н. ф.
функции / называется тупиковой,
если ей соответствует неприводимое
покрытие подмножества Nf.
Очевидно, что всякая минимальная (кратчайшая) д. н. ф.
является тупиковой.
Пример 5. Рассмотрим функцию
/ (х, у, z) = xyz V xyz V xyz V 22/z V xyz V ХУ%
и соответствующее ей подмножество Nj (рис. 2). Сокращенной
д. в. ф. этой функции является
Dc (/) ~xy\J yz\J xz\J xy\J yz V xz.
Тупиковыми д. н. ф. функции / (х, у, z) являются
D1 = xy\f xz V yz,
D2 = yz\/ xy V xz,
D3=xy\/ yz\J xy\J yz,
Di = xy\J xz\J xy\J XZ,
D5 = yz\/ xz V У* V xf ¦
Д. н. ф. D1 и D2 являются минимальными и кратчайшими для
функции / (х, у, z). Д. н. ф. Da, Z>4 и Db являются тупиковыми,
но не являются ни минимальными, ни кратчайшими.
Таким образом, если сокращенная д. н. ф. по функции строится
однозначно, то процесс перехода от сокращенной д. н. ф. к
тупиковой неоднозначен. При этом удаление одних элементарных
конъюнкций из сокращенной д. н. ф. приводит к минимальной
ГЛ. I. ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ Д. Н. Ф.
77
д. н. ф.) других — к тупиковой д. н. ф., не являющейся
минимальной. Поэтому для построения минимальных (кратчайших) д. н. ф.
приходится строить все тупиковые д. н. ф. и среди них вести отбор.
Процесс построения минимальных (кратчайших) д. н. ф. на
основе совершенной д. н. ф. или таблицы можно описать более
подробно (рис. 3).
Совершенная д.н.ф.
Сокращенная д.н.ф.
Тупиковая дм.ф.
Минимальные
(кратчайшие)
д.н.ф-
Тупиковая д.н.ф.
Тупиковая в.н.ф.
Тупиковая д.н.ф.
Рис. 3.
1°. Выделяются все максимальные интервалы и строится
сокращенная д. н. ф.
2°. Строятся все тупиковые д. н. ф.
3°. Среди всех тупиковых д. н. ф. выделяются все
минимальные (кратчайшие) д. н. ф.
§ 7. Способы построения тупиковых д. в. ф.
а) Критерий поглощения. Процесс перехода от сокращенной
д. н. ф. к тупиковой можно разбить на элементарные шаги,
каждый из которых представляет собой удаление из д. н. ф. D,
полученной на предыдущем шаге, одной элементарной конъюнкции К.
Удаляемая конъюнкция такова, что
Nx С U NKj,
где Кj — некоторые конъюнкции из д. н. ф. D, отличные от К.
Мы установим аналитический критерий покрытия интервала
суммой других интервалов.
Определение 10. Дизъюнкция D—Kx\/ . . . \/Кт
элементарных конъюнкций поглоилает элементарную конъюнкцию К,
если К s^D.
Иными словами, конъюнкция К поглощается дизъюнкцией
т т
Д = V К; тогда и только тогда, когда Ng^ U Nk,-.
i=i ' - j~i J
78 2. АЛГОРИТМЫ ПОСТРОЕНИЯ МИНИМАЛЬНЫХ Д. Н. Ф.
т
Теорема 5[1]. Для того чтобы дизъюнкция D= V К^эле-
ментарных конъюнкций поглощала элементарную конъюнкцию К,
необходимо и достаточно, чтобы каждую конъюнкцию К. можно
было представить в фопме Kj=K',K"j с соблюдением следующих
условий:
1°. K^&K'j,
т
2°. VtfJ = l.
Достаточность. Пусть выполнены условия теоремы.
Покажем, что К ^.D. Для этого рассмотрим произвольный набор а
значений переменных. Если К(а) = 0, то, очевидно, К (а) 4^ D (а).
Если же КE.) = 1, то в силу условия 1° K'j(&) = l при любом
/ = 1, .. •> т. Но тогда
mm tn
D(S)=\/ К. (S.) = V К) (a) K'j (a) = V Щ (a) = 1
j-\ j-i j=i
(последнее в силу условия 2°) и снова К (a) ^ D (а).
Следовательно, К ^D.
Необходимость. Пусть К ^ D. Рассмотрим
конъюнкцию Kj. Обозначим через К', конъюнкцию всех сомножителей
xj<, общих для К ¦ и для К (если таких сомножителей нет, то
полагаем^'=1). Конъюнкцию оставшихся сомножителей из К.
обозначим через К", (если все сомножители из Kj содержатся в К,
то полагаем К",=1). Очевидно, что при этом условие 1° выполнено.
Докажем условие 2°. Для этого рассмотрим произвольный
набор й. Если К (а)=1, то и D (й)=1 (поскольку К ^ D), а кроме
того, в силу условия 1° К', (а) =1 при любом /=1, . . ., т. Нотогда
т
l=D(S)=\/ К)(а).
Пусть К (й)=0. Изменим в наборе а значения переменных,
входящих в К, так, чтобы получился набор р, для которого К (р)=1.
По доказанному,
т
V *Hft = *.
По построению, конъюнкции К", не содержат сомножителей,
общих с К. Поэтому при переходе от набора а к набору р каждый
сомножитель из К', сохраняет свое значение t добо изменяется
ГЛ. I. ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ Д. Н. Ф.
79
с 1 на О. Отсюда следует, что
т т
V tf/(«№V K'Ah
Значит, и в этом случае
Теорема доказана.
Таким образом, для того, чтобы проверить поглощение
конъюнкции К дизъюнкцией Кх\/. . .\/Кт, следует из всех Kj,
/=1, . . ., т, удалить все буквы :rj*', встречающиеся в К, и
выяснить, всегда ли равна 1 полученная после такого удаления
дизъюнкция К{\/. . .\/К"т.
Определение 11. Элементарные конъюнкции Кг и К2
называются ортогональными, если К1К2=0.
Иными словами, конъюнкции Кг и Кг ортогональны тогда
и только тогда, когда Nk1 П Nk,=0- Очевидно, что при
исследовании поглощения дизъюнкцией D элементарной конъюнкции К
достаточно оставить в D лишь конъюнкции, неортогональные К.
Для проверки ортогональности проще всего воспользоваться
следующим свойством: две элементарные конъюнкции ортогональны
в том и только том случае, если существует переменная,
входящая в одну из них с отрицанием, а в другую без отрицания.
Пример 6. Рассмотрим функцию / (х, у, z) из примера 5
(§ 6) и ее сокращенную д. н. ф.
Dc (/) = ху\/ yz V xz V ху \Jyz \/xz.
Выделим конъюнкцию yz и все неортогональные к ней
конъюнкции: ху, xz. Проверим выполнение условия: NSz С Nsg (J NX2. Для
этого удаляем из ху \J xz буквы у и z. Получаем дизъюнкцию
х V х = 1. Таким образом, конъюнкция yz поглощается
дизъюнкцией xy\Jxz, а значит, ее можно удалить из Д,(/). Удаляя ее,
имеем
D' (f) = xy V xz\J xy\/ yz\/ xz.
Выделим конъюнкцию yz и все неортогональные к ней
конъюнкции: ху, xz. Удаляем из ху V xz буквы у и z. Получаем х \/ х = 1.
Поэтому Nys С Nxy U Njh. Удаляем yz из D' (/). Д. н. ф.
D»(f) = xy\/xz\/xyyxz.
является тупиковой. Это несложно установить, проверив для
каждой конъюнкции, поглощается ли она дизъюнкцией всех
неортогональных к ней конъюнкций из D" (/). Рассмотрим,
например, конъюнкцию ху. Неортогональна к ней только
конъюнкция xz. Но не всегда z=l. Поэтому NggQN-ai.
80 2. АЛГОРИТМЫ ПОСТРОЕНИЯ МИНИМАЛЬНЫХ Д. Н. Ф.
б) Алгоритм построения всех тупиковых д. в. ф. [6]. Каждой
конъюнкции К, из сокращенной д. н. ф. Dc (/) сопоставляется
булева переменная kj. Для каждой д. н. ф. D, составленной из
конъюнкций, входящих в Z)„ (/), полагают kj=l, если Kj
содержится в D, и ft=0 в противном случае.
Пусть подмножество Nf составлено из вершин а.1, ..., 3*. Для
каждой вершины a', t = 1,..., t выделяем в сокращенной д. н. ф. Dc (/)
все такие конъюнкции KJ(il}, ..., KJlil(i}V что KJ(.ih)(S.4) = l,
h=zl, ..., l(i). Очевидно, что д. н. ф. D реализует функцию /
в том и только том случае, если
&Vuy„,») = i. (i)
Пользуясь дистрибутивным законом, приводим левую часть A)
к виду \/&, одновременно удаляя из нее поглощаемые
конъюнкции (операция 2) из § 5). В результате будем иметь
Vft* •¦¦**. = 1- B)
Каждой конъюнкции fty,. . .kjm из левой части B) соответствует
д. н. ф. Kj\/. . .\/Kjm функции /, причем благодаря тому, что
поглощения в B) отсутствуют, эта д. н. ф. является тупиковой.
Легко видеть, что все тупиковые д. н. ф. функции / получаются
таким образом.
Пример 7. Рассмотрим функцию / (х, у, z) из примера 5
(§ 6):
ЛГ,= {@, 0, 0), @, 0, 1), A,0,1), A, 1, 1),A, 1, 0), @,1,0)},
D* (/) = %y\/yz\Jxz\/xy\fyz\/xz.
Пусть ху = Kv yz = К2, xz == Ks, ху — Kt, yz = Ks, xz — K6.
Составляем левую часть A):
(ft, v К) (К V К) (*» V *з) (*» V К) (К V h) (*« V *в).
Преобразуя ее к виду B), получаем
Таким образом, f(x, у, z) имеет пять тупиковых д. н. ф.:
Dx = К, V К3 V Кь = ху V xz V yz,
D2 = K2\/ K^y Ku = yz\J xy\J xz,
Di = K1\/Kt\y Kt \/ Ks = xy V yz\Jxy\J yz,
fl« = if,V #sV KiV K6 = xy\/ xz\Jxy\J xz,
Db = K2\JKz\J Ks \/ K, = yz\J xz \Jyz V xz.
В тех случаях, когда достаточно построить не минимальную
(кратчайшую), а лишь сравнительно близкую к ней (по сложности)
ГЛ. I. ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ Д. Н. Ф.
81
д. н. ф., можно воспользоваться модификацией метода б), которая
позволяет избежать просмотра всех тупиковых д. н. ф. При этом,
однако, остается открытым вопрос о том, насколько построенная
д. н. ф. отличается от минимальной (кратчайшей).
в) Метод наискорейшего спуска [6]. В выражении A)
выбирается переменная kjt, встречающаяся в наибольшем числе
сомножителей (если таких переменных несколько, то берется
любая из них). После этого в выражении A) вычеркиваются
все сомножители, в которые входит переменная А:/,. Далее,
аналогичным образом (до тех пор, пока это возможно) последовательно
выбираем переменные kjt, . . ., kj , зачеркивая одновременно
в A) соответствующие сомножители. В результате получаем
сравнительно простую д. н. ф. Kjt\/. . .\/Kjp функции/. Однако, вообще
говоря, эта д. н. ф. не является не только минимальной
(кратчайшей), но даже тупиковой.
Недостатком указанных методов является то, что удаление
конъюнкции из сокращенной д. н. ф. производится без анализа:
входят или не входят удаляемые конъюнкции в некоторые (или,
может быть, во все) минимальные (кратчайшие) д. н. ф. данной
функции. Поэтому после получения тупиковой д. н. ф. невозможно
выяснить, является ли она минимальной (кратчайшей).
Приходится снова проводить процесс упрощения сокращенной д. н. ф.
до тех пор, пока не будут получены все тупиковые д. н. ф. Среди
них отбираются минимальные (кратчайшие). Так как число
тупиковых д. н. ф. у функций алгебры логики весьма велико (см.
раздел 3), то описанные выше алгоритмы также связаны с
просмотром большого числа вариантов.
Естественно поставить вопрос о таком упрощении
сокращенной д. н. ф., при котором производится анализ конъюнкций из
д. н. ф., и удаляются только те конъюнкции, относительно которых
известно (установлено в данном анализе), что они не содержатся
ни в одной минимальной (кратчайшей) д. н. ф.
В дальнейшем мы опишем ряд таких алгоритмов, причем
анализ будем проводить, используя информацию о конъюнкциях,
близких к испытуемой. Заметим, что чем дальше удается
продвинуть процесс таких упрощений, тем больше отодвигается начало
ветвящегося процесса и понижается степень перебора.
§ 8. Не всюду определенные (частичные) функции
алгебры логики
Результаты §§ 1—7 легко могут быть перенесены на случай
не всюду определенных (частичных) функций алгебры логики.
Покажем путь такого переноса.
Пусть f(xv ..., хп) задана на множестве М^О.Е" и принимает
значения 0 и 1. Множество М* разбивается на два подмножества
6 Дискретная млтЛматяка, т. I
82 2. АЛГОРИТМЫ ПОСТРОЕНИЯ МИНИМАЛЬНЫХ Д. H. Ф.
М{ и М{(М' = М{ U М{, М{ П М{= 0) такие, что
[ 1 на М{,
f(xlt ...,*„) = 0 на М{,
{ не определена на Е" \ Mf.
Таким образом, / (агх, . . ., х,) определяется заданием пары
непересекающихся подмножеств М{ и М\.
Будем говорить, что д. н. ф. D реализует частичную функцию /,
если значение D совпадает со значением / на всей области ее
определения (вне этой области значения D произвольны), т. е.
Д/{СЛГЛ, М{г\^п = 0.
Очевидно, что понятия минимальной и кратчайшей д. н. ф.
легко обобщаются для частичных функций алгебры логики.
Задача построения минимальной (кратчайшей) д. н. ф.
формулируется аналогично.
Допустимая конъюнкция. Конъюнкция К и интервал Nk
называются допустимыми для частичной функции /, если Nk f| M*0
пусто и Nk П М{ непусто. Очевидно, что всякая минимальная
(кратчайшая) д. н. ф. функции / состоит только из допустимых
конъюнкций.
Сокращенная д. н. ф. Интервал Nk называется максимальным
для частичной функции /, если он является допустимым для /,
и не существует допустимого интервала N к' такого, что N к С Np.
Пусть {Nk,, •¦¦: Nxm} — множество всех максимальных для / ин-
т
тервалов. Д. н. ф. Dc(f)= V К,- называется сокращенной д. н. ф.
частичной функции /.
Теорема 2'. Минимальная д. н. ф. частичной функции
f (хх, . . ., хп) получается из сокращенной д. н. ф. функции
f (хх, . . ., хп) удалением некоторых элементарных конъюнкций.
Доказательство аналогично доказательству теоремы 2 (§ 4).
Теорема 3'. Для всякой частичной функции} (хи . . ., хп)
существует кратчайшая д. н. ф., которая получается из
сокращенной д. н. ф. функции f (хх, . . ., х) удалением некоторых
элементарных конъюнкций.
Доказательство аналогично доказательству теоремы 3.
Метод построения сокращенной д. н. ф. Строится
сокращенная д. н. ф. Dc (/0) для функции алгебры логики /0 такой, что
N/t)=E*\M{). Из Dc (/0) удаляются все конъюнкции К такие,
что Nk П М{ пусто.
Тупиковая д. н. ф. и неприводимое покрытие. Эти понятия
переносятся без изменений, если в определениях 8 и 9 (§ 6) вместо
подмножества Nf читать подмножество М{. Принципиальная
ГЛ. II. ЛОКАЛЬНЫЕ АЛГОРИТМЫ УПРОЩЕНИЯ Д. Н. Ф. 83
схема алгоритмов построения тупиковых д. п. ф. и выбора среди
них минимальных (кратчайших) д. н. ф. также переносится без
изменений. Изменяется только формулировка критерия
поглощения.
Элементарным шагом алгоритма перехода от сокращенной
д. н. ф. к тупиковой является удаление из д. н. ф. D (/)
конъюнкции К, которая удовлетворяет следующему условию:
m
.7=1
где К, — некоторые конъюнкции из д. н. ф. D (/), отличные от К.
Пусть f1 — функция алгебры логики, для которой 7Ул=Л/{,
D (Д) — ее произвольная д. н. ф. и Нх, . . ., Я, — все
конъюнкции из D (/i), неортогональные к К. Тогда условие удаления
конъюнкции К из д. н. ф. D (/) можно записать в виде
/8 \ т
или на алгебраическом языке, в виде
tf&(v#,.)<V^, C)
Теорема 5' [1]. Для того чтобы выполнялось
соотношение C) необходимо и достаточно, чтобы каждую конъюнкцию Kj
можно было представить в форме К =К'.К". с соблюдением
следующих условий:
т
1°. К < & К),
в т
2°. V #<< V К).
»-1 J-1
Доказательство теоремы 5' в основном аналогично
доказательству теоремы 5 (§ 7).
Глава П. ЛОКАЛЬНЫЕ АЛГОРИТМЫ УПРОЩЕНИЯ
ДИЗЪЮНКТИВНЫХ НОРМАЛЬНЫХ ФОРМ
Методы, которые здесь излагаются, позволяют иногда отодвинуть
начало перебора при построении минимальной (кратчайшей)
Д- н. ф. из сокращенной. Как правило, эти методы применяются
либо к сокращенной д. н. ф. Da (/) либо к д. н. ф. D (/),
полученной из DB (/) в результате некоторых упрощений. Однако они
применимы и к произвольной д. н. ф.
6*
84
2. АЛГОРИТМЫ ПОСТРОЕНИЯ МИНИМАЛЬНЫХ Д. Н. Ф.
01100
§ 9. Операции над д. н. ф.
Условимся всякую д. н. ф. рассматривать не только как
формулу, но и как множество входящих в нее конъюнкций. При этом
для д. н. ф. приобретают смысл все теоретико-множественные
0щл WOOD операции и соотношения.
Определение 12.
Сумму всех минимальных д. н. ф.
функции / назовем д. н. ф. типа
Um и обозначим через Z)UM (/).
Пересечение всех минимальных
д. н. ф. функции / назовем д. н. ф.
типа Г|м и обозначим через
#Пм (/)•
Определение 13. Сумму
всех тупиковых д. н. ф. функции
/ назовем д. н. ф. типа \Jt и
обозначим через Z>Ut (/). Пересечение всех тупиковых д. н. ф.
функции / назовем д. н. ф. типа (~)т и обозначим через Z)nT (/).
Пример 8. Пусть / (хг, х2, х3, х4, хь) задана своей
сокращенной д. н. ф.:
¦L>c (/) = Х1Х3Т5 \/ XyX^Xg \J X1X2X3X5 \/Х^С^5 \/ XyXfis у ХгХ.гХ^Х^.
Д. н. ф. Dc (/) соответствует покрытие, схематически
изображенное на рис. 4 (интервалы перенумерованы в естественном
порядке). Функция / имеет две тупиковые д. н. ф. (они же являются
и минимальными): первой д. н. ф. соответствует покрытие
iVjUiVaU^sU^i. второй д. н. ф. — покрытие Л^ U Лг2 (J Ns U Nb.
Таким образом, в нашем примере
"Um(// == -^UT A) == %\хз%5 V xl^Z^b V a'ia'2a'3:J'o V XZXiXb V xixixb'
¦^Пм (/) = ^Пт (/) = ^1^3*5 V xi.^S^b V Х\Х2Х$Х&.
Понятия тупиковой и минимальной д. н. ф. могут быть
обобщены. Пусть D — произвольная д. н. ф. функции /. Д. н. ф.
Dx называется минимальной относительно D, если она содержит
наименьшее число букв по сравнению с другими д. н. ф.,
содержащимися в D и реализующими /; д. н. ф. DT называется
тупиковой относительно D, если ей соответствует неприводимое
покрытие подмножества Nf и DT содержится в D. Сумму всех д. н. ф.,
минимальных относительно D, назовем д. н. ф. типа UM
относительно D (обозначение -DUM). Аналогично вводится д. н. ф.
типа UT относительно D (обозначение DyT). Пересечение всех
д. н. ф., минимальных (соответственно тупиковых) относительно
D, назовем д. н. ф. типа Р)м (соответственно д. н. ф. типа f\r)
относительно D и обозначим через Z>nM (соответственно Dnr).
ГЛ. II. ЛОКАЛЬНЫЕ АЛГОРИТМЫ УПРОЩЕНИЯ Д. Н. Ф. 85
§ 10. Алгоритм Квайна [10]
т
Определение 14. Ядром д. н. ф. D=\/К, называется
j-i
совокупность всех таких конъюнкций К., для которых
т
Другими словами, конъюнкция входит в ядро, если она не
поглощается совокупностью всех других конъюнкций.
В примере 8 конъюнкции хххгхь, х±хлхь, хгх2хъхь входят в ядро,
остальные — нет.
Замечание. Если д. н. ф. тупиковая, то каждая ее
конъюнкция входит в ее ядро.
Теорема 6 (Квайн [10]). Конъюнкция К из д. н. ф. D
входит в д. н. ф. /?Пт тогда и только тогда, когда К входит в ядро
д. н. ф. D.
Достаточность. Пусть К входит в ядро д. н. ф. D.
Тогда для любой д. н. ф. D' С D, не содержащей К, справедливо
неравенство Nd^Nj,. Отсюда следует, что К входит в любую
д. н. ф., содержащуюся в D и реализующую ту же функцию, —
в частности, в любую тупиковую относительно D.
Необходимость. Пусть К не входит в ядро д. н. ф. D.
Тогда
т
nkq\Jnk
где Кj — некоторые конъюнкции из д. н. ф. D, отличные от К.
Начнем процесс построения тупиковой (относительно D) д. н. ф.
с удаления из D конъюнкции К. В конце процесса получим
тупиковую д. н. ф., не содержащую К. Следовательно, К не
входит в /)Пт.
Следствие. Пусть ядро д. н. ф. D составлено из
конъюнкций #lt . . ., Я,. Если
N*Q i)NSi,
•-1
то конъюнкция К не входит в д. н. ф. Z)UT (т. е. не входит ни
в одну д. н. ф., тупиковую относительно D).
Понятие ядра в действительности является локальным.
Определение 15. Если конъюнкция К входит в д. н. ф.
D, то окрестностью первого порядка 5Х (К, D) конъюнкции К
в д. н. ф. D называется совокупность всех таких конъюнкций К,
из д, н. ф. D, что NkV[Nkj=?0.
86 2. АЛГОРИТМЫ ПОСТРОЕНИЯ МИНИМАЛЬНЫХ Д. Н. Ф.
Иными словами, St {К, D) содержит конъюнкцию К и все
неортогональные к ней конъюнкции из д. н. ф. D. Очевидно,
что конъюнкции из Sx (К, D) и определяют, входит К в ядро
д. н. ф. D или нет. Тем самым свойство конъюнкции К входить
или не входить в д. н. ф. D^ однозначно определяется
окрестностью первого порядка S± {К, D), т. е. если S^K, Dt)=S1 (К, D2),
то К или одновременно входит или одновременно не входит
в д. н. ф. (.?>!)Пт и (#2)пт-
Алгоритм Квайна, основанный на теореме 6 и следствии из
нее, состоит в следующем.
1. Конъюнкции в д. н. ф. D некоторым образом
упорядочиваются. По очереди для каждой конъюнкции К производится
проверка, входит она в ядро или нет. Для этого выделяется
окрестность первого порядка {К, Кг, .... Кт) конъюнкции К
в д. н. ф. D и проверяется включение
т
или эквивалентное ему соотношение
т
Если оно не имеет места, то конъюнкция К отмечается
некоторым способом, как входящая в ядро.
2. Пусть ядро д. н. ф. D состоит из конъюнкций Нг, . . ., Нг.
Конъюнкции из D, не входящие в ядро, некоторым способом
упорядочиваются. Для каждой такой конъюнкции К по очереди
проверяется включение
или эквивалентное ему соотношение
Конъюнкции, для которых'это соотношение выполнено, удаляются
из D. Заметим, что вместо всех конъюнкций ядра при каждой
проверке достаточно брать только те конъюнкции из ядра, которые
входят в окрестность первого порядка конъюнкции К.
Д. н. ф. Dq, построенная по методу Квайна, в силу следствия
из теоремы 6 обладает свойством: Z>UT С Dq, причем возможны
случаи, когда KsDq, но K^D^.
Так, в примере 8: Кв = ххх2х^ е Dq (/), но Ks = xxx*x%x± ф D^(j).
Это вызвано тем, что критерий Квайна невхождения
конъюнкции К в д. н. ф. ?>ит не является необходимым.
ГЛ. II. ЛОКАЛЬНЫЕ АЛГОРИТМЫ УПРОЩЕНИЯ Д. H. Ф. 87
В следующем параграфе мы сформулируем необходимое и
достаточное условие невхождения конъюнкции К в д. н. ф. ?)ит.
Основываясь на этом условии, мы построим алгоритм перехода
от сокращенной д. н. ф. Da (/) к д. н. ф. DVT (/), приводящий к
более сильным упрощениям, чем алгоритм Квайна.
§11. Необходимое и достаточное условие вхождения
КОНЪЮНКЦИИ В Д. Н. ф. DfjT
Определение 16. Сопоставим д. н. ф. D и точке &&Nd
множество М (a, D) всех интервалов Nk,- таких, что
1) KjeD,
2) й е Nzj,
и назовем его л-пучком в D.
Определение 17. Пусть конъюнкция К входит в д. н. ф. D,
Точка й е Nk называется регулярной относительно (К, D), если
существует точка й' такая, что
l)BLieNB\NE,
2) Л/(Я', fl)C.«E, D).
В примере 8 точка а = A, 1, 1, 1, 0) е N6 является регулярной
относительно (ххх.гхъх^ Dc (/)). Действительно, для точки а' =
= A, 0, 1, 1, 0)&Ndc\N6 й'-пучок состоит из интервалов iV4 и 7V3,
а й-пучок состоит из интервалов iV4, N5 и ^6-
Определение 18. Множество М С Nk называется
регулярным относительно {К, D), если все его точки регулярны
относительно (К, D).
Теорема 7 [3]. Конъюнкция К из д. н. ф. D не входит
в д. н. ф. /)ит (не входит ни в одну д. н. ф., тупиковую относительно
D) тогда и только тогда, когда интервал Nk есть множество,
регулярное относительно (К, D).
Достаточность. Пусть все точки Nk регулярны
относительно (К, D). Тогда для каждой точки а е Nk существует
точка й' <= Ns\Nk, такая, что всякий интервал,
соответствующий конъюнкции из д. н. ф. D и содержащий точку а,', содержит
и точку а. Предположим, что К входит в некоторую тупиковую
(относительно D) д. н. ф. Dr=K\/K1\/. . .\JKm. Точка й' покрыта
хотя бы одним из интервалов iVj,, ¦ . ., Nkm- Но тогда точка а
покрыта тем же интервалом. Поэтому
т
Nk^ [}NXj,
а это противоречит тому, что д. н. ф. Z)T тупиковая.
Следовательно, К не входит ни в одну тупиковую д. н. ф.
Необходимость. Пусть в Nk существует точка й,
которая не является регулярной относительно (К, D). Выделим
в D все конъюнкции Kt, . . ., Кт, отличные от К, и такие, что
88 2. АЛГОРИТМЫ ПОСТРОЕНИЯ МИНИМАЛЬНЫХ Д. Н. Ф.
а е Nkj, 7=1, . . ., т. Удалив из D конъюнкции К1: . . ., Кт,
т
получим д. н. ф. D' = Z)\ V К .. Убедимся в том, что Ns' = Nd.
Действительно, если бы нашлась такая точка а' е 2V.B, что а' $ /Ул',
то, во-первых, выполнялось бы соотношение &.' ф Nx, и
следовательно, соотношение а' е Nd\Nk, a во-вторых, выполнялось бы
соотношение М {а.1, Д)С1/(», /)). Но тогда точка а была бы
регулярной относительно (К, D), что неверно.
Очевидно, что конъюнкция К входпт в ядро д. н. ф. D'.
Поэтому К входит во все д. н. ф., тупиковые относительно D' и,
следовательно, входит хотя бы в одну д. н. ф., тупиковую
относительно D. Теорема доказана.
Замечание. Из доказательства достаточности видно, что
для всякого множества М С Nx, регулярного относительно
(К, D), и для всякой тупиковой относительно D д. н. ф.
Dj—K^/KjX/. . .\JKm справедливо соотношение
т
М С U Nx,.
Следующий пример показывает, что свойство конъюнкции
входить или не входить в д. н. ф. Дит окрестностью первого порядка
однозначно не определяется.
Пример 9. Пусть
i/j = XjX^C^C^ V XjX^S^Xg \> Х1Х2Х3Х^Х^ \/ X^X^X^X^ Y X]Xf%tyC§ Y Х-^Х^Х^Х^Х^.
LJ t> — i V I 2*^3 4 5'
Геометрические образы д. н. ф. Dx и Z>2 изображены соответственно
на рис. 5, а и б (интервалы перенумерованы в естественном
порядке). Пусть K=x1x2x3xixe, т. е. Nx=Ne. Тогда 5Х (К, Dt) —
=St (К, D2). Но К <? (D^iji и Ke(D2)\jT, что легко проверяется
по рис. 5, а и б.
Тем не менее понятие регулярной относительно (К, D) точки
является локальным. Пусть Sx (К, D) = {К, Кг, ..., Кт} и Q Ej) =
т
= U Ns,\Nx.
Теорема 8. Точка 3. е Nx является регулярной
относительно (К, D) тогда и только тогда, когда существует точка
?' e Q (SjJ такая, что
М(а', D)QM(oi,W).
Достаточность очевидна (см. определение регулярной
относительно (К, D) точки).
Необходимость. Пусть точка а е Nx регулярна
относительно (К, D). Тогда существует точка а' такая, что
«' eNj,\Nx, М(а!, D)QM(oL, D).
ГЛ. II. ЛОКАЛЬНЫЕ АЛГОРИТМЫ УПРОЩЕНИЯ Д. Н. Ф. 89
Последнее соотношение означает, что любой интервал,
содержащий точку а' и соответствующий конъюнкции из д. н. ф. D,
содержит точку а. Эта конъюнкция, очевидно, входит в Sx (К, D) и,
следовательно, а.' е Q (Sj). Теорема доказана.
Таким образом, свойство конъюнкции входить или не входить
в д. н. ф. Z)UT однозначно определяется заданием а-пучков для
всех точек а из Nx\jQ (Si).
Рис. 5.
Обобщим введенное ранее понятие окрестности первого
порядка.
Определение 19. Пусть конъюнкция К входит в д. н. ф.
D. Окрестность нулевого порядка S0 (К, D) конъюнкции К
в д. н, ф. D состоит из одной конъюнкции К. Пусть уже определена
окрестность (к—\)-го порядка Sk_1 (К, D) конъюнкции К в д. н. ф.
D. Окрестностью ' k-го порядка Sk (К, D) конъюнкции К
в д. н. ф. D называется совокупность всех таких конъюнкций К
из д. н. ф. D, для которых интервал N?j. имеет непустое
пересечение с какпм-либо интервалом, соответствующим конъюнкции
из 5Ы (К, D).
Заметим, что
S0 (К, D) С S, (К, О) С S2 (К, D)Q...Q 5Ы (К, D) С Sk (К, D).
Если a е Nr\JQ (Si), to все конъюнкции, которым
соответствуют интервалы из а-пучка в D, очевидно, входят в 52 (К, D).
Поэтому свойство конъюнкции К входить или не входить в д. н. ф.
#ит однозначно определяется окрестностью второго порядка
S2 (К, D). Тем самым доказана
Теорема 9 13]. Если S2 (К, D1)=St (К, DJ, то К
одновременно содержится или не содержится в д. н. ф. (Д,)^т
и (-Ds)ut-
Таким образом, конъюнкции, не входящие в д. н. ф. Z)UT (/),
могут быть удалены из сокращенной д. н. ф. Dc (/) алгоритмом,
который на каждом шаге осматривает только конъюнкции из
52 (К, De (/)).
90 2. АЛГОРИТМЫ ПОСТРОЕНИЯ МИНИМАЛЬНЫХ Д. Н. Ф.
§ 12. Л.-алгоритм [3]
Рассмотрим два свойства элементарной конъюнкции в д. н. ф.:
Рг (К, D) — К входит во все д. н. ф., минимальные относительно
D; Р2 (К, D) — К не входит ни в одну д. н. ф., минимальную
относительно D. Как обычно, считаем Р4=1, если свойство Р( имеет
место, и Pt=0 в противном случае. Мы будем рассматривать д. н. ф.,
составленные из конъюнкций с информационными отметками
(ш1, ш2), где со,. е{Д, 0,1}, причем ш<=Д будет означать, что
свойство Pt не вычислено, а если со,, е {0, 1}, то это будет означать, что
Р.— ш1 (следует отметить, что не все пары (со1; со2) на самом деле
возможны). Конъюнкцию К с информационной отметкой (со1? а>2)
мы будем обозначать через К^< ш*\
А -алгоритм будет вычислять значения свойств Рг и Р2 для
конъюнкций К из д. н. ф. D, используя для этого лишь конъюнкции из
окрестности второго порядка S2 (К, D) и их информационные
отметки.
Определение 20. Пусть конъюнкция К ранга г входит
в д. н. ф. D. Множество М С Nk называется множеством первого
типа относительно (К, D), если в д. н. ф. D существуют
конъюнкции Ки. . . , Кт рангов гх,. . ., гт такие, что
т m
MQ\JNXJ, r>2»>
Пример 10. Пусть
D V хгх2 V хххг,
к х, х„.
Множество М = {\, 0, 1, 1, 1, 1, 1), @, 1, 1, 1, 1, 1, 1)}QNX
является множеством первого типа относительно (К, D), так как
MQNE,\JNEi, r = 5, г1==г2 = 2 и г>Г1 + г2.
Переходим к описанию А-алгоритма. Пусть D —
произвольная д. н. ф. До начала работы .4-алгоритма все конъюнкции из
д. н. ф. D имеют отметку (А, А). Пусть уже выполнены i шагов и
отметку A, А) получили конъюнкции К[,. . . , K't, а отметку
(А, 1) — конъюнкции К'[,. . . ., К].
(j-j-l)-ft шаг. Упорядочиваем некоторым способом конъюнкции
из д. н. ф. Z)\ V К'. \J V К"- (если эта д. н. ф. пустая, то Л-алго-
ритм заканчивает работу). Выделяем первую по порядку
конъюнкцию А' и ее окрестности первого и второго порядка в д. н. ф.
D = Z)\ V K".\. Проверяем соотношение
NK<? U NB. D)
Яе5,BГ,В)\{8->
ГЛ. II. ЛОКАЛЬНЫЕ АЛГОРИТМЫ УПРОЩЕНИЯ Д. Н. Ф. 91
Если оно выполнено, то заменяем над К отметку (А, А) на отметку
A, А), и (i-\ri)-n шаг Л-алгоритма заканчивается. Если оно не
выполнено, то проверяем, можно ли Nk представить в виде
NK = M\JM', E)
где М — множество, регулярное относительно (К, D), а М' —
множество первого типа относительно (К, D). Если NE можно
представить в таком виде, то заменяем над К отметку (А, А) на
отметку (А, 1), и (г+1)-й шаг Л-алгоритма заканчивается.
Если нельзя, то берем вторую по порядку конъюнкцию и поступаем
с ней так же, как и с первой, и т. д. Если при этом нп у одной из
конъюнкций отметка не изменяется, то после просмотра всех
конъюнкций работа Л-алгоритма заканчивается.
После окончания работы А -алгоритма конъюнкции,
получившие отметку (А, 1), удаляются из д. н. ф. D. Докажем
корректность А -алгоритма.
Теорема 10. Каждая конъюнкция, получившая в процессе
работы А-алгоритма отметку A, А), входит в д. н. ф. Drm (входит
во все д. н. ф., минимальные относительно D), а каждая
конъюнкция, получившая отметку (А, 1), не входит в д. н. ф. D^m (не
входит ни в одну д. н. ф., минимальную относительно D).
Доказательство. Мы докажем теорему индукцией по
шагам Л-алгоритма. До начала работы Л-алгоритма все
конъюнкции имеют отметку (А, А), т. е. утверждение теоремы справедливо.
Предположим, что конъюнкции К[,. . . , К'г, получившие на
первых i шагах А -алгоритма отметку A, А), входят в д. н. ф.
D^M, а конъюнкции К'[,. . . , K"t, получившие отметку (А, 1), не
входят в д. н. ф. D\jM. Тогда любая минимальная (относительно D)
д. н. ф. содержится в д. н. ф. D = D\ V K".\ и, стало быть,
является относительно нее тупиковой.
Пусть на (j+1)-m шаге конъюнкция К получила отметку A, А).
Это означает, что выполнено соотношение D), т. е. К входит в ядро
д. н. ф. [). Но тогда К входит во все д. н. ф., тупиковые
относительно D (теорема 6) и поэтому входит в д. н. ф. -0Пм.
Пусть на (j+l)-M шаге конъюнкция К получила отметку
(А, 1). Это означает, что Nx представим в виде E). Покажем, что
в этом случае К ^ D\jM. Допустим, что существует минимальная
(относительно D) д. н. ф. ри, содержащая К. Тогда Ds является
тупиковой относительно D и согласно замечанию к теореме 7
множество М (Z Nk покрывается интервалами, соответствующими
конъюнкциям из д. н. ф. DM\ К. Далее, в D существуют
конъюнкции Ки . . ., Кт такие, что
т т
.,¦=1 ' j=\ 3
92 2. АЛГОРИТМЫ ПОСТРОЕНИЯ МИНИМАЛЬНЫХ Д. Н. Ф.
(г — ранг конъюнкции К, г. — ранг конъюнкции К,,] = \,...,т)ш
т
Но тогда д. н. ф. (DX\K) \y \/ К. реализует ту же функцию, что
и д. н. ф. DM, но проще ее, а это невозможно. Следовательно,
K$D\ja. Теорема доказана.
Пример 11. Применим А -алгоритм к функции / (а^,. . .
..., х9), заданной сокращенной д. н. ф.:
а э
°е (/) = V Z&Xf \/ V ХХХ2Х{ \/ XlXiXi . . . Х9 \/
»=4 «=4
у Х-^Х^Х^ . . . Xq \у Х^ . . . Xq у Ху?^Х3 \у Х-шХлХ^,
Схематическое расположение интервалов в покрытии,
соответствующем д. н. ф. Д, (/), показано на рис. 6. Конъюнкции в д. н. ф.
и соответствующие им интервалы мы упорядочиваем естественным
образом. После отметки некоторых конъюнкций порядок среди
конъюнкций, оставшихся не отмеченными, сохраняем.
Все конъюнкции из Dc (/), кроме трех последних, входят в ядро
д. н. ф. Поэтому на первых 14 шагах А -алгоритма они получат
отметку A, А). К началу 15-го шага отметка (А, А) останется у
конъюнкций х3. . . х9, х1х2х3, хххгх3. Очевидно, что NXb=M |J M',
где М={@,1,0, . . ., 0), A,0,0,. . . , 0)}, М'={@,0,0,. . . ,0),
A,1,0,. . ., 0)}. Из рис. 6 видно, что точки @,1,0,. . .,0) и
A,0,0,. . ., 0) регулярны относительно (х3. . . х9, DB (/)), т. е. М
регулярно относительно (х3. . . х9, Dc (/)). Кроме того, из рис. 6
видно, что М'О. NU\JN17. Поскольку г15=7, а г16==г17=3.
М' есть множество первого типа относительно (х3. . . х9, Dc (/)).
Отсюда следует, что на 15-м шаге 4-алгоритма конъюнкция
ГЛ. II. ЛОКАЛЬНЫЕ АЛГОРИТМЫ УПРОЩЕНИЯ Д. Н. Ф. 93
х3 . . .^9 получит отметку (Д, 1). Конъюнкции ххх2х3 и х\х&г
входят в ядро д. н. ф. Dc (f)\x3.. .х9. Поэтому на 16-м и 17-м шагах
Л-алгоритма эти конъюнкции получат отметку A, Д). Удалив из
Dc (/) конъюнкцию х3. . . х9, мы получим минимальную д. н. ф.
функции/ (xv . . ., хв).
Замечание. Функция f(xv ..., х9) имеет две тупиковые д. н. ф.:
?>х = Dc (f)\xa... г, и Da = De (^\(ххх2х3 V х^х^). Д. н. ф. Dt
является минимальной, но не является кратчайшей; д. н. ф. D2 —
кратчайшей, но не минимальной. Таким образом, мы указали
заодно функцию, у которой множество кратчайших д. н. ф. не
пересекается с множеством минимальных.
§ 13. Кольцевой алгоритм [2J
Кольцевой алгоритм расставляет над конъюнкциями
информационные отметки ((в1, ш2), значение которых то же, что и в А-ал-
горитме. На каждом шаге кольцевой алгоритм использует
элементарные конъюнкции, входящие в окрестность к-то порядка
некоторой конъюнкции и информационные отметки этих
конъюнкций.
Пусть Sk^(K, D) = {K, Kv .. .,*,}, Sk(K, D) = {K, K„ ..., K„
Ki+i> ••¦' Km). Положим
Nski = NK\J U NKJ.
m
N8k = NE\J U NKJ,
Q(Sk) = Nsk\NSk_l.
Каждому подмножеству N С Q (Sk) сопоставим частичную
функцию алгебры логики / такую, что
M{=NSk\N, Mf = E»\NSk. F)
Полученное таким образом множество функций обозначим через
Fk (К).
Переходим к описанию кольцевого алгоритма. Пусть D —
произвольная д. н. ф. До начала работы алгоритма все
конъюнкции из д. н. ф. D имеют отметку (Д, А). Пусть уже выполнены г
шагов и отметку A, А) получили конъюнкции К[,. . . , К'а, а
отметку (Д, 1) конъюнкции К{,. . ., К".
(г-)-1)-й шаг. Упорядочиваем некоторым способом конъюнкции
из д. н. ф. Z)\ V К',. V V К".) (если эта д. н. ф. пустая, то коль-
цевой алгоритм заканчивает работу). Выделяем первую по порядку
конъюнкцию К и ее окрестности Sk_x {К, D) и Sk (К, D). Для каж-
94 2. АЛГОРИТМЫ ПОСТРОЕНИЯ МИНИМАЛЬНЫХ Д. Н. Ф.
дой частичной функции / из множества Fk(K) находим все ее д. н. ф.,
составленные из конъюнкций, входящих в Sk (К, D), и
содержащие по сравнению с другими такими д. н. ф. наименьшее число
символов переменных. Среди них выделяем все те д. н. ф.,
которые
1) не содержат конъюнкций К"х,. . . , К",
2) содержат все конъюнкции К' /=1,. . ., s, удовлетворяющие
условию
Л^;.П(ЛЧ\ЛО^0- G)
Если конъюнкция К входит во все выделенные д. н. ф. (для всех
частичных функций / из Fk (К)), то заменяем над К отметку (А, А)
на отметку A, А) и (г+1)-й шаг алгоритма заканчивается. Если
конъюнкция К не входит ни в одну из выделенных д. н. ф., то
заменяем над К отметку (Д, А) на отметку (А, 1) и(?+1)-й шаг
алгоритма заканчивается. В остальных случаях переходим ко
второй по порядку конъюнкции, и т. д. Если ни у одной из
конъюнкций не удается изменить отметку, то на (?+1)-м шаге работа
алгоритма заканчивается.
Докажем корректность кольцевого алгоритма. Пусть
конъюнкции К[,. . . , К'г, получившие на первых i шагах отметку A, А),
входят в д. н. ф. -Dn>n а конъюнкции К'[,. . ., K"t, получившие
отметку (А, 1), не входят в д. н. ф. Z)UM. Рассмотрим произвольную
минимальную (относительно D) д. н. ф. Du. Представим ее в виде
где D'H — д. н. ф., состоящая из всех конъюнкций д. н. ф. Дм,
входящих в Sk(K, D), a D"M — д. н. ф., состоящая из всех остальных
конъюнкций д. н. ф. DK. Положим
N8knNi>'u = N.
Очевидно, что N С Q (Sk). Тогда D'H является д. н. ф. для
частичной функции /, определяемой соотношениями F), причем / не имеет
более простых д. н. ф., составленных из конъюнкций, входящих
в Sk (К, D) (если бы такие д. н. ф. существовали, то, заменив D'K
на одну из них, мы бы из д. н. ф. DK получили более простую
д. н. ф., что невозможно). Далее, д. н. ф. Z>M, а следовательно,
и д. н. ф. Б'ж не содержит конъюнкций К"х,. . . , К"г Все
конъюнкции К[,. . ., K'g, наоборот, содержатся в д. н. ф. DM. Если для
конъюнкции К' ./=1,. . ., s, выполнено соотношение G), то это
означает, что она не входит в д. н. ф. D"n и следовательно, входит
в д. н. ф. D'M. Таким образом, Ъ'ж попадает в число выделенных
на (г'+1)-м шаге д. н. ф. Поэтому если на (г'+1)-м шаге
конъюнкция К получила отметку A, А), то она входит в д. н. ф. DM и,
следовательно, в д. н. ф. DM. В силу произвольности минимальной
ГЛ. II. ЛОКАЛЬНЫЕ АЛГОРИТМЫ УПРОЩЕНИЯ Д. Н. Ф. 95
д. н. ф. Z)M отсюда следует, что в этом случае К входит во все
минимальные (относительно D) д. н. ф. Аналогичное рассуждение
проходит и в том случае, если конъюнкция К получила отметку
(А, 1).
Данный алгоритм на каждом шаге перебирает подмножества
множества Q (Sk), которое естественно называть внешним кольцом
окрестности. Поэтому алгоритм получил название кольцевого.
Кольцевой алгоритм для построения кратчайших д. н. ф.
описывается аналогично. Все результаты настоящего параграфа без
труда переносятся на случай не всюду определенных функций
алгебры логики.
Применение локальных алгоритмов рассмотренного типа
(§§ 10, 12, 13) позволяет выделить в сокращенной д. н. ф. Dc (/)
конъюнкции К[,. . ., K's, которые входят во все минимальные
д. н. ф. функции/ и конъюнкции Е[,. . ., К", не входящие ни в одну
минимальную д. н. ф. функции /. Если Ос(/)\ V К". = V К'
8
то V К'. — минимальная д. н. ф. функции /, и локальный алгоритм
полностью решает задачу построения минимальной д. н. ф. В
противном случае задача построения минимальной д. н. ф. для
функции / сводится к задаче построения минимальной относительно
D0(/)\ I V К"Л д. н. ф. для частичной функции », определяемой
соотношениями: Ml=E"\Nf, MJ'—A^XMj NE>. J. Последняя
задача, вообще говоря, проще исходной.
В алгоритмах, описанных в §§ 12 и 13, запоминается факт
вхождения конъюнкции во все минимальные д. н. ф. и факт
невхождения ни в одну минимальную д. н. ф. Можно описать локальные
алгоритмы, которые на каждом шаге используют окрестность /с-го
порядка какой-либо конъюнкции и запоминают значения заранее
выделенных свойств. Теория таких алгоритмов изложена в
работах [4, 5].
§ 14. Отсутствие локального критерия вхождения
конъюнкции в д. н. ф. ?>им
В § И было показано, что свойство конъюнкции входить или
не входить в д. н. ф. Z)UT однозначно определяется окрестностью
второго порядка конъюнкции в д. н. ф. D. Ниже мы покажем, что
аналогичного критерия для проверки вхождения конъюнкции
в д. н. ф. Z)Um построить нельзя, даже если рассматривать
окрестности произвольного фиксированного порядка.
96
2. АЛГОРИТМЫ ПОСТРОЕНИЯ МИНИМАЛЬНЫХ Д. Н. Ф.
О п р_е деление 21. Число координат, в которых две
вершины а, р куба Е" отличаются друг от друга, назовем расстоянием
между а и р и обозначим его через d (а, р).
Определение 22. Множество вершин куба Е" называется
цепью, если его точки можно расположить в виде
последовательности а1,. . . , а' так, что
1) d(SL\ «<+1) = 1,
2) для всех остальных пар d (a.*, cLJ) > 1.
Функцию ср назовем цепной, если N есть цепь.
Пусть ср — цепная функция и ей соответствует
последовательность а1,. . ., а'. Обозначим ребро, проходящее через точки 3.'
и а*+1, через Nf, a соответствующую ему конъюнкцию через К{.
Пользуясь определением цепной функции, нетрудно показать, что
/>С(?) = \/Ч.
1п~ 1
Лемма 1. Цепная функция f=\/Kt имеет единственную
минимальную д. н. ф.
Dx(<f) = K1\/K9\/...\/K2m_v
Доказательство. Никакая д. н. ф. функции tp не
может содержать менее т конъюнкций, так как N содержит 2т
точек, а каждый максимальный интервал покрывает только две
точки. Следовательно, Du (ср) — минимальная д. н. ф. функции
w. Докажем, что других минимальных д. н. ф. у функции ср
нет. Для этого достаточно показать, что всякая д. н. ф.
функции ср, в которую входит хотя бы одна конъюнкция Kt с
четным номером, не является минимальной.
Пусть К( — конъюнкция с наименьшим четным номером,
входящая в д. н. ф. D ((f) функции ср. Тогда конъюнкция К(_% не
входит в д. н. ф. D (ср) и точка а*-1 может покрываться лишь
интервалом Nm{_0 т. е. конъюнкция К(-1 входит в д. н. ф. D ('¦?).
Интервалы Nzi_t и Nxt в сумме покрывают три точки а*-1, а* и а'+1.
Чтобы покрыть остальные 2т — 3 точек, необходимо не менее
т — 1 интервалов. Следовательно, D (ср) содержит не менее т -J- 1
конъюнкций и не является минимальной.
2т— 1
Следствие. Для цепной функции ср = V К. справедливо
соотношение
DvA^^K.yK.y ...ук2т_х.
Определение 23. Множество вершин куба Е" называется
циклом, если его точки можно расположить в виде
последовательности а1,. . . , а2 так, что
ГЛ. II. ЛОКАЛЬНЫЕ АЛГОРИТМЫ УПРОЩЕНИЯ Д. Н. Ф. 97
1) d (a*, a*fl) ^ \, d C.*'", а1) = 1;
2) для всех остальных пар d (а*, а-') > 1.
Функцию / назовем циклической, если Nf есть цикл.
Пусть / — циклическая функция и ей соответствует
последовательность а1,. . ., а2'". Обозначим ребро, проходящее через точки
а*' и a<(mod2m> + 1, через Nv a соответствующую ему
конъюнкцию через К(. Пользуясь определением циклической функции,
нетрудно показать, что при т > 2
2 т
4,(/)=Vtf,.
2m
Лемма 2. Циклическая функция f=\J К. (т^>2) имеет по
крайней мере две минимальные д. н. ф.\
/>и1 (/) = #! V-.. \JKin_x и DK2(f) = K2\J ...\/К2т.
Доказательство аналогично доказательству леммы 1.
2т
Следствие. Для циклической функции / = V К{(т^>2)спра-'
ведливо соотношение
2т
Яи.(/) = Л.(/)=У*,.
1=1
Теперь мы можем доказать теорему, из которой следует
отсутствие локального критерия вхождения конъюнкции в д. н. ф. DVli.
Теорема И [3]. Для любого натурального к можно указать
такую функцию алгебры логики /, что DUx (/) = Dc (/) и при этом
для всякой конъюнкции К е Z3C (/) существует функция fK такая,
что Sk{K, D0(ftK)) = St{K, Dc(f)) и K^D^(Vl).
Доказательство. Выберем число п так, чтобы
п ;> &+3. Рассмотрим функцию алгебры логики / (хг,. . . , хп)
такую, что Nf={@,. . .,0, 0), @,. . ., 0,1), @,. . ., 1,1), . . .
...,A,. . ., 1,1), A,. . ., 1,0), . . ., A,0,. . ., 0)}. Легко проверить,
что подмножество Nf есть цикл из 2и точек. Поэтому согласно
следствию из леммы 2 DUu(f)=Da (/). Обозначим через I нечетное
число из пары (к, к+1). Пусть St (К, Dc (/)) = {?, Нъ. . ., Я2(}.
Рассмотрим функцию <рА-, заданную соотношением
^ = ^и JJA4-
Очевидно, что для нее справедливо равенство: Sk (К, Dc (<?Л\ =
= Sk(K, Da(f)). Далее, и силу того, что п^к-\-'3*^1-\-2,
функция <рК является цепной. Пользуям, следствием из леммы 1 и
7 Дискретная математика, т. I
98 2. АЛГОРИТМЫ ПОСТРОЕНИЯ МИНИМАЛЬНЫХ Д. Н. Ф.
учитывая нечетность I, убеждаемся в том, что К <? DUm (fK). Теорема
доказана.
В разделе 3 будет показано, что в кубе Е" существуют циклы,
содержащие не менее а2" точек (а—константа). Поэтому число п
аргументов функции, которое встречается в доказательстве
теоремы 11, можно было бы значительно уменьшить.
ЛИТЕРАТУРА
1. Журавлев Ю. И., Об отделимости подмножеств вершин га-мерного
единичного куба, Труды МИАН СССР 51, ?., Изд-во АН СССР, 1958,
143-157.
2. Ж у р а в л е в Ю. И., Алгоритмы упрощения дизъюнктивных
нормальных форм конечного индекса, ДАН СССР 139, № 6, 1961, 1329—1331.
3. Журавлев Ю. И., Теоретико-множественные методы алгебры
логики, Сб. «Проблемы кибернетики», вып. 8, М., Физматгиз, 1962, 5—44.
4. Журавлев Ю. И., Локальные алгоритмы вычисления информации,
Кибернетика, № 1, 1965, 12—19.
5. Ж у р а в л е в Ю. И., Оценка сложности локальных алгоритмов для
некоторых экстремальных задач на конечных множествах, ДАН СССР
158, № 5, 1964, 1018—1021.
6. Ч е г и с II. А., Яблонский С. В., Логические способы контроля
электрических схем, Труды МИАН СССР 51, М., Ивд-во АН СССР,
1958, 270-360.
7. Яблонский С. В., Функциональные построения в А-значной
логике, Труды МИАН СССР 51, М., Иад-во АН СССР, 1958, 5—142.
8. Blake A., Canonical expression in Boolean algebra, Dissertation,
Chicago, 1937.
9. Q u i n e W. V., A way to simplify truth functions, Amer. Math. Monthly
62, Л» 9, 1955.
10. Q u i n e W. V., On cores and prime implicants of truth functions, Amer.
Math. Monthly 66, Л» 9, 1959.
Раздел 3
МЕТРИЧЕСКИЕ СВОЙСТВА
ДИЗЪЮНКТИВНЫХ НОРМАЛЬНЫХ ФОРМ
10. Л. Васильев, В. В. Глаголев
Глава I. ЦЕЛЬ ОЦЕНОК И ОБЗОР ОЦЕНОК
Дизъюнктивная нормальная форма (д. н. ф.) представляет
собой запись булевой функции f(x±,. . ., xj в виде дизъюнкции
(многоместной функции «или»)
k,\jk2\j ...укт,
где каждый член является конъюнкцией (многоместной функцией
шъ) теххл%^таж^гар%т%ш^таъйъо^у5гаъъчг/Лх1>- • • , х„\, вдлтых.
с отрицанием или без него. Булева функция Дает описание
функционирования управляющей системы, а реализующая ее формула
и, в частности, д. н. ф. дает описание схемы зтой системы, так что
членам и буквам д. н. ф. отвечают узлы и элементы схемы. Как
правило, булева функция имеет много существенно различных
д. н. ф. В математической логике они рассматриваются с
качественной стороны. С развитием кибернетики члеЯЫ и буквы д. н. ф.
стали отражать затраты оборудования в схемах и это привлекло
внимание к количественной стороне.
Изучение метрических (количественных) свойств
концентрируется вокруг вопроса построения для данной булевой функции
кратчайшей д. н. ф. DK, т. е. д. н. ф., которая имее-Г минимальную длину
(длиной д. н. ф. называется число ее членов). Изучение метрических
свойств д. н. ф. началось под влиянием работ К. Э. Шеннона но
синтезу переключательных схем и С. В. Яблонского по
алгоритмическим трудностям синтеза минимальных схем, но внимание
привлекли к себе вопросы, вытекающие из специфики д. н. ф. и
имеющие разнообразные отзвуки в других областях — в теории
автоматов, в теории тестов, в теории кодирования, в
комбинаторном анализе, в динамическом программировании.
Д. н. ф. имеют вид многочленов или, как говорят, являются
формулами глубины два и представляют значительный интерес
именно как частный вид реализации булевых функций. В
значительной мере благодаря этому они имеют свдзи с вопросами,
выходящими за рамки булевых функций и их реализации.
Исследуемые метрические свойства д. н. ф. связаны со следующими тремя
аспектами, каждый пз которых обусловлен спецификой д. н. ф.
В плане схемных реализаций любая д. н. ф. по сравнению с
другими формулами дает наименьшее число ступеней, равное двум,
100
3 МЕТРИЧЕСКИЕ СВОЙСТВА Д fl Ф
что весьма важно для надежности и быстродействия схем. С этим
связана роль д. н. ф. в структурной теорий автоматов, широкое
применение при синтезе математических мащин. В этом плане
интересны длины различных видов д. н. ф.
Далее, минимизация д. н. ф. основана н? так называемых
упрощениях и имеет ряд общих черт с поисками оптимальных
решений в других областях (некоторые задач!* динамического
программирования и т. п.). Случай д. н, ф. выделяется простотой
исходных условий, отчетливостью картины, удобством совместного
рассмотрения оптимальных объектов и алгоритмов оптимизации.
Первая из этих особенностей проявляется ? том, что каждое из
упрощений локально (затрагивает лишь кдкой-либо один член
д. н. ф.) и в том, что все разнообразие их сводится к двум типам —
вычеркиванию букв в членах д. н. ф. и вычеркиванию самих
членов. Переходя посредством упрощений от одной д. н. ф. для
данной функции / к другой, приходят к далее н^упрощаемой, тупико-
ъоь д. т&. ф., -йтсракя55,«й рожь ж>"кажаото ^гчрем.^м.ъ. йалгля^т»
одни упрощения исключают другие, поэтому в зависимости от
их выбора приходят к различным тупиковые Д. н. ф. Вторая
особенность состоит в ярко выраженной полиэкстремальности, когда
среди большого числа локальных экстремумов требуется найти
глобальный. Третья особенность проявляется в наличии у
любой функции / сокращенной д. н. ф. В ней как бы запечатлевается
вся картина минимизации — и экстремумы, и в известной мере
алгоритмы минимизации. В этом плане интересны метрические
свойства д. н. ф., связанные с измерением получаемого решения и
алгоритмов его получения, и хотя при этом делаются различные
допущения об алгоритмах, имеющиеся результаты нетривиальны
и поучительны. Наряду с длинами д. н. ф. здесь интересны
абсолютные и относительные количества различных видов д. н. ф.,
относительные длины д. н. ф. .протяженность, совмещение на одной
функции различных свойств и др.
Наконец, геометрическая трактовка д. н. ф- придает им
наглядность, проясняет их комбинаторную природу, облегчает
постановку и поиски решения задач. Здесь д. н. ф. проявляют себя как
комплексы (покрытия), составленные из граней (интервалов) га-
мерного единичного куба Е", и через переход к абстрактным
комплексам имеют связи с другими комбинаторными задачами.
Например, изучение типичных ситуаций для Д. п. ф. оказало
определенное влияние на исследование так называемых статистических
или частотных свойств поведения автоматов, где имеют дело с
одномерными комплексами в виде диаграмм переходов. В этом плане
интересны некоторые общие черты числовьгх оценок д. н. ф.,
а также принципы получения этих оценок-
На первый взгляд кажется, что задача минимизации д. н. ф.
неинтересна, так как очевидны несколько подходов к ее решению,
ГЛ. I. ЦЕЛЬ ОЦЕНОК II ОБЗОР ОЦЕНОК
101
требующих конечного числа шагов. Более внимательный анализ
показывает, что при этом возникает ряд серьезных препятствий.
Принципиальное значение совокупности метрических свойств
д. н. ф. состоит в том, что она (пусть при тех или иных
ограничениях) характеризует величину перебора — число вариантов,
которые надо сравнить между собой; прикладное — в том, что
знание препятствий в общем случае дает ориентиры для
использования имеющихся возможностей в конкретных ситуациях.
Рассмотрение числовых параметров приурочено к множеству
Р" всех булевых функций от га переменных. Если х (/) — такого
рода параметр, то через % (га) обозначается его максимальное
значение, т. е. х(ге) — max x(f)- Выделение типичных ситуаций про-
изводится в форме высказывания: для почти всех функций / от
п переменных а (га) ^ у (/) ^ Ъ (га). Оно означает, что доля тех
функций из Р", которые удовлетворяют указанным оценкам,
стремится к 1 при п -+ оо. Рассмотрение ограничивается оценками
максимальных значений и оценками значений для почти всех функций.
Основное внимание уделяется тому, как изменяются эти величины
с ростом га. В приводимых ниже оценках весьма заметно различие
между максимальными и типичными значениями параметров.
Изложение следует естественной упорядоченности д. н. ф.
булевой функции / : совершенная д. н. ф. -»• сокращенная д. н. ф. -*¦
тупиковые д. н. ф. —> кратчайшие д. н. ф.
Совершенная и сокращенная д. н. ф. у любой функции /
единственны и замечательны следующим. Первая весьма просто
строится по таблице значений функции /, и из нее можно получить
упрощениями любую тупиковую д. н. ф. для /. Вторая вмещает
в себя итог всевозможных упрощений совершенной д. н. ф.,
состоящих в вычеркивании букв. Благодаря этому сокращенная
д. н. ф. позволяет получать все тупиковые д. н. ф. функции / при
помощи упрощений только второго типа, состоящих в
вычеркивании членов. Как видно из приводимых ниже оценок, это
преимущество сокращенной д. н. ф. перед совершенной не является
бесплатным.
Максимальное значение длины совершенной д. н. ф. для
функций от га переменных равно 2", а типичное значение
\N/\~2n-i*).
Пусть 1п (/) — длина сокращенной д. п. ф. Для максимального
значения имеются оценки
*) Как обычно, |iVf обозначает мощность множества N.
**) Соотношение а(п) < Ь(п) означает, что существуют такое п0 И
такая константа с > 0, что при всех п > «0 а(п) < сЬ(п)ч
J02 3. МЕТРИЧЕСКИЕ СВОЙСТВА Д. Н. Ф.
а для почти всех функций
n(i-«;)iogiog. 2„ ^ Zc (/) ^ „(l+vj) logiog„ 2n> *)
где §^ -> 0 и 8J' -> 0 при п. -> оэ. В обоих случаях длина
сокращенной д. н. ф. во много раз превышает длину совершенной д. н. ф.
и свое название, полученное намного раньше этих оценок,
сокращенная д. н. ф. оправдывает лишь для малой доли функций.
Следует добавить, что у почти всех функций размерность
максимальных граней не превосходит [logn]+l и почти все грани,
составляющие сокращенную д. н. ф., имеют существенно меньшую
размерность, равную примерно log log п. Интересно строение комплексов,
отвечающих сокращенным д. н. ф. типичных функций: эти
комплексы почти целиком сосредоточены в одной «компоненте
связности», а прочих компонент немного и они нульмерны (см. [211).
В связи со сказанным выше о полиэкстремальности
значительный интерес представляют числовые параметры, характеризующие
совокупность тупиковых д. н. ф. булевой функции /. Число
тупиковых д. н. ф. t (/), как правило, весьма велико. Для
максимального значения найдены оценки
B^Л<*(п)<B*У*,\
где с'п (п ^ 3) снизу, а сп сверху ограничены положительными
константами, а для почти всех функций
,r).2ll-n{l-c'n) logHloglOg" <^f(f)<^ /2-2'!-1\A+E"i)l0gnl0gl0gM
где s'H -> 0 и e"t -»¦ 0 при п -*¦ оэ. Эти оценки показывают, что
подход к минимизации д. н. ф., основанный на переборе всех
тупиковых д. н. ф., чрезвычайно трудоемок. Для числа кратчайших
д. и. ф. q (/) известна лишь оценка снизу его максимального
значения:
B*")е"Л<7(»).'
нетривиальная оценка сверху для q(n), нетривиальные оценки
типичных значений q (/) неизвестны.
Далее, тупиковые д. н. ф. булевой функции / могут быть
существенно длиннее кратчайшей д. н. ф., причем, как правило,
таковы почти все тупиковые д. н. ф. данной функции.
Относительной длиной тупиковой д. н. ф. называется отношение ее длины
к длине кратчайшей д. н. ф. Максимальная относительная длина
тупиковой д. н. ф. функции / называется разбросом функции /
и обозначается через Y(f). Разброс длин в известной мере
характеризует актуальность минимизации функции /. Максимальное
значение разброса длин
Y(n) = 2',f1'",
*) Под log везде понимается логарифм по основанию 2.
ГЛ. I. ЦЕЛЬ ОЦЕНОК И ОБЗОР ОЦЕНОК
103
где s -> 0 при п -> оо. Для почти всех функций разброс
существенно меньше, но тоже растет с ростом га; для него известны оценки
log n <^ Y (/) ^ log n log log n.
Относительные длины почти всех тупиковых д. н. ф. функции /
ведут себя аналогично: у «самых плохих» функций они тоже равны
2ш1~Е\ а у почти всех функций они лежат по порядку между log га
и log га loglog га. Поэтому так называемый статистический подход
к минимизации д. н. ф., при котором ограничиваются перебором
в некоторой выборке из множества тупиковых д. н. ф. функции /,
приводит к д. н. ф., во много раз более длинным, чем кратчайшая.
Имеется оценка разброса через более доступный параметр.
Для произвольной функции /
Y(/)<2Dim/,
где Dim / — размерность функции/ (хх,. . ., хп), т. е.
максимальное значение размерности грани в комплексе, отвечающем
сокращенной д. н. ф. DJJ) функции /. В общем случае эта оценка
существенно неулучшаема.
Наконец, пусть ZT(/) — максимально возможная длина
тупиковой д. н. ф. для данной функции/, ZE(/)—длина кратчайшейд.н.ф.
Замечательно, что lT(f) ведет себя примерно так же, как длина
совершенной д. н. ф.: максимальное значение
М»)~2»,
а для почти всех функций
*,(/)-2-i.
Более того, у почти всех функций так ведут себя длины почти всех
тупиковых д. н. ф. Что касается 1К (/), то максимальное значение
*,(*) = 2-1,
а для почти всех функций ¦
оя-1 on
?_ <tl tf)<--=—
log n log log n ~^ KV/ ^logn'
т. е. почти всегда 1К (/) на порядок меньше длины совершенной
Д. н. ф. По этой причине минимизация длины представляет интерес.
Вместе с тем 1К (/) достаточно велика, поэтому тривиальный
подход к минимизации, состоящий в переборе всех д. н. ф. длины 1,
2, 3 и т. д., пока не встретится д. н. ф., реализующая данную
функцию, требует весьма большого перебора. Следовательно, задача
минимизации нетривиальна и с этой стороны. Верхняя оценка
Ддя ^к (/) интересна тем, что даже весьма простые алгоритмы дают
Для почти всех функций д. н. ф. такой длины. В частности, таков
метод наискорейшего спуска. Кратчайшая д. н. ф. может не быть
104
3. МЕТРИЧЕСКИЕ СВОЙСТВА Д. It. Ф.
минимальной но числу букв и наоборот. Максимально возможное
отношение длин этих д. н. ф. равно примерно ге/2, а для типичных
функций примерно 1.
Метрические свойства д. н. ф. в связи с локальным подходом
рассмотрены в трех направлениях. Как известно, локальный
алгоритм Akv производит упрощение сокращенной д. н. ф. DJJ)
(удаляет из нее некоторые конъюнкции) и приводит к д. н. ф.
1)д (/); от д. н. ф. DA (/) не требуется, чтобы она была тупиковой,
но требуеюя, чтобы для произвольной функции / она была
единственной. Разность длин д. н. ф. DB (/) и Da (/) называется
результативностью локального алгоритма Akt на функции / и
обозначается через ЬА (/). Алгоритм Akt имеет параметры — индекс к
и величину памяти v; его работа состоит в последовательном сборе
и переработке информации на ограниченных частях д. н. ф. Z)e (/),
представляющих собой окрестности членов д. н. ф., причем
индекс к задает значение порядка окрестностей. Идея локальности
состоит в ограничении трудоемкости алгоритма Akv посредством
ограничения значения порядка окрестностей.
Упомянутые три направления таковы. Протяженностью р (/)
булевой функции / называется такое минимальное значение
порядка окрестности, при котором окрестность любого члена д. н. ф.
De (/) составляет всю д. н. ф. Dc (/). Прямым построением цепных
булевых функций найдено, что максимальное значение
протяженности
р(п) = ап2п, — ^ая<у.
Такое же по порядку значение протяженности достигается и на
циклических функциях. Для почти всех булевых функций
(см. [22])
иу" loglogra-
Одна из основных теорем теории локальных алгоритмов —
теорема о невозможности упрощения сокращенной д. н. ф. циклической
функции / при kv < р (/) (см. [12]) — с учетом этих оценок
трактуется как свидетельство трудности минимизации д. н. ф.
Далее, у почти всех функций число членов сокращенной
д. н. ф. Dc (/), входящих в ядро, и число регулярных вершин
невелико. Это означает, что характер перекрытия граней в комплексе,
отвечающем De (/), для типичных функций довольно сложен, а
результативность локальных алгоритмов при к=1 и к=2 для
типичных функций мала. Таковы применяемые локальные
алгоритмы — алгоритм Квайна (к = 1), алгоритм построения д. н. ф.
сумма тупиковых D\jT (/) (&=2). Вместе с тем имеются примеры
функций, па которых результативность высока. При оценке ее
ГЛ. I. ЦЕЛЬ ОЦЕНОК И ОБЗОР ОЦЕНОК
105
следует, однако, иметь в виду усложнение сокращенной д. н. ф.
по сравнению с совершенной.
Наконец, построены так называемые плотные функции
\n(xv. . . , #„), при работе с которыми локальные алгоритмы
(к ^> 2) имеют трудоемкость порядка с°" A < с < 2). Главное в
утой формуле то, что п находится «в третьем этаже» и что в атом
смысле она сравнима с t (п) — максимальном значением числа
тупиковых д. н. ф. для функций от п переменных. У плотных
функций малая протяженность совмещается о ярко выраженными
трудностями минимизации:
р(\) = 2, У(Х,)>с", *(Х„)>С", МУ = 0,
относительная длина почти всех тупиковых д. н. ф. не меньше с".
Такого рода примеры показывают, что упомянутая выше идея
локальности нуждается в уточнении, так как на некоторых
функциях даже при к=2 нет удовлетворительного ограничения
трудоемкости.
Таковы основные задачи, приведшие к изучению метрических
свойств д. н. ф.
Подводя итог, можно сказать, что различные универсальные
подходы к минимизации, в том числе и те, которые приурочены
к природе д. н. ф., встречают серьезные препятствия — таков
подход на основе перебора тупиковых д. н. ф., статистический,
тривиальный, локальный подходы. В конкретных ситуациях
требуется выявление специфики массива минимизируемых функций,
сравнение роли в нем различных препятствий и минимизация с
учетом этих обстоятельств.
Стоит сказать несколько слов о сложности минимальных д. н. ф.
по сравнению с минимальными реализациями булевых функций
в других классах управляющих систем, таких, как формулы в
базисе {&, V'-}' схемы из функциональных элементов, контактные
(переключательные) схемы. Для каждого такого класса R
определяется функция Ln (n), равная максимальному значению
сложности минимальных реализаций в классе 7? для булевых
функцпй от п переменных. При сопоставлении с другими классами
в качестве меры сложности д. н. ф. следует брать число букв в них.
Известные асимптотические оценки величин Lr (n) для названных
классов [19, 20] показывают, что класс д. н. ф. существенно
сложнее любого из этих классов. Это является как бы платой за
минимальность числа ступеней, упомянутую выше. Следует
отметить также, что хотя у почти всех булевых функций сложность
минимальных д. н. ф. существенно меньше, чем максимальное
значение сложности, равное ге2я_1, тем не менее и у них д. н. ф.
значительно сложнее реализаций в других классах. Это различие
в полной мере проявляется при достаточно большом числе
переменных, при малом числе переменных оно выражено слабее.
106
3. МЕТРИЧЕСКИЕ СВОЙСТВА Д. Н. Ф.
Получение приведенных оценок само оказывается решением
экстремальных задач, но на бесконечном множестве, состоящем
из значений п.
Отыскание максимальных значений параметров состоит в
построении таких комплексов граней в Е", которые удовлетворяют
тем или иным ограничениям на локальное и глобальное строение
(отсутствие поглощений одних граней другими, связность и т. п.)
и на которых достигаются значения параметра, достаточно
близкие к верхней оценке, получаемой обычно из общих
количественных соотношений. Грубо говоря, здесь требуется максимально
плотная упаковка фигурных изделий в заданном объеме.
Отыскание типичных значений сочетает аналогичное
конструирование с подсчетами средних, дисперсий, применением
неравенства Чебышева. Конструкция расчленяет задачу на определенные
этапы, на которых вводятся вспомогательные параметры и
делаются для них названные подсчеты, а затем связывает
вспомогательные параметры и оценки для них с основным оцениваемым
параметром. С нескольких такого рода нетривиальных конструкций
и даваемых ими различий между максимальными и типичными
значениями началось широкое изучение типичных ситуаций для
различных типов комплексов.
Глава II. ОЦЕНКИ МАКСИМАЛЬНЫХ ЗНАЧЕНИЙ
§ 1. Введение '
1. Излагаемый материал предполагает постоянное обращение
к геометрической трактовке д. н. ф. (см. раздел 2). Когда говорится
о функциях, конъюнкциях, д. н. ф., следует иметь в виду
отвечающие им подмножества вершин тг-мерного единичного куба Е",
грани (т. е. интервалы), комплексы граней (т. е. покрытия).
Когда говорится о геометрических объектах, следует быть
готовым к описанию соотношений между ними на языке формул.
В дальнейшем намеренно будут допускаться такие вольности, как
«грани сокращенной д. н. ф.» и т. п., чтобы оттенить
геометрический аспект рассматриваемой ситуации, не отрываясь от формул.
В строгом изложении надо было бы сказать либо «члены
сокращенной д. н. ф.» либо «грани комплекса, отвечающего сокращенной
д. н. ф.» и т. п. Язык формул, язык д. н. ф. — это тот язык, на
котором удобно описывать различные соотношения между этими
объектами, геометрическая же трактовка дает язык, на котором удобно
отыскивать, предугадывать эти соотношения, понимать их смысл.
Имеет место своеобразный принцип неопределенности, когда ради
преимуществ одного подхода приходится жертвовать
преимуществами второго, и наоборот. Это затруднение можно преодолеть лт'тщ,
ГЛ. II. ОЦЕНКИ МАКСИМАЛЬНЫХ ЗНАЧЕНИЙ 107
усилием, состоящим в рассмотрении всего материала в обеих
трактовках одновременно.
Упомянутые объекты — функции, грани, комплексы —
находятся в весьма сложных взаимоотношениях, порой
«неожиданных», «трудно вообразимых». Поэтому для углубленного
понимания материала требуется изучать поведение различных
конкретных функций, комплексов, строить различные примеры и т. п.,
т. е. всячески расширять запас хорошо изученных, «освоенных»
функций и комплексов.
В качестве меры сложности д. н. ф. преимущественно
рассматривается их длина. Другая мера сложности, определяемая как
число букв в д. н. ф., упоминается лишь постольку, поскольку
имеются различия в ее поведении по сравнению с длиной.
Большинство основных закономерностей проявляет себя вполне отчетливо,
если ограничиться рассмотрением длин д. н. ф.
2. Основные классы функций, использующиеся при
отыскании оценок. Забегая вперед и минуя точные определения,
перечислим эти классы функций.
Прежде всего это симметрические булевы функции (см. § 2
и 4), особенно поисковые и линейные. С поясковых функций
началось систематическое изучение метрических свойств д. п. ф.
Было замечено, что число способов, которыми можно «склеить»
члены совершенной д. н. ф. поясковой функции и образовать
таким путем члены сокращенной д. н. ф., может превосходить число
членов в исходной совершенной д. н. ф.; было замечено также, что^
свойства тупиковых и кратчайших д. н. ф. поясковых функций
в значительной мере обусловлены этой особенностью. Было
обнаружено также наличие большого числа тупиковых д. н. ф.
у поясковых функций и простота построения кратчайших д. н. ф.
Для них.
На основе линейных функций можно строить новые функции,
в которых чрезвычайно много «компонент связности» — грубо
говоря, частей, которые можно рассматривать независимо друг от
друга. Так, с помощью линейных функций впервые были построены
примеры функций с числом тупиковых и кратчайших д. н. ф.,
выражающимся трехступенчатой формулой. Впоследствии вновь
обратились к поисковым функциям, и на их основе были построены
примеры с еще большим количеством тупиковых и кратчайших
Д. н. ф. — при этом использовалось наличие у поясковых функций
«большого» числа вершин, имеющих «большую» кратность
покрытия их гранями сокращенной д. н. ф. Симметрические функции —
это «ланцетники», «белые мыши», «дрозофилы» метрической
теории д. н. ф.
Цепные и циклические функции вошли в обиход при изучении
влияния большой протяженности булевых функций на
возможности локальных алгоритмов.
108
3. МЕТРИЧЕСКИЕ СВОЙСТВА Д. Н. Ф.
В связи с оценками разброса булевых функций стали
рассматривать различные способы конструирования из одних функций
других — так называемые бесповторные суперпозиции,
расщепления функций и т. п. Суперпозиции функций, определенным
образом связанных со своими отрицаниями, симметрических
функций, расщеплений и т. п. дали примеры функций, имеющих
большой разброс, функций, сочетающих большой разброс с
выраженностью других характеристик трудностей минимизации, а также
так называемых плотных функций, которые сочетают все эти
свойства с малой протяженностью. Последние показывают, что теория
локальных алгоритмов наталкивается на препятствие в виде
фактора плотности функций, в некотором смысле
противоположное фактору большой протяженности, так как оно коренится
внутри самой идеи локальности. Упомянутое конструирование
имеет выходы в ряд вопросов теории кодирования и
комбинаторного анализа, связанных с вопросами «упаковки».
Существенным шагом в расширении запаса нетривиальных
булевых функций было построение циклов, имеющих по порядку
максимальную длину. Здесь сочетаются яркая геометрическая идея
и интересная арифметическая реализация ее. Эти конструкции
родственны построениям кодов.
Весьма нетривиальные свойства симметрических функций были
обнаружены в связи с оценкой длины максимальной тупиковой
д. н. ф. Здесь главным моментом является рассмотрение
индивидуальных функций в аспекте статистических соотношений между их
частями.
§ 2. Длина совершенной и сокращенной д. н. ф.
1. Очевидно, что число членов в совершенной д. н. ф. функции
от п переменных не превосходит 2". Вместе с тем функция 1
(равная 1 во всех вершинах куба Е") имеет совершенную д. н. ф.
такой длины.
2. Оценка сверху для 10 (п)—максимального значения длины
сокращенной д. н. ф.
Теорема 1 [5].
Доказательство состоит в рассмотрении множества
граней куба Е" как частичного упорядоченного множества (по
отношению к операции вложения граней друг в друга) и в оценке
максимального числа несравнимых элементов. Эта оценка будет
получена аналогично тому, как в работе [28].
Рассматриваемое множество содержит один наибольший
элемент — весь куб Е" и 2" несравнимых друг с другом наименьших
ГЛ. II. ОЦЕНКИ МАКСИМАЛЬНЫХ ЗНАЧЕНИЙ
109
элементов — нульмерные грани куба Е". Неуплотняемой цепочкой
граней, соединяющих га-мерную грань с какой-либо из
нульмерных, называется последовательность из га+1 граней К0,. . ., Кп,
в которой К0 — данная нульмерная грань и К0 С -Й^О . . dKn=
=Е". Легко видеть, что размерность грани К{ (г=0,. . ., га)
Dim К.— i.
Из определения следует, что число всевозможных неуплот-
няемых цепочек равно га! 2я и что число всевозможных неуплотняе-
мых цепочек, содержащих в качестве одного из своих элементов
данную грань А', равно (п — Dim К)! (Dim К) ! 2Dim E. (Чтобы
удобнее было выделять неуплотняе-
мые цепочки, множество граней Л/,=?
куба Е" следует представлять
себе в виде графа, вершинами
которого являются грани куба,
а ребрами соединены те
вершины, которые отвечают
вложенным одна в другую граням,
отличающимся по размерности
лишь на 1. На рис. 1
представлен граф, отвечающий
множеству граней 2-мерного куба.)
Пусть сокращенная д. н. ф. Da (/) произвольной'функции /
составлена из 1С (/) конъюнкций. Из определения сокращенной
д. н. ф. следует, что две различные грани из De (/) не могут
принадлежать одной неуплотняемой цепочке. Поэтому
2 (re —DimX)!(DimX)!2Dimif^n!2»,
^х
%хг
Рис. 1.
откуда
1
-. D im Д'ои-Шт-ff
<1-
лгеЛсСО
Найдем минимум выражения, стоящего под знаком суммы. G этой
целью рассмотрим величину at.=l/C*2"~* и вычислим отношение
а<+1 _2(J + i)
Это отношение меньше 1, когда i < (га—2)/3, и больше 1, когда
i ^> (га—2)/3. Поэтому значение DimK, при котором достигается
минимум, удовлетворяет неравенствам
-<DimA-<-
+ 1.
но
3 МЕТРИЧЕСКИЕ СВОЙСТВА Д. Н. Ф.
Заменяя каждое слагаемое минимальным, после несложных
преобразований получим
u/)^43j2
М2-И<41
aJ
(В последнем случае использовалась формула Стирлинга.) В силу
произвольности / эта оценка верна и для 1С (п).
3. Симметрические функции.
Определение 1. Назовем нормой вершины a = (aj, .
число единиц в наборе а и обозначим ее через ||й||.
Очевидно, что |j3L|j принимает одно из га+1 значений 0,1,. . ., п.
Определение 2. Для любого ?=0, 1,. . ., п назовем г'-м
уровнем куба Е" множество всех вершин а, у которых ||а|| = г.
Очевидно, что число вершин в i-м уровне куба Е" равно С*
и что в зависимости от того, четно или нечетно п, в Е" имеется один
или два уровня с максимально возможным числом вершин —
соответственно [п/2]-й уровень или [гс/2]-й и ([п/2]+1)-й уровни.
Определение 3. Объединение уровней с номерами i,. . .
¦ ¦ ., i-\-k, где 0 ^ i ^ i-\-k ^ п, назовем поясом.
На рис. 2 изображены Es и Z?4, указаны уровни, выделены пояса,
составленные из 1-го и 2-го уровней.
4-а уродень
3-й уровень
-1111
110 2-й gpoffei
Wb
0011
100 1-й уроЬмь
0-й уродень
^0000
Рис. 2.
Заметим, что любая грань размерности к целиком содержится
в некотором поясе, состоящем из уровней с номерами i,. . ., i-\-k,
причем в каждом из этих уровней содержится хотя бы одна
вершина данной грани.
Определение 4. Функция алгебры логики / (хг,. . .
. . ., ж,,) называется симметрической, если она не меняет своего
значения при любой перестановке переменных.
1'Л. II. ОЦЕНКИ МАКСИМАЛЬНЫХ ЗНАЧЕНИЙ Ш
Из определения следует, что симметрическая функция
принимает одинаковые значения на всех наборах с одинаковой нормой,
т. е. каждый уровень куба Е" либо целиком принадлежит либо
целиком не принадлежит множеству Nf. Номера уровней, на
которых симметрическая функция равна 1, называются рабочими
числами. Симметрическую функцию от п аргументов с рабочими
числами а у, . . ., а1с будем обозначать через $%<¦¦¦'"к.
Например, симметрическая функция or семи неременных с
рабочими числами 0,1, 3, 4,6, 7 обозначается SJU'3,4'6'7. Функцию S'n----' '¦"•,
отвечающую поясу, составленному из г-го, . . ., (f-J-A')-ro уровней,
назовем поисковой и для краткости обозначим через Sf',l>ft].
4. Оценка снизу для 1В (п).
Теорема 2 (С. В. Яблонский *)).
Доказательство. Рассмотрим функцию SH = S\[•'RJ. Каждая
вершина а г-го уровня определяет (п — ?)-мерный подкуб E't',
натянутый на нее и на вершину 1 = A, .... 1). Пересечение
(j-j-ft)-ro уровня куба Е" с подкубом Е?~{ является ft-м уровнем
иодкуба Ед~{ (число вершин в нем равно C*_f). Ему отвечает
совокупность конъюнкций {Kaj}, 7=1, • ¦ ¦> Спы> размерности к,
проходящих через вершину а. Ясно, что сокращенная д. н. ф.
De(S,)= У У К-., j
l|5||=i j
и что ее длина
Полагая i=k = [и/3] и пользуясь формулой Стирлинга, получаем
Сравнение с длиной совершенной д. н. ф. (она не превосходит
2") показывает, что сокращенная д. н. ф. может быть длиннее
совершенной примерно в A,5)" раз.
5. Для оценки результативности локальных алгоритмов
существенно знать соотношение между длинами д. н. ф. Квайна
Dq (/), д. н. ф. сумма тупиковых Z)Ut (/), д. н. ф. сумма
минимальных Z?UM (/) и длиной исходной для этих алгоритмов сокращенной
Д. н. ф. Д (/). В случае, когда функция / симметрическая, все эти
Д. н. ф. совпадают с исходной д. н. ф. Д. (/). Дело в том, что тогда
для произвольных конъюнкций Кх и К% из Д (/) существует такая
перестановка переменных, при которой Кг переходит в К*,, а фут-
*) Публикуется впервые.
112
3. МЕТРИЧЕСКИЕ Г.КОИС.ТКЛ Д. If. <I>.
ция / переходит в себя. Приведенный пример показывает,что
нулевая результативность локальных алгоритмов может иметь место
как раз тогда, когда исходная д. н. ф. Д. (/) во много крат длиннее
совершенной д. н. ф., не говоря уже о кратчайшей.
§ 3. Протяженность
1. Определение 5. Функцию / назовем связной, если
для некоторой конъюнкции К из сокращенной д. н. ф. Дс (/)
и некоторого числа к окрестность &-го порядка Sk(K, Da (/))
совпадает с Д (/). Наименьшее такое число р=р (/), что для всех
конъюнкций К из Д (/) выполнено равенство: S (К, Д(/)) = Д(/)
назовем протяженностью связной функции /.
Примером связной функции является поисковая функция ЗД- *+S:]
при к^>0. Ее протяженность не превосходит (njk)-\-0 (I).
По определению р=р (/) в Д. (/) имеются конъюнкции К0 и Кр,
для которых существует такая последовательность конъюнкций
К0, Ки . . ., K]t, что NE( пересекается с NKi+i(i=0,. . ., р—1),
и не существует аналогичной последовательности меньшей длины.
Любая цепь (см. раздел 2), соединяющая вершину из Nx0 с вер-
р
шиной из Nk и лежащая целиком внутри множества U Nxt,
•=о
имеет длину (т. е. число ребер) не менее р—1, так как в противном
случае последовательность К0,. . ., К можно было бы заменить
более короткой. При этом длину данной цепи всегда можно
довести до р+1, добавляя по одной вершине из NK„ и NK . Тем самым
оценка величины р (п) сводится к оценке величины 1а (п) —
максимально возможной длины цепи в Е".
2. Оценка длины цени сверху.
Теорема 3 [7].
J,(»)<(l + eJ-i,
где е ->0 при п~> со.
Доказательство. Пусть I — длина цепи, т — число пар
вида (оЕ, р), где а — вершина цепи и р— вершина, не
принадлежащая цепи, такие, что d (й, р) = 1. С одной стороны, т^1(п — 2),
с другой стороны, т <, Bя — I) п. Поэтому I (п — 2) ^ Bм — I) п,
откуда I ^ (п/п — 1) 2й-1.
3. Оценка длины цепи снизу. Чем длиннее требуется построить
цепь, тем труднее уследить за соблюдением условий на
расстояния между ее вершинами. По существу, эта задача родственна
известной кодовой задаче о вложении в куб Е" максимально
возможного числа шаров заданного радиуса. Существенным
дополнительным условием является здесь связность цепи. Порядок величины
1п (п) дает следующая
ГЛ. II. ОЦЕНКИ МАКСИМАЛЬНЫХ ЗНАЧЕНИЙ 113
Теорема 4 [10].
/» > я2",
где а — положительная константа *).
Доказательство состоит в прямом построении цепи
длины а2"—4. Это построение показывает, что можно получать
длинные цепи в Е", «деформируя» гамильтонов цикл куба Е"~
в цепь куба Е". Вместе с тем в самом построении упор сделан на
решение задачи арифметическими средствами.
а) Постановка задачи в буквах. Пусть р0,
рх, р2>- ¦ • — произвольная (конечная или бесконечная)
последовательность вершин куба Е", в которой а ф(, Ру)=1 при \i—/|=1.
Сопоставим ей слово Х=хчх/7 ... в алфавите х={х1,. . ., хп)
из п букв, где i. — номер координаты, которой отличаются вершины
р ¦_! и ру (/=1, 2,. . .). Для фиксированной вершины р0 это
соответствие является взаимно однозначным.
Две произвольные вершины р^. и 3 .fr при г J> 2 определяют
отрезок Xjj+r=xij_Vl . . .xif+r слова X. По отношению к отрезку
Xj.j+r буквы алфавита х={х^,. . ., хи} распадаются на два класса.
Те буквы, которые входят в отрезок X .^+г нечетное число раз,
назовем существенными в X ¦ .^г, а те буквы, которые входят
четное число раз, — несущественными в X ¦ Чг. Действием отрезка
X. .+г назовем число букв алфавита х, являющихся
существенными в этом отрезке.
Эти определения оправдываются тем, что расстояние между
вершинами 3^. и р .+г равно действию отрезка Xjj+r.
Отрезки, действие которых соответственно равно 0, 1 и не
меньше 2, будем называть соответственно 0-отрезками, 1-отрез-
ками и 2-отрезками.
Теперь цепи о.0, а.г,. . ., a.t в кубе Е" отвечает слово X —
^Xjfi^ . . . хч, в котором каждый отрезок является 2-отрезком.
Для фиксированной вершины я0 это соответствие взаимно
однозначно. Поэтому в дальнейшем такое слово X будем называть
цепью. Итак, требуется в алфавите х—{х^ . . ., х„} построить
цепь X, состоящую (примерно) из а2" букв.
б) Развертка (гамильтонов цикл) куба ?""; идея
конструкции. Последовательность вершин у0, ух,. . ., 72m-i
куба Ет, включающая в себя в точности по одному разу все вершины
куба ?"" и обладающая свойством d (f<} 7/) = 1 ПРИ U-/1=1> на"
зывается разверткой куба Ет. Зададим развертку с помощью
отвечающего ей слова W=w1. . .u^m-i в алфавите v—^,. . ., vm]
из т букв (каждая буква wi есть одна из букв алфавита v) и далее
*) См. также [9], где установлено, что а > 3/16.
8 Дискретная математика, т. I
114
3. МЕТРИЧЕСКИЙ СВОЙСТВА Д. H. Ф.
разверткой будем называть именно слово W. Развертка W
строится следующим образом: при т=1 W=vx, при т—Ъ W=vxv2Vi,
при m=3 W=v1v2v1v3v1viv1 и т. д.: если W — развертка для
алфавита из т—1 букв, то W=W'vIHW — развертка для алфавита
из т букв. В том, что W — действительно развертка, проще всего
убедиться индукцией по т, доказывая это одновременно с сим
метричностью W (с тем, что запись слова W в обратном порядке
снова есть IF).
В слове W нет 0-отрезков. Основное наблюдение состоит в том,
что 1-отрезков в слове W сравнительно немного, и их нетрудно
перечислить, исходя из индуктивного определения развертки.
1-отрезками слова IV являются отрезки wr . . Wj для всех пар (i, j)
вида i=p2*—г, /=p2?-|-r, где q=\, 2, . . ., т—1, р=1, 3, 5,. . .
. . ., 2'"—1, г--1, 2,3,.. ., 2*—1. Это множество пар обозначим через
М. Все остальные отрезки развертки суть 2-отрезки.
Идея конструкции состоит в том, чтобы вставить в слово W
символы из нового алфавита так, чтобы в получающемся слове
уже не было 1-отрезков. Здесь мы рассмотрим наиболее простой
ее вариант.
в) Конструкция. Получающееся после добавления
новых символов слово имеет вид:
X = y1zw1yl . . . 1№ш#1умги;мум ¦ ¦ ¦ У^^ш^У^,
где ух, у2,. . . — последовательность из символов нового алфавита
и (который еще предстоит построить) иг — символ, не входящий
ни в алфавит v, ни в алфавит и. Последовательность букв г/,
строится так, что в слове X все отрезки будут 2-отрезками.
Рассмотрим произвольный отрезок Д слова X. Можно
говорить о v-действии, и-действии, z-действии отрезка Д, понимая
под этим число букв соответственно алфавита v, и и {z},
являющихся существенными в Д. Если ^-действие отрезка Д не меньше
двух, то Д есть 2-отрезок. Поэтому далее будем считать, что
отрезок wt. . .w развертки куба К", соответствующий отрезку Д,
является 1-отрезком, т. е. (i, /) ? М. Если z-действие отрезка Д
равно 1, то Д есть 2-отрезок, поэтому далее будем считать, что
z-действие отрезка Д есть нуль. Поскольку число символов в
отрезке wt . . .w при (i, j) e M всегда нечетно, отрезок Д может иметь
лишь один из следующих видов (справа выписаны символы у,
существенные в Д):
Юмам™™
wtVMMzwM
У^.у{умгюм
yi-iyt™tu,i{;txzu;i+l
Vj-iUjZWj yt, у j
yj-iVjZWjyj ys
Уj-$f-w$эУj±\ Vi, J//+i
yj^VjZWjyjyj^z y{, yJ+i
У i-хУ izw зУ # i+\z Vj-vy
У )-\У pv> $ jy j*& У<_„ У j.
ГЛ. II. ОЦЕНКИ МАКСИМАЛЬНЫХ ЗНАЧЕНИЙ 115
Очевидно, что Д будет 2-отрезком в том и только в том случае,
если последовательность букв ук удовлетворяет следующим
условиям:
(а) для любой пары (г, у) е M
1) Vt Ф VJ+v 2) у, ф у., 3) у{_, ф yJ+1. Если (i, j) е М и г < 2»-1,
то пара (г—1, /+1) также принадлежит М. Поэтому условие 3)
дает новое ограничение только в случае r=2q—1. В этом случае
(/+1)—(i—\)=2r-\-2 —2?+1. Мы построим последовательность букв
у,, удовлетворяющую условиям:
(Р) если (i, j) <=М, то 1) у,фу/+1, 2) у фу у, если j—i есть
степень двойки, то 3) yi^yJ. Ясно, что эта последовательность
будет удовлетворять и условиям (а).
Перейдем к построению последовательности букв ук,
удовлетворяющей условиям (|3). Образуем сначала три
вспомогательные числовые последовательности у[}\ ук-\ ук3К
Н^сть ук1'> = (—1)''. Если A,])<еЛ[, то / и / имеют одинаковую
четность и поэтому для любой пары (i, j) е М имеет место yi^ ф
Определим ук2~> следующим образом: исходя из представления
числа А: в виде к = 2s(it-fx) (s = 0, 1, 2, . . ., t = 0, 1, 2, . ...,т=1
или 3), полагаем ук2^ = т. Иными словами, ук2~> есть остаток от
деления на 4 наибольшего нечетного делителя числа к. Покажем, что
если (/, /) е М, то y<f> ф у(р. Пусть I = р2ч — г, / = р2'' -f- r и пусть
г = 2рBа-(- 1). Так как г <12' — 1, то Р<С<7- Следовательно,
I = р2" — 2Р Bз + 1) = 2р (p2q-* — 2з — 1) = i^f,
/ = Р2« + 2? Bо -f 1) = 2? (Р2«~? -f 2- + 1) = /,2'.
Таким образом, максимальными нечетными делителями для i и /
являются соответственно г2 и /,. Их сумма /, -J- /i = р2?_р+| делится
на 4, поэтому нечетные числа /х и /, дают разные остатки от
деления на 4 и, следовательно, у^фу^К
Пусть ук3) =к(тоАЗ), т. е. ук3^ есть остаток от деления к на 3.
Тогда если j — / есть степень двойки (и значит, не делится на 3),
™ y?^yf\
Образуем теперь последовательность ук в алфавите и, буквами
которого являются тройки (?, т), С), где ?=+1, т] = 1, 3, С = 0,
1,2, полагая ук = (у^\ укг\ У^)- Из установленных выше свойств
последовательностей ук1\ ук^ и г/|?' вытекает, что последователь
иость ук удовлетворяет условиям ф).
Тем самым доказано, что в слове X каждый отрезок есть
2-отрезок, т. е. X — цепь.
Остается перейти от слова X к соответствующим ему кубу Е"
и цепи в кубе Е". Число п равно числу букв в алфавитах у, и и
{z}, т. е. п=т+13. Длина цепи X равна 4 B'"—1) ~? а2", где а=
=1/2".
116
3. МЕТРИЧЕСКИЕ СВОЙСТВА Д. H. Ф.
Замечание. Для цикла (см. раздел 2) справедливы
аналогичные оценки. Верхняя оценка длины цикла (т. е. числа его
ребер) получается в точности, как в теореме 3*). Что касается
нижней оценки, то цикл большой длины можно построить, например,
так, В кубе Е" берутся два подкуба /?"~2, у которых обе фиксиро
ванные координаты одни и те же, но имеют противоположные
значения. В одном из подкубов берется цепь, построенная, например,
так, как в теореме 4, и точно такая же цепь берется во втором.
Соединяя их с каждой стороны двумя ребрами, мы получаем цикл
длиной (а/2) 2" — 4.
§ 4. Длины кратчайших, тупиковых и минимальных д. н. ф.
1. Максимальное значение 1К (п)— длины кратчайшей д. н. ф.
Здесь будет доказана
Теорема 5.
ik(n)=2"-1.
Лемма 1. Всякая функция f (а^, . . . , хЛ может быть
реализована д. н. ф. D, у которой длина I (D) ^ 2"-1.
Доказательство. При п=\ утверждение проверяется
непосредственно. Функция 0 реализуется (пустой) д. н. ф. длины
О, а остальные функции: хг, х1п1 — элементарными конъюнкциями
(в последнем случае пустой), т. е. д. н. ф. длины 1.
Пусть утверждение доказано для всех функций от п—1
переменных и / — произвольная функция от п переменных. Имеем
/(*!, . . ., xn) = xj(xv . . ., xn_v 0)\JxJ(x1, . . ., х,,^, i).
Чтобы получить д. н. ф., реализующую /, достаточно в эту
формулу подставить д. н. ф., реализующие / (хг,. . ., хи_ъ 0) и
/ (хг,. . ., хп_ъ 1) и «раскрыть скобки», умножив все члены д. н. ф.
соответственно на хп и хи. В итоге получим не более, чем
2-2"-2 = 2в~1 дизъюнктивных членов.
Определение 6. Симметрическая функция Л„ (хи. . .
, . ., х1)=х1-\-. . .-\-хп (mod 2) называется линейной.
Лемма 2. Линейная функция Ля имеет единственную д.н.ф.
V ж^ .. . х*пп, которая является совершенной, сокращен-
Bi+...+<% mod2) = l
ной, тупиковой и кратчайшей; ее длина ZK(A„) = 2"_1.
Доказательство. Очевидно, что на любых двух
соседних (см. раздел 1) наборах функция Ан принимает
противоположные значения. Поэтому все допустимые (см. раздел 2) для Лл
грани (интервалы) нульмерны, т. е. являются вершинами вида
(с*!,. . ., аЛ), где <*!+. . . + а„ (mod 2)=1. Ясно, что их число равно
*) См. также [7], где покапано, что длина цикла не превосходит 2" i
(я > 4).
ГЛ. II. ОЦЕНКИ МАКСИМАЛЬНЫХ ЗНАЧЕНИЙ 117
2"-1 и что каждая допустимая грань необходима при построении
д. н. ф. функции Ля (только она покрывает «свою» точку).
Из лемм 1 и 2 следует теорема 5.
2. Определение 7. Если несвязная функция / имеет
нид f—Ji\/. ¦ -V//.» гДе /и- • ¦> //. ~ связные функции, причем при
любом I и любом ]'-/ i функция /.V/, Ужс несвязна, то функции
/2, . . ., /Л. называются компонентами связности функции /.
Следующее предложение обобщает лемму 2 и дает достаточное
условие «суммируемости» сокращенных, тупиковых и кратчайших
д. н. ф.
Предложение 1. Пусть f — несвязная функция с
компонентами связности/х, . . ., Д., a Dc (Д),. . ., Д.(fk), Д, (Д), . . .
. . .,/),,(/,), Dh(fi),. ¦ ¦, Z)K (fK) — сокращенные, тупиковые и
кратчайшие д. н. ф. для компонент связности.Тогда Dc (/х) \/. . . \/D,. (fk),
DT (/i)V- • • VA>(/J> АД/i) V- ¦ -VAt (}к)являются соответственно
сокращенной, тупиковой и кратчайшей д. н. ф. функции /,
причем такой вид имеет произвольная тупиковая и произвольная
кратчайшая д. н. ф. функции /.
3. Оценка для 1Т (п) —максимального значения длины
тупиковой д. н. ф. Казалось весьма правдоподобным, что линейная
функция имеет не только самую длинную кратчайшую, но и
самую длинную тупиковую д. н. ф. среди функций от п переменных.
Следующий пример опровергает это предположение.
Поясним идею примера. Будем исходить из разбиения Е",
п=2р—1, р=3, 4,... на шары радиуса 1 (т. е. на такие
подмножества вершин {а0, а1, . . ., ан}, что d (а0, а,) =1, i =1, . . ., п, где а0
называется центром шара). Такое разбиение легче всего получить,
если в качестве центров шаров взять вершины кода Хемминга
([26]; см. также раздел 5). Всего будет ——у шаров. Каждому
из них соответствует пучок — тупиковая д. н. ф., составленная
из п одномерных конъюнкций, покрывающих центр шара. Обозна-
2"
чим эти пучки через Dlt . . ., Dk, k = ——г-. Д. н. ф. D = DL\/ . . .
. . . V Dk состоит из пк = —ц—р 2" ~ 2" конъюнкций, однако
тупиковой не является. Оказывается, что удалив в некоторых пучках D(
менее половины конъюнкций, а в остальных — не более половины,
мы придем к таким пучкам В\, i = l, . . ., к, что д. н. ф. D'=D[\/
V • • .V-^* будет тупиковой. Вместе с тем д. н. ф. D' будет менее,
чем вдвое короче д. н. ф. D. Поскольку длина D, грубо говоря,
равна 2", длина D' будет больше 2". В следующем примере
эта идея реализована для случая п=7.
Предложение 2[25J. Симметрическая функция S7=Sfyl<3> 4Л7
обладает тупиковой д. н. ф. с 70 членами, что превосходит
27-!=64.
118
3. МЕТРИЧЕСКИЕ СВОЙСТВА Д. Н. Ф.
Доказательство. Возьмем код Хемминга в кубе Е7.
27
Число вершин в коде равно ¦¦ = 16, из них по одной вершине
находится на 0-м и 7-м уровнях и по семи вершин — на 3-м и 4-м
уровнях куба Е7. (В этом можно убедиться или непосредственно,
выписывая вершины кода, или подсчетом числа кодовых вершин
на различных уровнях, исходя из того, что код порождает
разбиение куба на шары радиуса 1.) Все эти вершины принадлежат
подмножеству Ns, (рис. 3).
<S
V
• —Вершины кода.Хемминга
Рис. 3.
1-й уровень
д-й уровень
5-й уровень
4 а уровень
3-й уровень
2-й уровень
1-й уровень
0-й уровень
Легко видеть, что сокращенная д. н. ф. Dc (S4) содержит лишь
одномерные конъюнкции. Множество D, составленное из тех
конъюнкций д. н. ф. Z)c (iS7), которые покрывают кодовые вершины,
распадается на пучки с центрами в кодовых вершинах. Поскольку
Е7 разбивается в сумму непересекающихся шаров радиуса 1 с
центрами в кодовых вершинах, построенная система пучков обладает
двумя свойствами:
1) каждые два пучка попарно не пересекаются,
2) каждая не кодовая вершина из Ns, покрыта ровно одной
конъюнкцией из D.
Отсюда следует, что D — тупиковая д. н. ф. функции S7.
Произведем подсчет длины тупиковой д. н. ф. D. Пучки с
центрами в вершинах @, 0, . . ., 0) и A, 1, . . ., 1) содержат по семь
конъюнкций, пучки с центрами в остальных вершинах — по
четыре конъюнкции. Всего имеем 2 -7-|-14 -4=70 конъюнкций.
IVt. И. ОЦЕНКИ МАКСИМАЛЬНЫХ ЗНАЧЕНИЙ
119
Обобщение этого подхода для оценки 1т(п) при произвольном п
потребовало привлечения шаров большего радиуса и поясковых
функций, пояса которых захватывают много уровней. Анализ
взаимосвязей между пучками, вырезаемыми шарами в таких
поясах, позволил получить асимптотическую оценку для 1у{п):
Теорема 6 [8].
1т(п) ~ 2".
В случае совершенной д. н. ф. значение длины 2" неудивительно,
так как не требуется учитывать склеек граней и поглощений одних
граней другими. При оценке же длины тупиковых д. н. ф. эти
факторы выступают тем резче, чем большее значение длины
требуется получить. Доказательство теоремы опирается на свойство
поясковых функций, которое выражает следующая
Лемма 3. Пусть поисковая функция S=S^'i+k^
удовлетворяет следующим условиям:
±n^i<i + k^^-n, A)
BkJk+2 < In n, B)
и пусть s=\Ns\. Тогда существует тупиковая д. н. ф.
функции S, длина которой не меньше, чем s(l—B ln4re/re)).
Доказательство. Сокращенная д. н. ф. Dc (S)
функции S состоит из всех тех /с-мерных граней, которые целиком лежат
в Ns (см. § 2). Пусть а — произвольная вершина из Ns и пусть
М (д., D, (S)) — а-пучок в D,.(S), т. е. совокупность всех граней
из De (S), покрывающих вершину а. Далее, пусть W(S) —
множество вершин, покрываемых гранями этого пучка и w E.) =
= j(F(a)|.
а) Проверим, что если ||a||=i+/ @ ^ / <^ к), то
Разобьем переменные функции S на две группы: в первую
отнесем i-\-j переменных, значения которых в а равны 1, а во вторую —
п—(i-\-j) переменных, значения которых в а равны 0. Легко
видеть, что каждой грани К <=М (a, Dc (S)) соответствуют j
переменных из 1-й группы и к—/ переменных из 2-й группы, значения
которых внутри грани могут быть произвольными. Поэтому
множество И7(а) состоит из тех и только тех вершин, которые отличаются
от а не более, чем / координатами 1-й группы, и не более, чем к—j
координатами 2-й_группы. Очевидно, что при переходе от й к
некоторой вершине р е W E.) координаты 1-й группы можно изменять
j А-/
2jC(+. способами, а координатf.t 2-й группы 2 С„ <¦+¦> способами.
Отсюда и следует (Я).
120
3. МЕТРИЧЕСКИЕ СВОЙСТВА Д, Н. Ф.
б)При условии A)имеем: i-\-j^nlb,n— (i-h])^п/4 и потому
т. c.
и>(*)>-^-. CO
в) Подмножество 4CiVs назовем покрывающим, если |J И7 (а) =
= Ns. Проверим, что при условиях A), B) существует такое
покрывающее подмножество А, что
¦ . , ^ In2 п
И1<5 —• E)
Пусть В С ^Vs, Ь — число вершин в В и пусть т (В) — число
вершин множества 7Vs\ U W (&). Проверка основывается на оценке
т (Ь) — среднего значения т (В) по всем подмножествам В из b
элементов. Из смысла величины т (Ь) вытекает существование
подмножества В из Ъ элементов такого, что т (В) ^ т (Ь). Возьмем
в качестве А это подмножество В плюс все не покрытые им
вершины, так что
|Л|<6 + ^6). F)
Оценим т (Ь) и подберем значение Ъ.
Для вершин р е Ns и подмножества В положим
[ 1, если p$U W(&),
еф, В) = \ 5е*
{ О в противном случае.
Тогда
т{В) = У, еф, В)
в в ??NS $ei?s в
Замечая, что р $ W (а) тогда и только тогда, когда а $ И7 (р),
получаем
F) = "с* 2 С*_ю (р) ^ Т» sC«-""
О"!
ГЛ. II. ОЦЕНКИ МАКСИМАЛЬНЫХ ЗНАЧЕНИЙ
121
где w = inlawф). Итак,
^)<41-t)A-7^t)--A~F^Ft)<
(мы воспользовались тем, что l-f-*^6*)- Полагая
BкJк
Ъ =
2к In n —е— s
+ 1
и принимая во внимание D) и B), из F) получим оценку E).
г) По отношению к Л_ все вершины множества Ns разобьем
на два класса: вершину peiVs назовем внутренней, если
существует вершина aei такая, что расстояние d (а, р) ^ к—1,
и назовем ее граничной в противном случае. Пусть I — множество
внутренних вершин, G — множество граничных вершин.
Связывая с каждой вершиной из А шар радиуса к—1, найдем
Таким образом,
^И1-^)-
д) Построим и оценим соответствующее неприводимое
(тупиковое) покрытие множества Ns.
Из определения множеств А и G следует, что для любой
вершины р е G существует /с-мерная грань, проходящая через В и
некоторую вершину д. еА, причем d (а, р)=А. Для любой другой
вершины у из этой грани d (а, 7) «^ к—1, т. е. все остальные
вершины грани внутренние. Такие грани построим по одной для
каждой вершины 3 е G и назовем их граничными, а множество
вершин этих граней обозначим через / (/C7VA). Совокупность
граничных граней образует неприводимое покрытие множества /, так
как в каждой грани есть вершина (граничная вершина, по
которой строится грань), через которую проходит только эта грань.
Чтобы завершить построение, покроем каждую вершину из Ns\f
какой-либо /с-мерной гранью и из полученного покрытия множества
Ns удалим лишние грани до получения неприводимого покрытия
множества Ns.
Па этом шаге могут быть удалены некоторые из граничных
граней. Число таких граней не превосходит ITV^X/^''. В самом
деле, граничная грань может быть удалена лишь в том случае,
когда ее граничная вершина окажется покрытой другой гранью.
122
3. МКТРИЧЕСКИЕ СВОЙСТВА Д. Н. Ф.
Так как для покрытия множества NS\J требуется не более |iVV\/|
граней и каждая грань покрывает 2fc вершин, число граничных
вершин, покрываемых этими гранями, не более |7VS\/|2*. Далее,
iV-s\ / С / и потому | Na \ J | ^ 11 | ^ s\nan/n. Кроме того, в силу B)
2к <^ In п. В итоге число удаленных граничных граней не
превосходит sln4n/n.
Таким образом, число граней в построенном покрытии не
меньше
\ п и / \ п )
Доказательство теоремы состоит в построении
несвязной симметрической функции, все компоненты связности
которой представляют собой поисковые функции,
удовлетворяющие условиям леммы 3. Эта функция имеет вид
г а» |
1.4 (*+2)]
S* = V STД1+2), У(*+2)+*]>
где к-* со, когда га->оо. Нетрудно проверить, что
\N8, | = 2" (l-o(l)).
Тупиковая д. н. ф. DT (S*) функции S* получается
«суммированием» (см. п. 2) тупиковых д. н. ф. ее компонент связности.
Применяя лемму 3, находим
I (Д, (S*)) > I Nb. | A - о A)) = 2» A - о A)).
- Такая же оценка сверху для 1Т (п) получается почти тривиально.
Поскольку в любой тупиковой д. н. ф. DT (/) каждая конъюнкция
К входит в ядро д. н. ф. Dr (/) (см. раздел 2), конъюнкции К можно
сопоставить вершину а е N , которая покрывается только
конъюнкцией К. Поэтому
Z(Z?,(/))<|iV/|<2»
и
h (n) < 2".
4. Построение кратчайших д. н. ф. для поисковых функций.
Известно весьма немного фактов о связи функциональных свойств
со свойствами кратчайших д. н. ф. Нижеследующее построение
принадлежит С. В. Яблонскому.
Рассмотрим поисковую функцию S=S\'-n~'] (i <^ /г/2). У нее
«нижний» и «верхний» уровни пояса находятся на расстоянии i
соответственно от вершин @,. . ., 0) и A,. . ., 1). В каждую
конъюнкцию сокращенной д. н. ф. Dc (S) такой функции входит
одинаковое число переменных с отрицанием и без отрицания. Пусть а=
гл и оценки максимальных значений 123
= (<*!,. . ., <х,) — произвольная вершина г-го («нижнего») уровня,
М (a, De (S)) — S-пучок в De (S) (см. п. 3).
Теорема 7 (С. В. Яблонский*)). В каждом пучке
М (dt,De(S)), где ||й|| = г, можно указать такую конъюнкцию
К&, что д. н. ф. Z)K=V K& реализует функцию 5 =6,С*'"~'].
Доказательство. В каждом наборе элемент,
следующий за элементом /, будем обозначать через /". При этом будем
считать, что за последним элементом следует первый.
Каждой вершине Э. = (а1( .. ., ая) из Ns соноставим некоторую
последовательность v4 номеров координат следующим образом.
Пусть /г — наименьший номер в наборе v° = A, . . ., /г), при
котором a.jx — О, a.j[ = 1 (][ =/,-(- 1 или, если ]1 = п, то j[ = 1).
Вычеркнем из набора v° номера /: и ][ (этому соответствует
вычеркивание из набора а элементов а,, и а,') и полученный набор обозначим
через v1. Пусть /2 — наименьший номер в наборе v1, при котором
a.j,=0, a.j' = l. Вычеркнем из набора v1 номера /2 и j'2 и
полученный набор обозначим через v2 и т. д. Поскольку в а как число
нулей, так н число единиц не меньше г, мы заведомо сможем
сделать г таких шагов. Остановимся после г-го шага и выпишем
«набор вычеркнутых номеров» vi=z(jl, /]',...,/,., /',').
Каждой вершине а, у которой ||?|| = ?, сопоставим конъюнкцию
Ki = Xji . . . Xjtx .- . . . х.»_. Ясно, что а покрывается конъюнкцией
К-а п что 7is входит в Dc (S). Проверим, что д. н. ф. Dx = \/ Кг
[|5|И
реализует функцию S.
Каждой вершине й е Ns сопоставим вершину а* г-го уровня,
получающуюся нз а заменой нулями всех координат, номера
которых не вошли в va. Имеем vs* = vs. Это означает, что вершина 5.
покрывается конъюнкцией К-^.
Следствие. Д. и. ф. Du является кратчайшей, ее длина
равна С'п.
Доказательство. Каждая конъюнкция сокращенной
д. н. ф. Dc (S) покрывает только одну вершину г-го уровня.
Поэтому в любой д. н. ф. функции S число членов не меньше, чем
число вершин г-го уровня.
Замечание. Можно также доказать, что перестановками
переменных, среди которых никакие две не получаются друг из
друга циклическим сдвигом, можно получить (п—1)! различных
кратчайших д. н. ф. функции iSJ*• ™—0.
5. Свойство «быть кратчайшей д. н. ф.» не сохраняется даже
при весьма простых операциях над булевыми функциями, что
можно трактовать как свидетельство нетривиальности этого
свойства. Рассмотрим такую простую операцию как произведение двух
*) Публикуется впервые.
ш
3. МЕТРИЧЕСКИЕ СВОЙСТВА Д. Н. Ф.
функций g и га, но имеющих общих переменных. Функцию i=g<kh
назовем бесповторным произведением. Геометрически ей отвечает
декартово произведение Nf=NxNh. Оказывается, что
произведение кратчайших покрытий для N и Nh может не быть кратчайшим
покрытием для Nf.
Предложение 3 J15J. Пусть g{xv х2, х3, х4) = т1х2х.,\/
V ххт2х3 V *rV3 V -f\xi V Vi V хзх4 и пусть h (yv у2, уя, j/4) =
= 8(У1, \)v У^ Уд, f = gh. "Тогда lK (/)< lK (g) lx (h).
Доказательство. Положим К1 (x) = Тххгхг, K2(х) = ххх2х.л,
К3(х) = ххх2%3, Ki(x) = x1xi, К5(х) = х2х4, Ku(x)=Zzxi. Из рис. 4
5
Ш1} видно, что д. н. ф. D% (g) = V Кj (х)
является кратчайшей д. н. ф.
функции g (конъюнкции Кх, К2, К3 входят
в любую тупиковую д. н. ф., а на
покрытие остальных четырех вершин
требуется по меньшей мере две
конъюнкции из остальных трех). Точно
так же д. н. ф. Dx (га) = V Kj {у) яв-
ляется кратчайшей для функции га. Их
произведение д. н. ф. Z)K (g) Dx (га)
loJoO) (подразумевается, что сделано рас-
' ' ' , крытие скобок) содержит 25 членов.
Рис. 4. тт *
Покажем, что она не является крат-
чайшей. Пусть D' (g) = Кх (х) V
V К2 (?) V кз (х) и D" (g) = Ki (x) V Къ (х). Аналогично определим
D'(h) и D"(h). Нетрудно проверить, что д. н. ф. D'(g)D'(h)\/
\J D'{g) D" (га) V D" (g) D' (га) V V K. (x) KJ (ij) реализует ту же
функцию, что и д. н. ф. Dx(g)DK(h) и содержит только 24 члена.
6. Сравнение кратчайших и минимальных д. н. ф. В разделе
2 было показано, что кратчайшая д. н. ф. может не быть
минимальной и наоборот. Для данной функции / обозначим через V (/)
отношение наименьшей сложности кратчайшей д. н. ф. функции /
к сложности минимальной д. н. ф. функции /.
Теорема 8 118],
A — s) га/2 < V (п) < га/2,
где е -* 0 при п —*¦ со,
В [18] показано также, что при n^5 F (га)=1, а при га ^ 6
V (га) > 1. Наконец, в [18] установлено, что максимально
возможное отношение сложностей кратчайших д. н. ф. для функции /
тоже асимптотически равно ге/2.
Доказательства ввиду их сложности опускаем.
ГЛ. II. ОЦЕНКИ МАКСИМАЛЬНЫХ ЗНАЧЕНИИ
125
§ 5. Число тупиковых д. н. ф. и число кратчайших д. н. ф.
1. Оценка сверху для t(n) — максимального числа тупиковых
д. н. ф. и для q(n) — максимального числа кратчайших д. н. ф.
Как известно (см. раздел 2), число всевозможных конъюнкций,
которые можно записать, используя не более п переменных, равно
3". Число конъюнкций в тупиковой д. н. ф. для функции от га
переменных не превышает 2". Поэтому
2й
q (п) < t (ге)< 2 СУ = B2B)C''">
i=0
где с"п -»• log 3/2 при га -*• оо.
2. Нижняя оценка для t (n) и q(n). Первым результатом,
показавшим, что t (re) и q (re) растут с ростом га значительно быстрее,
чем 2" и /,, (га), была оценка снизу числа кратчайших д. н. ф. для
поясковой функции (§ 4, п. 4, замечание). Теперь обратимся
к примеру, показавшему, что t (га) и q (n) выражаются через п
трехступенчатой формулой.
Непосредственным следствием предложения 1 о
«суммировании» д. н. ф. (§ 4, п. 2) является
Предложение 4. Пусть / — несвязная функция с
компонентами связности /1;. . ., fk. Тогда
к к
*(/) = П *(/,). ?(/) = 2 ?(/,),
i=i i=i
где t (/) — число тупиковых д. н. ф. функции /, a q (/) — число ее
кратчайших д. н. ф.
Предложение 5 [13]. Пусть
/ (Xv . . ., Хп) = 03' (xv Х2> Хз) ^и-3 (а'4' • • •' хп>-
Тогда t(f) = B*n)b, </(/) = B2")в, где а и Ъ — константы, 0<а<
<Ь<\.
Доказательство. Функция Ля_ ) является
несвязной и состоит из 2"~4 компонент связности: Д, . . ., fk, k = 2n'i.
Функции Sl^fu . . ., S\-2fk будут компонентами связности функции
к
f — Sl'2An_3. Согласно предложению 4 ?(/)=Ц*(ЗД'2/<)» где
»=1
/« = 2"~4. Остается заметить, что для любого 1 = \, .. .,к t(Sl^f4) =
= t (S*.*) =5и? (Sl-%) = q EJ.«) = 2 (рис. 5).
Следствие. -Цй- = B2В)е, гдес = Ь — а>0.
9 1/) v
В заключение рассмотрим пример функции, у которой число
тупиковых д. н. ф. превосходит число функций в Р", т. е. 22*,
причем все тупиковые д. н. ф, являются кратчайшими.
126 3. МЕТРПЧЕСЫ1Е СВОЙСТВА Д. Н. Ф.
Пусть S^Ji н S\i^>J"i — ноясковыо функции от переменных
xv . . ., х}1_2, Ля_2 — линейная функция от тех же переменных.
Возьмем I — [п/2), / = [Зга/4] и положим
?.(*i. .-•.*„) = ^К-Л, V ^-л (А,.^ v ля_2х„).
Теорема 9.
где с'п—> 1/\/32-ге rapw га-»-оо.
Доказательство. Нетрудно проверить, что
где Z?cl, Z>e.M D& — сокращенные д. _н. ф. соответственно функций
Очевидно, что все конъюнкции из д. н. ф. Z)c2 и Dl3 входят в
ядро д. н. ф. Da (tp„), а значит, и во всякую тупиковую д. н. ф.
функции tp„ (см. раздел 2). Не покрытые ими вершины из N,in
принадлежат t-му уровню подкуба Е"~2, причем любая конъюнкция
из Dcl покрывает только одну из этих вершин. Число таких
(W)
Кратчайшие д.н.ф.:
про we тупикодые длф.:
//f* i73=/f?v/r2v/f^vA>,
V5=K2vK3v/<sv/<s.
(OJOft)
Рис. 5.
вершин ?,'_,, а число конъюнкций в Dcl, покрывающих одну л-акую
вершину, равно С{~*_г Поэтому
t Ы = ?(?„) = (C?Ltf-',
откуда при i=[n/2], /= [Зге/4] получаем утверждение теоремы
§ 6. Разброс
Разброс Y {f)=l At) I Kit) ih (/) —Длина самой длинной
тупиковой д. н. ф., а 1К (/) — длина кратчайшей д. н. ф. функции /)
характеризует различия в сложности тупиковых д. н. ф. булевой
функции /.
ГЛ. II. ОЦЕНКИ МАКСИМАЛЬНЫХ ЗНАЧЕНИЙ
127
1. Оценки сверху для Y (п) и Y(f).
Определение 8. Дизъюнкцию D элементарных
конъюнкций назовем тупиковой относительно элементарной конъюнкции К,
если D поглощает К (см. раздел 2), а дизъюнкция, получающаяся
из D при удалении любой конъюнкции, уже не поглощает К.
Лемма 4 [1]. Пусть D — произвольная дизъюнкция
конъюнкций из тупиковой д. н. ф. Дг1 функции /. Тогда в тупиковой
д. н. ф. Д2 функции f существует не более одной конъюнкции, от-
носителъно которой дизъюнкция D является тупиковой.
Доказательство. Допустим, что дизъюнкция D С Дг
является тупиковой относительно двух различных конъюнкций
К' и К" из д. н. ф. Д2. Так как К'^=К", то найдется такая
переменная х, что при некотором а (а=0, 1) К' содержит х'\ а К"
или содержит ха или не зависит от х. Тогда в силу тупиковости D
относительно К' никакая конъюнкция из D не содержит хг.
Отсюда следует, что конъюнкция K"xTl поглощается теми
конъюнкциями из D, которые не зависят от х. Очевидно, что эти
конъюнкции поглощают и К". Поэтому в силу тупиковости D относительно
К" никакая конъюнкция из D не содержит х\ т. е. D не зависит
от х. Но тогда конъюнкция, получающаяся из К' вычеркиванием
х'\ поглощается дизъюнкцией D С DTl, а это противоречит
существованию тупиковой д. н. ф. Д2, содержащей К'.
Теорема 10 [11.
Доказательство. Пусть D1 и D% — такие тупиковые
д. н. ф. функции / (жц. . ., xj, что Y (f)=l(D2)/l(Dj). По лемме 4
между множеством всех конъюнкций из D2 и некоторыми частями
д. н. ф. ?)х имеется взаимно однозначное соответствие; поэтому
I (Д) $.,21<-1''). Таким образом, Y(f)^21(D,)jl(Dl) и вместе с тем
Y (/) <^ 2"/l (ДО- Если I (Dx) ^ re, то в силу первого неравенства,
а если I (Д) > п, то в силу второго неравенства получим Y(j) <i
<^2"/п для произвольной функции / (хг,. . ., ж„).
Предложение 6 [1]. Для произвольной функции / имеем
Y (/) ^ 2D]m-f, причем равенство имеет место лишь для тех
функций /, у которых Dim /=0 (Dim / — максимальное значение
размерности грани в комплексе, отвечающем сокращенной д. н. ф.
D, (/) функции /).
Доказательство. Пусть Д и Д—две тупиковые д. н. ф.
функции /. Так как Z (Д)<| Л^К/(ZJJDim/ то /(Д)//(Д)<
<2Dim/. В частности, если Dim/>0, то H°iX|^/K
< I (Д) 2Dim /, откуда I (DJ/1 (Д) < 2Dim /. Вместе с тем очевидно,
что при Dim/ = 0, F (/) = 1 = 2D™/. Так как д. н. ф. D, и Д
произвольны, предложение доказано.
2. Оценка снизу для Y(n). Здесь мы ограничимся указанием
функции, имеющей разброс 2"A_е', где е -> 0 при п -> оо.
128
3. МЕТРИЧЕСКИЕ СВОЙСТВА Д. Н. Ф.
Положив тс° (ии. . ., и„)=Л,г (щ ,. . ., и„), определим яг при
г=1, 2,. . . как r-кратную суперпозицию функции
л (#, г/, z, w) — хгй> \/ жяц? \/ г/ггг> \/ г/.ги?
следующим образом:
тГ{щ, ..., ий) = -к(пг-1(и1, ..., ик), пг~Цик+1, ..., ип_2), u„_i> "«)-
где /с = [га/2]— 1. Определим ^„{щ, . . ., ип) как функцию яг(и1, ...
.. ., и„) при г = [A/2) log га].
Теорема 11 |1]. Y(ия) > 2"-^.
Доказательство опускаем. Ниже (§ 7) подробно рассмотрен
случай, когда разброс равен с", 1 < с < 2.
Отметим также, что оценку Y (/) ^ 2Dim f в общем случае
понизить нельзя. Будем называть последовательность функций
f„{xi,. . ., хп) асимптотической, если Y(/J ~ 2Dim f« при п->оэ.
Для весьма широкой совокупности «законов роста» величины
Dim/„ (как функции параметра п) в [1] построены
асимптотические функции. Именно, для любой числовой функции D(n),
О <С D (га) <Г /г, построена такая функция /я, что Dim /я — Z> (га)
и Г(/я)~2Ь»т/«.
3. Следует упомянуть результаты сравнения сложности
различных других д. н. ф. О сравнении сложности кратчайших д. н. ф.
уже сказано (см. § 4, п. 6). Максимальное значение отношения
длины сокращенной д. н. ф. Д (/) к длине д. н. ф. сумма тупиковых
D\^T (/) (а также к длине д. н. ф. сумма минимальных Z?UM (/))
равно 3"A~6), максимальное значение отношения длин д. н. ф.
Д. (/) и Д (/) тоже равно 3"а~в>, где е-»0 при га—»-со [16, 17J.
Оценки доказываются прямым построением соответствующих
функций посредством суперпозиций.
§ 7. Плотные функции
1. Функцию / (хг,. . ., xt) будем называть плотной, если ее
протяженность р (/) ^ 3, разброс Y (/) J> с" A < с < 2), число
тупиковых д. н. ф. t (/) ^ сс" и для локальных алгоритмов (см.
раздел 2) по окрестностям порядка не более р (/)—1
результативность (число удаляемых конъюнкций) 5(/)=0.
Плотные функции сочетают малую протяженность с
относительно большим числом граней в комплексе, отвечающем
сокращенной д. н. ф. Д (/), и богатством возможностей для выбора в нем весьма
разнообразных тупиковых покрытий. Последнее создается не за
счет протяженности, а за счет размерности объекта и в этом смысле
созвучно с явлением некомпактности ограниченных по норме
множеств в бесконечномерных нормированных пространствах.
Ниже мы рассмотрим плотную функцию \, а также определим
плотную функцию рл. В п. 2 установим некоторые предварительные
утверждения.
ГЛ. II. ОЦЕНКИ МАКСИМАЛЬНЫХ ЗНАЧЕНИЙ 129
2. Д. н. ф. для бесповторных произведений. Достаточно
очевидно следующее
Предложение 7. Если функция / является
бесповторным произведением~функций g и h, то А(/)—А(#) А№)-
С помощью предложения 7 легко показать, что в тех же
условиях справедливы следующие предложения.
Предложение 8. Протяженность удовлетворяет
равенству р (/)=max (p (g), p (h))*).
Предложение 9. Пусть D=Kx\/. . .У-^ч —
произвольная тупиковая д. н. ф. функции g и Dlt. . ., А — произвольные
(не обязательно различные) тупиковые д. н. ф. функции h. Тогда
K-J)^/. . ,\JKlDl — тупиковая д. н. ф. функции /.
Отсюда непосредственно вытекает
Предложение 10. Если А (ё) и А О1) — какие-либо
тупиковые д. н. ф. функций g и h, то А (#) А О1) — тупиковая
д. н. ф. функции /.
Следствие. Разброс Y (/) > Y (g) Y (ft).
Отметим, что предложения 7 и 10 являются частными случаями
теорем о «суперпозициях» сокращенных и тупиковых д. н. ф. (см.
[1. 2]).
Оценим число тупиковых д. н. ф. бесповторного произведения.
Исходя из предложения 9, легко установить
Предложение 11. Для бесповторного произведения
f=gh число тупиковых д. н. ф.
t(f)>(t(h)y,
где I — длина произвольной тупиковой д. н. ф. D функции g.
3. Плотная функция Хи [4]. Рассмотрим функцию 5 =
= 54[1'3] (х, у, z, w). Она равна 1 в вершинах куба 2?4, отличных от
@, 0, 0, 0) и A, 1, 1, 1). Сокращенная д. н. ф. DU(S) имеет длину
I (Dc (S)) = 12. Д. н. ф. ?>1С = %у\/ yz\J zw W wx является
кратчайшей для S, д. н. ф. DT = wx\/ wy V wz V wx \j wy \J wz является
тупиковой для S, I (A) = i, I (A) = 6, У (S) ^ 3/2. Число тупиковых
д. н. ф. t (S) = 58 (только из А И А заменой переменных можно
получить 10 тупиковых д. н. ф: 6 из Д, и 4 из А)-
Протяженность р (S) = 2.
Будем считать для простоты, что п—4.к, /с=1, 2,. . .
Переменные х1,. . ., хи разобьем на к групп^по четыре переменных в каждой;
#11; #12J 3-13> #14» • • •» #41! #д.2> #А,3» Xki'
Определим булеву функцию
к
К (-Т1> • • •' #„) = &- S (Хп, Xti, Xi3, Xti).
i = l
*) Доказательство основано на общеизвестном свойстве короля на
шахматной доске: если из клетки к в клетку к' можно пройти королем, сделав
сначала р шагов по вертикали, а затем р шагов по горизонтали, то из it в к'
можно пройти за р шагов «по диагонали».
9 Дискретная математика, т. I
130
3. МЕТРИЧЕСКИЕ СВОЙСТВА Д. Н. Ф.
Проверим, что она является плотной. Указанное произведение
является бесповторным, и к нему применимы утверждения п. 2
с учетом свойств функции S.
а) Протяженность р(\)—2 (это следует из
предложения 8).
б) Разброс Y (XJ > 2й'8 (согласно следствию из
предложения 10).
в) Число тупиковых д. н. ф. t (XJ > 22"/8 (это следует из пред-
к-1
ложения 11 при g= & S(xn, xi2, x.s, xit), h = S(xkl, xk2, xk3, xki),
<=1
D=%1Dr(S(x.l, xa, xi3, xa)), l=Qk-i=b~f~\ *(A)>10).
i—i
г) Для любого локального алгоритма А результативность
8A(XJ=0 (это следует из совпадения д. н. ф. сумма мшшмчльных
DVK (XJ с сокращенной д. н. ф. Dc(\n); совпадение имеет место
по свойству симметрических функций—см. § 2, п. 5), сохраняемому
при бесповторном произведении).
Отметим еще одно свойство плотной функции Хя:
д) Тупиковые д. н. ф., относительная длина которых
превосходит 2"", где с — любая константа между 0 и 1/8, составляют «почти
все» тупиковые д. н. ф. функции \.
4. Плотная функция jtn [4]. Положим
V-n (ЖИ • • •> Хп) = n«-i (Ж1> ¦¦¦' X,.-i) & " (Ж«-3> • • •' Хп)<
где функции те взяты из § 6 п. 2. Тогда
а) Протяженность p([ij = 3.
б) Разброс y(jj.„) = 2»(i-»(i)).
в) Число тупиковых д. н. ф. t (fj.J > 22" A~'> .
г) 8^ (jxj = 0 для локальных алгоритмов Л над окрестностями
порядка 1 и 2.
Доказательства опускаем.
. Глава III. ОЦЕНКИ ТИПИЧНЫХ ЗНАЧЕНИЙ
В этой главе величины, связанные с задачей построения
кратчайших д. н. ф., оцениваются для почти всех функций алгебры
логики.
Для вывода оценок будут необходимы некоторые сведения о
строении множества Nf «типичной» функции алгебры логики. Цель
первого вспомогательного параграфа — получение этих сведений.
Оно происходит следующим образом: вначале подсчитывается
среднее значение интересующего нас параметра, а затем показывается,
что у большинства функций величина этого параметра близка
к среднему значению.
ГЛ. III. ОЦЕНКИ ТИПИЧНЫХ ЗНАЧЕНИЙ
131
§ 8. Вспомогательные результаты
1. Пусть на множестве {/,.} A ^ i ^ 22") всех функций
алгебры логики от п переменных хи. . ., хп задан некоторый
неотрицательный параметр % (/). Рассмотрим его среднее значение
Х(") — ~$р 2) X (/.¦)• Справедлива следующая простая
<=1
Лемма 5. Доля функций f алгебры логики от п переменных,
{
для которых x(/)s^ — Х(и)> не превосходите..
2. Среднее число к -мерных граней: допустимых,
максимальных, ядровых. Пусть {Kj} A ^ / ^ Ск2*~к) — совокупность всех
fc-мерных граней куба Е", и f(xv...,xn) — некоторая функция
алгебры логики. Введем обозначения: 1к (/) — число допустимых А-мер-
ных граней функции /, т. е. граней Kj С Nf, lk (/) — число
максимальных/с-мерных граней функции/,/* (/)— число ядровых (т. е.
входящих в ядро д. н. ф. D0 (/)) ^-мерных граней функции /, lk (n),
lk (/г), lk (п) — средние значения этих величин.
Лемма 6 [6,27].
— pkon-k
СИ"-* ( . 1 \«-k
Ck2n-k
2*" V 22*
Доказательство. Пусть
рИ К \ — 11> есЛИ KJ^Nf*>
Uо л^-|0, если KjQNfi.
Аналогично положим "ев(Д., Kj) (ея(Д, Kj)) равным 1, если Kj—
максимальная (ядровая) грань функции /(, и равным 0 в
противном случае. Тогда
22" 22" Ck-ln~k C*2n-k 22* Ck2"~k
2 **(/,) =2 2 «(/„*,) = 2 2«(/„ Kj)= 2 Ф(^)-.
1=1 «=i j=i i=i i=i y=i
Таким образом, для подсчета lk (п) нужно найти Ф (Kj) — число-
функций f., у которых данная грань К содержится в
множестве Nf(. Точно так же для подсчета lk(n) и lk(n) нужно найти
величины Ф0(Kj) — число функций, для которых К. —
максимальная грань, и Фя (Kj) — число функций, для которых К . — ядровая
9*
132
3. МЕТРИЧЕСКИЕ СВОЙСТВА Д. Н. Ф.
грань. Найдем эти величины для грани К = NXl ...ж„_* — сам
способ их вычисления покажет, что каждое из этих чисел одно и
то же для всех ft-мерных граней.
Рассмотрим разложение
f(xv..., ж„) = xlX, . .. хп_к<?0 (хп_к+1, ..., хк) \/
V Х& . . . хп_к^ (xh_k+1, ..., хп) V х& .. . x„_kv.2 (a;_ft+1 хК) V • • -
• • • V Х1Х2 • • • Xn-kfn-k \Xn-k+V " • •' Хп> V XV?2. ¦ • • Xii-k®>i-k+l \Xn-ki-l' • • •
¦ • м Хп) V • • • V ХхЧ ¦ ¦ ¦ -^Л"-*-! CVu+l' • • - *„)• 0)
Для того чтобы грань К содержалась в N , необходимо и
достаточно, чтобы <р принимала значение 1 во всех точках грани,
т. е., чтобы 9о(жя-л+1' • • •> •*¦«) = ^- Так как остальные
коэффициенты <р< могут быть выбраны произвольно,
Грань К является максимальной для а> в том и только том
случае, когда <р0(а;я_д.+1, ...,#„) = 1, а каждая из функций
fi (xn-k+v ¦••.^)#1, i = 1, 2 п — к. Подсчитывая число
разложений, удовлетворяющих указанному условию, находим
фс (#) _ B2*1 _ \y-h (fkf"~k -(»-" + *>.
Покажем, что для того, чтобы грань К была ядровой,
необходимо и достаточно, чтобы <р0(х„,к+1, . .., х„) = 1 и чтобы нашелся
набор (<v*+i. ..., «„) такой, что ?1 (<х„_А+1, .. ., яй) = ср2 (<xB_fc+1 ал) =
= ••• = ?_*K-fc+i' .•.,<*„) = 0.
Действительно, грань, содержащаяся в iV , является ядровой
в том и только том случае, когда она содержит точку, не
покрываемую никакой другой максимальной гранью. Если наше условие
выполнено, то такой точкой для К является точка A, . .., 1, «я_Л+1, ...
.. ., ая). Обратно, если ср0 (xn-ic+i> • • •> ж«) = 1> но Для всякого набора
К-*+1-•• "О найдется такое гA ^ i <> — к), что <р,. (<*„_*+,, . ..
..., <хи) = 1, то точка A, . .., 1, ая_й+1, . . ., a J e К будет покрываться
ребром Nx a k „, и, следовательно, некоторой
максимальной гранью, содержащей это ребро (она отлична от К,
так как содержит точку, не принадлежащую К). Таким образом,
в этом случае каждая точка грани К покрывается некоторой
максимальной гранью, отличной от К, т. е. грань К не ядровая.
Число систем из п — к функций от к переменных,
обращающихся в 0 на одном и том же наборе, равно BВ_*J*— B"~к — IJ*
(следует подсчитать число систем, не обладающих данным
свойством, и вычесть его из общего числа). Отсюда
Фя (К) = B(я-*>2* _ B-* - IJ*) B2*J "~к - (n-ft+1>.
ГЛ. III ОЦЕНКИ ТИПИЧНЫХ ЗНАЧЕНИЙ
133
Через найденные значения Ф, Фс и Фя вычисляем lk (n), 1к (п)
и 1к (п). Лемма доказана.
Следствие [11]. Для почти всех функций алгебры логики
от п переменных размерность максимальных граней не превышает
/с, = [log п]-1-1.
В самом деле, согласно лемме 5 доля функций / алгебры ло-
1
гики от п переменных, для которых lk (/) <i — lk (га), не меньше 1 — г.
Подставляя lk{n) (или даже lk(n)) из леммы 6, находим, что
правая часть этого неравенства при k ^ [log n] -f- 2 и е=1/га
стремится к 0, когда га—*со, т. е. почти все функции / не содержат
граней размерности [log га]-f-2 в множестве N..
3. Число допустимых fc-мерных граней для почти всех функций.
Пусть рт(п, к)— число функций / от п переменных, для
которых 1к (/) = т. Тогда 1к (га) можно рассматривать как
математическое ожидание случайной величины \п к, принимающей значение
т@^т^С\2п~к) с вероятностью рт(п, &)/22". Итак,
Найдем дисперсию D?„_ k этой случайной величины.
Лемма 7.
ОК,к = ^г%С1СкпЛ2-'B*г -1).
Доказательство. Как известно,
оея. *=mss.* — (мг„.»)«.
Чтобы найти Mil,к, рассмотрим величину
' [ U в противном случае.
Тогда
22" 22" Ск'>п~к Ск2п~к
Qk^n-k 22я Ck-il~k
=?• 2 2е(/- *¦• K*=h 2 ф^«. **>•
8, t=l 1=1 8, <=1
*) е(/<, /Г„ *,)=«(/„ K.)e{ft, Kt).
134 3. МЕТРИЧЕСКИЕ СВОЙСТВА Д. Н. Ф.
где Ф (Ks, Kt) — число таких функций f0 что Kt С N/{ и^(С Nfi.
Если пересечение граней Кг и Kt есть r-мерная грань @ ^ г ^ к), то
Ф(К„ К{) = Фг = ?п-^г
(на множестве вершин Kt \J Kt функция f{ должна равняться
единице, в остальных точках произвольна). Если грани не
пересекаются, то
<*(*.,*,) = *>„ = 2"^.
Найдем число пар (Kg, Kt) таких, что их пересечение есть
грань размерности г. Если Kg = N ffl <,n_k, то Kt имеет вид
Н '" <п-к
N т -c„_k, где среди букв жУ1, . . ., xj„_k к — г букв отличны от
% 2 • • • & А -I
Jl J"-k л, ,
букв ж,-,, ••-, xin_k, а остальные п — 2л-\-г совпадают с
некоторыми из букв х,^, .. ., xin_k и берутся в тех же степенях.
Отсюда ясно, что для каждой грани Kg грань Kt можно выбрать
Cl-r2k-rCt-k+r способами, а общее число пар равно Ck2n'kCrk2k-rCkZk.
Имеем далее
сЪъп~к к
1
», *=1
4 2 ф(^' К*)=^с«2п-псглк-гс«-№г+
+~ ((ска2»-кг - 2 с*2--*да-'ет) ф0 =
92*'
Отсюда находим D?„ k. Лемма доказана.
Применим теперь к ?и к неравенство Чебышева
По определению величины ?„ к вероятность в левой части
неравенства равна доле функций /, для которых | /* (/) — Vе (п) | J> t.
Так как
^, = ^tCkC-k2~rvir- 1)<|&feH2^-<
^ С*2* 92*_*rt __ (С*)» 2-*
^ * /"* i /"-* D?„ i
при t = — t„ I/ —— имеем —-^—<.s<\ 1ем самым доказана
ГЛ. III. ОЦЕНКИ ТИПИЧНЫХ ЗНАЧЕНИЙ
135
Теорема 12 [6 ]. Доля функций f алгебры логики от п
переменных, для которых число 1(f) k-мерных граней в множестве Nf
заключено в пределах
«(?--^v^)«"<»<«(?+yf).
не меньше 1 — е2.
Следствие. Для почти всех функций / алгебры логики от
п переменных
2»-i_п2ф<| Nf |<2'1 + п2я1г
(полагаем к~0 и s=l/n).
4. Число регулярных точек для почти всех функций.
Вершину а е Nf будем называть регулярной точкой функции /,
если существует другая вершина 3 е Nf такая, что любая
максимальная грань функции /, проходящая через 3, проходит и через а.
Вершину ,3 будем называть порождающей регулярную точку а.
Заметим, что для всякой конъюнкции К из сокращенной д. н. ф.
D,. (/) точки, регулярные относительно (К, Dc (/)) (см. раздел 2),
будут и просто регулярны.
Пусть R (/) — число регулярных точек функции /.
Лемма 8 [6]. Для почти всех функций f алгебры логики от п
переменных
«(/)'< с", с<2.
Доказательство. Оценим сверху величину R(п) — среднее
значение R(f) для функций от п переменных. Пусть [а .) A ^/ ^ 2й) —
множество вершин куба Е", Ч (S.J) —число фупкций, для которых ау
является регулярной точкой. Тогда
1=1 j=i
Так как свойство точки «быть регулярной» инвариантно
относительно инверсии любых переменных, можно ограничиться
подсчетом W(l), где I означает вершину A, 1, . . ., 1). Пусть Ф>A)
означает число функций, у которых I — регулярная точка, порождаемая
вершиной р. В силу инвариантности этого свойства относительно
перестановки переменных ЩA) будет одним и тем же для всех
точек р, отстоящих от I на расстоянии к A ^ к ^ п). Обозначим
это число через 4^A). Тогда
f(i)<i^4Mi).
fc=i
„ Оценим Фк A), выбрав в качестве порождающей точки вершину
Р = A, ..., 1, 0, ..., 0). Рассмотрим разложение A). Если всякая
136 3. МЕТРИЧЕСКИЕ СВОЙСТВА Д. И. Ф.
максимальная грань функции ер, проходящая через 3eN
проходит и через 1, то <?0{хк_к+1, ..., жв)== 1, а коэффициенты ?,, . . ., jjvft
удовлетворяют следующему условию: если »,.(О, ..., 0) = 1, то
«Р<(«»-*+i. •¦•• хя) = 1, t = \, 2, ..., п — к.
В самом деле, если ^@, ..., 0) = 1, то
Ребро Nx1...xi_^i+l...x„_kxn^+l...x„ входит в некоторую
максимальную грань К, а так как К должна проходить через 1, то
т. е. Nxl...xi_lxixi+l...x„_k{ZNv, следовательно,
Подсчитывая число функций, у которых разложение A)
удовлетворяет указанному условию, получим
Wk (!) ^ A + 2*к-Тк B2fcJB"fc-(n - h +!>.
Откуда следует:
п
. 9К ~ -«""I , f 9 \ к—А: 9&
<*(тГ+?DГ+|«('+^ '
При А>3
1 -I- -?- <" 1 4- — ^ ^-L
Поэтому последняя сумма не превосходит
Таким образом,
Д^<т(тГ1A+оA))-
Пусть 3/2 < с < 2. Используя лемму 5 при s = l/n, получаем
наше утверждение.
5. Оценка сложности покрытия конечного множества его
подмножествами.
Лемма 9. Пусть N — произвольное конечное множество и
D = {K1, . . ., Kt} — такая совокупность его подмножеств, что
каждый элемент ol&N принадлежит не менее чем ~{1 подмноже-
Г Л III. ОЦЕНКИ ТИПИЧНЫХ ЗНАЧЕНИЙ
137
ствам из D. Тогда существует покрытие множества N
подмножествами из D, содержащее не более
1Aп(т|ЛГ|)+1) + 1
подмножеств.
Доказательство. Рассмотрим матрицу, в которой
каждому элементу а. е N соответствует строка, а каждому
подмножеству К A ^ j <^_ I) — столбец, причем если аеК, то
на пересечении соответствующих строки и столбца стоит 1, а если
а. <± К , то стоит 0. Задача состоит в том, чтобы выбрать столбцы
(в указанном выше количестве), которые «покрывают» все строки
(т. е. для каждой строки среди выбранных столбцов есть такой,
который содержит в этой строке 1).
Будем выбирать столбцы по одному с таким расчетом, чтобы
очередной выбираемый столбец покрывал наибольшее число еще
не покрытых строк. Обозначим число строк, не покрытых первыми
т выбранными столбцами, через §m\N\ (ясно, что д0==1). Тогда
после вычеркивания из матрицы первых т выбранных столбцов
и всех покрытых ими строк матрица будет содержать еще не менее
%m\N\-\l единиц. Поэтому очередной выбираемый столбец будет
содержать в этой матрице не менее bm\N\^ единиц. Отсюда следует,
что
^\N\^JN\-K\N\b
т. е.
3m+i<3mA— T)
и, таким образом,
При любом т можно прервать процесс построения покрытия,
а число входящих в него подмножеств оценить сверху следующей
величиной:
т + Sm I N К т + (I — Г ГI N К т + е"''" | N |.
Полагая т =, — In (у [ N |) |-j- 1, убеждаемся в справедливости
L i j
леммы.
§ 9. Длина сокращенной д. н. ф.
п I и
Так как /с(/) = 2 ^' (/)> т0 средняя длина 1а(п) = 2 Ч\{п)- Мы
покажем, что для почти всех функций число конъюнкций в
сокращенной д. н. ф. близко к 1е(п)- Здесь в принципе возможен
138
3. МЕТРИЧЕСКИЕ СВОЙСТВА Д. Н. Ф.
тот же путь, что и при доказательстве теоремы 12. Но выражения
для дисперсии соответствующей случайной величины громоздки
и неудобны для оценок. Поэтому лучше действовать иначе.
Теорема 13 [6]. Для почти всех функций f алгебры логики
от га переменных число 1С (/) конъюнкций в сокращенной д. н. ф~
находится в пределах
n(l-0 log log n2« <C^ le (J) <?^ ra(l+8») log log n 2"t
lim 8д = lim 8^' = 0.
Доказательство. Верхняя оценка. Найдем, при
каком к значение Z* (п) максимально. Так как при достаточно
больших п отношение
i* (л) 2(Л- + 1)B**-1)
больше единицы при к ^ log log n — 1 и меньше единицы при
к ^ log log п, то максимум Z* (п) достигается либо при к2 = [log log га]
либо при Ag-f-1. Следовательно,
Ш = 2Ш<(" + 1) max ]*ДО<
< (п Д-1) -^—= ( 1 г-г I ' = «11<-!я) ,og 1оёп2".
Применяя лемму 5 при е = 1/га, получаем: для почти всех функций
h (/) < пЦп) = га<1+8«) !°е »«* - 2"; lim 8^ = 0.
Нижняя оценка. Будем рассматривать функции,
у которых размерность максимальных граней не превосходит
к1= [log ra]+l. В силу следствия из леммы 6 доля остальных
функций стремится к 0 при га -> со. Среди выбранных функций
рассмотрим те, которые содержат не менее
/2,-*, /' 2"-*' \
т = С^\ —г и 1 / —г—
" \ 22*» у 22к' J
граней размерности к2 в множестве N.. По теореме 12 доля
остальных функций стремится к 0 при п —*• оо.
Каждая максимальная грань любой из рассматриваемых функций
имеет размерность не выше кг и поэтому содержит не более Cj.*2 ''""*
&2-мерных граней (в ^-мерном кубе Ск\2 '~'2 &2-мерных граней).
Таким образом, у почти всех функций число максимальных граней
не меньше т/с?2*,-*'==пA-^) >°*i<*»2\ lim 8^ = 0.
ГЛ. III. ОЦЕНКИ ТИПИЧНЫХ ЗНАЧЕНИЙ
139
§ 10. Результативность некоторых локальных алгоритмов
Лемма 10 [6]. Для почти всех функций f алгебры логики от п
переменных число 1„ (/) ядровых граней удовлетворяет неравенству
lAf)^;niu',n)loglogn> Нтук = 0.
Доказательство. Оценим сверху 1\(п) и выражение,
которое получится, обозначим через bk:
LAn)^ 22fc [l [>¦ 2*-fc)j— 22fc ~ "¦
Взяв отношение
frft+i _{n — k)-2
h (fc-)_lJ2fc,
убеждаемся, что оно больше единицы при k ^ log log п—1 и
меньше единицы при к ^ log log п. Поэтому максимум Ък
достигается либо при &2=[log log n] либо при к\-\-1. Следовательно,
п п
Ш=^Ш<У,Ьк^(п+1) max6fc<(ra+l)C%'l'+1.
Используя лемму 5 при е = 1/п, получаем наше утверждение.
То обстоятельство, что почти всегда ядровых граней
сравнительно мало, позволяет оценить эффект применения к
сокращенной д. н. ф. упрощения Квайна (см. раздел 2).
Теорема 14 [6]. Для почти всех функций f алгебры логики
длина д. н. ф. Квайна
Доказательство. Будем рассматривать функции, на
которые распространяются следствие из леммы 6, лемма 10 и
теорема 13. Очевидно, что доля остальных функций стремится
к 0 при п -*¦ оо.
Так как размерность граней у рассматриваемых функций не
превосходит кг, то у каждой функции / число точек,
принадлежащих ядровым граням, не больше 1„ (/) 2*1. Далее, через кажд\ю
точку проходит не более 2j C\ граней, размерность которых не
к=0
превосходит kv Чтобы оценить теперь число граней,
покрываемых ядровыми, заметим, что оно не больше числа граней,
содержащих хотя бы одну точку, принадлежащую ядровой грани, а это
число в свою очередь не превосходит
к
К U) 2*' 2 С* < п^п)logiog»2*. (fcj -|_ 1) n*i = о (la (/)).
fc=0
140
3. МЕТРИЧЕСКИЕ СВОЙСТВА Д. Н. Ф.
Теорема 15 [6]. Для почти всех функций / алгебры логики
длина д. н. ф. сумма тупиковых
*(Ajx (/))-/,(/).
Доказательство. В разделе 2 показано, что для того,
чтобы конъюнкция К из д. н. ф. DL (/) не входила в д. н. ф. DVT (/),
необходимо и достаточно, чтобы каждая вершина соответствующей
грани была регулярной относительно (К, D (/)).
Подобно тому как при доказательстве теоремы 14, заключаем,
что для функций, у которых размерность максимальных граней
не превосходит кх, число максимальных граней, содержащих
хотя бы одну регулярную точку, не больше R (/) 2 С'п- Утвержде-
ние теоремы вытекает теперь из того, что для почти всех функций
справедливы следствие из леммы 6 и неравенства леммы 8 и
теоремы 13.
§ И. Длина кратчайшей д.н.ф.
1. Нижняя оценка. Первая оценка снизу для lh (/) — длины
кратчайшей д. н. ф. функции / для почти всех функций от п
переменных:
была получена в [13], как следствие того факта, что почти все
функции обращаются в единицу примерно в 2"'1 точках, а их
максимальные грани имеют размерность не выше [log га]+1,
т. е. содержат не более 2га точек. Приводимая ниже оценка
получается сходными рассуждениями. Оказывается, что основной
вклад в покрытие множества N, вносят грани, размерность
которых близка к log log re.
Обозначим через l*+(f) число максимальных граней функции /,
размерность которых превосходит к, и через hk (/) — число точек,
покрываемых этими гранями.
Лемма 11. Пусть кг = log {A -j- e) log n log log га), где s>0.
Тогда для почти всех функций f алгебры логики от п переменных
l^(f) = oB"),
й*'(/) = оB").
Доказательство. Будем рассматривать функции, у которых
размерность максимальных граней не превосходит k1 = [logn]-j- 1
и I* (/) <^ nl\ (га) при k^.kv В силу леммы 5 доля функций, не
ГЛ. III. ОЦЕНКИ ТИПИЧНЫХ ЗНАЧЕНИЙ
141
fcj + 1
удовлетворяющих второму условию, не превосходит -^— и,
следовательно, стремится к 0 при п -*¦ оэ. Имеем
hk4f)< 2 ^(/Jfc< 2 «Ш*<
С*2" ^0»„ , ,ч "fc+1
< 2 "^<2'<".+1>,.5й,
Отсюда с учетом того, что nfc+1/22 — убывающая функция от & при
к Z> log log n -j- 1 и (log и-j-2) rcfrs+1/22fc* = o(l), вытекает
утверждение леммы относительно h e(/). Утверждение леммы относительно
'сЕ+ (/) слеДУет пз того, что
Замечание. Лемма 11 в сочетании с теоремой 13
показывает, что для почти всех функций грани размерности, большей
log log rc+log (A+е) log log n), составляют лишь малую часть
сокращенной д. н. ф. Если рассмотреть величину /*"(/) — число
максимальных граней функции / размерности меньшей к, то из
лемм 5 и 6 будет вытекать, что при &3=log log n—1 для почти
всех функций 11^~ (/)=о B"). Таким образом, для почти всех
функций сокращенная д. н. ф. состоит «в основном» из граней,
размерность которых близка к log log n и они же играют главную роль
в покрытии Nf.
Теорема 16 [6]. Для почти всех функций f алгебры логики
от п переменных длина lK(f) кратчайшей д. н. ф. удовлетворяет
неравенству
,u,/ Log n log log n ' "
Доказательство. Будем рассматривать функции /,
на которые распространяются лемма 11 и следствие из теоремы 12.
Очевидно, что доля остальных функций стремится к 0 при п -> со.
У рассматриваемых функций / в множестве N, имеется
подмножество, содержащее не менее чем 2"~1—n2"l-~h'i(f)=2n~1 A—о A))
точек, которое должно покрываться гранями размерности,
меньшей ке. Следовательно, любое покрытие состоит не менее чем из
2"-i(l —o(l)) __ 2"-i(l-8.)
2*1 log n log log n
граней, lim 8к = 0.
2. Верхняя оценка. Для получения верхней оценки в
множестве Nf выделяется подмножество 7V' состоящее из тех
вершин а, для которых
lW>ll*V), B)
142 3. МЕТРИЧЕСКИЕ СВОЙСТВА Д. Н. Ф.
где Z* (/) — число допустимых А'-мерных граней функции /,
содержащих а (параметры к = к(п) а у = у(га) предстоит еще выбрать).
Подмножество N'. будет покрыто ^-мерными гранями в соответствии
с леммой 9, а в «сравнительно небольшом» подмножестве N*\Nf
каждая вершина будет покрыта своей гранью.
Прежде всего найдем /| (п) — среднее значение I* (/) на
множестве {<{>,.} A<^^22" — *) функций алгебры логики от п
переменных, для которых 3.eNq,(. Пусть {Hj} A^/^С*) —
совокупность ^-мерных граней, содержащих а, и Ф5 (Я •)—число функций ty{,
для которых Я, С/Уфг Так-же, как при доказательстве леммы R,
находим
2 ш (ь) = 2 ф* (hj)=Ск»22П-"к
2
,2"-1
«W = -5fer2/*(*')=^r-
Пусть 5Я> fc> а — случайная величина, принимающая значение те
с вероятностью рт(п, к, а)/22В_1, где рт(п, к, а.) — число функций
f от п переменных, для которых ae.Nf и l?(f) = m. Тогда
Подсчитаем D?„, ь, s — дисперсию этой случайной величины. Пусть
Ф5 (Я,, Ht) — число таких функций <|к, что Я, С Л^, нЯ,С Л^,.
Так же, как при доказательстве леммы 7, находим
__ * N? Г*Гг Г*-'-92в-2*+1+2'" —г-2 ^ Гг СЬ^гО-Р
г=0
Полагая
&4 = [log log n -j- log log log и],
убеждаемся, что при & ^ &4 главным членом в последней сумме
является нулевой, а каждый из остальных мал по
сравнению с первым (при оценке удобно рассмотреть три случая:
ГЛ. III. ОЦЕНКИ ТИПИЧНЫХ ЗНАЧЕНИЙ 143
г < log log n—1, log log га—1 ^ г <! /с4—1 и г=&4). Поэтому если
/с г^ /с4 и га достаточно велико, то
2 с1с.'-12" < 2с;ц+4i=c« < 2Cj (i + 2?),
9А-3
D6». *, s = М65.*. а - (ME,. *, аJ < (Мб.. *. аJ -^.
Применяя неравенство Чебышева, находим, что при А;^А4 среди
функций /, для которых а е N„ доля тех, что удовлетворяет
соотношению
iW—?r
не превосходит 2&5/га (при достаточно больших га). Следовательно,
число таких функций не превосходит
2AS 2я-1 №_ 22"
Обозначим через mfc (/) число вершин а е TV для которых
выполнено соотношение C).
Лемма 12. Если к ^ &4,то Зля почти всех функций / алгебры
логики от п переменных
™ (/)<-т^.
Доказательство. Оценим сверху среднее значение тк(га).
Пусть Фк(а) — число функций Д. A ^ г^22"), для которых йе N/{
и выполнено соотношение C). Тогда
•2-
2-*(/.-)=2ф^<2я-т22В
1=1 a e я"
.2"
OO^S^^*.
Отсюда, полагая в лемме 5 е = l/\/ra~, получаем наше утверждение.
144
3. МЕТРИЧЕСКИЕ СВОЙСТВА Д. Н. Ф.
Теорема 17 [24]. Для почти всех функций f алгебры логики
от п переменных длина 1К (/) кратчайшей д. н. ф. удовлетворяет
неравенству
2"
h (/) < logra •
Доказательство. Положим k=kt и будем
рассматривать функции /, на которые распространяются теорема 12 при
fc=fc4 и е = 1/ге, следствие из нее и лемма 12 при /с=А;4. Очевидно,
что доля остальных функций стремится к 0 при п -* со. Выберем
у так, чтобы для любой из рассматриваемых функций / все вершины
а е N,, которые не удовлетворяют C), вошли в Nf, т. е. чтобы
для них выполнялось B). Очевидно, что достаточно взять (см.
соотношение C) и теорему 12)
/ 1\ Ck* I i 2"~к< / 2"~к* \
Тогда
^ log п log log п
Т =й 2~п '
I^KI^/K2".
|*,\*;к^с/)=°(т?г)-
Покрывая множество N'f &4-мерными гранями в соответствии с
леммой 9 и учитывая, что для покрытия множества Лг^\ N'* требуется
не более |ZV.\AT'| граней, получаем утверждение теоремы.
Ценой небольшого усложнения леммы 9 теорема 17 может
быть распространена на метод наискорейшего спуска (см. раздел 2),
т. е. тем же способом можно доказать, что этот метод для почти
всех функций алгебры логики от п перелшнных дает д. н. ф. длины
не более 271og п.
§ 12. Число тупиковых д. н. ф.
1. Верхняя оценка.
Теорема 18 [6]. У почти всех функций f алгебры логики
от п переменных число t (/) тупиковых д. н. ф. удовлетворяет
неравенству
t{f)^-T^°snl0Slos\ iim«; = o.
Доказательство. Будем рассматривать функции, на
которые распространяются следствие из теоремы 12 и теорема 13.
Пользуясь очевидным неравенством
l-v/l
н/)<2 «'„ел
[•=0
ГЛ. III ОЦЕНКИ ТИПИЧНЫХ ЗНАЧЕНИЙ
145
и соотношением
log Crt ~ г log у,
справедливым при rls -> 0 (и без труда выводимым с помощью
формулы Стирлпнга), получаем утверждение теоремы.
2. Нижняя оценка.
Теорема 19 [23]. Почти все функции алгебры логики от п
переменных имеют не менее
Моя-Ы 1-4) log п 1 og log и
тупиковых д. н. ф., длина которых не меньше чем
A-8J2-1,
lim§B = lim e^ = 0.
Теоремы 18 и 19 вместе дают асимптотику логарифма числа
тупиковых д. н. ф. для почти всех функций / алгебры логики от
п переменных:
log t (/) ~ 2"'1 log n log log n.
В теореме 19 важным является и утверждение о длинах. Из него
следует, что для почти всех функций / алгебры логики от п
переменных
Таким образом, у большинства функций длина тупиковой
д. н. ф. может оказаться асимптотически такой же, как длина
совершенной д. н. ф., и построение тупиковой д. н. ф. фактически
не даст упрощения. Более того, как показывает следующее
следствие, подавляющая часть тупиковых д. н. ф. у почти всех функций
нмеет примерно такую длину.
Следствие 1. Пусть t'~(j) — число тупиковых д. н. ф.
функции /, длина которых не превосходит I. Тогда если 1=с2"~1,
где с — константа, меньшая 1, тп для почти всех функций f
алгебры логики от п переменных
tl-(f) = o(t(f)).
Доказательство следствия совершенно аналогично
доказательству теоремы 18.
Следствие 2. Для почти всех функций / алгебры логики
от п переменных
log п <^ У (/) ^ log п log log п.
В связи с тем. что доказательство теоремы 19 достаточно
сложно, мы приведем здесь более слабую нижнюю оценку,
которая, однако, дает представление о скорости роста величины t (/)
для почти всех функций алгебры логики. Нам потребуется
Ю Дискретная математика, т. Т.
146
3. МЕТРИЧЕСКИЕ СВОЙСТВА Д Н. Ф.
Лемма 13. Пусть М — произвольное подмножество вершин
куба Е" и G (га, d) — групповой код в Е" с расстоянием d. Тогда
существует такое подмножество М' С М, что расстояние между
любыми двумя его вершинами не менее d и
|M'|>|M||G(ra, d)|/2".
Доказательство. Разложим Е" на смежные классы по
подгруппе G (n, d):
En = G (n, d) U GA) (га, d) U ¦ • • U G"' (га, d), g = 2"/| G (га, d) |.
Заметим, что каждый класс G'" (га, d) является кодом с
расстоянием d. Это разложение индуцирует разложение
М = (М П G (га, d)) U (М П G'1' (га, d)) U • • • U (М П Сс'_1) (и, d)).
По крайней мере одно из этих множеств содержит не менее \M\lg
точек, которые находятся друг от друга на расстоянии не меньше d.
Теорема 20 [61. Для почти всех функций f алгебры логики
от га переменных
t(f)>2^-s»\ limsB = 0.
Доказательство. Будем рассматривать функции, на
которые распространяются следствие из леммы 6, следствие из
теоремы 12 и леммы 8 и 10. Очевидно, что доля остальных функций
стремится к 0 при га -> со.
Опишем процесс построения тупиковых д. н. ф. для
рассматриваемых функций. Пусть М, (Z Nf — множество вершин, не
покрываемых ядровыми гранями и не являющихся регулярными
точками. Легко видеть, что \Мf\ ~ 2". Из [26] (см. также
раздел 5) известно, что в кубе Е" существует групповой код G с
расстоянием 2s+l и числом элементов \G\ "^ 2"/Bra)s. Выделим в М.
подмножество М' все точки которого находятся друг от друга на
расстоянии не меньше 2/с1+1 (kx= [log га 1+1). В силу леммы 13
можно считать, что \M'f\ > |М/|/Bга)д'.
1-й шаг. Покрываем каждую точку множества M'f одной из
проходящих через нее максимальных граней. Так как точки
множества M'j, не принадлежат ядровым граням, то через каждую
такую точку проходит не менее двух максимальных граней.
Следовательно, это покрытие можно осуществить не менее, чем 2'' г
способами.
2-й шаг. Покрываем каждую оставшуюся непокрытой точку
из Nf максимальной гранью, не проходящей ни через одну точку
множества М'
Покажем, что этот шаг всегда выполним. В самом деле, в
противном случае имелась бы точка р е Nf такая, что любая макси-
ЛИТЕРАТУРА
147
малъная грань, проходящая через нее, проходила бы и через точки
множества М' В силу того, что расстояние между точками из M'f
не меньше 2кх-\-\, а размерность максимальных граней функции /
не превосходит кг, последнее условие означает, что все
максимальные грани, проходящие через 3, проходили бы через одну и ту же
вершину а е М', т. е. 5. была бы регулярной точкой, что
противоречит способу построения множества Мг
3-й шаг. Удаляем пз полученного покрытия грани,
содержащиеся в сумме остальных до получения неприводимого покрытия.
При этом ни одна из граней, построенных на первом шаге, не
будет удалена, так как в каждой из них имеется точка (точка
множества M'f), покрываемая только ею одной. Таким образом,
различным покрытиям множества M'f отвечают различные тупиковые
д. н. ф. функции /. Следовательно, их число не менее
21/1 = 2, , limeH = 0.
ЛИТЕРАТУРА
1. Васильев Ю. Л., О сравнении сложности тупиковых и
минимальных дизъюнктивных нормальных форм, Сб. «Проблемы кибернетики»,
вып. 10, М., Физматгиз, 1963, 5—61.
2. Васильев Ю. Л.,0 «суперпозиции» сокращенных тизъюнктивных
нормальных форм, Сб. «Проблемы кибернетики», вып. 1^, М., «Наука»,
1964, 239—242.
3. В а с и л ь е в Ю. Л., К вопросу о числе тупиковых и минимальных
дизъюнктивных нормальных форм, Сб. «Дискретный анализ», вып. 2,
Новосибирск, ИМ СО АН СССР, 1964, 3—9.
4. Васильев Ю. Л., Трудности минимизации булевых функций на
основе универсальных подходов, ДАН СССР 171, № 1, 1966, 13—16.
5. Викулин А. П., Оценка числа конъюнкций в сокращенной д. н. ф.,
Сб. «Проблемы кибернетики», вып. 29, М., «Наука», 1974.
6. Глаголев В. В., Некоторые оценки дизъюнктивных нормальных
форм функции алгебры логики, Сб. «Проблемы кибернетики», вып. 19,
М., «Наука», 1967, 75—94.
7. Глаголев В. В., Верхняя оценка длины цикла в n-мерном
единичном кубе, Сб. «Дискретный анализ», вып. 6, Новосибирск, ИМ СО АН
СССР, 1966, 3—7.
8. Глаголев В. В., О длине тупиковой дизъюнктивной нормальной
формы, Матем. заметки 2, № 6, 1967, 665—672.
9. Глаголев В. В., Евдокимов А. А., О минимальной раскраске
одного бесконечного графа, Сб. «Дискретный анализ», вып. 17,
Новосибирск, ИМ СО АН СССР, 1970, 9—17.
10. Е в д о к и м о в А. А., О максимальной длине цепи в единичном п-
мерном кубе, Матем. заметки 6, № 3, 1969, 309—319.
И. Журавлев Ю. И., Теоретико-множественные методы в алгебре
логики, Сб. «Проблемы кибернетики», вып. 8, М., Физматгиз, 1962, 5—44.
12. Ж у р а в л е в Ю. И., Оценки сложности алгоритмов построения
минимальных дизъюнктивных нормальных форм для функций алгебры
логики, Сб. «Дискретный анализ», вып. 3, Новосибирск, ИМ СО АН СССР,
1964, 41—77.
10*
148
3. МЕТРИЧЕСКИЕ СВОЙСТВА Д. Н. Ф.
13. Ж у р а в л е в Ю. И., Оценка для числа тупиковых д. н. ф. функций
алгебры логики, Сиб. матем. журнал 3, № 5, 1962, 802—804.
14. Коршунов А. Д., Верхняя оценка сложности кратчайших д. н. ф.
для почти всех булевых функций, Кибернетика, № 6, 1969, 1—8.
15. К о с п а н о в Э. Ш., О произведении кратчайших д. н. ф., Сб.
«Дискретный анализ», вып. 18, Новосибирск, ИМ СО АН СССР, 1971, 35—40.
16. Л е в и н А. А., Об относительной сложности сокращенной д. н. ф.,
Сб. «Дискретный анализ», вып. 15, Новосибирск, ИМ СО АН СССР, 1969,
25—34.
17. Левин А. А., Об отношении сложности д. н. ф. функции к сложности
ц. н. ф. ое отрицания, Сб. «Дискретный анализ», вып. 16, Новосибирск,
ИМ СО АН СССР, 1970, 77-81.
18. Лин С и н - л я н, О сравнении сложностей минимальных и
кратчайших дизъюнктивных нормальных форм для функций алгебры логики,
Сб. «Проблемы кибернетики», вып. 18, М., «Наука», 1967, 11—44.
19. Лупанов О. Б., О синтезе некоторых классов управляющих систем,
Сб. «Проблемы кибернетики», вып. 10, М., Физматгпз, 1963, 63—97.
20. Лупанов О. Б., О реализации функций алгебры логики формулами
из конечных классов (формулами ограниченной глубины) в базисе &,
\/, ~, Сб. «Проблемы кибернетики», вып. 6, М., Физматгиз, 1961, 5—14.
21. Сапоженко А. А., Метрические свойства почти всех функций
алгебры логики, Сб. «Дискретный анализ», вып. 10, Новосибирск,
ИМ СО АН СССР, 1967, 91—119.
22. Сапоженко А. А., О порядке окрестности максимальных
интервалов у почти всех функций алгебры логики, ДАН СССР 180, № 1,
1968, 32—35.
23. Сапоженко А. А., О наибольшей длине тупиковой дизъюнктивной
нормальной формы у почти всех булевых функций, Матем. заметки 4,
№ 6, 1968, 649—658.
24. Сапоженко А. А., О сложности дизъюнктивных нормальных форм,
получаемых с помощью градиентного алгоритма, Сб. «Дискретный анализ»,
вып. 21, Новосибирск, ИМ СО АН СССР, 1972, 62-71.
25. Яблонский С. В.,К вопросу об оценке длины тупиковых
дизъюнктивных нормальных форм, Сб. «Проблемы кибернетики», вып. 7, М.,
Физматгиз, 1962, 229—230.
26. В е г 1 е k a m p E. R., Algebraic coding theory, New York, 1968.
(Русский перевод: Б е р л е к э м п Э., Алгебраическая теория
кодирования, М., «Мир», 1971).
27. М i 1 е t о F., Putzolu G., Average values of quantites, appearing in
boolean function minimization, IEEE Trans., EC-13, Л° 2, 1964, 87—92.
28. Lubbell D., A short proof of Sperner's lemma, J. Comb, theory 1.
№ 2, 1966.
Раздел 4
ГРАФЫ И СЕТИ
Ф. Я. Ветухновокий
Язык и методы теории графов используются для описания и
исследования структурных (комбинаторных) свойств управляющих
систем. В настоящее время на русском языке имеется несколько
руководств по теории графов [1, 3, 6, 9]. Поэтому в задачу автора
не входило представить многочисленные направления теории
графов, и многие важные вопросы здесь не рассматриваются.
Цель настоящего раздела дать некоторые основные сведения,
и главное, продемонстрировать методы теории графов и сетей,
а также изложить отдельные специальные вопросы, необходимые
для чтения других разделов данной монографии. Этим и
определялся выбор материала: с одной стороны, принималась во
внимание значимость тех или иных вопросов для первоначального
изучения теории графов, с другой стороны, — потребность других
разделов монографии. Все вопросы, включенные в рассмотрение,
изложены с полными доказательствами, так что чтение не требует
обращения к литературе.
К особенностям раздела можно отнести следующее:
1. При изложении отдельных тем были заимствованы
фрагменты ряда работ: Элайеса, Фейнстейна и Шеннона [И ], Трахтен-
брота [7] в главе II, Лупанова [4, 5] в главе III. Следует также
отметить использование работ Форда и Фалкерсона [8], Ви-
зинга [2] и Зыкова [3].
2. Довольно большое внимание, например, по сравнению
с монографиями по теории графов уделено теории сетей.
3. Намеренно подчеркивается та роль, которую в теории
графов играет класс деревьев. С этой целью в доказательстве
некоторых утверждений используются свойства деревьев, хотя
возможны и другие доказательства.
Глава I. ГРАФЫ
§ 1. Элементы графа. Способы задания графа. Подграфы
1. Граф — это система некоторых объектов вместе с
некоторыми парами этих объектов, изображающая отношения связи
между ними. Графами удобно изображаются различные схемы и
150
4. ГРАФЫ И СЕТИ
диаграммы, системы отношений, химические структурные формулы
и др.
Точнее, графом G называется система (V, U, <р), где V={v} —
множество элементов, называемых вершинами графа; U={u} —
множество элементов, называемых ребрами графа, причем
U П У=0; щ — функция инциденции, ставящая в соответствие
каждому ребру и е U упорядоченную или неупорядоченную
пару вершин (yl7 v2); эти и1 и v2 называются концами ребра и.
Ребро находится в отношении инцидентности со своими
концами.
V U U образует множество элементов графа. По количеству
элементов графы делятся на конечные и бесконечные.
Если ср(ц)=(у1, v2) — упорядоченная пара (т. е. Vyj=v2 и
(vv v2)^(v2, i^)), то ребро и называется ориентированным ребром,
или дугой, исходящей из вершины vx и входящей в вершину v2; vx
называется началом, a v2 — концом дуги и. Если <р (u)=(vv v2) —
неупорядоченная пара, то ребро называется неориентированным.
Граф, все ребра которого ориентированные (соответственно
неориентированные) называется ориентированным (соответственно
неориентированным) графом. Всякому графу G=(V, U, <р) можно
поставить в соответствие соотнесенный неориентированный граф
G=(V, U, 2>), где а сопоставляет ребрам те же пары вершин, что
и ср, но все пары неупорядоченные.
Вершина, не инцидентная ни одному ребру, называется
изолированной. Вершина, инцидентная ровно одному ребру, и само
это ребро называются концевыми, или висячими. Ребро с
совпадающими концами называется петлей. Две вершины, инцидентные
одному и тому же ребру, называются соседними. Два ребра,
инцидентные одной и той же вершине, называются смежными.
Ребра, которым поставлена в соответствие одна и та же пара
вершин, называются кратными, или параллельными.
2. Часто бывает важно определить, какие графы считаются
различными, а какие не различаются. Обычно это связывают с
понятием изоморфизма графов. Два графа G1=(V1, Uv <px) и
G2 (V2, U2, <p2) называются изоморфными, если существуют взаимно
однозначные отображения / : Vx <н» V2 и g : Ux <-» U2, сохраняющие
инцидентность, т. е. такие, что для всякого ие ^ равенство
4i(u)=(vl, i>2) влечет за собой равенство ср2 {gu)={fv1, fv2).
Изоморфное отображение графа на себя называется автоморфизмом.
Автоморфизмы графа образуют группу. В частном случае она
может состоять из одного тождественного автоморфизма.
Во многих случаях можно не различать изоморфные графы,
т. е. рассматривать графы с точностью до изоморфизма. Однако
«ели какие-то вершины или ребра графов обладают различной
индивидуальностью, например, они занумерованы, то естественно
при сравнении двух графов эту индивидуальность учитывать.
ГЛ. I. ГРАФЫ
151
В дальнейшем из текста будет ясно, какие графы считаются
различными, а какие нет.
3. Существуют различные способы задания графов, связанные
с различными заданиями функции tp. Вот некоторые из них для
конечных графов:
1) Перечисление (список) ребер графа с указанием их концов
и добавлением списка изолированных вершин.
2) Матрица инциденций графа (с Ъ вершинами и р ребрами) —
прямоугольная матрица А = \\а. || (с Ъ строками и р столбцами):
atJ=0, если вершина иг не инцидентна ребру иу, а^=1, если v.
является концом дуги или неориентированного ребра иу, а^. =—1,
если v. является началом дуги и.
(у неориентированных ребер обоим
концам соответствует +1). В каждом
столбце матрицы — два ненулевых
элемента (если ребро — не петля).
3) Матрица соседства вершин —
квадратная матрица В = \\ЪЧ\\
(размера Ъ): bi:). равно числу ребер, идущих
из вершины vi в вершину v. (bi} не
равно, вообще говоря, Ь.,, однако для
неориентированных графов Ъ =Ъ {).
Если матрица инциденций задает
граф однозначно, то матрица
соседства вершин определяет граф с точностью до замены любого
неориентированного ребра парой противоположно направленных
дуг между теми же вершинами. Однако для графов без кратных
ребер задание графа и этой матрицей однозначно.
Для наглядности граф часто представляют в виде
геометрического объекта: вершинам соответствуют различные выделенные
точки в пространстве (на плоскости), ребрам — кривые,
связывающие соответствующие точки и не проходящие через
выделенные точки, отличные от их концов. Отношению инцидентности
вершин и ребер графа соответствует при этом геометрическая
инцидентность выделенных точек и линий. Кроме того,
предполагается, что кривые попарно не пересекаются во внутренних точках.
Такое представление графа называется реализацией или
топологическим графом.
Можно показать, что всякий граф с конечным (и даже счетным)
числом элементов может быть реализован в трехмерном
пространстве, причем, если граф не содержит кратных ребер, то
ребра можно реализовать прямолинейными отрезками. На
плоскости реализуется не всякий граф, что порождает разделение
графов на плоские и неплоские. Тем не менее даже неплоский граф
152
4. ГРАФЫ И СЕТИ
бывает удобно изображать на плоскости, надо только отличать
вершины от пересечений ребер на рисунке (например, изображать
вершины кружками); ориентацию ребер показывают стрелки.
На рис. 1 изображен граф с шестью вершинами и девятью
ребрами и проиллюстрированы некоторые введенные выше
понятия: ребра uv и3, ив. щ, и9 являются дугами; ve — изолированная
вершина; и4 и иъ — параллельные ребра; ц6, щ, и8, щ — также
параллельные ребра: ь\2 и у3> и2 и у4 — пары соседних вершин; г43
и ui — пара смежных ребер. Матрица инциденций (А) и матрица
соседства вершин (В) этого графа таковы:
1 0
-1 1
0 1
0 0
0 0
0 0
QUO
1 0 0
0 1 1
-1 1 1
0 0 0
0 0 0
0
0
0
—1
1
0
0 0
0 0
0 0
—1 1
1 1
0 0
0'
0
0
1
-1
о.
а=\ " i ' У У ; в = \
@ 0 0 0 0 0N
10 10 0 0
0 10 2 0 0
0 12 0 3 0
0 0 0 2 0 0
^0 0 0 0 0 0/
4. Рассмотрим несколько примеров графов, имеющих
интересные применения.
1) Полным графом называется граф без кратных ребер (и иногда
без петель), в котором любые две вершины соединены ребром
(ориентированным или
неориентированным). Полный
неориентированный граф с Ъ вершинами
обозначается Кь.
2) Двусторонним, или двудольным
графом называется граф, вершины
Рис 2. которого разбиты на два
непересекающихся класса: V=V1 U V2, a
ребра связывают вершины только из разных классов (рис. 2).
3) n-мерным единичным кубом называется граф, вершинами
которого являются все наборы длины п из нулей и единиц, а ребра
соединяют вершины, различающиеся ровно в одном разряде.
Случаи п=3 и п=4 представлены на рис. 3.
5. Пусть G=(V, U, <f). Граф H=(V, W, <р') называется
подграфом графа G (обозначение: Н С G), если V CZ V, U' С U, ср'
есть сужение функции ? на множестве U', При этом, очевидно,
каждое ребро из U' входит в подграф Н вместе со своими концами.
Иногда рассматриваются только подграфы без изолированных,
вершин или только подграфы, содержащие все вершины графа;
такие подграфы полностью определяются множеством своих
ребер. В этих случаях можно естественным образом определить
теоретико-множественные операции над подграфами: пересечение,
объединение, симметрическую разность (называемую также
суммой по модулю 2). дополнение до всего графа.
ГЛ. I. ГРАФЫ
153
Подграфом, натянутым на множество вершин V СУ графа Gr
называется подграф, содержащий вершины из V и все ребра,
соединяющие пары вершин из V,
011
111
001
010
101
110
0011
0001 *
от
^
\
\>
^
N
.^
\
%
^\
0101
01ОП\
<^
1001
1111
^^
ион
\
1010х
,^1
\
\
->
\
\
1101
\
-"
то
1100
ооо
100
0000
1000
Рис. 3.
Подграф Za, состоящий из всех ребер, инцидентных вершине а,
называется звездой вершины а. Для графов без петель степень
s (а) вершины а есть число ребер в звезде Za. Очевидно, что сумма
степеней всех вершин графа без петель равна удвоенному числу
ребер.
§ 2. Цепи. Циклы. Связность
1. Последовательность вершин и ребер графа^б?
Vi0U1V;lU2Vh...V;„_1U„T{„ A)
называется путем [у,-0, vin] из вершины vl<t в вершину uin, если
f(uk)=(v,k_l, v,k) для к=\, 2, ..., п. Вершина у,о называется
началом, а и,п — концом пути; число п называется длиной пути
(путь нулевой длины состоит из одной вершины). В общем случае
среди вершин и ребер последовательности A) могут быть
повторения. Каждое ребро пути может быть ориентированным (обязательно
из v,k_t в г,д) или неориентированным. Будем говорить, что путь
[у,-о, у,я] проходит последовательно через вершины г,о, v{i, .... г,п
по ребрам щ, и2, .... иИ.
Цепью называется последовательность вершин и ребер,
образующая путь в соотнесенном неориентированном графе. Отсюда
всякий путь является цепью, обратное верно только для
неориентированных графов, в которых понятия пути и цепи совпадают.
Если последовательность A) — цепь, то, очевидно, и ее обращение
v. и v . . . v. и vt — цепь. В дальнейшем эти цепи различать мы
не будем и будем говорить о цепи между вершинами v. и v .
154
4. ГРАФЫ И СЕТИ
Если в последовательности A) vto = vin (п^>0), то такой путь
(соответственно цепь), точнее, множество всех циклических
перестановок этой последовательности *)
называется контуром (соответственно циклом) длины п. Петля
является циклом (и даже контуром) длины 1.
Путь, цепь, контур, цикл называются простыми
(соответственно элементарными), если каждое их ребро (соответственно
каждая вершина и каждое ребро) входит в последовательность A)
ровно один раз (не считая последней вершины в записи цикла).
Проверка пути, цепи, контура, цикла на элементарность
упрощается, если учесть, что в последовательности A) ребро может
повторяться только тогда, когда в ней повторяется некоторая
вершина или когда последовательность A) имеет такой вид:
v.jujv.pit;^. B)
Элементарные путь, цепь, контур, цикл можно считать просто
некоторыми подграфами графа G.
Для графа, изображенного на рис. 1, цепь viu^v^t,3viubv3u^^uuvb
является простой, но не элементарной, и не является путем;
и^3и2и2и3иьиА — элементарный контур.
Если цепь [v . v,„], отличная от B), не является элементарной,
то некоторая вершина v,k входит в последовательность A) хотя бы
дважды. Часть последовательности A) между этими двумя
вхождениями вершины v k есть цикл, и после вычеркивания этой части
из последовательностн A) остается цепь с теми же концами уч,
v,n. Повторяя эту операцию пока возможно, мы получим в
результате элементарную цепь или цепь вида B), которую заменим
элементарной цепью, состоящей из одной вершины v,b. To же можно
•сделать с простым циклом. Таким образом, справедлива
Лемма 1. Всякая цепь [vx, v2] содержит элементарную
подцепь с теми же концами. Простая, но не элементарная цепь
содержит элементарный цикл. Простой цикл, проходящий через
ребро и (вершину и), содержит элементарный подцикл,
проходящий через и (v).
Таким же способом устанавливается аналогичное утверждение
для пути и для контура.
2. Легко видеть, что для любого графа отношение между
вершинами «быть связанными цепью» является рефлексивным,
симметричным и транзитивным. Последнее видно из того, что после-
*) Удобно считать, что при циклической перестановке два рядом
стоящих символа вершины ... v,v, ... заменяются одним, а недостающий
о о
на одном из концов символ вершины устанавливается равным символу,
стоящему на другом конце.
ГЛ. I. ГРАФЫ
155
довательное прохождение цепей [а, р] и [ р, fl есть цепь [а, у].
Таким образом, это отношение есть отношение эквивалентности.
Вершины графа разбиваются на классы эквивалентности.
Подграфы, натянутые на эти классы вершин, называются
компонентами связности графа (или связными компонентами).
Любые две вершины из одной связной компоненты связаны хотя
бы одной цепью, вершины же из разных компонент не связаны
цепью.
Граф называется связным, если он имеет ровно одну
компоненту связности, т. е. если любые две его вершины связаны цепью.
Компоненты связности любого графа G являются максимальными
(по включению) связными подграфами графа G. Для
решения многих задач достаточно рассматривать только связные
графы.
На множестве вершин V связного графа G можно ввести
расстояние как минимальную длину цепи между вершинами:
где Z[a,з] — длина цепи [а, р], а минимум берется по всем цепям
[а, р] (очевидно, минимум достигается на элементарных цепях).
Для d(a, p) выполнены все свойства расстояния:
1) d(a, a) = 0; d (a, 4) > О при a=^=p;
2) d(a, P) = d(P, a);'
3) d(a, p) + d(P, T)>d(a, T);
таким образом, V образует метрическое пространство.
§ 3. Деревья
1. Ребро и произвольного графа G называется циклическим,
если оно принадлежит хотя бы одному элементарному циклу
в графе, и ациклическим в противном случае. Заметим, что согласно
лемме 1 ребро принадлежит элементарному циклу тогда и только
тогда, когда оно принадлежит некоторому простому циклу.
Лемма 2. При удалении из связного графа циклического
ребра граф остается связным; при удалении ациклического ребра
граф становится несвязным.
Доказательство. В простом цикле концы любого
ребра (а, Р) связаны цепью А = [а, р], не содержащей этого ребра
и состоящей из всех остальных ребер цикла. Поэтому в любой цепи
между любыми двумя вершинами у,, у2 графа G всякое вхождение
ребра (а, Р) можно заменить цепью А — получится цепь [v\, v2],
т. е. любые две вершины связаны цепью и в графе G\{(a, p)}.
Первое утверждение леммы доказано.
Если аир — вершины связного графа G, то ребро (а, Р),
добавленное к G, является циклическим в графе G (J {(а, р)}.
Действительно, элементарный цикл в G \J {(а, р)}, содержащий
156
4. ГРАФЫ И СЕТИ
ребро (а, Р), получается объединением этого ребра с произвольной
элементарной цепью [a, J3] в G. Отсюда следует второе
утверждение леммы.
2. Связный граф, все ребра которого ациклические,
называется деревом.
Теорема 1. Следующее свойство дерева является
характеристическим: всякие две вершины дерева связаны ровно одной
элементарной цепью.
Доказательство. Если граф не является деревом,
то либо он несвязен, т. е. не каждая пара его вершин связана
цепью, либо он содержит элементарный цикл. Но тогда любые
две вершины цикла связаны двумя элементарными цепями —
частями цикла.
Обратно, если между двумя вершинами о и |3 существуют
две различные элементарные цепи, то какое-то ребро (у, 8) одной
из этих цепей не принадлежит другой. Пойдем по первой цепи
в обе стороны от ребра (у, S) до первой встречи со второй цепью
в вершинах г1 и г3, т. е. возьмем максимальную (по включению)
подцепь первой цепи, содержащую ребро (у, §) и не
содержащую внутри себя вершин второй цепи. Участок [ех, е2] первой
цепи вместе с участком [е15 ег] второй цепи образует
элементарный цикл. Следовательно, граф не есть дерево. Теорема
доказана.
3. Выберем в дереве произвольную вершину а0 и назовем
ее корнем, или вершиной нулевого яруса. Соседние вершины
назовем вершинами первого яруса и т. д. — вершины, соседние
вершинам (i—1)-го яруса, не отнесенные еще ни к какому ярусу,
назовем вершинами г'-го яруса. Каждая вершина дерева
принадлежит ровно одному ярусу. Очевидно, что номер яруса совпадает
с расстоянием между его вершинами и корнем дерева. В силу
теоремы 1 каждая вершина г'-го яруса связана ребром ровно
с одной вершиной (i—1)-го яруса и не связана ребром ни с какой
вершиной г'-го яруса (рис. 4). Такое представление дерева часто
является удобным. Оно показывает, в частности, что в конечном
дереве всегда существуют концевые вершины (например, вершины
последнего яруса).
Выделение корня в дереве D определяет на множестве вершин
дерева частичный порядок: а < |3, если й^= Р и элементарная
цепь из корня в вершину [3 содержит а. Корень а0 является
единственным минимальным элементом в этом частично
упорядоченном множестве вершин, а все концевые вершины (исключая
корень) — максимальными. Каждая вершина а однозначно
определяет корневое поддерево Da, натянутое на множество таких
вершин р, что а ^ р. В каждом таком поддереве Da (в том числе
в Daa =D) можно выделить вершины, непосредственно
подчиненные корню поддерева, т. е. такие вершины у., что а < у,, и не су-
ГЛ. I. ГРАФЫ
157
ществует промежуточных вершин 8,, для которых а < 8 < f,-
Для каждой такой вершины у. определим ветвь Д,л. дерева Da
как корневое поддерево с корнем а, натянутое на множество
вершин (a}U{§ : § ^ Т.}- Все поддерево Da получается из своих
ветвей склеиванием в корне а.
4. В связном графе G будем последовательно удалять
циклические ребра до тех пор, пока это возможно, т. е. пока не
останется ни одного циклического ребра. Мы придем к связному
подграфу графа G с тем же множеством вершин, но без элементарных
циклов, т. е. к дереву, называемому остовом графа G. Остов
выбирается, вообще говоря, неоднозначно, однако все ациклические
ребра входят в любой остов. Относительно остова D все ребра
подграфа G\D называются
хордами. ж 0-й ярде
Очевидно, что удаление из
дерева концевого ребра вместе / I \ 1-й ярус
с концевой вершиной приводит
к связному графу без
элементарных циклов, т. е. к дереву. rf о о v " к ?¦ и РУ
Продолжая этот процесс, мы
придем (если исходное дерево
конечно) к дереву, состоящему
из одного ребра (и двух
вершин). Поскольку из исходного р ,
дерева удалено одинаковое
число ребер и вершин, то можно
сделать вывод: в любом конечном дереве число ребер на 1 меньше
числа вершин.
Обратно, пусть связный граф G с Ъ вершинами содержит (Ь—1)
ребер. Докажем, что G — дерево. Действительно, в противном
случае, удалив некоторое число q циклических ребер, мы
получили бы остов с Ъ вершинами и (b—i—q) ребрами, что невозможно
(так как остов — дерево). Таким образом, доказана
Теорема 2. Для того чтобы конечный связный граф был
деревом, необходимо и достаточно, чтобы число его ребер было
на 1 меньше числа вершин.
Если к дереву!) добавить ребро (a, J3), где а, |3 е D, то в графе
появится (единственный!) элементарный цикл, составленный из
этого ребра и (единственной) элементарной цепи [а, |3] С D.
Если удалить из дерева D произвольное ребро (f, 8), не
удаляя вершин, то получится несвязный граф (так как любое
ребро дерева — ациклическое), состоящий ровно из двух
компонент связности (так как восстановление этого ребра делает
граф связным). Любой подграф Н дерева не содержит
элементарных циклов, поэтому все компоненты связности подграфа Н —
деревья.
158
4. ГРАФЫ И СЕТИ
§ 4. Эйлеровы (четные) графы. Дипломатическое число
1. Здесь будут рассматриваться подграфы, может быть,
несвязные, содержащие все вершины графа. Пусть G — граф,
содержащий р занумерованных ребер и1? щ, . . ., и . Каждому
подграфу ЯСС поставим в соответствие р-мерныи вектор (а1? а2,
. . ., ар) из нулей и единиц: а4=1, если и, е Я; а,=0, если и,, ф Я
(характеристический вектор подграфа Я). Это соответствие,
очевидно, взаимно однозначное. Более того, сумме по модулю 2
подграфов соответствует (поразрядная) сумма по модулю 2 их
характеристических векторов. Мноячество всех подграфов образует
относительно сложения абелеву группу. Над полем коэффициентов
{О, 1} эта группа образует линейное пространство (умножение
любого подграфа Я на 1 дает Я, умножение на 0 — пустой
подграф, т. е. подграф, не содержащий ребер). Нетрудно видеть, что
пространство подграфов графа G п пространство
характеристических векторов подграфов изоморфны и имеют размерность р.
2. Назовем граф четным, если степени всех его вершин —
четные. Любую элементарную цепь (кроме цикла) в четном графе
можно продлить ребром, не принадлежащим цепи, так как конец
цепи имеет степень 1 в цепи и степень не меньше 2 в графе. Если
граф конечен, то, продолжая цепь, мы через конечное число
шагов вторично придем в уже пройденную вершину, т. е. часть
полученной (возможно, уже не элементарной) цепи образует
элементарный цикл, после удаления которого остается четный граф,
так как все степени изменяются на четное число B — для
вершин цикла и 0 — для вершин, не принадлежащих циклу). В этом
графе можно снова выделить некоторый элементарный цикл,
и т. д., пока в графе не останется ни одного ребра. Таким образом,
каждый конечный четный граф представим в виде суммы попарна
не пересекающихся (по ребрам) элементарных циклов, откуда,
в частности, следует, что каждое его ребро циклическое.
Если конечный четный граф связен, то нетрудно показать
(например, индукцией по числу его элементарных циклов), что
в нем существует простой цикл, содержащий все ребра графа.
Такой цикл называется эйлеровым циклом, а обладающий им
граф называется эйлеровым графом. Поскольку каждая вершина
простого цикла имеет в нем четную степень (каждое прохождение
через вершину по циклу использует два ребра, инцидентных
этой вершине), то доказана
Теорема 3. Для того, чтобы конечный связный граф был
эйлеровым, необходимо и достаточно, чтобы он был четным.
В конечном несвязном четном графе все компоненты связ»
ности — эйлеровы графы.
Будем называть вершину ориентированного графа равновес-,
ной, если число дуг, входящих в вершину, равно числу дугь
ГЛ. I. ГРАФЫ
159
исходящих из нее. Ориентированный граф назовем равновесным,
если все его вершины равновесные.
Обход (неориентированного) эйлерова графа по эйлерову
циклу ориентирует каждое ребро графа в направлении обхода.
Ясно, что при такой ориентации эйлеров граф является
равновесным. Пусть теперь дан равновесный граф. Повторяя
предыдущее рассуждение (вместо циклов надо говорить о контурах),
легко показать, что каждый конечный равновесный граф
представим в виде суммы элементарных контуров, попарно не
пересекающихся по ребрам (а также то, что в конечном связном
равновесном графе существует простой контур, содержащий все ребра
графа).
3. Сумма двух четных подграфов любого графа есть также
четный подграф, так как степень s(a) вершины а в подграфе
НгЛ-Н^ равна s^s^—2s12, где sx и s2 — степени этой вершины
в подграфах Н1 и Нг соответственно, a s12 — степень вершины а
в пересечении Н^ П Н%. Поэтому четные подграфы образуют
подпространство в пространстве всех подграфов, очевидно,
совпадающее с подпространством, натянутым на все элементарные циклы.
Перейдем к выяснению размерности v этого подпространства.
Пусть G — связный граф с р ребрами и Ъ вершинами, D —
некоторый его остов. Число хорд равно (р—Ь+1). Каждая хорда
(а, |3) вместе с единственной элементарной цепью [а, [3] С D
образует элементарный цикл, причем векторы всех таких циклов
(для разных хорд) образуют независимую систему 2, так как
каждый из циклов содержит ребро (свою хорду), не принадлежащее
ни одному из остальных циклов системы. Отсюда ^ J> p—&+1.
С другой стороны, каждый четный подграф, в частности,
любой простой цикл выражается через циклы системы 2.
Действительно, прибавим к четному подграфу Я те циклы из 2,
которые содержат хорды графа G, принадлежащие Н. Полученная
сумма не будет содержать ни одной хорды, т. е. будет некоторым
подграфом дерева D, откуда следует, что это пустой подграф,
так как в противном случае четный подграф (сумма Н и циклов),
имеющий элементарные циклы, содержался бы в дереве D.
Таким образом, v=p—b-\-l.
Для несвязного графа с к компонентами связности базис
пространства четных подграфов получается объединением базисов
его связных компонент, а число ребер и вершин суммируется.
Поэтому, если г-я компонента содержит р. ребер и Ь{ вершин,
к к
то v = p — b-\~k, где р=2/7.' ^=2^,-- Число v называется
i=i <=1
цикломатическим* числом графа. Ввиду того, что v ^ О, для
любого графа справедливо неравенство к ^ Ъ — р. Деревья — это
связные графы с цикломатическим числом, равным 0.
160
4. ГРАФЫ И СЕТИ
Глава П. ДВУХПОЛЮСНЫЕ СЕТИ
§ 5. Сети. Цепи в сетях. Соединения сетей
1. Граф, некоторые вершины которого выделены, называется
сетью. Выделенные вершины называются полюсами сети.
Например, дерево с корнем можно рассматривать как однополюсную
сеть.
Изоморфизмом сетей называется изоморфное отображение
их графов, при котором полюсы обязательно переходят в полюсы
(иногда накладываются дополнительные условия, чтобы
определенные полюсы переходили в определенные).
Вершины, отличные от полюсов, называются внутренними
вершинами сети. Ребро, инцидентное хотя бы одному полюсу.
называется полюсным ребром, Остальные ребра называются
внутренними.
(к, 1)-полюсником называется сеть с (k-\-l) полюсами,
разбитыми на два класса: к входных и I выходных полюсов. A,1)-полюс-
ник называется также двухполюсной сетью.
В этой главе будут рассматриваться только сети без петель
и без изолированных внутренних вершин (кратные ребра
допускаются). Главным образом, будут рассматриваться двухполюсные
сети. Они будут называться просто сетями. Будем также
называть цепью (без указания концов) элементарную цепь между
полюсами сети — в противном случае будем обязательно
указывать концы цепи или называть ее цепочкой. Обозначим входной
и выходной полюсы сети S символами as и 6S. Полюсные ребра
образуют входную и выходную звезды Zag и Z$b. пересечение
которых состоит из сквозных ребер (оно может быть пустым),
инцидентных обоим полюсам.
Лемма 3 [7 ]. Пусть А и В — две цепи сети S {быть может,
пересекающиеся или даже совпадающие); а и В — две различные
вершины, причем а е А, В е В. Тогда если некоторая
элементарная цепочка С = [ а, |3 ] не пересекается с А и В нигде, кроме своих
концов, то в S существует цепь, содержащая С в качестве подцепи.
ГЛ. II. ДВУХПОЛЮСНЫЕ СЕТИ
161
Доказательство. Обозначим через у первую общую
вершину цепей А и В, отсчитанную по цепи А от а в направлении
одного из полюсов. Вершина у может совпадать с а (если а & В),
может совпадать с полюсом, причем часть А'=[а, у] цепи А
нигде, кроме вершины у, не пересекается с В. Если у^ {3, то
(рис. 5, а) С'=С U Л'— элементарная цепочка, пересекающаяся
с В только в своих концах В Af
и у. Тогда участок 1В, у] цепи
В может быть заменен на С
Если же у== р, то (рис. 5, б)
участок [а, у] цепи А может быть
заменен на С. Лемма доказана.
Для частного случая, когда
С состоит из одного ребра, мы
получаем
Следствие. Если в сети проходят цепи через концы
ребра h, то некоторая цепь проходит и через ребро k.
Замечание. Если цепи Л и В не имеют общих внутренних
вершин, а аир — внутренние вершины этих цепей, то
существуют две цепи, проходящие через С в различных направлениях
(рис. 6): а^аСВ/?^ и asB$CaA2$8. Подграф, образованный
парой таких цепей А и В и связывающей их цепочкой С,
называется мостиком.
Рис. 7.
2. Рассмотрим две операции над сетями. Пусть S± — сеть
с полюсами аг и Bj, S2 — сеть с полюсами а2 и В2, причем Sx и 52
не имеют общих элементов. Сеть SySa с полюсами ах и В2,
полученная отождествлением (склеиванием) вершин Вх и о^,
называется последовательным соединением сетей Si и S2; сеть Sj\/S2
с полюсами ах и 6Х, полученная отождествлением полюсов аг с а^
и Pi с Рг> называется параллельным соединением^сететк 5Х и S3
(рис. 7). Аналогично определяются последовательное и
параллельное соединения большего числа сетей: St- Бг-. . . -S и
WW • • -VS,,.
Сеть, полученная из однореберных сетей в результате
конечного числа параллельных и последовательных соединений,
называется параллельно-последовательной сетью. Другими словами,
11 Дискретная математика, т. I
162
4. ГРАФЫ И СЕТИ
класс параллельно-последовательных сетей (сокращенно, 11-сетей)
определяется индуктивно:
A) однореберная сеть есть П-сеть,
B) если S± и S2 — П-сети, то S^ ¦ S2 и S^V^ — тожеП-сети.
Ниже (теорема 14) будет установлено характеристическое
свойство П-сетей, в силу которого П-сеть не содержит мостиков.
3. Добавим к сети S дополнительное, источниковое ребро,
связывающее полюсы (иногда, например, в случае
ориентированных сетей бывает удобным ориентировать это ребро от выхода
к входу сети). Полученную расширенную сеть обозначим через S.
Заметим, что добавление источникового ребра к любой цепи А
превращает ее в элементарный цикл А.
Теорема 4. В произвольной сети сумма по модулю 2
нечетного числа цепей содержит цепь.
Доказательство. Сложим по модулю 2 циклы А(,
соответствующие данным цепям Аг В результате получим четный
гРаФ 2^,- Источниковое ребро входит в эту сумму, так как оно
участвует в сложении нечетное число раз. Очевидно, что оно
является циклическим ребром в 2-^.- Содержащий его цикл после
удаления самого источникового ребра есть искомая цепь.
§ 6. Потоки в сетях
1. Пусть S — произвольная частично ориентированная сеть,
каждому ребру и которой приписано неотрицательное число
с (и) — пропускная способность. Потоком в сети S называется
пара (/, со), где со — некоторая ориентация всех
неориентированных ребер сети, а / (и) — заданная на множестве всех ребер
функция с неотрицательными значениями, не превосходящими
пропускных способностей, и такая, что в каждой внутренней
вершине а выполняется закон Кирхгофа, согласно которому
сумма значений потока по ребрам, входящим в вершину, равна
сумме значений потока по ребрам, исходящим из вершины.
Другими словами, для / (и) выполнены условия:
A) 0 <^ / (и) <[ с (и) для всех ребер сети,
B) R (а)=0 для всех внутренних вершин, где
Д(«)= 2 /(«)- 2 /(»),
« S Г(а) « G Г'(«)
а Г (а) (соответственно^Г" (а)) — множество всех ребер,
исходящих из а (соответственно входящих в а) при ориентации со.
Поскольку сумма значений R (а) по всем вершинам сети,
ьключая полюсы, равна нулю (каждое ребро является исходящим
для одной вершины и входящим для другой), то R (as) =—R (^)-
Значение R=R (as) называется величиной потока. Между прочим,
сходные рассуждения показывают, что если сеть допускает поток
ГЛ. II. ДВУХПОЛЮСНЫЕ СЕТИ
163
ненулевой величины, то полюсы сети находятся в одной
компоненте связности. Если сеть изображает какую-либо проводящую
систему: сеть дорог, трубопровод и т. п., то R определяет величину
потока, входящего в одном полюсе и выходящего из другого, т. е.
величину потока, проходящего через сеть. Если на
ориентированном от Cs к as источниковом ребре положить /=i? (допуская,
что для этого ребра / может быть меньше 0), то закон Кирхгофа
будет выполняться для всех вершин сети, а R будет определять
величину циркуляции через сеть.
2. Поставим задачу определить максимальную величину i?m„
потока через сеть S при заданных значениях пропускных
способностей. Ответ может быть получен в терминах сечений сети.
Сечением сети называется множество ребер, при удалении
которого сеть становится несвязной, причем полюсы попадают
в разные компоненты
связности. Ясно, что каждая цепь
(а тем более каждый путь из
as в р5) проходит хотя бы
через одно ребро сечения.
В сети на рис. 8 примерами
сечений являются {d, е, /},
{Ъ, с, е, g, h}, {d, g, h, i}.
Сечение будем называть
простым, если при удалении
любого его ребра, оно
перестает быть сечением. Так, {d, е, /} и {Ь, с, е, g, h} являются
простыми сечениями, в то время как {d, g, h, i} не является
таковым. Очевидно, что для каждого ребра простого сечения можно
указать цепь, которая проходит через это ребро, но не
проходит через другие ребра данного сечения.
Если в связной сети удаляется простое сечение, то сеть
распадается ровно на две части: левую часть, содержащую as, и
правую часть, содержащую |35. Каждое ребро простого сечения
связывает вершины из разных частей. Будем называть ребро
сечения прямым, если оно в сети не ориентировано или ориентировано
слева направо, и обратным — в противном случае. Будет ли
ориентированное ребро прямым или обратным, вообще говоря,
зависит от выбора сечения. Так, в примере (см. рис. 8) ребро е
в сечениях {d, е, /} и {Ь, с, е, g, К) — обратное, а в сечении [а, с, е,
g, i) — прямое.
Каждому простому сечению W припишем пропускную
способность с (W), равную сумме пропускных способностей всех
его прямых ребер. В примере на рис. 8 сечение {d, e, /} имеет
пропускную способность 5+1=6, а сечение {Ь, с, е, g, h} —
3+2+3+2 = 10. Если сеть несвязна и ее полюсы находятся в
разных компонентах связности, то естественно считать (единственным)
11*
Рис. 8.
164
4. ГРАФЫ И СЕТИ
простым сечением сети пустое множество, а его пропускную
способность нулевой.
3. Теорема 5 (Форд и Фалкерсон [8]). Максимальная
величина потока Rmax через сеть S равна минимальной из
пропускных способностей сЫ]1 ее простых сечений.
Доказательство (ср. с [11 ]). Докажем сначала, что
-Ящах ^ cmin- ДДЯ ЭТОГО ДОСТЭТОЧНО ПОКЭЗаТЬ, ЧТО ДЛЯ ЛЮбоГО
потока и любого сечения R ^ с (IF) (из физических соображений
это неравенство можно считать достаточно очевидным).
Просуммируем R (а) по всем вершинам а левой компоненты
сети. Эта сумма, с одной стороны, равна R=R (as), а с другой
стороны, она равна алгебраической сумме величин потоков,
идущих через сечение слева направо (потоки по ребрам, идущим
из левой компоненты в правую, суммируются со знаком плюс,
а по ребрам, идущим в обратном направлении, — со знаком
минус). Поскольку / (и) ^ с (и), отсюда следует требуемое
неравенство. Ясно также, что равенство R=c (W) может достигаться
только, если все прямые ребра сечения ориентированы слева
направо (при ориентации <о) и для них / (и)=с (и), а для всех
обратных ребер / (и)=0.
Докажем теперь, что в сети S можно создать поток величины
сшш. Доказательство проведем индукцией по числу ребер в сети S.
Если число ребер равно нулю, т. е. сеть ^состоит из двух
изолированных полюсов, то, очевидно, /?=с1ШП=0.
Предположим, что для всякой сети S, содержащей менее р
ребер, утверждение уже доказано. Покажем, что тогда
(*) в сети S можно создать поток любой меньшей величины.
Действительно, пусть R — произвольное число,
удовлетворяющее условию:
0<Я<стш.
Отыскав в сети S простое сечение с пропускной способностью
cmin и снизив ее до R (уменьшив для этого пропускные
способности некоторых прямых ребер сечения), мы получим сеть, в
которой согласно индуктивному предположению можно создать
поток величины R. Но совершенно ясно, что этот же самый поток
является потоком и в сети S.
Используя (*), докажем утверждение для произвольной сети
Sep ребрами. Простые сечения сети, имеющие пропускную
способность сш1п, будем называть минимальными. В сети S можно
уменьшить пропускные способности некоторых ребер так, что
в измененной сети (назовем ее приведенной) будут выполняться
условия:
1) пропускная способность каждого простого сечения не
меньше сШ]П:
ГЛ. II. ДВУХПОЛЮСНЫЕ СЕТИ
165
2) каждое ребро является прямым в некотором минимальном
сечении или имеет нулевую пропускную способность.
Для получения приведенной сети следует в каком-либо
порядке просмотреть все ребра сети S и уменьшить (быть может,
до нуля) пропускные способности тех из них, которые не
удовлетворяют условию 2), но с таким расчетом, чтобы условие 1) не
нарушалось. (Вообще говоря, в зависимости от выбранного порядка,
могут получаться различные приведенные сети.) Отметим (это
будет использовано позднее), что если в сети S пропускные
способности всех ребер — целые числа, то можно считать, что и
приведенная сеть обладает тем же свойством. (В самом деле, при
построении приведенной сети описанным выше способом
пропускные способности ребер будут уменьшаться всегда на целое число.)
Очевидно, что любой поток в
приведенной сети является потоком и в исход- ^^-
ной сети S. Поэтому достаточно уста- s^ N.
новить, что поток величины cmiD можно / ^- -^^ \
создать в приведенной сети. I j^ ^Ч. \
Если приведенная сеть содержит [^ ¦>>. \Л
ребра с нулевой пропускной способ- aiL If ^Jn>
ностью, то, удалив их, мы придем к ^^^^^l^^^^^/Ps
сети, содержащей менее р ребер и до- \. s' S
пускающей те же самые потоки. Не- ^
трудно проверить, что в этой сети ка- р „
ждое простое сечение имеет пропускную
способность не меньше cmin. Поэтому
согласно предположению индукции в этой сети можно создать
поток величины cmin. Значит, его можно создать и в самой
приведенной сети.
Будем считать теперь, что в приведенной сети нет ребер с
нулевой пропускной способностью, т. е. каждое ее ребро является
прямым в некотором минимальном сечении (свойство 2)) и,
следовательно, принадлежит некоторой цепи (иначе сечение не простое).
Рассмотрим два случая:
а) каждая цепь приведенной сети содержит не более двух
ребер;
б) в приведенной сети имеется цепь, содержащая не менее
трех ребер.
Если имеет место случай а), то, очевидно, все ребра сети
полюсные и либо не ориентированы либо ориентированы слева направо.
При этом приведенная сеть представляет собой параллельное
соединение некоторого числа сквозных ребер и некоторого числа
подсетей (по Содной на каждую внутреннюю вершину) весьма
простой структуры: каждая из них является последовательным
соединением двух своих частей, в которых все ребра соединены
параллельно (рис. 9). Легко видеть, что простыми сечениями
166 4. ГРАФЫ И СЕТИ
этой сети являются такие и только такие множества, которые
содержат все сквозные ребра, а из каждой подсети либо все ребра
из ее левой части и ни одного ребра из правой, либо наоборот.
Отсюда уже нетрудно заключить, что для каждой подсети сумма
пропускных способностей ребер из ее левой части равна сумме
пропускных способностей ребер из ее правой части. (Действительно,
если бы какая-нибудь из этих сумм, скажем, первая, была бы
меньше, то, взяв минимальное сечение, содержащее какое-либо
ребро из правой части подсети, и заменив в нем все ребра из правой
части ребрами из левой части, мы получили бы простое сечение
с пропускной способностью, меньшей стЫ, что в силу свойства 1)
невозможно.) Но тогда пропускные способности всех простых
сечений одинаковы и равны cmin. Поэтому в приведенной сети
можно создать поток величины cmin — следует только загрузить
каждое ребро вплоть до его пропускной способности.
Если имеет место случай б), то, очевидно, приведенная сеть
содержит внутреннее ребро. Рассмотрим следующее
преобразование приведенной^сети. Возьмем минимальное сечение,
содержащее внутреннее ребро. Заметим, что ни ZI>S, ни Z$s не
содержится целиком в этом сечении. Каждое ребро а1 = (а,, Р,) этого
сечения заменим двумя последовательно соединенными ребрами
(а,, у,) и (у^, р,.) (все у,. — новые вершины), имеющими ту же
пропускную способность, что и ребро аг Отождествив теперь
все вершины у,- (т. е. склеив их в одну вершину у), мы получим
сеть, представляющую собой последовательное соединение двух
подсетей, каждая из которых содержит менее р ребер (левая
подсеть не может содержать все ребра, прообразы которых в
приведенной сети входят в Z$s, а правая подсеть обладает таким же
свойством по отношению к Z<xs). Всякое простое сечение каждой
из этих подсетей имеет пропускную способность не меньше стт
(так же, как его прообраз в приведенной сети). Поэтому согласно
предположению индукции в каждой из этих подсетей можно
создать поток величины сш1и. Данный поток загружает все ребра
(а,., у,-) и (у<5 р,) до их пропускных способностей (см. стр. 164).
Отсюда ясно, что прообраз этого потока в приведенной сети также
является потоком. Теорема доказана.
Заметим, что в приведенной сети каждое ребро загружается
максимальным потоком вплоть до своей пропускной способности,
а направление потока определяется любым минимальным
сечением, содержащим это ребро. В неприведенных сетях, вообще
говоря, максимальный поток выбирается неоднозначно, и имеется
свобода в выборе направления потока по некоторым ребрам.
Однако при любом максимальном потоке в произвольной сети S
на всех прямых ребрах любого минимального сечения f=c, а на
всех обратных ребрах /=0.
ГЛ. И.' ДВУХПОЛЮСНЫЕ СЕТИ
167
Будем говорить, что множество элементов сети — ребер и
вершин — блокирует все цепи (все пути), если оно содержит хотя бы
по одному элементу из каждой цепи (каждого пути).
Как показано выше, сечение блокирует все цепи из as в C5.
Нетрудно убедиться, что множество прямых ребер простого
сечения блокирует все пути из as в ps: в каждом пути первое от as
ребро простого сечения является прямым.
Будем называть барьером сети S множество ребер,
блокирующее все пути из as в C5. Для неориентированной сети понятия
сечения и барьера совпадают. Барьер назовем простым, если
никакое его собственное подмножество не является барьером.
Покажем, что простой барьер W можно дополнить до простого
сечения так, что все ребра из W будут в этом сечении прямыми,
а все добавленные ребра обратными.
Пусть Н — множество вершин а, для которых существует
путь [as, а], не содержащий ребер из W. Очевидно, что Ps ф Н.
Для каждого ребра из W существует путь из as в Cs, содержащий
это ребро и не содержащий других ребер из W. (В противном
случае ребро можно было бы исключить из И с сохранением
блокирования всех путей.) Понятно, что существует и элементарный
путь с теми же свойствами. Нетрудно проверить, что в этом пути
все вершины, встречающиеся раньше, чем ребро из W,
принадлежат Н, а все вершины, встречающиеся позже него, не
принадлежат Н. Отсюда, в частности, следует, что начало каждой дуги
и один из концов каждого неориентированного ребра из W
принадлежат Н, а второй конец (ориентированного или
неориентированного) ребра не принадлежит Н.
Обратно, пусть а е Н, р $ Н; если (а, |3) —
ориентированное (от акр) или неориентированное ребро сети S, то (а, C) е W,
если же (|3, а) — ориентированное ребро сети S, то согласно
сказанному выше (р, а) $ IV. Совокупность всех ориентированных
ребер (р, а), таких, что а е Н, $$ Н, обозначим через Wx.
Очевидно, что в каждой цепи из as в CS найдется ребро, у которого
левый конец принадлежит Н, а правый нет. Поэтому W \J \\\
есть сечение (быть может, не простое). Простое сечение можно
получить из него (вообще говоря, неоднозначно) исключением
некоторых ребер, причем ни одно ребро из W не может быть
исключено, так как элементарный путь, в котором оно является
единственным ребром из W (см. выше), не содержит
ориентированных ребер вида (р, а), где а е Н, р «е Н, т. е. не содержит ни
других ребер из W, ни ребер из Х\\. В получившемся простом
сечении ребра из IV будут прямыми, а ребра из W1 — обратными
(рис. 10).
Каждому барьеру W припишем пропускную способность с (W),
равную сумме пропускных способностей всех входящих в него
ребер. Из сказанного выше следует, что каждому простому
168
4. ГРАФЫ И СЕТИ
Wf
сечению соответствует некоторый барьер с такой 'же пропускной
способностью, а каждому простому барьеру — некоторое простое
сечение с такой же пропускной способностью. Поэтому
минимальная пропускная способность стЫ простого сечения равна
минимальной пропускной способности cmir, барьера, а значит, в теореме 5
можно говорить как о сш1п, так и о cmin.
4. Сделаем теперь два обобщения теоремы 5.
А. Пусть пропускные способности приписаны не только
ребрам, но и внутренним вершинам сети S. Поток считается
допустимым, если для любой внутренней вершины а сети S величина
2j f{u) /'так же, как и величина 2 /(ц)\ не превосходит
Промере») V ug№) /
пускной способности
вершины а.
Теорема 5 может быть
перенесена на допустимые
потоки, если рассматривать
смешанные барьеры — мно
жества, состоящие из ребер
и внутренних вершин сети S
и блокирующие все пути из
as в ^s. (Удаление смешан
ного барьера разрывает все
пути из as в Ря, если иметь
в виду, что удаление
вершины влечет за собой удаление
всех инцидентных ей ребер, даже если они не принадлежат сме
шанному барьеру. Отметим заодно, что смешанный барьер — это,
вообще говоря, не подграф, так как вхождение ребра в барьер
не влечет за собой вхождения его концов.) Пропускную способ
ностъ с (W) смешанного барьера W определим как сумму про
пускных способностей входящих в него вершин и ребер.
Теорема 5'. Максимальная величина /?шах допустимого
потока через сеть S равна минимальной пропускной способности
cmiI1 (W) ее смешанного барьера W.
Доказательство. Заменим каждую внутреннюю
вершину а сети S парой вершин а' и а" и введем дуги (а', а");
сохраним прежние полюсы as и fis, но условимся, что as=ai=as
и р5= Ps= Р''?; наконец, каждое ребро (а, Р) заменим дугой (а",р'),
если оно ориентированное, и парой сопряженных дуг (а", р'),
(Р", а'), если оно неориентированное. В полученной
(ориентированной) сети S' каждой дуге (а', а") припишем пропускную
способность вершины а, а каждой дуге (а", 3') — пропускную
способность ребра (а, Щ (рис. 11).
Сделанная замена порождает естественное соответствие между
элементами сетей S и S', при котором полюсам сети S соответ-
ч
н"'
1 ~
1 у-
1
1
(
\
Ч__
Рис
\
т
1
1
1 ' > Ч~^
1
~W~'
. 10.
ГЛ. II. ДВУХПОЛЮСНЫЕ СЕТИ
169
ствуют полюсы сети S', а остальным элементам сети S — дуги
сети S'', причем неориентированному ребру сети S соответствуют
две дуги сети S'. Нетрудно убедиться в том, что если некоторая
последовательность вершин и ребер сети S образует путь из
вершины 8 в вершину т> то соответствующая последовательность
элементов сети S' (подразумевается, что неориентированному
а
By
а
Рис. И.
ребру (а, Р), проходимому в направлении от а к р,
сопоставляется в этом случае лишь дуга (а", р')) образует путь из 8' в у",
и наоборот.
Это соответствие между путями является взаимно однозначным
(заметим, что то же верно и для элементарных путей:
элементарному пути в S соответствует всегда элементарный путь в S', и
обратно). В силу соответствия между путями сетей S и S' всякому
смешанному барьеру W сети S соответствует барьер W сети S',
и наоборот, причем с (W) > с (IF), так как неориентированным
ребрам из IV соответствуют по две дуги из !Г'.
Однако в простой барьер сети S' сопряженные дуги (а", р')
и (Р", а') одновременно войти не могут. Действительно, пусть
Н — множество вершин а, для которых существует путь [as, а],
не содержащий дуг из простого барьера IV сети S'. Тогда так же,
как в п. 3 (стр. 167), если (а", р') е IV, то а" еЯ, а значит,
170
4. ГРАФЫ И СЕТИ
и а' е Я (так как любой путь [as, a"l проходит через а'), и,
следовательно, (8", а') $ W.
Отсюда вытекает, что простому барьеру W сети S'
соответствует в сети S смешанный барьер с пропускной способностью
с (И"'), а смешанному барьеру W сети S соответствует в сети S'
барьер, в котором содержится простой барьер с пропускной
способностью не больше с (И7). Поэтому cmin (W)=cmiB (И-"').
Наконец, существует естественное соответствие между
допустимыми потоками / в сети S и потоками /' в сети 5", сохраняющее
величину потока.
С одной стороны, если на дуге (а, 8) поток равен /, то и на дуге
(а", В') поток надо положить равным /; если же на
неориентированном ребре (а, В) поток равен / и направлен от а к В, то на
дуге (а", В') поток надо положить
равным /, а на дуге (8", a') — рав-
ным нулю. Кроме того, на каждой
дуге и' = (а', <х") надо положить
/'("')= 2 tip).
»€Г(")
С другой стороны, если (а, В)—
дуга сети S и в сети S' на дуге
(а", В') поток равен/', то на ребре
с- • (а, В) поток надо положить
равным /'; если же (а, В) —
неориентированное ребро сети S и в сети S' на дугах (а", 8') и (В", а')
поток равен соответственно/^ и /2, причем /j ~^f„_, то на ребре (к, В)
надо положить поток равным f[—f2 и направленным от а к 8. >
Из сказанного следует, что максимальная величина Йт„ до- >
пустимого потока в сети S равна максимальной величине R'mia '•
потока в сети 5'. Поэтому, окончательно, имеем
Замечание. Ясно, что отсутствие ограничений на
пропускные способности некоторых элементов можно трактовать как
наличие достаточно больших пропускных способностей — именно
в этом смысле будем в дальнейшем говорить о пропускных
способностях равных со.
Б. Сеть'^'имеет несколько входов а1( а2, . . ., ак и несколько
выходов 8^, pa, . . ., Р; (рис. 12). Требуется найти поток макси-
мальной суммарной величины /?max = max ^j R (а.).
Теорему 5 можно распространить и на этот случай. Для этого
построим двухполюсную сеть, добавив к графу ? две новые
вершины §j и §2 — полюсы новой сети и ребра (8lt о^), (\, аа), • • •
• •., (Si, О; (Pi, s2). Qt, У, • • •, (?„ h)- Установим для новых ребер
ГЛ. II. ДВУХПОЛЮСНЫЕ СЕТИ
171
пропускные способности, равные оо. (Для C, 2)-полюсника,
изображенного на рис. 12, соответствующая двухполюсная сеть
изображена на рис. 13.) Теперь уже нетрудно увидеть, что справедлива
Теорема 5". Максимальная суммарная величина -ffmax
потока через многополюсную сеть S равна минимальной пропускной
способности cmin ее барьера, блокирующего все пути от входов
к выходам.
В самом деле, каждому потоку в многополюсной сети
соответствует поток такой же величины в двухполюсной сети, и наоборот,
а так как минимум пропускной способности в двухполюсной сети
достигается на барьере, не содержащем новых ребер (из-за их
больших пропускных способностей), то он равен сшЫ.
Можно также соединить обобщения А и Б.
Рис. 13.
Теорема 5'". Максимальная суммарная величина
допустимого потока через многополюсную сеть равна минимальной
пропускной способности ее смешанного барьера, блокирующего все
пути от входов к выходам.
В дополнение к конструкции, примененной при доказательстве
теоремы 5", здесь нужно положить пропускные способности
полюсов многополюсной сети (в двухполюсной сети они уже не
являются полюсами) равными оо.
5. Сделаем еще одно важное замечание. Из доказательства
теоремы 5 видно, что если пропускные способности всех ребер сети —
целые числа, то существует целочисленный максимальный поток,
т. е. максимальный поток, при котором по каждому ребру идет
целое число единиц потока. То же справедливо и для допустимых
потоков в многополюсных сетях с целочисленными пропускными
способностями внутренних вершин и ребер.
Это замечание позволяет получить из теоремы 5 и ее обобщений
важные комбинаторные следствия. Рассмотрим некоторые из них.
Пусть X и Y — два непересекающихся подмножества вершин
в произвольном неориентированном графе; остальные вершины
графа назовем внутренними. (X, У)-цепъю будем называть любую
цепь [vu v2], в которой v1 е X, v2 e Y, а все остальные вершины
172
4. ГРАФЫ И СЕТИ
не содержатся ни в X, ни в Y. (X, У)-барьером назовем множество
ребер и внутренних вершин графа, блокирующее все (X, У)-цепи.
Сквозным ребром назовем ребро, образующее {X, У)-цепь.
Следующая теорема является несущественным видоизменением
теоремы Менгера (см. например, теорему 5.9 из [9]).
Теорема 6. Максимальное число (X, У)-цепей, попарно
не пересекающихся во внутренних вершинах, равно минимальному
числу элементов в (X, У)-баръере, состоящем из сквозных ребер
и внутренних вершин графа.
Доказательство. Рассмотрим граф как сеть с
множеством входных полюсов Z=(aJ и множеством выходных
полюсов У={8.}. К такой сети применим теорему 5'", положив
пропускные способности сквозных ребер, внутренних вершин и ребер
с обоими концами в X или в У равными 1, а пропускные способности
всех остальных ребер равными оо. Тогда (X, У)-барьер с
минимальной пропускной способностью будет состоять только из сквозных
ребер и внутренних вершин. Ясно, что его пропускная способность
совпадает с числом его элементов, а значит, и с минимальным
числом сквозных ребер и внутренних вершин, образующих
(X, У)-барьер.
По замечанию о целочисленности в этой сети можно создать
целочисленный максимальный допустимый поток, который на
каждом ребре, очевидно, равен 0 или 1. Ребра с единичным
потоком образуют ориентированный граф К, у которого все вершины,
кроме, быть может, полюсов, равновесные (имеют по одной
входящей дуге и одной исходящей). Введем новую* вершину у и новые
дуги, связывающие ее с полюсами, следующим образом. Если
^ (ai) ^> 0 (напомним, что поток целочисленный), то введем R (с.,)
дуг (у, о,.), если же R (а,) < 0, то введем \R (a,)| дуг (а,., у).
Точно так же введем \R (Р .)| дуг (у, C,.), если R ([3^.) > 0, или дуг
(Р,ч f)' если R (В.) < 0. Множество новых дуг обозначим через К'.
Суммарное (по всем г) число дуг вида (у, а,.) равно 2 R (а,), а число
Я(*,-)>0
дуг вида (а(, у) равно 2 l^(a<)l = — 2 ^(a.) (аналогич-
1К)<о г(ч)<с
ный вид имеют выражения для полюсов В.). Поэтому, исходя
из равенства 2 ^ (a<) -f~ 2 -^ (Р») = 0» в котором 2 R (а.) =
= 2 дю+*2 як)и2я(^)= 2 Д(Р,)+ 2' щ\**
можем убедиться в том, что вершина у равновесная, а значит, в
весь граф К (J К' равновесный. Следовательно, он разбивается
на не пересекающиеся по ребрам элементарные контуры. Если
контур содержит дугу вида (у, а,.), то он содержит также либо
одну дугу вида (о^., у) либо одну дугу вида (f^., у) (но не обе дуги
сразу). Поэтому число контуров, содержащих одновременно дугу
ГЛ. II. ДВУХПОЛЮСНЫЕ СЕТИ
173
вида (у, а,.) и дугу вида ф,, у), не меньше 2 й (а<) — 2 Iй (а<) I =
дЮ>о й(«<)<о
= 2 R (а<). т- е- не меньше величины максимального потока через
*
исходную сеть. Каждый такой контур определяет в графе К
(X, У)-цепь, причем разные цепи не могут иметь не только общих
ребер, но и общих внутренних вершин, так как каждая из них
в графе К является началом (концом) ровно одной дуги.
С другой стороны, любой набор элементарных не
пересекающихся во внутренних вершинах (X, У)-цепей задает допустимый
поток в сети, причем его величина равна числу цепей. Поэтому
максимальная величина потока совпадает с максимальным числом
(X, У)-цепей, не пересекающихся во внутренних вершинах. Тем
самым теорема доказана.
Следующая теорема и формулировкой и доказательством сходна
с теоремой Менгера.
Теорема 7 (см. [3]). Максимальное число (X, У)-цепей
без общих ребер равно минимальному числу ребер, образующих
(X, У)-баръер.
Доказательство. Рассмотрим такую же сеть, как и
в доказательстве предыдущей теоремы, но пропускные способности
всех ребер положим равными 1, а пропускные способности вершин
равными оо. Целочисленный максимальный поток на каждом ребре
будет равняться 0 или 1, а (X, У)-барьер с минимальной
пропускной способностью будет состоять только из ребер. Вводя
дополнительные вершину у и ребра, как в доказательстве теоремы 6,
мы можем убедиться, что граф К (J К' — равновесный. Таким'же
образом выделяются 2 R (а.) (^> У)-цепей без общих ребер,
однако в данном случае у них могут быть общие внутренние
вершины.
Поскольку, обратно, любая система попарно не
пересекающихся (по ребрам) (X, У)-цепей задает допустимый поток, теорема
доказана.
Из теорем 6 и 7 непосредственно следуют теоремы 8 п 9.
Теорема 8. Пусть множество (X, Y)-ueneu непусто.
Тогда если каждые две (не обязательно различные) (X, Y)-uenu
имеют общую внутреннюю вершину, то существует внутренняя
вершина, общая для всех (X, У)-цепей (будем называть ее
разделяющей вершиной).
Доказательство. В силу теоремы 6 минимальное
число элементов в (X, У)-барьере из сквозных ребер и
внутренних вершин в данном случае равно 1. Но поскольку сквозных
ребер здесь не может быть, единственным элементом такого
(X, У)-барьера будет внутренняя вершина, являющаяся, очевидно,
разделяющей. Теорема доказана.
174
4. ГРАФЫ И СЕТИ
Назовем длиной I (двухполюсной) сети S минимальное число
ребер в ее цепи (т. е. l=d (as, 8s)), а шириной t — минимальное
число ребер в ее сечении.
Теорема 9 [12 ]. Общее число ребер сети S не меньше
произведения ее длины I на ширину t.
Доказательство. Действительно, пусть X={as} и
y=(Ps}- Согласно теореме 7 можно выбрать t не пересекающихся
по ребрам цепей (можно считать их элементарными), каждая из
которых содержит не меньше I ребер.
§ 7. Сильно связные сети в несепарабельные графы
1. В дальнейшем^ будут рассматриваться только подграфы без
изолированных вершин. Два подграфа графа G будем называть
соприкасающимися, если они не имеют общих ребер, но имеют
хотя бы одну общую вершину — вершину соприкосновения.
Вершина а подграфа Н сети S называется граничной, если
выполнено какое-либо из условий:
A) а — полюс сети S,
B) а. является вершиной соприкосновения подграфов Н и
5\Я.
Заметим, что определение граничной вершины можно было бы
свести^ к одному условию B), если дополнение брать относительно
сети S, расширенной добавлением источникового ребра.
Из определения граничной вершины следует, что если в
цепочке, выходящей из полюса сети S, есть вершины подграфа И,
то первая из них является его граничной вершиной.
В связной сети не имеет граничных вершин только пустой
подграф. Подграф сети называется отростком, если он имеет
ровно одну граничную вершину. Ребро сети, через которое не
проходит ни одна цепь, называется холостым. Сеть, содержащая
хотя бы одно ребро, называется сильно связной [7], если она не
содержит холостых ребер, т. е. если через каждое ее ребро проходит
цепь.
Очевидно, что всякая сильно связная сеть является
одновременно и связной. Условие, при котором связная сеть является
сильно связной, дает следующая
Теорема 10-[71. Для того чтобы связная сеть S была
сильно связной, необходимо и достаточно, чтобы она не содержала
отростков.
Доказательство заключается в установлении того,
что
1) всякий отросток Н сети S состоит сплошь из холостых
ребер,
2) всякое холостое ребро а содержится в некотором отростке
Н(о).
ГЛ. II. ДВУХПОЛЮСНЫЕ СЕТИ
175
Для доказательства первого утверждения заметим сначала,
что никакая вершина J3 отростка Н, отличная от его
единственной граничной вершины а, не может быть полюсом сети S (ибо
такая вершина |3 также являлась бы граничной). Таким
образом, хотя бы один из полюсов сети S отличен от а и не
принадлежит Н.
Если бы существовала цепь, выходящая из этого полюса и
проходящая через ребро из отростка Н, то она должна была бы
прежде пройти через а. Поскольку второй раз пройти через а
она не может, второй полюс сети должен был бы принадлежать Н
и отличаться от а. Последнее же противоречит сделанному ранее
замечанию (о вершине |3). Следовательно, любое ребро отростка
Я — холостое.
Для доказательства второго утверждения рассмотрим
максимальный (по включению) связный подграф Н (а), содержащий
холостое ребро а и состоящий только из холостых ребер.
Предположим, что Н (а) имеет не менее двух граничных
вершин. Тогда существует элементарная цепочка С, лежащая в Н (а),
которая соединяет две такие граничные вершины а и {3 и не
проходит через другие граничные вершины. Вершина а инцидентна
хотя бы одному ребру из S\H (а). В силу максимальности Я (а)
это ребро не холостое. Поэтому через а проходит по крайней мере
одна цепь А. Точно так же через р проходит цепь В. Внутренние
вершины цепочки С, не являясь граничными для Н (а), не
принадлежат ни цепи А, ни цепи В (иначе цепь А или цепь В
проходила бы через холостые ребра пз Н (а)). Применяя к цепям А я В
и цепочке С лемму 3, мы заключаем, что в сети S существует цепь,
содержащая С в качестве подцепи, но это противоречит тому, что
Н (а) состоит только из холостых ребер.
Итак, Н (а) имеет менее двух граничных вершин; но поскольку
сеть S связна и Н (а) не пуст, он имеет по крайней мере одну
граничную вершину, следовательно, Н (а) является отростком.
Теорема доказана.
Установим еще одно необходимое и достаточное условие
сильной связности сети.
Теорема 11. Сеть S сильно связна тогда и только тогда,
когда расширенная сеть S представляет собой граф, через каждые
два ребра которого проходит элементарный цикл.
Доказательство. Если граф S обладает указанным
свойством, то через источниковое ребро и и произвольное ребро а
проходит элементарный цикл. Его пересечение с сетью S есть
цепь, содержащая ребро а.
Для доказательства обратного утверждения прежде всего
заметим, что из сильной связности сети S следует, что в сети S
через любое ребро а проходит элементарный цикл, содержащий
Ребро и.
176
4. ГРАФЫ И СЕТИ
Пусть теперь а и Ъ — два различных ребра сети S, А и В —
цепи сети S, проходящие соответственно через а и Ь. Если b e А,
то A (J {и} является искомым элементарным циклом. Пусть
b <? А и D = ly, 8] — максимальная подцепь цепи В, содержащая
ребро b и не пересекающаяся с А нигде, кроме своих концов.
Тогда концы у и 3 цепочкаD (они могут быть и полюсами) различны
и лежат на цепи А. Пусть Е=[у, 8] — подцепь цепи А
с теми же концами, что и D. Если а е Е, то D U Е есть искомый
элементарный цикл. Если же а$Е, то (А\Е) \J D [) {и} —
искомый цикл. Теорема';доказана.
2. Ограничимся (так же, как и в случае сетей) рассмотрением
графов без петель. Напомним понятие разделяющей вершины,
введенное в теореме 8. Вершина а называется разделяющей
вершины В и у (р^= a, Tv^ а) в графе G, если В и у принадлежат одной
компоненте связности и всякая цепь [ 3, у] содержит а.
Разделяющей вершиной сети будем называть вершину, разделяющую ее
полюсы.
Аналогично, ребро а называется разделяющим вершины В
и у в графе G, если р и у принадлежат одной компоненте связности
и всякая цепь [8, у] содержит ребро а. Разделяющее ребро
называют также перешейком. Удаление перешейка увеличивает число
компонент связности графа G (делает несвязной содержавшую его
компоненту связности графа). Каждый из концов любого
перешейка, за исключением концевых вершин графа, является
разделяющей вершиной. В дереве каждое ребро является перешейком,
а каждая не концевая вершина разделяющей.
Лемма 4. В каждом графе есть по крайней мере одна не-
разделяющая вершина.
Доказательство. Нетрудно видеть, что в дереве
всякая концевая вершина является неразделяющей. Каждую
компоненту связности графа можно получить из ее остова
добавлением хорд. Остается заметить, что при добавлении к связному
графу ребер, связывающих уже имеющиеся вершины, неразде-
ляющая вершина не может сделаться разделяющей, так как все
старые цепи сохраняются, и только добавляются новые.
Замечание. Поскольку во всяком дереве, имеющем
больше одной вершины, имеется не менее двух концевых вершин,
утверждение леммы можно усилить: каждый граф, содержащий
хотя бы одно ребро, имеет не менее двух неразделяющих вершин.
Понятно, что существование в графе G двух элементарных
не пересекающихся во внутренних вершинах цепей между
различными вершинами В и у равносильно наличию элементарного
цикла, содержащего 8 и у. В этом случае в графе G нет вершины,
разделяющей 8 и у.
Пусть, наоборот, в связном графе G нет вершины,
разделяющей В и у. Тогда, полагая в теореме 6 Х={В} и Y={y), убежда-
ГЛ. II. ДВУХПОЛЮСНЫЕ СЕТИ
177
емся, что в графе G либо существуют по крайней мере две
элементарные цепи между C и у, не пересекающиеся во внутренних
вершинах, и, следовательно, есть элементарный цикл, содержащий
Р и у; либо соответствующий (X, У)-барьер состоит из одного
элемента, который может быть только сквозным ребром ({3, у),
являющимся в графе G перешейком. В последнем случае либо
граф G состоит из одного ребра (р, у) либо одна из вершин, |3 или у,
является в нем разделяющей.
Связный граф без разделяющих вершин называется несепара-
белъным. Если для любой пары вершин графа существует
содержащий их элементарный цикл, то граф называется циклически
связным.
Доказанное утверждение можно теперь сформулировать так:
Для несепарабелъноспги графа, содержащего более одного
ребра, необходимо и достаточно, чтобы граф был циклически •
связным.
Если в циклически связном графе G концы произвольного
ребра и объявить полюсами, а само ребро и источниковым ребром,
то, очевидно, сеть S=G\{u) будет связной. Кроме того, в сети S
не будет отростков. Действительно, если бы существовал такой
отросток Н, то единственная граничная вершина а отростка Н
была бы в расширенной сети S=G единственной вершиной
соприкосновения подграфов Л и G\H (см. замечание к определению
граничной вершины), но тогда а была бы разделяющей вершиной
циклически связного графа G, что противоречило бы его
несепарабельности. Итак, сеть S сильно связна. В силу теоремы И
справедлива, таким образом,
Теорема 12. Если через любые две вершины графа проходит
элементарный цикл, то через любые два ребра графа также
проходит элементарный цикл (заметим, что обратное утверждение —
для графов без изолированных вершин — тривиально).
Отметим также, что в силу теоремы 7 отсутствие в связном
графе разделяющих ребер есть необходимое и достаточное условие
того, что через любые две вершины графа проходит простой
цикл.
Максимальные (по включению) несепарабельные подграфы
связного графа называются компонентами несепарабельности.
Каждая пара компонент несепарабельности имеет не более одной
общей вершины (иначе их объединение снова было бы несепара-
бельным подграфом, что невозможно ввиду их максимальности).
Поэтому связный граф получается из своих компонент
несепарабельности склеиванием некоторых вершин, не более чем по одной
для каждой пары компонент. При этом компоненты
несепарабельности не образуют «цикла», т. е. каждая вершина склейки является
разделяющей для вершин из различных компонент, склеиваемых
в этой вершине.
12 Дискретная математика, т. I
178
4. ГРАФЫ И СЕТИ
§ 8. Каноническое разложение сетей
1. В этом параграфе будем называть сетью сильно связную
сеть. В силу теоремы 10 всякий ее непустой подграф имеет не менее
двух граничных вершин. Если подграф Т сети S имеет ровно две
граничные вершины, то он называется {двухполюсной) подсетью,
а эти вершины полюсами подсети Т и обозначаются ат, By.
Очевидно, что одно ребро любой сети образует подсеть. Вся
сеть также является своей подсетью. Эти подсети будем называть
тривиальными.
Нетрудно проверить справедливость следующих
утверждений.
A) Всякая цепь сети S, проходящая через ребро подсети Т,
проходит через аТ и By, причем ее подцепь [ аТ, By ] является цепью
подсети Т. Цепь не имеет с подсетью Т других общих элементов,
кроме элементов подцепи [ay, By].
B) Всякая цепь подсети Т может быть продолжена до цепи
сети S.
C) Подсеть Т (сильно связной) сети S сильно связна.
Подсеть называется сквозной, если ее полюсы совпадают с
полюсами as, Ва сети S.
Лемма 5. Пусть S± и S2 — произвольные подсети cemuS,
a Sn и S\j — ее подграфы, определяемые соотношениями: Sn —
=S1f]Si и S^S^S^ Тогда, если Sft содержит хотя бы одно
ребро, то Sn и Sv — тоже подсети сети S.
Доказательство. Как непустые подграфы, Sn и 5 и
имеют по крайней мере по две граничные вершины. Поэтому
достаточно показать, что каждый из них имеет не более двух
граничных вершин.
Прежде всего покажем, что граничными вершинами для Sn
п S\j могут быть только полюсы подсетей ^ и S*. Действительно,
если т — граничная вершина для ?п, то она инцидентна
некоторым ребрам а е Sn и beS^-^S^, где S — расширенная сеть (см.
замечание к определению граничной вершины). Тогда а е St,
a&S2, а b&S\S1 либо beS\S2, и вершина у является либо
полюсом подсети S1 либо полюсом подсети S2. Аналогичным
образом, если у — граничная вершина для 5и, то она инцидентна
некоторым ребрам ае5и и b&S\Sy, но тогда b e S\St, b&S\S2,
а aeiSj либо а е 52, т. е. вершина у либо полюс подсети St
либо полюс подсети S2. Таким образом, подграфы 5П и S\j имеют
не более четырех граничных вершин каждый.
Рассмотрим теперь цепь, содержащую произвольное ребро
из ?п. Найдем первую, считая ота5, вершину этой цепи,
принадлежащую S\j. Эта вершина, по доказанному, есть полюс одной из
исходных подсетей, например, полюс ах подсети iS^. Пусть а„ —
ГЛ. II. ДВУХПОЛЮСНЫЕ СЕТИ
179
первая вершина цепи, принадлежащая S2, т. е. один из ее
полюсов. Тогда либо ^=«2 либо а2 встречается в цепи позже о^. В
последнем случае ах $ §2 и, следовательно, ах $ S^. Кроме того,
поскольку к2 встречается в цепи раньше любого ребра из 5Л,
а рх — второй полюс подсети 51 встречается позже этого ребра,
а2 является внутренней вершиной подцепи [«i^Pil, a значит, и
внутренней вершиной подсети Sv Но тогда a2$S\S1 и,
следовательно, a2&S\Sij, т. е. а2 не является граничной вершиной
для Sv.
Итак, в обоих подграфах S^ и 5и один из полюсов кх или аа
не является граничной вершиной (либо совпадает с другим).
Аналогичное рассуждение справедливо для той же цепи
относительно первой вершины, принадлежащей S\j, считая от Ps, и двух
других полюсов рх и р2 подсетей Sx и S2. Отметим, что ах и а2 не
могут совпадать с какой-либо из вершин J31? р2. Таким образом,
две вершины из четырех, про которые можно было предполагать,
что они являются граничными для 5П (соответственно для S\j)
либо совпадают с двумя другими либо не являются граничными.
Лемма доказана.
Следствие. Если Sx и S2 — сквозные подсети сети S,
то 5П (если она содержит хотя бы одно ребро) и S\j — также
сквозные подсети.
Для доказательства достаточно заметить, что полюсами
подсетей Sn и S\j могут быть только as и Ps.
2. Пусть две сети S и Т не имеют общих элементов. Заменим
некоторое ребро а=(аа, |За) сети S сетью Т, т. е. отождествим ат
и Рг соответственно с аа и Ра и удалим ребро а. Очевидно, что при
этом снова получится сильно связная сеть, в которой Т будет уже
подсетью. Эта сеть обозначается через Sa (T) и называется
суперпозицией внешней сети S и внутренней сети Т. Рассмотренная
операция называется операцией суперпозиции, или подстановкой
сети Т вместо ребра а сети S. Обратная операция, заключающаяся
в переходе от Sa (Г) к S, называется свертыванием подсети Т
в ребро а. В этом же смысле можно рассматривать суперпозицию
внешней сети и нескольких внутренних сетей (обозначение:
Sao а,, • ¦ ¦¦> ак (Ти Т2, . . ., Тк)), подставляемых вместо
различных ребер сети S, а также свертывание нескольких
непересекающихся подсетей.
Вообще говоря, подстановка сети Т вместо ребра а может быть
осуществлена двумя способами, в зависимости от того,
отождествляется ли аа с ат или с фт. Такие две подстановки будем
называть альтернативными. Принятое нами определение
суперпозиции не отражает этой возможности. В связи с этим введем еще
операцию перевертывания подсети Т, заключающуюся в переходе
от суперпозиции, порожденной некоторой подстановкой, к
суперпозиции, порожденной альтернативной подстановкой. Заметим,
12*
ISO
4. ГРАФЫ И СЕТИ
qTO альтернативные суперпозиции могут совпадать, если сеть Т
имеет автоморфизм, переставляющий полюсы.
Если обозначить через Е однореберную сеть (ее единственное
ребро обозначим через е), то для любой сети <S" будет выполнено
Ее (S) = Sa (E) = S, каково бы ни было ребро а е S. Такие
суперпозиции назовем тривиальными.
3. В терминах суперпозиций можно определить
последовательное и параллельное соединение сетей. Так, S1 •Sa=saiitti (Sv S2),
где s— сеть с двумя ребрами, изображенная на рис. 14, а.
Аналогично S1 V S2=pBltB,(S1, S2), где р — сеть с двумя
параллельными ребрамн, изображенная на рис. 14, б (s от series, p
« ?1 „ Ог ^
а) б)
Рис. 14.
от parallel). To же можно сделать и для соединения большего
числа сетей, если ввести в рассмотрение сети s" и р", изображенные
на рис. 15, а, б. В этих обозначениях
тгтш.....тя = ,'виЧ1 ^(т,, т2, ..., г„),
ZW2W--. У7. = «^,...,„(Г1. Г,. .... Тп),
или, сокращенно, s (Ти Г2, . . ., TJ и р (Тх, Тг, . . ., Тп). Будем
называть s-сетпъю (соответственно р-сетпъю) сеть, представимую
в виде s(Ти Т2, . . ., Т„) (соответственно в виде р G\, Т2, . . ., Tv)).
Сеть, не являющуюся ни s-сетью, ни р-сетыо, будем называть
Н-сетью.
Установим некоторые характеристические свойства s- и р- сетей.
Лемма 6. Для того чтобы сеть S была s-сетъю, необходимо
и достаточно, чтобы в S существовала разделяющая вершина.
Доказательство. Необходимость очевидна.
Достаточность. Каждая цепь [ag, [3gJ сети S разбивается
разделяющей вершиной у на две подцепи [as, у J и [у, |ЗЛ. Вика-
кие две элементарные цепочки [as, у] и jj, ps] (хотя бы
полученные из разных цепей) не имеют других общих элементов, кроме
вершины у, так как иначе существовала бы цепь, не проходящая
через вершину у. Таким образом, вся сеть разбивается на две
последовательно соединенные подсети: Sx= Utas, "(\ и
*^2=U [у, ?Ы, образованные ребрами и вершинами соответственно
первых и вторых частей всех цепей сети S, т. е. S=s (Sx, S2).
Заметим в заключение, что «^ и S2 — сильно связные сети (см. C)
стр. 178). Лемма доказана.
ГЛ. II. ДВУХПОЛЮСНЫЕ СЕТИ
18)
Лемма 7. Для того чтобы сеть S была р-сетъю, необходимо
и достаточно, чтобы она содержала сквозную подсеть, отличную
от всей сети S.
Доказательство. Необходимость очевидна.
Достаточность. Пусть S' — собственная сквозная
(подсеть сети S. Докажем, что S=p (S', S\S'). Подграф 5\5'
сильно связной) сети S не пуст и следовательно, имеет не менее
двух граничных вершин. Далее, 5\5' не может иметь с »S" вершин
соприкосновения, отличных от полюсов подсети <S', т. е. от as и
6s. Но граничная вершина подграфа 5\5'—это либо полюс сети S
либо его вершина соприкосновения с S'. Поэтому л5\6" имеет ровно
две граничные вершины asH |3s и является сквозной подсетью.
Лемма доказана.
~ а1 аг
© о о
as
а> 6)
Рис. 15.
Из сопоставления лемм 6 и 7 вытекает, что каждая сеть является
либо s-сетью, либо р-сетью, либо Н-сетъю, причем принадлежность
ее к одному типу исключает принадлежность к любому другому
типу.
4. Сеть называется разложимой, если она содержит хотя бы
одну нетривиальную подсеть, и неразложимой в противном случае.
Можно также сказать, что разложимая сеть (в отличие от
неразложимой) есть нетривиальная суперпозиция меньших (по числу
ребер) сетей.
Под разложением (разложимой) сети S будем понимать
представление ее в виде суперпозиции S=Rttlt„2 a„(S,, S2, ...
. . ., S,), где хотя бы одна из подсетей 5,- нетривиальна. Если
какие-либо из сетей Slt S%, . . ., Sn или R разложимы, то их,
в свою очередь, можно подвергнуть разложению и т. д. до тех пор,
пока все оставшиеся сети не окажутся неразложимыми. Таким
образом, всякая сеть может быть получена суперпозициями из
неразложимых сетей. В связи с этим представляет интерес вопрос
о каком-либо стандартном, или каноническом представлении
разложимых сетей.
Сначала будет описано каноническое разложение s-сетей и
р-сетей. Разложение S—s(S1, . . ., SK) s-сети S будем называть
каноническим, если ни одна из подсетей S{ не является s-сетью.
Точно так же разложение S=p (Sx, . . ., St) р-сети S будем
^-i2_©
А
182
4. ГРАФЫ И СЕТИ
называть каноническим, если ни одна из подсетей S{ не является
р-сетью.
Если .5=5 (St, . . ., St), то, как и в лемме 6, каждый из (п—1)
общих полюсов у1г . . ., уи_х подсетей Slf . . ., Sn является
разделяющей вершиной сети S. Любая другая разделяющая вершина
сети S лежит внутри некоторой подсети S{ и является для St
разделяющей. (Действительно, всякая цепь подсети S{ является
подцепью некоторой цепи сети S (см. B), стр. 178), и
следовательно, содержит любую разделяющую вершину сети S, лежащую
внутри Sf.) Поэтому в случае, когда разложение s-сети S
каноническое, никаких других разделяющих вершин, кроме ft, . . ., ft_a.
в сети S нет (см. лемму 6).
Выберем в каждой подсети St A ^ i ^ п) произвольную цепь
Л<=[у<_1, ¦{.] (подразумевается, что полюсами сети S( являются
T<-i и То причем у0=вд, a T«=P*s) и составим цепочку
А =А±А2 . . . Ап. Очевидно, что А — цепь сети S и
разделяющие вершины встречаются на ней в следующем порядке:
ft, ft, • • •' Тя-i- Покажем, что и на любой другой цепи сети S
эти вершины идут в том же порядке. В самом деле, допустим, что
на какой-то цепи В этот порядок нарушается. Пусть разделяющие
вершпны на цепи В идут в таком порядке: ft, . . ., ft_1? у., ....
где / ]> i (если г'=1, то первой вершиной является у •). Тогда,
поскольку участок [as, у,] цепи В так же, как и участок [уу, psl
цепи А, не содержит вершины у,., существует цепь, не проходящая
через разделяющую вершину yf, что невозможно.
Наконец, каждое ребро подсети S( A ^ i ^ п) ввиду сильной
связности S{ принадлежит некоторой элементарной цепочке
[т«-1> Т,Ь а каждая элементарная цепочка [ft_lr у,] содержит
внутри себя только элементы из St (иначе подобно тому, как это
сделано выше, можно было бы построить цепь, не проходящую
либо через у(_г, либо через ft, что невозможно). Поэтому
St=U [t*_i, TJ-
Таким образом, множество всех разделяющих вершин s-cemu
единственным образом определяет ее каноническое разложение.
Если S=p (Sx, . . ., SJ, то каждая из подсетей S{ является
сквозной подсетью. Отсюда и из "леммы 7 вытекает, что в
каноническом разложении р-сети S никакая подсеть S{ не содержит
сквозных подсетей сети S (не считая самой St), т. е. каждая
сквозная подсеть Sf минимальна (по включению). Очевидно, что каждое
ребро а е S входит в некоторую минимальную сквозную подсеть.
Поскольку никакие минимальные сквозные подсети сети S не имеют
общих ребер (см. следствие из леммы 5), каждому ребру а е S
можно сопоставить единственную минимальную сквозную подсеть
Sa сети 5, содержащую а. Ясно, что Sa входит в каноническое
разложение сети S. Таким образом, множество всех минимальных
ГЛ. II. ДВУХПОЛЮСНЫЕ СЕТИ
183
сквозных подсетей р-сети единственным образом (с точностью до
перестановки подсетей) определяет ее каноническое разложение.
5. Уточним теперь по сравнению с леммой 5 взаимное
расположение двух подсетей.
Теорема 13 [7]. Пусть Sx и S2 — произвольные подсети
сети S; 5^=5! |~| Sa, S\J=S1 \J S2. Тогда возможен один и только
один из следующих случаев (с точностью до перенумерации 52
и S2):
а) Sn — пустой подграф;
б) Sx С S2;
в) su = p(si\sn> ^n. 52\5п);
г) S\j — s(Si\Sf\' $n> ^гХ^п)-
Доказательство. Предполагая, что Sn не пуст и
S1 ф S2, S2 с? Slt установим, что реализуется один из случаев
в) или г). Пусть А — какая-нибудь цепь сети S, проходящая через
некоторое ребро из 5П. Из доказательства леммы 5 видно, что А
проходит через все полюсы подсетей Sx, S2b следующем порядке:
сначала встречается первый полюс одной из подсетей — скажем,
полюс аг подсети Slt затем первый полюс а2 подсети S2, после
этого — ребра из Sn и, наконец, два других полюса рх и р2
подсетей Sx и S2. Таким образом, эти четыре полюса могут
располагаться на цепи А лишь в одном из следующих порядков:
1) «1, «2, Р2> $V
2) а1г <х2, р1( р2;
причем ах может совпадать с а2, а рх с р2.
Случай 1. S1 является сквозной подсетью в S\j. Ввиду того,
что S2 (J Slf подграф 5и\51 не пуст и является сквозной подсетью
в Sv (см. доказательство леммы 7).
Поскольку 5и\51 С S2, то ах = а2, рх = р2. Но тогда 52, а вместе
с ней 5П и iSuX^n» также являются сквозными подсетями в S\j.
Отсюда следует, что 5и представляет собой параллельное
соединение сквозных подсетей <S1\5'pl, S^ и S2\5n в согласии с
вариантом в).
Случай 2. Можно считать, что все четыре полюса различны,
так как иначе случай 2 сводится к случаю 1.
Поскольку ах ф S2 и р2 ^ St, любая цепь [аг, р2] подсети ?и
начинается ребром из Sx и заканчивается ребром из S2. Поэтому
она проходит и через два другие полюса а2 и (Вг подсетей <SX и S2,
т. е. эти вершины являются разделяющими в S\j. Отсюда
непосредственно вытекает, что в данном случае реализуется вариант г), так
как разделяющие вершины расчленяют Sy на последовательно
соединенные подсети: «^Х^п между осх иа2, Sn междуа2ир15 S2\Sr)
между рх и В2. Теорема доказана.
6. Назовем собственную подсеть S' сети 5 максимальной,
если не существует нетривиальной подсети S" такой, что S' С S".
Пусть Sx и 52 — различные максимальные подсети сети S с не-
184
4. ГРАФЫ И СЕТИ
пустым пересечением. В силу леммы 5 подграф St \J S2 должен
быть тривиальной подсетью, т. е. St \J S2—S. Вместе с тем ясно,
что здесь реализуется один из случаев в) или г) теоремы 13,
т. е. 5 является р-сетью или s-сетью. Поэтому из теоремы 13
вытекает
Следствие. Максимальные подсети Н-сети попарно не
пересекаются.
Если все максимальные подсети .ff-сети S подвергнуть
одновременному свертыванию (возможность такого свертывания как раз
и обеспечивается тем, что эти подсети попарно не пересекаются),
то получится сеть Ф без нетривиальных подсетей, т. е.
неразложимая сеть.
Разложение Я-сетп ?=Ф (Sv S2, . . ., SJ будем называть
каноническим, если S1: S2, . . ., Sn — набор всех максимальных
подсетей сети S. Согласно предыдущему
замечанию внешняя сеть Ф канонического
разложения Я-сети является обязательно
неразложимой. Из определения Я-сети
следует, что сеть Ф отлична от сетей s и р
(см. рис. 14) и поэтому (см. ниже)
содержит не менее пяти ребер. Очевидно,
наконец, что каждая Я-сеть допускает
единственное каноническое разложение.
В связи с разложением разложимых
сетей (в особенности Я-сетей) на более
простые представляет интерес изучение неразложимых сетей.
Ограничимся простейшими фактами.
Непосредственной проверкой можно убедиться в том, что
справедливы следующие утверждения.
1) Существуют лишь две неизоморфные неразложимые сети
с двумя ребрами. Это сети s и р, изображенные на рис. 14.
2) Не существует неразложимых сетей с 3, 4, 6 ребрами.
Это легче всего проверить, воспользовавшись парой неравенств,
выражающих зависимость между числом Ъ вершин и числом р
ребер в неразложимой сети (р ^ 3):
Рис. 16.
36-
2 . . 6 (b ¦
i)
¦ 1.
(Первое из этих неравенств следует из того, что в неразложимой
сети при р ^ 3 степень каждого полюса не меньше 2, а степень
каждой внутренней вершины не меньше 3. Второе неравенство —
следствие того, что в неразложимой сети при р ^ 3 нет
параллельных ребер и нет ни одного сквозного ребра.)
3) Существует лишь одна неразложимая сеть с 5 ребрами:
мостик, изображенный на рис. 16.
ГЛ. II. ДВУХПОЛЮСНЫЕ СЕТИ
185
4) Для любого р ^ 7 можно построить неразложимую сеть
с р ребрами, например, так, как это показано на рис. 17, а (для
р=2к+5) и 17, б (для р=2к+е>) (к > 1).
5) Неразложимая сеть, содержащая более двух ребер, не может
быть s- или р-сетью и поэтому является Н-сетью.
7. Здесь будет установлено одно характеристическое свойство
параллельно-последовательных сетей (П-сетей).
Назовем вершину § достижимой для цепи А сети S, если
§ е А, либо для некоторой внутренней вершины а цепи А
существует элементарная цепочка [а, В], не проходящая через полюсы
сети S.
Л е м м а 8. Для того чтобы сеть S, содержащая хотя бы одну
внутреннюю вершину, была р-сетью, необходимо и достаточно,
а) 6)
Рис. 17.
чтобы в ней существовали цепь А и вершина 8, не достижимая
для цепи А.
Необходимость. Если S=p (S^ S2), и, например, S^
содержит внутреннюю вершину §, то для любой цепи подсети Sc
вершина S недостижима.
Достаточность. Пусть Sx — подграф, натянутый на
множество вершин, достижимых для цепи А. Ясно, что Sx
содержит оба полюса as и fa сети S. Далее, если внутренняя вершин?,
сети S достижима для Л, то и все соседние с ней вершины
достижимы для А.
Отсюда следует, что, во-первых, 5\51 содержит оба полюса а,..
и fa (ибо всякая цепь, проходящая через вершину §, не
достижимую для А, состоит из ребер, не принадлежащих Sj); и, во-втс-
рых, S1kS\S1 не имеют вершин соприкосновения, отличных от as
и fa. Таким образом, St и 5\5г — сквозные подсети сети S и
S=p(Slt S\S1). Лемма доказана.
Теорема 14. Для того чтобы сеть S была И-сетъю,
необходимо и достаточно, чтобы все ребра сети можно было
ориентировать таким образом, чтобы всякая цепь являлась путем из
полюса a-s в полюс fa.
186
4. ГРАФЫ И СЕТИ
Условие теоремы можно сформулировать по-другому: через
любое ребро сети все цепи проходят в одном направлении.
Необходимость легко устанавливается индукцией по
числу ребер сети. Для однореберной сети утверждение очевидно.
Если S=s (S-l, S2), то каждая цепь сети S разбивается на две
подцепи, первая из которых есть цепь в Sx, а вторая — цепь в S2.
• Если же S=p (i?!, 52), то любая цепь сети S принадлежит целиком
либо St либо ^2, и является цепью в соответствующей подсети.
В обоих случаях требуемая ориентация ребер сети очевидна.
Достаточность также доказывается по индукции. Для
сети, содержащей всего одну цепь, в частности, для
однореберной сети, утверждение теоремы тривиально. Поэтому достаточно
показать, что всякая другая сеть S, удовлетворяющая условию
теоремы, представляет собой либо последовательное, либо
параллельное соединение меньших (по числу ребер) сетей.
Рассмотрим два случая.
1. Любые две дета сети S имеют общую внутреннюю вершину.
Тогда, по теореме 8, в сети S существует разделяющая вершина,
и по лемме 6, S есть s-сеть.
2. Существуют две цепи, А и В, не пересекающиеся во
внутренних вершинах. Можно считать, что обе эти цепи содержат
внутренние вершины, так как в противном случае одна из них
представляет собой сквозное ребро, т. е. сквозную подсеть и, но лемме 7,
S есть р-сеть. Если внутренняя вершина цепи В не достижима для
цепи А, то, по лемме 8, S есть р-сетъ. Предположение же о том,
что внутренняя вершина цепи В достижима для цепи А,
противоречит условию. Действительно, в этом случае на элементарной
цепочке, соединяющей цепи А я В, можно было бы выделить
участок (подцепь) С=[а, [3] такой, что aei, j3 e В и С
пересекается с цепями А и В только в вершинах а. и J3, причем а и ,3 —
внутренние вершины этих цепей. Тогда согласно замечанию
к лемме 3 существовали бы две цепи, проходящие в
противоположных направлениях через цепочку С (т. е. А, В и С образовывали бы
мостик). Теорема доказана.
Следствие. Используя рассуждения п. 2 доказательства
достаточности, нетрудно показать, что неразложимая сеть более
чем с двумя ребрами содержит мостик.
Глава III. ПОДСЧЕТ ЧИСЛА ГРАФОВ II СЕТЕЙ
§ 9. Некоторые простые оценки
1. При решении различных задач приходится учитывать
разнообразие графов и сетей определенного типа, в частности, графов
с фиксированным числом вершин и ребер. К сожалению, подсчет
•точного числа графов того или иного класса большей частью за-
ГЛ. til. ПОДСЧЕТ ЧИСЛА ГРАФОВ И СЕТЕЙ
187
труднителен даже при небольшом числе элементов. С другой
стороны, для решения многих задач достаточно знать
асимптотическое поведение числа графов при возрастании числа элементов или
даже его оценки. Здесь мы рассмотрим некоторые из этих задач
для неориентированных графов и сетей. Число элементов
множества М будем обозначать через \М\.
При подсчете числа сетей (заметим, что графы можно
рассматривать как сети с пустым множеством полюсов) различными
обычно считают неизоморфные сети (графы). Однако если элементы
сети перенумерованы, то различными считаются сети, не
переводимые друг в друга изоморфизмом, сохраняющим нумерацию.
Такие сети будем называть сетями с занумерованными элементами.
Понятно, что если <&' (Ь) — какой-либо конечный класс графов с Ъ
занумерованными вершинами, а ?7" (Ь) — класс тех же графов
с незанумерованными вершинами, то
№'(b)\>\r(b)\>±W'(b)\, A)
причем в последнем случае равенство достигается только, если
ни один граф из класса §?" (Ь) не имеет нетождественных
автоморфизмов.
Для определения числа графов часто удобно использовать
матрицу соседства вершин. Так, например, число
неориентированных графов с Ъ занумерованными вершинами без петель и кратных
ребер равно числу симметрических матриц из 0 и 1 с нулями
на главной диагонали, т. е. 2(-ь2~ь'>12. Аналогичным образом,
учитывая также A), можно получить ряд других простых результатов.
Пусть теперь © — класс неизоморфных двухполюсных сетей
с р ребрами, не содержащих изолированных внутренних вершин.
Лемма 9. Пусть р ^ 1. Тогда
\®Р\<(ср)>,
где с — некоторая константа.
Доказательство. Очевидно, что число вершин в
каждой сети из © не превосходит 2р+2. Занумеруем их числами
1,2, . . ., 2р+2 и будем считать, что полюсами сети являются
первые две из этих вершин. Каждое ребро определяется двумя
вершинами (не обязательно различными), так что для каждого ребра
имеется не более Bр+2J ^ 16/?3 возможностей, а для р ребер —
не более, чем число сочетаний с повторениями из 16р2 элементов
по р, т. е.
№р\^Ь1врЧр-1 ^ J] ^ Jp — \СР) ,
где с=17е. Лемма доказана.
188 4. ГРАФЫ И СЕТИ
§ 10. Подсчет числа деревьев
1. Рассмотрим дерево с Ъ вершинами, занумерованными
числами 1, 2, . . ., Ъ. Будем обозначать через г вершину с
номером i. Пусть ix — вершина, имеющая наименьший номер среди
концевых вершин дерева; jx — единственная вершина, соседняя
с ix. Удалим из дерева вершину гх и ребро (г1; /х). В оставшемся
дереве пусть i2 — снова вершина, имеющая наименьший номер
среди концевых вершин, а (г2, /2) — инцидентное ей ребро; удалим
его, и т. д. до тех пор, пока после удаления ребра (г4_2, /4_2) не
останется одно ребро. Положим I=(i1, i2, • ¦ -, h-i)> ^=(/и in ¦ ¦ •
. . ., /j_„). Для дерева, изображенного на рис. 18, /=B, 3, 5, 7,
8, 9, 1, 4), /=C, 4, 4, 8, 10, 1, 4, 6).
Набор I=(i1, i2, ¦ • •» г6_2), а вместе с ним
и набор J=(}1, 72, . . ., /4_2) определяется по
данному дереву однозначно, причем в первом
наборе все вершины различны, а во втором не
обязательно. Более того, как мы сейчас
убедимся, любой набор J=(f1, ¦ ¦ ., /4_2), где
1 ^ ]'к ^ ^ Для к=1, . . ., Ъ—2, соответствует
некоторому дереву; оно может быть построено
следующим образом.
Пусть i± — наименьшее число из IV—{I, 2,. ..
. . ., Ь}, не содержащееся в наборе / (оно
обязательно существует, так как / содержит Ь—2
чисел). Соединим ребром вершины it и /1? вычеркнем число Д из
набора /, число ^ из N и повторим процесс, выбирая из iVx =
=^V\{i1} наименьшее число ?2, не принадлежащее набору
А—0'г> • • •> h-i)' соединяя i2 с j2 и вычеркивая /2 из набора /х п
г2 из Nt и т. д. Последними соединяются ребром две вершины,
оставшиеся в ЛГ4_2.
Нетрудно заметить, что для любого к — 1, 2, . . ., 6—2 среди
ребер, построенных после к-го шага, нет ребер, инцидентных
вершине ik, и имеется хотя бы одно ребро, инцидентное вершине /,..
Учитывая это и рассматривая процесс построения в обратном
порядке, нетрудно показать индукцией по к, что действительно
получается дерево, так как теперь на каждом шаге присоединяется
ребро с новой вершиной, т. е. концевое. Аналогичным образом, по
индукции, но уже при рассмотрении процесса построения в прямом
направлении доказывается, что этому дереву соответствует как раз
набор /.
Наконец, различным деревьям, очевидно, не может
соответствовать одна и та же пара наборов (/, /), так как по паре (/, /)
дерево восстанавливается однозначно. Но если /' =^= I", то и /' =^= I".
(Действительно, пусть к — наименьший номер, при котором i'k^
^=i"k, скажем, i'k < i"k; тогда i'k не входит в (j'k, . . ., /4_2), но вхо-
ГЛ. III. ПОДСЧЕТ ЧИСЛА ГРАФОВ И СЕТЕЙ
189
дит в (j°k, . . ., /j-2)-) Поэтому разным деревьям соответствуют
разные наборы /.
Отсюда следует
Теорема 15 (Кэли, см. [6]). Число деревьев с Ъ
занумерованными вершинами равно Ьь~2.
Из теоремы 15 с помощью A) и формулы Стирлинга получаем
Следствие. Число различных неизоморфных деревьев
с Ъ вершинами больше, чем С e'lb*, где С — некоторая константа.
Поскольку число вершин в дереве отличается от числа ребер
на единицу, аналогичное соотношение справедливо и для числа
неизоморфных деревьев с р ребрами.
2. Будем теперь кодировать корневые деревья словами
(наборами) из нулей и единиц по следующему индуктивному правилу:
I. Кодом дерева, состоящего из одного ребра, является
слово 01.
ПА. Если дерево имеет одно корневое ребро, то его кодом
является слово Oal, где a — код дерева, получающегося при
удалении корневого ребра и объявлении корнем его второго
конца.
НБ. Если корневых ребер несколько, скажем, к, то можно
считать, что дерево получено склеиванием в корне к поддеревьев
с меньшим числом ребер. Если <\х, . . ., <хк — коды этих
поддеревьев, то слово аг. . ,ак является кодом всего дерева.
Очевидно, что код дерева с р ребрами есть слово длины 2р,
содержащее поровну нулей и единиц, причем в любом начальном
отрезке этого слова нулей не меньше, чем единиц. Например,
кодом дерева, изображенного на рис. 18, имеющего корнем
вершину 4, является набор 001101001100001111.
Заметим, что в случае применения правила ПБ слово аг
является наименьшим непустым начальным отрезком слова ах . . .ак,
содержащим поровну нулей и единиц; то же самое верно для
а2 по отношению к слову а2 • • • йк и т. д. Поэтому по своему коду
дерево восстанавливается однозначно. Таким образом, число
|<Э (р)\ неизоморфных корневых деревьев с р ребрами не
превосходит числа слов длины 2р из нулей и единиц, т. е. справедлива
Лемма 10. |© (р)\ < А".
Замечание. Если упорядочить в каждой вершине а ветви
поддерева Da и считать различными деревья с точностью до
изоморфизма, сохраняющего эту упорядоченность, то описанное выше
кодирование станет однозначным, а оценка сохранится.
Существенно более сложным способом устанавливается [14],
что |® (р)\ -^АВр1р^, где А и В — некоторые константы, причем
5=2,9. . .
Рассмотрим другой способ кодирования корневых деревьев
словами из нулей и единиц. Будем обходить дерево, начиная от
корня, пользуясь следующим правилом: если в данный момент мы
190
4. ГРАФЫ И СЕТИ
находимся в некоторой вершине а. г'-го яруса и из нее исходит
хотя бы одно еще не пройденное ребро в (непосредственно
подчиненную) вершину (г+1)-го яруса, то перейдем в нее; если
такого ребра нет, то при i > 0 перейдем в (единственную!)
вершину (i—1)-го яруса, которой непосредственно подчинена
вершина а; обход заканчивается, если предыдущие правила
неприменимы.
По индукции можно показать, что A) обход заканчивается
в корне дерева после того, как каждое ребро дерева пройдено по
одному разу в каждом из противоположных направлений,
т. е. длина обхода равна 2р\ B) если при этом обходе
последовательно писать нуль или единицу в
зависимости от того, от корня или к корню на
данном шаге проходится очередное ребро,
т то полученное в конце обхода слово
совпадает с кодом дерева при рассмотренном
ранее способе кодирования (конечно, при
определенном упорядочении поддеревьев,
совпадающем с упорядочением ребер при
выборе очередного хода из данной вер-
Рис. 19. шины).
3. Нам понадобится также
Лемма 11 [5]. Пусть Q (р, т) — класс различных
упорядоченных систем из т корневых деревьев (без общих элементов),
содержащих в совокупности р ребер (при этом допускаются деревья
без ребер, состоящие из одного корня). Тогда
|6(р, m)|<4*+m.
Доказательство. Системе деревьев (Dx, D2, . . ., Dm)
с корнями аи а2, . . ., ат поставим в соответствие дерево D0
(рис. 19), которое получается из деревьев Dx, D2, . . ., D,„, если
добавить вершину а0, ребра (а0, ctj), . . ., (а0, ат) и объявить а0
корнем. Это соответствие взаимно однозначное, если учитывать
упорядоченность ветвей в корне. Поскольку дерево D0 содержит
(р-\-т) ребер, число различных деревьев (с учетом упорядочения)
не превосходит 4р+т (см. замечание к лемме 10).
§ 11. Оценки числа графов и сетей с р ребрами
1. Пусть © (р, Ъ, t) — класс всех неизоморфных ?-полюс-
ных сетей, каждая из которых содержит р ребер (допускаются
петли и кратные ребра), Ь вершин, среди них t полюсов,
занумерованных числами 1, 2, . . ., t, ив каждой связной компоненте
хотя бы по одному полюсу.
ГЛ. III. ПОДСЧЕТ ЧИСЛА ГРАФОВ И СЕТЕЙ
191
Теорема 16 [5].
\®(р, Ъ, 1)\^А^Ы'Ы,
где А — некоторая константа.
Доказательство. В каждой сети S из © (р, b, t)
следующим образом выделим упорядоченную систему из t корневых
деревьев, которые в совокупности содержат все вершины сети и
имеют корнями ее полюсы.
Пусть Т — множество полюсов сети S. Припишем каждой
вершине « сети S индекс i (г'=0, 1,2,.. .), равный ее расстоянию
до множества Т: i=d(a, T) (в графе расстояние от вершины до
некоторого множества вершин определяется как минимум ее
расстояний до вершин этого множества). Множеством вершин
нулевого индекса является Т. Так как каждая связная компонента
сети S содержит некоторый полюс, каждая вершина из S получит
какой-нибудь индекс.
Для каждой вершины а индекса i (i ^ 1) существует (вообще
говоря, не единственное) ребро, соединяющее ее с вершиной
индекса (i—1) (таким ребром является инцидентное а ребро,
принадлежащее кратчайшей цепи из а в Т). Возьмем для каждой
вершины а$Т ровно одно такое ребро. Их объединение Е дает
искомую систему из t корневых деревьев.
В самом деле, концы каждого выбранного ребра имеют индексы,
различающиеся на единицу. Если предположить, что Е содержит
элементарный цикл, то вершина цикла, имеющая максимальный
индекс, оказалась бы инцидентной двум ребрам, вторые концы
которых имеют меньший индекс. Однако в Е каждая вершина
индекса i (i ^ 1) имеет ровно одну соседнюю вершину индекса i—1
и связана с ней одним ребром.
Е содержит (b—t) ребер. Отсюда, в частности, следует, что
Ь —<<Р- B)
Число ребер, не принадлежащих Е, равно р—6-М.
Теперь каждая сеть из ® (р, b, t) может быть получена так.
1) Выбирается упорядоченная система из t корневых деревьев,
содержащая в совокупности (b—t) ребер (и Ь вершин). В силу
леммы И это можно сделать не более, чем 4Р+* способами.
2) «Восстанавливаются» оставшиеся п=р—b-\-t ребер (не
исключается, что га=0). Для выбора концов каждого ребра имеется
не более Ъг возможностей. Число В возможностей для всех ребер
не превосходит числа сочетаний с повторениями из Ъ°- элементов
по п, т. е.
Поэтому
\®(Р, ь, ОК^'С!-,,. C)
192
4. ГРАФЫ И СЕТИ
Если га=0, то неравенство теоремы следует из C) очевидным
образом. Рассмотрим два случая, считая п >• 0.
1. Ь2^п. В этом случае
Cb.<Cfc<^<(^)"=<2er (l+*-^)V< Ч
<2ПЛ*< (в силу B)) ^Bе)риЬр-м.
2. Ъ2 <^п. В этом случае
СК„<С?Я<4Я<4"«.
Оценка C) и сопоставление случаев 1 и 2 показывают, что
неравенство теоремы выполняется, например, при А = 8е.
Следствие. Число неизоморфных графов, имеющих р ребер,
Ъ вершин и не более к компонент связности, не превосходит
др+kfop-b+k __ ДР+Ьр''
2. Получим теперь некоторые оценки числа связных графов
без петель и кратных ребер. Пусть © (р, Ъ) — класс связных
графов без петель и кратных ребер, содержащих р ребер и Ь вершин;
р+1
© (Р) = U © (Р, Щ **).
4=2
Л е м м а 12 [4]. | © (р, Ъ) |< Ъ2 [\)Р &» QP"b.
Доказательство. Каждый граф из © (р, Ь) можно
получить из некоторого дерева с Ъ вершинами (остова графа)
добавлением (р—6+1) хорд, подобно тому как это описано в
доказательстве теоремы 16. Разница лишь в том, что не допускаются
петли и кратные ребра, поэтому для хорд имеется не более С\ ^
^ Ь2/2 возможностей, а для подсчета числа Б надо брать сочетания
без повторений. Отсюда
|®(р, 6)|<4*С^+1. D)
Если Ъ равно р или р-\-1, то легко проверяется, что из D)
следует утверждение леммы. Далее, при b < р
гР-ь+\ ^ (bV2)P~b 62 .,,/е\Н/ 62 у_4
С*/* <jfz~bf-r2(i^T+r)<b\'2) {Т=ь) = -
Из D) и E) следует утверждение леммы.
Лемма 13 [4]. | © (р) | < B. _J_ Ti (р)у , где Tl(p)-*1 при
р —*¦ со.
*) Используется неравенство 1 -\-х < ех.
**) Связный граф с р ребрами не может иметь более (р+1) вершин;
если р > 0, то 6^2.
ГЛ. III. ПОДСЧЕТ ЧИСЛА ГРАФОВ И СЕТЕЙ 193
Доказательство. Из определения © (р) следует, что
р+1
1©(рI = 2 1©(Р. Ь)\<р max \®{p, Ь)|< (в силу леммы 12)
При нахождении максимума мы приходим к уравнению
H?L+lnp —21n6 = 2 — In 8.
Если искать Ъшах (единственное, так как производная по Ъ левой
части уравнения отрицательна) в виде Ьт№=% (р) 2р/1п р, то нетрудно
{> Yi$
a a a a
a) 6)
Рис. 20.
убедиться, что 8 (р) -*¦ 1 при р-* оо, т. е. Ьшах ~2р/1п р. Сделав
подстановку в F), можно проверить справедливость леммы.
Пусть ©' (р, Ь) — класс не обязательно связных графов
с р ребрами, Ъ вершинами, без петель и кратных ребер, но, быть
может, с изолированными вершинами.
Лемма 14 |4]. | ©' (р, Ь) | > -^ (^zlL _ rf.
Доказательство. Каждый граф из ©' (р, Ъ) задается
матрицей инциденций А, каждый столбец которой имеет две
единицы и все столбцы различны. Во всех матрицах А (для всех
графов из ©' (р, Ь)) имеется q =С\ различных столбцов. Поэтому число
различных матриц равно q (q— 1) . . . (g-p-j-l)>(g-p)f. Каждый
граф может задаваться не более чем р\Ь\ различными
матрицами (ср. A)), откуда следует утверждение леммы.
Относительно разделяющей вершины а все остальные вершины
связного графа разбиваются на классы эквивалентности, если
в один класс отнести все вершины, не разделенные вершиной а.
Граф распадается на подграфы, натянутые на каждый такой
класс вершин, расширенный добавлением а. Эти подграфы
называются л-компонентами графа. Например, а-компоненты графа,
приведенного на рис. 20, а, изображены на рис. 20, б. Все «-ком-
13 Дискретная математика, т. I
194
4. ГРАФЫ И СЕТИ
поненты связны и содержат хотя бы по одному ребру. Отметим еще,
что вершина а в каждой из а-компонент является неразделяющей.
В связном графе Ge© (p) не более (р+1) вершин, причем,
по лемме 4, есть неразделяющие, т. е. разделяющих не более р.
Поэтому если расщепить граф G по очереди по каждой
разделяющей вершине к4. на а,.-компоненты, то из него получится не более
чем р различных графов G'e@'(p) = (J ®'(p,b). (Граф G' не
содержит изолированных вершин; следовательно, общее число его
вершин не превосходит 2р.)
С другой стороны, каждый граф G' без изолированных вершин
из ©' (р) либо совпадаете некоторым графом G е © (р), либо может
быть получен из такого графа описанным выше способом (вообще
говоря, не единственным образом). Действительно, выбрав в
каждой компоненте связности графа G' неразделяющую вершину и
склеив все выбранные вершины в одну, мы придем к графу
Ge® (p), из которого расщеплением по этой вершине получается
граф G'. Поэтому в ©' (р) содержится не более (р+1)|© (р)\
графов без изолированных вершин.
Из одного графа G'e©' (p) без изолированных вершин
получается не более 2р графов из ©' (р) добавлением изолированных
вершин, и наоборот, каждый граф из ©' (р) получается этим
способом из графа без изолированных вершин.
Таким образом, справедлива
Лемма 15 [4J. | © (р) | >2р(р\ 1} I &'(р) I-
Теорема 17 [4].
1®0>>1=(т-Е?]ГТ(Р))\
где у (р) -> 1 при р -»¦ оо.
Доказательство. Из леммы 15 следует, что для
любого Ъ <; 2р
l®(p)l>W+Tj|®'(p- ь)|- G)
Из G) и леммы 14, применяя формулу Стирлинга, имеем
ln|©(p)|>pln(^=-^ — р) —plnp + p — Ып& + Ь + 0Aпр)+0Aп6).
Положим Ъ=[|у. Тогда 6=^A+ оA)), In 6 = \пр{\ + оA)),
Ып6 = 2рA + оA)), \п{—^—p) = 21np — 21nlnp + In 2+ оA)
и1п|@(р)|>рAпр — 21nlnp4-ln2— 1+оA)), откуда | © (р) | >
*** (т' й^р 4-2 (Р)) > гДе Т2 (Р) -*¦ 1 ПРИ Р ~* °° • Утверждение теоремы
следует из сопоставления этого неравенства и леммы 13.
ГЛ. IV. РАСКРАСКА ГРАФОВ
195
Глава IV. РАСКРАСКА ГРАФОВ
§ 12. Хроматическое число и хроматический класс
Говорят, что вершины (соответственно ребра)
неориентированного графа G без петель правильно раскрашены, если каждой
вершине (соответственно каждому ребру) графа сопоставлен
ровно один из заданного набора цветов, причем любым двум
соседним вершинам (соответственно смежным ребрам) сопоставлены
разные цвета. Граф, вершины или ребра которого правильно
раскрашены, будем называть правильно раскрашенным, если из
контекста ясно, какие именно элементы графа раскрашиваются
или это безразлично. Очевидно, что всякий подграф правильно
раскрашенного графа также правильно раскрашен. В
дальнейшем нам будет удобно нумеровать цвета натуральными числами
1,2,.... Отрезок натурального ряда от 1 до А; включительно
будем обозначать через Nk. Можно сказать, что (правильная)
раскраска вершин (соответственно ребер) графа — это функция с
натуральными значениями, определенная на множестве вершин
(соответственно ребер) и разнозначная на концах каждого ребра
(соответственно на ребрах каждой звезды) графа.
Интересной и важной задачей является определение
наименьшего числа у (?) (соответственно у' (G)) различных цветов, с
помощью которых можно правильно раскрасить вершины
(соответственно ребра) графа G. у (G) называется хроматическим числом,
а /' (G) — хроматическим классом графа G.
Мы получим оценки величин у к у чеРез некоторые параметры
графа. При этом достаточно будет рассматривать связные графы —
для несвязных графов задача сводится к независимой раскраске
отдельных компонент связности.
§ 13. Раскраска вершин
1. В этом параграфе будем рассматривать графы без петель и без
кратных ребер, поскольку наличие или отсутствие кратных ребер
никак не влияет на правильность раскраски графа. Отметим,
что подграф, натянутый на множество вершин, окрашенных
одинаково, при правильной раскраске графа не содержит ребер.
Очевидно, что для всякого графа G с Ъ вершинами у (G) ^ Ъ,
причем равенство достигается только для полного графа. С другой
стороны, если в графе имеется хотя бы одно ребро, то у (G) ^ 2. •
2. Графы, для которых у (G)=2, называются
дихроматическими. Ясно, что бихроматический граф является двудольным
(см. § 1), и наоборот, всякий двудольный граф, содержащий хотя бы
одно ребро, бихроматичен. Мы получим сейчас другое условие
бихроматичности и, тем самым, двудольности графа.
13*
196
4. ГРАФЫ И СЕТИ
Теорема 18. Для того чтобы граф, содержащий хотя бы
одно ребро, был дихроматическим, необходимо и достаточно,
чтобы он не содержал элементарных циклов нечетной длины.
Необходимость. Поскольку на цикле цвета при
правильной раскраске должны чередоваться, вершины цикла
нечетной длины не могут быть правильно раскрашены в два цвета, и
следовательно, содержащий его граф не может быть бихроматическим.
Д о с т а т о ч% ость. Заметим прежде всего, что дерево
бихроматично. В самом деле, используем представление дерева,
описанное в п. 3 § 3. Окрасим все вершины четных ярусов в один
цвет, а все вершины нечетных ярусов в другой цвет. Эта раскраска
правильная, так как ребра в дереве соединяют только вершины
соседних ярусов.
Рассмотрим теперь элементарную цепь, соединяющую в дереве
вершину i-го яруса и вершину /-го яруса. На каждом ее ребре
происходит изменение номера яруса на единицу. Поэтому ее длина
имеет ту же четность, \что и число i—/'. В частности, вершины,
принадлежащие ярусам одинаковой четности, связаны
элементарной цепью^четной длины.
Если мы выберем теперь в графе G, не содержащем
элементарных циклов нечетной длины, любой остов, то хорды относительно
этого остова будут связывать вершины из ярусов разной четности
(иначе в графе G появился бы элементарный цикл нечетной длины),
т. е. двухцветная правильная раскраска остова будет правильной
раскраской и в графе G. Теорема доказана.
3. Если ^'граф содержит в качестве подграфа ^-вершинный
полный граф К , то его хроматическое число, очевидно, не
меньше х- Противоположное утверждение, однако, неверно.
Существуют графы даже без трехвершинных полных подграфов
(треугольников), имеющие сколь угодно большое хроматическое
число у.
Пример такого графа G строится индуктивно [13, 3]. G2 состоит
из одного ребра. Пусть G г уже построен и его множество вершин
X = (aj, а9, . . ., аь}. Добавим к G х множество вершин X'=
= {а1; а'2, . . ., а'ь} и дополнительную вершину р. Введем ребра,
связывающие каждую вершину а', с C, а также со всеми вершинами
из X, соседними в G г для а. (рис. 21).
Докажем, что полученный граф G% не содержит треугольников.
По предположению индукции, их нет в Gx_2. Так как вершины из
множества X' не связаны друг с другом, то треугольник не может
иметь больше одной вершины из X', а также не может содержать
вершину р, поскольку р связана только с вершинами из X'.
Наконец, если бы существовал треугольник [а(, а^., а^],то, поскольку
ак и ак имеют в X одни и те же соседние вершины,
существовал бы и треугольник [ol, а., лк], что противоречит
предположению индукции.
ГЛ. IV. РАСКРАСКА ГРАФОВ
197
Теперь покажем, что х(^у)=1- Очевидно, что % (G2)=2.
Пусть уже известно, что ^ (G1)=%—!• Тогда G можно правильно
раскрасить ^ цветами: например, можно раскрасить G х %—1
цветами из iV 1? после этого каждую вершину а'{ из X' окрасить
в цвет вершины ait а вершину [3 в новый цвет jj.
Остается показать, что G нельзя правильно раскрасить %—1
цветами. Предположим противное. Пусть в графе С?х, правильно
раскрашенном %—1 цветами, вершина р окрашена в цвет I.
Тогда вершины множества X' окрашены в цвета, отличные от I.
Пусть АС.Х — подмножество вершин, окрашенных в цвет I.
Рис. 21.
Каждую вершину а^А перекрасим в цвет, которым окрашена
соответствующая ей вершина л'{. После этого вершины подграфа
G yCLG будут окрашены в ^—2 цветов, причем, как мы сейчас
убедимся, соседние вершины будут окрашены в разные цвета.
Действительно, пусть (а{, а.) — произвольное ребро графа G х.
Ясно, что в графе G вершины at и а. были окрашены в разные
цвета.. Поэтому они не могут одновременно принадлежать
множеству А. Если а($.А, а.$А, то при перекраске их окраска не
изменится. Если же а.<?А, а $ А, то после перекраски они
по-прежнему окрашены различно, так как в G существует ребро (а^, а^.)
и следовательно, вершины а'( и к окрашены в разные цвета.
Таким образом, сделанное нами предположение приводит к тому,
что существует правильная раскраска графа G х в у—2 цветов, а это
противоречит предположению индукции.
4. Рассмотрим, как связано хроматическое число со степенями
вершин графа. Обозначим через s (G) максимальную из степеней
вершин графа G, а через Г# — класс графов без кратных ребер, для
которых s (G) ^ s.
198
4. ГРАФЫ И СЕТИ
Нетрудно показать индукцией по числу вершин, что если
GeTs, то х (G) < s+1. В самом деле, если число вершин в графе
меньше или равно s+1, то утверждение тривиально. Пусть теперь
это утверждение установлено для всех грдфов из Г8, имеющих
меньше вершин, чем граф G. Удалим из G звезду произвольной
вершины к и в соответствии с предположение^ индукции правильно
раскрасим граф G\Za s+1 цветами. В графе G у вершины а не
более s соседних, поэтому в iVs+1 есть хотя бь1 один цвет, которым
не окрашена ни одна из вершин соседних с ?¦¦ Его можно
использовать для окраски вершины а, после чего граф G будет правильно
раскрашен s+1 цветами.
Полный (в+1)-вершинный граф Кв+1 представляет собой
пример графа из Г,, для которого хроматические число равно s+1.
Приводимая ниже теорема утверждает, что этот пример —
единственный.
Предварительно опишем одну процедуру. Пусть беГ, и пусть
задана произвольная правильная раскраска вершин графа G
в некоторое число цветов (быть может, большее, чем у (&')).
Выделим некоторую вершину т0 и исходящую из нее элементарную цепь
[т0, т1; т2, . . ., тд].
Покажем, что можно так изменить окраску вершин цепи
| т0, тя], не меняя окраски остальных вергшш графа, что каждая
вершина этой цепи, за исключением, быть может, вершины т0,
будет окрашена в один из цветов из TV,, и раскраска графа
останется правильной.
Будем последовательно изменять окраску вершин цепи [т0, тл]
в направлении от вершины тя к вершине "о- Граф G содержит
не более s вершин, соседних с тя, из них не более s—1 вершин,
отличных от тя_х. Очевидно, что в N, найдется цвет, которым не
окрашена ни одна из этих вершин. В него мы окрасим вершину
тд (при этом может оказаться, что in будет окрашена в тот же цвет,
что и тя_х). Далее, граф G содержит не более ?—1 вершин, соседних
с хп_х и отличных от ти_2. Ясно, что ¦zn_1 можно окрасить в цвет
из Ns, отличающийся от цветов этих вершин. Аналогично поступим
с вершинами ти_2, тя3 и т. д. В конце этого процесса вершину т0,
возможно, придется окрасить цветом, не принадлежащим Ns.
Весь процесс будем называть окрашиванием вершины -и из
вершины т0 по цепи [т0, тв].
Теорема 19 (Брукс, см. [3]). Пусть s>3 uG<eTs. Если
G^Ks+1, то у (G) ^ s.
Доказательство. Ясно, что производя
последовательное окрашивание всех вершин графа G е Г8 рз любой вершины о,
мы придем к правильной раскраске графа G, при которой все
вершины, кроме, может быть, вершины а, окрашены цветами
из Ns. Если G содержит хотя бы одну вершийУ ° степени меньше s,
то, производя окрашивание всех вершин из а, мы сможем затем
ГЛ. IV. РАСКРАСКА ГРАФОВ
199
окрасить и а одним из цветов из Nt, что и доказывает теорему
в этом случае.
В дальнейшем будем считать, что все вершины графа G имеют
степень s и доказательство будем вести индукцией по числу Ъ
вершин графа G. Если 6^s, то утверждение теоремы очевидно.
Пусть теперь теорема справедлива для всех графов с числом
вершин, меньшим, чем Ъ (b > s).
Можно считать, что граф G несепарабельный. Действительно,
сепарабельный граф можно представлять себе склеенным в одной
вершине из двух графов с меньшим числом вершин. Эти графы
удовлетворяют условию теоремы и поэтому могут быть правильно
раскрашены цветами из Ns. В одном из них можно так
переименовать цвета, чтобы склеиваемые вершины имели одинаковый цвет.
Тогда и окраска всего графа будет правильной.
Ввиду того, что G=^Kg+1, в графе G существуют две не соседние
вершины а и В. Окрасим все вершины графа G из вершины а.
В результате вершина 8 будет окрашена в цвет из Ng. Все s
соседних с ней вершин также будут окрашены в цвета из Ns, причем
в цвета, отличные от цвета самой вершины В. Поэтому среди них
найдутся две вершины,— назовем их у и 8, — окрашенные в один
цвет. Ясно, что у и 8 не соседние, т. е. граф G не содержит ребра
(Т. 8).
Если в графе G существует цепь [В, а], не содержащая ни у,
ни 8, то, окрасив вершину к из вершины В по этой цепи, можно
будет потом перекрасить р в какой-то цвет из Ne, так как среди
s соседей вершины ,3 две вершины у и 8 по-прежнему окрашены
одинаково. В результате получится правильная раскраска всего
графа в s цветов.
Остается рассмотреть случай, когда всякая цепь [3, а]
проходит через у или 8, т. е. {у, 8} — вершинный барьер в сети G
с полюсами а. и В. Пусть Vx — множество вершин графа G,
связанных с к цепями, не содержащими в качестве внутренних
вершин ни у, ни 8. Из несепарабельности графа G следует, что у,
b<=V1 (иначе все цепи [В, а] проходили бы через одну из этих
вершин). Пусть Нг — подграф, натянутый на V±, a H2=G\H1.
Очевидно, что Н1 и Н2 соприкасаются в вершинах у и 8, причем
степени вершин у и 8 в этих подграфах положительны и не
превосходят s—1 (Н^ можно было бы назвать {у, 8}-компонентой графа G,
по аналогии с термином а-компонента — см. § 11; Н.г тоже
представляет собой (у, 8}-компоненту или соединение нескольких
{у, 8}-компонент). Отметим также, что л^Н.г, a S^/Jj.
Пусть Щ и Н% — графы, полученные соответственно из Н1 и
#2 добавлением ребра (у, 8). Если ни Щ, ни Щ не совпадает
с К>1_1, то в силу предположения индукции % (Щ) <^ s и ^ (#1) ^
^ s; при этом при правильной раскраске в графах Щ и Щ
вершины у ц 8 окрашены в разные цвета. Переименованием цветов,
200
4. ГРАФЫ И СЕТИ
например, в Нг, можно добиться того, чтобы вершины у и 8 были
окрашены в Н1 в те же цвета, что и в Н2, после чего их склеивание
дает граф G с правильной раскраской.
Пусть теперь хотя бы один из графов, например, Щ, совпадает
с Kt+1. Тогда степени вершин у и 8 в подграфе Н1 равны s—1,
а следовательно, в подграфе Нг они равны 1. Итак, у {H\)=s-\-\\
однако х C^i) ^ s. Это означает, что при любой правильной
раскраске подграфа Н1 s цветами вершины у и 8 получают одинаковый
цвет. В графе Щ, полученном из Н2 склеиванием вершин у и 8 и
кратных ребер, которые могли при этом возникнуть, склеенная
вершина имеет степень не больше 2, все остальные — степень
не больше s. Следовательно, Щ не совпадает с Кв_г и, по
предположению индукции, х (Щ) ^ s- Это показывает, что Н2 может
быть правильно раскрашен в s цветов так, что у и 8 имеют
одинаковый цвет. Теперь уже ясно, что Их и Я2 могут быть склеены
с сохранением правильности раскраски. Теорема доказана.
§ 14. Раскраска ребер
1. В этом параграфе рассматриваются графы без петель, но.
быть может, с кратными ребрами. Функция, обратная к функции
инциденции ср, ставящая в соответствие каждой паре вершин графа
инцидентное им ребро, является, вообще говоря, многозначной.
Множество ее значений для данной пары вершин образует пучок
параллельных, или кратных ребер. Число ребер в пучке (а, р)
называется кратностью ребра (а, Р). Граф без кратных ребер —
это граф, кратности всех ребер которого не больше 1. Граф с
кратными ребрами иногда называют мулътиграфом.
Будем говорить о правильной (неполной) раскраске графа,
даже если окрашена только часть его ребер и подграф,
образованный всеми окрашенными ребрами, правильно раскрашен.
Будем называть некоторый цвет из данного набора цветов
отсутствующим в вершине а, если он при заданной (может быть,
неполной) раскраске графа не сопоставлен ни одному ребру из Za.
Множество цветов, отсутствующих в вершине а, обозначим через
Ма; МЛ^\М^ будет обозначать через Ма%.
Семейство графов, для которых s (G)=s, обозначим через Д,
(напомним, что кратные ребра здесь допускаются). Тривиальные
оценки хроматического класса для графов 6?еД, таковы:
*<х'(Я)<2*-1-
Первое неравенство очевидно. Второе вытекает из следующего
способа раскраски. Поскольку каждое ребро графа GeA, имеет
не более 2s—2 смежных, можно окрашивать ребра одно за другим
так, чтобы каждое ребро окрашивалось в какой-либо из цветов,
отсутствующих к моменту окрашивания этого ребра в обоих его
ГЛ. IV. РАСКРАСКА ГРАФОВ
201
концах. Эта верхняя оценка хроматического класса для графов
из А, будет улучшена в теореме 20.
2. Пусть ребра графа правильно раскрашены и пусть х и у —
два различных цвета. Двухцветной (х, у)-цепъю назовем
элементарную цепь, состоящую из ребер графа, окрашенных в цвета хжу.
Понятно, что цвета х и у на такой цепи чередуются. Двухцветная
цепь может, в частности, состоять из одной вершины, из одного
ребра или быть элементарным циклом. Перекраской (х, г/)-цепи
называется одновременная перекраска всех ее ребер цвета х в цвет у и,
наоборот, всех ребер цвета у в цвет х. (х, г/)-цепь называется
максимальной, если она не является собственной частью
никакой (х, г/)-цепи. Нетрудно убедиться в том, что две максимальные
(х, г/)-цепи (с одной и той же парой цветов х, у) не могут иметь
общих вершин. Отсюда, в частности, следует, что перекраска
любой максимальной двухцветной цепи правильно
раскрашенного графа не нарушает правильности его раскраски. Если при
этом у — внутренняя вершина максимальной (х, г/)-цепи А (в
случае, когда А — цикл, все вершины цикла А считаются
внутренними) или у $ А, то М не меняется при перекраске цепи А; если же
Y — конец максимальной (х, г/)-цепи А, содержащей хотя бы
одно ребро, то в М один из цветов х или у заменяется при
перекраске другим.
Лемма 16 [15]. Пусть а, 3, у — три различные вершины
правильно раскрашенного графа, причем в каждой из них
отсутствует хотя бы один из двух различных цветов х и у. Тогда хотя бы
одна из этих вершин не соединена ни с одной из двух остальных
(х, у)-цепъю.
Доказательство. Если, например, вершина а
связана с вершиной C (х, г/)-цепью, то, очевидно, эта цепь
максимальная. Поэтому если бы и у была связана (х, г/)-цепью с а или 3,
то в графе были бы две различные максимальные цепи, имеющие
общую вершину, что невозможно. Лемма доказана.
3. Пусть мы имеем некоторую, быть может, неполную
раскраску графа G, и пусть 3 — некоторая его вершина.
Последовательность различных ребер ик=($, Ьк) (к=0, 1, . . . , п),
инцидентных вершине 3 (вершины 8А не обязательно все различны),
назовем п-веером при вершине 3, если окраска ребра и0 произвольна
{в "частности, оно может быть вообще не окрашено), а для цветов
]к (k=i, 2, . . ., п) остальных ребер (имеется в виду, что ребро
ик окрашено в цвет jk) и некоторого цвета /л+1 выполнены
следующие условия:
1) ik&Mbk-1 (A=l, ..., п + 1),
2) если ребро ип параллельно ребру ик {к=0, . . ., п—\),
Из определения веера следует, что jk=^=jt, если к=?1 (к, 1=1,...
. . ., п); цвет /я+1 может совпадать (не более чем) с одним из пре-
202
4. ГРАФЫ И СЕТИ
дыдущих. Кроме того, 8Ar=^=SJfc_1. Отрезок ик, ик+1, . . ., и, веера
также образует веер @ ^ к < I ^ п).
Веер будем называть замкнутым, если дополнительно
выполнено условие:
3) /к+1еЛ/5о; Зй=^80.
Пусть Н — множество окрашенных ребер графа G.
Лемма 17. Если в графе G имеется п-веер при вершине 3 и
МE5й=т^0 для некоторого &=0, 1, .. ., п, то существует такая
перекраска ребер, в результате которой будет правильно
раскрашен подграф Н (J {и0}, причем ребро и0 будет окрашено в цвет j1
или в некоторый цвет т е М„.
Доказательство. Ребро ик можно окрасить в цвет теМщ,
и в случае к=0 лемма доказана.
Если к > 0, то можно затем окрасить ребро и, _х в
освободившийся цвет /fe и т. д., т. е. каждое ребро и1 A=0, 1, . . ., к—1)
окрашивать в цвет j^. Ясно, что при этом утверждение леммы
будет выполнено.
Лемма 18. Если в графе G имеется замкнутый веер при
вершине В и М^=/= 0, то существует такая перекраска ребер, в
результате которой будет правильно раскрашен подграф Н U {u0},
причем ребро м0 будет окрашено в цвет j1 или /н+1, или в некоторый
цвет т е Мг.
Доказательство. Ввиду леммы 17 достаточно
рассмотреть случай
^п(и%) = 0. (О
Ч-=0 I
Так как /)!+1еМгя, из A) следует, что /}1+1$Мр. Для пары
различных цветов т е М„ и /я+1 и тройки различных вершин
В, 80, ок выполнены условия леммы 16. Действительно, в вершине В
отсутствует цвет т, а в вершинах §0 и Ьп отсутствует цвет /и+1.
Поэтому какая-то из вершин 6, 80, 8В — обозначим ее через а —
не соединена (/'„+], т)-цепью ни с одной из двух остальных.
Перекрасим максимальную (/„+1, иг)-цепь С, начинающуюся в
вершине о. При этом изменится только одно из множеств М$, Ms,,,
Мцп, а именно, Мз (в нашем случае С не может состоять из одной
вершины, так как в вершине В присутствует цвет /г+1, а в
вершинах 80 и 8И, ввиду A), присутствует цвет т).
Могут представиться три случая.
1) о=р. Тогда при перекраске цепи С Мг, не изменяется
и цвет /1+1 по-прежнему отсутствует в вершине 80. В вершине В
после перекраски цепи С цвет jn+l также отсутствует. Поэтому
можно окрасить ребро и0 в цвет jli+l.
2) о=80. Тогда при перекраске цепи С М0 не изменяется и
цвет т по-прежнему отсутствует в вершине В. В вершине 80 после
ГЛ. IV. РАСКРАСКА ГРАФОВ 203
перекраски цепи С цвет т также отсутствует. Поэтому можно
окрасить ребро и0 в цвет т.
3) а=8в. Тогда при перекраске цепи С М„ не изменяется.
Кроме того, не изменяется и окраска ребер ик (к—О, 1, . . ., п).
Пусть к — наименьший номер такой вершины Ьк, что Ьк является
концом цепи С (§;, во всяком случае является концом цепи С).
Ясно, что в результате перекраски цепи С множества Мд, при
I < к не изменились. Далее, ввиду A) до перекраски выполнялось
условие т$.Мък, а значит, после перекраски выполняется
условие те.Мък. Поэтому ребра и0, их, . . ., ик образуют А-веер (роль
/fc+1 играет т). Поскольку теперь выполнено соотношение т&М$ък,
fc-веер удовлетворяет условию леммы 17.
Лемма доказана.
Замечание. Из доказательства
леммы видно, что из ребер, не принадлежащих
вееру, при перекраске могли изменить цвет
только те ребра, которые были окрашены
в цвет ]п+1 или в цвет т.
4. Следующая теорема принадлежит
Шеннону. Рис. 22.
Теорема 20 [15]. Если GeA(, то
y/(G)< [3s/2].
Доказательство (ср.- [3]). Введем обозначение h=
= [s/2]. Тогда [3s/2]=s+ft. Пусть мы уже имеем правильную
раскраску некоторого подмножества Н ребер графа G цветами
из Ns+h и пусть и=(а, |3) — произвольное еще не окрашенное
ребро. Покажем, что можно правильно раскрасить H{j{u}
(может быть, изменив раскраску подграфа Н).
Заметим, что для любой вершины 8 е G
\Щ\>ь,
а для вершин а и J3
|ilfJ>A+l, |Mp|>A+l,
поскольку ребро (а, |3) еще не окрашено.
Если Ма|3 =j^ 0, то ребро и можно окрасить в некоторый цвет
из Ма„. Если же Ма? = 0, то для любого цвета i^Ma существует
ребро' ц1=(р, §), окрашенное в цвет i, причем Ь=^а (рис. 22).
Если при этом MpS=^=0, то ребро их можно перекрасить в любой
цвет из МЭ8, после чего ребро и можно окрасить в цвет i (можно
было бы заметить, что ребра и и иг образуют 1-веер,
удовлетворяющий условию леммы 17, и сослаться на эту лемму, однако здесь
проще непосредственно указать перекраску, чем проверять
выполнение условий леммы).
Наконец, если Ма?=0 и M?s = 0, то Л/а8=^=0, ибо в
противном случае мы имели бы в Nt+h три попарно не пересекающихся
204
4. ГРАФЫ И СЕТИ
подмножества Ма, М^ и Мъ, содержащих в совокупности не менее
Зй+2 цветов, что невозможно, так как 3/j+2j> s-\-h. Итак, пусть
7'еМаа. Пара ребер и, w1=(p, 8) образует замкнутый 1-веер при
вершине C: 80=а, Ьг=Ь, jx=i, /2=7- По лемме 18 в этом случае
можно правильно раскрасить подграф H\J{u). Таким же
образом можно одно за другим окрасить все ребра графа G. Теорема
доказана.
Примером графа Ge А,, для которого %' (G) = [3s/2], служит
граф с тремя вершинами, связанными попарно тремя пучками
ребер, содержащими соответственно [s/2], [s/2] и s—[s/2] ребер.
В этом графе [3s/2] ребер, и все они попарно смежны (рис. 23).
5. Если, кроме ограничения на
максимальную степень вершин графа,
учитывать также ограничение на максимальную
кратность ребер, то сходным методом
можно получить более точную оценку
хроматического класса. Пусть Л^ —
семейство графов из At, у которых
кратность каждого ребра не превосходит q.
Визингом была доказана
Теорема 21 [2]. Если СеД«, то
X (G) < s+q-
Доказательство. Пусть (так
р „„ же, как в. доказательстве теоремы 20)
некоторое подмножество ребер графа G уже
окрашено; покажем, что можно окрасить
еще одно ребро и = (а, C). При этом можно считать, что Л/аЧ=0,
иначе окрашивание тривиально.
При вершине |3 имеется веер. Действительно, в Nl+g существует
цвет ]х&Ма (т. е. мы полагаем 80=а). Поскольку М^ = 0,
h&Mo, т. е. существует ребро их=($, 8J, окрашенное в цвет /1#
Ребра щ=и и их образуют 1-веер, поскольку в Ng+q существует
цвет /2eMv Пусть ребра и0, их, . . ., ип уже образуют я-веер.
Если j„+i$M? и при этом jn+1 отличается от всех цветов j\, . . .
. . .,jn, то существует ребро ия+1=(Р> 8^), окрашенное в цвет /,/+] и
не принадлежащее тг-вееру. Кроме того, поскольку | Мъя+11 ^ q,
а кратность ребра ия+1 не превосходит q, в Мъп+1 существует такой
Цвет 7„+2> что Для всех тех ребер ик, которые параллельны
ребру ип+1, выполняется соотношение ]п+ъ^=]к+\- Поэтому в данном
случае веер можно продолжить. Очевидно, что такое
продолжение возможно лишь конечное число раз. Значит, на некотором
шаге мы придем либо к тому, что /„+! 6 М?, либо к тому, что /я+1 =/,
(А = 1, . . ., ге—1). (Ясно, что /и+1=й=/к.)
В первом случае для завершения доказательства достаточно
применить лемму 17.
Во втором случае имеются две возможности.
ЛИТЕРАТУРА
205
1) }n+i=iv Тогда, во-первых, jK+1<=Mt0, а во-вторых, в силу
п. 2) определения веера ребра ип а и0 не параллельны, т. е. Зя=^= §0.
Таким образом, при вершине р имеется замкнутый тг-веер, и для
завершения доказательства остается только применить лемму 18.
2) /„+i=/fc(&>l). Тогда, аналогично предыдущему, /я+1 еЛ/^,
8Г<=7^= Вд._1 и отрезок тг-веера, состоящий из ребер uk_lt ик, . . ., ип,
образует замкнутый (п—&+1)-веер при вершине р. Применим к
нему лемму 18. Поскольку ],^]к при 1=^=к {к, i=l, . . ., п) и, кроме
того, /j7^m> перекраска не может затронуть цветов ]\, . . ., jk_1,
за исключением того, что ребро ик_у из цвета ]к_х будет
перекрашено в цвет /й=/и+1 или в цвет т (см. замечание к лемме 18).
Отсюда следует, что после этой перекраски ребра и0, иг, . , ., ик_2
по-прежнему образуют (к—2)-веер, причем теперь /bl?j?p,
и следовательно, ]к_г е М$ьк_г- Таким образом, этот (к — 2)-веер
удовлетворяет условию леммы 17. Теорема доказана.
Следствие. Для графов G & Д, без кратных ребер
(т. е. для G е Д*) справедливы следующие оценки хроматического
класса:
Хотя теоремы 20 и 21 формально не следуют одна из другой
и доказывались нами независимо, нетрудно вывести теорему 20,
используя утверждение теоремы 21.
В самом деле, если q ^ [s/2], то сведение тривиально. Пусть
q > [s/2]. Докажем теорему 20 индукцией по числу ребер графа G.
Для небольшого числа ребер графа теорема очевидна. Пусть а
и р — соседние вершины графа G, связанные пучком Р
ребер кратности q, и пусть для графа G\P утверждение теоремы 20
уже доказано. Поскольку в графе G\P степени вершин а. и р не
превосходят s—q, суммарное число цветов, присутствующих
в вершинах а и р, не превосходит 2s—2q. В iV[3,/2] есть еще не
менее [3s/2I—2s-f-2g ^ 2q—(fs/2J-{-l) цветов, и их достаточно
для раскраски q ребер пучка Р, так как q~^ [s/2]+l.
ЛИТЕРАТУРА
1. Б е р Ж К., Теория графов и ее применения, М., ИЛ, 1962,
2. В и з и н г В. Г., Об оценке хроматического класса р-графа, Сб.
«Дискретный анализ», вып. 3, Новосибирск, ИМ СО АН СССР, 1964, 25—30.
3. 3 ы к о в А. А., Теория конечных графов, Новосибирск, «Наука», 1969.
4. Лупанов О. В., Об асимптотических оценках числа графов и сетей
с п ребрами, Сб. «Проблемы кибернетики», вып. 4, М., Физматгиз, 1960,
5—21.
5. Лупанов О. В., Об одном подходе к синтезу управляющих систем —
припципе локального кодирования, Сб. «Проблемы кибернетики», вып. 14,
М., «Наука», 1965, 31—110.
6. О р е О., Теория графов, М., «Наука», 1968.
7. Трахтенброт Б. А., К теории бесповторных контактных схем,
Труды МИАН СССР 51, М., Изд-во АН СССР 1958, 226—269.
206
4. ГРАФЫ И СЕТИ
8. Ф о р д Л. Р., Ф а л к е р с о н Д. Р., Потоки в сетях, М., «Мир»,
1966.
9. X а р а р и Ф., Теория графов, М., «Мир», 1973.
Ю.Яблонский С. В., Теория графов и сет<зй, М., 1971, изд. ИПМ
АН СССР.
11. Е 1 i a s P., F e i n s t e i n A., S h a n n о n C, A note on the maximum
flow through a network, Trans. IRE, IT—2, № 4,1956, 117—119. (Русский
перевод: Шеннон К., Работы по теории информации и кибернетике,
М., ИЛ, 1963, 729-734.)
12. М о о г е Е. F., Shannon С. Е., Reliable circuits using less
reliable relays, J. Franklin Inst., 262, № 3, 1956, 191—208; № 4, 1956.
(Русский перевод: Шеннон К., Работы по теории информации п
кибернетике, М., ИЛ, 1963, 114—153.)
13. М у с i е 1 s k i J., Sur le coloriage des graphes, Colloq. Math. 3, № 2,
1953, 161—162.
14. Otter R., The number of trees, Ann. Math. 49, 1948, 583—599.
15. Shannon С. Е., A theorem on colouring the lines of a network, J. Math.
Phys., 28, 1948, 148—151. (Русский перевод: Шеннон К. Работы
по теории информации и кибернетике, М., ИЛ, 1963, 735—739.)
Раздел 5
ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
В, И, Левенштейн
ВВЕДЕНИЕ
Теория кодирования представляет собой одно из основных
направлений дискретного анализа. Предметом исследования этой
теории являются отображения конечных или счетных множеств
объектов произвольной природы в множества
последовательностей из цифр 0, 1, . . ., г—1, где г — некоторое целое
положительное число (в частности, г=2). Такие отображения называют
кодированиями. Большинство задач теории кодирования
укладывается в следующую схему. Для заданного множества объектов
рассматривается класс кодирований, обладающих
определенными свойствами. Требуется построить кодирование из
рассматриваемого класса, оптимальное в некотором заранее заданном
смысле. Обычно критерий оптимальности кодирования так или
иначе связан с минимизацией длин образов объектов, в то время
как требуемые свойства кодирований могут быть весьма
разнообразными. В частности, такими свойствами могут быть
существование однозначного обратного отображения (декодирования),
возможность исправления при декодировании различного типа
ошибок, возможность простой реализации кодирования и
декодирования и т. п.
Для решения задач теории кодирования было предложено много
оригинальных комбинаторных конструкций. Прежде всего, здесь
следует отметить методы Шеннона [57] и Хаффмена [48]
построения побуквенного кодирования с наименьшей стоимостью,
конструкцию оптимального кода с исправлением одной ошибки,
принадлежащую Хеммингу [46], и метод построения кодов с
исправлением заданного числа ошибок, принадлежащий Боузу и
Чоудхури [35]. Наряду с этим для решения некоторых задач
теории кодирования предложены [14, 17] методы построения ко
дов, использующие известные теоретико-числовые и
комбинаторные результаты.
При решении задач теории кодирования, как и при решении
других экстремальных задач, не всегда удается найти в точности
оптимальное решение. В связи с этим возникают задачи об оценке
параметров оптимального кодирования. Эти оценки позволяют
208
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
выяснить, насколько рассматриваемое кодирование близко к
оптимальному. Среди методов получения оценок, используемых
в теории кодирования, основными являются методы, основанные
на максимальном заполнении и минимальном покрытии данного
множества подмножествами определенного вида (оценки Хем-
минга [46], Гилберта [43], Варшамова [3]), а также метод
случайного выбора кодирования, связанный с отысканием среднего
значения рассматриваемого параметра. Однако, как правило,
нижняя и верхняя оценки, полученные с помощью этих общих
методов, существенно отличаются друг от друга. Для получения
более точных оценок предложен ряд методов, глубже
использующих специфику рассматриваемых задач (оценки Плоткина [55],
Грайсмера [45], Элайеса—Бассалыго [2]).
В последнее время наблюдается все усиливающееся влияние
идей и методов теории кодирования на другие области дискретного
анализа. Известны примеры, когда использование тех или иных
кодовых конструкций приводило к существенному продвижению
в вопросах, на первый взгляд весьма далеких от традиционных
задач теории кодирования. Здесь следует указать на
использование кода Хемминга при получении асимптотики минимального
числа контактов, достаточного для реализации любой функции
алгебры логики от п переменных [22]; на использование кода
Боуза—Чоудхури и метода случайного выбора при оценке числа
тупиковых дизъюнктивных нормальных форм для почти всех
функций алгебры логики от п переменных; на использование
неравенства Крафта [50] — Макмиллана [52] при оценке
сложности реализации одного класса функций алгебры логики [15, 47 ];
на использование эквидистантных кодов для помехоустойчивого
кодирования состояний автомата [29]. Отметим также, что
задачи синтеза самокорректирующихся контактных схем [27, 28]
и самокорректирующихся схем из функциональных элементов [11 ]
подсказаны теорией кодирования, причем при построении
асимптотически оптимальных самокорректирующихся схем из
функциональных элементов использованы коды с исправлением ошибок.
Настоящий раздел представляет собой обзор основных
результатов теории кодирования. Главный упор в нем делается на
описании конструкций и методов получения оценок. При изложении
материала автор стремился подчеркнуть общность некоторых
приемов и возможность их использования для решения других
задач. Ограниченный объем раздела и попытка достаточно широко
отразить проблематику теории кодирования естественно привели
к тому, что некоторые вопросы рассмотрены на уровне важнейших
частных случаев. Более полное изложение ряда вопросов
читатель может найти в переведенных на русский язык книгах Фано
«Передача информации. Статистическая теория связи» [41],
Питерсона «Коды, исправляющие ошибки» [54] и Берлекэмпа
ГЛ. I. СВОЙСТВА КОДОВ
209
«Алгебраическая теория кодирования» [34]. В то же время в
данном разделе изложено много новых результатов, полученных
в последнее время [2, 5, 6, 8, 20, 21, 30]. Поэтому, хотя раздел
в первую очередь предназначен для лиц, специализирующихся
по математически» вопросам кибернетики, автор надеется, что
некоторые его параграфы будут небезынтересны для специалистов
по теории кодирования. От читателя предполагается знакомство
(на уровне определений) с некоторыми алгебраическими,
теоретико-вероятностными и теоретико-числовыми понятиями.
Глава I. СВОЙСТВА КОДОВ
§ 1. Побуквенное кодирование. Коды и их свойства
Предварительно введем ряд определений и обозначений,
которые будут широко использоваться на протяжении всего раздела.
Пусть А — произвольный алфавит *). Элементы алфавита А
будем называть буквами, а конечные последовательности,
составленные из букв, — словами в А. Длина (число букв) слова а
обозначается через а (а), а слово длины 0 (пустое слово) обозначается
символом Л. Соединение слов агж а^ обозначим через аа а2, а
соединение п слов а — через а"(а°=Л).
Теоретико-множественные операции объединения,
пересечения, разности и прямого произведения множеств будут, как
обычно, обозначаться знаками U, П > \ и X соответственно. Пусть
U — произвольное множество слов в А. Через U" (га=0, 1, . . .)
обозначим множество всех слов в А, представимых в виде соеди-
00
нения п слов из U, и положим U* = (J U". В частности, через А"
и Л* обозначаются соответственно множество всех слов длины п
и множество всех слов произвольной длины в А. Число
элементов множества U будем обозначать через р (U).
Слово аг называют началом слова а, если существует слово
о^ такое, что а=ос1а2; при этом слово <хх называют собственным
началом слова а, если а2=^=Л. Слово о^ называют окончанием
слова а, если существует слово ах такое, что а=а1а2; при этом
слово Oj называют собственным окончанием слова а, если ах^=А.
В частности, пустое слово является началом'и окончанием любого
слова а, причем собственным, если а=^=Л. Множество начал слов
из множества U обозначим через V, а множество окончаний —
через О.
Рассмотрим алфавит В={0, 1, . . ., г—1), где г J> 2, и
произвольное множество (?. В частности, множество d может быть
*) Термин «алфавит» принято употреблять вместо термина «множество»
в тех случаях, когда предполагается рассматривать последовательности,
составленные из элементов этого множества.
14 Дискретная математика, т. I
210
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
конечным алфавитом, множеством натуральных чисел, множеством
графов, схем или формул определенного типа, множеством слов
в некотором алфавите и т. п. Произвольное отображение
множества ? в множество слов в алфавите В будем называть г-ичным
кодированием множества (L
В настоящем разделе рассматриваются лишь двоичные
кодирования, которые будем называть просто кодированиями.
Большинство приведенных ниже результатов непосредственно
переносится на случай произвольного г. В тех случаях, когда прямое
обобщение на случай произвольного г невозможно, будут сделаны
соответствующие замечания. В связи с принятым соглашением
под log х будем понимать Iog2 х.
Приведем примеры кодирований. В качестве первого примера
рассмотрим кодирование § множества натуральных чисел, при
котором числу п=0 ставится в соответствие слово е @)=0,
а числу п ^ 1 двоичное слово
е{п) = Ъ[*Щ*К..Ь\& A)
наименьшей длины, удовлетворяющее условию
Л»
2&(">2'<«W = n. B)
.7=1 '
Очевидно, что bjn) = l, 21{"}~1^п<^21(") и, следовательно, 1{п) =
= llog«]-f-1 =]log(w-f- 1)[ *). Слово е (п) называется двоичной
записью числа п, а кодирование & — представлением чисел в
двоичной системе счисления. Кодирование & является взаимно
однозначным, так как при пх^=щ слова е (щ) и е (п2) различны.
В качестве родственного примера рассмотрим кодирование &к
первых 2к натуральных чисел, при котором каждому числу п
@ ^ п < 2к) ставится в соответствие слово
es(n) = 0*-"»>e(»).
Слово ек (п) называется двоичной записью числа п с помощью к цифр.
При кодировании gk первые 2к натуральных чисел отображаются
на множество двоичных слов длины к. В табл. 1 приведены слова,
соответствующие числам от 0 до 15 при кодированиях § и <?4
соответственно.
Отображение конечных множеств на некоторые подмножества
(двоичных) слов часто является удобным средством для подсчета
или оценки числа элементов этих множеств. Рассмотрим, например,
множество d„ m упорядоченных разбиений числа п на m целых
неотрицательных слагаемых. Каждому разбиению n=n1-\-niJr . . .
• ¦ • ~\~nm поставим в соответствие слово 0*Ч0Кг1. . .10"т длины
*) Кал обычно, [х] обозначает целую часть числа х, а ]х[ —
наименьшее целое число, не меньшее х.
ГЛ. I. СВОЙСТВА КОДОВ
211
ТАБЛИЦА 1
п
0
1
2
3
4
5
6
7
е(п)
0
1
10
И
100
101
110
111
е,(п)
0000
0001
0010
ООН
0100
0101
оно
0111
п
8
9
10
11
12
13
14
15
е(п)
1000
1001
1010
1011
1100
1101
1110
1111
е, (п)
1000
1001
1010
1011
1100
1101
1110
1111
п-\-т—1. Описанное кодирование является взаимно однозначным
отображением множества (?Я;1П на множество двоичных слов длины
п-\-т—1, имеющих ровно т—1 единиц. Следовательно, число
элементов множества ?„ ш равно С^м. Метод подсчета,
основанный на кодировании множеств, оказался весьма плодотворным
при исследовании различных классов графов, сетей, формул и
других объектов.
Особую роль в теории кодирования играет кодирование
множества (Е, состоящего из всех (или части) слов в некотором
алфавите А. Такое кодирование будем называть кодированием слов
в А. В случае кодирования слов элементы кодируемого множества
(т. е. слова в ^1) обычно называют сообщениями. Заметим, что при
определении кодирования слов не наложено никаких условий на
степень эффективности процесса вычисления по сообщению
соответствующего ему двоичного слова. Можно было бы, например,
ограничиться рассмотрением кодирований слов, задаваемых с
помощью машин Тьюринга пли нормальных алгоритмов. Однако
при исследовании большинства вопросов теории кодирования
достаточно ограничиться рассмотрением еще более узких классов
кодирований слов, так называемых побуквенных и автоматных
кодирований.
Пусть^4={а;, ?=0, 1, . . .} — конечный или счетный алфавит,
буквы которого занумерованы натуральными числами. В этом
случае кодирование букв алфавита А можно задать
последовательностью двоичных слов V={v{, г=0, 1, . . .}, где v( есть образ
буквы а,.. Такие последовательности слов V={v{, ?=0, 1, . . .}
будем называть кодами (алфавита А). Если задан код V={v(, ? =
=0, 1, . . .} алфавита А = {а{, ?=0, 1, . . .}, то кодирование слов
в алфавите А, при котором каждому слову (сообщению) а,-^. . ,а,-к
ставится в соответствие слово ^,-/;,-2 • •. vik, будем называть побук-
венным кодированием, и обозначать через Ка,\ (или Ку)-
14*"
212
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
0110
При переходе от взаимно однозначного кодирования букв
алфавита к побуквенному кодированию слов свойство взаимной
однозначности может не сохраниться. Например, при побуквен-
ном кодировании К"еШ натуральных чисел последовательностям
(или, как говорят, кортежам) из натуральных чисел E, 6, 1),
A1, 2, 1) и E, 13) соответствует одно и то же слово 1011101. Таким
образом, указанное побуквенное кодирование натуральных чисел
не является взаимно однозначным. В § 7 главы II на основе
некоторого аналога представления чисел в двоичной системе счисления
будет построено взаимно однозначное побуквенное кодирование
натуральных чисел.
000 Рассмотрим некоторые
свойства кодов и соответствующих
им побуквенных кодирований.
Отметим, что в коде
(последовательности слов) V={vf.},
вообще говоря, могут содержаться
одинаковые слова. Чтобы не
усложнять обозначения,
множество (различных) слов кода V
будем обозначать тем же
символом V. Отметим также, что все
свойства кодов, рассматривае-
не зависят от нумерации слов кода.
Код V={Vf} назовем разделимым, если из каждого равенства
в алфавите В={0, 1} вида
vhv4...vik = ujujt...vjl C)
следует, что l=k и jt=it, t=l, 2, . » ., k.
Очевидно, что побуквенное кодирование является взаимно
однозначным тогда и только тогда, когда оно задается с помощью
разделимого кода. Отметим, что из приведенного определения
также следует, что все слова разделимого кода различны и
непусты.
Код V={vt) будем называть префиксным, если никакое слово
vk не является началом никакого слова vlf l^=k. Ясно, что
префиксный код является разделимым. Заметим, что если каждое
слово префиксного кода заменить наименьшим его началом,
которое не является началом других кодовых слов, то полученный
код также будет префиксным. Такую операцию будем называть
усечением префиксного кода.
Для произвольного кода V, состоящего из различных слов,
рассмотрим ориентированный граф с множеством вершин V,
в котором вершина BeV соединена с вершиной B'eF ребром,
направленным от В к 8', тогда и только тогда, когда В'= ВО или
мые в настоящей главе,
ГЛ. I. СВОЙСТВА КОДОВ
213
р'=81. Этот граф не содержит циклов и называется кодовым
деревом кода V. Заметим, что для префиксных кодов (и только для
них) множество^кодовых слов совпадает с множеством концевых
вершин кодового дерева (т. е. вершин, из которых не исходит
ребер). На рис. 1 изображено
* ТАБЛИЦА 2
кодовое дерево кода, приведен-
ного в таблице 2.
В дальнейшем при
рассмотрении конечного кода V={v0,
v-y, . . ., yOT_i} бУДем
предполагать, что т ^ 2, и
пользоваться обозначением
Ко. = max X (v().
Теорема 1. Пусть 10,
Zj, . . ., lm_i — произвольный
набор натуральных чисел (т ^ 2).
Для того чтобы существовал
разделимый код V={v0, vlt ..., v^c длинами
. . ., т—1, необходимо и достаточно, чтобы
венство
i
0
1
2
3
4
5
6
и
3
3
3
4
4
4
4
з<
0,000
0,001
0,010
0,0110
0,0111
0,1000
0,1001
»1
000
001
010
оно
0111
1000
1001
X(y.)=Z.,J=0,l,...
выполнялось нера-
Ц2-'<<1.
D)
Доказательство,
произвольного кода V={v0, i\,
функцию
Необходимость. Для
• •> vm-i) введем в рассмотрение
hr(x)= 2*-X(,<)
•=о
и обозначим через Vм код {ш<5 ( = 0, 1,
Wi = v^Vi, ... Vin, где числа 1^ г2, ..., 1Я
E)
..., т" — 1} такой, что
заключены между 0 и
»
т — 1 и однозначно определяются равенством 2 */wB_/ = t *).
Легко проверить, что функция E) обладает следующим свойством:
АтОо(*) = (М*))\ F)
Пусть теперь V={v0, иг, . . ., v^} — разделимый код и Z,.= X (v.).
Обозначим через М4 число слов длины i кода V(w. Ясно, что
плтах
AF(.)B) = 21^2"'-
G)
*) Отметим, что, в отличие от кода V(n\ множество V" (состоящеесогласно
принятым обозначениям из всех слов, которые представимы в виде
соединения п слов из V) может содержать менее т" слов.
214
5. элементы теории кодирования
Так как код V разделимый, то все слова кода Vм различны и,
следовательно, Mi г^ 2*. На основании этого из E)—G) получаем
2 2"" <пХшах. (8)
\ 1=0 /
Ввиду того, что неравенство (8) справедливо при любом (в
частности, сколь угодно большом) и, из него следует неравенство D).
Достаточность. Пусть числа l0, lv . .., 1т_г удовлетворяют
неравенству D). Без ограничения общности можно считать, что
^о^ ^i^ • • • ^ 1т-\- Рассмотрим числа q0 = 0 и q{ = 2 2~'л t =
= 1, 2, .... т — 1. Очевидно, что каждое д( заключено в
пределах 0^gf<^l ц имеет единственное представление в виде (двоич-
U
ной дроби с 1{ знаками после запятой) qt = 2 с(Р^ J'> гДе ciP = 0
3=1
или 1. Рассмотрим код V = {v0, vv . .., vm^}, где v. = c{^c^ ...
.. . с\\\ г = 0, 1, . .., т — 1. Поскольку при h^>i имеют место
неравенства lh~^lt и дд^д,--}-2_г*, то код V является
префиксным и, следовательно, разделимым.
Следствие. Для любого разделимого кода V={v0, vv . ..
• • •> vm-i) существует префиксный код с таким же набором длин
кодовых слов, что и у кода V.
Неравенство D) носит название неравенства Крафта—Мак-
миллана [50, 52] для разделимых кодов. Метод построения
префиксного кода с заданным набором длин, удовлетворяющих усло-
впю D), принадлежит Шеннону [57]. Этот меток иллюстрируется
примером, разобранным в табл. 2. Теорема 1 остается
справедливой и в случае счетных кодов, если условие D) заменить усло-
00
вием S2"'^1-
<=о
При побуквенном кодировании слов в А множество А*
отображается на множество V* С В*, где V — код, соответствующий
данному побуквенному кодированию, В={0, 1}. Следующее
свойство кода V связано с тем, насколько «плотно» множество V*
заполняет множество В*. Легко видеть, что в случае разделимого
кода V равенство V* =В* возможно лишь тогда, когда V=B.
Разделимый код будем называть полным, если V*=B*. На языке
побуквенного кодирования полнота кода V означает, что каждое
двоичное слово является началом образа некоторого сообщения.
Очевидно, что разделимый код V является полным тогда и только
тогда, когда для любого ре В* существует слово v4eV такое,
что у,- является началом слова р или [3 является началом слова i\.
В частности, код V={i;<}, приведенный в табл. 2, не является
ГЛ. I. СВОЙСТВА КОДОВ
215
полным, так как для слова |3=11 требуемого кодового слова не
существует.
Теорема 2 [44]. Разделимый код F={t>0, иг, . . ., vm_-i)
является полным тогда и только тогда, когда он является
префиксным и выполнено равенство
1=0
Доказательство. Очевидно, что разделимый код
V={v0, v1, . . ., vm_1} является полным тогда и только тогда, когда
каждое двоичное слово длины п, п^ Ашах, начинается некоторым
словом из V. Заметим, что в силу разделимости кода V, если
каждое двоичное слово длины п, п^ Атах, начинается некоторым
словом из V, то такое слово определяется однозначно. Действительно,
т—1 iv—1
в противном случае 2 2"~ (в,)^>2" и 2 2~ ]> 1, что про-
1=0 1=0
противоречит теореме 1. Таким образом, разделимый код является
полным тогда и только тогда, когда каждое двоичное слово длины
п, п^ Атах, начинается одним и только одним словом из V. Но это
равносильно тому, что код V является префиксным и имеет место
т—1
равенство 2 2п-'(*" = 2". Теорема доказана.
>=0
Следствие*). Для любого префиксного кода V—{u>0, vy, .. .
¦ ¦ ч vm-i\ существует полный префиксный код V' = {v'0, ь\, . . .
¦ • -»rm-i} такой, что X (v't) <[ л (/.'.), z=0, I, . . ., т—1.
Другой критерий полноты (легко выводимый из теоремы 2)
состоит в том, что разделимый код является полным тогда и только
тогда, когда он префиксный и из каждой внутренней вершины
кодового дерева исходит ровно два ребра. Из этого критерия следует,
что для любого полного кода У={г0, vx, . . -,vm_i} число ji(V\V)
внутренних вершин кодового дерева удовлетворяет равенству
2 Iх (V \17) — ц (V\V)-{-m—1 и, следовательно,
|l(F\F) = 771—1. (9)
*) Это утверждение справедливо, вообще говоря, лишь для двоичных
кодов. Доказательство его основано на следующем соображении. Если код
т—1
V не является полным, то в силу теорем 1 и 2 имеет место 2 2~'*<М,
«'=0
где 1{ = Х(и^, i = 0, 1, ..., ж —1. Пусть ^ = Хшаз[. Тогда, как легко
видеть, 2 2Г1' + 2~<-lJ~^ <^ 1 (здесь существенно используется
двоичность кода) и, следовательно, по теореме 1 можно построить
префиксный код с набором длин A0,1и . . ., lj-i, lj — 1, lj+i, • • ., lm-i)- Повторение
этого процесса достаточное число раз приводит к построению полного кода.
216
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Заметим, что условия теоремы 2, вообще говоря, не являются
необходимыми для лоллоты счетных кодов, В частности, для
любого s ^> 0 можно построить (на основе известной теоретико-
множественной конструкции нигде не плотного множества
положительной меры) полный префиксный счетный код V={v{, i~
со
= 0, 1, ...}, для которого 2 2~ (в<)<е.
1=0
В заключение настоящего параграфа определим еще одно
важное свойство кодов. Код V= {v{} будем называть сильно
разделимым, если из каждого равенства в алфавите В={0, 1} вида*)
viph...=vhvJl... A0)
следует, что jt = it, t=l, 2, . . .
Очевидно, что сильно разделимый код является разделимым.
Примером сильно разделимого кода является префиксный код.
Далее мы увидим, что сильная разделимость кода V={v0, vv .. .
• • ч vm-\] является необходимым и достаточным условием
возможности реализации отображения, обратного кодированию К""^'/'/^^
конечным (обобщенным) автоматом.
§ 2. Конструкции для распознавания свойств кодов
При построении и исследовании побуквеаных кодирований и
соответствующих им кодов часто возникает вопрос, обладает ли
данный код теми или иными свойствами. Для ряда свойств кодов,
например, для свойств префиксности и полноты, ответ на такой
вопрос получить нетрудно. С другой стороны, некоторые весьма
просто формулируемые проблемы, связанные с распознаванием
свойств побуквенных кодирований, алгоритмически неразрешимы.
Примером такой проблемы является следующая: для произвольных
кодов V={v0, у-,, . . ., vm_j) и U = {u0, щ, . . ., mm_j} определить,
существует ли слово а в алфавите А={а0, ах, . . ., atn_1), которому
соответствует одно и то же слово при побуквенных кодированиях
KZZ'.'.'¦',yZl и Ka^X.'.\'.'.«m^- Эта проблема является
переформулировкой известной комбинаторной проблемы Поста (см.,
например, [23J).
В настоящем параграфе приводятся критерии разделимости и
сильной разделимости конечных кодов, на основании которых
нетрудно построить алгоритмы распознаваиня соответствующих
свойств кодов. Использованная при этом конструкция,
принадлежащая Сардинасу и Паттерсону [56], оказалась весьма полезной
*) Равенство A0) здесь понимается н следующем смысле: при любом
п одно из двоичных слов VfV, ...vs vv.v, ...v. является началом
другого.
ГЛ. I. СВОЙСТВА КОДОВ
217
также и при исследовании других (в частности,
синхронизационных) свойств кодов. В конце параграфа приведен графический
аналог этой конструкции, принадлежащий Ал. А. Маркову
[24-26].
Пусть V={v0, vu . . ., rml} — произвольный код (т ~~~? 2).
Для того чтобы отбросить тривиальные случаи и упростить
формулировки, будем считать, что все кодовые слова различны и
непусты. Двоичные сл:ова будем обозначать буквами В с индексами или
без них. Будем говорить, что слово В" следует за словом В' и
записывать В'-* В", если В"=^=Л и существует слово у<еУ
такое, что либо В'В"=у(. либо В'=г.\8". При доказательстве
критериев разделимости и сильной разделимости важную роль
играет следующая
Лемма 1. Соотношения В0 -»¦ Вг -> ... -> ^я_1 -> 3,., где В0 =^= А и
3j, ..., Зя— некоторые двоичные слова, имеют место тогда и
только тогда, когда существуют кодовые слова viy, Vix, . .., vik,
Vjx, vjt, ..., Vjt такие, что k^-l = n и имеет место либо
равенство Bof»,^ ... Vii$B = vjpj^ . . . vj,, где X C„) < X(i^)> либо
равенство Pof.'^i, • • • vik ~ vJxvh . . . Vjj\bn, где \ (B„) < X (v(k) в случае
k=?0, причем при любых к' и V, О^к' ^к, 0^.1'^1
$<Ptptt...vl]e,=?vjxvh... vJt,.
Лемма 1 доказывается индукцией по п (см., например, 1191).
Для кода V={v0, vv. . ., vm_i} последовательно построим
множества Rn (V), п=0, 1,. . . . Положим R0 (V) = V. Множество
R„ (V), тг=1, 2,. . . определим как множество всех слов, каждое
из которых следует за некоторым словом из множества i?„_j (V).
Из этого_ определения и леммы 1 следует, что при любом га
Д, (F)CF\{A).
Обозначим через п (V) число элементов множества F\F. Для
числа п (V) справедлива следующая тривиальная оценка:
»(F)<4„-l) + i.
Можно получить (см. [19]) более точную оценку вида
«(^)<™(>W-[log/n])-f™-l.
Таким образом, каждое множество Rn (V) является
подмножеством некоторого конечного множества (состоящего не более, чем
из п (V)-\-m—l элементов) и, следовательно, все множества Rn (V),
начиная с некоторого, периодически повторяются.
В таблице 3 приведены множества Rn (V) для кодов V=A0,
101, 001} и F=@, 010, 101}. Символом 0, как обычно,
обозначается пустое множество.
Теорема 3. Для того чтобы код V={v0, vx,. ..., vm_1} был
разделимым, необходимо и достаточно, чтобы R (V) П^7—0 пРи
1<га<га(У).
218
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
ТАБЛИЦА 3
До (V) = V
10
101
001
0
010
101
Д. 00
1
10
щ (У)
0
01
1
ДзОО
01
01
В. (У)
ф
1
0
Д500
Ф
01
10
л. 00
0
1
0
В, 00
0
01
10
Be 00
Доказательство. Необходимость условия теоремы
немедленно следует из того, что если некоторое множество Ru (V),
п ^ 1, содержит кодовое слово, то в силу леммы 1 имеет место
равенство C) § 1 при условии i-s^=ix и, следовательно, код F не
является разделимым. Для доказательства достаточности условия
теоремы предположим, что никакое множество R„ (V) при 1 ^ п ^
^ п (V) не содержит кодовых слов. Покажем, что код V является
разделимым. Действительно, в противном случае существует
равенство вида
vhvi, ¦ • ¦ v'b = vhvh • ¦ • vjv где А;> 1, I > 1, lx=? ju
причем без ограничения общности можно считать, что при любых
й'~и V, 0</c'<A:, 0<Z'<Z, 0<А' + V <к +1
Vi,Vi,...Vik,^VjxVjt... Vj(l.
Но тогда по лемме 1 одно из слов vi]c или Vjt (более короткое)
принадлежит множеству R„(V) при некотором п~^\. Пусть п0 —
наименьший положительный номер множества, которому
принадлежит какое-нибудь кодовое слово. По определению множеств Rn (V)
и числа п0 существуют соотношения |30->,31-> . .. -> $n~i -*?na,
где слова C0 и В„о принадлежат V, а слова {31; 32, . .., f}»0-i
принадлежат множеству F\(F|J {Л}). Так как согласно
предположению п0^>п (V), то среди слов j^, В2, . . ., $n0-i есть пара
одинаковых. Но тогда слово 8„о принадлежит некоторому множеству
Rn (V) при 1 ^ п < щ. Полученное противоречие завершает
доказательство теоремы.
Теорема 4. Для того чтобы разделимый код V = {гф uv . ..
• • •> vm-i} °~ыл сильно разделимым, необходимо и достаточно,
чтобы Rn(V)=0 при, n~^?n(V).
Доказательство. Необходимость. Если RK{V)=^= 0
при некотором п ^ п (V), то и i?„(y) (V) =?= 0. При этом имеют место
ГЛ, I. СВОЙСТВА КОДОВ
219
соотношения {З-*^-* .. .-> р„(у), >где б0е]/. Поскольку все слова
fjj, Р2, . ..,Ря(Г) принадлежат множеству V \ {Л} и отличны от
кодовых слов (вследствие разделимости кода V и теоремы 3), то
среди слов j3,, В2, ..., %{V) есть пара одинаковых. Пусть BAi=j3A,,,
где 1<Й! < h^n(V). Тогда BAi->pAi+1->...-*pAj = pAl и по
лемме 1 существует либо равенство вида
hlv»l---v>phi = vt1 — viq, где д>1, A)
либо равенство вида
РаЛ, ...vSp = vh... Vlfihl, где р > 1, g > 1. B)
Умножая обе части равенствi A) справа на г/,, . .. (-'Jki и
используя его, получаем
Р»Л, • • • V^, • • • % = vh . . . vtqv4 . . . vSf3hi, где q > 1.
Таким образом, без ограничения общности можно считать, что
имеет место равенство B). Умножая обе части равенства B) справа
на (ич ... Vsp)"'1, получаем
?*, К • • • *У = vtl... гф, (г., ... у,/"* = . .. = (^ . . . г,/ 3Ai.
Следовательно, при любом п
К К • • • V = К • • • i\)" ?*„ где р > 1, q > 1. C)
С другой стороны, так как 30-^>- 3, —»• . . . —> БАд и 30eF, то iio
лемме 1 имеет место равенство вида
vh ¦ ¦ ¦ tV*!5*, = ГЛ ¦ ¦ ¦ VJn где Л > 1, / > 1 и 2г т4 /i- D)
Из равенств C) и D) получаем
vh ...vik (vti . .. vtq)n%t = vJt . . . Vjl (i-„ . • • %)",
где g> I, p> 1 и iL^=jL.
Последнее равенство справедливо при сколь угодно большом п
и, следовательно, код V не является сильно разделимым.
Достаточность. Пусть код V разделим, и все
множества Нй (V) пусты при п~^ п (V). Покажем, что код V является
сильно разделимым. Действительно, в противном случае
существует равенство вида
»Hvh •••= VJ,VJ, • • •. гДе h=hiv E)
и, следовательно, для произвольного к существует равенство вида
v<xv4 . , . i\kr? = chr}2 . . . vjt, где ХC)<Х(у^),
причем в силу разделимости кода V при любых к' и V', к' ^
> 1, Z'>1
220
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Но тогда по лемме 1 ре.й4+,_гG) и в силу произвольности к
все множества R„(V) не пусты. Полученное противоречие
завершает доказательство теоремы.
Следствие. Для любого сильно разделимого кода V = {v0,
vi' • • •' vm-i) существует число t такое, что если некоторые слова
viPi* ¦ ¦ • viic и vjtvjt .,. Vjf имеют общее начало длины min (X (y.J,
X (Vjt)) -j-1, mo 7^=^. IIpu этом для минимального числа t^,
обладающего указанным свойством, справедливо неравенство
^п<К(П/2]Хшм, F)
где п' G)— номер первого пустого множества R„(V).
Для доказательства следствия предположим, что
В = vHvH ... vik,^ = vhvh ... Vjl> p2,
где Pj — собственное начало слова vik,+l, |32 — собственное начало
слова uji4i, X (р) == min (X (vu), X (vJt)) -f [n' G)/2] Хшах; и покажем,
что i1 = j1. Предполагая противное, без ограничения общности
можно считать, что Ц^Х^!',-,), Ясно, что тогда к'— 1^
>[п'(У)/2], Z'>[/i'G)/2]h, следовательно, к' + *'> 2 [п' G)/2] +
-|-1^п' G). В силу разделимости кода 7 X (рх) =^= X C2). Если
х (Pi) < X (Р2) и yyjr+i = р2р\ то у,-,у,-г ... у<4/р = иУж17Л . .. VjvvJllw
гдер = ,В1Р' и 0<X(p)<X(^,J. Если Х(р2)>Х(Р1) и v,k,+1 =
= PiP*. то У<Л, • • • v4c>v-k'+i = »sPu ¦ ¦ ¦ ий$> гДе Р = Р2Р" и 0<
<С X (р)< X (fls.,+1). Используя разделимость кода 7 и лемму 1,
в обоих случаях получаем, что р е Rk'+i> G). Так как /c'-j-/'^
^n'(V), то это противоречит определению числа п'(V) и
доказывает следствие.
Величина taia характеризует (в условиях передачи
последовательности кодовых слов) минимальный размер задержки,
достаточной для определения по каждому принятому кодовому слову
соответствующей ему буквы. Очевидно, что для префиксных кодов
(и только для них) ?min=0. Заметим, что если код не является
сильно разделимым, то из равенства E) следует, что первую букву
некоторого сообщения невозможно определить, если даже
допускать сколь угодно большие задержки.
Теоремы 3 и 4 приводят к простым алгоритмам распознавания
свойств разделимости и сильной разделимости конечного кода 7.
Эти алгоритмы заключаются в последовательном построении
ограниченного числа (не более п G)) множеств Rn G) и проверке
того, выполняются ли для этих множеств условия теорем 3 и 4.
В частности, табл. 3 показывает, что код 7={10, 101, 001}
является разделимым и сильно разделимым, в то время как код 7=
={0, 010, 101} не обладает ни одним из этих свойств. Легко
проверить, что для кода 7={10, 101, 001} tMll=i, причем, если известно,
что образ сообщения начинается словом 10100, то еще нельзя
определить, какой буквой начинается исходное сообщение.
ГЛ. I. СВОЙСТВА КОДОВ
221
Критерии, аналогичные теоремам 3 и 4, можно
сформулировать и в графической форме. Построим для кода V={v0, vlf. . .
..., vm_1) конечный ориентированный граф G (У). Для этого возьмем
сначала в качестве вершин графа элементы множества V \ {Л}
и соединим вершину В' с вершиной В" ребром, направленным от В'
к В", если слово В" следует за словом В', а затем объединим все
вершины р е У в одну общую вершину и обозначим ее через Л.
Очевидно, что граф G (У) имеет п (У) вершин. На рис. 2 и 3
приведены графы G (У) для кодов У={10, 101, 001} и У={0,010, 101}
соответственно.
Теорема 5. Для того чтобы код V={v0, vv . . . , ym_x}
был разделимым, необходимо и достаточно, чтобы граф G (У)
не содержал ориентированных циклов, проходящих через вершину А.
г—<1 ^у'
Рис. 2. Рис. 3.
Теорема 6. Для того чтобы код У={у0, vlt . . . , vm_1)
был сильно разделимым, необходимо и достаточно, чтобы граф
G (У) не содержал ориентированных циклов, в которые можно
попасть из вершины Л.
Доказательство теорем 5 и 6, как и доказательство теорем
3 и 4, основано на лемме 1 и проводится аналогичным образом.
Из теорем 5 и 6 следует, что при построении графа G (У) для
распознавания свойств разделимости и сильной разделимости кода У
можно отбрасывать вершины, в которые нельзя попасть из
вершины Л. Однако это замечание уже не будет справедливо при
исследовании некоторых других (например, синхронизационных)
свойств кодов.
В настоящее время известны также и другие графические
(автоматные) конструкции для распознавания свойств кодов, однако,
они связаны с исследованием графов с бблыпим числом вершин.
§ 3. Автоматное кодирование и декодирование
Побуквенные кодирования представляют собой простейший и
весьма узкий класс отображений слов в слова. В последнее время
проявляется тенденция к изучению более сложных кодирований
(например, сверточных кодирований), которые допускают срав-
222
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
нительно простую реализацию обратного отображения
(декодирования) с исправлением ошибок того или иного рода. Однако
основная потребность в изучении более широких классов
отображений связана с тем, что отображения, обратные к побуквенным
кодированиям, уже не являются таковыми, за исключением одного
вырожденного случая.
Более широкий класс кодирований слов можно определить
с помощью обобщенного в смысле [9] понятия автомата. Суть этого
обобщения состоит в том, что автомат в каждый момент времени
выдает некоторое, быть может, пустое слово в выходном алфавите
(а не букву выходного алфавита, как это обычно принято).
Пусть 21={Л, В, S, s,-0, /, ср} — произвольный конечный
автомат, где А={аа, а1;. . ., ат_г} — входной алфавит; В = {0,1} —
выходной алфавит; S = {s^ s2,. . . ., sx) — множество состояний;
s,o — начальное состояние; / и <р — функция переходов и функция
выходов автомата такие, что
f(st, aJeS,
cp(s., aj)=v{iJ,
где v{i ¦ — некоторое (быть может, пустое) слово в В. Автомат 21
индуцирует отображение К^, которое каждому слову а = ajflj, ¦ ¦ ¦
... a,jl ставит в соответствие слово
^gi(a) = y,oi/lL%1,/2 . . . ь-([_ъП,
где числа ip (р = 1, 2, . .., I) таковы, что s4p = f(sip_l, aJp).
Отображение К^, индуцируемое некоторым автоматом 21 с
конечным числом состояний, будем называть автоматным
кодированием, а автомат 21 — кодирующим автоматом. Аналогичным
образом определяются частичные автоматы, для которых функции
/ и 9 определены на некотором подмножестве множества S X А
и, следовательно, отображение /Г<21 определено на некотором
подмножестве слов в Л.
Автоматное кодирование отличается от побуквенного
кодирования тем, что кодирование букв, вообще говоря, меняется при
переходе от одного состояния к другому. Заметим, что класс по-
буквенных кодирований совпадает с классом автоматных
кодирований, индуцируемых автоматами с одним состоянием.
Удобным средством задания автомата является его задание
посредством диаграммы, представляющей собой конечный
ориентированный граф, вершинам и ребрам которого приписаны
некоторые символы. Диаграмма автомата 21 строится следующим
образом. Каждому состоянию s. автомата ставится в соответствие
вершина графа, которой приписывается символ s.; каждой паре
ГЛ. I. СВОЙСТВА КОДОВ
223
(а,,О)
(<*г,Щ
(s-, а •) ставится в соответствие ребро, направленное из sf в
/ (sv а), причем этому ребру приписывается пара символов
(я-, Vf .), где v( j = <p {s{, uj). Построение диаграммы завершается
указанием начального состояния.
На рис. 4 приведена диаграмма автомата с тремя входными
буквами и тремя состояниями, который «запоминает» последнюю
букву сообщения и в случае ее повторения кодирует ее более
коротким словом. Например, сообщение a1a2a0a2aiaoaia2 отображается
в слово 1010101111111010 длины 16, а сообщение а^а^а^а^ —
в слово 100101000110 длины 12. При этом указанное автоматное
кодирование является взаимно однозначным.
Особую роль в теории кодирования занимают взаимно
однозначные автоматные (и, в частности, побуквенные) отображения слов
такие, что обратные к ним
отображения являются автоматными или
в определенном смысле могут быть
реализованы автоматами. При такой
реализации исходное сообщение
однозначно определяется по образу этого
сообщения с некоторой постоянной *)
задержкой t. Более точно,
рассмотрим произвольное кодирование К
слов в алфавите А = {а0, ах,. . ., am_J.
Конечный автомат 03 с входным
алфавитом В={0, 1} и выходными будем
называть декодирующим автоматом
(для кодирования К), если существует
число t, обладающее следующим свойством: для любых сообщений
а и а' и любого слова C длины t, для которого слово К(аK
является началом слова ЛГ(аа'), имеет место равенство Kcq (К (a) 8) = а,
причем Kcq ф') т^= а для любого собственного начала J3' слова К (а) р.
Из этого определения следует, что декодирующий автомат 33
выдает исходное сообщение а ровно через t единиц времени после
того, как в него поступил образ сообщения а. Число t, 'обладающее
указанным выше свойством, называется задержкой декодирующего
автомата 93.
Теорема 7. Для того чтобы для побуквенного кодирования
K'°0',av\','.'.'.',ai>2-\ существовал декодирующий автомат, необходимо и
достаточно, чтобы код V = {v0, vv ..., vm_l) был сильно
разделимым.
(аг,0)
Рис. 4.
*) Если потребовать не постоянную, а лишь ограниченную сверху
задержку (которая может меняться от сообщения к сообщению), то это не
расширит класс побуквенных кодирований, допускающих автоматное
декодирование (по этому поводу см. [19]).
224
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Доказательство. Необходимость условия теоремы очевидна.
Для доказательства достаточности условия теоремы построим
(вообще говоря, частичный *)) декодирующий автомат 93 = {В, А,
S, sv, /, ср) с задержкой tmia (см. следствие теоремы 4). Обозначим
через б множество всех собственных начал слов вида i^B', где
vteV и В' е V* fl Btm™. Очевидно, что если В е б, то X C) < tmin -f-
-f-Xmax. Следовательно, множество б состоит не более, чем из
2*тт+Хтах — 1 слов. Определим множество S состояний автомата 03
следующим образом: S = {s8, В е б) (ясно, что в 5 содержится
начальное состояние sv). Идея всего построения состоит в том,
чтобы автомат находился в состоянии s» тогда и только тогда,
когда им не расшифровано слово В. Функцию f(sv Ъ) переходов
и функцию <? (sg, b) выходов определим на множестве пар (sit b)
таких, что BfeeF*. При этом если слоео ВЬ представимо в виде
36 = l\3', где у< е F и В' е F* |"| Btm™, то положим
/(*?. ъ) = V ? (*?> *) = «*.
в противном случае положим
/(«„, Ь) = &>„ ?(*3, Ь) = Л.
В силу следствия теоремы 4 для любого слова ре б и любого его
представления в виде 6=^6', где S'eF*, справедливо
неравенство X (В') < lmiB. Благодаря этому функция / не выводит нас
за пределы множества S, что гарантирует корректность
определения автомата 93. Тот факт, что автомат 93 является
декодирующим автоматом с задержкой t^, легко доказывается индукцией
по длине сообщения а. Заметим, что из определения числа t^
следует, что задержка декодирующего автомата не может быть
меньше tmin. Число состояний построенного автомата можно
в ряде случаев уменьшить за счет подходящего его доопределения.
На рис. 5 приведен декодирующий автомат для кодирования
^1&'Лбх%<>1> построенный по методу, описанному выше. Для задания
автомата использована «развернутая» диаграмма,
представляющая собой ориентированное дерево. Внутренние вершины этого
дерева соответствуют различным состояниям автомата, корневая
вершина соответствует начальному состоянию sA. Ребро,
направленное вверх, соответствует переходу при входном символе О,
а направленное вниз — переходу при входном символе 1. Каждое
ребро направлено к вершине, соответствующей следующему
состоянию, и над ним указано соответствующее выходное слово
(если оно не пусто). Для получения диаграммы автомата из
развернутой диаграммы нужно лишь объединить концевые вершины
с соответствующими внутренними вершинами, а также приписать
*) Построенный ниже автомат индуцирует отображение V* на А*.
ГЛ. II. ЭФФЕКТИВНОЕ КОДИРОВАНИЕ
225
ребрам соответствующие входные символы. Развернутые
диаграммы оказались весьма удобными для задания декодирующих
автоматов.
Рис. 5.
Вопросы, связанные с распознаванием различньпГсвойств
автоматных кодирований и с условиями существования
декодирующих автоматов для автоматных кодирований, исследованы в
работе [18].
Глава П. ЭФФЕКТИВНОЕ КОДИРОВАНИЕ
§ 4. Оптимальный код. Методы построения кодов,
близких к оптимальному
Настоящая глава посвящена построению эффективных взаимно
однозначных кодирований при некоторых простейших
предположениях относительно статистических свойств источника
сообщений. При этом более эффективными считаются кодирования,
у которых в среднем на одну букву сообщения приходится
меньшее число двоичных цифр.
Рассматривается источник, который случайным образом
последовательно порождает буквы алфавита А={а0, аг, . . ., ат_1}.
Предполагается, что последовательные появления букв
алфавита А статически независимы и подчинены распределению
вероятностей Р = {р0, рх, .. ., рт_1} [р. > 0, 2 ft = 1 . Каждый код
15 Дискретная математика, т. I
226
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
V = {v0, v1,...,vm_1) в алфавите В = {О, 1} характеризуется
средним числом
т~ \
#г(Р)=2аМ»4)
двоичных цифр, приходящихся на одну букву алфавита А при
побуквенном кодировании К^а,\\ y.'.]%?z\- Величину 3?г(Р) называют
стоимостью кода V при распределении Р.
Пусть
${Р) = Ы%Г(Р),
где нижняя грань берется по (счетному) множеству префиксных
кодов V, состоящих из m слов. Префиксный код V={v0, vv . . .
• • • > vm-i) будем называть оптимальным*) при распределении
Р={Ро! Pi>- ¦ м Pm-i), если 3?r (P)=3? (P). Основная задача,
которая здесь возникает, состоит в отыскании методов построения
оптимальных или близких к ним по стоимости кодов и в оценке
величины X (Р).
Следует отметить, что оптимальный код (определенный
указанным выше способом) будет минимизировать стоимость не только
в классе префиксных кодов, но и в более широких классах,
а именно: в классе сильно разделимых кодов (т. е. кодов, при
которых для кодирования К""^ "j'/;;'_ "™~* существует декодирующий
автомат) и в классе разделимых кодов (т. е. кодов, при которых
кодирование /Q;"[','.'.'.', J™~| взаимно однозначно). В этом легко
убедиться, если заметить, что в силу следствия теоремы 1 минимум
средней длины кодовых слов в классе разделимых кодов
достигается на некотором префиксном коде.
Справедливо следующее утверждение: при любом заданном
распределении Р—{р0, рх, . . ., рт^} существует оптимальный код,
причем среди оптимальных кодов всегда имеется полный код,
а в случае положительных вероятностей любой оптимальный код
является полным **).
Доказательство этого утверждения основано на двух фактах.
Во-первых, для любого префиксного кода, не являющегося
полным, существует (см. следствие теоремы 2) полный (префиксный)
код, который имеет такую же или меньшую (в случае р. > 0, ъ =
=0, 1,...,т—1) стоимость. Во-вторых, число полных кодов,
состоящих из т слов, конечно. Последнее следует из того, что для
*) Как будет ясно из дальнейшего, оптимальный код существует при
любом распределении Р.
**) В случае произвольного основания г та часть утверждения, которая
касается полноты оптимальных кодов, справедлива тогда и только тогда,
т — 1
когда число _ . — целое.
ГЛ. II. ЭФФЕКТИВНОЕ КОДИРОВАНИЕ
227
любого полного кода V={v0, vlf. . . , vm_1) имеет место равенство
ц (V\V)=m—l (см. (9) § 1), и, следовательно, он не может
содержать слов длины т или более.
Приведенное выше утверждение в сочетании с теоремами 1 и
2 показывает, что задача построения оптимального кода
эквивалентна задаче отыскания целых положительных чисел lit
т—1
2 = 0, . . ., т — 1, минимизирующих величину 2 р^ при условии
.=0
т—1
»=0
При построении кодов в случае алфавита А={а0, av. . . , a„,_i}
с известным распределением Р={р0, pt,. . . , pm_t} без
ограничения общности можно считать, что буквы алфавита А занумерованы
в порядке убывания их вероятностей, т. е. р0 ^ рх ^ . . . ^ рт-\-
Этого соглашения мы будем придерживаться на протяжении всего
параграфа.
Известны два метода построения кодов, близких к
оптимальному, принадлежащие Фано [41] и Шеннону [57]. Метод Фано
отличается чрезвычайной простотой конструкции, метод Шеннона
позволяет получать довольно точные оценки. В частности, метод
Шеннона, по существу, был уже использован (в некотором
специальном случае) при доказательстве достаточности условий
теоремы 1.
Метод Фано заключается в следующем. Упорядоченный (в
порядке убывания вероятностей) список букв делится на две
(последовательные) части так, чтобы суммы вероятностей входящих в них
букв как можно меньше отличались друг от друга. Буквам из
первой части приписывается символ 0, а буквам из второй части —
символ 1. Далее точно так же поступают с каждой из полученных
частей, если она содержит по крайней мере две буквы. Процесс
продолжается до тех пор, пока весь список не разобьется на части,
содержащие по одной букве. Каждой букве ставится в соответствие
последовательность символов, приписанных в результате этого
процесса данной букве. Легко видеть, что полученный код
является префиксным и полным. Пример кода, построенного по методу
Фано, приводится в таблице 4.
Метод Шеннона применим лишь в случае, когда все
вероятности положительны. Он состоит в том, что букве а,-, имеющей
вероятность р{ > 0, ставится в соответствие последовательность
1 Г
первых (после запятой) цифр разложения числа
из I,-
log77L
q{ = ZuPj в бесконечную двоичную дробь (с недостатком). По-
скольку при h > i (в силу того, что ph <J pt по принятому
соглашению о нумерации букв) lh^ Z,. и \>qh% ?,+/>,• !> д{+2~[', то
15*
228
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
ТАБЛИЦА 4
Р(
0,20
0,20
0,19
0,12'
0,11
0,09
0,09
Стоимость
Метод
Фано
00
010
ОН
100
101
110
111
2,80
и
3
3
3
4
4
4
4
г —1
3 = 0
0,00 = 0,000
0,20 = 0,001
0,40 = 0,011
0,59 = 0,1001
0,71=0,1011
0,82 = 0,1101
0,91 = 0,1110
Метод
Шеннона
000
001
01
100
101
110
111
2,81
Метод
Хаффмена
10
и
000
010
он
0010
ООН
2,78
полученный таким образом код является префиксным. Пример
кода, построенного по методу Шеннона, а затем усеченного, также
приводится в таблице 4.
Теорема 8 [57 ]. Для любого распределения Р={р0, рг, . . .
• • • Pm-i) имеет место *) соотношение
т—1 т—1
2 р* 1°ёу(<2(р) < 2 р* 1о^^+1, A)
<=о * <=о
причем
т—1
w)=2Alogi B)
1=0
тогда и только тогда, когда существуют целые числа lt такие,
что
р< = 2-'<, 1 = 0, 1, ..., т— 1. C)
Доказательство. Для доказательства нижней оценки
заметим, что для произвольного префиксного кода V -= [v0, vv ..., vm_1)
т—Х
в силу теоремы 1 выполняется неравенство 2 2~'* ^ 1, где 1( —
«=о
длина слова v{. Используя известное неравенство In х ^ х — 1 и
суммируя по положительным вероятностям р{, получаем
*) Здесь ж далее полагаем pt log — = 0 при р< = 0.
ГЛ. П. ЭФФЕКТИВНОЕ КОДИРОВАНИЕ
229
и, следовательно,
п—1
2^<>2p<logF?
Так как равенство In х=х—1 возможно лишь при ж=1, то из D)
следует, что равенство B) возможно лишь при выполнении
условий C) для положительных вероятностей. Однако, как следует
из теоремы 1, в этом случае все вероятности положительны,
Для доказательства верхней оценки рассмотрим сначала
случай, когда все вероятности положительны. В этом случае верхнюю
оценку можно получить с помощью кода, построенного по методу
Шеннона. Действительно, тогда каждой букве, имеющей
вероятность р4, будет соответствовать кодовое слово длины log— ,
]1 Г 1
log — <d log f-1, а в случае выполнения условий C)
Pi L Pi
]log^-[ = log-^.
Рассмотрим теперь случай, когда вероятности ра, pv ..., рт,_х
A ^.т' ^.т — 1) положительны, а рт, = рт,+1 = ... = рт_г = 0.
Заметим прежде всего, что в этом случае любой префиксный код для
первых т' букв, не являющийся полным, можно расширить до
префиксного кода для т букв без увеличения его стоимости. Поэтому
верхнюю оценку можно считать доказанной, если при некотором
t @^.i^m' — 1) Z<=: log— >log—, так как тогда 1 =
mr—1 m'—l
— 2 P< ^> 2 2~(» и, следовательно, в силу теоремы 2, код, по-
г=0 «=0
строенный по методу Шеннона для первых т' букв, не будет
]1 г i
log— —log —,
то рассмотрим код, построенный по методу Шеннона для первых
т' букв, и припишем к последнему слову этого кода цифру 0.
Очевидно, что полученный код будет префиксным, но не полным,
т—1
а стоимость его будет равна % р{ log \-Pm>-v чт0 в силу сде-
данного выше замечания также приводит к верхней оценке A).
Теорема доказана.
§ 5. Метод Хаффмена построения оптимального кода
Методы Фано и Шеннона обеспечивают построение префиксных
кодов, стоимость которых весьма близка к величине X (Р)- Хаф-
фмен предложил [48] несколько более сложный, индуктивный
230
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
метод, в результате применения которого получается префиксный
(полный) код, стоимость которого равна if (P). Суть этого метода
заключается в том, что построение оптимального кода для
алфавита из т букв сводится к построению оптимального кода для
некоторого алфавита из яг—1 букв. Обоснование метода Хаффмена
опирается на следующую теорему.
Теорема 9. Если V={v0, ь\,. . . , v,^} (m > 2) —
оптимальный код при распределении Р = {р0, р1:. . ., p,„_i) и Pj- = q0-Jrq1,
причем р0 > р1 > . . . . > Pj_x > Pj > . . . > Pm-i > qa > qu mo
код
V' = {v0, vv ..., Vj_v vJ+v ..., vmr.v VjO, Vjl}
является оптимальным при распределении
Р' = (Ро- Pi. • • •> Pj-v Pj+v ¦ • •> Р.к-1> ?о. 9г}-
Доказательство. Заметим, что код V — префиксный
и Xr(P')=!?\ (P)+Pj. Поэтому для доказательства оптимальности
кода V при распределении Р' достаточно доказать, что для
некоторого оптимального при распределений Р' кода W имеет
место %v. (Р') > if,- (P)+pr
Заметим, что в любом полном оптимальном коде существуют
два слова максимальной длины, которые отличаются лишь
последней двоичной цифрой. При этом без ограничения общности можно
считать, что эти слова соответствуют буквам, имеющим
наименьшие вероятности (иначе можно сделать соответствующую
перестановку кодовых слов, не увеличивающую стоимости кода). Поэтому
для распределения Р'={р0, рг,. . . ., Pj.^Pj+i,- ¦ -Рт-ъ 9о> Qi)
существует оптимальный код вида W' = {w0, wv. . . wm_2,w0, wi).
Рассмотрим код W = {w0, wl7. . . , w}^, iv, Wj, ¦ ¦ , wm_2) для
распределения P={p0, Pi,- ¦ -, Pm-i}- Очевидно, что Xw(P') =
= ifvp(P)+/V В силу префиксности кода W код W тоже
является префиксным. Так как код V является оптимальным при
распределении Р, то if я- (Р) >ifr (P) и, следовательно, if,r (Р') >
^ifr (P)-\-Pj, что и требовалось доказать.
Теорема 9 подсказывает следующий способ построения
оптимального кода. В исходном упорядоченном по убыванию списке
вероятностей отбрасываются две последние (наименьшие)
вероятности, а их сумма вставляется в список таким образом, чтобы
получающийся список из т—1 вероятностей снова был упорядочен по
убыванию. Затем эта же процедура проделывается со списком из
т—1 вероятностей и т. д. до тех пор, пока не получится список из
двух вероятностей. После получения списка из двух вероятностей
первой из них приписывается символ 0, а второй — символ 1
(оптимальный код для двух букв при произвольном распределении
вероятностей). Затем согласно теореме 9 из оптимального кода
ГЛ. II. ЭФФЕКТИВНОЕ КОДИРОВАНИЕ
231
для двух букв строится оптимальный код для трех букв при
соответствующем списке вероятностей и т. д. до тех пор, пока не
получится оптимальный код при исходном списке вероятностей.
Здесь важно отметить, что преобразования списков, уменьшающие
на единицу число вероятностей, подобраны таким образом, чтобы
при построении оптимальных кодов из оптимальных кодов с
меньшим на единицу числом слов мы всегда находились в условиях
применения теоремы 9. Описанный выше метод Хаффмена
построения оптимального кода иллюстрируется примером в таблице 5.
ТАБЛИЦА 5
0,20 0,20 ->-0,23 -*0,37
0,20 0,20
0,19
0,12
0,11
0,09 I
0,09 1
0,19
->0,18
0,12 1
0,11 1
0,20
0,20
0,19 I
0,18 |
0,23
0,20 1
0,20 1
Преобразование списков
-^0,40
0,37 I
0,23 1
|->0,60
1 0,40
0— 1 — 00— 01 — 10 10
1 I 00
"Hjh
01
-и:
10
11
1 000
"*| 001
11 11
000
001-
| 010
Н_о«
000
010
он
| шО
"П 00U
Соответствующее преобразование
кодов
Отличие метода Хаффмена от метода Фано, по существу, состоит
лишь в том, что в методе Фано кодовое дерево для искомого кода
строится начиная с корня, а в методе Хаффмена начиная с
концевых вершин. Однако это отличие позволяет полнее использовать
специфику данного распределения вероятностей и построить
оптимальный код.
В таблице 4 для сравнения приведены коды, построенные для
одного и того же распределения вероятностей с помощью трех
рассмотренных методов. Отметим, что если одна из букв имеет
большую вероятность, чем другая, то ни в каком оптимальном коде
ей не может соответствовать более длинное кодовое слово. В
кодах же, построенных по методам Фано и Шеннона (с последующим
усечением), буквам с большими вероятностями не всегда
соответствуют более короткие кодовые слова. С другой стороны,
интересно отметить, что в то время как в коде, построенном по
методу Шеннона, каждой букве, имеющей вероятность р., ставится
-1 j Г
в соответствие слово длины не более [ log — | , в оптимальном коде
(а также в коде, построенном по методу Фано) такой букве может
соответствовать более длинное слово*).
*) Например, в случае распределения {0,36; 0,30; 0.30; 0,04} метод
Шеннона ставит в соответствие третьей букве слово длины 2= logTj-qrj >
в то время как методы Хаффмена и Фано ставят в соответствие этой букве
слово длины 3.
232
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Последнее обстоятельство отчетливо характеризует трудности,
которые возникают при попытке улучшить оценки Шеннона A)
§ 4 в общем случае. Однако для некоторых классов распределений
вероятностей удается найти точное значение величины ? (Р)
(см. [12, 13]). Например, в случае равномерного распределения
Р={1/т, 1/т,. . ., 1/т} легко показать, что оптимальный код
должен содержать некоторое число тг, I ^ т1 ^ т, слов
некоторой длины / и т—тх слов длины 1-{-\. Из полноты
оптимального кода следует, что 2тг-{- (тп—тг) = 2'+1, откуда Z=[log m],
тп1 = 2tI°S"+1 — т.. Обозначая в рассматриваемом случае !?{Р)
через ^?{т), получаем
а}. . тх1 + (т - mj) (I + 1) ., . , „ (, г^ 'nl\
?(т)=-±-^ т ' = [\ogm\-\- 2(^1 —J. A)
§ 6. Асимптотически оптимальное кодирование блоками
при известном и неизвестном распределении вероятностей
Естественно поставить вопрос, нельзя ли уменьшить стоимость
(взаимно однозначного) кодирования за счет перехода к более
сложным способам кодирования, в частности, к автоматному
кодированию. Как выяснилось, при любом распределении Р={р0,
Ръ- • ч Pm-i) можно с любой степенью точности приблизиться
к нижней границе в A) § 4, если применить автоматное
кодирование с достаточно большим числом состояний. При этом оказалось,
что требуемого приближения можно достичь уже с помощью
простейших автоматных кодирований, так называемых кодирований
блоками.
Пусть задан алфавит А = {а0, av . . ., я,,,^} с распределением
вероятностей Р = {р0, pL, ..., рт_1}. Рассмотрим алфавит А" ={л0,
<х1; ..., amn_i}, буквами которого являются слова длины п в
алфавите А, и произвольный код W = {w0, wv . . ., wmn_i). Побуквен-
ное кодирование К№' ю'ь'."_', «^^ слов в алфавите А" порождает
кодирование слов в алфавите А, длина которых кратна п. При
этом каждому слову длины кп в А, представимому в виде
произведения oi^aiiz ... a.ik букв алфавита А" (т. е. слов длины п в А),
ставится в соответствие двоичное слово WiXw^ .. . wik. Это
кодирование слов в А будем называть кодированием блоками длины п
и обозначать через Kw.
Отметим, что кодирование блоками длины п является
автоматным кодированием. Действительно, рассмотрим автомат, который
в разных состояниях «помнит» различные слова в А длины мень-
шей п и, следовательно, имеет \-\-т-\-...-\-тпг — ——г-
состояний. Начальным состоянием автомата является состояние, в
котором он помнит пустое слово. Если автомат в данном состоянии
ГЛ. II. ЭФФЕКТИВНОЕ КОДИРОВАНИЕ
233
помнит слово if и поступила буква а, то возможны два случая:
либо слово fa имеет длину п и, следовательно, Tfa==«i еЛ"при
некотором i, либо слово fa имеет длину менее п. В первом случае
автомат выдает слово w. и переходит в начальное состояние, во
втором случае он выдает пустое слово и переходит в состояние,
в котором он помнит слово уа.
Ранее было сделано предположение, что последовательные
появления букв алфавита А = (a0, av . . .,e,n-i}> подчиненные
распределению вероятностей Р = {р0, pv . . ., pm_t}, статистически
независимы. В условиях этого предположения каждое слово а =
= a,jfljt ... a,jn в алфавите А встречается с вероятностью Р (а) =
= PjiPj, ¦ • • Pjn- Распределение вероятностей {Р(а), осе А"} будем
обозначать через Р". Согласно принятым обозначениям величина
$?w(P") равна среднему числу двоичных цифр, приходящемуся
при кодировании Кщ на одну букву алфавита А" и, следовательно,
на п букв алфавита А. Поэтому стоимость кодирования Kw блоками
длины п будем определять величиной —3?w(Pn)- Минимальную
{по всем префиксным кодам W) стоимость кодирования блоками
длины п обозначаем через ,5?„(Р). Очевидно, что
Теорема 10 [57].
т—1 «г—1
«'=0 «=0
Для доказательства теоремы 10 нужно лишь проверить, что
т—1
2p(aI0gj4o=w2p<logF; (!)
и воспользоваться теоремой 8.
Следствие.
т—1
п->со -*™ li
Пример. Рассмотрим оптимальное кодирование блоками
длины п (ге=1, 2,. . .) равновероятных десятичных цифр. Ясно,
что в этом случае все блоки фиксированной длины также
равновероятны и, следовательно, стоимость Хп оптимального
кодирования блоками длины п равна — i?A0"). (Напомним, что 3? (т) —
234
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
стоимость оптимального кода для т равновероятных букв.)
Используя равенство A) § 6, имеем
/ 2[» lOg 10] >
[«log 10] +2^1- ^~
В частности, на основании этого равенства можно найти, что
Хх = 3,400, ^2 = 3,360, ^з = 3,325, ^4 = 3,340, %ъ = 3,338 и т. д.
Рассмотренный пример показывает, что стремление Хп (Р) к
т— 1 /9 \
2 р< ]°%]Г. ( в Данном случае ^ Pi 1о& ^Г^1^ 10 = 3'322 при
п->со, вообще говоря, не монотонное. Асимптотическое поведе-
т—1
ние величины Ц?п (Р) — N р{ log — при произвольном распределе-
¦^и Pi
нии Р исследовано в работе Р. Е. Кричевского [16].
Теорема 10 обосновывает то утверждение, что стоимость
взаимно однозначного кодирования может быть сделана сколь угодно
т—1
близкой к величине N pf log —, Для этого можно, например, исполь-
i=0
зовать кодирование Kw олоками достаточно оольшои длины п,
для которого код W построен по методу Хаффмена или по методу
Шеннона (с описанной модификацией в случае нулевых
вероятностей). Так как эти методы существенно основаны на знании
распределения вероятностей Р = {р0, plf. . ., р,,^}, то естественно
возникает вопрос, будет ли приведенное выше утверждение
справедливо в случае, когда распределение Р = {р0, р1?. . . , рт_1)
заранее не известно. Для произвольных автоматных кодирований
положительный ответ на этот вопрос получить нетрудно.
гт „ „ т^" — 1
Действительно, \ ассмотрим автомат, который имеет —
состояний и в различных состояниях «помнит» различные слова
длины менее h-\-n в алфавите А= {а0, аъ. . ., ат_г). Начальным
состоянием автомата является состояние, в котором он помнит
некоторое фиксированное слово длины h. Для каждого слова а
длины h обозначим через q. (а) — частоту буквы a,si в слове а
B = 0, 1, ...,т — \) и через Wa = {и;а0, watl, . . ., w„,
„.»_]}—некоторый оптимальный код для распределения (?"={(? (я.-,^,... а.-„) =
= q. (a)q. (а). . .q. (а)}. Функция выходов и функция переходов
автомата определяются следующим образом. Если автомат в
данном состоянии помнит слово 7 и поступила буква а, то возможны
два случая: либо слово уа имеет длину h-\-n и, следовательно,
уа—аа,, где слово а имеет длину /ги о-еЛ" при некотором i, либо
ГЛ. II. ЭФФЕКТИВНОЕ КОДИРОВАНИЕ
235
слово уа имеет длину менее h-\~n. В первом случае автомат выдает
слово wXti и переходит в состояние, в котором он помнит последние
h символов слова уа, во втором случае он выдает пустое слово и
переходит в состояние, в котором он помнит слово уа. Грубо
говоря, описанный автомат помнит h последовательных букв для
приближенного определения неизвестного распределения Р =
={Ро-> Ръ- • • > Pm-i) и на основе этой информации осуществляет
кодирование блоками длины п. Если числа h и п выбрать
достаточно большими, то при указанном автоматном кодировании
среднее число двоичных цифр, приходящихся на одну букву сообще-
т~\
нпя, будет сколько угодно близко к величине \ p. log — . Мы не
1=0
будем строго обосновывать этот факт, поскольку, как заметил
Б. М. Фитингоф [30], можно избавиться от приближенного
отыскания неизвестного распределения и непосредственно получить
аналогичный результат для кодирований блоками.
Теорема 11. Существует взаимно однозначное кодирование
блоками длины п (п—1, 2,...) в алфавите Л = {а0, а1,. . ., а,^},
стоимость которого при любом (заранее не известном)
распределении вероятностей Р = {р0, р1: . . ., pm_i) не превышает
т—1
2p>g^ + (m-1)l0Ri" + 1)^. B)
1=0
Доказательство. Для произвольного слова а. е А" положим
Ч («) = (?0 (а)> Яг (<*), • • •> дт-г (а)), C)
где q{ (а) — частота буквы а.еЛ в слове а, ц пусть
т—1
'(°) = 2?»log^y. D)
»=0
Очевидно, что для вероятности Р (а) слова а справедливо равенство
Р (а) = р«ь(*)р«и(*) ... p%m-iW. E)
Заметим, что в случае Р (а) > 0 из D), E) и известного
неравенства In х ^ х—1 вытекает
га/(а) - log ^=«2 9, («) 1о§^) <Л 2 {[?i ~ q<(<X)) l0g е ^ °*
где суммирование происходит по тем i, 0 <^ i ^ т— 1, для
которых q. (а) > 0 и, значит, р. > 0.
Следовательно, при любом распределении Р = {Ро, р{ , ¦ ¦ •
• • •. Pmj} и любом аеА" таком, что Р (а) > 0,
»/(«)<log^. F)
236
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Из неравенства F) следует, что для построения эффективного
кодирования блоками достаточно найти префиксный код, с
помощью которого каждому слову аеА" сопоставляется двоичное
слово, имеющее длину, близкую к nl (а).
Множество слов а е Ап, имеющих один и тот же набор частот
C), будем называть частотным классом. Число частотных классов
обозначим через h, а частотный класс, в который входит слово а,
обозначим через ib (а). Очевидно, что h=C^Lm_x (число
упорядоченных разбиений числа п на т неотрицательных слагаемых) и
11 (Й (a)) = («go(«))!("9i(«))!---(«9,B-iW)! '
Каждому слову аеА" поставим в соответствие (целое!) число
*(«) = ]log|*F(a)) + logA[. G)
Убедимся в том, что
2 2-"а)<1. (8)
ag4B
Действительно, обозначая через Sov 62, .. •, ibA частотные классы,
из G) получаем, что
Используя неравенство (8), по теореме 1 можно построить
префиксный код W и соответствующее ему кодирование К% блоками
длины п, при котором каждому слову «б4° сопоставляется
двоичное слово длины G)*). Так как h = C%+k-i*S^.(n-\-1)-1 и в силу
неравенства D) Приложения }i (ib (a)) ^ 2" , то из G)
вытекает, что
*(«)<»/(«) + {т— l)log(n + l) + l. (9)
Из (9), F) и A) немедленно следует, что стоимость — \ Р (a) 1(a)
указанного кор
величиной B).
указанного кодирования Куу блоками длины п оценивается сверху
*) Прямой метод построения префиксного кода W, в котором длина
кодового слова, соответствующего се, не более чем на единицу превышает
G), состоит в следующем. Нумеруются (начиная с 0) частотные классы и слова,
принадлежащие одному и тому же частотному классу. Если слово а получает
номер пг (а) в частотном классе ib (се} и частотный класс й (а) получает номер
пг(а), то слову а ставится в соответствие кодовое слово
e[log ft] +l(ra2(a))e[log ii (?(«)>H-l("l(a))-
ГЛ. II. ЭФФЕКТИВНОЕ КОДИРОВАНИЕ
237
Из теоремы 11 следует, что асимптотически оптимальное
взаимно однозначное кодирование блоками растущей длины
существует и в том случае, когда распределение вероятностей букв
исходного алфавита заранее не известно.
§ 7. Асимптотически оптимальный счетный
префиксный код
В предыдущем параграфе были указан^ методы построения
асимптотически оптимальных кодирований блоками при
известном и неизвестном распределении вероятностей. Фактически
в каждом из этих методов все слова а из и букв алфавита
А={а0, ах, . . ., aOT_i} нумеровались в порядке неубывания
некоторой целочисленной функции I (а) такой, что ^ 2_г W ^1 (в первом
случае I (а) = 1 log-—- Г, во втором — I (а) = ] log ц. (&> (a)) -f log h[).
При этом слову а ставилось в соответствие кодовое слово wa длины
1(a), зависевшее от всех слов, номера которых не превышают
номера слова а.
Если ограничиться рассмотрением кодирований, в которых
каждое кодовое слово wa однозначно определяется лишь номером
слова а, то это приведет к следующей задаче. Требуется
построить счетный префиксный код ^={1^, ?—0, 1, . . .}, для
которого функция
Ц(п) = \(ип)
не убывает и растет как можно медленнее. Подобная задача
возникает также в некоторых других ситуациях, когда число
кодируемых объектов заранее не известно.
Заметим, что в силу теоремы 1 для любого счетного
префиксного кода У={и{) с неубывающей функцией \у(п) имеют место
неравенства
Xr(n)>llog(» + l)], # п = 0, 1, ...
Счетный префиксный код У={и() с неубывающей функцией
У~у(п) будем называть асимптотически оптимальным, если
Xr (n) ~ log п.
Нетрудно убедиться в принципиальной возможности построения
асимптотически оптимального счетного кода- Действительно, на
основании известных признаков сходимости бесконечных рядов
можно найти неубывающую целочисленную функцию X (п) такую,
00
что X(n)~logn и 22-I(и)<11, а затем на основе теоремы 1
я=0
методом Шеннона построить префиксный код V с функцией длин
238
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
\у (п) = 1(п). Однако следует ожидать, что реализация
кодирования, основанного на таком коде, будет чрезвычайно сложной.
Это связано с тем, что в методе Шеннона для определения по числу
п соответствующего ему кодового слова, вообще говоря, нужно
знать значения функции X (т) при всех т ^ п.
Ниже будет описан прямой метод построения асимптотически
оптимального счетного кода, для которого кодирование (и
декодирование) можно реализовать сравнительно просто *).
Предложенный префиксный код является непосредственным аналогом
известного счетного кода {е(п), п=0, 1, . . .}, который состоит
из двоичных записей натуральных чисел и, как было отмечено
в § 1, не является разделимым. Кроме того, предложенный код
обладает рядом других полезных свойств. В частности, он
является полным и лексикографически упорядоченным **).
Введем несколько вспомогательных обозначений. Пусть п@) = О
и л(', = 2""), i = l, 2.... Ясно, что тг,1) = 1 и гс<'> = 22---2) г —1
при i ^ 2. Определим при х ^ 0 целочисленную функцию т (х),
полагая
m(x) = i, если nlt> ^x <^nil+1\
Очевидно, что равенство m(x) = i равносильно условию
0<log('la;<l,
где log'0,x=x и log(°.r=log(Iogf*-1) х) при i ^ 1. Функция т (х)
растет с ростом х чрезвычайно медленно. Например, гоA) = 1,
т A00)=4, тB1О0ОО) = 5.
Теорема 12. [21 ]. Существует префиксный полный код
W={w(, г'=0, 1, . . .} с функцией длин
т (и)
\w (п) = 2 [log(<) п] + т (п) + 1. A)
Доказательство. Пусть е(п)—двоичная запись члена п,
д>1. Это означает (см. A) — B) § 1), что е{п) = b{nW2nK . .Ь^,,
где l(?i) = [logn]-\-l и «= 2^"J'(BW» причем Ь[п) = 1. Слово,
полученное из е (п) отбрасыванием первой цифры, обозначим через е' (п).
В частности, е'A) —Л. Таким образом, e(n) = le'(n) при п^\.
*) Более точно, можно показать (см. [21]), что для предложенного кода
время преобразования на машине Тьюринга двоичной записи числа п в
соответствующее кодовое слово имеет (при ге-> оо) минимальный возможный
порядок в классе разделимых счетных кодов.
**) Префиксный код V={vt, i=0, 1, . . .} называется
лексикографически упорядоченным, если для любых i и ;', i < /, в самом левом разряде,
в котором слова у,- и vj различаются (такой разряд всегда существует в силу
префиксности кода), в слове v( стоит 0, а в слове у,- стоит 1.
ГЛ. II. ЭФФЕКТИВНОЕ КОДИРОВАНИЕ 239
Искомый код W={w., 1=4), 1, ...} определим следующим
образом*):
т (я)
wn = Г"» О П е> ([log(B,ln,-')ra]). B)
Например, при п = 37: [logA) 37] = 5, llogB> 37] = 2, [IogCK71= 1,
mC7) = 4, e(l) = l, eB) = 10, еE) = Ю1, e C7) =100101 и,
следовательно, wbl = 1111000100101. Первые 20 слов кода W
приведены в таблице 6.
ТАБЛИЦА 6
п
0
1
2
3
4
5
6
7
8
9
w„
0
10
1100
1101
1110000
1110001
1110010
1110011
11101000
11101001
п
10
и
12
13
14
15
16
17
18
19
ю„
11101010
11101011
11101100
11101101
июню
11101111
111100000000
111100000001
111100000010
111100000011
Идея предложенной конструкции заключается в следующем.
Каждое слово wn начинается т(п) единицами, после которых
стоит 0, и каждое слово е'([log0-1'»]) состоит ровно из [Iog°'w]
цифр**). Это позволяет сначала определить число т(п), а затем
(используя тот факт, что [log<mltt)~1)n] = l) последовательно найти
числа [log""'2'»!, •••. [logn)n] и [log@)?i]=ra.
Для доказательства префиксности и полноты кода W нам
достаточно показать, что произвольное двоичное слово j3 или
начинается одним и только одним кодовым словом, или является
началом некоторого кодового слова. Если слово [3 начинается
нулем или не содержит нулей, то это очевидно.
*) Здесь, как обычно, через JJ р,- обозначается слово р = ^2 ... р,„,
»=i
причем считается, что (* = Л, если т = 0.
**) Поскольку при х>1 имеет место [log [z]] = [log х], то [log[log(-'-1,«] j =
==[log^'«J.
240
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Пусть теперь В = Ьфх... Ък, причем при некотором т A ^ т ^
<^ TV) Ь0 = Ъ1 = ... = &„,_! = 1 и 6Я = 0. Рассмотрим соотношения
е (га2) = 1Ьт+1... bm+ni,
е (гет-г/ —" l"m+»i+. ..+»m-8+l" • •"m+i»i+...+«m_,t
" V*m/ == L"m+nl+...+nm_,+l- ¦ ¦ ^ш+я1+...+яот_1.
Если длина /V —f— 1 слова В достаточно велика, точнее, если N ^
J
^m4-2w< ПРИ любом /(l^/'^m — 1), то эти соотношения
t=i
позволяют последовательно определить числа ^ = 1, п2, .. ., пт-
В этом случае будем говорить, что определено число п (В) t будем
считать его равным пт. Заметим, что число п C) заведомо опреде-
т
лено, когда N^ 2 ге<,)- Это сдедует из легко проверяемых по индук-
>=i
ции неравенств п. <[/г('+1) — 1, i = l, 2, ..., т — 1.
Докажем теперь, что если число п (В) определено, то слово В
начинается словом ю„р, е И7. Из C) видно, что двоичная запись
числа n,.+l (i = l, 2, ..., т — 1) содержит nf-\-l цифр.
Следовательно, nf~ [log и,.+1] и n. = [logim'i) пф)], где t = 1, 2, .. .„ щ — 1.
Таким образом, m (п (В)) == m и доказываемое утверждение следует
из B) и C).
С другой стороны, из B) и C) непосредственно следует, что
если слово В начинается словом wn e W, то число п (В) определено
и и(8)=ге. Следовательно, если слово В начинается некоторым
кодовым словом, то оно определяется однозначно и равно w„@).
Если слово Р не начинается никаким кодовым словом, то
рассмотрим произвольное слово В', которое начинается словом 3 и имеет
т
длину более 2wC<)- ^ак было замечено ранее, в этом случае
число п(В') определено и, следовательно, слово В является
началом слова и>„@').
Заметим, наконец, что равенство A) непосредственно
следует из B). Теорема доказана.
Доказательство теоремы 12, по существу, представляет собой
обоснование сравнительно простого метода декодирования. В
качестве примера посмотрим, как происходит расшифровка
последовательности 111100100010111101001... Для этой
последовательности тге=4. Принимая во внимание nt=l цифр после первого
нуля, находим, чтое(п2) = 10 и, следовательно, п2~2. Учитывая
две последующие цифры, находим, чтое(и3) = 1Ю и, следовательно,
ГЛ. III. КОДЫ С ИСПРАВЛЕНИЕМ ОШИБОК
241
гг3=6. Учитывая шесть последующих цифр, находим, что е(гс4) =
=1001011 и, следовательно, «4=75. На основании того, что т=4,
делаем заключение, что рассматриваемая последовательность
начинается словом и>7ъ. Затем приступаем к расшифровке оставшейся
последовательности 1101001. . . и т. д.
Следствие. Код W = {w{, i=0, 1, . . .} является
асимптотически оптимальным *).
Глава III. КОДЫ С ИСПРАВЛЕНИЕМ ОШИБОК
§ 8. Некоторые определения и постановка задач
Рассмотрим множество В" слов длины п в алфавите j? = {0, 1}.
Заметим, что множество _В={0, 1} образует поле относительно
операций сложения и умножения по mod 2 (в дальнейшем
сложение чисел по mod 2 будем обозначать знаками © и ^; знак + и 2
сохраним для обозначения обычного сложения чисел). Каждое
слово хх х2 . . . хп в алфавите В={0, 1} отождествим с
вектором (хг, х2, . . ., хп). Суммой векторов (х±, х2, . . ., хп) и (ух, у2, ...
..., у„) из В" назовем вектор (хг ф yv х2фу2, ..., х„@ у„).
Для обозначения операции сложения векторов также будем
пользоваться знаками ф и J^. Легко видеть, что множество В"
образует абелеву группу относительно введенной выше операции
сложения векторов. Если ввести еще умножение произвольного
вектора Х=(х1г х2, . . ., хк) на элемент ЬеВ следующим образом:
bX = (bxv bx2, ..., Ьхя), то множество В" можно рассматривать
как n-мерное векторное пространство над полем 5={0, 1}.
В векторном пространстве В" можно определить расстояние**)
Хемминга [46] d(X, Y) как число несовпадающих компонент
*) В действительности код W оптимален в несколько более сильном
смысле. Это становится ясным, если сопоставить равенство A) с тем
утверждением [21], что для любого разделимого счетного кода V существует
бесконечно много п таких, что
1Т (п) > log п + log<2> п + ... + log(mC"» га — m (re) logB> e.
Последнее утверждение следует из того, что ряд
(loge)""
п log'i' n log<2) п ... log(m<")-i> п
расходится.
**) Напомним, что неотрицательная функция d (X, Y) называется
расстоянием (или метрикой) в некотором множестве Е, если для любых
элементов X, Y, Z из Е выполнены следующие условия: 1) d(X, У)=0 тогда
и только тогда, когда Х=У; 2) d(X, Y)=d{Y,X);3) d(X, Y) < d(X, Z) +
+d(Y, Z).
16 Дискретная математика, т. I,
242
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
векторов X и У и норму || X || вектора X как расстояние между X
и нулевым вектором @, 0, . . ., 0) g5„. Очевидно, что для любого
Х=х1х2. . .хп из В"
.7=1
и для любых X и У из .6"
d(X, У) = ]]Х®У||. B)
Метрическое пространство В" допускает простую
геометрическую интерпретацию. В этой интерпретации множеству В"
соответствует множество вершин n-мерного единичного куба,
а расстояние между двумя элементами из В" равно минимальному
числу ребер в цепи, соединяющей соответствующие вершины куба.
Приведем еще определение, связанное с числовыми значениями
двоичных слов. Для произвольного слова Х=ххх2. . -хп е В"
положим
N (X) = 2 х ,2*4 C)
Число N (X) называется числовым значением слова X. Напомним
также, что для произвольных чисел N нк таких, что 0 ^ N <С 2fc,
через ек (N) мы обозначили двоичную запись числа N с помощью
к цифр, т. е. слово b1b2. . .Ък такое, что
к
N=2 b2k'J.
Примеры. Пусть Х=0110011 и У=0001101. Тогда ||Х|| =
= 4, ||Л1=3, Х0У=О1Ш1О, d(X,Y) = \\X@Y\\=5, N(X) =
= 1+2+16+32=51, N(Y) = 1+4+8 = 13. Заметим также, что
е6A9)=10011 и е7 A9) =0010011.
В дальнейшем в этом разделе будут рассматриваться лишь
коды, состоящие из т^2 двоичных слов фиксированной длины,
причем в тех случаях, когда нумерация слов кода не существенна,
мы не будем ее указывать. Для произвольного кода V={v0, vx, . . .
• • •> vm-l) G В" ПОЛОЖИМ
d(V) = mmd(ut, v}). D)
Величина d(V) называется кодовым расстоянием.
Рассмотрим некоторые виды преобразований двоичных слов,
называемых ошибками.
ГЛ. III. КОДЫ С ИСПРАВЛЕНИЕМ ОШИБОК
243
Одиночной ошибкой вида 0-> 1 A -> 0), в слове X называют
преобразование слова X, состоящее в замене одного из его
символов 0 (соответственно 1) символом 1 (соответственно
символом 0). Одиночные ошибки вида 0 -> 1 и 1 -> 0 называют также
замещениями символов или аддитивными ошибками.
Одиночной ошибкой вида 0 ->• Л A -> Л) в слове X называют
преобразование слова X, состоящее в удалении одного из
символов 0 (соответственно 1) из слова X, в результате чего длина слова
уменьшается на единицу. Одиночные ошибки вида 0 -> А
и 1 —> Л называют выпадениями символов.
Одиночной ошибкой вида А -> 0 (Л -н>- 1) в слове X называют
преобразование слова X, состоящее во вставлении символа 0
(соответственно 1) перед некоторым символом или после
последнего символа слова' X, в результате чего длина слова
увеличивается на единицу. Одиночные ошибки вида Л ->• 0 и Л -*¦ 1
называют вставками символов.
Одиночной ошибкой вида +2* (—2') в слове X s В", где 0 ^ i <C п,
называют преобразование слова X в слово Y е В", числовое
значение которого на 2* больше (соответственно меньше) числового
значения слова X. Одиночные ошибки вида +2' и —2* называют
арифметическими ошибками.
Для иллюстрации в таблице 7 приведены слова, полученные
из слова 0001101 в результате ошибок рассматриваемых видов.
ТАБЛИЦА 7
Вид ошибки
0—>1
1—*0
О—»-А
1—>А
А-^0
А-*1
+22
—22
Место ошибки
2 символ
5 символ
2 символ
5 символ
между 2 и
„ между 2 и
3
3
символами
символами
Слово, полученное
из слова 0001101
в результате ошибки
0101101
0001001
001101
000101
00001101
00101101
0010001
0001001
Произвольную совокупность § видов одиночных ошибок
(например, 8={0-*1, 1-*0, 0-*Л, 1->Л, Л->0, Л-*1}
будем называть типом. Ошибкой типа 8 будем называть
произвольную последовательность одиночных ошибок, каждая из
которых принадлежит одному из видов, перечисленных в 8; число
одиночных ошибок в этой последовательности будем называть
кратностью ошибки. Например, одиночная ошибка типа {0-> 1,
16*
244
5, ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
1->0, 0 -»• Л, 1 -> Л, Л -> О, Л -* 1} есть замещение,
выпадение или вставка символа. В дальнейшем особое внимание будет
уделено ошибкам типа {0 -> 1, 1 -*¦ 0}, т. е. замещениям символов.
При постановке различных задач об исправлении ошибок
заданного типа исходят из того или иного допущения о законе
образования ошибок. Эти законы могут носить как
вероятностный, так и комбинаторный характер. Говорят, что тот или иной
закон образования ошибок задает канал передачи или хранения
двоичных слов. Наиболее исследованы следующие два канала:
а) канал, в котором в любом символе с вероятностью р0 @ <С р0 <С
<С 1/2) происходит ошибка заданного типа, причем ошибки в
различных символах статистически независимы; б) канал, в котором
в каждом слове длины п может произойти любая ошибка
заданною типа кратности не более s.
Возможность исправления ошибок при использовании кода
F={y0, vx, . . ., ym_i} С В" можно пояснить следующим образом.
Обозначим через 3 (X) множество слов, которые можно получить
из слова X в результате ошибок, допустимых в рассматриваемом
канале. Произвольное однозначное отображение D множества
т—1
U 3 (vf) на V будем называть декодированием *). Ясно, что задание
1=0
т—1
декодирования D равносильно разбиению множества (J 3 (v4) на
<=о
не пересекающие подмножества (окрестности) В_1([)(), ?=0, 1,.. .
. . ., т — 1, где каждая окрестность Z)-1^) состоит из
прообразов слова у,, при отображении D. Естественно считать, что при
декодировании D в произвольном слове v( e V исправляются те
и только те ошибки, которые преобразуют и,- в некоторое сдово
из 3 (у.)П-0_1(у-)- В частности, для существования декодирования
D, при котором исправляются все ошибки, допустимые в
рассматриваемом канале, необходимо и достаточно, чтобы множества
S(v{), ?=0, 1, . . ., т — 1, попарно не пересекались; в
последнем случае искомое декодирование D определяется соотношениями
О'1 (v.) = 3 (у,), i = 0, 1, ..., т — 1.
Рассмотрим более подробно канал (называемый двоичным
симметричным каналом), в котором в любом символе с
вероятностью р0 @ < р0 <С V2) происходит ошибка типа замещения,
причем замещения различных символов статистически
независимы. В этом случае произвольное слово X е В" преобразуется
замещениями символов в любое слово У е В" с вероятностью
*) Иногда декодирование D удобно определять на некотором раСШИре-
rn—1
нии множества (J 3 (у,)-
>=о
ГЛ. III. КОДЫ С ИСПРАВЛЕНИЕМ ОШИБОК
245
pd(x,T)(i—р^я-л(z,f)j так что 3(Z) = S". Поэтому все ошибки
в двоичном симметричном канале исправить невозможно.
Обозначим через Qb {V) математическое ожидание вероятности
исправления ошибок в слове кода V={v0, vlt . . ., vm_1} при
декодировании D в предположении, что все кодовые слова
равновероятны. Очевидно, что
т—1
e»w=42 2 ро(-7)A-р„гй('*-'Г)- E)
»=о гел_1(»»)
Величина QL(V) называется достоверностью декодирования D при
коде V. Заметим, что в силу условия 0 <[ р0 <С 1/2 функция
Po(Z,7)(l —P0)"~d(Z'T'> возрастает приуменьшении d(X, Y). Поэтому
максимальную достоверность имеет такое декодирование D, при
т—1
котором каждое слово Y ? U 3 (и() = В" отображается в ближай-
шее к нему (в смысле метрики Хемминга) кодовое слово.
Достоверность такого декодирования D будем просто называть
достоверностью кода и обозначать через Q(V), а разбиение множества
В" на окрестности D~x (и(), ?=0, 1, . . ., т—1, будем называть
в этом случае разбиением на окрестности максимальной
достоверности. В таблице 8 для кода F={y0=0011, у1=0111, i7a=1011,
и3=1110} приведено одно из разбиений В* на окрестности
максимальной достоверности и подсчитана величина Q (V).
ТАБЛИЦА 8
Г>-' AЭ„)
ООН
0000
0001
0010
= 9о + 2ро5о+РоЗо
D-' (и,)
0111
0101
0100
ОНО
= Яо + 2р0?о + РЫ
D- (о,)
1011
1001
1010
1101
1000
р ы=
= яЬ + 2РоЯо + 2рЫ
D-1 (%)
1110
1100
1111
р ы =
= Зо + 2Ро?§
3
Q (V) = Т 2 Р (w<) = 9» + 2роЙ + Р°9° = 9? (Ро + 9оJ = «§E0 = 1 — Ро)
i=0
Возникающие здесь задачи состоят в построении кода в В",
имеющего максимальную достоверность среди кодов заданной
мощности, и в оценке его достоверности.
246
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Рассмотрим теперь канал, в котором в каждом слове длины п
может произойти любая ошибка заданного типа кратности не более s.
Код V С В" будем называть кодом с исправлением s ошибок
заданного пгипа, если существует декодирование, при котором в каждом
кодовом слове исправляются все ошибки рассматриваемого типа
кратности не более s. Согласно сказанному выше код V={v0,
vv .... vm_1} является кодом с исправлением s ошибок заданного
типа тогда и только тогда, когда множества 3(у,), ?=0, 1, . . .
...,т — 1, попарно не пересекаются. Ясно, что это условие
накладывает ограничение сверху на мощность кода. Код V С В",
обладающий максимальной мощностью среди кодов с исправлением s
ошибок заданного типа, назовем максимальным. Возникающие
здесь задачи состоят в построении (при заданном типе ошибок
и числах п и s) максимального кода с исправлением s ошибок
заданного типа и в оценке его мощности.
Заметим, что в случае ошибок типа замещения множество
3(Х) совпадает с метрической окрестностью *) радиуса s слова X.
Поэтому условие непересечения множеств 3(v{), i=Q, 1, ...
. . . , т—1, равносильно тому, что кодовое расстояние d(V) > 2s.
Таким образом, код V является кодом с исправлением s замещений
тогда и только тогда, когда d(V) > 2s.
Аналогичное метрическое описание допускают коды с
исправлением фиксированного числа ошибок других типов. Тип §
назовем симметричным, если он является объединением некоторых
из множеств {0 -> 1, 1 -> 0}, (О^А, Л -> 0}, {1 -> Л, Л -> 1}
и {+2', —2'}. Для ошибок симметричного типа 8 определим
на парах двоичных слов из В" функцию ds (X, Y) как наименьшее
число одиночных ошибок типа §, преобразующих слово X в Y,
или как +со, если слово X нельзя преобразовать в слово Y
ошибками типа 8. Можно убедиться в том, что функция db (X, Y)
удовлетворяет всем аксиомам метрики. Кодовым расстоянием
кода V={v0, vv . . ., vm_1) С В" в метрике db (X, Y) будем
называть величину ds (V) — min ds (pit v.). Здесь также условие непере-
сечения множеств 3 (i-t), i=0, 1, ..., т—1 равносильно тому,
что ds (V) > 2s и, следовательно, код V С В" является кодом
с исправлением s ошибок типа 8 тогда и только тогда, когда
^а СЮ > 2s. Заметим, что метрика Хемминга d (x, у) совпадает
с метрикой db (х, у) при 8={0 -> 1, 1 -> 0}.
В качестве примера сравним расстояние между словами
Х=00000 и У=01101, а также между словами Г=01101 и Z=
=11010 в метрике Хемминга d(X, У) и в метрике db(X, Y), где
8={0^Л, 1-»Л, Л-»0, Л-*1}. Очевидно, что d(X, Y)=3
и d(Y, Z)=4, в то время как ds (X, У)=6 и ds (Y, Z)=2.
*) Метрической окрестностью точки X радиуса s называется множество
точек, удаленных от X на расстояние не более s.
ГЛ. III. КОДЫ С ИСПРАВЛЕНИЕМ ОШИБОК
247
Для ошибок типа 8, состоящего из выпадений, вставок и
замещений, но не являющегося симметричнъш, функцию d5 (X, Y)
определим на парах двоичных слов из В" следующим образом:
ds (X, У) = 2 min max (га, (X, Z), ns( Y, Z)), F)
Z?B*
где щ (X, Z) — минимальное число одиночных ошибок типа 8,
преобразующих слово X в Z, или +оо, если слово X нельзя
преобразовать в слово Z ошибками типа 8. Здесь также можно
показать, что функция ds (X, Y) удовлетворяет всем аксиомам
метрики и что код V С В1' является кодом с исправлением s ошибок
типа о тогда и только тогда, когда для любых v{ e V и Vj e V,
i=?j, имеет место db (у,., v) > 2s. Заметим, что в случае 8=
={0 ->¦ 1} выражение F) можно переписать- в следующем
известном виде [4]:
d{b^{X, Y) = \X<&Y\+\\Xl-\Y\\. G)
Следует отметить, что некоторые из определенных выше
метрик в В" совпадают. Например,
d{M}(X, Y) = d{1^}(X, Y), (8)
Й{0->-Л, 1-*Д, A-*0, А-И} (X, Y) = Й{о^Д, i-»A} (X, Y) = ^{A^.0, A^l> (X, Y). (9)
Из (8) и (9), в частности, следует равносильность понятий
код с исправлением s ошибок типа {0 -> 1} и код с исправлением
s ошибок типа {1 -> 0}, а также равносильность понятий код
с исправлением s выпадений, код с исправлением s вставок и код
с исправлением s выпадений и вставок.
В заключение настоящего параграфа отметим, что наряду
с задачами исправления ошибок можно рассматривать задачи
обнаружения ошибок. Очевидно, что при использовании кода
V нельзя обнаружить лишь те ошибки, которые преобразуют
кодовые слова в кодовые слова. Отсюда, в частности, следует,
что код V с кодовым расстоянием d всегда позволяет обнаружить
d — 1 или менее одиночных ошибок типа замещения.
Аналогичное утверждение справедливо и для других ошибок симметричного
типа, если кодовое расстояние вычислено в соответствующей
метрике.
§ 9. Примеры кодов с исправлением одиночных ошибок
различных типов
В настоящем параграфе приводятся примеры максимальных
или близких к ним по мощности кодов с исправлением одиночных
ошибок различных типов. Методы построения этих кодов, по
существу, являются разновидностями одного и того же метода.
248
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Идея этого метода заключается в следующем. Вводится в
рассмотрение некоторая функция, определенная на множестве
двоичных слов. Искомый код определяется как множество слов из
В", на которых указанная функция принимает некоторое
фиксированное значение. Функция подбирается таким образом, чтобы
в результате любой одиночной ошибки значение функции
изменялось и чтобы по этому изменению и, быть может, самому
полученному слову можно было однозначно определить вид и место
ошибки. Приводимые ниже доказательства также однотипны.
Они состоят в описании декодирования, при котором в каждом
кодовом слове будет исправлена любая одиночная ошибка
рассматриваемого типа, если она произойдет.
Код с исправлением одного замещения. Зафиксируем число п
и найдем число I такое, что
2'-1<?г<2'.
Легко видеть, что 1= [log п]-\-1. Для произвольного слова
Х=х1х2. . . хпеВп положим
Я(Х) = 2*А(9. A)
Очевидно, что Н(Х) представляет собой вектор длины I,
полученный в результате сложения векторов, являющихся двоичными
записями (с помощью I цифр) номеров единичных символов слова X.
Рассмотрим код Нп, состоящий из всех слов Х=хгх2. . .хпеВп
таких, что
Е(Х) = @, 0, ..., 0). B)
i
Примеры. Пусть ге=6, Х=010101 и У=110100. Тогда
1=3, Я(Х)=@, 1, 0) © A, 0,0) © A, 1, 0)=@, 0, 0) и H(Y) =
=@,0,1) © @, 1,0)©A,0, 0)=A, 1, 1). Следовательно, ХеНв,
Покажем, что код Нп является кодом с исправлением одного
замещения. Рассмотрим однозначное отображение
(декодирование), при котором каждому слову Y&B" ставится в соответствие
слово Y, если Y еНп, или слово, полученное из Y замещением
символа с номером N(H(Y)) на противоположный, если Y <? Нп.
Убедимся, что при таком декодировании в каждом кодовом слове
будет исправлена любая одиночная ошибка типа замещения, если
она произойдет. Действительно, пусть в некотором слове Х =
=ххх2. . .хп е Нп произошло замещение /-го символа, в результате
чего получилось слово Y. Так как Y=x1x2. . .х,^{х. © l)#y+i • . -хп
и Х<=Нп, то,
Н (Y) = 2 xte, @ © е, (]) = Н (X) © et (у) = е, (/).
ГЛ. III. КОДЫ С ИСПРАВЛЕНИЕМ ОШИБОК
249
Производя в слове Y замещение символа с номером N(H(Y)) =
=N(et(j))=j, мы получим исходное слово X.
Пример. Пусть в слове Х=010101 еНв произошло
замещение пятого еимвола, в результате чего получилось слово У=010111.
Так как Я(У)=@, 1, 0) 0 A, 0, 0) 0 A, 0,1) 0 A, 1, 0) = A, 0, 1),
то числовое значение слова H(Y) равняется 5 и определяет
номер замещенного символа.
Описанные выше коды Нп были предложены Хеммингом [46].
Заметим, что ix(Hn)=2"~l. Это следует из того, что при
произвольном задании значений п—I компонент, номера которых отличны
от 2°, 21, . . ., 21'1 (информационные позиции), значения
компонент с номерами 2°, 21, . . ., 2'-1 (проверочные позиции)
однозначно определяются из условия B). Так как l=[log n]-\-l —
= ]log (n-f-l)[, то
В частности, fi(i/e)=8. Код Н6 приведен в таблице 9.
ТАБЛИЦА 9
н.
000000
шооо
110011
001011
101101
010101
011110
100110
wt
000000
100001
010010
001100
110100
001011
110011
101101
011110
111111
w,il2
000000
100011
010101
001110
111001
110110
N,
000000
001101
011010
100111
110100
2я
Отметим, что р. (Вп) = . тогда и только тогда, когда число п
имеет вид 2' — 1, 1=1, 2, .... В этом случае метрическое прост-
2я
ранство В" разбивается на —rj непересекающихся окрестностей
радиуса 1 с центрами в точках кода Нп.
Код с исправлением одной ошибки типа @ -> 1}. Для
произвольного двоичного слова Х=хгх2. . .хп положим
W(X) = ^ixii. D)
250
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Очевидно, что число W(X) равно сумме номеров единичных
символов слова X. При любых пик определим код Wn>k как
множество слов Х=х1х2. . .хпеВ" таких, что
W(X) = 0 (mod к), E)
и положим Wn = Wn>nn.
Примеры. Пусть ге=6, Х=110100 и У=010101. Тогда
W(X) = l+2+4=7, W(Y)=2+4+6=12 и, следовательно, X е W„
Y$We.
Покажем, что каждый код Wn k при & !> ге+1 (в частности,
код Wn) является кодом с исправлением одной ошибки типа 0^1.
Предположим, что в слове Х=ххх%. . .хп е Wn< k произошло не более
одной ошибки типа 0-> 1, в результате чего получилось слово У.
Ясно, что W(Y) = W(X), если ошибки не произошло, и W(Y) =
=W(X) +/, если ошибка произошла в /-м символе. Так как W(X)=
=0(mod к), то при к ^ ге+1 наименьший неотрицательный вычет
числа W(y) no mod к равен нулю, если ошибки не произошло,
или номеру замещенного символа в противном случае. Это
позволяет построить декодирование, при котором в каждом слове
кода WJhf. (при к ^ ге+1) будет исправлена одиночная ошибка
типа 0-> 1, если она произойдет.
Пример. Пусть в последнем символе слова Х= 110100 eW,
произошла ошибка типа 0 —»• 1, в результате чего получилось
слово Y= 110101. Так как W(Y) = 1+2+4+6=13 и наименьший
неотрицательный вычет числа TF(Y) no mod 7 равен 6, то мы
заключаем, что ошибка произошла в шестом символе.
Коды Wn для исправления одиночных ошибок типа 0 -> 1
были предложены Р. Р. Варшамовым и Г. М. Тененгольцем [5].
Б. Д. Гинзбург доказал [8], что
•^^=-2(^+1) 2 ?(dJ(B+1)/*> F),
d | я+1 (
dнечетно
где <р (d) — количество чисел I (l^j^d), взаимно простых с d
(функция Эйлера). В частности, p(W6)~—., '— = 10. Код
^приведен в таблице 9.
Заметим, что по крайней мере для половины слов кода Wn
также возможно разбиение на информационные и проверочные
позиции. Пусть 21-1 ^ п <С 21. Выберем, как и в коде Хемминга,
в качестве проверочных позиций компоненты с номерами 1, 2,...
. . ., 2'-1 и убедимся в том, что при любом заполнении остальных
(информационных) позиций существует (вообще говоря, уже не
однозначное) заполнение проверочных позиций, при котором
выполняется условие E) для & = га + 1. Действительно, пусть
информационные позиции вносят в сумму D) некоторую величину,
ГЛ. III. КОДЫ С ИСПРАВЛЕНИЕМ ОШИБОК
251
наименьший положительный вычет которой по mod га-f-l равен
i(l <I i <^ п-\-1). Очевидно, что проверочные позиции всегда
можно заполнить так, чтобы они вносили в сумму D) величину
га+1—i, что обеспечивает выполнение условия E). Другое
заполнение проверочных позиций, при котором также получается
кодовое слово, возможно лишь тогда, когда 2 (ге-f-l)—г <С 2',
так как 3 (?г+1)—i > 2(. Отсюда следует, что полученное
множество содержит не менее половины слов кода Wn, а в случае
п=21—1 совпадает с Wn.
Код с исправлением одного выпадения или вставки. Покажем,
что каждый код Wv k при к J> ге+1 является также кодом с
исправлением одного выпадения (и, следовательно, кодом с
исправлением одного выпадения или вставки; см. (9) § 8). Предположим,
что в некотором слове X<aW71<k произошло выпадение символа,
в результате чего получилось слово Y=y1, у2, . . ., уп_1 длины п—1.
Пусть пг (п0) обозначает число единиц (соответственно нулей), рас-
и—1
положенных правее выпавшего символа, и W(Y)= 2 D,i- Тогда,
»=i
если выпал символ 0, то W(X)—W(Y)=n1, а если выпал символ 1,
то W(X)—W{Y)=n—щ. Очевидно, что в обоих случаях
О ^ W(X)—W(Y) ^ n <С к. Поэтому, обозначая наименьший
неотрицательный вычет числа — ЩУ) no mod к через AY и
замечая, что W(X)~0(modk), имеем W(X) — W(Y) = AY. Поскольку
ni =С 11^11 <С п—щ, то на основании сравнения чисел АУ
н ||У|| всегда можно определить, какой из символов @ или 1)
выпал. Таким образом, для восстановления слова X по слову Y
достаточно в случае AY ^ [I Y || вставить в слово У символ О
так, чтобы правее него было АУ единиц, а в случае АУ > || У ||
вставить в слово У символ 1 так, чтобы правее него было п — АУ
нулей.
Пример. Пусть в слове Х = 110100еИ76 выпал первый
символ, в результате чего получилось слово У= 10100. Находим,
что || У || =2, И7(У)=4 и, следовательно, ДУ=3. В силу условия
АУ > || У || отсчитываем справа п—АУ=3 нулевых символа
и вставляем перед ними символ 1, получая исходное слово X.
Как было замечено ранее, каждый код с исправлением s
выпадений является кодом с исправлением s выпадений и вставок.
В частности, для кодов W,il: при к ^ re+l можно предложить
следующий способ исправления одиночной ошибки типа вставки.
Пусть слово Y=y1y2. . • */„*/,+i получено из некоторого слова
X е Wnk в результате вставки одного символа и пусть АУ — наи-
меньший неотрицательный вычет числа W(Y)= 2 yti но mod A;.
Тогда для восстановления слова X по слову У достаточно в
случае ДУ=0 отбросить последний символ слова У; в случае
252
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
О < AY < || У || отбросить любой нулевой символ, правее которого
в слове У имеется AY единиц; в случае AY= Ц Y \\ отбросить
первый символ слова У; в случае ДУ > || Y ||—отбросить любой
единичный символ, правее которого в слове У имеется ге+1 —AY
нулей.
Код с исправлением одного выпадения, вставки или замещения.
Покажем, что каждый код Wn к при к ^ 2п является кодом
с исправлением одного выпадения, вставки или замещения. Тот
факт, что код Wn>fc позволяет исправить одиночную ошибку
типа выпадения или вставки, уже доказан. Убедимся в том, что
код Wnk при к'^ 2п является кодом с исправлением одного
замещения. Пусть в /-м символе некоторого слова X е W к
произошло замещение, в результате чего получилось слово У. Ясно,
что
W(Y)-W(X) = ±j,
где знак + соответствует замещению тина 0 -> 1, а знак —
соответствует замещению типа 1 -> 0. Обозначим через AY
наименьший по абсолютной величине вычет числа W(Y) no mod k
(в случае, когда таких вычетов два, для определенности через
А У обозначаем положительный вычет). Из соотношений W{X)=0
mod к, 1 ^ ) ^ п и к ^ 2п следует, что | ДУ| =/. Это
обеспечивает возможность исправления в каждом слове кода Wnk (при
к ^ 2п) любого замещения, если оно произойдет.
Пример. Отметим, что X=010101 е VFe 12, так как ТУ(Х)=
=2+4+6 = 12 и W(X)=0 (mod 12). Предположим, что в 4-м символе
слова X произошло замещение, в результате чего получилось
слово У=010001. Так как W(Y) = 2+6 = 8 и W(Y)=8=-i
(mod 12), то |ДУ|=4, что указывает номер замещенного символа.
Коды Wnk при к ^ ге+1 для исправления одиночных
выпадений и вставок, а также коды Wn_k при к~^2п для исправления
одиночных выпадений, вставок и замещений были предложены
автором [201. Можно показать, что
d | я,
d нечетно
В частности \х (И^6>12) = -тт Bе + 2 • 22) = 6. Код Wsl% приведен
в таблице 9.
По крайней мере для половины слов кода Wn 2я также возможно
разбиение на информационные и проверочные позиции. Пусть
21-1 <С п ^ 2;. В качестве проверочных позиций выберем
компоненты с номерами 1, 2, . . ., 2(_1 и п. Ясно, что в виде суммы
некоторых из этих чисел можно представить любое число от 0
до 2га—1 (но никакое большее число, если л=2'). Поэтому точно
ГЛ. III. КОДЫ С ИСПРАВЛЕНИЕМ ОШИБОК
253
так же, как было сделано выше, можно показать, что при
произвольном заполнении остальных (информационных) позиций и
таком последующем заполнении проверочных позиций, при
котором выполняется условие E) для к=2п, получается множество,
содержащее не менее половины слов кода Wu>2„ и совпадающее
с WK<2n при п=2'.
Код с исправлением одной арифметической ошибки. Рассмотрим
код Nn, состоящий из всех слов X=x1xi. . .х„еВ" таких, что
N{X) = ^lx.2n-i~0 (mod 2л+ 1). (8)
Если в некотором слове X е ^„произойдет арифметическая ошибка
типа +2\ то в результате получится слово Y такое, что
N(Y) = N(X)±2*
и, следовательно, N(Y)=±2i (mod 2?г+1). Поэтому код N„
является кодом с исправлением одной арифметической ошибки,
если все числа
1, 2, ...,2-S -1, -2, ....-2-1 (9)
не сравнимы друг с другом и с нулем по mod 2п-\-\.
Убедимся в том, что это условие выполняется в следующих
двух случаях:
а) число р=2п-\-\ — простое и число 2 является
первообразным корнем по mod p. Последнее означает, что все числа
1, 2, .... 2"-\ 2", ..., 22»-1 |A0)
не сравнимы по mod p;
б) число р = 2тг+1 — простое, число 2 не является
первообразным корнем по mod p, а число —2 является первообразным
корнем по mod p. Последнее означает, что все числа
1, _2, 22, —23 22-2, —22"'1 A1)
не сравнимы по mod p.
Действительно, если р=2п-{-\ — простое, то по малой
теореме Ферма 2р-1—1=22п—1=:0 (mod p) и, следовательно,
Bв+1) Bй—1)=0 (modj?). Таким образом, либо 2п= — 1 (mod p)
либо 2В=1 (mod p).
Если число 2 — первообразный корень по mod p, то 2В^1
(mod р) и, следовательно, 2И=—1 (mod p). Тогда числа
последовательности A0) сравнимы по mod p с соответствующими
членами последовательности (9), и требуемое условие выполняется.
Если число 2 не является первообразным корнем по mod p,
а число —2 является таковым, то п нечетно. Действительно,
если бы п было четным, то в силу того, что число —2 является
254
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
первообразным корнем по mod р, 2п—{—2)пф.\ (mod p) и,
следовательно, 2"=—1 (mod p). Но тогда числа последовательности
A1) были бы сравнимы по mod p с соответствующими членами
последовательности
1, 2п+1, 22, 2B+S, ..., 22в-\ 2", 2, 2"+2, 23, ..., 22"-2, 2й
и число 2 было бы первообразным корнем по mod p. Таким
образом, в случае б) число п нечетно. Поэтому в силу того, что число
—2 является первообразным корнем по mod p, имеет место
(—2)"=—2пф\. (mod p) и, следовательно, 2И=1 (mod p). Но тогда
числа последовательности A1) сравнимы по mod p с
соответствующими членами последовательности
1, —2, 22, —23, ..., —2я-2, 2"-\ —1, 2, —22, ..., 2й, — 2"'1
и требуемое условие в случае б) также выполняется.
Таким образом, если число п удовлетворяет условию а) или
б), то код Nn является кодом с исправлением одной
арифметической ошибки.
Пример. При n=Q выполняется условие а) и наименьшие
неотрицательные вычеты по mod 13 чисел
1, 2, 2а, 23, 2*, 25, —1, —2, —22, —23, —2\ — 25
равны соответственно
1, 2, 4, 8, 3, 6, 12, И, 9, 5, 10, 7
Заметим, что Х = 110100еЛГв, так как Лг(Х)=25+24+22=52
и N(X)=0 (mod 13). Предположим, что в слове X произошла
арифметическая ошибка, равная — 23, в результате чего
получилось слово У=101100. Так как iV(r)=25+23+22=44, то
наименьший неотрицательный вычет по mod 13 числа N(Y) равен 5, что
позволяет определить наличие ошибки —23.
Коды Nn с исправлением одной арифметической ошибки были
предложены Брауном [38J. С помощью кода N можно закодиро-
вать p.(/VB)= L ,| чисел. При этом каждому числу i, 0^i<C
2"
<^ » . . , обычно ставится в соответствие слово en{iBn-\-1)) —
двоичная запись числа i{2n-\-\) с помощью п цифр. Это
кодирование удобно для контроля сложения еще и с той точки зрения,,
что кодовое слово суммы чисел равно сумме кодовых слов
слагаемых (если сумма не превышает 2"—1).
Заметим, что в случае выполнения условия а) 2я-|-1=0
(mod 2гг+1) и, следовательно,
ГЛ. III. КОДЫ С ИСПРАВЛЕНИЕМ ОШИБОК
255
а в случае выполнения условия б) 2" — 1=0 (mod 2 га+1) и,
следовательно,
В частности, ^,(iV6)=—i—— 5. Код 7V6 приведен в таблице 9.
§ 10. Класс линейных кодов
Типичная задача теории кодирования состоит в построении
оптимального в некотором смысле кода в В", обладающего
определенным свойством. Существенного продвижения по пути
решения подобных задач иногда удается достичь за счет некоторого
сужения класса рассматриваемых кодов. Это объясняется тем,
что коды более узкого класса могут иметь значительно более
простое строение, что, как правило, позволяет использовать
более тонкие соображения для решения поставленной задачи.
При этом, если класс кодов выделен достаточно удачно, лучшие
из построенных кодов этого класса могут оказаться лучшими из
известных и в классе всех кодов.
Именно такая ситуация сложилась при построении
максимальных в В" кодов с исправлением s замещений. Наиболее
существенные продвижения на пути решения этой задачи связаны
с выделением и исследованием сначала класса линейных кодов,
а затем класса линейных циклических кодов [54]. Правда,
следует отметить, что выделение этих классов связано не только
с попыткой построения кодов еше более близких к
максимальным, но и с желанием упростить осуществление операций
кодирования и декодирования.
Любой код, состоящий из т двоичных слов длины п, можно
записать в виде матрицы размера тХп, строками которой
являются слова этого кода. Эту матрицу мы будем обозначать тем же
символом, что и код. Два кода назовем эквивалентными, если
матрица одного из них может быть получена из матрицы другого
перестановкой строк и столбцов. Очевидно, что эквивалентные
коды имеют одну и ту же достоверность и кодовое расстояние
в метрике Хемминга *).
Код FCB" будем называть линейным кодом размерности к,
если множество его элементов образует в В" линейное
подпространство размерности к @ ^ к ^ п). Линейный код в В"
размерности к, все элементы которого различны, будем называть (га, /«)-
кодом. Легко видеть, что код V CZ В" является линейным тогда
*) Заметим, что в других метриках, например, ^/0^.А д.^. (X, У),
эквивалентные коды могут иметь разные кодовые расстояния.
256
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
и только тогда, когда множество его элементов замкнуто
относительно операции сложения векторов *). В частности, линейными
{п, &)-кодами являются коды Хемминга Нп, щек—п—]log(n+l)[.
Это следует из определения кодов Нп (см. A)—C) § 9) и очевидного
равенства Н(Х 0 Y)=H(X) 0 H{Y). Ясно, что множество
элементов (п, &)-кода совпадает с множеством линейных
комбинаций (с коэффициентами 0 и 1) произвольных к линейно
независимых векторов этого кода. Отсюда следует, что любой (п, &)-код
состоит из 2к элементов **) и может быть задан матрицей,
содержащей в качестве строк любые к линейно независимых векторов
кода. Такие матрицы будем называть порождающими матрицами
(п, /с)-кода.
Из определения (п, &)-кода и равенства d(X, Y) = || X 0 Y ||
следует, что кодовое расстояние (п, к)-кода (в метрике Хемминга)
равно минимальной норме его ненулевых элементов. Это свойство
существенно облегчает исследование (п, /е)-кодов и позволяет
сформулировать удобный критерий для построения и оценки
мощности линейных кодов с заданным кодовым расстоянием. Для
формулировки этого критерия нам понадобится другой способ
задания (п, /с)-кодов.
Определим для произвольных векторов Х=хххг. . .х„ и
и Y=y1y2. . ,уп из В" скалярное произведение
(X, У) = х$х ® х.2у2 0 ... © хпуп.
Векторы X и Y называются ортогональными, если (X, У)=0.
Множество векторов, ортогональных ко всем векторам (п, й)-кода
V, назовем ортогональным дополнением кода V и обозначим
через V. Известно, что V образует (п, п—&)-код и что код V
можно определить как множество векторов, ортогональных всем
строкам любой порождающей матрицы кода V. Таким образом,
любой (п, /с)-код V можно задать порождающей матрицей его
ортогонального дополнения. Такую матрицу будем называть
проверочной матрицей (п, /с)-кода V.
В частности, в качестве порождающей и проверочной матриц
кода Нв, приведенного в таблице 9, можно взять соответственно
следующие матрицы:
II11100011 1010101|
110011 и 011001I
11011011 000111 Г
*) Напомним, что множество векторов является линейным
подпространством векторного пространства, если оно образует подгруппу и
замкнуто относительно операции умножения на скаляр.
**) Заметим, что, в отличие от этого, линейный код размерности й может
содержать более 2* элементов, если среди них есть одинаковые.
ГЛ. III. КОДЫ С ИСПРАВЛЕНИЕМ ОШИБОК
257
Пусть
с1,1
с2,1
сп-к
1
С] q
С-2 2
сп-к
•
•
2 •
• с1,п
• с2,я
• • сп~к, п
— проверочная матрица (п, &)-кода V. Обозначим через уг вектор-
столбец (см, с2><) . . ., cn_kii), i = l, 2, . . ., п. Из определения
проверочной матрицы следует, что вектор (хг, х2, . . ., xt)
принадлежит коду V тогда и только тогда, когда
2*4Т< = @, о, ...,о). A)
»=1 . . -
п—к
В силу того, что кодовое расстояние (п, &)-кода равно
минимальной норме его ненулевых элементов, из A) непосредственно
вытекает следующий критерий [35].
Теорема 13. Для того, чтобы существовал (п, к)-код V
с кодовым расстоянием d(V)^ d, необходимо и достаточно,
чтобы существовала матрица размера (п—к)Хп из элементов
поля В={0, 1} такая, что любые ее d—1 столбцов линейно
независимы.
Заметим, что понятия метрики Хемминга d(X, Y) (как числа
несовпадающих компонент векторов X и Y), нормы вектора (как
числа ненулевых компонент его), (п, /с)-кода и кодового
расстояния сохраняют смысл, если под В" понимать гс-мерное векторное
пространство над произвольным (конечным или бесконечным)
полем В. Более того, легко видеть, что в этом общем случае
теорема 13 остается справедливой. Последний факт будет
использован при описании метода Боуза—Чоудхури [35] построения
кодов с исправлением многократных ошибок.
Опишем еще один способ задания (п, /с)-кодов, основанный
уже на том, что В = {0, 1} состоит из конечного числа (двух)
элементов. Ввиду того, что каждый столбец любой порождающей
матрицы (п, /е)-кода является одним из векторов ek(i), Z=0, 1, . . .
. . ., 2*—1, ее можно задать (с точностью до перестановки
столбцов) набором чисел
v = (n0. nv •••> re2*-i), B)
где п. — число столбцов ек (г) в порождающей матрице и, следо-
2*-1
вательно, 2 п{ = п. Таким образом, любой (п, /с)-код можно задать
<=о
(с точностью до эквивалентности) набором чисел B), который
1/217 Дискретная математика, т. I.
258
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
называется модулярным представлением (п, &)-кода. В частности,
из рассмотрения приведенной выше порождающей матрицы кода
Яв следует, что набор @, 1, 1, 1, 0, 1, 1, 1) является одним из
модулярных представлений кода Нв.
Код V={v(, i=0, 1, . . ., 2* — 1} будем называть натурально
упорядоченным, если для любого i=0, 1, . . ., 2к — 1
C)
где Ь^Щ1'' ... Ы?) = ек (г) — двоичная запись числа I с помощью к
цифр, т. е.
к
У>Ыр2к-> = 1.
Из C) следует, что код V={v{, г = 0, 1, . .., 2* — 1}
является натурально упорядоченным тогда и только тогда, когда его
матрица является произведением матрицы размера 2к X к
<§к
на матрицу размера к X п
е*@)
ек B* - 1)
V
^1
D)
Так как 2к строк матрицы §к образуют всевозможные двоичные
последовательности длины к, то натурально упорядоченный код
V состоит из всевозможных линейных комбинаций (с
коэффициентами 0 и 1) строк матрицы D) и является линейным. Ясно также,
что натурально упорядоченный код V является (п, /е)-кодом
тогда и только тогда, когда матрица D) состоит из линейно
независимых строк и, следовательно, является порождающей
матрицей кода V. Заметим, что первые 2" @ <С и ^ к) элементов
любого натурально упорядоченного (п, &)-кода V образуют
натурально упорядоченный (п, и)-код. Это следует из C) и того, что
ек (i)=0k~"eu (i) при 0 <J i < 2" <! 2*. Примером натурально
упорядоченного кода является код Нв, приведенный в таблице 9.
ГЛ. III. КОДЫ С ИСПРАВЛЕНИЕМ ОШИБОК
259
Он является произведением матрицы
000
001
010
он
100
101
110
111
на порождающую матрицу
101101
110011
111000
Обозначим через §'к матрицу, полученную транспонированием
матрицы §к. Очевидно, что строки матрицы <§'к линейно
независимы. ПоэтоАгу матрица Ск=?к?'к образует натурально
упорядоченный Bfc, к)-код с порождающей матрицей ?'к и модулярным
представлением A, 1,
С3 =
1). В частности,
00000000
0 10 10 10 1
0 0 110 0 11
0 110 0 110
0 0 0 0 1111
0 10 110 10
0 0 11110 0
0 110 10 0 1
Из приведенных выше рассуждений ясно, что любой (п, &)-код
может быть получен (с точностью до эквивалентности) из матрицы
Ск путем повторения каждого i-го столбца (г = 0, 1, . . ., 2* — 1)
матрицы Ск ni раз, где (п0, щ, . . ., re2fc_i) — некоторое
модулярное представление рассматриваемого (п, &)-кода. В связи с этим,
матрицу Ск называют универсальной матрицей.
Отметим некоторые свойства универсальной матрицы Ск.
Во-первых, она симметрична и, следовательно, ее столбцы также
образуют натурально упорядоченный Bк, /с)-код. Во-вторых, в
каждом ее ненулевом столбце (п, следовательно, в каждом ненулевом
столбце матрицы любого (п, &)-кода) имеется 2fc_1 нулей и 2*-1 единиц.
Последнее следует из того, что каждый такой столбец является
столбцом значений некоторой линейной функции алгебры логики
Ьгхг ф Ь2х2 ф. . .ф Ъкхк, у которой не все коэффициенты bj
равны 0. В силу симметрии матрицы Ск в каждой ее ненулевой
строке также имеется 2к~х нулей и 2к~1 единиц. Отсюда, в
частности, следует, что матрица Ск образует (п, &)-код с параметрами
п=2к, d{Ck) = 2k-\
17*
260
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Пользуясь отмеченными выше свойствами универсальной
матрицы, исследуем семейство натурально упорядоченных кодов,
получаемых из нее отбрасыванием некоторых столбцов.
Обозначим через CktU натурально упорядоченный код, получающийся
из Ск отбрасыванием первых 2" столбцов @^и<^к). Так как
матрица Ск начинается нулевым столбцом, то матрица Ск 0
образует натурально упорядоченный (п, &)-код с параметрами
» = 2* —1, d(Ck0) = 2k'\ E)
Покажем, что матрица Ск „ при .1 ^и< к образует натурально
упорядоченный (п, &)-код с параметрами:
п = 2к — 2й, d (Ck t я) = 2fc-! — 2м'1. F>
Действительно, если бы код Ск содержал одинаковые элементы,,
то выполнялось бы неравенство d (Ск) ^ 2й — 1 < 2к-1.
Следовательно, CkiU — натурально упорядоченный (п, &)-код. Далее,
в силу натуральной упорядоченности матрицы Ск первые ее 2"
строк (и, следовательно, столбцов) образуют B*, и)-код. Поэтому
число единиц среди первых 2" цифр каждой строки матрицы Ch
равно либо О, либо 2м-1, причем в силу условия и ^ 1 для
некоторой строки это число равно 2й-1. Это доказывает, что код Ска
имеет кодовое расстояние 2к~х—2м-1.
Натурально упорядоченные коды Ски называют кодами
Макдональда [51 ]. Заметим, что каждый из кодов Ски имеет
модулярное представление
vt„ = @, 0,..., 0, 1, 1, ...,1). G)
В дальнейшем мы убедимся, что эти коды максимальны при
указанных в E) и F) значениях п и d.
Глава IV. МЕТОДЫ ПОЛУЧЕНИЯ ОЦЕНОК ДЛЯ КОДОВ
С ИСПРАВЛЕНИЕМ ОШИБОК
Настоящая глава посвящена изложению методов,
используемых для оценки экстремальных значений параметров кодов с
исправлением ошибок. Везде далее через т(п, d) обозначена
максимальная мощность кода в В" с кодовым расстоянием d{d^ n)r
а через к (п, d) — максимальная размерность линейного кода
в В" с кодовым расстоянием d(d ^ п).
§ 11. Оценки, основанные на рекуррентных соотношениях
Один из методов получения оценок оптимальности кодов
(понимаемой в том или ином смысле) основан на отыскании
соотношений между оптимальными кодами, принадлежащими прост-
ГЛ. IV. МЕТОДЫ ПОЛУЧЕНИЯ ОЦЕНОК ДЛЯ КОДОВ 261
ранствам различных размерностей. Простейшими примерами
рекуррентных соотношений такого рода являются следующие
соотношения:
т(п, d)^.2m(n — l, d), (l)
т(п, d) — m(n-\- 1, d-{-!), если d нечетно. B)
Для доказательства неравенства A) достаточно заметить, что
максимальный код в В" с кодовым расстоянием d содержит по
крайней мере т (п, d)/2 слов, начинающихся одной и той же
цифрой, и эти слова после отбрасывания первой цифры образуют
код в 5м-1 с тем же или большим кодовым расстоянием.
Соотношение B) легко установить, если заметить, что
отбрасывание столбца в матрице кода уменьшает кодовое расстояние
не более чем на единицу, а добавление столбца, являющегося
суммой (по mod 2) всех столбцов матрицы увеличивает кодовое
расстояние на единицу, если оно было нечетным.
Приведем пример более сложного рекуррентного соотношения.
Теорема 14 [55]
тBп, 2d)^>,m(n, d)m(n, 2d). C)
Для доказательства неравенства C) обозначим
через Vx максимальный код в В" с кодовым расстоянием d(V1)=d.
а через У2 — максимальный код в В' с кодовым расстоянием
d(V2)=2d. Рассмотрим код V, состоящий из т (п, d) m(n, 2d)
двоичных слов длины 2/г, которые имеют вид
XX © УО" = ххх2 ... хпххх2 ... хп@ у^у1... уп00 ... О,
где X = х1х2 . . . xn<=Vx, У = уху2 . .. г/„е72. Чтобы доказать
неравенство d(V)~^2d, нужно проверить, что
d (Х'Х1 © У'О", Х"Х" © УЯ) > 2d,
если X'=f=X" или Y'^=Y". Рассматривая по отдельности первые
п и вторые п компонент, на основании равенства B) § 8 получаем
d(X'X' © У'0Я, Х"Х" © УЯ) =
= || X' © X" © У ф У"II + ЦX' © X"||. D)
Так как для любых ZL и Z2 из В" имеет место d(Zy, Z2) -(-
-\-d{Zv 0B)>d(Z2, 0я) и, следовательно, || Zx ф Z2 || +1| Zv || > | Z01|,
то, полагая Zx = А'' ф X" и Z2 = У ф У", имеем
d (Х'Х1 ф У0Я, Х"Х" ф У") >\ У © У"||. E)
Требуемое неравенство d (V) ^ 2d следует теперь из A), если
Y'=Y" и Х'^Х", или из E), если Y'^Y".
18 Дискретная математика, т. I.
262
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Заметим, что для линейных кодов справедливы соотношения
к{п, d)<;&(n —1, d) + l,
к(п, d)=zk(n-\-l, d-j-1), если d нечетно,
кBп, 2d)^k(n, d)-\-k{n, 2d),
аналогичные соотношениям A)—C). Другие рекуррентные
соотношения для линейных кодов можно получить, используя
некоторые их свойства, установленные в § 10.
Для любых к (к J> 1) и d (d~^>. 1) обозначим через п (к, d)
минимальное число п такое, что существует (п, &)-код с кодовым
расстоянием d. Покажем, что п (к, d) является возрастающей
функцией от к и d, т. е. справедливы следующие неравенства:
п(к-\-1, d)>n(k, d), F)
п(к, d + l)>ra(A, d). G)
Для доказательства неравенства F) достаточно заметить, что если
в матрице произвольного (п, &-|-1)-кода отбросить ненулевой
столбец (такой столбец по доказанному в § 10 содержит 2* нулей и 2*
единиц), то все слова, имевшие в этом столбце 0, образуют (п—1,
/с)-код с тем же или большим кодовым расстоянием. Для
доказательства неравенства G) заметим, что если в матрице
произвольного (п, /с)-кода с кодовым расстоянием d-f-1 отбросить любой
столбец, то получится матрица (п—1, /е)-кода с кодовым
расстоянием не менее d.
Из неравенств F) и G) немедленно вытекает следующее свойство
линейных кодов: любой (п, к)-код, минимизирующий размерность п
при фиксированных размерности к и кодовом расстоянии d,
максимизирует размерность к при фиксированных пи du максимизирует
кодовое расстояние d при фиксированных пик.
Теорема 15 [45]. При к > 1
п (к, d) > п (к — 1, 1-^-Г) -f d. (8)
Доказательство. Пусть V — матрица (п, /с)-кода,
для которого d (V)=d и п=п (к, d). Без ограничения общности
можно считать, что среди строк матрицы V имеется строка Х =
= 00 ... 0 11 ... 1. Выберем базис, состоящий из к строк матрицы V
n-d d
и содержащий строку X. Рассмотрим (п, к—1)-код V, порожденный
всеми векторами этого базиса, за исключением X. Матрицу,
полученную из матрицы V отбрасыванием последних d столбцов,
обозначим через V". Так как d {V) J>dn X$V, то все строки
матрицы V" различны. Следовательно, матрица V" образует
{n—d, к—1)-код. Покажем, что d (У") > ]d/2[. Пусть d{V")=d0.
Тогда в матрице V найдется строка Y=ZXZ2 (Z1eF", Z2<=Bd)
ГЛ. IV. МЕТОДЫ ПОЛУЧЕНИЯ ОЦЕНОК ДЛЯ КОДОВ
263
такая, что \\г^=с^. Так как d (V)=d, X е Vh Ye V, то (X®Y) e V,
\\Y\\=d0+\\Z2\\ > d и ||Z©y|!=d0+d-||Z2||>d. Отсюда
получаем, что 2d0 ^ d. Таким образом, d (V") ^ ]d/2[ и,
следовательно, п—d^n(k—1, ] ]d/2[), что и требовалось доказать.
Следствие 1.
к— 1
п(А, <*)>2Щ. (9)
1=0 •* L
Это следствие можно получить из (8), если воспользоваться
равенствами и A, d)=d, ] ]d/2[/2l[= ] d/2<+1[ и провести
индукцию по к.
Следствие 2.
A(re, d)<u, A0)
где А; — максимальное число такое, что
fc-i
1 Л Г
<га.
2]f['
Неравенство A0) следует из того, что в силу следствия 1 и
максимальности числа к
К
.(А+1, <*)>2]|-[>re-
Далее будет доказано, что оценка A0) достигается для любых
п и d таких, что 2d J> п.
Обозначим через d (п, к) максимальное кодовое расстояние
(п, к)-кода.
Следствие 3.
d(n, fc)<d, (И)
г<3е d — максимальное число такое, что
^1 J 2*
Неравенство A1) следует из того, что в силу следствия 1 и
максимальности числа d
*—1
n(A, d + l)>2]^[>"-
18*
264
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
В заключение настоящего параграфа отметим, что параметры
п, к и d кодов Макдональда Ск и (см. E)—F) § 10) удовлетворяют
равенству
к—г
1=0 J L
Следовательно, указанные коды оптимизируют (в классе
линейных кодов) значения каждого из параметров п, къй нри фиксации
двух других.
§ 12. Метод эквидистантных кодов
Для оценки величины т (п, d) весьма полезным оказался метод,
основанный на учете суммы всех расстояний между кодовыми
словами. Пусть V — произвольный (в частности, максимальный)
код в 2?\ имеющий мощность пг и кодовое расстояние d. Обозначим
через R сумму взаимных расстояний между (неупорядоченными)
парами кодовых слов. Из определения расстояния Хемминга
следует, что
R = %ht{m-ht), A)
где h. — число единиц в 1-м столбце матрицы кода V(i=l, 2,. . ., п).
С другой стороны, в силу того, что d (V)=d, имеет место неравенство
м{т-1) d^R, B)
причем равенство в B) имеет место тогда и только тогда, когда все
расстояния между различными словами кода V равны (такие
коды называются эквидистантными). В ряде случаев удается
п
достаточно точно оценить сверху величину 2 hf (т — h() и, исполь-
1=0
зуя B), получить некоторую оценку сверху для величины т
(и, в частности, для величины т (п, d)). Так как при установлении
неравенства B) каждое расстояние между кодовыми словами
заменяется нижней границей d, то полученная оценка оказывается
достаточно точной лишь тогда, когда рассматриваемый код в
известном смысле близок к эквидистантному. В связи с этим,
указанный метод получения оценок будем называть методом
эквидистантных кодов.
Теорема 16 [551. Для четного d
т(п, dX^L^-J npi 2d>re, C)
т (п, d) ^ 2ге при 2d — п; D)
ГЛ. IV. МЕТОДЫ ПОЛУЧЕНИЯ ОЦЕНОК ДЛЯ КОДОВ
265
для нечетного d
т(п, ^)<2[2Д+;_ге] при 2d + l>rc, E)
т(п, d)<2(ra-fl) при 2d-f-l=ra, F)
причем, если число d I Bd—п) — целое, то равенство в C) может
иметь место лишь для эквидистантных кодов.
Доказательство. Пусть V — код в В", имеющий
мощность т=т (п, d) и кодовое расстояние d. Заметим, что т ^ 2
в силу принятого условия п^> d. Рассмотрим два случая в
зависимости от четности*) числа т. В случае четного (нечетного) т
величина A) может только возрасти, если положить ht=ml2
(соответственно h={m—1)/2), i=l, 2,. . ., п. Учитывая B), в случае
четного т получаем
—Ц; ^<i?<-r-ra,
откуда
и, следовательно,
Г|1
та ^ -^з ПРИ 2d ]> п
^ 2d — п * ^
т
<2ЫЫ °РИ 2d>n; G)
а в случае нечетного т получаем
m(m2~1)d<fi<(w-iL(m + 1)re>
откуда
ГУ, J_ 1 <^
2d —и
и, следовательно,
2d
т 4" * ^ 9у_ при 2d > п,
m+i<2[w=^\ ПРИ Ы>П- <8>
Из G) и. (8) следует, что
т(п, Ф<2(_2Т=^ ц^и 2d>n> (9)
причем, если число d / Bd—п)—целое, то равенство в (9) может
иметь место лишь тогда, когда имеет место равенство в B) и, сле-
*) Существует весьма правдоподобное предположение, что число т (п, d)
четно при любых п и d (re ^ d).
266
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
довательно, код V является эквидистантным. Из оценки (9) с
помощью соотношения A) § 11 получаем
т Bd, d)< 2т Bd — 1, d) < 2 . 2 [2Д __ *д _ ] = Ы. A0)
Таким образом, доказано, что оценки C) и D) имеют место
независимо от четности числа d. В случае нечетного d с помощью
соотношения B) § 11 эти оценки можно несколько улучшить *), а также
получить оценку для случая 2d-\-l=n. Действительно, если d
нечетно, то
т(п, d) = m(n + \, Д + 1)<2[2Д+!_Д] ПРИ 2d + l>rc
и
roBd-fl, d) = mBd + 2, d-f-l)<4(d-f-l).
Теорема доказана.
В § 15 главы V будет доказано, что в случае справедливости
весьма правдоподобного предположения о существовании матриц
Адамара порядка Q, 1=1, 2,. . ., все оценки C)—F) достигаются.
Так как наименьший порядок, для которого до настоящего
времени не доказано существование матрицы Адамара, равен 188,
то (как будет ясно из дальнейшего) оценки C)—F) заведомо
достигаются при всех п «^ 184.
Используя соотношение A) § 11, из оценок D) и F) можно
извлечь
Следствие. Если n^>2d, то
т(п, d)^d2"~2d+2 при четном d, A1)
т(п, d) < (d -f 1) 2"'2d+l при нечетном d. A2)
Метод эквидистантных кодов можно использовать для
получения оценки мощности максимального кода, состоящего из
элементов некоторого подмножества пространства В". Обозначим через
В" множество всех слов из В", имеющих не более t единиц. Очевидно,
что В" представляет собой метрическую окрестность радиуса t
слова @0 ... 0) е В" и что \х (Б») = 2 С„- Пусть mt (n, d) — макси-
.=о
мальная мощность кода, состоящего из слов множества В" и
имеющего кодовое расстояние d.
Теорема 17 [49]. Если 2t2 — Bt—d)n>0 и ?<>/2, то
щ>' dKa*-Btn-d)B- A3)
d-fl d Г d +1
) Заметим, что 2d + i - п < ~Ы=~п ПРИ Ы > п и 2[2d + l-
при 2d = я.
<2«
ГЛ IV. МЕТОДЫ ПОЛУЧЕНИЯ ОЦЕНОК ДЛЯ КОДОВ 267
Доказательство. Пусть V — код в В", имеющий мощности
m = mt (re, d) и кодовое расстояние d. Используя известное нера-
п I n \ 2
венство «2^ 2М > из A) и B) получаем
я я / п \2
i=i i=i Vi=i /
я
Так как ^iht^mt и максимум функции гегх— ж2/и на отрезке
i=i
0^x^.mt, где t^.n[2, достигается при x = mt, то
и, следовательно,
т Bl- — Bt — d) re) ^ dn,
что завершает доказательство теоремы.
Применяя теорему 17 к решениям неравенства 2f— Bt—d) n^n,
получаем
Следствие. Если п ^ 2 (d—1), то
Л 2йртуу| A4)
т, (re, d)^d при t= -| A — 1/ 1 —
§ 13. Методы заполнения и покрытия
Методы заполнения и покрытия являются одними из наиболее
известных общих методов получения оценок. Сущность этих
методов заключается в следующем. Предположим, что для некоторого
конечного множества (в частности, В") требуется оценить
экстремальную (максимальную или минимальную) мощность
подмножества V, обладающего определенным свойством (например,
способностью исправлять s ошибок заданного типа). Рассмотрим
вспомогательное конечное множество Е. Будем говорить, что система
подмножеств C21J множества Е заполняет Е (покрывает Е), если
каждый элемент из Е принадлежит не более (соответственно не
менее) чем одному из подмножеств этой системы. Ясно, что если
каждому элементу v e V можно поставить в соответствие подмножество
^l (v)QE так, чтобы система {QJ (v), veV} заполняла Е, то
2(ЧВД)<!Ч?). A)
Если же каждому элементу v e V можно поставить в соответствие
подмножество <33 (у) (Z Е так, чтобы система (93 (v), г е V)
покрывала Е, то
**(?)< 2 ;х(ЗД). B)
268
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Используя нижние оценки для величин p. ($l (v)) и верхние оценки
для величин р (93 (v)), из неравенств A) и B) можно получить
соответственно верхнюю и нижнюю оценки для интересующей нас
мощности множества V.
Описанное выше методы получения оценок допускают
многочисленные видоизменения и обобщения. В частности, под функцией
р. (...) в A) и B) можно понимать произвольную меру,
определенную на подмножествах множества Е. Некоторые другие
обобщения этих методов будут приведены ниже при рассмотрении
конкретных задач.
Используем методы заполнения и покрытия для оценки
величины т (п, 2s+l) — максимальной мощности кода VCZB" с
исправлением s ошибок типа замещения. Положим Е=В". Из
определения кода с исправлением s замещений следует, что метрические
окрестности радиуса s слов из V заполняют В", а из максимальности
кода V следует, что метрические окрестности радиуса 2s слов
из V покрывают В". Так как в метрике Хемминга все метрические
окрестности произвольного радиуса t равномощны и состоят из
2 С'п векторов, то из A) и B) получаем
т(п, 2s+1J2 С;<2"<щ(тг, 2s + lJ С',.
Таким образом, справедлива
Теорема 18 [43, 46].
-T^<m(ra, 2s + l^<—=—. C)
Из верхней оценки в C), в частности, следует, что коды Н,
с исправлением одного замещения, описанные в § 9 главы III.
максимальны при п=21—1, 1=2, 3,. . .
Заметим, что в рассматриваемом случае метод покрытия связав
со следующим способом построения кода в В", мощность которого
удовлетворяет нижней оценке в C). В качестве первого слова кода
берется произвольное слово из В". Если уже выбрано некоторое
число слов, причем их метрические окрестности радиуса 2s не
покрывают В4, то в качестве очередного слова выбирается
произвольное слово из В', не принадлежащее объединению окрестно-
28
стей радиуса 2s выбранных слов. Ясно, что условие (пг — 1J С:, <С 2'
i==0
обеспечивает возможность построения указанным способом кода,
содержащего не менее т слов, и что для кода У, для которого
2s
выбор очередного слова уже невозможен, имеет место ;л (V) 2 ^i ^* -"¦
*=о
ГЛ. IV. МЕТОДЫ ПОЛУЧЕНИЯ ОЦЕНОК ДЛЯ КОДОВ 269
С помощью аналогичной трактовки метода покрытия можно
улучшить нижнюю оценку в C) в классе линейных кодов. Согласно
теореме 13 для доказательства существования (и, &)-кода с
исправлением s замещений достаточно найти п двоичных векторов длины
п—к, любые 2s из которых линейно независимы. Будем
последовательно выбирать векторы из В"~к так, чтобы любые 2s из уже
выбранных векторов были линейно независимы. Ясно, что условие
1-Ki_1+---+C&1<2"-* D)
обеспечивает возможность выбора указанным способом п векторов,
обладающих требуемым свойством. Условие D) равносильно
условию
2fc<
2s—1
i + 2 c»-i
«=0
и, следовательно, оно выполняется при к =
Таким образом, имеет место
Теорема 19 [3].
log 2»
28—1
1 + 2 си
к (a, 2s + l)>
log
28—1
i+ 2 с*
E)
Используя асимптотическое равенство A5) Приложения из
верхней оценки в C) и теоремы 19 получаем
Следствие. При фиксированном s и п -»• со
12*-1)!-|й-</и(п, 2S+l)<S!-?
F)
В следующем параграфе будет описан метод построения кодов,
из которого следует, что верхняя оценка в F), а значит, и верхняя
оценка в C), указывает порядок роста функции т (п, 2s-|-l)
при фиксированном s и га-> со. С другой стороны, если число
s растет достаточно быстро (например, линейно) с ростом п, то
верхняя оценка в C) может быть существенно улучшена с помощью
некоторого обобщения метода заполнения.
Пусть (Е — произвольное подмножество В". Обозначим через
m? (n, d) максимальную мощность кода V С ? с кодовым
расстоянием d.
Теорема 20. Для произвольного (непустого) (?(ZB'
т (п, d) <Г -
'%
(п, d)
Мв)
¦ 2Л
G)
270
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Доказательство. Пусть V — максимальный код в В" с
кодовым расстоянием d и d — произвольное подмножество множества В".
Для произвольного v е V рассмотрим множество s2l (v) = {и © и,
ве?} и покажем, что каждое слово из В" принадлежит не более
чем mg (n, d) множествам $1 (v), v eV. Пусть слово w принадлежит
m (гаг ^ 2) различным множествам 1 (и). Это означает, что w=vh©uh,
где f,sF, иде(?, й=1, 2, . . ., т, причем u4j^Uj, если i=fM.
Тогда d(a(, и,) — \\и{ © му|| = ||у,. © иу||> d при i^=/ и,
следовательно, гаг <^ rri(? (га, d). Так как каждое слово из В" принадлежит
не более чем гаг@ (га, d) множествам ЗД (v), v e V, и мощность каждого
множества *21 (у) равна \х ((?), то
m(ra, d) ¦ (j. (d) < raig (re, d) • 2",
что доказывает неравенство G).
Подбирая соответствующим образом множество (?, на
основании теоремы 20 можно легко доказать верхние оценки A1), A2)
§ 12 и C) § 13. Новая оценка получится, если положить (t=.Z?J и
воспользоваться следствием теоремы 17.
Следствие. Если п ~^ 2 (d—1), то
&1п
т (га, d) ^ —-{ , где t =
2С?
т1-^1-
2(d — 1)
(8)
Оценка (8) была независимо получена Элайесом в
неопубликованной работе 1960 г. и Л. А. Бассалыго [2]. Заметим, что при
d=2s-\-l имеет место неравенство
=[т(«-Р
2(d — i)
>
¦ . S2-
S-\
1 п
так что оценка (8) при достаточно большом s становится лучше
верхней оценки в C).
Рассмотрим более подробно случай, когда число s
исправляемых ошибок растет линейно с ростом п. Пусть п —>оэ и sin -> р,
где 0 <; р <; 1/4 *). Как будет ясно из дальнейшего, можно
ожидать, что в этом случае
тга (га, 2в+1) = 2ЯГ(,+вС1,\
где р — некоторая функция от р. В связи с этим представляет
интерес исследование величины
р(га, s)=^gm[n,2s + l)^ (9)
*) Заметим, что неравенство р > 1/4 приводит к случаю 2d > п,
подробно исследованному ранее в §§ И и 12.
ГЛ. IV. МЕТОДЫ ЙОЛУЧЕНИЯ ОЦЕНОК ДЛЯ КОДОВ 271
Используя предельное соотношение A6) Приложения, из оценок C)
§ 13, (И)—A2) § 12 и (8) можно получить соответственно, что при
п^оои sin -»- р (О ^ р ^С 1 /4)
1 — Я Bр) < lim р («, s) < lim р (га, s)< 1 — Я (р),
limp (га, s)<l— 4р,
limp (га, s)<l— Я^
h _V<i — 4/Л
•
A0)
(И)
A2)
где Я (р) = —р logp— A—р) bg A—р). Оценки A0) —A2)
иллюстрируются графиками на рис. 6. Оценка A2) является наилучшей
верхней оценкой среди
A0)—A2). Таким образом, ^ i
при га —»• со и s/re -> р
@<р<1/4)
1 — Я Bр) < lim p (га, s) <
<
^ lim p (га, s) ^
я
4р
Улучшение этих оценок
является одной из
наиболее интересных
нерешенных задач для кодов с
исправлением замещений *).
Применение методов
заполнения и покрытия
для кодов с исправлением
ошибок других типов
осложняется тем, что метрические окрестности одного и того же
радиуса (в метрике отличной от метрики Хемминга d(X,Y) =
= \\\QY\\), вообще говори, не равномощны. Пусть т (га, 2s+l) —
максимальная мощность кода в В' с исправлением s выпадений
и вставок или, что то же самое, максимальная мощность кода
в В" с кодовым расстоянием d~^2s-\-l в метрике
U (X, Y) = d{0-?A, 1->А, А->0, А->1} (X, Y).
*) В последнее время некоторые усиления верхней оценки получены
в работах В. М. Синельникова «Верхние оценки числа точек двоичного кода
с заданным кодовым расстоянием» и автора «0 минимальной избыточности
двоичных кодов, исправляющих ошибки», опубликованных в журнале
«Проблемы передачи информации» 10, № 2, 1974.
272
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Теорема 21 [20]. При фиксированном s и п -> оо
(s}-f~<m(n, 2s+l)<*!-?-. A3)
Доказательство. Пусть X — произвольное слово
из В'. Обозначим через т (X) число серий *) слова X, а через
cpt (X) (соответственно ?3, (X)) множество слов, получаемых из
X в результате i выпадений^(соответственно i вставок). Покажем,
что имеют место следующие соотношения
С-,хь,+1 < ц (<?,. (X)) < q(I)+<_i, A4)
v-&,(*)) = 2 с{„. A5)
Для доказательства верхней оценки в A4) заметим, что каждое
слово, получаемое из X выпадениями, однозначно определяется
указанием числа символов, выпавших в каждой серии, и,
следовательно, fi (?E( (X)) не превышает числа упорядоченных
разбиений числа i на т (X) неотрицательных слагаемых. С другой
стороны, легко видеть, что если в любых i попарно несмежных сериях
слова X выбросить по одному символу, то все полученные таким
образом слова будут различны. Это дает нижнюю оценку в A4),
если заметить, что количество таких слов равно числу
упорядоченных разбиений числа х (X)—i на i+1 неотрицательных
слагаемых, лишь два из которых, быть может, нули.
Для доказательства равенства A5) достаточно заметить, что
fj. ^,-@")) = 2 ^я+»' ы убедиться в том, что для любого
натурально
ного числа I и любых слов У и Z из В" имеет место равенство
u.(Q,G)) = (j-(Q; (Z)). Докажем последнее равенство индукцией
по п. Это равенство очевидно, когда слово Z можно получить из У
заменой всех символов 0 и 1 на противоположные. Поэтому можно
считать проверенным начальный шаг (п — 1) индукции и на
(w-f-l)-M шаге (п^>1) без ограничения общности рассматривать
слова Z = 0Z' и У = 0У, где Z1 и У принадлежат В". Для
произвольного числа 7 (/= 0, 1, . .., j) и слова X'gB" обозначим
через ?}{ (ОХ1) подмножество всех слов из Q( (OX1), начинающихся
словом 1^0. Ясно, что Q,. @X')=:U Q'(OX'), причем множества
Q/(ОХ') (/ = 0, 1, .. ., i) попарно не пересекаются, и что
*) Серией слова X называется максимальное подслово слова X,
состоящее из одинаковых символов. Например, слово Х=011100 имеет три
серии.
ГЛ. IV. МЕТОДЫ ПОЛУЧЕНИЯ ОЦЕНОК ДЛЯ КОДОВ 273
а (?}/ (ОХ')) = (* (Qi_j (X1)). Поэтому, используя предположение
индукции, имеем
a (9,. (OF)) = 2 р (Q/ (OF')) - 21* (Qw (П) = 2 t* (Q.w ОТ =
/=o /=o У-«
= 2n(a/(°2')) = i*(Q«(oz')).
.7=0
Отметим, что из A4) и A5) следует, что р(с$1(Х)) = х(Х),
(i(Q1(X)) = ra + 2.
Соотношения A4) и A5) позволяют оценить сверху число J2t (X)
слов длины п в метрической окрестности радиуса 2s (в метрике
3,{Х, У)) слова X. Действительно, J2t(X)^. 2 f*(Q»(F)) и,
re^Vx)
следовательно,
^,W<C'w+^i2C-(. (id)
./=о
Пусть F — максимальный код в Вк с исправлением s выпадений
и вставок и пусть при произвольном h (i <C h <С га/2) т^ — число
слов X кода V, для которых А <Ч(X) < д — h, a ni'k — число всех
остальных слов кода V и, следовательно, т(П, 2s~\-l)=im'h-\-m"k.
Из определения кода V следует, что множества ср>(X), X&V,
заполняют множество Вп~' и, следовательно, 2 !А ('"Р. {%)) ^ 2"~',
хег
а из максимальности кода V следует, что метрические окрестности
радиуса 2s (в метрике d(X, У)) кодовых слов покрывают В" и,
следовательно, 2 /2i(Z)^2". Используя A4) и A6), получаем
хег
2-8 > m'fiU- 2" < 2 С( [т'рп_ш + m'iPnJ.
Поскольку число слов из Б", имеющих / серий, равно 2С';}, то
«2BОД+ 2 ОД)=2 2С>. Отсюда
h
2п
Оценки A3) получаются из этих оценок, если положить,
например, h = [n/2 — \jsnk\n] и воспользоваться асимптотическими
равенствами A5) и A9) Приложения. Теорема доказана.
Заметим, что из верхней оценки A3) при s=l следует
асимптотическая максимальность кодов с исправлением одного выпадения
или вставки, построенных в § 9 главы III,
274
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
В заключение настоящего параграфа рассмотрим двоичный
симметричный канал с параметром р0 @ <[ р0 < 1/2) и покажем, что
заполнение множества В" окрестностями максимальной
достоверности может быть использовано для получения верхней оценки
достоверности кодов. Большинство результатов для двоичного
симметричного канала, приведенных в этом параграфе, а также
в § 16, были впервые получены Элайесом [39].
Теорема 22. Пусть У={г;0, v1,. . ., v„,_i} — произвольный
код в В". Тогда если
™>-1^—, A7)
2^'
то
Q(V)<llC{p{(l-p0rJ. A8)
Доказательство. Рассмотрим произвольное
разбиение множества В'1 на окрестности максимальной достоверности
слов кода V. Обозначим через L; (г;,) число слов из окрестности
слова v( е V, находящихся от v( на расстоянии /'. Так как
окрестности максимальной достоверности заполняют В", то
т~ 1 и
«'=0 7=0
Заметим, что из A7) и A9) следует неравенство
т— 1 п т—1 е
2 2 h (Vi) < 2 2 (?> - Ly (Vf)). B0)
1=0 y=s+l i=0 J=0
Используя то, что в силу условия 0<р0<1/2 функция
р{ (i—Po)"~J возрастает при уменьшении /, учитывая
неравенство B0) и замечая, что С3п ~^ Lj (у,), получаем
т—1 п
Q W=i 2 2 Li ы pJ°A - л)"-' <
<=о у=о
(in—1 S ,и—1 я \
2 2 ^ ^ # <* - ^й"'+^о A - Ро)-8 2 2 ^ w <
»=о i=o »=о y=s+i /
/>л—1
\ «=0 )=0
J
т—1 в
+pt A - а,Г8 2 2 (Q - ^ (vt)) < 2 ед A - ;,„)->.
<=о у=о у у=о
Теорема доказана.
ГЛ. IV. МЕТОДЫ ПОЛУЧЕНИЯ ОЦЕНОК ДЛЯ КОДОВ
275
Для произвольного кода V С В" положим P(V) — l—Q(V).
Величину Р (V) называют вероятностью ошибки кода V- Пусть
{VJ — такая последовательность кодов Vn С В'1, что 2 ^ ц (V,,) <! 2"
и. существует предел величины " ппи п -н* со. Ч^сло р =
= lim в этом случае будем называть скоростью передачи
0,8
0,6
и,ч
0,1
0
/
—
L
г
i
i
i
i
:
:
а
То
(Р)=
-рЩр0-
Tvpl
Щр.Ша.)'
1
\-
\
|
i
i
i
[
2
Л;-
i
i
i
i
i
i
i
i
i
1
0
^
i
i
1
ч
1ЩA-Р0)
--рЩр-A-р)Щ{1-р)
\^h
№п>
0
6
=г
0
8
1,
0 р
Рис.
последовательности {V,}. Теорема 22 позволяет установить
нижнюю асимптотическую оценку для вероятности ошибки Р (У,,)
при заданной скорости передачи р и, в частности, доказать, что
при р > 1—Н (ро) вероятность ошибки Р (V,) стремится к единице.
Предварительно отметим некоторые свойства функции
В (Р) = —Р log р — ([—р) log A — р),
график который приведен на рис. 7. Очевидно, что функДия Н (р)
непрерывна и имеет производную, равную log
1-р
Поэтому Н (р)
для любого числа р @ <1 р ^ 1) существует единственное число
такое, что р=1—Н (р). Рассмотрим также
Рр@<Рр<1/2)
функцию
Т0 (р) = — Р log р0 — A - р) log A — Ро).
B1)
276
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Легко видеть, что Т0 (р) является касательной к Н (р) в точке р0.
Отметим также, что функция Т0 (р)—Н (р) убывает на отрезке
[О, р0] и возрастает на отрезке [р0, 1/2], принимая в точке р0
минимальное значение, равное нулю. Следовательно,
Т0(р)-Н(р)>0 при р==4р0. B2)
Теорема 23. Пусть {V,,} — последовательность кодов
со скоростью передачи р=1—Н (р0), где О ^ р ^ 1/2. Тогда
р /у \ \ 2-к(т»(',?1-я(Рр)+|,С11) /23)
приче.г, если о> 1—Н(pQ), то limP(F„) = l.
и-* со
Доказательство. Рассмотрим последовательность
чисел s_ таких, что
On пп
0(У)<-
7=0 7=0
Заметим, что 1 <^ sn ^ (п + 1)/2 в силу условий 2 <С p. (FJ <J 2я и что
i°g2c»' , iog2c^'
Используя предельное соотношение A6) Приложения и
непрерывность функции Н (р), получаем отсюда, что
ИтН(^-) = Н(р).
Так как функция II (р) монотонно возрастает на отрезке [0, 1/2],
то это влечет соотношение \im sjn = p0. По теореме 22
я-^-со
<?(^)<2С^A-РоГУ B4)
и, следовательно,
7=0 У-«и+1
что в силу нижней оценки (9) Приложения (при fc = sn-f-l)
приводит к неравенству B3). Если при этом р>1—Н(р0) и,
следовательно, р0>рр, то из B4), неравенства A1) Приложения и B2)
вытекает, что limQ (Vn) = 0. Теорема доказана.
ГЛ. V. МЕТОДЫ ПОСТРОЕНИЯ КОДОВ
277
В дальнейшем для любой скорости р <С 1 — Н (р0) методом
случайного выбора будет доказано существование такой
последовательности {Vn} кодов Vn С В", что
^(^я)<2"я(8+<,A)),
где & — не зависящая от п величина, совпадающая в некотором
диапазоне скоростей р = 1 — Н (р) с Та (р ) — Н (р ).
Глава V. МЕТОДЫ ПОСТРОЕНИЯ КОДОВ
С ИСПРАВЛЕНИЕМ ОШИБОК
§ 14. Метод Боуза—Чоудхури
В § 10 было установлено, что для существования (п, &)-кода
с кодовым расстоянием d необходимо и достаточно существование
матрицы размера (п—к)Хп из элементов поля В = {0, 1}, любые
d—1 столбцов которой линейно независимы. Там же было
отмечено, что аналогичное утверждение справедливо для любого
(конечного или бесконечного) поля В. Таким образом, задача
построения максимального (п, &)-кода с кодовым расстоянием d (d ^ п)
сводится к задаче построения матрицы из элементов поля В,
имеющей минимальное число строк и п столбцов, любые d—1 из
которых линейно независимы над этим полем. Это минимальное число
строк обозначим через Д (п, d). Ясно, что для любого поля В
имеет место неравенство
Д(», d)>d—1. A)
Найдем сначала решение поставленной задачи для поля В,
содержащего более п элементов. Рассмотрим матрицу
,d-l r,d—l
1 2
B)
где al7 a2,- . ., ап — произвольные различные ненулевые элементы
этого поля. Любые d—1 столбцов этой матрицы линейно
независимы над этим полем, так как при любых различных ц, i2,. . .
. . ., id_1 определитель Вандермонда
а,,
~2
. .
<-1
ы, ¦
. . .
af .
'2
¦ ¦ «k,
- . .
• • «t1,
27S
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Таким образом (см. A)), в этом случае имеет место равенство
Д(п, d) = d —1. C)
Рассмотрим теперь основной интересующий нас случай, когда
поле В состоит из двух элементов. Это поле будем обозначать также
через GF B). На этот случай, разумеется, нельзя непосредственно
перенести описанную выше конструкцию, так как в ней
существенно использовалось то, что число элементов поля превышает п.
Более того, из теорем 18, 19 и равенства Д (п, d)=n—k (n, d)
следует, что в данном случае
2.4-1
log 2 ся
<Д(п, 2s-f 1)<
log 1 + 2 си
»=0
D)
В частности, при s = 1 из D) вытекает, что
Д(л, 3) = ]log(n + l)[.
При этом в качестве искомой матрицы достаточно взять любую
матрицу, имеющую ] log (n -J- 1) [ строк и п различных ненулевых
столбцов (такая матрица существует, так как п < 2} °?("+1,С) Однако
в случае s > 1 между верхней и нижней оценками в D)
имеется существенное расхождение. Например, при
фиксированном si n -> оо на основе асимптотического равенства A5)
Приложения из D) получаем
slogra<A(n, 2s+l)<Bs — l) log гг. E)
Боузу и Чоудхури [35] удалось устранить указанное расхождение
с помощью конструкции, которая, по существу, является
некоторой модификацией конструкции, описанной выше. Эта
модификация основана на использовании конечных полей (полей Галуа)
GF B!) и позволяет доказать, что при фиксированном ли-хм
Д(ге, 2s-{-l)~sL>gn. F)
Напомним метод построения и некоторые свойства полей GF B1).
Пусть i?2 (х) — множество полиномов от переменной х с
коэффициентами из поля GF B). Известно, что для любого I в R2 (х)
существует неприводимый полином/ (х)=х''+с1х'-|-. . ¦-\-с1_1х-\-с1,
т. е. полином, не представимый в виде произведения двух полиномов
из R2 (x) ненулевой степени. Рассмотрим подмножество полиномов
из R2 (х) степени I—1 или менее. Очевидно, что это подмножество
состоит из 2' полиномов. Суммой полиномов g' (х) = Ъ'й-\-Ъ[х-\-. . .
• . .-\-b\_y~1 и g" (x)=b+b"Lx+. . .+b"_1x'-1 будем
называть полином g (x) = b0+b1x+. . .+bl_1x'~1, где bi = bi ф b], a
произведением — остаток от деления полинома g' (x) g" (x)
на / (х) (вычет g' (x) g" (x) по модулю / (х)). Используя
неприводимость полинома / (х), можно показать, что подмножество
полиномов из i?2 (z) степени I—1 или менее образует поле относительно
ГЛ. V. МЕТОДЫ ПОСТРОЕНИЯ КОДОВ
279
введенных выше операций. При этом можно показать, что поле,
состоящее из 2! элементов, единственно с точностью до
изоморфизма. Это поле и обозначают через GF B'). Таким образом, выбор
определенного неприводимого полинома степени I для построения
поля GF B1) связан лишь с системой обозначений элементов этого
поля. Известно также, что среди неприводимых полиномов
степени I в В2 (х) существует примитивный полином, т. е. полином
такой, что все полиномы х* (i=0, 1,. . ., 2'—2) имеют различные
вычеты по модулю этого полинома. Следовательно, ненулевые
элементы поля GF B!) образуют циклическую группу по
умножению, причем если в качестве / (х) выбран примитивный полином,
то все ненулевые элементы поля являются степенями элемента
а=х.
Пример. Пусть Z=4. Поле GF B') может быть образовано
с помощью примитивного полинома /(x)—xi-rxJrl. Ниже
приводится список ненулевых элементов поля GF B4) заданных: 1) как
степень элемента а=х, 2) как полином от х степени не выше 3,
3) как двоичный вектор из коэффициентов этого полинома
(нулевой элемент задается полиномом 0 или вектором @000) из его
коэффициентов).
а°
а1
а2
а3
а*
а5
а<5
а7
а8
а0
а10
а11
а12
а13
а15
= 1
=
=:
=
= 1 +
=
=
= 1 +
= 1
=
= 1 +
=
= 1 +
= 1
= 1
X
X'
X
х-\-х-
х<
X
+ х'<
X
х-{-х'
х-\-х'
х-\-х''
-\-х<
!
X3
!
'-far5
4- з?
)
-\-х3
>
'¦-{-х3
!4-жз
!-fz3
-\-х3
= A000)
= @100)
= @010)
= @001)
= A100)
= @110)
= @011)
= A101)
= A010)
= @101)
= A110)
= @111)
= A111)
= A011)
= A001)
Установим соответствие между элементами bg-j-b^-^-. . .-f-
+bl_1xl~1 из GF B1) и векторами (b0, bv . . ., b^) жзВ1. Это
соответствие является взаимно однозначным, причем нулевому вектору
из В1 соответствует нулевой элемент поля GF B') и сумме двух
векторов из В1 соответствует сумма соответствующих элементов из
GF B'). Заметим также, что для любого а. из GF B') имеет место
«+«=0, и поэтому для любых аи а2,. . ., ah из GF B1)
справедливо равенство
280
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Теорема 24 [35]. Пусть аг, а2>- • •! ая — различные
ненулевые элементы поля GF B') и уь у2, . . ., ул — соответствующие
им двоичные векторы, записанные в виде столбцов. Тогда в матрице
ЗЯ:
Ti
т?
Г5
fis-l
-ii
¦й ¦
-fi •
-ri*-1 ¦
• In
¦уЗ
• in
• ТЙ
• in
(8)
размера (Is)Хп из элементов GF B) любые 2s столбцов линейно
независимы.
Доказательство. Если утверждение теоремы не
выполнено, то существует h A <^ h ^ 2s) различных чисел ilf i.2,. . .
ih таких, что
¦fi'r1
,?/-! .
¦•fir1-
1, 2, .
s.
(9)
В силу отмеченных свойств соответствия между элементами из
GF B') и векторами из В1 из (9) следует, что
«Г1 + а?Г + • • • + «й-1 = 0, * = 1, 2, . . ., *. A0)
Любое четное число q, удовлетворяющее условию 1 ^ q ^ 2s,
можно представить в виде 5=2" Bf—1), где 1 ^ Ц s и u ^ 1.
Поэтому, используя и раз свойство G) для соответствующего
равенства A0), получаем а? -}~ а' -(- . .. -j- а' =0. Таким образом
<х{ -f а?' + • • • + а/ =0 при / = 1, 2, . .., 2s.
Это противоречит тому, что в случае d=2s+l любые 2s столбцов
матрицы B), составленной из элементов поля GF B'), линейно
независимы над этим полем и, следовательно, над полем GF B).
Теорема доказана.
Полагая Z=]log (?г+1)[, из теоремы 24 получаем
Следствие.
Д(«, 2s + l)<s]log(/i + l)[. (И)
Из E) и A1) следует асимптотическое равенство F) *). Так как
*) Если поле В состоит из r=ph элементов, где р — простое число, то
нижняя и верхняя оценки для Д (п, 2s+1), полученные соответственно
методом заполнения и методом Боуза—Чоудхури, имеют следующий вид
S
]]°&-2с*<г-1>'[<д(в' 2х+1)<B8-[т])]1°^(ге+1
1=0
ГЛ. V. МЕТОДЫ ПОСТРОЕНИЯ КО.дОВ
2S1
к (re, d)=ra— Д (га, d), то неравенство (И) равносильно неравенству
А:(га, 2s + l)>ra —s]log(ra+i)[_ A2)
Последняя оценка существенно лучше оценки р, р# Варшамова
E) § 13, когда s фиксированно или растет с Ростом п не очень
быстро. В частности, из A2) следуют оценки
«(..Hl)^^^, A3)
и
/я (га, 25+1)>^<^>>^-, ес*и га = 2'-1. A4)
Эти оценки при фиксированном s и п —>оо и^еют тот же порядок
роста, что и верхняя оценка Хемминга C) § 13.
Пример. Пусть га=15 и s=3. Рассмотрим поле GF B4),
построенное в предыдущем примере, и по^ожим а^—а1'1, i =
=?,2,. . ., AF. Тспеди- дгггржрг i>5? дриншкпгг сявкувзащйвкд;;
100010011010111
010011010111100
001001101011110
00010011-0101111
100011000110001
000110001100011
00101001010010 1
0 11110 11110 1111.
101 i 01 101 101 101^
0110110110110111
011011011011011
ооооооооооооооо
Ортогональное дополнение матрицы Я№1 имеег размерность не
менее пяти, так как из двух ее последних строк одна повторяет
предыдущую, а другая — нулевая. Таким образу (га> &)-КОд с
проверочной матрицей SD? в данном случае имбе^ параметры га=15,
к > 5, d > 7 (можно показать, что в дейсГВительности к=Ъ и
d=7).
Рассмотренный пример показывает, что ^ля конкретных
значений пж s строки матрицы (8) могут оказа^ЬСя линейно
зависимыми и, следовательно, оценки A1) и A2) м<)ГуТ быть улучшены.
Соответствующие асимптотические оценки при фиксированных г — рк и s
и п—> оо
s ]0gr п < А (в, 2s + 1) < Bs - [yj) logr „
позволяют установить асимптотику величины Д(ге, 2s+l) лишь при г=2.
19 Дискретная математика, т. I.
282
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
В частности, с этой точки зрения подробно исследован [54, 34]
случай п=11—1, аг=а*-1, ?=1, 2,. . ., п. Кроме того, известен
[36, 1, 10] ряд модификаций метода Боуза—Чоудхури, которые
позволяют несколько улучшить оценки A1)—A3) для некоторых
подпоследовательностей п.
§ 15. Методы построения максимальных кодов
в случае больших расстояний
В настоящем параграфе рассматриваются метод построения
максимальных кодов [17] и метод построения максимальных линейных
кодов [6 ] в случае больших расстояний. Случай больших
расстояний характеризуется соотношением d ^ и/2 при четном d и
соотношением d ^ (п—1)/2 при нечетном d.
В обоих методах существенно используется операция
соединения матриц. Соединением матриц
ап
«21
ат
1
avl
а,-.
ат
i2 ¦
• я1»,
• й2к,
•• "т
называется матрица
«11
«21
ат\
012 .
о22 .
ат 2 •
•• «1»,
•• п,
m«i
Ьп
hi
ЪтЛ.
hi ¦
ьгг ¦
bm-i ¦
• ьы
¦ Ь2п
¦¦ ьп
где то=тт (?%, т2). (Для операции соединения матриц
используется мультипликативная запись; в частности, через 9^л
обозначается соединение h матриц 91.)
Заметим, что если строки матрицы 9?i образуют код с
параметрами пъ d1 — кодовое расстояние и т1 — мощность кода, а
строки матрицы 912 образуют код с параметрами п2, d2 и т2,
то строки матрицы (9?i)*'(91,L где hx и й2 —целые
неотрицательные числа, образуют код с параметрами n=h1n1-{-h2n2, d J> /1^1+
+A2d2 и m=min (тъ пг2).
Заметим также, что соединение линейных кодов, вообще
говоря, не является линейным кодом. Однако при соединении
натурально упорядоченных линейных кодов всегда получается
(натурально упорядоченный) линейный код.
В первом методе каждый максимальный код строится путем
(вообще говоря, многократного) соединения одной или двух
матриц, получаемых из матриц Адамара, которые соответствующим
образом подобраны по параметрам п и d. Во втором методе каждый
Ьи
Ь-п
b».i
2
ь,2
ъ„,
2 "
•• ьт
.. ъ,п
¦¦ ь,„
91
ГЛ. V. МЕТОДЫ ПОСТРОЕНИЯ КОДОВ
283
максимальный линейный код строится путем (вообще говоря,
многократного) соединения различных кодов Макдональда, число
и параметры которых определяются числами п и d.
Матрицей Адамара называется квадратная матрица ||^||,
О «SC i, f ^ m—1, из элементов +1, строки которой ортогональны,
т. е.
2 ^u^w = ° ПРИ h?"h-
Простейшим примером матрицы Адамара является следующая
матрица порядка 2:
i i
~Г "Г
- + •
Легко показать, что для существования матрицы Адамара порядка
т (т > 2) необходимо, чтобы т было кратно 4 (это следует из
того, что три m-мерных вектора с координатами +1 могут быть
попарно ортогональны лишь тогда, когда т кратно 4).
Известные утверждения о существовании матриц Адамара
можно сформулировать следующим образом. Пусть существуют
матрицы Адамара порядков т1 и т2 (т1 ^2, т2^2) и q—
произвольное число, являющееся степенью нечетного простого числа.
Тогда существуют матрицы Адамара порядков
I. m =zm1m2 [53].
la. т = 2к.
П. m = q-\-l, если т кратно 4 [53].
III. m = 7»1(g + l) [53, 60].
IV. т = т*(т*—1), где т* — произведение чисел вида 1а
и II [60].
V. та = та* (та* ~\- 3), где та* и та* -\- 4 — произведения чисел
вида 1а и II [61].
VI. m = mlm2q(q-\-\) [61].
VII. m = m1m2iq(qJ{-3), если g-j-4 является степенью
простого [61].
VIII- га = (g-f-IJ, если </-|-3— произведение чисел вида 1а
и II C7, 59, 40|.
IX. та = 92, 116, 156, 172 [31, 33, 32, 60).
Известно предположение о том, что для любого числа та,
кратного 4, существует матрица Адамара порядка та. До последнего
времени первый сомнительный случай имел место при т=92.
Однако, в 1962 г. с помощью вычислительной машины была
найдена матрица Адамара порядка та =92 [31], а вслед за ней были
найдены матрицы Адамара порядка 116 и 156 [33, 32]. В настоящее
время для чисел та ^С 200 (таблица 10) не выяснен лишь вопрос о
существовании матрицы Адамара порядка та=188.
19*
284
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Приведем доказательства трех наиболее употребительных
утверждений о существовании матриц Адамара. В частности, с
помощью этих утверждений могут быть построены матрицы Адамара
всех порядков т, приведенных в таблице 10, за исключением
отмеченных выше особых случаев т—92 A84), 116, 156 и 172
(представление чисел т в таблице 10 указывает один из способов
построения соответствующих матриц Адамара).
ТАБЛИЦА 10:
m
2 = 2
4 = 2^
8 = 23
12 = 11 + 1
16 = 2*
20 = 19 + 1
24 = 23 + 1
28 = 33 + 1
32 = 25
36 = 2A7 + 1)
40 = 2A9 + 1)
44 = 43 + 1
48 = 22A1 + 1)
52 = 2E2 + 1)
56 = 2C3 + 1)
60 = 59 + 1
64 = 2в
68 =
72 =
76 =
80 =
84 =
88 =
92
96 =
100 =
104 =
108 =
112 =
116
120 =
124 =
128 =
132 =
т
= 67 + 1
= 22A7 + 1)
= 2C7 + 1)
= 22A9+1)
= 83 + 1
= 2D3 + 1)
= 23A1 + 1)
= 2G2 + 1)
= 22E^ + 1)
= 107 + 1
= 22C3 + 1)
= 2E9 + 1)
= 2F1 + 1)
= 27
= 131 + 1
136 =
140 =
144 =
148 =
152 =
156
160 =
164 =
168 =
172
176 =
180 =
184 =
192 =
196 =
200 =
т
= 2F7 + 1)
= 139 + 1
= 23A7 + 1)
= 2G3 + 1)
= 22C7 + 1)
= 23A9 + 1)
= 163 + 1
= 2(83 + 1)
= 22D3 + 1)
= 2(89 + 1)
= 2-92
= 2* (И + 1)
= 2(97 + 1)
= 22G2 + 1)
I. Если существуют матрицы Адамара порядков тх и т2, то
существует матрица Адамара порядка т=т1т2.
Доказательство. Идея построения искомой матрицы
Адамара порядка т1т2 состоит в том, что вместо каждого элемента
матрицы Адамара порядка тх подставляется матрица Адамара
порядка т2, умноженная на этот элемент. Другими словами, пусть
матрицы Адамара порядков тх и т2 состоят из элементов ц;,
0 ^ h, I <. ml—l, и т),.., 0 ^ i, / <; т2—1, соответственно.
Образуем матрицу из элементов %tt, 0 <1 s, t s$C m1m2—l, где s=hm2-\-l,
t=lm2+), 0 <; h, I «^ tfh—1, 0 ^ i, ;'<. m2—1, полагая
S., = 6tf = W
Покажем, что строки матрицы ||!^|| ортогональны-
ГЛ. V. МЕТОДЫ ПОСТРОЕНИЯ КОДОВ
2S5
Действительно, если s1=h1m2-\-i1, sa=fe27K2+i2 и Sj^s2, то либо
hiT^h^, либо hx=b2, но h^h- Следовательно,
и утверждение 1 доказано.
Из этого утверждения, в частности, следует существование
матриц Адамара порядка т=2к, к—2,3,. . . Матрицу Адамара
порядка т=2к можно также получить из универсальной матрицы
Ск, вежи, элементы 0 заменить элементами —1.
В дальнейших утверждениях используются символы Лежандра
в поле Галуа GF (q), где q — степень нечетного простого числа.
Пусть а0, <*!,. . ., vLq_i — различные элементы поля GF (q), причем
а0=0, «!=!. Элемент а{, 0 < г <^. q —1 называется
квадратичным вычетом, если уравнение х2=а{ имеет решение в этом поле,
и квадратичным невычетом в противоположном случае.
Для любого i, 0<^i^q— 1, введем в рассмотрение символ
Лежандра (—)» равный 1, если а; — квадратичный вычет, ы
равный —1, если К; — квадратичный невычет. Известны (см.,
например, [7]) следующие свойства символа Лежандра:
(:?Н-1),?. (•)
j=0
?-1
Л при 1Х^=1Г D)
II. Для любого числа q, являющегося степенью простого и
имеющего вид Ак—1, существует матрица Адамара порядка m=q-\-\.
Доказательство. Для любого числа q, являющегося
степенью нечетного простого числа, образуем матрицу из
элементов ij ., О <Г i, j <^ g, полагая
1, если 0 ^ i, j i^q — 1 и i = j,
Tv
если 0^/, j^q — 1 и ^/, E)
-1, если i = q или j=q.
286
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Покажем, что матрица || -с || является матрицей Адамара, когда q
есть число вида Ак—1.
Действительно, если О <J ix < г2 <' q, то в силу равенств A),
B), D), E) и того, что число q имеет вид &к— 1,
9-1
2T.-,^^=T.1<,Tv. + x'i'.',:4'I+ 2 Ч/^У + ^.'/Ч? —
j=o
1-1
=(^W^)+ 2 (^)(^)+'=*
если же 0 ^ i1 < г2 = q, то в силу равенств C) и E)
?-i
2 т<.;т^=— 2x,v=~2
^)-^,-4«=o-
7-п
;=о
j=0
зФч
Пример. Пусть д=11. Числа 0, 1,. • -, Ю образуют поле
относительно операций сложения и умножения по mod 11. При
этом числа 1, 3, 4, 5, 9 являются квадратичными вычетами, а числа
2, 6, 7, 8, 10 — квадратичными невычетами. Матрица ||т1у||
в этом случае принимает следующий вид:
++-+++ + - -
F)
+
—
—
—
+
+
+
—
+
- +
1
1
— т
+ -
+ +
1 1
-1—г
- +
+
i
—
+
—
—
—
-г
т
—
+
+
—
+
—
—
—
+
+ + + —
- + + + -
+ - + + +
4- ~г — + +
- + + - +
+ - + + -
- + - + +
— + - +
+ _
—
—
—
т
+
+
г-
+
1
—
—
—
—
—
—
—
—
III. Если существует матрица Адамара порядка тх (тг ^ 2),
то для любого числа q, являющегося степенью нечетного простого,
существует матрица Адамара порядка m=rfii (? + !)•
Доказательство. В случае, когда число q имеет вид
4/с—1, утверждение III следует из I и II. Докажем III для случая,
когда число q имеет вид 4&+1- Идея построения искомой матрицы
Адамара порядка т=т1 (gr-f- 1) состоит в подстановке вместо
каждого недиагонального элемента матрицы ||ти11 матрицы Адамара
порядка ти умноженной на этот элемент, а рместо каждого
диагонального элемента—матрицы, полученной из данной матрицы Ада-
ГЛ V. МЕТОДЫ ПОСТРОЕНИЯ КОДОВ
2J7
мара порядка тп1 умножением на —1 всех строк с четными
номерами 0, 2,. . ., тп1—2 и перестановке их со следующими за ними
строками.
Пусть |т\ |, 0 ^ i, i ^.m^ — 1, — произвольная матрица
Адамара. Используя E), образуем матрицу из элементов ist, O^s,
t^.ml(q-\- 1) — 1, полагая
[ xhi\^ если h?=U
Sf>< = 5*;j= \+Uj, если h = l и i четно, G)
( —т\1_1, если h = l и i нечетно,
где s=hm1-\-i, t=lm1-\-j, O^h, l^q, 0^ i, j ^im1 — 1. Покажем,
что полученная матрица является матрицей Адамара.
Пусть s1=/i1m1-{-ti, s2=/i2wli~bb и si7^s2- Рассмотрим сначала
случай h1=h$=h и ii7^i2- Так ка« матрица ||n]v|| является
матрицей Адамара, то легко видеть, что
m^q+D-l q m,-l 4 ™ i-l in i-l
2 s.A< = 2 2 ^&= 2 2 \д„ + 2 №=о.
/«О «=0 7=0 (=0 )=0 " ;=0
В случае /г, ==? /г2, гх <^ г2
2 ^,Л2<= 2 vmSi,,.1!..!-
* о (-о 7-о ^ 2У
1фП„ 1фкг
+ Zi ^u 47 -+- ^ !;,,_, z,2j ¦ (»)
7=0 7=1)
В силу E) равенство нулю первого слагаемого суммы (8) следует
из равенства C), когда hx=q или h2=q, или из равенства D)
в остальных случаях. Равенство нулю второго и третьего слагаемых
суммы (8) следует из G) и ортогональности строк матрицы || \,\\,
за исключением того случая, когда учетной i2=Ji+l. В последнем
случае сумма этих слагаемых равна
7=0 7=1
и, следовательно, равна 0 в силу равенств A), B) и того, что число
q имеет вид ik~\-l. Утверждение III доказано.
Укажем теперь метод построения из матриц Адамара
максимальных кодов в случае больших расстояний. Этот метод, в
частности, позволяет установить, что верхние оценки C)—F) § 12
для величины т (п, д) всегда достигаются, если справедливо
предположение о существовании матрицы Адамара любого порядка
m=4t.
288
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Матрицу четного порядка т из элементов 0 и 1 будем называть
правильной, если расстояние между любыми ее строками равно
т/2. Универсальные матрицы Ск являются правильными
матрицами порядка т=2к. Очевидно, что правильная матрица порядка
m (тп J> 2) существует тогда и только тогда, когда существует
матрица Адамара того же порядка; одна из них может быть
получена из другой заменой элементов —1 на 0. Без ограничения
общности можно считать, что правильная матрица имеет нулевую строку
и нулевой столбец. Это следует из того, что если все строки
(столбцы) правильной матрицы сложить поразрядно по mod 2 с
некоторой строкой (соответственно столбцом), то полученная матрица
также будет правильной. Произвольную правильную матрицу
порядка т, имеющую нулевую строку и нулевой столбец,
обозначим через ^0lm, а матрицу, полученную из -)Ят отбрасыванием
нулевого столбца, обозначим через SD?m. Матрица ~2Л'Ш образует
эквидистантный код с параметрами п=тп—1, d=m/2 и в силу
неравенства C) § 12 имеет в каждом столбце половину нулей и половину
единиц. Обозначим через /Я"м произвольную матрицу, полученную
из УЯ'т отбрасыванием некоторого столбца и всех строк, которые
в этом столбце имеют 0. Очевидно, что матрица $)t'm имеет т/2
строк и образует эквидистантный код с параметрами п—т—2,
d=m/2.
Следующая теорема в эквивалентных формулировках была
доказана многими авторами.
Теорема 25. Если d четнс и 2d=n, moj
т(п, d) = 2n (9)
тогда и только тогда, когда существует матрица Адамара
порядка п.
Доказательство. Достаточность условия теоремы
25 следует из неравенства D) § 12 и рассмотрения параметров кода,
образованного строками матрицы сШп и строками матрицы,
полученной из S№„ заменой всех 0 на 1, и наоборот. Для доказательства
необходимости условия рассмотрим матрицу размера Bп) X п с
кодовым расстоянием d=nl2. Из теоремы 16 следует, что в каждом
столбце этой матрицы имеется ровно п нулей и п единиц, причем
строки, имеющие нуль в определенном столбце, образуют
эквидистантный код с кодовым расстоянием d—n/2 и, следовательно,
правильную матрицу порядка п.
В силу равенства B) § 11 из теоремы 25 вытекает
Следствие. Если d нечетно и 2d-\-l=n, то
т(п, d) = 2(n-H) A0)
тогда и только тогда, когда существует матрица Адамара
порядка n-j-1.
ГЛ. V. МЕТОДЫ ПОСТРОЕНИЯ КОДОВ
289
Теорема 26 [17]. Если d четно, 2d > п ~> d и существуют
матрицы Адамара любого порядка, кратного 4,'то
т(п, d) = 2\j^
(И)
причем среди максимальных кодов имеется эквидистантный.
Г" /7
Доказательство. Пусть 1= 2d~n г ^ СИЛУ теоРемы 16
для доказательства теоремы 26 достаточно построить матрицу <ЗЯ,
образующую код с параметрами п, d и т=21. Будем искать эту
матрицу в виде
где х и у — некоторые четные числа. Заметим прежде всего, что
матрица (tP?^)"'2, когда хчетно (матрица (УЛ'^+х)L12, К0ГДа У четно)
образует эквидистантный код с параметрами пг—B1—1) х, d± !>
J> 1хж т-^—21 (соответственно с параметрами п2=B1-\-1) у, d2 ^>
^> (/+1) У и т2=2 A-{-1)). Поэтому теорема будет доказана, если мы
установим, что существуют четные числа х и у, удовлетворяющие
системе
lx-\-(l + l)y = d,
Bl — i)x + Bl + l)ij = n.
Из определения числа I и условия 2d^>n вытекают неиавенства
п — d < Bd — п) I < d
и, следовательно,
d Z + 1
п 2г + 1
>о,
I d\
21 — 1 п\
>0.
i г + 1
2Z — 1 2Z +1
=1,
что доказывает разрешимость приведенной выше системы в целых
неотрицательных числах. При этом легко видеть, что в случае
четного п числа хтну также четны, и, следовательно, теорема в этом
случае доказана.
Убедимся, что теорема справедлива и в общем случае
(независимо от четности числа п). Для этого заметим, что во-первых, из
равенства 1х-\-(I-\-1) у = d и четности числа d следует четность
числа у при четном I и четность числа х при нечетном I.
Во-вторых, в случае четного (нечетного) I матрица (^Sl'n)x (соответственно
(ЭД2(г+1))у) образует эквидистантный код с теми же параметрами,
что матрица СЖ»)*'2 (соответственно (ЗУГцЫ)у!*). Поэтому, если
при определении матрицы ?Р? в случае четного I матрицу (cffl'iifl'i
заменить на 1$51'ц)х, а в случае нечетного I матрицу (ЗО^лн))^'2
заменить на (SO^n-i))*» то матрица 9D1? будет обладать требуемыми
свойствами. Теорема доказана.
290
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
В силу равенства B) § 11 из теоремы 26 вытекает:
Следствие. Если d нечетно, 2й-\-\ > п^ du существуют
матрицы Адамара любого порядка, кратного 4, то
d + i
т(п, d) = 2
2d +1 ¦
A2)
Замечание. Из доказательства теоремы 26 видно, что для
построения максимального кода при фиксированных значениях
п и d, удовлетворяющих условию 2d > п ^s d, достаточно
существования лишь двух матриц Адамара *). Аналогичное замечание
можно сделать и относительно следствия теоремы 26. Так как
наименьший порядок т, для которого в настоящее время матрица
Адамара не построена, равен 188, то равенства (9)—A2) заведомо
справедливы, когда п ^ 184.
Пример. Пусть п = 27, d = 16. В данном случае d четно,
2d ^> п ~^ d, п нечетно, 1= ^ = 3 нечетно. Согласно теореме 26
в качестве матрицы 93? искомого максимального кода можно взять
матрицу (Ж'п)*12 (SRsY, где числа х и у — решение системы
Зх -1-4;/=16
Ъх + 7у = 27,
т. е. х=4, г/=1. Используя матрицу Адамара F) порядка 12 и
универсальную матрицу С3 (см. § 10), строим матрицы
ж12
0 110 1110 0 0
0 0 0 10 110 11
10 0 0 10 110 1
110 0 0 10 110
0 1110 0 0 10 1
10 1110 0 0 10
ж*
0 0 0 0 0 0 0
10 10 10 1
0 110 0 11
110 0 110
0 0 0 1111
10 110 10
0 11110 0
110 10 0 1
из которых получаем следующую матрицу 93? максимального кода
с параметрами га=27, d=16 и т=6:
<т = (Жау<зя'а=
0110111000 0 1101110 000000000
000101101100010 110111010101
100010110110001011010110011
110001011011000101101100110
011100010101110001010001111
101110001010 111000101011010
*) Более того, когда ^=0 (а это имеет место тогда и только тогда, когда
d/Bd — п) целое число), достаточно существования лишь одной матрицы
Адамара.
ГЛ. V. МЕТОДЫ ПОСТРОЕНИЯ КОДОВ
291
Перейдем к описанию метода построения максимальных
линейных кодов в случае больших расстояний.
Теорема 27 [6]. Если 2d ,> п J> d, то
к(п, d) = к,
где к — максимальное число такое, что
k-l ¦
<и.
Доказательство. В силу следствия 2 теоремы 1о для
доказательства теоремы 27 достаточно построить матрицу ЭД,
образующую
, к) — код с кодовым расстоянием d, а затем
Тс—1
присоединить к ней п — N ~ нулевых столбцов. Будем искать
A3)
эту матрицу в виде
W = (С*. »)'' (с,, О* (ск, 2)" ¦ ¦ ¦ (ск> ,.,)'*-,
где СкЛ (?=0, 1, . . ., к—1) — натурально упорядоченные
Bfc—2\ к) — коды Макдональда (см. § 10), a z,. (?=0, 1, . . ., й—1) —
целые неотрицательные числа. Код СкЛ имеет параметры п0 =
=2к—1 и dQ=2k~1, а остальные коды Ckii (?=1, 2,. . ., к—1) —
параметры n;=2fc—2*' и di=2k~1—2'~1. Поэтому теорема будет
доказана, если удастся найти целые неотрицательные числа z0,
z1). . ., zk_i, удовлетворяющие системе
z02k-i + 2lziB*-i-2i-i)=d,
k-l
k-l
Умножая A4) на 2 и вычитая из него A5), находим
A4)
A5)
A6)
В силу условия теоремы z0J>0. Таким образом, система A4)—A5)
сводится к одному уравнению с к — 1 неизвестными
k-l / k-i. \
A7)
2 *, B^ - 2'-) = (JJ | [ - d] 2^ + d.
292
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЙ
Рассмотрим числа
2НМ_Ш' i==u *-4' A8)
каждое из которых равно 0 или 1. Легко проверить, что для этих
к-1 к-1
чисел
к-1
справедливы равенства \z.= /. — I — d -\- —— и
i=i t=i ¦* J L
% Z;2*_1= -ttj 2*-1 — d и, следовательно, они являются реше-
«=i L
иием уравнения A7) *). Таким образом, матрица ЭЛ, построенная
согласно A3) и имеющая модулярное представление (см. § 10)
fc-i
v = 2 v*. <>
где числа z{ (г = 0, 1, ..., к— 1) определены в A6) и A8),
образует % — , /г 1-код с кодовым расстоянием d**). Присоединяя
fc—1
к матрице 9DJ я — ^ — нулевых столбцов, получаем матрицу
• Mi-" *-
искомого (п, &)-кода с кодовым расстоянием d. Теорема доказана.
Замечание. Теорема 27 доказана как для четных, так
и для нечетных d. При'нечетных ^она остается справедливой и в
случае 2d-{-l=n, что легко установить с помощью соотношения
к{п, d)=k(n+l, d+1).
Пример. Пусть и=36, d=18. Так как
18-f9-f5-f-3<36<18-f-9-}-5-f3-j-2,
то к C6, 18)=4. В этом случае z0=l, z1=0, z2=l, z3=l. Д/атрица
имеет модулярное представление
v = v4f 0 + v4t a + v4_ з = @111222233333333)
и образует C5, 4)-код с заданным кодовым расстоянием d=l8.
Добавляя нулевой столбец, получаем максимальный C6,4) — код
*) Можно показать, что уравнение A7) не имеет других решений в
целых неотрицательных числах.
**) Из следствий 1—3 теоремы 15 следует, что эти коды, так же как
и коды Макдональда, образуют класс линейных кодов, оптимизирующих
значение любого из параметров п, к и d при фиксации двух других.
ГЛ. V. МЕТОДЫ ПОСТРОЕНИЯ КОДОВ
293
с кодовым расстоянием d=l8 и модулярным представлением
A111222233333333). Для сравнения заметим, что из теоремы 25
и существования матрицы Адамара порядка т=36 следует, что
т C6,18)=72, в то время как 2* <36- 18J=16.
§ 16. Метод случайного выбора кода
Как было отмечено ранее, для теории кодирования типичны
задачи, связанные с построением кодов, оптимизирующих значение
некоторого параметра. Для многих задач подобного рода неизвестны
иные методы решения, кроме перебора всех (или почти всех)
возможностей. В то же время для этих задач весьма правдоподобным
кажется предположение, что почти все коды близки к
оптимальным. Ясно, что если это предположение справедливо, то среднее
значение параметра по классу всевозможных кодов также близко к
оптимальному. В такой ситуации весьма плодотворным оказался
развитый Шенноном [57 ] метод случайного выбора кода, при котором
в простейшем варианте буквы каждого кодового слова выбираются
независимо и с равными вероятностями. При исследовании этого
метода обычно удается достаточно точно оценить среднее значение
рассматриваемого параметра, а также доказать, что значение этого
параметра для случайно выбранного кода с приемлемой
вероятностью близко к его среднему значению. Так как из оценок для
среднего значения параметра можно получить оценки для
оптимального значения параметра, то метод случайного выбора кода
можно также рассматривать как некоторый метод получения
оценок. Ниже мы проиллюстрируем метод случайного выбора кода
на примере задач построения натурально упорядоченных
линейных кодов (см. § 10) с максимальным кодовым расстоянием и с
наименьшей вероятностью ошибки в двоичном симметричном канале.
Обозначим через ©я к множество натурально упорядоченных
линейных кодов V = {i\}, состоящих из 2к двоичных слов длины п.
С помощью соотношений
",= 2Ь?Ч*чл где г = 2>У'2*Ч * = 0, 1, ..., 2»-1, A)
j-i /=i
лежащих в основе определения натурально упорядоченного кода,
устанавливается взаимно однозначное соответствие между кодами
Уе©„д и матрицами из пк двоичных символов:
хп х1г
х11 х22
:(*-Ш х{к-112 '
хк\ хк2
• хт
*2я
* х(«;-1)я
• • хкя
V&-X
v2k-,
Н
v-i
=
294
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Будем рассматривать каждую матрицу B) (и соответствующий
ей код Уб@„д) как результат пк последовательных независимых
испытаний с равновероятными исходами 0 и 1. Это задает
некоторую вероятностную меру Рг () на множестве кодов ©„ к. В
частности, для любого кода УеС$иД. имеет место Рг (У)=1/2"'с. Нас
будут интересовать следующие случайные величины: кодовое
расстояние d (V) и вероятность ошибки Р (V) в двоичном
симметричном канале с параметром р0. Средние значения этих величин
обозначим через d (п, к) и Р (п, к) соответственно.
В дальнейшем нам понадобится следующее простое
утверждение: для любого Y=y1y2. . .. упе.Вп и любых целых чисел i,
0</<2'-'— 1, и t, 0<*<и,
Pr(d(^, /)<*) = 2-" 2 С* C)
Для доказательства этого утверждения достаточно заметить, что
ввиду A) и B)
dK У)=к©У1=2(у,е2>УЧ
к
причем случайные величины Е, = у,ф 2^Ь1Рх.„1 = \,. . -,п, незави-
симы и в силу того, что ij^=0 (и, следовательно, не все коэффициенты
Ь{р, /=1, 2,. . ., к равны 0), каждая из них принимает значения 0
и 1 с вероятностью 1/2.
В частности (в случае У=@, 0,. . ., 0)), для любых целых чисел
i, 0 < i < 2fc—1, и t, 0 < t < п,
Pi-(|rJ<f)=2-2 Ч- D)
Теорема 28. Пусть к/п=рш р=1 —Н (р), где 0<! р <J 1/2.
Тогда для произвольного целого d, 0 < d < «/2,
РгШУ)<й)<-^2-"(я(Л>ья^>, E)
я d 1 -i/l-p
Доказательство. В силу натуральной упорядоченности
кодов 7е@яй.
d(V)=mind(v vh) = min||о, ф yj = mia || у, ||.
./=?* ^'?ЬА «'#0
ГЛ. V. МЕТОДЫ ПОСТРОЕНИЯ КОДОВ
295
Учитывая то, что вероятность объединения событий не
превышает сумму их вероятностей, и используя равенство D), получаем
( min
1о</<2*—1
Pr(d(F)<d) = Pr( min K||<^<
<2EPr(lhll<d)<2*-»2 с{.
Отсюда в силу неравенства A2) Приложения следует неравенство E).
Из теоремы 28 следует, что величина Рс (d (V) > пр) сколь
угодно близка к 1 при достаточно большом п. Это означает, что
метод случайного выбора позволяет строить (с вероятностью сколь
угодно близкой к 1 ири достаточно большом п) (п, &)-коды с
кодовым расстоянием, большим про. Отметим также, что из теоремы 28
при п -*¦ оо и kin -> р=1—И (р ) вытекает следующее предельное
соотношение (ср. с нижней оценкой A0) § 13):
,. 3(п, к)
lim —
¦Р,-
Перейдем теперь к оценке средней вероятности ошибки Р (п, к)
кода из ®п к в двоичном симметричном канале с параметром р0
@<р0<1/2).
Теорема 29. При любом целом t, O^i^n,
р(п, к)<2*-«2.одA -РоУ2 с{ + 2едA -PlJr\ F)
i=0 j=0 ,=(
Доказательство. Положим Q (п, к) = 1 — Р (п, к).
Используя равенство E) § 8 имеем
Q(n, k)=~ir^ 2 p"'{tJ,S) (l-ft)"-<,c,'1*)P'-(Ze?>->,)) =
^22p'"A ~ p°)n~m Pr №j ®y)e 0_1 к»-
y=o re*"
Покажем, что для любого / = 0, 1, . . ., 2fc—1
Pr ((у © У) е /Г1 (^)) > Pr (min <Z (v., У) > | У |).
2=^0
Действительно, если для некоторого У е В" выполнено условие
mind(v(, У)>||У||, G)
296
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
то окрестность максимальной достоверности каждого слова Vj
(/=0, 1, ..., 2* — 1) содержит слово у. ф У, так как из условия
G) и натуральной упорядоченности кода следует, что
d {v., v, 0 У) = 1 УК min d (v., У) = min d (vh, v © У).
Таким образом,
Q (и, А) > 2 PlF|1 A - Po)"-m Pr f min <* (У<> У) > I У I). (8)
Пользуясь тождеством 2 P'ir"(^ — Po)"~"F" — ^ получаем из (8),
тев"
что
/>, А)< 2 Р|У11A—Po)|Flipffmmd(p„ У)<|У|). (9)
гея™ V <фо )
Так как вероятность объединения событий не превышает сумму
их вероятностей, то из равенства Щ следует
Pr(mmd(v., У)<||У||)<
2*-1 || ГЦ
< 2 Pr(dк у)< 1 у||)<2*-*2 щ. (Ю)
,=1 у=0
Полагая ||У| = г(г = 0, 1, . . ., п) и оценивая сверху величину
Рг [min d(у,., У)^|У|\ с помощью A0) при 0^i<;f и единицей
при t ^ i<^ га, получаем из (9) искомое неравенство F).
В дальнейшем используется величина ркр = ^Jp0i(^p0 -\-\/i — р0)-
Легко видеть, что р0 <^ ркр -<| 1 /2 в силу условия 0<^р0<^1/2.
Теорема 30. Пусть kjn = р и р = 1 — Н (р ), где 0 ^ р «^ 1/2.
Тогда, если p0^.p?^.pKV, то
Р(п, к)^п2-»(тлр9)-и(Р9)), (щ
если Ркр^рр<Л/2, то
Доказательство. Воспользуемся теоремой 29 при t = ] пр [.
Так как (см. B1) §13)
р;A-роГ'=2-яПй
и согласно неравенству A3) Приложения
2 С{^2п"(^> при *<пр
ГЛ. V. МЕТОДЫ ПОСТРОЕНИЯ КОДОВ
297
то первое слагаемое в F) не превышает
^ 2-(*(V+*.(-9-2fl(T)).
'<ПРп
"Р
При выполнении условия р/> р0 по неравенству A4) Приложения
второе слагаемое в F) не превышает
2 *V°U) Чи))<^2-я(г-.с^)-нСр>).
Следовательно, если ввести в рассмотрение функцию
J(p) = H(p9) + TQ(p)-2H(p)
и заметить, что
J(Pt) = T0(pt)-Il(p?), A3)
то можно записать, что при р0<^р ^1/2
-и min J (p)
Р(п, к)^п2 ^Щ . A4)
Производная функции / (р) равна logi^ffl — 2 log —^. Следо-
вательно, сначала / (р) монотонно убывает, а затем монотонно
возрастает, принимая минимальное значение в точке
„ _ VpT
Графически (см. рис. 7 § 13) ркр представляет собой абсциссу точки,
в которой наклон кривой II (р) вдвое меньше наклона этой кривой
в точке р0. Заметим также, что, как легко проверить,
' (Ар) = Н (рр) + Т, (ркр) - 2Я (Р]ф) =
= #(/g-2Iog(V^ + v'T^rp7)- A5)
Таким образом, из A4) следует, что Р (п, k) ^ /i2~""'(V при р0<;
<Рр<Ркр и />(д, &) ^ «2-"j(pkp) „ри Ркр<Р0<1/2. В силу
равенств A3) и A5) это приводит к неравенствам A1) и A2)
соответственно.
В § 13 главы IV было доказано, что для любой
последовательности кодов {Ув, VnQB") со скоростью передачи р>1—Я
(^вероятность ошибки Р (V,) стремится к единице. Теорема 30
показывает, что вероятность ошибки, осредненная по кодам класса ©„,,,
по экспоненте*) стремится к нулю при д-> со и к/п-+р<^ 1—Н (р0).
*) Экспоненциальный характер убывания при условии р0 < р < ркр
следует из того, что в силу неравенства B2) § 13 имеет место J(pf)=Tt(pf) —
— H(pf) > 0, а при условии р^ < р. < 1/2 следует из того, что в силу
монотонного возрастания функции II {р) при 0 < р < 1/2 и неравенства psv > р0
имеет место / (ркр) = // (Рр) - Н (ptp) + Т0 (ркр) - Я (ргр) > 0.
20 Дискретная математика, т. I.
298
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Следовательно, для любой скорости передачи р < 1—Н (р0)
существует последовательность линейных кодов из ©п к, для
которых вероятность ошибки стремится к нулю и притом
экспоненциально. Таким образом, величина 1—Н (р0) является
верхней гранью скорости таких последовательностей кодов, для
которых вероятность ошибки стремится к нулю. Величину 1—Н (р0)
называют пропускной способностью двоичного симметричного
канала, имеющего параметр р0.
В действительности, из теоремы 30 можно извлечь нечто большее,
чем просто факт существования кодов, для которых справедливы
оценки A1) и A2). Обозначим через @^к, где h — произвольное
положительное число, множество кодов V <?©„_,, таких, что P(V)~^z
У>ИР(п, 1с). Тогда
Р (га, к)= 2 Рг (П Р (V) > hP (n, к) 2 Pl' {V) >
Ус®И.к УеЩ,к
^ИР(п, Л) Рг(Р (Г) >ЛР (re, к)).
Поэтому
Рг(РA')>АР(и, ftKp
и, следовательно,
Pv (Р (V) <: hP (n, A-))> 1
Из последнего неравенства можно сделать вывод о том, что методом
случайного выбора с приемлемой вероятностью получаются коды,
вероятность ошибки которых имеет тот же (или меньший) порядок,
что и величина Р (п, к).
Заметим также, что из теорем 23 и 30 для некоторого диапазона
скоростей можно получить асимптотику логарифма минимальной
вероятности ошибки. Действительно, пусть {Vn} —
последовательность имеющих минимальную вероятность ошибки кодов
VhCLB', скорость передачи которой равна р=1—Н (рр), где
Ро^Рр ^ Рщ,- Тогда из неравенств B3) § 13 и A1) следует, что
P(V7) = 2-b!)(">p),
log p. ( V„) «г -
где при п -> оо и — г —> р
п -
lim»(«, P) = T0(pt)-H(pt).
Так как доказательство этого факта основано на использовании
верхней оценки A1) для Р (п, к), то можно заключить, что в
случае р0 < р <; ркр методом случайного выбора с приемлемой
вероятностью получаются коды, вероятность ошибки которых
близка к минимальной.
ПРИЛОЖЕНИЕ
299
Приложение. НЕКОТОРЫЕ ОЦЕНКИ II ПРЕДЕЛЬНЫЕ
СООТНОШЕНИЯ
В этом Приложении приводятся некоторые известные оценки
и предельные соотношения, использованные в тексте раздела.
Получение большинства из них основано на применении формулы
Стирлинга для числа п\. Уточненную формулу Стирлинга можно
записать в виде следующих неравенств (см. [42])
(¦?)" \/2wi e12"+1 < га ! < (у Y \/2iw в12" (га > 1). A)
Применим неравенства A) для оценки полиномиального коэф-
т
фициента , ^V... (fej м гДе 2 Л< = пиА<> 4 (' = !> 2> • • •» т)-
Если воспользоваться тем, что
«г
2*< , я
log ——
*¦ ц (*,)-*'= 11 m- = 2 -" *
1=1 1=1 \" /
и (при гаг ^ 2)
12?! *-> 12fc,-+l
e -i <l<eM"+1,
то из неравенств A) нетрудно получить
-У —
, / „ ^ (*i)l(*i)l ¦..(*„) I ^
<-- } — 2яД (?!¦?« «»»), B)
B«n)"-iIJ*<
•=i
где
0<?,=-?-, 2^ = 1 И H(qi,q2,...,qm)^qilog^-. C)
»=i <=i
Заметим, что в силу условий к. ^ 1 (г = 1, 2, .. ., гаг) имеет место
т
неравенство гаг <[ га и величина JJ gt. принимает минимальное зна-
»=1
20*
Зоо
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
чение, когда все q(, за исключением одного, равны 1/и. Поэтому
1 < 1 < I/ m < 1
j/"B™o-i п <?.- V B^м-10 - ^V1)
Таким образом, из B) следует, что при qi = kijn^>Q{l = 1, . .., т)
п !
(Ai)!(*2)l...(*»)l
^2nH^"h ?m\ D)
Знак равенства в D) возможен лишь при т = 1. Отметим также,
что неравенство D) справедливо и в том случае, когда некоторые
к( равны нулю, если, как обычно, считать, что q log — = 0 при q = 0.
В случае т = 2 неравенства B) принимают следующий вид:
г
е -2»н(р)<г- С" = — <- 2»и(р) E)
•2i4»p(l-p) " М (п ~к) ! v^rcnp A - р) * W
где
0<р=*/га<1 и #(p) = -plogp-(l-p)log(l-p). F)
Зафиксируем число Po^O^Po'Cl) и положим
Тр, (р) = -р log р0 - A - р) log A - р0). G)
В дальнейшем вместо TPi(p) будем часто использовать
сокращенную запись Т0 (р).
Замечая, что
Р?A-РвГ* = 2-1,.<'>, где р = к/п, (8)
из неравенств E) получаем
1
^,пРA-р) 2- "-"I-1"» < ед A - р0)-* <
где 0<р=/с/гс< 1.
< 1 2-" (го (р)-я(р» (9)
Оценим теперь сверху величину 2 С'пРо A — РоТ ' *)• Положим
к
S
»=1
^ = C'pj(i-p0rS i—x^/x,., p=A/« и 6 = i_Pp1-Pot
*) Как будет ясно из дальнейшего, достаточно хорошей оценкой снизу
для этой величины при к < пр0 является нижняя оценка в (9).
ПРИЛОЖЕНИЕ
301
Очевидно, что ?< = -—I Po, 5<<SJt<S, 1 = 1, 2,..., к и,
га — i -f- 1 р0
таким образом х4 = ?<+1 ... 1кхк < \ хА„ Поэтому, если р<С,р0 и,
следовательно, ?<[1, то
2т<<2^~'т*<т*т^==х*
Используя (9), отсюда получаем
go С1 -Р)
/'о — Р
2едA-РоГ'<
i--i
<^)/^2"(г'0("ЬЛЫ)' ГД6 °<Р=к1п<Ро- A0)
Следующая более простая оценка получена Черновым (см.,
например, [61])
к.
2 C*pJ(l -РоГ'<2-"№ГрЬЛ(р)). гДе Р = */«</>„• (И)
«=о
Если положить р0 = 1/2 и воспользоваться тем, что в этом
случае Т0(р)^1, то из A0) и (И) получим соответственно:
к
2С»<Т^КУ^2КЯ(?)' где 0<Р = к1п<1/2, A2)
»=о
к
2 С;<2«лО», где р = А/п<1/2. A3)
•=о
я и—А:
Так как 2 С*р* С1 — Р0)""' = 2 С, A — Р0У Ро~{>' то верхнюю
»'=ft «=0
оценку для этой суммы можно получить, если всюду в A1)
заменить к на п — к, а р0 на 1—р0. Учитывая, что Т1_]>о A—р) =
= ТРа(р) и Я A — р) = II (р), имеем
^С'пРи1-РаГ'<2-»^(Р)-ЩР)), где p=kln^p0. A4)
Приведем некоторые предельные соотношения. Прежде всего
отметим, что из равенства
рк п ! п (п — \) ... (п — к + 1)
» ~ к\(п — к) ! — А!
следует, что при фиксированном А и »-*со
ге
к
Скп~"гт- A5)
" А !
302
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
Пусть к = к (п) — произвольная целочисленная функция. Тогда из
E) и A3) следует, что если О^.к^п/2, то
Ц-^-- 44) =»¦ (,6>
а из (9) и A4) следует, что если п > А' ^> рип, то
(log'JtcipUl-Po)-*
йН*-^ +nD)-*D)H- <">
В ряде случаев требуется более точно знать поведение суммы
п
2 ?«РоA ~ Ро)"~*' когда « -> оо и к/п-+р0. Здесь может оказаться
полезной теорема о больших отклонениях (см., например, [42J),
согласно которой
1 с№-р^~'ж;' A8)
пра+х у'лро A-р0) sg i sg я
если л-*-оо, х-^-со и 3?f\jn -*0. В частности, полагая в A8)/70 =
= 1/2, можно заключить, что в указанном процессе
2 с'»= Z С;~7&^- A9)
ЛИТЕРАТУРА
1. А и д р и а н о в В. И., Саек овец В. Н., Дециклические коды,
Кибернетика, № 1, 1966, 11—16.
2. Б а с о а л ы г о Л. А., Новые верхние границы для кодов,
исправляющих ошибки, Проблемы передачи информации 1, № 4, 1965, 41—44.
3. В а р ш а м о в P.P., Оценка числа сигналов в кодах с коррекцией
ошибок, ДАН СССР 117, № 5, 1957, 739—741.
4. В а р ш а м о в Р. Р., О некоторых особенностях линейных кодов,
корректирующих несимметрические ошибки, ДАН СССР 157, № 3, 1964, 546—
548.
5. В а р ш а м о в Р. Р., Тененгольц Г. М., Код, исправляющий
одиночные несимметрические ошибки, Автоматика и телемеханика 26,
№ 2, 1965, 288—292.
6. В е н т у.р и н п Д., Построение максимальных линейных двоичных
кодов в случае больших расстояний, Сб. «Проблемы кибернетики»,
вып. 16, М., «Наука», 1966, 231—238.
7. Виноградов И. М., Основы теории чисел, пзд. 8-е, М., «Наука»,
1972.
8. Гинзбург Б. Д., Об одной теоретико-числовой функции, имеющей
приложение в теории кодирования, Сб. «Проблемы кибернетики», вып. 19,
М., «Наука», 1967, 249—252.
9. Г л е б с к и й 10. В., Кодирование с помощью конечных автоматов,
ДАН СССР 141, № 5, 1961, 1054-1057.
ЛИТЕРАТУРА
303
10. Г о п п а В. Д., Новый класс линейных корректирующих кодов,
Проблемы передачи информации 6, № 3, 1970, 24—30.
11. Кириенко Г. И., О самокорректирующихся схемах из
функциональных элементов, Сб. «Проблемы кибернетики», вып. 12, М., «Наука»,
1964, 29-38.
12. Кислицын С. С, Средняя, длина двоичного кода с минимальной,
избыточностью в случае, когда вероятности кодируемых символов
близки друг к другу, Теория вероятностей и ее применения 7, № 3, 1962,
342—343.
13. Кислицын С. С, Средняя длина двоичного кода с минимальной
избыточностью в случае двух групп символов с равными вероятностями,
Сб. «Проблемы кибернетики», вып. 11, М., «Наука», 1964, 267—270.
14. К о л е с н и к В. Д., М и р о и ч и к о в Е. Т., Некоторые
циклические коды и схема декодирования по большинству проверок, Проблемы
передачи информации 1, № 2, 1965, 3—17.
15. Кричовский Р.Е., Минимальная схема из замыкающих контактов
для одной булевой функции от п аргументов, Сб. «Дискретный анализ»,
вып. 5, Новосибирск, ИМ СО АН СССР, 1965, 89-92.
16. К р и ч е в с к и й Р. Е., Длина блока, необходимая для получения
заданной избыточности, ДАН СССР 171, Ж 1, 1966, 37-40.
17. Левенштейн В. И., Применение матриц Адамара к одной задаче
кодирования, Сб. «Проблемы кибернетики», вып. 5, М., Физматгиз,
1961, 123-136.
18. Левенштей п В. И., Об обращении конечных автоматов, ДАН СССР
147, № 6, 1962, 1300-1303.
19. Л е в с н ш т с п п В. И., О некоторых свойствах кодирования и
самонастраивающихся автоматах для декодирования сообщений, Сб.
«Проблемы кибернетики», вып. 11, М., «Наука», 1964, 63—121.
20. Левенштейн В. И., Двоичные коды с исправлением выпадений,
вставок и замещений символов, ДАН СССР 163, № 4, 1965, 707—710.
21. Левенштейн В. П., Об избыточности и замедлении разделимого
кодирования натуральных чисел, Сб. «Проблемы кибернетики», вып. 20,
М., «Наука», 1968, 173-179.
22. Дуванов О.В.,О синтезе некоторых м&ссо» управляющих систем,
Сб. «Проблемы кибернетики», вып. 10, М., Физматгиз, 1963, 63—97.
23. М а р к о в А. А., Теория алгорифмов, Труды МИАН СССР 42, Изд-во
АН СССР, 1954.
24. Марков Ал. А., Об алфавитном кодировании, ДАН СССР 132, № 3,
1961, 521—523.
25. Марков Ал. А., Об алфавитном кодировании II, ДАН СССР 139,
№ 3, 1961, 560-561.
26. Марков Ал. А., Норекуррентное кодирование, Сб. «Проблемы
кибернетики», вып. 8, М., Физматгиз, 1962, 169—188.
27. М а д а т я н X. А., О синтезе схем, корректирующих размыкание
контактов, ДАН СССР 159, № 2, 1964, 290-293.
28. П о т а п о в Ю. Г., Яблонский С. В., О синтезе
самокорректирующихся контактных схем, ДАН СССР 134, № 3, 1960, 544—547.
29. С а г а л о в и ч Ю. Л., Метод повышения надежности конечного
автомата,'^Проблемы передачи информации 1, № 2, 1965, 27—35.
30. Фптингоф Б. М., Оптимальное кодирование при неизвестной и
меняющейся статистике сообщений, Проблемы передачи информации 2,
№ 2, 1966, 3—11.
31. В a u m е г t L. D., Golomb S. W., Hall M., Jr., Discovery of
an Hadamard matrix of order 92, Bull. Amer. Math. Soc, 68, № 3, 1962,
237—238.
32. В a u m e r t L. D., Hall M., Jr., A new construction for Hadamard
matrices, Bull. Amer. Math. Soc, 71, № 1, 1965, 169—170.
304
5. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
33. В aumert L. D., Hadamard matrices of orders 116 and 232, Bull.
Amer. Math. Soc. 72, A» 2, 1966, 237.
34. В e r 1 e к a m p E. R., Algebraic coding theory, McGraw-Hill Book
Company, New York, 1968. (Русский перевод: Берлекэмп Э.,
Алгебраическая теория кодирования, М., «Мир», 1971.)
35. В о s e R. С, Ray-Chaudhuri D. К., On a class of
error-correcting binary group codes, Inform, and Control 3, № 1, 1960, 68—79.
(Русский перевод: Кибернетический сборник, ^ып. 2, М., ИЛ, 1961,
83-94.)
36. В о s e R. С, Ray-Chaudhuri D. К., Further results on error
correcting binary group codes, Inform, and Control 3, A" 3, 1960, 279—290.
(Русский перевод: Кибернетический сборник, 1Шп. 6, М., ИЛ, 1963,
7-19).
37. В г a u e r A., On a new class of Hadamard determinants, Math. Zeit.
58, A» 3, 1953, 219-255.
38. В г о w n D. Т., Error detecting and correcting binary codes for
arithmetic operations, IRE Trans., EC-9, № 3, 1960, 333—337.
39. E 1 i a s P., Coding for two noisy channels, Information theory,
Academic Press, New York, 1956, 61—74. (Русский перевод: Сб. Теория
передачи сообщений, М., ИЛ, 1957, 114—138.)
Aj 1, 1965, 34-36.
41. F a n о R. M., Transmission of information. A statistical theory of
communication, Wiley, New York, 1961. (Русский перевод: Ф а н о Р.,
Передача информации. Статистическая теория связи, М., «Мир», 1965.)
42. Feller W., An introduction to probability theory and its application,
Wiley, New York, 1950. (Русский перевод: феллер В., Введение
в теорию вероятностей и ее приложения, М., «Мир», 1963.)
43. Gilbert E. N., A comparison of signalling alphabets, Bell. Syst.
Techn. J. 31, jMi 3, 1952, 504—522.
44. G i 1 b e r t E. N., Moore E. F., Variable-length binary encoding,
Bell Syst. Techn. J. 38, A? 4, 1959, 933—967. (Русский перевод:
Кибернетический сборник, вып. 3, М., ИЛ, 1961, 103—141.)
45. G г i о ч m e r I. H., A bound for error-correcting codes, IBM J. Res.
and Develop. 4, A: 5, 1960, 532—542.
46. Hamming R. W., Error-detecting and error-correcting codes, Bell. Syst.
Techn. J. 29, A° 2, 1950, 147—160. (Русский перевод: Сб. Коды с
обнаружением и исправлением ошибок, М., ИЛ, 1956, 7—22.)
47. Hansel G., Nombre minimal de contacts de fermeture neccssaires pour
realiser une fonction ЪооЪеппе symetrique, С. В- Acad. Sc. Paris, 258,
A? 25, 1964, 6037—6040.
48. H u f f m a n D. A., A method for construction of minimum-redundancy
codes, Proc. IRE 40, A! 9, 1952, 1098—1101. (Русский перевод:
Кибернетический сборник, вып. 3, М., ИЛ, 1961, 79-^87.)
49. Johnson S. M., A new upper bound for error-correcting codes, IRE
Trans., IT—8, № 3, 1962, 203—207. (Русский перевод: сб. «Теория
кодирования», М., «Мир», 1964, 208-224.)
50. Kraft L. G., A device for quantizing, grouping and coding amplitude
modulated pulses, M. S. thesis, electrical engineering department, MIT,
1944.
51. MacDonald J. E., Design for maximum minimum-distance error-
correcting codes, IBM J. Res. and Develop 4, A» 1, I960, 43—57.
52. M с М i I 1 a n В., Two inequalities implied by unique decipherability,
IRE Trans., IT—2, № 4, 1956, 115—116. (Русский перевод:
Кибернетический сборник, вып. 3, М., ИЛ, 1961, 88—92,)
53. Р а 1 е у R. Е. А. С, On orthogonal matrices, J. Math, and Phys. 12,
№ 3, 1933, 311—320.
ЛИТЕРАТУРА
305
54. Р е t е г s о n W. W., Error-correcting codes, Wiley, New York, 1961.
(Русский перевод: Питерсон У., Коды, исправляющие ошибки,
М., «Мир», 1964.)
55. Р 1 о t k i n M., Binary codes with specified minimum distance, IRE
Trans., IT—6, JV: 4, 1960, 445—450. (Русский перевод: Кибернетический
сборник, вып. 7, М., ИЛ, 1963, 60—73.)
56. S a r d i n a s A. A., Patterson G. W., A necessary and sufficient
condition for unique decomposition of coded messages, Conv. Rec. IRE,
IT, part 8, 1953, 104—108. (Русский перевод: Кибернетический
сборник, вып. 3, М., ИЛ, 1961, 93—102.)
57. S h а п п о п С. Е., A mathematical theory of communication, Bell Syst.
Techn. J. 27, N° 3, 1948, 379-423; № 4, 1948, 623—656. (Русский
перевод: Шеннон К., Работы по теории информации и кибернетике, М.,
ИЛ, 1963, 243-332.)
58. S t a n t о n R. С, S р г о t t D. A., A family of difference sets, Canad.
J. of Math. 10, Л» 1, 1958, 73-77.
59. Williamson J., Hadamard determinant theorem and sum of four
squares, Duke Math. J. И, Л; 1, 1944, 65—81.
60. Williamson J., Note on Hadamard's determinantal problem, Bull.
Amer. Math. Soc. B), 53, Л» 6, 1947, 608-613.
61. W о s e n с r a f t J. M., Reiffen В., Sequential decoding, Wiley,
New York—London, 1961. (Русский перевод: Возенкрафт Дж. М.
и Репффен В., Последовательное декодирование, М., ИЛ, 1963.^
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
Автомат декодирующий 223
— кодирующий 222
Автоморфизм графа 150
Алгоритм Квайна 86
— кольцевой 93
— локальный 83
— —, результативность 139
— построения всех тупиковых
Д. н. ф. 80
— тривиальный 68
Л-алгоритм 90
Алфавит 209
— переменных 9
Ассоциативность 17, 37
Казпс 34
— конечный 34
Барьер сети 167
— —, пропускная способность 167
— — простой 167
— — смешанный 168
—, пропускная способность
168
(X, У)-барьер 172
Блокирование 167
Буква 209
— несущественная 113
— существенная 113
Веер 201
re-веер при вершине 201
— — — замкнутый 202
Вектор, умножение на элемент 241
— характеристический подграфа
158
Векторы ортогональные 256
—, сумма 241
Величина потока 162
Вероятность ошибки кода 275
Вершина графа 150
— — висячая 150
— — изолированная 150
— — ховцевая 150
— — равновесная 158
Вершина графа разделяющая 173
176
— — соседняя 150
— —, степень 153
— куба Еп внутренняя 121
— — — граничная 121
— — — порождающая 135
— подграфа граничная 174
— — соприкосновения 174
— сети внутренняя 160
— — достижимая для цепи 185
— — разделяющая 176
Ветвь дерева 156
Вставка символа 243
Выпадение символа 243
Грань граничная 121
— допустимая 132
— максимальная 132
— ядровая 132
Граф 150
— бесконечный 150
— бихроиатчеснпй 195
— двудольный (двусторонний) 152
— конечный 150
— неориентированный 150
— пеплоский 151
— несепарабельный 177
— ориентированный 150
—, остов 157
— плоский 151
— полный 152
— правильно раскрашенный 195
— равновесный 158
—, реализация 151
— связный 155
— соотнесенный ориентированный
150
—, способы задания 151
— топологический 151
— циклически связный 177
— четный 158
— эйлеров 158
—, элементы 150
Графы изоморфные 150
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
307
Двойственность 20
—, принцип 20
—, свойство взаимности 20
Действие отрезка 113
Декодирование 244
— автоматное 223
—, достоверность 245
Дерево 156
—, ветвь 156
— кодовое 213
—, корень 156
— с занумерованными вершинами
188
Дизъюнктивная нормальная форма
(д. н. ф.) 68
— — —, длина 68
— — — Квайна III
— — — кратчайшая 68, 82
— — — —, длина 116, 140
— — — минимальная 68, 82
— — —, — относительно д. н. ф. 84
— — — пустая 68
— — —, реализующая частичную
функцию 82
— — — совершенная 22, 67
, длина 108, 135
— — — сокращенная 72, 82
, длина 108, 137
— — — типа (Jm 84
— — — — — относительно д. н. ф.
84
П м 84
— — — — — относительно д. н. ф.
85
U т 84
— — — — — относительно д. н. ф.
85
П т 84
— — — — — относительно д. н. ф.
85
— — — тупиковая 76, 83
— — — —, длина 117, 145
— — — — относительно д. н. ф. 84
Дизъюнкция 12
—, свойства 17
— тупиковая относительно
элементарной конъюнкции 127
Дистрибутивность 17, 38
Длина пути 153
— сети 174
— слова 209
Дополнение кода ортогональное 256
Достоверность декодирования 245
— кода 215
Дуга 150
— входящая 150
— исходящая 150
Дуга, конец 150
—, начало 150
Зависимость существенная 10
Задержка 220
— декодирующего автомата 223
Замещение символа 243
Замкнутость 24, 41
Замыкание 27, 41
Запись числа двоичная 210
— — — с помощью к цифр 210
Заполнение конечного множества 267
Звезда 153
— входная 160
— выходная 160
Значение числовое слова 242
Изоморфизм графов 150
— сетей 160
Импликация 12
Интервал 70
— допустимый 70, 82
— максимальный 71, 82
— r-го ранга 70
Инцидентность 150
Источник 225
Канал двоичный симметричный 244
Квадрат 48
Класс функций двойственный 28
— — замкнутый 27, 41
— — предлолныл (максимальный)
33
— хроматический 195
— частотный 236
Код 211
— асимптотически оптимальный 237
— Боуза—Чоудхури 277
— групповой (линейный) 146
—, дополнение ортогональное 256
— линейный размерности к 253
— Макдональда 260
— максимальный 246
— натурально упорядоченный 258
— оптимальный 226
— полный 214
— префиксный 212
— —, усечение 212
— разделимый 212
— сильно разделимый 216
— с исправлением одного
выпадения, вставки или замещения 252
— — — — — или вставки 251
— — — — замещения 248
308
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
Код с исправлением одной
арифметической ошибки 253
— — — — ошибки типа {0 -»• 1}
249
— — — s замещений 246
s ошибок заданного типа 246
—, стоимость 226
— Фано 227
— Хаффмена 229
— Хемминга 117, 248
— Шеннона 214, 227
— эквидистантный 264
(л, &)-код
Кодирование 207
— автоматное 222
— блоками 232
— — асимптотически оптимальное
232
— побуквенное 211
— слов в алфавите 211
— r-ичное множества слов 210
Коды эквивалентные 255
Коммутативность 17, 37
Компоненты несепарабельности 177
— разложения 22
— связности графа 155
— — функции 117
а-комповенты 194
Конец, дуги 150
— пути 153
— ребра 150
Константа 0 11
— 1 11
Контур 154
—, длина 154
— простой 154
— элементарный 154
Конъюнктивная нормальная форма
(к. н. ф.) совершенная 24
Конъюнкции ортогональные 79
Конъюнкция 11
— допустимая 70, 82
— пустая 68
—, ранг 68
—, свойства 17
— элементарная 68
Корень дерева 156
Кратность ошибки 243
— ребра 200
Куб n-мерный единичный Еп 69, 152
Линейность 27
Логика двузначная (алгебра логики)
35
— конечнозначная 35
— А-значная 35
Матрица Адамара 283
— ннцидевцни 151
— порождающая 256
— правильная 288
— проверочная 256
— соседства вершин 151
— универсальная 259
Матрицы, соединение 282
Метод Блейка 74
— Боуза—Чоудхурн 277
— заполнения 268
— наискорейшего спуска 81
— покрытия 268
— случайного выбора кода 293
— Фано 227
— Хаффмена 229
— Шеннона 214, 227
— эквидистантных кодов 264
Множество вершин первого типа
относительно (К, D) 90
— — регулярное относительно
(К, D) 87
— функций замкнутое 27, 41
— элементов сети блокирующее 167
Монотонность 30
Мостик 161
Мультиграф 200
Набор предшествующий 29
— противоположный 28
— соседний 30
— сравнимый 29
Наборы, стандартное расположение 9
Начало дуги 150
— пути 153
— слова 209
— — собственное 209
Неравенство Крафта—Макмиллана
214
— Чебышева 134
Норма вершины 110
Нормировка 49
— неполная 50
Окончание слова 209
— — собственное 209
Окрашивание вершины из другой
вершины по цепи 198
Окрестности 244
— максимальной достоверности 245
Окрестность конъюнкции в д. н. ф.
нулевого порядка 89
— — — — — — первого порядка
85
__ _ /с-го порядка 89
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
309
Окрестность метрическая 246
Операция бесповторной подстановки
функций 15
— перевертывания подсети 179
— подстановки переменных 15
— суперпозиции 13, 179
Определитель Вандермонда 63, 277
Ориентация 162
Остов графа 157
Отметка информационная 90
Отношение предшествования 29
Отождествление переменных 15
Отрезок слова ИЗ
— —, действие ИЗ
0-отрезок 113
1-отрезок 113
2-отрезок ИЗ
Отрицание 11
— Лукашевича 36
Отросток 174
Отсутствие цвета в вершине 200
Оценка Варшамова 208, 269
— Гильберта 208, 268
— Грайсмера 208, 262
— Плоткина 208, 264
— Хемминга 208, 268
— Шеннона 232
— Элайеса—Бассалыго 208, 270
Ошибка 242
— аддитивная 243
— арифметическая 243
—, кратность 243
— одиночная вида 0 -* 1 A -> 0)
243
0_>Д A-»А) 243
Л -* 0 (Л -> 1) 243
[-2* (—2'') 243
—, тип 243
—, — симметричный 246
Перебор 10
Переименование переменных 15
Перекраска цепи 201
Переменная существенная 10
— фиктивная (несущественная) 10
— —, введение 11
— —, удаление И
Переменные, отождествление 15
—, переименование 15
—, перестановка 15
Перестановка переменных 15
Перешеек 176
Петля 150
Поглощение 74, 77
—, критерий 77, 83
— произведения множителем 19
Подграф 152
—, натянутый на множество вершин
153
— пустой 158
Подграфы соприкасающиеся 174
Поддерево 156
Подмножество покрывающее 120
Подсеть (двухполюсная) 178
— максимальная 183
—, полюса 178
— сквозная 178
— тривиальная 178
Подстановка обобщенная 36
— переменных 15, 18
— сети вместо ребра 179
— формул 19
— функций бесповторная 15
Подстановки альтернативные 179
Подформула 12
—, замена 18
Позиция информационная 249
— проверочная 249
Покрытие конечного множества 70,
267
— — —, сложность 136
— неприводимое 76, 83
Поле Галуа 64, 278
Полином Жегалкина (по mod 2) 26
— —, единственность представления
функции 26
— по mod к 62
Полнота 24, 39
—, распознавание 42
Полюс подсети 178
— сети 160
— — входной 160
— — выходной 160
(к, /)-полюсник 160
Последовательность функций
асимптотическая 128
Поток 162
—, величина 162
— допустимый 168
— максимальной величины 163
Пояс 110
Представление модулярное кода 258
— сетей каноническое 181
— чисел в двоичной системе
счисления 210
Преобразование значений 50
— переменных 50
Произведение бесповторное 124
— логическое 12, 18
— скалярное 256
Пространство векторное 241
— метрическое 242
Протяженность связной функции 112
310
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
Путь 153
—, длина 153
—, конец 153
—, начало 153
— простой 154
— элементарный 154
Пучок кратных ребер 200
5-пучок в д. н. ф. 87
Разброс 126
Развертка 113
Разложение сети 181
— — каноническое 181
Ранг конъюнкции 68
Раскраска графа 195
Расстояние в графе 155
— кодовое 242, 246
— между вершинами куба Е" 96
— Хеммннга 241
Ребра графа кратные
(параллельные) 150
— — смежные 150
Ребро графа 150
— — ациклическое 155
— — висячее 150
— — концевое 150
— — неориентированное 150
— — ориентированное 150
— — разделяющее 176
— — циклическое 155
— сети внутреннее 160
— — источниковое 162
— — полюсное 160
— — сквозное 160
— — холостое 174
— сечения обратное 163
— — прямое 163
Самодвойственность 28
Свертывание подсети в ребро 179
Сеть 160
— двухполюсная 160
—, длина 174
— неразложимая 181
— параллельно-последовательная
A1-сеть) 161
—, полюса 160
— приведенная 164
—, разложение 181
— разложимая 181
— расширенная 162
— с занумерованными элементами
187
— сильно связная 174
—, ширина 174
163
Я-сеть 180
р-сеть 180
s-сеть 180
Сечение сети 163
— — минимальное 164
— —, пропускная способность
— — простое 163
Символ Лежандра 285
Символа вставка 243
— выпадение 243
— замещение 243
Система функций полная 24, 39
— — — в замкнутом классе 34
Склеивание 74
— неполное 74
— произведений 19
— обобщенное 19, 74
Скорость передачи 275
Следование логическое 12
— слова за словом 217
Слово 209
—, длина 209
—, начало 209
—, — собственное 209
—, окончание 209
—, — собственное 209
— пустое 209
Сложение логическое 12
— по mod 2 12
— re-разрядных двоичных чисел
Соединение матриц 282
— сетей параллельное 161
— — последовательное 161
— слов 209
Сообщение 211
Способность пропускная барьера 167
— — двоичного симметричного
канала 298
— — ребра 162
— — сечения 163
— — смешанного барьера 168
Степень вершины 153
Стоимость кода 226
Строение формулы 13
Сумма векторов 241
— логическая 12, 18
— по mod 2 12
Суперпозиция внешней и внутренней
сети 179
— тривиальная 180
— функций 13
Теорема Жегалкина 26
— Квайна 85
— Кузнецова 45
— Кэли 189
15
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
311
Теорема о разложении функции 21
— Поста 34, 35
— Саломаа 54
— Слупецкого 52
— Ферма малая 63
— Шеннона 203
— Янова 60
Точка регулярная 135
— — относительно (К, D) 87
Треугольник 196
Умножение вектора па элемент 241
— логическое 12, 18
Уровень куба Е" 110
Формула 12
— двойственная 20
—, реализация функция 13
—, строение 13 .М
Формулы эквивалентные^ 7
Функции, равенство 11
Функция алгебры логики (булева
функция) 9
— Вебба 41
— двойственная ia
— инциденции 150
— квазилинейная 58
—, компоненты связности 117
— линейная 27, 31, 116
, д. и. ф. 116
— монотонная 30
— не всюду определенная 81
— плотная 129
/.„ 129
ц, 130
— поясковая 111
— —, кратчайшая д. н. ф. 122
протяженность 112
разложение 21
— по всем п переменным 22
— по переменной 22
— по m переменным 21
самодвойственная 28
связная 112
симметрическая 111
, сохраняющая константу 0 28
Функция, сохраняющая константу
1 28
—, — множество функций 44
— существенная 46
— тождественная 11
— цепная 96
— циклическая 97
— частичная 82
— Шеффера 12
— й-значной логики 35
Хорда 157
Цепочка 160
Цепь 96, 153
— двухцветная 201
—, длина 112, 153
— максимальная 201
— простая 154
— элементарная 154
(X, У)-цепь 172
Цикл 96, 154
— гамильтонов ИЗ
—, длина 116, 154
— ориентированный 221
— простой 154
— эйлеров 158
— элементарный 154
Циркуляция 163
Число рабочее 111
— хроматическое 195
— цикломатическое 159
Шар 117
—, центр 117
Ширина сети 174
Эквивалентность формул 17
Элементы графа 150
Ядро д. н. ф. 85
Сергей Всеволодович Яблонский
Юрий Иванович Журавлев
Юрий Леонидович Васильев
Валерий Владимирович Глаголев
Феликс Яковлевич Ветухновский
Владимир Иосифович Лееенштейн
ДИСКРЕТНАЯ МАТЕМАТИКА
И МАТЕМАТИЧЕСКИЕ ВОПРОСЫ КИБЕРНЕТИКИ
Том I
М., 1974 г., 312 стр. с илл.
Редактор В. М. Храпченко
Технический редактор В. И. Кондакова
Корректоры Е. А. Белицкая, Я. Д. Дорохова
Сдано в набор 6/V 1974 г.
Подписано к печати 8/XII 1974 г. Бумага 60x907,».
Физ. печ. л. 19,5. Условн. печ. л. 19,5. Уч.-изд. л. 18,9.
Тираж 15000 экз. Т-18698. Цена книги 1 р. 43 к.
Заказ J* 1182.
Издательство «Наука»
Главная редакция физико-математической литературы
117071, Москва, В-71, Ленинский проспект, 15
1-я тип. издательства «Наука»
199034, Ленинград, В-34, 9 линия, д. 12