Текст
                    Яблонский С. В.
Введение
в дискретную математику
М.: Наука, 1986, 384 с.
777

БЬК 22.18 ЯП УДК 519.6(075.8) Яблонский С. В. Введение в дискретную математику: Учеб, пособие для вузов.— 2-е изд., пе рераб. и до о.— М.: Наука. Гл. ред. физ.-мат. лит.— 384 с. Книга является введением в дискретную математику — раздел прикладной математики, бурно развивающийся в последние годы и являющийся базой для математической кибернетики. Она напи- сана на основе курса лекций, читавшегося автором в течение ряда лет на факультете вычислительной математики и кибернетики Московского государственного университета. Предназначается студентам факультетов прикладной матема- тики, аспирантам, а также инженерам и специалистам, работаю- щим в области прикладной математики. Первое издание вышло в 1979 г. Табл. 54. Ил. 173. Библиогр. 50 назв. Сергей Всеволодович Яблонский ВВЕДЕНИЕ В ДИСКРЕТНУЮ МАТЕМАТИКУ Редактор В. М. Храпченко Художественный редактор Т. Н. Колъченко Технический редактор Л. В. Лихачева Корректор М. Л. Медведская ИВ М 12366 Сдано в набор 18.02.86. Подписано н печати 11.00.86. Фор- мат 84Х108’/г2- Бумага тип. № 2. Гарнитура обыкновенная. Печать высокая. Усл. печ. л. 20,16. Усл. кр.-отт. 20,16. Уч.- изд. л. 19,76. Тираж 22 000 экз. Заказ М 61. Цена 95 нои. Ордена Трудового Красного Знамени издательство «Наука» Главная редакция физико-математической литературы 117071 Москва 13-71, Ленинский проспект, 15 4-я типография издательства «Наука•> 630077 г. Новосибирск, 77, Станиславского, 25 я 1702070000—157 053(02)-86 66-86 ©Издательство «Наука», Главная редакция физи ко-математичес кой литературы. 1979; С изменениями, 1986
ОГЛАВЛЕНИЕ Предисловие...........................................* 6 ЧАСТЬ I ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ Глава 1. Алгебра логики..............................< 9 § 1. Функции алгебры логики.......................... 9 § 2. Формулы. Реализация функций формулами ... 14 § 3. Эквивалентность форм^уСвойства элементарных функций. Принцип двойс^еД^ести........................20 § 4. Разложение булевых фуннт^й?1р\ переменным. Со- вершенная дизъюнктивная'’^ЦрмАл^ая форма , 25 § 5. Полнота и замкнутость . 'Ач \ .... 30 § 6. Важнейшие замкнутые классы.'Теорема о полноте 33 § 7. Представление о результатах Постач\\ \ ... 42 Глава 2. fc-значная логика .... • /С.-'" Л . 43 § 1. Функции fc-эначной логики. Формулы и реализация функций формулами..........................\. . 43 § 2. Примеры полных систем . .... ^8 § 3. Распознавание полноты. Теорема о полноте . 51 § 4. Некоторые свойства существенных функций. Крите- рий полноты...........................................56 § 5. Особенности Л-значных логик ....................65 Глава 3. Ограниченно-детерминированные (автоматные) функции с операциями...............................73 § 1. Детерминированные функции.....................73 § 2. Задание детерминированных функций при помощи деревьев. Вес дерева . ..................• . 78 § 3. Ограниченно-детерминированные функции и спосо- бы их задания.......................................86 § 4. Операции над о.-д. функциями..................91 § 5. Примеры полных систем........................105 § 6. О соотношении операций С и О . ... . . . 110
4 ОГЛАВЛЕНИЕ Глава 4. Вычислимые функции.......................113 § 1. Машины Тьюринга..........................113 § 2. Одни метод построения машин Тьюринга . . . 121 § 3. Машинные коды и их преобразования . . . . 129 . § 4. Вычислимые функции......................143 § 5. Операции С, Пр и ji......................146 § 6. Вычислимые функции и операции С, Пр, ц . . 151 § 7. Формула Клини. Частичная рекурсивность вычисли- мых функций. Примеры полных систем .... 162 ЧАСТЬ II КОМБИНАТОРНЫЙ АНАЛИЗ § 1. Комбинаторные объекты и комбинаторные числа . 171 § 2. Простейшие свойства комбинаторных объектов и чисел...........................................173 § 3. Методы изучения комбинаторных объектов и чисел 188 § 4. Оценки и асимптотики для комбинаторных чисел 202 ЧАСТЬ III ГРАФЫ И СЕТИ Глава 1. Графы.........................................222 § 1. Реализация в евклидовом пространстве. Изоморфизм 222 § 2. Оценка числа графов...........................226 Глава 2. Сети .............................................227 § 1. Сети и их свойства............................227 § 2. Оценка числа сетей............................232 § 3. Двухполюсные сети из двухобъектных наборов . 237 § 4. я-сети........................................253 ЧАСТЬ IV ТЕОРИЯ КОДИРОВАНИЯ § 1. Критерий однозначности декодирования , , , 260 § 2. Алгоритм распознавания однозначности декодиро- 268 вания..................................... § 3. Об одном свойстве взаимно однозначных кодов , 272 § 4. Коды с минимальной избыточностью ..... 276 § 5. Самокорректирующиеся коды.........................288
ОГЛАВЛЕНИЕ 5 ЧАСТЬ V НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ Глава 1. Дизъюнктивные нормальные формы . , * 297 § 1. Понятие д. н. ф. Проблема минимизации булевых Функций..........................................297 § 2. Упрощение д. и. ф. и тупиковые д, н. ф. (относи- тельно упрощения)................................300 § 3, Постановка задачи в геометрической форме . . 307 § 4. Сокращенная д. н. ф...................... . 312 § 5. Тупиковость на основе геометрических представле- ний. Методы построения тупиковых д. и. ф. . . 316 § 6. Некоторые однозначно получаемые д. н. ф. . . 324 § 7. Понятие локального алгоритма.................331 Глава 2. Синтез схем из функциональных элементов . , 336 § 1. Понятие схемы из функциональных элементов , 336 § 2, Проблема синтеза схем из Ф. Э................345 § 3. Элементарные методы синтеза..................351 § 4. Нижняя оценка для L(n).......................355 § 5. Оптимальный по порядку метод синтеза схем из Ф. Э. (метод Шеннона)...........................357 § 6. Асимптотически наилучший метод синтеза схем из Ф. Э. (метод Лупанова) ........ 361 § 7. Синтез сумматора.............................364 § 8. Синтез схем из Ф. Э,, реализующих симметрические функции.........................................366 Список литературы....................................370 Предметный указатель.................................373 Указатель обозначений ............................. 381
ПРЕДИСЛОВИЕ Дискретная математика — часть математики, которая зародилась в глубокой древности. Как говорит само за- главие, главной ее спецификой является дискретность, т. е. антипод непрерывности. В широком смысле дискрет- ная математика включает в себя и такие сложившиеся разделы математики, как теория чисел, алгебра, матема- тическая логика и ряд разделов, которые наиболее интен- сивно стали развиваться в середине этого века в связи с внедрением ЭВМ. Научно-технический прогресс поста- вил проблему изучения сложных управляющих систем. В узком смысле дискретная математика ограничивается только этими новыми разделами. Именно так это пони- мается и в данной книге. К упомянутым новым раз- делам мы относим: теорию функциональных систем; теорию графов и сетей; теорию кодирования; комбина- торный анализ; целочисленное программирование и т. п. Дискретная математика сегодня является не только фундаментом математической кибернетики, но и важным звеном математического образования. Книга содержит материал, соответствующий двум типам программ курса «Дискретная математика»: стандартной программе для факультетов прикладной математики и кибернетики большинства университетов и программе соответствую- щего курса, читаемого в МГУ. Эти программы не ставят целью дать большое количество материала фактического и имеющего спрос в данное время. Чрезмерная детали- зация и привязывание программы к специальным фактам опасны тем, что лет через 10—15 (а это как раз время активной деятельности обучаемых сейчас студентов) по- явятся новые факты, а старые частично утратят свою значимость. Ввиду этого главная задача курса — это обу- чение методам и мышлению, характерным для дискрет- ной математики. Материал, вошедший в эту книгу, зна- комит читателя с узловыми задачами из нескольких раз-
ПРЕДИСЛОВИЕ 7 делов дискретной математики и ее приложений. Он по- добран таким образом, чтобы сократить число необходи- мых понятий до минимума и, с другой стороны, дать небольшое количество (10—15) серьезных теорем с не- похожими доказательствами, а также познакомить с при- менениями понятия алгоритма, владение которым осо- бенно важно для специалистов в области прикладной математики. Б основу данной книги положен курс, который впер- вые был прочитан автором на механико-математическом факультете МГУ в 1961 г. Книга состоит из пяти частей. I часть. Функциональные системы с операциями. II 'часть. Комбинаторный анализ. III часть. Графы и сети. IV часть. Теория кодирования. V часть. Некоторые приложения к кибернетике. Таким образом, содержание книги охватывает почти все основные разделы дискретной матетиатики. При ее написании автору пришлось усовершенствовать целый ряд доказательств, в ряде случаев дать новые доказа- тельства, которые публикуются здесь впервые. Изложение многих вопросов из перечисленных раз- делов не всегда ведется па абстрактной основе: здесь широко используется геометрический язык и содержа- тельные интерпретации. Это позволяет сочетать в по- строениях наглядность и известную строгость. Надо иметь в виду, что в математических статьях существуют две крайности: пренебрежение строгостью изложения и доведение строгости до абсурда. Обе указанные тенден- ции одинаково опасны. Строгость изложения должна со- ответствовать рассматриваемой задаче (и уровню ауди- тории), подобно тому как в приближенных вычислениях число значащих цифр получаемых результатов должно соответствовать точности исходных данных. Слишком «большой» запас строгости в этом смысле подобен вы- числениям со значительным числом дополнительных раз- рядов. Данная книга рассчитана па студентов, аспирантов и научных сотрудников. При пользовании материалом, изложенным в книге, надо иметь в виду, что содержание частей I, III, IV со- ответствует программе курса «Введение в дискретную ма- тематику» для студентов МГУ. Для изучения дискретной
8 ПРЕДИСЛОВИИ математики по типовой программе факультетов приклад- ной математики университетов части It III, IV следу- ет брать в сокращенном варианте, но к ним добавля- ется часть V. Эти сокращения состоят примерно в сле- дующем: исключается гл. 2 (часть I), кроме § 1; в гл. 3 (часть I) опускается материал до канонических уравне- ний; в гл. 4 (часть I) исключается последний параграф; в гл. 2 (часть III) опускается теорема о числе сетей. Некоторый вспомогательный материал можно найти в части II. Второе издание книги отличается от первого наличи- ем дополнительной части по комбинаторному анализу, некоторой переработкой остальных частей и устранением всех аамеченных погрешностей. В этой работе автору помогли замечания многих математиков, которым автор весьма признателен. Особую благодарность автор выра- жает редакторам первого и второго изданий Е. П. Ли- патову и В. М. Храпченко, проделавшим большую ра- боту по улучшению изложения материала. С. В, Яблонский
ЧАСТЬ I ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ Теория функциональных систем занимается изучени- ем функций, описывающих работу дискретных преобра- зователей. Здесь рассматриваются важнейшие классы функций: булевы функции, функции А-значной логики, автоматные (о.-д.) функции и вычислимые функции. С каждым из этих классов естественным образом связы- ваются операции, позволяющие из одних функций дан- ного класса строить другие функции этого же класса. Такими операциями являются операция суперпозиции, операция обратной связи, операция примитивной рекур- сии и ц-операция. В результате этого мы приходим к функциональным системам с операциями — некоторым классам алгебр. Данные объекты в книге расположены так, что каждый последующий объект является «расши- рением» предыдущего. Это позволяет переносить резуль- таты с простых систем на более сложные. При этом об- ращается внимание на аналогии и на существенные раз- личия. Роль теории функциональных систем в дискретной математике можно сравнить с ролью математического анализа в непрерывной математике. Глава 1 АЛГЕБРА ЛОГИКИ § 1. Функции алгебры логики Пусть U »== {щ, «2i • •— исходный алфавит переменных (аргументов). Будем рассматривать функ- ции .... щп) (uiv^ при v ц), аргумен- ты которых определены на множестве Е2 =* {0, 1), и та- кие, что /(«!, ссг, ..., а„) е Е2, когда а( s Ег (г =* 1, 2, ... ..., п). Эти функции будем называть функциями алгеб- ры логики или булевыми функциями. Чтобы избежать
tn 4 I ФУ IU>ПИОН VII.ПЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ ( iiMdihix (юо.шнчрнпп дли индексов переменных, мы бу- дем .viKiipeA.'um. и качестве метаобозначений (обозначе- ний дли произволиных символов алфавита U) символы .г, у, s...и также эти символы с индексами. Таким "браном, запись /(хь х2, ..хп} понимается как запись функции, зависящей от произвольных фиксированных аргументов ..., где при v у. Таблица 1 «1- хп~ 1 хп 7(^1,.. •» ХП-1’ 2^7! ) 0 . . 0 0 /(0,.. ., 0, 0) 0- . .. 0 1 /(0, .. 0, 1) 0 . . 1 0 /(0, .. 0) 1 . .. 1 1 /(1, .. 1, 1) Из определения функции /(zt, х2, ..., хп) следует, Mio для ее задания достаточно указать, какое значение функции соответствует каждому из наборов значений a pi у mb II топ, т. е. выписать таблицу (см. табл. 1). Легко ннцнтъ, что п переменных принимают 2П различных зна- чений. Для удобства мы употребляем стандартное рас- iio.iiiMwilJW наборов: если набор рассматривать как за- щип* числа в двоичном исчислении, то расположение на- flupon соответствует естественному порядку следования чмгвл О, 1, ..., 2” — 1. Далее мы видим, что каждая функ- ции /(хj, Хи, ..., хл) определяет отображение е2 х е2 х ... х е2^е2. п раз Поэтому естественно интерпретировать символ / как сим- вол, обозначающий это отображение, а х2,________, хп — как названия столбцов. В этом случае функции /(хъ xSt ..xft), /(уъ уz, -.., уп) будут задавать одно и то же отображение, и их таблицы будут отличаться только, быть может, названиями столб- цов. Обозначим через Р2 систему всех функций алгебры логики над алфавитом £7, содержащую также констан- ты 0 и 1. Если зафиксировать п переменных х2, ..., хп, то различные таблицы будут отличаться лишь значениями
ГЛ. I. АЛГЕБРА ЛОГИКИ Ц правого столбца. Поэтому справедливо следующее ут- верждение. Теорема 1. Число р?.(п) всех функций из Р2, за- висящих от п переменных хи хг, ..хп, равно 22"- Здесь следует обратить внимание на два обстоятель- ства. 1. Число функций алгебры логики, зависящих от за- данных п аргументов, конечно. Поэтому, если нужно вы- яснить, обладают ли функции из этого конечного мно- жества каким-либо свойством, достаточно осуществить просмотр (или, как говорят, «перебор») функций из дан- ного множества. Однако числа р2(п) с ростом п быстро растут: рг(1) = 4, р3(2)= 16, ра(3)=256, р2(4)= 65536, ... Следовательно, уже при сравнительно небольших зна- чениях п (п > 6) перебор становится практически не- возможным даже с использованием вычислительной тех- ники. 2. С ростом числа аргументов таблица, задающая функцию, сильно усложняется. Так, например, уже при не очень большом числе аргументов, скажем при п ~ 10, таблица становится громоздкой (имеет 1024 строки), а при и = 20 — практически необозримой. Введенное выше понятие функции несовершенно, по- скольку оно не позволяет рассматривать функции от меньшего числа аргументов как функции от большего числа аргументов. Для устранения этого недостатка вве- дем следующее определение. Определение. Функция .. ., Xi-t, xt, xi+i, ... ..., xn) из Рг зависит существенным образом от аргумен- та ж,, если существуют такие значения аъ ..., сс,—i, аН1, ..., ап переменных xlt ..., х,-1, ..., х„, что / (аь ..., аг-ь 0, cci+1, ..., aK) ¥= /(at, ..., cii-i, 1, ctt+1, ..., C4n). В этом случае переменная х; называется существенной. Если Xi не является существенной переменной, то она называется несущественной или (фиктивной. Пусть для функции /(zt, ..., х„) переменяя Xi явля- ется фиктивной. Возьмем таблицу для функции /(.гъ ,.. ..., .тп) и по ней построим новую таблицу путем вы-
черкивания всех строк вида 1, ai+l, ..ап) и вычеркивания столбца для аргумента Полученная таблица будет определять некоторую функцию g{xt_, ... ..., rti-i, xi+lt ..хп). Будем говорить, что функция g(xt, я^м, ..х„) получена из f(xit ..хп) путем удаления фиктивной переменной xif а также, что функция /(Xi, .. ., хп) получается из g(#i, ..aj-i, £<+1, ..хп) путем введения фиктивной переменной xit Определение. Функции Д и /2 называются рав- ными, если функцию /2 можно получить из fi путем до- бавления и изъятия фиктивных аргументов. В дальнейшем всюду функции рассматриваются с точностью до фиктивных переменных, т. е. мы считаем, что если задана функция Д, то задана и любая равная ей функция /2. Это накладывает некоторые естественные ограничения на классы функций, которые будут здесь рассматриваться. В частности, класс функций, облада- ющих определенными свойствами, будет рассматриваться только в том случае, если эти свойства инвариантны от- носительно операций введения и удаления фиктивных переменных. Существуют два типа функций, которые не имеют существенных переменных: функции первого типа тож- дественно равны 0, а второго — 1. Ввиду этого целесо- образно включить в наши рассмотрения константы 0 и 1 (рассматривая их как функции от пустого множества переменных). Для иллюстрации сказанного рассмотрим два класса симметрических функций. Определение. Булева функция f(xit ..., хп) на- зывается симметрической относительно переменных Xi, ..., xk (2С/г^л), если для любой подстановки / 1 ... к \ Vi Д J Емеет место равенство 70ч, ..xh, Xk+i, . -хп) = Xjk, xk+u .. ,,xn). Аналогично вводится понятие функции, симметрической относительно произвольных переменных йЦр .. Очевидно, что функции, тождественно равные кон- стантам 0 и 1, являются симметрическими относительно любой совокупности своих переменных. П ример 1. а) Класс функций, симметрических от- носительно всех своих переменных, Это свойство не яв-
ГЛ. 1. АЛГЕБРА ЛОГИКИ 13 ляется инвариантным относительно операции введения несущественной переменной, так цак любая функция, отличная от константы и обладающая этим свойством, существенно зависит от всех своих переменных (зависи- мость хотя бы от одной переменной следует из того, что функция принимает оба значения 0 и 1, а зависимость от всех переменных — из симметрии). Такие классы даль- ше рассматриваться не будут. б) Класс функций, симметрических относительно всех своих существенных переменных. Это свойство, очевид- но, является инвариантным относительно операций вве- дения и удаления несущественных переменных. Такой класс может рассматриваться. Замечание. Если дана конечная система функций из Pz: {fi, ..., /,}, s > 1, то можно считать, что все эти функции зависят от одних и тех же переменных ... ..., хп, т. е. имеют вид fl (^1, • • •> • ч ft (*^1, • • ^п) С другой стороны, если дана функция, отличная от константы, то путем отождествления переменных из нее можно получить равную ей функцию, все переменные которой являются существенными. В заключение этого параграфа рассмотрим- примеры функций алгебры логики. Данные функции часто упот- ребляются в математической логике и кибернетике и иг- рают такую же роль, как, например, хп или sin я в ана- лизе, поэтому их можно считать «элементарными»: 1) Л(я) = 0 — константа 0; 2) 1 — константа 1; 3) Ш = х — тождественная функция; 4) А(^) = ^ — отрицание х {х читается «не ж»); 5) /5(^i, ^2) = &£г)—конъюнкция Xi и хг (чита- ется «лд и Вместо знака & употребляется знак - пли вообще знак опускается, т. е. пишут (х&г). Эту функцию часто называют логическим умножением; 6) fe(Xi, х2) = (а\ V х2) —дизъюнкция Xi и х2 (чита- ется «xt или х2»). Эту функцию часто называют логиче- ским, сложением; 7) fl (^11 #г) = ** Я’г) — импликация Xi и Ха (чита- ется «из зд следует х2»). Эту функцию часто называют логическим следованием; 8) ж2) = (х1+х2)—сложение х, и х2 по mod 2; 9) /з (^i, хг) = (лд/.гД — функция П1еф>фера.
14 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ Таблица 3 *1 ^2 (хх&х2) («1+^2) (Zj/Z2) 0 0 0 0 1 0 4 0 1 0 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 В таблицах 2, 3 даются значения этих функций. За- метим, что (^i & я2) = minfo, х2)=(х1 х2), (xi Vr2) = max(xlt хг). § 2. Формулы. Реализация функций формулами Как и в элементарной алгебре, исходя из «элементар- ных» функций, можно строить формулы. Ниже приво- дится индуктивное определение формул. Определение. Пусть $ — некоторое (пе обяза- тельно конечное) подмножество функций из Р2. а) Базис индукции. Каждая функция f(xt, ... .... жт) из $ называется формулой над ф. б) И ндуктивный переход. Пусть /0(жъ ... ..., хт) — функция из ф и Л1} ..., — выражения, яв- ляющиеся либо формулами над либо символами иере- менных из U. Тогда выражение Лт) называет- ся формулой над Пример 1. Пусть $ — множество «элементарных» функций. Следующие выражения являются формулами над 1) {[(^2) + хЛ + х21; 2) [xt(xg + x8)J:________ 3) {xt V [(х2 -> х8) ^?)р.
ГЛ. 1. ЛЛГЕЕРА ЛОГИКИ 15 В дальнейшем будем обозначать формулы заглавны- ми готическими буквами с квадратными скобками, в ко- торых перечисляются функции, необходимые для их по- строения. Так игл.../.] означает, что формула §1 построена из /lt ..В тех случаях, когда нужно обратить внимание на множество тех переменных, которые участвуют в построении фор- мулы, пишут 51 (й 1, . . 3?п) . Пусть 51 — произвольная формула над ЦЗ, тогда фор- мулы, которые использовались для ее построения, будем называть подформулами формулы Пусть формула 51 является формулой над множеством Ф = {Ш, ..., Ха), ..., Яп)}, т. е. И = 51[/1, ... ..., /s]. Возьмем множество функций С = {gi (хь ga (хи ..., zn)}, где gi имеет те же переменные, что и /< (i = 1, ..., s). Определение. Рассмотрим формулу В— 53^, ... 1 or //1 • * * fs \ • • •» которая получается из 51 путем замены! I, .Si- • • gs Говорят, что формула §3 имеет то же строение, что и формула 51. Пример 2. 1) $={Xi, (Xi&X2)}, 51 = [.Ti &(Я2&_£з)]; 2) £i = {xi, (^->1,)},^ = [.i, ^(x2^z3)]. Очевидно, что 51 и 53 имеют одинаковое строение. В дальнейшем строение формулы обозначается через С (с индексами или без них), и формула 51 однозначно определяется строением С и упорядоченной совокуп- ностью {/1, /2, . . /Л Поэтому МОЖНО ПИСЭТЬ 51 « “С[Л, А.../Л Сопоставим теперь каждой формула ..., xrt) над $ функцию i{Xi, ..яп) из Рг, опираясь на индук- тивное определение формул. а) Базис индукции. Если 5( (жь ...та) =/(z,,... ..., хп), где / <= $, то формуде 51 (х,, ..хп) сопоставим функцию /(х15 ..хп).
16 ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ б) Индуктивный переход. Пусть ... ..хп)=/0(Л1, ...» Am), где At (i —1, ..., т) является либо формулой пад либо символом переменной xiity. Тогда по предположению индукции At сопоставлена либо функция из Р2, либо тождественная функция fi — x^. Сопоставим формуле $1 хп) функцию 1(х^ ... * •» ^п) = /о (/1, • - ч /<п) • Если функция / соответствует формуле 21, то говорят также, что формула 51 реализует функцию /. Поскольку функции рассматриваются с точностью до фиктивных переменных, мы считаем, что формула 21 реализует и любую функцию, равную /. Замечание 1. Если функция /(xi, ..., хп), реа- лизуемая формулой 2((xi, ..хп}, имеет несущественную переменную х{, то при п > 1 переменную можно уда- лить, заменив функцию / равной ей функцией а фор- мулу 51 — формулой 51', получающейся из 51 в результате отождествления переменной xt с любой из оставшихся переменных. Очевидно, что 21' является формулой над SP и реализует функцию /'. Функцию /, соответствующую формуле 21, будем на- зывать суперпозицией функций из $Р, а процесс получе- ния функции / из $ будем называть операцией супер- позиции. Пример 3. Пусть /Дхц ат2), /г(жи х2, хЛ} и хг, хъ) — функции, соответствующие формулам из при- мера 1. 1) Формула (((XiXs)+ £t)+ хг} строится за три шага. Мы имеем следующие подформулы: (^1^2), ((Х1Хг) + Xi), (4(^1Х2) + Xi) + Хг). В табл. 4 приводятся соответствующие им функции, ко- торые вычисляются с использованием табл. 3 и прави- ла б). Последний столбец определяет функцию А(ач, х2); очевидно, что fi(xlt х2) = тах^, ^2). Таблица 4 хг (XjXj) ((xxx,)4-xj (((XiXil+XiHXa) 0 0 0 0 0 0 1 0 0 1 1 0 0 1 1 1 1 1 0 1
ГЛ. 1. АЛГЕБРА ЛОГИКИ 17 2) Функцию /2(xlf х2, х3) мы будем строить несколь- ко иным путем (также вытекающим из определения). Для каждого набора (Оц о2, о3), используя табл. 2 и 3, найдем ог> o3) = (ot(o2 + oa)) (см. табл. 5). 3) Для нахождения функции /3(хи х* х3) будем» опираясь на табл. 2 и 3, искать те наборы, на которых формула lx* V [(х2-> х3) (х3 -* х2)]} обращается в 1. Очевидно, что это равносильно нахожде- нию случаев, при которых формула {Xi V [ (ха -* х3) (х8 -* х2)]} равна 0. Последнее имеет место при хл = 0 и в тех слу- чаях, когда [(х2 хэ) (ха -* х2)] обращается в 0. Нако- нец, формула [(х2 -> х8) (ха -* хг)] обращается в 0, когда по крайней мере одна из формул (х2->х3), (х3->х2) обращается в 0, что имеет место при х2 = 1, х3 = 0 или нри х2 = 0, ха = 1. Таким образом, f3(xi, хг, х3) равна 1 на наборах (0,0,1) и (0,1,0) (см. табл. 5). Замечание 2. Пункт б) в определении формул можно заменить на пункт, использующий две более про- стые операции. 1) Операция подстановки переменных. Пусть $__ (Х1 • • • \ • t I Xin/ 2 С. В. яалонский f 1Чб7110ТЕКА чду]
18 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ — подстановка переменных не обязана отличаться от при v ¥= р). Эта подстановка позволяет произве- сти подстановку переменных у функции /(хъ ..хп) и получить в результате функцию ••*а:гп). Оче- видно, подстановка переменных включает в себя пере- именование переменных, перестановку переменных и отождествление переменных. 2) Операция бесповторной подстановки функций. Она позволяет строить выражения /(Лъ ..Am)t где А{ — либо формула, либо переменная из О, причем хотя бы одно из Ai отлично от переменной, а множества пере- менных, входящих в Ai и А;, не пересекаются. Очевидно, что всякая формула над $ может быть получена из функций, принадлежащих путем при- менения сначала операции бесповторной подстановки функций (многократной), а затем операции подстановки переменных (причем однократной). Замечание 3. Если $ содержит тождественную функцию, то формулировка пункта б) в определении формул и функций, реализуемых формулами, упрощает- ся: нужно предполагать, что все At являются формула- ми над Введенный нами язык формул удобен для записи функций алгебры логики, описывающих различные ус- ловия или высказывания. Для иллюстрации рассмотрим два примера. В них используются высказывания вида «имеет место х» или просто «х», а это в свою очередь означает, что при данных условиях х истинно или равно 1. Пример 4. Сложение п-разрядных двоичных чисел. Мы исходим из обычного алгоритма сложения «стол- биком» хп • • Х2Х1 + Zn+lZrr • * Z2Z1 ’ Требуется выразить значения разрядов суммы через значения разрядов слагаемых. Для решения этого вопро- са рассматривают вспомогательные величины wn-h_______ ..., iPi, где Wi обозначает результат переноса из i-ro раз- ряда в (£ + 1)-й разряд. Эти параметры появляются в упомянутом алгоритме.
ГЛ. 1. АЛГЕБРА ЛОГИКИ <9 Ясно, что тогда Zi=((Xt + yt) + tPi-0 (и?о = 0, xn+i = yn+i “ 0, 1= 1, ..1). Величина u?f определяется условием переноса из j-ro разряда в (i+l)-ii разряд: «перенос в (г+1)-й разряд имеет место тогда и только тогда, когда по крайней мере две из трех величии xi} у с, равны 1». Это вы- сказывание более подробно можно сформулировать так: «.т( и ус» или «х( и Wt-i» или «г/i и Если теперь заменить союзы «и» и «или» симво- лами & п V, то получим следующую формулу для =» {[ (х{ & у() V (х( & ] V (ус & u'i-t)}, (г = 1, ..., п). Пример 5. Задача о вызове свободного лифта. Пусть в подъезде имеется три лифта, обслуживающих п этажей. На каждом этаже имеется устройство, которое позволяет при нажатии кнопки вызывать ближайший свободный лифт. Спрашивается, как можно на логиче- ском языке записать условие вызова г-го лифта (г = 1, 2, 3)? Мы рассмотрим эту задачу для случая вызова лифта на первом этаже. Для описания исходной информации введем 3« ар- гументов #1, Уи 21, Ха, у2> Za, . . Хп, уп, 2п, где 1 тогда и только тогда, когда 1-й лифт нахо- дится на t-м этаже и свободен; yt — 1 тогда и только тог- да, когда 2-й лифт находится на t-м этаже и свободен; Zj = 1 тогда и только тогда, когда 3-й лифт находится на i-м этаже и свободен. Обозначим через А(^1, У и 21( ,.., хп, уп, zn),..., J/i, 2it ..., хп, уп, zn) функции, равные 1 тогда и только тогда, когда вызыва- ется лифт с номером соответственно 1, 2, 3. Условие вызова 1-го лифта, или функция Д, характеризуется тем, что «1-й лифт свободен и нет свободных лифтов, расположенных на более низком этаже, чем 1-й лифт». Это высказывание можно выразить подробнее следую- щим образом: «1-й лифт вызывается тогда и только тог- да, когда 1-й лифт находится па 1-м этаже и свободен или на 1-м этаже нет свободных лифтов с номерами 2 и 3, и в этом случае 1-й лифт находится на 2-м этаже 2*
20 ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ и свободен, или на 2-м этаже нет свободных лифтов с номерами 2 и 3 и здесь, в свою очередь...» Запишем это высказывание через высказывания ylt zit ... .,xn, уп, z„: «1-й лифт вызывается тогда и только тогда, когда или когда «не у, и не гр), и в этом случае или «не у г и не г2» и здесь, в свою очередь...». Теперь нетрудно получить формулу для /ъ если заме- нить союзы «и» и «или» на & и V, частицу «не» на ~ и расставить скобки в соответствии с соединительными словами: А У1, «ь .. •* яп, у», zn) = = Ui V {(yi &Zt)& [д?2 V [(j/2 & г2)&(...)]]}}. Аналогичные формулы получаются для функций /п и /га: Уь *i* • • •* яп, Уп, sn) = = {yt V Uj & 21)& [ya V [(x2& Zz)&(...)]]}}, /in (*^i* J/i* ..., xnf yn, zn) = {zt V {Ji &yr)&[z2 V [(a2&y2)&(...)]]}}. Таким образом, язык формул представляет известный интерес. § 3. Эквивалентность формул. Свойства элементарных функций. Принцип двойственности Мы видели, что каждой формуле над 5JJ соответствует функция алгебры логики, причем различным формулам могут соответствовать равные функции (см., в частно- сти, пример 6). Определение. Формулы §1 и Э над $ называют- ся эквивалентными, если соответствующие им функции /й и /д равны, т. е. /а = /а- Запись 21 = S3 будет озна- чать, что формулы St и S& эквивалентны. Пример 6. 1) 0=(^&х), _______________________ 2) (Х1(а:гЧ- Хз))= V[(#a^rr3) (z3-> я2)]}, 3) (я-* У) = (У “*«) Приведем список эквивалентностей (тождеств), ха- рактеризующих свойства некоторого множества элемен- тарных функций (главным образом множества {’0, 1, ж, (Zi&Xz), (^i V
ГЛ, 1, АЛГЕБРА ЛОГИКИ 21 Обозначим через (цвт2) любую из функций (^i&x2), (х( V х2), (Xi + x2). Существенно только, чтобы символ ° в тождестве всюду имел один и тот же смысл. 1) Функция обладает свойством ассоциатив- ности: ( (-^ ° Ха) ° Х3) = (xt * (х, ° xs)) . 2. Функция (zi0 хг) обладает свойством коммутатив- ности: (я, <>хг) = (х2 ° Xi). 3. Для конъюнкции ц дизъюнкции выполняются ди- стрибутивные законы: ((я, V х2)&х3) = ((т, &x8)V(х2&х3)), ((Xi & z2) V x3) = ((л?! V хл) & (Х2У Хз)) • 4. Имеют место следующие соотношения между отри- цанием, конъюнкцией и дизъюнкцией: Я = X, (Xi & Х2) = (Xi V З7,), (.Xi V Xz) = (xt &Х2). 5. Выполняются следующие свойства конъюнкции и дизъюнкции: (х & х) = х, (х V х) = xt (х&х)—®, (xVx)=l, (я&0)=0, (xV0) = z, (х&1) = х, (х Vl)=l. Тождества легко могут быть проверены путем сопо- ставления функций, соответствующих правой и левой частям тождеств. Замечания. 1. С целью упрощения записи фор- мул мы условимся, что операция & сильнее операции V, т. е. если нет скобок, то сначала выполняется операция &, а потом V. Например, запись (ж, & xt V х3) означает ((xt & xz) V Л’в) . 2. В силу закона ассоциативности для (ж, • xt) можно вместо формул ((х, ° х2) ° х2), (xt ° (х2 °х3)) пользоваться выражением (лд ° х2 ° х3), которое не является формулой, но может быть превращено в нее путем расстановки скобок, причем функциональные свойства не меняются, как бы мы ни расставляли скобки. 3. В формулах, у которых внешняя функция являет- ся либо конъюнкцией, либо дизъюнкцией, либо сложе-
22 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ нием по mod 2, либо импликацией, либо функцией Шеф- фера, внешние скобки опускаются, например, пишем Xi х2 вместо (xt х2); опускаются также скобки у вы- ражения, над которым стоит знак например, пишем Xi -* х2 вместо (л х2). В дальнейшем будем употреблять следующие обозна- чения: & Ъ = П & & • • & xsi i=l s V == V V • • V i=l Эти записи имеют смысл также и при s = 1. Удобно сформулировать ряд правил,, вытекающих из пунктов 2 и 5 списка тождеств элементарных функций. Если в логическом произведении один из множителей равен 0, то и логическое произведение равно 0. Если в логическом произведении, содержащем не ме- нее двух множителей, имеется множитель, равный 1, то этот множитель можно зачеркнуть. Если в логической сумме, содержащей не менее двух слагаемых, имеется слагаемое, равное 0, то это слагае- мое можно зачеркнуть. Если в логической сумме одно из слагаемых равно 1, то и логическая сумма равна 1. В дальнейшем, используя замечания 1, 2 и 3, мы бу- дем употреблять не формулы, а выражения, отличающие- ся от формул тем, что в них кое-где опущены скобки. Эти выражения мы также иногда будем называть фор- мулами. Очевидно, что если ST — подформула формулы 31 и если заменить любое из ее вхождений на эквивалентную формулу S3', то формула St перейдет в формулу 33, кото- рая будет эквивалентна 81. Этот принцип вместе с тождествами для элементар- ных функций, к которым присоединяются все тождества, получаемые подстановкой вместо переменных х, xlt xSt х2 любых формул, позволяет осуществлять эквивалентные преобразования и, тем самым, получать новые тождества. Пример 7. Xi V XiX2 = xt • 1 V XtX2 =Xi V х2) V xtxz = = XiX2 V Х,Х2 V ХАХ2 = XtX2 V XtX2 V Xf.To = = XiX2 V XiX2 = Xi (xa V x2) — Xi - 1 = xb
ГЛ. 1. АЛГЕБРА ЛОГИКИ 23 Таким образом, V х&2 — xt, т. е. получаем правило поглощения произведения х&2 множителем хА. Существует еще один способ для получения тождеств. Он основан на использовании так называемого принципа двойственности. ^Определение. Функция [J(^lf яч)}*, равная / (х!, .., называется двойственной функцией к функции ](х1} ..хп). Очевидно, что таблица для двойственной функции (при выбранном порядке наборов) получается из табли- цы для функции /(zj, ..хп) инвертированием (т. е. заменой 0 на 1 и 1 на 0) столбца функции и его пере- ворачиванием (см. табл. 6). Таблица 6 хх Xj Хз /(ЭС,, Хг, Х3) [/(Ki.Xi.X»)]* 0 0 0 i 0 0 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 1 0 Поскольку [/(^гр - ..,Я1п)]* “/(*ip . .,4г)’ Т0 функция [/(^г . определяет то же ото- бражение, что и [/(яд, ..хп)]*. Обозначим это отобра- жение через /*. Тогда [/(24, ..®п)]* = /*(яп ..х„). Легко видеть, что среди функций 0, 1, х, х, xt&x2> xt V х2 функция 0 двойственна 1, функция 1 двойственна О, функция х двойственна х, функция х двойственна х, функция Xi & х2 двойственна V х2, функция Xf V х2 двойственна Xi & х2. Из определения двойственности вытекает, что
24 ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ т. е. функция f является двойственной к f* (свойство взаимности). Пусть /(ть ..., хп) выражена формулой St. Спраши- вается, какой вид имеет формула реализующая /*(хь ...» ж„)? Обозначим через хи ..хп все различные символы переменных, встречающиеся в множествах (^11) • • м ^ip1)i • • ’1 . . .J fynpm)' Теорема 2. Если Ф (Х1, • • ч Хп) = • • •> • • *> • •, ТО Ф* (хн .. ., хп) = “ /* (/; (Zu, • ., я1Р1),(гтн...j J). Доказательство. Ф*0Н , ..., Хл) = Ф_(xlt .... xj = = 7 (/1 (^111 • » »л -"Jm (Xmi, . • = = 7 (/1 Gilt ’ ’ ’» (^1» » ' • J “ = 7 (71 P11’ ’ • 4 7*n (Xmh • -i Хг>1»тп)) = = /* (/* (Xlb. • ч XiV1)t (^*11 “ »4 Из теоремы вытекает Принцип двойственности. Если формула ^ = C[flt ..., Л] реализует функцию /(хи ..., я:л), то формула C[/i, .--j/slt т. е. формула, полученная из St заменой функций fif ..., /а соответственно на A j .. м fSi реализует функцию /*(Xi, ..., хг.). Эту формулу мы будем называть формулой, двой- ственной к SI, и обозначать через SI*. Таким образом, Для формул над множеством ЯВ = {0. 1, х, ха&х2, Xi V х2} принцип двойственности может быть сформули- рован так: для получения формулы SI*, двойственной к формуле St, нужно в формуле St всюду заменить 0 на 1, 1 на 0, & на V, V на &.
ГЛ. 1. АЛГЕБРА ЛОГИКИ 25 Или, если 5t — С[0, 1, х, & хг, я, V ж2], то 51* = С[1, 0, х, Xi V х2, Xi & хг]. Пример 8. 1) (Xj, х2) — Xi & х^,^^ (я,, ^2) ва5 Э-1 V ^2» _ __ 2) ^2(^'1* ^2) == *^1 V 51g (*^1» ^2) = V ^2)(^1 V^'z)’ Из принципа двойственности вытекает, что если 51 («^1, • • ч *^п) 59(;£(, ..., хп), то 51* (ггь ..., хп) = S9* (агъ ..., хп). Прим ер 9. Из тождества & х2 = V j2 вытекает тождество X! V х2 ~ х, & х2. Принцип двойственности позволяет почти в два раза сокращать усилия па вывод тождеств при рассмотрении свойств элементарных функций. Другие применения принципа двойственности будут даны ниже. § 4. Разложение булевых функций по переменным. Совершенная дизъюнктивная нормальная форма Говоря о языке формул, мы сознательно не касались весьма важйого вопроса. Если в качестве $ допустить некоторый запас элементарных функций, то всякая ли функция алгебры логики может быть выражена в виде формулы? Ближайшие рассмотрения направлены на ре- шение этого вопроса. Введем обозначение х° = яа V ха, где о — параметр, равный либо 0, либо 1. Очевидно, что х при о = О, х при а = 1. Легко видеть, что ха — 1 тогда и только тогда, когда х = о, т. е. значение «основания» равно значению «по- казателя». Теорема 3 (о разложении функций по перемен- ным). Каждую фушраю алгебры лагшщ. J(xh ..,rn) при любом m (1 < ш < ц ) можно представить в
26 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ следующей форме' / • 1 ®tn, ^m+1 > • • • _> = = & * ’ ' & &/(CTi? * • •» ^zn+if • * м -£n)i (*) где дизъюнкция берется no всевозможным наборам зна- чений переменных х,, ..., хт. Это представление называется разложением функции по пг переменным х,, ..., £w. Доказательство. Рассмотрим произвольный на- бор значений переменных (аь ..а„) и покажем, что левая и правая части соотношения (*) принимают па нем одно и то же значение. Левая часть дает /(ан ... ..., ак). Правая — & * ' & Cm, Ят+1!- . . CC/t) =» = (Хц 1 & ... & О-тпm & f (o^i> • • • j йщ, _|-i, . . ., ttn) 3 — /(«i, .an). В качестве следствий получаем два специальных слу- чая разложения. 1) Разложение по переменной: f(xit ..., хп_и хп) = == & / (#1, ..хп—1, 1) V Xп & f (з?1, ..., хп~I, 0). Функпии f(x4 ..., а7п-}1 0) и f(xir. ...» xn-t, 1) называ- ются компонентами разложения. Данное разложение по- лезно, когда какие-либо свойства булевых функций уста- навливаются по индукции. 2) Разложение по всем п переменным: / (^П • • ч ^n) = & • • & Xu1 & f (Оц • • •» on). При f(xit ..., оно может быть преобразовано: V & • - * & & / (оп ..., Oft) = (Ol.--.On} = V #1* & • • & (О'!.--- iOn)
ГЛ. 1. АЛГЕБРА ЛОГИКИ 27 В результате окончательно получим / , ЖГ() =* V Я11 & ... & Х°п. (**) /(°1.ofi)=l Такое разложение носит название совершенной дизъюнк- тивной нормальной формы (совершенной д. н. ф/). Непосредственно к понятию совершенной д. н. ф. при- мыкает следующая теорема. Теорема 4. Каждая функции алгебры логики мо- жет быть выражена с виде формулы через отрицание, конъюнкцию и дизъюнкцию. Доказательство, 1) Пусть ffxi, ..., а;п)^0. Тогда, очевидно, /(Ги . . ., XTl) = Xi&Xlt 2) Пусть /(х,, ..хп)^ 0. Представим ее в совершен- ной д. н. ф.: / (-^11 • • » %п) = V З'!1 (Ор-.-.Оп) /(<*!.Оп)=1 Таким образом, в обоих случаях функция / выража- ется в виде формулы через отрицание, конъюнкцию и дизъюнкцию. Итак, оказалось, что любую булеву функцию мож- но задать формулой над 43, взяв в качестве $ множество, состоящее из трех функций: отрицания, конъюнкции и дизъюнкции. Данная теорема носит конструктивный характер, так как она позволяет для каждой функции фактически по- строить формулу, ее реализующую (в виде совершенной д. н. ф.): в таблице для функции /(жЛ, ..хп) (f * 0) от- мечаем все строки (о19 ..оп), в которых /(оъ ..., оп) = = 1, для каждой такой строки образуем логическое про- изведение 41 & ... & и затем все полученные конъюнкции соединяем знаком дизъюнкции. Пример 10. 1) Найти совершенную д. н. ф. для функции xt х2.
28 Я. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ Мы имеем три набора (0, 0), (0, 1) и (1, 1), на ко- торых эта функция равна 1 (см. табл, 3). Поэтому ^2 = 4 & 4 V 4 & 4 V 4 & 4 = & ^2 V V & % 2* 2) Найти совершенную д. н, ф. для функции, задан- ной табл. 7. Имеем f(xlt Х2л Х3) = Х]Х2Х3 У XiXzX3 V XtX ВЯ3 V Х&Хл. Совершенная д. и. ф. есть выражение типа 2П, т. е. логическая сумма произведении х°\ Спрашивается, нель- зя ли для булевых функций получить разложение типа Таблица 7 X, X, х( Ях,, xfl хг) ООО 0 0 1 0 10 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 0 0 0 1 0 1 П2? Покажем, что при / 1 это возможно, для чего раз- ложим функцию /* {очевидно,. /* ^ 0) в совершенную д. н. ф.: /* (а?!, . . . л Хп) = V (а1....................°п) Н°1...On)-1 Возьмем тождество для двойственных формул /** (*и • ч = & № V • • V (°1...°п) '*(°1..
ГЛ. I. АЛГЕБРА ЛОГИКИ 29 Левая часть есть #„), а правая может быть пре- образована далее: & (<‘V-..V4n)= & Wv-v*?1)- (°1..°п) (”1..On) ....5п)=0 & (*?V V<")- (°1..<М /(СГ1,...,О„)=0 Таким образом, получаем разложение /(«и ...,«n)= & Ст?1 V • • - Vх°п)- (О1.--,оп) Это выражение носит название совершенной конъюнк- тивной нормальной формы (совершенной к.н. ф.). Пример И. 1). Построить совершенную к. н. ф. для функции ХЛ -* х2. Имеем л -* х1 ~ xi V 4 = V х2' 2) Построить совершенную к. н. ф. для функции /(яг1т xs, Яз), заданной табл. 7. Имеем / (^1, z2l я3) = (^i V х2 V хэ) (Xi V х2 V ха) X X(х 1V Хъ V z3) (я, Vz2 V xs). Итак, в качестве средства для задания булевых функ- ций наряду с таблицами можно использовать язык фор- мул над множеством функций, состоящим из отрицания, конъюнкции и дизъюнкции. Поскольку табличный язык по громоздкости примерно эквивалентен языку совер- шенных д. и. ф. (совершенных к. н. ф), то можно ут- верждать, что язык формул, использующий отрицания, конъюнкции и дизъюнкции, не хуже языка таблиц. Мож- но показать, что на самом деле он существенно лучше табличного языка. Для пояснения рассмотрим функцию 1{Xi, , .яго) = Xi V.. .V яао. Данная формула в правой части насчитывает 39 симво- лов (20 символов переменных и 19 символов V), таб- лица для j(xit ..., х2(1) содержит 2го, т. е. более мил- лиона строк.
30 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ § 5, Полнота и замкнутость Выше мы видели, что всякая функция алгебры логи- ки может быть выражена в виде формулы через элемен- тарные функции х, xt & х2 и Xi V х2. В связи с этим воз- никает вопрос, в какой мере является случайным на- личие таких систем элементарных функций? Сейчас мы не собираемся давать исчерпывающего ответа на постав- ленный вопрос, а лишь покажем, что такого рода свой- ством обладают и некоторые другие системы элементар- ных функций. Определение. Система функций {/4, /2, ... J из Р2 называется (функционально) полной, если любая булева функция может быть записана в виде формулы через функции этой системы. Рассмотрим примеры полных систем. 1. Система Рг — множество всех булевых функций — является полной системой. 2. Система $ = {.г, Xi & х2, Xi V х2) представляет пол- ную систему. Ясно, что не каждая система является полной, на- пример, система $ = {0, 1) не полная. Следующая тео- рема позволяет сводить вопрос о полноте одних систем к вопросу о полноте других систем. Теорема 5. Пусть даны две системы функций из Рг: (I) o = g2, (II) относительно которых известно, что система I полна и каждая ее функция выражается в виде формулы через функции системы II. Тогда система II является полной. Доказательство. Пусть h—произвольная функ- ция из Р2‘ В силу полноты системы I можно выразить h формулой над Ф, т. е. 7г = C[/t, /2, ..fa, ...] (в скобках мы выписываем все функции системы ф, хотя в формуле фактически встречается лишь конечное их число). По условию теоремы /1 ” Cits’ll gz, • • •], Л = G[gt, g2,...],
ГЛ. t. АЛГЕБРА ЛОГИКИ 31 Поэтому мы можем в формуле С[/ъ /2, ,..] исключить вхождения функций Д, /2} • • •, заменив их формулами над О*). Это можно записать так: С[/1> /г, • • -1 = £2, • • ], Сг[^!, g2, • • .], • • •]* Последнее выражение определяет формулу над О со строением- С'. Мы получаем C[Ci[gi, g2, •. •], Cafgt, gz, •. •], ...] я C [glt g2, .. .], или, окончательно, h = C'[gu g2, ...], т. e. мы выразили h в виде формулы над О. Теорема до- казана. Опираясь на эту теорему, можно установить полноту еще ряда систем и тем самым расширить список при- меров полных систем. 3. Система $ = {х, Xj&x2} является полной. Для до- казательства возьмем за систему I систему 2 (стр. 30), а за систему II — систему 3 и используем тождество Xi V х2 = Xi & х2, которое вытекает из свойств 4 элементарных функций. 4. Система $ = {х, Xi V х2} является полной. Этот факт доказывается либо аналогично предыдуще- му, либо через принцип двойственности. 5. Система 43 = {Xi/x2} является полной. Для доказательства за систему I возьмем систему 3, п ;ш систему 11 — систему 5. Легко видеть, что Xj/Xi = хь (Xj/x2)/ (xt/x2) — xjx2 = Xi & x2. 6. Система SJ3 = {0, 1, XiX2, Xi + xj является пол- ной. *) He всегда эти замены можно произвести все одновремен- но, так как при замене, .вообще говоря, могут возникнуть новые вхождения символов . Например, если ft = Х1 & х2г Si ~ ац V X2i К? = 4" X2t h = Xi & & Xg), то /1 == Xi & Х2 = Xi + х2 4- (xj V х2). /1 XI & (x2 & Xz) = -f- (x2 & Хз) -|~ (xj V (r2 & x2)) ~ = -[- Xg + 4“ V Жз) 4" (зд V (x2 -|- Xj 4" (rr2 V X3))).
32 Ч. Г. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ Для доказательства опять за систему I возьмем си- стему 3, а за систему П — систему 6. Мы имеем + 1 = Хи XiXz = Xi & Xz. Так как формула, построенная из констант 0, 1 и функций xtx2 и Xi + x2l после раскрытия скобок и не- сложных алгебраических преобразований переходит в полином по mod 2, то мы получаем следующую теорему, принадлежащую И. И. Жегалкину. Теорема 6. Каждая функция из Р* может быть выоажена при помощи полинома по mod 2 (полинома Жегалкина). Подсчитаем число полиномов Жегалкина от перемен- ных xit ..хп, т. е. число выражений вида Число членов Xit... равно количеству подмножеств (it, ...t is) из п чисел (1, ..п), т. е. 2”, Поскольку — is равно 0 или 1, искомое число полиномов рав- но 22П, т. е. числу всех булевых функций от тех же пере- менных. Отсюда, как следствие, получаем единственность представления функций посредством полиномов Жегал- кина. Пример 12. Выразить Xi V х2 в виде полинома Же- галкина. Ищем выражение для х. V xs в виде полинома с не- определенными коэффициентами: Xi V х2 = aXiX2 4- bXi 4* сх2 + d. При Xi = х2 — 0 имеем 0 = d, при Xi = 0, ^2=1 имеем 1 = с, при Xi = 1, х2 ~ 0 имеем 1 = 6, при Xi — хг = 1 имеем 1 = а 4- b + с, т. е. а — 1. Мы получаем xt V х2 = XiX2 + Xi 4- хг. Из приведенных примеров видно, что существует це- лый ряд полных систем. Каждая из них может быть принята за множество элементарных функций. Таким об- разом, для задания булевых функций можно использо- вать различные языки формул. Какой именно из языков является более, удобным, зависит от характера рассмат- риваемой задачи,
ГЛ. 1. АЛГЕБРА ЛОГИКИ 33 С понятием полноты тесно связано понятие замыка- ния и замкнутого класса. Определение. Пусть ЭД — некоторое подмноже- ство функций из Р2. Замыканием ЭД называется множе- ство всех булевых функций, представимых в виде фор- мул через функции множества ЭД. Замыкание множества ЭД обозначается через [ЭД}. Легко видеть, что замыкание инвариантно относительно операций введения и удале- ния фиктивных переменных. Пример 13. 1) ЭД — Р2. Очевидно, что [ЭД] = Р2. 2) ЭД = {1, я?! 4- х2}. Замыканием этого множества бу- дет класс L всех линейных функций, т. е. функций, име- ющих вид /(Xi, ..а?п) = Со + ед + ... + спхп, где Ci = 0, 1 (i = О, ..., п); существенные переменные входят с коэффициентом 1, фиктивные — с коэффици- ентом 0. Отметим некоторые свойства замыкания: 1) [ЭД] ЭД; 2) ПЭДП = [ЭД]; 3) гели ЭД, ЭД.,, то [ЭД,] S [ЭД2]; 4) |ЭД, U ЭД^ |ЭД,] U [ЭДа]. Определение. Класс (множество) ЭД называется (функционально) замкнутым, если вд = эд. Пример 14. 1) Класс ЭД — Р2 является замкнутым классом. 2) Класе ЭД (1, ;r, xj но замкнут. 3) Класс L замкнут, так как линейное выражение, со- станленное из линейных выражений, является линейным. Легко видеть, что всякий класс [ЭД] будет замкнутым. Это дает возможность получать многочисленные приме- ры замкнутых классов. В терминах замыкания и замкнутого класса можно дать другое определение полноты (эквивалентное исход- ному) : ЭД — полная система, если [ЭД] = Р2. § 6. Важнейшие замкнутые классы. Теорема о полноте Этот параграф мы начинаем с рассмотрения некото- рых важнейших замкнутых классов в Рг. 1. Обозначим через Т$ класс всех булевых функций /(.г,, ..., хп), сохраняющих константу 0, т. е. функций, 3 с, в, Яблонский
для которых выполнено равенство /(О, .... 0)=0. Заметим, что если а / — функция, равная /, то и f То (это достаточно проверить для функций / и отличающихся одной переменной). Легко видеть, что функции 0, х, Xt&Xz, я, V а:2, т, 4- + xt принадлежат классу То, а функции 1, х не вхо- дит в Та. Поскольку таблица для функции / из класса Го в пер- вой строке содержит значение 0, то в Го содержится ровно (1/2) 22?г булевых функций, зависящих от перемен- ных жп. Покажем, что Та — замкнутый класс. Так как То со- держит тождественную функцию, то для обоснования замкну гости То достаточно показать, что функция Ф = /(/ь Ап) принадлежит Г„, если /, /1} ../то принадлежат классу Го. Последнее вытекает из цепочки равенств Ф(0,..., 0) = /(А(0..0), /т(0, ()))= = /(0, 0)~0. 2. Обозначим через Т, класс всех булевых функций /(а^, ..., хп), сохраняющих константу 1, т. е. функций, для которых выполнено равенство 7(1...1)—1. Очевидно, что класс Т\ вместе с любой функцией содержит и любую равную ей функцию. Легко видеть, что функции 1, х, хл & хг, ж( V х2 при- надлежат классу Ti, а функции 0, л не входят в Т.. В силу того, что класс 7\ состоит из функций, двой- ственных функциям из класса Го (или, как мы будем говорить, что класс двойствен классу Тс), нетрудно перенести результаты о классе То на класс Tlt Класс Ti содержит (1/2)22 71 функций, зависящих от переменных xit ..хп, и является замкнутым классом. 3. Обозначим через S класс всех самодвойственных функций, т. е. функций / из Рв таких, что /* = /. Как и выше, нетрудно проверить, что добавление равных функций не выводит за пределы класса 5. Очевидно, что самодвойственными функциями будут х, х. Менее тривиальным примером самодвойственной
ГЛ. 1. АЛГЕБРА ЛОГИКИ 35 функции является функция h(xt, х2, х3) = xtx2 V V V х2х3: h* (х^ х2, х3) = (xi V х2) (xi V х3) (xz V х$) =* = XiX2 V V ж2х3 == h (хь x2, Хз); Для самодвойственной функции имеет место тождество J I) • • •! / (^-1» • • >Тп) » иначе говоря, па наборах (аъ ..., otn) и (cclt ..., ап), которые мы будем называть противоположными, само- двойственная функция принимает противоположные зна- чения. Отсюда следует, что самодвойственная функция полностью определяется своими значениями на первой половине строк (см. табл. 1). Поэтому число самодвой- ственных функций, зависящих от переменных яд, ... хп, равно 22"-1 «= У22'1. Докажем теперь, что класс S замкнут. Поскольку класс 5 содержит тождественную функцию, достаточно показать, что функция Ф = /(Л, W является самодвойственной, если /, Д, ..самодвой- ственны. Последнее устанавливается непосредственно: Ф*-/*(/Т,.... А) = /(А, ...,/т) = ф. Докажем теперь лемму о несамодвойственной функ- ции. Лемма 1. Если f(xlf ..xn)&S, то из нее путем подстановки функций х и х молено получить несамодвой- ственную функцию одного переменного, т. е. константу. Доказательство. Так как f^St то найдется на- бор (аъ ..ап) такой, что /(eti, ..a„) = /(ai, ..сеп). Рассмотрим функции фДх) = жа* (i = 1, ..и) и по- ложим Ф(^) = /(Ф1(л), ФДя)). 3*
36 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМ^ Мы имеем Ф (0) - f (Ф1 (0),..., <р„ (0)) = / (о”1,.... о“") - = /(«х........а») = /(«X, = /(1“’, • ••, 1“”) - ==/(<Pi(l), <£»(*)) = <Р (11- Лемма доказана. 4. Здесь мы будем употреблять векторную запись наборов: а а„), P=(0i, М и т. и. и вместо /(ai, ..., ссГ1) употреблять запись /(се). Определение. Для двух наборов а == (аь ..., ап) и ₽п) выполнено отношение предшествова- ния а 0, если «i < 0t, ..., ап р„. Например, (0, 1, 0, 1)^(1, 1, 0, 1). Очевидно, что если а р и р у, то а у. Следует отметить, что не любые пары наборов находятся в отно- шении предшествования, например, наборы (0, 1) и (1, 0) в таком отношении не находятся. Таким образом, множество всех наборов длины п по отношению к опе- рации предшествования является частично упорядо- ченным. Определение, Функция / (хь ..., #„) называется монотонной, если для любых двух наборов аир таких, что а =£ имеет место неравенство Нетрудно заметить, что функция, равная монотонной функции, также является монотонной. Монотонными функциями, очевидно, будут 0, 1, х, Xt & Хг И Xi V хг. Обозначим через М множество всех монотонных функций. Покажем, что класс монотонных функций замкнут. Поскольку тождественная функция принадле- жит классу М, то для установления замкнутости М до- статочно показать, что функция Ф = Ж...,М
ГЛ. 1. АЛГЕБРА ЛОГИКИ 37 является монотонной, если /, А, ..fm монотонны. Пусть х = (тп ..., хп), х1 = (жп, ..., z1₽l), ..., хт =* mi, . . ., ^mpm ) — наборы переменных функций Ф, /1} ../т, причем множество переменных функции Ф состоит из тех и только тех переменных, которые встречаются у функций А, .. fm. Пусть аир- два набора длины п значений переменных х, причем а р. Эти наборы определяют наборы а1, р‘, ..а'п, prt значений переменных ж1, хт такие, что а1 р\ ..ат^ р’", В силу монотонности функций А, ..fm А(а1КА(>), АД^^МГ). Поэтому (АЙ, ... ....fr.Cn^ и в силу монотонности / имеем (а"))</(/.(₽’).........................../»(₽")), откуда получаем ФЙ=/(/.(5‘)........./«(>))</(/(?’), МГ)) = “Ф(₽). Будем называть наборы аир соседними (по Си ко- ординате), если а =(«!, .а,-1, а,, а{+1, ..а71), Р («1, • •, tti—1, CCif CCj-f-t, • • •, Ctji) • Докажем теперь лемму о немонотонной функции. Лемма 2. Если f(xit ..., хп)&М, то из нее путем подстановки констант 0 и 1 и функции х можно полу- чить функцию X. Доказательство. Сначала покажем, что найдет- ся пара соседних наборов аир таких, что а р и /Й>/(Р). В самом деле, так как / М, то существуют наборы а1 и р1 такие, что а1 р1 и /(«*)>/(р1). Если наборы
Ч. I, ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ а' и р1 — соседние, то паша цель достигнута. Если а1 и (3* пе являются соседними, то набор р* отличается от набора а1 в £ координатах, где t > 1, причем эти ко- ординат в наборе а* имеют значение 0, а в наборе р1 — значение 1. Б силу этого между а1 и р1 можно вставить t — 1 промежуточных наборов а2, а3, ..а‘ таких, что а1=<а2<... Очевидно, что наборы, стоящие в этой цепочке рядом, будут соседними. Так как /(«*)>/(р‘), то по крайней мере па одной из этих пар соседних наборов — обозна- чил! их через аир (а р) — будет /(а)>/(р)Пред- положим, что данные наборы имеют соседство но i-ii ко- ординате и, следовательно, а = («!, ..cxi-i, 0, сс(+1, ..ап), р -»(аи ..а<-ъ 1, а^+1, ..а„). Рассмотрим функцию <р(я) = /(ан •.oti-i, х, ai+i, ..an). Мы имеем ф(0) = /(аь ..а,-!, О, ai+I, ..а») = /(а)> /(р) = = /(аь ..а;-!, 1, а,-+1, ..а„)= ср(1). Последнее означает, что <р(0)=1, а <р(1) = 0, т. е. (р(^) = ж. Лемма доказана. 5. Последним классом является класс L всех линей- ных функций. Он, очевидно, содержит константы 0, 1, тождествен- ную функцию х, функции х, Xi + х2 и не содержит функ- ций xt & xa и Xi V х2. Выше было показано, что этот класс также замкнут. Докажем лемму о нелинейной функции. Лемма 3. Если /(xlt ..., то из нее путем подстановки констант 0 и 1 и функций вида х и х, а также, быть может, путем навешивания отрицания над /, МОЖНО получить функцию Xi & х2. Доказательство. Возьмем полином Жегалкина Для /:
ГЛ. 1. АЛГЕБРА ЛОГИКИ 39 В силу нелинейности полинома в нем найдется член, со- держащий не менее двух множителей. Без ограничения общности можно считать, что среди этих множителей присутствуют и х2. Тогда можно преобразовать поли- ном следующим образом: xEj = ^1^2/1 (^3’ • • • 1 4“ (Ч...ч 4- ^1/2 СЧм • • • 1 *^п) 4“ ^г/з (*з, • • 1 *4t) 4“ /4 (^з> • • ч •З'п)* где в силу единственности полинома /1(ж3, • яп)^0. Пусть а3, ..ап таковы, что /1(а3, • • а„) = 1. Тогда Ф (24, #2) = f (xt1 х2, а3, ..а„) = х^ 4- axj + рг2 + 7, где а, р, 7 — константы, равные 0 пли 1. Рассмотрим функцию ^а)» получаемую из ф^, х2) следующим образом: хг) = <p(^! 4- р, х2 4- а) 4- сер -г 7. Очевидно, что Ф (х, 4- р, х2 + а) + ар 4- 7 — *= (#1 + р) (.т2 4~ а) 4- а (xt 4-р)4- 4- р (z2 + а) 4- 7 4- ар 4- 7 = Следовательно, ф {х±1 X2)—Xt & х2. Лемма доказана полностью. В заключение заметим, что замкнутые классы То, T.t, М и L попарно различны, что видно из табл. 8, в ко- торой знак 4- означает, что функция содержится в клас- се, а знак — обозначает противоположную ситуацию. Таблица 8 Тх S м L S 1^0 4- 1 4- 1 4-1 1 1 4-+ + + + Теперь мы можем перейти к рассмотрению одного из основных вопросов алгебры логики — вопроса о необхо-
/,{> ’I I ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ димы к й достаточных условиях полноты. Итак, пусть .... нроиэнолыгнп система функций из Р2. Спрашивается, iuik иыпенить, будет ли опа полной или нет? Ответ на .пит вопрос дает следующая теорема. 'Г о орем а 7 (о функциональной полноте). Для того чтобы система функций полной, необходимо и ди- ertiTO4H0t чтобы она целиком не содержалась ни в одном и.1 пяти замкнутых классов 7\, 5, М и L. Доказательство- Необходимость. Пусть Д полна, т. е. [ЦЦ = Л- Допустим, что ^содержится в од- ном из указанных классов — обозначим его через 51, т. е. Пя St. Тогда в силу свойств замыкания и замкнутости 51 имеем р! = ПВ]е[Ч = з;. Значит St = Р2, что не так. Необходимость доказана. Достаточность. Пусть $ целиком не содержится ни в одном из пяти указанных классов. Тогда из » мож- но выделить подсистему содержащую не более пяти функций, которая также обладает этим свойством. Для этого возьмем в ^функции /<, /Л Д, /т, А, которые не принадлежат соответственно классам То, 7\, S, М. и Ly и положим Я' == А, /а, A, АЛ- Можно считать, что все эти функции зависят от одних и тех же переменных rrlt ..., хп (см. замечание из § 1). Доказательство достаточности будем проводить в три этапа. I. Построение при помощи функций fj и /А кон- стант 0 и 1. Рассмотрим функцию fi^T0. Возможны два случая: 1. ft(l, .1)= 1. Тогда {p(x) = ./j(z, ,.х) есть константа 1, ибо <Р(0)= А(0...0) = 1, Ф(-1) = Ш ..., 1)=1. Вторая константа получается из /Д1, ..., 1) = 0. 2. /Д1, ..., 1) = 0. Тогда <р(л;)==/Дя, ..ж) есть т, ибо Ф(О) = А(О, 0)=1, Ф(1) = А(1, ..., 1)=0. Возьмем /А (А 5). Так как мы имеем ,г, то в силу леммы 1 из Д мы можем получить константу. Поскольку
мы располагаем х, то находим и вторую константу. Итак, в обоих случаях мы получаем константы 0 и 1. П. Построение при помощи констант 0, 1 и функции Д> функции х. Это осуществляется на основе леммы 2. III. Построение при помощи констант 0, 1 и функ- ций х и fi функции xt & х2. Это осуществляется на осно- ве леммы 3. Таким образом, мы при помощи формул над (а значит и над !р) реализовали функции х и хк & х2. Этим достаточность доказана. Следствие 1. Всякий замкнутый класс функ- ций из Р2 такой, что ЦЦ¥=Р2, содержится по крайней ме- ре в одном из построенных классов. Определение. Класс SR функций из Р2 называ- ется предполным (или максимальным), если Э1 неполный, а для любой функции f&VV) класс SR 1) {/} — полный. Из определения следует, что предполный класс явля- ется замкнутым. Следствие 2. В алгебре логики существует только пять предполных классов, а именно: Та, Тъ 5, М и L. Рассмотрим пример, иллюстрирующий возможности теоремы о функциональной полноте. Пример 15. Покажем, что система функций /1 — Х;Хг, Д = 0, Д = 1 И fl = Xi + Х2 + Хз является полной. Мы имеем: Д $= То, ДЛ, Д 3, Д М, fi&L. С дру- гой стороны, удаление любой из функций приводит к неполной системе: V2, Д, /*} с Д Vit /з, М с А V1» /г, Д} с A, Vi» /г, М ЛГ. Из доказательства теоремы 7 непосредственно выте- кает следующая теорема. Теорема 8. Из всякой полной в Р2 системы $ функций можно выделить полную подсистему, содержа- щую не более четырех функций. Доказательство. Мы видели, что из ф можно выделить полную подсистему £|3', содержащую не более пяти функций. Оказывается, что функция Д 0 Го, кроме
того, либо не самодвойственна (случай 1), так как /|((), ,.0) = /< (1, ..1), либо не сохраняет 1 и не моно- тонна (случай 2): Л(0, ..0)>/t(l, ..1). Поэтому полной будет либо система {Д, /j, /т, /J, либо система </<, А, М- Пример 15 показывает, что константа 4 не может быть понижена. Теорема о функциональной полноте на самом деле дает не только критерий полноты. Она позволяет (в со- четании с разложением в д. н. ф, или к. п. ф.) найти для произвольной булевой функции / формулу через функ- ции полной системы § 7, Представление о результатах Поста Весьма глубокое изучение замкнутых классов в Рг было осуществлено американским математиком 3. По- стом. Им была описана структура всех замкнутых клас- сов в Ря. Сформулируем некоторые из важнейших ре- зультатов, связанных с этим исследованием. Определение. Система функций {/1( /2, ..., /я, ...} из замкнутого класса 2Л называется полной в Ф1, если ее замыкание совпадает с ЗЙ. Иначе говоря, система полна в ЭД, если каждая функ- ция из ЭД может быть выражена в виде формулы через функции данной системы. Определение. Система функций {Д, /2, ....} из замкнутого класса ЗЯ называется его базисом, если она полна в ЗЯ, но всякая ее собственная подсистема не является полной в ЗЯ. Так, система А == х2хг, /2 = 0, /3 = 1, A = -Н'2 + х, является базисом в Р2. Можно показать, что система функций {0t 1, х2 & х2, xt V х2) является базисом для класса Ж. Теорема 9 (Пост [47}). Каждый замкнутый класс из Р2 имеет конечный базис. Теорема 10 (Пост [47]). Мощность множества замкнутых классов в Р2 — счетная. Хотя вторая из этих теорем логически следует из первой, тем не менее в доказательстве Поста сначала устанавливается второй факт, а затем — первый.
Глава 2 А-ЗПЛЧНЛЯ ЛОГИКА Копечно.значиые логики вводятся как обобщение дву- значной логики. В силу этого паше изложение местами будет кратким, а некоторые аналогичные определения и доказательства будут опущены. Особое внимание обра- тим на два обстоятельства: 1) в fc-зиачпых логиках сохраняются многие свойства и результаты, которые имели место в двузначной логике; 2) в /с-зпачных логиках наблюдаются явления, обна- руживающие принципиальное их отличие от алгебры логики. В связи с этим некоторые задачи не имеют такого исчерпывающего решения как в алгебре логики, а дру- гие вовсе не решены. § 1. Функции fc-злачной логики. Формулы и реализация функций формулами Пусть U = {щ, и2, ..ит, ...} — исходный алфавит переменных (аргументов). Будем рассматривать функ- ции / (wfl, ,.., иц) (uiv =# при v ц), аргументы которых определены па множестве Eh = {0, 1, ..., к — 1), и такие, что /(cq, ..., когда a.^Eh (i = = 1, 2, ..., п). Для упрощения записи мы будем использовать для переменных из U метаобозначения х, у, z, ..а также х(, у<, zif ... и употреблять для функций более простую запись жл). Очевидно, что функция f(xu ..., яп) полностью оп- ределена, если задана ее таблица (см. табл. 1). В этой таблице наборы суть разложения в Л-ичной системе счисления чисел 0, 1, ..кп — 1. Символ / здесь будет интерпретироваться как символ, обозначающий отображе- ние, характеризуемое таблицей, а символы хи хг, ... ..., хп — как названия столбцов. Для функций одной переменной мы наряду с таблицами будем использовать запись в виде (обобщенной) подстановки где S (а) = 1а.
Обопплчим через Рк множество всех функций fc-знач- liutt логики над алфавитом £7, а также констапт 0, 1, ... ., ,, к — 1. Так как число наборов (ссь .. а„) значений пвременных равно кп, то имеем следующий результат. Теорема 1. Число всех функций из Pk> зависящих от п переменных хЛ, ..хп, равно ккГ1- Из сказанного вытекает, что в Ph при к > 3 в зна- чительной степени возрастают трудности по сравнению с Р2 как в возможности эффективного использования табличного задания функций, так и в возможности про- смотра всех функций от п переменных. Уже в Ps число функций от двух переменных равно З9 = 19683, т. е. это множество практически необозримо. В Рк часто употреб- ляют вместо табличного задания функций задание при помощи алгоритма вычислимости функций. Например, maxfzj, ..хп) можно рассматривать, как алгоритм, который для любо- го набора («1, ..се„) значений переменных выдает их максимум. Этот алгоритм определяет в Ph единственную функцию, которую мы будем обозначать тем же сим- волом. Далее вводится (как в Р2) понятие существенной и несущественной переменных, а также понятие равенства функций. Это позволяет рассматривать функции в Рк с точностью до фиктивных переменных. После этого рассматриваются примеры некоторых конкретных функций из Pky которые можно считать «эле- ментарными» функциями.
1) х = х 4- 1 (mod к). Здесь х представляет обобще- ние отрицания в смысле «циклического» сдвига значений. 2) Nx ~ к — 1 — х. Здесь A'z или, как часто обозна- чают, ~х является другим обобщением отрицания в смысле «зеркального» отображения значений. В литера- туре оно носит название отрицания Лукашевича. к — 1 ври х == г, л _х. (г=0,..., Л-1). I 0 при х i являются обобщениями не- 3) Ц (X) = Функции li (х) при г =/= к — 1 которых свойств отрицания. (1 при х = г, (О при x=#i. Функция ji{x) — характеристическая функция значения i и при i ¥» к — 1 представляет собой обобщение отри- цания. 5) ш1п(тъ х2) —обобщение конъюнкции. 6) ^^(modfc)— второе обобщение конъюнкции. 7) шах(хъ х2) — обобщение дизъюнкции. 8) + #2(niod к). Из рассмотрения этого списка элементарных функций видно, что функции алгебры логики имеют в Л-значногг логике (к > 3) по нескольку аналогов, каждый из кото- рых обобщает соответствующее свойство функции. Затем, так же как и в алгебре логики, вводится по- нятие формулы над множеством функций Формулы мы обозначаем символами й, S3,... без индексов и с ин- дексами. Если мы хотим указать зависимость формулы от переменных или выделить функции, из которых по- строена формула, то употребляем обозначения я(.гь...,хп), ад,..,/Л Каждой формуле хп) сопоставляется функция f(xlt .., £„) из Ph, при этом говорят также, что форму- ла Й реализует функцию /. Аналогичный смысл здесь имеют суперпозиция функций из ф и операция суперпо- зиции. Далее вводится понятие эквивалентности формул и S3: $1 = S3, если соответствующие им функции /$ И /д равны. Опираясь на понятие эквивалентности, можно описать основные свойства элементарных функций. Укажем не- которые из них. Пусть (я?, о х2) обозначает любую ив функций min(a;I, z2), a?pr2(mod А), щах(ж!т х2), я, + + хг (mod к).
1. Функция (xi°x2) обладает свойством ассоциатив- ности: ( (х2 о х2) ° х3) = (xt«(х2 о х3)) . 2. Функция (j?! ° х2) обладает свойством коммута- тивности: (Xi ° Х2) = (хг ° Я1). Далее мы иногда будем обозначать функции min (ги хг) и тах(ль х2) соответственно через (xi&x2) и (лл V х2). В силу свойства ассоциативности и соглашения о том, что операция & выполняется раньше операции V (см. замечания 1—3 § 3 гл. 1), можно употреблять для записи формул выражения, получающиеся из формул путем опу- скания некоторых скобок. Укажем еще несколько групп тождеств (правил), от- носящихся уже к системе элементарных функций {О, 1, fc-1, 10(х), 1^(х), min(.rb х2), тах(хъ х2)}. 3. Правила спуска символа 1к — 1 при с = а, О при с а 1 «вглубь» формулы: (о, с = 0, 1, — 1); W))” /0Сг) V ... VA-1U)VA+1(^)V^.V4~1U) при а = 0Л О при 0 <; о < к — 1, Ii (х) при а ~ к — 1; Л(.г^)- Л(^) (10(хг) V ... V Д_1 (хг)) V VZo(t2) А (х, V хг) = А (xt) (/о (х2) V... V л (хг)) V VZo(x2) (Zo(x1)V...VZ0(r1)). 4. Свойства дистрибутивности: (xi V х2) ха = (Х1Х3) V (хгх3), (XiXa) V Х3 = (Xi V Хз) (х2 V Х3) . 5. Правило исключения «чистых» вхождений пере- менной: X = 1 - Д {х\ V 2 • А (х) V... V (к - 1)1^ (х).
ГЛ. 2. Л-ЗНЛЧНАЯ ЛОГИКА 57 6. Правило введения переменной: Xi = Xi (10 (j!3) V ... V Л-t (х2)). 7. Правила упрощений: г / 1 г / при х = v ' I 0 при т=£сг; от = min (о, т); о V т = max (о, т); (А — 1)х — я; 0 х = 0; (к — 1) V х — к — 1; 0 V х — х. Опираясь на некоторый запас тождеств (например, тождества 1—7) для системы элементарных функций {0, 1, ..., к — 1, h (х), Л.-1(.х), min (ад, ад), max (ад, ад)}, можно при помощи эквивалентных преобразований полу- чить новые тождества. Рассмотрение свойств элементарных функций показы- вает, что не для всех обобщений булевых функций сохра- няются соответствующие свойства. Поясним это на при- мерах. Пример 1. 1) ~(~я)=±, но х ¥* х (при А>3). 2) ~min (ад, дд)— max(~Zi, *** яа), но ппп(ад, г2)#= max^i, яд). В заключение приведем тождество, представляющее аналог совершенной д. н. ф. и играющее важную роль в последующем изложении: /(^11 V ^о1(;Г1)&’ • • & & / (Glr ’ * ’iVn)- (Ol,-.-,crn) Доказывается оно прямой проверкой. Нетрудно видеть, что каждая формула над множест- вом элементарных функций {0, 1, ..., к — 1, 70(я), ... ..., Ih-t(xj, шш(яд, Xi.), тах(зд, х2)} может быть при по- мощи тождеств 1—7 преобразована к д. н. ф. Отсюда легко показать, что правила 1—7 позволяют перейти от любой формулы над данным множеством к любой другой формуле, эквивалентной исходной. Последнее свидетель- ствует о том, что система тождеств 1—7 в известном смысле, обладает полнотой.
§ 2. Примеры полных систем В Рк определение полноты выглядит так же, как и в Р2. Определение. Система $ функций fit f2, .. из Рк называется (функционально). полной, если любая функция из Рк может быть записана в виде формулы че- рез функции этой системы. Ниже рассматриваются примеры полных систем. Для обоснования полноты мы будем использовать принцип сведения задачи о полноте одних систем к задаче о пол- ноте других (см. § 5, гл. 1). 1. Система ф = Рк полна. Очевидно, что множество всех функций из Рк представляет полную систему. 2. Система ф = Ю, 1, ..к- 1, 10(х)...Ik-i(x), min(z15 х2), тах(Л1, х2)} является полной. Теорема 2. Система $ — {0, 1, ..., Л: 1, 1о(х), ..h-i(x), minfo, z2), max(xi, х2)} является полной в Ph. Доказательство. Пусть /(г1} ..., хп)~ произ- вольная функция из Рк. Для нее имеет место разложение / (^lt • • • J V (Ж1) & * * » & Атп(^п) & /(^ы * i Данная формула (правая часть) построена из функций, входящих в Теорема доказана. 3. Система ф = {ж, тах^, а?2)} является полной. ; Теорема 3. Система $ = {х, шах^, х2)} пол- на в Рк. Доказательство. а) Построение кон- стант. Из функции х = х 4- 1 получаем функции х + 2 = (х+1)4-1, .... Л4-А;-1=(г4-£ —2)4-1, х~х-\-к = (хЛ-(к — 1))+1. Легко видеть, что max (х, х 4-1, ..., х 4- к — 1) — к — 1. Отсюда при помощи х получаем остальные константы
ГЛ. 2. fc-ЗНАЧНАЯ ЛОГИКА 49 б) Построение функций одной перемен- ной. Сначала получаем функции Ц (х) (i = 0,..к — 1): (х) = 1 + шах {х 4- сс}. a^h—1—i В самом деле, если х = I, то левая часть равна к — 1, а правая часть есть 1 4- max {i 4- a} = 1 4- max {г 4- а} = a^k—l—i i+a^fe—1 = 14-Л-2 = /с —1; если х ¥= I, то левая часть равна 0, а правая — 1 + шах {х 4- а} = 1 4- (х 4- (А* — 1 — х)) = к = О, 1—i Введем функции /в1Дх), где f s при х = при ^1. Покажем, что /«, < (х) = а 4-1 + шах [7,(х), к — 1 — $]. Последнее легко усматривается из графиков, изображен- ных на рис. 1. L-O——0-4—о----о О 1 1-10*1 к-1 k а» L_|---------------1 О 1 i-1ii+1 к-1 *—О---О I о --о О 1 г-10+1 к-1 з +7+тпз (z)} k-hs] Рис. 1 Если g(x)—произвольная функция одной переменной из Ph, то g(x)= max {/sW,0(z), /,(|). <(х), . и, в частности,-х = тах{д_11 о(х), А-г. t(x),..., А. ^(х)}. в) Получение min(xi, хг). Мы видели, что '-min(x1, xz)=“max(*ii, ~xz). С. В. Яблонский
5П 4.1. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ () гсюда min (я,, я2)= ~max(~.Zi, ~з2). Таким образом, мы можем при помощи формул над исходной системой функций выразить любую из функций системы {О, 1, ..., к-1, /0(х), Д-,(х), mm(xi, яа), тах(хь 22)}, относительно которой доказано, что опа полная. Поэтому и система {х, тах(хи х2)} является полной. Теорема до- казана. Введем обозначение: УДад, а:2) =niax(x1, x2)+1. Функция V*(xi, а-3) называется функцией Вебба и пред- ставляет собой аналог функции Шеффера. 4. Система $ = {7к(ач, #2)} является полной. Вопрос о ее полноте может быть легко сведен к полноте си- стемы 3. С понятием полноты связано понятие замыкания и замкнутого класса. Определение. Пусть Ей — произвольное подмно- жество функций из Рк. Замыканием Ей называется мно- жество [5Й] всех функций нз Рк, представимых в виде формул через функции множества 291. Определение. Класс (множество) Ей называется (функционально) замкнутым, если [39i] « Ей. Для данных понятий справедливы высказывания, ко- торые были сделаны при рассмотрении аналогичных по- нятий в Р2. Приведем примеры замкнутых множеств. Пример 2. 1) Класс 291 — Рк, очевидно, является замкнутым. 2) Пусть ё Ек. Обозначим через Т% множество всех функций /(^i, ..., хп) из Рк таких, что /(а,, ..., а„) ® ё, если ct( е ё (i == 1, ..., п). Другими словами, Т$ — мно- жество всех функций из Рк, сохраняющих ё\ будем за- писывать это так: /(#, ё, ..., ё}^ё. Класс ЕИ^Т1^, очевидно, является замкнутым. В терминах замыкания можно дать другое определе- нии полноты, эквивалентное исходному: S7 — полная сн- егами, если [2Л] = 7\.
4. H~otiA4kiAH ЛОГИКА 51 Понятие замкнутого класса может быть приложено к решению вопроса об обосновании неполноты некоторых систем. Пример 3. Рассмотрим систему $={ max (хи х2) К Пусть ё = {О, к—1}. Так как обе функции сохраняют & у то Поскольку при к > 3, <S Eki то Т % не содержит, напри- мер, константу 1. Значит при к > 3 $ не будет полной системой. На этом примере видно, что, хотя система {~лг, maxfr,, х^)} и является обобщением системы {г, Xi V х2} булевых функций, она не является полной. § 3. Распознавание полноты. Теорема о полноте Теперь мы перейдем к обсуждению вопросов полноты для произвольных систем ф. Следовательно, здесь нас бу- дет интересовать, каким образом по множеству можно узнать, будет оно полным пли нет. Мы рассмотрим два подхода к решению этой задачи. Первый' подход алгоритмический. Он требует уточне- ния слов «задана произвольная система $». Ввиду этого мы несколько сузим задачу и будем предполагать, что система конечна: Ф - </«, h...М и, стало быть, она может быть явно задана либо переч- нем таблиц, либо списком формул. Так же как и в слу- чае к = 2, можно считать, что каждая из функций систе- мы зависит от переменных *^i> • • » ^п» Наша задача может быть сформулирована следующим образом: существует ли алгоритм, позволяющий для каж- дой конечной системы $ выяснять, будет она полной или нет (задача распознавания полноты). Для произвольного р > 1 обозначим й Сч, .. м и через 2^ ,х —множество всех функций из SW, зави- сящих от переменных хр. Теорема 4. Существует алгоритм для распознава- ния полноты. 4*
Доказательство. Построим по индукции после- довательность множеств 9U 91и . . ., Slr, . . . функций от двух переменных и х2- Базис индукции. Положим 910' == Л, где Л — пу- стое множество. Индуктивный переход. Пусть уже построены множества Э10, Sllt . . ., 91т; покажем, как определяется мно- жество 91г+1. Для этого выпишем функции, входящие в 31г (г > 0): 91г = (zn т2), ..., h,r (жп х2)\ (sr = 0 ври г = 0), и для каждого i (i = 1, .. s) рассмотрим всевозможные формулы вида fi(Hi(Xi, х2), .Hn(Xi, х2)), где ж2) есть либо функция ^(^i, ж3) О' ~ 1, . •., sr), либо ж2). Таким образом, просматривая s(sr + 2)tl формул, мы, быть может, получим функции, не вошедшие в Э1Г. Обо- значим их через ^Sr+l (#ц • • I (^Т’ ^2)' Положим Э1г+1 = ^2), • • •» Ч+^И ^г)]- Очевидно, что 9l0 s 9lt s ... s Slr == ... Из построения ясно, что если Slr+l = Sir, то 9lr = Slr+1 — .. т. е. цепочка множеств стабилизируется. Обозначим через г* минимальный номер множества, начиная с которого наступает стабилизация. Тогда цепочка множеств 5% gz 91 х ед . .. <= Slr* строго возрастает. Так как мощность 51( не больше, чем kk\ то Значит, момент стабилизации может быть обнаружен через ограниченное число шагов. Рас- смотрим множество 91г*. Возможны два случая. 1) Sir* содержит все функции от двух переменных Xt, х2 и, значит, содержит Рй(ть ж2). Тогда исходная си- стема полна. 2) 91г* не содержит всех функций от двух перемен- ных. Поскольку в этом случае [Tshp.:2 = 91г* (см. заме-
ГЛ. 2. д-ЗНАЧНАЯ ЛОГИКА 53 чанпе 1 пз § 2 гл. 1), то [Ф] не содержит всех функций от переменных хл и х2. Следовательно, $ не полна. Из данных рассуждений легко извлекается алгоритм: строим классы 910, 91х, ..., 91г* до момента стабилизации в рассматриваем класс 91,*, по которому и определяем, имеет место полнота для SJS или нет. Теорема доказана. Теорема 5. Из всякой полной в Ph системы мож- но выделить конечную подсистему, являющуюся также полной. Доказательство. Пусть -ф = {Д, /2, ..., /„ .. В силу полноты функция хг) может быть выраже- на через функции системы ф в виде формулы -Т>) = Аг]- Очевидно, что подсистема \fi , .... fir] является искомой. Теорема доказана. Таким образом, существенно бесконечных полных си- стем не бывает, и тем самым введенное выше ограниче- ние в задаче распознавания полноты является не столь сильным, как это могло казаться первоначально. Второй подход в решении вопроса о полноте связан с проверкой некоторых свойств класса $£. Введем одно понятие и докажем относительно него две леммы. Пусть 91 — класс функций ..., ур) из Pk, зави- сящих от р переменных yit ..ур. Предположим, что он содержит функции ..., yP)=yf (i = 1, ..., р). Определение. Функция /(ад, ..., хп) сохраняет множество 91, если для любых функцийhi(ylf .. ,,ур), ..., «Ур) из 91 / (Ц (ST....Ур), • • , hin (У1, ..., рр)) е= «Я. Обозначим через 2И класс всех функций из Рк, сохра- няющих множество 91. Пример 4. Пусть к = 2, р = 1 и 91 = {у, ук Тогда функция /(зд, ..., а?п), сохраняющая множество 91, удов- летворяет соотношению /(А ...,/п) = Л откуда _ _ _ /(^Ь • Оп) /(^1, • ч О. Значит, функция / (ад,..., хп)—самодвойственной класс
сохранения множества 91 есть класс 5 самодвойственных функций. Лемма 1. Класс ЗЯ всех функций, сохраняющих St, является замкнутым. Доказательство. Очевидно, что класс 2)1 содер- жит тождественную функцию. Поэтому для обоснования замкнутости класса достаточно показать, что функция Ф-/(А /т) принадлежит классу SS1, если функции I, fi, ..., fm принадлежат классу SDI. Пусть Ф зависит от п переменных. Возьмем произвольные функции И3 класса 91. Тогда • « >Лгл)==/(/1 (^‘1» ' ' * * ч = где функции Hi, ..., Hm принадлежат классу St, поэтому и 1(Н>, .... Hm) принадлежит St. Лемма доказана. Лемма 2. Если класс St таков, что [StJ^.,.^ = St, то для класса SR, сохраняющего 91, имеет место равенство Доказательство. Пусть .., ур) s St. Тогда если hiit ...л 91, то л(Ч’ • ••1Ме[*]М)»я, т. е. h s £С?У1...Ур. С другой стороны, если .-РрХ то, подставляя вместо . .., уР функции glt ..gr, по- лучим /(gi, • • gp)е- % или f(yi, ..., уР) 91. Лемма доказана. ТеПрем а 6 (о функциональной полноте, А. В. Куз- нецов [15]). Можно построить систему замкнутых клас- сов в Рк ЗИ2> ..., S0ls, каждый из которых целиком не содержит ни одного из остальных классов, и такую, что подсистема функций из Рк полна тогда и только тогда, когда она целиком не содержится ни в одном из классов ..., SDt,.
ГЛ. 2. fe-ЗНАЧНАЯ ЛОГИКА 55 Доказательство. Построение системы классов ЭЙИ —, ЭЙ8. Пусть 9lt, ЭЪ — система всех таких собственных подмножеств функций из Pft, за- висящих от двух переменных и х2, которые удовлетво- ряют следующим условиям ({» 1, 1) й; содержит обе функции gi(zi,х2) ~ art, g2(^i, ^а) = = х2, 2) = й4. Указанные подмножества строятся путем просмотра всех собственных подмножеств множества функций из Рк, зависящих от переменных и яа (их < 2feh ). При этом оставляются те подмножества, которые содержат обе функции gi и g2, и далее для каждого оставшегося подмножества проверяют условие [Й]Ж13С2 =» Йх что может быть осуществлено так же, как в теореме о распознава- нии полноты. Обозначим далее через класс сохранения подмно- жества Й«. В силу лемм 1 и 2 Зй4 — замкнутый класс та- кой, что (^i)x1x2 “ 314» Отсюда следует, что все классы 2^(7 = 1, .. .л £) различ- ны и не являются полными. Далее остается только удалить те классы, которые со- держатся в каком-либо из остальных классов.- Мы полу- чим систему 2»!, Зйг, ..., ЭЙ„ Необходимость вытекает из свойств замкнуто- сти п неполноты классов Sflj (7 ~ 1, ..., а). Достаточность. Пусть ЭЙ s Pk — система функ- ций, целиком не содержащаяся ни в одном из классов Эй> (/ = 1, ..., s). Можно считать, что ЭЛ — замкнутый класс. Обозначим через ЭЛ7 класс [SHt U {gi, g2}]- Очевидно, что классы 9Л и ЭЙ' либо одновременно полны, либо неполны, так как 2n'-SJlU[{gll gj], и функция (х±, х2) либо входит в Эй и НИ', либо не со- держится ни в одном из этих Классов. Возьмем й' = ^хр2. Покажем, что 31' содержит - все функции, зависящие от
f,() Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ G ОПЕРАЦИЯМИ------- переменных Xi и х2. В самом деле, если это не так, то очевидно, что Я' = Я; и ЭД'еЭД^ЭД;. Так как ЭД s ЭЛ', то получаем, что ЭД s ЭДЬ что противо- речиво. Таким образом, 31', а значит и ЭД', содержит функцию хг). Отсюда вытекает полнота класса ЭД', а следовательно и класса ЭД. Теорема доказана. Следует обратить внимание на то обстоятельство, что теорема Кузнецова доказывает, что возможно выразить условия полноты системы ф в терминах принадлежности ее к специальным классам ЭДЬ ..., ЭД„. Однако фактиче- ское построение классов даже при небольших к связано с трудоемкими вычислениями, которые невозможно осу- ществить. В силу этого возникает вопрос о поиске дру- гих, более эффективных критериев. Мы увидим, что эта цель достижима, но за счет введения ограничений, т. е. за счет знания дополнительной информации об исходной системе § 4. Некоторые свойства существенных функций. Критерий полноты Целью этого параграфа является доказательство одно- го критерия полноты. Однако для этого нам необходимо несколько подробнее изучить свойства функций /(х1} ... ..хп} из которые зависят существенно не менее чем от двух переменных. Данные функции мы будем назы- вать существенными. Докажем три леммы. Лемма 3. Пусть f(xu ..., хп)— существенная функ- ция, принимающая I (I > 3) значений. Пусть — ее су- щественная переменная. Тогда найдутся два таких набо- ра (а, а2, ..., ап) и (р, а2, ..., ап), что /(а, а2 ,..., ап)¥= /(£, аг, ..а„) и /(а, хг, ..., хп) принимает значение, отличное и от /(а, а2, ..ап), и от /(£, аг, • - ая). Доказательство. Так как Xi — существенная пе- ременная функции /, то найдутся такие значения а2, .,. ..., On, что последовательность /(О, сс2, ..а„), /(1, а2, ..ап), ... ..., j(k — 1, а2, • ап) (*)
ГЛ. 2. fe-ЗНАЧНАЯ ЛОГИКА 57 содержит не менее двух различных значений. Возможны два случая. 1) В последовательности (*) содержатся не все I значений. Рассмотрим набор (а, •, 7п) такой, что значение /(а, уг, ..7„) не встречается в (*). Очевид- но, что /(а, а2, ..а„И / (а, 7г, ..., 7„). Примем за р любое из значений, для которых /(Р, а2, ..., а„)=/= /(а, ос2, ..., а„). Очевидно также, что /(Р, а2, ..., (Хп)^ /(ос, 12, ..., In). 2) В последовательности (*) встречаются все I зна- чений. Из существенности функции / вытекает, что су- ществует а такое, что /(сс, х2, ..const (иначе бы / зависела существенно только от одной пере- менной). Отсюда следует, что найдутся наборы (а, аа,... ..а„) и (а, 7г, ..7„) такие, что /(сс, аг, ..., ап)=^ /(а, 7Х, ..., 7„). Так как последовательность (*) содержит I [I > 3) зна- чений, то найдется такое р, что /(J5, аг, ап)^/(а, а2, ..., ап), /(Р, сс2, а„)¥=/(сс, 7г, 7„). Лемма доказана. Пусть G — конечное множество. Обозначим через IG | число элементов в G. Лемма 4 (основная). Если f(Xi, ..., #„)'—сущест- венная функция, принимающая не менее I (I > 3) значе- ний, то найдутся п подмножеств Gh ..Gn множества Ek таких, что I^IGJ, |Gnl<Z —1 и на множестве наборов (аъ ..., сс„), где a^Gi (i = — 1, . .., я), т. е. на Gi X G2 X ,., X G„, функция / при- нимает I значений. Доказательство. Можно считать, что Xi — суще- ственная переменная функции /. На основании предыду-
58 Я. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ щей леммы найдутся три набора (a, ctlt .. aj, (Р, ап), (а, Чг, ..7п), на которых / принимает три различных значения. Доба- вим к этим наборам еще I — 3 набора («™ б« .... б!.1’)......(аГ3’, а» 3),.... а<'-3’)( на которых / принимает остальные I — 3 значений. Положим Gi= {а, Р, ..., б(/“3)], G2 = (а2, уг, ..., б(2-31}, Gn={a„f Y„, 6<Л .. -, Й ~3)1. Построенные множества, очевидно, удовлетворяют усло- виям леммы. Лемма доказана. Опр еделение. Система наборов вида (oti, ., ai-!, ct-o (Xi+1, . . . ,, CCj-t, Gtj, ttj+i, .. . tXn)f («1, .. Gti-l, рй ®i+i, . . . OCj, CCj+i, .. Wn), («1, .. Pi, Otf+1, . . . Pi, CXj+i, . . Kn), (аъ .. •» СС£—i, OCf, GCt+l, . . Pa ctn) называется квадратом, если а£ и ctj pj. Лемма 5. Пусть f(xlt ..., хп)—существенная функ- ция, принимающая I (I > 3) значений. Тогда найдется квадрат, на котором / принимает либо более двух значе- ний, либо два значения, причем одно из них только в од- ной его точке. Доказательство. Можно считать, что Xi — суще- ственная переменная функции /. Тогда на основании леммы 3 найдутся наборы (а, а2, .. ап), (Р, аг, - • «п), (а, уг, ...» 7П), на которых / принимает три различных значения. Эти наборы порождают куб размера 2, т. е. куб, имеющий проекцию на каждую ось не более чем^ из двух точек, а размерность куба не более п. Данный )куб определяет- ся как (а, р} X {а2} ^2) X ... X {ар, *(п}.
ГЛ. 2. fe-ЗНАЧНАЯ ЛОГИКА 59 Рассмотрим в этом кубе его гиперплоскости = а и 2:1 = (см. рис. 2). В гиперплоскости Xi = а соединим точку (а2, ..., ап) с точкой (у2, . .уп) цепочкой ребер, принадлежащих этой гиперплоскости (каждое ребро — пара соседних наборов, т. е. наборов, принадлежащих гиперплоскости и отличаю- щихся значением ровно в одной координате). Данная цепочка ребер определяет цепочку ребер в гиперплос- кости Xi= р, являющуюся ее проекцией. Пара соответ- ствуюгцих ребер этих цепо- чек образует квадрат. Следо- вательно, мы имеем цепочку квадратов. На ребре /Л пер- вого квадрата функция при- нимает значения /(а, а2, ... .ап) и /(р, а2, ..., ап), а на ребре Rt последнего квадрата функция / не прини- мает хотя бы одно из этих значений. В таком случае в цепочке найдется квадрат (пусть его номер I) такой, что на ребре R< функция принимает значения / (а, а2, ... ап) и /(^, аг, ..., ай), а на ребре Ri+i не принимает по крайней мере одно из этих значений. Квадрат с номе- ром i является искомым. Лемма доказана. Доказанные леммы допускают простую геометриче- скую интерпретацию. Пусть ](хи .. ., хп) — существенная функция, принимающая I значений, где I 3. Тогда: 1. Существует куб размера 2 такой, что на нем функ- ция / принимает по крайней мер’ег три значения (лем- ма 3). 2. Существует куб размера I — 1 такой, что на нем функция / принимает все I значений (лемма 4). . 3. Существует квадрат, на котором функция / прини- мает либо более двух значений, либо ровно два, из кото- рых одно в одной точке (лемма 5). Замечание 1. Леммы 3 и 4 не имеют смысла для к — 2, лемма 5 имеет смысл, но неверна, так как функция /(^i, = 4- хг в своей области определения — а она есть квадрат,— при- нимает два значения, и оба с кратностью два.
fill Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ Замечание 2. Леммы 4 и 5 не допускают усиле- ний. В самом деле, пусть 3 I С к — 1, п > 3 и [г при itj — . ,. = хп = г, i I — 1, /г (ЯД, .... Хп) = L (Ов остальных точках. Пусть Gb .. Gn — произвольные множества из Ek и I^IG.I, |G„I^Z-2. Тогда на Gt X ... X Gn функция не может принимать все I значений. Далее, па любом квадрате ft принимает не более двух значений. При рассмотрении функций f(xlt ..., хп) из Рк, обла- дающих определенными свойствами на некотором мно- жестве & = Gi X ... X G„, часто приходится переходить к функциям /'(тъ . .., хп), обладающим аналогичными свойствами, но, может быть, на другом множестве &' — = Gx X ... X Gn. Переход от функции / к функции fr мы будем называть нормировкой. Следовательно, норми- ровка связана с преобразованием переменных и преобра- зованием значений функции вида f(xi, ..хп)= (^i), • • ч Ч1"^)))- Б этих преобразованиях мы исходим из того, что | Gi | = | Gx | = Z1} ..., [ Gn I = | Gn j = ln, Обозначим через ц0, . •., тр-i значения, которые принимает / на мно- жестве <£, и через Цо, • • •, Ц;-1 — набор из попарно раз- личных чисел множества Ек. Таким образом, нормировка определяется указанием взаимно однозначных соответ- ствий между множествами: {П01 •• Hi-i} ** ho, •,nhih GX^G^ Gn ~ G'n. Эти взаимно однозначные соответствия могут быть под- чинены дополнительному требованию, например, чтобы фиксированная точка (ад ..., ап) из & соответствовала фиксированной точке («А ..., cQ из <$’ и чтобы тр со- ответствовало t)j. Ясно, что эти соответствия могут быть осуществлены при помощи функций ip{x)t трДж), ...
ГЛ. 2. h-ЗНАЧНАЯ ЛОГИКА 61 ..1р„(.т) из Рк, которые всегда можно выбрать из мно- жества подстановок; если Z, 1п С к — 1, то их мож- но выбрать из множества функций одной переменной, принимающих не более к — 1 значений. Очевидно, что при нормировке кратности значений функции /' на ёР такие же, как кратности соответствующих значений функции / на (S. В дальнейшем нормировка используется в следующих видах: 1) Оь • •.ni-i) = 1’1».Яг-х). Ф(*) = X, с; = {о.....2,-1} (2 = 1......л). 2) G, = G'i, ф, (ж) = х (1 = 1,..., л), Ьъ...........................^-11= {0........2-1}. 3) (4,..111-11 = {о, ...,z — i}, G', = {0....1,-1} (< = 1, ...,«). Случаи 1 (преобразование переменных) и 2 (преобразо- вание значений) — случаи неполной нормировки. В каче- стве фиксированных точек тр и (а15 . ..,сс/г) обычно бе- рутся 0 и (0, .. ., 0). Докажем теперь теорему, являющуюся обобщением известной теоремы Слупецкого ([50]). Теорема 7. Пусть система $ функций из Рк, где к 5s 3, содержит все функции одной переменной, прини- мающие не более к— 1 значений. Тогда для полноты си- стемы fP необходимо и достаточно, чтобы $Р содержала су- щественную функцию f(xi,_, х„), принимающую все к значений. Доказательство. Необходимость. Пусть $ __ полная система. Предположим, что SP не содержит существенной функции, принимающей все к значений. Очевидно, что тогда из ф нельзя получить существенной функции, принимающей все к значений. Мы пришли к противоречию. Значит $ содержит существенную функ- цию, принимающую все к значений. Достаточность. Пусть $Р удовлетворяет условию теоремы и содержит существенную функцию f(xk,..., хп), принимающую все к значений. Покажем, пользуясь ин- дукцией, что SP полна. 1). Базис индукции. Покажем, что из $Р можно получить все функции из Pki принимающие два значения.
62 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ На основании леммы 5 найдется квадрат (сц, ..Hi-!, (Xi, <zi+I, .. с£,-1, <Zj, otj+1, ..an), (ай .. af-i, p(, oti+1, ..ccj-f, сц aJ+(, ...» an), (eti, . . CCj— i, pi, Ctf-i-i» • •, CZj— t, Ph Otj+Ij • • ®n)» (cti, .. ctj—i, ttf, * • >, CCj— i, Pj, aJ+i, ..cXn) , где at ¥= Pi и a} Pj, па котором функция / принимает не менее двух значений, причем одно из них, ц,— в одной точке. Возьмем функцию ср (х) такую, что (О при х = и, <р (х) = {1 , (1 при ж =4 ц. Очевидно, что (р(х) е ф- Пусть g(xu хг) = “<Р(/(«1, •••, «f-i, Xi, ai+i, ccj-ь x2, aJ+t, ..a,,)). Функция g(xi, хг) на квадрате {(ctf, <Zj), (pf, a;), (pi, Pj), (ait Pj) } принимает два значения, 0 и 1, причем значе- ние 0 в одной точке; обозначим ее (а%, a2). Осуществляя неполную нормировку так, чтобы (0, 0) отображалось в (a", а”), а квадрат {(0, 0), (1, 0), (1,1), (1, 0)} — в ука- занный выше квадрат, получим функцию g' (xlt хг), где g'(Xi, X2) = g(Af1(Xi), lf2(x2) ) и % Функция g'(xi, Xi), очевидно, есть максимум на множестве {0, 1} X {0, 1). Обозначим ее через Xi V DiX2. Так как система $ содержит функции /<(ог), где fl при х = i, (О при x^=zf то Xi & Й1Х2 = /0 (jo (Xi) V ol/с (х2) ) есть минимум на множестве {0, 1} X {О, 1). Пу^ть h (xit ..Хт), h const,— произвольная функция, прини- мающая два значения, 0 и 1; тогда h (xu ..., Хщ) = “ V Ль (*^1) & • • & /ат (й<т) & (olt . . . , О/гг) =» (01,-...<Ьп) = V 01 7^1 (^l) &01 > * > (xm) &{цЛ (СГц , , . 2 От)-
ГЛ. X. fc ЗНАЧИЛИ ЛОГИКА 63 Таким образом, функция h(xit ..хт} может быть полу- чена из системы ф. Так как 5JJ содержит все функции од- ной переменной, принимающие любые два значения, то мы можем также получить из ф все функции, принимаю- щие любые два значения. 2) Пусть из $ построены все функции, принимающие не более I — 1 значений, I — 1 < к. Покажем, что тогда можно построить все функции из Рк, принимающие I значений. Возьмем функцию f(xit ..., хп}. На основании лем- мы 4 найдутся п подмножеств Glt ..Gn таких, что IGJ С I — 1 (i = 1, ..., /г), и на & = X ... X функ- ция / принимает I значений ц0, гц, ..тр-i. Пусть эти значения принимаются соответственно на наборах из S"» = (а<”, а?’, а(г) = а(2п, т. е. /(а(0)) = тЬ Покажем, что из системы ф можно построить произволь- ную функцию h(Xi, ..., хт), принимающую значения ц0, щ, ..., Щ-i. В самом деле, функцию h(xlt ..., хт) можно задать при помощи табл. 2, в которой а=(аь .. Ощ). Опреде- лим функции хт) (J = 1, ..., п) так, как ука- зано в табл. 3. Таблица 2 X, ... хт °1 — ат *h(a) Тогда Таблица 3 Xi хт i'j (з=1 »*.•« *m) Ui .. Л . , Xin) f (ф1 (*£1> * • } *^т) , > • (Лл, • • •) ,
64 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ ибо /0Р1 (ап . . Om), .... -фп (Од, . . Пт)) = ч Фт) Л*(О)* Имея все функции с заданными I значениями Г|о, ... ..цг-(, можно в случае I < к получить при помощи функций одной переменной, принимающих менее к зна- чений, остальные функции с I значениями. Таким обра- зом, применяя этот прием, мы дойдем до I = к, и тогда построим все функции из Рк. Этим достаточность до- казана. Следствие (критерий Слупецкого). Пусть систе- ма ф функций из Pk, где к > 3, содержит все функции одной переменной. Тогда для полноты системы $ необхо- димо и достаточно, чтобы ф содержала существенную функцию хп), принимающую все к значений. Замечание. Доказанная теорема верна при к > 3 и не может быть распространена на случай к = 2. В са- мом деле, система ф == {0, 1, х, х, Xi 4- х2} не является полной, так как $ s L. Непосредственное использование теоремы и тем более ее следствия не всегда удобно, так как для этого предва- рительно нужно установить наличие в ф всех функций одной переменной, принимающих не более к — 1 значе- ний, т. е. F — к\ функций. С ростом к громоздкость ука- занных построений сильно возрастает. Поэтому целесооб- разно в формулировках теорем заменить требование, что- бы система ф содержала определенное множество функ- ций одной переменной, требованием, чтобы система ££ по- рождала это множество функций одной переменной. По- следнее может быть установлено гораздо более экономич- ным образом. Например, если известно, что из ф могут быть получены какие-то конкретные системы функций одной переменной, порождающие все функции одной переменной. В качестве примеров таких систем приведем две си- стемы. Теорема 8 (С. Пикар [45]). Все функции одной переменной из Рк могут быть порождены тремя функ-
циялиг. f(x) = x—l (mod к), я, ^-1» к-2, О к — 3, х = к — 2, х = к — 1, х = О, х =# 0. Теорема 9. Все функции одной переменной из Рк могут быть порождены к функциями при х — О, при х = г, (f = 1, . ,.,7с —1) Ж = i О ся в остальных случаях и функцией й(х). Доказательства этих теорем несложны, поэтом у они опускаются. В заключение рассмотрим еще одно приложение дока- занного критерия полноты. Мы дадим характеристическое свойство функции из Р&, образующей полную систему (функция Шеффера). Это свойство является незначи- тельным усилением теоремы Мартина [44]. Теорема 10. Функция f(xh . .., хп) из Рк, где к 3, является функцией Шсф>фера тогда и только тог- да, когда ..., х„) порождает все функции одной пе- ременной, принимающие не более к — 1 значений. Доказательство. Необходимость очевидна. Достаточность. Очевидно, /(ж,, ,.жп) должна принимать все к значений, так как из нее получаются, например, все константы. Если f — несущественная функ- ция, то J есть подстановка и из нее можно получить толь- ко подстановки. В этом случае мы не получим даже кон- стант. Значит, это невозможно, т. е. / является сущест- венной функцией. Применяя критерий полноты, прихо- дим к тому, что система 93 = {/(#!, ..., является полной. Теорема доказана. § 5. Особенности Аг-значных логпк Предыдущий материал показывает, что во многом ко- нечнозначные логики похожи па двузначную логику. В них сохраняются многие результаты, имеющие место в двузначной логике. Правда, рост значности все-так^ б G- И- ЯСлоисрц^
приводит к известным усложнениям формулировок и до- казательств. Однако теперь унте накоплено достаточно много фак- тов, указывающих на своеобразие конечнозначных логик, в том числе и фактов, выявляющих существенное отличие Pk при к > 3 от Р2. Эти обстоятельства тем более заслу- живают внимания, если иметь в виду работу Поста [46], в которой была выдвинута идея сведения конечнозначных логик к двузначной логике. Он предложил вместо функ- ции f(xl} ..хп) из Ph рассматривать систему функций Ф1 (*^111 • ч • • ч ^ni) , • • » • Ч ф| C^-Tli < • ч • • ч ®nlt • • ч "TnZ) , где I = ]log2 к [ *), причем если значение сх( имеет двоич- ный код ощ • ос(1 (i = 1, ..п), то значение /(czi,..ссп) имеет двоичный код Ч'! • • ч 051!, • ., • • •» Otni) ' • • . . . <рг(<ХП, • • ч «Н, .. Ctni, . . ССП(). При этом операции суперпозиции в Ph будет соответство- вать весьма специальная операция над системе!! функ- ций {фь ..ф(} из Р2. Возможность кодирования функ- ций из Ph системами функций из Р2 может быть полезной при решении логических задач на ЭВМ, но мало что дает для исследований в конечнозначных логиках. Факты, сви- детельствующие о своеобразии Ph при к > 3, были извест- ны, начиная с работ Слупецкого [50], а также работ Куз- нецова [15] и Яблонского [35, 36]. Однако более поздние результаты показали, что различие между Ph и Рг значи- тельно существеннее, чем это казалось раньше. В настоящем параграфе мы собираемся коснуться лишь некоторых сторон этой проблемы. Пас будут инте- ресовать следующие три вопроса. 1. Вопрос о существовании базисов для замкнутых классов в Ps. 2. Вопрос о мощности системы всех замкнутых клас- сов в Рк. 3. Вопрос о возможности представления функций из Р,. посредством полиномов. *) ] а [ обозначает наименьшее целое число, не меньшее а.
ГЛ. 2. Л-ЗНАЧНАЯ ЛОГИКА 67 Как это вытекает из теорем Поста и Жегалкииа, в ал- гебре логики мы имеем следующие ответы на поставлен- ные вопросы. 1. Каждый замкнутый класс в Ра имеет конечный базис. 2. Мощность множества всех замкнутых классов в Ра равна Ко. 3. Всякая функция в Р2 может быть записана в виде полинома по mod 2. Для Рк (к > 3) соответствующие ответы составляют содержание последующих теорем. Первая из них есть теорема Янова. Теорема 11 (Япов [39]). Для всякого к (к>3) существует в Pk замкнутый класс, не имеющий базиса. Доказательство. Рассмотрим последовательность функций /о “О, |1 при х. = ... = х1 = 2 /.(^, ...,т() = L (/ = 1,2, ...). (U в остальных случаях Обозначим через множество всех функций, получа- ющихся из {Д, Д, . ..} путем переименования (без отож- дествления) переменных. Легко видеть, что Шц — замкну- тый класс. Допустим, что £0\ имеет базис. Тогда в базисе найдется функция Д получающаяся из функции /^0 Пу_ тем переименования переменных, для которой число п0 минимально. Далее возможны два случая. 1. Базис содержит еще хотя бы одну функцию f. Этой функции соответствует функция и щ > nQ. Так как /л0 может быть получена из fn путем отождествления переменных, то f выражается через f', что противоречит определению базиса. 2. Базис состоит из единственной функции f. В этом случае никакая функция при п > п0 не может быть получена из f, так как(...,...)==0. Мы опять приходим к противоречию. Итак, остается допустить, что Т?л не имеет базиса. Теорема доказана. Теорема 12 (Мучник [39]). Для всякого к (/с > 3) существует в Рк замкнутый класс со счетным базисом, 5*
66 Ц. t. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ Доказательство. Рассмотрим последовательность функций (г =»= 2, 3, ...) 1 при Zj = ... “ Xj-i — Xj+l = ,,. = Xi = 2, х,=*1 - (/ = 11-ч01 О в остальных случаях. Обозначим через замкнутый класс, порожденный системой {/г, /3, ...}. Покажем, что эта система является базисом в 5JV Для доказательства достаточно установить, что никакая из функций fm не может быть выражена в виде формулы через остальные функции системы, т. е. что невозможно представление fm = 21 [/г, . , /т—1, /тп+1, • • Если записать формулу 51 несколько подробнее, то по- лучим [А, • • •? fm— 1, fm+1) • • *1 = - * -, /т-1, fm+l, . . J, ... • • *, ^г[/г, . . ., /т-1, /т-f-l, . • ]) ИЛИ /т(й-1, • • Хт} == ~ /г(^31[/г, • •, /т-1, /т+1, • • •], ... * • •, ®г[/г, • • м /т-1> /т+11 ♦••])* Априори возможны три случая. 1. Среди формул ..., S3, (здесь г >2) по крайней мере две формулы отличны от символов переменных. Тогда при любых значениях переменных аг±, ..., хт на соответствующих местах функции /г возможны лишь зна- чения 0 и 1 и поэтому правая часть будет тождественно равна нулю. Последнее противоречит возможности такого представления, так как fm 0. 2. Среди формул найдется только одна фор- мула ^s, которая отлична от символа переменной. По ус- ловию остальные формулы сводятся к переменным, и по- скольку г > 2, то найдется по крайней мере одна форму- ла 53}> = xq. Рассмотрим набор Xi = ... = xv-i = Xg+i = ... ... = Хт = 2 и хя == 1. На этом наборе формула прини- мает значение либо 0, либо 1. Следовательно, при данном выборе значений переменных у функции /г на двух ме-
ГЛ. 2. А-ЗНАЧНАЯ ЛОГИКА 69 стах будут стоять значения, отличные от 2. Поэтому пра- вая часть примет значение 0. Б то же время левая часть на данном наборе равна 1. Мы пришли к противоречию. 3. Все формулы S3,. — символы переменных. В этом случае г > т и, следовательно, в формуле встре- тятся по крайней мере два вхождения некоторой пере- менной хр. Взяв набор ~ .. = Xp-i = ггр+1 = ... = хт — = 2 и Хр = 1, мы обратим левую часть в 1, а правую в 0. Следовательно, этот случай также невозможен. Теорема доказана. Непосредственно к доказанному примыкает следую- щая теорема. Теорема 13. Для всякого к (к > 3) Рк содержит континуум различных замкнутых классов. Доказательство. Число замкнутых классов в Рк можно оценить сверху числом всех подмножеств функ- ций из Рй. Так как Ph содержит счетное число функций, то число подмножеств Рк равно континууму. Для завершения доказательства нужно оценить снизу число замкнутых классов в Pk. С этой целью рассмотрим замкнутый класс 9ЛА, построенный при доказательстве предыдущей теоремы. Этот класс имеет базис /а, .. Образуем для каждой последовательности {рь р2, ..где 2Cpt<pi<».., класс 2)?h(pi, рг, ...) как класс, порож- денный системой функций[/рр /₽2, .. .|.Легко видеть, что аМр;, Р2, ...)=/= И*& ...), если {Pii Ра» .. . ] ^ {pi, рг» .•••]♦ Следовательно, семейство (ри р3, ...)} является кон- тинуальным семейством. Теорема доказана. Теорема 14. Система полиномов по mod к полна в Рк тогда и только тогда, когда к = р, где р — простое число. Доказательство. Легко видеть, что для любой функции / (хь ..., хп) из Рк имеет место представление /Сч, ..., хи)== = S (*i) • - * ictl k-.) . •! (mod к).
70 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ Поэтому вопрос о представимости функции / полиномами по mod к сводится к вопросу о представимости в виде по- линомов функций /о (ж), . . ., В силу того, что /а(х) = /0(а: — о), мы можем утверждать, что система полиномов по mod к полна тогда и только тогда, когда представима в виде полинома функция у0(х). 1. Пусть к = р. В этом случае, опираясь па малую теорему Ферма а”-1 в 1 (mod р) (1 < а р — 1), получаем 7о (я) = 1 — s’”*1 (mod р), т. е. система полиномов полна в /\*). Монейо указать другой способ решения этой же зада- чи. Будем искать представление функции g(x), завися- щей от одной переменной, в виде полинома, пользуясь методом неопределенных коэффициентов g (х) = а0 + atx +... + ар~1Хр~1. Мы получаем систему уравнении а0 + а( • О1 4- а2 • О2 4-... 4- aP-i • 0p_1 = g(0), ай + Gt • I1 + аг • I2 + ... 4- Gp-t • lp_’ = g(l), a0 4- Gi 21 + a2 • 22 4-,.. + gp-i • 2P~' = g(2), a04-ai(p — I)1 + a2(p — i)2 4- ... 4- ap-i(p — I)?-1 = = g(p — 1). Определитель этой системы д = 10 0 ... 0 1 1 I2 ... I'1-1 1 2 23 ... 22'-1 I р__< (p-lj2 ... (р-1)*”"1 есть определитель Вандермонда. Как известно, Д~ п 0'“0- *) Малая теорема Ферма обосновывается так. Пусть 1 а р — 1, тогда числа ri==a-l, ..гр_] = а(р — 1) не сравнимы но mod р. Поэтому г( ... rp_i е= (р— 1)1 (modp) и (р—1)!э е= й^-1(р — 1)! (mod р) или 1 е= a?-1 (mod р).
ГЛ, 2. к-ЗЯАЧНАЯ ЛОГИКА 71 Так как р — простое число, то A^O(modp). Пользуясь правилом Крамера и учитывая, что A^O(modp), мы сможем решить в целых числах сравнения s Д,-(mod р) (i = 0, .. ., р — 1), где Д( — соответствующий минор. Итак, мы приходим к единственному решению исходной системы и, следова- тельно, к полиному, изображающему g(.r). 2. Пусть к^р. Тогда к = где /с > A' z > 1. Допу- стим, что /о(ж) = + bi.r + ... + &,.r’ (mod к}. При х = 0 получаем Ьо = 1- При х = kt получаем 0 = 1+ + ... + (mod /с) или к — 1 = . + Ььк\ (modfc), т. е. к — 1 делится на kt. Таким образом, к и к — 1 де- лятся на klt что возможно только при kt — 1. Мы пришли к противоречию. Следовательно, при к^= р функция /0(.г) не представима полиномом по mod к. Доказанная теорема может быть легко обобщена на случай, когда на Ек возможно определить две операции: @ и X — сложение и умножение, относительно которых Eh образует поле. Как показывается в алгебре, конечное поле пли поле Галуа, существует тогда и только тогда, когда к = р7П; В этом случае оно определяется с точ- ностью до изоморфизма однозначным образом. При этом относительно сложения оно образует абелеву группу ха- рактеристики р, т. е. для любого элемента а выполняется соотношение а ф .,. ф а = 0, v где 0 — нуль группы. Эту группу можно определить, рас- сматривая числа а, как числа в р-ичной системе счисле- ния, т. е. в виде наборов (ан ..ат), и операцию а ® £} = (<Xi 4“ pj, ..., ат + р,„) (+ обозначает сложение по niodp). Все элементы поля Галуа, кроме 0, образуют относительно второй операции циклическую группу. Пример 5. Пусть к = 2\ Тогда операция ® имеет вид как в табл, 4. Для построении таблицы для опера- ции X заметим, что числа 1, 2, 3 могут быть выражены
72 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ как степени некоторого элемента а (следует из циклич- ности мультипликативной группы). Это число а удовлет- воряет уравнению а3 = 1 или, так как а ¥= 1, а2 ® а ® 1 = 0. Взяв за а элемент 2 получим а8 = ® (а ® 1) = 3. Мы по- лучаем таблицу для X (табл. 5), поскольку 2 • 2 = а а = 3, 2 • 3 = а - а2 = а3 = 1, 3 3 = а2 • а2 = а1 = а = 2. Мы можем, повторяя первую часть доказательства пре- дыдущей теоремы, показать, что каждая функция f(xu ... .. ., л?п) из Рл при к = рт представима полиномом над со- ответствующим полем Галуа. В частности, в возможно представление функций полиномами, но не по mod 4, а полиномами над полем Галуа. Итак, для Pk {к > 3) мы получаем следующие ответы на поставленные в начале параграфа вопросы. 1. Существуют в Ph замкнутые классы, не имеющие конечного базиса. 2. Мощность множества всех замкнутых классов в Рк равна с. 3. Всякая функция в Ph может быть записана в виде полинома по mod к (соответственно над полем Галуа) в том и только том случае, когда к = р (соответственно, Когда к = рт).
ГЛ. 3. О.-Д. ФУНКЦИИ С ОПЕРАЦИЯМИ 73 Сопоставляя эти ответы с ответами для двузначного случая, мы видим, насколько существенно различие ука- занных логик. Кроме того, мы видим, что некоторые воп- росы решаются по-разному в зависимости от значения числа к. Глава 3 ОГРАНИЧЕННО-ДЕТЕРМИНИРОВАННЫЕ (АВТОМАТНЫЕ) ФУНКЦИИ С ОПЕРАЦИЯМИ Мы познакомились с двумя функциональными систе- мами с операциями: (Р2, С)—алгебра логики — система функций алгебры логики с операцией суперпозиции; (РА, С) — А’-значная логика — система функций к- значной логики с операцией суперпозиции. Путем вариации функционального объекта и опера- ции можно получать другие системы. Так, усложняя функциональные объекты, естественным образом по- лучаем: С)— счетнозначную логику, т. е. систему, содер- жащую константы 0,1,..к,... и функции .. .,хп), переменные которых определены на расширенном нату- ральном ряде Е к0 — {0, 1, 2, ...}г а сами функции при- нимают значения на ЕКо, с операцией суперпозиции; С) — континуумзначную логику, т. е. систему, содержащую константы из [0, 1] и функции, переменные которых определены на сегменте [0, 1] и сами принимают значения на [0, 1], с операцией суперпозиции. Мы не будем подробно рассматривать эти две систе- мы, а познакомимся с другими, более важными. В этой главе речь будет идти о функциональной системе, связан- ной с автоматами. § 1. Детерминированные функции Функциональный объект, который мы будем рассмат- ривать, является разновидностью континуумзначной ло- гики. Вместо действительных чисел из сегмента [0,1] мы возьмем множество Et<k всех Лг-значных последователь-
74 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ ностей ос, где а = <сс(1), сс(2), ..а(т), .. а(т)^ Eh для всех пг (т—1, 2, , ..). Обозначим через Р^ъ множество всех функций / (#1, • 3?п) 1 определенных на наборах (а„ ..., ап), где cq е ECth (i« «1,2, ,.п), и принимающих значения из £С1л. Таким образом, функции из Pc,k преобразуют наборы Л-значных последовательностей в /с-значные последовательности. В Ptih включим также все последовательности ив рассматривая их как функции, зависящие от пустого множества переменных (n«*0), т. о. как константы. Пример 1. Пусть к 2 и 1(0, 0, .,.), если а =» (0* 0( ...), ((1, lt ...), если а^(02 0t ...). Очевидно, что /(x)ePt>a. Заметим, что для функции PCtk табличное задание не- приемлемо, так как множество Ес,ь (а следовательно, и множество «строк» таблицы) имеет континуальную мощность. Отсюда же следует, что мощность множества всех функций Pt,ht зависящих от переменных xit xit .. равна гиперконтинууму. Учитывая это обстоятельство, мы в дальнейшем будем рассматривать более узкий функ- циональный объект. Для наборов и функций мы будем дальше употреб- лять векторную запись. Так, обозначая набор перемен- ных (хъ Хг, ..як) через X, вместо j(xi, ..., хп) мы бу- дем писать /(X). При этим значение переменной X есть вектор (набор) а=(аъ ..., ап), компонентами которого являются последовательности значности А: сс4 ={«;(!), oti(2), ..аДгп), ...} (i«l, 2,.,,, n). Будем истолковывать а как последовательность век- торов a = {a(l)t a(2), a(m). ..J,
где а (tn) = а2(т), ..., а„(т)) (тп = 1, 2, ...). Таким образом, мы считаем, что выполнено тождество (Ml), oti(2), cti(m), . {сб2 (1), с?2 (2), ..., а2 (zn), .. .), ... ..{ап(1), сбп(2), .. ап(т), .. .})=« «{(оД!), сб2(1), ..., аД!)), (c6i(2), аг(2), ... ..аД2)), ..(а,(m)t а3(т), ..ал(т)), .. Полученную последовательность векторов можно рассмат- ривать как последовательность наборов (аДпг), ct2(m),... ..аДт)) или чисел в /с-ичной системе счисления. Каж- дое из этих чисел принадлежит множеству EN, где N—kn. Итак, функцию /(зь ..., хп) из можно рассмат- ривать как функцию /(X) из множества но зави- сящую от одной переменной (и принимающую значения из ECtha: ЕСгп). Таким образом, изучение функции f(xh ... из Ptth можно свести к изучению функции/(X) от одной переменной из Pt,где N кп. Данная редукция построена на формальных соображениях, связанных с толкованием набора последовательностей как последова- тельности наборов. Ниже мы увпдим, что для некоторого класса функций из Pt,k такое толкование приобретает определенный физический смысл. Определение. Функция /(X) из PCin называется детерминированной, если каково бы ни было число т и каковы бы ни были последовательности а и 0 такие, что сс(1)=0(1), а(2) =0(2), ..., a(m)=0(m), значения 7 и S функции /, где 7 = / (а) и б = / (0), пред- ставляют собой последовательности, у которых тоже сов- падают первые т членов, т. е. 7(1) = «(1). 7(2) = 6(2), Через Ря>ъ обозначим множество всех детерминиро- ванных функций из Рс,ь. РЯгк, очевидно, содержит все константы из Р^.ь- Пусть /(а) =7- Из определения следует, что у детер- минированной функции значение y(m) m-го (т = 1, 2,...)
члена последовательности 7 полностью определяется зна- чениями первых т членов а(1), <х(2), ..а(лг) последовательности а, т. е. 7(т) = /ш(а(1), <х(2), ..а(т)). Поскольку /м(а(1), а(2), ..а(пг)) = «/«(аД!), сс„(1), СС1(2), ..а„(т)), то ясно, что /т — функция из Pk, зависящая от пт пере- менных. Таким образом, детерминированная функция /(X) определяется последовательностью функций А-значной логики / 1/1. А, • • fm, - • -}j где А = А(^). W(X, Х2), m— Л2, . . ., Лт), Xl = gM1). *41), *n(i)), Х3 = (х1(2), ^(2), xn(2))t Xm = (zi(m), Xz(m), жп(т)), Детерминированная функция /(я1} ..может быть проинтерпретирована следующим образом. Пусть мы имеем некоторый «дискретный преобразователь» (рис. 1), в котором существует п входов xlt аг2, ..хп и один выход f. На входы в моменты времени t = 1, 2, ... ..т, ... подаются (входные) последовательности ai = {ai(l), txi(2), ..czi(m), ..J, сс2 = 1сс2(1), ос2(2), а2(т), .. ап = {а„(1), осп(2), ...} ап(т),
Рис. 1 И в эти же моменты t на выходе возникает (выходная) последовательность 7 = {ч(1), 7(2), ..у(т),при- чем 7 = /(«i, «г, ♦ • аи). Очевидно, что в дискретном преобразователе значение зависит только от значе- ний входных последовательностей в моменты времени t — 1, 2, ..т и не зависит от значений в будущие моменты времени. Поэтому преобразова- ние / есть детерминированная функция. Заметим, что константы из Рл. ь (« = 0) интерпретируются дискретным преобразователем без входов («генератором»). Заметим также, что поступаю- щие на входы преобразователя последовательности, т. е. («!, а2, ..ап), можно рассматривать как последователь- ность наборов {(«,(1), а2(1)......«„(!)), (а,(2), а2(2), ап(2)),.. Здесь введенное нами тождество выполнено естественным образом. Из того, что детерминированная функция {(хщ .. т„) полностью определена последовательностью функций А-значной логики, вытекает следующий факт. Теорема 1. Мощность множества всех детермини- рованных функций, зависящих от переменных хл, х2, - -. ..хп, равна с. В заключение приведем ряд иллюстраций. Пример 2. а) Функция /Ф (тъ ..хп), где Ф(а, • •. ..хп) <= Рн, определена следующим образом: /ф(жь ..хп)~ {Ф(^(1), ..., хп(1)), Ф(%i(2), ..., яп(2))> .. Ф(д71(лп), ..хп(т)), . Значение функции /Ф определяется путем вычисления значений функции Ф по значениям соответствующих чле- нов входных последовательностей. Отсюда /ф е Рл, к- В частности, если взять Ф(т1? x2)~Xi&x2 (к = 2), то я2)~ ~ {£!(!)& т2(1), Xi(2)& .г2(2), ..х1(т)& хг(тп), Здесь выходная последовательность — почленная конъ- юнкция входных последовательностей.
Обозначим через множество всех функций где Ф е Ри- б) Функция z ~ х + у, представляющая сложение двух fc-значных последовательностей, определяется путем использования обычного алгоритма сложения двух чисел столбиком в Zc-ичном счислении, но только с бесконечным числом разрядов: ... х{Ъ), х(2), х (1) ...у(3),у(2),у(1) ...z(3),z(2), z(l) Ясно, что з(пг) определяется по первым т членам сла- гаемых. Поэтому х + у е Рд ft. в) Функция х2 определяется через алгоритм умноже- ния чисел в А-ичной системе счисления, но с бесконеч- ным числом разрядов х(3), х (2),- х(1) х (3),______а?(2),______х(1) х(3) х(1), х(2) х(1), х(1) х (1) х (2) х (2), хИ) х(2) х(1) х(3) 2(3), 2(2), 2(1) Здесь z(m) полностью определяется по первым т членам входной последовательности. Поэтому хг е РД1 h. Нетрудно привести примеры функций из Рс,*, кото- рые не являются детерминированными. Так, функция /(х) из примера 1 этого параграфа не является детерми- нированной. Итак, на первом этапе мы получили подкласс РЦ1к класса P(th- Однако класс Рд м является также обшир- ным — его мощность есть с. § 2, Задание детерминированных функций при помощи деревьев. Вес дерева Для детерминированных функций можно предложить более наглядный способ задания, чем для произвольных функций из Pc,k- Он основан на аппарате деревьев*). ♦) Строгое определение дерева приводится в части III,
ГЛ. 3. О.-Д. ФУНКЦИИ С ОПЕРАЦИЯМИ 79 Пусть к, п — целые числа и N = кп. Рассмотрим бес- конечную фигуру, изображенную на рис. 2. Она состоит из вершин и ориентированных ребер. Будем называть эту фигуру деревом. Вершина называется корнем де- рева, из нее исходит пучок из N ребер, образующих 1-й ярус. Каждое из ребер 1~го яруса ведет в вершину, из которой в свою очередь исходит пучок из Лг ребер, обра- зующих 2-й ярус, и т. д. Вершины, являющиеся концами ребер «i-го яруса, причисляются также к m-му ярусу (вершина считается вершиной 0-го яруса). Ребра каж- дого пучка нумеруются слева направо числами О, 1, ... .. Лг — 1 (см. рис. 2) или их записями в А’-ичной систе- ме счисления: (О, ...» О, 0);(0, .О, 1); ..(к - 1, к — 1, ..к - 1). п п п В дальнейшем на рисунках номера ребер будут опускать- ся. Будем называть еетвъю дерева связное *) подмноже- ство ребер, содержащее в каждом ярусе ровно по одному ребру. Очевидно, что каждой ветви дерева можно сопо- ставить последовательность а “ {а(1), а(2), ..а(пг), .. .1, где тп — номер яруса, а сс(кч)—номер ребра, входящего в эту ветвь, если идти по ней, начиная от корня. Так, например, ветвщ помеченной на рис. 2 штриховой ли- *) Упорядоченное множество ребер, в котором конец предыду- щего ребра является началом последующего.
OU ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ нией, соответствует последовательность {0, 1, N—1, ...}. Очевидно, что a s ECt^. Справедливо и обратное утверж- дение: каждой последовательности а из £с,д- соответст- вует некоторая ветвь дерева. Таким образом, мы имеем взаимно однозначное соответствие между ветвями дерева и элементами множества EitN. В силу этого мы можем пользоваться деревом для геометрического задания мно- жества Ес^. Пусть /(X) является функцией из Ра,к (N — кп) и X = (яь ... Используя соотношение /(^-{/ДХ,), /г(Хъ Х2), /m(Xt, Ха, Xm)t при помощи /(X) каждому ребру дерева припишем чис- ло из Ek. Для этого возьмем произвольное ребро из т-го яруса (т = 1, 2, ...) и рассмотрим путь, ведущий из корня к этому ребру — он может быть также определен как отрезок произвольной ветви, проходящей через дан- ное ребро. Очевидно, что путь определен однозначным образом и может быть охарактеризован некоторым корте- жем а(1), а(2), ..а(т) номеров ребер пути, отсчиты- ваемых от корня. Исходному ребру припишем m-н член выходной последовательности— число 7 (т), где 7(m) = fm(a(l), сс(тп)). Полученное дерево будем называть занумерованным де- ревом (точнее, деревом с занумерованными ребрами). Пример 3. а) Для функции /<£ (ад, х2) имеем:к--~ ~ м == 2, N = 4 и 7(m) = /w(Xt, Х2, Хт)~ fm(Xm}= xi'(m)&x2(m'j. Следовательно, y(m) зависит только от последнего члена кортежа, ведущего к данному ребру, т. е. от номера ребра. Ребру с номером 0 — (0, 0) соответствует значение 0 & 0 — 0, « 1-(0, 1) 0& 1 = 0. « 2 =(1, 0) « 1 &0 = 0, 3 = (1, 1) « 1&1 = 1, На рис. 3 представлено соответствующее занумеро- ванное дерево.
ГЛ. 3. О.-Д, ФУНКЦИИ С ОПЕРАЦИЯМИ 81 z(m) = б) Для функции z — х + у имеем к = 2, п = 2 и 7V = 4. Очевидно, что х (иг) -J- у (т) (mod 2) при отсутствии переноса, х(т) 4- у (т)+ 1 (mod 2) при наличии переноса. Отсюда нетрудно усмотреть закон получения занумеро- ванного дерева (рис. 4). Процесс приписывания ребрам чисел начинается с 1-го яруса. Затем переходят ко 2-му ярусу и т. д. При этом, если появляется перенос в сле- дующий разряд, то конец соответствующего ребра поме- чается кружочком. Это позволяет выполнить вычисления в следующем ярусе. Рис. 4 в) Для функции z = х2 имеем к — 2, п = 1 и N = 2. Здесь явное выражение для z(m) в виде функции }т(х(1), ..х(т)) значительно сложнее, чем в предыду- щих случаях, и удобнее вычислять z(m), пользуясь алго- 6 С. S. Яблонский
82 Ч. I, ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ ритмом возведения в квадрат. Из него видно, что 2(2)» О, z(3)»x(2)+x(l)x(2) (mod 2), 2(4) =а а;(1)л-(3)Н- а;(1)х(2) (mod 2) и т. д. Соответственно получаем начальный фрагмент занумеро- ванного дерева (рис. 5). Итак, мы видим, что по детерминированной функции можно получить занумерованное дерево. Обратное утвер- ждение, вообще говоря, неверно: занумерованное дерево может определять несколько детерминированных функ- ций. Параметры А’ и к' (где А' — число ребер, исходящих из каждой вершины, а к' — максимум чисел, приписан- ных ребрам) могут допускать несколько решений урав- нения N — кп при к > к'. (Всегда существует решение к «"• А и п = 1, т. е. определяется детерминированная функция от одного переменного.) Однако, если по детер- минированной функции /(^1, ..., хп) построить зануме- рованное дерево, то по этому занумерованному дереву с параметрами /сип определится единственная детерми- нированная функция, а именно f(xif ..хл). Таким об- разом, занумерованными деревьями можно пользоваться в качестве аппарата для изучения детерминированных функций. Возьмем занумерованное дерево для некоторой детер- минированной функции f(X)=^f(Xi, ..., х„). Пусть £ — произвольная его вершина т-го яруса. В нее из корня ведет путь а (1), ..а (гл)
1^1. д. v.-Д,. Ф.УШЩШ1 С ОПЕРАЦИЯМИ 83 (при £ = |о путь является пустым). Совокупность всех ветвей, исходящих из £, порождает некоторое дерево с корнем которое будем называть специальным поддере- вом исходного дерева. Это поддерево определяется множе- ством всех последовательностей из Eitfl с фиксирован- ным началом а(1), ..а(т). Так как исходное дерево занумеровано, то поддерево является также занумерованным. Если в поддереве вве- сти нумерацию ярусов, начиная с 1-го, то ему будет со- ответствовать детерминированная функция /6(Х). Ее можно аналитически определить следующим образом: пусть /(хьмадвд), ...}* Тогда Л<х1....Х4) = Ц+4(а(1)..«('»), Ц) (i-=l, 2, ...). Определение. Два поддерева с корнями и исходного дерева называются эк ей вален гными, если Очевидно, что при естественном наложении двух эквива- лентных поддеревьев их нумерации совпадают. Так, в де- реве на рис. 3 все поддеревья эквивалентны, а в дереве на рис. 4 поддеревья с корнями и Ь эквивалентны, а с корнями |0 и — не эквивалентны. Соотношение эквивалентности позволяет в исходном дереве множество всех поддеревьев разбить на классы эквивалентности. Определение. Число г классов эквивалентности, на которое разбивается множество всех поддеревьев дан- ного дерева, называется весом дерева и соответственно весом детерминированной функции*). *) Данное определение может быть распространено и на кон- станты. Последовательность {'((I), 1(2), ..., y(m), изобража- ется вырожденным деревом, состоящим из одной ветви “УИ) Т<2) T<w) © .__о _____о фф , о _о ф ф 9 В нем можно рассматривать поддеревья и определить эквивалент- ность поддеревьев, 6*
Иначе говоря, вес — это максимальное число попарно неэквивалентных поддеревьев. При этом не исключается случай, когда вес г бесконечен. Обратимся к примеру 3. В дереве для функции /^(^1,^2) (рис. 3), как мы видели, все поддеревья экви- валентны, поэтому г ~ 1. Б дереве для функции z = х + у (рис. 4) каждое поддерево эквивалентно либо поддереву с корнем либо поддереву с корнем gt, поэтому г= 2. В дерево для функции z = ха (рис. 5) поддеревья с корнями £0, Ь, ... (лежащие на левой ветви) попарно неэквивалентны, так как в силу справедливости со- отношения {О ... Оа(г + 1), .. .}2 = {0 ... Oa(z -J- 1), ...} t 2i поддерево с корнем в первых i ярусах заполнено пуля- ми, а в (г+ 1)-м ярусе имеет ребро, которому приписано значение 1. Здесь г — со. Для занумерованных деревьев можно ввести нумера- цию вершин. Сначала перенумеруем классы эквивалент- ности числами 0, 1, ... так, чтобы класс, в который по- падает исходное дерево, имел номер 0. Таким образом, нумерация содержит большой произвол. Далее, взяв про- извольную вершину £, определим класс, в который по- падает дерево с корнем |. Пусть и — номер этого класса. Тогда вершине | присваивается номер х. Мы получаем дерево, у которого занумерованы также и вершины, при- чем корень имеет номер 0. На рис. 6 приведены нумера-
тл. а. о.-д, функции с операциями 85 цип вершин для двух основных примеров — функций Яз) и Z = X + у. Если в рассматриваемом дереве сохранить только ну- мерацию вершин, то легко видеть, что нумерация ребер не восстанавливается однозначным образом. Тем не ме- нее, нумерация вершин весьма полезна при исследовании исходного дерева. В ряде случаев нумерацию вершин можно осуществлять параллельно с нумерацией ребер. Так, в примере для z ~ х + у номер вершины 0 появля- ется в случае отсутствия переноса, а 1 — при наличии переноса*). Рассмотрим теперь дерево с занумерованны- ми ребрами и вершинами. Возьмем произвольную ветвь, опа проходит через вершины bij •> Ъъ • ч bit • • • Пусть этим вершинам приписаны соответственно номера О, хь .xJf ... Допустим, что Xi — щ (г у) и для всех пар (i, у) (i^y), для которых Xf = Xj, индекс у является наименьшим. Произведем усечение данной ветви, сохранив ее началь- ный отрезок до вершины Производя эту операцию усе- чения для каждой ветви, мы получим усеченное дерево. Для случая функции конечного веса г на каждой вет- ви происходит повторение номеров вершин и номер у, Рис. 7 определяющий усечение, удовлетворяет неравенству j г. Поэтому для таких функций усеченное дерево будет ко- нечным. *) Вспомним, что в примере 3, б) при наличии переноса в сле- дующий разряд конец соответствующего ребра мы помечали кру- жочком.
На рис. 7 приведены усеченные деревья для функций -Еа) и z~ х + у. Эти усеченные деревья непосред- ственно получаются из деревьев, приведенных на рис. 6, Легко видеть, что усеченное дерево с занумерованны- ми ребрами и вершинами позволяет полностью восстано- вить исходное занумерованное дерево. § 3. Ограниченно-детерминированные функции и способы их задания Определение. Детерминированная функция /(xh ..., хп) называется ограниченню-детерминированной (о.-д.) функцией* если она имеет конечный вес. Класс всех о.-д. функций, принадлежащих РД1Ь, обо- значим через Род,л*). Примеры 3, а) и 3, б) предыдущего параграфа дают примеры о.-д. функций, а пример 3, в) показывает, чт<о Рис. 8 класс Род, h — класс всех о.-д. функций является собствегд- ным подклассом класса РД1А — класса детерминирован- ных функций. Для любой о.-д. функции соответствующее ей полное (бесконечное) занумерованное дерево можно всегда св е- сти к конечному дереву с занумерованными ребрами и вершинами. Если в этом усеченном дереве произвеситп отождествление вершин с одинаковыми номерами, то по- лучим так называемую диаграмму Мура**). На рис. 8 *) Класс РОд, л, в частности, содержит все периодические по- следовательности изРс.ь. **) Диаграммы Мура можно использовать и для представлеигия просто детерминированных функций. В этом случае диаграмма ®5у- дет содержать, вообще говоря, бесконечное число вершин,-
ГЛ. 3. О.-Д. ФУНКЦИЙ С ОПЕРАЦИЯМИ 87 приведена диаграмма Мура для функции z — х + у. В ней нулем отмечена начальная вершина и для удобства реб- рам приписаны пары чисел (а, 7), первое из которых обозначает номер ребра, а второе — число, соответствую- щее этому ребру. Таким образом, о.-д. функции можно задавать не толь- ко при помощи бесконечных ванумерованных деревьев, но и диаграммами Мура. В общем случае, когда / имеет вес г, диаграмма Мура имеет г вершин, причем одна из них выделена в качестве начальной; из каждой вершины исходит N “ кп ребер; ребрам приписаны пары (0, 7'), (1, 7"), ..(N—1, В последующем диаграммы, удовлетворяющие данным свойствам, мы будем также на- зывать диаграммами Мура. Диаграммы Мура позволяют строить о.-д. функции любого веса г. При такого рода по- строениях нужно иметь в виду, что хотя по формально заданной диаграмме Мура о.-д. функция восстанавлива- ется Однозначно, однако если по этой о.-д. функции по- строить диаграмму Мура вышеуказанным способом, то она может не совпасть с исходной. Так, например, диа- грамма, представленная на рис. 9, как нетрудно убедить- ся, задает функцию z =* х + у и отлична от диаграммы, приведенной на рис. 8. Таким образом, не каждая диаграмма Мура с г вер- шинами изображает о.-д. функцию веса г. Однако диа- граммы Мура позволяют оценить число о.-д. функций, зависящих от п переменных хи ..., и имеющих вес г. У Теорема 2. Число р (к, п, г) о-д. функций из зависящих от п переменных xit ..хя и имеющих вес г, не превосходит (тк)гкП. Доказательство. Возьмем диаграмму Мура для о.-д. функции веса г. В ней из каждой вершины исходит N = кп ребер, причем а-е ребро соединено с одной из г
88 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ вершин и ему приписана пара (а, у), где 0 у С к-- 1. Таким образом, число р(к, п, г) не превосходит числа диаграмм Мура вышеуказанного вида. Данные диаграм- мы могут быть получены следующим образом. Возьмем г вершин, занумерованных числами 0, ... ..., г—1 (0 — выделенная вершина), из каждой из ко- торых исходит по N = к11 ребер, занумерованных числа- ми 0, ..N — 1.. Мы имеем nV ребер. Каждое ребро мо- жет быть соединено с любой из г вершин и ему может быть приписано любое из к чисел. Поэтому Р (^, г) < (гА-)гЛ’ = (rk)rhn Теорема доказана. Пусть f(X) = /(zi, ..Яп)’— о.-д. функция. Рассмот- рим ее диаграмму Мура. Предположим, что в момент t — 1 мы находились ’ в вершине Рис. 10 x(i —1), тогда при поступлении в момент времени t числа a(t) мы переместимся в диаграмме по ребру «(/), выходящему из вершины v.(t — 4) (см. рис. 10), при этом по- лучим выходное значение y(Z) и пе- рейдем в вершину x(f). Таким обра- зом, величины (a (i), х (i — 1)) одно- значно определяют величины ('Y(i), х(0). Введенные ранее величины а и у будем называть соответственно входной и выходной величинами, ах — состоянием. Пусть переменные X, Q, Z таковы, что: X описывает значение входной величины cz, Q описывает значение состояния х и Z описывает значение выходной величи- ны у. На основании приведенных выше рассуждений мы приходим к следующим уравнениям *): Z(t)=^(X(0. <?(<-!)). где I2(0) = 0. Данные уравнения называются канониче- скими уравнениями. Нетрудно перейти от векторной за- *) Для констант из Роя, ь аналогичные построения дают урав- нения, в которых отсутствует переменная X,
ГЛ. 3. О.-Д. ФУНКЦИИ С ОПЕРАЦИЯМИ 89 писи канонических уравнений к скалярной. Пусть I = “Ilogfed. Тогда 2(0 = F' (xji), • %n(t), <Zi(i — 1), ..., qi(t — 1)), ffi(0 = G'1 (xi (0, • - , (0, 71 <i — 1), • , Qi (* — l))f qi (0 = G't (xL (t), ..., xn (i), (« — 1), .... qt (t — 1)), <7i(0)= ... (0) = 0. Здесь F\ GJt — функции из Ph1 определенные на множестве <?Г, являющемся подмножеством из^х ...х£\, ?Ч-Г а именно: переменные х^ ..хп пробегают значения из Ek, а вектор (q\, ?.-) принимает г значений (напри- мер, двоичные записи чисел 0, 1, ..г—1). Очевидно, что множество <5 является цилиндром (или цилиндриче- ским) по Xit Доопределив функции F‘, Gly .. .,Gi на всей области £\х ... X Ek, мы получим соответственно функции 714" F, Glt ..Gt из Рг,, и канонические уравнения примут более удобную для нас форму (так как здесь мы можем использовать развитый ранее аппарат формул): z(t) = F(xi(t), xn(t), Qi(t - 1), .... q{(t - 1))\ qi (/) = Gi(Xi(t), xn(t), qi(t—i), qi(t— 1)), ......................................... (*) qt(l)= GtfXift), xn(t), qi(t-l), ..^(f~l)), <71(0) = ... = gi(0) = 0. Для ограниченно-детерминированных функций, опи- санных в примерах 3, а) и 3, б), канонические уравнения - *) Множество cz Ejt X ... х Еп называется цилиндрическим п+1 по первым координатам ху, ..хп тогда и только тогда, когда лю- бые два набора (£', ..., £'п, Т]г.1],) и ц1...ли- бо одновременно принадлежат либо одновременно не принад- лежат Очевидно, что область определения S функций F', G'r ..., является цилиндрическим множеством по агц ,.хп.
ео Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ имеют, соответственно, следующий вид: 1 (0 = *(0+ //(0+ 1) (mod2), g(t)-a(OHOv *(*)?(*- l)Vp(f)g(*- 1), g(0)«0. Пример 4. Пусть о.-д. функция f(x) задана диа- граммой Мура, приведенной на рпс. 11. Для нее фу ака- ции и приведены в табл. 1. Закодировав СОСТОЯНИЯ 0, 1, 2 Таблица 1 (1,1} наборами Gl( G2 А 0 & 3 0 0 0 1 0 1 0 1 0 2 1 2 1 0 0 2 1 1 1 i 1 2 0 2 (0, 0), (0, 1) и (1, 0), мы получим функции (см. табл. 2). вто сделано в табл. 3, мы получим функции F, GK и G3. Имея теперь функции Ft Gh Gi} получим канонические
ГЛ. 3. О.-Д. ФУНКЦИИ С ОПЕРАЦИЯМИ 91 уравнения (Z)&gt(i“ 1) Vx(f)&g2(i - 1), = — 1) V ar(f) &g2 (f - 1), §2(i)“ ?2(i — (z - 1), ff.(0) = g2(0) = 0. Заметим, что в случае, когда г == 1, переменные q в канонических уравнениях отсутствуют. Таким образом каждой о.-д. функции можно сопоста- вить канонические уравнения. Однако выбор канониче- ских уравнений не однозначен. Эта неоднозначность свя- зана: а) с различными способами кодирования (нумерации) состояний; б) с различными способами доопределения функций f,g;, с;. Легко видеть, что канонические уравнения позволяют вычислить по входной последовательности а = {«(1), а(2), ...) выходную последовательность Ч = Ь(1), Я?), Часто рассматривают произвольные системы (*) (у которых I может быть и больше ]logA г[) для задания о.-д. функции. В частности, может оказаться, что если для о.-д. функции /, определяемой этими уравнениями, взять любые канонические уравнения, то они не будут совпа- дать с исходными уравнениями. § 4. Операции над о.-д. функциями При определении операций над о.-д. функциями удоб- но исходить из классов Р^ и ^д.л- В РС1Й, так же, как п в вводится операция супер- позиции: сначала определяется понятие формулы над системой функций из Р^ а затем каждой формуле со- поставляется функция из Легко видеть, что спра- ведлива Теорема 3. Класс детерминированных функций замкнут относительно операции суперпозиции.
92 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ Суперпозицию детерминированных функций удобно изображать графически в виде блок-схемы. Если система содержит тождественную функцию, то суперпозиция сво- дится к многократному применению элементарных супер- позиций вида /(Х) = Ш(*‘),.... /.(Х»)у. Рис. 12 Поэтому достаточно указать, как выглядит блок-схема для элементарной суперпозиции (см. рис. 12). На блок- схеме квадратиками изображе- ны преобразователи, которые реализуют функцию, написан- ную внутри квадрата. □ Теор е м а 4. Класс о.-д. функций замкнут относительно суперпозиции. Доказательство. Так как класс о.-д. функций содер- жит тождественную функцию, то для доказательства теоремы достаточно установить, что функция /(X), получаемая из о.-д. функций /0, Д, .... jm по формуле /т=/.(А(Х’)./„(X”))-, является о.-д. функцией. Поскольку, как и прежде, функция рассматривается с точностью до несущественных переменных (а при до- бавлении и изъятии несущественных переменных о.-д. функция переходит в о.-д. функцию с тем же весом), то можно считать, что функции ..., fm зависят от одних и тех же переменных ад, ..а?п, т. е. /(^1? • • , J • • •, ^п) ) . Выпишем канонические уравнения для /<>, Д, ..., /т: 2о (0 = (^х (О, • • ->Ут (*)» 5i (i — 1), ..5?0 (« — 1))( Й (0 = G1 (у, (Z), (О, й (f - 1).....<7?0 (t - 1)), ?10 (О = ч (у, (/), ..., ym (t), <fl (t - 1), ..., (t -1)), 9?(0)- ... -S?,(0)-0;
ГЛ. 3. О.-Д. ФУНКЦИИ С ОПЕРАЦИЯМИ &3 (0 - Л to О),• • •» ^(0, <71 (* -1), ..4^ (t - 1)),: д\ (О = G1 to (О,. • •» ^ (0> ?! (г — 1),..., (* — 1)), • • * ............... д|, W = G\ (*! (О........ХП (<), ?1 (t - 1), ... л (I - 1)). ?1(0) = ... = ?;1(О) = О; г™ (I) = Fm(x, (О, • • ; Ъ (О. 9?' V - 1).С (« - !))« q™ («) = G^x, (t), ..., хп (J), <£ (t - 1). ..., g?„(t - 1)). g"„ (t) - C («, («), • • - , (t), qTn (t - 1)), дГ(0)=... =?- (0) = O. (Предполагается, что символы gj для разных пар ((, Я различны.) Покажем, что / можно задать также при по- мощи канонических уравнений. В самом деле, положим ’О 0 1 1 тп m \ ««» j 91» • * j Qiqj 91» .•» 9^> • • »9i >• • » 9imy = ('<'i> • • i 9i> • • • * 9ij)» * n ( tfl rn о \ * • .1 ^1, ...» 2^n, 91 1 • • ’» 91mJ> 91» • • » 9i0Jf C( о oi 1 m rn A ij • * *, 9i> ••• i QIqj 9i> •••» 9;x» .•»?! »•• •» 9imJ = GJ ..., ^,5-},... 1 ’ ч F™ (xii • • • i xri,_ 9i i ..., 9(^j,9”, a.., 9/o^ (z = 0, ICjX/oL (i>04
54 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ Тогда уравнения г(0 = F (х, (0....(t - 1), ..j?, («-!),... ...,«Г(г-1)..... С <«-!)). (?> (0 = Gij (05 •••1я'» (0» 71 U 1)’ • •» в !)’••• .. .,«?(« - о,, • .,Сд - о)- ?J(0) = 0, О г С т, задают, очевидно, функцию /. Теорема доказана. В РД1 ft определим операцию О, называемую операцией введения обратной связи. Определение. Детерминированная функция /(хъ ..Xi, ..x?i) зависит от переменной я, с запазды- ванием, если для любых входных последовательностей oci = {qi(1), «1(2), ajf), . ап = {ап(1), а„(2), .a?1(f), ...) и любого момента времени t значение 7(f), где у = /(аъ ссп), полностью определяется значениями первых I членов по- следовательностей OCtj « № СХ{—О* л и значениями первых t — 1 членов последовательности cti (следовательно, 7(f) не зависит от a.(f)). Пример 5. Рассмотрим функцию /(х) из Рд2, Для которой 7(f) = ос(4~1) и 7(1) = 0, т. е. /(х) осуществляет сдвиг входной последовательности на один разряд. В даль- нейшем мы эту функцию обозначим через х. На рис. 13 представлено дерево для х. Из рисунка видно, что х — о.-д. функция с весом 2 и имеет следующие канонические уравнения: z(f)=g(f~ 1), q(i)— x(f), е(О)=о.
Легко видеть, что функция я зависит от х с запазды- ванием. Пусть f{xu ..., хп) зависит с запаздыванием от пере- менных xiv.. ,,ж^, тогда, очевидно, для любых входных последовательностей oti = (ai(l), aJS), ..., ап = {an(1), ал(2), ..., ct„(£), и любого момента t значение f(i), гДе 7 =/(аь ап), полностью определяется значениями первых t членов по- следовательностей OCj, . . ., —J, , (Zis—1, C4{s-f-i, . , . , Ctn и значениями первых t — 1 членов последовательностей «ip ...,% (значит, 7 (£) не зависит от агх (^)> • • * 1 (0)- В случае, когда /(т1; ... ..хп) е Рсд ъ можно дать определение зависимости от переменной xt (1 I л) с запаздыванием на языке канонических уравнений: /(.Ti, ..., хп) зависит от .т< (1 С i /?) с запаздывани- ем тогда и только тогда, ког- да / можно задать канони- ческими уравнениями МО, М*~1), M-i)), М0 = ММ0, МО, g,(t — 1), g.-(i-l)), (*) ql(t) = G, q;(£-l)), Qi(0)=... = Q£(0) = 0, в которых функция Хп, с/ц ..., qt) как функция из Рк существенно не зависит от xit
В примере 5 видно, что F(x, т. е. F не зависит существенно от х, что согласуется со вторым определе- нием зависимости от переменной с запаздыванием. Пусть теперь о.-д. функция f(xi, •••> ^0 зависит с ианаздыванием от переменных #ip xijt. Тогда из (*) для каждого xiv (v »= 1, ..s) можно найти канониче- ские уравнения, описывающие /, вида 2 (i) = F\) (f), . . . j 3Tjv—] (Oi a'iv + 1 (0> • * .. .,x„(t),gi(i — 1), — 1)), ft (0 = Gi Cri (*)» • • , (О- <7i (* — 1), .. ., ft U — 1)), qi (0 = Gi (xi(0i • • •»(0, ft (^ — 1),, qi (t — l))t ft(0) = ... = ft(0)==0, где Fv получается путем доопределения из некоторой функции F't Fv^Pk и существенно не зависит от Яц,. Таким образом, из F' мы получа- Таблица 4 ем? вообще говоря, различные до- *1 F'(xu х.) 0 0 0 1 1 1 определения Возникает вопрос, можно ли по- добрать доопределения так, чтобы Л - ... - F, = F4 (Другими словами — найти такое доопределение F, кото- рое бы существенно не зависело от Если F' — произвольная не всюду определенная функ- ция из Рк, то гарантировать этого нельзя, в чем можно убедиться на следующем примере. Пример 6. Пусть F'х2) определена на множе- стве <S, где с? = {(0, 0), (1, 1)} и <§Гс:£2ХЕа (См. табл. 4). Очевидно, что Ft(xt,, x2)'^Xi и F2(xu х2)^х2 являют- ся доопределениями F't причем существенно не зави- сит от х-г, a F2 — от хл. В то же время не существует доопределения F', которое бы существенно не зависело одновременно от Xt и х2. Однако при некоторых ограничениях, которые в на- шем случае выполнены, поставленный вопрос допускает положительное решение.
Теорема 5. Пусть F'(хи ..qit ..qj—функ- ция из Ръ, определенная на множестве (S, являющемся цилиндрическим по xt, ..хп, и F' допускает доопреде- ления Ft, ..., F, такие, что F^ существенно не зависит от я* , существенно не зависит от х^ и т. д., наконец, F, существенно не зависит от xi$. Тогда существует та- кое доопределение F, которое существенно не зависит от переменных xilt .,», xis, Доказательство. Положим ^(*1.....7и • 7i) = 'F' па О вне <§Г. Покажем, что F существенно не зависит от . ,^1з. Пусть (Й, - .-X, *11, ---,Л/) и (Й, •--Х, Hi, . .0Л1) — два произвольных набора, которые совпадают для всех переменных, кроме, быть может, —,xis. Тогда в силу цилипдрпчности <F они оба одновременно либо ие при- надлежат множеству либо оба содержатся в <£. В пер- вом случае F (Й,, ..X, Л1, • • - ,Л() = ^(й, • - X, Л1.Л<) == О- Во втором случае F (С1, • • , Ст Л1» , Л?) — F (^1, . . ., Сп, Ли • • , Л*)* F (Й, • • -, Cm Ли . -., лО = Р' (Й, • , Й, Л1, • • , Л:). Покажем, что НЙ, ...X, Л1, •-чЛЭ -F' (й,. ..Хп, Ли ...,Л[)- а:,..., ?:.ч,.т!,) и (й*..a*,m.-.w)- В самом деле, если это не так, то найдутся два набора соседних по одной из переменных xiv ..., xis (напри- мер, xivy для которых из условия Й = й следует Й = ЙУ и F' (ь", .С, ’ll....Ч.) Ф F' (сГ, ..ЙЛ 41,...! л,). Но тогда F' невозможно доопределить до функции из Рк, которая существенно бы не зависела от ^iv, что проти- воречит исходному допущению, 7 с, В. Яблсвский
Таким образом, г существенно не зависит от ... ...» .t’ie и теорема доказана. Перейдем теперь к определению операции О. Пусть {/1(^1, .жп), г.., /т(.г,, .яп)} (т>2) — система детерминированных функций и пусть Л зависит от переменной х} с за- Рис. 14 между выходом d и входом j ватель, реализующий систему ных функций йаздыванием. Тогда, рассматривая эту систе- му как преобразователь с п входами и пг выхо- дами, мы можем d-ii выход соединить с j-м входом (см. рис. 14) — ввести «обратную связь» Мы получим преобразо- из т - 1 детерминировап- 1 (^11 . • . , 1, ; /<f+l (^Tj • • *1 11 ^j + 11 • • • • • • - • > An (-rlf ..rr;+1, . . . , Ж,.)], зависящих от n — 1 переменных ,,.э zn. Функции Л, ..., fa—11 /d+it • ••>/« формально определя- ются так: пусть а' — входная последовательность для Xij . , Xj— i, хп. 1) tРассмотрим а (1) = {<хх (1), ..., aj_t (1), 0, (Zj+1 (1),.. . .-,а,((1)}. По этому набору вычисляем fa в момент вре- мени 1, пусть это будет 'fd(l). Рассмотрим сх(1) = {а1 (1), ..., y(f (1), <Х;+1 (1),... -•>«»(!)} И вычислим функции /1, .. fd-i,/d+ь - /т по этому набору в момент времени 1. 2) Рассмотрим а (2) = {</, (2), ..(2), yd (1), а'-+1(2), ...,а^(2)]. По наборам а(1) и а (2) (т. е. в ко- нечном счете по наборам а(1) и а(2)-см. п, 1)) вы- числяем fd в момент времени 2 и получаем 7d(2). Рассмотрим а (2)==!^ (2), ..а^г(2), yd(2), а;+1(2), . • • *.., а,,(2)} и по наборам а(1) и ос(2) вычисляем значе- ния функций /1, , . /й-ъ/d-i 1J "'ifm в момент 2 и т. д.
ГЛ. 3. О.-Д. ФУНКЦИИ С ОПЕРАЦИЯМИ I) Рассмотрим a(Z) = {cti (Z), ,.., (Z), у,; (Z—1), ai+i(Oi • • i a“ (О I- По наборам а (1), а (2), сс (Z) вычисляем /а в момент времени t и получаем ’fd (Z). Рассмотрим a (Z) = [а, (Z), .,., ctj-j (Z), (Z). ce;+1(Z), ... • an(Z)}, по наборам a (1), a (2), . . cc (Z) вычисляем значения функции /к--/с/-i,/j-м, . •. ,/m в момент Z II Т. д. Если /j, ..fm — о.-д. функции, то операция О может быть определена через канонические уравнения. Пусть /л зависит с запаздыванием от переменной Возьмем систему канонических уравнений для Л, ..fm; z1(Z) = F1(^1(Z), 3j(Z), xn(t), ^(Z-l), ..., Za(i)= Fu(xi(t), ..., xn(l), g,(z-l), ..., — 1)), zm(Z) = Fm(Xi (Z), ^(Z), ..z„(Z), t/jZ-l), ..., q,(t - 1)), ffi(0 = Gi(-ri(0, • ^(0, • ••, MO, Q,(z)= G,i(0't(Z), 3?j(Z), .... T„(Z)\ Qi (* - 1)..... g1{O)=... = Q((O)=O. , Здесь прочерк в наборе аргументов у Fd обозначает, что Fd существенно не зависит от х. По этой системе ка- нонических уравнений путем выбрасывания б?-й стро- ки и заменой переменной Zj на строим новую систему
100 ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ уравнений: Zi (0 = Fi (Ъ (0, • F* (a\ (0, .. . xn(t), Qi(f- l)f ... ,.., ?<(*-!))....М0» g^t-1), Zj-j (/) == />, (0, ..., Fd (xt (0, ... ..., —, ..., x„(0, g,(t~ 1), ... .... Ф(г-1)),...» MO, Q1(z-1),..., *(*-1)), zil+1(0 = Mt(^i(0, ..., 2<(^i(0, ... .... , - . 2’n(0) ••• ..q.(t— 1) ), ..., Xn(t), qi(t- 1), ...» (t — 1)), Ftn(Xi(t), .... ГДМО, ... xn(l), gt(f™ 1), ... ... ^(i-1)), M0, Mi-1), .... qi(t) = Gl(xl(t), ..., F^x^t), ... -........MO, 9,0“ O> ••• .. ., q,(t-~ 1)), .. ., xn(t)t q^t— 1).qt(t- 1)), qi(i)=Gl(x\(t), ..., Fd(^(Z), ... ••J 1 • 4 ^•n(0} 0, ..., qt(l — 1)), ..., Л-Д0, qi(t — 1), ..., 5<(i — 1))\ ^(0) = ... = дД0) = О. Эта система уравнений, очевидно, определяет те же о.-д. функции Л,—, fd—\/т’ которые были опреде- лены выше. Отсюда следует также, что система о.-д. функ- ций, получаемая таким образом, не зависит от выбора канонических уравнений для /1? ..., fm (при условии, что Рл существенно не зависит от х}). Приведем пример, показывающий, каким образом вы- глядит применение операции О в данном случае. В каче- стве исходной системы о.-д. функций возьмем систему.
ГЛ. 3. О.-Д. ФУНКЦИИ С ОПЕРАЦИЯМИ {01 задаваемую каноническими уравнениями z(f) = x(f) + y(f) + q(t— 1) (mod 2), w(t) = x(t)y(t) V x(t)q(t — 1)V y(t)q(t — 1), ^(0= w(i), ff(0) = 0. Как было отмечено выше, обе функции z и w зависят от переменной и с запаздыванием. Посредством тожде- ства “(0 = w(t) введем обратную связь. После исключения получим сле- дующие канонические уравнения: z(t)=>x(t) + y(t) + q(t~ 1), g(i)==£(f)p(£)V;r(f)£(£— 1)V y(t)q(t — 1), ?(0) = 0. Таким образом, результатом операции О является о.-д. функция, представляющая сложение двух последователь- ностей. Теорема 6. Класс о.-д. функций замкнут относи- тельно операции О. Введение операции обратной связи можно более ком- пактно охарактеризовать в терминах подстановок функ- ций Flt ..., Fm из Рк, входящих в канонические урав- нения. Рассмотрим случай, когда операция О применяется дважды, и для простоты будем считать, что она применя- ется к парам (zi, зц) и (z2, х2) ((Jlf Л)™ (1, 1) и (d2, А) = (2, 2)) (что легко достигается перенумерацией функций и переменных). В основе канонических урав- нений лежат уравнения Zj F, х2, . •., Хп, , z2=F2(.r1? а?21 .... хп, ..., qt), .т2, ..., хп, Qi, .qt), которые, положив й = (х3, хп, q„ qt), кратко за- пишем z^FiiXi, х2, й), z2 = F2(xit х2, г7),
11)> ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ Tit К как по условию применима обратная связь (зъ то Fx = Fl (“, ^2; , т. е. Fi существенно не зависит от xt. При помощи под- становки Xi —/\(—, -Ъ, й) мы получим систему урав- нений -2 = ^2(^1(—, #2, Н), #2, к) По условию возможно введение обратной связи (z2) х,). Это означает, что F2(Ft (-, х2, и), ж2, и) существенно пе зависит от х2. Таким образом, введению обратной связи в последовательности (zu ац), (z2} х2) соответствует исключение переменных ад и х2 в исходной системе при помощи подстановок x1 = Fl(—, F2(Ft(—, xz, и), х2, и), и), х2 = F2(F1(—, х2, и), хг, и), причем правые части не зависят существенно от х2. Пример 7. Рассмотрим систему из трех о.-д. функций Zl(t) = x2(t)x3(t) V g(Z - 1) , Z2 = V x3(t)V q(t-l), zdi) = F3(xl(t), x2(t}, x3(t), q(t-l)), q(t) — x2(Z), x&{t), q(t - 1)), <7(0) = 0. Здесь можно применить операцию О к (гъ ад, zSj q), х2, х2, д) = = (я2£3 V q)х2 V х3 V q = V д. Полученная функция существенно не зависит от х2. По- этому мы можем далее ввести обратную связь (z2, х2). Введению обратной связи в последовательности (zh (z2, х2) соответствует пара подстановок 3j = V С/, х2 = х3 V д.
ГЛ. 3. О.-Д. ФУНКЦИИ С ОПЕРАЦИЯМИ 103 С другой стороны, невозможно осуществить введение об- ратной связи в порядке (z2, .т2), (zb х,), потому что АД-Л, ^2, Д’з, д) существенно зависит от переменной х2. Данный пример выявляет некоторые негативные сто- роны введенной нами операции О. Следующая теорема показывает, что для широкого класса ситуаций порядок введения обратных связей безразличен. Теорема 7. Пусть для системы о.-д. функций {/,, Л» * ЛЛ где т^З, возможно введение обратных связей и в порядке (zlt ад), (z2, za), и в порядке (z2, х2), (г,, л\). Тогда результаты применения операции О сов- падают. Доказательство. Поскольку к системе о.-д. функ- ций применима операция О как для (зъ я2), так и для (г2, ж2). то Л = Л(—, ^г, и), F2^F2(xif й). В случае применения операции О в порядке (zb (z3, х2) мы используем пару подстановок = ^2, и), —, и), м), ж2=Л(Л(~, я,, п), й), где правые части не зависят существенно от х2. Анало- гично, в случае применения операции О в порядке (г2, <г2), (z1? ^), имеем . xl=Ft(~, Fz(xlt —, й), й), я2 (—, A2(xlf —, й), н), и), где правые части не зависят существенно от z,. Подставляя в правую часть второго уравнения первой системы вместо х2 выражение , й) и в правую часть первого уравнения второй системы вместо хл выра- жение Ft(—, хг, й), мы получаем тождественные системы. Теорема доказана. Данная теорема легко обобщается на случай s-крат- ного применения операции О. Теорема 8. Если система о.-д. функций {Д, ..., /т} содержит функции /а1? ../dF (m > $ + 1; индексы попар- но различны), каждая из которых зависит с запаздыва- нием от переменных х^, .. ., Xjs (индексы попарно раз- личны)^ то тогда система функций, получаемая путем
104 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ введения обратных связей (dlt Д), ,(t?e, /,), не зависит от порядка введения обратных связей. Доказательство. В силу того что каждая из функций , fas зависит с запаздыванием от всех пере- мойных 37jlt .Z)s, введение обратных связей (di, /1), ... . • •, (d„ /.) возможно в любом порядке. Тогда на основа- нии обобщенной теоремы 7 получаем, что результаты при- менения операции О при любых порядках совпадают. Теорема доказана. Следующий пример показывает, что могут не выпол- няться условия теоремы 8, а результаты применения опе- рации О не зависят от порядка. Пример 8. Возьмем систему о.-д. функций zl(0a~^2(t)^(0V q(t- 1), z2(Z) = j;1{t)V x3(t) V q(t — 1), 2j(0 = №(0, МО, ^(0, g(O = G(^i(O, ^(0, ^(0, 9(*~1)), <7(0) = 0. Здесь возможно применение операции О в порядках (zb Xt), (z2, х2) и (z2, x2), (zb лд), и оно определяется одной и той же парой подстановок Xi = х, V q, х2 = 1. В дальнейшем при многократном использовании опе- рации О мы, как правило, будем иметь дело с ситуацией, описанной в доказанной теореме. При тех условиях, для которых справедлива теоре- ма, многократное введение обратных связей (d,, Д), ... ..., (da, js) можно изобра- жать так, как это сделано на рис. 15, ибо в этом изобра- жении пет упорядоченности обратных связей. С другой Рис. 15 стороны, многократное введение обратных связей (di, /з), ..., (da, je) для системы о.-д. функций /15 fm приводит нас к системе из m — а функций от п — s пере- менных, вычисление которых может быть осуществлено
ГЛ. 3. О.-Д. ФУНКЦИИ С ОПЕРАЦИЯМИ Ю5 посредством однократной процедуры типа процедуры па с. 98, т. е. одновременным пересчетом по переменным .., Zjg*)* Из теорем 4, 6 вытекает Теорема 9. Класс РОЛ,к замкнут относительно опе- раций С и О. § 5, Примеры полных систем В предыдущем параграфе построена функциональная система (Род,С, О). Теперь мы приступим к рассмотре- нию вопросов полноты. Для этого необходимо предвари- тельно изучить связь между функциональными системами (/’од, *, С, О) и (Pk, С) и разработать процедуры построе- ния «формул», выражающих о.-д. функции через более простые о.-д. функции. Как мы видели в § 1, каждой функции Ф из Рк соот- ветствует о.-д. функция /ф. Соответствие Ф + /ф порождает отображение Рк на некоторое подмножество о.-д. функций. Пусть Ф есть суперпозиция функций из характе- ризуемая формулой $1, а именно: Ф = &(Ф1, .... Фту. *) Данное вамечание справедливо и в случае, когда /ь ... ..., /,71 — система детерминированных функций, в которой функ- ции fd^, ..fdf вависят от переменных .., х.^ с вапазды- ванием. По аналогии с изображением операции обратной связи для преобразователей введем аналитическую запись для операции об- ратной связи. Если /[, ../т — система о.-д. функций и зависят с запаздыванием от переменных то обратные связи (di, /1), ,.ч (<?„ ;в) записываем: zi = K(xV ^ = 4<г1.......М’ ' zm Ал (Т1» • • •» хп)‘
Рассмотрим о.-д. функции /ф, /фт, ..., /ф1П, являющиеся образами в этом отображении функций Ф, Фъ ..Фт. Легко видеть, что ^(/фр • •/ф?п) = /и{Фг...,Фт) = /ф» т. е. образ суперпозиции, характеризуемой формулой является суперпозицией образов, характеризуемой той же формулой $1. Это утверждение иа языке преобразователей имеет совсем простой смысл. > Пусть преобразователь (см. ; г рис. 16) реализует функцию • Ф(^1, •из Если на вхо- хп Н___________ ды этого преобразователя пода- вать значения в моменты времени Ряс- t = 1, 2, ..то он, очевидно, бу- дет реализовывать о.-д. функцию /ф(^,, ..., ж„). Аналогично, пусть блок-схема (см. рис. 17) реализует суперпозицию Ф(ад, ..., = Ф0(Ф1(ж1, .... х„), ..., Фт(хи ..., яа)), где функции Фс, Фь ..., Фт принадлежат Рк. Если на входы этой блок-схемы подавать значения в моменты Рис. 17 £ = 1, 2, ..., то она будет реализовывать о.-д. функцию /фо(фг....фт) == /ф- Таким образом, отображение Рк на &к взаимно однознач- но и сохраняет операцию суперпозиции. Функциональные системы (Рк, С} и (^\, С), обладаю- щие указанными свойствами, называются изоморфными. Изоморфизм позволяет все результаты для {Ph, С) пере- нести па (JPk, С). В частности, отсюда следует, что £Рк
ГЛ. 3. О.-Д. ФУНКЦИИ С ОПЕРАЦИЯМИ 107 имеет конечный базис. В качестве базисов для можно взять, например: 1) /1) • > fk~ii 1 ‘ /minJXj.x.,), где fa, Л, ..fh-i — образы копстапт 0, 1, ..., к — 1; 2) [/у(х1,«2)}, где Р(ж1} х-.) — функция Вебба. Для произвольных о.-д. функций важно иметь их представления в терминах операций О и С через более простые о.-д. функции (аналог теоремы о разложении функций в Р2 и Pfe, к > 3). Как мы знаем, произвольная о.-д. функция может быть задана при помощи канониче- ских уравнений z(t) = F(xL(t), ..., 9i(0= (^i(0, • • Qi (t- 1), ..., qt(t- 1)), ql(t)=Gl(xl(t)1 .xn(t), qi(t- 1), ..., 91(0) = ... = q<(0) = 0. Они «выражают» функцию / с использованием функций из Ph и не являются «формулами» в системе (Род> fe, С, О), Однако нетрудно от них перейти к формуле системы (Р0Д1 k, С, О). Рассмотрим выражение 3 = • • -Л, 7п • - , Qi) qi = xTt, . ., q}). Легко видеть, что оно образовано из функций вида /ф (принадлежащих и х путем применения операций С и О: сначала в о.-д. функции Лч А?Р Ачна места по- следних I переменных подставлены о.-д. функции qL, ... ..., qt (операция суперпозиции). Функции Л (xL, .. ., xtl, qi, fGt (xL, ..., X:i, qY, Qt), ... /сг(^, . .., xn, 7i, .. ., qi) зависят от переменных <?., ..., д, с запаздыванием, по- этому возможно впедепне обратных связей, (в сплу тео- ремы 8 они не зависят от порядка) и результат приме-
нения операции О может быть записан в виде данного выражения. Следовательно, это выражение является «фор- мулой» в системе (Л,д, ь, С, О). Итак, произвольная о.-д. функция / может быть запи- сана в виде «формулы» (которую мы будем также назы- вать канонической формулой) через более простые о.-д. функции при помощи операций С и О. Теорема 10. Система о.-д. функций • • • 1 f Ifr-i *^2)5 /max ^2)1 полна e (Рол, ft, C, 0). Доказа тельство. Пусть / (ад, ..яп) — произволь- ная функция из Род,ъ Запишем ее в виде канонической формулы £ = fp (.Т^, г . .j . s .j ^l)u = /с^Сч, qy, qi)t Qi — Jgi (-^it *»* j Sit »< • j Функции fpifGv принадлежат множеству по- рождаются. (см. следствие на с. 107) системой |/(В • ч /fe—1» Л0(л;)» • ч /mlnC^H #2)}* /maxC^-ii ^2)}* Таким образом, каноническая формула может быть за- писана через функции исходной системы. Теорема до- казана. Л нал огичпо доказывается Теорема 11. Система о.-д. функций {fv(ar(, т2), х} полна в (/’„1Ч. h, С, О). Теорема 12. Пусть {Фъ ..., Фст1— некоторая пол- ная в (l\, С) система. Тогда система о.-д. функций {/<!>! (^11 « • ч xn)t • • ч /фтп (^it • • Ч является полной в (Рол,к, С, О). Следующее утверждение является обобщением резуль« тата В. Т>. Кудрявцева [11]. Теорема 13. Существует о.-д. функция / (аналоз функции Шеффера) такая, что система {/}, состоящая из одной згой функции, является полной (Род,ft} С, О).
Доказательство. Пусть F0(zb z2, xs, x4J — функ- ция из Pft, задаваемая формулой Ро (£1, я2, ^3, = max [zt я4 4- z3 (1 - z4), z2] 4- 1 (mod к) (здесь •, 4- и — берутся по mod А). Рассмотрим о.-д. функцию /(а*!, ж3, х3, = fFo (xlt х2, хя, х^. Покажем, что система {/} полна в (Род,*, Ct О). Положим Zj = z8 и рассмотрим Ро(^1, *i, ^)3max[z,, z2] 4- l(mod к]\=* V(xn z2J, где V —функция Вебба. Тогда в силу упомянутого выше изоморфизма /(zt> Х.2, Хл, Ж4)— fv(x x2). Данная функция, порождая все &k, позволяет построить функции /о, Д, ,fh-t и Рассмотрим суперпо- 8ИЦИЮ /х+й-1 (/ (/1, to, ft)! Хл)) = fx+h-1 (/j?0 (/lt /0, /0, 2гД) = = /го+Л—1(/1> /о- /о, = /fo(i,o,o,x4)+a— i~ ат4. Таким образом, из {/} при помощи суперпозиций мы получили fv(xu х2) и х, что по теореме И дает полноту системы {/}. Теорема доказана. Мы видим, что для системы (Род, ft) С, О) сохраняются некоторые свойства, которые справедливы для (А\, С). Прогноз других свойств системы (Род>*, С, О) затрудни- телен, так как, с одной стороны, функциональный объект Роа.* значительно сложнее, чем Рк, и, с другой стороны, добавилась операция О, Первое имеет тенденцию разру- шать положительные свойства, второе, наоборот — их уси- ливать. Заранее сказать трудно, какая тенденция окажет- ся доминирующей. Па самом деле в случае проблемы полноты оказалось, что сложность функционального объ- екта все жо влияет сильнее, чем дополнительная опера- ция. Для пояснения приведем без доказательства два ре- вультата. Формулировка первого из них может быть по- нята скорее содержательно, так как в ней используется понятие алгоритма.
11U Ч. 1. ФУНЬЦПиНАЛЬПШЙ UHU-lJLJVl-tH и и11^ГЛ.ЦД1Н1ЧЦ- Теорема 14 (М. И. Кратко [9, 10]). Не существует алгоритма, который, бы для любой конечной системы о.-д. функций выяснял, является она полной или нет. Теорема 15 (В. Б. Кудрявцев [12]). Мощность мно- жества предполных в (Род, ь, С, О) классов равна конти- нууму. Таким образом, проблема полноты для (Pon>k, С, О) содержит значительные трудности. § 6. О соотношении операций С и О Функциональная система (Род, А, С, О) обладает мно- гими специфическими свойствами. Однако их формули- ровка и изложение требуют значительно больше места, чем, например, для (Ph, С). Поэтому здесь мы коснемся только одного вопроса, связанного с тем, что в отличие от рассмотренных, система (Род, ft, С, О) содержит две операции С и О. Речь пойдет о том, в какой мере обе эти операции существенны. Более точно; можно ли вы- разить результат одной операции через другую п, в ча- стности, отличаются ли друг от друга операции замыка- ния в системах (Род,С), (Л>я,а, О) и (РОД1 *, С, О)? Сначала докажем некоторые вспомогательные утверж- дения. Теорема 16. Пусть X = (xt, ..., жп), а /(X)—о.-д. функция веса г; пусть ее — периодическая последователь- ность с периодом р. Тогда существует Fj (л С г) такое, что последовательность 7 (^ =/(«)) периодическая с пе- риодом ри где pt — г ip. Доказательство. В силу периодичности последо- вательности а, существует такое t0, что при t > £0 2s 1 ct(f + р)= О' (I). Функцию /(X) можно задать диаграммой Мура, содер- жащей г вершин. Возьмем числовую ось t и в точке t* (£* = 1, 2, ...) поставим две пометки: числа а((*) и «(/* — !)—номер вершины, в которую мы попадаем, ис- ходя из начальной вершины и следуя по пути (а(1), ... ..., «(£* — !)) (см. рис. 18). Рассмотрим далее решетку с начальной точкой i0 и с периодом р (см. рис. 19). Так как диаграмма Мура содержит г вершин, то в по- следовательности х (Л> - 1), х (/0 Р р - 1), ..., х (fu + гр - 1)
ГЛ. 3. О.-Д. ФУНКЦИИ е ОПЕРАЦИЯМИ 111 по крайней мере два числа совпадают. Пусть i и / таковы, что z(£a + ip- 1) = х(7й + /р- 1) (J>i>0). Положим Fi = / — i. Ясно, что гi < г. Рассмотрим надре- шетку данной решетки с периодом р{ = г^р и начальной &(2) ~х(0) МП a(t*) ’ • * ---Н— Рис. 18 точкой tu + ip (см. рис. 20). Очевидно, вершины tb + ip и t0 + ip + Pi характеризуются тем, что в них обе пометки а и х совпадают. Это означает, что в эти моменты вре- мени мы находимся в одной и той же вершине диаграммы x(t0+p-1) x(tB+lp-1) . . . Рис. 19 и перемещаемся затем по одному и тому же ребру. Тогда к следующему моменту мы попадем в одну и ту же вер- шину, т, е. пометки х(7й + гр), + также совпадают. Кроме того, в силу периодичности а и(f0 + ip + 1) = CL^to + jp -{- 1) и т. д. Отсюда вытекает, что и выходные последователь- ности hGo + ip}i ч(£й + ip + 1), . . h(*0 + 7>), 7(г0 + ур +1), ...} совпадают, т. е. при t t0 + ip T(f+ />,) = 7 (*)• Этим теорема доказана. Теорема 17. Пусть = ..., fm(X))tsde f<h fit - • *, /m — о.-д. функции с весами г0, гъ .,rm, не превосходящими В, и а — периодическая последователь-
112 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ ностъ, период которой содержит только простые множи- тели, каждый из которых не превосходит R. Тогда 7 = = /(а)—периодическая последовательность с периодом, содержащим только простые множители, каждый из ко- торых не превосходит R, to+ip*pj Рис. 20 Доказательство. Пусть а — периодическая после- довательность, период которой р содержит только про- стые множители, не превосходящие R. Рассмотрим по- следовательности 7l = A(cc), = По предыдущей теореме они являются также периодиче- скими с периодами Р1 = Г'\Р, • • •, Pm -= Гтр (г[, .. Очевидно, они содержат также только простые множите- ли, не превосходящие R. Рассмотрим, далее, вектор (ь ...» к); он будет периодическим и его период ра — общее наи- меньшее кратное периодов pi, ,.pm; значит, все его простые множители не будут превосходить /?, Наконец, последовательность T“A(h 7™)’ по предыдущей теореме будет периодической с перио- дом р'; P'-^pQ (r'Q^R). Таким образом, период р' также будет содержать только простые множители, не превосходящие R, Теорема до- казана. На основе этих утверждений мы докажем следующий факт. Теорема 18. Система (РоД,кгС) не имеет конечного базиса.
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ ИЗ Доказательство. Пусть имеет место противное, т, е. система (Род, ь, С) обладает базисом Д, ..Обо- значим через Г1, .,rt веса о.-д. функции Д, .. Пусть, далее, r«=max(rlt г.) и р — простое число такое, что р > г. Рассмотрим о.-д. функцию /Т(Х), которая принимает значение, тождествен- но равное 7, где 7 ~ периодическая последовательность с периодом pt имеющая вид у»0. ,»01 0,,.01 ... V V Функцию fj(X) нельзя выразить при помощи суперпо- зиции через функции /1....В самом деле, если Не- произвольная суперпозиция функций /j, ..., то она будет преобразовывать последовательность 0^(0, 0, ...) (ее период равен 1) в последовательность периодическую с периодом, не содержащим простые множители, большие чем г. В то же время /т(0) = у — периодическая последо- вательность с периодом р > г. Мы пришли к противоре- чию. Теорема доказана. Так как система (P<,R,k, С, О) имеет конечный базис, а (Л>д, м С) конечного базиса не имеет, то операция О является существенной. В то же время система (Род, й> О} по очевидным со- ображениям не имеет конечного базиса, поэтому операция С является также существенной. Глава 4 ВЫЧИСЛИМЫЕ ФУНКЦИИ § 1. Машины Тьюринга Из предыдущего следует, что о.-д, функцию f(xif ... ..,, Хп) можно задать при помощи канонических урав- нений <2(0=G(X(0. Эти уравнения позволяют строить по входной последова- тельности значений переменных ..., хп выходную по- следовательность, Более того, значения выходной после- 8 С, В, Яблонский
ш Ч. I ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ довательности находятся постепенно по мере поступле- ния входных значений. Это позволяет трактовать выпи- санные выше уравнения как описание работы некоторого дискретного преобразователя или автомата (рис. 1), ко- торый обладает г состояниями (г — вес о.-д. функции) и работает дискретно во времени, формируя состояние памяти и выходное значение в момент времени t ио состоянию памяти в мо- мент времени I — 1 и входным значе- ниям в момент времени t в соответ- ствии с каноническими уравнениями. Данное устройство, в отличие от реаль- ных автоматов (автоматических устройств), никогда не заканчивает работы. Можно ввести другую функциональ- ную характеристику, эквивалентную исходной, но имею- щую финитный характер. Из детерминированности функ- ции / вытекает, что отображение / порождает отображе- ние конечных последовательностей вида {сс(1), ..., сс (г')} в конечные последовательности {у(1)т ..., 7(1)} (i = 1, 2, Это отображение обозначим через ф(ж). Функцию ф можно задать при помощи тех же канонических урав- нений, что и /. Очевидно, что по функции ф(;г) полно- стью восстанавливается функция /(ж) (в этом смысле выше говорилось об эквивалентности ф и /). Класс функ- ций ф(х) обозначим через Роя,к- Функцию ф(х) можно интерпретировать как описание работы автомата в сле- дующем смысле: в моменты времени 1, 2, ..., г на вход поступают символы сс(1), а (2), ..., а на выходе получают символы у(1), 7(2), ..., y(i); в последующие моменты времени на вход ничего не поступает и автомат прекращает работу. В этом случае отсутствие информации на входе равно- сильно тому, что входной последовательности {«(!), ... ,.а (г)} соответствует бесконечная последовательность {«(!)’, ..а (О , А, .. где А — дополнительный символ входного алфавита, озна- чающий отсутствие информации. Появление на входе сим- вола А является условием останова устройства, т. е. по- явления на выходе последовательности h(i), 7(0» л> • ••>• Введенные нами устройства, работающие над конеч- ными входными последовательностями, можно трактовать
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 115 также в виде «машины». Опа состоит из бесконечной вправо лепты и автомата (см. рис. 2). Бесконечная лента разделена на ячейки, которые нумеруются натуральными числами 1, 2, ...; в ячейки 1, 2, ..i вписываются сим- волы <х{1), <х(2), .a(i) из алфавита (0, 1, А — 1). Автомат обладает, головкой и может находиться в одном 72 лента головка автомат Гис. 2 из (конечного числа) состояний хь ..., хг. Головка в каждый из моментов времени t (t=l, 2, ...) обозревает одну ячейку ленты (при 1 = 1 обозревается 1-я ячейка); по символу, прочитанному на ленте, и по внутреннему состоянию автомат вырабатывает новое состояние и не- который символ, который через головку вписывает в ту же ячейку (в начальный момент t = 0 состояние автома- та есть х,). После этого головка сдвигается по ленте на одну ячейку вправо и т. д. Машина останавливается при появлении в поле зрения головки символа А, и на ленте в ячейках 1, 2, ..i получается выходная последователь- ность 1у(1), 7(2), >(!)}. Работу этой машины можно задать при помощи так называемой программы, т. е. спе- циальной таблицы (см. табл. 1). В данной таблице строки занумерованы символами А, 0, 1, ..N— 1, а столбцы—символами хъ .хг. Строка, соответствующая символу А, оставляется неза- полненной. В клетку, расположенную в строке а (а#=А) в в J-м столбце, вписывается тропка символов {А (а, х>), Л, G(a, х,)}. Эта тройка называется командой. Машина выполняет ко- манду следующим образом: если головка обозревает на ленте символ а и машина к этому моменту находится в состоянии хь то в рассматриваемый момепт в ячейку вместо символа а записывается символ F (а, х(), а маши- на переходит в состояние G(a, Xj) и передвигает головку 8*
ИО Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ------ по ленте на одну ячейку вправо (/?). Если читаемым символом является символ А, то в соответствующей клет- ке таблицы стоит «пустая» команда, что рассматривается как команда остановки машины. Очевидно, что програм- ма машины полностью определяется каноническими урав- нениями для ср (д?). Т а б л п ц а 1 Х1 . . . . . . кг А 0 . . . . . . . .. . . . . .. а 'Г, л, G] • . . А - 1 . . . Данный тип машин можно обобщить, допуская более широкий класс программ и более сложное взаимодействие автомата с лентой. Так, приведенная на рис. 3 машина (обозначим ее через 2)?) состоит из бесконечной (но уже в обе сторо- Рис. 3 ны) ленты и автомата (см. рис. 3). Ячейки ленты нуме- руются целыми числами ..., —ц ..., —1, 0, 1, ..., I, в ячейки вписываются символы из алфавита {0, 1, ... (О в дальнейшем будет играть также роль пустого символа); автомат обладает головкой, способной
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 117 совершать один из актов: Л — сдвигаться на одну ячейку вправо, L — сдвигаться на одну ячейку влево и 5 — про- должать обозревать ту же ячейку. Символы х1ч ..Хг обозначают состояния автомата. Работа машины харак- теризуется программой Т (см. табл. 2). В пей часть кле- ток может быть незаполненной, т. е. содержать пустые Таблица 2 «1 К} xr 0 . . . . . . - . . • ; а . . . cDx . . . . . . . . . . . . . . . к — 1 . . . команды, а остальная часть заполняется тройками сим- волов, представляющими команды машины. Например, в клетку, расположенную в строке с номером а и у-м столбце (см. табл. 2), вписана тропка с Dx. В команде: с — символ из алфавита Ю, 1, ..., к — 1}, D — символ из алфавита {R, £, 5} их — одно из состояний {х,, ..х J. Пусть головка машины обозревает символ а, находясь в состоянии Xj, тогда: а) если в клетке (a, xj находится команда (сРх), то машина заменит в этой ячейке символ а на с, перей- дет в состояние х, осуществит движение D и приступит к выполнению следующей команды; б) если в клетке (а, х;) стоит пустая команда, маши- на останавливается. В начальный момент головка установлена над некото- рой ячейкой ленты (начальной ячейкой) и машина на- ходится в состоянии Xi (соответствующем левому столбцу программы Т). Таким образом, машина, начиная из исходной ситуа- ции (начального состояния и начальной ячейки), осуще- ствляет переработку исходной записи на лепте в соответ-
118 Я. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ Таблица 3 «1 0 1 нами машины называют- Тьюринга. 1. Пусть к 2. Рассмот- которая в произвольной ствпп с программой Т. Имеются две возможности: а) при работе машины появится пустая команда — машина оста- навливается и мы получаем заключительную запись на ленте (состояния, в которых машина останавливается, будем называть заключительными); б) при работе машины пустая команда не появится — машина не остано- вится. Введенные ся машинами П р и мер рим машину, записи, начиная из любой ячейки, дви- гаясь вправо, находит первый нуль. Очевидно, она может быть задана программой, записан- ной в табл. 3. В самом деле, возможны три случая. 1) В начальный момент головка видит символ 0. Ма- шина сразу останавливается. 2) В начальный момент головка видит символ 1 и справа от начальной ячейки запись содержит хотя бы один 0. Машина переместит | головку через массив из еди- |[ — ниц вправо и остановится над первым нулем. Рнс* 3) В начальный момент головка видит символ 1 и справа от начальной ячейки запись состоит сплошь из единиц. Машина будет перемещать головку через массив единиц вправо, не останавливаясь. Теперь введем ряд обозначений и понятий, связанных с записью на лепте. Будем изображать при помощи стрел- ки положение головкп па ленте в рассматриваемый мо- мент времени (см. рис. 4). То же можно записать еще и так: ...al Здесь стрелка относится к символу расположенному непосредственно левее стрелки, и обозначает, что головка в данный момент обозревает символ щ. Если лепта заполнена сплошь нулями, то иногда бу- дем говорить, что мы имеем пустую ленту. Для ячейки,
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 119 в которой записан символ 0, будет употребляться также термин пустая ячейка. Наконец, совокупность ячеек, которые посетит голов- ка, двигаясь из начальной ячейки до данного момента t, называется рабочей золой ленты в момент времени t. В дальнейшем нам придется строить машины Тьюринга, обладающие опре- Таблица 4 деленными специфическими свойства- ми. При этом удобно строить машины, исходя из уже построенных машин. Для этого мы введем принцип двой- ственности и два типа композиции машин. Принцип двойственности для прог- рамм (машин). Пусть Т — произволь- ная программа. Обозначим через 7Т* про- «1 0 1 грамму, которая получается из Т, если всюду в Т заме- нить в командах R на L и L на R. Программа Т* назы- вается двойственной к Т. Пример 2. Программа 71*, задаваемая табл. 4, оче- видно, будет двойственной к программе Т из предыдуще- го примера. Очевидно, что (71*)* = 71, т. е. понятие двойственности программ является взаимным. В последующем мы будем также машины ЭЯ и ЭЯ*, соответствующие программам Т и 71*, называть двойственными машинами. Легко ви- деть, что двойственные машины ЭИ и ЭЯ* в некотором смысле функционируют симметричным образом, а имен- но: если в начальный момент на ленте имеется запись I . .. а.г .. . (1) и машина ЭЯ в момент I ее переработала в запись I . . . Сг с2 . . . Cs . . ., то машина ЭЯ* запись I ... а2а1 (2) (3) имеющуюся в начальный момент и симметричную (1)
4. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ относительно ai} перерабатывает в момент t в запись I ... cs ... Ю симметричную (2) относительно с(. Например, программа Т* (см. пример 2) в силу этого эамечания должна, двигаясь влево, отыскивать первый нуль, в чем также можно убедиться непосредственной проверкой. 1-й тип композиции — последовательное подклю- чение одной машины к другой. Пусть 2И0 и ©й — две Таблица 5 Х] Hj » ••• » хг0 \ xr, 0 а k — 1 произвольные машины Тьюринга над одним и тем же входным алфавитом Ю, 1, .к — 1), множества состояний которых не пересекаются. Перенумеруем числами 0, 1, 2, Z—1 все пустые клетки (команды) программы То машины 2%. Пусть р (ж) — произвольный предикат*) на множестве {0, 1, 2, ..., I — 1). Построим машину 2Xt, кото- рую и будем называть последовательным подключением машины £3?1 к 2Я0 (относительно предиката р(х)). Для этого из таблиц То и Ti машин 2)10 и построим новую таблицу Т (см. табл. 5). В ней первая половина совпадает с таблицей То для тех клеток пз TQ, в которых стоит не- пустая команда. В тех клетках ц, для которых р(ц)=1, в таблице Т стоит команда aS'Ax (где а — номер строки, в которой находится эта клетка ц, а *i — начальное со- стояние машины SJlt). В тех клетках ц, для которых р(ц)=О, в таблице Т стоит также пустая команда. Вто- рая половина таблицы Т полностью совпадает с табли- цей Ти *) Предикат р (х) на {0, 1, ..., I — 1} — специальная функция из Pi. В дальнейшем встречаются двухзначные и трехзначные пре- дикаты. Они соответственно принимают значения из множеств {О, 1} и {0, 1, 2},
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 121 Очевидно, что работа машины 3U состоит в следующем: исходная запись ленты сначала перерабатывается маши- ной ЗЛ0, и если машина 3)?0 заканчивает работу на коман- де 1] такой, что р (ц) = 1, то содержимое ленты перера- батывается машиной При этом начальной ячейкой для машины будет ячейка, в которой остановилась маши- на Ф1В. Таким образом, машина ЗИ в некотором смысле осуществляет последовательную работу машин 5Л0 и SDlt. 2-й тип композиции — итерация машины. Пусть SC?o — произвольная машина Тьюринга и числами 0, 1, 2, ..1 — 1 занумерованы пустые клетки ее программы То. Пусть р (х) — произвольный предикат па множестве {О, 1, 2, ..I— 1}. Построим машину которую будем называть итерацией машины 2^, относительно предиката р(х). Для этого по таблице То построим таблицу Т ма- шины ЗЯ. Таблица Т совпадает с То вне клеток, являю- щихся пустыми для То. В тех клетках Т| таблицы То, для которых р(г|) = О, в таблице Т стоит команда aSih (где а — номер строки, в которой находится эта клетка ц, а х, — начальное состояние машины ЯЯ0). В клетках ц таблицы То, для которых р(т|)=1, в таблице Т стоит также пустая команда. Легко видеть, что машина 3)? в определенном смысле является итерацией машины 5Р?0, т. е. ее работа эквива- лентна многократной работе машины 3^0. § 2. Один метод построения машин Тьюрпнга Здесь будет описан способ построения машин Тью- ринга, который использует композиции машин и спе- циальный операторный язык для записи алгоритмов. Этот язык впервые был предложен А. А. Ляпуновым в 1953 г. (см. [21]). Поскольку сам язык носит вспомогательный характер, то пе имеет смысла давать его строгое формаль- но-логическое определение. Мы остановимся лпшь на кратком описании операторного языка и рассмотрим се- рию примеров. 1. Исходными объектами являются операторы, которые подразделяются на три группы: а) операторы, осуществляющие преобразование записи ленты, состояний машины и перемещение головки маши- ны. Эти операторы обозначаются заглавными латинскими буквами А} В, ... (иногда снабженными индексами);
122 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ G ОПЕРАЦИЯМИ б) операторы проверки логических условий, обозначае- мые символами pt или р\ и иногда снабженные индек- сами; и) специальные операторы, обозначаемые символами * И Ы. 2. Из операторов по определенным правилам строят- ся операторные схемы. Операторная схема представляет собой некоторую последовательность операторов, в кото- рой для всех стрелок в операторах проверки логических условий указаны операторы, к которым эти стрелки ведут. Например, выражение П *4^4^ будет операторной схемой. 3. Каждой операторной схеме сопоставляется некото- рый алгоритм, характеризующий преобразование записи ленты, состояний машины и перемещение головки маши- ны. Последние осуществляются при помощи следующих правил. а) Операторы в схеме «работают» в определенной по- следовательности. В данный момент налипает работать тот оператор, перед которым стоит символ *. б) Пусть мы имеем *4. Тогда запись па лепте, со- стояние машины и положение головки на ленте, имею- щиеся к данному моменту, преобразуются оператором А в некоторую запись на ленте, некоторое состояние ма- шины и некоторое положение головки. После этого фраг- мент схемы *4 перейдет в фрагмент 4*, что означает, что преобразуется также и операторная схема. в) Пусть мы имеем *pt (или *р|). В этом случае происходит вычисление предиката р по имеющейся запи- си на лепте и состоянию машины. В случае, если р = 1, то фрагмент *р\ преобразуется в pt*, т, е. мы перейдем к выполнению следующего оператора; если р == 0, то Я фрагмент *pt преобразуется в ’ т- е. выполняется да- лее оператор, к которому ведет стрелка. Для — аналогичное правило, здесь р — трехзнач- ный предикат, и в зависимости от его значения по согла- шению происходит одна из трансформаций т т * * t т ♦Р| => 1А *л => Р^ ЧА
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 123 г) Сочетание *(о обозначает конец преобразований или окончание работы. Пример 3. Рассмотрим операторную схему П oP/l j(O. Пусть операторы /10 и zlj обозначают преобразования за- писи ленты, состоянии и положения головки, осуществля- емые соответственно мапшпами Ж и ЭД,. Предположим, что состояния машин ЭД0 и-ЭД, не пересекаются. Пусть, наконец, р = р (х) — предикат, определенный па номерах ячеек (т. о. совокупности пар (а, х)). на которых маши- на ЭДа останавливается. Тогда операторная схема осуще- ствляет следующее преобразование. 1. Имеем *А0. Работает машина ЭД0 до останова (если он происходит) в ячейке с номером, скажем, ц. Схема перейдет в 1“ Ло « рА^. 2. Имеем *р. Вычисляется предикат р и: а) если р = 1, то получаем схему I---1 б) если р ~ 0, то получаем схему АцрА^ » и. 3. а) Имеем *ЛЬ Работает машина ЭД,. В случае оста- нова машины ЭД,, приходим к схеме * ы. б) Имеем Преобразование закопчено. Преобразо- вание, осуществляемое данной операторной схемой, явля- ется преобразованием, осуществляемым последовательным подключением машины ЭД, к ЭДС относительно предика- та р(ж). Пример 4. Легко видеть, что операторная схема “I
124 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ мижит интерпретироваться как схема, задающая преобра- зование, которое получается при итерации машины от- носительно предиката р. Теперь перейдем к описанию технологии программи- рования для машин Тьюринга, т. е. к описанию метода построения программы машины Тьюринга, осуществляю- щей заданное преобразование. Этот метод параллельно будет иллюстрироваться одним примером. Весь процесс программирования разбивается на четыре этапа. | I ГУТ |Т] мыльный Нймемп ___ \ ______________________ j 7 j I / I помеш Рис. 5 I этап. Пусть задано некоторое преобразование за- писи на лепте и положения головки. Допустим, что су- ществует машина Тьюринга, осуществляющая это преоб- разование. Сначала из неформальных соображений со- ставляют план осуществления данного преобразования. При этом стараются данное преобразование расчленить на более «простые преобразования», т. е. такие, для ко- торых либо мы уже ранее построили машину Тьюринга, либо ее легко можно построить. Пример 5. Пусть к = 2. Предположим, что требует- ся построить машину Тьюринга, которая осуществляет сдвиг массива из а +1 единиц (а = 0, 1, ...) влево на ₽ +1 ячеек (.3 = 1, 2, .,(вне массива лента пустая). Величину сдвига + 1 можно задать путем специальной установки головки в начальный момент. На рис. 5 изо- бражены записи на ленте и положение головки в на- чальный и в заключительный моменты. Требуемое пре- образование можно осуществить так: 1) Отмечаем начальную ячейку путем замены в ней символа 0 на символ 1. Оператор для этого преобразова- ния обозначим через Ф(0|->1* 1). В скобках показано, что символ 0 заменяется на 1 и головка остается на месте. 2) Движемся вправо (оператор Лх) до левой единицы массива.
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 125 3) Обозначим через а' и а” соответственно символ, обозреваемый в данный момент, и символ, расположенный непосредственно справа от а . Здесь а ~ 1. Выясняем, является ли единица, т. е. а', последней единицей в мас- сиве. Для этого вычисляем предикат р(а', а"), где (О при а" = О, р(а' а") = { „ . 41 ' |1 при а =1, В случае р ~ 1 4) Стираема' (оператор О(а')). 5) Возвращаемся влево до ближайшей единицы (опе- ратор А2). G) Приписываем справа от этой единицы еще одну единицу. Обозначим через соответствующее преобразование. 7) Возвращаемся (оператор р0, Р» — предикат, равный тождественно пулю) к В случае р = О 8) Массив состоит из одной единицы. Производим О (а') — стирание единицы. 9) Возвращаемся влево (оператор Л2) до ближайшей едппицы. 10) Движемся влево (оператор L) через массив из единиц и останавливаемся над левой единицей. II этап. Переход от составленного плана преобразо- вания к операторной схеме. Продолжение примера 5. В нашем случае опе- раторная схема имеет вид *Ф(01->14) | Л1р(а'я")10(а') Л2Ф(14 —> Н *) р0 । *О(а')Л2£со. Замечание. При составлении операторной схемы важно, чтобы заключительное положение головки после выполнения очередного оператора совпадало с начальным положением следующего оператора. Иногда для этого при- ходится вводить дополнительные согласующие операторы. В нашем примере согласование получается естествен- ным образом, кроме оператора р(а'а"), для которого мы считаем, что после его выполнения головка встает над а. Ш эт а п. Переход от операторной схемы к програм- ме машины. Сначала составляют программы для каждого из опе- раторов данной операторной схемы (кроме операторов *»
126 ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ Продолжение примера 5. Мы имеем следую- щие программы для операторов, входящих в схему (если операторы встречаются в схеме несколько раз, то про- грамму составляем для одного из них; см. табл. 6). Таблица О раем так, чтобы множества состояний для разных опера- торов не пересекались. Далее, операторную схему можно рассматривать как схему, определяющую композицию программ (машин). Для этого сначала «оборвем» все стрелки (кроме стрелок типа1). Будем считать, что каждый конец стрелки ведет к своему состоянию останова. В примере 5 получим следующую схему: *Ф(0* -*• 1|)И1р(а'й" ) ’0 («') Л 2Ф (1? -> 111)рй,0(а')Л2£,ы. Затем, беря фрагмент этой схемы Л1р(а'ал')т0(а,)42Ф(Р’* И1), строим программу, являющуюся последовательным под- клхочепием соответствующих программ. После этого пе- реходим к фрагменту | А1р(а'а")10 (а') 4аФ (Р -► И1) [ и стропм программу, применяя операцию итерации к пре- дыдущей программе относительно предиката рв. Далее, берем фрагмент * Ф ((Р-И1) а А,р (а'а’")1 0 («') /12Ф ( Р ->1Р) рс f
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 127 и по нему строим программу, беря последовательное под- ключение предыдущей программы к программе для Ф(04 -* I4). И, наконец, вся схема « Ф (О1 -> ll)f /V («'«")'() (я') Л2Ф(1Х -> 11а) р0 }10(«') Л2Гсо приводит к программе, являющейся последовательным подключением построенной программы и программ для Таблица 7 Ф( сД—ib At р(а'а'') О(а') X, z. zb X, xe 0 1 l.Sz, I5xg l/?x3 0/?x3 15 и 4 l/?z6 ОЛх- 1Лип 05zB 1.SxN 65xi, 15x12 05x« 05z8 Л3 —lib A., L <о zio Z,, X,, Z-ia xl4 *1. 0 1 OjLXg IS'Zjf 15xn 0Szl3 05x1P 0Lx,3 lSx14 07?xIB lLxH О (а'), А 2 и L. Окончательный вид этой программы дан в табл. 7, Замечание. При последовательном подключении программ, соответствующих двум соседним операторам В" и В" операторной схемы, образующим фрагмент В'В”, предикат р полагается равным тождественно 1, если опе- ратор В' является оператором, преобразующим запись ленты, состояния машины и положения головки. Если В' есть оператор проверки логического условия, то выбор предиката р согласуется с этим логическим условием. IV этап. Упрощение программы. Построенные дан- ным методом программы иногда допускают значительное упрощение по числу состояний. Здесь мы сформулируем некоторые принципы упрощений. Допустим, что программа имеет два состояния у/ и х" таких, что соответствующие им столбцы имеют пустые
12В 4 I- ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ клетки, в которые машина никогда не попадает. Пусть для каждой строки существует пустая клетка данного вида (по крайней мере в одном из указанных столбцов), Легко видеть, что тогда можно состояния х' и х" отож- дествить. Другой тип упрощений связан с операторами провер- ки логических условий. Мы поясним его па нашем при- мере. Продолжение примера 5. Состояния х8 и хт связаны с командами, которые осуществляют только пе- реходы к другим состояниям. Их мож- Таблица 8 но исключить, скорректировав'коман- Xi 0 1 15ха ды для xs. Еще одна возможность упрощений связана с командами, содержащими символ движения S. Пусть в клетке (с, х) находится команда c'Dx'. Тогда, если к этой команде можно непосред- ственно перейти только от команд с5х, и она не работает в начальный момент, то команду cD-/ в клетке (с, х) можно изъять, а все команды с5х заменить на c'D-л . Продолжение примера 5. В программе из табл. 7 к команде 15x2, находящейся в клетке (1, xt), можно непосредственно попасть только из команды ISz, Таблица 9 X, Xi X» X| хв «к X» «ts «14 «15 0 1 ЙУХ, l/?xs 0/?хя 1ЙУ-Б 0Ixlt lZx8 OSXj, 05xs OZxB 15xI0 15-Xi 05x,» 05X1, 0£x13 15x14 0/?xle 1^X14 того же столбца. Поэтому первый столбец программы мо- жет быть заменен на следующий (см. табл. 8). После этого можно отождествить состояния х, и х2, так как в ячейках (1, х,) п (0, х2) стоят пустые команды и в них машина никогда не попадает. Аналогичное преобразование можно проделать со столб- цами для xs и х4: изъять команду 1/?х5 и отождествить состояния х3 и х4. Наконец, в столбце хи команда 05ха никогда не работает и ее можно изъять, а 15хг можно
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 129 также изъять, внеся необходимые изменения в столбец для xte. Мы приходим к программе (см. табл. 9), содержащей 10 состояний. § 3. Машинные коды и их преобразования В дальнейшем мы будем рассматривать только маши- ны, у которых входной алфавит состоит из двух символов. Работа машины Тьюринга зависит от характера исход- ной записи на ленте. Далее чаще будут употребляться специальные виды этих записей, называемые машинны- ми кодами. Здесь мы различаем два типа кодов: основ- ные и вспомогательные. Основные машинные коды имеют следующий вид: ,..01. ..10... а+1 — массив пз а + 1 единиц; ... 01 ... 101 ... 10 ... 01 ... 10 ах+1 «2+1 — s массивов из otf + 1, аг + 1, ! единиц соответ- ственно, разделенных одним нулем. Основные машинные коды предназначены для задания чисел а и наборов чисел а,, сс2, . • из расширенного натурального ряда (множество, содержащее натуральные числа и нуль). Здесь кодом нуля является запись на лен- те, имеющая ровно одну единицу. С основными кодами связан ряд задач. Мы рассмотрим одну из них, относящуюся к нахождению левой единицы в основном коде. Более точно: требуется построить ма- шину, которая для любого основного кода и любого на- чального положения головки преобразует основной код в себя (оставляет его на том же месте) и встает над ле- вой единицей кода. Дадим подробное решение этой задачи. I этап. План работы искомой машины. Пусть ис- ходная запись на ленте имеет вид ... «0<4а2 •. 1) Выясняем, не пуста ли начальная ячейка, т. е. про- веряем условие р (cii т^0). 6 С. В. Яблонский
130 ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ 2) Пусть р (ci 0) = 1, т. е. в начальный момент го- ловка обозревает символ 1. Тогда отыскиваем левый ко- нец (т. е. левую единицу) основного кода (оператор Л!) и останавливаемся. 3) Пусть ^(щ^О) — 0. Тогда выясняем, будет ли пу- стой ячейка, расположенная непосредственно слева от щ, т. е. проверяем условие р(ао=О). 4) Если р (ай = 0) = 0, то возвращаемся к выполнению оператора Л,. 5) Если р(ао = 0)=1, т. е. = то символы а01 «1 заменяем на две единицы и останавливаемся над левой из них (оператор Ф 1к1)). Таким образом, вне основного кода построен сегмент, концами которого являются единицы. Первоначально длина его равна двум, но в дальнейшем мы будем его увеличивать путем сме- щения левой единицы влево, а правой — вправо. 6) Выясняем возможность смещения левой единицы сегмента влево на одну ячейку путем проверки условия Рл, где 1, если непосредственно слева от сегмента = . находится пустая ячейка, 0 в противном случае. Пусть = 1. Тогда: 7) Осуществляем смещение левой единицы на одну ячейку влево и затем движемся вправо до правой едини- цы сегмента (оператор Л2). 8) Выясняем возможность смещения правой единицы сегмента на одну ячейку вправо путем проверки условия Ри, где 1, если непосредственно справа от сегмента _ _ находится пустая ячейка, /7п — 0 в противном случае. •. Если ра — 1, то 9) Осуществляем смещение правой единицы на одну ячейку вправо и затем движение влево до левой единицы (оператор Л8) и возвращаемся к 6). Если рл = 0, то (10 ) Левая единица касается массива из единиц. Идем направо и стираем обе единицы сегмента. После этого возвращаемся влево до правого конца массива (оператор Л4) и затем переходим к
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 131 Если ра = 0, то И) Правая единица касается массива из единиц. Идем влево, стираем обе единицы сегмента. После этого возвращаемся вправо до левого конца массива (оператор Аъ) и затем останавливаемся. X j п l/?xn 0/fx]3 0-ftx12 1Ях, ILx 0 1 0 1 1Lx8 Ai 0 1 0 1 Obxlo <•21 0Lx23 0Lx.j3 07?х24 0/?x21 0 1 OAXje x2S 1 II этап. Запись операторной схемы, В нашем случае она имеет вид । । i — f Л*>Р (% 1ф №1 -> 1 1 0 P:i t лаРп[ лзр0 тл4р01 тльсо I I I 1 ।I Ill ST а п. Составление программ для отдельных опе- раторов (см, табл. 10). Здесь программы для рп, А3} А6 двойственны соответственно р.д, Аг, Л4. 9»
132 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ ч По операторной схеме и программам для операторов составляем программу рассматриваемой задачи (см. табл. 11). IV этап. Производим упрощение программы. Ко- манды, расположенные в столбцах х5, х7, хе, Хц, х17, ха1, Таблица 11 р(С|7^0) А, p(g,=0) Ф(аа1с;1-* ill) X» И» х4 У., и. Xi X» 0 1 0Sxfi 15х2 0Zx3 llXg 0/?х4 1£х2 0Ям4 01м е 05и? 15ха 1Ях8 1/jXg 15xs а । 1 1 а х„ X>s *14 «и x,a 0 1 11X10 05хц 15х1Т 1йхп 0Яхн 0/?х]а 1^х18 OSXjs 15ха1 l£xiB 0£и1е 0Zxie ISXg Ад Ав Ч| ^20 ха1 У.1г 0 1 0Ях1е 0/?Х] й OLx.jo 0 Лх^о l<Sxg 1£игг OZxjj 0/1 Xgg O/Jx24 можно изъять, так как в них мы попадаем непосредствен- но из 05х6, 05х7, 15хв, 1<$х13, 15х17, 15х21. После этого можно опустить состояния xs, х7, х9, х13, Хи, х21. Мы получаем программу с 18 состояниями (см. табл. 12)*). В дальнейшем, как правило, построение программ бу- дет доводиться до II этапа — составления операторных схем, так как оставшаяся часть работы трудностей не вызывает. Пользуясь принципом двойственности, легко построить программу, позволяющую находить правую единицу ос- новного кода. Несколько усложняя идею, можно построить *) В ней можно отождествить х4 в хм.
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 133 программы для нахождения правой или левой единицы i-ro массива основного кода. Определение. Решеткой с шагом I (ZJ>2). назы- вается последовательность ячеек ленты, номера которых сравнимы по модулю I. Всего имеется I решеток с ша- гом I. Таблица 12 X, X, X, x,. х1г 0 1 0£хв 15х2 0£хэ 1£х2 0/?х4 1£х2 О2?х4 177zs l.Sx2 t£xB 1£х1и OSxn U?xv I7?xu 0Лх1г 0Px12 lPxi4 х»« «1S «1. Z10 X-it ^22 X» *E« 0 1 Oyxjg l£xM П,х16 0£х1в 0£х1в 1£ищ 07?x1B 0Px1n (l£x2U 0/.х2() 1i5k2 0£xM 0Lxe3 JMixM 0T?x2J Лемма 1 (о моделировании на решетке). Пусть (Ш — произвольная машина Тьюринга с программой Т и I — произвольное целое число (1^2). Тогда можно по- строить машину 2R, которая на решетке с шагом I рабо- тает так же, как исходная машина ©I на всей ленте. Доказательство. По таблице Т (см. табл, 13) строим таблицу Т, в которой к каждому состоянию Xj добавлены вспомогательные состояния x)s ..., xj-1, I г1~2 xj, ..., xj , предназначенные для прохождения ячеек вне решетки и запоминания характера движения (см. табл. 14), где при D = St при D ~ при D = L. Из данной таблицы видно, что машина 2Л, находясь в ячейке решетки и обозревая символ а в состоянии х<, заменяет, как и машина символ а на с, совершает то же движение D и переходит в состояние х?, Состояние Xj зависит от характера движения: это будет Xj при D = 5, х] при D — R и xj при D = L, В последних
134 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ двух случаях головка машины сходит с решетки и далее при движении вправо проходит состояния х;,..X; * а при движении влево — состояниях;, х; , ..X; . За- тем головка попадает на решетку в состоянии Xj, смес- тившись по решетке на одну ячейку. Таким образом, в случае движения Я и L машина W1 делает на решетке Таблица 13 И1 *1 «г 0 . . . а . . . k — 1 то же самое, что и машина 2R па всей ленте, но за I шагов. Следствия. 1) Если Cj(a) = a при а — 0, к—1 и любом /, то машина 9Л вне решетки не меняет записи ленты. 2) Если при а — 0, ..., k — 1 и любом /, то машина 2)1 в пределах рабочей зоны производит очистку ленты. 3) Если 1 при а — 0, ..к—1 и любом j, то машина SR в пределах рабочей воны ставит 1, тем самым отмечает те ячейки вне решетки, в которых побывала соловка. 4) Возможны смешанные ситуации, например, Сг(а) — — Czi~2(a)=l при а = 0, ..к—1 и С;(а) = а в осталь- ных случаях. В этом случае машина 2)1 ставит 1 в преде- лах рабочей зоны на соседней решетке, являющейся сдви- гом исходной решетки на единицу вправо, и не меняет содержимого ленты вне этих двух решеток.
Таблица 14 Ki *1 . . . xj 1 K3 x}'-2 . . . 0 C1(O) Пк] Ca(0) Як‘] . . . C^tO) 6\(0) Zxj+1 C2Z_2(0) Lxj . . . . . . . . . . . . * • • . . . а cDkD j - . . GW irf G—1(°) C((a) Lx]+1 ^2l — L^j . . . . . . • .. • . . . . . • • < • • к — 1 . . . W - 1) йх? C2(7f - 1) Яи*? 1) Ct{k— 1) Z,x'j+1 . . . ^2l—2^—
Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ Введем следующее обозначение. Если А есть некото- рое преобразование на ленте, то А будет обозначать опе- ратор, моделирующий А на некоторой решетке (его по- ведение вне решетки будет специально уточняться). Перейдем теперь к описанию вспомогательных кодов. Мы различаем три вида вспомогательных кодовt 7-/7 peiifemMr в MuucuSoff UB ttf+1 В$ЦН1/Ц 2-/7 neureuwa с ниссиёин w й2/-7 единиц Рис. 0 s-я реи’ятна с ниссидсн из в. S+1 единиц а) l-кратный код определяется для произвольного на- бора «1, аг, ..., oij чисел из расширенного натурального ряда следующим образом: ... 01 ... 1(71 ... 1 (7 ... (71 ... 10 ...т ЦС4+1)” Цс^+17 l(as+l) где U — буферное слово длины I и U = 0С7', т. е. U начи- нается с нуля; б) решетчатый код определяется для произвольного набора аь аа, ..., аЙ чисел из расширенного натурально- го ряда. Это запись на ленте, которую можно разложить с помощью s решеток (последовательностей ячеек ленты), имеющих период s, на массивы из единиц, а именно: на первой решетке расположен массив из оц 4-1 единиц, на второй решетке расположен массив из а2 + 1 единиц и т. д., на s-й решетке расположен массив из <ze +1 единиц и начала этих массивов согласованы, т. е. идут на ленте подряд в соответствии с номерами решеток (см. рис. 6; на данном рисунке для наглядности каждая решетка изображена отдельно); в) квазиосновной код определяется для произвольного основного кода bibz...bv, где bl = bv=l, в виде следу- ющей записи: где 1J7J = ,.,= |LVJ =Z-1 (Z^2),
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 137 Таким образом, в квазиосновном коде на решетке с ша- гом I расположен основной код, внутренние промежутки заполнены словами Ut, ...t а остальная часть ленты — пустая. С машинными кодами и их преобразованиями связан ряд лемм. Лемма 2 (о преобразовании основного кода в /-крат- ный код). Пусть I — натуральное число (/>2). Тогда можно построить машину Тьюринга, преобразующую ос- новной код в соответствующий l-кратный с некоторым заданным буферным словом U, где |/7|=/ и U^OU'. Доказательство. I этап. Искомая машина бу- дет постепенно на ленте правее основного кода строить Z-кратный код. Для этого просматриваются слева направо символы основного кода и каждый символ основного кода на некотором шаге заменяется нулем, а справа пристраи- вается либо массив из I единиц, если в основном коде была 1, либо слово U, если в основном коде был 0. В про- цессе этого построения на лепте будет появляться слово, в котором между двумя соседними единицами не может стоять более I нулей. Для таких слов можно (как для основных кодов) построить машину, находящую его ле- вый (соответственно правый) конец. Обозначим соответ- ствующие перемещения головки на ленте через L и R. Таким образом, работу машины можно описать более точно: 1) выходим на правый конец основного кода (опе- ратор 7?); 2) отступая две клетки вправо, выписываем массив из I единиц. Данное преобразование обозначим через Ф (<^ ->а001 ... 1*); i ' 3) возвращаемся на левый конец основного кода (опе- ратор L); 4) просматривая первые три символа а'а"а'" с левого конца основного кода (а в последующем — в оставшей- ся части основного кода), вычисляем трехзначный преди- кат р(а', а", а"). Если а'а"а"1 = 11а'", то имеем I режим и переходим к преобразованию, которое указывается стрелкой t (pf). Если а'а"а"' = 101, то имеем II режим и переходим к оператору, следующему за р. Если а'а"а"' = 100, то имеем III режим и переходим к преобразованию, которое указывается стрелкой 4 (р,).
1,'!Я ч. I. функциональные спстемы с операциями I режим, 5) Стираем символ а' (оператор 0 (a') j; 6) Выходим на правый конец слова (оператор 7?); 7) Пристраиваем непосредственно справа от слова массив из I единиц (оператор Ф (а* ->а 1 . .. !•)); 8) Возвращаемся на левый конец слова (оператор L) и переходим к 4). II режим (первый символ а —последний в масси- ве единиц основного кода, но имеется по крайней мере один не обработанный массив из единиц в основном коде). 9) Стираем символ а (0(а')); 10) Выходим на правый конец слова (оператор R); 11) Пристраиваем непосредственно справа от слова буферное слово U и еще I единиц (оператор Ф (aJ -> -+aUl ?.. П)); i 12) Возвращаемся на левый конец слова (опера- тор L) и переходим к 4). III режим (первый символ а' является последним в основном коде). 13) Стираем символ а (О(а')); 14) Двигаясь вправо, выходим на левый конец по- строенного J-кратного кода и останавливаемся. II этап. Мы получаем следующую операторную схему: -> .11 )l р'а’а”?'") \с(а’}ИФ(а^1ц/7..лЫрг fto'itM \ t_________L........... >r I | Реализация операторов этой схемы не вызывает затруд- нений и по схеме легко может быть построена программа машины., Лемма доказана. Лемма 3 (о преобразовании решетчатого кода в ос- новной) . Пусть s — натуральное число, s > 2. Тогда мож- но построить машину Тьюринга, которая преобразует произвольный решетчатый код с параметром з в соответ- ствующий основной код.
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 139 Доказательство. I этап. Сначала опишем идею работы машины. Обозревая в начальный момент левую единицу решетчатого кода, машина отступает далее вле- во на определенное расстояние и постепенно справа на- лево формирует там основной код путем «перетаскива- ния» кодов с решеток, начиная с s-ii и кончая 1-й решет- кой (см. рис. 7). s ^ ... 7^ ... ... основной код реишпчатпый код Гис. 7 Более точно преобразование можно характеризовать так: разобьем его на последовательность более простых преобразований * 404,... Дсо. Преобразование Ао (предварительная подготов- ка ленты). 1) Отступаем от начальной ячейки (левая единица решетчатого кода) влево на s ячеек (опера- тор ^4)*)- 2) Непосредственно слева за этим промежутком впи- сываем единицу (оператор Ф(а1-*Гн)). Преобразование закончено. Преобразование Л, («перетаскивание» массива единиц с s-n решетки). 1) От ячейки, в которой опера- тор поставил 1, смещаемся вправо на 2s ячеек (опе- ратор Мы попадаем па левый конец массива, рас- положенного па s-ii решетке. Пусть а" — первые два символа на s-ii решетке (а7 —левый конец). 2) Выясняем, является ли а одновременно и правым концом кода путем вычисления предиката р(а\ а") (с возвращением к а'): Р(а'} «") “ 10 при а" = 0 (а' — правый конец массива)', 1 при а" = 1 (а' — не есть правый конец массива). *) В решетчатом коде подряд может стоять s 1 нулей.
140 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ Если р = 1 (а' — не правый конец массива на $~й ре- шетке), то: 3) Движемся до правого конца массива на этой ре- шетке (оператор Л). 4) Стираем последних! символ а в массиве (опера- тор 0(a)). 5) Возвращаемся на левый конец массива (опера- тор ь), 6) Смещаемся влево еще на 2s ячеек (оператор Rf) — мы попадаем на правый конец основного кода (вернее — построенного куска основного кода) . 7) Выходим на левый конец основного кода (опе- ратор £). 8) Приписываем слева к основному коду символ 1 (оператор Ф (а1 -* 1;а)). 9) Возвращаемся на правый конец основного кода (оператор /?), после чего переходим к 1). Если р = 0 (а — правый конец массива на 5-й решет- ке), то: 10) Стираем символ af (оператор 0(а')) . 11) Смещаемся влево на 2s ячеек (оператор ^Г),_ мы попадаем на правый конец основного кода, 12) Выходим на левый конец основного кода (опе- ратор L). 13) Приписываем слева к основному, коду символы 10 (оператор Ф(а! 1ф0а)). 14) Возвращаемся на правый конец основного ко- да (/?)’. Преобразование закончено. Преобразование А< (l<i^s) («перетаскива- ние» массива единиц с i-й решетки). Выполняется так же, как и А, с заменой операторов R± и L[s соответ- ственно на /?i+i и £/] И1 что обеспечивает попадание на i-ю решетку. Преобразова ние Ai («перетаскивание» массива единиц с 1-й решетки). Выполняется так же, как и А, с заменой операторов и ь, соответственно на /ц и Г/1 и изъятием операторов Ф(а; 110а) и R (см. п.п. 13) и 14)), поскольку э.ти операторы осуществляют подготовку к следующему преобразованию, а А± является последним. II этап. Очевидно, мы имеем следующие оператор-
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 141 ные схемы для преобразований Ло, 4„ ..., 4<э 4t: As~*Li /а)а, А.=♦ ^Rfsp(a’a")^RO'ff)LL^sL^>(at-^-1 a)RpJ1S(s, 'ff ")UУЧ Ф(а^1}Са)Ры, l,~ **Rfrp(itV\ Rftajliy 'Z Ф(а1 —/ . Лемма доказана. Лемма 4 (о преобразовании квазиосновного кода в основной). Для любого натурального числа 1(1^2) можно построить машину Тьюринга, которая произволь- ный квазиосновной код bJJ^.. .Uv-ibv, где It/J—... .« |[7v—it = 1—1, преобразует в соответствующий основ- ной код bib2. ..bv. Доказательство. I этап. Искомая машина сна- чала отступает на некоторый промежуток вправо от ква- виосновного кода и затем постепенно там формирует ос- новной код путем «перетаскивания» основного кода с решетки. Более точно преобразование состоит в следующем. 1) В начальный момент обозревается символ Ьь т. е. символ в узле решетки с шагом I, на которой расположен основной код. Движемся по решетке на правый конец основного кода (оператор Л), осуществляя стирание бу- ферных слов £7Ь ..., ?7v-it лежащих вне решетки (См. следствие 2 леммы 1). 2) Справа от правого конца (символ Ь¥) вписываем 3/ — 1 нулей*) и одну единицу (оператор Ф (bi-»- ->bv0 ... О I1)), после чего попадаем на ту же решетку. 3) Отыскиваем левый конец основного кода (опе- ратор Г). *) В квазиосновном коде может подряд стоять 21 — 1 нулей.
142 Я. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ 4) Пусть а а"а"— первые три символа в основном коде (в начальный момент это &1Ьг&3), Вычисляем преди- кат р(а'а"а"), принимающий три значения. При а" = 1 (основной режим) переходим к выполнению следующего за р оператора. При а"~0, а"~ 1 а является последней единицей в массиве п так как а = 1, то имеется по край- ней мере еще одип массив — переходим к выполнению оператора, указываемого стрелкой с пометкой а" =0, а" = 1. При а" = а!" =0 «' является последней единицей основного кода (т. е. а = fev) — переходим к выполнению оператора, указываемого стрелкой с пометкой а" «= а =0. Основной режим а" 1. 5) Стираем символ а (оператор 0(а')). 6) Движемся на правый конец основного кода (опе- ратор Л). 7) Перемещаемся вправо еще на 3Z ячеек (опера- тор 7?f). 8) Выходим на правый конец формируемого кода (опе- ратор R). 9) Приписываем справа единицу (оператор Ф(а| — -al1)). 10) Движемся на левый конец формируемого кода (оператор L) и переходим к 3). Режим а" = 0, а" — 1. Выполняем то же, что и в предыдущем режиме 5) — 10), кроме пункта 9), где выполняем оператор Ф(с?- аОН). Режим а" = а" = 0. Здесь стираем символ а' (оператор 0(а')) и, сме- щаясь вправо на 31 ячеек (оператор попадаем на левый конец искомого основного кода и останавливаемся. II этап. Мы имеем следующую операторную схему: Sw | . uV=0 if
ГЛ, 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 143 * § 4. Вычислимые функции Выше мы ввели систему /\0, содержащую все кон- станты из и все функции, определенные на наборах чисел из расширенного натурального ряда £S(j и ПрИШЬ мающие значения на#^. Сейчас мы определим более широкую, чем Р«о, систему функций. Пусть /(л'и ..., я:п) — функция, определенная на под- множестве Е} множества всех наборов (а1( ..ап) чисел из. расширенного натурального ряда и принимающая значения также из £к0 (вне множества Et функция счи- тается неопределенной). Такого рода функции будем на- зывать частичными функциями счетнозначной логики. Обозначим через ~ множество всех частичных функций счетпозначной логики. Как и в случае не всюду определенных функций из Р2 (см. гл. 3), можно ввести понятие несущественной пе- ременной. Определение. Переменная х, называется несуще- ственной для функции f(xh ..., rrn) из ₽к0, если суще- ствует функция /' из Рк0 такая, что /"(Xi, ..., а:„) = /(а:1, хп} на Е} и переменная не существенна для f(xit агп). В дальнейшем частичные функции будем рассматри- вать с точностью до несущественных переменных, отно- сительно которых множество Ef цилиндрично. В этом случае существует доопределение функции /, т. е. функ- ция f из Рц0, которая несущественно зависит от всех таких переменных. Определение. Функция f(xit £nJ, где/еРКот называется вычислимой, если существует машина Тью- ринга 2Я такая, что: а) при (oti, ..., atl)^E{ машина 9Л, будучи применена к основному коду для (at, ..ап) и находясь в началь- ном состоянии над его левой единицей, останавливается -и в заключительном состоянии на ленте выдает код для/(аь ап); б) при (alt ..ап) ^£/ машина 2JJ, будучи применена к основному коду для (сц, ..., ап) и находясь в началь- ном состоянии над его левой единицей, либо не останав-
лч----1. i. ujj-тхцнинлльньЦ!; ОИСТЕМЫ С ОПЕРАЦИЯМИ ливается, либо останавливается, но при этом запись на ленте отлична от кода любого числа из . яо Замечание. Константы из Е можно также счи- «о тать вычислимыми функциями с пустым множеством пе- ременных в следующем смысле. Пусть 7 е Е R . Рассмотрим машину, задаваемую табл. 15. Покольку 7 — константа, то в начальном поло- жении лента считается пустой. Очевидно, машина, начи- Т в б л л ц а 15 Таблица 16 X, хт-гй xt 0 1 1Ди2 1/?х3 . . . 1Лх^,_|_Е 0 1 15х, ОДи! ная от исходной ячейки, движется вправо и формирует массив из у + 1 единиц — код 7, и затем возвращается на левый конец массива. Приведем пример вычислимой функции. Пример 6. Покажем, что функция 0(z)s0 вычис- лима. Для этого возьмем машину, определяемую табл. 16. Очевидно, что эта машина «реализует» функцию 0(ж)®0. Заметим, что данная машина «реализует» также функ- цию /(2:1, ^2) = ^2H- 1 и константу 0 (как функцию, зави- сящую от пустого множества переменных). Обозначим через Ръыч класс всех вычислимых функ- ций. Очевидно, РВЫЧ£РЧК(1. Определение. Машина Тьюринга ЗЛ реализует (вычисляет) функцию f(xt, ..., яп) (из класса Рвыч) пра- вильным образом, если: а) при (аъ .,., ctn)e Е} машина 2Л, будучи применена к основному коду для (аь ..., а„) и находясь в началь- ном состоянии над его левой единицей, останавливается и в заключительном состоянии на ленте выдает код для /(«1, ...» а„); при этом останов происходит над левой единицей кода для /(cti, .... ctn); б) при (ап ..., an}&Et машина SDT, будучи применена к основному коду для (ос15 ..., ап) и находясь в началь- ном состоянии над его левой единицей, не останав- ливается. Легко видеть, что машина (см. табл. 16) реализует OGrHO правильным образом. -
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 145 Лемма 5. Если хп)—вычислимая функ- ция, то существует машина Тьюринга, которая вычисляет ее правильным образом. Доказательство. Пусть SDT — машина, вычисля- ющая функцию f(xi, хп). Соответствующее преобра- зование записи ленты, положения головки и состояний обозначим через А'. Рассмотрим преобразование А = *КхА’р 02Л'3и. Здесь Ki — преобразование кода для (ссь ..anJ в уд- военный код с буферным словом 01. На первой решетке будет код для (аь ап), на второй~ сплошной массив из единиц. А' — преобразование, моделирующее на первой решет- ке преобразование А'\ вне этой решетки А' в рабочей воне ставит символ 1. р — предикат, выясняющий вид слова на первой ре- шетке после работы оператора А'. Просмотр слова осу- ществляется при помощи второй решетки, которая своим массивом из единиц отмечает зону обследования на пер- вой решетке. Полагаем р=»1, если слово является масси- вом из единиц, и р ~ 0, если в слове найдутся две еди- ницы, между которыми имеется нуль, или в нем нет единиц вообще. 02 — преобразование, которое стирает все единицы на второй решетке и останавливается над левой единицей слова, расположенного на первой решетке. Ks — преобразование квазиосновного кода в основной. Из данной схемы видно, что в случае, когда после осуществления преобразования А' запись на первой решетке будет отлична от массива из единиц, преобразование зацикли- вается, так как будет все время вы- числяться предикат р. Машина ЭЛ, соответствующая пре- образованию А, и будет искомой. Лемма доказана. В дальнейшем для вычислимых пользовать исключительно машины, вычисляющие их правильным образом. Теперь перейдем к описанию некоторых простейших вычислимых функций. Рассмотрим следующие функции: Ю с. В. Яблокскнй ис-
140 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ 1) константа 0; 2) S(x)= х + 1; 3) Гт (яп .. »4 хп) = xmt где 1 < т п. Покажем, что данные функции вычислимы. Это уже сделано для константы 0. Вычислимость функций 5 (д’) и 1т следует из того, что они реализуемы следующими машинами (см. табл. 17а, б). Машина для идет направо (в начальном состоянии обозревается, как Таблица 176 1п 1т . . . xm— I v-m 0 1 0/?ха 0/Ъц О О to ЬЗ X X 5 S 1 F"* ** 0 ba ba X x S 3 -t- 1п т хгл4“1 кп «П-4-1 xn+2 Kn4 3 0 1 0/?Хт2_3 0/?Итд_|_1 114-1 1£хп_- .j 0Z7x(i^g всегда, левая единица основного кода) п стирает все мас- сивы основного кода для (сс1, .... ап), кроме иг-го, затем возвращается влево и встает над левой единицей остав- шегося массива. § 5. Операции С, Пр и ц На множестве определим три операции: С (су- перпозиция), Пр (примитивная рекурсия) и ц (мини- мизация) . Операция суперпозиции вводится так же, как и для предыдущих функциональных систем: сначала определя- ется понятие формулы St(^i, ..хп) над данной системой функций из?80, потом каждой формуле 91 сопоставляет- ся функция /sc (^1» • • -1 ^п), принадлежащая-? к 0- При этом, если на наборе (аь ..., а„) окажется, что одна из функ- ций, входящая в St, будет неопределенной, то считаем, что /й(сс1( ct(i)будет также неопределенной. Более точно, пусть Ф (^1, . . Хп) = /(/1 (*Т1, . . Тд), . .ftn (зЧ, • • ^я)).»
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 147 Возьмем произвольный набор (аъ ..а«) чисел из рас- ширенного натурального ряда. Если на этом наборе оп- ределены функции А, ..fm и функция / определена на наборе (A(alt tz„), ..а„)), то Ф опреде- лена на (cq, ..., ссп) и Ф(аи ..., а„) = / (A(oti.ссп), ... ..., ЛДоц, .ctn)); в противном случае Ф не определена на наборе (аь ..ап). Операция примитивной рекурсии определяется следу- ющим образом. Пусть (р(яь хп) и хп, хп+1, жп+2)*) — про- извольные функции ИЗ Построим функцию f(Xlt ... .хп, .Ги-н), используя «схему» примитивной рекурсии: f(^L, • ., Жп, 0) = ф (^1, • • , /(^1, ..хп, у + 1)== ф(жч ..., хп, у, /(^i, ..хп, у)). Пусть (txi, .ап+1) — произвольный набор чисел из £’К(). Полагаем /(аъ ..., ап, 0) = ф(а!, ..., «Л- Если <р на этом наборе не определена, то считаем, что не определена /(а1э ..., аи, 0), а также /(сч, а„, у) при любом у. В противном случае полагаем /(di, ..., а„, 1) = ^(а,, ..., ай, 0, /(а,, .а„, 0))'. Если правая часть не определена, то считаем, что /(«1, ..., (Хп, 1), а также /(at, ..., txn, у) не определены при любом у, у > 1 ИТ. д. Через конечное число шагов мы либо определим /(аь ..., сеп, ая+1), либо установим, что па этом наборе / не определена. Из данного рассуждения видно, что если /(cti, ..., ап, ап+1) не определена, то при р > art+J не опреде- лена будет также и /(аь ап, ₽). Про функцию / бу- дем говорить, что опа получена из функций ф и ф при помощи операции примитивной рекурсии. Пример 7. Покажем, что функция f(xu —7",+ + хг может быть получена через примитивную рекурсию из простейших вычислимых функций. *) Некоторые из переменных у и ф могут отсутствовать. 10*
148 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ В самом деле, /(^п °) /Оъ У + 1) = S(f{x1, у)). Замечание. Операция Пр позволяет для каждой функции ф(а\, ..., хп) вводить несущественные перемен- ные, а именно: f(xi, ..., хп, 0) = ф(х11 4Г„), /(*i, .... *», у + 1)==ф(аГ1, .... *п). Операция минимизации определяется следующим об- разом. Пусть ф(а;1, яп-1} аг„) — произвольная функция из Построим функцию агп-ъ #п). через опе- ратор минимизации /(аг,, яп) = Xn~i, y) = xn)t что означает, что для произвольного набора (аи ..ссп) составляется уравнение <р (cci, ..a„-t, у)= а„. а) Если существует у из *0» являющееся решением этого уравнения, то берем минимальное из решений и обозначим его через щ. Если значения <p(at, otn-!, 0)....<p(at, an_h |iu—1) также определены, то полагаем /(cti, ..an-i, сс„)= щ,. б) В противном случае, т. е. в случае, когда либо уравнение не имеет решений, либо хотя бы одно из зна- чений ф(аь ..ctn-i, 0), ..., ф(аь an-i, pj,— 1) не определено, функция f(ab ссп) также не определена. Про функцию / говорят, что она получена из функ- ции ф при помощи операции минимизации. Пр имер 8. Пусть ф (х) = х + 1. Определим через операцию ц функцию /(аг): /(а:) = ри(ф(у) = аг). Ясно, что |не определена при а? = 0, jar — 1 при х > 0.
ГЛ. 4, ВЫЧИСЛИМЫЕ ФУНКЦИИ 149 Данные операции позволяют построить три следующие функциональные системы, I. Множество Рчр всех функций, которые можно полу- чить из системы функций {О, 5 (х), 1т (х{, . .., Хп), < т С п, п ~ 1, 2, ...} при помощи операций С, Пр и щ называемое классом частично-рекурсивных функций. II. Класс рекурсивных функций, т. е. множество Р9 всех всюду определенных функций из Рчр. III. Класс примитивно-рекурсивных функций, т. е. множество Рпю всех функций, которые можно получить из системы {О, S (.т), 1 < m < п, п = 1, 2, ...} при помощи операций С и Пр. Очевидно, что Р <= Р <= Р CZ L Пр —- z;l — 1 qjj Ь= 1 8q. Предыдущий пример показывает, что класс Рчр суще- ственно шире, чем класс Рр. Можно показать, что и класс Рр существенно шире, чем класс Рпр, Рассмотрим примеры примитивно-рекурсивных функ- ций. Возьмем функции Sg(x), Sg(rr), [z/2], 2*, xt~x2 и xt х2, где (О при х = О, Sg (х) = I п Ц при х =/= О, __ [ 1 при z = О, $£ Gr) |д ПрИ х Qj *^2 ' О при хг < т2) — Х2 ПРП Х1 Х2' Функции [z/2], 2“ и xt • хг имеют обычный смысл: целая часть х/2, показательная функция и умножение. Их при- митивная рекурсивность вытекает из следующих соот- ношений: Sg(0) = 0, LSg(z + 1) = 1, Xi 0 = О, z, (хг + 1) = £^2 + f___ Sg(O) = 1, Sg (я + 1) = о, ( 2°=1, \ 2я+1 = 2-2". Здесь копстанта 1 получается суперпозицией 0 и <9(ж), Xt + xi примитивно-рекурсивна, а 2х получается из пее
150 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ суперпозицией; ( 0 — 1 = 0, [ Xt — 0 = xlt l(x+l)—l=rr, Ui ~ (^2+ l) = (a:1 — x2)~ 1, Здесь x — 1 — вспомогательная функция. Данные примитивно-рекурсивные функции позволяют строить многие другие примитивно-рекурсивные функции. Например, f(xlt ..., жп), равная нулю за исключением ко- нечного числа точек, в которых ее значения принадлежат Е к0,—примитивно-рекурсивна, В самом деле, пусть /(^i, .. .,хк) = = (р* при (rlt х„) = (с4, (111 4) (i == .д s) (О в остальных точках п EKo(i = 1, s). Рассмотрим функций где 11 при х = г. n i = 0, 1, ... и при х =^= i. Очевидно, ji(x) = Sg(x + (i— 1)) Sg(rc i) при i => 0 и 7o(z) = Sg(z). Положим Г1 при Cq, ..хн) = (jn .. /гр.-.Лл Ии |q в остальных случаях. Мы имеем jip,. -,in (^1» • » -i = 7ц (*^1) • » • 7in / (-^11 • ’1 a>'<) = S P j i i (^li * i ч
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 451 Последнее является аналогом разложения в дизъюнктив- ную нормальную форму. Б заключение заметим, что операции С и Пр, приме- ненные к всюду определенным функциям, дают всюду определенные функции. Отсюда вытекает, что класс Рр замкнут относительно операций С и Пр. Далее мы займемся изучением связи классов Рьь1ч и Рчр. Основная цель состоит в установлении тождествен- ности этих классов, § 6. Вычислимые функции и операции С, ITp, ji Теперь мы займемся изучением особенностей опера- ций С, Пр и р. над вычислимыми функциями. Как и в случае предыдущих функциональных систем, мы будем рассматривать функции f{xh хп) с точ- ностью до добавлений и изъятий несущественных пере- менных и, более точно, несущественных переменных оп- ределенного вида. Это связано с тем, что вычислимая функция хп) определена на некотором множе- стве Е/, которое не обязательно совпадает с множеством всех наборов (сц, .... aft) чисел из расширенного нату- рального ряда. Б этом случае, если рассматривать несу- щественную переменную по аналогии с функциями из Pk как переменную, от которой для наборов из Е} функция не зависит, то возникают некоторые трудности. Напри- мер, процесс изъятия несущественных переменных может быть неоднозначным. (См. соответствующее рассуждение для не всюду определенных функций из Рк в гл. 3.) Ввиду этого переменную х^ функции /(хи ..., а?я) из PttI4 мы будем называть несущественной (в узком смысле), если: 1) Ef цилиндрично по хд 2) / для наборов из Ef не зависит от х{. Операция удаления несущественной переменной (см. с. 12) уточняется следующим образом. Пусть для про- стоты /(xt, ..., х„) имеет несущественную переменную хп. По определению Ef цилиндрично по хп и / для наборов из Ef не зависит от хп. Рассмотрим функцию ^(Xi, ... xn-i) с областью определения Ев такую, что: 1) — проекция Et на подпространство (xt, ., xn~i) ; последнее в силу цилиндричлости Е} по хп эквивалент- но условию (аь ..., Eg тогда и только тогда, когда для любого (ссъ a„-i, a,()e£y;
152 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ 2) для любого (aIt ..., ««-J из Et g(at, ..., an-i) = /(«!, (Xn-i, 0). Операция введения несущественной переменной вы- глядит так. Пусть /(^ь ..:Гп)—вычислимая функция с областью определения Ef. Рассмотрим функцию h(xit ... ..Ял, +1) с областью определения Еь такую, что: 1) Eh — цилиндр по o'n+i $ основанием Е}, т. е. (аь ... .. <t ап, otn+i)<= Eh тогда и только тогда, когда (аь ... ..Яд) s Ej\ 2) для любого (ctb яв, яп+1)еEh h(ah ..., а„, ctn+1) = /(ai.ссп)’. Лемма 6. Из вычислимой функции при добавлении и изъятии несущественных переменных получается вы- числимая функция. Доказательство. Справедливость леммы докажем для частных случаев. а) Пусть g{xi, ..., получена из f{x^ ..., хп-и хп} путем изъятия несущественной переменной хп. Рассмот- рим преобразование код (аъ ..aB_t) -* код(«1, ..., ая-1} 0) -* -* код/(сС1, ..., an-lf 0). Соответствующая машина Тьюринга, очевидно, вычисляет ФУНКЦИЮ g(xt, ..., tfn-i), б) Пусть h{xu ..., яп, яп+1) получена из /(яо ..., хп) путем добавления несущественной переменной яп+1. Рас- смотрим преобразование код(аь ..., ctn, код(а1, «„)'-► код/(аъ . ..,a„). Соответствующая машина Тьюринга вычисляет функцию h(xi, ..., хп, xn+i). Общий случай сводится к доказанным с использова- нием следствия приводимой ниже леммы. Лемма 7*). Если f (З-it • ‘Г/и) , /1 (*Г1, • • -, Xn'j, • • >, /т(ЗД, . • ., *) В доказательстве леммы существенно, что вычислимая функция может быть реализована машиной, вычисляющей ее пра- вильным образом.
вычислимы, то функция АЛ^Ь . #«)) также вычислима. Доказательство. Рассмотрим преобразование «К^А^А^А^. КЛ — преобразование кода (<zb ..сс„) в (m + 1) -крат- ный код с буферным словом £7 = 0 ... 01. Очевидно, что т-Ь1 мы получаем на первых т решетках с шагом т +1 коды, совпадающие с кодом (ан ..сеп), а па т + 1-й решет- ке — сплошной массив из единиц. Л1 преобразует код(сС1, ..., ап) па 1-й решетке в код A(c*i....а„)> Е» 2-й » A(alf ..ап), нат-й » fm(ah ..., ап) и па т 4- 1-й решетке всюду, где побывает головка, ста- вится 1. Это преобразование выполняется путем исполь- зования т раз машин, моделирующих вычисление функ- ций ...» зЛ) (г = 1, • ••» т) (см. следствие 4 к лемме 1). Аг осуществляет «выравнивание» кодов Л(аъ ..., а„)’ на решетках i(i = l, ..., кг). Для этого на тЧ1-й ре- шетке находят левую единицу и сдвигаются влево от ное на 3m+ 2 ячеек*). Мы попадаем на первую решетку и осуществляем сдвиг кода А(«ь ..., ап) к этой ячейке (моделирование машины, осуществляющей сдвиг влево). Затем из ячейки, в которой находится левая единица на 1-й решетке, смещаемся вправо на одну ячейку — мы по- падаем на вторую решетку. Аналогичным образом произ- водим сдвиг кода /2(сс1т ..., ап) к этой ячейке и т. д. После сдвига кода АДоц, ..ап) па m-й решетке головка обозревает левую единицу на m-п решетке, и мы очищаем отрезок т + 1-й решетки левее этой ячейки, а затем воз- *) Левая единица на т + 1-й решетке может быть правее ле- вой единицы на 1-й решетке на m ячеек.
У55---Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ вращаемся к левой едипице на 1-й решетке. Мы получи- ли решетчатый код с параметром s = т + 1. К2 осуществляет преобразование решетчатого кода в основной. А3 в основном коде стирает последний т + 1-й массив и возвращает головку к левой единице кода. Мы имеем на ленте код (Mat, ..., ап), ../т(аъ ..ап)). преобразует этот код в код /(/1(«1, ..ссп), ... • • ч /пДОЦ, • •®п))« Очевидно, что данное преобразование выполнимо тог- да и только тогда, когда значение /(/<, ../,«) определе- но. Здесь, по существу, используется вычислимость функций /, /1, ..машинами правильным образом. Таким образом., машина, осуществляющая это преоб- разование, и будет искомой машиной. Лемма доказана. 12 ... т \ S4 " w” пРоизеольнал под- становка. Тогда • • • т ЛГ (*1» • • •’ • • •, М) = Следствие 1. Пустъ( Это означает, что функция, получаемая из вычислимой функции путем перестановки переменных, вычислима. Следствие 2. Лемма 7 легко обобщается на слу- чай, когда функции fa, ..., fm зависят не от всех перемен- ных Хл, . . ., Хп. Последнее достигается путем добавления всех недоста- ющих несущественных переменных (лемма 6.) из функ- ций fit ..., и применения леммы 7. Теорема 1. Класс Рьыч замкнут относительно опе- рации суперпозиции. Доказательство основано на использовании лем- мы 7 и того, что тождественная функция I] (xj) принад- лежит классу (см. замечание 3 на стр. 18). При рассмотрении операций Пр и у, мы будем иметь дело с анализом и преобразованиями кодов, расположен- ных на решетках с некоторым шагом L В связи с этим рассмотрим три оператора, которые содержательно мож- но охарактеризовать так: оператор р>(р, Р') производит сравнение двух чисел Р и р' (Р^Р'), расположенных на двух решетках; Р><$, рц „ I1 при Р'» (О при р =
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 155 оператор П(г, у) осуществляет перепое (без стирания) основного кода с i-й решетки на «пустую» решетку с но- мером у; оператор П/(г, у) переносит (со стиранием) заданный код числа / с г-й решетки на решетку у, располагая его через нулевой, промежуток левее основного кода, который находится на у-й решетке. Б дальнейшем будут рассматриваться решетки с ша- гом 3 и 4. Ниже доказываются леммы для случая, когда берутся решетки с шагом 4 и специальных значенш! па- раметров i и у. Соответствующие утверждения для других случаев доказываются аналогично. Лемма 8. Пусть оператор р>(р, Р') сравнивает чис- ла р и р' (р > р'), расположенные соответственно на 1-й и 2-й решетках, причем начало кода р' находится е ячей- ке, лежащей непосредственно справа от ячейки, в кото- рой начинается код р. Пусть, далее, в начальный момент головка обозревает начало кода Р, а в заключительный — ту же самую ячейку. Наконец, пусть преобразование не меняет всей записи на ленте и завершается в состоя- нии г.', если р> = 1, и в v.", если р> — 0. Тогда суще- ствует машина Тьюринга, реализующая оператор Г). Таблица 18 Х1 z* 0 1 1Яхэ 0/?х4 17?и4 Мх, Доказательство. Рассмотрим табл. 18. Очевидно, что эта машина останавливается при р > р' в состоянии х2 и при р = р' в состоянии Для того чтобы построить искомую машину, необходимо вернуть головку данной машины в исходное положение. Лемма доказана. Лемма 9. Пусть П(2,3) осуществляет перенос (без стирания) основного кода со 2-й решетки па «пустую» решетку с номером 3, причем в начальный момент обо- зревается левая единица основного кода на 2-й решетке, в конце преобразования—некоторая ячейка 2-й решетки, и запись на остальных решетках не меняется. Тогда мож-
156 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ но построить машину Тьюринга, реализующую опера- тор П(2, 3). Доказательство. Рассмотрим табл. 19. Она, оче- видно, определяет машину, реализующую П(2,3). После переноса машина останавливается на 2-й решетке правее основного кода в состоянии х9. Лемма доказана. * Таблица 19 X, х2 к» xs *• X, И* X, 0 1 1/?х2 1/?и3 0ЯхБ 1/?х5 0/?х6 l.S’x, 0/?х7 0Яхв 07?ха ту.; 15х, цсссиЗ и единиц Рис. 8 Лемма 10. Пусть оператор П/(3, 1)' осуществляет перенос кода / (массив из единиц) с 3-й решетки на пер- вую t располагая его через нулевой промежуток левее основного кода, причем в начальный момент обозревает- ся левая единица основного кода, расположенного на 1-й решетке, в конце преоб- разования — левая единица построенного основного кода на 1-й решетке и код f на 3-й решетке стирается, а за- пись основного кода на 2-й решетке не меняется. Пусть, далее, на 4-й решетке в начальный момент нахо- дится массив из единиц, ко- торый захватывает все точки этой решетки в пределах ко- дов первых трех решеток (см. рис, 8), и в конце преобра- зования имеем на 4-й решетке массив из единиц, также захватывающий все точки решетки, но в пределах по- строенных кодов на первых трех решетках. Тогда можно построить машину Тьюринга, реализующую оператор ПДЗ, 1). Доказательство. 1) Оператор ста- вит на первой решетке слева от основного кода симво- лы 10. 2) Смещаемся влево на единицу (оператор LJ, попа- даем на 4-ю решетку.
ГЛ. 4, ВЫЧИСЛИМЫЕ ФУНКЦИИ 157 3) Оператор £iv отыскивает левый конец массива из единиц на 4-й решетке. 4) Смещаемся влево на единицу (оператор попа- даем на 3-го решетку. 5) Оператор Гш находит левый конец кода / па 3-й решетке (движение вправо). 6) Анализируем начало а'а" кода на 3-й решетке, вы- числяя предикат (0 при а* ~ О, v (1 при а = 1. Если р = 1, то: 7) Стираем оператором Ош (а') символ а'. 8) Смещаемся вправо на единицу (оператор 7?i), по- падаем па 4-ю решетку. 9) Оператор A‘iv находит правый конец массива из единиц на 4-й решетке. 10) Оператор А, осуществляет сдвиг на единицу вправо. И) Двигаясь налево по первой решетке, находим (оператор Д) левый конец кода на 1-й решетке. 12) Оператор Ф (н* -* 1!«) пристраивает к этому коду слева на 1-й решетке еще одну единицу, и, далее, воз- вращаемся к оператору 2). Если р = 0, то: 13) Стираем оператором 0ш(а') символ а'. 14) Смещаемся вправо (оператор 7?а) на две едини- цы — попадаем на 1-ю решетку. 15) Отыскиваем (оператор Ах) левый конец основ- ного кода на первой решетке и останавливаемся. Считаем, что все моделирующие операторы на 4-й ре- шетке в пределах рабочей зоны ставят единицы. Операторная схема для П/(3,1) имеет следующий вид: ^11 ~ — Г -v Г Л , Лемма доказана. Теорема 2. Класс РЪЪ1Ч замкнут относительно опе- рации Пр. Доказательство. Пусть функция /(гь ..., xnt xn+i) определяется из вычислимых функций ср (ггь ,.хп)
138 ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ G ОПЕРАЦИЯМИ и хп, хп+1, хп+2) при помощи операции Пр че- рез схему /(^п хл, (i) = ^(xl, г,,)', /(xlt хп, у + 1) = ip(xt, ..., хп, у, 1(хь ..., хп, у))'. Покажем, что /(a?t, ..., хп, хп+1)^ Рвыч. Вместо данной схемы возьмем другую схему Нхь О) = ф(лг15 Хп], f(xi} ..хп, у + 1) -ф' (/(гг1? ..хп, yj, Xt, ..хп, у), Где if (^n+s, Xt, . . Хп, Xп +1) == • • -1 Хп, ЗСп+1, £-n+z) • В силу следствия 1 леммы 7 1|/ е РВЫч- 1) Оператор К, преобразует код^, ..., аЛ1 0) в четы- рехкратный код с буферным словом U = 0001, в резуль- тате чего получаем код, который разбивается при помо- щи четырех решеток с шагом 4 на три экземпляра кода(а!, ..а„, 3)? расположенных на первых трех ре- шетках, и массива из единиц на 4-й решетке (см. рис. 9) в пределах кодов на первых трех решетках. 2) Оператор Ф заменяет на второй решетке код 3 на код 0 и на третьей решетке стирает код 0, останавливается над левой единицей третьей решетки, после чего на вто- рой решетке имеем код (alt аи, 0') с 0'= 0 и на третьей — код (aIf ... 3) Оператор вычисляет на третьей решетке (р (<Xj an). 4) Оператор At отыскивает начало кода 0 на первой решетке. 5) Оператор /?>(£, £') (0>0') производит сравнение кодов чисел 0 и 0', расположенных на 1-й и 2-й решет- ках, В конце преобразования обозревается начало кода 0. Если = 1, то: 6) Оператор Li отыскивает левую единицу кода на первой решетке,
ГЛ, 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 159 7) Оператор ПДЗ, 1) переносит код /(ссъ .ссп, р'), равный коду ф(аъ ..., ап) при р'=0, с 3-й решетки на первую, располагая его через нулевой зазор левее основ- ного кода и стирая код / на 3-й решетке и в конце пре- образования обозревает левую единицу построенного ос- новного кода — кода (/, а1( ,.., ссП1 р)—на 1-й решетке. 8) Оператор Ln отыскивает левую единицу на 2-й ре- шетке. 9) Оператор П(2, 3) переносит основной код со 2-й ре- шетки на 3-ю (пустую) решетку, закапчивает работу в некоторой ячейке второй решетки. 10) Оператор Ьщ отыскивает левую единицу кода на 3-й решетке. И) Оператор П. (1,3) переносит код/ с 1-й решетки на 3-ю, располагая его через пулевой зазор левее основ- ного кода (вариант леммы), после чего на 3-й решетке получим код (/, (Zi, ..., an, р'). В конце преобразования обозревается левая единица этого кода. 12) Оператор Лу вычисляет код1|/(/, сс±, .аП) р') на 3-й решетке. Тем самым мы получаем /(С£Ь . . ., ССп, Р' + 1) “!]/(/, «1.ССп, 13) Оператор F+(P', 1) увеличивает на единицу код Р' на второй решетке и останавливается в некоторой ячейке 3-й решетки, после чего переходим к оператору 4). Если = 0, то: 14) Оператор 0(1, 2, 4) производит очистку реше- ток 1, 2, 4, ориентируясь массивом из единиц на 4-й ре- шетке, и останавливается над левой единицей па 3-й, ре- шетке. 15) Оператор К3 преобразует квазиосновной код, в ко- тором все буферные слова пустые, в основной код. Мы получаем код /(аь ..., ocn, f>). Здесь все операторы 1) —13) выбираются таким об- разом, что они не изменяют записи на других решетках, а на 4-й решетке в пределах рабочей зоны добавляют единицы. Операторная схема имеет следующий вид: »Л)1 AfP> (^Г) 1 Ll 2,4)/^& Теорема доказана.
Замечание. В доказательстве теоремы по существу используется свойство области определения функции /(яь .Яп-н): если /(а„ ..., а„, ссп+1) не определено, то при Р > ап+1 не определено /(<хь ..ап> [}). Теорема 3. Класс замкнут относительно опе- рации р. Доказательство. Пусть <p(«It .£n_t, xnY—вы- числимая функция. Покажем, что функция #„), где /(^1» • З'п}13 Рт(ф (^ij • * 3?n-lj Z/) = *£n)t вычислима. Рассмотрим вспомогательную функцию ^1, !/)• В силу следствия 1 леммы 7 <р' вычислима. 1) Оператор Я, преобразует код(аъ ..а„) в трех- кратный код с буферным словом V “ 001, в результате чего получаем код, который разбивается при помощи трех решеток с шагом 3 на два экземпляра кода(аъ ..ал), расположенных на первых двух решетках, и массива из единиц на 3-й решетке в пределах кодов первых двух решеток. 2) Оператор Фх. и (а* -* 1 1 Ос) пристраивает на первой и второй решетках к основным кодам слева код 0. всю!нсй юд 1-я psu/smxa ход р’ Рис. 10 3) Оператор 0п(«п) стирает на второй решетке по- следний массив — код аи. 4) Оператор вычисляет на второй решетке ф'(0» «и .... «п-i). 5) Оператор Л, «выравнивает» коды на 1-й и 2-й ре- шетках, т. е. располагает их на решетках так, чтобы пра- вый конец кода ф' находился в ячейке, непосредственно следующей за ячейкой, в которой расположен правый конец основного кода 1-й решетки (см. рис. 10). Выравнивание кодов может быть осуществлено следу- ющим образом: двигаясь по третьей решетке, выходим на
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 161 правый конец массива, затем отступаем вправо на 9 яче- ек и, сдвигаясь влево на одну ячейку, попадаем на 2-ю решетку, в которую сдвигаем массив из единиц (код ср') (см. пример 5) и, далее, из правого конца сдвинутого кода <р' отступаем влево на одну ячейку — мы попадаем на 1-ю решетку, в которую переносим основной код (обобщение примера 5). 6) Оператор ап) сравнивает код ф' и код otn, расположенные на 1-й и 2-й решетках (используем про- грамму, аналогичную программе в лемме 8), Если р = 1, т. е. ф' =/= а„, то; 7) Оператор 0(2) очищает 2-ю решетку. 8) Оператор F+(i/, 1) увеличивает код у на 1-й ре- шетке на единицу. 9) Оператор П(1, 2) переносит код с 1-й решетки на 2-ю и возвращается к оператору 3). Если р = 0, т. е. ср' = ап, то: 10) Оператор 0(2, 3) очищает решетки 2 и 3. 11) Оператор 0(1) стирает на 1-й решетке все, кроме первого, массивы из единиц. 12) Оператор К3 преобразует квазпосновной код в основной код и останавливается. Операторная схема имеет вид * Aj0(2)F+(y,1)П(1,2}р0. t --——---------i При реализации отдельных операторов пеобходимо учиты- вать их согласование и простановку единиц на 3-й ре- шетке в пределах рабочей зоны. Теорема доказана. Замечание. В доказательстве используется по су- ществу тот факт, что если хоть одно из значений ф(аи ... ..., an-t, 0), ..., ф(аь ..., «„-и 1) не определено, то /(аь ..., ал) также не определено. Теорема 4. Класс Ръь-Ч замкнут относительно систе- мы операций R — {Cy Пр, ц). Следствие. Рчр ~ Рвыч* Данная теорема дает возможность устанавливать вы- числимость функций, не прибегая к построению машин Тьюринга, путем доказательства их частичной рекур- сивности. Примеры: а) На стр. 149 построен ряд примитив- но-рекурсивных функций. В силу доказанного они явля- ются также и вычислимыми. П С. В. Яблонский
162 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ б) Пусть 1(х) = х*. Очевидно, что так как /(0) = 0, /(я4-1) = /(я)4-2я4-1. Следовательно, БЫЧ* § 7. Формула Клини. Частичная рекурсивность . вычислимых функций. Примеры полных систем Этот параграф мы начнем с установления примитив- ной рекурсивности некоторых функций. 1. Пусть р(я) обозначает число разрядов, содержа- щихся в двоичной записи числа х. Очевидно, что р(0)=1, _ р(я 4- 1) = р(я) + Sg(2pU) н-(я + 1)). Следовательно, р (я) Рпр. 2. Пусть ..., яп) обозначает натуральное число, двоичная запись которого имеет вид 1...1 О 1..Л ... О 1 ... 1 Примитивная рекурсивность доказывается индукцией по п; <М0) = 1, fM-Ti + 1)== 2i&i (я1)4-1, 0) = 4^п_,(я1, Яп-J+l, (j'l, . • ч Zn— 1, zn 4* 1)= 2'0’rt (яи ,.Хп—1, я„) Ч-1, 3. Рассмотрим функцию я(яи яг) (см. табл. 20). Эта функция называется пеановской функцией и служит для нумерации всех пар (аъ сс2) чисел из расширенного на- турального ряда. Очевидно, f х (Ж1 + (®1 + *2 + *) , л (я11 я2) = —--------------------- 4- = Г(*1 + »2) (*1 + *2 4- 1) 1 = ---------------------- 14- ;Гц т. е. является примитивно-рекурсивной. 4. С пеановской функцией л(яъ я2) связаны Л(я) и z \ г, w [я + Л1 р (я), Пусть X (я) == л (О, я) ,т. е. функция Х(я) 2
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 163 задается первой строкой табл. 20 для я. Значит, Определим функцию р(я) через табл. 21. Из таблицы видна связь функций л, Л и ц: значения функции я пробегают расширенный натуральный ряд и они делятся Таблица 20 0 1 2 3 0 0 1 3 6 . . . 1 2 4 7 2 5 8 . . . 3 9 диагоналями (xt 4- х2 = с) на конечные куски; если а (а е Е к 0)—произвольное значение из таблицы для л, то |л(сс) указывает номер с диагонали, на которой нахо- дится а, а Х(ц(а)) —наименьшее число из Е^^ лежащее на этой диагонали. Таблица 21 X 0 1 2 3 4 5 6 7 8 9 0 1 1 2 2 2 3 3 3 3 Из этих соображений имеем р(0) = 0, ~ ц(х+ 1) = p(x)+Sg {p (rr) — (л --> ?.(JI (:z)))}. Поэтому 5. Пусть (ct;, ct2) — произвольная пара. Тогда 7 = «=л(аь аг) — ее номер. Обозначим через 1{х} и г(^) функции, которые по номеру у пары (at, a2) дают ее 11*
164 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ компоненты ctj и ot2. Таким образом, /(,у) = а1 и г(у) = а2. Данные функции удовлетворяют тождествам л(/(х), r{x))^x, х2))~ хь г(л (т15 х2) х2. Так как Цх)~ х — X(j.i(z)), г(д’) = |л(;т) — Z(x), то Цх), г(х)^ Рпр. 6. Функции л, I и т могут быть обобщены па случай многих переменных, Пеановская функция яа(£|, .xt} определяет номер s-ки (а,, .,аа) чисел из расширенного натурального ряда, а функции ti(x), ..tt{x} указывают по номеру s-ки значения ее компонент, т. е. числа аь ..аа. Для s = 3 данные функции определяются так: ^Е) = л(хь л (хг, хя}), Л(х) = /(г), ?г(^) = /(г(я)), ti(x} = r(r(x)}. Очевидно, что л8(£t(я), f2(x), £з(т))=2, ft(n3(xt, z2, rr3)) = xt, ^(я3(Т1, х2, ггз))=х2, (3(л8(^1, х2, Из определения следует, что лл(ат х2, ял), tk(z), t2(x), /3(^) принадлежат Рпр. Для дальнейших рассмотрений нам понадобится один способ построения функций. Пусть х = (хь ..., хп) и функции ft(x, у), fe(xt у} заданы при помощи схемы одновременной примитивной рекурсии: /t(z, 0)= ф1(я), fs{x, 0)= q?s(х), А(^ 1)=М1(я. У, у)......./.(«, у}), • ••*••***«**•>•»• У, ft(x, у), ft(x^ у)), представляющей естественное обобщение схемы прими- тивной рекурсии. Эту схему используем для случая, ког- да фь ..., тр, примитивно-рекурсивны. Покажем, что эти функции могут быть получены из функций <jpti . •<р., ф1, ..а также примитивно-рекурсивных
функций л,, tlt ..А при помощи суперпозиций и при- митивной рекурсии. Рассмотрим функцию #) = яа(АСг, у), ..., /а(х, р)); мы имеем j(xt 0) = лД/1(д:, 0), ..., fs(x, 0)) = лДгрДгг), <рДя)), у + 1) = лД/Дх, у + 1), ft(x, у + 1)) = =л.(1Ь(лг, у, }Дх, У), Д(А Ю), ... 'М*, у, Ъ(х, у), ..., /Дх, р)))“ •=лв(гМА р, Л(/(х, у))....t(/(^, г/))), ... ..., фДх, у, M/fo у)), ts(I(x, г/)))) = Ш, У, У11, где у, г) = лДфД.г, у, tjz], ..., t(z))‘, ... Ф.(я, У, A(z), ..., f.(z)))’. Значит, f(x, у) может быть получена при помощи при- митивной рекурсии из л,(фъ ф4) и ф, т. е. f(xt у)& еРгр. Далее, AU, У)), А (я, £)=М/(а у)), поэтому /Дх, у), ..., /Дт, р)^Рср. Докажем теперь теорему о представлении вычислимой функции (а значит и произвольной частично-рекурсивной функции) через примитивно-рекурсивные функции в спе- циальной форме (аналог теоремы Клини). Теорема 5. Для всякой вычислимой функции f(xt, ..., а’п) существуют такие примитивно-рекурсивные функции Ft(xit ..., хя, у) и Gf(Xi, ..., хп, у), что Нъ, ...t xn) = F}(xl, ...» хп, цДСД^, ..., хп, у} =“())]. Доказательство. Пусть f(xlt ..., хД— произ- вольная вычислимая функция, которую мы будем запи- сывать короче как f(x), где x = (xlt хп). Рассмотрим машину Тьюринга, вычисляющую ее правильным обра- зом. Пусть Т — программа машины и xt, ..., кт — состоя- ния машины. Введем новое состояние х0 (символ х0 от- личен от хь ..., х,.) и дополним программу Т, заполнив все ее пустые клетки, а также клетки присоединенного столбца х0 следующим образом: если пустая клетка при- надлежит строке а, то в пее помещается команда a>Syxa. Полученную программу обозначим через Т', Если уело-
ЗБ0 Ч. 1. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ U ОПЕРАЦИЯМИ виться, что машина, соответствующая Т' (которая факти- чески работает так же, как исходная), останавли- вается, попадая в состояние х0, то она будет вычислять функцию / так же, как исходная машина с программой Т. & Для машины Т' рассмотрим Л | А * в момент времени t ее ленту и отметим на ней рабочую зо- 4-----т-*--------J ну, т. е, совокупность всех яче- ек лепты, состоящую из ячеек, Рис- 11 в которых побывала головка машины, и ячеек, в которых записан исходный основной код для х. По отношению к ячейке, которую в момент t обозревает головка, рабо- чая зона разбивается на две части S’, и — левую и правую части (см. рис. И). Кусок 3£ t расположен левее ячейки, обозреваемой головкой в момент f, — содеряшт остальные ячейки рабочей зоны. Обозначим через Д — натуральное число, запись которого в двоичном счисле- нии находится в ячейках 3?f, и через Д— натуральное число, запись которого в двоичном счислении находится в ячейках 3?,, если ее читать справа налево (инверсным образом). Очевидно, что А=Д«0, Д = Д« 0, где хг — натуральное число, запись которого в двоичном счислении совпадает с записью исходного кода ж, читае- мого справа налево. Пусть Д(а/, 0 —номер состояния в момент времени i, если в начальный момент запись на ленте характеризу- ется натуральным числом х . В момент времени i = 0 будет S?t =* А (пусто), совпадает с множеством ячеек, занятых записью основ- ного кода. Поэтому A (s', 0) = я\ 0) = 0, А« 0)=1. С другой стороны, очевидно, t + 1) = (7j0, A« t), fs(x\ t)), f2(x\ 1) = iM/i(Z, 0, f2(x', 0, /3(Z, 0), Д(х\ i+ 1) = ifa(Д« 0, Д(х', 0, Д« 0).
В самом деле, зная в момент времени t числа А(х', £), А(т', /), fs(x', t), мы находим число, обозреваемое голов- кой в момент времени £,— это будет младший разряд в двоичной записи fi(x\ t) и состояние машины, номер которого есть t). Эти две величины позволяют по таблице Т' найти новое значение этой ячейки, новое со- стояние (номер состояния) и характер движения и, в ко- нечном счете, числа fi(x\ t + 1), /а(^\ £ + 1)t f3(x', (+1). Эти преобразования и дают формулы для ipi, ф2 и “фз. Сейчас мы найдем их явное выражение. Для этого обо- значим через 7’i(zlt z2), T2(zh z2) и 7Ts(z1, za) соответ- ственно функции, определяемые таблицей и дающие по входному символу и номеру состояния соответственно новый символ, номер нового состояния и номер движения (2 — для движения L, 1 — для движения 5 и 0 — для дви- жения й). Для остальных значений из расширенного натурального ряда полагаем значения этих функций рав- ными 0. Очевидно, что Л, Т2, Та^Рар, так как они в ко- нечном числе точек принимают ненулевые значения. Обозначим через %(z) ♦) младший разряд z и для сокращения записи положим А = А« £), А = h(x\ t), А = А(х', t), 7 = Л(х(А), А), <* = Л(х(А), А). Тогда при любом d ~ 0, 1, 2 /в« Ж)=ША), А). Соответствующие равенства для fi(x', Z + 1) и f2(x', £ + 1) составим сначала отдельно для каждого случая: a) d = l (движение 5) t + l) = A^x(A)+7, А(я\ £ + 1) = А; *) Очевидно! что х(г) еAip.
6) d == 0 (движение 7?) А (Л i + !) f2(x\ t + 1) -= 2fs + у; в) d = 2 (движение Uj h (x\ t +1) = 2(Л x (Л) + О + x (Л), Вспоминая, что /Дя', t + l)\ /г (я', i + 1) и f3(x', t+ 1) — это значения функций Ф1, и if3, и объединяя соответ- ствующие равенства из разных случаев, имеем •"МЛ, /г. Л) = (Л X (71)+ Л(х(Л),/з)Н + + [у -Sgd+xtfJ-Sgfd-l), 1>2 (Л, Л, /о) = (2/2 + Г, (X (/,), /„)) -Si d + + Л-Sg d-Sl(d 1) + [^]-Sg(d 1), ’РзУп A.W-rjxCO.A). Отсюда вытекает, что 1[ч, фг, ^з^Т’пр/ Для функций Л, /г и f3 мы имеем схему одновремен- ной примитивной рекурсии. Следовательно, мы можем утверждать, что /ь /г, /з е Рв₽. Возьмем теперь ut{/8(^', г) = 0>. Данная функция принадлежит классу Рчр и определяет для каждого х момент останова машины. Если эту ве- личину подставить в Д, то получим т. е. если машина останавливается, то получим натураль- ное чдело, двоичной записью которого .будет код /(л:) .
ГЛ. 4. ВЫЧИСЛИМЫЕ ФУНКЦИИ 169 В таком случае, если учесть, что x' = fl'(slf Где fl (»Ci, • * •, ^-п)^ fln (‘Г», < • «| •fc'ijj ТО /(^i, ...»2,j=> “ Р (Л (А' (з>, .., р( (/а(fl' (ajj, () = 0))) ^ 1. Если положить = СГ1> •••! %п)> У))"^г Gi (Xi, ..я„, у) = /э (fl' (xlt ..Хп), у), то получим требуемое. Теорема доказана. Как следствие из теорем получается Теорема 6. Рвыч = /\р. Таблица 22 xi 0 1 2 3 0 1 0 0 0 - .. 1 0 2 0 0 2 0 0 3 0 .. . 3 0 0 0 4 . .. . .. Ив последних двух теорем имеем также, что каждая частично-рекурсивная функция может быть записана че- рез примитив но-рекурсивные функции в виде канониче- ского уравнения, даваемого представлением Клини. Теорема 7. Система функций {0, 5(х), Л (#)1 пол- на в РвыЧ относительно набора операций {С, Пр, ц}. Теорема 8. Система функций {0, 5 (я)} полна в Рвыч относительно набора операций {С, Пр, р,}.
170 Ч. I. ФУНКЦИОНАЛЬНЫЕ СИСТЕМЫ С ОПЕРАЦИЯМИ Доказательство. Функция (х) определяется через 0 и S(x) при помощи следующей схемы: Л(0) = 0л Л(а:+1)=5(/1(а:)). Теорема 9. В функциональной системе \Рялч, С, пр, U) существует аналог функции Шеффера*). Доказательство. Возьмем функцию /(ть ж2) (см. табл. 22). ОчевиднохJ = 8(Xj) и /(х1( S(zi) ) = Ofa,). Затем, как в предыдущей теореме, получаем I* {л\, х2), " ^1) и все x,t). Отсюда легко по- строить также класс ^ныч* *) Здесь через РБЫЧ обозначим множество ^тч\^80*
ЧАСТЬ II КОМБИНАТОРНЫЙ АНАЛИЗ Комбинаторный анализ занимается изучением объек- тов из конечного множества Е ~ {alt ,.яп} и их свойств. Этими объектами могут быть подмножества множе- ства Е, подмножества с повторяющимися элементами из множества Е, упорядоченные подмножества множества Е и т. п. Комбинаторный анализ является разделом дискретной математики, истоки которого уходят в глубокую древ- ность. В настоящее время интерес к нему значительно усилился. Благодаря этому комбинаторный анализ се- годня превратился в достаточно развитую ветвь матема- тики, которая непрерывно разрастается. Это делает труд- ным четко очертить круг объектов и их свойств, которые принадлежат комбинаторике. Ввиду этого мы начинаем с описания простейших (элементарных) комбинаторных объектов. § 1. Комбинаторные объекты и комбинаторные числа 1. Система подмножеств множества Е. Пусть Е = = {«1, ..., яп) — конечное множество. Рассматриваются все его подмножества. Эту систему обозначим через Пример. Е = {оъ а2, Система его подмножеств имеет вид: Oj == {А, {я 11, , {g3J, {ttj, a2ft {^i, QjJ, Яз^, {®it Gg, GaJI. 2. Размещения элементов из Е по к. Пусть Е = {аь ... ..а„}. Размещением элементов из Е по к называется упорядоченное подмножество из к элементов, принадле- жащих Е. Пример. Е = {оя3} и к = 2. Выпишем все раз- мещения из этого множества по 2: (flj, , (a2t G-i), (^1, G3), (я3, Я-i), (а2, Я3), (Яз, . 3. Перестановки элементов множества Е. Пусть Е = = {я,, ..ап}. Перестановками называются упорядочен- ные подмножества из п элементов множества Е.
172 ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ Пример. = ла, й3). Перестановками множества Е будут («1, Л1, as), («!, а31 (h), («а, Й-i, Аз), («а, «з, Я1), (а31 ah а2), (as, а2, сц). Очевидно, что перестановки — частный случай разме- щений элементов из Е по /с, когда к ~ п. 4. Сочетания элементов из Е по к. Сочетанием эле- ментов из Е но к называется неупорядоченное подмно- жество из к элементов, принадлежащих Е. Пример. Е={а^ а2, о3} и к = 2. Сочетаниями из Е по 2 будут {«!, а2), {«,, 6f3}, {(?э, й3}. 5. Сочетания^ с повторениями элементов из Е по к. Сочетанием с повторениями элементов из Е по к являет- ся неупорядоченная система из к элементов, принадле- жащих Е, в которой допускается повторение элементов. Пример. Е = {«!, а2, а3} и к = 2. Сочетаниями с по- вторениями из Е по 2 будут {щ, йД, {«1, й2}, {щ, й3\ {й2, <Лз, Лз\ Й3). 6. w-мерпый куб размера к Совокупность всех наборов (аь ..ссл) (упорядоченных сочетаний с повто- рениями) из множества £\={0, 1, ..., к — 1) по п назы- вается п-мерным кубом размера к и обозначается через = дьх...х£,.). п раз Пример 1. 3-мерный куб размера 2. Е2 = {0, 1k Мы имеем следующую совокупность наборов: (0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 1, 1), (1, 0, 0), (1, 0, 1), (1, 1, 0), (1,1,1). Эти наборы можно рассматривать как вершины единичного 3-мерпого куба (см. рис. 1). Пример 2, На рис. 2 изображен 3-мерный куб раз- мера 3. 7. Разбиения множества Е, Разбиением множества Е называется неупорядоченная система из непустых под- множеств (<?i, ..., ё’н) множества Е, обладающая двумя свойствами: 1) ^и...и^ = £; 2) для любых I, j (i=/=y) множества и не пере- секаются, т. е. n^e= А. Пример. Е = {йи й2, а3}. Разбиениями будут {{й1, й2, а3}), {{щ}, {а2, й3)}, {{й2), й3}), {{а3}} {щ, а2Н, <{аа), {й2), {а3Н. Существует много других типов комбинаторных объек- тов. Например: покрытия копенного множества, блок- схемы, булевы функции, системы частично упорядочен- ных множеств и т. п. Сведения о них можно найти
в [29, 30, 32]. Во многих из них комбинаторная сторона играет не основную роль (например, булевы функции), потому их естественно включать в другие разделы диск- ретной математики. Наряду с классами комбинаторных объек- тов рассматриваются и Рис. 1 так называемые комбинаторные числа, характеризующие число объектов в данном классе и зависящие от некото- рых параметров. § 2. Простейшие свойства комбинаторных объектов и чисел Здесь изучаются свойства, которые легко усматрива- ются из «комбинаторных» соображений. 1. Подмножества множества Е=* {ах, а2,..ая}. В ка- честве комбинаторного числа, связанного с обычно берут мощность &п, т. е. величину |®п1. Пусть <S Сопоставим <S взаимнооднозначным образом двоичный набор («t, а2, •.а»): (1, если [О, если «I ф <S. Отсюда получаем, что |б„1 = |£Ц = 2п. С другой стороны, отсюда же получается простой алго-
Т.. IX. £\VJ±^-L>rx nxi A ДПАк'ШД ритм порождения (перечисления) всех подмножеств. Для этого строим все наборы (аъ ..., аЛ) исходя из (0, 0), на каждом шаге прибавляя 1 к соответствующему двоич- ному числу. 2. Размещения элементов пз Е по к. Обозначим’ число таких размещений через (n)ft. При построении конкрет- ного размещения на 1-е место можно поставить любой из п элементов, на 2-е место — любой из п — 1 оставших- ся элементов и т. д. Поэтому (п)к = п(п — 1) ... (п — к + 1) при 1 С к < п. (1) Считаем (п)\ = 0 при к>п, поскольку при к > п не существует размещений из п по к. Кроме того, полагаем (О)0 = (/г)о=1. Для чисел (n)ft выполняются тождества (n)ft = n(n- !)*_„ (rt)^(rc)ft-i (п- к + 1)\ Используя первое из них, с линейной сложностью строим таблицу 1. 3. Перестановки элементов множества Е. Перестанов- ка из элементов — частный случай размещения при к = п. Поэтому для числа перестановок имеем («)Л = п(п —1) ...2 • 1 ==п! Как обычно, считаем 0! = 1. Числа п1 в табл. 1 располо- жены но диагонали. Далее мы приводим сведения о числе е и неравен- ствах, связанных с числом е, а также оценки для «1 Число е. В дальнейшем это число будет часто встре- чаться. Дадим его определение. Покажем, что суще- ствует + "п) * Пусть аи j . Очевидно,
ч. II. комбинаторный анализ та Сравним это число с лп4-1* «п+1 = 1 + 1 + (1-7“г-т)1”2 + ••• +(1~;гп) • * ’ * ’ (1 ~ nTljl-2-...-л + (1 Т^г) ’ ‘' (1—zTplJb 2 -...•(«+!)' Члены, входящие в ал+1, соответственно не меныле чле- нов из ап. Отсюда ап < ап+1 и {а„} — монотонно возрастающая последовательность. Кроме того, так как 0»-1 + 1 + (1—4)г2+ 1 п — 1 п + +! + !+? + <3,
176 Ч. И. КОМБИНАТОРНЫЙ АНАЛИЗ то эта последовательность ограничена сверху. Поэтому она имеет предел — его и обозначают через е, т, е, е = hm [14— . П-»со \ П / Из доказательства следует, что при п > 1 2<(1+ 4)"<е<3 (2) и, в частности, nln(l + -J<l. (3) Для последующего важно и другое неравенство (п + In (1 + “'I > If (4) которое может быть получено из рассмотрения графика функции У = — (рис. 3). Сравнивая площади фигур, первая из которых ограничена осью х, прямыми х = п, х = w + 1 и графиком у = 1/х, вторая — осью х, прямыми х « = п, х = п + 1 и касательной _ 1 к кривой в точке х — п 4- -g i имеем я+1 Г d х 1 J £ п-f- 1/2 и ИЛИ 4) In (1 Оценки для п! Приведем две грубые оценки для п!, ис- пользующие элементарные доказательства. Первое неравенство п! >(п/е)". (5)
Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ 177 Доказываем но индукции. При п = 1 имеем 1>1/е. Ин- дуктивный переход: (п + 1)! > (п + 1) (л)" = ЦА > 2±1 „ D /n + iy*1 \ е ) ’ где использовано неравенство пп>(н+1)п/е (см. (2)). Второе неравенство п!<2(|)". (6) Доказательство использует хорошо известное неравенство УаЬ С (а + Ь)/2 (для положительных а а Ь); п! = пЦ1.(п- 1))(2-(«-2)).,.]< <2(т)[(тПтГ-’МтТ- 4. Сочетания элементов из Е по к. Сочетание отлича- ется от размещения тем, что в нем не учитывается по- рядок. Поэтому каждому сочетанию соответствует А! раз- мещений. Отсюда получается формула для числа сочетаний из п элементов по А* (0 к С п): ( п А _ п (п — 1) ... (п — Н-1) и! ft! Al “ АЦ/i—Ajf V> Из данной формулы вытекает, что Иногда удобно выражение доопределить и для слу- чая к> п: поскольку при к > п не существует сочетаний из п по к. В дальнейшем, если не будет специальных оговорок, счи- таем, что к п. Отметим одно тождество, которое легко получается из (7) { П\( —( П\(П~Г\ fQ\ \ t }\r]~\r )\1—г]г если О С г С i < п. 12 С. В. Яблонский
178 Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ По аналогии с понятием унимодальной функции [1] введем понятие унимодальной последовательности {аА}, где к = 0, 1, ..., п. Определение. Последовательность {«J действи- тельных чисел называется унимодальной, если существу- ет такое кп, что а0 < . < ahn akn+i > aku-t-2 > > ... >anf т. e.: 1) последовательность строго возрастает на отрезке [О, АЦ при кп > 0; 2) последовательность строго убывает на отрезке [А\ + 1, п] при кп + 1 < п; 3) максимальное значение принимается не более чем в двух точках: кп и, быть может, кп + 1 *). Теорема 1. Последовательность чисел к »• = 0, 1, ..п, унимодальна, и кп*= [л/2]. При четном п максимум достигается в точке кп = [п/2] = п/2, а при не- четном п — в двух точках: кп = [п/2] = (п — 1)/2 и кп + + 1»(й + 1)/2. Доказательство. Оценим отношение двух сосед- (п I // п 1 п — к 1 k J [k — ----к-----* а) При к [п/2], т. е. 7с<(п + 1)/2, имеем (п — Л-Ь + 1)/Л> 1. Поэтому ( 1)>1* б) При к — 1 > п — [п/2], т. е. к — 1 >• п — ——- = п — 1 п — & + 1 _ . П / п \ I п \ . *= —, имеем -------;--< 1. Поэтому I , // , . <71. 2 к \к Л \к — 1J Теорема доказана. Следствие. Максимальное значение ( ) при фик- (п \ [«/2]) ‘ Обозначим через Gn,ft множество всех сочетаний из {fli, .... по к и через ft(Gn_lr h_t) — множество всех сочетаний из {ач, ..On-J по к (соответственно по k~ 1). Так как каждому сочетанию из если оно содержит элемент аП} соответствует сочетание из Оп-^ а если оно не содержит ап, соответствует сочетание из *) См. [1]. Легко усмотреть следующую связь: если сущест- вует /(ж), определенная на [0. л] и f(k) = «ь тогда из строгой унимодальности /(ж) следует унимодальность {йа}.
Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ 179 Gn-i, к» то существует взаимно однозначное соответствие между GtL, k И Gn- 1, к U 1, к—1« В силу этого f п \ f п — 1А (п \ ~ \ * / + U—1/* Данное рекуррентное соотношение позволяет (и при том с линейной сложностью) построить для чисел J таб- лицу, называемую треугольником Паскаля, Сочетания элементов из Е = {лъ ..лп1 по к являются специальными подмножествами из Е, содержащими ров- но к элементов. Соответствующие им наборы (аъ а„) содержат ровно к единиц и образуют к-й слой п-мерного куба Е^. Отсюда следует, что k-ii слой содержит ( ? I 12*
точек. Следовательно, Е™ разбивается в прямую сумму слоев с номерами к = 0, 1, ..п и (о) + (1 ) + •+ (п) <9> С числами ( £ ) связано функциональное тождество, называемое формулой для бинома Ньютонах (1 + *)п = (о) + (1Г+ +Ur + ••• + Ur"5 * * * * (10) В самом деле, коэффициент при хК получается всевозмож- ными выборами из к скобок (1 + гг) переменного х и из остальных скобок 1, что дает как раз ( £ ) слагаемых. Полагая в (10) х = 1, мы получаем тождество (9). Если в (10) взять х = — 1, то получим (,о)-(1)+ +<-1)"(") = 0- (11) Покажем, далее, что .1-гМр) Г 1 При Г“П' (12) \ I /\ г ] [0 при Г < п. Опираясь па тождества (8) и (11), имеем Аналогично доказывается, что при m п m — г \ m — if 2 (- 1ГГ i=r 1 при г = ni О при г < п. (13) 5. Сочетания с повторениями элементов из Е по к. ттк Обозначим через лп число сочетаний с повторениями эле- ментов из множества Е = {аь ..ап) по к. m „ о trh — (п~^к~ И - Теоремам. n = I k I. Доказательство; Рассмотрим некоторое сочета- ние с повторениями из этого множества, содержащее к
Ч. II, КОМБИНАТОРНЫЙ АНАЛИЗ 181 объектов. Пусть в сочетании встречаются $ элементов • • • г а18 (1 < ii < ... < is л ) соответственно с кратно- стями кь ..ка, где kL + ... + ка = к. Мы будем это соче- тание записывать в следующем виде: Установим взаимно однозначное соответствие между соче- таниями с повторениями объектов множества {щ, ..ап) по к и обычными сочетаниями иа множества (щ, ..ап, Ьь .. по /с, где символы at, ..., а„, &ь ..bh-i по- парно различны. Для этого сочетанию с повторениями поставим в соответствие сочетание ♦ • - ais^1^2 • • • • • * * • + l • -+^s—1^1 • —I4 Как видно, объекты из множества {&ь Ь2} ..Ьл-Д входят в данное сочетание массивами: Ъ1Ь2 ,,. • •» * I . ..4-As 1* Число массивов равно s, и каждый из них содержит соот- ветственно по fci — 1, /г2—1, ка — 1 объектов. Коррект- ность такого построения вытекает из тождества Отсюда вытекает также, что число объектов в сочетании равно Таким образом, построенное сочетание содержит по одно- му представителю каждого сорта объектов, встречающих- ся в сочетании с повторениями, т. е. «iL, .. - а длины массивов объектов из множества {5Ъ ..., являются кодами кратностей вхождения объектов airi • - j ais в ис- ходное сочетание с повторениями. При этом кратность вхождения 1 кодируется О, » » 2 » 1, » » ki » А’, —- 1,
182 Ч. II, КОМБИНАТОРНЫЙ АНАЛИЗ Если, например, взято сочетание с повторениями О2а4 (п = 6, к = 5), то, согласно описанному алгоритму, этому сочетанию будет соответствовать сочетание Покажем, что каждому сочетанию из множества {щ, .an, bt, .bfe-J по к объектов соответствует в вы- шеуказанном смысле единственное сочетание с повторе- ниями (из которого оно получается). В этом сочетании встречается 5 объектов множества {til, ап) и s^l: a{]ai2 ... tzis. Тогда остальные k — s объектов принадлежат множеству {&ъ bi-J. Следова- тельно, (&— 1) — (к — s) = s — 1 объектов из множества {&ъ .... Ьл-J не входят в рассматриваемое сочетание. Пусть это будут объекты с номерами ki, ki + к2, ki + k2 +... + (кь к2, к,-^ 1). Этими объектами множество {&ъ ..., разбивается па $ кусков, некоторые из них могут быть пустыми (в слу- чае, если соответствующее &* = 1). Длины полученных кусков равны соответственно ki — 1,-^2 — 1> ..., kg — 1, где к, ~ к — (ki +... + &s-i). Производя декодирование, получим сочетание с повторениями Из данного соответствия немедленно получаем, что Нп =» п -|- к—1 к Теорема доказана. 6. л-мерный куб размера к(к^2). Случаи к = 2 на- ми уже разобран. При к > 2, очевидно, | Е1-, | — кп. Рас- смотрим набор (о^, ct2, .. е Е™- Этот набор можно характеризовать значениями kt, kz, ..., кг, которые в нем встречаются, и кратностями щ, пг, ..., пг (щ>0, i = = 1, ..., г) вхождений этих значений в (аь ос2, ап). Очевидно, щ 4- п2 4- ... + пг ~ п. Специфику набора (аь сс2, ..осп) можно задавать в виде следующей записи: ki ,к2~, ...,кг . Совокупность и. ?1 1гг наборов с данной спецификой fci , \ ••-Д’г будем на- зывать слоем. Подсчитаем число точек в данном слое.
Ч. П. КОМБИНАТОРНЫЙ АНАЛИЗ 183 { п \ Выбор позиций для значения kt осуществляется j способами. Далее, выбор позиций для значения к^ осуществляет- (п — п \ ся I ) способами. \ «2 / Выбор позиций для значения кг осуществляется способами (т. е. однозначно). Таким образом, интересующее нас число равно Это число обозначается также через Число слоев с заданными г значениями кг равно числу решений уравнения nt + п2 + -. • + «г = п, пи .,пг > 0. • (14) И, наконец, число выборов из к каких-либо г значений I к \ равно I г I. Окончательно мы получаем 711*4"11 2^” - + ПГ^П (»1,п2,...,яг>о) (15) Эта формула при к = 2 переходит в (9), 7. Разбиения множества Е. Обозначим через Ф(п, к) число разбиений множества Е = {лъ ..ап} на к (п > 0, 0<А<п) непустых частей, а через Ф(п)— число всех разбиений множества Е (н>0) на непустые части. Ино-
Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ Ш гда доопределяют эти числа для случая к > и, к = 0 а п ~ 0: Ф(п, к) ~0, к>п, Ф(гс,0) = 0, п>0, Ф(0) = Ф(0, 0)=1. Комбинаторные числа Ф(п, 7с) называются числами Стир- линга 2-го рода, а Ф(п)—числами Белла. Очевидно, Ф(и)= 2 Ф(пД). (16) ь=о Найдем сначала явную формулу для чисел Ф(п, /с). Каждое разбиение Е = *?tU$’2U . .. на непустые под- множества можно характеризовать набором чисел (ZIf 7Z, ..Z«), где 7i — число подмножеств разбиения мощности 1, lt— число подмножеств разбиения мощности 2, 1п — число подмножеств разбиения мощности и. Очевидно, что эти числа удовлетворяют тождеству 1 7Х + 27а + ,,, 4* п1я — п. (17) Теорема 3. Ф (пл к) - У -----------------------у-----------— 1р!2. ..Лп>0 1414-2-;2+...-Ртг?п=п ^ + 124-..- + 1Г1=Л Доказательство. Процесс построения всех раз- биений множества Е на к непустых частей, характери- зуемых набором чисел (1Л, 1г, ../„), 1Л + Z2 + ... + 1п = к, можно представить следующим образом. Возьмем п упо- рядоченных ячеек и разобъем их на к подмножеств, ха- рактеризуемых данным набором чисел (Z1( Z2} ..1п). Эти подмножества занумеруем числами 0, 1, .к — 1. Раз- местим в этих ячейках элементы щ, ..ап. Очевидно, что разбиение ячеек на подмножества структуры (7ц Z2, ..7„) порождает разбиение элементов а,, ..., ап на подмножества такой же структуры. Последнее зада- ется набором (оц, а2, .... ап), где сс4 — номер подмноже- ства разбиения ячеек, которому принадлежит элемент щ. Производя различные размещения элементов щ, ап
Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ 185 по ячейкам, мы получим все разбиения множества Е на к непустых частей данной структуры (1Л, 1г, ..., 1п). При этом два размещения определяют одно и то же разбие- ние множества Е тогда и только тогда, когда для соот- ветствующих им наборов («1, <х>, ..., <ха) и (сс^, а3, ..,, а„) f f выполнено условие: для люоых г и j равенство сч = ccj эквивалентно равенству tZj = <%;. Это означает, что два таких размещения переводятся друг в друга пре- образованием, состоящим из перестановок элементов внутри одной компоненты разбиения и перестановок ком- понент разбиения, имеющих одинаковую мощность. Та- ким образом, среди nt возможных размещений элементов каждое разбиение повторится ровно , Zn! (1!) 1 X Х(2!) 2. *. (и!) п раз. Теорема доказана. Мы уже видели, что разбиения множества Е связапы с наборами (аи ..., ап). Выберем г значений из множе- ства {0, 1, ...» к — 1). Пусть это будут kt, к2, ..,, кг, (дА r I. Возьмем произволь- ное разбиение Е на г частей. Число разбиений равно Ф(н, г). Если нумеровать компоненты разбиений числа- ми к1ч к2, ..., кг (г! способов), то мы получим всевоз- можные наборы длины п, содержащие ровно г значений ки к2, ..., кг, Очевидно, что каждый набор при этом бу- дет построен ровно один раз. Поэтому кп (18) Если теперь сравнить соответствующие слагаемые в (15) и (18), то из рассуждения можно увидеть, что они вы- ражают одно и то же число. Отсюда получаем еще одно явное выражение для Ф(щ г) (п, г>0): Ф («. г) _ £ г! п „! 711+пг+...+Щ=П 1 2 п! (19) Полученные формулы для Ф (п, к) практически не пригодны для вычисления Ф(н, к), так как они предпо- лагают знание всех решений уравнения (14) или (17). Эффективные способы вычислений чисел Стирлинга 2-го рода и изучение их свойств связано с установлением ря- да рекуррентных соотношений для Ф(п, к).
186 Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ Возьмем произвольное разбиение Е на к непустых подмножеств и выбросим одну из компонент (что воз- можно к способами). Оставшаяся часть множества Е имеет мощность i (к — — 1) и разбита на fc—1 частей. Таким образом, разбиению Е на к непустых под- множеств соответствует к разбиений множеств мощности, меньшей или равной и —1, на к — 1 часть. С другой стороны, если взять произвольное собственное подмноже- ство в Е и выбрать в нем любое разбиение на к — 1 не- пустую часть, то оно может быть однозначно продолжено до разбиения множества Е на к непустых частей. Отсюда *) S' (")фЩЛ — 1) i=h-l ' или п—1 г \ &ф(щ&)= 2 " Ф(Ц-1). (20) i=0 V 1 ' Несколько видоизменим предыдущее рассуждение. В произвольном разбиении Е на к непустых подмно- жеств, выбросим ту компоненту, которая содержит фик- сированный элемент ап (ап&Е). Тогда этому разбиению однозначным образом соответствует разбиение на к — 1 непустых подмножеств некоторого множества из I эле- ментов (к — 1 i < n — 1). Справедливо и обратное ут- верждение: любое разбиение на к — 1 непустых частей произвольного подмножества из Е, не содержащего ап, однозначным образом продолжается до разбиения множе- ства Е на к непустых частей. Поэтому Ф(щ/г)= 2 ("~ Ф (i, к - 1) 1=Л-1 \ * / или Ф (п,к) = 2 (и 7 Ф (г, к - 1). (21) Почленно суммируя по к полученное тождество и учитывая (16), имеем Ф(»)=21('‘71)ф(0- (22) i=0 \ / *) Эта формула верпа и при к = 1, что вытекает из краевых условий (см. с. 184).
Ч. И. КОМБИНАТОРНЫЙ АНАЛИЗ 187 Заметим, что произвольное разбиение Е на к йену-- стых частей получается: а) либо из разбиения множества Е\ап на к — 1 не- пустую часть добавлением подмножества {«„}; б) либо из разбиения множества Е\ап на к непустых частей путем добавления к одной из них элемента а„ (к способов). Отсюда получаем тождество Ф(п, £)=Ф(п-1, к- 1)+ йф(п —1, /с)'. (23) Оно позволяет построить таблицу для чисел Ф(и, к) (с линейной сложностью) и чисел Белла. Опираясь на рекуррентные соотношения для чисел Ф(п, к), докажем следующий факт. Теорема 4. Последовательность {Ф(/г, к)} при фик- сированном п и k = 0t lt ,.п унимодальна-, существует
loo такое knt что Ф(п, 0)<Ф(и, 1)< Ф(и, 2)<...<Ф(щ А„)> > Ф (n, А„ + 1) > ... > Ф (п, п), и kn~ kn-t или кп = кп~! 4- 1. Доказательство. Ведем индукцией по п. При /1 = 2 утверждение очевидно (см. табл. 3). Индуктивный переход от п ~ 1 к п. а) Пусть 2 к kn...v. Используя (23), имеем Ф(п, А) — Ф(п, А —!)==> •=(Ф(п-1, А-1)-Ф(«-1, А — 2))4- 4-А(ф(п—1, А) —ф(п — 1, к — 1))+ Ф(п — 1, к — 1)>0. б) Пусть А,.., 4- 2 С к п. Используя (21) и учиты- вая, что ki кп-! при i < п — 1, имеем Ф (и, А) — Ф (п1 к — 1) = 2 i=o Х(Ф (i, к — 1) — Ф (г, к - 2)) < 0. Сравним теперь величины Ф(«, А„_,) и Ф(п, An_j + 1). Если Ф(п, Ап-1)>Ф(п, Ап-1 + 1), ;то полагаем кп ==• 13 АЛ~1. Если Ф(п, Am-i)<®(n, An-f + 1), то полагаем кп =* = А„_, 4- 1. Утверждение доказано. Уже первое знакомство с комбинаторными объектами показывает, что мы сталкиваемся с общими задачами: такими, как задача о построении комбинаторных объек- тов и чисел (задача о перечислении), как задача о по- строении комбинаторных тождеств, как задача об изу- чении свойств комбинаторных чисел (например, наличие унимодальности) и т. п. § 3. Методы изучения комбинаторных объектов и чисел В комбинаторном анализе существует целый ряд под- ходов для изучения комбинаторных объектов и чисел. Теоретико-множественный подход. Он связан с вы- числениями мощностей конечных подмножеств.
Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ 189 Пусть Ап — система подмножеств конечного множества А. Обозначим через Я, (i = 0, п) сово- купность всех элементов из Д, которые содержатся ров- но в i множествах системы, и через Gt (i = 0, 1, .п) — совокупность всех элементов пз А, которые принадлежат не менее чем i множествам системы. Очевидно, что Д = //0U//iU ...ияп и == я( и яж и ...ияп. Возникает вопрос, как найти |Л, U... U Лп|, а также как находить |Д\(Д, U ... II Дп) 1, |Я^| и |GJ (i = 0, 1, ...» п). Для решения этого вопроса необходима дополнительная информация, т. е. надо заранее знать мощности некото- рых подмножеств. Например, если известны мощности множеств А? А ... а4\ где р. _ [ Ai при о, = 1, г 1 А\Л| при = 0f то (по аналогии с совершенной д. и. ф.) |лх и и л|- S I41 п... л 4п|. (°1.°п) Оказывается, что решение поставленных вопросов воз- можно также, если известны мощности множеств А А ... п д, для любых подмножеств чисел {сь ..., О (I = 1, 2,..п). Теорема 5 (принцип включегия-исключения). M\(4U ... и МИ + 1=1 + 2 ПЛа|-...+(-!)' S Л A A ... А Д г | + ... + (— l)n| А} п A2 fi ... n An |. Доказательство. Пусть aeА и а входит ровно в к множеств (&—1, п). Тогда а Л\(41 U ,, ,0 Лп).
190 Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ С другой стороны, элемент я учитывается в слагаемом Ml 1 раз, ” / И > Л IАI (. I Раз, i=i '1 / Таким образом, его вклад в правую часть равен аЛ {к \ о} \ 1) = 0. Если элемент а не входит в (4i U ... U XJ, то он учиты- вается один раз в левой и в правой частях равенства. Теорема доказана. Рассмотрим применение этой теоремы. Пусть А = Р'^ — множество всех булевых функций, зависящих от переменных xlt ..., —множество всех булевых функций из А, которые существенно не вависят от Очевидно, |4,1П ...П ^1 = 2’"-'. Подсчитаем число рп функций из At существенно зави- сящих от всех переменных ..., х„. Мы имеем Рп=1А\(Л1и...иЛ„)1 и в силу теоремы 5 Рп = 2а" - ( “ ) г*"’* + ( £ )2="-’ 1)"( " ) 2. Решение остальных вопросов, а также сам принцип включения-исключения могут быть получены из теоремы обращения, которая приводится ниже. Алгебраический подход. Он основан на использовании вспомогательных просто получаемых комбинаторных тож- деств для нахождения интересующих нас комбинаторных чисел. Пусть имеются два семейства комбинаторных чисел {«n,J и {£>п,Д где n = 0, 1, ...; fc = 0, 1, ..., п.
Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ 191 Теорема 6 (теорема обращения). Если для любых пи к^п an,h — i=o n i=0 то при к См 1 при г = /с, 0 при кг (24) 5n,fe = 2 Р-п.ь.^пл* i=O Доказательство. Используя (24), имеем i=0 xb S ^>n,i,rbn,r ™ i=0 r—о r=0 \ i=0 ^n,r — ^n,k‘ Примеры. 1. Пусть ^n,k,i — t Тогда в силу (12) при к С п, г^п a= 2 (- 1)‘-‘С)(:)- 2 (- 1ГСХ i)“ 1 при г = к. 0 при г =^к. =(-irr2(-i)'-r (*)(;) Формулы обращения здесь имеют вид Ья>» = 2 (-1)1 i=o ^n,k -- i=0 йп,г1 (25; число п является параметром. 2. Пусть Хп,м = ( I ), = (— ( I )• Тогда., ис- пользуя (12), имеем при к < п, г^п 2.«..jw-Б-о1 ь( J (;)- = Ы«“(:)(0Ч 1 при г = к. 0 при г =^=к
102 Ч. и, КОМБИНАТОРНЫЙ АНАЛИЗ Формулы обраще ния имеют вид одесь п явно входит в пределы суммирования. 3. Пусть К.1.,, ("Z*) >!".».; - (- I)'-" ("Z*) при 1>к и *,«= |1„. м^О при i < к. Используя (13), име- ем при к^п, г п при г = к, при г =^k. Соответствующие формулы о братце пил имеют вид «ПЛ = 2 (*_ *} ъ„,,, bn,h = S (- l)f-‘ (" Л a„ti. (27) Применения формул обращения. 1. Подсчет числа Рп — булевых функций, зависящих существенно от дан- ных п переменных. Очевидно, + ••• +(0)^0, «=1,2,... Применяя формулу обращения (25), получаем ^t=a(")2" “(nil)22 +••+(—1)П(о)22°’ (28) 2. Получение явной формулы для чисел Стирлинга 2-го рода Ф(п, к). Формула (18) имеет вид Г = П]ф(щЛ)М + \ гС у + (Л 1)ф (”• fc-‘) № -»)!+••+( о)ф («. 0)0! Используя формулу обращения (25), получаем Ф(и, fc) fc! - ( *)fc” - (t2 ,)(к- 1)" + ... 4-(-l)'( J).(F
Ч. П, КОМБИНАТОРНЫЙ АНАЛИЗ 193 Последнее выражение может быть преобразовано к виду Ф(П . 41 11 (4 ~ 1)1 21 (к— 2)1 •••+<-1)*',(етп- (29) Из выражений для Ф(п, к) можно получить явное выражение для чисел Белла Ф(/г): п п k 1*\ ф и=2 - 2 2 (- »гЧг<к -о” - к—о Л=о 1=0 = 22(-1)*Л^- h=0 i=0 Пусть / = к — i и будем суммировать по параметрам in/ (7c = t + j). Пределы суммирования легко усматриваются из рис. 4: п п—} п п п—J ф(«)-22(- 1)'я7г = 2л;2(-1),^= 3=0 1=0 3=0 i=0 _£ . I, t Y" - »" . (. _1 . O(»-2)n I n! + V 1!Дп-1)! + Г 11 + 21/ (n-2)I + * •' • * ’ + ( * — 1T + ~2! “ • • • + (n — 1)1) или (здесь коэффициент при jn/j! — кусок ряда €-1)> 13 Q. В, Яблонский
194 Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ 3. Вывод формулы включения-исключения и ее обоб- щений из формул обращения. Обозначим 1Л1 «gfcSlA | == £i, .. • , 2 П • • • rMifJ = gb, .. -f gn = IA П ... П Л„1 и |Я<1 = hi (i = О, ..n). Напомним, что Ml-S |я(|-2 К i=0 i=0 и каждый элемент а Щ входит в ( д. ) множеств вида П • • • П (1 < к <... < Поэтому Sl 21 Ai | = j hj 4- ... + ( 1 'j hnt gn = \Al n... п ah(")a. Формулы обращения (26) дают *> = 2 (-1Н,){1 i=h \ K / и при к — 0 имеем формулу включения-исключения: = S (-!)’?<. i=o 4. Подсчет числа неизбыточных (тупиковых) покры- тий множества А «= {а15 ..ап) его подмножествами А» ..Л*: А =Л1и...иЛж. Покрытие называется неизбыточным (тупиковым), если при выбрасывании любого из его подмножеств Л( систе- ма подмножеств Ль A-1, A+i, Ап не образует покрытия Л, т. е. Л =/= А и,,, и А-> и А+1А,, и А-
Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ 195 Очевидно, что в тупиковом покрытии все подмножества попарно различны. В дальнейшем мы будем рассматривать более широ- кий объект: упорядоченные покрытия (т. е. подмноже- ства занумерованы и допускается повторение подмно- жеств). Каждому такому покрытию соответствует булева мат- рица llotijl порядка к X п: в ней столбцы соответствуют элементам множества А = {аъ ..., яп), а строки — под- множествам Ait ..., Ah, 11, если О, если flj Поскольку матрица Haji соответствует покрытию множе- ства А, то она не содержит нулевых столбцов. При фик- сированных кап число таких матриц равно (2^ — 1)п. Обозначим через A (ilt ..i8) подмножество из ука- занных матриц таких, что в каждой из них, если удалить любую из строк ii, ,.ia, то получим матрицу, соответ- ствующую покрытию множества X; через I,) обозначим подмножество множества A (iit .,is) таких матриц, в которых (в указанном смысле) невозможно удаление любой строки с номером,отличным от В силу определения матрицы из А(1Л, ..is) не со- держат столбцов, имеющих ровно одну единицу в стро- ках it, ..., t„. Поэтому 14 (ц...ja)l =(2fe-s-l)\ Из формулы видно, что \А (ilf ..., is)| зависит от $, но не зависит от выбора строк. Эту величину обозначим далее через Аналогично |5(/ъ ..., is) | также не за- висит от выбора строк, поэтому положим [ В (гп .., i,)| = — hn = °k,t- Пусть Hctijll А (iif ..., is). Рассмотрим в ней все но- мера строк, которые допускают удаление (сюда, в част- ности, войдут и номера iif ..is). Пусть ilf ..., is, is+t, ... ..ii+T — их номера и s + г = т. Тогда Псс«Н s B(ii,..., ig, 1«+1, • • •, im) • Отсюда ® / j \ n V / « — ч l.n V Г “ M Gk,S “ XJ I r I Ofl.s + r - 2-1 I m r—o \ r / m=s */ 13*
196 Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ В силу формулы обращения (27) ®ft,m ИЛИ h bi.,- m=s \ m — s } x z В частности, при s = О ft «.»= 2 (-1)” m—о PW-m-l)". / Отсюда получаем для числа b",o (неупорядоченных)' тупиковых покрытий длипы к выражение яг=О и для числа Ъ(п) всех тупиковых покрытий (к^п) выражение *) n ft , ь (») - 2 i 2 <- D" u)(2" - т ~1)п- ft=O m—о Алгебраические соображения часто используются для построения рекуррентных формул.. Эту ситуацию проил- люстрируем на примере получения рекуррентной форму- лы для чисел Sm(n) = Г + 2т + + Возьмем формулу бинома Ньютона (п + 1Г = пт + ( т— т 1 П 1 + *) Это число совадает с числом тупиковых проверяющих те- стов для универсальной таблицы 2" X
Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ 197 С ее помощью имеем систему равенств ((п-1)+1Г= (П - 1Г +(“)(п-1)’1-1+(г)(п—l)”"’ +... , ( mV л\ i . .. 4- , (и — 1) 4- I t (2 + 1)” =2'"j2'" d + ('“Ь'“2 + ... +(™-1)2 +(«)* ' 1 . 1 / '.2/ \n=—1/ \m) I 'клады ван их почленно, получаем рекурре нтную фор- мулу (л l-l)"’-l + (";)s„.1(n) + (“)sm_2(n) + ... ... + ( " 4s,(n)4- Мад, \ т — 1 1 ' \ т) и \ > Г. > V о /. л " <" -I" П ГДе \> (") ", S1 (") ==----9- Отсюда можно постепенно найти Sm(ri). Н апример, (" I О’ I I ( |1)л'л('1) 1-(2)С«) + ( I<«)« :Ь-, („)_(„ ! ,)>-! _:!Г2^_М)_П = М^№±1! пли о /„х » (» + 1) (2и + 1) Метод производящих функций. Он испомьзуется для 1н>|мншслеиия комбинаторных чисел и установления ком- би । г а т<) р и ы х тождеств. Исходным пунктом являются последовать льность {щ) комбинаторных чисел и последовательности, функций 1<р.(х)1 (i = 0, 1, ...). Рассматриваем далее ряд со S (^)х i=o
198 Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ который, в случае, когда последовательность {oj конеч- на, т. е. О С i < и, будет многочленом. При определенных ограничениях данный ряд будет сходящимся и тогда он в некоторой области будет задавать функцию F(x)‘. ос 1=0 Эта функция называется производящей функцией. Рассмотрим ряд примеров, относящихся к типичным случаям. 1. = (i = 0, 1, n), (pi(3) = a;\ В этом слу- чае мы уже имели (i + ^=S (")Z i=0 1 ' В качестве производящей функции здесь будет бином Ньютона (1+ж)”. С помощью производящей функции установим тождество пу * / ’ Для этого возьмем тождество (1 + г)8я=(Ц-2:)’,(1+й!)п. Оно эквивалентно тождеству Сравнивая коэффициенты при х”, получим 2. Рассмотрим пример на применение метода произ- водящих функций, когда функция определяется степен- ным рядом. Как известно, последовательность чисел fn, называе- мых числами Фибоначчи, задается рекуррентными соот- ношениями: “ /л—1 /а—г И /с /1 1»
Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ 19Э Возьмем <pn(z)=z" (п ~ 0, 1, С этой последова- тельностью связан ряд S м", 71=0 который В силу /п^2п (поскольку /п^2/л-1) сходится при 1х| < 1/2 и определяет производящую функцию F(z): F (х) = 2 fnxn. 71=0 Так как zF (z) = 2 fn-ixn 71=1 , И x2F(x) = 2 fn-zx\ n=a то xF (z) -J- x?F (z) = 2 (/„_! -b /n_2) zn + z == F (z) — 1 71=2 ИЛИ (l-z-z2)F(z)=l. Отсюда находим явный вид производящей функции F(z); = -—г- 1 — X — X Решая уравнение z2 + z - 1 = 0, находим его корни - 1 ± V5 ^1.2 ~ 2 Найдем разложение F(x) на элементарные дроби: 1 __ а ь 1 — х~х2 ~ -ж’ Имеем ах2 + — (а + b)x = —1. Это справедливо, если а = ~ Ъ и Ь -------------------— =----- xl~xi V5
200 Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ Далее, воспользовавшись формулой для суммы убываю- (I X I I X ПРИ < 1, j я" < < 17), получим что дает явное выражение для чисел Фибоначчи. 3. В случае, если рост комбинаторных чисел доста- точно велик, используются так называемые экспоненци- альные производящие функции. Пусть ап = Ф(п) и <fn(z) = zVnl Рассмотрим ряд оо У Ф«гп Теорема 7 (Белл). Имеет место следующее тож- дество г-i „ V фИ е - 2* ni z * 71=0 Доказательство. Очевидно, что _ег- 1 ___ г+//2!+... _____ г Лп1п\ v -------- £ - L * с* « • « С? *) Соответствующие ряды также сходятся в окрестности а = 0.
Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ 201 где Перемножая эти ряды и собирая члены с z”, находим, что коэффициент при s’1 равен у ___________________!_____________ или, что то же самое, 1 V _________________________21_____________= *- Ф (и) ,+'п1 п—п (последнее в силу теоремы 3). Теорема доказана. Данное тождество может быть обобщено следующим образом: где h (%} =“ 2 Ф («! к) Xh. fe=0 Доказательство аналогично. Собирая в соответствующем произведении рядов члены с и замечая, что ^ +... ... + /« = А, находим, что коэффициент при z";r' равен 1 у п! = Ф (n, А) nl л| + + —+ *72=ft Ii+2ia+-1-+nZTi~n
202 Ч. И. КОМБИНАТОРНЫЙ АНАЛИЗ Так как /„(!) = Ф(к), то как следствие имеем е2-1 V Ф (п) zn , „ . е =£- — (тождество Ьелла). л=0 Выполняя очевидные преобразования и пользуясь (29), получаем -а; V кпя* f, а: , х* \ у knxh е к\ V II ' 21 Л! “ fe=0 ь=о fkn (*-1)" (Л~2)п \ Л 1! (Л- 1)1 + 21 {к — 2)1 = 2Ф(п,Л)?= 2 Ф(п,к)хк = 1п{х). k—Q k—[) Полагая здесь х = 1, получаем ос Ф(п) = — 2лк\ (тождество Добинского). k—Q § 4. Оценки и асимптотики для комбинаторных чисел Проблематика этого параграфа использует ряд поня- тий из математического анализа [8, 14, 26], которые по- зволяют сравнивать поведение функций в окрестности некоторой точки. Напомним некоторые из них. Пусть f(x) и g(x) — действительные функции, опре- деленные на некотором подмножестве <8 действительных чисел, и а — некоторое число (—°° < а С +<»). Число а является предельной точкой для если в любой окрест- ности а содержится точка из множества отличная от а, Положим / (х) — О (g (х)) при х -> а, если существует такая константа С, С>0, что в некоторой окрестности а, исключая, быть может, л, |/(х) | C\g {х} I. Примеры. 1. Пусть j(x} = xy g(x} = x2 и а = +<». Тогда х = О(х2) при х->-'г°о (здесь х^х\ если 2. Пусть / (ж) = In (1 4- х) — I я —g-) ,g (х) = х3 и а = 0.
Ч. 11- ГХУДЦ-ХэШД-А! UFJELDl-El. АПАЛ-Ш г.иэ Тогда / т2'| In (1 + х)— (г — -у = О (я3) при х —>0, V * / Данное определение эквивалентно следующему: / (з)=* = O(g(x)) при я->а, если существует функция ф(я) такая, что в некоторой окрестности а, исключая, быть может, а, /(х)“ф(х)>(л) и |ф(г)|^С. В случае, если в некоторой окрестности а (исклжочая, быть может, а) то определение допускает видо- изменение: /(я)= O(g(a)) при х -* а, если существует такая константа С, С > 0, что в некоторой окрестно сти а, исключая, быть может, л, 1 I <<* Г1 I 8^) 1^°’ Положим / (х) “ g (х) при я -> с, если при х -+ а име- ют место одновременно /(*) = O(g (х)) и g(x) = 0(^{х)). В атом случае функции /(х) и #(я) имеют один zu тот же порядок (при х-*-а), а их знаки в окрестности а друг с другом, вообще говоря, никак не связаны. Положим /(г) = o(g(x)} при х -*• а, если существует функция ф(з) такая, что в некоторой окрестности а, исключая, быть может, в, f(x) = q(x)g(x) в ф(я)->0 при х а. Примеры. 1. Пусть /(х) = х, g(x)~xz и а = +°о. Тогда х~о{х^) при а:-»-4-оо. Здесь ф(я) = 1Лг и ф(я:)^0 при х Ч"°о. 2. Пусть /(#)' = х", ^(л)= хп~* (е>0 — малый пара- метр) ис—О. Тогда /(ic) = o(g(a:)) при х -> 0. Очевидно, что если в некоторой окрестности а (и склю- чая, быть может, a) то условие /(a:) = t?( gfx)} при х -*• а эквивалентно условию /(ж) п ► 0 при х -> а. Для отношений «О» л <оъ имеют место следующие свойства. 1. Свойство транзитивности. Если /(#) = 0(g(x)) и g(x)= O(h(x)) при х^а, то f{x) = O(h(x)) при Если f(x) = o(g(x)) и g(x} = o(h(x)) при х -> а, то /(я) = o(h(x)) ври а,
2. Если fi(x) = O(g(x)) и /2(z) = O(g(x)) при х->а, то Л (х) + /2 (х) ~O(g(я)) при х~> а. Если ft(x) = o(g(x)) и /г(я) = o(g(x))’ при г— а, то А(я)4-/а(я) = o(g(x)) приж + а. 3. Пусть 'ф(ж)— произвольная функция, определенная в окрестности а. Тогда из условия f(x)^=O(g(x)) при х -> а вытекает, что /(ж)'ф(ж) = O(g(x) ф(;г)) при я-*-а; из условия f(x) = o(g(x)) при х^а вытекает, что l(x)^(x)~ o(g(x)^(x)) при ж-* а. 4. Из условия f(x)— o(g(x)) при х -* а следует, что f(x) — О (g (х)) при х -* а. Положим f(x)~g(x) при х^а, если существует функция <р (ж) такая, что в некоторой окрестности а, исключая, быть может, а, /(«) = <р(ж)£-(хг) и 1 при ха. В этом случае говорят, что /(х) эквивалентна (асимпто- тически равна) функции g(x) при х-+ а. Пример ы: sin х ~ х при х -> 0, ех ~ 1 — х при х -* 0. В случае, если g(^)^0 (или /(rrJ^O) в некоторой окрестности а (исключая, быть может, с), то условие 1(х)^ g(x) при х -> а эквивалентно условию /(ж) л при х->а. ё (*} Легко видеть, что условие f(x)~ g(x) при х~> а экви- валентно условию /(a:)=g(a)'4- o(g(x)) при х -* а. Замечание. Из условия f(x)= #(ж)4- о{1) при х -* а следует, что eIM ~ ей{х) при х -> а. В то же время, если f(x)~g(x) ври х я, то отсюда не следует, что etix) ~ e8W при х -> а. Пример. Пусть — множество натуральных чисел и а = 4-0°. Пусть /(п) = п и g,(n) = n4--c (с¥=0). Ясно, что f(n) ~ g(n) при п -> со, а -Л— = е с А 1 при п—> 4“ оо, п+с г Введем- отношения f(z)<g(x) при х -* а и f(x)^ ^g(x) при х-+а, которые тесно связаны с предыдущи- ми и являются естественными обобщениями отноше- ния С,
Положим / (х) < g(x) при х а, если существуют та- кие положительные константы Ct и С2 (C^i, С2<1) и окрестность точки а, в которой (кроме, быть может, самой точки а) f(x)<C(x)g(x)t где г G при g (т) > О, С (х) = 1 при g (х) «= О, . С2 при g (х) < 0. Из определения следует, что график функции /(#)' ле- жит не выше графика функции g(x)t поднятого вверх в С(х) раз. Если при х -> а одновременно / (x)<g (#) и g (х) < / (r)g то пишем /(я) X g(x) при х -* а. Покажем, что в этом случае функции f(x) и g{x} имеют один и тот же порядок и одинаковый знак. Дей- ствительно, при этом условии в некоторой окрестности а (исключая, быть может, а) одновременно выполняются неравенства f(x)<C'(x)g{x} и g(x}^C" (x)f(x). Из них получаем f (х) С С' (x)g(x) С' (х) С " (x)f(x) g (х) <C"(x)f{x)^C" (х) С' (х)g (х). Отсюда следует, что в указанной окрестности: 1. Функции f(x) и g(^) обращаются в 0 в одних и тех же точках. 2. В ненулевых точках функции /(х) и g(x) имеют один знак и в них *<!>! т. е. /(ж) = O(g(x)) и g(x}= O(j(x)) при х-+а. Следо- вательно, при х~+а условие f(x)Xg(x) влечет условие /(ж) ^g(x). Положим /(xJ’Cgf#) при х а, если для любого е > 0 существует окрестность точки й, в которой (кроме.
быть может, точки а} j{x)^Ct (x)g(x), где [1+е при g(x)>0, СЕ U) = { 1 ПРИ g (х) = О, \ 1 — Е При g (х) < О. Ясно, что из /(^)<g(x) при х -> а вытекает, что / (х) < g (х) при х-+ а. Поэтому все сказанное выше об отношении < справедливо и для отношения В част- ности, в случае, когда при х~+а одновременно /(х)< и g(x)*Sf(x), функции /(ж) и g(x) обращаются в 0 в одних и тех же точках и в ненулевых точках вы- полняются неравенства (при е<1): 1 1 g (х) 1 — е’ т. е. /(я) ~ g (х) при х -> а. Теперь перейдем к рассмотрению асимптотики (пре- дельных теорем) для ряда комбинаторных чисел. Асимптотика Id п! Порядок «I Теорема 8. (1 \ п + у In к. Доказательство. Возьмем выражение п In w! =“=2 ln i=i
Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ 207 . Рассмотрим график функции у==1п;г (см. рис. 5). п Сумму S ln i можно рассматривать как площадь прямо- 1=1 угольников, вписанных в кривую у — In х. К этой вели- чине добавим площадь треугольников (см. рис. 6), т. е. сумму 71 2 у (In (i + 1) — In z) « у In (n + 1). 1=1 Получим In nl 4- -I In (n + n+1 J In x dx = xln x—- x |i+1 — = (n + 1) In (« + 1) — n. Отсюда / 4 In nl <Z ( n + y In (n + 1) — n. С другой стороны, рассмотрим фигуру, образованную от- резками касательных в точках х = 1, 2, ... ..п, ограниченными прямыми х = 1 -у, 11 „ 2 , п + и осью х (см, рис. 7). Очевидно, что она составлена из тре- 1 угольника с площадью -g и трапеции со средними линиями в точках х = 2, 3, ... ..п, площади которых равны соответ- ственно In 2, ,.In п. Очевидно, t > j In х dx + у In n. i Рис. 6 Отсюда 1 1 ( 1 \ 7 In л! > n In n—n-bl+ — In n — — = I n + j-l In n—n-b-g*. Таким образом, / 1 \ 7 / 1 \ f n 4- -o I In n — n + -5- < In /г! < I n + In (n + 1) n. V " / \ /
ZOB----------Ч. II. КОМБИНАТОРНЫЕ AHAJJTI3 Разделив на | п + у In п, получим (ём. также (3)) ------ 1 + О In п т. е. Теорема доказана. Замечание. Из доказательства теоремы вытекает также, что е11ъ Vп ппе т‘ <Z п! < У п + 1 лпе " ~ еУ^пп^е п, (31) т. е. nl X 1/пппе~п. Асимптотика п! Теорема 9 (формула Стирлинга). п! аУп n"e*n.
Ч. И. КОМБИНАТОРНЫЙ АНАЛИЗ 209 Доказательство. Положим _____________________п! П Уп ппе" п * Рассмотрим отношение ап+1_ (n 4~ 1)1 Уп п пе~п е аа “ (и 4-1)'i+JЩ f j 4- —V‘+1/a * \ ' п ) Учитывая (4), получаем Значит, последовательность {ай1 убывающая и ограничен- нал снизу, и поэтому опа сходится к некоторому чис- лу а. В силу неравенств (31) е7/в С а < е. В частности, а Ф 0. Следовательно, установлена асимпто- тика _ п! ~ а}:п ппе~п. Для вычисления константы а нам понадобится формула Валлиса, которая является содержанием следующей теоремы. ________1ZZ 1 22”(Н)* (2«)| ' Л/2 Доказательство. Возьмем J sin" х da?(n^2) и о проинтегрируем его по частям: Л/2 [ sin" х dx = о П 7S «= — sin””1 х cos x J" 2 4- (n — 1) j sinn~s x cos2 x dx = о Л/2 Л/2 = (n — 1) J sinn~2a dx — (n — 1) j sinna'd^. о 0 nfi Разрешая полученное равенство относительно j* sinn£dx’, в 14 G. В. Яблонский
Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ 210 получим Я/3 Л/2/ I * 71 J П 1 Г П—2 7 | sin xdx —------ j sin xdx. о о Данное рекуррентное соотношение дает при п = 2к п/2 п!г f sin2ft xdx «= f sin2fe-2^dx — .., V (J о 0 n/2 _ 24— 1 24 —3 1 C _ л (2k— 1) (24 — 3)...1 24 24 - 2 * * ’ 2 J 2 24(24-2) ... 2 о и при n — 2k + 1 Я/2 Л/2 J sin2k^xdx = j sin2ft“1a: dx == ,,, о о Я/2 24 24 — 2 2 ___, 24 (24 — 2) ... 2 24-p, 124— 1 3 J (24 4-1), (24 — 1) ... 3 о Отсюда получаем П/2 /Л/2 Х”"1 Хй = j sin2ftzdxf j sin2/1+1 xdx j = о \ о J — — (2Л: ~P nB— ~ (2A ~~ 3) • • l]2 24 (24-2) ...2 ]* Поскольку в процессе интегрирования 0 С л/2, то О sin х 1. Мы имеем sin2ft+* х sin2k х < sin2’1'1 х и Я/З П/2 Л/2 f sin2A+1xdj;^ j sin2ftzd£^ j sin2ft“la: dx. 0 0 0 Оценим величину Xh: Л/2 /Л/3 \— 1 1 = j sin2fe xdx I j sin2fe+1 xdxj 0 \ 0 / Я/2 i Л/2 x —1 j j sinaA+1zdx j = 1 + о о
Отсюда следует, что (при /с->оо), и, значит, 1 2к (2k — 2) ... 2 У* (2/c-l) (2k - 3) ..Л Ул = lim k~>X И™ ' ^(г*-^,- -2|а _ Ит k-^хД/к W ^coVfcC2^)l Теорема доказана. Теперь остается вычислить константу а. Возьмем вы- ражение ап == f nl у V2n (2n)2ne~an = 1 22п (п|)а а2пУ2 (2») 11/2 “ 1/й (2«)1 * Мы имеем Пт П-*оо а с другой стороцы, в силу формулы Валлиса «п lim-------— П-»оо «2п V 2 Отсюда а = 12л. (п к 1 .При к -> оо и из формулы Стирлвлнга получаем п! У» пп И (п —А)! ~ У2лй (/г—Ж" (п — tyn~h ‘ В частности, при четном пик — п/2 имеем (п \ 2” | ~ (вариант формулы Валлиса). ПМ/ У л п/2 2 . Если взять к — [п/2]4-г, где |г! ct(n) Vn, то при определенном ограничении на рост а(п) можно асим лто- тическому выражению для ) придать более комп лкт- ный вид. Теорема 11. При |г|Са(п)Тн, где а(п) — о(ж1/6), имеет место соотношение п [п/2] 4- г с 2, 2г /п У л п/2 1 п —> ОО.
Ч. 11. ЬиМЫШАГиРЙЬШ АНАЛИЗ п г Доказательство. Положив -% + г полним преобразования п вы- ln/cA(n — к)п fe = f-^-4- r')ln(4+ r') + (r4“r,)lnfv“r/1) = 1пТ + (1Г +г')1п(1 + ~) + (п Л1 п I Iп Л1 (л 2/\ -_rpnT + ^-r Jln[l-— ) Множители вида 1п(1 + х) заменим куском ряда так, что- бы погрешность была о(1). Для этого достаточно взять разложение In (1 + х) = X —+ 0(х*)1 так как »о(4) =0 = 0(1). \ п / \ п J Тогда, учитывая также, что |г —г'|<1 и г = о(п2/3)\ по- лучим lnfcA(n-/c)n“A = •= п In 4 + 2 2г' п + г') In (1 ч- —) + 1 4г,а 9 2 п п 2" -» п In ~ + О (1) = п In ~ -ь + о (1). Отсюда получаем п [«/21 + г 9п » г/ £ —2г In г —» € < у лп/2 п-^- оо. Теорема доказана.
Ч. 11. ниМЬИКА'ГиРНЫИ АНАЛИЗ 213 Часто вместо величины г берут z = 2r/fn. Мы прихо- дим к соотношению р лп/2 Асимптотика для суммы Сначала установим один результат, характеризующий распределение вершин «-мерного единичного куба по слоям. Теорема 12. Пусть а (и)—произвольная (сколь угодно медленно) растущая положительная функция. Тогда Доказательство, Пусть kt > п/2. Тогда С другой стороны (см. рис. 8), из сравнения площадей имеем Отсюда
[п 2 + а(п) /и . Тогда 1 8<хЗ (п) В силу симметрии 'о Отсюда, учитывая, что получаем требуемое. Доказанная теорема утверждает, что почти все точки n-мерного единичного куба сосредоточены в слоях с но- мерами к такими, что + а (п) Уп, где а (п) —данная фиксированная растущая (сколь угод- но медленно) функция, т. е. в слоях, «близких» к сред- нему слою. Более точные оценки получаются, если использовать (П , асимптотическое выражение для
Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ 215 Теорема 13. Пусть a<b. Тогда Доказательство. Пользуясь теоремой 11 и по- 2г 2(А-—|п/2|) лагая z = ~----—----г получим у п у п * 2(г4-1) 2г 2 так как Дз = —----------—= = ^zr. Теорема доказана. Замечание. Доказательство теоремы может быть обобщено на случай, когда а = —а(п) и Ь = а(п) (а(п)-> -г «=). Тогда Асимптотика Ф (п). При нахождении асимптотики для Ф(п) можно исхо- дить из представления Ф (п) в виде бесконечного . ряда (формулы Добинского) или из выражения Ф(п) в виде многочлена (30). Запишем формулу (30) несколько иначе: Ф(п) = 2(1_А + ^_,..+(_1Г*^^)£
216 Ч, П, КОМБИНАТОРНЫЙ АНАЛИЗ Возьмем две (не обязательно целочисленные) функции й(и) и Ь(н) таких, что 1 < а (п) < b (н) < к, ОО, П-Ь(п)-*оо, поо, и разобьем сумму на три части; Ф (и) = Ф1 (л) + Ф, (/?) + Ф3(л), где Поскольку п-~Ь(и)-*<ю, то для к^Ъ(п) имеем п — к > п — Ь(п) и Мы получаем Ф,(л)~ 1 у, кп 1 <Л<Л(п) Ф2 (п) ~ 1 у _F Т Za к\1 a(n)<fe<h(ri) кп V к[ к\' Во всех суммах присутствует член вида кп/к\ Покажем, что последовательность {A'VA!} унимодальна. Сравним два соседних члена кп/к\ и (А+1)Г7(А 4-1)! Легко ви- деть, что < (А + 1Г > ln(ft + l) fcl > (fc-rl)! n< I 1 1п ‘+т (данная запись — сокращенная запись для трех условии).
Ч, II. КОМБИНАТОРНЫЙ АНАЛИЗ 217 _ _ 1п(А + 1) Поскольку функция 7 fT монотонно возрастаю- щая по к, то в случае: кп (* +1)п А| > (fc-b 1)! т. е. имеем In (к 4- 2) / 1 \ 111 + к 4-1J ( (*+ Оп + 2)п > 1поэтому 7мЧ)Г>’^Т2)Г и т'д г кп (к + 1)п kl (/с+1)! из строгой монотонности In (к + 1) М1+т следует, что (А — 1)" кП (к — 1)! < А! (А 4 1)п (к + 2)п (А+1)! ^(/с + 2)! Обозначим через к0 наибольшее значение к, для ко- торого кп/к\ максимально. Произведем оценку числа к0. Очевидно, (^-1)! ^ло| ->^+1)1’ (1 \ 1 + j— I < In (к0 + 1). % / Так как (см. (3)) то п > (к0 — 1)1и кц > (к0 — 1) In (kD — 1)‘,
218 Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ а так как (см. (4)) , (, , 1 \ . 1 1п(1 + ^) >--------Г’ k °' *0+2 то п < + ~2 Vn (^о + 1) < (*о + О 1п (*о + О» Поэтому из монотонности функции rrlna: следует, что к0 отличается от единственного решения г уравнения п = xlnx менее чем на 1, т. е. |r- fc0| < 1 или в силу целочисленности кй йо == [г] лпбо к0 = ]г[. Положим далее о(п)«г-Уп и &(п) = г + 1'и. В силу того что г ~(1 + о(1)), при достаточно больших п будет 1 < а(п)< Ь(п) < п. Условия и п —Ь(п)->оо также выполнены. Сначала займемся изучением ФДп) 1 у £. е id * Заменим в Ф3(н) члены кп/к\ их асимптотическими вы- ражениями, получающимися по формуле Стирлинга: 7.71 4 п—h-----, е<1 и положим а = к~ г (здесь параметр s может стать не целочисленным, но Де =» ДА: = 1). Тогда получим 2кп 1 кг~Н~~ aW^h^lAn) V 2^(1 + о(1)) = -= У V+’(l + 0(1)).
Ч. II, КОМБИНАТОРНЫЙ АНАЛИЗ 219 Заметим, далее, что г + s = exp {In (г + 5)} = exp j In г И + ~ I J s = exp Un г + In 11 4- у I у 1 /1п п \ Учитывая соотношение 7|“^\Уп‘Д разложим в ряд In 1 4- —) и оставим в разложении столько членов, что- „ f 1 \ а е бы остаток, умноженный на In — г — s—2Jn' ®ыл равен о(1). Для этого достаточно взять два первых чле- на разложения, т, е. ибо in (1+±)=л._14+44). \ г / Г * г \ / п0(4) -оЫ-«<«• \ Г / \ У« / Таким образом, мы получаем 71 —7--S--1 Г+3 (г + s) е = Г f 4 \ f 4 \ = ехрЦ In г 4- 7 ”"2 ”2 J — r — s — yj + r4-s4-o(l) Произведем далее преобразование показателя: s 1 s2 \ I 11 In г у — — у — 1 \ п — г — s — ~^l + r^S = 2 2 , . ns т , , s , = п In г 4-----------о — г In г — s -Ь -----s In г —- г 2г2 2г s2 S3 1 , S S2 -Т + р”Т1пг~27 + Р +'•+«• В нем, в силу соотношения г In г = п, выполняется ра- Т * 3 2 Па 1 S S S венство — = $10/4 а члены —и —равны о(1). г 2г 2г 4г
220 Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ Продолжив преобразование, получим n(lnr+bT7-1)- 2-lnr-2?(v+ + °(1). В результате получаем В последней сумме произведем замену переменной, взяв Az = п перейдем к интегралу: В силу соотношения У интеграл, деленный на У2п, стремится к 1, и поэтому f ( 1 \ ) exp nl In г 4-1—1 J .глег-эт-1 ф (?z)~--------7.—-. —L----------у-—l- 2 ' -\f п У1ПЛ И7+1 Суммы Ф1(п) и Ф3(п) оцениваются стандартным обра- аом: каждый член заменяется на максимальный, который находится из условия того, что {кп/к\} унимодальна и ее максимум достигается в интервале (г — У'п, r+Vn),
Ч. II. КОМБИНАТОРНЫЙ АНАЛИЗ 221 Поэтому = о(Ф|(п)Х Аналогично X ехр{~у 7(7 + ^nlnnx х ехР {~ 4 7 (7 + “ °(ф2(«))- Таким образом, мы доказали теорему. уЛ^-П"! Теорема 14. Ф(п)~-^у==-, где г — корень урав- нения х Id х == п.
ЧАСТЬ Ш ГРАФЫ И СЕТИ Теория графов и сетей может быть отнесена к конеч- ной геометрии. Геометрическая интуиция играет в ней существенную роль как в предвидении, так и в получе- нии результатов. В данной части содержатся некоторые факты из трех направлений: проблемы реализуемости одного класса объектов в другом, метрические вопросы, касающиеся графов и сетей, и структурные особенности этих объектов. Глава 1 ГРАФЫ § 1. Реализация в евклидовом пространстве. Изоморфизм В дальнейшем мы часто будем пользоваться понятия- ми «множество» и «набор». Термин «множество», имеет общепринятый смысл. Под «набором» здесь мы понимаем неупорядоченную систему объектов из некоторого мно- жества, в которой один и тот же объект может встречать- ся несколько раз. Определение. Множество ЭЛ = {ah аг, ...} и набор ЭЛ неупорядоченных пар объектов ajh} из ЭЛ называ- ется графом Г. Объекты множества ЭЛ называются верши- нами графа, а объекты набора — ребрами графой. Про ребра (fli, Gj) будем говорить,, что они соединяют верши- ны G; И Gj. Пример 1. Пусть 9Л = {й(, а2, а3, а4, g5, йя, а7), 9Л=> “{(Gj, G2), (^2, й2), (&i, G5), (gSj Ga) , (й5, Й6), (йй, О7), (а5, g7)}. Тогда ЭЛ и 91 определяют граф. В случае, если множество 9Л и набор ЗЛ состоят из ко- нечного числа объектов и пар, то граф Г называется конечным.
ГЛ. 1. ГРАФЫ 223 Пусть щ и — произвольные вершины графа Г. Определение. Система ребер графа Г ^°iaj “ Ка’1’ %)’ (%’ а’з)’ • * (Gis—1’ flc)b где и aie ~ aj, называется путем, соединяющим вершины а, и щ. Для любого ребра, принадлежащего пути мы будем говорить, что путь Аа.а. проходит через это ребро. Аналогично, если вершина а принадлежит не- которому ребру пути то говорим, что путь проходит через вершину а. Определение. Путь А{Ор не проходящий дважды через одно ребро, называется циклом, если ai = Щ. В част- ности, цикл {(«i, й£)} будем называть петлей. Определение. Граф Г называется связным, если для любых двух различных вершин щ и «j графа Г су- ществует путь, соединяющий эти вершины. Легко видеть, что граф из примера 1 является конеч- ным, несвязным и содержащим петли. (Ясно, что связный граф не содержит «изолированных» вершин, т. е. каждая его вершина принадлежит по крайней мере одному его ребру.) Введенное нами понятие графа является весьма абст- рактным. Оно родственно понятию одномерного комплекса в топологии. Для последующих рассмотрений желательно иметь какую-либо наглядную интерпретацию графа. С этой целью будем рассматривать в евклидовом пространстве фигуры определенного вида. Каждая из таких фигур 3 состоит из различных вершин 6*, bz, ... и кривых (являю- щихся либо дугами окружностей, либо отрезками пря- мых), каждая из которых соединяет некоторые пары вер- шин (bit bj) (возможно и вырождение bi~bj). Мы пред- полагаем, что никакая внутренняя точка кривой, принад- лежащей фигуре не является вершиной или внутрен- ней точкой другой кривой. Определение. Фигура 2 называется геометриче- ской реализацией графа Г, если существует взаимно однозначное соответствие между вершинами фигуры й и вершинами графа Г, а также между кривыми фигуры г и ребрами графа Г такое, что если bn^ +-> (aif aj)t то &л. *-> ait bn. а}. (Соответствующие кривые и ребра соединяют соответствующие вершины.)
224 Ч. III. ГРАФЫ И СЕТИ Пример 2. Фигура 2 па рис. 1, как нетрудно убе- диться, является геометрической реализацией графа Г из примера 1. Спрашивается, любой ли граф Г можно реализовать в евклидовом пространстве? Если этот вопрос решается положительно, то интересно знать, существует ли такое число р, чте всякий граф допускает реализацию в евкли- довом пространстве размерности р? В последнем случае желательно знать минимальное значение р. Ответ на все эти вопросы для случая конечных графов дают теорема 1 и пример 3. Теорема 1 представляет некоторую перефра- зировку известной теоремы из топологии. Теор ема 1. Каждый конечный граф Г можно реа- лизовать в трехмерном евклидовом пространстве. Доказательство. Пусть граф Г содержит тп вер- шин и h ребер. Возьмем прямую и через нее проведем связку из h плоскостей. На прямой выберем m точек Ьл, Ь2, bmt сопоставим их вершинам графа соответст- венно аЛ, а2, ..., ат. Каждому ребру графа Г поставим в соответствие плоскость из пучка. Пусть (аь а;) — ребро графа Г. В плоскости, соответствующей ребру (ah а,), соединим вершины bi и bj дугой окружности. Выполним такое построение для всех ребер графа Г, получим фигу- ру 2. Очевидно, что 2 является геометрической реали- зацией графа Г. Можно показать, что данная теорема не допускает. усиления в направлении понижения размерности евкли- дова пространства, в котором может быть реализован лю- бой граф. Пример 8. На рис. 2 изображены два графа. Первый из них связан с решением известной задачи о трех домах и трех колодцах *). Второй — полный ♦♦) граф с пятью *) Задача о трех домах и трех колодцах состоит в следую- щем: требуется от каждого дома проложить тропинку к каждому молодцу и так, чтобы тропинки не пересекались друг с другом. ♦*) То есть граф, содержащий все ребра вида (aj, ал), 1 < i < / «ч »».
вершинами. В топологии доказывается, что данные графы не допускают реализации на плоскости. Доказательства этих фактов мы не приводим. Интересный результат, выясняющий условия плоской реализуемости, был получен Л. С. Понтрягиным [28] и независимо, но позже Куратовским. Ниже (теорема 2) приводится без доказательства формулировка этого факта. Определение. Графы Г и Г' называются изоморф- ными, если существует взаимно однозначное соответствие между их вершинами и ребрами и такое, что соответст- вующие ребра соединяют соответствующие вершины. С точки зрения этого понятия абстрактный граф и его геометрическая реализация являются изоморфными графами. Б силу теоремы 1 вместо абстрактных конечных графов можно рассматривать их реализации. Другими словами, с графами можно обращаться как с геометриче- скими объектами. Введем операцию подразделения ребра графа Г. Пусть (щ, Cj) — произвольное ребро графа Г и а — объект, не принадлежащий ЭД. Операция подразделения ребра (а,-, а<) графа Г состоит в построении графа Г', имеющего свои- ми вершинами множество ЭД'= 20 {с), содержащего все ребра графа Г, кроме выделенного («1, «)), и плюс два новых ребра (а{, а), (а, а}), т. е. Й' = (ЭЛ (а,-, а,)) U {(щ-, а), (а, а,)}. Граф Гг называется подразделением графа Г£, если он может быть получен из Г! путем применения конечного числа раз операции подразделения ребер. Определение. Графы Г£ и Г2 называются гомео- морфными, если существуют такие их подразделения, ко- торые изоморфны. 15 С. В. ЯблонсврЙ
Пример 4. На рис. 3 изображены два графа 1\ и Г2. Эти графы не изоморфны и в то же время гомеоморфны, так как каждый из них может быть подразделен до графа Г, изображенного на рис. 4. Определение. Граф Г7 называется подграфом Г, если его вершины и ребра принадлежат графу Г. Теорема 2 (критерий плоской реализуемости). Для того чтобы конечный граф Г имел плоскую реализацию, необходимо и достаточно, чтобы любой его подграф не был гомеоморфен ни одному из графов рис. 2. § 2. Оценка числа графов Пусть у (А) —максимальное число попарно неизоморф- ных графов без изолированных вершин с h ребрами. Теорема 3. у(А)< сЛ (c2h)h, где ct и сг— константы. Доказательство. Очевидно, что граф с h ребра- ми имеет не более 2А вершин. Занумеруем вершины гра- фа натуральными числами 1, 2, ... Очевидно, что число сортов ребер, т. е. пар вершин, которые могут связываться ребрами, не превосходит величины Г - П:Л = = h (2h + 1). Поскольку 7(A) не превосходит максимального числа за- нумерованных попарно неизоморфных графов с h ребра- ми, а это число не больше, чем число сочетаний с повто- рениями из г элементов по А, то (2k2+2^ f. IV „ . ,-.k ----Ы" , k.\h = p + h j (2««) <e(2eh) , \ e ) что и требовалось доказать,
Следствие. Максимальное число занумерованных попарно иеизоморфных графов без изолированных вершин с h ребрами не превосходит cl(c2h)h. Мы не делаем здёсь оценок снизу для и потому лишены возможности понять качество полученной верхней оценки величины 7 (h). Глава 2 СЕТИ § 1. Сети и их свойства Обобщим понятие графа. Определение. Множество ЭД — {<ц, а2, ...} и на- бор 91 = {Кд Е<. Ez, в котором каждое Е, есть набор элементов из ЭД, т. е. К = (вугнь ...), называется сетью и обозначается ЭД(£0; Ei, Е2, ...). Объекты мно7 жества ЭД называются вершинами, а объекты из набора Ео — полюсами сети*). Пример 1. Пусть ЭД = {1, 2, 3, 4, 5, 6, 7}, 91 = {Е„ Eit Е2, Е3, Eti EJ, где К = (1, 2,6), К = (1, 3, 3, 4, 5), Е2 = (4, 4, 4, 5, 6), F3^£t=(2, 4), Es = (2, 5, 6, 7). Тогда ЭД(К; Eir Ez, Е3, Ek, Я5) будет сетью. В случае, когда множество ЭД и набор 51 конечны, сеть будет называться конечной. Так, например, только что рассмотренная сеть будет конечной. Сеть, в которой бес- конечно по крайней мере ЭД или 9t, называется бесконеч- ной. Частным случаем бесконечных сетей являются счет- ные сети, т. е. бесконечные сети, у которых ЭД и 91 не более чем счетны. Подобно тому как это было сделано в случае графов, можно ввести понятие геометрической реализации для конечной пли счетной сети. Прежде всего введем одно *) В литературе встречаются близкие понятия: понятие «блок- схемы» и понятие «гиперграфа». Понятие блок-схемы уже, чем по- нятие сети; а понятие гиперграфа отличается от понятии блок- схемы и сети незначительной деталью. Понятие блок-схемы по- явилось раньше понятия сети, а понятие гиперграфа — позже. См., например, [7, 32]. 15*
обозначение. Если Е — набор, то через <Е> будем обозна- чать множество всех объектов из Е. Пусть Et,...) — сеть. Разобьем множество на три непересекающиеся части: 2^ » <Е0) — множество полюсов, = 2R\ J {Ед — множество i>o изолированных вершин, отличных от полюсов, 2Лз — прочие вершины. Каждой вершине из множеств и ЗИ2 сопоставим в трехмерном евклидовом пространстве точку так, чтобы различным вершинам соответствовали различные точки. Эти точки мы пометим символами соответствующих вер- шин из Wt. Очевидно, полюсам будут соответствовать точки, помеченные символами aV1(o), «va<o), . .. Каждому на- бору Ei av2(ib .. •) из 51 (i > 1) сопоставим в трех- мерном евклидовом пространстве круг (если Et содержит о о < aVflO) aV2W Рис. 1 один или два объекта, то можно вместо круга брать вер- шину или дугу), на периферии которого выбраны попарно различные вершины, помеченные символамиДу^), Ov8(i), ... из набора Е{. При этом мы требуем, чтобы круги попарно не пересекались и не содержали выбранных ранее вер- шин (рис. 1). Затем все точки, которые помечены одним и тем же символом di из ЗЯ, соединяются связной компонентой At. Дополнительно потребуем, чтобы связная компонента At с построенными ранее вершинами и кругами имела общи- ми только точки, помеченные символом <ъ, и чтобы связ- ные компоненты At и A, не имели общих точек. Данную фигуру будем называть геометрической реали- зацией исходной сети. Очевидно, что образами вершин at из 2?12 сети 2Л(£/, Е1} ...) будут изолированные вершины
образами вершин at из 2Л1 и Sft3 будут либо изолирован- ные вершины (если символ си встречается один раз и только в одном наборе), либо связная компонента At — в остальных случаях; образами наборов Et ($>1) будут круги (соответственно вершины, дуги). Можно показать, что для каждой счетной сети сущест- вует геометрическая реализация. Пример 2. Построив геометрическую реализацию сети из примера 1, мы получим фигуру, изображенную на рис. 2. Данная фигура напоминает схему радиоприемника, из которой удалены все элементы; лампы, емкости, индук- тивности и т. и. Определение. Сети [e'q\ E’l, • • •) и ЭЛ" (E”q, X, ^2, называются изоморфными^ если -можно уста- новить взаимно однозначное соответствие между объек- тами множеств Эй' и ЭЙ", а также между объектами из наборов й' и й" так, что: 1) соответствующие наборы Ег и Е" состоят из соот- ветствующих объектов (с учетом кратности их вхожде- ний) ; 2) наборы /-'о и Ей соответствуют друг другу. Очевидно, что абстрактная сеть изоморфна своей гео- метрической реализации. Поскольку нас будут интересо- вать сети с точностью до изоморфизма, то вместо абст- рактных сетей можно рассматривать их геометрические реализации. В этом смысле сети представляют собой гео- метрические объекты. Рассмотрим теперь некоторые классы сетей.
230 Ч. III. ГРАФЫ И СЕТИ Очевидно, что класс сетей, у которых Eq — Л и каждый набор Et (i > 1) состоит из двух объектов множества Ш1, совпадает с классом графов. Другой класс сетей дают так называемые деревья. Деревом называется конечный связный граф с выделен- ной вершиной, именуемой корнем, не содержащий циклов. Очевидно, что дерево — однополюсная сеть, т, е. Е0«(а). Приведем другое определение дерева, эквивалентное первому и основанное на индукции. Проще всего восполь- зоваться определением в геометрической форме. Рис. 5 Рис. 6 Базис индукции. Фигура, изображенная па рис. 3, является деревом с корнем а. Индуктивный переход. Пусть А (рис. 4, а) — дерево с корнем а и В (рис. 4, б) — дерево с корнем Ь. Тогда фигура С (рис. 5, а), полученная из А «под- ключением» к корню а нового ребра, будет деревом с кор- нем с. Далее, фигура D (рис. 5, б), полученная из А и В путем объединения корней, будет деревом с корнем с, где с = а = Ь, Легко видеть, что это индуктивное определение дерева можно сформулировать и в терминах абстрактной сети.
ГЛ. 2. СЕТИ 231 Базис индукции. Сеть Ф1(£о; Ei), где WI = {a, aj, Ео = (а), Ei = (а, а,), является деревом с корнем а. Индуктивный переход. Пусть Л-=®?1(£0; Е'ц ...) и В =2R3 Е[, .. .^являются деревьями с кор- нями а и Ь, где Sfti П ЗЛг =Л, Ео = (а) и £0 —- (6). Тогда сеть С—®?(£0; Е, E'lt ...)является деревом с корнем с, если 3R = SN,U{c}, Еа = (с), Е^(а,с), где с — новый объект. Далее, сеть D = S3?' (£0; Ёх, ..., Е^, ...) является де- ревом с корнем в вершине с, если ФГ = (Ф1Дп) U (Ф1Д&) U {с}, £0 = (с) и набор Ei (соответственно Е^} получается из набора £*(£<) заменой всех вхождений символа а(Ь) на с, где с — новьп! объект. Геометрическое определение дерева позволяет осу- ществить его геометрическую реализацию на плоскости. Рис. 7 Плоскую геометрическую реализацию дерева, в которой ребра представляют отрезки прямых, а корень изображен вершиной с дополнительным отрезком — стрелкой (см. рис. 6), будем называть укладкой дерева. Пример 3. Пусть 2R = {0, 1,* 2, ..., 10), Я = {£0; Et.£«}, где £0 = (0), £,=(0,1), £3 = (0, 2), £3 = (0, 3J, £* = (1,4), £5 = (1, 5), ££ = (1, 6), £, = (3, 7>, £е = (3, 8), £«={4, 9), £« = (4,10).
232 Ч. Ш. ГРАФЫ И СЕТИ Очевидно, что ЯЛ(Е0; .... Е10)—дерево. На рис. 7 изображено несколько укладок данного дерева. Рассмотрим произвольную укладку дерева. Если дви- гаться по дереву от корня к концевым вершинам, то можно осуществить ориентацию ребер дерева. При этом в каждую вершину (включая корень) входит к п некоторое ребро и из каждой вершины, кроме \ / концевых, исходит несколько ребер. Данное обстоятельство позволяет упорядочить исходя- ( '[ J щие ребра в каждой вершине, например, в по- 4 рядке их следования,- двигаясь от входящего ребра (см. рис. 8) по часовой стрелке. Гис. 8 Естественно считать, что две укладки одно- ' го дерева одинаковы, если порядки следова- ния исходящих ребер для соответствующих вершин сов- падают. Таким образом, укладка дерева полностью опре- деляется порядками следования исходящих ребер. § 2. Оценка числа сетей Мы начнем с рассмотрения простой задачи. Обозначим через 6 (h) максимальное число попарно неизоморфных деревьев с h ребрами, а через б*(Л)—число укладок деревьев из соответствующего множества. Теорема 4. б (Л) б* (Л) < 4Л. Доказательство. Так как укладки для неизо- морфпых деревьев различны, то б(7г)С б* (Л). Каждой укладке дерева с h ребрами можно сопоста- вить взаимно однозначным образом кортеж из 0 и 1 дли- ны 2h. Для этого воспользуемся индуктивным определе- нием дерева. Базис индукции. Укладке дерева, содержащего ровно одно ребро; отнесем кортеж 01. Его длина равна 2. Индуктивный переход. Пусть укладкам де- ревьев А и В, имеющих срответственно k2 и h2 ребер, со- поставлены кортежи се и fl длины 2ht и 2h2, Тогда укладке дерева С, полученной из укладки дерева А путем подклю- чения ребра, сопоставим кортеж Ocel. Его длина равна 2(Ai + i), т. е. удвоенному числу ребер дерева А. Далее, укладке дерева D, полученной из укладок деревьев А и В путем объединения корней, сопоставим оф или £>сс в зави- симости от порядка их следования. Каждый из кортежей имеет длину 2(7ii + /?2), т, о. равную удвоенному числу ребер дерева D,
ГЛ. 2. СЕТИ 233 Заметим, что каждой укладке дерева соответствует кортеж, содержащий поровну нулей и единиц, причем в любом его начальном отрезке нулей не меньше, чем еди- ниц. Если в каком-либо собственном начальном отрезке кортежа нулей и единиц поровну, то это означает, что данный кортеж соответствует укладке дерева D, получен- ной из укладок деревьев А и В путем объединения их корней. Отсюда видно, что по своему кортежу укладка дерева восстанавливается однозначно, т. е. имеется взаим- но однозначное соответствие между укладками деревьев с h ребрами и подмножеством кортежей длины 2h, содер- жащих поровну нулей и единиц. Мы имеем б* (70<Q<22ft = 4\ Теорема доказана. Сравнивая верхние оценки для чисел у (Л) и 6 (fe), свя- занных с числом графов и деревьев, мы видим, что по- следняя оценка существенно меньше, чем первая (при h со), Эта ситуация обусловлена тем, что деревья имеют более жесткую топологическую структуру. Теперь мы . перейдем к вопросу об оценке -числа ко- нечных сетей для общего случая. С этой целью введем ряд обозначений, касающихся сети Ш1(£о; Еи ..., £Л). Пусть ел обозначает число объектов (с учетом повторе- ний) в наборе Ei. Величина будет называться степенью набора. Обозначим через m максимальную степень набо- ра, отличного от Ео, т. е. m = шах еу 1<1<Л Величину m будем называть степенью сети. Далее, пусть ht —число наборов степени i (без учета на- бора Ев). Кортеж (hlt h2, Лт) называется степенной m структурой сети. Очевидно, 2 =“ й. Наконец, введем i=l величину и=4 Zihi> i=i которую будем называть средней степенью сети.
234 n. III. ГРАФЫ И СЕТИ Мы будем рассматривать класс сетей, для которых имеет место ограничение л Ж = и <Е^. i—О Это ограничение означает, что данные сети не имеют «изолированных» вершин, отличных от полюсных, и вер- шин, принадлежащих наборам. Обозначим через S(e0, hi} ..., h,.t) максимальное число попарно неизоморфных ceTeii данного класса, имеющих е0 полюсов и данную степенную структуру. Пусть £(е0, |л, т, h) обозначает максимальное число попарно неизоморфных сетей того же класса, имеющих е0 полюсов, данную среднюю степень ц, максимальную степень т и число наборов h (исключая полюсный набор). Для указанных величин имеют место оценки, состав- ляющие содержание теоремы 2 и ее следствия. Т е о р е м а 2 (О. Б. Лупанов [17]). S(e0, hi, ..., /гт)^с(е0, ц, m)hhlil~l}\ Доказательство. Очевидно, что число вершин в наборах Еь ..Eh не превосходит величины р = 2 == рА. i=»i Поскольку сети рассматриваются с точностью до изомор- физма, то можно считать, что полюсами являются а2, • • •) аей' Произведем оценку числа р,- сортов наборов степени i, встречающихся в данных сетях. Поскольку среди этих сетей имеются и сети с р вершинами, для данной вели- чины Pi имеют место соотношения р(-Н1г- < (Р + i - 1)‘< (2р)* - (2ИЛ)*, так как
ГЛ. 2. СЕТИ 235 Заметим, что в силу монотонности (р 4- I — 1\_ . К , по I \ / (р\ = р = ph hi. Легко видеть, что число систем наборов степени i, каж- - гА дая из которых содержит Л,- наооров, не превосходит лр.. При hi 0 имеем "‘“I hi fc,l *» lh,ji - Л Отсюда мы получаем оценку для величины S(eDt hh ... ..hm), которую обозначим просто через <S: т Я<(^ + 1)П4‘Г Множитель eD + 1 отражает тот факт, что либо ни один h из полюсов не принадлежит множеству U либо г=1 h один полюс принадлежит множеству U (Е^ н т, д., i=1 к либо, наконец, все е0 полюсов принадлежат U {Е^. Мы г=1 имеем гг? г=1 Л^О (2e)hi (2nh)ihi ИЛИ та. h i Ь • lnSCIn(eo + l)+ У In^T1 г=1 Л/ ~= In (е0 4- 1) + h (In 2е + р In 2u) 4- pfe In h — 2 hi In i=l m. Пусть hi = ^h. Очевидно, что2 = 1- При этих условиях i=i
226 Ч. III. ГРАФЫ И СЕТИ имеет место неравенство (для энтропии)*) m — S Si In < In m. i—1 (При £ — 0 положим £ln | == 0.) Мы получаем In 5 1п(ей4-1)4-Л(1п m + In 2е+ц In 2tu) + (p, — 1) h In h. Отсюда имеем S^(e„ + 1) (2ет(211)^)^'*-1)Л. Если положить с(е0, ц, т) = ('е0 + 1) 2ет (2ц)11, то окон- чательно получим 5(е0, Л,, ..Лт)^ с(с0, ц, m)hh,^-l',ht Теорема доказана. Полученная оценка слабо зависит от степенной струк- туры {hlt ..hm): в нее входят лишь две ее характе- ристики, ц и т. Это позволяет легко получить и оценку для 5(е0, В, т, Л) при любых фиксированных значениях Со, Ц и тп- Для этого надо оценить число степенных струк- ♦) Из неравенства между средним геометрическим и средним арифметическим (xi • • 7Г ('ri • • • + хп) легко вывести следующее неравенство: где все|{ (i = 1..т) — неотрицательные рациональные числа и m 2е4=‘- Действительно, пусть п — общий знаменатель чисел и «= rif/n (i = 1, ..m) (заметим, что nf -j- «2 -р ... + пт = п). Тогда, применяя неравенство между средним геометрическим и средним арифметическим к п числам, среди которых первые щ чи- сел равны 2], следующие к 2 чисел равны z2 и т. д., мы и получим неравенство (»). Путем предельного перехода неравенство (») можно распрост- ранить и на иррациональные числа £i, ..однако в данном случае этого даже не требуется. Логарифмируя неравенство (#), мы получим неравенство £j In Zi -f- . . . 4“ sm In 2m In ( £ 121 4“ • • 4" , которое при zt = l/^i, zm = 1/gm превращается в неравенство для энтропии.
ГЛ. 2. СЕТИ 237 тур (hu ..hm) с заданными параметрами щ т, h. По- следнее мажорируется числом целых неотрицательных решений уравнения hx + hz +.,. + hm ~ h. Это сво- дится к расстановке т ~ 1 перегородок между h единицами. Мы удовлетворимся грубой оценкой (/г + 1)т_ 1 (каждая перегородка может занимать /г + 1 положение). Таким образом, получаем Следствие. S (е0, р, m, h) ^е(а0, р, т)Л(/г + 1)™ х/г(и 1>h (аи, р, пг)л/г(и”1)л, Полученная оценка как частный случай содержит и оценку для числа графов -у(/г)« 5(0, 2, 2, h)<chh\ Отсюда получается оценка и для числа графов с двумя выделенными вершинами и без изолированных неполюс- ных вершин (эту оценку легко получить и из следствия теоремы 3 гл. 1) 5(2, 2, 2, /г)<4лЛ. § 3. Двухполюсные сети из двухобъектных наборов Здесь мы рассматриваем важный класс конечных се- тей, имеющих два различных полюса (е0 = 2) и состоя- щих исключительно из двухобъектных наборов (е, =-2, при i== 'l, 2, ..., Л). Легко видеть, что данный класс сов- падает с классом конечных графов, в каждом из которых выделены две вершины — полюса. Подобного рода сети S)l(E0; ..., Eh) мы будем обозначать через Г (а, &), где Е0 = (а, Ь). Для сетей, так же как и для графов, вводится поня- тие пути, соединяющего некоторые его вершины а0, Ъ°. В случае, если вершины а0 и Ь° совпадают с полюсами а и b соответственно, то мы употребляем термин «путь» без указания вершин, которые он соединяет. Сеть назы- вается связной, если соответствующий граф связен. Если сеть Г (а, Ь} связна, то для каждого ребра можно указать путь, проходящий через него. Заметим, что для связных
238 Ч. III. ГРАФЫ И СЕТИ сетей h Ke и <^г>. г—1 Следовательно, связная сеть полностью определяется перечислением ее ребер и указанием полюсов. Дальнейшие рассуждения этого параграфа будут от- носиться исключительно к связным сетям. W') Гг(аг;Г) Ца\Ьг) Рис. 9 Пусть Г1(а', Ь') и Г2(«", Ъ") — две непересекающие- ся связные сети, т. е. г,«ь')-и,(£;•,£;,.... 4), Га (а’, У) -«й, (4 4, - 4»), где SD?! П 2Лг = Л. Рассмотрим произвольное ребро Ei = = сети Г^о/, Ь'). Исходя из геометрических со- ображений (см. рис. 9), нетрудно дать определение опе- рации подстановки ^место ребра Et сети Гг(а", Ь"), приводящей к новой сети Г (а', Ь'). Определение. Результатом подстановка вместо ребра Ei = {a°^bn)^ принадлежащего сети Г1(а', br}t сети Гг(а", Ъ”) называется каждая из сетей Г'(д', Ь') и Г" «У): Г' (а', &') =® - ВЯ(£i; Е\....4ъ £™, ..4" 4+,..............4-), Г’(а', 6') = = Ш1(4; £;,..., 4-„ £Г........4~, 4+1.......4,), где 3Ji = OT,U (ЗД2\{(«", 6")}). Набор £jn (j == 1, получается из набора Е] заменой а" па а0 и Ъ" на Ь°, набор Е]у (j — lt h"} получается из набора Ej заменой а" на Ь6 в Ъ" на а°.
ГЛ. 2, СЕТИ 239 Определение. Сеть Г (с, Ъ), получающаяся из се- тей, изоморфных сетям Ъ'), ..., ГДа<т), путем применения конечного числа операции подстановки, называется суперпозицией этих сетей. Пример 4. Сеть Г (а, Ь), изоб- ® раженная на рис. 10, является супер- ух. позицией сетей Tj(а\ Ь'), Гг(а", Ь")> | ТДа*", Ь'") (см, рис. 11). В самом деле, возьмем сеть \ bIV), изоморфную сети Г3(а"', д'"), и подставим ее вместо ребра сети Г3(а"', b'"). Полученную сеть Рис. 10 подставим в сеть ГДа', Ь') вместо ребра (с, d). Затем, осуществляя подстановку в этой про- межуточной сети вместо ребра («', с) сети ГДа*, Ъ"), получим сеть Г (а, 6). Замечания. 1. Легко видеть, что операция супер- позиции является ассоциативной операцией. 2. Множество всех связных сетей {Г (а, Ь)} вместе с операцией суперпозиции определяет функциональную си- стему с операцией. Пусть в сети Г (а, Ь) взяты два пути 'До11 соединяющие вершины ай и Ь°. Определение. Путь <»ьо = Кй”' «М- a*s)’ • • •> (о<-1, Ь')1 называется подпутем пути 4.»|>» “ ((°°> %)- К’ а'з)> • • •» Ь°)1- если последовательность ребер
240 Ч, III. ГРАФЫ И СЕТИ получается из последовательности ребер |(a»,aj2), ..„(о;,.,, Ь“)) путем удаления некоторого подмножества ребер. Подпуть ^аоьо ПУТИ Дд)ьО1 отличный от самого пути Л^ОдО1 называ- ется собственным подпутем. Определение. Путь соединяющий вершины и 6° сети Г (я, Ь), называется цепью, соединяющей эти вершины, если он не содержит собственных подпутей. Замечание. В случае, если вершины ай и Ь° совпа- дают с полюсами а и Ь, вместо слов «цепь, соединяющая а и Ь», будем говорить просто «цепь». Очевидно, что путь является цепью тогда и только тогда, когда он не проходит дважды через одну вершину. Рис, 12 Пример 5. Рассмотрим сеть Г (я, Ь), изображенную на рис. 12. Очевидно, что {(a, с), (с, d), (d, с), (е, Ь)} является путем, но не является цепью, так как. содержит собственный подпуть {(а, с), (с, 6)}. Путь {(а, с), (с, Ь)} является цепью. Легко видеть, что сеть, содержащая h (Л > 0) ребер, имеет бесконечное число путей и конечное число цепей. Введем понятие, которое позволит еще сузить класс рассматриваемых сетей. Определение. Связная сеть Г (л, Ь) называется сильно связной,.если через ,каждое ее ребро проходит не- которая цепь. Очевидно, что не всякая связная сеть является сильно связной (см. пример 5). Ниже доказываются две леммы*). Первая из них дает условие, при котором через данное ребро можно провести цепь. Она служит основой для доказательства второй лем- *) Далыпе изложение связано с работами А. В. Кузнецова [16] и Б. А. Трахтенброта [31].
ГЛ. 2. СЕТИ 241 мы, выясняющей необходимые и достаточные условия сильной связности. Лемма 1. Пусть Г (а, Ъ)—произвольная сеты {не обязательно связная) и пусть через вершины с' и с" (с'^с") сети Г проходят цепи А' и А" (не исключено, что А' =*А"). Если вершины с' и с" можно соединить цепью Ас,с», имеющей с цепями А' и А" общими только концевые вершины с' и с", то существует цепь А, частью которой является Асгс«. Доказательство. Если обе вершины с' и с" при- надлежат одновременно хотя бы одной цепи, напртимер, А', то тогда искомая цепь А получается из А' заменой части цепи А', расположенной между с' и с’\ на _ЛС'с"- В противном случае вершины с и с” являются внутрен- ними. Обозначим через с первую общую для цепей А‘ п А" вершину, если двигаться но цепи А" от вершингы с" к полюсу Ъ (с =5^ с' и с^с"). На рис. 13 изобра_жена □дна из двух возможных ситуаций. Обозначим через Д путь, получающийся из цепи А' заменой участка с'с на путь, состоящий из цепи Ас/с» и участка цепи А" ьпежду вершинами с" и с. Очевидно, А является искомой цепью. Пусть в сети Г (а, Ь) выделено некоторое подмноэкест- во ребер Г', которое, очевидно, определяет граф. Вер шина с графа Г' называется граничной, если опа является либо полюсом сети Г (а, Ь), либо концом ребра сети Г(«з, Ь), не принадлежащего Г'. Определение. Подмножество Г7 ребер сети Г (а, 6) называется отростком, если Г7 обладает единственной граничной вершиной. Например, на рис. 12 подмножество ребер {(с, d)} является отростком, так как имеет одну граничнук» вер- шину с, а подмножество ребер {(а, с), (с, Ь)} отростком не является, поскольку оно имеет три граничные верши- ны: а, с, Ь. Лемма 2. Связная сеть Г (а, Ь) является сильно связ- ной тогда и только тогда, когда Г (а, Ь) не содержит от- ростков. Доказательство. Пусть связная сеть Г (а, &) со- держит отросток Г7. Обозначим через с его граничнук вершину. Рассмотрим произвольное ребро, принадлежа- щее этому отростку. Ясно, что всякий путь, проходящие через данное ребро, должен по крайней мере два. разг пройти через вершину с. Ввиду этого через ребро не про 16 q. в. Яблонский
Ч. III. ГРАФЫ И СЕТИ ходит пп одной цепи. Следовательно, сеть Г (а, &) не яв- ляется сильно связной. Пусть теперь связная сеть Г (а, Ъ) не является сильно связной. Покажем, что тогда она содержит отросток. Так как Г (а, Ь) не является сильно связной, то существуют ребра, через которые не проходит ни одной цепи. Пусть Г' — максимальное связное подмножество ребер, обладаю- щих этим свойством*). В силу связности сети Г (я, Ь) граф Г' обладает по крайней мере одной граничной вер- шиной. Предположим, что Г' имеет по крайней мере две граничные вершины.‘Так как граф Г' связей, то каждая пара граничных вершин может быть соединена цепью, целиком принадлежащей Г'. Пусть с' и с"—две такие граничные вершины, что указанная цепь Ас/с» не содер- жит никаких других граничных вершин. Ясно, что через вершины с' и с" можно провести цепи (соединяющие по- люса) А' й А". Очевидно, что цепь Ас>с» имеет с цепями А' и А” общими только концевые вершины с и с". При- меняя к цепям А', А" и АсгС" лемму 1, мы построим цепь, частью которой будет Ac,cvt что противоречит опре- делению Г'. Следовательно, Г' обладает единственной гра- ничной вершиной, т. е. Г' является от- ростком. Лемма доказана. В дальнейшем будем рассматривать только сильно связные сети. Рассмог- ' рим сеть Го (я, b) — tyl0(E0-t Ei), где SR — {й, Ь), Еа — ~ (я, Ь) (см. рис. 14). называть тривиальной сетью. о о а Ъ Рис. 14 Эту сеть будем Определение. Сильно связная сеть называется разложимой, если существуют такие нетривиальные не- пересекающиеся сети Г1(й, й)иГ2(с', Ъ'), что сеть Г (а, Ъ) есть результат подстановки сети Г2(а', Ь') вместо неко- торого ребра сети rt(a, &). Очевидно, сеть, приведенная на рис. 10, является разложимой. ^Определение. Сильно связная сеть Г (а, 6), не являющаяся разложимой, называется неразложимой. На рис. 15 представлены примеры трех нетривиальных неразложимых сетей (полюса помечены кружочками). Можно показать, что любая нетривиальная неразло- жимая сильно связная сеть, имеющая не более шести ре- бер, изоморфна одной из трех сетей, представленных на рис. 15. Это означает, что не существует неразложимых" *) Если их несколько, возьмем одно из них.
ГЛ. 2. СЕТИ £43 сильно связных сетей с тремя, четырьмя и шестью ребра- ми. В то же время для каждого h > 7 существуют нераз- ложимые сильно связные сети с h ребрами (см. [31]). Последнее легко усматривается из рис. 16, на котором указано построение неразложимых сетей с A (h > 7) ребрами. Цель дальнейших рассмотрений — изучение вопросов разложимости сетей. Поскольку нас будут интересовать разложения специального вида, выделим две простейшие неразложимые сети: параллельное соединение двух ребер Га Ь) и последовательное соединение двух ребер Г|(а, fe) (см. рис. 17). Множество остальных нетриви- альных неразложимых сетей обозначим через Н и сеть, принадлежащую Я, будем называть Н-сетъю. С сетями Г£ (а, Ь) и Г|(а(&) связаны два бесконечных мно- жества сетей. Множество Р, состоящее из сетей Г£ (а, Ъ), — парал- лельное соединение к ребер (к = 2, 3, ...). Очевидно, что («, Ь) при к > 2 является суперпозицией сетей (а, Ь) (см. рис. 18) . 16*
244 Ч. III. ГРАФЫ И СЕТИ Множество S, состоящее из сетей Ц(а, Ь), — последо- вательное соединение к ребер (к~2, 3, ...). Очевидно, что Гд («, Ь) при к > 2 является суперпозицией сетей Г! (я, Ь) (см. рис. 18). Определение. Сильно связная сеть Г(«, Ь) распа- дается на два параллельных куска, если множество всех ее цепей можно разбить на два непустых класса так, что любые две цепи из разных классов не имеют общих внут- ренних вершин. Очевидно, каждая из сетей Г£(а, Ь) (к^2) распадается на два параллельных куска. Рис. 18 Определение. Пусть с — внутренняя (т, е. отлич- ная от полюсов) вершина сильно связной сети Г (а, Ь). Вершина с называется разделяющей, если каждая цепь проходит через с. Очевидно, что каждая из внутренних вершин сети Гд(а> &) является разделяющей. Пусть с — разделяющая вершина сети Г (а, Ь) . Рас- смотрим в каждой цепи отрезок от вершины а до верши- ны с. Очевидно, что совокупность этих отрезков цепей порождает сеть Г1(«, с) с! полюсами в вершинах а и с. Аналогично, если выделить в каждой цепи отрезок от вер- шины с до вершины Ъ, то получим сеть Г2(с, Ъ). Лемма 3. Пусть с — разделяющая, вершина сильно связной сети Г (а, &). Тогда Г (а, 6) получается суперпо- зицией сетей Г.И«, Ь), Г4(а, с), Гг(с, Z?) {последователь- ное соединение сетей Г^а, с) и Г2(с, &)}.
ГЛ. 2. СЕТИ 245 Доказательство следует из того факта, что сети Г! (а, с) и Гг(с, Ь) не имеют общих внутренних вершин. В самом деле, если это ле так, то существуют две цепи Лос и АсЬ, соответственно, сетей Г, (о, с) и Г2(с, &), ко- торые имеют общую внутреннюю вершину (см. рис. 19). Рис. 19 Рис. 20 Обозначим через d первую общую вершину этих ценен, если двигаться по цепи Аас от точки а. Очевидно, что от- резок цепи Аас между вершинами а и d и отрезок цепи А'Ь между вершинами d и b порождают цепь, не прохо- дящую через с. Последнее противоречит тому, что верши- на с является разделяющей. Лемма доказана. Определение. П усть с — вершина сети Г (а, &), тогда совокупность всех се ребер, имеющих своим концом вершину с, называется звездой (с центром в с). Если с — полюс, то звезда называется полюсной. Относительно //-сетей сформулируем следующую лемму. Лемма 4. Если Г(п, Ь) —Н-сеть, а с и d — две раз- личные внутренние вершины {т. е. отличные от полюсов), то существует цепь, проходящая через d и не проходя- щая через вершину с. Доказательство-. Данное утверждение вытекает из более сильного факта: если из Г (а, Ъ) удалить звезду с центром в с, то полученная сеть будет сильно связной. Возможны три случая. а) Удаление звезды приводит к распадению графа на две связные компоненты, которые не имеют общих вер- шин (см. рис. 20). Очевидно, в этом случае вершина с будет разделяющей, и в силу леммы 3 исходная сеть бу- дет разложимой (одна из компонент будет содержать не менее двух ребер, так как //-сеть имеет более четырех ребер), а это невозможно. б) Удаление звезды приводит к сети, которая является связной, но не сильно связной. В силу того, что получен- ная сеть не сильно связная, она имеет отросток с гра- ничной точкой d (см. рис. 21). Поскольку исходная сеть
246 Ч. III. ГРАФЫ II СЕТИ Г (а, Ь) сильно связная, то отросток должен иметь гра- ничные вершины с данной звездой и отличные от d. В та- ком случае отросток с частью ребер звезды образует двух- полюсную сеть Г7 (d, с). Последнее означает, что Г (а, Ь) — разложима, мы пришли к противоречию. Гис. 21 в) Остается последняя возможность — удаление звез- ды приводит к сильно связной сетп. Лемма доказана. Следствие. Н-сетъ не имеет разделяющих вершин. Лемма 5. Если Г (а, Ъ)—Н-сетъ и (а, с)—ребро, принадлежащее полюсной звезде, то после удаления этого ребра получим сильно связную сеть. Доказательство (аналогично доказательству пре- дыдущей леммы). а) Удаление ребра дает сеть, не являющуюся связной. Очевидно, тогда с будет разделяющей вершиной сети Г (а, 6), что противоречит следствию леммы 4. б) Удаление ребра дает связную сеть Г7 (а, Ъ], но не сильно связную. Обозначим граничную вершину отростка сети Г'(й, Ь) через d (см. рис. 22). Ясно, что этот от- росток вместе с ребром (а, с) дает двухполюсную сеть Г77 (a, d). Последнее противоречит неразложимости Г(«, Ь). в) Остается последняя возможность: сеть Г7 (а, Ь)— сильно связная. Рассмотрим разложимую сеть Г (а, Ь)'. Пусть Г (а, &)' есть результат подстановки вместо ребер Eif Eh (А > 2) сети Го(«, Ь) = 9Л(Е0; Еи ..., Eh) соответственно сетей Г\(а(1), &(1)), ..., &w), из которых хотя бы одна нетривиальна. Разложение сети Г (я, Ь) на внешнюю сеть Г0(я, 6) и внутренние сети Г1(а1П, bw), ..., I\(«(fi), bw) допускает простое геометрическое толкование: исходная сеть Г(н, Ь) покрывается сетями ГДя11’, 6(1)), .Г#,(а(Л), bw) так, что любые две внутренние сети могут иметь общими только свои полюсные вершины; расположение этих внутренних
ГЛ. 2. СЕТИ 247 сетей характеризуется внешней сетью (см. рис. 23). Та- ким образом, каждое ребро сети принадлежит ровно одной внутренней сети, а вершина сети Г(щ Ь) либо являемся полюсом внутренней сети (и значит вершиной внешней Рис. 23 Рис. 24 сети), либо внутренней вершиной ровно одной внутрен- ней сети. Замечание. Выберем в сети Го(а, Ь) цепь. Пусть Г./а™, Ь(У)......Ц, («<*•>>*•>) - внутренние сети, соответствующие ребрам этой цепи. Если в этих сетях выбрать по одной цепи, то получим цепь в Г (а, Ь) (см. рис. 24). Определение. Пусть сеть Г(а, Ъ) разлагается на внешнюю сеть Г0(щ Ь) и внутренние сети Г1(а(1), ЬО)) ,.. Гл(а(/1), Ь(Л)). Тогда: а) если Го (а, Ь) есть Г£ (а, Ъ), то сеть Г (а, Ъ) назы- вается р-разложимой, а соответствующее разложение — р- разложением; б) если Г0(й, Ь) есть К (я, Ь), то сеть Г (а, &) назы- вается s-разложимой, а соответствующее разложение — s-разложением; в) если Го (я, Ъ)—/7-сеть, то сеть Г (а, Ъ) называется Н-разложимой, а соответствующее разложение — Н-рссзло- жением. Лемма 6. Если сеть Г (а, Ь) разложима, то ит&еет место е точности одно из следующих утверждений'. Г (а, Ъ) — р-разложимау Г (а, Ъ) —s-разложима, Г (а, Ь) —Н-разложима. Доказательство. Нетрудно показать, что, «ели Г (а, Ь) разложима, то она допускает либо р-разложешие, либо ^-разложение, либо Я-разложение< А именно, так
Ч. III. ГРАФЫ И СЕТИ 248 как Г (с, Z?) разложима, то она допускает разложение на ГДа, Ь) (внешняя сеть) и Г1(аш, Ьи)), ..., ГДа(й>, fe(M) (внутренние сети). Если внешняя сеть есть либо Гд(а, 6), либо Гд {а, Ь), либо сеть класса ff, то мы имеем одно из указанных разложений. Если это не так, то Г0(й, Ъ) раз- ложима и мы получаем другое разложение сети Г(д, Ь) на сеть Г(>(а, Ь) (внешняя сеть) и Ь*1*), ... ..., Гд/ (й]Л *, b\h }) (внутренние сети), причем сеть Г0(а, Ь) имеет меньше ребер, чем сеть ГДа, b}(h' <h). В случае, если внешняя-сеть Г Да, Ь) есть либо Г//(а, Ь), либо Г*/ (а, Ь), либо сеть класса Я, мы получаем искомое разложение. В противном случае сеть Г Да, Ь) разложи- ма и процесс повторяем снова. Так как сеть Г (а, Ъ) имеет конечное число ребер, то в конце концов мы построим требуемое разложение. Теперь остается показать, что тип разложения определяется единственным образом. Предположим, что сеть Г (а, Ь) допускает Я-разло- женпе. а) Тогда она не может распадаться на два параллель- ных куска. Иначе внешняя сеть распадается также на два куска, т. е. является разложимой либо совпадает с (а, Ь), что при Я-разложении невозможно. б) Она не может иметь и разделяющей вершины. В противном случае разделяющей вершиной будет внут- ренняя вершина внешней сети. Последнее при Я-разло- жении невозможно в силу следствия леммы 4. Ясно также, что два свойства: распадение сети на два параллельных куска и наличие разделяющей вершины — взаимоисключающи. Таким образом, разложимая двух- полюсная сеть обладает в точности одним из следующих свойств: распадается на два параллельных куска, имеет разделяющую вершину, допускает Я-разложение. I. Разложимая сеть распадается на два параллельных куска в том и только том случае, если она р-разложима. II. Разложимая сеть имеет разделяющую вершину тогда и только тогда, когда она s-разложима. III. Разложимая сеть не распадается на два парал- лельных куска и не имеет разделяющей вершины в том и только в том случае, если она Я-разложима. Лемма доказана. Определение, р-разл ожени е сети Г (а, Ь) называ- ется р-расщеплением, если внутренние сети разложения
ГЛ. 2. СЕТИ 249 отличны от сетей вида Гэ(а, Ь) и сетей, являющихся р-разложимыми; s-разложение сети Г(а, Ь) называется s-расщеплением, если внутренние сети разложения от- личны от сетей вида Г2(а,Ь) и сетей, являющихся s- разложимыми; Я-разложение сети Г (а, 6) называется Н-расщеплением. Заметим, что сети Г£ и П(й^З) являются разло- жимыми, но не допускающими расщепления. Пример 6. Рассмотрим сеть, изображенную на рис. 25. Очевидно, что разложение этой сети па сеть —♦—° Г^(д, Ь) и сети Г'г (а, с}, Г2(с, Ъ) (см. f * рис. 20, а)) не является s-расщепле- Гис. 25 нием, так как сеть Г3{с, Ь) есть сеть вида Fs2(c, Ь). В то же время s-разложение на сеть Г^(а, Ь) и сети Fj (а, с), Г2(с, d), Гц(с£, Ь) (см.рис, 26, б)) является s-расщеплением. Данный пример показывает, что для сети Г (я, Ъ) мо- жет существовать несколько разложений. а с bv а с У b и с о-------о у Г (at d) ------о Г'г(с,Ь) S) б) Рис. 26 Определение. Внутренняя вершина с сети Г (а, Ь) зависит от вершины d той же сети, если каждая цепь, проходящая через с, проходит также через d. Определение. Внутренние вершины с и d сети Г (я, Ь) называются эквивалентными, если вершина с за- висит от вершины d и вершина d зависит от вершины с. Определение. Внутренняя вершина с сети Г (а, Ь) называется минимальной, если, какова бы ни была внут- ренняя вершина d сети Г (а, Ь), либо с эквивалентна d, либо с не зависит от d,
25Г) Ч. III. ГРАФЫ И СЕТИ Пример 7- Рассмотрим сеть Г (а, 5), изображенную на рис. 27. Здесь вершина / зависит от вершины е, вер- шина е эквивалентна вершине g, вершины с и d явля- ются минимальными. Из определений следует, что отношения зависимости и эквивалентности удовлетворяют аксиоме транзитивности, а отношение эквивалентности — также и рефлексивности. Рис. 28 Лемма 7. Если Г (л, Ь) допускает И-разложение, то совокупность минимальных вершин совпадает с совокуп- ностью внутренних вершин внешней сети. Доказательство. Пусть с — минимальная верши- на; покажем, что опа принадлежит множеству внутрен- них вершин внешней сети. Допустим, что это не так. Тог- да с принадлежит некоторой внутренней сети. Очевидно, что с зависит от полюсных вершин этой сети. Так как внешняя сеть — //-сеть, то по крайней мере одна из дан- ных полюсных вершин является внутренней вершиной исходной сети. Б этом случае с не является минимальной вершиной. Пусть теперь с — внутренняя вершина внешней сети, покажем, что она минимальна. Для этого достаточно уста- новить, что с не зависит ни от какой другой внутренней вершины d, т. е. что существует цепь, проходящая через с и не проходящая через d. Очевидно, вершина d либо является внутренней вершиной внешней сети, и тогда мы воспользуемся леммой 4, либо является внутренней вершиной некоторой внутренней сети (см. рис. 28). Обозначим через ей/ полюса этой сети. Возможны следующие подслучаи. а) Вершина е совпадает с полюсом, например а, вер- шина / совпадает с вершиной с. Тогда применяем лем- му 5. Учитывая замечание на с. 247, мы получим цепь, проходящую через с и не проходящую через d.
б) Одна из вершин, например /, не совпадает ии с полюсом сети пи с вершиной с. Здесь применим лемму 4. Учитывая замечание на с. 247, мы опять получим цепь, проходящую через с и не проходящую через d. Теорема 3. Если сильно связная- сеть Г (а, &) раз- ложима и отлична от сетей Г£, Г^(/с^З), то она до- пускает единственное расщепление. Доказательство. Мы уже видели, что тип рас- щепления единствен. Поэтому остается показать единст- венность расщепления внутри данного типа. Случай 1. Сеть Г(«, Ь) распадается па два парал- лельных куска. Проведем разбиение всех цепей сети на классы. Две цепи А' и Л" относятся к одному классу тогда и только тогда, когда на цепях А' и А" найдутся внутренние вершины (соответственно с' и с"), которые можно соединить цепью Ас>с», не проходящей через по- люса (отсюда следует, что и любая пара внутренних вер- шин этих цепей может быть соединена цепью, не прохо- дящей через полюса). Такое определение корректно, по- скольку если внутренние вершины цепей А' и А" могут быть соединены цепями, не проходящими через полюса, и внутренние вершины цепей А" п А'" — цепями, не про- ходящими через полюса, то и внутренние вершины цепей А' и А'" могут быть соединены цепями, не проходящими через полюса. Таким образом, мы получаем разбиение на классы 9U, и это разбиение определяется однозначным образом. Дан- ное разбиение порождает р-расщепление на сети П (а, Ь), 1\ (о, Ь), ..., Гл (а, Ь) (каждая из сетей Г, (л, Ъ) (г = 1, ..., /г) отлична от Гд (а, &) и не допускает р-разложений; кроме того, хотя бы одна из них нетривиальна, так как Г (а, Ь)^Г^(а, Ь)). Случай 2. Сеть Г (с?, &) имеет разделяющие вершины с,, Ch-i. Легко видеть, что, двигаясь по любой цепи от полюса а к полюсу Ь, разделяющие вершины встречаются в одном и том же порядке (пусть с„ ..., ch-i). Пусть ГДа, с,), Г2(сь с2), ..., rft(ch_j, b) — сети, образованные из отрезков этих цепей между соответствующими верши- нами. Как и в доказательстве леммы 3, легко показать, что эти сети не имеют общих вершин, отличных от своих
252 4. III. ГРАФЫ И СЕТИ полюсов. Мы приходим к s-расщеплению сети Г (а, Ъ) па сеть Г* (а, &) и сети 1\(щ, Ci), Г2(съ с2), ..., ГЛ(сЛ—±, Ъ), так как Г (й, Ь) #= П (а. Ь), ш, значит, хотя бы одна из внутренних сетей нетривиальна. Из построения вытекает однозначность. Случай 3. Сеть Г (а, Ь) допускает //-разложение. Как это следует из леммы 7, опо однозначно. В самом деле, мини- мальные вершины зада- ют все внутренние вер- шины внешней сети, па- ра минимальных вер- шин или полюсов с, d задает ребро внешней сети тогда и только тог- да, когда существует цепь, соединяющая с и d и не проходящая че- рез другие минималь- ные вершины или полю- са. Теорема доказана. Рассмотрим некоторую сеть Г (а, Ь). Если она допуска- ет расщепление, то осуществим ее расщепление. В ре- зультате получим сети с меньшим числом ребер. Опять расщепим те внутренние сети, которые допускают рас- щепление, и т. д. Этот процесс закончится на конечном шаге и мы придем к сетям либо тривиальным, либо не- разложимым, либо сетям вида Г£, Г£ (А: 3). Система всех нетривиальных сетей, которая возникает при рас-
щенлении сети Г (а, Ь), называется каноническим рас- щеплением сети Г (а, Ъ). Таким образом, нами доказана Теорема 4. Яаждая сильно связная нетривиальная сеть Г(«, Ь), допускающая расщепление, имеет единст- венное каноническое расщепление. Пример 8. Сеть Г (а, Ь), изображенная на рис. 29, при каноническом расщеплении разлагается на сети (см. рис. 30). § 4. л-сети Важным подклассом двухполюсных сетей из двух объ- ектных наборов является класс л-сетей. Определение. Сеть, являющаяся суперпозицией сетей rf(a,fc) и Г4(а, Ь), называется п-сетъю. Данное определение эквивалентно другому: двухпо- люсная сеть из двухобъектных наборов, которая сильно связна, будет л-сетью, если каноническое расщепление содержит сети двух типов Г£(а, Ь) и 14 (я, Ь). Пример 9. Сеть Г (а, Ь), изображенная на рис. 31, будет л-сетью. Каждой л-сетп можно поставить в соответствие мно- жество укладок дерева, неконцевым вершинам которых сопоставлены символы р и s. Возможны два случая: 1) Г (а, Ь) = П(а, Ь), где о=р или a=s. Сети Г£(а, Ь) ставим в соответствие пучок из A (h > 2) ребер*), корень которого помечен символом о (рис. 32). 2) Г (а, Ь) расщепляется на сеть Г4(я, Ь) и сети Г1(а(1), bw), ..., ГЛ(«(М, bw) (а~р или a = s). Выпуска-, ем из корня, домеченного символом о, h (А 5* 2) ребер*), *) Порядок ребер в пучке при о = р произволен, при о — s соответствует порядку ребер в сети Г^(а, Ъ).
которые соответствуют внутренним сетям (рис. 32). Да- лее, концам ребер, которым соответствуют нетривиальные сети, приписываем символ, отличный от о (его обозначим через о*)). После этого для каждой нетривиальной сети Рис. 33 ГДа°\ Ь(0) применяют либо п. 1, либо п. 2 и строят пуч- ки в вершинах о и т. д. (рис. 33). В построенной укладке дерева каждый пучок ребер содержит не мепее двух ребер. Таким образом, каждой л-сети соответствует множество укладок дерева. Неизоморфным л-сетям соответствуют непересекаюгциеся множества укладок. Значит число л-се- тей не превосходит числа укладок деревьев. Рассмотрим укладку дерева для л-сети из примера 9 (рис. 34). Легко видеть, что укладка дерева, соответст- вующая л-сети с h ребрами, имеет h концевых вершин. Итак, изучение л-сетей может быть сведено к изуче- нию укладок деревьев специального вида. Покажем, что эта связь позволяет переносить некоторые факты, извест- ные для деревьев, па л-сети. Теорема 5. Пусть л(7г)—максимальное число по- парно неизоморфных п-сетей с h ребрами. Тогда л(А)< <42\ Доказательство. Очевидно, что искомое число не превосходит числа укладок выше указанного типа де- ревьев с h концевыми вершинами, у которых каждый пу- чок исходящих ребер содержит не менее двух ребер. Обоз- начим через I число ребер в дереве из этого класса. По индукции докажем, что I < 2h — 2 при h > 2. Базис индукции. Если л-сеть содержит два ребра: h =я 2, то очевидно, что соответствующее дерево содержит *) Где о = s, если с = р и о = р, если о = s.
две концевые вершины, т. е. I — 2 и неравенство выпол- нено. Индуктивный переход. Пусть неравенство верно для деревьев, соответствующих л-сетям с менее, чем h ребрами. Рассмотрим л-сеть Г (a, b) с h ребрами и соответствующее ей дерево (рис. 35). Если Г (а, Ь) = = Гд(а, Ь), то / = Л>2 и неравенство, очевидно, выполне- но. Если Г (а, Ь) допускает расщепле- ние, то в дереве число т исходящих (д ] ( д из корня ребер равно числу ребер \ 1 I , внешней сети расщепления сети \ / \ / Г (а., Ъ) и по условию т > 2. Деревья \/ W ..., Dt соответствуют нетрпви- х. \ ••• У альным внутренним сетям этого \\ расщепления, t < т. Обозначим че- рез lt и hi (i=l, ..., t) число ре- бер и число концевых вершин в Рис. 35 дереве Dt. По предположению ин- дукции li^2hi~ 2 (г = 1, ..., t), кроме того, очевидно, t t 2 li + wi ® 2 hi + (w — t) ~ h. Мы имеем i=l 1=1 t t I = 2 h + w A2 J] — 2f -b m =* i=i t=i (t X 2 hi + (m — t)I — m = 2h — m 2h — 2, i=i / так как m2. Для оценки величины л (А) , заметим, что в каждой укладке дерева из данного класса символы р и а можно расставить двумя способами. В силу этого, используя оценку для числа укладок деревьев с заданным числом ребер, имеем
ТЕОРИЯ КОДИРОВАНИЯ Вопросы кодирования играют существенную роль в математике. Кодирование позволяет изучение одних объ- ектов сводить к изучению других. Хорошо известно, ка- кую роль сыграло изображение чисел в десятичной систе- ме счисления. Весьма важным в развитии математики было появление метода координат, который позволил Рис. 1 кодировать геометрические объекты при помощи анали- тических выражений. Однако, здесь средства кодирования являлись вспомогательным аппаратом и не были предме- том изучения. Совсем другое значение получили коды в связи с изучением управляющих систем. Появилась не- обходимость систематического исследования в области теории кодирования. Основной круг задач может быть прослежен на примере из области связи, который харак- теризуется схемой, представленной на рис. 1. Пусть задан алфавит &={аь ..., л.г}, состоящий из конечного числа букв. Конечную последовательность сим- волов из St А == а.[ в; .,. а; Ч *2 Ы будем называть словом в алфавите St, а число п — длиной слова А. Длину слова А будем обозначать через ЦА).
Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ 257 Пусть S~5(Sl) —множество всех непустых слов в алфа- вите 91, и S' — некоторое подмножество множества 5. Объект, порождающий слова из S', называется источником сообщений, а слова из S' — сообщениями. Источником сообщений может быть автомат, человек и т. п. Обычно при рассмотрении задач теории кодирования используется дополнительная информация об источнике сообщений в виде некоторого его описания. Существует ряд способов описаний источников сообщений: а) теоретико-множественное описание осуществляется путем фиксации мощностных характеристик S', например, S' — множество всех слов заданной длины т; б) статистическое описание осуществляется заданием вероятностных характеристик S', например, S' = S, и за- даны вероятности рг появления букв щ, ,,. ,Яг( = 1 \i=l в) логическое описание — это описание множества S' как некоторого «языка». Оно характеризует способы по- строения множества S', например, S' может быть порож- дено некоторым автоматом. Пусть задан алфавит £9, где 8 = {&ь М- Через В обозначим слово в алфавите S и через 5($) — множество всех непустых слов в алфавите S. Пусть задано отображение F, которое каждому слову А, А е S'(21), ставит в соответствие слово B^F(A), Слово В будем называть кодом сообщения А, а переход от слова А к его коду — кодированием. В теории кодирования отображения F задается неко- торым алгоритмом. Пример 1. а) Алфавитное кодирование. Рассмотрим соответствие между буквами алфавита 21 и некоторыми словами в алфавите 23: 17 с. в. нбмясвий
2584. IV. ТЕОРИЯ НОДИРиВАШШ Это соответствие называют схемой и обозначают через S. Оно определяет алфавитное, кодирование следующим об- разом: каждому слову А = а^ ... ain из S' (5() = 5(51) ста- вится в соответствие слово называемое кодом слова А. Слова В1} ..Вг называются элементар- ными кодами. б) Равномерное кодирование. Пусть {Л(, ..., ДД — не- которое подмножество попарно различных слов в алфа- вите $1, имеющих одинаковую длину ш. Очевидно, что каждое слово А, которое допускает разложение вида Д = Д^ ... имеет единственное разложение. Пусть, далее, S' (5С) — подмножество всех слов в алфавите 51, допускающих раз- ложение вышеуказанного вида. Рассмотрим схему А1 — В .... (SJ Дл ~ Bs, где элементарные коды В* имеют одинаковую длину. Схема X определяет равномерное кодирование следую- щим образом: каждому слову А = Д^ ... Ain из S' (Й) ставится в соответствие слово В = . Bin, называемое кодом слова А. Выбор кодов связан с различными обстоятельствами, а именно: с удобством передачи кодов (например, двоичный код технически легче использовать); с обеспечением удобства восприятия (например, ма- шинные коды удобны для работы процессора); с обеспечением максимальной пропускной способности канала; с обеспечением помехоустойчивости; с достижением определенных свойств алгоритма коди- рования (например, простота кодирования, возможность однозначного декодирования) и т. п. Канал связи можно рассматривать как устройство с одним входом и одним выходом (см. рис. 2). На вход этого устройства поступает код сообщения В. На выходе получают В' — код сообщения на выходе, где В' — слово в некотором алфавите ?)' и В'-КВ).
Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ 259 В простейшем случае (тождественный канал без помех), т. е. в случае идеальной линии связи, В' = В (или /(В)=“ «= В) и значит ©' = В общем случае капал связи может включать в себя преобразование кодов и (как, на- пример, в ЭВМ). Источник помех вносит ошибки в канал связи, вызы- вая искажения кодов на выходе. Для описания источника помех используют два способа: а) логико-комбинаторное описание рис 2 обычно спя за по с указанием ограниче- ний па число единичных ошибок; б) статистическое описание осуществляется заданием вероятностных характеристик источника. Код сообщения на выходе в случае тождественного канала представляет собой некоторое слово в алфавите S' = ®. Однако источник помех может приводить к тому, что В' ¥= В. Сообщение на выходе представляет собой слово в не- котором алфавите <Х. В случае тождественного канала, т. е. при передаче сообщений, (S = 5l. Переход от кодов сообщений на выходе к сообщениям на выходе предполагает два преобразования. Коррекция кода сообщения на выходе. Это преобразо- вание возможно только для специальных кодов сообще- ний. В том случае, если мы имеем дело с передачей со- общений, происходит переход от В' к В. Декодирование. Оно представляет собой переход от кода, полученного из кода сообщения на выходе после коррекции, к сообщению на выходе. Декодирование воз- можно также не для всяких кодов, а только для специаль- ных кодов сообщений. В случае передачи сообщений де- кодирование возможно, если существует обратное отобра- жение F~\ В данной главе мы познакомимся с элементами теории кодирования. При отборе материала мы стремились дать представление: а) о главных классах кодов; б) о теоретико-вероятностных и комбинаторно-логиче- ских подходах к описанию задач; в) о характере математических задач в этой области; г) о методах решения задач теории кодирования, 17*
2G0 ч. IV. ТЕОРИЯ КОДИРОВАНИЯ В § 1—4 изучается алфавитное кодирован не. Изло- жение концентрируется вокруг двух задач: выяснения возможности однозначного декодирования и построения кодов с наименьшей избыточностью. В § 5 изучается один класс кодов из семейства так называемых равномерных кодов. Здесь рассматривается задача о построении помехо- устойчивых кодов. § 1. Критерий однозначности декодирования Здесь мы рассматриваем алфавитное кодирование для алфавитов 21 и S3, задаваемое схемой S: at — Bit .... (2) аг — Вг, и полагаем 5'(21) = 5(2t), т. е. источник сообщений порож- дает множество всех слов в алфавите 21. Очевидно, что алфавитное кодирование порождает отображение множест- ва в множество 5(23). Обозначим через 5Е (S3) образ множества 5(20 в этом отображении. В случае, когда отображение 5(21) на 5Е(23) взаимно однозначно, возможно декодирование, т. е. возможно по коду В однозначно восстановить исходное сообщение А, кодом которого является В. В этом случае говорят также, что алфавитное кодирование является взаимно одно- значным. Пример 2. Рассмотрим алфавитное кодирование, для которого 21 = {йь а2), S3 = {btl 62) и схема имеет вид Щ - bt, я2 — bj&j. Пусть В' и В" являются соответственно кодами слов А' и А ". Очевидно, что если А' =£ А", то В' В". Процесс декодирования происходит следующим обра- зом. Произведем разбиение слова В, В 52(S3), на элемен- тарные коды. Для этого заметим, что перед каждым вхож- дением буквы Ь2 в слове В непосредственно находится буква Это позволяет выделить все пары (Ь,Ь2). Остав- шаяся часть слова В будет состоять из букв Если те- перь заменить каждую пару (btba) на аг, а каждую из оставшихся букв Ь, — на щ, то получим слово А, явля- ющееся прообразом В,
Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ 261 Пусть В = blbib2blb2biblbib2. После выделения пар мы получим разбиение на элементарные коды B=b1(blb2)(b1bl)blb1(blb2)f из которого находим слово А = а^а^сца^. Можно привести большое количество примеров, в ко- торых алфавитное кодирование не будет обладать свой- ством взаимной однозначности. В связи с этим возникает вопрос: возможно ли по схеме S алфавитного кодирования узнать, обладает алфавитное кодирование свойством взаимной однозначности или пет. Трудность решения за- дачи состоит в том, что для непосредственной проверки взаимной однозначности необходимо просмотреть беско- нечное число слов. Прежде чем приводить общий критерий взаимной од- нозначности алфавитного кодирования, рассмотрим весьма простой достаточный признак взаимной однозначности. Определение. Пусть слово В имеет вид В = ВГВ'Г. Тогда слово В' называется началом или префиксом слова В, а В” — концом слова В. При этом пустое слово Л и само слово В считаются началами и концами слова В. Все начала и концы слова В, отличные от него самого, назы- ваются собственными. Определение. Схема S обладает свойством пре- фикса, если для любых I и j (Ki, jr, слово B{ не является префиксом слова Д-. Теорема 1. Если схема S обладает свойством пре- фикса, то алфавитное кодирование будет взаимно одно- значным. Доказательство. Поскольку схема S обладает свойством префикса, все элементарные коды в ней попар- но различны, т. е. В{ *т= B>J при i j. Предположим, что некоторое слово В из допускает две расшифровки, а значит и два разбиения на элементарные коды В = В,, • • В|., в = вп... Blt.
262 Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ Пусть = В.п^=В^ в та_ ком случае одно из слов Bin, Bjn является префиксом дру- гого. Теорема доказана. Предыдущий пример показывает, что условие префпкс- пости не является необходимым: 2 может не обладать свойством префикса, а алфавитное кодирование, опреде- ляемое 2, -будет взаимно однозначным. Пусть B^bi,..bin—слово пз S(®). Обозначим через В— слово, получающееся пз В путем «обращения», т. е, В == ... ь. ‘п 1 Обозначим, далее, через 2 схему вида аг - Вт. Пример 3. Возьмем в качестве 2 схему из приме- ра 2. Тогда 2 имеет вид Щ Ь1, аг — Ь2Ь1. Здесь 2 обладает свойством префикса, и в силу теоремы 1 алфавитное кодирование, задаваемое 2, будет взаимно однозначным. Замечание. Алфавитное кодирование, определяемое схемой 2, и алфавитное кодирование, определяемое схе- мой 2, одновременно либо обладают свойством взаимной однозначности, либо пет. Данное замечание позволяет усилить теорему 1. Теорема 2. Если либо схема 2, либо схема 2 обла- дает свойством, префикса, то алфавитное кодирование, задаваемое 2(2), будет взаимно однозначным. Можно привести прпмер алфавитного кодирования со схемой 2 так, что и 2 и 2 не обладают свойством пре- фикса, а алфавитное кодирование будет взаимно одно- значным. Для этого предыдущий пример уже не годится, но мо- жет быть легко усовершенствован.
Пример 4. Пусть SI = {аь са, а3) и = &2, Рассмотрим схему 2: - ai~bh а2 &1&2, (2) Д'5 b3bt. Очевидно, 2 и 2 не обладают свойством префикса, в то же время алфавитное кодирование будет взаимно однозначным. В самом деле, если В Ss (93), то это сло- во однозначным образом разбивается на элементарные коды: слова от буквы Ь2 нс посредственно находится 1л — выделяем пару справа от буквы Ь3 непосредственно находится — выделяем пару (t36i); после выделения всех пар (bi&a) и (&3&i) в слове ос- танутся лишь символы В дальнейшем предположим, что в 2 элементарные коды попарно различны. Прежде чем идти дальше, введем ряд обозначений: 1(B) будет обозначать длину слова В, т. е. количество букв в этом слове. В частности для длин элементарных кодов Bi (i = 1, .. ., г) полагаем l(Bi)=li. Далее, перез L обозначим величину 1(В3. ..Вт), т. е. «длину» схе- мы 2. Пусть = (1) — нетривиальное разложение элементарного кода В<, т. е. разложение, отличное от разложения B^Bt (р' = р"=Д), причем Р' и Р" отличны от элементарных кодов. Параметр w может быть целым числом, большим или равным нулю. Соотношение (1) означает, что в элементарном ко- де Bi можно отбросить некое начало р' и некий конец р" так, что оставшаяся часть разбивается на элементар- ные коды (см. рис. 3). Очевидно, что для каждого Bi число разложений ви- да (1) конечно. Обозначим через IV максимум чисел о?, взятый по всем разложениям /Л и ио всем i, т. е. W = max w.
Пример 5. Рассмотрим алфавитное кодирование с = {«1, аг, а3, щ, аД, S3 = {£\, b2, ЬА и схемой fii bibit П2 ^1^3^!, Gj b2bjt c4 — bib2bib2t a$ — b2bib2b2b2. Так как 6 > li > 2, то W < 3. С другой стороны, 7>\ = b2bib2b2b3 — b2BiBit поэтому W *= 2. Обозначим, наконец, через 5K(9I) множество всех не- пустых слов в алфавите 91, имею- щих длину, не превосходящую N. Ясно, что SN (91) — конечное множество, его мощность равна 4 Рис. 3 Сформулируем теперь крите- рий взаимной однозначности алфа- витного кодирования. Теорема 3 (Марков Ал. А. [22, 23]). Для всякого алфавитного кодирования со схемой S существует та- кое Ао, (TV-pi) (L-r+2) 1 2 * что проблема взаимной однозначности алфавитного коди- рования сводится к аналогичной проблеме для кодиро- вания конечного множества S1 0 (91). Доказательство. Если в алфавитном кодирова- нии нарушена взаимная однозначность, то найдется та- кое слово В, которое допускает по крайней мере две раз- личные расшифровки А' и А". Для доказательства тео- ремы достаточно установить, что можно найти также та- кое слово В, что для его расшифровок А' и А" имеют место неравенства
Ч. IV. ТЕОРИЙ КОДИРОВАНИЯ 265 Слово В, допускающее не менее двух расшифровок, называется неприводимым, если каждое слово В', полу- чающееся из В путем выбрасывания непустого куска, допускает не более одной расшифровки. Ясно, что с самого начала можно предполагать, что слово В — неприводимо. Рассмотрим его две расшифров- Рис. 4 ки А' и А". Очевидно, что с ними связаны два разбие- ния слова В на элементарные коды — верхнее и ниж- нее Та. (см. рис. 4). Возьмем произведение Г этих разбиений, т. е. разбие- ние, которое получается путем одновременного разбие- ния Ti и Т2. Слова этого нового разбиения Т разделим на два класса: к первому классу отнесем слова, являю- щиеся элементарными кодами, ко второму — все осталь- ные слова. Ясно, что слова из первого класса входят каж- дое ровно в одно разбиение, а слова второго класса (па рис. 4 изображены жирными отрезками) являются од- новременно непустыми началами и концами элементар- ных кодов из разных разбиений и отличны от элементар- ных кодов, так как слово В неприводимо. Покажем, что каждые два слова р' и из второго класса различны, т. е. р' Р", Положим противное: == Тогда В - В'$'В " ₽ "В'"= В'$В " $В'\ Утверждается, что слово B'fi'B'", получающееся из В путем выбрасывания куска В"$", допускает по крайней мере две расшифровки. Для расположения слов и fj" возможны 4 случая, которые изображены на рис. 5. Не- трудно видеть, что случай с) сводится к случаю а), случай г} — к случаю б). Для этого в в) и а) нужно по- менять ролями разбиения Tt и Г2. В случае а) при выбрасывании куска В"$" и сдви- гании кусков В'У и В'" верхнее разбиение получается из склейки частей верхнего разбиения, нижнее — из склейки частей нижнего разбиения,
266 Я. IV. ТЕОРИЯ КОДИРОВАНИЯ В случае б) верхнее разбиение получается из склей- ки части верхнего разбиения для куска В'$' и нижнего разбиения для В"', нижнее разбиение — путем склейки нижнего разбиения для куска В'$' и верхнего — для куска В"'. Итак, для слова В'$'В'" во всех случаях мы получа- ем по крайней мере две рас- шифровки, что противоречит тому, что исходное слово не- приводимо. Число р слов второго класса не превосходит числа непустых собственных начал элементарных кодов, т. е. ^ВДН) + + (Z(B2)-1)K.. ...4-(Z(5r)-l)=L-r. 8” X 8'” В’ X Рис. 5 Слова из второго класса ‘ разбивают слово В не более чем на L — г + 1 кусков, некоторые из них могут быть пустыми (см. рис. 6), Пусть = рр+1 “Л. Рассмотрим один из кусков, рас- положенный между словами и (J = 0, ..., р): В этом куске все слова . Рис. 6 принадлежит другому раз- биению— Тг. При этом w < Ж Поэтому с каждым куском связаны w элементар- ных кодов одного разбиения и один элементарный код другого разбиения. Если взять теперь два соседних куска 0%' ...В, $^ВГ1 ...ВрН2Л ' то элементарные коды В t, .. м В , , В.г = |У+15 „... В „ рНа ij, ^1 ., принадлежат одному и тому, же разбиению сло- ва В, например Ти а слово
Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ 267 входят в одно разбиение, а в» ... в» t = Р’Х'...Pj+1 ц’ * л iw" ^w' — в другое разбиение (см. рис. 7). Следовательно, кускам разбиения Т между словами и [}j+‘ для одной и той же четности j соответствуют Рис. 7 элементарные коды Bi исходного разбиения (напри- мер Л) и группы элементарных кодов Biv ..., Biw того же разбиения для другой четности /. Отсюда легко получа- ется оценка для максимального числа элементарных кодов, входящих в разбиение. Оно не превосходит f L - г +21 , Г L - г+ 2 ] w \ (1-7+1) (L-r + 2) L 2 J L 2 J + 2 Мы получаем, что г(Л'),/И)<Г(Ж+<>^~г+г)]- I “ I Если теперь положить Л'о = max (/(Д'), /(Д")), то очевидно, что взаимная однозначность кодирования уже нарушается на множестве S (^)т так как Д\ А" е е S ° (51). Теорема полностью доказана. Критерий однозначности декодирования дает простой алгоритм для установления по схеме 2, будет алфавит- ное кодирование обладать свойством взаимной однознач- ности или пет. Для этого достаточно рассмотреть множе- ство слов в алфавите §1, имеющих длину не более 2V0, у т, е. S 0 и выяснить, будет ли кодирование этого ко-
268 Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ печного множества ^взаимно однозначным. Трудоемкость лг0 такого алгоритма можно грубо оценить как г . Оказы- вается, что данный алгоритм не может быть использован даже в простых примерах. Пример 6. Рассмотрим алфавитное кодирование (см. пример 5). Мы имеем г == 5, W = 2, L ~ 16. Берем ~ -г-1) (L — г + 2) J= pilL =19 и получаем Л = 5". что весьма велико. § 2. Алгоритм распознавания однозначности декодирования Из доказательства критерия однозначности декодиро- вания можно извлечь достаточно эффективный алгоритм для распознавания возможности декодирования. Этот ал- горитм формулируется на языке теории графов (Марков Ал. А. [22-24]). Пусть алфавитное кодирование задано схемой S: Щ Z?j, ........... (Ч аг-Вг. Для каждого элементарного кода В, рассмотрим все не- тривиальные представления вида Biwp*, (I) в которых р' и р" отличны от элементарных кодов. Обо- значим через 89о множество, содержащее: а) пустое слово Л; б) слова р, которые встречаются в разложениях вида (1) как в форме префиксов, так и окончаний. Далее, каждому слову пз So сопоставим точку на плос- кости. Пусть 0', Рассмотрим все нетривиальные раз- ложения вида (1). Для каждого из них соединяем соот- ветствующие словам р' и 6" вершины направленным от- резком (от к , которому приписано слово В^ ... Biw, Полученный граф обозначим через Г(2).
Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ 269 Отметим особо тривиальный случай, когда свойство взаимной однозначности алфавитного кодирования • со схемой S нарушается из-за того, что существует элемен- тарный код Z?t с разложением вида (1), в котором = р"=Л (т. е. Bi разбивается на элементарные коды). В этом случае граф Г(Х) содержит петлю при вершине Л. Теорема 4. Алфавитное кодирование со схемой 2 не обладает свойством взаимной однозначности тогда и только тогда, когда Г (S) содержит ориентированный цикл, проходящий через вершину Л. Доказательство. Необходимость. Пусть алфавитное кодирование не обладает свойством взаим- ной однозначности. Тогда найдется неприводимое слово В вила (см. § 1) в в 9 р'5л... в L г ... ppz?.p -. • В_г, , г1 VJ г1 !W1 г1 lipP для которого В .0 = В q ... В п р ( 1 <1 В.^'В^.В'! Г, 1 г 1 — fV В р ... В р . ч V Поэтому в графе Г (S) имеется ориентированный цикл (см. рис. 8), проходящий через вершину Л. Достаточность. Пусть Г (S) содержит ориенти- рованный цикл, проходящий через вершину Л (см.
м. iv. ГЛОРИЯ киДШ’ОВАНШГ рис. 8). Тогда слово В, где B = S0...B0 Р'Вд ...Вл р*5р...Вр f 11 VJ Ч гш1 Ч lwp имеет дне расшифровки, определяемые двумя разбие- ниями ...{Вг i('₽'"B.3...B8₽,vy... \ Ы'2' \ ^w3 J Теорема доказана. Таким образом, алгоритм состоит из построения гра-< фа Г (2) и выявления ориентированных циклов, прохо- дящих через Л. Пример 7. Рассмотрим алфавитное кодирование (см. пример 5) со схемой Й! - bj)2, Ь]Ь3Ь21 а» b2b3, (2) Д'5 Имеем следующие нетривиальные разложения: ^2 = (&1)(№) = (61Ьз) (М, Я3=(М(М/ В, = (д£) (Ш) = (ЬЛ) (&£Ь3) = (&£&2Ь J (bs), B3 = (b2) (blb2b2b3y=(b2) (bib2) (b2bs) = (b2bi) (b2b2bz) = ~ (.b2bib2) {Ь2Ьзу = (&$)« Очевидно, = {A, b2, biM и с ним связаны разложения 52 = (&Л)(М, 54 = (M2)(W = Bl(b1M, в6 =(&a) (bzb,} (b2b3) = Это дает возможность построить граф Г (S) (см. рис. 9). Г (2) содержит ориентированный цикл, порождающий слово В, B^B.b.b^B.B,,
Ч, IV, ТЕОРИЯ КОДИРОВАНИЯ 271 имеющее две расшифровки: В = (Bibib3) (b2BiB3), т. е. А' = а^а-3, В = Bitbibsbz'jBiBz, т. е. А" =а1а2,а1а3. Пример 8. Рассмотрим алфавитное кодирование со схемой Щ - bi, Й2 b^bif fls £>1&г&2, (S) Щ - b2bLb2b2, ” b2b2b2b2. Имеем Следующие нетривиальные разложения B2~(b2)(bi) = (b2)Bi-, В3 "{Ь^ (b2b2)"Вi{b2b^ji В3 = (&1&Е) (&2); В^ = (Ь2) (bi) (b2b2) = (b2)BL(b2b2); Bk = (b2) (btb2b2} = (b2)B3‘, Bi = (b2bi) (&2&z)= B2 (b2b2); В^ = (b2btb2) (b2); B5 =(b2) (b2b2b2)^(b2bz) (b2b2) - (b2b2b2) (&2). Очевидно, 5% = {Л, b2, Ъ2Ъ21 b2h2b2} и c ним связаны разложения B2~(b2)Bi'f ' B$ ~ Bi (bzb2)i; Z?4 = (b2)Bi(b2b2)I; В± = (Ь2)В3‘, Bi = B2(b2b2), B3 e (bg) (b2b2b2) ~ (b2b2) (b2b2) — (b2b2b2) (b2). Мы получаем граф Г (S) (см. рис. 10), не содержащий ориентированного цикла, проходящего через вершину Л.
272 Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ Следовательно алфавитное кодирование со схемой S обладает свойством взаимной однозначности. Данное за- ключение не может быть выведено из теоремы 2. § 3. Об одном свойстве взаимно однозначных кодов*) В алфавитном кодировании важное место занимают схемы, для которых выполнено свойство взаимной одно- значности. Здесь мы докажем несколько результатов для таких кодов. Пусть задано алфавитное кодирование со схемой S Вц . . . (2) аг — Вг. Пусть, как и раньше, q — число букв в алфавите S3 и li-HBi) (i = l, ..., г)., Теорема 5 (неравенство Макмиллана [43]). Если алфавитное кодирование со схемой S обладает свойством взаимной однозначности, то (2) 4=1 9 Доказательство. Рассмотрим всевозможные сло- ва в алфавите 21, имеющие длину п. Все они ыотут быть порождены выражением (щ +... + а,)", если перемножать скобки (например слева) без употреб- ления закона коммутативности и рассматривать произ- ведение aiiai2 .,» а,п как запись слова в алфавите 21. Здесь, очевидно, символ добудет принадлежать первой скобке, а^2~ второй и т. д., *) До сих пор слово «код» употреблялось в общепринятом смысле. Одпако в теории кодирования, а еще раньше в технике слово «код» стало трактоваться также и как множество (элемен- тарных) 'кодов сообщений. Начиная с этого места, слово «код» будет употребляться в обоих смыслах. Из текста, как правило, бу- дет ясно, какой из них имеется в виду. (Примеч. ред.)
Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ 273 n-й скобке. Мы имеем (&i + .»» + Дг)л = S айа»2 • ’ • Oin* Соответствующие этим словам коды получаются, если осуществить замену символов аи аг на элементарные коды Bh ..Вт, используя схему алфавитного кодирова- ния. Мы получим (5Х+ ,.. + Z?r)n= S В{1В^.,,В1п. (3) (»р2-*п) В силу взаимной однозначности алфавитного кодирова- ния, если (it, 1п).=^(л,...,7п),т.е. ailtt,ain^a}lt,t ... то В: , , „ Bi В - , , , В; , Ч 1п ' >1 * * * >Л Тождеству (3) соответствует тождество (4) Очевидно, что здесь членам с одинаковым знаменателем из правой суммы соответствуют в (3) слова В^Вц ,., ... ^одинаковой длины. Введем обозначения: t = . + 2гят v(fi, f)'—число t*), и Мы получим слов . * Bi}i из (3), имеющих длину I = max li, Ki<T 1 nl Из взаимной однозначности алфавитного кодирова- ния вытекает v(n, *) v(n, 0 = 0, если слов длины t в (3) нет* 18 С. В. Яблонский
274 Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ и, следовательно, nl Объединяя последнее неравенство с (4), мы получим <=13 Это неравенство справедливо для любого п. Поэтому оно справедливо и при переходе к пределу при «-*«>, Окончательно имеем Теорема полностью доказана. Данное утверждение до- полняется следующим фактом. Теорема 6, Если числа 1Г удовлетворяют неравенству (2) (нераве'нству Макмиллана), то суще- ствует алфавитное кодирование со схемой ai Вц .... (S') ат — Вт, обладающей свойством префикса и удовлетворяющей ра- венствам Доказательство. Можно считать, что Ц <.., ... < 1Т. Разобьем числа ..., lr на классы так, что lt и lj принадлежат одному классу тогда и только тогда, когда h ~ 1}. Пусть р, (1 < li О) — число классов, a Xi,.., ..К, ..., обозначают соответственно предста- вителей и мощности классов. Можно также считать, что Ai < Лг < ... < Лц. Неравенство Макмиллана можно йереписать в виде
Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ 275 Это неравенство порождает серию вспомогательных не- равенств -г- еС 1 или , At V1 v2 + пли v2<</--v1? ч ч 4 + т-+-.. + т-<1 в 1 Ч * Ьп, \х“ ЬХ ^ц~^2 vu<g — V1Q и “V2qu или 1 — V^-iQ ц 41-1 Рассмотрим слова в алфавите 53, имеющие длину М- _ . А1 Так как Vi , то можно выбрать из них Vi слов дли- ны Обозначим их через Ви ..BvV Исключим из даль- нейших рассмотрений слова, начинающиеся с2?г, ..., Bv . Далее, возьмем множество слов в алфавите ®, имеющих длину Х2, которые не начинаются со слов Очевидно, что таких слов будет q 2 — Vrf 2 \ Так как Х2 К2—Л 1 v2 q — л то из этого множества можно выбрать vx слов—обозначим их через .,, £V1+v£- Исключим из дальнейшего рассмотрения слова, начинаю- щиеся также и с ^v1+i, ., .aBV1+v2h т. д. Используя постепенно вспомогательные неравенства, мы построим t / в \ слова В1г ,. .г Вг г = 2 vi ]• Если их взять в качестве \ i=l / элементарных кодов, то мы получим искомую схему S', Для 2' выполнено свойство префикса и Дв1) = гп ...1i(B'r) = ir. Теорема доказана. Следствие 1. Неравенство Макмиллана является необходимым и достаточным условием существования ал- фавитного кодирования^ у которого схема обладает свой- ством префикса и длины элементарных кодов равны со- ответственно 11, . . 1Т. Следствие 2. Если существует взаимно однознач- ное алфавитное кодирование с заданными длинами эле- 18*
276 Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ ментарных кодов, то существует также алфавитное ко- дирование со схемой, обладающей свойством префикса, и с теми же длинами элементарных кодов. Для доказательства следует применить сначала тео- рему 5, а затем теорему 6. § 4. Коды с минимальной избыточностью Предположим, что задан алфавит $ = {tz±, ..аг} (г > 2) и набор вероятностей . ,,pr I 2 Pi = 1) появле- \i=i / ний символов аг. Пусть, далее, задан алфавит ® = {£>1, ..М (g > 2). Тогда можно построить целый ряд схем 2 алфавитного кодирования «1-^!, (2)’ аг — Вг, обладающих свойством взаимной однозначности. В част- ности, всегда можно взять в качестве кодов Blt ..Вг различные слова в алфавите 59 одинаковой длины I, где i = ]10g«r[. Для каждой схемы S можно ввести среднюю длину Zcp, определяемую как математическое ожидание длины элементарного кода, т. е. ^ср = 2 PJii Ц = I {Вг). i=i Очевидно, что величина Zcp (ZcP > 1) показывает, во сколь- ко раз увеличивается средняя длина слова при кодиро- вании со схемой 2. Пример 9. Пусть г = 4, q = 2 и pt = 0,40, pz = 0,25, Рз. = 0,20, р4 = 0,15. Рассмотрим две схемы алфавитного кодирования: Ci — 00, й1 — 1, Оз 01, /ул 01, /V" v йз “10, йз-000, <2 ) щ —11, «4 — 001. Они, очевидно, обладают свойством взаимной однозначно- сти. Найдем их средние длины /ср = 2, ГС9 = 0Х40 + 2 0х25 + 3 • 0.35 = 1,95.
Z<< Ч. IV, ТЕОРИЯ КОДИРОВАНИЯ 277 Таким образом, средняя длина может изменяться при переходе от одной схемы алфавитного кодирования к дру- гой, Ввиду этого для данного источника сообщений мож- но ввести величину l*t где Z* = inf Zcp- s (Здесь нижняя грань берется по всем схемам S, обеспе- чивающим свойство взаимной однозначности.) Легко видеть, что 1 < Z» < ] logQr [ (верхнюю оценку дает равномерное кодирование). От- сюда видно, что для построения кодов, у которых вели- чина Zcp близка к I*, можно не учитывать коды с Zcp большим, чем Jlogg г[. Значит, для таких схем М < ]log,r[. Поскольку при вычислении Zcp члены с р = 0 не играют роли, то, положив р* = min p.;j имеем i fi/Э ] [ Р* для всех Z, для которых Pi & 0, и, значит, имеется ко- нечное число вариантов значений Zcp, для которых ZCp ]log4r[. Следовательно, величинадостигается на некотором S и может быть определена как min Icp. £ Определение. Коды, определяемые схемой S с /ср ==^1 называются кодами с минимальной избыточ- ностью, или кодами Хафмана [41]. Очевидно, что коды с минимальной избыточностью дают в среднем минимальное увеличение длин слов при соответствующем кодировании. Ввиду этого представляет интерес задача о построении кодов с минимальной избы- точностью. Замечание. В силу следствия 2 из § 3 существу- ет алфавитное кодирование со свойством префикса, даю- щее коды с минимальной избыточностью. Ввиду этого при построении кодов с. минимальной избыточностью
278 Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ можно ограничиться рассмотрением кодов, обладающих свойством префикса. Теперь перейдем к вопросу о построении кодов с ми- нимальной избыточностью. Каждому алфавитному коди- рованию со свойством префикса можно сопоставить ко- довое дерево,. На примере покажем, каким образом это делается. Пример 10. Пусть задана схема S следующего ви- да (г = 8, q = 4): щ — btb3 = 0,22 с3 — Ьз р2 ~ 0,20 а3 — bibi р3 = 0,14 cii — bibz р4 = 0,11 (h-bjbzbs ps = 0,10 «в — bib^ ра = 0,09 а7 — bibt р7 = 0,08 а8 — bibzbt р6 = 0,06. Очевидно, данная схема определяет код со свойством префикса и U = 0,20 + 2(0,22 + 0,14 + 0,11 + 0,09 + 0,08) + + 3 (0,10 + 0,06) = 0,20 4- 2 • 0,64 + 3 • 0,16 » = 0,20 + 1,28 + 0,48= 1,96. Элементарные коды определяют дерево (см. рис. 11) . Концевым вершинам этого дерева соответствуют эле- ментарные коды, определяемые путем (ветвью), идущим из корня, и им приписаны веро- ятности появления элементар- ных кодов. Легко видеть, что кодовое дерево, у которого кон- цевым вершинам приписаны ве- роятности, задает схему алфа- витного кодирования со свой- ством префикса. Сначала рассмотрим част- ный случай задачи, именно, когда среди чисел ри ..., pf имеется не более одного, рав- ного нулю. Боз ограничения общности можно считать, что ,. .>рг.
Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ 279 Лемма 1. Для кода с минимальной избыточностью из условия pj < рг следует, что lj > It. Доказательство. Предположим противное, т. е. Pi< Pi, а 4’ < It. Тогда, если в схеме для кода с мини- мальной избыточностью: at — Вь Gj - Bh (S> поменять местами элементарные коды Bi и Bh мы полу- чим схему 2'; а< — Bh Щ — В^ (Г) имеющую меньшую среднюю длину Zcpi чем для схемы 2. В самом деле, /ср - /ср = (Pik + Pik) — (Р& + РЛ) = - (Pi — Pi) (/i “ h) > °’ Последнее противоречит минимальной избыточности 2. Лемма доказана. Следствие. В кодовом дереве для кода с мини- мальной избыточностью вероятности, приписанные кон- цевым вершинам из l'-го яруса, не меньше, чем вероят- ности, приписанные концевым вершинам из I”-го яру- са, если Г' >1'. Далее будем рассматривать конечные деревья с мак- симальным порядком ветвления (числом исходящих из вершин ребер) q. Определение. Неконцевая вершина дерева назы- вается насыщенной, если ее порядок ветвления равен q. Конечное дерево называется насыщенным, если в нем насыщены все неконцевые вершины, за исключением, быть может, одной, лежащей в предпоследнем ярусе, и порядок ветвления этой исключительной вершины равен flo, где 2 С < q. В случае, когда в насыщенном дерене нет исключи- тельной вершины, будем считать, что = q (роль ис-
280 Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ ключительпой вершины в этом случае может играть лю- бая неконцевая вершина из предпоследнего яруса). Покажем, что по числам г и q число q0 определяется однозначно. С этой целью заданное насыщенное дерево будет преобразовано в другое насыщенное дерево, имею- щее определенную структуру и связанное с исходным де- ревом только тем, что у него то же число концевых и то же число внутренних вершин. Один шаг преобразования (см. рис. 12) состоит в перемещении некоторого пучка из q концевых ребер в корень дерева, причем к корню присоединяется одна из концевых вершин (пучок ребер при исключительной вершине не трогается, если даже q0 = q). Такое преобразование выполняется до тех пор, пока это возможно, и в результате получается дерево, изображенное на рис. 13. Из него видно, что число дя удовлетворяет уравнению г = t(q — 1)+ д^. Вычислим остаток от деления г на q — 1 и положим q — lt если остаток равен 0, — если остаток равен 1Л остатку, если он ^2. (5) Лемма 2. Среди кодов с минимальной избыточ- ностью существует код, кодовое дерево которого являет- ся насыщенным. Доказательство. Рассмотрим два преобразова- ния кодовых деревьев указанного ниже типа, которые не увеличивают среднюю длину. 1. Удаление ребра в последнем ярусе. Если в некотором пучке последнего яруса кодового дере- ва содержится ровно, одно ребро,- то с ним связан эле-
Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ 281 ментарный код В — В'Ъ с вероятностью р, причем слово В' не является префиксом никакого другого элементар- ного кода. Удаляя данное ребро и перенося вероятность р в вершину, из которой исходило это ребро, получим новое кодовое дерево. Этому преобразованию соответству- ет переход от схемы S к схеме S', если заменить в 2 эле- ментарный код В на В'. Очевидно, Zcp = ^ср Р ^ср* 2. Перемещение ребер из последнего яруса в вершину кодового дерева, которая не является насыщенной. Пусть кодовое дерево в последнем Z-м ярусе содержит не менее двух ребер. Значит, существует ребро, концевой вершине которого приписана вероятность р(р>0), и некоторый элементар- ный код В. Пусть, далее, имеется вершина, расположен- ная в Z'-м ярусе (Z'CZ—l) и пе являющаяся насыщен- ной. Обозначим через В0 слово, соответствующее этой вершине. Из ненасыщенности вершины следует, что су- ществует символ Ь}, для которого B°bj не является пре- фиксом никакого элементарного кода. В этом случае можно упомянутое ребро последнего яруса перенести в данную ненасыщенную вершину по направлению J. Таким образом, заменяя элементарный код В на ВпЪ3, мы получаем из схемы S схему Zcp = ^ср - pl 4* р (? (5°) 4" 1) ^ср* Преобразования 1 и 2 позволяют любой префиксный код из рассматриваемого класса, в том числе и код с ми- нимальной избыточностью, привести к коду, дерево ко- торого является*- насыщенным, не увеличивая при этом среднюю длину. Лемма доказана. Пример И. Используя преобразования 1 и 2, ко- довое дерево, изображенное на рис. 11, можно преобра- зовать в дерево, которое является насыщенным (рис. 14). Найдем величину Zcp для этого кода: Zcp = 0,22 4- 0,20 + 2 (0,14 -р 0,11 4- 0,10 + 0,09 4- 4- 0,08 + 0,06) = 0,42 4- 2-0,58 = 1,58. Средняя длина данного кода меньше исходного. Замечание. Рассмотрим код с минимальной из- быточностью, кодовое дерево которого насыщено. Возь- мем пучок ребер последнего яруса, идущих из исключи-
Р9 Рь Р5 Ps Л Ре Рис. 14 тельной вершины (см, определение на с. 279). Если та- кой вершины нет, то возьмем произвольный пучок в по- следнем ярусе. Пусть q0 — число ребер во взятом пучке, 2 С q0 С q. В силу следствия верши- нам из последнего яруса приписаны вероятности Рг-То+!, ..., рг, где т > Qo, либо равные им вероятности (ЭТО ВОЗМОЖНО При Pr-n — pz-m+i) . Поэтому путем перестановки эле- ментарных кодов максимальной дли- ны и элементарных кодов, соответ- ствующих одинаковым вероятностям (равным Pr-m+i), можно добиться того** чтобы концевым вершинам взятого пучка были приписаны вероятности Рг J Рг- Полученный код будем называть приведенным. Таким образом, имеет место Теорема 7. Среди кодов с минимальной избыточ- ностью существует приведенный кодь причем q0 определя- ется в соответствии с (5). Данное утверждение позволяет явно указать набор из дс вероятностей pr-q0+i, ..рп соответствующий одному из пучков ребер последнего яруса кодового дерева для не- которого кода с минимальной избыточностью. Так, для примера 10 при г = 8, q = 4 находим 8 = 3t + q0 и, пользуясь (5), получаем t = q0 = 2. Значит, выделенно- му пучку приписаны вероятности р7 и р& Рассмотрим кодовое дерево произвольного префиксного кода и в нем произвольную концевую вершину. Обозна- чим приписанную ей вероятность через р. Заменим эту концевую вершину пучком из s ребер (s<g), приписав новым концевым вершинам вероятности pi , ..р{л так, чтобы выполнялось равенство р = ph 4- ... + pie (6) Иными словами, вместо элементарного кода В, соответ- ствующего рассматриваемой вершине, мы включим в код $ элементарных кодов Bbiv Будем говорить в этом случае, что исходный префиксный код преобразуется
Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ 283 в другой префиксный код путем замены концевой верши- ны пучком ребер. Легко видеть, что средняя длина Zcp первого из этих кодов связана со средней длиной/Ср вто- рого кода равенством /ср = -|- р. (t) Теорема 8 (редукция). Пусть один префиксный код преобразуется в другой путем замены в кодовом де- реве концевой вершины пучком из s ребер. Далее., пусть концевым вершинам кодового дерева второго кода припи- саны вероятности Pi, • • •> Рг, причем концевым вершинам указанного пучка — вероят- ности (1<Ч< - т. е. концевым вершинам кодового дерева первого ко- да — вероятности Рп • •Рц—i> Pij-j-if * ‘ •» Pia~ 1» Pis+ir * • »ч Рг, Pt- где р — определяется равенством (6). Тогда справедли- во следующее. I. Если второй код имеет минимальную избыточность, то первый код также имеет минимальную избыточ- ность. И. Если первый код имеет минимальную избыточ- ность и при этом выполнены условия Pt > ... > рг, S = Уо, где у0 определяется в соответствии с (5), и Pi1= Рг-(]ц+ If Pis = Рг (Р = Pr~qobl + • • + Р/-), то второй код также имеет минимальную избыточность. Доказательство. Обозначим среднюю длину первого кода через /сР1 а среднюю длину второго
284 Ч, IV. ТЕОРИЯ КОДИРОВАНИЯ кода — через/cp- Для них равенство (7) принимает вид /ср “ /ср 4- Р- (8) I. Предположим, что первый код пе обладает мини- мальной избыточностью. Обозначим среднюю длину ко- да с минимальной избыточностью при тех же вероятно- стях через /ср- По предположению (9) Заменив в кодовом дереве этого кода концевую верши- ну, которой приписана вероятность р, пучком из s ре- бер, мы получим код со средней длиной /ср, удовлет- воряющей соотношениям (см. (7), (9) и (8)): -ср— /ср 4" Р <Z /ср 4~ р — /ср* Но это противоречит минимальной избыточности второ- го кода. Утверждение I доказано. II. Предположим, что второй код не обладает мини- мальной избыточностью. Обозначим среднюю длину ко- да с минимальной избыточностью при тех же вероятно- стях через /ср- По предположению Z6 <rl2 (10) Можно считать, что этот код является префиксным (след- ствие 2 из § 3) и даже приведенным (теорема 7). Но тогда в его кодовом дереве есть пучок из ребер, кон- цевым вершинам которого приписаны вероятности pr_go+lt ., .j рт. Заменив этот пучок концевой вершиной, мы получим код со средней длиной /°рА удовлетворяющей соотношениям (см. (7), (10) и (8)): 10 ___ ;5 _ т2 ___ т1 ‘ср — ‘ср ‘ ‘ср Р — ‘ср* Но это противоречит минимальной избыточности перво- го кода. Утверждение II доказано, а с ним доказана и теорема. Утверждение I показывает, что при построении кода с минимальной избыточностью из более простого кода необходимо, чтобы этот код также имел минимальную избыточность. Однако этого, вообще говоря, недостаточ- но. Достаточные условия содержит утверждение II.
Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ 285 Теорема 8 дает алгоритм построения кодов с мини- мальной избыточностью. В этом алгоритме сначала про- изводится мысленное свертывание искомого приведен- ного кода, в процессе которого один за другим получа- ются все более простые коды, обладающие минимальной избыточностью, и в конце концов — код из однобуквен- ных элементарных кодов. Реально это означает преобра- вование списка вероятностей в соответствии с утвержде- нием II до тех пор, пока не получится список вероят- ностей, для которого код с минимальной избыточностью находится тривиально. После этого найденный код раз- вертывается в соответствии с утверждением II в после- довательность кодов с минимальной избыточностью, ко- торая заканчивается искомым кодом. - При более формальном описании алгоритм удобно разбить на 4 этапа. (В тривиальном случае остает- ся только 3-й этап.) 1-й этап. С помощью (5) определяется д0. 2-й этап. Первый шаг. Список вероятностей ... ».р, (pi 5=... > рт) заменяется списком вероятностей plt ..Pr-<i0, Р, где р == Pr-q^-i + ... + Рп который после упорядочивания превращается в список рь ..., pj, р, Pj+lt ч Рг-<з0 (Pi Р}^ Pj + i^ • • • ==^A-g0)- Второй и все последующие шаги 2-го этапа выполня- ются совершенно аналогично с той лишь особенностью, что для них всегда q0 = q (после первого шага в кодо- вом дереве ненасыщенных вершин не остается). Выполнение 2-го этапа заканчивается, когда число вероятностей в списке становится не больше q. 3-й этап. Для списка, содержащего не более, чем q вероятностей, строится префиксный код с минимальной избыточностью. Очевидно, что таким кодом является лю- бой код, состоящий из однобуквенных элементарных кодов. 4-й этап. Первый шаг. В соответствии с теоремой о редукции производится переход от кода с минималь- ной избыточностью при вероятностях из последнего списка к коду с минимальной избыточностью при веро- ятностях из предпоследнего списка. Остальные шаги 4-го этапа выполняются совершенно аналогично и завершаются построением искомого кода С минимальной избыточностью. Приведем несколько примеров.
280 Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ Пример 12. Пусть г = 4, <7 = 2 и /ц = 0,40, р2 — =0,25, р3 = 0,20, />4 = 0,15. Возьмем ® = {0, 1). В случае двухбуквенного алфавита = 2 и процесс построения можно представить следующим образом: ->0,GO”iO pL 0/0 -> 0,40 -> O/oJl^ ->0,35Д0 Pi 0,25 -> 0/5J1 pd 0,20"j0_ Pi 0,15jT Мы имеем два шага, связанные с редукцией. Квад- ратными скобками отмечены объединяемые члены. Для построения кодов нужно для каждой скобки выбрать вза- имно однозначное соответствие между вероятностями и подмножеством символов из 59. В нашем случае верхнему числу сопоставим 0, ниж- нему — 1. Затем осуществляем движение в обратном на- правлении к символам ph ..., Рт и, проходя скобки, вы- писываем соответствующий код. Например, путь 0,60-0,35-0,15-р4 дает код 001. Таким образом, мы получаем следующую схему: 01—1 «2— 01, а3 — 000, щ — 001, что совпадает со схемой S" на с. 276. Значит, код опре- деляемый S", имеет, минимальную избыточность. Осуществляя редукцию, на каждом шаге производит- ся упорядочение вероятностей по их величине. Это упоря- дочение оказывается не всегда однозначным, так как воз- можно появление вероятностей, имеющих одинаковую ве- личину. Пример 13. Пусть г = 8, д = 4 и pt = 0,22, р2 = 0,20, р3=0,14, р4=0,11, р6= 0,10, ра = 0,09, р7 = 0,03, р8 = 0,06. Возьмем 53 = {0, 1, 2, 3}. Редукцию можно осуществить
здесь двумя способами: ->-0,44" Р1 = 0,22 0,22 0,22 А = 0,20 0,20 0,20 ->0,14 01К А = ° Л* 0,14' А = 0,11 0,11 — Р& = 0,10 0,10 рй = 0,09 0209_ р7 = 0,08“i Ps = Qi06j ->0,44 А = 0,22 0,22 0,22 Л = 0,20 0,20 0,20 А = ОЛ* 0,14 0/14_ ->0,14" А = 0/И 0,11 и-’— А = 0,10 0,10 ра ~ 0,09 0,09_ р7 = 0,08“ р8 = 0,06_ Отсюда получаем две схемы алфавитного кодирования (нумеруя члены в скобках сверху вниз числами 0, 1, 2, 3) — 1 Ci — 1 Й2 2 а2— 2 Оз ~00 Оз — 3 ай — 01 (S') О4 — 01 о5 — 02 о5- 02 о6 — 03 ае — 03 о7 — 30 ят — 000 о8 — 31 а3 — 001 Кодовое дерево для 2' совпадает с деревом на рис. 14. С2")
В заключение рассмотрим построение кодов с мини- мальной избыточностью для случая, когда вероятности рт — произвольны, pi > ... > рг. Если число нуле- вых вероятностей больше единицы, т. е. /Ло2>0 и P^+i = *<. = Рг = 0, г — г0 > lf то сначала находят решение для (г0+ 1)-буквенного вход- ного алфавита и вероятностей ри .,., pTQ, Pr0+i (Pr0+i~ 0). Пусть Ви BTq, Вг^+1 —элементарные коды для кода с минимальной избыточностью. Затем отбрасывают эле- ментарный код Вг+1 и для букв Нгоы, - .-г«г берут в качестве элементарных кодов слова вида Х,« - в-г1в(г“+1). где z(z/r°+1)) = ,.. = Z(Bfr)) и все слова . й2?(г) различны. Очевидно, что построенный код имеет мини- мальную избыточность и удовлетворяет свойству префикса. § 5. Самокорректирующиеся коды Здесь мы рассматриваем один частный случай равно- мерного кодирования. Пусть $1 == {0, 1) — алфавит, содержащий два символа. Пусть далее С41} А2, ..., Ля) — множество всех слов А = *=ai...am в алфавите St, имеющих фиксированную дли- ну т. (Здесь s — 2т.) Предположим, что в канале связи действует источник помех, который в словах из {Ль ..., ЛЛ, имеющих длину примерно т, может вызывать ошибки не более чем в р символах. Это значит, что двоичная последовательность, полученная на выходе канала, отличается от двоичной последовательности, поступившей на вход этого канала, не более чем в р позициях. Совершенно ясно, что, если пе- редавать исходное сообщение а1...а,п(без предваритель- ного кодирования), то на выходе канала невозможно бу- дет установить, какое сообщение фактически было пере- дано. В связи с этим возникает вопрос, нельзя ли осуще- ствить кодирование слов А из множества {Лъ ..., /1л), т. е. слов вида «1... ctm, словами длины I так, чтобы
Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ 289 по кодуХ < * Рь полученному на выходе канала при пе- редаче кода pi__рг, можно было однозначно восстановить этот код, и, значит, исходное сообщение at-.. ат? Коды, обладающие данным свойством, будем называть самокор- ректирующимися кодами относительно рассматриваемого источника помех. Легко видеть, что существует тривиальное решение задачи. Мы проследим это на простейшем источпике по- мех, для которого р ~ 1, т. е. для которого возможно толь- ко искажение 0 -> 1 или 1 -► 0. Искомый самокорректи- рующийся код получается путем утроения символов ис- ходного кода ccittj... am — а^а^о^аа... amamam. В самом деле, если при передаче этого кода произошла ошибка, то в некоторой группе искажен ровно один символ, а остальные группы переданы без ошибок. Это по- зволяет методом «голосования» осуществить коррекцию ошибки И восстановить КОД (CCitXiCCi .. . «mOUnCCm), а значит и исходное сообщение («1 ... ccm). Тривиальное решение не является корректным, так как длина кода здесь равна I == 3m и мы приходим к ко- дам, для которых данный источник помех может вызы- вать большее число ошибок, чем р, и тогда однозначно восстановить исходное сообщение не всегда будет возможно. корректное построение самокорректирующихся кодов было осуществлено Хэммингом [40]. Им подробно был ра- зобран случай р = 1, к изложению которого мы и перей- дем. Сообщения «1... а.,, кодируются наборами где I — длина кода и I = гп + к. Очевидно, что при наличии данного источника помех возможны следующие варианты получения кодов на выходе (см. рис. 15). Следовательно, число вариантов равно I + 1. Для того чтобы дополнительных разрядов в коде . £, хватало для кодировки перечисленных I 1 случаев передачи ко- да, необходимо, чтобы 2A>Z+1 или 2m<27(Z + l). Из этих соображений выберем I как наименьшее целое число, удовлетворяющее неравенству 2"г < 27 V + 1). 19 Q, В. Яблонский
Дальнейшие построения будут состоять из трех этапов. I. Построение кодов Хэмминга (описание алгоритма кодирования). Разобьем отрезок натуральных чисел (1, 2, Z) на к последовательностей следующим образом: пусть V — произвольное натуральное число (1 V 1} и . Vi — его двоичная запись. мг ffxoite At Аг "“А Рис. 15 ня ffbiXade A? A2 " A AAZ '"A A A *"A A Az '"Ai Последовательность 1, 3, 5, 7, 9,.., содержит все числа V с = 1. Последовательность 2, 3, 6, 7, 10, ... содержит все чис- ла V с Р2=1. Последовательность 4, 5, 6, 7, 12,... содержит все чис- ла V с = 1. Последовательность 2ft_l, 2ft_I +1, ... содержит все числа V с Vk = 1. Первыми членами этих последовательностей являются числа 1=2°, 2 = 21.....2ft-‘, т. е. степени двойки, причем 2*“‘ I, a 2ft > Z+ 1. Члены набора ..., fh, у которых индекс i при- надлежит множеству (1, 2, ..., 2Й~1), называются конт- рольными членами, остальные — информационными. Лег- ко видеть, что контрольных членов будет /с, а информаци- онных I — к = т. Сформулируем теперь правило построения набора Pi,.. pi по набору ах,,, сс,п. Сначала определяются инфор-
Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ 291 мациопные члены 0з = а1т 0s = с«г, 06 = ССз» Таким образом, набор из информационных членов, распо- ложенных d естественном порядке, совпадает с набором «I... ат. Далее определяются контрольные члены 01 = 0з + 05 + 0т + ... (mod 2), 02 = 0з + 0и+01 + .. .(mod 2), 04 = 05 + 0в4" 07+ . ..(mod 2), Здесь суммирование ведется по последовательностям, по- строенным выше. В этих формулах правые части, очевид- но, состоят из информационных членов, которые нами уже определены. Обозначим через Н} множество всех по- строенных наборов 01... 0л II. Обпару же ние ошибки в кодах Хэм- минга. Пусть (0J ... 0J е Н} и при передаче кода 01... 0- произошла ошибка в 5-м члене. Тогда на выходе канала было принято слово 01 . •. 0/, где 01 . . . 01 = 0! . . . 0S . .. 0Ц Пусть 5 = Sh... 5t — запись числа 5 в двоичном счисле- нии. Покажем, как можно по коду0£ . .. 0г найти число 5. Рассмотрим число 5' = 5f{ .. . 51} где: 5£ = Pi 4- 0з 4- 05 4- 0- 4- ... (1-я последовательность),. <$2 = 02 4- 0з 4- Pri 4- 07 4- ... (2-я последовательность),. 53 = ₽4 + 05 4- 0g + 0? 4- ... (3-я последовательность), Утверждается, что S = S'. В самом деле, если 5t = 0, то 5 не принадлежит 1-й последовательности и тогда Pi + 0з + 05 + 07 + ... = 01 4- 0з 4~ 05 4-07 4- * *. = О, поэтому 5]=0; если 5£ = 1, то S принадлежит 1-й пос- ледовательности и тогда 01 4- 0з 4~ 05 4- 0? 4- ... — 1 4- 0! 4- 0з 4- 05 4- 07 4- и Ij поэтому 5Х = 1, Таким образом, 5Х = 51( 19*
292 Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ Аналогично доказывается, что $2 = 521 , ,. , Отсюда следует, что 5 = S'. Если при передаче ошибки не произошло, то, оче- видно, S' «= 0. Значит число S' позволяет узнать, произо- шла ли ошибка при передаче и, если произошла, то най- ти помер члена 5, который исказился помехой. В послед- нем случае производим коррекцию ошибки: член Ps за- меняем па Ps- III. Декодирование. Этот шаг состоит в постро- ении исходного сообщения по коду Для этого, очевидно, достаточно взять информационные чле- ны в Pt... pz. Пример 14. Построить самокорректирующийся код для т = 4. Наименьшее число Z, удовлетворяющее не- равенству 2‘<гп- будет Z = 7, и тогда к = 3. В соответствии с этапом I по- лучаем самокорректирующийся код. Результат этого по- строения представлен в табл. 1, в которой контрольные члены помечены звездочкой. Таблица 1 1* 2* 3 4* 3 6 7 1* 2* 3 4* Б 6 7 0 1 0 1 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 В этой таблице сначала в столбцы с номерами 3, 5, 6 и 7 (информационные члены) вписываются сверху вниз наборы 0000, 1111. Затем по формулам pi = ps + pi + p7 (mod 2), ра = Ps + Ре + р? (mod 2), “ р5 + Ре + р7 (mod 2) заполняются столбцы с номерами 1, 2 а 4.
Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ 293- Пусть на вход канала поступил код 0110011, и в нем источник помех исказил 5-й член (5 = 5), Тогда на вы- ходе мы получим 0110111. Вычислим номер члена, в ко- тором произошла ошибка. Мы имеем ™ pi + Рз -|- Р5 + “ 0 |-1 + 1 4- 1 •= lf 5а Р2 -J- ра + ре 4- Р7 «» 1 4- 1 + 1 + 1 “ и Р« + Рс + Ре + ₽7 и 0 + 1 + 1 -Ь 1 — 1. Следовательно, S' = 101, т. е. S' = 5. Мы обнаружили член, в котором произошла ошибка, и S'~ S. В заключение остановимся па выяснении геометриче- ских свойств кодов Хэмминга. Будем рассматривать единичный /-мерный куб как метрическое пространство, в котором для любых двух точек Р' — (Pi, ..., pj) и р" == (Pi, ,..,Pi) расстояние р(Р\ Р определено следующим образом: р{₽'.₽’)=-21й-₽:|. 4=1 Очевидно, р(Р', Р*) есть число координат, в которых различаются наборы р' и р". Теорема 9. Для любых наборов р' и р" таких, что р'¥=р" и р', р"еЯь имеет место р(Р', р")>3. Доказательство. Утверждение будет доказано, если исключить два случая: а) р(Р', р") = 1; б) р(Р', Р" ) = = 2. В самом деле, если р(Р, р")= 1, то возможна еди- ничная ошибка, при которой код перейдет в код р" и, если р(Р', £")=2, то существует такой набор что р({}', р)вр(Р”\ е- возможны переходы при единичных ошибках кодов р' и в код Следовательно, в обоих случаях на выходе канала воз- можна ситуация, в которой нельзя установить, какой из кодов {V или р/Л фактически был передан, что противоре- чит самокорректируемости кода#}. Теорема доказана. Пусть — некоторая точка единичного /-мерного куба, Определение. Совокупность Uf (р°) точек £ таких, что р(р°, р, называется шаром с центром в и ради- усом р. Определение. Совокупность V? (р°) точек [3 таких, что р(р°, £) =р, называется сферой с центром в и ра- диусом р.
294 Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ Очевидно, что если точка является «кодовой» точ- кой, то при передаче по каналу связи, в котором действу- ет источник помех, вызывающий не более р ошибок, точ- ка перейдет в точку £ такую, что р(₽°, РНР, т. е. точка р будет принадлежать шару UjJ ((3°) с центром в и имеющему радиус р. Отсюда вытекает следующий факт. Теорема 10. Для того чтобы множество 71, принад- лежащее единичному l-мерному кубу, было множеством, принадлежащим самокорректирующемуся коду относи- тельно источника помех, вызывающего не более р оши- бок, необходимо и достаточно, чтобы для любых [}' и р" (р'^р") из Н имело место р(3', Р")> 2р + 1. Для доказательства лишь заметим, что условие р(Р > р")^2р + 1 эквивалентно тому, что шары Uf (Р') и Ui (Р") с центрами в Р' и р" и имеющие радиусы р, но пересекаются. Последнее означает, что коду, получен- ному на выходе капала связи, соответствует точка, кото- рая принадлежит ровно одному шару. Данная теорема дает геометрический подход для по- строения самокорректирующихся кодов. С ней также свя- зано и следующее утверждение. Теорема 11. а) При 1 = 2*— 1 единичный 1-мер- ный куб может быть разбит в прямую сумму единичных шаров (т. е. шаров с радиусом 1). б) При 1 = 2* единичный l-мерный куб может быть разбит в прямую сумму единичных сфер. Доказательство, а) В единичном Z-мерном кубе с I — 2f — 1 возьмем код Хэмминга Н*. Очевидно, имеем k ~ t, m = 2' — t — 1. Около каждой точки из Н\ опишем шар радиуса 1. Пока- жем, что система всех таких шаров и задает искомое раз- биение. Данные шары попарно пе пересекаются (см. тео- рему 9). Отсюда сумарное число точек, содержащихся в
Ч. IV. ТЕОРИЯ КОДИРОВАНИЯ 295 этой системе шаров, равно (/ + 1) 2т = 2Г23*~{_1 = 22*-1 = 21. Значит, эта система шаров содержит все точки единично- го Z-мерного куба. б) Пусть I = 2‘. При фиксированной последней коорди- нате единичный /-мерный куб может быть «разрезан» на два единичных /— 1-мерных куба. Для этих кубов суще- ствует естественное взаимно однозначное соответствие где Р°=(Р„ .... 0), р‘-(рь 1). Так как I — 1 = 2‘ — 1, то I — 1-мерный единичный куб на основании пункта а) может быть разбит в прямую сумму Рис. 16 Рис. 17 единичных шаров. Выберем в одном из I — 1-мерных ку- бов разбиение в прямую сумму единичных шаров. Газ- биение в другом I — 1-мерном кубе можно построить, ис- пользуя естественное взаимно однозначное соответствие между этими кубами. Рассмотрим пару соответствующих шаров (см. рис. 16) Ui-^ (р°) и (£*). Два данных I — 1-мерных единичных шара можно пре- образовать в две /-мерные единичные сферы (рис. 17). В самом деле, / — 1-мерные единичные шары явля- ются объединением I — 1-мерной единичной сферы и сво- его центра, т, е. 0°) = ^ (₽°)UFL Очевидно, что для /-мерных единичных сфер имеют мсс-
296 4. IV- ТЕОРИЯ КОДИРОВАНИЯ то равенства v] (^) = VU(₽1)U{₽0}. Таким образом, если осуществить это преобразование для всех пар соответствующих шаров разбиений, получим ис- комое разбиение куба в прямую сумму единичных сфер. Теорема доказана. Определение. Кодовое множество, принадлежащее ^-мерному единичному кубу и являющееся самокоррек- тирующимся для данного источника помех, называется максимальным^ если оно имеет наибольшую мощность. Следствие. При I ~ 2‘ — 1 код Хэмминга II} явля- ется максимальным.
НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ Глава 1 ДИЗЪЮНКТИВНЫЕ НОРМАЛЬНЫЕ ФОРМЫ § 1. Понятие д.н.ф. Проблема минимизации булевых функций Пусть задан алфавит переменных {a?iT ..., ял}. Определение. Выражение к = 4* & ... & (zv =/= при V а) называется элементарной конъюнкцией. Число г называ- ется рангом элементарной конъюнкции. По определению считаем константу 1 элементарной конъюнкцией ран- га 0. Определение. Выражение й = V Ki (Ki ¥= кз ПРП * /)i i=i где Kt (I = 1, s) — элементарная конъюнкция ран- га п, называется дизъюнктивной нормальной формой {д. н. ф.}. Очевидно, что д. н. ф. Й реализует некоторую булеву функцию /(яъ хп}. Из гл. 1 части I следует, что для каждой функции /(zJt и / ^0 существует д. н. ф. Й такая, что j(x{, .Ф.,жп) = й. В качестве такой д. п. ф. можно взять, например, совер- шенную д. н. ф. для /, а именно: й = V a-i1& * г • &%п » (С1.°п) /(^.....0^=1
Пример 1. Рассмотрим функцию /(жъ х2, а:э), за- данную таблицей 4. Ее можно представить в виде со- вершенной д. н. ф. 911 ~Х1Х2^з V V a\x2;rs V XiX2x3 V XiX2x3. С другой стороны, непосредственной проверкой убеждаем- ся, что эта функция может быть представлена другой д. н. ф. 91г = V а?1Ф Данный пример показывает, что функция алгебры ло- гики может быть представлена в виде д. н. ф., вообще говоря, не единственным образом. В связи с этим возни- кает возможность выбора более предпочтительной реали- зации. Для этого вводится индекс простоты £(91), харак- теризующий «сложность» д. н. ф. Для функционала £(Э1) потребуем выполнения сле- дующих аксиом. I. Аксиома неотрицательности. Для любой д. н. ф. £(91) > 0. II. Аксиома монотонности (относительно ум- ножения). Пусть Of ==9i'’V Тогда £(91)>£(9Г VK'). III. Аксиома выпуклости (относительно сло- жения). Пусть д. н. ф. 91 разбита в прямую сумму д. н.ф. 91] и 912, т. е. 91 = 911 V 912 и 91ъ 9<2 не имеют общих чле- нов. Тогда £(И)>Ь(9М+Ь(9М. IV. Аксиома инвариантности (относительно изоморфизма). Пусть д. н. ф. 91' получена из д. н. ф. 91 путем переименования переменных (без отождествле- ний). Тогда £(91') = £(91)\ Приведем примеры встречающихся индексов просто- ты для д. в. ф. 1. £Б (91)— число букв переменных, встречающихся в записи д. н, ф. 91. Если взять д. н. ф. 911 и 912 из приме- ра 1, то £в (9li)= 15 и Ls (912) = 3, т. е. в смысле этого индекса д. н. ф. 912 проще, чем д. и. ф. 91|. 2. £к (91)—число элементарных конъюнкций, входя- щих в 91. Для д. н.ф. 911 и 912, очевидно, £1;(91±)=5 и £к(^г) = 2, т. е. в смысле этого индекса д. н. ф. 912 про- ще, чем д. н. ф. 913.
3. Lo($)—число символов", встречающихся в запи- си д, п. ф. 91. Для д. н. ф. Sit и %, очевидно, La (S^) = 7 и Le(9l2) = 2, т. е. в смысле этого индекса д.н. ф. 91г опять проще, чем д. н. ф. Нетрудно проверить, что каждый из указанных ин- дексов удовлетворяет приведенным выше аксиомам. Замечание. Пусть 91 = 9Г V А'. Тогда в силу акси- ом III и I £(91)>£(Г). Очевидно, что над алфавитом переменных {х^ ,.х„} можно построить 3” различных элементарных конъюнк- ций («пустой» конъюнкции сопоставлена константа 1). Отсюда следует, что число д. н. ф. вад этим же алфа- витом из п букв равно 2s" Опираясь на этот подсчет, введем следующее определение. Определение. Д.н.ф. реализующая функцию /(хь ..., х„) и имеющая минимальный индекс L(91), на- зывается минимальной относительно L (м. д. н. ф. от- носительно L). Поскольку дальнейшее изложение связано главным образом с индексом простоты LB, то минимальную д. н. ф. относительно этого индекса будем называть минимальной д. н. ф. (м. д. н. ф.). Д. н. ф., минимальную относи- тельно индекса £к, будем называть кратчайшей. Вернемся теперь к примеру 1. 1. Д. н. ф. 9i2 = x2x3Vxi является минимальной. В са- мом деле, функция /(хь х2, х3), реализуемая этой д. н. ф., существенно зависит от переменных хг, х2 и х3 и потому не может быть представлена д. н. ф., содержащей менее трех букв. 2. Д, н. ф. 91г == х2х3 V Xi является кратчайшей, так как функция /(Xi, х2, х3), реализуемая этой д. н. ф., от- лична от любой элементарной конъюнкции. 3. Д. н. ф. 9I2 = х2х3 V х± минимальна относительно £t(, так как функция /(xi, х2, х3), реализуемая этой д. н. ф., по переменным х2 и х3 не возрастает и они обе существенны, а поэтому не может быть представлена д. н. ф., содержащей менее двух отрицаний. Основной вопрос, который вас будет интересовать в этой главе, это как для произвольной функции алгебры логики /(xt, ..., хп) построить ее минимальную д. н. ф. относительно L. Эта задача называется проблемой мини- мизации булевых функций. Мы покажем сейчас, что дан-
300 Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ пая задача допускает тривиальное решение. Сначала в каком-либо порядке строят все д. н. ф. (их 2®п) над пере- менными хп ^а* 1 Затем отбирают из этого списка те д. н. ф., которые реа- лизуют функцию /(х», ..., .rn). Наконец, Для выбранных д. н. ф. вычисляют величину индекса простоты и путем сопоставлений находят минимальную (относительно L). Сформулированный алгоритм весьма трудоемок с точки зрения его реализации, так как он основан на «переборе» всех д. н. ф., т. е. требует, вообще говоря, не менее 2аП бо- лее мелких операций. Им нельзя воспользоваться практи- чески уже начиная с п = 3, а для п ~ 1 и п == 2 пробле- ма тривиальна. Таким образом, следует считать, что ал- горитмы «полного перебора», т. е. алгоритмы, подобные по трудоемкости тривиальному алгоритму, перебирающему все д. н. ф., являются запрещенным средством в решении проблемы минимизации. Мы обращаем внимание, что развиваемая далее теория справедлива для любого индекса простоты и потому на- чальный этап минимизации одинаков для всех индексов простоты. С другой стороны, для удобства можно считать, что в этих построениях речь идет об индексе £Bt т. е. о построении м. д. н. ф. Поскольку минимальная д. н. ф. относительно одного индекса может не быть минимальной д. н. ф. относительно другого индекса (см. [2, 4, раздел 3]), то теория, построенная для одного индекса, вообще гово- ря, не годится для другого. Однако то обстоятельство, что эти теории имеют и много общего, оправдывает рассмот- рение минимизации для конкретного индекса. § 2. Упрощение д.н.ф. и-тупиковые д.н.ф. (относительно упрощения) Пусть 91 — произвольная д. н. ф. и 91-91'V^, Varf’K', где К — некоторая элементарная конъюнкция из 91, 91' — д. н. ф., образованная из остальных конъюнкций, входя- щих в 91, _ некоторый множитель из К, К' — произ- ведение остальных множителей из К. Рассмотрим два ти- па преобразований д. н. ф.
Г»1. 1. Д1М'ЫиИШ11ВШ)Ц!| UUJ щдчшихлц w Ц-Ж -OV, I. Операция удаления влемеитарвой конъюнкции. Переход от д. в. ф. 91 к д. и. ф. 91' — пре- образование, осуществляемое путем удаления элементар- ной конъюнкции К. Данное преобразование определено тогда и только тогда, когда 91' в 91. II. Операция удаления множителя. Пере- ход от д. н. ф. 91 к д. н. ф. 9V V К1 — преобразование, осу- ai rr щсствляемое путем удаления множителя . Данное пре- образование определено тогда и только тогда, когда 91'VZC = 9t. Определение. Д. п. ф. К, которую нельзя упрос- тить при помощи преобразований I и II (их применить нельзя), называется тупиковой д. н. ф. (г. д. н. ф.) (от- носительно преобразований I и II). Пример 2. Очевидно, д. н. ф. 9l = xtV^z^j будет тупиковой относительно данных преобразований. На основе этих двух преобразований можно сформули- ровать алгоритм упрощения д. н. ф. (Этот алгоритм легко усматривается, и в силу того, что L(9l') С L(9l) п L(9l' V К') < А(91), он является разновидностью алгорит- ма наискорейшего спуска. Легко видеть также, что сре- ди тупиковых д. н. ф. функции f(xh ..., хпУ всегда содер- жатся и минимальные, может быть, правда, не все.) 1. Выбирается какая-нибудь д. н. ф. для функции f(xit ..., лг„) в качестве исходной. Таковой можно взять, например, совершенную д. н. ф., так как существует про- стой способ ее построения. Таблица 1 «1 Ха /О1. Xs) 1 Xi Xa X, /(«i, x„ x,) 0 0 0 1 I 1 0 0 1 0 0 1 1 1 0 1 0 0 •1 0 0 1 1 0 1 0 1 1 1 1 1 1 1 1 2. Осуществляется упорядочивание в исходной д. н. ф. слагаемых и в каждом слагаемом — множителей. Это упо- рядочение можно задать записью д. н. ф. Пример 3. Рассмотрим функцию /(а, #з, (см. табл. 1). В качестве исходной д. н. ф. для нее возьмем
совершенную д. н. ф. и выберем два упорядочения: одно естественное и второе специальное: 9V = V Х1ХгХ3 V Х1£г£а V XtXzXt V ZiZzXa V £i£2Z3, 91" = £15:2#з V ЖаХ1Х2 V X2XiXs V £i£2Xs V XSX1£2 V £1ХгХ3. 3. Затем производится просмотр записи д. и. ф. (слова направо); для очередного члена Л4 (i = 1, .s) сначала пробуют применить операцию удаления элементарной конъюнкции £(; если это невозможно, то проема три па ют члены конъюнкции Kt слева направо (v ~ 1, ,.г) rz аг i — £<1 <& • • • & Х[г и применяют операцию удаления множителя до тех пор, пока это удается. После этого переходят к следующей элементарной конъюнкции. Закончив обработку последней элементарной конъюнк- ции, еще раз просматривают полученную д. н. ф. слева направо и пробуют применять операцию удаления эле- ментарной конъюнкции *). В результате этого мы получаем искомую д. и. ф. Очевидно (с учетом того, что будет изложено в § 4), име- ет место следующий факт. Теорема 1. Д. н. ф., полученная в результате при- менения алгоритма упрощения, является тупиковой д. н. ф. (относительно преобразований I и II). Пример 4. Для функции /(£t, хг, .тя), заданной табл. 1, возьмем в качестве исходной д. и. ф. совершенную д. н. ф. Рассмотрим ее упорядочение, задаваемое записью 91', и проследим работу алгоритма. 1. Конъюнкция очевидно, не может быть уда- лена. Однако можно удалить множитель xlt так как ХгХз = £1.Г2.Г3 V Х1Х2.Г3. В результате мы получаем конъюнкцию х2х3, из которой уже нельзя выбросить ни одного множителя. 2. Конъюнкцию Х1Х2х8 удалить также нельзя. Легко видеть, что из нее множитель Si удалить невозможно, в то время как операция удаления множителя хг применима. *) Необходимость вторичного просмотра можно проиллюстри- ровать примером (см. табл. 3).
ГЛ. i. ДИЗЪЮНКТИВНЫЕ НОРМАЛЬНЫЕ ФОРМЫ 303 Мы получаем конъюнкцию Х1%3, которую упростить пу- тем удаления множителей невозможно. 3. Конъюнкция может быть удалена, так как a? irrs = ir iX2;r3 V 4. Конъюнкция также может быть удалена (см. п. 1). 5. Конъюнкцию удалить нельзя. Однако, воз- можно выбросить множитель х2. В результате мы получим конъюнкцию Tt^s, из которой уже нельзя выбросить ни одного множителя. 6. Конъюнкция х&гХз, очевидно, удалена не может быть. Из нее можно удалить множитель Xi. Мы получаем конъюнкцию хгхъ, которую упростить путем удаления мно- жителей невозможно. Мы получаем д. н. ф. x2x3V^iXsV V a?|X3 V Яг^з. Вторичный просмотр этой д. н. ф. с целью удаления конъюнкций упрощений не дает. Следовательно, д. н. ф. 911, где 911 = Х2Х3 VXjXs V XjXa V x2xSt является результатом применения алгорима упрощения. Приведенные расчеты можно сделать так, как указано в табл. 2. Для той же функции возьмем другую упорядоченность ее совершенной д. н. ф,: 91" = XiX2^s V a:sXi^2 V х2хiXs V ariK2T3 V x3Xirr3 V Я15?а£3. В табл. 3 приводятся основные этапы работы алгорит- ма для этого случая. Следовательно, в этом случае в каче- стве результата применения алгоритма упрощения полу- чаем д. н. ф. 91а = х2^а V xtxa V XiXit Из данного примера вытекает, что результат примене- ния алгоритма упрощения зависит от выбора упорядоче- ния исходной д. п. ф.; так, например, ММ = 8, ММ “6, ИЛИ LB(M^M(M« Тупиковые д. н. ф. могут иметь различную сложность и, в частности, отличаться от минимальных. В связи с этим возникает вопрос, возможно ли для любой функции f(xlt ..., хп), исходя из некоторого упорядочивания, полу- чать, применяя алгоритм упрощения, минимальную д. н. ф. Ответ на это дает следующая теорема,
ЗИТ Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ Таблица 2 Л* шага Д.н.ф. и рассматриваемый порядок Исследуе- мая конъ- юнкция Рид операции 1 V Z1^3 V V *1*2*3 удаление хг __ V.ZjXE.ra V xjx2x3 2 хЕхэ V V XiX2xs V xi x2xs V XjXjjXg удаление xs 3 _ _ У Лй2» V х1х3 V ^1^3 V ^122^3 V х1жаха удаление £рГгх3 4 V^i^sV^i^s x3x8 V V X1X^Eg V _ Х1Х2Х3 удаление хгг2тй 5 _ vy [ a?2«3 V x^Zg Х^з V 21^3V Zi-I^bV 212223 ххх^с3 удаление ха 6 X^Xg V ^1^3 V 3№V 2l2Va удаление х2 7 x.2x3 V V XjX3 V Вторичный просмотр ничего не дает Алгоритм окончен Таблица 3 м шага Д.н.ф. и рассматриваемый порядок Исследуе- мая kohv ЮПНЦИЯ Вид операции 1 Первый просмотр д, н. ф. jtjXgXj} \/*3*1*2 V _ удаление х± 2 _ _ У XLX^3V X^Tg X2TaV X3X1X2V х2х1хзУ удаление xs 3 _ _ rt V *1*2*3^ *3*1*3 V *1*2*3 *2*a V *i*aV *2*1*3 V д^х^з удаление xs 4 х2х8У XiX2V i’l^aV гх^^зУ X2X2X3 удаление хх 5 V XaX1X2V Х^Хз Хлха У XiXa V Х^з V x2x3 V удаление ха 6 V^i^aV^i^s т2ха V xtx2\/ ххх3 у а-а23 V XVTET3 удаление 7 V ^X2V XiXgXg Второй просмотр д. н. ф. Ж2ХаУХ^У Л]Х8 V xsxs У хгхк x2xs неприменимы 8 «Й^зУ 2дХ2 Vz^8V XgXgXJ XjZs xiXa удаление х:х2 9 Ха£з V XjXg у хаха V хгхя XxXg неприменимы 10 «j^V^sV a^a:sV XiXg Х^з удаление 11 Х^зУ ajZjV xLxa «1Х2 неприменимы 12 x2x3Vx1x3Vx1xst Алгоритм окончен
ГЛ. 1. ДИЗЪЮНКТИВНЫЕ НОРМАЛЬНЫЕ ФОРМЫ 305 Теорема 2. Пусть /(хи .,хп) — произвольная буле- S ва функция (/^0) k91 = V Ki—ее произвольная тупико- «=»1 еая д. н. ф. {относительно операций I и II); тогда суще- ствует такое упорядочение совершенной д. н. ф., из ко- торого при помощи алгоритма упрощения получается ту- пиковая д. н. ф. 91. Доказательство. Возьмем совершенную д. н. ф. для функции f(xlt .,хя) с естественным порядком чле- нов и множителей V (стг>...,оп) ЦСТр ...,%}=! Пусть Xi1 & ... & —ее произвольный член. Так как /(oi, От,.) = 1, то существует по крайней мере одна конъюнкция Kit i — l (oI( ..., а„), из тупиковой д. н. ф. такая, что Ki(alf (?«)«= 1, „ ач air откуда следует, что Kt = & • * • • Н члене г °! ап зц & < ч &. %п выберем порядок множителей так, чтобы сначала следовали множители, не входящие в 7\>, а за- тем — в произвольном порядке множители из Kt. Следова- тельно, 2Ц & л . & Хп == ^п'^г(о) (^1т • Фтс)). Мы получим некоторое упорядочение совершенной д. н. ф., характеризуемое записью Й'. Легко видеть, что алгоритм упрощения в д. н. ф. 91' для каждой конъюнкции Ка • Кцо} приведет к одному из исходов: либо ее удалит, либо пре- образует в конъюнкцию КЧау Отсюда д. н. ф. 911 явля- ющаяся результатом работы алгоритма, состоит только из элементарных конъюнкций, входящих в д. и. ф. 91. С дру- гой стороны, в силу тупиковости д. н. ф. 91 должно быть Rj-Sl. Следствие. В силу того, что среди тупиковых д. н. ф. содержатся обязательно и минимальные относи- тельно L (не обязательно все), алгоритм упрощения при 20 с, в, ЯС л о нс к ий
306 Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ надлежащем выборе упорядочения совершенной д. н. ф. позволяет находить и минимальную д. н. ф. Замечание. Из доказательства теоремы видно, что для построения всех тупиковых д. н. ф. при помощи алго- ритма упрощения из совершенной д. н. ф, достаточно при естественном порядке конъюнкций варьировать только по- рядок множителей в конъюнкциях. Таким образом, для построения минимально!*! д. и. ф. следует перебрать все указанные упорядочения совершен- S z ной д. н. ф. 9Г = Для каждого из них произвести i—1 вычисление на основе алгоритма упрощения. Это дает возможность оценить трудоемкость такой процедуры ми- нимизации. Как видно из определения, однократное применение алгоритма упрощения достаточно просто и содержит ЬК(9Р) проверок возможности удаления конъюнкции, АБ(Л\) проверок возможности удаления множителя из Кг(г = 1, ...,/) и при вторичном просмотре не более Ак^') проверок возможности удаления конъюнкций. Сле- довательно, число проверок не более 2 'г. (АД + 2L„ (S') < (« + 2) 2". i--l Общее число вариантов упорядочения, как это следует из замечания, равно (п!)* и (nl)‘ < (nl)2" < (и")2" - 22""1™ ". Таким образом, число проверок для всех вариантов не бо- лее, чем o2nn log Л что значительно меньше, чем 2зП, т. е. этот алгоритм луч- ше, чем алгоритм перебора всех д. н. ф. В то же время трудоемкость алгоритма с использованием процедуры уп- рощений остается весьма значительной. Остается обсудить еще одну возможность, влияющую на эффективность алгоритма — случайность выбора упоря- дочения, играющую роль при решении серии задач на минимизацию булевых функций. Разобьем все вышеука- занные упорядочения на «благоприятные» и «неблаго- приятные», смотря по тому, дает или нет алгоритм упро-
ГЛ. 1. ДИЗЪЮНКТИВНЫЕ НОРМАЛЬНЫЕ ФОРМЫ 307 щения минимальную д. н. ф. Тогда отношение числа благоприятных упорядочений к числу всех рассматривае- мых упорядочений равно вероятности построения мини- мальной д. н. ф. при случайном выборе порядка. Можно было бы попытаться оцепить это отношение. Однако мы не будем этого делать ввиду того, что данная величина связана с конкретным алгоритмом, и ее оценка мало' что будет говорить о трудоемкости других алгоритмов. Вместо этого мы возьмем в качестве меры трудоемкости алгорит- ма родственную характеристику — отношение числа ц(/) минимальных д. и. ф. функции / к числу т(/) ее тупико- вых д. н.ф., т. е. величину р(/)/т(/). Оказывается, что существуют функции с большим числом тупиковых д. н.ф. при относительно малом числе минимальных д. н. ф. Можно показать, что существует последовательность функций {/„}, для которой [2] Последнее заставляет думать, что статистические сообра- жения вряд ли что дают для алгоритма упрощения. § 3. Постановка задачи в геометрической форме Обозначим через Еп множество всех наборов (at, ..., си) из 0 и 1. Его можно рассматривать как мно- жество всех вершин единичного «-мерного куба. Посколь- ку никаких других, кроме упомянутых, точек мы не рас- сматриваем, постольку множество Еп будем называть «-мерным кубом, а наборы (аь ..., an)~ вершинами ку- ба. На рисунках 1—4 изображены проекции, соответ- ственно, 3-мерного, 4-мерного, 5-мерного и 6-мерного ку- бов на плоскость (на рис. 4 вершины — пе наборы, а со- ответствующие им натуральные числа (см. стр. 10)). Определение. Пусть о,, Од,, ..., Oir — фиксирован- ная система чисел из 0 и 1 такая, что 1 С ц < г2 < ... Множество всех вершин (alt а2, ..., си) куба Е” таких, что ~ • • •) ^ir ~ CTirT называется (и — г) -мерной гранью. Очевидно, что (п — г)-мерная грань является (п —г)- мерным подкубом куба Еп. 90*
808 Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ Пусть /(аТ1, х2, in) — произвольная функция алгеб- ры логики. Сопоставим ей подмножество Nf вершин ку- ба Еп так, что («и тогда и только тогда, когда /(«,, 02, ..а„) = 1. Ясно, что по подмножеству Nf исходная функция восстанавли- вается однозначным образом. Пример 5. Функции / (ilf х2) xs), заданной табл, 4, соответст- вует множество 7V, ={((), 0, 0) , (1, 0, 0), (1, 0, 1), (1, 1,0), (1, 1, 1)>, изображенное на рис. 5. Возьмем в качестве исходной функции элементарную конъюнк- цию K(xit ..i„) ранга г, где • • ч &п) =“ & • • * Легко видеть, что множество Агк, соответствующее конъюнкции К, представляет собой (п—г)-мерную грань. Т а б л в ц а 4 X1 Ks /(xn xz xa) Я, *1 /(*1, x3) 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 Число г будем называть также рангом этой грани. Пример 6. Конъюнкциям Kt (i£, хг, is) ~ xa & K2{Xi, i2, i3) = Ii & 12, K2 (lij Xj, Xi
' 1 vX / f \ X S 1 \ > / / \ 7 \ 1 \Х s' W7 / ух лх^ / ' \ X- XX X // \ /\ s\ 7 X zbvtf << / \ / x\ / ХЛ Л>£%7 \x 7 X7 ' \ X7 rX \ X/'/ > Хул./,/ ^МОГ&О/Я omt ^10111Л /T'^<J /✓fjr''/P BDfff Г X/iXjXXXi Off&ff fyitlffiwfff 1Ш\ ' rxx?>< 1 / ' // /'xx'x X? ЩМЮ1 eoefff к" /X X 7 \^ X 7 b/C xX \ f XX XX / \^z 7 riffO SWtft I s I s I s f 'йш Гис. 2 7775йх ’ / /1 X. / / \ X. ХЛГ<7/ X. ffW wbSx <Ж>Х/А xV ч xx\j \ 1/ хуяда/х. XX.' йвд^н^йй5 ntoo 4ЖЙ/Л gggMxXJ иЖ<й7 jPfWW Рис. 3
310 Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ Рис. 4 соответствуют грани Лгкх » {(0, 0, 0), (1, 0, 0)}, Лк2 = «1л 0а 0), (1, 0, 1)}, Ак3={(1, 0, 0), (1,0, 1), (1,1,0), (1,1,1)}, имеющие соответственно ранги 2, 2 и 1. Эти грани явля- ются соответственно (см. рис. 5) одномерной гранью (ребром), одномерной гранью (ребром) и двумерной гранью. Отметим очевидные свойства введенного соответствия /-Ал Если / • • •» ^и) § • • •> 3-п) V h (^1, > Xnj , то: 1) Ng = Nh Nh^Nf-t 2) A j = 1\т g U A fi.
ГЛ. 1. ДИЗЪЮНКТИВНЫЕ НОРМАЛЬНЫЕ ФОРМЫ 311 В частности, д. н. ф. 91, где если функция /(жь ..аг„)' обладает Я = V...VK,, то из указанных свойств вытекает, что (/ = 1,2, т. е. образ конъюнкции Kt, принадлежащей д. н. ф. функ- ции /, является гранью, расположен- ной внутри множества А/, и N/ = NK1 U Агкй U • U ^tks, т. с. д. и. ф. функции / соответству- ет покрытие множества Nf гранями Нетрудно видеть, что справедли- во и обратное утверждение: всякому покрытию множества Nf гранями, расположенными внутри множества Nj, соответствует д. н. ф. функции /. Пример 7. Мы видели, что = Х'ВГгЛ'з V Х&2Хц V XiX2X3 V Х^Хз V XtX2X3t ^2^x2xs V являются д. н. ф. функции f(^j, х2, та) (см. табл, 1). Этим д. н. ф. соответствуют два покрытия множества Nf: N/ = Лгк1 U U АКз U Агы4 U ЛгкБ, N,-N к2 где ^ = {(0,0,0)}, Л’кз = {(1,0,0)}, ЛЧ3 = {(1,0,1)}, л\4 = {(1, 1, 0)}, Л’к. = {(!, 1,1)}, АГ*, = {(0, 0, 0), (1, 0, 0)}, Л'к„ = {(1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1,1)}. Одно из этих покрытий — точечное, второе покрытие со- стоит из ребра и двумерной грани.
312 Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ Пусть п обозначает ранг грани (он равен рангу конъюнкции Kt} . Число г, где 8 _ V Г- r = XJ " i—1 будем называть рангом покрытия. Теперь мы можем дать формулировку геометрической задачи (задачи о покры- тии), эквивалентной задаче о минимизации булевой функ- ции: найти для данного множества А7; такое покрытие гранями, принадлежащими N h Nf — NKl U N к2 U • • U ^ksi ' чтобы его ранг г был наименьшим. Таким образом, можно считать, что задача о миними- зации булевой функции имеет две постановки. Одна — в аналитической форме (исходная), вторая — в геометри- ческой форме (задача о покрытии). В связи с этим употребляются два языка: аналитический и геометриче- ский. В ряде случаев используется также комбинирован- ный язык, в котором, например, конъюнкции «называют- ся» гранями, а д. н. ф. — покрытиями. § 4. Сокращенная д. н. ф. Определение. Грань NK, содержащаяся в 7//, на- зывается максимальной (относительно Nf), если не суще- ствует грани Nk' такой, что: 1. Атк £ Ngt £= Лг/; 2. Размерность грани Аю больше размерности грани NK. Пример 8. Пусть f(xti х2, функция, заданная табл. 1, и Aj (д?1, £з) == Хг & X5, (Xj, Хг, Xs) = Xi&Xjl Ks(xit Х2, Хг) = Х1. Тогда грани и (см. рис. 5) являются максималь- ными, а грань Nk2 не максимальная для А/, так как Агкз cz N&3 и размерность Nk3 больше размерности Определение. Конъюнкция К, соответствующая максимальной грани NK множества. А/, называется про- стой импликантой функции f.
ГЛ. 1. ДИЗЪЮНКТИВНЫЕ НОРМАЛЬНЫЕ ФОРМЫ 313 Так как условие Л^к S Wк' эквивалентно тому, что все множители из К' содержатся в К, то в определенном смысле из простой импликанты К функции / нельзя уда- лить ни одного множителя, иначе мы получим (после уда- ления множителя) конъюнкцию K't для которой NK'CtNh Отметим очевидное утверждение: каждую грань NK, А'к е N}, можно расширить до максимальной грани. Пусть n, N 0, ...,2V 0 к"’ ж]” ’ — список всех максимальных граней множества Nt. Не- трудно видеть, что n U^V о Q ... J .V п, Ах К2 Кт так как N 0 s Nf (i = 1, ..., т) и каждая точка из Nf Ki принадлежит некоторой максимальной грани. Последнее равенство эквивалентно следующему: f = K[ v^v ... Определение. Д. н. ф., являющаяся дизъюнкцией всех простых пмпликант функции /, называется сокращен- ной д. н. ф. Итак, = к* V к* V *.. V %™ есть сокращенная д. н. ф. функции [. Как это вытекает из предыдущих рассмотрении, опа однозначно определя- ется по функции f и реализует функцию /. Пример 9. Для функции /, заданной табл. 4, имеем следующее покрытие, состоящее пз всех максимальных граней (см. пример 6) N U jVKg. Ему соответствует сокращенная д. н. ф. йс = Ха & Ха V Xj. Геометрический подход вместе с тем дает и способ по- строения сокращенной д. п. ф. Однако желательно иметь также и аналитическое решение.
Алгоритм построения сокращенной д. и. ф. Возьмем для функции /(жь ..., хп) любую конъюнктивную нор- мальную форму (например, совершенную к. н.ф.). Затем производим раскрытие скобок, т. е. преобразование типа & V --> V &. После этого в полученном выражении удаляем нулевые члены и ликвидируем поглощаемые и дублирующие чле- ны, т. е. совершаем преобразования вида К&У/К^К^ Ki В результате этого мы придем к сокращенной д. н. ф. Действительно, из любой простой импликанты . ... & х функции I в каждую дизъюнкцию исходной конъюнктивной нормальной формы должен входить хотя бы один из членов х^, ..., ха£ (иначе, положив , Хгг ~ ог,мы обратили бы в нуль все члены видаж{ , .а затем смогли бы подоорать значения остальных переменных так, чтобы некоторая дизъюнк- ция, не содержащая ж. ноже ооратилась бы в нуль; но тогда на этом наборе значений переменных жъ ..., хп функция / обратилась бы в нуль, а простая 1 °Г jH* импликанта а;. & ... & ж i?, обратилась оы в единицу, что невозможно). Поэтому после раскрытия скобок будут получены все простые импликанты (конъюнкции, не со- держащие части сомножителей, получиться не могут, так как соответствующие им грани уже не содержатся в А/, т. е. каждая такая конъюнкция хотя бы в одном случае равна единице, когда функция / равна нулю). Очевидно, что все остальные конъюнкции, которые будут при этом получены, соответствуют не максимальным граням и, следовательно, поглощаются простыми импликантами. Пример 10. Возьмем функцию f(xlt ж2; ж3), заданную табл. 1. Для пес имеем совершенную к. н. ф. /(жи хг, х3) = (Xi V ж? V ж4) (ж, V жа V жа).
ГЛ. 1. ДИЗЪЮНКТИВНЫЕ НОРМАЛЬНЫЕ ФОРМЫ 315 Производим раскрытие скобок и упрощения i (я, V V гэ) (#1 V х2 VЖз) = XiXi Vitina V V V V XrfC2 V X2XS V V X 2.X s V xsx$ = = xtx2 V XtX3 V V ar2rr8 V я^Хз V ед. Сокращенная д. н. ф. имеет вид 91с = V х iX3 V х2х3 V аед V Дч^з V x2J3. Опа легко усматривается и из геометрических соображе- пий и соответствует циклу из ребер (см. рис. 6). Пример 11. Рассмотрим функцию /(я\, х2, х3, xi} х-з): иа) = (1 при 1 cq 4- ... + «, 3, |0 в остальных случаях. Ее совершенная д. п. ф. есть, очевидно, , . , tT« Ge 91 = V «1 & l<tCTp+ *•. +CTrj«C3 я имеет сложность £к (91) = 25. Каждой грани, содержа- щейся в Л'/} соответствует элементарная конъюнкция, имеющая не менее двух множителей с отрицаниями и не менее одного множителя без отрицаний. В то же вре- мя каждой конъюнкции вида где 1=£ /, г ¥= fc и / ¥= к, соответствует грань, принадлежащая множеству Л\. Отсюда вытекает, что все конъюнкции вида х^х^ i к, 1 ¥= к} являются простыми импликантами функ- ции / и 91 р V [х^х^х^ xiXjXj, XjXjXjij (i, j,h) — сокращенная д. п. ф. для /. Очевидно,£к(91 с)=3*(|}= 30. Данный пример показывает, что сокращенная д. п. ф. для функции / может иметь большее число членов, чем совершенная д. н. ф.
§ 5. Тупиковость на основе геометрических представлений. Методы построения тупиковых д. я. ф. Определение. Покрытие множества Nf, состоящее из максимальных (относительно Nt) граней, называется неприводимым, если совокупность граней, получающаяся из исходной путем выбрасывания любой грани, не будет покрытием N}. Определение. Д. н. ф., соответствующая неприво- димому покрытию множества Nh называется тупиковой (в геометрическом смысле). Пример 12. Для функции /(л?„ я?2, а?3), заданной табл. 1, как видно из рис. 6, Nj -N-- UN- О „ является неприводимым покрытием, а S? = ж2х, V х & V XiXg — тупиковой д. н. ф. (в геометрическом смысле). Теорема 3. Понятия тупиковой д.н, ф. относительно преобразований I и 11 и тупиковой д. н. ф. в геометриче- ском смысле эквивалентны. В дальнейшем мы будем говорить просто о тупиковых д. н. ф., не указывая определения, из которого мы исходим. Заметим, что определенные нами д. н. ф.— сокращен- ная, тупиковая и минимальная находятся в следующем соотношении. Тупиковая д. н. ф. получается из сокращенной путем отбрасывания (удаления) некоторых членов. Минимальная (относительпо LB) д. н. ф. является ту- пиковой. Среди тупиковых д. н. ф. найдется минимальная (от- носительпо L) д. н. ф. Рассмотрим теперь более сложный пример на построе- ние тупиковых д. н. ф., используя геометрические сооб- ражения. Пример 13. Пусть f(xlt х2, яа, ад) задана табл. 5. На рис. 7 изображено множество Nf. В Nf имеются сле- дующие максимальные грани: Nt, A'fl, Ni —• ребра, JVlt N2t N3, М —грани (двухмерные). Таким образом, покрытию Nt U N2 U Na U Nt U Na U Ne U UJVt соответствует сокращенная д. н. ф.
ГЛ. 1. ДИ ЭЪЮ НН'ГИ ИНЫЕ ИОГМАЛЬЦЫЦ curium Таблица 5 X, Х| 0С4 Дх,, xJt ха, SCJ 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 1 1 0 0 1 1 1 1 0 на остальных наборах 1 Две грани и Л* входят в любое покрытие, так как только они покрывают соответственно точки (0111) и (1011). Для покрытия точки (0000) нужно взять либо грань М, либо грань Nz. а) Взята грань Остается покрыть две точки (1100) и (1101), что осуществляется дву- мя способами; либо взя- тием ребер Л\ и IV?, ли- бо взятием ребра N*. Следовательно, получа- ем два неприводимых покрытия: U Л’з U U TV5 U М, U Л'3 U TV* U ДГ,. Ш) б) Взята грань Nt. ?ис’ 7 Остается покрыть три точки (1000), (1100) и (1101) —что можно сделать дву- мя способами: либо взяв ребра Л?5 и 7VT, либо взяв ребра Ne и Здесь мы имеем еще два неприводимых покрытия: ЛтяиЛг,иЛ;!Ж1Ж, N^N^N^N^N,. Для построения тупиковых д. н. ф. нужно заметить, что максимальным граням Nti .Лт7 соответствуют про- стые импликанты К i== 7£4ж=Х2Хз, 2kj == XjXjjXi, А-а == XjXgXj, А 7 == Х1ХзХ4.
318 Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ Мы имеем: SJlj = х3х4 V V xzx3 V гг3х3ж4 V 9?г = х3х4 V х txt V х2т3 V х^гх3, 9?з == х4х2 V XiX6 V XzXs V #2^3^ V а"1ХзХ41 9?4 = xtx2 V xtXi V Хг^з V XiX2xs V XiX3x4; LE (Э13) = 9, Lb W = Le (9ts) = LB (9l4) - 12 Теперь перейдем к построению алгоритма для нахож- дения всех тупиковых д. п. ф. с использованием геометри- ческих идей. Алгоритм построения тупиковых д. п. ф. Мы исходим из покрытия множества N/ системой всех его максималь- ных граной Пусть Nf~ {Р1; ..PJ и Ра — любая точка *) такая, что P0&Nf (мы считаем, что /^1). Составим таблицу (см. табл. 6), в которой О, если Р. (£N 0 (г = 1, . .иг),- I ' Ki °tj~~ 1, если Pj е (j — 0,1, ..., X). Очевидно, что первый столбец — нулевой, так как Рй £ А7Ъ а в каждом столбце, отличном от первого, содержится хо- тя бы одна единица. Значит, первый столбец отличается от всех остальных. Для каждого / (O^j^Z) найдем множество Е) всех номеров строк, в которых столбец Pj содержит 1 (отли- чается от столбца Рй). Пусть Ej ~ {ел, ..., Составим выражение & (ел V • • ’ V 7=1 и произведем преобразование &V-> V&, рассматривая символы е как булевы величины. После этого в полученном выражении ликвидируем поглощаемые или дублирующие члены, т. е. совершаем преобразования *) Точка Рс вводится для того, чтобы была видна связь зада- чи о покрытии с задачей распознавания,
вида А -В\'Л=А, А\/А=А. Мы получим выражение V являющееся частью вы- ражения V &. Каждое слагаемое в V &' будет определять неприводимое покрытие. Таблица 6 P0 Pl . . . pi • • * 0 к? CT10 °11 . . . » * °o. . .. . . . . .. jV 0 Ki aio Oil .. . . . . •. . N KQ • • • . .. Действительно, будем рассматривать номера строк как булевы переменные, а каждое подмножество максималь- ных граней функции / — как набор значений этих пере- менных: если грань входит в подмножество, то соответ- ствующая ей переменная равна единице, а если нет, то равна нулю. Тогда выражение вл V... V Cjjj(j) равно единице тогда и только тогда, когда в подмноже- ство входит максимальная грань, покрывающая точку Pj, а выражение ’ г, & (ея V >» j=i равно единице тогда и только тогда, когда подмножество максимальных граней покрывает Nf. Поэтому подмноже- ство из максимальных граней, соответствующих перемен- ным из одного слагаемого выражения V <&', является по- крытием Nf, Более того, поскольку выражение V&'
содержит в качестве слагаемых в точности все свои про- стые импликанты (ср. со с. 314), а им (как нетрудно ваметить) соответствуют неприводимые покрытия Nh все неприводимые покрытия (и только они) строятся таким способом. Пример 14. Рассмотрим функцию f(xit х2, х3) (см. табл. 1). Для нее множество IV/ состоит из 6 вершин, которые можно занумеровать числами I, II, ..., VI. Мак- симальными гранями (см. рис. 6) являются ребра, кото- рые занумерованы арабскими цифрами. Составим таблицу (см. табл. 7). Мы имеем £^{1,6}, £и = {1, 2}, £ш = {2, 31, £IVM3, 41, £V“{4, 5), £Vi = {5, 61. Тогда V & - (1V 6) (1V 2) (2 V 3) (3 V 4) (4 V 5) (5 V 6) = = (1 V2 • 6) (3 V2 *4) (5V4-6) = =(1 -3 V2-3 - 6 VI -2 -4 V2 -4 -6) (5 V4 -6) = = 1 -3 -5 V2 -3 -5 -6 VI-2-4 • 5 V2 • 4 • 5 • 6 V V 1 - 3 • 4 б V2 • 3 - 4 - 6 V 1 - 2 -4 - 6 V 2 - 4 • 6''=* «l’3-5V2-3-5-6Vl-2-4-5Vl-3-4-6V2-4-6. Мы получаем пять неприводимых покрытий или пять тупиковых д. н. ф.: 9?! — V X2XS V XjXj, == х,х8 V x2x3 V XtX3 Vx2x3, 5i3 = xtx2 Уад V XiX2 V а^Хз, 5t4 = XtX2 V ХгХа V XjXa V x2x3, Sts = XiX3 V #ix2 V x2x3. Две из них 9t( и SR5 являются минимальными.
Данный алгоритм оказывается эффективным и для примера, рассмотренного нами на стр. 316. Однако уже даже для функций, зависящих от небольшого числа пере- менных, алгоритм может оказаться весьма трудоемким и практически непригодным. Это связано с рядом обстоя- тельств: громоздкостью таблицы, сложностью преобразо- вания & V -> V & и, в конечном счете, большим числом тупиковых д. н. ф. В заключение приведем пример функ- ции от четырех переменных, имеющей много тупико- вых д. н. ф. Пример 15. Рассмотрим функцию /(х15 х2, xit хк), где /(хь Хг, Х3, Xt) = XtXzXaXi, V XiX2X3X4. Очевидно, данная функция является симметрической и ее конъюнктивная нормальная форма имеет вид /(хь Ха, Х3, Xi)~(Xi V xa V xs V (f, V х2 V x 8 V Хь)', что позволяет сразу выписать ее сокращенную д. н. ф. 91с = Х1Х1V XiX з V XtX4 V х iX2 V xzx3 V xax4 V V XjXs V x2x3 V xsxt V XiX4 V x2x4 V x3x4. Отсюда видно, что множество Nf имеет 12 максимальных граней, каждая из которых двумерная. На рис. 8 изобра- жено расположение гра- ней. Мы имеем сферу, об- разованную максимальны- ми гранями. Занумеруем Рис. 8 грани так, как это лнза неприводимых покрытий вертку сферы на плоскости (см. рис, 9), при этом нужно 21 с, в. Яблонский указано па том же рисунке. Для ана- удобнее использовать раз-
иметь в виду, что левый и правый край (помечены штри- ховкой) должны быть склеены, и вертикальные отрезки сходятся (показано штриховой линией). На развертке грани делятся на верхний слой 1—3, средний пояс 4—9 и нижний слон 10—12. Далее идет перебор неприводимых покрытий в зависимости от фрагмента этого покрытия Рис. 10 в среднем поясе. Такой перебор учитывает возможность продолжения этого фрагмента в пределах верхнего и ниж- него слоя. Особенно важно иметь в виду запреты граней (помечается минусом) и необходимость покрыть некото- рые вершины (помечается жирной точкой). Для каждого случая подсчитывается число вариантов по формуле а Ь • с, где а — число вариантов в среднем поясе, b ~~ в верхнем слое и с — в нижнем слое. 1) Ни одна грань из среднего пояса не взята. Для по- крытия помеченных точек (см. рис. 10) необходимо взять целиком верхний и нижний слои: = = 2) В среднем поясе взята одна грань 4. Для покрытия помеченных точек (см. рис. 11) необходимо взять грани 2, 3 и И, 12: а4-с = 6-1 -1 =6. 3) В среднем поясе взяты две грани рядом — 4 и 5. Для покрытия помеченных точек (см. рис. 12) необходи- мо взять грани 3 и 11, 12: а b • с = 6 • 1 1 = 6. Рис. 12 Рис. 13 4) В среднем поясе взяты две грани через одну — 4 и 6. Для покрытия помеченных точек (см. рис. 13) не- обходимо взять грани 3 и 12: в • Н = 6 • I I = 6.
ГЛ. 1. ДИЗЪЮНКТИВНЫЕ НОРМАЛЬНЫЕ ФОРМЫ 323 5) В среднем поясе взяты две грани через две — 4 и 7. Для покрытия помеченных точек (см. рис. 14) необходи- мо взять грани 2 и 12. Чтобы получить неприводимое по- крытие, из верхнего слоя можно взять только одну грань 1 или 3. Если выбирается грань 1, то из нижнего слоя (грань 10 запрещена) однозначно добавляется грань 11. Наконец, в случае выбора грани 3 из нижнего слоя (грань 11 запрещена) однозначно добавляется грань 10: а Ь с == 3*2’1=== б. 6) В среднем поясе взяты три грани через одну — 4, 6 и 8. Для покрытия помеченных точек (см. рис. 15) необходимо взять из верхнего слоя любую грань, напри- мер, 1. Тогда из нижнего слоя можно взять любую из двух граней И и 12 (грань 10 запрещена): а’Ь*с = -2 -3-2 = 12. 7—8) В среднем поясе взяты три грани, из которых две расположены рядом, а третья идет через одну грань (см. рис. 16 и 17). (Оба варианта симметричны, поэтому достаточно разобрать одпн из них.) Рис. 16 Рис. 17 Для покрытия помеченной точки (см. рпс. 16) необхо- димо взять грань 12. Чтобы получить неприводимое по- крытие, можно взять еще только одну грань из верхнего слоя, а именно 1: а b • с = 6 • 1 1 = 6. 21*
9) В среднем поясе взяты четы- ре грани (никакие три из них не идут подряд) — 4,5 и 7,8 (см. рис. 18). Для получения неприводимого покрытия нужно добавить одну про- извольную грань из верхнего слоя, например 1. Тогда из нижнего слоя однозначно возьмется еще одна Рис. 18 грань 11 (10 и 12 запрещены): а-&-с=*3-3-1 = 9. Всего мы получаем 58 неприводимых покрытий и, следовательно, 58 тупиковых д. н. ф. и из них 6 — ми- нимальных. § 6. Некоторые однозначно получаемые д. н. ф. Процесс построения минимальных д. н. ф., исходя из совершенной д. н. ф., может быть охарактеризован сле- дующей схемой (см. рис. 19). Рис. 19 Сначала получают сокращенную д. н. ф, (при этом на данном шаге возможно усложнение д. п. ф.). Далее одно- значный процесс переходит в ветвящийся — процесс по- строения всех тупиковых д. н. ф. и, наконец, из тупико-
вых д. н. ф. выделяются минимальные д. н. ф. Весьма трудоемким звеном этого процесса является построение тупиковых д. н. ф. (ветвящаяся часть). Его можно пы- таться упростить за счет двух обстоятельств. а) Заранее удалить часть членов сокращенной д. н. ф., не участвующих в построении тупиковых д. н. ф., и тем самым сократить перебор (просматривая подмножества оставшейся части сокращенной д. н. ф.). б) Произвести удаление части членов сокращенной д. н. ф. так, чтобы оставшаяся часть позволяла построить хоть одну минимальную д. н. ф. Желательно при етом, чтобы данный шаг осуществлялся однозначным образом. В данном параграфе будут приведены построения двух таких однозначно определяемых д. п. ф. Определение. Максимальная грань NK относи- тельно множества Nf называется ядровой, если существу- ет такая точка а из Nf, что а Nx и а не принадлежит никакой другой максимальной (относительно N/) грани. Пример 16. Рассмотрим функцию f(xit х2, х3) (см. табл. 8). На рис. 20 изображено множество Nf и максимальные грани — ребра 7Vlt jV2 и Ns. Легко видеть, что и N3 являются ядровыми гранями, так как точка (0,0,0) покрыта только A'\, а (1,1,1)— только N3. Таблица 8 1 Xi хг X, ООО 0 0 1 0 1 о 0 1 1 1 о о 1 0 1 1 1 о 1 1 1 1 1 о о о 1 о 1 Определение. Множество всех ядровых граней для N} называется ядром. Очевидно, что в предыдущем примере {М, A;J являет- ся ядром. Легко видеть, что ядро входит в каждое непри- водимое покрытие. Отсюда следует, что грани, покрывае- мые ядром, не принадлежат ни одному из неприводимых покрытий.
326 Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ Определение. Д. н.ф, йкв, получающаяся из сокра- щенной путем выбрасывания всех простых имплпкант, соответствующих максимальным граням, которые покры- ваются ядром, называется д. н. ф. Квайна. Теорема 4 (Квайн [42]). Для каждой функции f(xlt ..., хп) (/^'0), существует единственная д.н.ф. Квайна. Определение д. п. ф, Квайна фактически дает основу для формулировки алгоритма, позволяющего строить д. н. ф. Квайна. Пример 17. Для функции, заданной табл. 8, имеем сокращенную д. п. ф. 91а = х iXi V х2я3 V ^(ars. Ядро AM (см. с. 325) покрывает грань ,V2, которой соответствует простая импликанта х2та. Таким образом, д. н. ф. Квайна имеет вид йкв = V ЯрГз. Итак, от сокращенной д. н. ф. путем выбрасывания не- которых импликант возможно перейти к однозначно оп- ределенной д. н. ф.— д. н. ф. Квайна, которая реализует ту же функцию и содержит все ее тупиковые д. н. ф. Следующий шаг в направлении продления однознач- ной части процесса минимизации связан с определением д. п. ф. типа ST. Определение. Д. н, ф., соответствующая покры- тию множества N, совокупностью всех таких максималь- ных граней (относительно N})t которые входят по край- ней мере в одно из неприводимых покрытий, называется д. н. ф. типа ST и обозначается 91хТ. Очевидно, д. н. ф. 51Хт получается логическим суммиро- ванием (т. е. дизъюнкцией) всех тупиковых д. н. ф. функ- ции / и последующим приведением подобных членов. Как вытекает из определения, для каждой функции f(xit ..., хп) существует единственная д. н.ф. типа ST, ее реализующая. Она получается из сокращенной д. н. ф. удалением некоторых членов. Определение. Пусть аеNf, тогда совокупность П~ всех максимальных граней (относительно Nf), содер- жащих точку сс, называется пучком, проходящим через а. Определение. Пусть аNf и NkQ некоторая мак- симальная грань такая, что Точка а называется
ГЛ. 1. ДИЗЪЮНКТИВ^1ЫЕ НОРМАЛЬНЬ1Е формы 327 регулярной точкой (относ ительно Nи если суще_ ствует точка Nf \ и II-. Пример 18. Для Фу НКцИИ /(xt, х2, а?3) (см. табл. 8 и рис. 20) возьмем в кач^стве точки а вершину (0,0, 1) и максимальную грань Очевидно, a^N2. Покажем, что точка а является регулярной точкой (относительно Л\ н Nf). Пусть p~(0,0,ty. Мы имеем; п „у дгл = {AJ и « 1 11 2Й = п~. точка является ре- Определение^ ^ак(>имальыая грань Дгк„ для дг на- зывается регулярной, есдщ каждая ее гулярной (относительно 7V- _о и 2у \ В нашем примере, оч^ви 'fa будет регулярной гранью а 5 и N3 не являются регуляр*’ыми ' нями. 1 Теорема 5 (Ю. И. *т" п ГГ1\ 77 s у рйВ Л6В Ы). Для того чтобы просъая ‘мпли. канта А» функции f не припаЭм. хала д.н.ф. типа ST нео6ходим и достаточно, чтобы соотее> Д максимальная грань Д к* «Xn лярной. р Доказательство. „ тг т,с простая импликанта фугк.п ' j " ость, усть Л — д.н.ф. типа XT, а Л'к« |,М™ Л А не пР™адлежит не является пеггляпной .опРеки утверждению теоремы, не является регулярной >равЬ10 в таком сл ствует точка а, а е NK>, к<гторая не р на. ОбозЕа,пм через g„ точки пз м.,ожес1Еа N/ (см рп(. 21). & Рис. 21 ‘V/ Л'к“ (fj..........М. По условию Р| — и 1 поэтому найдутся грани принадлежащие пучкам Пл » •.., jVк0, соответственно 1 тт 9 > , .. ., такие, что 1 P<j * Лд
328 Ч. V, НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ Очевидно, ои ... иъ=^. л Это покрытие позволяет построить неприводимое покры- тие множества A’j. При этом могут выброситься некоторые из граней JV fl, ,.j¥ о, в то же время грань Лгк0 обяаа- К ц тельно войдет в неприводимое покрытие, так как только она одна покрывает точку а. Мы получаем, что № входят в некоторую тупиковую д. н. ф. и, следовательно, в д. п. ф. типа ST. Полученное противоречие доказывает, что грань Лтя0 — регулярна. Достаточность. Пусть N hii— регулярная грань, докажем, что К° не принадлежит д. н. ф. типа ST. Обозначим через аь ..., а( точки из множества /VK„t т. е. == {«], ..ctt}. В силу регулярности Nk0 найдутся точки {jt, ..из JV/ \ такие, что Возьмем произвольную тупиковую д. п. ф. функции / Рис. 22 и соответствующее ей неприводимое покрытие. Это покрытие очевидно, покрывает точки ..., соответственно гранями » А^ц (см. рве. 22). В силу включений (»), эти же грани покрывают точки ai, ..., а(, т. е. U ... U Nit^NK0. Поэтому грань не принадлежит данному неприводи- мому покрытию, а простая импликанта К° — д. н. ф. й. Теорема полностью доказана. Данная теорема дает основу для формулировки алго- ритма, позволяющего строить д. н. ф. типа ST: необходимо из сокращенной д. л.ф. выбросить все конъюнкции, соот- ветствующие регулярным граням.
ГЛ. I. ДИЗЪЮНКТИВНЫЕ НОРМАЛЬНЫЕ ФОРМЫ 829 Пример 19. Для функции /(хьа:2, ж3) (см. табл. 8), как видно из предыдущего, имеется одна регулярная грань Л72. Выбросив ее, получим Л7, I) Л7Э, что дает д. н. ф. $2Т, совпадающую с единственной тупиковой д. н. ф. этой функции. Таблица 9 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 10 0 0 0 110 0 10 0 1 0 110 0 1 1 1 1 1 1 1 0 1110 1 0 0 0 0 10 0 10 1 10 0 0 1 10 10 на остальных наборах 1 1 1 1 1 о Возникает вопрос о соотношении д. н. ф. Квайна и д. н. ф. типа ST. Теорема 6. Д.н.ф, функции / получается из д.н.ф. Квайна SiKB той же функции путем, быть может, выбрасывания некоторых простых импликант. (11010) (10010) (00010) (00110) (O111O) X3X3X5 Xf (11000) (10000) (00000) (00100) (O11OO) (00001) - х$ L (O1OO1) Рис. 23 Доказательство вытекает пз очевидного факта: каждая максимальная грань, которая поглощается ядром, являет- ся регулярной. Следующий пример показывает, что д. и. ф. ГЬ* может быть проще, чем д. н. ф. Ккв. Пример 20. Возьмем функцию /(хъ х2, хъ, xif хъ) (см. табл. 9). На рис. 23 представлено расположение мак-
330 Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ симальпых граней для Л7/, состоящее из четырех квадра- тов и двух ребер. Мы имеем для данной функции сокра- щенную д, н. ф. 91с = V Хг£зХ5 V XjXaXs V V Х1ХгХ3Х1 V XtXsXi^. Ребро Аг- является регулярной гранью, остальные Рис. 24 грани, очевидно, не будут регулярными, поэтому 91st = V Х2ТЭЯЬ V^t^2J5 V .t(TsX5 v XiX^XiXi. В то же время, так как ядро, состоящее из граней N - - , N- - V--- , *1*3*5 а^З^Б’ iV*lx3*4x& не покрывает ни одной из максимальных граней, то Э1кв = 51с ¥= Э1хт-
ГЛ. 1. ДИЗЪЮНКТИВНЫЕ НОРМАЛЬНЫЕ ФОРМЫ 331 Таким образом, теперь процесс минимизации можно охарактеризовать схемой (см. рис. 24). Здесь ветвящийся процесс начинается после построения д. н. ф. SRIT. Даль- нейшее продолжение однозначной ветви процесса мини- мизации, разумеется, возможно. Например, можно дойти до д. н. ф. типа SM (сумма минимальных д. я. ф. с после- дующим приведением подобных членов). Однако, как мы увидим ниже, это ведет к значительному усложнению алгоритма. § 7. Понятие локального алгоритма Алгоритмы построения д. п. ф. 51кв и д. п. ф. обла- дают определенной спецификой. Они базируются на спе- циальном изучении покрытия Nj системой всех макси- мальных граней, в результате которого накапливается определенная информация о каждой максимальной грани. Например, выясняется, является ли грань ядровой (входит в каждое неприводимое покрытие) или пет; вы- ясняется, является ли грань Агк0 регулярной (не входит ни в одно неприводимое покрытие) или нет. Опираясь на эту информацию, далее осуществляется удаление некото- рых максимальных граней. Например, в одном случае — покрываемых ядром, в другом случае — регулярных граней. Для обобщения данных алгоритмов существенную роль играет понятие окрестности порядка и данной макси- мальной грани NKa множества Nf. Определение (индуктивное). Множество « называется окрестностью порядка 0 максималь- ной грани Nд0. Пусть определены окрестности порядков О, 1, ..и — 1 максимальной грани Атк0.Тогда окрестность. Sи (Nко) порядка и максимальной грани N к0 определяет- ся как множество всех максимальных граней из Nh имеющих непустое пересечение с гранями из Su-1( Очевидно, что (Л ко) — — * • • — 0' к0) ~ ’ • * Пример 21. Возьмем функцию, заданную табл. 1, и в качестве № конъюнкцию з\хг (см. рис. 6).
332 Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ Тогда Sa (^*2 ) “ » Лх273’ Лххх3’ ^«sb £3 (^j72 ) “ ’ ^х2х8» ^xs’ ^х^з’ ^Хгх3’ ^cv--a) = 53p;;-a), и>з. Здесь s0 G\;2) Si (лЧхг) <= sa №л) c s3 (A^ 2) - = s4(^2)=... Обозначим через u0 минимальный порядок окрестности такой, что S«o + 1 (iVK°) =“ Su0 (^ко)- Легко видеть (см. также предыдущий пример), что 50(МсММс ... с «Ч (**’) = ^UO+1 (^VKo) — . . - т причем каждая окрестность порядка и (и > 0) содержит по крайней мере одну точку, не входящую в окрестность порядка и — 1, если и и0 — 1. Отсюда 2”. Зафиксируем теперь параметр и и будем изучать по- крытие множества Nf на основе сведений об ее окрестно- стях порядка и. Это изучение аналогично попыткам составления плана местности на основе сведений об участках местности, которые человек видит из определен- ных ее точек. Наши рассмотрения мы начнем с примера, который пояснит смысл локального изучения покрытий. Пусть к° V ... V к*. — сокращенная д. и. ф. функции f, а W .и ... и АГ . К1 кт — покрытие (максимальными гранями) множества jVI(
ГЛ. 1. ДИЗЪЮНКТИВНЫЕ НОРМАЛЬНЫЕ формы ззз Определение. Грани/Vи называются связ- ными, если существует такое и, что N 0 е 5U (N Ki \ Kl) Легко видеть, что множество всех граней одно- значным образом разбивается на связные компоненты, т. е. на такие подмножества, в которых каждая пара гра- ной связна, а грани из разных подмножеств не связны. Возникает вопрос, как для произвольной грани Nk0 найти компоненту связности, которой она принадлежит. Отметим конъюнкцию КУ и начнем просмотр конъ- юнкций в порядке их следования в сокращенной д.н.ф. Если NKo е то отмечаем конъюнкцию jf’, если Лгко ’ то К0ПЪ№НКДИ1° не отмечаем. Затем переходим к К"- Конъюнкцию я* отмечаем тогда и толь- ко тогда, когда содержит грани для отмеченных конъюнкций, и т. д. В результате этого мы просмотрим всю сокращенную д. н. ф. и отметим некоторые конъюнк- ции. Затем начинаем просмотр сокращенной д. н. ф. по- вторно. Если при этом множество отмеченных конъюнк- ций возрастает, то начинаем следующий просмотр сокра- щенной д. н. ф., и т. д. Мы придем к случаю, когда очередной просмотр (а их меньше т) не увеличит мно- жества отмеченных конъюнкций, тогда выбрасываем все неотмеченные конъюнкции и процесс заканчивается. Оставшееся множество конъюнкций и дает искомую ком- поненту связности. Мы видим, что сначала идет изучение покрытия при помощи окрестностей 1-го порядка, и на основе него де- лаются отметки конъюнкций. Последнее означает, что каждая конъюнкция снабжается одной ячейкой памяти с двумя состояниями (отметки «нет» и отметка «есть»). Кроме того, нужна еще одна ячейка для выяснения, уве- личивает ли очередной просмотр число отметок или нет. В качестве второго параметра возьмем число v — число допустимых ячеек двоичной памяти для каждой конъюнк- ции. Фиксируем параметр v. Теперь перейдем к описанию локальных алгоритмов *)’ [6] над покрытиями максимальными гранями с параметра- ми кип. Работа алгоритма разбивается на два этапа. j Здесь мы даем несколько другой вариант этого донятая.
334 Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ I. Изучение покрытия. В определенном порядке просматривают сокращенную д. н. ф. и на основе того, что попадает в окрестность Su(NKo) конъюнкции №, т. е. ча- сти сокращенной д. н. ф. и информации, накопленной для конъюнкций из этой окрестности, вычисляют новые зна- чения у®. .j у® ячеек памяти для №. При этом требует- ся, чтобы это вычисление выполнялось одинаково для любых двух д.н.ф., имеющих конъюнкцию № и таких, что у них окрестности конъюнкции № совпадают и имеют одинаковые значения ячеек памяти для конъюнкций из данной окрестности (локальность накопления информа- ции). При выполнении определенных требований процесс накопления информации оказывается «сходящимся» и тем самым может быть окончен. В этих случаях мы получаем финальную информацию, задаваемую значениями ячеек памяти для конъюнкций из сокращенной д. н. ф. П. Принятие решения. По вычисленным значе- ниям ячеек памяти конъюнкций из 5и(^яо) определяют возможность удаления конъюнкции №. Эта процедура также осуществляется локальным образом, т. е. одинакова для любых двух д. п. ф., содержащих К0, у которых окрестности К° совпадают и имеют одинаковые значения ячеек памяти для конъюнкций из этой окрестности. Легко видеть, что сформулированный выше алгоритм для нахождения в сокращенной д. н. ф. компоненты связ- ности, содержащей данную конъюнкцию №, является ло- кальным алгоритмом с параметрами и — 1, v = 1. В дальнейшем будем предполагать, что / такова, что покрытие множества Nf совокупностью всех ее максималь- ных граней образует связную компоненту. В противном случае задача минимизации с использованием локальных алгоритмов решается независимо для каждой связной компоненты в отдельности. Пусть ..., #n) обладает указанным свойством. Нетрудно видеть, что существует локальный алгоритм с параметрами и = 1, t>==2n, который позволяет строить минимальную д. н. ф. I этап. Сопоставим взаимно однозначным образом на- боры («1, аГ1) с числами из множества {1, 2, .2П): (аь ...» an)'*+/(аь ап)’. Каждой конъюнкции ^ № пз сокращенной д.н.ф. для /
ГЛ. 1. ДИЗЪЮНКТИВНЫЕ НОРМАЛЬНЫЕ ФОРМЫ 335 сопоставляем двоичный кортеж (?Ь «• ’1 где iK|ij «1 тогда и только тогда, когда ... .а'п)=1. Очевидно, (yj, ..у°п) будет «кодом» гра- ни №. Затем идет изучение покрытия при помощи окрест- ностей 1-го порядка, и новые значения (у® > * м Для № вычисляются как покомпонентные дизъюнкции корте- жей для данной окрестности. Этот процесс приведет к то- му, что для каждой конъюнкции сокращенной д. ш ф. мы вычислим двоичный кортеж и он будет одним и тем же для всех конъюнкций — «кодом» функции (например, столбцом, определяющим ее в таблице). II этап. Решающее правило определим так: возьмем произвольную минимальную д.н.ф. для / и данную конъ- юнкцию выбрасываем тогда и только тогда, когда она не входит в минимальную д. н. ф. Очевидно, данное решаю- щее правило удовлетворяет требованию локальности и приводит нас к минимальной д. н. ф. Данное обстоятельство означает, что в локальных ал- горитмах необходимо вводить ограничения на объем до- пустимой памяти V. В заключение этого параграфа покажем, что алгоритм Квайна и алгоритм построения д. н. ф. типа ST являются локальными и произведем оценку их параметров. В алгоритме Квайна сначала выявляются ядровые конъюнкции. Для этого необходимо знать окрестности первого порядка конъюнкций в сокращенной д. н. ф., и запоминать отметки: если конъюнкция не ядровая, то от- метка 0, если — ядровая, то отметка 1. Для принятия ре- шения о возможности удаления конъюнкции надо опять знать ее окрестность первого порядка и посмотреть, по- крывается ли она отмеченными конъюнкциями из этой окрестности. Таким образом, мы имеем локальный алго- ритм с параметрами и = 1, v = 1. В алгоритме построения д. н. ф. типа ST сначала оп- ределяют, является ли данная конъюнкция регулярной. Для этого нужно сравнивать пучки, проходящие через точки данной грани (конъюнкции) и пучки, проходящие через точки из окрестности 1-го порядка данной грани и не лежащие в ней, т. е. оперировать с окрестностями 2-го порядка. Регулярная грань помечается символом 1,
836 Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ грань, не являющаяся регулярной,— 0. Затем происходит принятие решения: удаляются грани с пометкой 1 (регу- лярные) , Итак, в этом случае мы имеем локальный алго- ритм с параметрами и = 2 и v ~ 1. На основании обсуждений мы видим, что локальные алгоритмы охватывают многие известные классы алгорит- мов. С другой стороны, локальные алгоритмы с параметра- ми и и v являются алгоритмами с ограниченной трудо- емкостью. Глава 2 СЙНТЕЗ СХЕМ ИЗ ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТОВ Рис. 1 В современной технике управляющих и вычислитель- ных устройств важное место занимают дискретные пре- образователи,, т. е. устройства (см. рис. 1), которые обладают некоторым числом входов и выходов. Наборы сигналов, поступающие на входы и возникающие на выходах, при- надлежат известным конечным множествам. Устройства осуще- ствляют преобразования входных наборов сигналов в выходные. Интересным подклассом дискретных преобразователей является класс устройств, в которых время преобразова- ния существенно малб по сравнению с длительностью сигналов (или устройства, временем преобразования в ко- торых можно пренебречь). Математической моделью та- ких устройств являются так называемые схемы из функ- циональных элементов. § 1. Понятие схемы из функциональных элементов Определение понятия схемы из функциональных эле- ментов (Ф. Э.) можно разбить на два этапа. На первом этапе раскрывайся структурная (схемная) часть этого понятия, на втором — функциональная. I этап. Определение схемы из функциональных эле- ментов с точки зрения ее структуры. Этот этап, в свою очередь, разбивается на ряд пунктов. 1’. Имеется конечное множество F объектов (/ = 1, г), называемых злементами. Каждый эле-
ГЛ. 2. СИНТЕЗ СХЕМ ИЗ ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТОВ 337 мент Ft имеет п, входов и один выход. Элемент F( графи- чески изображается так,'кКй'указано на рис. 2. 2°. Исходя из элементов, по индукции определяем по- нятие логической сети (геометрическое определение). Логическая сеть S будет определяться как объект (см. рис. 3), в котором име- ется некоторое число п входов и некоторое число р выходов. а) Базис индукции. Одна изолированная верши- на называется (тривиальной) логической сетью. По опре- делению, опа является одно- временно входом и выходом (см. рис. 4). Здесь и далее па рисунках входящая стрелка обозначает вход, исходя- щая стрелка — выход. б) Индуктивный переход. Эта часть основана на использовании трех операций. 1°. Операция объединения непересекаю- щдхся сетей. Пусть 2' и S" —две непересекакпцпеся Рис. 5 Рис. 6 сети (без общих элементов, входов и выходов), имеющие соответственно п в m входов и р и q выходов (см. рис. 5). Теоретико-множественное объединение двух непересекаю- щихся логических сетей 2' и2й есть логическая сеть 2lt входами которой являются все . входы сетей S' и вы- ходами — все выходы сетей S' и Сеть 21 имеет и + ти входов и р + q выходов (см. рис. 6). II0. Операция присоединения элемента Л. Пусть логическая сеть . X.' и жемежл ft (рис. 7) таковы, что nt < р и в Г выбрано nt попарно различных выходов 22 с. в. Яблонский
338 Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КППЕРНЕТИКВ с номерами Д, /2,../пгТогда фигура S2 называется логи- ческой сетью, являющейся результатом подключения эле- мента Ft к логической сети 2'. Входами S2 являются все входы S', выходами — все выходы сети 2', кроме выходов с номерами jlf ..а также выход элемента Ft. Логи- ческая сеть 22 имеет п входов и р — гц + 1 выходов. II1°. Операция расщепле- ния выход а. Пусть в логической сети 2' (рис. 8) выделен выход с Рис. 8 номером /. Тогда фигура 23 называется логической сетью, полученной путем расщепления выхода /. Входами 23 яв- ляются все входы 2', выходами — все выходы логической сети 2' с номерами 1, .j — 1, / + 1, .р и еще два Рис. 9 выхода, возникших из выхода с номером / Рис. 10 3°. Пусть заданы алфавиты переменных X = {тЛ и Z = {zi}*). Рассмотрим логическую сеть 2, имеющую п входов и р выходов. Схемой из функциональных элементов называется ло- гическая сеть, входам и выходам которой приписаны раз- •) Здесь символ {arj обозначает множество всех яч, где ин- декс i пробегает натуральный ряд (или его подмножество).
ГЛ. 2. СИНТЕЗ СХЕМ ИЗ ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТОВ 339 личные буквы #i]f »xin и соответственно из алфавитов X и 1 (см. рис. 9). Полученную таким образом схему будем обозначать через > 2 • * ** ZA* • • •! zJp)’ Приведем примеры схем. 1. Пусть множество F состоит из трех элементов (см. рис. 10). Тогда фигура Sb изображенная на рис. 11, будет схе- мой, так как она может быть построена с использовани- ем F при помощи операций Г—ПГ. Этапы этого построе- ния изображены в табл. 1. 2. Фигура S2l изобра?кенная на рис. 12, будет также схемой (см. табл. 2). В дальнейшем мы встретимся с примерами схем, у ко- торых вход является одновременно и выходом и у кото- рых возможно несколько выходов. II этап. Определение функционирования схемы. 4°. Пусть X(#1, ..., zlf zp)—схема из функцио- нальных элементов*). Сопоставим ей систему уравнений *) Беа ограничения общности можно считать, что номера пе- ременных образуют начальные отрезки натурального ряда. 22*
340 Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ Таблица 1 Логическая сеть Способ получения Берутся две триви- альные логические ости (Синие индукции) В II производит раз- вствленпс выходов 1 и 2. Операция III (2 ра- за) К выходам (1, 2) и (3, 4) сети IV под- ключают элементы &- Операция II (2 раза) Логическая сеть Способ получения ИГ- — 1 1 1 1 L \г 1 1 1 -J К I применяется операция I II выходам 2 и 3 сети III под- ключают эле- менты’ / м 3 . Операция П (2 раза) К выходам 1, 2 сети V подклю- чают элемент V- Операция 11 1 (функций) алгебры логики 21 =/1(^1, Яп), Z₽ = /P(J!I, Хп), называемую также проводимостью данной схемы. Для этого каждому элементу Л из множества F ставится в со- ответствие логический оператор ..., ...), имею- щий n.-мест и задаваемый булевой функцией .., ^Л{). Далее но индукции определяется проводимость схемы. а) Базис индукции. Схема S — тривиальная схема (см. рис. 13). В этом случае уравнение имеет вид 21 “ *1, и проводимость есть тождественная функция,
ГЛ. 2. СИНТЕЗ СХЕМ ИЗ ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТОВ 341 Таблица 2 Логическая сеть Способ получения Логическая сеть Способ получения ' i ” 1 1 ! J 4 "f и V j i t 2 e * it V V 1 г Берутся четыре три- виальные логиче- ские сети К выходам (2, 3) се- ти II подключают элемент Операция II К выходам (1, 2) 1г (3, 4) сети IV под- ключают элементы V- Операция II (2 раза) 7| 1 J 1 »- /V, 7 1Д 1 1 г Г X L * v7 + I 4 ! 5 Xi 1 1 1 1 1 J 4 f К I применяется операция I (3 раза) В П1 производят разветвление выхода 2. Опе- рация 111 К выходам (1, 2) cemV подклю- чают элемент &• Операция 11 б) Индуктивный переход. Пусть 27 и 2 — две схемы, сети которых не пересекаются и входам и v Рис. 13 ... Рис. 14 выходам которых приписаны, соответственно, различ- ные буквы (см. рис. 14). Пусть также схемам 2* (*^1» -J zii • • •! zp) J 2] • •> гР+Ъ • • •>
342 Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ соответствуют системы уравнений ZI /1 • • •> 37n) j ZP + i /р+ i И» • • •» Л-п+тп) > ..................(*)..................................(**) 2р = А (^1> • • «1 £п) ♦ ZP+4 ~ /p+ef^n+i, . . • » Xni-m) . I. Схеме Sf(Tit .тГ1+т; z[f .zp+q), являющейся объ- единением двух данных схем, поставим в соответствие систему уравнений, представляющую собой объединение уравнений (*) и (**): Z1 = » *ч •T'h+Ij • ••» 2р = /р ^п+1, • ••, •^«+m)i zp+l " /р+1 *^n+lj • **i Л'П-ет)* zp+g “ A + g (*^J ’ • •» j #n+li •••, •З'п+т)* Здесь /ь ...rfp не зависят существенно от переменных а /р+1, ♦ ..л fp+q — от переменных xlf ,.хп и /1 = А» A=/pi 7p+i = A+1i • • ч /р+д = /р+д- П. Пусть схема ’ ^2 (^11 • • • ! ^>1» ®lf •‘Ч 2й-1» г^+Ь * 2;П.-Ъ zjn .+11 • 2pt 2р+1^ получена из схемы S'(xls ..хл\ zt, ..zp) путем присоединения к выходам z^, (n, pj элемента Ft, п полученному новому выходу приписана буква zP+l. Тогда сопоставим этой схеме систему уравне- ний, получающуюся из (*) вычеркиванием A, ,..j jni строчек с добавлением строки 2р+1 = A (Aj Uv - ..J ^н)( 1 hrt. (xlt ..Xa)y
ГЛ. 2. СИНТЕЗ СХЕМ ПЗ ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТОВ 343 Получим г1 = fl Un *п)» 2j1 —1 = fjj-1 (^П Z>] + 1 = fjy + l Un = /ц-i Un ‘ X’^ 2j„.+i= />„.+! Un • 2P = fz>Ui, • - Zti), ®p+i = fi (/?] Un • • ••« fin Un • • • ’ **•«))• III. Пусть схема S3(^, .xn* z,, ..., zp, zP+J) получе- на из схемы S'(a:i, • ••» 2t, •••> 2p) расщеплением вы- хода с номером у па два выхода, и полученным выходам приписаны соответственно буквы Zj и zP¥l. Тогда этой схе- ме поставим в соответствие систему уравнений Zi“/tUt ...» хп), z3-t = Л-t Un ...» а\), % = !А? >.............. 2j+i ‘ З-’л) , 2рц = fj(^L, . . Л’п)- Таким образом, каждой схеме из Ф. Э. сопоставлена система уравнений, которая по существу определяется системой булевых функций, входящих в их правую часть. Пример 1. а) Для схемы Sf (рпс. 11) имеем систе- му, состоящую из одного уравнения Zi = xt &х2 VXi&x2 или Zi = Xi + rr2(mod 2). б) Для схемы S2 (рис. 12) аналогично получаем Zi ~ XiXi V x2xs. Замечание. Схему из Ф. Э. 5(хь ..гт„; zt, ..., zp) можно рассматривать как соединение элементов Л. Каж- дый элемент является элементарным преобразователем, который преобразует входной набор (щ, в вы- ходное значение («и •• •» В таком случае, если на входы схемы 2 подать набор (cci > ..ап), то, продвигаясь
твд it v. iiibrtui wx'uib Ш’ШЮЖЫШН К КИБЕРНЕТИКЕ от входов к выходам, оп будет переходить в набор (Ть • - >i Yp), характеризующий состояния выходов. Оказы- вается, что Yi = /i(«i.....а»), ^P~fp(cCi, . . (Zn), т. е. преобразование, описываемое данными уравнениями, соответствует нашему интуитивному представлению о функционировании схемы из Ф. 3.J Обозначим через © класс всех схем из Ф. Э. над Л Пусть ©Л — подкласс всех схем из Ф. Э. над Ft у которых: 1) имеется ровно один выход; 2) разветвления имеются только на входах. Очевидно, что е ©0, a S2 ©и нац базисом F (см. рис. И, 12). Обозначим ©qj класс формул над систе- мой Оказывается, что между классами ©0 й®$ существует вполне определенная связь, которая может быть матема- тически строго сформулирована. Более грубо эта связь выражается следующим образом: каждой схеме S из ©0 можно однозначным образом сопоставить формулу И из так, что по формуле 51 исходная схема восстанавлива- ется в некотором смысле однозначно с точностью до сим- вола, приписанного выходу. Данное утверждение можно проиллюстрировать на примере. Рассмотрим схему (см. рис. 11). Очевидно, что Si е ®0. Этой схеме соответствует формула 31, где ?l = (Xi & Хг) V (.Ti & Хг) (см. процесс построения соответствующих уравнений). Очевидно, что эта формула позволяет восстановить струк- туру исходной схемы S. Доказательство утверждения несложно. Для этого нужно сравнить определение схемы из ©0 и формулы над соответствующей системой. В силу сказанного схемы из ©0 можно рассматривать как формулы или, точнее, как геометрические аналоги формул. Заметим, что если схема S содержит элемент F<, кото- рый на выходе имеет разветвление, то его можно за- менить на группу элементов у которых на выходах отсутствуют разветвления (см. рис. 15), и при этом функционирование схемы не изменится. Эта замена по-
ГЛ. 2. СИНТЕЗ СХЕМ ПЗ ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТОВ 345 зволяет преобразовать схему S в схему 27, функциониро- вание котором описывается теми же у равнения мп, но имеет разветвления только на входах. Таким образом, функциональные возможности класса © схем X над за- данным базисом совпадают с функциональными возмож- ностями подкласса его всех схем, у которых разветвления । I /V\ могут быть только на входах. //\\ Каждая схема S' из указанного \fi7 \7у подкласса представляет собой у у у «склейку» схем пз ©0 своими /\ I I входами. Отсюда фупкцпопаль- v ... т ные возможности класса © оп- ределяются функциональными Рис. 15 возможностями подкласса ©«, т. е. возможностями Мы доказали следующую теорему. VTeopena i (о полноте). Для того чтобы для произ- вольной системы булевых уравнений вида 21 =/1(^Ь -Р = УрИн • существовала схема S(ti,__, ггп; zir zp) в исходном базисе Ф. Э.ь реализующая эту систему уравнений^ необ- ходимо и достаточно, чтобы система $£ функций Д была полной. Мы видим, что связь классов и позволяет свести исследование проблемы полноты класса © к проб- леме полноты для формул. Дальнейшее изложение связано с рассмотрением клас- сов © схем из Ф. Э., для которых система полна. § 2. Проблема синтеза схем из Ф. Э. Проблема синтеза схем из Ф. Э. состоит в следующем. Задан базис F функциональных элементов и взята про- извольная система булевых уравнений 21 =/1(Я1, -.х„), . . ., Жя) . Требуется построить схему zi, ..., zp) из данных Ф. Э., реализующую эту систему уравнений.
Как мы видели выше, решение проблемы синтеза су- ществует. если система 93 функций полна. Поскольку уже в случае реализации булевых функций формулами имеется много решений, то для данной системы булевых уравнении (при наличии полноты системы 9Р) можно по- строить много схем из Ф. Э., которые реализуют эту си- стему уравнений. Ввиду этого задача синтеза требует уточнения, кото- рое позволило бы осуществлять выбор в определенном смысле оптимального решения. Последнее может быть сделано следующим образом. Рассмотрим функционал Л(Х), определенным для всех S из скажем, как число элементов в схеме S. Число £(5) будем называть слож- ностью схемы. Будем дополнительно требовать, чтобы синтезируемая схема S имела минимальную сложность. В дальнейшем такие схемы будем называть минималь- ными. Следовательно, теперь проблема синтеза состоит в построении минимальных схем. Ближайшая цель изложения состоит в описании алго- ритма для построения минимальных схем. В связи с этим введем одно понятие и докажем три леммы. Пусть задано п входов xi(, .. ., р выходов . —, Zjp иг элементов Fr, которые будут изобра- жаться так, как это указано на рис. 16. входы Выходы зленеуты Рис. 16 Определение. Соединением S данных входов, вы- ходов и элементов называется геометрическая фигура, состоящая из этих объектов и обладающая следующими свойствами: 1) каждый вход элементов подключен либо ко входу, либо к выходу элемента; 2) каждый выход подключен либо ко входу, либо к выходу элемента,
Замечание. Очевидно, схема , х,п, • ..., 2!р) пз Ф. 3. является соединением. В то же время существуют соединения, не являющиеся схемами из Ф. Э. (см. рис. 17). Лемма 1. Число S*(n, р, h) соединений с данными входами iEip .,xin4 данными выходами £jlt —, zJ}) и со- держащих h Ф. Э., занумерованных числами от 1 до h, не превосходит ?(п + Л)А’+*, где v = max п{. г<г Доказательство. Каждый из h занумерованных элементов можно выбрать г способами, а каждый из его входов можно подключить либо к одному из входов rtip либо к выходу одного из h элементов, т. е. вход элемента может быть подключен п + h способами. Всего для элемента имеется не более r(n + ft)v возмож- ностей. Очевидно, что каждый из выходов Zjp может быть подключен п + h способами. Поэтому 5*(п, р, rh(n + h)hv+v. Теорема 2. Число 50(щ р, h) минимальных схем из Ф. Э. с данными входами данными выхо- дами и содержащих h Ф. 5., удовлетворяет неравенству 5»(«, Z>,fe)<-jr^(» + A)'lv+!> “'J Доказательство. Очевидно, что в минимальной схеме на выходах разных элементов получаются разные функции от переменных Tfl, (иначе один из та- ких элементов можно было бы удалить из схемы, и, из-
меняв некоторые соединения в пей, сохранить ее функ- ционирование). Благодаря этому все h\ соединений с за- нумерованными элементами, которые порождает каждая минимальная схема, различны. Отсюда и из леммы 1 следует неравенство теоремы. Легко видеть, что определенные выше операции для логических сетей могут быть распространены и на со- единения. I. Операция объединения Двух соедине- ний. Применяется к двум соединениям S' и S", которые не имеют общих входов, выходов и элементов. Результат операции имеет все элементы и все связи обоих соедине- ний. Его входами будут входы 8' и 8", выходами — вы- ходы S' и 8". II. Операция подключения элемента. Бе- рется соединение S' с р выходами и элемент F{, причем < р. В 8' выбираются пс выходов (приписанные им символы из алфавита Z исключаются) и каким-либо обра- зом подключается элемент Р,; его выходу приписывается символ из алфавита Z, отличный от символов, приписан- ных другим выходам. III. Операция разветвления выхода. В со- единении S' берется некоторый выход zj(1 который при- соединен либо к входу, либо к выходу элемента. Берем новый выход z (символ z отличен от символов, приписан- ных другим выходам) и подключаем его к топ же верши- не, что и Zjt. Лемма 2. Результат применения операций I, II, III к соединениям является соединением. Лемма 3. Соединение S, отличное от тривиальной схемы, является схемой тогда и только тогда, когда вы- полнено хотя бы одно из условий: 1) 8 получается объединением соединений S' и 8", которые являются схемами; 2) 8 получается из 8' путем подключения элемента Fit и S' является схемой; 3) 8 получается из 8' путем разветвления его выхода, и 8' является схемой. Доказательство этих двух лемм очевидно. Теорема 3. Существует алгоритм, который для каж- дого соединения S выясняет, является ли оно схемой или нет.
Доказательство ведется индукцией по числу d связей соединения S, т. е. по суммарному числу всех входов элементов и всех выходов S. В случае d = 1 либо S совпадает с тривиальной схемой, либо не является схе- мой. Пусть теорема верна для всех d ~ 1, ..Z. Покажем, что она справедлива и для d-лт 1. Рассмотрим соедине- ние S', имеющее X + 1 связь. Очевидно, S отлично от три- виальной схемы (d > 2), Для соединения S возможны два случая: 1) S не получается из соединений с меньшим числом связей путем применения ни одной из операций I—III. Тогда, очевидно, S не является схемой; 2) S является результатом операции над соединениями с меньшим числом связей. В этом случае просматриваем все варианты разложе- ний (их конечное число) и в силу предположения индук- ции для компонент разложения выясняем, будут ли они схемами или пет. Если найдется разложение, при котором все компоненты являются схемами, то исходное соедине- ние по предыдущей лемме будет схемой. Если в каждом разложении хотя бы одна из компонент не будет схемой, то исходное соединение не будет схемой. Теорема доказана. Теорема 4. Существует алгоритм, который для каж- дой системы булевых уравнений строит минимальную схему 2. Доказательство. Пусть система уравнений имеет следующий вид: Zj 1== fi , ,, Хп) , Zp f р (*^1> • • •» 3"п) • Просматриваем последовательно все соединения со вхо- дами аТ1, ..., хп и выходами zt, ,.., zp с числом элементов Л = 0, 1, 2, ... Берем Л“0. Мы имеем конечное число соединений, не содержащих элементов. Для каждого соединения про- веряем, является ли оно схемой или нет. Если соединение есть схема, то выясняем, реализует ли оно данную систе- му уравнений. Таким образом, либо мы найдем требуемую схему (она, очевидно, будет минимальной) или среди схем сложности h = 0 искомой схемы пет. В последнем случае мпнимальная схема имеет сломшость £(2)>0.
Берем h = 1. Мы имеем конечное число соединений, содержащих один элемент. Для каждого соединения про- веряем, будет ли оно схемой или нет. В случае, когда со- единение есть схема, выясняем, реализует ли оно данную систему уравнения. В результате этого мы либо найдем требуемую схему, и опа будет минимальной, либо среди схем сложностей h = 0 и h = 1 искомой схемы нет. Зна- чит, минимальная схема S имеет сложность £(£)>! и т. д. В силу полноты системы этот процесс должен окончиться, и в результате мы построим минимальную схему. Теорема доказана. Приведенный выше алгоритм для построения мини- мальных схем относится к классу алгоритмов типа «пол- ного перебора», так как он основан па просмотре всех схем до определенной сложности. Алгоритмы полного перебора, как правило, обладают большой трудоемкостью. Они, по существу, пе дают возможности изучать свойства искомых объектов и непригодны для практических целей. Ввиду этого далее рассматривается более простая задача, для которой исходная система уравнений содержит одно уравнение 2 = ...» М» и, следовательно, искомая схема S имеет один выход. Сложность минимальной схемы будем обозначать через £(/). Кроме того, вместо синтеза схем для отдельных функ- ций (уравнений) рассматривается задача синтеза для класса Р(п) всех функций от п переменных. При этом ка- чество алгоритмов синтеза сравнивается путем сопоставле- ния так называемых функций Шеннона. Более точно, пусть L (п) « шах £ (/), L А (и) = max LA (/),. где £л(/)— минимальная сложность схем, реализующих /, которые получаются при помощи алгоритма А. Функции L(n), LA(n) называются функциями Шен- нона. Они, очевидно, характеризуют сложность класса Р(я) с точки зрения реализаций его функций минимальными схемами, соответственно минимальными относительно данного алгоритма схемами, и
Задача синтеза состоит теперь в том, чтобы найти ал- горитм А, для которого ЬА{п) была бы возможно олиже к L(n) (например, LA(n) = Цп)), н чтобы трудоемкость алгоритма А была существенно меньше, чем трудоемкость алгоритма полного перебора. Следует обратить внимание на то, что в новой постановке задачи мы не требуем, что- бы алгоритм А для каждой функции / находил минималь- ную схему, необходимо только, чтобы простейшая схема, получаемая при помощи А, имела сложность силь- но не превышающую L(n). § 3. Элементарные методы синтеза Мы приведем несколько алгоритмов синтеза, исполь- зующих элементарные идеи, в случае когда базис F со- стоит из инвертора, дизъюиктора и конъ- юнктора. а) Метод синте- за, основанный на совершенной д. п. ф. Рис. 19 Гис. 18 Рассмотрим разложение функции /(хь зп) (/^ const) в виде совершенной д.н.ф.: / • • • j — \] " V (<Ц...0П) 1=1 z(°j.. Введем вспомогательный «элемент» (см. рис, 18), с по- мощью которого лсчко изобразить (см. рис, 19) схему 2#,
реализующую конъюнкцию К, где а. о К = Xj1 & ... & Хцп • Очевидно, L(SK) < п + (п — 1), и 2К содержит подсхе- му Хк, одинаковую для всех конъюнкций и имеющую сложность н — 1. Если «склеить» схемы 2^, •.Sks, на- чиная от входов хп вплоть до вспомогательных элементов, то получим схему 2 (см. рис. 20). Мы имеем Л (2) < п + s(n — 1). Подключая выходы схемы 2 к схеме из Дизъюнкторов, мы получим схему для f(xu ..хп} (см. рис. 21). Этим завершено описание метода синтеза по совер- шенной д. н. ф, (алгоритм Aj). Окончательно получаем ^Aj (/) п 4- 5 (к — 1) 4- ® — 1 < п 4- ns = п (s + 1). Поскольку / 1, то $ 2п — 1 и ЬА1 (/) и2\ а также
ГЛ 2. СИНТЕЗ СХЕМ ПЗ ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТОВ 333 б) Метод синтеза, основанный на более компактной реализации множества всех 1 ° ° 1 КОНЪЮНКЦИЙ 1#1’ & • . На рис. 22 представлено индуктивное построение многополюсника S11 (га=»1, 2, ...), реализующего множе- ( G о . ство всех конъюнкции & ... & хлп|- Мы имеем £(2*)=1, £(Sn)= £(£"-*)+1 + 2", £ (S") = 22 +...+ 2" + п = 2 • 2й + п - 4. Для построения схемы, реализующей функ- цию /(^1, ..я,,), нужно в многополюснике S'1 отобрать выходы, соответствующие членам ее совершенной д.н.ф. Kt, подключить мх к схеме (см. рис. 21), осуществляющей ло- гическое сложение, и удалить лишние элемен- ты. Это потребует еще не более s < 2” — 1 элементов V. ®г хп Таким образом, этот метод (алгоритм Л2) Рис. 21 дает &а2 (?) С 3 ’2п + п — 5 в £А2 (а) 3’2” + и — 5. в) Метод синтеза, основанный на разло- жении функции /(хи ..., яп) по переменно- му .г„. Возьмем разложение / (*^1, • • 3^71—1, ^п) ‘ хп f (Зят >. >, l)Vxn&/(,Ti, ..., xn«.j, 0) и для краткости положим /' = /(*!, • л-л-ь 1), f" ..., .т7!_ь 0). На рис. 23 представлена индуктивная процедура по- строения схемы для /. На основе этого метода имеем алгоритм 43: ^А3(1) «2, £Лз (fl.)<2£As(n-l)-|-4, 23 С- В. ЯблппсьпД
354 Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ Окончательно имеем ЬЛз(»)<3.2"-4. Если учесть информацию о реализации функций от двух переменных, например, что £д3(2)<^5, то можно Рас. 23
I I V I И HTi::t СХЕМ ИЗ ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТОВ 355 пол упи в лучшую оценку: £Лз(п)<2,25.2п-4. Итак, мы видим, что построенные алгоритмы Аг и j4s в некотором смысле дают возможность получить все более компактные реализации для функций и, в конеч- ном счете, все более хорошие оценки для функций Шен- нона. С другой стороны, получение более хороших ре- зультатов синтеза достигается за счет некоторого ус- ложнения алгоритма. § 4. Нижняя оценка для L (га) Для того чтобы можно было судить о качестве алго- ритмов синтеза, нужно знать, насколько отличается ве- личина LA(f) от £(/). Это сравнение осуществить не- возможно, так как величина LA(f) вычисляется довольно сложно (например, для алгоритмов и Л3), a L(J) хотя и вычислима, но для большинства функций с практи- чески недоступной сложностью. Ввиду этого качество алгоритма синтеза оценивают путем сопоставления функций Шеннона LA(n) и £(«). К сожалению, сравнивать величины LA(n) и L(n) для каждого п мы не можем, так как, хотя LA(n) и вычис- ляется легче, чем £А(/), функция Цп) вычисляется с практически недоступно я сложностью. Поэтому приходит- ся ограничиваться асимптотическим сравнением ЬА(п) и L(n), т. е. их сравнением при п °*. Напомним следующие понятия из анализа. Пусть ф(л) и 1]?(га) — вещественные положительные функции от натуральной переменной п. 1. Функция q;(n) асимптотически больше или равна функции 1|Дп), т. е. ср (га) > 1|?(и), если для любого г > О найдется Л/ == Л’(е) такое, что при любом п Лг ср(га)^ 2. В случае, если <р(га)> т|:(га) и 1]Д/г)ср(га), гово- рят. что ср (га) и 1р(п) асимптотически, равны (оквивилел/- ны) и пишут ср(га)~ф(га), Здесь, очевидно, предел ср(п)Лр(га) существует и равен 1. 3. Если 0 < Ci < ср(п).Л|'(л)< с2, то говорят, чю функции ср (га) и ф(га) эквивалентны с точностен) Нс /,,> рядка, В этом случае пишут q (га)Х 23*
356 Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ Для сравнения асимптотики £А(п) и L(n) важно по- лучить достаточно хорошую нижнюю асимптотическую оценку для Цп) для базиса, состоящего из инвертора, конъюнктора и дизъюиктора. Теорема 5. Цп)^ 2п/п. Доказательство. Как мы видели выше (теоре- ма 2), число минимальных схем из Ф. Э. с п входами и одним выходом (р = 1), содержащих ровно h элементов в рассматриваемом базисе (v = 2, г==3), т. е. S0(n,i,h), оценивается следующим образом: 50(щ 1, 4i 3h(« + ^)a'1+1- Обозначим число минимальных схем из Ф. Э. с данными входами #1, ..хп, данными выходами zlf .,zP, содер- жащих не более h элементов, через р, h). Тогда h S (п, р, h) = У (n, р, i). i=0 Оценим сверху S (n, 1, h). Мы имеем h h S (п, 1, К) = 2 so (п, 1,4) < 2 4- 3' <" + °2i+1 < i=0 i=0 < (Ь + 1) 4)- Зл (« + А)2^* < 4“зЛ <« + Если h > п, то S (п, 1, А) < (12е)А А6 < (eh)", где с — некоторая константа. Положим h = [2"/п] (при этом условие h > п выпол- няется, начиная с п = 5) и оцепим сверху число мини- мальных схем из Ф. Э. сложности не более h (при п > 5). Мы имеем S (п, 1, h) / 2п\2”^п и, значит, минимальными схемами сложности не более h / £П\2П/П может быть реализовано не более I с—1 булевых функций от п переменных.
ГЛ. 2. СИНТЕЗ СХЕМ ИЗ ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТОВ 357 Рассмотрим выражение l°g2 ~ (log2c 4- п — log 2n) -2П = 2* 2n •= — (loga c — log2n) -> — oo (при n -> oo). Следовательно, при достаточно большом п числитель бу- дет меньше знаменателя. Значит, минимальных схем сложности не более h не хватает для реализации всех булевых функции от п переменных, и поэтому существу- ют функции от п переменных, которые не могут быть реализованы со сложностью, меньшей или равной т. е. при достаточно больших п г , . 2п Теорема доказана. Следствие. Доля тех функций f, для £(/)>27п, стремится к единице при которых § 5. Оптимальный по порядку метод синтеза схем из Ф.Э. (метод Шеннона) Полученная выше нижняя оценка для L{n) показы- вает, что наилучшие из элементарных методов синтеза отличаются по порядку от нижней оценки в п раз. Это означает, что дальнейшее совершенствование методов синтеза может привести к уменьшению верхней оценки для функции Шеннона по порядку не более чем в п раз по сравнению с с2п. В действительности оказалось, что существует такой метод синтеза, который приводит к верхней оценке для функции Шеннона, по порядку совпадающей с нижней оценкой. Этот метод был создан К. Шенноном для контактных схем. Здесь мы изложим этот метод для реализации булевых функций схемами из Ф. Э. Пусть {/J(a'i, ..хп)\ ..., /Доь ..о„)} — множество булевых функций (/< /j при i =¥= /).
358 Ч. V, НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ Определение. Многополюсник из Ф. Э., имею- щий п входов и $ выходов, называется универсальным для данного множества функций, если для каждого в многополюснике найдется выход r(i) та- кой, что на нем реализуется функция Л(хъ ..., а:.,,). х Пример 2. Пусть (Klf .. 1 — множество конъюнкций. Тогда jL многополюсник (см. рис. 20) явля- ется универсальным для этого мно- ] жества. \/ Лемма 4. Для любого п мож- v но построить универсальный много- ху/ ] полюсник Vn для множества всех \j \J булевых функций от п переменных Т Т т Т О 1 5, xf £(ад<2-2а . Ряс. 24 Доказательство, Построение многополюсника Гп будем осуще- ствлять индуктивным способом. Базис индукции (п = 1). В качестве 1Д возь- мем многополюсник, изображенный на рис» 24. Мы име- ем £(Г1) = 3<2-221. Индуктивный переход. Предположим, что по- строен универсальный многополюсник Un-t для множе- ства всех булевых функций, зависящих от переменных хь ..,, xn-lt и £ (C/n-i) 2*22 .Рассмотрим разложение f(Xjt , , ., Xn—t, Хп) Xnj (Xj, . . Xn~ 1) V XnJ Я'п—i)« Множество всех булевых функций, зависящих от пере- менных .., хп, разобьем на три непересекающих ся класса, I. = Этот класс содержит одну функцию М. II. Ровно одна из функций f или /" тождественно равна 0. В этом классе содержатся функции / вида / Xnf « • ч Х-п—1) или / X nf (*^1, • • •» Х-П— 1) т. е, 2 (22 — 1) функций. (/' 0) (Г ^0),
ГЛ. 2. СИНТЕЗ СХЕМ ИЗ ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТОВ 359 III. Всеуостальные функции, т. е. функции /, у которых /'*0 и /* * 0. В этом классе имеется 2’" — 2 (2’"-1 — 1) — 1 функций. На рис. 25 изображен многополюсник Un. Здесь вы- ходы многополюсника Cni. занумерованы числами Рис. 25 1, ...,22 ( причем считается, что на выходе 1 реа- лизуется константа 0. Выходы многополюсника Vn разбиты на три класса в соответствии с разбиением множества всех булевых функций, зависящих от переменных хп. Данный многополюсник содержит:
360 Ч. V. некоторые; приложения к кибернетике а) подсхему Un~i и вне ее еще б) один инвертор, в)2(22 —1) конъюнкторов, г) 22'" — 2 (г2* 1 — 1) — 1 дизъюпкторов. Таким образом, £(У„)=Л(£7„_1) + 1 + 2(2г’* ’-1) + 2'"-2(22” ’ - 1)- -1 = + 2г" <2.22""’ + 22" <2-2гП. Лемма доказана. Теорема 6 (К. который булевой функции позволяет постро- Ф. Э. СЛОЖНОСТИ Э. Шеннон [34]). Существует метод синтеза (алгоритм /14), для каждой / (^11 • ч £«) итъ схему из LaJJ) и ^4(/far.... Доказательство. Возь- мем разложение / (xlf ..., ян)= & «Ч..<Ъ) & / fan • • • » ч ^п)‘ Рассмотрим схему S/, изобра- женную на рис. 26. — многополюсник, универ- сальный для множества всех конъюнкций КО1...стл, где К<^ = 1 я 1 Й Рис. 26 (к — фиксированное число). В ка- (см. честве взята схема 2й рис. 22). Un-k — многополюсник, нереальный для множества уни- всех булевых функций, зависящих от переменных д?6+1, ..хп. Через T(ult ..оА) обозначен его выход, на котором реализуется функция /(С1) • •> Ок> • • ч •
ГЛ, 2, СИНТЕЗ СХЕМ ИЗ ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТОВ 381 Легко видеть, что данная схема реализует функ- цию f(xit ..яп) в соответствии с приведенным выше разложением. Оценим сложность S/I L (S,) < L (V„) + L (U^t) + 2-2* - 1 <2-2* + fc - -4 + 2-2’" + 2-2* -1 = 4-2* + 2-2*п~" + к-5. Подберем параметр к таким образом, чтобы правая часть этого неравенства стала возможно меньше. Так как нас интересует порядок величины Лд4(/), то, вместо мини- мума правой части, который в дискретном случае вы- числяется сложно, мы возьмем значение правой части при т = [log2(n — 2 log2 п)], где т ~ п — к. Это значе- ние подбирается, исходя из следующих соображений; с ростом к член 4-2 возрастает, а член 2-2 убы- вает, и минимум достигается, когда оба члена становятся близкими друг к другу. Мы имеем ~ (п — 2 log п) < 2т <С (п — 2 log п), /2П ,992™^ 4-2" 4^ + 2.2 Ч(/) 2 ~ <8 — (л - 2 log л) «а п Следствие. Учитывая пижюю оценку, мы по- лучаем 2п и, значит, алгоритм является наилучшим по порядку. § 6. Асимптотически наилучший метод синтеза схем из Ф. Э. (метод Лупанова) Первым асимптотически наилучшим методом синтеза для реализации всех булевых функций был метод Лупа- нова, который был сначала, сформулирован для кон- тактных схем и затем им же был распространен на схе- мы из Ф, Э. Теорема 7 (О. Б. Лупанов [18]). Для схем из Ф.Э. в базисе, состоящем из инвертора, дизъюнктора и конъ- юнктора, можно построить асимптотически наилучший метод синтеза и 9П
362 Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ Доказательство. Зададим произвольную булеву при помощи таблицы размера функцию f(xlt хп) 2* X 271-* (см. табл. 3). Таблица 3 Строки этой таблицы нумеруем наборами значений по переменным хи ..., хк, столбцы — по переменным хй+н ... ..хп. На пересечении строки (щ, ..щ) и столбца (0*+,... о„) помещаем значение /(щ, ..ой, ой+1, ..оп). Легко видеть, что столбец с номером ой+1, ..о„ за- дает функцию /(хи ..хк, щ+i, ..., о«), являющуюся компонентой разложения / (^1> • * ^п) ="• = V . x*”/(xLt ..., xft, пА+1, ,,сД (1) (°.ч+1.оп) м Возьмем целое число s, 1 < s < 2ft, и разрежем таб- лицу на полосы шириной s (см. табл. 3). При этом по- следняя полоса может оказаться меньшей ширины s' (s'Cs). Занумеруем сверху вниз полученные полосы числами 1, 2, ..., р, где р — ]2Vs[, и рассмотрим полосу с номером I (см. табл. 4) и строками (а1(1)... Ол(1)), ... .... (oi(s)...ox(s)). Эта полоса распадается на короткие столбцы высоты s для последней полосы — высоты s'. Поэтому число i(i) сортов коротких столбцов будет не более 2а. Произведем нумерацию этих сортов числами 1, 2, ..., £(/). Пусть (7ь • Ъ) “ столбец /то сорта. Обозначим через /ч(хь.. .t хй) булеву функцию, определи-
ГЛ. 2. СИНТЕЗ СХЕМ ИЗ ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТОВ 363 емую этим коротким столбцом: если (Oi.,. Од) =(ой (I) ... ck (/)), I = 1.....S< hi • * •» хь) q, если (Oj ... Од) не принадлежит i-й полосе. Столбец с номером oft+i,.. оп разрезается полосами на р коротких столбцов. Поэтому / (^Т» • • • J! I ^А + 1т • • • > “ ...» Xh) v • • • V fpjp Сч........*л), (2) где ]i — номер сорта соответствующего короткого столбца, принадлежащего i-й полосе. Таблица 4 / o^l) ... afe(i) o^s) ...trfe(s) Yi Теперь перейдем к описанию схемы S. Ее мы полу- чим в виде соединения отдельных блоков (см. рис. 27). Попутно будем оценивать сложность блоков. 1. Блок А реализует все конъ- „о* юнкции ^11 , . . L(A)^k2\ 2. Блок В реализует все конъ- юнкции 1 - • - ЦВ)Щп-к}2п~\ 3. Блок С реализует по совершен- ной д. н. ф. функции /о(^1, ..xh) I(C)^(S-l)(t(l)+... Рас. 27 ... + t (p) )< sp 2я, 4. Блок D реализует функции /(тп ..oAH.t, . .ck) на основе формулы (2) l)2n-h < р2Г\
364 Ч. V. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ К КИБЕРНЕТИКЕ 5. Блок F реализует функцию /(тъ .,#п) исходя из ее разложения (1) L (F) С 2n-ft + 2"-'1 - 1 < 2 • 2ПЛ Суммируя полученные оценки, имеем L (S) С k2k + (п - к) 2^ + sp2‘ + p2*~h + 2 • 21 Положим к = [3 log2 и], s ~ [п — 5 log2 и]. Тогда и L (S) k2h + n2n 'h + 2h+< + причем Поэтому В силу Произвольности функции /(Zi, ..хп} отсюда следует, что пП L (п) v 1 п Соединяя полученные соотношения с теоремой 2, мы за- вершаем доказательство. § 7. Синтез сумматора Общая теория синтеза схем из Ф. Э. приводит к важ- ному выводу о том, что большинство булевых функций (при п -► со) имеет сложные минимальные схемы. Это означает, что практическую ценность с точки зрения синтеза представляет весьма узкий класс булевых функ- ций. Поэтому наряду с универсальными методами син- теза необходимо иметь методы синтеза, приспособлен-
ные к отдельным классам булевых функций, полнее учи- тывающие свойства отдельных функций. В этом параграфе мы познакомимся с одним из под- ходов к реализации достаточно узкого класса функций. Речь пойдет о построении многополюсной схемы на функ- циональных элементов, реализующей сложении двух чн сел, заданных в двоичной г шлеме счисления х = x.nxn-t ... х1г у = ynyn—i... J/i. Для этого рассмотрим хорошо из- вестный алгоритм сложения чи- сел х и у «столбиком» (?n + l ’ • Q1) Хп . , . Уп---Ух Рис. 28 2п4-1 Здесь числа ооозва- чают результаты переносов из предыдущих разрядов (qi = 0)’ Очевидно, zi = Xi + yt + Qi (mod 2), Qi+1 = XiPi V ЗД V p,Q<. Основываясь на тождество Xi + р,- + Qi = (XiPi V XiQi V p,Qi)& V Pi V Q;) V JTiP.Qi, легко получить схему, реализующую соответствующее
Sbb Ч. V, НЕКОТОРЫЕ шилижшдн К КИБЕРНЕТИКЕ преобразование величин xt, yt, q< в z{, q^i (см. рис. 28). Обозначим данную схему через Д(1<1<ге). Тогда искомая схема — сумматор для двух «-разрядных дво- ичных чисел — получается путем последовательного сое- динения блоков Bt (см. рис. 29). Здесь zn+J = уп+1, и блок Bi осуществляет преобразование 2f « + У1 *= ^il/i (•?! V pj, 7s ~ Очевидно, L(Bl)=4 и Л(В()==9 при 1 < i < ге. Таким образом, I(S„)^ 9(л - 1)+ 4 == 9« - 5 < 9ге. § 8. Синтез схем из Ф. Э., реализующих симметрические функции Другим интересным классом двоичных преобразова- ний является класс так называемых симметрических функций. Определение. Булева функция zr„) на- зывается симметрической, если она является симметри- ческой относительно всех переменных xt, ..., т. е. если для любого набора (ан ,.а,,) и любой подста- /1 ,,. п \ новки . . имеет место Vi ”• 7п/ (аД’ • • • t ajn) = $ * * *1 ап)’ Классу симметрических функций, очевидно, принад- лежат константы 0 и 1, функции #lt Xj & ха, xt V х2, xt + + х2, -V х&я V £a#3 и т. д. Легко видеть, что если для набора (oct, ..., а„) 5(а„ ап) = 1, : и («1, ..ап)’ содержит ровно i единиц, то для любого набора («1г , t, , а„), содержащего также ровно i еди- ниц, 5 (aj, ..а'.) = 1. В таком случае симметрическая функция S (г,, ..хп} характеризуется списком своих рабочих чисел in ... ..гг(0 <?!<.. .< ir re) , обозначающих число единиц в наборах (at> ..., a„), для которых S(ai, an)=l.
Поэтому можно писать где индексы !o ..., lT — рабочие числа функции £(.ii, ... .. . Например, XiX2 V XtXs V х2хя = S2 3 (Xlt xz, эд). Рассмотрим вспомогательное преобразование (ct1T ..., аЛ) -> ... где — число единиц в наборе (од, ..ап). Это преобразование будет реализо- _ вапо многополюсником 2;1 из я,— функциональных элементов ________ t (см. рис. 30), в котором на J выходах 2ц 2pog^„j + 1 по- ptIC> 3Q является двоичная запись чис- ла „ м когда на вход постенает набор (at, .... ct.J. ........ап) Пусть п 2'". Тогда [logz /г| + 1 = т + 1. Лемма 5. Можно построить многополюсник S,., осуществляющий в вышеуказанном смысле преобразо- вание (аг, aj-*z(ai.....й/), и £(Sn) <?18я — 9 log п -- 18. Доказательство провидится индукцией и«> /ч. рис. 31 а) Базис индукции ш = 0. Здесь н I и игы» мая схема имееч г-н ’ (’и рис. 31), M-j u- С другой стириин, 18/t -9i jyL/4—18 — 0 при и -* А.
Следовательно, неравенство L (2„) 18/г — 9 log п — 18 справедливо для п— 1. б) Индуктивный переход от т — 1 к т(т — — 13s 0) осуществляется при помощи схемы (см, рис. 32). Эта схема «делит» набор {att ..а на две части (аь ^m_j) и («ат-1+1,... а2>.;), в каждой ча- [Ьод2ф/ Рис. 34 ста под схемами вычисляется число единиц г и i", затем сумматор «складывает» Г и i", и на выходе вычисляется число единиц исходного набора. Мы имеем L (.S'™) = 2L (s'm-i ) + L (S^)J или £(2^) = 2£(2;>/3) + £(2,t)<2[18-i---9 log-1-18) + 4- 9 log 2n < 18n — 9 log n —18. Лемма доказана. Следствие. Л 18-2™, т. е. при п = 2т L (£',)<: 18га. Лемма 6. Для любого п можно построить многопо- люсник Sn, осуществляющий преобразование • »-1 ^(ctp...,ап)г
Доказательство. Очевидно, существует такое пт, что п 2т < 2п. Искомый многополюсник 2„ может быть реализован так, как это показано на рис. 33. У многополюсника 22-« берутся первые [loga n] + 1 выходов: (£'«)+ 2<18.2”Ч 2 <18 (2п - 1) + 2<36п. Утверждение доказано. Теорема 8. Существует константа Со такая, что любая симметрическая функция (xtt ..., мо- жет быть реализована схемой ^s(x1(..,,xn) такой, что C(S$ pq..*71))^ С0П. Доказательство. Искомая схема 2 (Х|.....Xjjj мо- жет быть построена так, как это показано на рис. 34. Здесь схема 2П преобразует набор (txlt ..ап) в двоич- ный код Схема реализует булеву функ- цию от [logan] + l переменной, и эта функция на «набо- рах» совпадающих с Л, ..С, равна 1, а в остальных случаях равна нулю. Мы имеем (см, теорему 7) ...86« + [Тад+Т < 86» + Т^Г, откуда следует существование константы Со, о которой говорилось в теореме. Теорема доказана. 24 с. В. Яблонский
СПИСОК ЛИТЕРАТУРЫ 1. Васильев Ф. П. Численные методы решения экстремальных задач.— М.; Наука, 1980. 2. Васильев Ю. Л. О сравнении сложности тупиковых и ми- нимальных дизъюнктивных нормальных форм,— В кн.: Пробле- мы кибернетики. Вып. 10.— М.: Физл1атгиз, 1963, с. 5—61. 8. Га в р и л с в Г. П., СапоженкоА. А. Сборник задач по дис- кретной математике.— М.: Наука, 1977. 4. Дискретная математика и математические вопросы кибернети- ки/Под ред. С. В. Яблонского и О. Б. Лупанова.— М.: Наука, 1974. 5. Ж у р а в л е в Ю. И. Об отделимости подмножеств вершин п- мерного единичного куба.— В кн.: Труды МИАН СССР. Т. 51.— М.: Изд-во АН СССР, 1958, с. 143—157. 6. Журавлев Ю. И. Об алгоритмах упрощения дизъюнктивных нормальных форм.— ДАН СССР, 1960, 132, J\s 2, с. 260—263. 7. 3 ы к о в А. А. Гиперграфы.— УМН, 1974, 29, № 6, с. 89—154. 8. И д ь и н В. А., С а д о в н и ч и й В. А., С е н д о в Б. X. Мате- матический анализ.— М.: Наука, 1979. 9. К р а т к о М, И. Алгоритмическая неразрешимость одной эа- да,чи из теории конечных автоматов.— В кн.: Дискретный ана- лиз. Выл. 2.—Новосибирск, 1964, с. 37—41. 10. Кратко М. И. О существовании нерекурсивных базисов ко- нечных автоматов.— Алгебра и логика, 1964, 3, № 2, с. 33—44. 11. К у д р я в ц е в В. Б. Теорема полноты для одного класса ав- томатов без обратных связей,— В кн.: Проблемы кибернетики. Вып. 8.— М.: Физматгиз, 1962, с. 91—115. 12. Кудрявцев В. Б. О мощностях множеств предполных мно- жеств некоторых функциональных систем, связанных с авто- матами.—В кн.: Проблемы кибернетики. Вып. 13. М.: Наука, 1965, с. 45—74. 13. К у д р я в ц е в В. Б., А л е ш и н С. В., П о д к о л а и н А. С. Введенне в теорию автоматов.— М.: Наука, 1986. 14. Кудрявцев Л. Д. Курс математического анализа. Т. 1—2,— М.: Высш, шк., 1981. 15. Кузнецов А. В. О проблемах тождества и функциональной полноты алгебраических систем.— В кн.: Труды 3-го Всесоюз- ного мат. съезда. Т. 2 — М.: Изд-во АН СССР, 1956, с. 145—146. 16. К у з н е ц о в А. В. О бесповторных контактных схемах и бес- повторных суперпозициях функций алгебры логики.— В кн.: Труды МИАН СССР. Т. 51,— М.: Изд-во АН СССР, 1958, с. 186— 225.
СПИСОК ЛИТЕРАТУРЫ 371 17. Лулаяов О. Б. О возможностях синтеза схем из произволь- ных элементов.— В кн.: Труды МИАН СССР, Т. 51.— М.: Изд- во АН СССР, 1958, с. 158-173. 18. Лупанов О. Б. О синтезе некоторых классов управляющих систем.— В кн.: Проблемы кибернетики. Вьш. 10.— М.: Физмат- гиз, 1963, с. 63—97. 19. Л у п а н о в О. Б. Об одном подходе к синтезу управляющих систем — принципе локального кодирования.— В кн.: Проблемы кибернетики. Вып. 14.— М.: Наука, 1965, с. 31—110. 20. Л упаяов О. Б. Асимптотические оценки сложности управ- ляющих систем.— №.: Изд-во МГУ, 1984. 21. Ляпунов А. А. О логических схемах программ.— В кн.: Про- блемы кибернетики. Вып. 1,— М.: Физматгиэ, 1958, с. 46—74. 22. Марков Ал. А. Об алфавитном кодировании. 1.— ДАН СССР, 1960. 132, 3, с. 521-523. 23. Марков Ал. А. Об алфавитном кодировании. II.— ДАН СССР, 1961. 139, № 3, с. 560—561. 24. Марков Ал. А. Нерекуррентное кодирование.— В кн.: Про- блемы кибернетики. Вып. 8,— М.: Физматгиз, 1962, с. 169—186. 25. Марков А. А. Введение в теорию кодирования.—М.: Наука, 1982. 26. Никольский С. М. Курс математического анализа. Т, 1—2.— М.: Наука, 1983. 27. Орлов В. А. Простое доказательство алгоритмической нераз- решимости некоторых задач о полноте автоматных базисов.— Кибернетика, 1973, № 4, с. 109—113. 28. Понтрягин Л. С. Основы комбинаторной топологии.— М.: Наука, 1976. 29. Р ы б п и к о в К. А. Введение в комбинаторный анализ — М.: Изд-во МГУ, 1985. 30. Сачков В. И. Введение в комбинаторные методы дискретной математики,— М.: Наука, 1982. 31. Т ра х т е н б р о т Б. А. К теории бесповторных контактных схем.— В кн.: Труды МИАН СССР. Т. 51.— М.: Изд-во АН СССР, 1958, с. 226—269. 32. Холл М. Комбинаторика,— М.: Мир, 1970, 33. Ч е г и с И. А., Яблонский С. В. Логические способы конт- роля работы электрических схем.— В кн.: Труды МИАН СССР. Т. 51.— М.: Изд-во АН СССР, 1958, с. 270—360. 34. Шеннон К. Работы по теории информации и кибернетике.— М.: ИЛ, 1963. 35. Яблонский С. В. О суперпозициях функций алгебры логи- ки.— Матем. сб., 1952, 30 (72), № 2, с. 329—348. 36. Яблонский С. В. Функциональные построения в А-значпой логике,— В кн.: Труды МИАН СССР. Т. 51.— Мд Изд-во АН СССР, 1958, с. 5—142. 37. Яблонский С. В. Методические разработки по курсу «Эле- менты дискретной математики».— М.: Изд-во МГУ, 1971. 38. Я б л о н с к и й С. В., Г а в р и л о в Г. П., К у д р я в ц е в В. Б. Функции алгебры логики п классы Поста.— М.: Наука, 1966. 39. Янов IO. И., Мучник А. А. О существовании А-значных замкнутых классов, не имеющих конечного базиса.—ДАН СССР 1959, 127, М I, с. 44—46. 40. Hamming R. W. Error-detecting and error-correcting co- des—Bell Syst. Techn. J., 1950, 29, A: 2, p, 147—160. 24*
(Рус. пер.: Коды с обнаружением и исправлением ошибок.—* Ы.: ИЛ, 1956, с. 7-22.] 41. Huffman D. A. A method for the construction of minimum- redundancy codes.— Proc. IRE, 1952.— 40, Al 9, p. 1098—1101 [Pyc. iiер.: Кибернетический сборник. Вып. 3.—M.: ИЛ, 1961, с. 79—87.] 42. Quine W. V. On cores and prime implicants of truth functi- ons.™ Amer. Math, Monthly, 1959.— 66, № 9, p. 755—760. 43. McMillan B. Two inequalities implied by unique deci- pherability.— IRE Trans., 1956.— IT—2, №4, p, 115—116 (Ру с. пер.: Кибернетический сборник. Вып. 3.— M.: ИЛ, 1961, с. 88—92.] 44, Martin N. М. The Sheffer functions of 3-valued logic.— J, Symb. Logic., 1954, 19, As 1, p. 45—51. 45. P i с c a r d S. Sur les fonctions definics dans les ensembles fi- nis quelconque.— Fund. Math., 1955, 24, p. 183—185. 46. P о s t E. L. Introduction to a general theory of elementary pro- positions.— Amer. J. Math., 1921, 43, As 3, p. 163—185. 47. P о s t E. L. The two-valued iterative systems of mathematical logic.™ Annals of Math. Studies, v. 5, Princeton L’niv. Press, Prin- ceton — London, 1941. 48. R о sse г J. B., Tur que tte A. R. Many-valued logics.™ Amster- dam, 1952. 49. S a 1 о m a a A. Some completeness criteria for sets of functions over a finite domain I, IL—Turun Ylopiston Jalkaisuja Annales Universitatis Turkuensis, 1962, sarja A53, p. 1—9; 1963, sarja A63, p. 1—19. [Рус. пер.: Кибернетический сборник. Вып. S.- М.: Мир, 1964, с. 7—32.] 50. Slupecki J. Kriterium pelnosci wielowar — tosciowych syste- mow logiki zdan.— Comptes Rendus des Seances de la Societe des Sciences et des Lcttrcs de Varsovie, Cl. Ill, 1939, 32, p. 102—128.
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Автомат 114 Аксиома выпуклости 298 — инвариантности 298 — монотонности 298 — неотрицательности 298 Алгебра логики 9 Алгоритм 122 —, запись на операторном язы- ке 121 — локальный.331 — наискорейшего спуска 301 — полного перебора 300, 350 — построения кода с минималь- ной избыточностью 285 ----сокращенной д. и. ф. 314 •---тупиковых д. н. ф. 318 — распознавания однозначности декодирования 268 — упрощения д. н, ф. 301 -----------? мера трудоемкости 307 Алфавит 256 — переменных 9 Асимптотика In п! 206 — п! 208 ----, константа я 211 — Q 211, 213 ~S(*) 213,215 — Ф(п.) 215, 221 Асимптотическое неравенство 205, 355 — равенство 204, 355 Ассоциативность 21, 46 Базис 42, 345 — конечный 42 — счетный 67 Бином Ньютона 180, 196, 198 Величина входная 88 — выходная 88 Вершина 79, 222, 227 — внутренняя 241, 245 — граничная 241 — изолированная 223 — исключительная 279 — концевая 241, 255, 278 — минимальная 249 — насыщенная 279 — начальная 87 — разделяющая 244 — n-мерного куба 307 Вершины эквивалентные 249 Ветвь дерева 79. 278 Взаимности свойство 24 Вход 76, 336 Выход 76, 336 Генератор 77 Головка 115 Грани связные 333 Грань двумерная 308 — максимальная 312, 316 — одномерная 308 —, ранг 308 — регулярная 327 — ядровая 325 — (п — г)-мерная п-мерного ку- ба 307 Граф 222 —, геометрическая реализация 223 — конечный 222 —, плоская реализация 226 —, подразделение 225 — полный 224 — связный 223 Графы гомеоморфные 225 — изоморфные 225 — пеизоморфные, число 226, 227, 237 Двойственность 23 —, принцип 24
874 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Двойственность, принцип для программ (машин) 119 Декодирование 259, 292 — однозначное 260 Дерево 78, 79, 230 — , вес 83 — , — конечный 85, 86 —, ветвь 79 —, геометрическая реализация 231 — занумерованное 80 — кодовое 278 ---, преобразования 280, 281 — , корень 79, 230 — насыщенное 279 — , поддерево специальное 83 — , путь 80 — усеченное 85 — конечное 85, 86 Деревья неизоморфные, число 232 — эквивалентные 83 Диаграмма Мура 86 Дизъюнктивная нормальная форма (д. н. ф.) 297 •-----Квайна 326 ------кратчайшая 299 ------минимальная 299 ---------относительно L 299 ------, сложность 298 ------совершенная 27, 297 «--------, аналог 47, 150, 151 ------сокращенная 313 ------типа S71 326 ------тупиковая 301 ---------в геометрическом смысле 316 •--------относительно преоб- разований I и II 301 ------, упрощение 301 Дизъюнктор 351 Дизъюнкция 13 — , обобщение 45 — , свойства 21 Дискретный преобразователь 76, 336 Дистрибутивность 21, 46 Зависимость между вершинами сети 249 — с запаздыванием 94 — существенная 11 Задача о покрытии 312 — о трех домах и трех колод- цах 224 Задача синтеза 351 Задачи комбинаторного анализа 188 ------, алгебраический подход 190 — — —, метод производящих функций 197 ------, теоретик о-множествен- ный подход 188 Замкнутость 30 Замыкание 33, 50 — , свойства 33 Запись числа двоичная 162, 365 Звезда 245 — полюсная 245 — , центр 245 Зона рабочая лепты 119 Изоморфизм графов 225 — сетей 229 — функциональных систем 106 Имплвкапта простая 312 Импликация 13 Инвертор 351 Индекс простоты 298 Источник помех 259 ---, логико-комбинаторное опи- сание 259 ---, статистическое описание 259 — сообщений 257 ---, логическое описание 257 •--, статистическое описание 257 ---, теоретико-множественное описание 257 Канал связи 258 Квадрат 58 Класс функций .двойственный 34 ---замкнутый 33, 50 — — максимальный 41 ---предполный 41 Код 272 — максимальный 296 — машинный 129 — — вспомогательный 136 ---квазиосновной 136 ---основной 129 ---решетчатый 136 ---/-кратный 136 — помехоустойчивый 260 — префиксный 261 , преобразование 283
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ 375 Код приведенный 282 — самокорректирующийся 289 — с минимальной избыточ- ностью 277 — слова 258 — сообщения 257, 259 — Хафмана 277 — Хэмминга 290 ---, геометрические свойства 293 — элементарный 258 Кодирование 257 — алфавитное 257 ---, взаимная однозначность 260, 264 ---, схема 258 — равномерное 258 ---, схема 258 Команда 115 — остановки машины 116 — пустая 116 Коммутативность 21, 46 Комплекс одномерный 223 Композиция машин 120 ---, 1-й тип 120 ---, 2-й тип 121 Компоненты разложения 26 — связные 245, 333 Константа 0 12 — 1 12 Конъюнктивная нормальная форма (к. н. ф.) 314 ------совершенная 29 Конъюнктор 351 Конъюнкция 13 — , обобщение 45 — , ранг 297 — , свойства 21 — элементарная 297 Корень дерева 79, 230 Коррекция кода 259 — ошибки 289 Куб единичный п- мерный 307 ------, разбиение на сферы 294 , — на шары 294 -----, fc-fi слой 179 — n-мерный размера к 172 --------, слой 182 Лента бесконечная 116 ---вправо 115 —, заключительная запись 118 — пустая 118 Логика двузначная (алгебра ло- гики) 43 Логика конечнозначная 43 — континуумзначная 73 — счетнозначная 73 — Аг-значная 43 ----, особенности 65 Машина 115 — Тьюринга 113, 118 ----, вычисление правильным образом 144 ----, итерация 121, 123, 124 ----, последовательное подклю- чение 120, 123 Машины двойственные 119 Метод синтеза асимптотически наилучший 361 ----Лупанова 361 •----- оптимальный по порядку 357 ----, основанный на более ком- пактной реализации всех конъюнкций 353 — —, — на разложении функ- ции по переменной 353 ----, — на совершенной д. н. ф. 351 — — Шеннона 357 Минимизация 146, 148 — булевых функций, проблема 298 Многополюсник 353 — для множества всех конъ- юнкций ... & х°п 353 --------булевых функций от п переменных 358 — универсальный 358 Множество цилиндрическое 89 Моделирование на решетке 133 Момент времени 76 Мощность множества детерми- нированных функций 77 Набор 10, 222 Наборы противоположные 35 — соседние 37 —, стандартное расположение 10 Неравенство Макмиллана 272 — между средним геометриче- ским и средним арифметиче- ским 236 Нормировка 60 — неполная 61
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ 37t) Нумерация вершин 84 — ребер 80 Обратная связь 94, 98 Объем допустимой памяти алго- ритма 333 Окрестность максимальной гра- ни 331 ------второго порядка 335 ------первого порядка 333, 335 ------порядка 0 331 ------порядка и 331 Оператор 121 — логический 340 —, осуществляющий преобразо- вание записи лепты 121 — проверки логических условий 122 — специальный 122 — П((, /) 155 — П/(г, /) 155 ~Р> (₽, И 154 Операторная схема 122 Операция бесповторной подста- новки функций 18 — введения несущественной пе- ременной 12, 152 ----обратной связи 94, 98 — минимизации 146, 148 — О 94, 98 — объединения непересекаю- щихся сетей 337 — подразделения ребра графа 225 — подстановки переменных 17 ----сети вместо ребра 238 — Пр 146 — примитивной рекурсии 146, 147 — присоединения элемента 337 — расщепления выходов 338 — С 146 — суперпозиции 16, 91, 146, 239 —'удаления множителя 301 •---несущественной перемен- ной 12, 151 ----элементарной конъюнкции 301 — н 146 Определитель Вандермонда 70 Отношение предшествования 28 — о 203 ----, свойства 203, 204 — О 202 — —, свойства 203, 204 Отношение < 205 — 205 ~ —“ 203 - X 205 ----204 Отрицание 13 — Лукашевича 45 — , обобщение 45 Отросток 241 Ошибка 289 — , коррекция 289 —, обнаружение в коде Хем- минга 291 Перебор И, 300 Переменная несущественная 11, 143 •---в узком смысле 151 — существенная 11 — фиктивная 11 ----, введение 12 ---, удаление 12 Переменные, отождествление 18 — , переименование 18 — , перестановка 18 Перестановки 172 — , число 174 — , —, порядок 208 — , —, оценки 176 Петля 223 Поглощение произведения мно- жителем 23 Подграф 226 Поддерево специальное 83 Подпуть 239 — собственный 240 Подразделение графа 225 — ребра 225 Подстановка обобщенная 43 — переменных 17 — сети вместо ребра 238 — формул 22 — функций бесповторная 18 Подформула 15 — , замена 22 Покрытие 311 — неприводимое 316 — , ранг 312 — точечное 311 Поле Галуа 71 Полином Жегалкина (по mod 2) 32 ----, единственность представ- ления функции 32 — по mod к 69
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Полнота 30, 42, 48 —, критерий 42, 56 —, распознавание 51 Полюс 227 Порядок и! 208 Последовательность векторов 74 — входная 76 — выходная 77 — наборов 75 — унимодальная 178 Правило Крамера 71 Предикат р (х) 120 ----двузначный 120 ----трехзначпый 120 Представление Клини 169 Преобразование значений 61 — квазиосновпого кода в основ- ной 141 — основного кода в /-кратный 137 — переменных 61 — решетчатого кода в основной 138 Преобразователь без входов 77 — дискретный 76, 336 — элементарный 343 Префикс, свойство 261 — слова 261 Примитивная рекурсия 146, 147 ----, схема 147 Принцип подключения-исклю- чения 189, 194 Программа 115 —двойственная 119 Программирование для машин Тьюринга 124 Путь 80, 223 Пучок граней 326 — ребер 79 Разбиения множества 172 ----, число 183. 184 Разветвление 344 Разложение функции 26, 48 Я-ра вложение 247 р-разложение 247 s-разложение 247 Размещения 171 —, число 174 Ранг грани 308 — конъюнкции 297 — покрытия 312 Расстояние между вершинами куба 293 Расщепление 248, 249 377 Расщепление, единственность 251 —- каноническое 253 ----, единственность 253 Я-расщеплсние ?49 р-расщепление 248 5-расщепленке 249 Ребро 79, 222 Решетка 133 Связка плоскостей 224 Связь между схемами из Ф. Э. и формулами 344, 345 Сети изоморфные 229 — яеизоморфные, число 232, 234 Сеть 227 — бесконечная 227 — внешняя 246 — внутренняя 246 —, геометрическая реализация 227, 228 — двухполюсная 237 — конечная 227 — логическая 337 ----тривиальная 337 — неразложимая 242 — однополюсная 230 — разложимая 242 — Я-p изложи мая 247 — р-разложимая 247 — s-разложимая 247 — связная 237 — сильно связная 240 —, степень 233 —, — средняя 233 —, структура степенная 233 — счетная 227 — тривиальная 242 Я-сеть 243 л-сети 253 —, число 254 Символ пустой 115 -А 114 Синтез схем из Ф. Э. 345 — , асимптотически наилучший метод 361 — —• — — — —, качество ал- горитма 350, 355 •----------, оптимальный по порядку метод 357 -----------, элементарные ме- тоды 351 Система замкнутых классов 54 — подмножеств 171 функций полная 30, 48
378 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Система функций полная в зам- кнутом классе 42 Следование логическое 13 Слово 256 — буферное 136 — , длина 256 — , конец 261 — , начало 261 — неприводимое 265 — , префикс 261 — собственное 261 Сложение логическое 13 — по mod 2 13 — n-разрядных двоичных чисел 18, 365 Сложность д. в. ф. 298 — схемы из Ф. Э. 346 Соединение 346 — ребер параллельное 243 --последовательное 244 Сообщение 257 Состояние 88, 115 — заключительное 118 — начальное 117 Сочетания 172 — с повторениями 172 • , число 180 — , число 177 Степень набора 233 — сети 233 — — средняя 233 Строение формул 15 Сумматор 364 Суперпозиция сетей 239 — функций 16, 91, 146 Сфера 293 — , радиус 293 — , центр 293 Схема из функциональных эле- ментов 336, 338 --------минимальная 346 --------, проводимость 340 — - кодирования 258 — одновременной примитивной рекурсии 164 — операторная 122 — примитивной рекурсии 147 Теорема Белла 200 — Жегалкина 32 — Журавлева 327 — Квайна 326 — Клини 165 — Кратко 110 — Кудрявцева ИО Теорема Кузнецова о функцио- нальной полноте 54 — Лупанова 234, 361 — Маркова 264 — Мартина 65 — Мучника 67 — обращения 191 — о разложении функции 26 — о редукции 283 — о функциональной полноте 40, 54 z — Пикара 64 — Понтрягина — Куратовского 225, 226 — Поста 42 — Слуп едкого 64 --, обобщение 61 — Ферма 70 — Янова 67 Тождество Белла 200 — Добинского 202 Точка предельная 202 — регулярная 326, 327 Треугольник Паскаля 179 Укладка дерева 231 Умножение логическое 13 Уравнения канонические 88 Формула 14 — бинома Ньютона 180, 196 — Валлиса 209, 211 — включения-исключения 189, 194 — двойственная 24 — каноническая 108 — Клини 162 — , реализация функции 16 — Стирлинга 208 --, константа 211 — строение 15 Формулы обращения 191, 192 — эквивалентные 20 Функции равные 12 — , суперпозиция 16 — элементарные 13, 45 --, свойства 21, 46, 47 Функциональный элемент 336 Функция алгебры логики (бу- лева функция) 9, 10 — Вебба 50 — вычислимая 143 — двойственная 23 — детерминированная 75 ---, вес 83
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ 379 Функция детерминированная, задание 78 — линейная 33, 88 — монотонная 36 — не всюду определенная 96, 143 — нелинейная 38 — немонотонная 37 — несамодвойственная 35 — ограниченно - детерминиро- ванная (о.-д.) 86 — пеановская 162 — примитивно-рекурсивная 149 — производящая 198 •--экспоненциальная 200 — , разложение по всем п пере- менным 26 — , —по переменной 26 — , — по т-переменным 25 — рекурсивная 149 — самодвойственная 34 — симметрическая 366 ---относительно переменных 12 -------всех своих переменных 12, 13 >---------существенных пере- менных 13 —, сохраняющая константу 0 34 —, — константу 1 34 — , — множество 50 — ,--функций 53 — существенная 56 — тождественная 13 — характеристическая 45 — частичная 143 счетнозначной логики 143 — частично-рекурсивная 149 — Шеннона 350 — Шеффера 13, 65 ---, аналог 108, 170 Ф. Э. 336 Цепь 240 Цикл 223 — ориентированный 269 Цилиндр 89 Числа Белла 184, 187 ---, формула 193 — Стирлинга 2-го рода 184, 185, 187 -------, формула 192, 193 — Фибоначчи 198, 200 — Sm(n) 196, 197 Число булевых функций от п переменных 11 ------, существенно завися- щих от п переменных 190, 192 — неизбыточпых покрытий 194, 196 — неизоморфных графов 226, 227, 237 --- сетей 254 — о.-д функций 87 — перестановок 174 ---, порядок 208 — —, оценки 176 — подмножеств 173 — рабочее 366 — размещений 174 — соединений 347 — сочетаний 177 ---с повторениями 180 — схем из Ф. Э. 347 — точек в слое «мерного куба 179, 182, 183 — тупиковых покрытий 194, 196 — упорядоченных покрытий 195 — функций Л-значной логики от п переменных 44 — е 174 — л-сетей 254 Члены информационные 290 — контрольные 290 Шар 293 — , радиус 293 — , центр 293 Эквивалентность асимптотиче- ская 204, 355 — деревьев 83 — с точностью до порядка 205, 355 — -------абсолютных вели- чин 203 — формул 20 Элемент 336 — функциональный 336 Энтропия 236 Ядро 325 Язык операторный 121 Ярус 79 Ячейка ленты 115 ---начальная 117 ---пустая 119
УКАЗАТЕЛЬ ОБОЗНАЧЕНИЙ Е3— множество {0, 1} 9 Р2 — система всех функций алгебры логики 10 р2(п) —число функций на Р2, зависящих от п переменных 11 х — отрицание х 13 21&ха — конъюнкция ац и 13 ОД V х2 — ДИЗЪЮНКЦИЯ X] и х2 1 3 Ж]~»-2!2 — импликация xj и х2 13 Xi + а:2 — сложение по mod 2 13 .Ti/ia — функция Шеффера 13 St [Л.../,]—формула И построена из функций /ь ./а 15 Sl(xt, ..хп) — формула St содержит переменные (и не содержит других) 15 = f2, /в]—формула S имеет строение С 15 $1 == © — формулы St и S эквивалентны 20 /* — функция, двойственная функции / 23 St* — формула, двойственная формуле SI 24 25 У. а. , х. .., х. — полином Жегалкина 32 г± i6 (гj....,ij) [EQ] — замыкание множества EQ 33 L — класс всех линейных функций 33 То — класс всех функций, сохраняющих константу 0 33 Т\—класс всех функций, сохраняющих константу 1 34 S — класс всех самодвойственных функций 34 а — векторная запись набора 36 < — отношение предшествования 36 Л/ — класс всех монотонных функций 36 Ek — множество {0, 1, ..., k — 1) 43 Pk — система всех функций Л--значной логики 44 х — обобщение отрицания в смысле циклического сдвига зна- чений 45 ~ х — отрицание Лукашевича 45 li (х) — функция, обобщающая некоторые свойства отрица- ния 45 /i(x) — характеристическая функция значения I 45 min (a:h х2) — обобщение конъюнкции 45 . х 1^г (mod к) — второе' обобщение конъюнкции 45 max (xi, х2) — обобщение дизъюнкции 45 ач + .r2(mod А-) 45 /«. < (х) 49 Ул(ж(, х3) — функция Вебба 50 gf (xi* хр) ~~ Функция, равная xt 51 ,,,хр~ множество всех функций из ЕН, зависящих от пе- ременных хр 51
УКАЗАТЕЛЬ ОБОЗНАЧЕНИЙ 381 Л — пустое множество 52 |G| —число элементов множества G 57 «iVoi^2 — максимум па множестве {0, 1} X {О, 1} 62 — минимум на множестве {0, 1} X {О, 1} 62 ]а[ — наименьшее целое число, не меньшее а 66 С — операция суперпозиции 73 (Р%, С) — алгебра логики 73 (Рк, С) — /с-значная логика 73 ’ С)"'счетнозначная логика 73 К — расширенный натуральный ряд 73 (Р£, С)— континуумзначная логика 73 Е —множество всех k-значных последовательностей 73 Ч k ?с —множество всех функций, определенных на наборах с компонентами из Е^ ^и принимающих значения из Е^ 73 Рд.й — множество всех детерминированных функций изР 75 с> ft /ф — детерминированная функция, соответствующая функции Ф из Рк 77 — множество всех функций /ф, Ф g А 78 Родл — множество всех ограниченно-детерминированных функ- ций ИЗ Рд.А 86 р(к, п, г)—число о.-д. функций из Род,л, зависящих от п пе- ременных и имеющих вес г 87 , X — переменная, описывающая значение входной величины 8S Q — переменная, описывающая значение состояния 88 Z — переменная, описывающая значение выходной величины 88 О — операция введения обратной связи 94 х — о.-д. функция, сдвигающая входную последовательность на один разряд 94 (Род в, С, О) 105 (^ft, С) 106 (Родл, О 110 (Род.й, О) 110 Л — символ, обозначающий отсутствие информации 114 щАхз ... —головка в данный момент обозревает сим- вол Щ 118 Т* — программа, двойственная программе Т 119 pt — оператор проверки логических условий 122 —оператор проверки логических условий 122 » — специальный оператор 122 ы — специальный оператор 122 Ef — подмножество наборов, на котором определена функ- ция / 143 Р4К —множество всех частичных функций счетнозначной ло- гики 143 Рпыч — класс всех вычислимых функций 144 S(x) — функция, равная х + 1 145 (г , ..х^ —функция, равная хт 145 Пр — операция примитивной рекурсии 146 Д — операция минимизации 146
382 УКАЗАТЕЛЬ ОБОЗНАЧЕНИЙ Рчр — класс частично-рекурсивных функций 149 Рр — класс рекурсивных функций 149 Рпр — класс примитивно-рекурсивных функций 149 Sg (ж) 149 Sg (я) 149 [х/2] — целая часть я 149 2*— показательная функция 149 х; • х2 — умножение 149 ®i — х3 149 xi ~ 1 150 р(х) 162 ип(хь ,х„) 162 п(хь д-а) —пеановская функция 162 Х(х) 162 Д(х) 162 1(х) 163 г(х) 163 ©п 171 Г”—n-мерный куб размера к 172 (п)ь — число размещений из п элементов по к 174 (п А & I —• число сочетаний из п элементов по к 177 — число сочетаний с повторениями из п элементов по к 180 Ф(п, А)—число разбиении множества из п элементов на к непустых частей (число Стирлинга 2-го рода) 4,ЙЗ Ф(я)—число всех разбиений множестве, из п элементов на непустые части (число Белла) 183 рп — число функций из Р2, существенно зависящих от п пере- менных 190 5 (п) — число всех тупиковых покрытий множества из п эле- ментов 196 5m(n) 197 fn — числа Фибоначчи 198 /(х) ^O(g(x)) 202 f (х) „ g (х)— равенство абсолютных величин /(х) и g(x) с точностью до порядка 203 f(x) = o(g(x)) 203 f(x) ~ g(x) — /(х) эквивалентна (асимптотически равна) g(x) 204 / (х) (х) — /(х) не больше g(x) по порядку 204 /(х) 5^ g(x)—/(х) асимптотически не больше g(x) 204 f(x) X g(z) “/(®) равна g(x) по порядку 205 Ла.а. — путь, соединяющий вершины а< и aj 223 Y(ft) —максимальное число попарно неизоморфных графов без изолированных вершин с h ребрами 226 SDl (£?0; Ei, Ег, ...)—сеть с набором полюсов. £о 227 . <£> — множество объектов из набора Е 228 6(h) — максимальное число попарно неизоморфных деревьев с h ребрами 232 m — степень сети 233 (hi, hi, ,.hm) — степенная структура сети 233
УКАЗАТЕЛЬ ОБОЗНАЧЕНИЙ 383 и — средняя степень сети 233 S(e0, ль hm) —максимальное число попарно неизоморфных сетей без изолированных вершин, имеющих е0 полюсов и степен- ную структуру (hi . hm) 234 S(e0, т, h)—максимальное число попарно нензоморфных сетей без изолированных вершин, имеющих е0 полюсов, среднюю степень и, максимальную степень т и число наборов h 234 Г (а, Ь) — сеть из двухобъектньтх наборов с полюсами а и Ъ 237 (а, Ь) — параллельное соединение h ребер 243 (а, Ъ)— последовательное соединение Л ребер 244 п(h)— максимальное число попарно нензоморфных п-сетеЙ о h ребрами 254 1(A) — длина слова А 256 5(И) —множество всех непустых слов в алфавите Я 257 5е(®) — образ множества 5 (Я) при алфавитном кодирова- нии 260 L — длина слова By ... Вг, т. е. схемы 2 263 li — длина слова 263 ТУ 263 SN (Я) — множество всех непустых слов в алфавите Я, имею- щих длину, не превосходящую N 264 /ср — средняя длина слова 276 /ф —средняя длина слова для оптимального кода 277 280 Н] —множество наборов кода Хэмминга 291 р(Р', р") —расстояние между точками р' и ₽" в кубе 293 (₽°) — шар с центром в р° и радиусом р 293 VJ1 (р°) —сфера с центром в Р° и радиусом р 293 1(91)—индекс простоты, «сложность» д. н. ф. К 298 £е (91) — число букв переменных в ваписи д. н. ф. 91 298 Lh (91) — число элементарных конъюнкций в К 298 £0(9t) — число символов _ в записи д, н. ф. 91 299 Еп — «-мерный единичный куб 307 Л’к — множество, соответствующее конъюнкции К 308 Лгк — множество соответствующее конъюнкции К 308 9ТС — сокращенная д. н. ф. 313 Йкв — Д. п. ф. Кванна 326 81£г _ д. н. ф типа 326 “ окрестность порядка и максимальной грани /Удо 331 S/'г. .....х. : z- ’Г—схема нз Ф. Э. с выходами , ... < г1 *Т» J1 >р) г1 ....as и выходами z , 339 гП '1 ©— класс всех схем из Ф. Э. над F 344 ©о — подкласс всех схем из Ф. Э. над F с одним выходом в без ветвления выходов элементов 344 £(S) — число элементов в схеме S 346 S*(n, р, й) —число соединений с п входами, р выходами п h элементами 347 S0(n, р. h)—число минимальных схем пз Ф. Э. с п входами, р выходами ц /г элементами 347
384 УКАЗАТЕЛЬ ОБОЗНАЧЕНИЙ L(f) — сложность минимальной схемы для функции / 350 £(п) —функция Шеннона 350 1а(п) — функция Шеннона 350. I” — многополюсник, реализующий множество всех конъюнк- ций 353 Un — универсальный многополюсник для множества всех буле- вых функций от п переменных 358 ... (zi* хп)— симметрическая функция с рабочими числами z'i, ..1Т 367