Текст
                    УДК 519.95 @75.8)
ББК 518
Г 12
Гаврилов Г. П., Сапоженко А. А. Задачи и упражнения
по дискретной математике: Учеб. пособие. — 3-е изд., перераб. — М.:
ФИЗМАТЛИТ, 2005. - 416 с. - ISBN 5-9221-0477-2.
В пособие включены задачи и упражнения по конечнозначным логикам
(в том числе по алгебре логики), по теории автоматов, теории алгоритмов,
теории графов и сетей, теории кодирования, комбинаторике, минимизации
булевых функций и синтезу схем и формул, реализующих булевы функции.
Имеются задачи, предназначенные для первоначальной проработки и осво-
освоения методов дискретной математики, а также задачи для углубленного
изучения предмета.
Второе издание — 1992 г.
Для студентов и преподавателей университетов и технических вузов,
в которых изучается дискретная математика.
Табл. 41. Ил. 129. Библиогр. 37 назв.
Учебное издание
ГАВРИЛОВ Гарий Петрович
САПОЖЕНКО Александр Антонович
ЗАДАЧИ И УПРАЖНЕНИЯ
ПО ДИСКРЕТНОЙ МАТЕМАТИКЕ
Редактор Е.Ю. Ходан
Корректор Т. Ю. Вайсберг
Оригинал-макет Е.А. Королевой
Оформление переплета А.Ю. Алехиной
ЛР №071930 от 06.07.99. Подписано в печать 15.11.04. Формат 60x90/16.
Бумага офсетная. Печать офсетная. Усл. печ. л. 26. Уч.-изд. л. 28,6. Заказ №
Издательская фирма «Физико-математическая литература»
МАИК «Наука/Интерпериодика»
117997, Москва, ул. Профсоюзная, 90
E-mail: fizmat@maik.ru http://www.fml.ru
Отпечатано с диапозитивов
в ОАО «Чебоксарская типография № 1»
428019, г. Чебоксары, пр. И. Яковлева, 15
ISBN 5-9221-0477-2
9 785922 104777
ISBN 5-9221-0477-2
© ФИЗМАТЛИТ, 2004, 2005
© Г. П. Гаврилов, А. А. Сапоженко, 2004,
2005


ОГЛАВЛЕНИЕ Предисловие к третьему изданию 6 Предисловие ко второму изданию 7 Глава I Способы задания и простейшие свойства функций алгебры логики § 1. Функции алгебры логики и способы их задания. Операция супер- суперпозиции 9 1. Основные понятия и факты, связанные с булевым кубом и булевыми функциями (9). 2. Элементы булева куба. Первичные представления о булевых функциях A5). 3. Формулы. Реализация булевых функций формулами B3). 4. Двойственные функции. Прин- Принцип двойственности C1). 5. Фиктивные и существенные перемен- переменные. Отождествление переменных у булевых функций C3). § 2. Специальные представления булевых функций 39 1. Разложения булевых функций по переменным. Совершенные дизъюнктивная и конъюнктивная нормальные формы C9). 2. Дизъ- Дизъюнктивные и конъюнктивные нормальные формы D7). 3. Полиномы Жегалкина E2). Глава II Замкнутые классы и полнота систем функций алгебры логики § 1. Понятия функциональной замкнутости и полноты 60 § 2. Класс самодвойственных функций 64 § 3. Класс линейных функций 68 § 4. Классы функций, сохраняющих константы 72 § 5. Класс монотонных функций 75 § 6. Полнота и замкнутые классы 81 Глава III fe-значные логики § 1. Представление функций &-значных логик формулами 88 1. Элементарные функции &-значных логик и соотношения между ними (88). 2. Разложение функций /с-значных логик в первую и вторую формы (91).
Оглавление 2. Замкнутые классы и полнота в &-значных логиках 92 1. Некоторые замкнутые классы &-значных логик. Представление функций из Pk полиномами по модулю к (92). 2. Исследование систем функций &-значной логики на полноту (97). Глава IV Ограниченно-детерминированные функции 1. Отображения последовательностей 102 1. Основные понятия и факты, связанные с заданием детермини- детерминированных функций A02). 2. Типовые примеры A05). 3. Выявление свойства детерминированности функции. Эквивалентность детер- детерминированных функций. Остаточные функции A11). 4. Выявление свойства ограниченной детерминированности функции. Порожден- Порожденные и автономные функции. Строение классов эквивалентности. Мощности некоторых множеств отображений A19). 2. Диаграммы, таблицы, канонические уравнения, схемы 126 1. Диаграммы Мура, канонические таблицы и канонические уравнения A26). 2. Операции над детерминированными функ- функциями A45). 3. Реализация ограниченно-детерминированных функций схемами A59). 4. Замкнутые классы и полнота в мно- множествах детерминированных и ограниченно-детерминированных функций A71). Глава V Элементы теории алгоритмов 1. Машины Тьюринга и операции над ними. Функции, вычислимые на машинах Тьюринга 178 1. Простейшие свойства машин Тьюринга A78). 2. Операции над машинами Тьюринга A86). 3. Вычислимые функции A90). 2. Классы вычислимых и рекурсивных функций 195 1. Операции суперпозиции, примитивной рекурсии и минимиза- минимизации A95). 2. Некоторые специальные свойства рекурсивных функ- функций B01). Глава VI Графы и сети 1. Основные понятия теории графов 203 1. Простейшие свойства графов. Изоморфизм графов B03). 2. Ори- Ориентированные графы B10). 2. Планарность и раскраска графов 215 3. Деревья и сети 219 1. Корневые деревья B19). 2. Двухполюсные сети B23). Глава VII Элементы теории кодирования 1. Алфавитное кодирование. Критерий однозначности кодирования . 230 2. Коды с минимальной избыточностью 235
Оглавление § 3. Самокорректирующиеся коды 241 1. Расстояние Хэмминга, шары, сферы и циклы в n-мерном ку- кубе B41). 2. Коды, обнаруживающие и исправляющие ошиб- ошибки B44). § 4. Линейные коды 249 Глава VIII Элементы комбинаторики § 1. Перестановки и сочетания. Свойства биномиальных коэффи- коэффициентов 253 § 2. Формула включений и исключений 262 § 3. Возвратные последовательности, производящие функции, рекур- рекуррентные соотношения 265 § 4. Теория Пойа 273 § 5. Асимптотические оценки и неравенства 277 § 6. Оценки в теории графов и сетей 284 Глава IX Минимизация булевых функций § 1. Структура граней n-мерного куба. Покрытия и тесты для таблиц 290 § 2. Методы построения сокращенной д. н. ф 296 § 3. Методы построения тупиковых, минимальных и кратчайших д. н. ф 301 Глава X Реализация булевых функций схемами и формулами § 1. Схемы из функциональных элементов 306 § 2. Контактные схемы и формулы 312 Ответы, указания, решения 324 Список литературы 412 Предметный указатель 414
ПРЕДИСЛОВИЕ К ТРЕТЬЕМУ ИЗДАНИЮ Третье издание сборника задач выходит спустя четыре года после того как ушел из жизни Гарий Петрович Гаврилов. Со времени предыдущего издания прошло 11 лет. Необходимость переиздания ощущалась давно, поскольку сборник активно используется во мно- многих вузах для проведения упражнений по дискретной математике. Отличия этого издания от предыдущего незначительны. Исправлены опечатки и некоторые ошибки. Некоторым изменениям подверглись теоретические введения к главам. Существенных изменений не по- потребовалось, поскольку материал книги по-прежнему соответствует программе по дискретной математике для университетов России. Некоторые изменения назревают. Например, в главе, посвященной теории алгоритмов, следовало бы, видимо, поместить задачи по слож- сложности алгоритмов и сводимости. Это направление бурно развивается и находит все большие приложения. В комбинаторике и теории графов все более значительную роль находят вероятностные методы. Алгеб- Алгебраические методы теории кодирования находят все большее приме- применение в криптографии. Эти тенденции ощущаются и, по-видимому, скоро найдут свое отражение в вузовских программах и учебниках. Пользуясь случаем, выражаю признательность всем коллегам, активно использующим книгу в своей преподавательской и научной деятельности и высказавшим свои замечания и предложения, а также студентам и аспирантам, оказавшим помощь в подготовке нового издания. А. А. Сапоженко
ПРЕДИСЛОВИЕ КО ВТОРОМУ ИЗДАНИЮ Это пособие является существенной переработкой нашего «Сбор- «Сборника задач по дискретной математике», вышедшего в 1977г. В предлагаемой вниманию читателя книге значительно расширен набор задач тренировочного характера (упражнений) и задач среднего уровня трудности. Пособие предназначено в основном для студентов младших курсов университетов и технических вузов, но может быть полезно так- также студентам старших курсов и аспирантам, применяющим мето- методы и конструкции дискретной математики и желающим углубить свои знания в этой области. Преподаватели могут использовать его при подготовке упражнений для семинарских занятий. Основным теоретическим руководством по разделам дискретной математики, представленным в данном сборнике, является книга СВ. Яблонского «Введение в дискретную математику» (М.: Наука, 1986). Другие биб- библиографические источники, могущие оказаться полезными при работе над различными главами, указаны в списке литературы, помещенном в конце данного пособия. В сборнике десять глав. Первые пять глав посвящены алгебре ло- логики, /с-значным логикам, теории автоматов и теории алгоритмов. На материале этих глав читатель познакомится с такими важными по- понятиями дискретных функциональных систем, как булева и &-значная функции, дискретный преобразователь (автомат), вычислимая и ре- рекурсивная функции, функционально полная система, операции супер- суперпозиции, обратной связи, примитивной рекурсии и минимизации, а также составит достаточно четкое представление о различных спосо- способах задания дискретных функций (табличном, с помощью полиномов и нормальных форм, с помощью диаграмм, канонических уравнений и схем), об эквивалентных преобразованиях формул, эффективной вы- вычислимости и некоторых конкретных формах определения алгоритма (машинах Тьюринга и рекурсивных функциях). В главе VI содержатся задачи по теории графов, сетей и схем. Цель этой главы — познакомить читателя с языком и основополагающими понятиями и методами теории графов, широко применяемыми при описании и исследовании структурных свойств объектов в различных областях науки и техники. Приводятся задачи для закрепления основ- основных понятий теории графов, на выявление планарности и по раскраске графов, на подсчет объектов с заданной геометрической структурой
Предисловие ко второму изданию и т.п. Авторы надеются, что преподаватель найдет здесь и такие задачи, с помощью которых удастся обучить студента математически строгому доказательству геометрически «очевидных» утверждений. В главе VII представлены задачи о свойствах алфавитных кодов, кодов с минимальной избыточностью и самокорректирующихся кодов. Глава VIII посвящена комбинаторике. При изучении дискретной математики часто приходится сталкиваться с вопросами существо- существования, подсчета и оценки числа различных комбинаторных объек- объектов. Поэтому полезно бывает знать основные принципы и методы комбинаторного анализа. В главу VIII включен не только традици- традиционный комбинаторный материал (перестановки, сочетания, свойства биномиальных коэффициентов, принцип включения-исключения, воз- возвратные последовательности, рекуррентные соотношения, производя- производящие функции), но и современные разделы комбинаторной математики (теория Пойа, асимптотические оценки и неравенства). В главе IX затронуты вопросы, относящиеся к минимизации бу- булевых функций. Здесь представлены задачи о свойствах булева куба, характеризациях дизъюнктивных нормальных форм, алгоритмах на множествах д.н.ф. Глава X содержит задачи по реализации булевых функций схема- схемами из функциональных элементов, контактными схемами и форму- формулами. Для удобства читателя авторы сочли целесообразным поместить в каждом параграфе необходимые теоретические справки. Многие задачи снабжены ответами и указаниями. К сожалению, ограничен- ограниченный объем не позволил включить подготовленные нами подробные указания и решения задач среднего и высокого уровней трудности. По происхождению материал, включенный в задачник, весьма разнообразен. Есть и «фольклорные» задачи, есть задачи, возникшие при обработке журнальных статей, отдельные задачи заимствованы из других руководств. Основная часть задач придумана авторами при подготовке к семинарским занятиям и проведению экзаменов по дискретной математике, а также при написании данного пособия и ранее вышедшего сборника задач. При написании настоящего пособия мы пытались учесть все за- замечания, которые были высказаны нам коллегами и читателями, приславшими свои отзывы о содержании «Сборника задач по дискрет- дискретной математике». Всем им мы выражаем искреннюю благодарность. В заключение отметим, что работа над пособием распределялась следующим образом: главы I, III-V, а также §1,2 главы VI и ответы ко всем этим главам и параграфам написаны Г. П. Гавриловым, главы II, VII-X, а также § 3 главы VI и ответы к ним написаны А. А. Сапоженко. Г. П. Гаврилов, А. А. Сапоженко
Глава I СПОСОБЫ ЗАДАНИЯ И ПРОСТЕЙШИЕ СВОЙСТВА ФУНКЦИЙ АЛГЕБРЫ ЛОГИКИ § 1. Функции алгебры логики и способы их задания. Операция суперпозиции 1. Основные понятия и факты, связанные с булевым кубом и булевыми функциями. Набор (аь а2, ..., ап), где щ G {0, 1}, 1 ^ г ^ п, называется булевым или двоичным набором {вектором). Элементы набора часто называют компонентами или координа- координатами. Кратко набор (аь а2, ..., ап) обозначают через ап или а. Число п называется длиной набора ап. Весом (или нормой) на- набора ап (обозначение ||5П||) называют число его координат, рав- п ных 1, т.е. ||5П|| = ^2 аг- г=1 Множество всех двоичных наборов длины п образует п-мерный булев (или двоичный) куб, который называют также единичным п-мерным кубом и обычно обозначают Вп (а иногда Eg). Применяя геометрическую терминологию, наборы ап Е Вп называют верши- вершинами куба Вп. Множество всех вершин куба Вп, имеющих вес к, называется к-м слоем куба Вп (обозначение В7^). Каждому двоич- п ному набору ап можно сопоставить число v{an) = J^ щ • 2п~г — номер набора ап. Набор ап является двоичным разложением своего номера iy(an). Расстоянием (Хэмминга) между вершинами а и [3 куба Вп на- зывается число р(а, /3) = ^2 \аг ~ Ah оно Равн0 числу координат, в которых наборы а и /3 отличаются друг от друга. Расстояние Хэм- Хэмминга является метрикой, а куб Вп — метрическим пространством. Наборы а = («1, а2, • • •, осп) и /3 = (Д, /32, ..., (Зп) из Вп на- называются соседними, если р(а, [3) = 1, и противоположными, ес- если р(а, C) = п, т.е. соседние наборы различаются только в одной координате, а противоположные — во всех координатах. Говорят, что
10 Гл. I. Способы задания и свойства функций алгебры логики набор ап предшествует набору (Зп (или не больше набора (З71), и применяют обозначение ап 4 Рп, если щ ^ & для всех г = 1,..., п. Если ап =4 /Зп и ап ф (З71, то говорят, что набор ап строго пред- предшествует набору (Зп (или строго меньше, или меньше набора (З71), и используют обозначение а71 -< /Зп. Наборы ап и /Зп называются сравнимыми, если либо ап ^ /Зп, либо (Зп ^ 5П. В случае, когда ни одно из этих отношений не выполняется, наборы ап и (Зп называются несравнимыми. Говорят, что набор ап непосредственно предшест- предшествует набору /Зп, если ап -< /Зп и р(ап, /Зп) = 1. Отношение ^ (его часто называют отношением предшествования) является частным 1111 Ill 11 д /\ V 00 B2 >01 110 < 100< Уош 000 B3 > on »001 1110 110 0111 1000 0000 Рис. 1.1 порядком на множестве В71. На рис. 1.1 приведены диаграммы час- частично упорядоченных множеств В2, В3 и В4. Функция f{x\, ..., хп), определенная на множестве В71 = {0, 1}п и принимающая значения из множества {0, 1}, называется функ- функцией алгебры логики (а также булевой или булевской функцией). Набор символов переменных (х\, ..., хп) будет обозначаться так- также через х71 или ж, а множество тех же символов переменных — через X71. Множество всех булевых функций, зависящих от пере- переменных х\, ..., хп, будем обозначать через Р2(Хп). При этом обыч- обычно полагают, что п ^ 0. Нульместными булевыми функциями (т. е. соответствующими п = 0) являются константы 0 и 1. Булеву функцию fix71) при п ^ 1 можно задать таблицей T{f) (табл. 1.1), в которой наборы а = (а±, сг2, ..., 0"п-ъ &п) выписыва- Т аб лица 1.1 XI 0 0 0 1 Х2 0 0 0 1 Хп-1 0 0 1 1 хп 0 1 0 1 f(xUX2,...,X /@,0,..., /@,0,..., /@,0,..., /A,1,..., п-1,Хп) 0,0) 0,1) 1,0) 1,1) ются в порядке возрастания их номеров (сверху вниз). Имея в виду такое стандартное расположение наборов, булеву функцию fix71)
§ 1. Функции алгебры логики. Операция суперпозиции 11 удобно задавать вектором ее значений: а2 = (ао, «i, ..., a^-i), где координата щ равна значению функции f(xn) на наборе а, имеющем номер г (г = 0, 1, ..., 2П — 1). Символом Nf обозначают множество {ап \ (ап Е Вп) & (f(cfn) = = 1)}, т.е. множество всех наборов ап из Вп, на которых функ- функция f(xn) обращается в 1. Булева функция f(xn) при п ^ 2 может быть задана прямоуголь- прямоугольной таблицей Щ5П_/,(/) (табл. 1.2), в которой значение f((Ji, ..., (Jk, Таблица 1.2 Xl 0 0 cri 1 X2 0 .. 0 .. G2 1 xk 0 1 . ah 1 0 0 0 0 ... 0 ... 1 ... j &к + O~k + crn '(a) i ... 1 2 ... 1 1 Xk + 2 сг^_|_i, ..., an) функции f(xn) помещается на пересечении «стро- «строки» (cri, ..., Gk) и «столбца» (сг^_|_1, ..., crn), 1 ^ fc < п. Булевы функции, задаваемые табл. 1.3 и табл. 1.4, будут счи- считаться элементарными. Таблица 1.4 Таблица 1.3 X 0 1 0 0 0 1 1 1 /i 0 1 /2 1 0 0 0 1 1 Ж2 0 1 0 1 /з 0 0 0 1 /4 0 1 1 1 /5 0 1 1 0 /б 1 0 0 1 Л 1 1 0 1 /8 1 1 1 0 /9 1 0 0 0 Приведем обозначения и названия этих функций. 1. Функции 0 и 1 называются соответственно (тождественным) нулем и (тождественной) единицей. 2. Функция Д называется тождественной функцией и обозна- обозначается через х. 3. Функция /2 называется отрицанием ж, обозначается ж или 1 ж (читается «не ж»). 4. Функция /з называется конъюнкцией х\ и #2, обозначает- обозначается #i & Х2 или #1 • #2, или Ж1Ж25 или ппп(ж1,Ж2) (читается и ж2»).
12 Гл. I. Способы задания и свойства функций алгебры логики 5. Функция /4 называется дизъюнкцией х\ и Х2, обозначает- обозначается х\ V Х2 или х\ + #2, или max(xi,X2) (читается «xi ИЛИ Ж2»). 6. Функция /5 называется суммой по модулю 2 #i гг Ж2, обознача- обозначается х\ 0 Ж2 или xi + Х2 (читается «xi плюс #2»). 7. Функция /б называется эквиваленцией (или эквивалент- эквивалентностью) х\ и Х2-, обозначается #i ~ Ж2 или х\ = Ж2, или xi «->¦ #2 (читается «xi эквивалентно #2»). 8. Функция /7 называется импликацией х\ и Х2-> обозначает- обозначается х\ —>¦ Ж2 или #i Э Ж2 (читается «xi имплицирует Ж2» или «из xi следует #2»). 9. Функция /g называется штрихом Шеффера х\ и Х2, обознача- обозначается х\ | Х2 (читается «не х\ или не Ж2» или «жх и Х2 не совместны»). В технической литературе функция х\ \ Х2 называется обычно анти- антиконъюнкцией или «ке - г/». 10. Функция /д называется стрелкой Пирса х\ и Х2, обозначает- обозначается х\ 4- ^2 (читается «ни жх, ни Ж2» или «не х\ и не Ж2»). В технической литературе функция х\ \, Х2 обычно называется антидизъюнкцией или «ке - илиэ> (а также функцией Даггера и функцией Вебба). Функции 0 и 1 иногда рассматриваются как нульместные, т. е. зависящие от пустого множества переменных. Символы 1, &, V, 0, ~ и т.д., участвующие в обозначениях элементарных функций, называются логическими связками (или просто связками). Зафиксируем некоторый алфавит переменных X (конечный или счетно-бесконечный). Пусть Ф = {Д , /2 2 , • • • } — множество функциональных символов, где верхние индексы указывают «мест- «местность» (арность) символов. Иногда верхние индексы опускаются, но при этом арности предполагаются известными. Определение 1. Формулой над множеством Ф называется всякое (и только такое) выражение вида: 1) fk и fj(xh, xi2, ..., xin), где fk — нульместный, a fj — n-местный (n ^ 1) функциональные символы и ж^,^,..., Xin — переменные из множества X; 2) /mBli? 21г? • • • ? %s), где fm — s-местный (s ^ 1) функциональ- функциональный символ и 21г — либо формула над Ф, либо переменная из X. Для подчеркивания того факта, что в формуле 21 используются только переменные из X (не обязательно все) или только функ- функциональные символы из Ф (тоже не обязательно все), будем писать соответственно ЩХ) и 21[Ф]. Иногда формулу вида /(ж, у) записывают либо как (xfy), либо как xfy, а формулу f(x) — как (fx) или fx. При этом символы / называют связками. В алгебре логики обычно в качестве связок употребляют символы из множества 6 = {1, &, V, 0, ~, ->•, |, \]. Определение 2. Формулой над в называется всякое (и только такое) выражение вида: 1) х — любая переменная из множества X;
§ 1. Функции алгебры логики. Операция суперпозиции 13 2) A21), B1&03), B1V03), B1003), B1-03), B1^03), B1 | 03), B1.J, 03), где 21 и 03 — формулы над в. Замечание. Аналогично определяется понятие формулы над любым непустым подмножеством ©i множества в; п. 1) из определе- определения 2 надо оставить неизменным, а п. 2) видоизменить естественным образом: берутся только связки из ©i, и формулы 21 и 03 должны быть формулами над ©i. Обычно принимаются следующие соглашения для сокращения за- записи формул над множеством связок в: а) внешние скобки у формул опускаются; б) формула A 21) записывается в виде 21; в) формула B1&03) записывается в виде B1 • 03) или B103); г) считается, что связка 1 сильнее любой двухместной связки из множества в; д) связка & считается сильнее, чем любая другая двухместная связка из множества в. Эти соглашения позволяют, например, записать формулу (((A ж) 0 0 y)kz) -»• ((ж&A у)) V z)) в виде (х 0 y)z -»• (ху V z). Употребляется также «смешанная» запись формул, например, ) ИЛИ Xif(x2, 0, Х3) VX2f(xi, X2, 1). Пусть каждому функциональному символу /} из множест- множества Ф = {Д , /2 ? •••} сопоставлена некоторая функция Ff: Bni —> —>- В = {0, 1}. Понятие функции (р%, реализуемой формулой 21 над множеством Ф, определяется (как и понятие формулы) по ин- индукции: 1) если 21 = fi\xj1J Xj2J ..., Xjn.), то для всякого набора (ai, «2, ..., О1щ) значений переменных Xjt, ж j2, ..., Xjn. значение функ- функции (р% равно Fi(ai, «2, ..., ot.ni); 2) если 21 = 21B/1, ..., 2/л) = /(Sli, ^2, • • •, Slm), где / G Ф и 21/ — либо формула над Ф, либо переменная из X, то у?а(^1? •••? ak) — = F(Pi, /З2, ..., /3m), где F — функция, сопоставленная функциональ- функциональному символу /, и /Зр — значение функции у?21р (р — 1, 2, ..., ?тг), причем I a9, если 2lp = 2/g, |^2ip(«pi, • • -, аРв), если Slp = SlpB/Pl, ..., 2/Рв) (здесь s зависит, естественно, от р). Если 21 = fi)(xj1, Xj2, ..., Xjn.), то функция у?$Дэ реализуемая формулой 21, обычно обозначается через Fi(xj1, Xj2, ..., Xjn). Если же 21 = /Bli, 2I2, ... ,2lm), то y?gi обозначается через F{ip^ B/11, I/IO, .... I/I 4i ), Q?9(o (^91 , ?/99, • • • , l/9co), • • • , Ф91 (Vmi , Urn?-, - - - -, Утя ))\
14 Гл. I. Способы задания и свойства функций алгебры логики здесь F — функция, сопоставленная функциональному символу /, а <ра* (уи, 2/й, • • •, Visi) — функция, реализуемая формулой 31* (г = = 1, 2, ...,т). Понятие функции (р%, реализуемой формулой 21 каб? множеством связок в, вводится (также по индукции) следующим образом: 1) формуле 21 = ж, где х Е X, сопоставляется тождественная функция <р$д(ж) = ж; 2) если 21= A03) или 81 = @5 о С), где о g {&, V, 0, ~, ->>, |, |}, то соответственно (р% = ^, и у?$д — <Р<8 ° <Ре (здесь символ о надо понимать уже как обозначение для соответствующей элементарной булевой функции; см. табл. 1.3 и табл. 1.4). Пусть 21 = 21(ж^, ..., xih), 03 = Щх^, ..., Xjj) и {жьж2, ... ..., хп} — множество тех переменных, которые встречаются хотя бы в одной из формул 21 и 03, т.е. {^i, Х2, • • •, хп} = {xi±J ..., Xik}U U {xj±j ..., Xjt}. Формулы 21 и 03 называются эквивалентными (обозначение: 21 = 03 или 21 = 03), если на всяком наборе (ai, «2, ... ..., ап) значений переменных xi, X2, • • •, хп значения функций (р% и (ftQ, реализуемых соответственно формулами 21 и 03, совпадают, т.е. <ра (а^, ..., aifc) = ^ш(«л, •••, «jj. Пусть Ф — множество функциональных символов или логических связок, а Р — множество соответствующих им функций. Суперпо- Суперпозицией над множеством Р называется всякая функция F, которую можно реализовать формулой над множеством Ф. Пусть 2l = 2l[/1(ni),...,/ins)] и <B = <B\g[n*\...,gin-)]. Гово- рят, что формулы 21 и 03 имеют одинаковое строение, если фор- формула 21 может быть получена из формулы 03 путем замены каж- , (га») Лгы) дого вхождения функционального символа д\ на символ ц {г = 1, ..., s). Строение формулы отражает индуктивный процесс ее порождения в соответствии с определением формулы (см. опреде- определения 1 и 2). Строение формулы можно естественным образом характеризовать диаграммой (специальным графом, являющимся обычно ориентиро- ориентированным графом), вершинам которой приписаны функциональные сим- символы (или логические связки) и символы переменных. Например, если формулы ? = #B)(ж, ж), 2) = /B)(</?B)((жУ?/)е/), 2/ рассматриваются над некоторым множеством Ф, содержащим логи- логические связки & , V, 0 и функциональные символы f^2\ g^2\ h^\ (рB) и т/Д°) (и, возможно, что-то еще), то их строение описывается диаграммами, изображенными на рис. 1.2.
§ 1. Функции алгебры логики. Операция суперпозиции 15 B) Ф @) ч> Рис. 1.2 Если нужно обратить внимание именно на строение формулы 21 = = 2l[/i, ..., Л], то используют запись 21 = С[/ь ..., fs]. 2. Элементы булева куба. Первичные представления о булевых функциях. Пример 1. Найти номер двоичного набора 5= A...10 1...1 0...0), т ^ 1. га раз га раз m раз Решение. Длина данного набора равна Зт + 1, а его г-я ком- компонента равна 1 при г = 1, ..., т, т + 2, ..., 2т + 1 и равна 0 в противном случае. Следовательно, Зт+1 2га+1 1/E) = j=ra+2 = 22т+1Bт - 1) + 2тBт - 1) = 2тB2т+1 - 2т - 1). Пример 2. Найти двоичный набор, являющийся разложением числа 325 (первая слева цифра в наборе должна быть равна 1). п Решение. Так как v(a) = ^2 аг ' 2п~г, то для нахождения ком- ~ i=1 ~ понент набора 5, имеющего номер ^(S), можно применить процедуру «последовательного деления с остатком на число 2»: а) делим г/(а) на 2, остаток есть an, a частное q\ — ol\ • 2п~2 + ... ... + ап-2 • 2 + an_i; б) частное g'l делим на 2, остаток равен an_i, частное ^2 = = ai • 2П~3 + ... + an-2 делим на 2, остаток равен an_2 и т.д.
16 Гл. I. Способы задания и свойства функций алгебры логики до тех пор, пока на некотором ((п — 1)-м) шаге не получим част- частное qn-i =«i и остаток а2. В нашем случае v{a) = 325. Используем описанную процедуру: 1) делим 325 на 2, находим частное q\ и остаток ап; q\ — 162, ап = 1; 2) делим 162 на 2, частное равно 81, в остатке 0, т.е. an-i = О, 42 = 81; 3) делим 81 на 2, q3 = 40, ап-2 = 1; 4) делим 40 на 2, д4 = 20, ап-з = 0; 5) делим 20 на 2, q5 = 10, ап_4 = 0; 6) делим 10 на 2, q6 = 5, ап-5 = 0; 7) делим 5 на 2, q7 = 2, ап_6 = 1; 8) делим 2 на 2, частное равно 1, в остатке 0, т.е. ап_7 = 0 и ап_8 = «1 = 1. Следовательно, п = 9 и а = A, 0, 1, 0, 0, 0, 1, 0, 1). п Замечание. Из формулы и(а) = J^ а^ • 2п~г видно, что для получения координаты oil набора а можно поступать следующим образом: а) используя неравенство 2п~1 ^ vE) < 2П, находим п; б) делим iy(a) на 2п~г+1 и получаем остаток n — OLi- 2п~г + + ai+i • 2n-i-1 + ... + an-i ' 2 + an; в) делим г/(а) на 2п~1 и получаем остаток r^+i = c^+i • 2п~г~1 + ... ... + an-i • 2 + ап] г) вычисляем разность Г{ — Г{+\ и делим ее на 2П~\ Полученное частное и есть значение координаты а^. Например, если г/E) = 325 и нужно найти «з (см- пример 2), то имеем: а) 2П~1 ^ 325 < 2П, значит, п = 9, так как 28 = 256 < 325 < 29 = = 512; б) делим 325 на 29~3+1 = 27 = 128, получаем остаток, равный 69; в) делим 325 на 29~3 = 26 = 64 и получаем в остатке 5; г) Г2 — гз = 64, и поэтому аз = 64/64 = 1. Пример 3. Найти двоичный набор длины т, являющийся разло- разложением числа 2т~1 - 2 (ш ^ 3). Решение. Представим число 2т~1 —2 в виде суммы степеней двойки: 2m-i _ 2 = 2 Bm-2 - 1) = 2 Bm~3 + 2m-4 + ... + 2 + 1) = = 2m-2 + 2m~3 + ... + 22 + 2. Значит, соответствующий числу 2т~1 — 2 двоичный набор длины т таков: @1 ... 10). га — 2 раз Пример 4. На множестве наборов Л = {@01 ... 1), A01 ... 10), A0 ... 011), @10 ... 01), @01 ... 10), п—2 раз п—3 раз п—3 раз п—3 раз п—3 раз
§ 1. Функции алгебры логики. Операция суперпозиции 17 где п ^ 3, указать естественный частичный порядок ^ и выяснить, имеются ли в этом множестве соседние и противоположные наборы. Решение. Решая данную задачу, удобно просматривать наборы в порядке возрастания (или убывания) их весов, т.е. начинать с наборов меньшего (или большего) веса и переходить последовательно к наборам с большим (соответственно с меньшим) весом. Сначала рассмотрим случай п = 3. Множество А состоит из сле- следующих наборов: @01), A00), A11), @11), @00). Очевидно, что @00) ^ @01) ^ @11) ^ A11) и @00) ^ A00) ^ A11). Соседними являются наборы @00) и @01), @00) и A00), @01) и @11), @11) и A11). Пары противоположных наборов таковы: @00) и A11), A00) и @11). Пусть теперь п = 4. Тогда множество А выглядит так: {(ООН), A010), A011), @101), @010)}. Имеем @010) ^ (ООП) ^ A011) и @010) ^ A010); набор @101) не сравним ни с одним из остальных наборов. Соседними являются наборы @010) и (ООП), @010) и A010), @011) и A011). Противоположных наборов только два: @101) и A010). Предположим, что п ^ 5. Тогда Л = {@011Ь^Л), (ЮП^ЛО), A00_^ЛШ), @100_^ДП), (ООП^ЛО)}, I раз I раз I раз I раз I раз где / = п — 4 ^ 1. Обозначим эти наборы (в соответствии с порядком, в котором они выписаны выше) через Si, «2, 5з, 54 и а$. Возьмем набор «4 = @100... 01) (его вес равен 2) и посмотрим, сравним ли I раз он с каким-либо другим набором. Так как у всех остальных наборов вторые компоненты нулевые, а веса не меньше 2, то они не мо- могут быть сравнимы с набором а^. Затем переходим к набору 5з — сравниваем его с наборами Si, ot2 и S5. Нетрудно заметить, что начальные отрезки длины 3 наборов 5i и 5з, а также наборов а$ и 5з не сравнимы. Значит, набор 5з не сравним ни с Si, ни с а$. Далее, рассматривая третьи и последние компоненты наборов а.2 и 5з, видим, что эти наборы тоже не сравнимы. Берем теперь на- набор Si и сравниваем его с наборами а.2 и а$. Очевидно, что а$ ^ 5i, но 5i иЙ2 — несравнимые наборы (достаточно обратить внимание на первые и последние компоненты этих двух наборов). Наконец, легко видеть, что 5б ^52- Итак, имеем а§ =^ Si и а§ =^ S2. Соседними являются наборы 5i и 5s, а также а.2 и Й5. Противоположных набо- наборов ДВа: OL2 VL0L4,. Пример 5. Найти формулу для числа наборов ап из Вп, удов- удовлетворяющих условию рEп, /Зп) = [(п + 1)/2] и р(ап, 7n) ^ [п/2], где (Зп и 7П — фиксированные наборы и p(/3n, jn) = [п/2] + 1. Решение. Не ограничивая общности рассуждений, можно счи- считать, что /Зп = 0п и 7П = A ••• 10.. .0). Пусть ап — такой набор, [п/2] + 1раз что рEп,0п) = [(га + 1)/2] и р(ап, jn) ^ [п/2]. Предположим, что 2 Г. П. Гаврилов, А. А. Сапоженко
18 Гл. I. Способы задания и свойства функций алгебры логики среди первых его [п/2] + 1 компонент ровно j единичных (j ^ 1). Тогда из остальных п — [п/2] — 1 компонент единичными будут [{п + 1)/2] — j штук. Следовательно, при фиксированном j набор ап . /[n/2] + l\ fn-[n/2]-l\ можно выбрать . • г/ \[ Л . способами, но при этом \ J J \[{n + l)/2\jJ должно выполняться условие р(ап, jn) = [п/2] + 1 - j + [(п + 1)/2] - - j^[n/2], т.е. 2j^[(n + l)/2] + l. Таким образом, искомое число наборов равно (n + l)/2]-jJ- В частности, при п = 1 имеем J^ ( .) • ( .) = 1 (если /З1 = О1, то 71 = 11 и 51 =71M а при п = 2 получаем J^ (•)'(i_)=2 (если /З2 = О2, то 72 = I2 и 52 = @1) и A0)). Здесь полагаем, как обычно, ( q J =1. Пример 6. Найти число функций, зависящих от перемен- переменных Ж1,Ж2, ..., жп (т.е. принадлежащих множеству Р2(Хп)) и удов- удовлетворяющих условию: функция f(xn) равна 0 на каждом наборе 5П, вес которого не превосходит п/2, а на всех остальных наборах значе- значения функции произвольные (п ^ 1). Решение. Число наборов (из 5П), на которых значения функ- функции / зафиксированы, равно {2п~1 если п нечетное, 2 + ( ,Л, если п четное. 2\п/2)' На каждом из остальных наборов значение функции / можно задавать произвольно (полагая его равным 0 или 1). Следовательно, число различных функций, удовлетворяющих сформулированному вы- выше условию, равно 22™ при п нечетном и 22 ~2U/2) ПрИ учетном. Пример 7. Найти число функций в Р2(Хп), удовлетворяющих условию: существует пара противоположных наборов, на которых функция / обращается в 1 (для разных функций / такие пары наборов могут не совпадать). Решение. При решении данной задачи проще поступить сле- следующим образом: подсчитать число функций в Р2(Хп), не удовлетво- удовлетворяющих сформулированному условию, а затем вычесть полученное число из \Р2(^п)| — 2 . Функция f(xn) не удовлетворяет указанно- указанному выше условию, если, какова бы ни была пара противоположных наборов, функция f(xn) на них либо принимает разные значения, либо обращается в 0. Причем в том случае, когда соответствующие значения разные, надо различать две возможности (для каждой пары {2, 2п-1 + -( п,Л, 2\п/2)'
§ 1. Функции алгебры логики. Операция суперпозиции 19 противоположных наборов); например, если а и [5 — пара проти- противоположных наборов, то либо /E) = 0, a f(/3) = 1, либо /E) = 1, a f(/3) = 0. Таким образом, каждой паре противоположных наборов соответствуют три допустимые возможности. Остается заметить, что существует 2п/2 = 2п~1 пар противоположных наборов длины п, и тогда получаем: число функций в Р2(Хп), не удовлетворяющих описанному выше условию, равно З2™ . Следовательно, искомое число функций есть 22 — З2 . (Например, при п = 1 имеем 22 — З2 =1, а при п = 2 получаем 22 — З2 = 16 — 9 = 7.) Пример 8. По каналу связи могут передаваться три сообще- сообщения: А, В и С. Известно, что к данному моменту времени осуществи- осуществилось каждое из следующих событий: 1) передано не более чем одно из сообщений А и В; 2) сообщение А могло быть передано в том и только том случае, если были переданы оба сообщения В и С; 3) передано хотя бы одно из сообщений А и С. Вытекает ли отсюда, что сообщение В не передавалось, а сообще- сообщение С было передано? Решение. Сопоставим сообщениям Л, В и С булевы перемен- переменные х, у и z соответственно. Считаем, что ж = 1 (аналогично у = 1 и z = 1) в том и только том случае, если сообщение А (соответст- (соответственно сообщение В и сообщение С) было передано по каналу связи. Событиям 1), 2) и 3) отвечают следующие булевы функции: Псу, х ~ yz и х V z (это надо понимать так: второе событие, напри- например, осуществляется тогда и только тогда, когда х ~ yz = 1). Буле- Булева функция /(ж, у, z), соответствующая всем трем событиям, имеет вид ~ху • (ж ~ yz) • (ж V z). Преобразуем это выражение: /(ж, y,z) = (xVy)-(x-yzVx-yz)-(xVz) = = (x-yzVx-y-yz) • (ж V z) =x- (yzVy- (yVz)) • z = = 'x-(y\/~z)-z='x-y-z. Отсюда следует, что /(ж, у, z) = 1 тогда и только тогда, когда ж = 0, у = 0 и z = 1, т.е. когда сообщения А и В не передавались, а сообщение С было передано. Таким образом, на вопрос, постав- поставленный в задаче, ответ утвердительный. Последний шаг в реше- решении данной задачи можно расписать подробнее: для выяснения того, вытекает ли событие, указанное в вопросе задачи, из осуществи- осуществимости событий 1), 2) и 3), надо посмотреть, выполняется ли эквива- эквивалентность /(ж, у, z) —>y-z = l (функция у • z соответствует собы- событию «сообщение В не передавалось, а сообщение С было передано»). Имеем x-y-z^ry-z — x-y-zMy-z — xMy-zMy-z — х\1\ — \, т. е. действительно /(ж, у, z) —у у • z = 1. Замечание. Преобразовывая выражения, задающие булевы функции, мы использовали основные эквивалентности алгебры логики (см. п. 3 после задачи 1.20). 2*
20 Гл. I. Способы задания и свойства функций алгебры логики 1.1. Найти номера следующих двоичных наборов: 1) A011); 2) A1001); 3) A1001101); 4) @10111101); 5) A0...01), т ^ 1; га раз 6) Q^_l 0_^_0), т ^ 1; 7) A0_^_0 1^_10_^_01), m ^ 1. га раз 2т раз т раз га раз т раз 1.2. Найти двоичный набор длины /, являющийся разложением числа п: 1) / = 5, п = 28; 2) / = 8, п = 231; 3) I = т + 1, п = 2т + 1 (т ^ 1); 4) / = т, п = 3 • 2т~2 - 1 (т ^ 2). 1.3. На множестве наборов А из 5П указать естественный час- частичный порядок ^. Выяснить, есть ли в множестве А соседние и противоположные наборы, и, если они имеются, выписать их: 1) Л = {@0111), @1011), @0110), A0110), A1010), @1010), A1100), (ПОП)}; 2) Л = {@10101), A10011), A01101), @10111), A10111), A01010), A00010)}; 3) А = {A0_^_01), A10_^_0), A10_^_01), @1^_1), @_^_ п—2 раз п—2 раз п—3 раз п—1 раз п—2 раз п—3 раз 4) Л = {A0 ... 01 ... 1), A0 ... 0 1 ... 101), т — 1 раз п—т раз т — 2 раз п—т — 1 раз A0 .;. 0 1 .;. 1), @1 .;. 10 .;. 011), т раз п—?тг —1 раз п—т — 1 раз га — 2 раз @10 .... 0 1 .... 1), @1 .;. 10 .;. 0J}, п > т +1 ^ 3. т раз п—га — 2 раз п—т раз га — 1 раз 1.4. Найти: 1) число \В%\ наборов ап веса к (п ^ 1, n ^ fc ^ 0); 2) число наборов 5П из 5П, удовлетворяющих условию 2п~1 ^ ^ v(an) <2п (п ^ 1); 3) число упорядоченных пар соседних наборов в Вп (п ^ 1); 4) число упорядоченных пар EП, Eп) наборов из Вп таких, что p{anjn) = k (n^k^l); 5) число наборов ап из Вп, удовлетворяющих условию /Зп ^ ап ^ ^ 7П5 гДе /?п и 7П — Два фиксированных набора и р((Зп,^п)=к 6) число наборов 5П из Вп таких, что р(ап, /Зп) + р(ап, jn) ф Ф р(/Зп, 7П)> где/Зп и 7П—два фиксированных набора и р(/Зп, 7П) = ' (n ^ I ^ 1);
§ 1. Функции алгебры логики. Операция суперпозиции 21 7) число наборов а2ш = (ai, ..., «2m) из В2ш, удовлетворяющих условию: —— ^ ^2 аг ^ для каждого / = 1,2,..., 2т (т ^ 1); i=l _ 2 8) число наборов an в В%, у которых между любыми единичны- единичными компонентами находится не менее г нулевых компонент @ ^ г ^ ^ п-2, 2^к^п). 1.5. Показать, что: 1) два различных набора в Вп, имеющих одинаковый вес, несрав- несравнимы (п ^ 2); 2) в Вп существует только два сравнимых противоположных на- набора (га ^ 1); 3) в Вп существует множество, состоящее из ( Г( . . , ) попарно \\\п — Ij/zjy несравнимых наборов, не сравнимых с набором A0... 0) (п ^ 2); 4) всякое подмножество в Вп, содержащее не менее п + 2 наборов, содержит пару несравнимых наборов (n ^ 2); 5) число наборов в Вп, не сравнимых с фиксированным набо- набором 5П, имеющим вес к, равно 2П - 2п~к — 2* + 1 (п^1и п ^ 6) если 5П и /Зп — два несравнимых набора из Вп (n ^ 2), имею- имеющих / общих единичных компонент G ^ 0), и ||5n|| = r, ||/3n|| = s, то число наборов, которые не сравнимы ни с одним из наборов ап и /Зп, равно 2n + 2n+/-r~s + 2х + 2 - 2П~Г - 2n~s - 2r - 2s (в частности, ес- если наборы ап и (Зп противоположные, то имеем 2п — 2n~r+1 — 2r+1 +4 наборов). 1.6. Найти число функций в Р2(Хп) (т.е. функций, зависящих от переменных xi, X2, ..., хп), удовлетворяющих условию: 1) на данных / наборах значения функции фиксированы, а на ос- остальных произвольные A ^ / ^ 2П — 1, п^1); 2) функция f(xn) равна 1 на всяком наборе 5П, вес которого удовлетворяет неравенствам (п — 1)/2 ^ ||5n|| ^ п/2, а на остальных наборах значения функции произвольные (п ^ 2); 3) на противоположных наборах функция принимает одинаковые значения (п ^ 1); 4) на каждой паре соседних наборов функция принимает противо- противоположные значения (п ^ 1); 5) функция равна 0 не менее чем на половине наборов (п ^ 1); 6) функция f(xn) совпадает с функцией, получаемой из нее при перестановке переменных х\ и Х2 (п ^ 2); 7) функция f(xn) симметрическая, т.е. f(xi,X2...,xn) = = f(xi1, Xi2 ..., Xin) при любой подстановке ( . . " ' . ), п ^ 1; 8) если функция обращается в 1 на некотором наборе веса к @^/с^п — 1), то она равна 1 и на всяком наборе большего веса (п ^ 1).
22 Гл. I. Способы задания и свойства функций алгебры логики 1.7. 1) Булева функция fix3) определяется так. Она равна 1 только в тех случаях, когда х\ — \ либо когда выполняется следу- следующее условие: переменные ж 2 и жз принимают разные значения, а значение переменной х\ меньше значения переменной жз; в остальных случаях функция обращается в 0. Построить таблицы Т(/) и Iii^(f) функции fix3) и выписать наборы множества Nf. 2) Булева функция /(ж4) задается следующим образом: она рав- равна 0 только на таких наборах а = (ai, аг, «з5 щ)? для которых спра- справедливо неравенство 2ai + «2 > «з + 2^4; на остальных наборах она обращается в 1. Построить таблицы Т(/) и П2,2(/) этой функции и выписать наборы множества i\fy. 3) Пусть наборы (ж1, жг) и (жз, Ж4) задают двоичные разложения чисел У\ и г/2 соответственно. Обозначим через /^(ж4) г-й разряд двоичного разложения (/2, Д) числа |i/i — 1/21? г = 1, 2. Построить прямоугольные таблицы П2,2 функций Д(ж4) и /2(ж4). 4) На аварийном пульте системы расположены четыре сигналь- сигнальные лампочки: Li, L2, L3, L4. Система выключается только в том случае, когда выполняется хотя бы одно из следующих условий: а) загорелась лампочка Li, но не загорелась лампочка L2; б) заго- загорелись лампочки L2 и L3, но не горит лампочка L4; в) загорелась лампочка L± и не горит лампочка L\. Построить таблицу Т(/) буле- булевой функции /(ж4), характеризующей условия выключения системы, т.е. /(ж4) = 1 тогда и только тогда, когда справедливо хотя бы одно из условий а), б), в); при этом предполагается, что xi = 1, если лампочка Li горит, и Х{ = 0 , если лампочка Li не горит. 5) Для оценки гипотез Н\ и Нъ проводятся пять разнотипных экс- экспериментов: Ai, A2, ^-з, А4, А5. Каждый эксперимент упорядочивает гипотезы по предпочтению относительно некоторого признака. Гипо- Гипотеза Hi принимается только в следующих случаях: а) в большинстве экспериментов предпочтение отдавалось Hi; б) в экспериментах Ai и Л2 предпочтение отдавалось гипотезе i?2, но в эксперименте А± предпочтение отдано гипотезе Hi. Гипотеза i?2 принимается в слу- случаях, когда: в) в экспериментах А2 и А$ предпочтение отдавалось ей, а в экспериментах AiviA^ — гипотезе Hi; г) в экспериментах Ai и А§ предпочтение отдавалось гипотезе Я2,ав экспериментах А% и А± — гипотезе Hi. Полагаем Xj =0, если эксперимент Aj «поддерживает» гипотезу Hi, и Xj = 1, если в эксперименте Aj предпочтение отдано гипотезе Н2 (j = 1, ..., 5). Записать в виде булевых функций /нг (ж5) и Fh2(x^) условия принятия гипотез Hi и Н2 (/я»B5) = 1) тогда и только тогда, когда по набору 55 принимается гипотеза Щ (г = 1, 2). Выяснить, возможна ли такая ситуация, когда окажутся принятыми обе гипотезы. 6) Четырем членам Bi, B2, #3, ^4 некоторой комиссии сформули- сформулированы следующие условия посещения заседаний (хотя бы одно из них они должны выполнить): а) в заседании не участвует ни Bi, ни В2, но должен быть В^; б) в заседании принимают участие В2 и В±, но отсутствует В^; в) на заседании должны присутствовать Bi и В±.
§ 1. Функции алгебры логики. Операция суперпозиции 23 Выяснить, обязан ли присутствовать на заседании комиссии член ??з, если в нем не участвует В2. 7) Проект принимается, если большинство из шести экспер- экспертов Ci, ..., Cq высказалось в его пользу. Кроме того, проект все же принимается, если указанное условие не выполнено, но за принятие проекта высказались: а) либо эксперты Gi, С2, С3; б) либо экспер- эксперты С2, C4, Gб; в) либо эксперты Gi, С5, Cq. Записать в виде буле- булевой функции f(x6) условие принятия проекта, считая, что xi = 1 в том случае, когда г-й эксперт высказывается за принятие проекта, и х\ = 0 в противном случае. Выяснить, будет ли обязательно принят проект, если известно, что за его принятие высказались ровно трое из экспертов Gi, Gз, С± и Gб, а кто-то один из экспертов G2 и С§ высказался против. 3. Формулы. Реализация булевых функций формулами. Пример 9. Доказать, что выражения 211 = 1 х) —> l(ly&cz и 21.2 = (х V A у)) —У (х&с 1 у) не являются формулами над множест- множеством логических связок {1, & , V, —>}, но что, добавляя скобки, каждое из этих выражений можно превратить в формулу над указанным множеством связок. Решение. Для доказательства того, что некоторое выражение 21 не является формулой над каким-то фиксированным множеством Ф (функциональных символов и/или логических связок), достаточно выявить какое-либо свойство, присущее каждой формуле над задан- заданным множеством Ф, но которым не обладает выражение 21. Утвержде- Утверждение о том, что любая формула над множеством Ф обладает выявлен- выявленным свойством, обосновывается обычно по индукции — по «сложнос- «сложности» формул (например, по числу связок или по числу функциональных символов, входящих в формулы). В выражении 211 = 1 х) —> 1A у Szz нарушено несколько свойств, присущих формулам над множест- множеством {1, &, V, -)>}: а) обе скобки, содержащиеся в 2li, не имеют парных им скобок; б) отсутствуют внешние скобки; в) не отделена скобками связка —У от остальных связок. Добавляя скобки, выражение 211 можно превратить, например, в формулу или ((lx) ->(-|(iB/&*)))), или (Aх) ->A((-| 2/) &*))), @)(@ )))) @)(@ 2)))) В выражении 212 — (х V A у)) —> (х Szl у) не хватает только двух пар скобок: внешних и отделяющих связку & от связки 1. Формула, соответствующая выражению 212, имеет вид ((xV(l у)) —> (ж& A у))). Для обоснования того, что оба выражения 211 и 212 не являются формулами над множеством связок {1, & , V, —>-}, достаточно, напри- например, установить справедливость такого утверждения: всякая форму- формула над множеством связок {1, &, V, —>-}, отличная от формул ви- вида ж, у, ..., обладает парой внешних скобок. Доказательство этого факта проведем по индукции — по числу связок 1, &, V, —У в формулах. Базис индукции. Если в формуле 21 только одна связка, то с точностью до переименования переменных (с отождествлением)
24 Гл. I. Способы задания и свойства функций алгебры логики формула 21 имеет один из следующих видов: 21 = A ж), 21 = (х&су), 21 = (х V у) и 21 = (ж —у у). Следовательно, базис индукции справедлив. Индуктивный шаг. Предположим, что доказываемое утверж- утверждение верно для формул, содержащих не более s связок (s ^ 1), и установим его истинность для формул с числом связок, равным s + 1. Имеем или 21 = A 03), или 21 = B1&?), или 21 = @3 V <?), или 21 = = @3 —У (?), причем одна из подформул 03 или ? в формулах трех последних видов может быть (с точностью до переименования пере- переменных) формулой, равной х. Очевидно, что индуктивный шаг также справедлив. Пример 10. Построив таблицы функций, реализуемых форму- формулами 21 = ((х I у) -у ((у 0 (ж V z)) \ z)) и 03 = ((х Vy)~(x-y(y(B 0 (x&cz)))), выяснить, эквивалентны ли эти формулы. Решение. Принимая во внимание тот факт, что функция х —У у обращается в 0 только на наборе A,0), а функция х^у равна 1 Таблица 1.5 лишь на наборе @, 0), мы можем упрос- упростить процедуру построения таблицы функ- функции (р%(х, у, z), реализуемой формулой 21. В самом деле, у?$д — 0 тогда и только тог- тогда, когда х \, у = 1 и (у 0 (х V z)) \ z = 0, X 0 0 0 0 1 1 1 1 У 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 1 ( ( )) \ т. е. когда х = у = 0 и @ 0 @ V z)) | С \ = 0 ( ( — z | z = ~z = 0. Следовательно, р% только при х = у = 0 и z = 1 (табл. 1.5). Таблицу функции </?<в(ж, у, z), реализуе- реализуемой формулой 03, будем строить шаг за шагом (табл. 1.6). Таблица 1.6 х у z 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 У 1 1 0 0 1 1 0 0 ф! = х V у 1 1 0 0 1 1 1 1 0 0 0 0 0 1 0 1 (^2=2/0 Ж-2 0 0 1 1 0 1 1 0 (fS = Ж —>- <?>2 1 1 1 1 0 1 1 0 <?<в = 4>i - <?з 1 1 0 0 0 1 1 0 Сравнивая таблицы функций (р% и </?<в, видим, что y?gi Ф Фъ • Значит, формулы 21 и 03 неэквивалентны. Пример 11. Используя основные эквивалентности (см. п. 3 после задачи 1.20), установить эквивалентность формул 03 = ((х -^ у) | (х I (yz))) V yz. Решение. Применяя основные эквивалентности 8, в), 9, а) и 9, б), получаем 21 = xVyVxzV (x(y ~ z) V (Щ 0 2;)). Используя затем ос- основные эквивалентности 7,д), 4, а), 8,6) и 8, а), имеем 21 = (х V у) V V (ж V z) V ((ж V (у 0 z)) V ((xV y)~zV~xyz)). Далее применяем основ-
1. Функции алгебры логики. Операция суперпозиции 25 ные эквивалентности 2, 7, в), 7, д), 1, 3 и 8, а): 21 = х V у У z V yz\l y VxzVyzV xyz. Наконец, воспользовавшись правилом поглощения 5, а), приходим к соотношению 21 = х V у V ~z. Преобразуем теперь к такому же виду и формулу 03. Имеем 03 = (хV у)х V yz" Vу" V"z (здесь были использованы основные эквивалентности 8, в), 9, а), 9,6) и 4, а)). Да- Далее, применяя основные эквивалентности 4,а), 7,д) и 4,6), получаем 03 = ху\/х\/у~2\/у\/~2. С помощью закона поглощения 5, а) последнее выражение преобразуется к такому: xVyVz. Тем самым эквивалент- эквивалентность формул 21 и 03 доказана. 1.8. Выяснить, какие из нижеприводимых выражений являются формулами над множеством логических связок *S = {l, &, V, 0, ~, —>}. Проверить, можно ли некоторые из приведенных ниже выражений (и какие), не являющиеся формулами над 5, превратить в формулы, добавляя скобки: 1) х^х; 2) xV A у); 3) х 0 (ку); 4) (х V у) -> (х 0 A *)); 5)(ж<-2/); 6)(ж&Iж; 7) (я ©(*)); 8) 1(жч ((lx)&j/)); 9) (ж ~ у) П 2/; 1О)((яг-^A2/))-((ягУB/&^)H2/)); 11) A ж->?/); 12) ((ж&Aж)) V (жф (ж ->> ж)) V (~1ж)). 1.9. Выяснить, является ли выражение А формулой над множест- множеством Ф. Проверить, можно ли, добавляя скобки, запятые и переменные (не обязательно все эти знаки), превратить некоторые из приведен- приведенных ниже выражений (и какие) в формулы над соответствующими множествами Ф: 3)А = (<pW(fW{x, <рA\х)))), Ф = 4) А = fW(gW(xy), /г<2)A, у)), Ф = {1, 5)А = gW(<pW(x, у, fW(x)), /(%), Ф = 6) A = 7) А = h^{^){l), 5B)B, <рЫ{х))), * = {1. 2, Ф = {1, 2, 10) А = /i«(x, ^B)(ж, /«A))), Ф = {1,'/W 1.10. Выписать все подформулы формулы А над множеством Ф: 1) А = {{х ~ у) ->¦ (A у) -»¦ (ж V z))), Ф = {И, V, ~, ^}; 2) A = (((a;&i/)&z)e(((ia:)ei/)Vz)), Ф = {1, &, V, ф, ^}; 3) A = fBHgBHl, x), hCHx, I, vA)@B)(s, ж)))), Ф = {1, 2, 4) A = flA)(/C)(/lB)(l, Ж), ^)A, у, flW(l)) Ф = {1, /C), 9{1), ЛB)A, П), ^3)A, П, П)}, символом П указаны «пустые» места;
26 Гл. I. Способы задания и свойства функций алгебры логики 5) А = fW(gW(x -> у), hW(xby)), Ф = {/<2\ ДB), /2B)}, где ЛB)(П, П) = ^)(П -* П) и /2B)(П, П) = /^(П&П) (здесь сим- символом ? указаны те «пустые» места, которые характеризуют «ар- «арность» соответствующих логических связок). 1.11. Выяснить, сколькими способами можно расставить скобки в выражении А, чтобы всякий раз получалась формула над множеством логических связок {1, & , V, 0, —У, ^}, если: 1) А = 1 х 0 у -у х] 2) А = х ^ х I х ^ х; 3) А = х V у & 1 х i z] 4) А= 1 ж ф 12/ -»• 1 я; 5)Л=~Мж|1~М?/; 6)Л = жУ1?/0ж0ж~1ж. 1.12. Сложностью формулы над множеством связок 3 = {1, &, V, 0, ~, —У, |, ^} назовем число связок в ней. Индукцией по сложности формулы доказать, что в формуле: 1) ненулевой сложности содержится хотя бы одна пара скобок; 2) число левых скобок равно числу правых скобок; 3) нет двух связок, стоящих рядом; 4) нет двух символов переменных, стоящих рядом. 1.13. Индексом связки в формуле назовем разность между числом левых скобок, предшествующих рассматриваемой связке в данной формуле, и числом правых скобок, предшествующих этой связке. До- Доказать, что всякая формула ненулевой сложности над множеством в (см. предыдущую задачу): 1) содержит единственную связку индекса 1; 2) единственным образом представляется в каком-нибудь одном из видов A21), (Я&В), (SIVB), B10 03), (Я-В), (81->В), B1 | 03), B11 03), где 21 и 03 — формулы над множеством 6. 1.14. Рассмотрим бесскобочную (польскую) запись формул над множеством связок 6 = {1, &, V, 0, ~, -У, |, |}: вместо (~1 ж), (х&су), (xVy), (жф 2/), (х~у), (х-уу), (х\у), (х I у) будем писать 1 ж, &Ж2/, V:n/, e#2/, ~ хУ-> ~^ хУ-> \хУ-> 1ху. Соответствующим об- образом записываются и более сложные формулы; например, форму- формула ((A х) —У у) & (l(z I x))) в бесскобочной записи будет иметь вид & —у 1 ху ~\l zx. Доказать, что если каждую из связок &, V, 0, ~, —у, |, I оценить числом +1, связку 1 — числом 0, а каждый символ переменной — числом —1, то в бесскобочной записи произвольное выражение А над множеством в будет формулой тогда и только тогда, когда сумма оценок всех вхождений символов в А равна —1 и в каждом собственном начальном отрезке выражения А (т.е. в непустом и отличном от всего А) эта сумма неотрицательна. 1.15. Построить диаграмму, характеризующую строение форму- формулы А над множеством Ф: 1) А = (A (х -»• (И У))) ® (С* V (ykx)) l у)), Ф = {1, &, V, ф, ->, 4-}; 2) А = (((х -> у) -> A((ж | у) -> (ж | *)))) -> (A У) -> г)), 3) Л = (((((ж ф у) ф ж) ф у) ф z) ф (ж ф z)), Ф = {ф};
§ 1. Функции алгебры логики. Операция суперпозиции 27 4) А = ((((ж ly)\(yl x)) \z)i(x\ z)), Ф = {|, |}; 6) А = , ж, а:)), , У), ф _ 7) А = /B)(((х -»¦ A у)) -»• г), ^((ж ф у) -»¦ г)), 1.16 (/ . Восстановить & е/\ /\ /\ х У / A Y / V * X /\ X У х 1) 1^\JA)^ /\ \ х у х 3) формулы по \ Y(i> 2 ж диаграммам из А * \ /\ х у х у 2) 1 ( 4) рис. 1.3. п/\& I /\ ж х У и,™ 1/B) К/B) 1 У х у х х Рис. 1.3
28 Гл. I. Способы задания и свойства функций алгебры логики 1.17. Построить таблицы функций, реализуемых следующими формулами над множеством связок в = {~1, &, V, 0, ~, —У, \, -I}: 1) ((x^y)V(x®z)) - (у | z); 2) ((ж • у) | (х | у)) -> (z -> J7); 3) (ж - у) V (J/ -)> г) I ((ж 0 г) V у)] 4) ж -^ 0 ((х ^ z) ~ у) • z; 5) (ж V у) -у ((х I у) | z) I у; 6) (х ~ 2/) ->> (ж • z -у у) -у х • г; 7) ((ж ly)\z)\x)ly, 8) ((ж -> г/) 0 (х -+ у • z)) | (ж | г/). 1.18. По функциям f(xi, X2) и g(xi, X2), заданным векторно, построить векторное представление функции h: 1) OLf — @010), ag = A000), h(xi, #2, Ж3) =/(жь ж3)&^(ж2, xi); 2) 5/ = @100), 5Р = A101), /г(жь ж2) = /(жь ^(ж2, x1))Vg(x2, 3) 5/ = A001), ag = A110), для функции h построить и таблицу П2,2(^); 4) af = (ОНО), ад = A011), Л(яп, х2, х3) = /(^(яп, ж3), f(x2, 5) 5/ = A101), ад = @111), /г(жь х2) = f(g(xi, х2), х2) -У д{х2, f(x2, 6) 5/ = A000), 5Р = (ОНО), h(x!, x2, х3, х±) = = /(жь /(ж2, жх)) V g(f(x!, x2), д(хг, х3))) 0 f(g(x3, x±), f(x2, x2)), ДЛЯ фуНКЦИИ h ПОСТРОИТЬ И Таблицу П2,2(^)- 1.19. Построив таблицы соответствующих функций, выяснить, эквивалентны ли формулы 21 и 03: 1) 21 = (х -+ у) 0 ((у -+ z) -+ х • у), <В = y-z^ х; 2)Vl=(xVy)l(x^(y^ z)), <B = y^(x\/z); 4) %L = (x l у) V (x ~ z) \ (x ® у • z), %$ = x • (y • z) V x -> z\ 5) 21 = ((ж V у) • z -)> ((ж - J) 0 2/)) • {{x 0 2/) • ^), . yZ)kx -> y; 6) $L = (x V y) -> ((y \~z) -> (x ~ x • z)), 05 = Ж2/ V (ж ->• ж^ ->• 7) 21 = (ж | у) -У ((у I z) -У (х 0 z)), 03 = x • (?/ • z) 0 (ж ->> 2;); 9)%=(x-y^z)V((xly) \z), 03 = {{x -+ у • z) @ (x ~ у)) У (у -+x-z)] 10) 21 = x ®y - z • у -у х • z • (ж 12/)? 05 = (ж • 2/ ->• B/ >l ^)) V ж • 2: • z. 1.20. Построив таблицы для соответствующих функций, убе- убедиться в справедливости следующих эквивалентностей: 1) х V 2/ = (ж -у у) -у у; 2) х ~ у = (х ^ у) & (у ^ х); 2/| у)) | ((ж|ж) | (у\у));
§ 1. Функции алгебры логики. Операция суперпозиции 29 4) ж V (у ~ z) = (ж V у) ~ (ж V я); 5) ж & (у ~ z) — ((х & у) ~ (ж & z)) ~ ж; 6) ж -^ B/ ~ ^) = (ж -^ 2/) ~ (ж ->> 2;); 7) ж V B/ ->- я) = (х V 2/) -^ (х V я); 8) ж & (у -»> я) = (ж -»> ^/) -»> (ж & z); 9) ж -»> (у V я) = (ж -»> ^/) V (ж -»> я); 10) ж -»> B/ & 2?) = (ж -»> у) & (ж -»> я); 11) ж -»> B/ ->• z) = (ж -»> ^/) -»> (ж -»> z). При оперировании с функциями алгебры логики бывают полезны следующие эквивалентности (большинство из них называют обычно основными эквивалентностями алгебры логики). 1. хоу = у ох — коммутативность связки о ? где символ о является общим обозначением для связок &, V, 0, ~, |, ^. 2. (ж°1/)о^ = жо(|/о^ — ассоциативность связки о5 где о — об- общее обозначение для связок &, V, 0, ~. 3. а) ж & B/ V z) = (ж & ^/) V (ж & z) — дистрибутивность конъюнк- конъюнкции относительно дизъюнкции; б) ж V (у & z) = (ж V 2/) & (ж V z) — дистрибутивность дизъюнкции относительно конъюнкции; в)ж&(уф2;) = (ж & у) 0 (ж & z) — дистрибутивность конъюнкции относительно сложения по mod 2. 4. а) ж & ?/ = ж V ?/; 6)xVy = x&:y (правила де Моргана). 5. а) ж V (ж & у) = ж; б) ж & (ж V 2/) = х (правила поглощения). 6. а) ж V (ж & у) = ж V 2/; б) ж & (ж V у) = ж & 2/. 7. а) ж&ж = ж&О = ж0ж = О; б) ж\/ж = ж\/1 = ж~ж = ж—У х = 1; в) ж\/ж = ж&ж = ж&1 = ж\/О = ж0О = ж; г)ж01 = ж—>-0 = ж~0 = ж|ж = ж^ж = ж; д)ж = ж. 8. а) ж 0 2/ = (ж&27) v (ж&2/) = (х V у) & (х\/у); б) ж ~ у = ж 0 2/ = (ж & 2/) V (ж & 2/) = (ж V ^) & (ж V 2/); в) ж ->• 2/ = ж V 2/ = ((ж & 2/) 0 ж) 0 1. 9. a)x\y = В справедливости этих эквивалентностей можно убедиться путем построения таблиц соответствующих им функций. 1.21. Используя приведенные выше (основные) эквивалентности и соотношения из задачи 1.20, доказать эквивалентность формул 21 и 03: 1) 21 = (ж -)> 2/) -+ (х • у - (ж 0 2/)), 95 = (ж^ ^ ж) ^ 2/5 2) 21 = (ж • 2/ V (ж -+ у • *)) - ((ж -* у) -+ z), Ъ = (ж -)> 2/) 3) 21 = (ж 0 2/ • z) -+ (ж -)> (у -^ z)), ^В = х^ ((у ^ z) ^ ж);
30 Гл. I. Способы задания и свойства функций алгебры логики 4) 21 = (ж -> (у -> (х ~ *))) •(^ИИ(^ 2/)))), 03 = (ж ->• B/ ->• 2:)) ->• ж; 5) 21 = (ж V у • *) -> ((х -> ?/) -> (B/ V^L ж)), 03 = (ж->2/) -)> B/->ж); 6) 21 = (ж • 2/ V ж • z) 0 (B/ -^ 2?) -> ж • ?/), 95 = (ж • (г/ • г) ф 2/) ® *5 7) 21 = ж -)> ((ж • у -> (ж • г -)> ?/)) -)> у) • г, 03 = х • (?/ -)> г); 8) 21 = (х~у) -> (х-> z) V (х®у- z), <В = х ~ (z ^ у); 9) 21 = (ж V у • z) • (ж -)> J/ • ^) • (х -+ (у - z)), 03 = ((ж -)> 2/) ~ B/ -> (ж -> ^))) Ф ж • B/ • 2?); 10) 21 = ((жУ2/) ->2/-*) VB/-^-*) V (ж ^ (у -+ z)), z. 1.22. Выписать все булевы функции, зависящие только от пе- переменных из множества {ж, у} и являющиеся суперпозициями над множеством Р: 1) р = {щ ->• и2, щ • и2}; 2) Р = {щ ~ и2, щ V и2}; 3) Р = {щ 0 u2, ui 0 1}; 4) Р = {(щ V и2) -)> ui • и2}; 5) Р = {щ V и2 • из, щ 0 и2}; 6) Р = {ui • и2, щ 0 и2 0 п3}; 7) Р = {щ • u2V щ • щ\/ и2 • и3, и\ • (и2 V и3)}. 1.23. Глубина формулы 21 кад множеством Ф (обозначе- (обозначение AерфB1)) определяется по индукции: (а) если 21 — символ переменной или 0-местный функциональный символ, то с1ерфB1) = 0; (б) если 21 = /(п)(^ь ..., 21П), где n ^ 1 и F^ e Ф, то AерфB1) = = max с1ерфB1г) + 1. Выяснить, верно ли, что указанная ниже формула 21 имеет мини- минимально возможную глубину среди формул над множеством Ф, реали- реализующих функцию /: 1) 21= (х -+ (у® у)) ®у, f = x~y, Ф = {0, -^}; 2) 21 = х - (у - (х V ?/)), / = ж • 2/, Ф = {V, ~}; 3) 21 = (ж|ж) | ((ж | 2/) | ?/), / = ж V 2/, Ф = {|}; 4)Я = ж~^, f = x^y, Ф = {1, &}; 5) 21 = (ж -)> 2/) -^ 2/ ^ ж, / = Ж02/, Ф = {1,^}; 6) а = ((ж -)> 2/) -^ 2/) ~ (^ ~ 2/)» f = х-у, Ф = {~, ^}; 7) 21 = ((ж | ж) | (?/1 ?/) I ((х I х) I (у I у)), / = ж | 2/, Ф = Ш; 8) 21 = ((ж -* у) • (у -+ z)) • (z -+ ж), f = (xVyVz)^x-yz, Ф = {&,^}; 9) а = (ж -^ 2/) -^ (^ -^ 0) • 2/, / = ж 0 2/, Ф = {0, ^, &); 10) а = ((ж -)> 2?) -)> 2/) • (^ -^ B/ -^ ж)) j f = x-y\/ x-zVy-z, Ф = {&,^}. 1.24. 1) Пусть булева функция /(ж, 2/) удовлетворяет соотноше- соотношению /(/(ж, /B/, я)), /(/(ж, ?/), /(ж, я))) = 1. Доказать, что тогда
§ 1. Функции алгебры логики. Операция суперпозиции 31 справедливы следующие эквивалентности: а) /(ж, ж) = 1; б) /(ж, /(?/, ж)) = 1; в) f(f(f(x, у), /(ж, *)), f(x, f(y, z))) = 1; г) f(f(x, у), /(/(ж, f(y, *)), /(ж, *))) = 1; -*-v «/ V«/ V*^' J \Уi ^))i J \Уi J K^i ^))) — 2) Выяснить, вытекают ли эквивалентности б), в) и г) из д). 4. Двойственные функции. Принцип двойственности. Пусть /(ж1,...,жп) — произвольная булева функция, зависящая от п^ 1 переменных. Функция /(ж1, ..., жп), обозначаемая обыч- обычно /*(ж1, ..., жп) (или, подробнее, [/(жь ..., жп)]*), называется двойственной (к) функции /(ж1, ...,жп). При п = 0 полагают (по определению), что функция 0 двойственна 1, а 1 двойственна 0. Если функция /(жп) совпадает с функцией, которая двойственна ей, т.е. с /*(жп), то она называется самодвойственной. Самодвойственными являются, например, функции ж, ж и ж 0 (у 0 z). Справедлив следующий принцип двойственности. Если функция / реализуется формулой 21, имеющей строение C[/i, ..., /s], то двойственная ей функция /* реализуется форму- формулой 21*, имеющей такое же строение, как и формула 21, и 21* = = С[Д*, ..., /*]; в частности, если 21 = Ф(</?1 , • • •, <Рг ), то 21* = Пример 12. С использованием принципа двойственности по- построить формулу, реализующую функцию, двойственную функции / = (ж V A —У у)) V yz\l (ж | у \,~z). Полученную формулу по возмож- возможности упростить. Решение. Так как (хУ у)* = х -у, 1* = 0, (х^у)*=х^у = = хУу = х-у, (х-у)* = ж V у, (ж)* = ж, (х\у)* = х 1у и (ж | у)* = = ж | ^/, то /* = (ж@г/))B/ V ?")(ж ^ 2/ | z). Применяя коммутативный и ассоциативный законы для конъюнкции, а также эквивалентнос- эквивалентности 0 = 1, 1-ж = ж, ж-ж = ж, ж = ж, xly=~x-y и ж|^/ = ж\/^, получаем /* = х • у • (у У ~z) -~х • у \~z = х • у • (у V ~z) &, х(у VI) = х • у • • (y\/~z) • (yV z). Раскрывая скобки в последнем выражении и ис- используя эквивалентности ж-ж = ж, ж-ж = 0, ж-0 = 0и ж\/О = ж, имеем f*=x-y-(y-y\/y-z\/~z-y\/~z-z) = xyz. 1.25. Используя непосредственно определение двойственности бу- булевых функций, а также основные эквивалентности и соотношения из задачи 1.20, выяснить, является ли функция g двойственной к функции /: 3) / = ж -у у, g = x-y; A)f = (x-yy)-y(y-yx), g = (ж -у у) • (у -у ж);
32 Гл. I. Способы задания и свойства функций алгебры логики 5) / = х®у 0 z, g = x®y®z; 6) / = х -у У z, g = х • (у V z)\ 7) / = ху 0 xz 0 yz, g — хуМ xzM yz; 8) / = х-у -> z, g = x-y- z; 9) f = (xV y\/ z) -tV x • у • z, g = (x V у V z) • t V x • у • z; 10) / = xy\l yz\l ztVtx, g = xz\l yt; 11) f = (xVy)^(z®t), g = (x\y)-(z~ t); 12) f = (x^y).(z^t), g = (x ^z) - (x ^ t) - (y ^z) - (у ^ t). Замечание. Если функция задана в табличной или векторной форме, то при построении функции, двойственной ей, удобно быва- бывает использовать тот факт, что на противоположных наборах двойст- двойственные функции принимают противоположные значения, т.е. если / = /Оь ..., хп) и g = /*(жп), то #Gi, ..., 7m) = /Gь • • •, 7п) при любом наборе G1, ..., 7п)- В частности, если функция / задана век- вектором OLf — (ao,ai, ..., а.2^-2-, <^2™-i), то функция /* задается векто- вектором (а2п-1,а2п-2, ..., CKi,a0). 1.26. Пусть 21 — формула над множеством S = {0, 1, 1, &, V, 0, ~, |, —>}. Формула 21* над тем же множеством S называется двойственной (к) формуле 21, если она получается из 21 заменой каждого вхождения одного символа из пар @, 1), (&, V), @, ~), (|, ^) на другой символ из той же пары. 1) Доказать, что если функция / реализуется формулой 21 над множеством 5, то двойственная ей функция /* реализуется форму- формулой 21* (доказательство провести двумя способами: а) непосредст- непосредственно, используя индукцию по «сложности формулы», т.е. по числу вхождений в нее символов из множества 5; б) применяя принцип двойственности). 2) Показать, что если формулы 21 и 03 (над множеством S) экви- эквивалентны, то эквивалентны также формулы 21* и 03*. 1.27. С использованием принципа двойственности построить фор- формулу, реализующую функцию, двойственную к функции /, и убе- убедиться в том, что полученная формула эквивалентна формуле 21: 1) / = х • 1 V у • (z V 0) V х • у • г, 21 = х • (у 0 z); 2) / = (х I у) 0 ((х | у) 1(х - у • z)), <& = x-yVx-y\/y-z] 3) / = (х V у V (у • J 0 1)) I z, 21 = х V ?/ V J; 4:)f = x-y\/y-~z\/y-z, $1 = х-у-~z\/у • z; 5) / = ((ж -)> 2/) V г) • (у -z -+ (х 0 у • z)), 21 = (х 0 ?/) • z\ 6) / = (((ж V I/ V (у - z - 1)) 0 1) -* 0) | у, 21 = x-zVy; 7) f = (x V ?/ V z) -+ (x • у - (х 0 ?/ • z)), 21 = (ж - z) • у; 8)f = x-y\/y-z\/z-t, <& = x- zV z-yV у -t] 9) / = (xVyVz) -tVx-y • z, 21= (xVyV z) -tV x-y -z; 10) / = (x • B/ -z V 0) - (t • 1 V x - y)) V у -t, K=(xV(z®t))'y.
§ 1. Функции алгебры логики. Операция суперпозиции 33 5. Фиктивные и существенные переменные. Отождествле- Отождествление переменных у булевых функций. Переменная Х{ A ^ % ^ п) функции f(xiJ...JXi-iJXi,Xi+iJ...Jxn) называется существенной, если можно указать такие наборы а и /3, соседние по г-й компо- компоненте (т.е. а = (аь ..., ai-i,Q,ai+i, ..., ап) и /3 = (аь ..., «i-1,1, a^+i, ..., ап)), что /E) т^ /(/3). В противном случае переменная а^ называется фиктивной (или несущественной) переменной функ- функции /(жь ..., ж;_ь ж;, Жг+1, ...,4 Две функции f (хп) и #(?/т) на- зываются равными, если множества их существенных переменных совпадают и на любых двух наборах ап и /Зт, различающихся, быть может, только значениями несущественных переменных, значения функций одинаковы: f(an) = д((Зт). Если fix71) и д(ут) — равные функции, то одну из них можно получить из другой путем добавления и/или изъятия фиктивных переменных. Пусть 1 ^ %i < %2 < ... < %k ^ п- Говорят, что функция ip(xi, ... . . . ,Жг!-1, Ж, Жг1+1, .^. , Жг2-1, Жг2 + Ь . . . , 2^-1, Xifc+b . . . , Хп) ПОЛуче- на из функции f(xn) путем отождествления переменных Х{Х1 Xi2, ..., Xik, если (f является результатом подстановки переменной х в функцию / на места переменных х^, Xi2, ..., xik. В качестве х можно взять любую переменную, не входящую в множество Хп\{х^, Xi2, . . . , Xik }. Пример 13. Перечислить все существенные и фиктивные пере- переменные функции /(ж4) = A100001111000011). Решение. Сравнивая значения функции на всех парах наборов, соседних по переменной х±, видим, что /@, 0, 0, 0) = /@, 0, 0, 1) = /@, 1, 1, 0) = /@, 1, 1,1) = = /A, 0, 0, 0) = /A, 0, 0,1) = /A, 1, 1, 0) = /A, 1, 1, 1) = 1, /@, 0, 1, 0) = /@, 0, 1, 1) = /@, 1, 0, 0) = /@, 1, 0, 1) = = /A, 0, 1, 0) = /A, 0, 1, 1) = /A, 1, 0, 0) = /A, 1, 0, 1) = 0, т.е. /(жь Х2, жз, 0) = /(жь Х2, жз, 1). Следовательно, переменная х± фиктивная. Далее, так как /@, 0, 0, 0) = 1, а /@, 0, 1, 0) = 0 и /@, 1, 0, 0) = 0, то переменные жз и Х2 существенные. Наконец, принимая во внимание соотношения /@, Х2, ^з, х^) = A1000011) = = /A, Х2, жз, Ж4), заключаем, что переменная х\ фиктивная. Итак, у функции /(ж4) переменные х\ и х± фиктивные, а переменные Х2 и хз существенные. (Нетрудно убедиться в том, что /(ж4) = Х2 ~ х$.) Пример 14. Перечислить все фиктивные и существенные пере- переменные фуНКЦИИ /(ж4) = {{х{Х2 V Жз) ~ (Ж1Ж4 V Ж2Ж3)) —У (((Х2 Ф 0ж4) V х3) | (ж1 • (х2 -У (х3 0ж4)))). Решение. Для решения данной задачи можно действовать так же, как при решении предыдущей, т.е. сравнивать значения функ- функции на парах соседних наборов, чтобы выяснить, совпадают или нет соответствующие подфункции функции /(ж4) (ибо переменная х\ фиктивна тогда и только тогда, когда f^1 (ж4) = /^ (ж4)). Однако при 3 Г. П. Гаврилов, А. А. Сапоженко
34 Гл. I. Способы задания и свойства функций алгебры логики задании булевой функции в «аналитической форме» для выяснения того, какие переменные у нее существенные (а какие фиктивные), иногда бывает полезно преобразовать исходное выражение к некото- некоторому специальному виду, например к совершенной дизъюнктивной нормальной форме или полиному Жегалкина (см. § 2, пп. 2 и 3). Оказывается, что переменная Х{ функции f(xn) является фиктивной тогда и только тогда, когда: 1) в совершенной д. н. ф. этой функции вместе с каждой элемен- элементарной конъюнкцией вида х°г К содержится и элементарная конъюнк- конъюнкция х°1 К (см. задачу 2.16) или 2) в полиноме Жегалкина, реализующем эту функцию, перемен- переменная Xi отсутствует. Для решения сформулированной задачи мы сначала преобразу- преобразуем (с помощью основных эквивалентностей) исходное аналитическое задание функции /(ж4) к достаточно простой дизъюнктивной нор- нормальной форме (см. § 2, п. 2), а затем, подставляя на места соот- соответствующих переменных 0 и 1, получим нужные нам подфункции функции /(ж4) и сравним их между собой. Сначала воспользуемся эквивалентностями х —> у = ~х\/ у, ж = ж , х ~ у = х 0 у и х \ у = xVy. Получаем /(ж4) = ((х1х2 V х3) 0 (жхж4 V х2х3)) V V (х2 0ж4) У х3 V Х\(х2 V (х3 Далее применяем эквивалентности х 0 у = ху V ху, хМ у — х -у, х (&у = х ^ у — хуУху, х - у = х Уу, х = х, х(Ву = х(Ву(В1 = х(Ву = ху\/ ху Это приводит нас к такому соотношению: /(ж4) = (х{х2 V ж3)ж1Ж4 V х2х3 V х{х2 V x3(x~ix4: V х2х3) V V (Х2Х4 \/Х2Х4)х3 V Х\ У ~Х2 Так как х\х± V х2х3 = х\х± • х2х3 = (xi V ж4) • (х2 V х3) и х\х2 V х3 — = х{х2 • ~х3 = (xi V х2)х~3, то из последнего выражения для /(ж4) после раскрытия скобок получаем формулу Х\Х2 V Х\Х2Х3 V Х{Х2Х± V Ж1Ж2ЖзЖ4 V XiX2~X3 V V Х\Х3 V Ж2ЖзЖ4 V Х3Х~4 V Ж1ЖзЖ4 V X~iX2~X3 V Ж1Ж2ЖзЖ4 V V х2х3 V ж2ж3ж4 V х2х3Х4 V xi V ж2ж3ж4 V ж2ж3ж4. С помощью правила поглощения 21 V 2103 = 21 эта формула может быть преобразована к следующему виду: Х\ V Х3Х~4 V Ж2Жз V ~X\X3X4 V Х~2Х3Х~4 V Ж2ЖзЖ4. С использованием эквивалентностей ж V ж = 1 и ж • 1 = ж получаем f(x4) = Ж1 V жзж4 V ж2ж"з V ж~1Жзж4 V ж2ж"з(ж4 V ж4) = = х\ V жзж4 V х~\х3х~4 V ж"з(ж2 V ж2) = xi V жзж4 V ~х\х3х^ V ж"з.
§ 1. Функции алгебры логики. Операция суперпозиции 35 Наконец, применяя еще раз правило поглощения и эквивалентность xyWx = 'xVy, имеем /(ж4) = х\ V ж"з V ~х±. Отсюда сразу следует, что переменная Х2 фиктивная. Далее, так как /@, 0, 1, 1)=0, а /A, 0, 1, 0) = /@, 0, 0, 1) = /@, 0, 1, 0) = 1, то остальные три пере- переменные у функции /(ж4) существенные. Пример 15. Выяснить, можно ли, отождествляя и переименовы- переименовывая переменные в функции /(ж4) = (х\ V Х2 \/жз)ж4 \/ж1Ж2Ж4, полу- получить функцию gi{x\, Х2) — х\М Х2 или функцию #2(?ъ хъ) = %1 \ Х2. Решение. Легко заметить, что /@) = 1 и /A) = 0. Следова- Следовательно, всякая функция, которая получается из функции /(ж4) путем отождествления и переименования переменных, на нулевом наборе равна 1, а на единичном — 0. В то же время функция д\{х2) этому условию не удовлетворяет (#i@, 0) = 0 и #i(l, 1) = 1). Значит, функ- функцию д\ из функции / описанным выше способом построить нельзя. Далее, хотя функция #2 на 0 равна 1 и на 1 равна 0, отсюда еще не следует, что ее можно получить из функции /, отождествляя и переименовывая переменные. Чтобы выяснить, получается или нет указанным способом из функции / функция #2, можно, естественно, перебрать все возможности построения из функции / двуместных функций (с помощью отождествления и переименования переменных) и сравнить полученные функции с функцией $2- При этом нужно будет рассмотреть семь вариантов: 1) х\ = Х2 = жз = ж, х± = у] 2) х\ — х2 = ж4 = ж, ж3 = у; 3) х\ — ж3 = ж4 = ж, х2 = у; 4) х2 = = ж3 = ж4 = ж, х\ = ^/; 5) Ж1 = Х2 = ж, ж3 = ж4 = 2/; 6) х\ = ж3 = ж, Ж2 = Ж4 = ?/; 7) Ж1 = Х4 = Ж, Ж2 = Жз = ?/. Такая процедура несколько утомительна. Можно поступить иначе. Предположим, что функцию ^ указанным путем из функции / по- построить можно. Из соотношений ^(О? 1) = #2A5 0) — 1 следует, что должна существовать пара противоположных наборов 5= (ai, «2, аз, «4) и /3 = (ai, «2, сёз, аЦ), на которых функция / обращается в 1, т.е. функция ip(xi, ж2, ж3, ж4) = /(#ъ Ж2, ж3, ж4) &/(xi, ж2, ж3, ж4) не должна быть равна 0. Тот набор (любой), на котором функция </?(ж4) равна 1 (если <р ^ ^0), и определит соответствующее отождествление переменных. Имеем V ж2 V ж3)ж4 V Ж1Ж2ж4) • ((xi V ж2 V ж3)ж4 A V Х2 V Жз) V Ж1Ж2Ж4(Ж1 V Ж^ V Жз) = Ж1Ж2Ж4 V Очевидно, что </?(ж4) равна 1 только на наборах A, 1, 0, 0), A, 1, 1, 0), @, 0, 0, 1) и @, 0, 1, 1). Взяв, например, набор A, 1, 0, 0), приходим к такому отождествлению: х\ — Х2 — х и жз = х± — у\ оно дает /(ж, ж, у, у) = (ж V ж V |/)|7 V х"ху = xy\/y\/Wy = W\/y = x \ у. Набор A, 1, 1, 0) дает отождествление xi = Ж2 = жз = ж и Ж4 = у и функцию /(ж, ж, ж, ^/) = {х V х V 1Е)у V ~х • ~х • у = у V ~ху = ~х V у = х \ у. з*
36 Гл. I. Способы задания и свойства функций алгебры логики Других отождествлений (с точностью до переименования перемен- переменных), дающих функцию д2, нет. Итак, функцию д2(х±, ж2) из функ- функции /(ж4) с помощью отождествления и переименования пере- переменных получить можно, а именно д2(х±, ж2) = /(^ъ ял, ж2, ж2) = = /Оь жь жь ж2). 1.28. Указать все фиктивные переменные функции /: 1) /(J3) = A0101010); 2) /(г3) = (OllOOllO); 3) /(г3) = A1110011); 4) /(г4) = A011010110110101); 5) /(г4) = @101111101011111); 6) /(г4) = (ПООПООООПООП). 1.29. Показать, что х\ — фиктивная переменная функции / (реализовав для этой цели функцию / формулой, не содержащей явно переменную х\)\ 1) /(г2) = (х2 -> ял) - (х2 I х^ 2) /(г2) = (ял - ж2) V (an | ж2); 3) /(ж3) = ((ял 0 ж2) -»• ж3) • х3 -»> ж2; 4) /(ж3) = ((ж1 V ж2) -+ Ж1 - ж3)) • Ж1 -)> (ж2 V ж3); 5) /(ж3) = ((ж1 V х2 • ж3) ~ (ж1 ->> ж2 • ж3)) • (ж2 I ж3); 6) /(ж3) = ((ж1 V ж2 V ж3) -^ (ж1 • ж2 | ж3)) 0 (ж2 ->> жх) • ж3; 7) /(ж4) = (ж1 -»• ((ж2 ->• ж3) -»¦ ж4)) ~ Ж1 • (ж2 ->• ж3) • ж4; 8) /(ж4) = (ж1 • ж2 V ж3) • (ж2 V xi • х4) ->¦ (ж1 ->• (ж2 ->• ж3)); 9) /(ж4) = (ж1Ж2 V ж3ж4) • (ж1 0 ж2 0 ж3) -»¦ ж4) 0 0 (ж1Ж2(ж3 ->• ж4) V ж3ж4); 10) /(г4) = ((ял | я:2) | ((ял | ят4) | (жз I ят4))) | ((xi | ят3) | х2). 1.30. Перечислить существенные переменные следующих функ- функций: 1) /(ж2) = ((ж1 V х2) ->• Ж1 • ж2) 0 (ж1 ->• ж2) • (ж2 ->• жх); 2) /(ж2) = (ж1 -)> ((ж2 -)> жх) -)> ж2)) - (Ж1 V ж2); 3) /(ж2) = (ж! 0 (ж2 ->> (ж1 - ж2))) V^i ->> ж2; 4) /(ж2) = (ж1 • х2 0 (ж1 ->• ж2)) ->• (ж1 ~ Ж1 • ж2); 5) /(ж2) = (ж • х2 ->• (ж ->• ж2)) ->• Ж1 • ж2; 6) /(Ж3) = (Ж1 ->• Х2 - Ж3) ' (ж2 ->• Ж1 • Ж3) V (Ж1 ~ ж2); 7) /(ж3) = ((ж1 ->> ж2) 0 (ж2 ->> ж3)) 0 (ж2 ->> ж3); 8) /(ж3) = ((ж1 V ж2 • ж3) -^ (ж2 ->> Ж1 • ж3)) -^ (ж1 V ж3); 9) /(ж3) = ((ж1 | (ж2 | ж3)) I (ж2 | (Ж1 | ж3))) | (Ж1 | ж2); 10) /(ж4) = (ж1 • Ж2 0 жз • ж4) V ((ж1 • жз ~ ж2) —У ж4) V ж • жз- 1.31. 1) Доказать, что если у функции f(xn) (п ^ 1) имеются фиктивные переменные, то она принимает значение 1 на четном числе наборов. 2) Выяснить, верно ли утверждение, обратное к 1). 3) Пусть функция f(xn) такова, что \Nf\ = 2mB/ - 1), где т ^ 0 и / ^ 1. Каково максимально возможное число фиктивных перемен- переменных у этой функции?
§ 1. Функции алгебры логики. Операция суперпозиции 37 1.32. Пусть функция f(xn) задана вектором S/ = (ао, «i,... ...Ja2n_1). Доказать, что если жд. — фиктивная переменная, то a^ = a2n-k+i для всех г, удовлетворяющих условию s • 2n~k+1 ^ г ^ <С Bs + 1) • 2n-fe - 1, где s = 0, 1, ... 2*-1 - 1. 1.33. С использованием результатов задач 1.31,1) и 1.32 выяснить, какие переменные функции / являются существенными: 1) /(J4) = A001001100110010); 2) /(г4) = @110011101110110); 3) /(г4) = A100001100111100); 4) /(г4) = @001000101110111); 5) /(г4) = @011110000111100); 6) /(г4) = @001100101101110); 7) /(г4) = @110110110110111); 8) /B4) = @000000111111110); 9) /(г4) = @Ш01Ш0101010). 1.34. Выяснить, при каких п (п ^ 2) функция f(xn) зависит су- существенно от всех своих переменных: 1) f(xn) = (я?! V ж2 V ... V жп) -+ (( V ж2) • (ж2 V ж3) • ... • (жп-1 V хп) • (хп V ) 2) f(xn) 3) f(xn) 4) f(xn) 5) f(xn) = (Ж1Ж2 = ((ж1 V = (Ж1 ~> \/ x2x3 x2 V .. (ж2 ->> 2) 0 (ж V ... Vx ->• (ж • V xn) - ... -+ (x 2 | жз) 0 n-\Xr \X2 0 -> X\ ' n-1 ~ ...0 bVxn x2x3 x2 • . -)> > Жп) •» J ( nr* (xn- xi) - 0... .. • xn (Ж1 0 ...)) 2 —У Х 1 жп^ > 0 п )- ж2 -)> п). ) 0 j^ ^ ^ 0... .. (х (Хп | 0 xnxi); жп 0 1); 6) f(xn) = (жх - - (я?! 0ж2 0 ... 0жп). 1.35. Булевы функции fixп) (п ^ 1) и д(ут) (т ^ 1) существен- существенно зависят от всех своих переменных. Переменные xi, ..., хп, у\, ... ..., ут попарно различные. Показать, что функция f(g(yi, ..., 2/ш)? ж2, ..., хп) существенно зависит от всех своих переменных. 1.36. Доказать, что всякая булева симметрическая функция (см. задачу 1.6, 7)), отличная от константы, существенно зависит от всех своих переменных. 1.37. Пусть п ^ 1 и функции f(xn) и д(хп) таковы, что сум- сумма f(xn) 0 д(хп) обращается в 1 на нечетном числе наборов. Дока- Доказать, что для всякого г = 1, ..., п переменная Х{ является существен- существенной хотя бы у одной из функций, / или д. 1.38. Через Рс(Хп) (п ^ 1) обозначим множество всех булевых функций, зависящих от переменных Ж1,ж2, ...,жп и при этом от каждой из них существенным образом. 1) Выписать все функции множества РС(Х2). 2) Найти число элементов множества РС(Х3). 3) Доказать, что \Рс(Хп)\ = Е(-1)*(?) " 22""''• k=o yKJ л\ тт г \РС(Хп)\ 4) Показать, что lim J— = 1.
38 Гл. I. Способы задания и свойства функций алгебры логики 1.39. Выяснить, можно ли из функции /, отождествляя и переиме- переименовывая в ней переменные, получить функцию д: 1) /(S3) = A1001011), д(х2) = A011); 2) /(г3) = A0101100), д(х2) = A000); 3) /(г3) = @0110010), д(х2) = (ОНО); 4) /(г4) = @110110111100011), д(х3) = @1100111); 5) /(г4) = A111110100011011), <?B2) = A001); 6) /(ж3) = xix2 V Ж1Ж3 V ж2ж3, д(х2) = Ж1Ж2; 7) /(ж3) = (xi V ж2)ж3 0 х{х2, д(х2) =xi\/ ж2; 8) /(ж3) = (я?! -)> (ж2 -+ ж3)) -> (Ж1 -)> ж3), #(ж2) = Ж1 -)> ж2; 9) /(ж4) = (Ж1Ж2 \/ж3ж4) ->• [х{х2 ->• (жз \/ж4)), ^(ж3) = Ж1 ->> (ж2 Vx3); 10) /(Ж4) = (Ж1Ж2 V Х3Х4) 0 (Ж1Ж4 V Ж2Ж3), д(х2) = Ж1 | Ж2- 1.40. 1) Доказать, что если функция /(ж3) существенно зависит от всех своих переменных и удовлетворяет условию /@) = /A), то найдется пара переменных, отождествляя которые можно получить функцию, существенно зависящую от двух переменных. 2) Показать, что условие /@) = /A) отбросить нельзя. 1.41. Пусть п ^ 2 и функция fix71) такова, что \Nf\ > 2п~1. Показать, что при отождествлении в ней любых двух переменных получается функция, отличная от тождественного нуля. 1.42. 1) Пусть функция f(xi, x2j Ж3, ..., хп) (п ^ 3) удовлетво- удовлетворяет условию: сумма /@, 0, жз, ..., хп) 0 /A, 1, жз, ..., хп) обраща- обращается в 1 на нечетном числе наборов. Доказать, что в этом случае функция /(ж1, Ж2, жз, ..., хп) существенно зависит от всех п — 1 переменных. 2) Показать, что утверждение 1) справедливо и в том случае, когда вместо суммы /@, 0, жз, ..., хп) 0 /A, 1, жз, ..., хп) берется импли- импликация /@, 0, жз, ..., хп) —У /A, 1, жз, ..., жп). Однако заменить 0 на & или V нельзя. 1.43. Доказать, что число Q(g(xn)) тех функций /(ж1, ж2, ... ..., жп, жп+1), из которых отождествлением переменных можно полу- получить данную функцию д(хп) = д(х\, ж2, ..., жп), удовлетворяет соот- НОШенИЮ lim QMS")) = L п—^сю П • 22п 1.44. Пусть функция fix71) удовлетворяет условию: для некото- некоторых наборов 5П, Р71 и 7П таких, что а71 -< (З71 -< 7П5 выполняются соотношения fipi71) = /GП) Ф f(Pn)- Доказать, что: 1) функция /(жп) зависит существенно не менее чем от двух переменных; 2) можно так отождествить переменные у функции /(жп), что получится функция, существенно зависящая не менее чем от двух, но не более чем от трех переменных.
§ 2. Специальные представления булевых функций 39 1.45. Доказать, что если функция f(xn) существенно зависит не менее чем от двух переменных, то найдутся три набора 5П, /Зп и 7П, удовлетворяющие условиям рEп, (Зп) = p(/3n, jn) = 1, ап ^jn и /(й-)=/Gп)^/(Дп). 1.46. Последовательность вершин /Зо,/3i, ... ,/3fc_i,/3n куба Бп называется цепью (длины к), соединяющей вершины /Зо и Ck, если p(Pi, A+i) = 1 ПРИ я = 0, 1, ...,& — 1. Пусть функция f(xn) изме- изменяет свое значение т раз (т ^ 1) в вершинах некоторой це- цепи /Зо,/3i, ... ,/3fc_i,/Зп, соединяющей вершины /Зо и /3 k такие, что р(Ро, Рк) = к. Доказать, что функция f(xn) существенно зависит не менее чем от т переменных. 1.47. Доказать, что если функция f(xn) существенно зависит от переменной xi A ^ г ^ п) , то двойственная ей функция f*(xn) так- также зависит существенно от переменной Х{. § 2. Специальные представления булевых функций 1. Разложения булевых функций по переменным. Совер- Совершенные дизъюнктивная и конъюнктивная нормальные формы. Пусть f(xn) — булева функция и 1 ^ %\ < %2 < ... < ik ^ п. Функцию, получаемую из f(xn) подстановкой на места перемен- переменных Хгг, Xi2, ..., Xih констант о, сг2, ..., (Jk соответственно, назы- называют х^х^ ... х^-компонентой функции fix71) или подфунк- подфункцией функции f(xn) и обозначают через fa\aV.'.'.alk(^n) или S^1^'"^ f(xn). При к = 0 подфункция функции f(xn) просто совпадает с самой этой функцией. Если к ф 0 и 1г/п, то под- подфункция f^^ "ак1к ^п) называется собственной. Подфункции функ- функции f(xn) различны, если они отличаются как функции от перемен- переменных Ж1,Ж2, • • • , Хп. Справедливо следующее представление: /(г») = v «¦ ¦ ¦ <ЬЖ:::^BП). (i) (о,о-2, •••,<Tfe) где 1 ^ ii < г2 < ... < ik ^ п (к ^ 1) и дизъюнкция берется по всем наборам (cti, сг2, ..., сг^) из 5fe. Это представление называется разложением функции f(xn) no к переменным Хгг, Xi2, ..., ж^й. Если к = 1 и ii = ij то выражение A) можно записать в форме /(ЖП) = Xi • /(ЖЬ . . . , Xi_i, О, Ж;+Ь . . . , Хп) V V^i -/(ЖЬ ..., Xi-г, 1, Жг+1, ..., Хп). B) Представление B) называется разложением функции f(xn) no переменной Х{. Оно бывает полезно при доказательстве каких-либо свойств булевых функций по индукции.
40 Гл. I. Способы задания и свойства функций алгебры логики При к = п представление A) имеет вид /(?")= V <142---<"/(^Ь^2, ...,<ТП), C) и его называют разложением функции fix71) по всем п переменным. Если fix71) ф 0, то выражение C) можно записать в иной форме: f(xn)= \/ х?х? •••<"> D) 3?:/(?) = 1 где дизъюнкция берется по всем наборам а = (с^, сг2, ..., (тп) Е В71, на которых функция fix71) обращается в 1. Правая часть формулы D) называется совершенной дизъюнктив- дизъюнктивной нормальной формой (сокращенно совершенной д. н. ф.) функ- функции f(xn). Кроме приведенных выше разложений булевых функций, широко используются еще такие разложения: а) /(?") = & (<^<2у...у<ьу/^:::^(гп)), E) где 1 ^ %\ < %2 < ... < ik ^ n (k ^ 1) и конъюнкция берется по всем наборам (cri, сг2, ..., а к) из 5fe; б) /(ЖП) = (Ж; V /(ЖЬ . . . , Ж;_Ь 1, Xi+b . . . , Жп)) X X (Xi V /(ЖЬ . . . , Ж;_Ь 0, Жг+1, . . . , Хп))\ F) в) /Bn) = & D1 V 42 V ... V <» V /(Gi, t72, ..., GП)); G) г) /Bn)= & (xfVxf2V...V<»), (8) где конъюнкция берется по всем наборам а = (cri, сг2, ..., ап) G 5П, на которых функция f(xn) обращается в 0, и предполагается, что f(xn) ф 1; правая часть формулы (8) называется совершенной конъ- конъюнктивной нормальной формой (сокращенно совершенной к. н. ф.) функции f(xn); д) f(xn)= Ф x?1x?2---<:fi\il:::t{*n)i (9) (СГ1,СГ2, ...,CTfc) где 1 ^ %\ < %2 < ... < ik ^ п (к ^ 1) и суммирование ведется по mod 2 и по всем наборам (cri, сг2, ..., сг^) из Вк; е) /(жп) = Xif(xu ..., ж;_1, 0, xi+i, ..., хп) 0 . . . , Жг-1, 1, Жг+1, • • • , Жп); A0) ж) /(жя)= 0 жр^2...^/^!,^, ...,GП); A1) (СГ1,СГ2, ...,СГП) где суммирование (по mod 2) ведется по всем наборам а — 02? • • • •> о'п) ^ Вп, на которых функция fix71) обращается в 1.
§ 2. Специальные представления булевых функций 41 Пример 1. Разложить по переменной Ж1, применяя формулы B) и F), и представить в совершенных д.н.ф. и к.н.ф. следующие функции: 1) ЛОь ж2) =хг] 2) /2(жь х2) = х2; 3) /з(жь ж2) = хх М х2\ 4) /4(жь ж2) = xi -> ж2; 5) /5(жь ж2, жз) = ^2 ~ ж3; 6) /6(Ж1, Ж2, Х3) = Ж1Ж2 ->" Ж3. Решение. 1) Так как Д@, х2) = 0 = 1 и ДA, ж2) = 1 = 0, то, используя формулы B) и F), получаем Д(ж1, ж2) = afi = afi • 1 V \/хг -0 = (xi V0) • (хг V 1). Далее имеем Д@, 0) = Д@, 1) = 1 и /i(l, 0) = /i(l, 1) = 0. Значит, для построения совершенной д.н.ф. функции Д надо взять наборы @, 0) и @, 1) (функция Д равна 1 только на них), каждому из этих наборов сопоставить соответству- соответствующую конъюнкцию (набору @, 0) — конъюнкцию х^х^ = Ж].ж2, набо- набору @, 1) — конъюнкцию х\х\ =x~ix2), а затем полученные конъюнк- конъюнкции соединить знаком дизъюнкции: ~х{х2 У~Х\Х2. Аналогично, для построения совершенной к.н.ф. функции Д надо взять все наборы, на которых Д обращается в 0, т.е. наборы A, 0) и A,1), каждому из этих наборов сопоставить соответствующую дизъюнкцию (набору A, 0) — дизъюнкцию ж} V ж20 = х\ V х\ = ~х~\ V ж2, набору A, 1) — дизъюнкцию х\ V х\ — х\ V х\ —~х\ VaF2), а затем полученные дизъюнкции соединить знаком конъюнкции: (х\ V х2) * *(хг Ух2). 2) Д@, х2) = х2 и /2A, х2) = ж2. Значит, разложения B) и F) по переменной х\ для функции /2 таковы: /2(#i, ж2) = xi • х2 V xi • ж2 и /2(жь ж2) = (xi Vx2) • (хг Vx2). Далее, /2@, 0) = /2A, 0) = 0 и /2@, 1) = /2A, 1) = 1. Следовательно, совершенная д. н. ф. функции /2 имеет вид х\ • х\ V х\ • х\ = ~х\х2 V xix2, а совершенная к. н. ф. такова: (х? V ж20) • (xl V ж20) = (ж} V х\) • (ж? V х\) = (Ж1 V ж2) • (жх V ж2). 3) /з@, ж2) = 0 V х2 = ж2, /зA, ж2) = 1 V ж2 = 1. Поэтому имеем /з(жь ж2) = Ж1 • ж2 V хг • 1 и /3(жь х2) = (жх V 1) • (x± V ж2). Вычис- Вычисляя значения функции /з на различных наборах значений переменных, получаем /3@, 0) = 0, /3@, 1) = /3A, 0) = /3A, 1) = 1. Затем строим совершенные дизъюнктивную и конъюнктивную нормальные формы функции /3: х\х\ V х\х\ V х\х\ — ~Х\Х2 V х{х2 V х±х2, х® V х® = х\ V х\ — Х\ V ж2. 4) /4@, ж2) = 0 -»> ж2 = 1, /4A, ж2) = 1 ->• х2 = 0 V ж2 = х2. Сле- Следовательно, /4(^l, Х2) =Х~\'\\1Х\'Х2 И /4(^1, Ж2) = (x~i V Ж2) & & (яп VI). Далее, /4@, 0) = /4@, 1) = /4A, 1) = 1 и /4A, 0) = 0. Значит, совершенная д. н. ф. функции /4 имеет вид х^х® V х\х\ V У х\х\ = Ж1Ж2 V Ж1Ж2 V Ж].ж2, а совершенная к. н. ф. такова: х\ \/ж20 = \ — х\\1 х\—^\М х2. 5) /5 @, ж2, жз) = /бA5 ж2, жз) = х2 ~ хз- Поэтому разложения этой функции по переменной жх, полученные по формулам B) и F), та- таковы: Ж1 • (ж2 ~ жз) V Ж1 • (ж2 ~ ж3) и (ж1 V (ж2 ~ Жз))(ж1 V (ж2 ~ Жз)). Вычисляя значения функции Д на различных наборах значений пе-
42 Гл. I. Способы задания и свойства функций алгебры логики ременных, имеем /5@, 0, 0) = /5A, О, 0) = /5@, 1, 1) = /5A, 1, 1) = 1 и /5@, О, 1) = /5A, О, 1) = /5@, 1, 0) = /5A, 1, 0) = 0. Совершенная д. н. ф. у /5 имеет вид Ж1Ж2Ж3 У х\х%Х^ V х\х\х\ V' х\х\х\ = Ж1Ж2Ж3 V' Х\Х2~Хз УХ\Х2Хз V Х\Х2Хз, а совершенная к. н. ф. такова: (х? V ж20 V xl) • {xl V ж20 V Жз1) • (ж!0 V х\ V ж30) • [х\ V а^1 V ж30) = = [х\ \1 х2\1 ж3) • (xi V ж2 V ж3) • (xi V ж2 V ж3) • (#1 V х2 V ж3). 6) /6@, ж2,ж3) = 0 ->• хз = 1, /бA, ж2, х3) = 1 • ж2 ->• ж3 = ж2 ->• —>¦ ж"з. Следовательно, разложения этой функции по переменной х±, полученные по формулам B) и F), имеют вид ~х\ • 1 V х\ • (ж2 —> ~х~з) и (x"i V (ж2 —>- ж"з)) • (x"i V 1). Вычисляем значения функции /б на различных наборах значений переменных: /б @, 0, 0) = /б@, 0, 1) = = /6@, 1, 0) = /6@, 1, 1) = /6A, 0, 0) = /6A, 0, 1) = /6A, 1, 0) и /бA, 1, 1) = 0. Значит, совершенная д.н.ф. функции /б такова: Ж1Ж2ж3 V Ж1Ж2ж3 V Ж1Ж2ж3 V Ж1Ж2ж3 V xix2x3 V xix2x3. Совершенная к. н. ф. функции имеет вид ~х\ V ж2 V ~х~з • Замечание. Совершенная дизъюнктивная нормальная форма функции f{x\) = ~х\ (как функции от одной переменной ~х\) совпадает с совершенной к. н. ф. и есть просто ~х\. В самом деле, /@) = 1 и /A) = 0; следовательно, совершенная д.н.ф. функции f(x\) =~x\ имеет вид x\=~xi и совершенная к.н.ф. такова же: ~х\ = х® =~х\. Аналогичное утверждение справедливо и для функции /(ж2) = ж2: ее совершенные дизъюнктивная и конъюнктивная нормальные формы совпадают с ней самой, т.е. с ж2. Эти факты интересно сравнить с соответствующими результатами для функций Д и /2 из приведенно- приведенного выше примера. Пример 2. Представить в совершенной д.н.ф. и совершенной к.н.ф. функцию /(ж3) = @1101001). Решение. Функция / принимает значение 1 на наборах, номера которых равны 1, 2, 4 и 7, т.е. на наборах @, 0, 1), @, 1, 0), A, 0, 0) и A, 1, 1). Конъюнкции, соответствующие этим наборам, имеют вид XXX ^ Х\Х2Хз j X-^X^Xq ^ Х\Х2Хз j X-^X^Xq ^ Х\Х2Хз И XXX ^ = х\х2хз. Значит, совершенная д.н.ф. функции /(ж3) такова: ~х{х2хз V Ж1Ж2ж"з V ххх^з V х\х2хз- Для построения совершенной к. н. ф. рассматриваем все те наборы, на которых функция / обра- обращается в 0. Это наборы @, 0, 0), @, 1, 1), A, 0, 1) и A, 1, 0). Соот- Соответствующие им дизъюнкции имеют вид х® V ж20 V ж30 = х\ V х\ V х\ = хх V х2 V ж3, xl V х\ V х\ = х\ V х% V х\ = Ж1 V ж2 V ж3, Ж!1 V ж20 V х\ = ж? V х\ V ж3 = Ж1 V х2 V ж3, Ж!1 V ж2 V ж30 = х\ V ж2 V Жз = хг V ж2 V ж3. Перемножая эти дизъюнкции, получаем совершенную к.н.ф. функ- функции /: {х\ V х2 V Жз) • (^1 V ж2 V ж"з) • (x"i V ж2 V ж"з) • (x"i V ж2 V Жз).
§ 2. Специальные представления булевых функций 43 Пример 3. Представить в совершенной к. н. ф. xi~, х2- и 3-компоненты функции /(ж3) = (х\ —У ~х2х3) 0^2, рассматривая их как функции, зависящие только от «оставшихся» переменных. Решение. х\-компонентой функции /(ж 3) является /i(^3) = /Aj Ж2, х3) = A ~^х2х3) 9ж2 = @ \/х2х3) 9ж2 = ж2 = ж2 V х3. Аналогично, ~х2-компонента функции /(ж3) есть функция /qE?3) = = f(xi, 0, жз) = (xi —У 0 • жз) 0 0 = Ж1 —>¦ жз, а Ж2Ж3-компонента — функция fiQ3(x3) = /Oi, 1, 0) = (ял -У Т • 0) 0 1 = хг 0 1 = жь Оче- Очевидно, что совершенная к. н. ф. функции (fi(x2, Ж3) = ж2 V жз совпа- совпадает с ней самой, совершенная к.н.ф. функции <p2(xi, Ж3) = жх —>¦ х3 есть ж} V ж30 = ж? V Хз = ^1 V ж3 и, наконец, совершенная к.н.ф. функции (f3(xi) — х\ — это просто х\. Пример 4. Доказать, что если /о(жп) = f[{xn) для всякого г A ^ г ^ п), то функция f(xn) есть константа. Решение. Разложив функцию / по переменной ж« (см. форму- формулу B)), получаем (хп) = Xifi(xn) V Xifi(xn) = Xifl{xn) V Xifi(xn) = = (xt V Xi)ti(xn) = 1 ¦ P0(xn) = P0{xn), т.е. xi — фиктивная переменная функции f(xn). Так как Xi — произвольно выбранная переменная, то, значит, все переменные функ- функции f(xn) фиктивные. Следовательно, f(xn) есть константа. Пример 5. Среди функций, зависящих только от двух перемен- переменных х\ и Ж2, найти те, которые имеют наибольшее число разных под- подфункций. (Каждая подфункция функции /(жх, х2) рассматривается как функция, зависящая от обеих переменных х\ и х2.) Решение. Эту задачу можно решать следующим (громоздким, переборным) способом: выписать все функции, зависящие от перемен- переменных х\ и х2 (их 16!), затем для каждой из них найти все ее подфункции и выяснить, сколько среди них разных. Привлекая некоторые допол- дополнительные утверждения, удается сократить перебор. Например, можно воспользоваться следующими фактами (см. за- задачу 2.6): 1) если функция д(хп) может быть получена из функции f(xn) пе- переименованием переменных без отождествления, то число различных подфункций у функции f(xn) и д(хп) одинаковое; 2) у двойственных функций число различных подфункций одина- одинаковое; 3) если д(хп) = /(жп), то число различных подфункций у функ- функций f(xn) и д(хп) одинаковое. Принимая во внимание эти три утверждения, достаточно ограни- ограничиться рассмотрением пяти функций: 0, xi, x\x2j x\ 0 х2 и х\ —У х2.
44 Гл. I. Способы задания и свойства функций алгебры логики Нетрудно установить, что у функции 0 все подфункции равны ей самой, а у функции х\ три разные подфункции: 0, 1 и х\. У функции Х\Х2 разных подфункций пять: Ж].ж2, 0, Ж1, ж2 и 1. У функ- функции х\ 0 Х2 семь разных подфункций: х\ 0 ж2, #i, ж2, х\ 0 1, ж2 0 1, О и 1. Наконец, у функции х\ —У Х2 пять подфункций: х\ —у Х2-> 1^х2=х2, Ж1-^0 = Ж1, 1-^0 = 0 и 0^х2=хг ->1 = 0->0 = = 0—^1 = 1—^1 = 1. Итак, наибольшее число разных подфункций (семь) имеют следую- следующие функции, зависящие ot^i и^: Х\ 0 Х2 и х\ 0 Х2 0 1 = Х\ ~ Х2- Приведем еще одно решение данной задачи. Сначала заметим, что у функции, зависящей существенно хотя бы от одной переменной, чис- число различных подфункций не меньше трех (она сама и две констант- константные подфункции всегда отличны друг от друга). Поэтому тот случай, когда исходная функция есть константа, можно не рассматривать (ибо все ее подфункции просто совпадают с ней самой). Далее, если функция fix71) зависит существенно только от одной переменной, то она имеет вид ж?", где a Е {0, 1} (г = 1, 2). Очевидно, что у такой функции три различные подфункции: х\, 0 и 1. Теперь займемся исследованием функций, у которых обе перемен- переменные существенные. Возможны два подслучая: а) функция fix2) принимает некоторое значение а на трех наборах значений переменных, а другое значение а — на одном наборе); б) функция fix2) принимает каждое значение @ и 1) ровно на двух наборах. В случае а) в каждой паре подфункций (/@, ж2), /A, ж2)) и (/(ж1,0), /(ж1, 1)) ровно одна подфункция является константой a, a другая есть соответственно Жз и х\ (где а, г Е {0, 1}). Отсюда сле- следует, что у данной функции fix2) ровно пять различных подфункций: сама функция /(ж2), ж[, х%, 0 и 1. Перейдем к подслучаю б). Здесь ни одна из подфункций /@, ж2), /A, ж2), /(ж1, 0) и /(ж1, 1) не может быть константой. В самом деле, если, например, /@, ж2) = а, то функция /A, ж2) должна быть равна тождественное; но тогда (см. формулу B)) г/~2\ — — f Х1 ПРИ а = 0, 1 г \~x~i при а = 1, т.е. функция f(x2) зависит несущественно от переменной ж2, что противоречит условию, наложенному на функцию f(x2). Далее, так как функция f(x2) существенно зависит от обеих переменных, то /@, ж2) ^ /A, ж2) и /(ж1, 0) ^ /(ж, 1). Действительно, если, напри- например, /@, ж2) = /A, ж2), то, используя формулу B), получаем (ср. с решением примера 4): fix2) = жх/@, ж2) V xif(l, ж2) = xif(O, ж2) V V xif@, ж2) = (ж! V х\) • /@, ж2) = 1 & /@, ж2) = /@, ж2), т. е. пере- переменная х\ фиктивная. Это противоречит условию, наложенному на функцию fix2). Из всего сказанного относительно функций /@, ж2), /A, ж2), /(ж1, 0) и /(ж1, 1) следует, что /@, ж2) = Жз, /A, ж2) = = х% = х% = Жз, f(xi, 0) = ж[ и /(ж1, 1) = х\ — х\. Отсюда вытека- вытекает, что у функции f(x2) семь разных подфункций: она сама, 0, 1, ж[,
§ 2. Специальные представления булевых функций 45 ж[, х% и Х2- Нетрудно получить и выражение для функции /(ж2), воспользовавшись, например, формулой A0): /(ж 2) = Ж1Ж2 0 Ж1Ж2 = (Xi 0 1) XG2 0 Ж1 (ж? 0 1) = i ~ ж2, если а = О, 1 0 ж2, если а = 1. (Здесь, как и выше, мы использовали эквивалентности ха = ха = = ж°" 0 1, а также очевидные тождества ха =ж~сг = ж0сг01.) 2.1. Рассматривая соответствующую компоненту функции /(жп) как функцию, зависящую от всех переменных жх, ж2, ..., жп, предста- представить ее в векторной форме: 1) /(ж3) = Ж1 —> (ж2 0жЖз), ж2-компоненту; 2) /(ж3) = Ж1Ж2 | (ж2 —У Ж1Ж3), ж"з-компоненту; 3) /(ж3) = (ж~1 V ж2 V Жз) -j- (ж! —>¦ (ж2 —>¦ Жз)), Ж1 -компоненту; 4) /(ж3) = @1110100), ж 1-компоненту; 5) /(J3) = A1001110), ж2-компоненту; 6) /(г3) = A0011110), жз-компоненту; 7) /(ж4) = (ж! 0 ж2) —>¦ (жз —> Ж1Ж4), ж2ж-компоненту; 8) /(ж4) = (ж! V ж2ж"з V ж4) 0 (ж!Ж2жз —>¦ ж4), Ж1Ж2жз-компоненту; 9) /(г4) = @101011011100011), Ж1Ж4-компоненту; Ю) /(г4) = A101101100001001), ж2ж3ж4-компоненту. 2.2. Используя Xi- и ж>компоненты функции /(жп), построить в векторной форме ее ж J -компоненту, причем эту компоненту следует рассматривать как функцию, зависящую от всех перемен- переменных Ж1,ж2, ..., жп: 1) /о (ж3) = ж2 —у жз, fi(x3) = ж2, ж~з-компоненту; 2) /q(?3) = Ж1, /2(ж3) = Ж1 ~ Жз, Ж1 -компоненту; 3) /03(?3) = @0111100), Л3(г3) = (ШЮООО), ж2-компоненту; 4) /о (ж3) = A0101111) , /2(ж3) = Ж1 | ж3, ж3-компоненту; 5) /о (ж4) = Ж1 0 Ж4, /^(ж4) = ж2 V Ж4, ж2-компоненту; 6) /о(ж4) = Ж1 —>- Ж3Ж4, /^(ж4) = Ж1Ж3Ж4, Ж4-компоненту; 7) /0Нж4) = ж2ж3 0ж4, /Лж4) = A011011110110111), жз-компо- жз-компоненту. 2.3. Представить в совершенной д.н.ф. следующие функции: 1) /(ж3) = (ж! V ж2) -^ ж3; 2) /(ж3) = (ж! ^ ж2) 0 (жх | ж2ж3); 3) /(г3) = @1010001); 4) /(г3) = (ОШЮОО); 5) /(г3) = A0001111); 6) /(г4) = (Ж1 -> ж2ж3ж4) • (ж3 -+ Ж1Ж2); 7) /(г4) = (ж! 0ж2) • (ж3 -^ ж2ж4); 8) /(X4) = @100100011000010); 9) /(г4) = A000011100110001); 10) /(г4) = A100100010010011).
46 Гл. I. Способы задания и свойства функций алгебры логики 2.4. Представить в совершенной к. н. ф. следующие функции: 1) /(г2) = хг 0 х2; 2) /(г2) =х±1 х2; 3) /(ж3) = х{х2 V xix% Vx2x3; 4) /(ж3) = xix2 0ж3; 5) /(г3) = @1011101); 6) /(г3) = @0101110); 7) /(ж4) = (жх V х2 V ж3) • ж4 V Ж1Ж2ж3; 8) /(г4) = хг -* (х2 -^ х3х4); 9) /(г4) = @101111101110011); ю) /(г4) = @110Ш0Ш00101). 2.5. Представить в указанной форме соответствующую компонен- компоненту функции f(xn) (рассматривая эту компоненту как функцию от «оставшихся» переменных): 1) /(ж3) = х{х2 —У ж"з, ^-компоненту в совершенной к.н.ф.; 2) /(ж3) = (х\ | х2) • ж"з, ж"з-компоненту в совершенной д.н.ф.; 3) f(x3) = xix2 ~ (х2 ~ ж"з), х2-компоненту в совершенной д. н. ф.; 4) /(ж3) = A1101101), ж2-компоненту в совершенной д.н.ф.; 5) f(x3) = @1011011), жз-компоненту в совершенной к.н.ф.; 6) /(ж4) = (х\ V ~х2 V жз)ж V Ж1Ж2Ж3, Ж2Жз-компоненту в совершен- совершенной д. н. ф.; 7) /(ж4) = х\ ->• ((ж2ж3 ->• ж4) ->• ж2), ж2-компоненту в совершен- совершенной к. н. ф.; 8) /(ж4) = {{х\ | ж2) ^жз) | (х2 ],Х4), ~х~з-компоненту в совершен- совершенной к. н. ф.; 9) f(x4) = @110111010110111), ж2Ж4-компоненту в совершенной Д.н.ф.; 10) /(ж4) = A011011101111000), Ж4-компоненту в совершенной к.н.ф. 2.6. Доказать, что число различных подфункций у функций f(xn) и д(хп) одинаковое, если: 1) функция д(хп) получается из функции f(xn) переименованием переменных без отождествления; 2) функция д(хп) получается из функции f(xn) заменой некото- некоторых (быть может, всех) переменных на их отрицания; 3) д(хп) = JW); 4) функции f(xn) и д(хп) двойственные. 2.7. Подсчитать число различных подфункций у функции /(жп), х\- и ~х\-компоненты которой известны (напоминаем, что подфунк- подфункции функции f(xn) следует рассматривать как функции, зависящие от всех переменных х±, ж2, ..., хп): 2)/о1(гп)=ж20...0жп, fi(zn) =ж2 0...0жп 3) fi(xn)=x2...xn, fl(xn)=x2...xn (n^2); 4) f?(xn) =x2...xn\/x2...xn, fl(xn) =x2...xn 5) fi(xn)=x2...xn, fl(xn)=x2V...Vxn (n^ 6) fi(xn)=x2V...Vxn, fi(xn)=x3V...Vxn (
§ 2. Специальные представления булевых функций 47 / «/ О V / — •*y3*****y?i5 «/1 V / — «^2 * ^ 3 V ^ )' О\ fl/~n\ _ ™ __v ™ fl/~n\ _ 7v7o 7v7 /^ \ O\ U I / О V / — ^ 77-5 / 1 V / — О * * * 77- V ^^ J * 2.8. Найти число функций f(xn), удовлетворяющих условию: foo(xn) = fli{xn) при всех г, j таких, что 1 ^ г < j ^ п. 2.9. Показать, что число различных функций /(жп), для кото- которых данная функция f(xk) является подфункцией, не меньше 22 — /o2fc i\2n-fc /l < \ — ^Z — ±^ yrv ^ ILj. 2. Дизъюнктивные и конъюнктивные нормальные формы. Формула х^ &ж^22 & ... &ж^г, где о^ е {0, 1}, ж^ = xik, x\k = ж^, ik G {1, 2, ..., n}, fc = 1, 2, ..., г (г ^ 1 и n ^ 1), называется конъюнкцией над множеством Хп = {^i, х2, ..., жп}. Аналогично, формула х^ V ж^22 V ... V ж^г называется дизъюнкцией над множест- множеством Хп. Если Х{. ф X{h при j ф к, то конъюнкция (соответственно дизъюнкция) называется элементарной (сокращенно э. к. и э. д. соот- соответственно). Выражения вида х°к называются буквами. Число букв в э. к. (и в э. д.) называется рангом э. к. (соответственно э. д.). Констан- Константа 1 считается по определению э. к. нулевого ранга, а константа 0 — э. д. нулевого ранга. Формула вида <2) = КгМ К2\/ .. .V К A3) (^краткая запись \/ Kij, где Ki — попарно различные элементарные г = 1 конъюнкции (г = 1,2,...,з)и?^1, называется дизъюнктивной нор- нормальной формой (сокращенно д. н. ф.). Формула вида ^ = JD1&JD2& ...&DS A4) s (краткая запись & Di), где Di — попарно различные элементарные дизъюнкции (г = 1,2, ..., s) и s ^ 1, называется конъюнктивной нормальной формой (сокращенно к. н. ф.). Число s в формулах A3) и A4) называется соответственно длиной д. н. ф. и длиной к. н. ф. Сумма рангов всех конъюнкций, входящих в д.н.ф., называется сложностью д. н. ф. Аналогично, сумма рангов всех дизъюнкций, входящих в к. н. ф., называется сложностью к. н. ф. Дизъюнктивная (соответственно конъюнктивная) нормальная форма над множеством переменных Хп = {х\, х2, ..., хп} называ- называется совершенной, если она составлена из элементарных конъюнкций (соответственно элементарных дизъюнкций) ранга п (ср. с определе- определением в п. 1). Простейший (но весьма громоздкий) способ построения дизъюнк- дизъюнктивных и конъюнктивных нормальных форм для булевых функций состоит в использовании эквивалентных преобразований. Пример 6. С помощью эквивалентных преобразований пост- построить д. н. ф. функции /(ж4) = ((хг ->• х2х3) • (х2 0 х3х±) ->• ~Х\Х2х^) V \11Х\Х2.
48 Гл. I. Способы задания и свойства функций алгебры логики Решение. Используя основные эквивалентности из § 1, преоб- преобразуем «постепенно» части формулы, задающей функцию /(ж4), к Х2 \jp Ж3Ж4 — Х2Х^Х 4 V « On ^х2х3)(х2®х3х4 = (ж1 V х2х~\ = (Ж1 V Ж2^ = ~Х\ V Ж2Ж = Ж^ЖгЖз V Жг(ж = Ж1(Ж2 V¦ = Ж1Ж2 V = х{х2 V Ж1 /(ж4) = х{х2 V Ж1Ж3 V 1 = Ж1Ж2 V Х\Ь = : = х\ —У х2х3 = Х\ V Ж2Ж3; Г2Ж3Ж4 = ^2(жз V Ж4) V a ) -> Ж1Ж2Ж4 = 3)(X2(X3VX4)VX2X3X4) r3)(x2(X3VX4)Vx2X3X4; з V х2(х% V Ж4) V Ж2Ж3Ж4 з V Ж4) & Ж2Ж3Ж4 V x~ix2u %з) V (ж2 V жз V ж~4) (ж2 V VxlX2Xi = Xlx3V(x2Vx3x4)(x2V VxlX2x4 = Xs V Ж2Ж3 V Ж2Ж4 V ^2^3; С2Ж3 V Ж2Ж4 V Ж2Ж3Ж4 V Vx1x2x4Vx1x2 = Рз V Ж2Ж3 V Ж2Ж4 V x2x%i V ял V х2 = С2Ж3Ж4 V Ж1Ж2Ж4 V Ж1 V а = x2x4VXl Vx2 = ^ Ж^ V Х2 V Ж4 • ;2ж3ж4; ^Х1Х2 ) V Ж1Ж2 V Х\Х2гл ?4 -- ' ж3 V ж4 (см. ж3 Vx4) (см. Х4 V Ж].2 '4 v Jb\Jb\ •2 = = Очевидно, что полученная д. н. ф. является и к. н. (см. 8 Ж4 —— (см. 7 3,в), V 3,в), ^2^4 V (см. 2хА V ф. (см. 8, в)) ,а) и 4, а)) (см. 8, в)) (см. 4, а)) (см. 4,6)) ,Д) и 4, а)) 4,6), 7,д)) 7,а), 7,в)) ; 4,а),7,д)) (см. 5, а)) (см. б, а)) (см. 5, а)) (см. б, а)) Если булева функция задана некоторой д.н.ф., то совершенную д. н. ф. этой функции можно получить, используя преобразования вида А — А- х\1 А-~х и А\1 А — А. Аналогично, совершенная к. н. ф. буле- булевой функции может быть построена из какой-либо к. н. ф. этой функ- функции с помощью преобразований вида А = (А\/ х) • (А\/х) и А- А — А. Дистрибутивный закон x-(yVz)=x-yVx-z (см. 3, а) в § 1) сов- совместно с эквивалентностями ж • ж = ж, ж-ж = 0, Л-0 = 0, AV 0 = А и законом поглощения А V А • В = А позволяет переходить от к. н. ф. булевой функции к некоторой д. н. ф., задающей эту же функцию. Ана- Аналогично, используя дистрибутивный закон ж V у • z = (х V у) • (х V z) (см. 3, б) в § 1), эквивалентности ж V ж = ж, ж V ж = 1, А V 1 = 1, А • 1 = А и закон поглощения А • (А V В) = А, можно из д. н. ф. буле- булевой функции построить некоторую к. н. ф. той же функции.
§ 2. Специальные представления булевых функций 49 Пример 7. Используя преобразования вида А = А • х V А • х и А V А = Л, построить совершенную д.н.ф. функции f(x3) = = afi V Ж1Ж2 V ж2ж3. Решение. Функция / задана д.н.ф. Каждая из входящих в эту д. н. ф. конъюнкций элементарная. Значит, для построения совершен- совершенной д. н. ф. достаточно «пополнить» каждую из конъюнкций недос- недостающими буквами х°, применяя соотношение А = А • xV А -~х, а затем устранить повторения («привести подобные слагаемые») с помощью эквивалентности А V А — А. Имеем ~х~\ = ~x~ix2 V ~x~i~x2 = = W\X2x3 V Ж1Ж2Ж3 V Ж1Ж2Ж3 V Ж1Ж2Ж3, X\W2 = X\W2x3 V Ж1Ж2Ж3, х2Т3 = = xix2x3 V xix2x3. Следовательно, /(ж3) = ~х~\ХгХъ V xix2x3 V Ж1Ж2Ж3 V Wx~i~x2~x3 V х{х2х3 V Х\Х2~х3 V Ж1Ж2Ж3. Пример 8. Применяя дистрибутивный закон х V yz = (х V у) х х (xV z) и эквивалентности iVx = l, Л V 1 = 1 и А • 1 = А, преоб- преобразовать д. н. ф. х\ V xix2 V ж2ж3 в к. н. ф. Решение. Имеем х\ V xi • х2 = (#i V Ж1) • (#i V ж2) = 1 & (xi V V Ж2) = х\ V Ж2- Далее, (#i V Ж2) V Ж2Ж3 = {х\ У х2У х2) & (х\ У х2У \/х3) = (жх V 1) • (я?! Vx2 Vx3) = 1 • (я?! V х2 \/х3) = Xl\/ х2 \/х3. Пример 9. Подсчитать число функций /(жп), у которых со- совершенная к. н. ф. является одновременно и д. н. ф. (не обязательно совершенной). Решение. Совершенная к. н. ф. функции f(xn) есть «произве- «произведение» элементарных дизъюнкций ранга п: D\ • D2 • ... • Ds (s ^ 1). Если п = 1, то имеется три возможности: xi, ~x~\ и х\ • ~x~\. Очевидно, что дизъюнктивными нормальными формами являются только Х\ и ~х~\ (причем даже совершенными д.н.ф.). Пусть теперь п ^ 2. Если s ^ 2, то формула D\ • D2 • ... • Ds не может быть д. н. ф., так как в каждой элементарной дизъюнкции Di содержится не менее двух букв. Значит, нужно исследовать только случай, когда s = 1. Имеем f(xn) = х^1 V Ж22 V ... V хапп, где Gi G {0, 1} (г = 1, 2, ..., п). Каж- Каждая такая функция однозначно определяется заданием набора (cri, 02? • • • •> о'п). Следовательно, число соответствующих функций рав- равно 2П (при любом п ^ 1). Пример 10. Найти длину совершенной д.н.ф. функции f(xn) = = (хг V х2 V ... V хп) • (хг V х2 V ... V хп), п ^ 2. Решение. Принимая во внимание определение длины д.н.ф. бу- булевой функции и процедуру построения совершенной д.н.ф., описан- описанную в § 1, заключаем, что длина совершенной д. н. ф. равна мощности множества Nf (множества наборов, на которых функция / обращается в 1). Следовательно, достаточно выяснить, на скольких наборах зна- значений переменных выполняется равенство (afi V ~х2 V ... V ~хп) • {х\ V Vx2 V... V хп) = 1. Очевидно, что это равенство справедливо тогда и только тогда, когда ~х~\ V ~х2 V ... V ~хп = 1 и х\ V х2 V ... V хп = 1. Далее, элемен- элементарная дизъюнкция х°г V х^2 V ... V х^71 обращается в 1 на любом на- наборе, кроме набора (cri, cr2, ..., Wn), ибо если xi = Gi для некоторо- некоторого г, то х? = <' = 1 и <х V ... V <%х V ар V xfij1 V ... V xZn =1. 4 Г.П. Гаврилов, А. А. Сапоженко
50 Гл. I. Способы задания и свойства функций алгебры логики Значит, дизъюнкция ~х\ V ж2 V ... V хп равна 1 на всех наборах, за исключением единичного набора 1 = A, 1, ...,1),а дизъюнкция х\ V V Х2 V ... V хп равна 1 на всяком наборе, кроме нулевого: 0 = @, 0, ... ..., 0). Таким образом, получаем \Nf\ = 2П — 2. 2.10. С помощью эквивалентных преобразований построить д.н.ф. функции /(жп): 1) /(ж3) = (ж1 \/х2 Vx3) • [ххх2 V х3); 2) /(ж3) = (xix2 Ф ж3) • (хгхз -»• ж2); 3) /(ж3) = (хг ~ х2) V {xix3 ф (х2 -> ж3)); 4) /(г3) = (хг I х2х3) I ((хг | х2) I ж3); 5) /(ж3) = xi -> (х2 -»• ж3) Ф (ж1 | (ж2 Ф ж3)); 6) /(ж3) = Ж1Ж2 V х3 ~ (Ж1 7) /(ж3) = (ж1 V х2х3) • (х{х2 V жз) • (жхЖ2 V жз); 8) /(ж4) = (ж1 V ж2ж3ж4) • ((ж1 V ж4) Ф х2х3) V ж2 • (жз V 9) /(ж4) = (ж1 ->> ж2) • (ж2 -^ жз) • (ж3 -^ Ж1Ж4); 10) /(ж4) = (ж1 I ж2) • ((ж2 | ж3) V жхж4) • (ж1 I (ж3 | ж4)). 2.11. Используя эквивалентные преобразования, построить к. н. ф. функции /(жп): 1) /(ж2) = ((Ж1 -»> ж2) Ф (Ж1 | ж2)) • (Ж1 - ж2 • (ж1 -)> ж2)); 2) /(ж2) = Ж1Ж2 V (Ж1 | (ж2 V (Ж1 -> ж2))); 3) /(ж3) = Ж1Ж2 V~х2х3 V (ж1 —>¦ ж2жз); 4) /(ж3) = (ж1 ->• (ж2 ->• ж3)) Ф Ж1Ж2ж3; 5) /(ж3) = (ж1 - (ж2 -)> ж3)) V (ж2 6) /(ж4) = Ж1Ж2 V ж2ж3 V ж3ж4 V Ж1Ж4; 7) /(ж4) = (ж1 ~ ж2) V (жхжз ~ ж4) V ж2ж3. 2.12. Применяя преобразования вида А = A-~xV A- x и А\/ А = = Л, построить из заданной д.н.ф. функции fix71) ее совершенную д.н.ф.: 1) /(ж3) = Ж1Ж2 \/ж3; 2) /(ж3) = Ж1Ж2 V ж2ж3 \/Ж1Ж3; 3) /(ж3) = Ж1 V ж2ж3 \/ж2ж3; 4) /(ж3) = Ж1Ж2 V ж2ж3 \/ж3; 5) /(ж3) = Ж1 V ж2 V Ж1Ж3; 6) /(ж4) = Ж1Ж2ж3 V Ж1Ж3ж4; 7) /(ж4) = Ж1Ж2 V ж2ж4 V жзж4; 8) /(ж4) = х\ V ж2жз V жхж4. 2.13. С помощью преобразований вида А = (А V ж) • (Л V ж) и А- А — А построить из заданной к. н. ф. функции /(жп) ее совершен- совершенную к. н. ф.: 1) /(г3) = (ж! Мх2) -ж3; 2) /(г3) = (ж! Уж2) - (ж2 Уж3)-ж3; 3) /(ж3) = (ж1 V ж2) • (Ж1 V жз) • (ж2 V ж3); 4) /(ж3) = Ж1 • ж2 • (ж1 V ж3) • (ж1 V ж3); 5) /(ж3) = (ж1 Уж2) -ж2 • (ж1 Уж3) • (ж2 Уж3); 6) /(г4) = (Ж1 V ж2 V ж3) • (Ж1 V ж2 V ж4); 7) /(ж4) = (Ж1 V ж2) • (ж2 V ж3) • (ж3 V ж4); 8) /(ж4) = Ж1 • ж2 -ж3 • (ж1 Ч~х2Ч хг \/ж4).
§2. Специальные представления булевых функций 51 2.14. Используя дистрибутивный закон х(у У z) — ху У xz и эквивалентности х • х = х, ж • ж = О, А • 0 = 0, АУ 0 = А и Л V У А • В = Л, перейти от заданной к.н.ф. функции f(xn) к д.н.ф.: 1) /(ж3) = (хг Ух2) • (an Var3) • (х2 Vx3); 2) /(ж3) =Ж1 • (я?! Vx2 Vx3) • (х2 Ух3); 3) /(ж3) = (я?! Vx2) • (Ж1 Ух3) • (хг У х2 Vx3); 4) /(ж3) = (ж! V х2) • (хг У ж3) • (хг У ж3) • {х2 У ж3); 5) /(ж3) = (хг Ух2Ухъ) • (хг У х2 Vx3) • (хг У х2 Vx3); 6) /(ж4) = (жх V х2) • (х2 У х3) • (х2 У х4) • (х3 У ж4); 7) /(г4) = (ж1 V ж2 V х3 У х4) • (xi V ж2 V хз) • (^i V ж4). 2.15. Используя дистрибутивный закон х У у • z — (х У у) & (х У z) и эквивалентности х У х = ж, ж V ж = 1, Л\/1 = 1, А • 1 = А и Л • (Л V 5) = А, перейти от заданной д.н.ф. функции f(xn) к ее к.н.ф.: 1) /(ж3) = х{х2 У хз] 2) /(ж3) = Ж1Ж2 У х2х3 У х2х3; 3) /(ж3) = Ж1 V ж2ж3 V ж2ж3; 4) /(ж3) = жх V ж2 У х{х2х3\ 5) /(ж3) = Ж1Ж2 V ж2 V ж2ж3; 6) /(ж4) = xi^2 V ж2ж3 V ж2Ж4 V ж3Ж4; 7) /(ж4) = Ж1Ж2ж3ж4 Vxix2x3 Х/ж2ж4; 8) /(ж4) — х\У х2х3 У ~х\х3х4 У х2х3Х4- 2.16. Доказать, что переменная Х{ функции f(xn) ф. О является фиктивной тогда и только тогда, когда совершенная д. н. ф. этой функции вместе с каждой элементарной конъюнкцией Kj содержит также конъюнкцию К^ отличающуюся от Kj только г-й буквой, т.е. Kj = х°гК и К\ = х°гК', где X — конъюнкция ранга п — 1. Замечание. Справедливо также утверждение, двойственное задаче 2.16: переменная Х{ является фиктивной переменной функ- функции f(xn) ф. 1 тогда и только тогда, когда совершенная к.н.ф. этой функции вместе со всякой элементарной дизъюнкцией Dj содержит такую элементарную дизъюнкцию Di, которая отличается от Де- Делишь г-й буквой, т.е. Dj = х°1 У D и D\ — х°1 У D, где D — дизъюнкция ранга п — 1. 2.17. Подсчитать число функций /(жп), у которых совершенная д. н. ф. удовлетворяет следующему условию: 1) отсутствуют элементарные конъюнкции, у которых число букв с отрицаниями равно числу букв без отрицаний; 2) каждая элементарная конъюнкция содержит хотя бы две буквы с отрицаниями (п ^ 2); 3) отсутствуют элементарные конъюнкции, содержащие нечетное число букв с отрицаниями; 4) в каждой элементарной конъюнкции число букв с отрицаниями не больше числа букв без отрицаний; 5) какова бы ни была элементарная конъюнкция Kj, найдется (другая) элементарная конъюнкция К\, отличающаяся от Kj только первой буквой (т.е. Kj — х°гК и К\ — х°гК, где К — конъюнкция ранга п — 1); 4*
52 Гл. I. Способы задания и свойства функций алгебры логики 6) какова бы ни была элементарная конъюнкция К^ найдется элементарная конъюнкция К\, отличающаяся от Kj двумя первыми буквами (т.е. Kj = х^х^К и К\ = х^х^К, где К — конъюнкция ранга п — 2 (п ^ 2)). 2.18. Найти длину совершенной д.н.ф. функции /(жп): i)f(xn)= v ж^;> п^2; 3) 4) 5) 6) 7) 8) 2. fix fix fix fix fix fix 19. ") = (( n)=x ") = (• n) = (a n) = X ") = 0> Пусть (xi \ x2) L ~> (X2 ~ ..((Ж1 - "i Vx2) • rpn rp :i V ж2 V 1 *3) 1 • -^ (x3 - > ж2) ->> (xi V ж^ ж3 V ... множества Xm • • | Хп-г) У ... -»> (ж ж3) -^ ... >) -»> ж3 • . . . . Ш лп, Ухп)^ = {х\, .. 2-П5 77- ^ Z, п-1 ., Ж ^жп)...)), п: 1)^жп, п ^ 2; cn, n ^ 3; ^3; (ж3 ~ж4) ~ ... • ~ Xn-i) ~ Ж„), т} и Yn = {уг, ^ 4. не пересекаются. Предполагая, что длины совершенных д. н. ф. функ- функций /(жт) и g(yn) равны соответственно к и /, найти длины совер- совершенных д. н. ф. следующих функций: 1) f(xm) V g(yn); 2) Д2га) ¦ 5(?»); 3) f(xm) © ff(y»); 4) f(xm) -»¦ <?(у"). 2.20. Найти длину совершенной д.н.ф. функции /(жп) 0 #(жп), если известны длины совершенных д. н. ф. следующих функций: l)f(xn)-g(xn) и f(xn)\fg(xn); 2) f(xn)-> g(xn) и 5B")-^/Bя). 2.21. Доказать, что среди булевых функций, зависящих только от двух переменных х\ и ж2, причем от каждой из них существенным образом: 1) ровно восемь функций имеют д.н.ф. сложности 2; 2) не существует функций, у которых минимально возможная сложность д. н. ф. равна 3. 3. Полиномы Жегалкина. Элементарная конъюнкция назы- называется монотонной, если она не содержит отрицаний переменных. Константа 1 (т. е. элементарная конъюнкция нулевого ранга) счи- считается по определению монотонной элементарной конъюнкцией. Вы- Выражение вида тг тг . . Kl0if20...0ifs, A5) где Ki (i = 1, 2, ..., s) — попарно различные монотонные элементар- элементарные конъюнкции над фиксированным множеством переменных (в частности, над множеством Xn, n ^ 1), называется полиномом Жегалкина (или полиномом по модулю 2). Рассматривается также полином Жегалкина, соответствующий s = 0. Такой полином обо- обозначают через 0 (независимо от множества переменных) и считают по определению, что он равен константе 0. Наибольший из рангов элементарных конъюнкций, входящих в полином, называется сте-
§ 2. Специальные представления булевых функций 53 пенью этого полинома. Степень полинома 0 считается неопреде- неопределенной. Число s называется длиной полинома A5). Справедлива следующая Теорема (И. И. Жегалкин). Всякая булева функция единствен- единственным образом представима в виде полинома Жегалкина. Замечание. Здесь единственность понимается с точностью до порядка слагаемых в сумме и порядка сомножителей в конъюнкциях. И в дальнейшем мы считаем одинаковыми полиномы, различающиеся только порядком слагаемых в сумме и/или порядком сомножителей в конъюнкциях. Указанная единственность представления булевой функции поли- полиномом Жегалкина позволяет применять разнообразные методы по- построения соответствующих данной функции полиномиальных выра- выражений, заботясь лишь о том, чтобы результирующий полином был приведенным, т.е. не содержал одинаковых сомножителей в конъюнк- конъюнкциях и одинаковых слагаемых. Опишем три метода построения полиномов Жегалкина. Сначала введем специальную нумерацию монотонных элементар- элементарных конъюнкций (э. к.) над множеством переменных Хп = {х\, х2,... ..., хп}. Монотонной э. к. К сопоставляем вектор cf(K) = (<7i, <72,... ..., ап) из Вп, в котором Oi = 1 тогда и только тогда, когда х\ входит п в К. Номером э. к. К будем называть число г/(а(К)) = ^2 аг ' 2п~г. Константа 1 в этой нумерации будет иметь номер 0. 1. Метод неопределенных коэффициентов. Пусть Р(хп) — иско- искомый полином Жегалкина (реализующий заданную функцию f(xn)). Запишем его в виде Р(хп) = /30 • 1 0 Pi • Кг 0 /32 • К2 0 ... 0 /32п_! • К2п-и где Kj — элементарная конъюнкция с номером j(j = l, 2, ...,2П — 1). Вектор /Зр = (Д), /3i, ..., /?2w-i) будем в дальнейшем называть вектором коэффициентов полинома Р(хп). Нам нужно найти неизвестные коэффициенты /Зо, /3i, ..., 02п—\- Поступаем так. Для каждого a G Вп составляем уравнение Р(а) = = /E), где РC) — выражение, получающееся из формулы A6) при х = а. Это дает систему из 2П уравнений с 2П неизвестными; она имеет единственное решение. Решив систему, находим коэффициенты полинома Р(хп). 2. Метод, базирующийся на преобразовании вектора значений функции. Над векторами из В2 определяется (индукцией по п) опе- операция Т. а) Если п = 1 и а = (ао, «i), то Т(а) = (ао, «о 0 сц)- б) Предположим, что операция Т уже определена для каждого вектора а из В2 , и рассмотрим произвольный вектор а из В2 Пусть 5= (/Зо, Pi, ..., /32--ь7о,7ь •••, 72"-i) и 7ь
54 Гл. I. Способы задания и свойства функций алгебры логики (Si и ?j по индуктивному предположению известны). Полагаем Т(а) = (So, Su ..., S2n-i, S0®e0, Si 0?Ь..., S2n_i Ф^-i)- Мы сейчас покажем, что вектор Щ значений функции f(xn) связан с вектором /Зр коэффициентов полинома Р(хп), реализующего функцию /(жп), следующим образом: [Зр = Т(й/) и 5/ = Т(Cр). Сделаем это с помощью индукции по п. Базис индукции: п = 1. Тогда 5/ = (ао, ai) и в силу формулы A0) имеем /(#i) = x~if@) 0 #i/(l) = ао • ~x~\ 0 «i • x\ — = а0 • (xi 0 1) 0ai • xi = а0 • 1 0 (ао 0«i) *^i, т.е. J3P = (а0, «о 0 0ai)= T(o,f). Обратно, если /3Р = (/30j А), то P(xi) = /?о • 1 0 0/3i • жь а следовательно, /@) = Р@) = C0 и /A) = РA) =А®А, т.е. 5/ = Т(Cр). Базис индукции обоснован. Индуктивный шаг. Предположим, что утверждение верно для п = m ^ 1, и установим его справедливость при п = гп + 1. Пусть вектором значений функции f(xm+1) будет 5/ = (ao,ai, ... ..., «2^-1, «2™, a2m+i? • • • •> o^2m+1-i)- Тогда вектор значений afi-ком- afi-компоненты функции /(жт+1) есть Sfi = (ao, «i, ..., «2^-1), а век- вектор значений Ж1-компоненты есть 5^i = («2™, «2^+1, •••, ct2m+1-i)- (Здесь обе компоненты рассматриваются как функции, зависящие от переменных Х2, ..., #ш+ъ и наборы значений этих переменных счита- считаются стандартно упорядоченными — при естественном, по возраста- возрастанию номеров индексов, упорядочении самих переменных.) Используя индуктивное предположение, можем написать Т(Щг ) = Т((а0, ai, ..., a2rn_1)) = (SOj Si, ..., Й2--1), где (Jq, Ji, • • •, (^2^-1) — вектор коэффициентов полинома Ро(^2, • • • ..., xm+i), реализующего x"i-компоненту /q1, a (eo, ei, ..., ?2m-i) — вектор коэффициентов полинома Pi(#2, ..., #m+i), реализующего Ж1-компоненту j\. Применяя формулу A0) и расписывая полиномы Pq и Pi в виде A6), имеем f(xm+1) =Xi/01 0Ж1Д1 =Xi(J0 -KO0 Ji -Ki 0...0 (J2--l 'K2m_i) 0 0 Ж1 (e0 • Ко 0 ?i • Ki 0 ... 0 e2m_i • K2-_i) = So • Ko 0 Ji • Kx 0 ... ... 0 S2m_i • K2™-x 0 xi ((So 0 г0) • Ko 0 (Ji 0 ei) • Kx 0 ... где Xj — конъюнкция с номером j (j = 0, 1, ..., 2m — 1) над множест- множеством переменных {x2j ..., xm+i}. Если конъюнкцию Xj рассматривать над множеством {^i, Ж2, ..., xm+i}, то ее номер не изменится, так как в соответствующем ей новом наборе первая координата нулевая. В то же время номер конъюнкции x\Kj равен 2m + j, j = 0, 1,... ..., 2т — 1. Отсюда следует, что вектор коэффициентов полино-
§ 2. Специальные представления булевых функций 55 ма Р(жт+1), реализующего функцию /(жт+1), имеет вид (Зр = (So, Si, ..., #2т-ъ ^о 0 ?о? ^i Ф ?ъ • • • •> ^2m-i Ф ?2m-i)? т.е. совпадает с тем, который указан в определении операции Т. Итак, установлено, что /Зр =T(Sf). Докажем теперь обратное утверждение, т.е. что af = Тфр). Пусть рР = (А), Ри - - •, /Wi, /?2™, /32~+i, ..., /W-i). Тогда /3Ро = (fa, 0i, ..., /32~_i) и /3Pl = (/32™, /32™+1, „ ., /W-i), где Ро и ^i — полиномы, реализующие соответственно жi-компонен- жi-компоненту /о и xi-компоненту j\ функции /(жт+1). Очевидно, что /(О, ж2, ..., хт+1) = Р@, ж2, ..., a;m+i) = = /30 • ^0 Ф А • Ki 0 . . . /A, Ж2, . . . , Xm+i) где Xj — конъюнкция с номером j (j = 0, 1, ..., 2т — 1) над мно- множеством переменных {ж2, ..., xm+i}. Воспользовавшись форму- формулой A0), получаем /B™+1) = ^/о1 0 япА1 = /о1 0 xi • (/о1 0 Л1) = = Р@, ж2, ..., хт = /30 • Ко 0 А • Кг 0 ... 0 /32т-г • K2-_i 0 Xl((p0 0 /32-) • ^0 0 0 (А 0 P2™+i) • Кг 0 ... 0 (/52--i 0 P2m+i_i) • К2т_г) = = ро • Ко 0 А • Кг 0 ... 0 Р2™-г • K2m_± 0 (р0 0 /32-) • #2- 0 0 (A 0/?2-+i) - К2т+1 0 ...0 (P2™-i 0 /32-+i-i) -i^2-+i-b где конъюнкция Xj рассматривается над множеством {хг, х2,... ..., xm+i} и при j = 0, 1, ..., 2т — 1 совпадает с Kj, а при j = 2m, 2m + 1, ..., 2m+1 - 1 она равна #i • Kj_2m. Таким образом, доказано, что af = Т(Рр). Утверждение обосновано полностью. Используя доказанное утверждение, можно описать алгоритм построения вектора Рр коэффициентов полинома Р(хп), реализующе- реализующего функцию /(жп), имеющую вектор значений af. Пусть Щп=(ао, аг, а2, а3? • • • -> <*2i, «2i+i, • • -, a2n_2j a2n_!). Раз- Разбиваем вектор Щ на двумерные наборы: 70 = («0, OLl), 71 = («2, «з), ... -.., 7г = («2г, «2i+l), •••, 72--1-! = («2"-2, «2--l)« К каждому из них применяем операцию Т: ГGо) = К, «o0« = («2i, Ol2i 0 « Используя построенные наборы, конструируем такие четырехмерные наборы, которые получаются в результате применения операции Т к
56 Гл. I. Способы задания и свойства функций алгебры логики четырехмерным наборам, выделяемым из вектора Щ : Г(а0, аи а2, а3) = ГGо, 7i) = ТОо), ^(то) 0 0 Затем от четырехмерных наборов переходим (аналогичным образом) к восьмимерным и т. д., пока не построим 2п-мерный набор. Он и будет искомым вектором коэффициентов полинома Р(хп). Замечание. Здесь 2т-мерный вектор изображается многими способами: мы «расщепляем» его на «последовательные» двумер- двумерные, четырехмерные, восьмимерные и т.д. наборы. Например, для вектора (ао, «i, «2, <^з5 щ, «5, <^б5 аг) применяются такие записи: ((ао> ai)> («2, «з),_(«4, «5), («6, «7)), ((«о, «ь а2,аз), (щ, «5, «6, а^))- Сумма 5 0/3 наборов (векторов) одинаковой длины понима- понимается нами обычным образом: это покомпонентная сумма по моду- модулю 2, т.е. а 0 /3 = (ai 0 /3i, ..., ап 0 /Зп), если й = (ai, ..., an) и Д=С91,...,/3„). 3. Метод, базирующийся на преобразовании формул над множест- множеством связок {&, —}. Строят некоторую формулу Ф над множеством связок { & , —}, реализующую заданную функцию /. Затем заменяют всюду подформулы вида Л на Л 0 1, раскрывают скобки, пользуясь дистрибутивным законом А • (В 0 С) = А • В 0 А • С, и применяют эквивалентности А • А = Л, А • 1 = А, А(& А = 0 и Л0О = Л. Пример 11. Методом неопределенных коэффициентов построить полином Жегалкина для функции /(ж, у) = хУ у. Решение. Р(х, у) = До 0 Pi • х 0 /32 • у 0 /Зз • ху. Выписываем сис- систему уравнений для коэффициентов /Зо, /3i, /З2, /З3: /(О, 0) = 0 = А) 0 А • 0 0 C2 ' 0 0 (Зз ' 0, /@, 1) = 1 = 0о 0 /Зг • 0 0 /32 • 0 0 р3 • 0, / A, 0) = 1 = 0о 0 0! ' 1 0 02 ' 0 0 (Зз ' 0, /A, 1) = 1 = 0о 0 0г - 0 0 02 - 1 0 /Зз • 1. Решая эту систему, получаем 0о = 0, 01 = 02 = 0^ = 1. Следователь- Следовательно, xVy = xy(&x(&y. Пример 12. Преобразуя вектор значений функции, построить полином Жегалкина для функции /(ж3) = х±х2 V х±х% V х2хз. Решение. Имеем 5/ = @0010111). Разбиваем этот вектор на «последовательные» двумерные наборы: 7о = @5 0), 7i = @? 1)? 72 — = @, 1), 7з = A? !)• Затем последовательно применяем операцию Т к соответствующим векторам: ГGо) = @, 0 ® 0) = @, 0), TGi) = @, 0 ® 1) = @, 1), ГG2) = @, 0 е 1) = @, 1), ГGз) = A, 1 Ф 1) = A, О);
§ 2. Специальные представления булевых функций 57 ГGо, 71) = (ГGо), ГGо) 0 TGi)) = = (@,0), @,0H@,1)) = @,0, 0,1), )) = = (@,1), @,1HA,0)) = @,1, 1,1); T(af) = ГGо, 71, 72, 7з) = TOo, 7i), ^(То, 7i) © ТО, 7з)) = = (@, 0, 0, 1), (О, О, О, 1) 0 @, 1, 1, 1)) = @, 0, 0, 1, 0, 1, 1, 0) = /3Р. Таким образом, Р(х3) = 0 • Ко 0 0 • Кг 0 0 • К2 0 1 • К3 0 0 • К4 0 1 • Къ 0 0 1 • К6 0 0 • К7 = х2х3 0 хгх3 0 хгх2. Пример 13. Представив функцию f(x,y)=x^y формулой над множеством связок {&, —}, преобразовать затем полученную формулу в полином Жегалкина. Решение. Имеем x->y = x\/y = x-y = x-y = x-(y{Bl){Bl = = ху 0ж 0 1. Пример 14. На скольких наборах из Вп обращается в 1 поли- полином Р(хп) = 0 XiXj (n ^ 2)? Решение. Данный полином можно записать в следующем виде: Р(хп) = ххх2 0 (хг 0 х2) • х3 0 ... 0 (хг 0 ... 0 жп_2) • жп_1 0 \гЬ\ Ш • • • vP «^n—1 / «^П* В силу симметричности вхождения в него всех переменных дос- достаточно рассмотреть наборы вида A, ...,1,0, ...,0), О^г^п (при г = 0 это будет нулевой набор 0 = @, 0, ..., 0)). Если a^+i = • • • ... = хп = 0, то Р(хг, • • •, Xi, 0, ..., 0) = #i • х2 0 (#i 0 ж2) &х3 0 ... ... 0 (хг 0 ... 0 Хг-г) • Xi\ здесь число произведений вида х\~х\ равно, очевидно, f «j B ^ г ^ п), а при г = 1 и г = 0 таких произведений нет. Значит, РA, ..., 1, 0, ..., 0) равно 0 или 1 в зависимости от того, четно или нечетно число f 2 J (при г = 1 и г = 0 значение полинома на соответствующем наборе есть 0). Выясним теперь, при каких г число ( ^ J является нечетным. Если г = 4к или г = 4к + 1 2 J равно 2/;; • Dfc — 1) или Dfc + 1) • 2fc соответственно, а если г = 4& + 2 или г = 4А; + 3 (А; ^ 0), то Q^ равно Bк + l)Dfe + 1) или Dfc + 3)Bfc + 1). Следовательно, число B) является нечетным только тогда, когда г = 2, 3, б, 7, ..., 4fc + 2, 4fc + 3, ... Учитывая этот факт, заключаем, что число наборов, на которых полином Р(хп) обращается в 1, равно к=0 ч
58 Гл. I. Способы задания и свойства функций алгебры логики В частности, если п = 2, то существует только один такой набор [в этом случае вторая сумма вырождается в нуль: ^2 ( ль + q ) = ^)> а если п = 3, то таких наборов четыре 2.22. Методом неопределенных коэффициентов найти полиномы Жегалкина для следующих функций: 1) f(x2)=Xl |ж2; 2)/(г2) = @100); 3) /B3) = Xl(x2 V ж3); 4) /(г3) = ял -> (ж2 -> ж3); 5) /(г3) = @1101001); 6) /(г3) = A0001110); 7) /(г3) = (ОООООШ); 8) /(г3) = @1100110); 9) /(г4) = A000000000000001); ю) /(г4) = @0001000100Ю000). 2.23. Преобразуя вектор значений функции /(жп), построить по- полином Жегалкина для этой функции, если: 1) /(J2) = A000); 2) /(г2) = @010); 3) /(г3) = @1101110); 4) /(г3) = (ОШООП); 5) /(г3) = A0101110); 6) /(г3) = A0000100); 7) /(г4) = @000010001100111); 8) /B4) = A010101010110110); 9) /(г4) = @100000000010001); 10) /(г4) = @000000100010001). 2.24. Представив функцию f(xn) формулой над множеством свя- связок {&, —}, преобразовать затем полученную формулу в полином Жегалкина функции fix71) (используя эквивалентности А = А 0 1, А'(В®С)=А'В®А-С, А-А = А, А-1 = А, А®А = 0 и А® = А): 1) /E?2) = 3) f(x3) = 5) /(S3) = е) /(г3) = 7) /(г3) = 8) /(г4) = 9) /(г4) = ю) /(г4) = Х\ 7 \Х2 7 Х\Х2 xi 1 ((Ж1 -^ж2) V (Ж1 ^ (Ж2 ^ Хз)) (ж1 0 ж2) V (ж2 ^ ^ (Ж1 —У Х2) —>- (Жз - Ж1 V (ж2 ->• ((жз - = (Ж1 \/Ж2 \/Ж3)Ж4 ; 2)/B2)=ж з); 4)/(г3) = жз); • ((Ж1 ->• Ж2) ->• сз); ->- Ж1Ж4); > ж2) —>¦ Ж4)); \/Ж1Ж2Ж3. 1 • (ж2 ~ Х\Х2)] (ж1 V ж2) • (ж2 ж3); 2.25. Показать, что ж« является существенной переменной функ- функции f{xn) тогда и только тогда, когда х\ явно входит в полином Жегалкина этой функции. 2.26. Найти число: 1) монотонных элементарных конъюнкций ранга г над множест- множеством переменных Хп = {xi,x2j ..., хп} @ ^ г ^ п); 2) полиномов Жегалкина степени г над множеством перемен- переменных Хп @ ^ г ^п);
§ 2. Специальные представления булевых функций 59 3) полиномов Жегалкина степени г над множеством Хп, обра- обращающихся в 1 на наборе 1 @ ^ г ^ п); 4) полиномов Жегалкина длины к над множеством Хп, обра- обращающихся в 0 на наборах 0 и 1 @ ^ к < 2П); 5) полиномов Жегалкина степени г над множеством Хп, удов- удовлетворяющих условию: в полиноме не могут содержаться одновремен- одновременно (в качестве слагаемых) конъюнкции одинакового ранга @ ^ г ^ п). 2.27. Выяснить, на скольких наборах из Вп обращается в 1 поли- полином Р(хп): 1) Р(хп) = х\ • х2 0 х\ • х3 0 ... 0 х\ • хп = 0 xiXi, n ^ 2; i2 i=2 п 2) Р(хп) = Ж1 • х2 0 ж3 0 ... 0 хп = Ж1Ж2 Ф0^, п ^ 3; г=3 3) Р(хп) = Ж1 • ж2 0 х\ • хз 0 Х4 0 ... 0 хп = = Ж1Ж2 0 Ж1Ж3 0 _0 ж^, п ^ 4; 4) РBП) = Ж1Ж2ж3 Ф © ж», п ^ 4; г=4 5) Р(жп) = жх ... хк 0 ж^+1 ... хп, 1 ^ к < щ п 6) Р(хп) = 0Ж1...^0 1, п^ 1; г=1 п 7) Р(жп) = 0 хх ... Xi-iXi+i ... хп, п ^ 2; 1 9) P(S") = 0 XiXj Ф © ж<, n ^ 2. l^i<j^n г=1 2.28. Найти функцию f(xn), у которой длина полинома Жегал- Жегалкина в 2П раз превосходит длину ее совершенной д. н. ф. (п ^ 1). 2.29. Доказать, что функция /(жп), реализуемая полиномом Же- Жегалкина степени к > 0, принимает каждое из значений 0 и 1 не менее чем на 2п~к наборах из Вп (т.е. \Nf\ ^ 2п~к и |iNT/| ^ 2П~^). 2.30. Доказать, что для всякого / @ ^ / ^ 2П) существует полином Жегалкина Р(хп), обращающийся в 1 ровно на / наборах из Вп и имеющий длину, не превосходящую п. 2.31. Показать, что всякая булева функция /(жп), отличная от 8 константы 0, представима в виде 0 Ki, где К{ (г = 1, ..., s) — различные элементарные конъюнкции, каждая из которых содержит не более одного отрицания переменной, a s ^ 2п~1. 2.32. Пусть функция /(жп), где п ^ 3, зависит существенно от всех своих переменных и реализуется полиномом Жегалкина сте- степени п. Доказать, что найдутся две такие переменные, отождеств- отождествление которых уменьшает число существенных переменных ровно на 1.
Глава II ЗАМКНУТЫЕ КЛАССЫ И ПОЛНОТА СИСТЕМ ФУНКЦИЙ АЛГЕБРЫ ЛОГИКИ § 1. Понятия функциональной замкнутости и полноты Замыканием [К] множества К функций алгебры логики называ- называется совокупность всех функций из Р2, являющихся суперпозициями функций из множества К. Множество К называется (функционально) замкнутым, если [К] = К. Замкнутые множества называются также замкнутыми классами. Подмножество Р функций из замкнутого мно- множества К называется (функционально) полным в К, если [Р] = К. Полное в замкнутом классе К множество Р называется базисом класса К, если для всякого собственного подмножества Р' С Р вы- выполнено [Р'\ ф К. Подмножество Р функций из замкнутого класса К называется предполным классом в К, если [Р] ф К и для всякой функции / Е К\Р выполняется равенство [Р U {/}] = К. Функции Д и /2 назовем конгруэнтными, если одна из них может быть получена из другой заменой переменных (без отождествления). Например, функции ху и yz конгруэнтны, а функции ху и zz не являются конгруэнтными. При рассмотрении вопросов, связанных с замкнутыми классами, бывает удобно указывать по одному пред- представителю из множества попарно конгруэнтных функций. Напри- Например, класс {ж, у, z, ..., #i, Х2ч • • • }, состоящий из всех тождественных функций, будет обозначаться через {х}. Если А — некоторое множество функций, то через А(Хп) или, короче, через Ап будет обозначаться множество всех тех функций из Л, которые зависят только от переменных х\, Ж2, ..., хп. 1.1. Построить множество всех функций, зависящих от перемен- переменных xi, X2 и принадлежащих замыканию множества А: 1)А = {х}; 2)Л = {ж10ж2}; 3) А = {0, ж}; 4) А = {xlX2}; 5) А = {х\Х2 V х2х3 V x3xi}; 6) А = {х\ V ж2}; 7) А = {0, xi - х2}; 8) А = {ххх2, хх 0 х2}; 9) А = {xi ®х2 0ж3}; 10) А = {xix 11) Л = {xi 0 ж2 0 х3 0 1}; 12) Л =
§ 1. Понятия функциональной замкнутости и полноты 61 13) Л = {х{х2 V ж2ж3 V x3xi}; 14) Л = {xi V х2 V ж3}; 15) Л = {ж1Ж2 \/ж3}. 1.2. Показать, что / Е [Л], выразив / формулой над множест- множеством А: 1) / = ж, А = {О, х -+ у}; 2) / = х 0 у, А = {х I у}; 3) / = ж, А = {х®у}; 4) f = x®y®z, А = {х ~у}; 5) / = О, Л = {ху 0 2;}; 6) / = ж, А = {ж?/}; 9) f = xy, A = Ю) / = ж?/;? \/t(x\/y\/ z), A = {xy VyzV zx}\ 11) / = ж 0 у ф г, Л = {ж, од v 2/2 V zx}; 12*) / = ж ®у 0 z, Л = {ж^/ У у~2У ~2х}] 13) / = ж 0 ?/, Л = {ж|/, ж V |7}; 14) / = х V 2/, Л = {х -> у}; 15) / = ху, А = {х V ?/, ж 0 2/}. 1.3. Выписать все попарно неконгруэнтные функции /(ж3), при- принадлежащие замыканию множества Л: 1) Л = {1, х}; 2) Л = {^}; 3) Л = {х - ?/}; 4) Л = {ху V yzV zx}; 5) Л = {х 0 2/ 0 z 0 1}; 6) Л = {ж V ?/ V z}; 7) Л = {ж -> 2/}; 8) Л = {^ V z}; 9) Л = {ж|/} ; 10) Л = {ж(жУ|/)Й/У^)(^Уж)}. 1.4. Из полной для класса [Л] системы выделить базис: 1) Л = {0,1, х}- 2) А = {х®у,х~у,1}; 3) Л = {ж, ж 0 у, х 0 2/ 0 z}\ 4) Л = {ху, ж V у,ху\1 z}\ 5) Л = {ж V у,х -^2/}; 6) Л = {ж|/, ж^/}; 7) Л = {ж 0 2/ 0 2, ж|/ V y~z V ^"ж, ж}; 8) Л = {1, ж - у, х 0 2/ 0 z 0 1}; 9) Л = {ж^/, ху V ж;?}; Ю) Л = {ж, ж V ?/, х V 2/ V я, ху V я}. 1.5. Выяснить, какие из указанных ниже множеств являются замкнутыми множествами: 1) множество всех функций от одной переменной; 2) множество всех функций от двух переменных; 3) множество всех функций /(ж1, Ж2, ... хп) таких, что /A, 1, ... ..., 1) = 1, п^О; 4) множество всех функций /(жп), п ^ 0, таких, что /A, 1, ... ...,1)=0; 5) множество всех симметрических функций, т. е. таких функ- функций /(ж1, Ж2, ..., жп), что для любой подстановки (. . . ) спра- \%\ %2 • • • In/ ведливо равенство /(ж1, х2, ..., хп) = /(ж^х, ж^2, ... ,ж^п); 6) множество всех функций /(жп) таких, что \Nf\ = 2П~1; 7) множество всех функций, выражаемых полиномом Жегалкина не выше первой степени;
62 Гл. II. Замкнутые классы и полнота 8) множество всех функций, выражаемых полиномом Жегалкина не выше второй степени; 9) множество всех функций, допускающих представление в виде д. н. ф. и не содержащих отрицаний переменных; 10) множество всех функций, любая д. н. ф. которых содержит хотя бы одно отрицание переменной; 11) множество всех функций /(жп), п ^ 0, полином Жегалкина которых содержит 2П — 1 слагаемых; 12) множество всех функций /(жп), п ^ 0, полином Жегалкина которых содержит 2П — 1 слагаемых и не содержит 1 в качестве слагаемого; 13) множество всех функций /(жп), п ^ 1, таких, что \Nf\ = 1; 14) множество всех функций /(жп), п ^ 1, таких, что \Nf\ = 1 и /A, 1, ..., 1) = 0. 1.6. Доказать, что: 1) пересечение замкнутых классов является замкнутым классом; 2) объединение двух замкнутых классов, вообще говоря, не явля- является замкнутым классом; 3) разность двух замкнутых классов, вообще говоря, не является замкнутым классом; 4) дополнение непустого и отличного от Р2 замкнутого класса К до Р2 не является замкнутым. 1.7. Доказать, что класс Л, предполный в замкнутом классе К, является замкнутым. 1.8. Обосновать следующие свойства замыкания: 1) [[К]] = [К]; 2) из Кг С К2 вытекает [Кг] С [К2]; 3) [Кг П К2] С [Кг] П [#2]; 4) [Кг] U [#2] С [^ U К2]; 5) [0] = 0. 1.9. Выяснить, является ли множество А замкнутым классом. Предполагается, что вместе с каждой функцией / из А множеству А принадлежат и все функции из Р2, конгруэнтные /: 1)Л = {0, 1}; 2)А = {х}; 3) А = {х, х}; 4)A = {l,af}; 5) А = {хг • ... -хп, п = 1, 2, ... }; 6) Л = {жх 0 ... 0 жп, п = 1, 2, ... }; 7) Л = {0, an V...Vxn, n = l, 2, ...}; 8) Л = {жх 0 ... 0 Х2п-1, п = 1, 2, ... }; 9) Л = {0, Ж1 0 ... 0 ж2п-ь п = 1, 2, ... }; Ю) Л = {0, 1, Ж1 0 ... 0 хп 0 сг, сг G {0, 1}, п = 1, 2, ...}. 1.10. 1) Перечислить все замкнутые классы К С Р2 такие, что число попарно не равных функций в К конечно. 2) Перечислить все замкнутые классы К С Р2 такие, что число попарно неконгруэнтных функций конечно. 3) Указать множество Л С Р2 такое, что для каждого п ^ 1 число функций из [Л], существенно зависящих от переменных хг, •••, хп, равно: а) 1; б) 2.
§2. Класс самодвойственных функций 63 1.11. 1) Доказать, что если замкнутый класс в Р2 содержит функ- функцию, существенно зависящую от п^2 переменных, то он содержит бесконечно много попарно неконгруэнтных функций. 2) Верно ли, что если замкнутый класс К содержит функцию, существенно зависящую от п^ 2 переменных, то для всякого т ^ п он содержит функцию, существенно зависящую от т переменных? 1.12. Сведением к заведомо полным системам в Р2 показать, что множество А является полной системой в Р2: 1) А = {х I у}; 2) А = {ху 0 z, (x ~ у) 0 z}; 3) А = {х -+ у, ж 0 2/0 4; 4) А = (х^у, / = @1011110)}; 5) А = {0, т(х3) = Ж1Ж2 V х2х% V жз#ъ ж 0 ?/ 0 1}; 6) А = {ж - у, х 0 ?/, Ж2/ 0 2;}; 7) Л = {^ V xz, / = @1111110)}; 8) Л = {ху 0 ^ 0 1, / = A0110110)}; 9) А = {0, 1, х 0 у 0 я, ж?/ 0 zx 0 Z2/}; 10) Л = {ж|/ V z, x 0 2/}. 1.13. Выяснить, какое из отношений С, D, =, ^5 выполняется для множеств i^i, X2 из Р2 (отношение ^ означает, что не выполнено ни одно из отношений С, D, =): 1)К1 = [А1ПА2], К2 = [А1]П[А2\; 2) К, = [АДЛ2], if2 = [Ai]\[A2]; 3) ifi = [Ai U (А2 П ^з)], К2 = [Ах U А2] П [Ai U А3]; 4) Кг = [АДЛг], ЛГ2 = [А^А, П А2]. 1.14. Привести примеры замкнутых классов К\, К^ из Р2 таких, что Xi С К2, и таких, что: 1) К!Г\К2 = 0, If2\lfi 7^ 0, [#1 U if2] = Кх U К2; 2) JsTi n К2 ф 0, Х2\^1 ф 0, [Ki U К-2] = Кх U К2; 3) #i Э tf2, [i^i\if2] = /ГД/Гг; 4)if!nif2^0, К2\Кгф0, [К1\К2}=К1\К2] 5) ffi П K2 ф 0, Jf2\lfi 7^ 0, [#i Ф lf2] = Kx Ф К2. 1.15. Перечислить все предполные классы замкнутого класса: 1)К = [0,х]; 2) К =[0,1]; 3) К = [^]; 4) If = [ж 0 2/]; 5) К = [0, х V 2/]; 6) К = [1, ху]; 7) К = [ж 0 у 0 *]; 8) If = [ж 0 2/, 1]. 1.16. Доказать, что для любого замкнутого класса К С Р2 вы- выполнено равенство [К U {ж}] = К U {ж}. 1.17. Доказать, что каждый пред полный в Р2 класс содержит тождественную функцию. 1.18. Доказать, что всякий замкнутый класс в Р2, содержащий функцию, отличную от константы, содержит и функцию х. 1.19. Доказать, что множество Р2 всех функций алгебры логики не представимо в виде объединения непустых попарно непересекаю- непересекающихся замкнутых классов.
64 Гл. II. Замкнутые классы и полнота 1.20. Доказать, что если замкнутый класс Р2 имеет конечный базис, то всякий базис этого класса конечен. 1.21. Доказать, что если непустой замкнутый класс в Р2 отличен от множеств, состоящих из одних констант, то его нельзя расширить до базиса в Р2. 1.22. Доказать, что в замкнутом классе [х —у у] содержатся только такие функции из Р2, которые могут быть представлены (с точ- точностью до обозначения переменных) в виде xi V f(xn), где f(xn) G Р2. 1.23. Пусть функция f(xn) принадлежит множеству [х —У у] и зависит существенно не менее чем от двух переменных. Доказать, что \Nf\ >2n-1. § 2. Класс самодвойственных функций Функция /(#1, #2, • • • 5 хп) называется самодвойственной, если X2, • • •, хп) = /*(^i, X2, • • •, хп), или, что то же самое, если /Oi, ж2, ..., хп) = /(жь ж2, ..., хп). Из этого определения вытекает, что функция является самодвойст- самодвойственной тогда и только тогда, когда на любых двух противоположных наборах значений переменных она принимает противоположные зна- значения. Класс самодвойственных функций будет обозначаться через S. Из определения S вытекает, что |5П| = 22П~1. Справедливо следующее утверждение, называемое обычно леммой о несамодвойственной функции: если функция f(xn) не является самодвойственной, то, подставляя на места ее переменных функции х и ж, можно получить константу. Если А — некоторое множество функций из Р2, то через Л* будет обозначаться множество всех функций, двойственных к функциям из множества А. Множество Л* называется двойственным к множест- множеству А. Если Л* = Л, то множество Л называется самодвойственным. Пример 1. Выяснить, является ли самодвойственной функция /, заданная вектором: a) af = A0110100); б) af = A0110010). Решение. Из определения самодвойственной функции вытекает, что на противоположных наборах она принимает противоположные значения. Поэтому вектор af самодвойственной функции f(xn) имеет вид ~ / — — — \ af = (^0, «1, • • • j «2--!-Ь «2--!-Ь . . . , «1, «О)- Таким образом, чтобы выяснить, является ли функция /(жп), задаваемая вектором (ао, «i, ..., a^-i), самодвойственной, следует проверить, получается ли вторая половина вектора из первой путем отражения и последующей расстановки отрицаний над координатами. В рассматриваемом примере вектор 5/ задает самодвойственную функцию в случае б) и несамодвойственную в случае а). Пример 2. При каких п функция /= & (xhVxi2V ...Vxi]n/2[) является самодвойственной?
§2. Класс самодвойственных функций 65 Решение. Заметим, что множество Nj, наборов а таких, что /E) = 0, состоит из всех наборов веса не выше п—]п/2[= [п/2]. Пусть п четно, тогда В™,2 С Nf. Пусть а — произвольный набор из В™,2. Противоположный набор а также принадлежит множест- множеству В™,2. Таким образом, /E) = /E) = 0, что противоречит само- самодвойственности. Следовательно, при четных п функция /(жп) не явля- [п/2] ется самодвойственной. Пусть теперь п нечетно. Тогда Nj = U Bf, Nf = U Bf. Очевидно, что a Е N-f тогда и только тогда, когда _Т i=]n/2[ f a Е Nf. Это и означает, что fix71) Е S при нечетных п. Пример 3. Какие из переменных несамодвойственной функ- функции /(ж3), задаваемой вектором 5/ = @1101101), следует заменить на ж, а какие на ж с тем, чтобы получить константу? Решение. Поскольку /(ж3) Е 5, то существует пара противопо- противоположных наборов, на которых функция принимает одно и то же зна- значение. Такими наборами являются в данном случае @10) и A01), причем /@10) = /A01) = 1. Если заменить х\ и жз на ж, а Х2 на ж (или х\ и жз на ж, а Ж2 на ж), то получим /(ж, ж, ж) = /(ж, ж, ж) = 1. 2.1. Выяснить, является ли функция / самодвойственной: 1) / = ^1Ж2 V ж2ж3 V Ж3Ж1; 2) / = х\ V ж2; 3) / = х\ 0 ж2 0 ж3 0 1; 4) f = (xVyV z)tV xyz] Ъ) f = (хУуУ z)ty xyz; 6) / = (ж! -)> ж2); 7) /(ж! 0 ж2); 8) / = Ж1Ж2 0 ж2жз 0 Ж3Ж1 0 ж2 0 жз; 9) / = Ж1Ж2 V жз; 10) / = Ж1 0 ж2 0 (ж1Ж2 V ж2ж3 V Ж3Ж1); 11) / = Ж1Ж2 0 ж3(ж1 V ж2); 12) / = Ж1Ж2ж3 0 Ж1Ж2 0 ж2ж3 0 Ж3Ж1; 13) / = Ж1Ж2Жз 0 Ж1Ж2Жз 0 Ж2Жз 0 Ж1Ж3; 14) f = (хх -> ж2) 0 (ж2 ->> ж3) 0 (ж3 -> хг) 0 ж3; 15) / = (ж1 -»> ж2) 0 (ж2 -»> ж3) 0 (ж2 -»> хг). 2.2. Выяснить, является ли самодвойственной функция /, задан- заданная векторно: 1) af = A010); 2) af = A001); 3) af = A0010110); 4) 5/ = @1100110); 5) 5/ = @1110001); 6) af = @1001101); 7) af = A100 1001 0110 1100); 8) af = A110 0111 00011000); 9) af = A000 ООП 1000 1100); 10) af = A001101110111001); 11) af = A100 ООП 1010 0101); 12) af = A100 ООП ООП 1100); 13) af = A001 0110 1001 0110); 14) af = A101 0100 1011 0010); 15) af = A010 010101011010). 2.3. Заменить прочерки в векторе а символами 0 или 1 так, чтобы получился вектор значений самодвойственной функции: 1M = A — 0—); 2) а = (—01—); 3) а = @1 ); 4) 5 = @1 — 0 — 0, ); 5) а = ( 01 11); 5 Г. П. Гаврилов, А. А. Сапоженко
66 Гл. II. Замкнутые классы и полнота 6) 5 = (—1—1 — 0 — 1); 7) 5 = (—10 — 0 1); 8) а = A001 1111 ); 9) а = A1 00 01 10 ); Ю) а = ( 01 101100). 2.4. Определить, какие из переменных функций f(xn) следует заменить на ж, а какие на ж с тем, чтобы получить константу: 1) af = A0110110); 2) af = A1011000); 3) af = A0100100); 4) af = A0101000); 5) af = A1001110); 6) af = A000 1101 0010 1100); 7) af = A001 0110 10011010); 8) af = @111 0001 ООП 0001); 9) af = @110 1000 1110 1011); 10) af = A010 0101 0101 00110); 11) af = A010 1110 1100 1010); 12) af = @1100001); 13) af = A011 0100 1111 0010); 14) af = @000 1111 0010 1111); 15) af = A110 1000 0110 1000). 2.5. Пусть m(x, y, z) = xy V yz\J zx. Доказать тождества: 1) m(m(x, у, z), m(x, y, z), m(x, y,t)) = = m(m(x, y, z), m(x, y, z), m(x,y,z))] 2) x 0 у 0 z = m(m(x, y, z), m(x, y, z), ~z)] 3) m(m(x, y, z), m(x, y, z), m(x, y,z)) = = m(x, m(x, y, z), m(x, y, z))\ 4) x 0 у 0 z = m(m(x, y, z), m(x, y, z), m(x, y, ~z)); 5) m(x, y, ~z) = m(x, y, z)\ 6) m(x, y, z) = xy 0 yz 0 zx; 7) m(x, y, z) = m(x, m(x, y, z), z)\ 8) xyz V t(x V у V z) = m(x, m(y, z, t), t); 9) xyz V ?(ж V у У z) = m(m(x, у, i), m(x, z, i), m(y, z, i)); 10) xyz V t(x V у V z) = m(x ®y®z), m{x, y, z), t). 2.6. Доказать, что если f(xn) G 5, то \Nf\ = 2n~1. Привести пример, показывающий, что обратное утверждение неверно. 2.7. Доказать, что не существует самодвойственных функций, существенно зависящих в точности от двух переменных. 2.8. Выяснить, при каких п ^ 2 функция f(xn) является само- самодвойственной : 1) f(xn) =Ж1®Ж2®...®жи; 2)/(ж")= V xixf' д) J\x ) — V xhxi2 • • • xi]n/2[i 4) f(xn) = 0 xiXj; 5) /(Jn) = (я?! V ж2) 0 (ж2 V ж3) 0 ... 0 (жп-1 V жп) 0 (жп V хг); 6) /(?n) = (я?! V ж2 V ж3) 0 (ж4 V хъ V ж6) 0 ... ... 0 (хп-2 V xn-i V жп), n = 7) /(жп) = ш(ж1, ж2, жз) 0 ш(ж4, ж5, ж6) 0 ... ... 0 т(хп-2, xn-i, хп), п =
§2. Класс самодвойственных функций 67 8) /(жп) = (жх -+ ж2)(ж2 -> ж3)... (жп_1 ->> жп)(жп -+ жх); 9) /(жп) = (ял ->> ж2) Ф (ж2 -> ж3) Ф ... Ф (жп_1 ->> жп) Ф ф (жп -»> Ж1) Ф Ж1 Ф ж2 Ф ... Ф жп; 10) /BП) = \/ Ж;ХЖ;2 ...Ж;,, 1 ^ ^ ^ П. I<ii<i2<...<ife<ri 2.9. Показать, что каждая самодвойственная функция, сущест- существенно зависящая только от переменных Ж1, ж2, жз, представима в виде ж"Жз V x^xj V ж^xj либо в виде жх Ф ж2 Ф жз Ф сг, где а, /3 7? a G {0, 1}. 2.10. Доказать, что функция f(xn) самодвойственна тогда и толь- только тогда, когда ее ^-компонента fl(xn) двойственна к ее Ici-компо- ненте /о(жп). 2.11. Пусть f(xn) такова, что/* @, ж2, ..., хп) = /A, ж2, ..., хп). Верно ли, что /*(жь ..., жп_ь 1) = /(жь ..., жп_ь 0)? 2.12. Пусть функция f(xn) представима в виде f(xn) = = хп(р(хп~1) V (р*(хп~1), где у? — некоторая функция такая, что ^(х71'1) V ^(х71-1) = ^(х71-1). Доказать, что / G S. 2.13. Доказать, что функция / = (рф ф х(ср Ф г/>) самодвойственна, если (f и ф являются самодвойственными. 2.14. Используя лемму о несамодвойственной функции, доказать, что S является предполным классом в Р2. 2.15. Верно ли, что число самодвойственных функций, сущест- существенно зависящих от переменных xi, ж2, ..., жп, равно числу функций из Р2(ХП-1), существенно зависящих от всех своих переменных? 2.16. 1) Пусть функция f(xn) существенно зависит от перемен- переменной х\ и каждая из компонент fl(xn) и /д(жп) является самодвойст- самодвойственной функцией. Показать, что fix71) не является самодвойственной функцией. 2) Останется ли верным утверждение 1), если слова «каждая из компонент» заменить на «хотя бы одна из компонент»? 2.17. Доказать тождество /Oi, ж2, ж3, ж4, ..., хп) = = /(жь ш(жь ж2, ж3), ш(ж1, ж2, ж3), ж4, ..., жп) Ф Ф /(ш(жь ж2, ж3), ж2, ш(ж1, ж2, ж3), ж4, ..., хп) Ф ф /(ш(ж1, ж2, ж3), ш(ж1, ж2, ж3), ж3, ж4, ..., жп). 2.18. Используя предыдущую задачу, доказать, что: 1) S = [{ж1 фж2 Фж3, ш(ж1, ж2, ж3), ж}]; 2) 5 = [{ш(ж1, ж2, ж3)}]; 3) S = [{ш(жь ж2, жз)}]. 2.19. Выяснить, является ли множество А самодвойственным: 1) А = {0, 1, ж}; 2) Л = {0, ж}; 3) Л = {ж Ф 2/, ж - у, ж Ф 2/ Ф z}\ 4) Л = {ж -Л у, х V |7}; 5) Л = {ж ->> у, ху}; 6) Л = {ж|/, ж V у, т(х, у, z)}; 7) А = {ж Ф у Ф z, ж}; 5*
68 Гл. II. Замкнутые классы и полнота 8) А = [{*-> г/}]; 9)A = [{m(x,y,z)}]; 10) Л = [{1, х 0 у}]; 11) А = [{1, ж 0 ?/, яг/}]; 12) Л = [{1, ху}]; 13) Л = [{xVy, х@у}]] 14) Л = [{жф ?/}]; 15) Л = [{ж?/ 0 г 0 1}]. 2.20. Доказать, что: 1) если [Л] = Р2, то и [Л*] = Р2; 2) (Л*)* = Л; 3) если Л = [Л] , то и Л* = [Л*]; 4) если Ах С Л2, то Л^ С Л^; 5) если Л — базис [Л], то Л* — базис [Л*] . § 3. Класс линейных функций Функция f(xn) называется линейной, если она представима по- полиномом Жегалкина не выше первой степени, т.е. если существуют такие константы а^ G {0, 1}, г = 0, п, что f(xn) = а0 0 ai^i 0 ... 0 апжп. A) Множество всех линейных функций обозначается через L, а мно- множество всех линейных функций, зависящих от переменных жх, ж2, ... ..., хп, — через Ln. Из представления A) вытекает, что \Ln\ = 2n+1. Множество L является замкнутым и предполным в Р2 классом. Спра- Справедливо утверждение (лемма о нелинейной функции): если / ^ L, то, подставляя на места ее переменных функции 0, 1, ж, 2/, ж, у, можно получить ху или ху. Если / ^ L, то функция / называется нелинейной. Пример 1. Выяснить, линейна ли функция /, заданная вектором значений af = A001011010010110). Решение. Найдем вектор /3f коэффициентов полинома Жегал- Жегалкина для функции /. Имеем Д/ = A110 1000 0000 0000). По вектору Д/ определяется представление полиномом / = 1 0 х^ 0 х% 0 ж2. Отме- Отметим, что в Cf отличны от нуля лишь координаты Д), /Зх, /32, Д* с номерами, равными 0 либо степеням 2. Это является критерием принадлежности / классу линейных функций. Пример 2. Заменить в векторе а — (—110 0) прочерки символами 0 и 1 так, чтобы получился вектор значений некоторой линейной функции /. Выразить / полиномом. Решение. Сравнивая значения координат «i и «з, «2 и «з в векторе а = (ао«1«2«з«4^5^6^7M находим, что функция / сущест- существенно зависит от переменных ж2 и х% (так как /@01) = /@11) и /@10) ф /@11)). Тогда в силу линейности функции / имеем а§ — 0, аъ = cxq = 1. Значение а^ необходимо положить равным 0, так как если бы «4 = 1, то, поскольку ао = 0, функция существенно зави- зависела бы от х\ (ибо /@00) ф /A00)). Но тогда в силу линейности функции / имели бы /@11) ф /A11), что противоречит условию, ибо а3 = «7 = 0. Таким образом, а^ = @1100110), а / = ж2 0 х%.
§ 3. Класс линейных функций 69 Пример 3. Подставляя на места переменных нелинейной функ- функции / с вектором значений а? = A000 0000 0000 1010) функции из множества {0, 1, ж, у, ж, у}, получить дизъюнкцию ж V у. Решение. Функция ж V у обращается в 1 на трех наборах. За- Заметим, что и / обращается в 1 на трех наборах: @000), A100), A110), и что все три эти набора имеют 0 в четвертой координате, а вторая координата равна первой в каждом из наборов. Положим ж 4 = 0, х\—Х2— х, ж3 = у. Тогда / = (ж, ж, у, 0) = х V у. Для получения дизъюнкции остается лишь подставить у вместо у. Таким образом, /(ж, ж, у, 0) =ж У у. 3.1. Представив функцию / полиномом, выяснить, является ли она линейной: 1) f = х->у; 2) / = ж -> у 0 ху\ 3) / = ж|/(ж - 2/); 4) / = хуМхуМ z\ 5) / = (ху V ж|/J V z(xy V ж?/); 6) / = ((ж -+ у)(у -+ ж)) - z\ 7) / = xyzVxy; 8) / = жз/z 0 ж^/z 0 жч/; 9) / = т(ж, 2/, z) 0 ж?/^" 0 :n/z; 10) f = (xVyz)@ xyz\ 11) f = (xVyz)@ xyz\ 12) / = (ж^/z V ж|7^) 0 жB/ 0 2;); 13) / = xyz 0 x(yz) 0 жB/ V z); 14) f = [xyz 0 zWy) V (ж^ 0 ж^/z); 15) f = i^xy~z ~ xyz) ~ (xyz ~ 'xyz). 3.2. Выяснить, является ли линейной функция /, заданная век- торно: I) af = A001); 2) af = A101); 3) af = A0010110); 4) 5/ = A100 0011); 5) af = A010 0101); 6) af = A010 0110); 7) af = A100 1001 0110 1001); 8) af = @110 1001); 9) af = A001 0110 0110 1001); 10) af = @110 1001 0110 1001); 11) af = A010 010110011100); 12) af = A010 0101 01011010); 13) af = A010 0110 0110 0101); 14) af = (ООП 1100 1100 ООП); 15) af = A00110010110 0110). 3.3. Заменить в векторе 5 прочерки символами 0 и 1 так, чтобы по- получился вектор значений некоторой линейной функции /. Выразить / полиномом: 1M = (Ю — 1); 2) 5 = @ — 11); 3) а = A00 — 0 ); 4) 5 = (—001 1—); 5) а = A — 101 ); 6) а = ( — 0 — 1 00); 7) а = A1—0 1); 8) 5 = A 11 — 0—); 9) 5 = ( 10 0 1 — П0); Ю) 5= A 0 —ПО); II) 5= (—11 — 1 1 0); 12) а = ( 0 — 00—1 —0 ); 13) а = (—100 1 — 1 ); 14) 5= ( 1 — 11 11 — 1 — 0—); 15) 5= (—1 00 — 1 — 1 ).
70 Гл. II. Замкнутые классы и полнота 3.4. Подставляя на места переменных нелинейной функции / функции из множества {0, 1, ж, ?/}, получить хотя бы одну из функ- функций ху, ху, ху: I) /(J3) = Xlx2 V х2х3 V хзхц 2) af = @1100111); 3) af = A101 0101); 4) af = A100 1110); 5) af = A10111111100 1111); 6) af = @11111111110 1110); 7) af = A111 0101111111011); 8) af = @111101111111110); 9) af = A001 011111111010); 10) af = A10110011001 0111); II) / = (Xl Vx2 Va;3)(xi Vx2 Vx3 Vx4); 12) / = (хг Vx2 Vx3 Vx4)(xi Vx2 Vx3 V x4)(x2 Vx3); 13) f = Ж1Ж2Ж3Ж4 V Ж1Ж2Ж3Ж4 V Ж1Ж2Ж3Ж4 V Ж1Ж2Ж3Ж4 V Ж1Ж2Ж4 V Х/ж2ж3ж4 V Ж1Ж2ж3; 14) af = A100 111111111110); 15) af = A0111110 1011 0111). 3.5. Выяснить, можно ли путем подстановки функций 0, 1, ж, у, ж, у на места переменных функций / получить функцию ху: 1) / = Х1 -+ Х2; 2) af = A110 1000); 3) af = A001 ОНО); 4) а/ = A1011011); 5) af = A001 0111); 6) af = A101 ОНО); 7) f = xi -> (x2 -»> ж3); 8) / = (ж1Ж2 Vxix2x3) 0Ж1Ж2ж3; 9) / = (ж!Ж2 V х2х3 V жзжх); 10) af = A0011010); 11) af = A001 ОНО ОНО 1001); 12) af = A110 10011001 0111); 13) 5/ = A1011110 ОНО 1011); 14) af = A100 ООП ООП 1100); 15) 5/ = @111101111111100). 3.6. 1) Пусть функция f(xn) пред ставима в виде / = хп 0 (р(хп~1). Доказать, что на любых двух наборах, различающихся только в п-й координате, функция / принимает противоположные значения. 2) Доказать обратное утверждение, т. е. что если функция / на любой паре наборов, различающихся только в n-й компоненте, при- принимает противоположные значения, то функция / может быть пред- представлена в виде / = хп 0 </?, где (р не зависит от хп. 3) Доказать, что функция /(жп), принимающая на любых двух соседних наборах противоположные значения, линейна и существенно зависит от всех своих переменных. 3.7. 1) Показать, что если функцию f(xn) можно представить в виде f(xn) = хп 0 </?, где tp не зависит от хп, то \Nf\ = 2П~1. 2) Показать, что если / линейна и отлична от константы, то 1 3.8. Доказать, что функция /(жп), существенно зависящая от всех своих переменных, является линейной тогда и только тогда, когда при замещении любого подмножества переменных любым набором констант получается функция, существенно зависящая от всех остав- оставшихся переменных. 3.9. Доказать, что линейная функция является самодвойственной тогда и только тогда, когда она существенно зависит от нечетного числа переменных.
§4- Классы функций, сохраняющих константы 71 3.10. Найти число линейных функций fix71), существенно завися- зависящих в точности от к переменных. 3.11. Найти число линейных функций fix71) таких, что /(О, 0, ... ..., 0) = /A, 1, ..., 1) = 1. 3.12. Пусть /(#1, ж2, 0, ..., 0) = Ж]. —>- ж2. Доказать, что / ^ L. 3.13. Пусть /(ж, 0, ..., 0) ф /Oi, 1, ..., 1), f(xn) существенно зависит от всех переменных, п нечетно. Доказать, что f (? L. 3.14. Пусть fix71) ? L. Доказать, что подстановкой констант вместо некоторых п — 2 переменных можно получить нелинейную функцию от двух переменных. 3.15. Специальной назовем четверку наборов 5, /3, % ^ из В71, ко- которая обладает следующими свойствами: множество координат мож- можно разбить на два подмножества А = {гх, ..., ik) и В = {ji, ..., jn-k}] набор а таков, что координаты а^, ..., оцк равны 1; набор [5 та- таков, что координаты /3^, ..., /3ik равны 0; набор j таков, что 1 < к ~ ~ < ^2 Ъи < ^5 набор 5 таков, что Siv = jiu (у — 1, ...,&); кроме того, для всякого т G A2 выполнено равенство ат = /Зт = jm = Jm. Ины- Иными словами, специальная четверка образована верхним и нижним наборами некоторой ^-мерной грани д куба В71 и двумя отличными от них противоположными наборами этой грани. Доказать, что функция fix71) является нелинейной тогда и только тогда, когда в В71 найдется специальная четверка наборов такая, что функция f(xn) обращается в 1 либо на одном, либо на трех наборах из специальной четверки. 3.16. Доказать, что если f(xn) ? L, \Nf\ = 2П-1, то с помощью подстановки функций {0, 1, ж, у, ж, у} на места переменных функ- функции / можно получить как конъюнкцию, так и дизъюнкцию. 3.17. Доказать, что отождествлением переменных из нелинейной функции fix71) (n ^ 4) можно получить нелинейную функцию, зави- зависящую не более чем от трех переменных. 3.18. Доказать, что система А полна в L. Выяснить, является ли система А базисом в L: 1) А = {1, хх 0 х2}; 2) А = {0, хх - х2}; 3) А = {0, 1, xi 0 х2 0 ж3}; 4) А = {х 0 1, х\ 0 ж2}; 5) А = {xi 0 ж2, Ж1 ~ ж2}; 6) А = {жх 0 ж2 0 ж3, ж 0 1, 0}; 7) Л = {жх 0 х2 0 ж3 0 1, жх ~ ж2}; 8) Л = {жх 0 ж2 0 ж3 0 Ж4, ж 0 1}; 9) А = {жх 0 ж2 0 х3 0 1, 0}; Ю) А = L П Р2(Х2); 11) Л = (L П 5) U {0}; 12) А = L\5; 13) Л = {жх 0 ж2, жх 0 х2 0 ж3 0 1, 1}; 14) Л = {Х1х2 V жхж2, ж 0 1}; 15) Л = (L\5) П Р(Х2). 3.19. Доказать, что не существует линейной функции /, образую- образующей базис в L.
72 Гл. II. Замкнутые классы и полнота 3.20. Доказать, что LnS = [{ж 0 ?/ 0 ? 0 1}]. 3.21. Доказать, что система {ж, Д, /2, /з}, где Д, /2, /з — попарно различные функции, существенно зависящие от переменных Ж1, ж2, полна в Р2. 3.22. Доказать, что система {0, ж, /ь /2, /3}, где /ь /2, /3 — раз- различные функции, существенно зависящие от переменных Ж1, ж2, ... ..., жп, n ^ 2, полна в Р2. 3.23. Доказать, что из полинома степени 3, зависящего от трех переменных, с помощью отождествления переменных можно получить функцию вида ху 0 /(ж, у), где /(ж, у) — некоторая линейная функция. 3.24. Доказать, что из нелинейной функции fix71) с помощью отождествления переменных можно получить функцию вида ху 0 0 /(ж, у) или вида ху 0 yz 0 zx 0 /(ж, у, z), где /(ж, у) и /(ж, 2/, z) — линейные функции. § 4. Классы функций, сохраняющих константы Функция fix71) сохраняет константу 0 {константу 1), если /(О, 0, ..., 0) = 0 (соответственно если /A, 1, ..., 1) = 1). Мно- Множество всех функций алгебры логики, сохраняющих константу 0 (константу 1), обозначается через То (соответственно через Т\). Множество всех функций из Tq (Ti), зависящих от переменных Ж1, ж2, ..., жп, будет обозначаться через Т$ (соответственно через Т™). Каждое из множеств То, Т\ является замкнутым и предполным в Р2 классом. п_2 Пример 1. Выяснить, при каких п функция f(xn) = 0 m(xi, Xi+i, Жг+2) принадлежит множеству Tq flTi. г~ Решение. Если п нечетно, то fix71) является суперпозицией функций m(xi, ж2, жз) и х\ 0 ж2 0жз, принадлежащих замкнутому классу То П Т\ , и, следовательно, /(жп) G То П Ti. Если п четно, то /A, 1, ...,1)=0, и /^ТоПТь Пример 2. Найти число функций /(жп), принадлежащих мно- множеству Л = (L\T0) П 5. Решение. Л = (L\(T0 П L)) П 5 = (L П 5)\(L П То П 5)^Следова- 5)^Следовательно, |Л| = |L П S\ — \ЬГ\ S Г\То\. Линейная функция /(жп) явля- является самодвойственной тогда и только тогда, когда она сущест- существенно зависит от нечетного числа переменных, т. е. представима в виде / = Хгг 0 Xi2 0 ... 0 Xi2s+1 0 a, a G {0, 1}. Число линейных функ- функций /(жп), зависящих существенно от к переменных, равно 2С% (С% способами можно выбрать к переменных из Ж1,ж2,...,жп и двумя способами можно выбрать свободный член). Таким образом, |Lnn5n|=2 ^2 C2ns+1=2n. Ясно, что \Ln П S71 П Т^\ = - \Ln П 5П|, поскольку свободный член Z определяется однозначно (равен 0). Таким образом, \А\ = 271~1.
§4- Классы функций, сохраняющих константы 73 Пример 3. Доказать, что [{ху, х 0 у}] = Tq. Решение. Заметим, что полином любой функции / из То не содержит 1 в качестве слагаемого. Но всякий такой полином может быть, очевидно, получен с помощью суперпозиции из функций ху, хфу. 4.1. Выяснить, принадлежит ли функция / множеству ТДТЬ: 1) / = (хг -> х2)(х2 -> х3)(х3 -> хг); 2) / = т(хи х2, ж3); 3) / = х\ ->• (х2 ->• (х3 ->• xi)); 4) / = Ж1Ж2Ж3 Ух\х2 V~x2] 5) / = (xi Х/ж2)ж3 Vxi^2 V ж2; 6) / = xi^2 ж3 V xi^2 V ж2 V 7) 5/ = A001 ОНО); 8) af = A1011001); 9) af = A000 0111); Ю) af = @0011011). 4.2. Выяснить, при каких п функция f(xn) принадлежит мно- множеству Т0\Ть 1) /(жп) = хг 0 ж2 0 ... 0 жп; 2) /(жп) = 0 3)f(xn)= 0 XiXj; 4)f(xn)= 0 5) /(жп) = 1 0 (xx -> x2)(x2 -> x3)(x3 -> ж4)... )/() (^(^+^+)); г=1 n-2 7) /(?n) = 0 ((xi -+ xi+1) -> xi+2); г=1 n-2 8) f(xn) = 0 (^ 0 xi+1xi+2)\ 9*) /(?n) = i=l 10) /(J») = 0 m(Xi, Xj, xk); 11) f(xn) = 0^(гп), ^G5nri; г=1 12) /(?n) = жпГ yV*^")) V^r&^^-^Y где ^ — про- произвольные функции из Р2~Х 1 ^* — двойственная к (fi функция, г = = 1, ..., п- 1; 13) /(гп)=ж„('У^(гп))ф fe1^*^-1), где ^ — произ- V г=1 / *=! вольные функции из Р^, if* — двойственная к ipi функция, г = = 1, ..., п- 1; 14) /(?-) г=1
74 Гл. II. Замкнутые классы и полнота 4.3. Подсчитать число функций, зависящих от переменных Ху, Х2, ¦ ¦ ¦, хп и принадлежащих множеству Л: 1)А = Г0ПТ1; 2)А = Т01)Ту, 3) А = То П L; 4) А = Ту П S; 5)A = T0UL; 6)A = L\T1; 7) А = (LuTy) П 5; 8) Л = in TiD 5; 9)A = LuSur0; 10) Л = (LU S^Ti; 11) Л = (L\T0) П S; 12)A = SDT0; 13) Л = (S П Го) UTi; 14) 4=(SnL)\Ti; 15) Л = (T0\Ti) П 5; 16) Л = {Т0\Тг) П L; 17) Л = (SUL)nTi; 18) Л = (Ti U Го) П S; 19) А = То П Ti П L; 20) A=(T0DT1nL)\S; 21) А = (S П L)\T0; 22) А = (S П L)\(T0 П Ti); 23) Л = E П L)\(T0 U Ti); 24) A=(S\T0) CiTi; 25) Л = 5\(T0 UTi); 26) Л = EПТ0)\Т1; 27) Л = 5\(Т0иЬ); 28) Л = 5 П Го П L; 29) Л = L\(T0 UTi); 30) A=BA(ToU2i))nS; 31)A = 5\L; 32) Л = L\S; 33) Л = (L\5) ПГ1; 34) Л = ((S\L)\T0)\ri; 35) Л = (E П L)\T0)\Ti; 36) Л = 5 П (ГДХ); 37) Л = (L П 5)\(T0 П Ti); 38) Л = (L П T0)\(S П Ti); 39) Л = (S П T0)\ri; 40) Л = (L П To П Ti)\S; 41) Л = (To П Ti П 5)\L; 42) A = T0UT1US; 43) Л = To U Tx U 5 U Ц 44) Л = Го U Ti U L; 45) Л = (L\5) U (T0\ri). 4.4. Доказать, что: 1) L П 5 П Го = L П 5 П Ti = L П Го П Ti = L П 5 П То П Ti; 2) 5 П То = S П Тх = S П Го П Гь 4.5. Доказать, что: 1) [{xV у, жФу}]=Т0; 2) [{xVy, x~y}]=T1; 3)[{ху,х~у}]=Т1; 4) [{ху (В z}} = То; 5) [{ж|/, ж Ф у © г}] = То П Ту, 6) [{жг/ © z © «}] = Го П Ту; 7)[{х(Ву}] = ЬПТ0; 8)[{ar~|/}] = Lnri; 9) [{жфуф2;}] = Ьп5пГо; 10*) [{m(ar, у, г), х © у Ф *}] = То П 5; 11*) [{т(ж, у, z)}] = Ti П 5; 12) [{хфу ф z ф1}] = Lf) S; 13) [{жу, т(ж, г/, J)}] = Го П Г1; 14) [{ж V у, т(ж, у, z)}] = Го П Г1; 15) [{т(ж, у, z), жфу}] = Г0. 4.6. Выяснить, является ли множество Л базисом в классе К: 1) Л = {жу ~ г}, К = Ту, 2) А = {ху V z}, К = То; 3) Л = {ху, х~у, xVy}, К = Ту, 4) А = {хфуфг, m(x,y, z)}, К = Т0Г\Ту, 5) Л = {жу, ж ф у ф z, т(ж, у, г)}, К = Го П Ту, 6*) Л = {жу, го(ж, г/, z)}, К = Т0П Ту, 7) А = {х®у, m(x,y,z)}, К = Т0ПТу, 8) Л = {ж V у, ху}, К = То; 9) Л = {ж ф у ф z, 0}, К = То П L;
§ 5. Класс монотонных функций 75 Ю) А = {х 0 у 0 z, x®y®z®t}, К = То П L; 11) А = {ху 0 у 0 я, ж 0 ?/ 0 я}, К = То П Ti; 12) Л = {т(ж, $7, г), ж 0 у 0 z}, К = Го П 5; 13) А = {(ж - 2/) - z}, К = L П 5 П Го; 14) А = {яг-шB/, 2;, *)}, К = Тц 15) Л = {ж2/, x®y®z, x\/y}, К = Т0ПТ1. 4.7. В заданном векторе 5 заменить координаты — символами из множества {0, 1} так, чтобы получился вектор 5/ значений некоторой функции /, образующей базис в К. Доказать единственность решения: 1M = ( ), К = Т0ПЦ 2) 5 = ( ), К = LHS; 3) S = (—110 —11—), К = Т0; 4) S=( ), К = Т1ПЬ; 5) 5 = ( ), К = L П 5 П Г; 6) 5 = (—11001100110100—), K = ronTi; 7) 5 = ( 1 ), К = LHS; 8) 5 = (—0 0 ), if = SnTi; 9) S = (— 0 0 ), K = SHT0; Ю) 5= ( 1 — 0—), K = SnT1; П) S=( 10—), K = SnT0; 12) 5= ( 1 — 0 ), K = SnTi; 13M= ( 1 ), К = ЬПТ0ПТг; 14) 5= ( 1— ),K = LnSonTo; 15) 5 = (—00 ), К = S. 4.8. Доказать, что класс Т\ является пред полным в Р2. 4.9. Доказать, что множество А является пред полным в L: 1)Л = [{0, ж}]; 2)A = LnTi; 3)Л = ЬПГ0; 4) А = L П 5. 4.10. Выяснить, является ли множество А предполным в Xq: 1) А = Го ПЦ 2)Л = Г0П5; 3)Л = Г0ПГ1; 4) А = [{0, х}}; 5) А = [{ж2/, XV 2/}]. § 5. Класс монотонных функций Булева функция f(xn) называется монотонной, если для любых двух наборов 5 и C из 5П таких, что 5^/3, имеет место неравенст- неравенство /E) ^ /(/3). В противном случае f(xn) будет называться немоно- немонотонной. Множество всех монотонных булевых функций обозначает- обозначается через М, а множество всех монотонных функций, зависящих от переменных xi, X2, ..., хп, — через Мп. Множество М является замкнутым и предполным в Р2 классом. Справедливо утверждение (лемма о немонотонной функции): если / ^ М, то, подставляя на места ее переменных функций 0, 1, ж, можно получить функцию ж.
76 Гл. II. Замкнутые классы и полнота Вершина а куба Вп называется нижней единицей {верхним нулем) монотонной функции/(жп), если /E) = 1 (соответственно /E) = 0) и для всякой вершины [5 из [5 < а вытекает, что /(/3) = 0 (соответст- (соответственно из а < C вытекает, что /(/3) = 1). Проверку на монотонность булевой функции /(жп), заданной сво- своим вектором значений 5/ = (ао, «i, ..., a^-i), можно осуществить следующим образом. Разделим вектор 5/ на две равные части 5^i = = (a0, ai, ..., a2n-i_i) и afi = (a2n-i, a2n-i_b ..., a2«-i). Если отношение 5^i ^ S^i не выполнено, то f(xn) не является монотонной. В противном случае каждый из векторов а$\ (a Е {0, 1}) вновь разделим на две равные части 5л,2 и 5л,2. Если не выполнено хотя бы одно из отношений afi,2 ^ 5,i,2, то f(xn) Ф М. В противном случае Jcr,0 Jcr,l вновь делим векторы пополам и т.д. Если отношение предшествова- предшествования выполняется для всех пар векторов, то f(xn) монотонна. Пример 1. OLf — A0011111). Первый шаг не обнаруживает немо- немонотонности, так как 1001 ^ 1111. Второй шаг дает: 10 ^ 01, 11 ^ 11. Монотонность нарушена. Для доказательства монотонности функции /, которая задана фор- формулой, можно с помощью эквивалентных преобразований представить функцию с помощью формулы, содержащей лишь связки & и V (или другие монотонные операции). Пример 2. / = xVxyVxyz. Имеем ху Vxyz = x(y Vyz) = = х(у V z). Далее х V х(у У z) = ж V у У z. Функция / монотонна. Установить немонотонность функции / можно также, получив из нее немонотонную функцию одной переменной путем замены осталь- остальных переменных константами. 5.1. По вектору значений olj выяснить, является ли функция / монотонной: 1) oif = (ОНО); 2) 5/ = @0110111); 3) af = @1010111); 4) af = @110 0110); 5) af = @0010111); 6) af = @1010011); 7) af = @010 ООП 01111111); 8) af = @001 0101 0111 0111). 5.2. Проверить, является ли функция / монотонной: 1) / = (Xl 0 х2) & (ж1 ~ х2); 2) / = хх -^ (х2 -^ жх); 3) / = х\ —У (xi —у х2)] 4) / = Ж1Ж2Ж3 V х{х2хъ V Xix2~x~z V х\х2хъ V 5) / = Ж1Ж2Ж3 V ~x~ix2xz V Ж1Ж2Ж3 V х\х2хъ V 6) / = (xi 0 x2)xix2] 7) / = xix2 0 Ж1Ж3 0 8) / = Ж1Ж2 0 Ж2Ж3 0 Ж3Ж1 0 xi. 5.3. Для немонотонной функции / указать два соседних набора 5, /3 значений переменных таких, что а < /3 и /E) > f(/3): 1) / = Ж1Ж2Ж3 V Ж1Ж2; 2) / = #i 0 х2 0 ж3; 3) / = Ж1Ж2 0 ж3; 4) / = #i V ж2ж3; 5) / = Ж1Ж3 0 ж2ж4; 6) / = (Ж1Ж2Ж4 —>¦ Х2Хз) 0 Ж4-
§ 5. Класс монотонных функций 77 5.4. Пусть Мп — множество тех векторов 5 = (ао, «i, ..., a^-i), которые являются векторами значений монотонной функции. Найти число векторов из Жп, которые можно получить из вектора j2™ = — (то? 7i5 • • • •> 72n-i) заменой символа — на 0 или 1: 1O2 = @-); 2O2 = ( ); 3O4 = (-00-); 4O4 = (-Ю-); 5)т8 = ( 00-); 6) 78 = ( 1 0-); 7) 78 = (-1 0 ); 8O8 = @ 1). 5.5. Пусть MSn — множество тех векторов а2 = (ao, ai, ... ..., a^-i), которые являются векторами значений функций из клас- класса М Г\ S. Найти число векторов из JASn, которые можно получить, заменяя в векторе j2™ символы — на 0 и 1: 1O2 = ( ); 2O4 = (-0 ); 3O4 = ( 1); 4) 78 = (-00-0 ); 5) 78 = (-01 0 ); 6) 716 = ( 0-0 0 ); 7) 7 = ( 1 1 1 ); 8O=( 1 0 ). 5.6. Выяснить, при каких п ^ 1 функция f(xn) монотонна: I) f(xn)=x1®x2® ...®xn] 2) /BП) = 0 Xixy, 3) f(xn) = хгх2 ... xn -> (хг 0 x2 0 ... 0 xn); 4) f(xn) = 0 xhxi2 ...xim, m = I^ii<i2<---<im^n 5) f(xn) = Ж1Ж2 . . . Xn 0 0 X! ... Xi-iXi+i . m=l I^ii<i2<...<im^n 5.7. Привести пример немонотонной функции f(xn), у которой каждая подфункция вида f^(xn) (г = 1, ..., n), a G {0, 1}, монотонна. 5.8. Доказать, что если функция / немонотонна, то существуют два соседних набора а и [5 такие, что а < C и /E) > /(/3). 5.9. Доказать, что функция, существенно зависящая не менее чем от двух переменных, монотонна тогда и только тогда, когда всякая ее подфункция, зависящая существенно от одной переменной, монотонна. 5.10. Доказать, что функция f(xn) монотонна тогда и только тогда, когда для любого к = 1, 2, ...,п — 1, любого подмножест- подмножества {ii, ..., %k} С {1, ..., п} и любых двух наборов а = (cri, ..., (Jk) и г = (ti, ..., Tfc) таких, что а ^ г, выполняется тождество J(Ti...(Tk Vх J v /n...rfc Vх J — /ri...rfc Vх J- 5.11. Доказать, что для всякой монотонной функции fix71) спра- справедливы разложения /Bя) = *</•(?") V Го(хп), f(xn) = (*i V P0{xn))fl{xn).
78 Гл. II. Замкнутые классы и полнота 5.12. Доказать, что для каждой отличной от константы монотон- монотонной функции / существуют д.н.ф. и к.н.ф., не содержащие отрица- отрицаний переменных и реализующие /. 5.13. Элементарная конъюнкция К называется простым импли- кантом, если К V / = / и К' У f ф f для каждой конъюнкции К1', полученной из К вычеркиванием букв. Доказать, что никакой простой импликант монотонной функции не содержит отрицаний переменных. 5.14. Найти число нижних единиц е(/) и верхних нулей п(/) монотонной функции /: 1) /(ж3) = Х\Х2 V х2х% V xsXi; 2) f(x2) = х\ V х2; 3) /(ж4) = ххх2хъ V ж4(ж1 V х2 V ж3); 4) /(ж2*) = (ал V х2)(х3 V ж4) ... (ж2*-1 V ж2*); 5) /(ж3/е) = (жх V х2 V ж3)(ж4 V ж5 V х6)... Оз&-2 V ж3?;-1 V ж3^). 5.15. Пусть <р(х, у) = хУу. Для набора а = («i, ..., ап) из Бп п положим Ка(хп) = &; ^(жг5 ^г)- Доказать, что если а является ниж- ней единицей функции /(жп), то элементарная конъюнкция К^(хп) входит в полином Жегалкина функции fix71) в качестве слагаемого. 5.16. Показать, что не существует монотонных самодвойственных функций, имеющих ровно две нижние единицы. 5.17. 1) Показать, что в Вп существует подмножество, состоящее из (г п/ол) попарно несравнимых наборов. 2*) Показать, что \Мп\ ^ 2^2^. 5.18. Возрастающей цепью длины к в Вп называется последова- последовательность наборов 5о, Si, ..., dtk такая, что S«_i < оц (г = 1, ..., fc). 1) Показать, что в Вп существует п! попарно различных возрас- возрастающих цепей длины п. 2) Показать, что число попарно различных цепей длины п, содер- содержащих фиксированную вершину 5 из В%, равно к\(п — к)\. 5.19. 1) Показать, что мощность любого подмножества попарно несравнимых наборов куба Вп не превосходит ( г п/г>, ). 2) Показать, что если подмножество А С 5П состоит из попарно несравнимых наборов и при этом ||S|| ^ к ^ п/2 для любого 5 G Л, 5.20. 1) Используя теорему Дилуорса, утверждающую, что мини- минимальное число цепей, содержащих все вершины частично упорядочен- упорядоченного множества, равно максимальному числу попарно несравнимых наборов в нем, доказать, что \Мп\ ^2 + п<>/2]). 2) Доказать, что число монотонных функций /(жп), у которых каждая нижняя единица имеет вес, не превышающий к @ ^ к ^ п/2), не превосходит 1 + (к + 1) v к '.
§ 5. Класс монотонных функций 79 5.21. Подсчитать число функций в каждом из следующих мно- множеств: 1) Mn\(TiUT0); 2) Mn\(TinT0); 3) Мп П L; 4) Мп П L П 5; 5) Ln(MUS). 5.22. Показать, что: 1) \SnMn\ <С \Mn-x\ при п^1; 2)\Мп\^\Мп-1\2 при п ^ 1; 3) |МП| <С |Мп-2|2 22П при п ^ 1. 5.23. 1) Перечислить все монотонные функции переменных #i, Ж2- 2) Перечислить все попарно неконгруэнтные монотонные функ- функции, существенно зависящие от трех переменных. 3) Пусть ф(п) — число монотонных функций, зависящих от пере- переменных xi, Х2ч • • •, хп. Показать, что: а) <фA) = 3; б) фB) = 6; в) фC) = 20; г*) <фD) = 168. 4) Пусть фс(п) — число монотонных функций, существенно зави- зависящих от переменных #i, Ж2, ..., хп. Найти фс(п) для п ^ 4. 5.24. Перечислить все попарно неконгруэнтные самодвойственные монотонные функции, зависящие от четырех переменных. 5.25. Доказать, что \Мп\ < \Sn\ при п ^ 4. 5.26. Пусть А С В™, С — множество всех наборов a G В%, для которых существует набор C из Л, сравнимый с 5. Доказать, что 5.27. Пусть /?М", %(/) = |_ЛГ/П.В?|Д?). Доказать, что (/K(/) (* 1 ) 5.28. Функция (р(хп), определенная на Вп и принимающая про- произвольные действительные значения, называется обобщенной моно- монотонной функцией (сокращенно ОМФ), если из 5 ^ C вытекает, что <р(а) < <рф). 1) Доказать, что ОМФ (р(хп) может быть представлена в виде ли- линейной комбинации монотонных булевых функций следующего вида: где с — действительное число, а а/ — неотрицательное число. 2) Пусть (р(хп) — ОМФ, a qk(<p) = (?J 2^ ^(^)- Доказать, что qk-i(y>) ^ qk(v) (А; = 1, ..., n). fc 5.29*. 1) Пусть f(xn) и д(хп) — монотонные булевы функции. Доказать, что \Nfbg\ 2~n ^ \Nf\ 2~n \Ng\ 2~n. 2) Пусть Д, ..., fs — функции из Мп. Доказать, что N &
80 Гл. II. Замкнутые классы и полнота 5.30. 1) Верно ли, что если / G Мп, то из условия 5, /3 е Вп, иф) > 1/E) (||Д|| > ||5||) вытекает, что /E) ^ /(Д)? 2) Пусть для всякого к @ ^ к < п) из условий z/En) ^ 2П — 1 — -2к, гуфп) = г/Eп) + 2к следует, что /En) ^ /(Дп). Доказать, что 5.31. Пусть F(y2n)=^ &; (?/;-^2/;+2fc)- Доказать, что ?;=0 г=0 5.32. Можно ли из функции / = ~xyz V t(xy —У z) получить: 1) функцию Ьх отождествлением переменных; 2) функцию xz отождествлением переменных; 3) функцию Wz с помощью суперпозиции; 4) функцию ж подстановкой констант 0,1; 5) функцию xz подстановкой константы 0; 6) функцию z отождествлением переменных? 5.33. Показать, что всякая монотонная функция содержится не менее чем в двух классах из Tq, Ti, L. 5.34. Показать, что М не содержится ни в одном из классов Tq, Ti, *S, L, указав монотонные функции, не содержащиеся в соответствую- соответствующих классах. 5.35. Можно ли с помощью функций ху, х V у, 1 получить 0? 5.36. Показать, что множество {0, 1, ху, хУ у} является базисом вМ. 5.37. Из множества {0, 1, ху, х V у, ху\/ z, xy Уyz\l zx} выде- выделить все подмножества, являющиеся базисами в М. 5.38. Доказать, что всякий базис в М содержит не менее трех и не более четырех функций. 5.39. Показать, что всякий базис в М, состоящий из трех функций, содержит функцию, существенно зависящую не менее чем от трех переменных. 5.40. Привести примеры базисов в следующих классах: 1) То П М; 2) TiHM; 3) ЬПМ. 5.41. Показать, что если / G М, то /* G М. 5.42. Можно ли из функции f — xy\l yz\l zx получить с помощью операции суперпозиции функцию д — x\l yl 5.43. Доказать, что / G М П S тогда и только тогда, когда /n G е м, (/0-)* = /f и Ф71'1) = Да*, ..., хп-и 0) & f(xu ..., хп-и 0) = 0. 5.44. Пусть т(х3) = хгх2 V х2х3 V хъхх и f(xn) e MnS (п ^ 3). Доказать справедливость представления f(xn) = ш(/(жь жь ж3, ж4, ..., хп), /(жь ж2, ж2, ж4, ..., хп), ж2, ж3, ж4, ..., хп)).
§ 6. Полнота и замкнутые классы 81 5.45. 1) Пусть Dn — множество функций / из SnMn, сущест- существенно зависящих от п переменных. Для каждого п ^ 4 перечислить функции из Dn. 2) Доказать, что для всякого п^4 из функции / Е Dn можно по- получить путем отождествления переменных функцию т(х3) = х±х2 V Vх2х3 V хзхг. 5.46. 1) Доказать, что т(х3) = х±х2 V х2х% V х^х± образует базис в МП S. 2) Доказать, что любая функция из М П S, существенно завися- зависящая более чем от одной переменной, образует базис в М П S. 5.47*. Пусть D — множество, состоящее из всех монотонных элементарных дизъюнкций, а Ж — множество, состоящее из всех монотонных элементарных конъюнкций. Показать, что множества D U {0, 1}, Ж U {0, 1}, М П То, М П Тх и только они образуют пред- полные классы в М. § 6. Полнота и замкнутые классы В Р2 справедлив следующий критерий полноты. Теорема (Э. Пост). Система А функций из Р2 полна в Р2 тогда и только тогда, когда она целиком не содержится ни в одном из классов То, Т\, L, S и М. Функция f{xn) называется шефферовой (или функцией Шеффера\ если она образует базис в Р2. При исследовании полноты систем функций удобно пользоваться таблицей, которую мы будем называть критериальной. Эта таблица имеет пять столбцов, каждый из которых соответствует одному из пяти предполных классов в Р2, а строки таблицы соответствуют функциям исследуемой системы. На пересечении строки таблицы, соответствующей функции /, и столбца, соответствующего классу К, ставится знак плюс, если / G К, и минус, если f ? К. Система функ- функций полна тогда и только тогда, когда в каждом столбце содержится хотя бы один знак минус. Пример 1. Исследовать полноту системы А = {Д = ху 0 z, f2 = = х 0 у 0 1}. Критериальная таблица имеет вид табл. 2.1. В каждом Таблица 2.1 /1 /2 То + - Ti - + L - + S - - м - - столбце имеется не менее одного минуса. Система полна. Пример 2. Исследовать полноту системы А = (S\M) UL\(T0U U Ti). Для исследования полноты этой системы можно использовать некоторый аналог критериальной таблицы, в котором строки соот- 6 Г. П. Гаврилов, А. А. Сапоженко
82 Гл. II. Замкнутые классы и полнота ветствуют не отдельным функциям, а подмножествам системы А. Разобьем систему А на подмножества А\ — S\M и А2 = L\(Tq U Ti) и исследуем принадлежность функции из этих подмножеств предпол- ным классам. Заметим, что ~х~\ Е А\ П А2. Отсюда следует, что Ai 2 Tq, Ai ^ 2 Ti, Л^ g М (г = 1, 2). Очевидно, что Ai С 5, Л2 С L. Заметим, что ттг(ж, ^/, г) = ху (В yz (В zx принадлежит Ai и не является ли- линейной. Таким образом, А\ 2 L. Остается выяснить справедливость включения А2 С S. Всякая функция / из А имеет вид / = а\Х\ 0 0 а2х2 0 ... 0 апхп 0 «о, поскольку Л2 С L. Поскольку А2 2 То, ai ф 1 = 0. Следова- то = 1. Поскольку А2 2 Ti, то /A) = тельно, нечетное число коэффициентов ai, ..., an обращается в 1. Значит, функция / линейна и зависит существенно от нечетного числа переменных. Такая функция, как нетрудно проверить, является само- самодвойственной. Аналог критериальной таблицы имеет вид табл. 2.2. Таблица 2.2 Аг А2 То - - Ti - - L - + S + + м - - Система А не является полной в Р2. Критериальная таблица может быть полезной для нахождения базисов, содержащихся в системе А. Пример 3. Из полной в Р2 системы А = {Д = х 0 у, f2 = ху 0 z, /з=ж02/0201, /4 = ху 0 yz 0 zx} выделить всевозможные ба- базисы. Критериальная таблица имеет вид табл. 2.3. По таблице составим Таблица 2.3 h /2 /3 /4 То + + - + Ti - - - + L + - + - S - - + + м - - - + к. н. ф. К, в которой элементарные дизъюнкции соответствуют столб- столбцам таблицы и включают в качестве слагаемых символы тех функций, которые не входят в класс, соответствующий столбцу. В данном случае имеем к = /з(Л v /2 v /3)(/2 v /4)(Л v /2)(Л v /2 v /3). Перемножая скобки и используя для упрощения равенства вида А- А = А, А(А V В) = А, АУ АВ = А, приведем к. н.ф.Кк д. н. ф. D,
§ 6. Полнота и замкнутые классы 83 в которой упрощения Л V АВ = А невозможны. В нашем случае имеем К = /з(/2 V /4)(/i V /2) = /з/2 V hhh = D. По полученной д. н. ф. D выпишем подмножества функций, соот- соответствующие слагаемым д.н.ф. D. Это и будут искомые базисы. В нашем случае имеется два базиса: Б\ — {/2, /з} и Б2 = {/i, /3, /4} • Полноту систем функций в Р2 можно доказывать путем сведения исследуемой системы к известным полным системам таким, как {ху, xVy,x}, {ху,х®у,1}, {х\/у}, {ху}. Пример 4. Доказать полноту в Р2 системы А = {Д — xy\l yz\l V га;, /2 = 0, /3 = 1, /4 = ж 0 ?/ 0 г}. Имеем Д(ж, 2/, 0) = ж?/, /4(ж, 2/, 0) = ж 0 2/. Таким образом, из функций системы А получаются функции ху, х 0 у, 1 одной из выше- вышеуказанных полных систем. Это и означает, что система А полна в Р2. 6.1. Выяснить, полна ли система функций: 1) А = {ху, х V у, хфу, хуУyz\J zx}; 2) А = {ху, хУ у, х 0 у 0 z 0 1}; 3) Л = {1, ж, ж(з/ - z) 0 ж(з/ 0 г), х - 2/}; 4) Л = {0, х, x(y@z)@yz}; 5) Л = {ж, ж(з/ ~ г) ~ B/ V г), ж 0 у 0 z}; 6) Л = {ж, х(у ~ z) ~yz, x 0 ^/ 0 z}; 7) Л = {ж2/(ж 0 у), ху 0 ж 0 ^/, 1, од 0 2/г 0 zx}; 8) Л = {ж^/(ж 0 z), 1}; 9) Л = {х -»> 2/, ж ->• ?/ж, ж 0 2/ 0 z, 1}; 10) Л = {х -> у, х®у]. 6.2. Выяснить, полна ли система Л функций, заданных векторами своих значений: 1) А = {Л = (ОНО), /2 = A100 0011), /з = A0010110)}; 2) А = {Л = @111), /2 = @1011010), /3 = @1111110)}; 3) А = {Л = @111), /2 = A001 ОНО)}; 4) А = {Л = @101), /2 = A1101000), /з = @1101001)}; 5) А = {Л = A001), /2 = A1101000)}; 6) А = {Л = A1), /2 = @111), /з = (ООП 0111)}; 7) А = {Л = A0), /2 = @0110111)}; 8) А = {Л = A1), /2 = @0), /3 = @0110101)}; 9) А = {Л = A000 0001), /2 = @111), /з = (Ю11)}; 10) А = {Л = A0000001), /2 = (ОНО), /3 = A001)}. 6.3. Выяснить, полна ли система А: 1) А = (S П М) U (ДМ); 2) Л = (L П Ti П То) U 5\(Г0 U Ti); 3) А = (L П Ti) U E П М); 4) А = (L П Ti) U E\Т0); 5) А = (М\Т0) U (ВД; 6) А = (М\Т0) U (S\L); 7) A = (LnM)U (S\T0); 8) А = ((L П M)\TX) U E П Ti); 9) Л = (М\5) U (L П S); 10) Л = (М П 5) U (Г0\М) U (Ti П 5). 6*
84 Гл. П. Замкнутые классы и полнота 6.4. Проверить, является ли система функций Л базисом в Р2: 1) А = {ж -> у, х 0 у, ж V у}] 2) А = {х 0 у 0 я, х V 2/, 0, 1}; 3) Л = {х 0 ^/ 0 2/z, х 0 ^/ 0 1}; 4) А = {ж?/ V z, ж?/ 0 z, од ~ ^}; 5) А = {ж 0 у 0 z, ж 0 ^/ 0 z 0 1, ху ®yz® zx, ж}; 6) Л = {ж 0 ?/ 0 г, xy®zx® zy, О, 1}; 7) А = {ж 0 2/, х ~ 2/z}; 8) Л = {од 0 yz 0 ^, 0, 1, ж V 2/}. 6.5. Из полной в Р2 системы Л выделить всевозможные базисы: 1) Л = {1, ж, од (ж 0 у), x®y®xy®yz® zx}; 2) Л = {0, ж 0 ^/, ж —>¦ ^/, од ~ Ж2;}; 3) Л = {0, 1, хфу ® z, xy ® zx® yz, xy®z, ж V у}; 4) Л = {од, ж V 2/, xy\J z, ж 0 2/, ж —>¦ 2/}; 5) Л = {жз/ 0 2;, ж 0 2/ 0 1, ОД, ж}; 6) Л = {ж^/ V ~z, ж, ж -»> у, 0, ж 0 ^2/}; 7) Л = {од, xy\l z, ж 0 2/, ж —>- 2/? ^}5 8) Л = {ж 0 2/, ж ~ 2/j ж 0 2/ 0 2;, Ж2/, ж -»> 2/}- 6.6. Используя теоретико-множественные операции, выразить че- через известные замкнутые классы Tq, Ti, L, 5, М и Р2 замыкание множества Л: 1) Л = Р2\Gо U Ti U L U 5 U М); 2) Л = М\(Т0 П L); 3) Л = М\(Г0ПГ1); 4) Л = Г0П(А5); 5) Л = 5\(Г0\Г1); 6) Л = (L П 5)\(Г0 U Ti); 7) Л = 5\ГХ U L\(Ti U Го); 8)Л = ДEиГ0); 9)Л = Д(ГоиГ1); 10) Л = (T0\Ti) U (M\L); П) Л = (T0\Ti) U (М\Го); 12) Л = М\E U L). 6.7 1) Пусть Р^Х2) — множество всех функций из Р2(Х2), су- существенно зависящих от двух переменных. Найти базисы Б С Р^Х2), содержащие: а) одну функцию; б) две функции; в) три функции. 2) Доказать, что нет базисов Б С Р2(Х2), содержащих четыре функции. 6.8. Выяснить, можно ли расширить до базиса в Р2 множество Л: 1) Л = {ж - 2/, гп(х, 2/, *)}; 2) Л = {ж}; 3) Л = {ж 0 у, ж V 2/}; 4) Л = {ж V 2/, ОД}; 5) Л = {0, 1}; 6) Л = {0, 1, ж V у}; 7) Л = {ж -+ 2/, ^ V 2/}; 8) Л = {ж 0 2/, ж - 2/}- 6.9. Выяснить, полна ли система функций Л = {Д, /2}: l)/i €5\М, f2?LuS, /i->/2 = l; 2)/i^LUT0UTi, f2eMDL, h^h = l; 3) /1 g To U L, /2 ^5, /1^/2 = 1; 4)/ie(Snl)\T0, f2?M\(T1nL), Д->/2 = 1. 6.10. Выяснить, при каких п ^ 2 функция /(жп) является шеф- феровой: 1) /(жп) = 10 Ж1Ж2 0 ... 0 ж^Жг+1 0 ... 0 жп_1Жп 0 жпЖ1; 2) /(жп) = 10 Ж1Ж2 0 ... 0 ж^Жг+1 0 ... 0 жп_1Жп;
§ 6. Полнота и замкнутые классы 85 з) f(xn) = у ^; 4*) /(?п) =! ® . Е °J J У^ J V ^г1«^г2 • • • ^]n/2[> 6) f(xn) = 1 0 (жх -»> ж2) 0 (ж2 -»> ж3) 0 ... • • • vP \«^n—1 ^ ^П) ^ V ^ <^1у) 7i /*it*^ 1 — 1 (Ф A*-1 ^ т*л 1 (Ф (i*n ^ 1*п 1 (Ф (Ф it* -1 ^ т* I* ) J V / — ^^ V^l ^ ^2 ) ^1. у**7^ ^ "^о) ^З. * * * ^З. у**7?! 1 ^ "^Т1) 1 rS I / | Т* | ( Т* -I Т*г> | (ПЛ ( Т*г> Т*о I (^Р) ЛР\ / /т^ ^ /т^ ] (\\ ( Т* Т* -I ) * 9) f(xn) = (xi | ж2) 0 (ж2 | х%) 0 ... 0 (xn-i | жп); 10) f(xn) = Ж1Ж2 . . . Хп 0 (xi —У Ж2) & (ж2 —У Жз) & ... 6.11. Доказать, что, если / монотонна и зависит существенно не менее чем от двух переменных, то система {0, /} полна в Р2. 6.12. Пусть /i, /2, /з — попарно различные функции перемен- переменных xi, ж2, существенно зависящие от двух переменных. Доказать, что система {х, Д, /2, /з} полна в Р2. 6.13. С помощью суперпозиции из функции / можно получить константы 0 и 1. Доказать, что / — шефферова функция. 6.14. Монотонная функция / имеет ровно две нижние единицы. Доказать, что / — шефферова функция. 6.15. Доказать, что если / ^ Tq U T\ U 5, то / — шефферова функция. 6.16. Подсчитать число шефферовых функций в Р2(ХП). 6.17. Функция / зависит существенно ровно от двух переменных и не принадлежит множеству Т\ U Tq. Доказать, что функция / шеф- шефферова. 6.18*). Доказать, что с помощью отождествления переменных из шефферовой функции, зависящей от п ^ 3 переменных, можно получить одну из функций хУу или ~ху. 6.19. 1) Доказать, что L С Тх U To U 5. 2) Доказать, что множество А является непустым: &)A = (Ln Г!)\(Г0 U S); 6)A=(Ln Г0)\(Т! U S); B)A = (LnS)\(T0UT1). 6.20. Пусть f(xn) — симметрическая функция, существенно за- зависящая от пK переменных, и /A110 ... 0) = /@0 ... 0). Доказать, что система {/(жп), 0, ж} полна в Р2. 2) Пусть п четно, f(xn) — симметрическая функция, существен- существенно зависящая от п переменных, /@) ф /A). Доказать, что систе- система {/(жп), ж} полна в Р2. 6.21. 1) Пусть А — множество функций из Р2(ХП) такое, что 1 п \А\ > - • 22 . Доказать, что система А полна в Р2, п ^ 2.
86 Гл. II. Замкнутые классы и полнота 2) Пусть А — множество функций из Р2(Хп), существенно зави- зависящих от п переменных, \А\ ^ - • 22™ (n ^ 2). Доказать, что систе- система А полна в Р2. 3) Пусть |А\(Г0 UTi)| > \ • 22П~\ А С Р2(Хп) (п ^ 2). Доказать, что система А полна в Р2. 4) Пусть \А П L\ > 2П, \А П М| > п + 2, Л С P2(^n) (n ^ 2). До- Доказать, что система А полна. 5) Пусть \АпЬ\>2п, |ЛП5|>2П, А С Р2(Хп) (п ^ 3). Дока- Доказать, что система А полна. 6) Пусть \AnS\>\- 22П~\ \А П (L\T0)| > 2я, Л С Р2(*п) (п ^ 3). Доказать, что система Л полна. 6.22. Доказать, что всякая функция / из множества S\(Tq U T\ U U M U L) образует базис в 5. 6.23. Верно ли, что всякая функция / G Т0\(Тг UMULUS) об- образует базис в То? 6.24. 1) Верно ли, что если / G M\S U L, то {0, 1, /} — базис в М? 2) Верно ли, что для всякой функции / G M\S U L такой, что / i ([{х v У}] и [i^?/}])? множество {0, 1, /} является базисом? 6.25. Пусть функция /(ж4) такова, что для всякого г A ^ г ^ 4) каждая из подфункций /q и /^ принимает значение 1 ровно на четы- четырех наборах значений переменных. Может ли система {0, 1, /} быть полной в Р2? Пусть функция f(xn) существенно зависит от всех своих перемен- переменных. Через yi(f(xn)) обозначается множество всех таких функций, которые получаются из f(xn) отождествлением переменных, при- причем сама функция f(xn) множеству 91(/(жп)) не принадлежит. Если п < 2, то по определению *Л(/(хп)) = 0. Множество *R(f) называется наследственной системой функции /. Функция называется неприво- неприводимой, если [9t(/)] ф [/]. Базис Б замкнутого класса К называется простым, если после замены произвольной функции / из Б ее нас- наследственной системой получается система, неполная в К. Функция /, не принадлежащая замкнутому классу К, называется простой отно- относительно К, если ее наследственная система *R(f) содержится в К. 6.26. По функции / найти все попарно неконгруэнтные функции, входящие в ее наследственную систему ?Х1(/): 1) / = ху; 2) / = ху V yz V zx; 3) / = ху 0 z; 4) / = xy\t z; 5) / = хуУ zt; 6) / = ху V It; 7) f = x 0 у 0 z\ 8) / = xy 0 zy 0 x 0 y; 9) / = (x V z) ->• y; 10) / = xyz 0 xy 0 x 0 1. 6.27. Найти все попарно неконгруэнтные функции, простые отно- относительно класса К: 1)К = {0}; 2)К = Т0; 3) К = {0, 1}; 4) К = Ц
§ 6. Полнота и замкнутые классы 87 b)K = LHS; 6)К = Т0ПТ1; 7) К = М; 8) К = 5; 9) К = [О, 1, ж]; 10) К = [О, 1, ж, ж]; 11) К = [ж, ж]; 12) К = Го П L П 5. 6.28. Выяснить, является ли функция / неприводимой: 1)/ = жФ2/; 2)/ = ж0|/0г; 3)/ = ?0?/02:0?; 4) f = ху (Byz® zx; 5) / = ж V |/ V ~z\ 6) / = a^z M t{xM yM z)\ 7) f = ху V z; 8) ж?/ V я?; 9) / = ху ®yz® zt; 10) f = ху ф z. 6.29. Выяснить, является ли базис Б класса К простым: 1) Б = {0, 1, ху, х 0 у 0 я}, К = Р2; 2) Б = {ху 0 г, 1}, К = Р2; 3) Б = {ж?/ V г, 0, 1}, К = М; 4) Б = {ху V г*, 0, 1}, К = М; 5) Б = {ж$/ 0 ж 0 2/, ж}, К = Р2; 6) Б = {х 0 ?/, ж - у}, К = L; 7) Б = {ж 0 2/, х -> ?/}, К = Р2; 8) Б = {ж 0 у 0 г, 1}, К = L П Ti; 9) Б={х^у, ху}, К = Р2; 10) Б={х~у, ш(ж, 2/, 2;)}, К = Гь 6.30. Доказать, что в Р2 существует ровно два простых базиса, состоящих из одной функции: {х \ у} и {х I у}. 6.31. Доказать, что каждая функция / из простого базиса в Р2 является простой относительно некоторого предполного класса в Р2, к которому / не принадлежит.
Глава III fc-ЗНАЧНЫЕ ЛОГИКИ § 1. Представление функций fe-значных логик формулами 1. Элементарные функции fe-значных логик и соотноше- соотношения между ними. Всюду в этой главе число к предполагается на- натуральным и большим 2. Через Ек обозначается множество {0, 1, ... ...,& — 1}. Функция f(xn) = /(жь Х2, • • •, хп) называется функцией k-значной логики, если на всяком наборе а = (ai, «2, ..., ап) зна- значений переменных х\, Ж2, ..., хп, где щ ^ Ек, значение /E) также принадлежит множеству Ек. Совокупность всех функций к-значной логики обозначается через Рд.. Понятия фиктивной и существенной переменных, равенства функций, формулы над множеством функций (и связок), операций суперпозиции и замыкания, замкнутого класса, базиса и другие в &-значных логиках определяются так же, как со- соответствующие понятия в алгебре логики. Поэтому в дальнейшем приводятся определения только таких понятий, которые чем-то су- существенным отличаются от аналогичных понятий в Р2. Следующие функции &-значной логики считаются элементар- элементарными: константы 0, 1, ..., к — 1; эти функции будут рассматриваться как функции, зависящие от произвольного конечного числа перемен- переменных (включая и нуль переменных); отрицание Поста: х + l(mod к); обозначение ж; отрицание Лукасевича: (к — 1) — ж; обозначение ~ х или Nx; характеристическая функция (первого рода) числа ъ: ji(x) (i = = 0, 1, ..., fe-1), Г 1, если х = г, /iW = \0, если ж/i; характеристическая функция второго рода числа г: Ji(x) (г = = 0, 1, ..., fe-1), : — 1, если ж = г, , если х Ф %:
§ 1. Представление функций k-значных логик формулами 89 минимум х и у: гшп(ж, у) (другие обозначения: ху, х&су); максимум х и у: тах(ж, у) (другое обозначение: х V у); сумма по модулю k: x + у (mod к), читается «ж плюс у по моду- модулю &»; произведение по модулю к: х • у (mod к) читается произведение х на у по модулю к *); усеченная разность: 'О, если 0^х<у^к — 1, Х — У — Л ГЛ///7 1 \х — у, если О^у^х^к — 1; импликация: к — 1, если 0^ж<2/^& — 1, fc — 1) — ж + 2/, если О^у^х^к — 1; функция Вебба: тах(ж, 2/) + 1 (mod fc), обозначение г?^(ж. разность по модулю к: 'х — у, если 0^?/^ж^& — 1, |fc — B/ — ж), если 0^ж<2/^А; — 1. Функции (операции) min, max, + и • обладают свойствами ком- коммутативности и ассоциативности. Кроме того, справедливы соотно- соотношения: — дистрибутивность умножения относительно сложения; тах(гшп(ж, у), z) = тт(тах(ж, z), max(^/, z)) — дистрибутивность операции max относительно операции min; тт(тах(ж, у), z) — тах(тт(ж, z), min(|/, z)) — дистрибутивность операции min относительно операции max; тах(ж, ж) = ж, тт(ж, ж) = ж — идемпотентность операций max и min; min(~ ж, - у) =~ тах(ж, у), тах(~ ж, - у) =~ min (ж, ?/) — аналоги правил де Моргана в Р2. Следующие равенства вводятся по определению: тах(ж1, ж2, ..., жп_1, хп) = тах(тах(ж1, ж2, ..., xn-i), жп), п ^ 3; тт(жь ж2, ..., жп_ь жп) = тт(тт(жь ж2, ..., xn-i), жп), п ^ 3; 'О, если ж = О, 7 — ж, если ж/0. Принимая во внимание ассоциативность умножения по модулю к, произведение жж ... ж (/ сомножителей, 1^1) записывают часто в виде степени х1. *) Всюду в этой главе, если не оговаривается противное, знаки + и • понимаются как знаки сложения и умножения по модулю к.
90 Гл. III. к-значные логики 1.1. Доказать справедливость следующих равенств: 1) -(ж) =~ж; 2) х D у =~ (х-у); 3) х-(х-у) = тт(ж, 2/); 4) (х D у) D у = тах(ж, у); 5) (ж Э 2/) + ж = тт(ж, 2/); 6) х — у — х — тт(ж, 2/); 7) х — у = тах(ж, 2/) — У, 8) (~ х)^(у^ х) =~ тах(ж, 2/); 9) (~ х)^(~у) =у^ х; 10) ~ (ж + 2/) = (~ ж) + (~ 2/); 11) ~ (ж • 27) = (~ ж) • 17; 12) тах((ж + 2) - 1, Jk-2(x)) = ж; 13) min(~ Jk-i(x), (к - 2) D ж) = ж; 14) х^у = (х-у) + x-jk-i(y) +y-jk-i(x); 15) ^0, ?/) +^-^-1B/) +^-jfe-i(x) =тах(ж, у)] 16) тах(ж, ?/) +io(?/^^) +jk-i(x) -у = тах(ж, 2/); 17) тт(ж, у) + JoB/ ~ х) ~ 3k-i(x) -у = тт(ж, у); 18) J0(max(J0(x), Л (ж), ..., Jk-2(x))) = Jfe-i(^); 19) Л(тах(ж, 1, Л (ж), J2(^), ..., Jk-2(x))) = «/о(ж); 20) ^ ' Jo (ji (ж)) + jo О) • Ji (ж) = х + jo (ж) - ji (ж); 21) Jq(x^z)^ J0(x^(i-l)) = <Л(ж), г = 1, 2, ..., fc-1; 23) (... (((к - 1) - joOr)) - jo(x ^ 1)) ^ ... *-1 P" ... - jo(x - (fe - 3))) - ((к - 1) • jo(~ ж)) = x. 1.2. Показать, что функция / из Р& порождается с помощью операции суперпозиции множеством функций А (А С Р&), если: 1) / = Л (ж), Л = {JoOr), J2(x), тах(ж, ?/)}, А; = 3; 2) / =~ ж, А = {Jo(^), Л (ж), тт(ж, 2/), тах(ж, 2/)}, А; = 3; 3) / = ж, Л = {1, ж2, Л (ж), тахО, 2/)}, к = 3; 4)/ = joOr), А = {ж-1, ж2}, А; = 3,5; 5)/ = л(ж), Л = {х-у + х-у2 + 1}, А; = 3,5; 6)/=-ж, Л = {1, ж-г/}, А; = 3,5; 7)/ = ж, Л = {3, jo (ж), ж ^2/}, А; = 4; 8) / =~ ж, Л = {ж + 2, Jo (ж), Ji(x), тах(ж, 2/), ж • у}, к = 4; 9)/ = j4(x), А = {ж-1, J2(^)}, А; = 6; Ю) / = jb(x), А = {х + 2, ж2, J3(:r)}, А; = 6; 11) / = h(x), A = {ж, -ж, Jfc-iO)}; 12) / = Jfe_i(x), A = {-ж, ж ^2/}; 13) / = Jfe_2(^), А = {А; - 1, ж + 2, ж ^ 2/}; 14) f = jo(x), A = {1, -ж, ж ^22/}; 15) / = ж, Л = {1, ~ ж, ж - ^/}. 1.3. Доказать, что если а принадлежит Е^ и взаимно просто с к, то каждую функцию Ji(x) @ ^ i ^ к — 2) можно представить в виде суперпозиции над множеством {х + a, Jk-i(x)}.
' 1. Представление функций k-значных логик формулами 91 1.4. Показать, что функция ip из Pk представима формулой над множеством {0, 1, ..., к — 1, ж — 2у}, если: l)(f = jk-i(x), к = 2т(т^2); 2)(p = jo(x), к = 2т + 1 (т ^ 1). 1.5. Пусть hi(x) =~ ж, hi+i(x) = x D hi(x) (г ^ 1). Доказать, что ~ hk-i(x) = Jk-i(x). 1.6. При каких значениях & (fc ^ 3) функции ж2, ж3 и ж4 попарно различны? 1.7. Пусть /с = 3, 4, ..., 9, 10. Для каждого такого к выяснить, сколько различных функций из Р&, зависящих только от переменной ж, можно представить в форме х1 A^ 1 и степень рассматривается по модулю к). 1.8. Доказать, что каждую одноместную функцию /(ж) из Pk можно представить в виде суперпозиции над множеством {1, Jk-i{x), х + у}. 1.9. Функции Д(ж) и /2 (ж) из Рз удовлетворяют следующим усло- условиям: Л(ж)^ const, fr(E3)^E3 и f2(E3) = E3, где f(E) = {f(e): е G i?}. Доказать, что функция д(ж) = Д(ж) +/2(ж), где сумма берется по модулю 3, выпускает хотя бы одно значение из Е%, т.е. д(Е3)^Е3. 1.10. Пусть функция /(ж) из Р3 представима в виде а^х2 + а,2Х + + а>2 (здесь сумма и произведение берутся по модулю 3 и ао, ai, а,2 принадлежат Е3). Выяснить, какие значения могут принимать коэффициенты ao, ai, a2, если известно, что функция /(ж) выпускает хотя бы одно значение из Е3, т.е. f(E3) ф Е3. 2. Разложение функций fe-значных логик в первую и вто- вторую формы. Любую функцию /(ж1, ж2, ..., хп) из Pk (n ^ 1) можно представить в так называемой первой форме, являющейся аналогом совершенной д. н. ф. для функций алгебры логики: /(жь ж2, ..., хп) = = тах{тт(/(сгь сг2, ..., <rn), Jai(xi), <Лт2(ж2), •••» ^п(жп))}, «г где максимум берется по всем наборам а = (cri, сг2, ..., ап) значений переменных Ж1, ж2, ..., хп. Справедливо еще одно представление для функций /^-значной ло- логики, называемое второй формой: где суммирование ведется по всем наборам а = (cri, ..., ап) значений переменных Ж1, ..., хп (сумма и произведение берутся по модулю к). Пример. Представить функцию /(ж, у) = Таблица 3.1 = max (jo (х) • jo(y), ж • (ji(y) + 2j2(y))) из Р3 в первой и второй формах. Решение. Сначала выпишем значения функции / в таблицу (табл. 3.1). Затем по этой таблице строим первую и вто- вторую формы функции /. Первая форма выглядит У 0 1 2 X 0 1 0 0 1 0 1 2 2 0 2 1
92 Гл. III. к-значные логики следующим образом: /(ж, у) = max {min (I, J0(x), Jo (у)), min @, Jo (ж), Ji(y)), min @, Jo (ж), J2(?/)), min@, Ji(ar), JoB/)), min(l, Ji(ar), Ji (?/)), min B, JiO), J2(?/)), min@, J2(x), J0(?/)), min B, J2(x)J Ji Ы), (, 2(), 2 Выполняя простые преобразования, имеем /(ж, 2/) = max {min A, J0(x), Jo (у)), min(l, J0(x), Ji(y)), min(Ji(x), J2B/)), min(J2(», Ji(?/)), min(l, J2(ar), J2( /0, 2/) = 1 • JoO) - JoB/) +0- jo(x) • ji(y) +Q-jo(x) • J2(y) + + 0-л(ж) •ioW + bjiW -лB/) + 2-л(я:) • j2 Ы + 0 • j2 (ж) - JoB/) + + 2 • j2 (ж) • ji (y) + 1 • j2 (ж) • j2 B/) = jo (ж) • jo (?/) + ji (ж) • ji (y) + + 2 • н(х) • j2(?/) + 2 • j2(x) • iife) + j2(x) • j2(?/). 1.11. Для заданного k представить функцию / в первой и второй формах (полученные выражения упростить): 1)/ = ж, & = 3; 2)/=- ж, А; = 4; 3) / = -joO), & = 5; 4)/ = 2Ji(x), A; = 6; 5) / = J2(x2 + ж), к = 5; 6)/ = (~^J+ж, А; = 4; 7) / = Зл(ж) - js(x), к = 4; 8)f = x + 2y, к = 3; 9) f = тгх(х, у), к = 3; 10) / = ж - г/2, * = 3; И) / = х2 • ?/, к = 3; 12)/ = ж-J7, А; = 4. 1.12. Доказать справедливость следующего соотношения, являю- являющегося аналогом совершенной конъюнктивной нормальной формулы для функций из Pk'. f(xn) = min 5 {max (/Oi, cr2, ..., crn), - J^i^i), ~ Ja2(^2), ... ..., - Jan(^n))} (здесь n ^ 1 и минимум берется по всем наборам 5 = (cri, сг2, ..., сгп) значений переменных х\, ж2, ..., жп). § 2. Замкнутые классы и полнота в fe-значных логиках 1. Некоторые замкнутые классы fe-значных логик. Пред- Представление функций из Рк полиномами по модулю к. Пусть § — подмножество множества Е^. Говорят, что функция f(xn) из Pk (п ^ 1) сохраняет множество §, если на любом наборе ап = = (ai, a2,..., an) таком, что щ G ё (г = 1, 2, ..., п), она принимает значение /EП), также принадлежащее ё. При п = 0 считают по определению, что функция / = а (а € Еь) сохраняет множество & только в том случае, когда a G ё. Множество всех функций из Р&, сохраняющих множество ё, является замкнутым классом; оно обоз- обозначается через Т(§) и называется классом сохранения множества §.
§ 2. Замкнутые классы и полнота в k-значных логиках 93 Если g — собственное подмножество множества Ек (т.е. 0 С g ^ ^), то T(g) ф Рк (см. задачу 2.3). Пусть D = {§1, §2? • ••? ^s} — разбиение множества Ек, т.е. ЕЛ = U &и %гф® при г = 1, 2, ...,s и g; П % ^ 0 при i^j. г=1 Говорят, что элементы а и Ь из Ek эквивалентны относительно разбиения D (обозначение а ~ Ь (mod D)), если а и b принадлежат одному и тому же подмножеству gj разбиения D. Два набора 5П и (Зп называются эквивалентными относительно разбиения D (обозначе- (обозначение ап ~ (Зп (mod D)), если а\ ~ Pi (mod D) при г = 1, 2, ..., п. Го- Говорят, что функция f(xn) из Р/. (п ^ 1) сохраняет разбиение D, если для любых наборов ап и /Зп из эквивалентности ап ~ /Зп (mod D) следует эквивалентность /Eп) ~ f(/3n) (mod Z)). По определению считают, что всякая константная функция (т.е. нульместная функция вида / = а, а е Ек) сохраняет любое разбиение D. Множество всех функций из Рк, сохраняющих разбиение D = = {gi, g2, ..., Ss}, является замкнутым классом; оно обозначается через U(D) или C/(gi, ^2, •••? g«) и называется классом сохранения разбиения D. Если s 7^ 1 и s ф к, то класс U(D) отличен от Рк (см. задачу 2.4). Функция f(xn) из Pfc (n ^ 0) называется линейной, если она пред- ставима в виде а® + ai^i + ... + апхп, где ctj ? Ек (j = 0, 1, ..., п) , а сумма и произведение берутся по модулю к. Множество всех ли- линейных функций из Рк образует замкнутый класс линейных функций, который обозначается через Lk (или L). Класс Lk отличен от Рк при всяком к ^ 3. Полиномом (или многочленом) по модулю к от пере- переменных #1, #2, • • •, жп называется выражение вида а^ -\- а\Х\ + ... ... + атХт, где коэффициенты а« принадлежат множеству Ек и Xj — либо некоторая переменная из {х\, Х2, ..., жп}, либо произве- произведение переменных из этого множества (j = 1, ..., m). Говорят, что некоторая функция из Рк представима (или реализу- реализуется) полиномом по модулю к, если существует полином по модулю к, равный этой функции. Множество всех функций из Рк, представимых полиномами по модулю к (или, короче, множество всех полиномов по модулю к), является замкнутым классом в Рк. Теорема (критерий полноты класса полиномов в Рк). Представ- Представление каждой функции из Рк полиномом по модулю к возможно в том и только том случае, когда к — простое число {иными словами, система полиномов по модулю к полна в Рк тогда и только тогда, когда к — простое число). Если к — составное число, то в Рк имеются функции, представи- мые полиномами, и функции, не представимые полиномами (напри- (например, константные функции 0, 1, ..., к — 1 и «полиномиальные» х, х2, х • у, х + у представимы полиномами, а функции jo(x), max (ж, у), min (x, у), х — у не представимы).
94 Гл. III. к-значные логики Пример 1. Представить полиномом по модулю 5 функцию f(x) = = х2 — х из Р5 • Решение. Сначала представим функцию f(x) во второй форме: /(*) = Е/И -^О*) = /@) -Л(х) +/A) • л(х) + + /B) • j2(x) + /C) .jsH + /D) • j4(s) = = 0 • jo(x) + 0 • л (ж) + 2 • j2(^) + 1 • ^з(ж) + 0 • J4(^) = 2 • j2(x) + j3(x). Далее воспользуемся тем, что jo(x) = 1 — хк~г, если к — простое число (к ^ 3), и что ji(x) = jo (ж — г), г = 1, ..., к — 1. (Здесь, как обычно, разность и степепь берутся по модулю к.) Имеем j2(x) = 1 - (х - 2L = -ж4 - 2ж3 + х2 + 2ж, j3(x) = 1 - (х - ЗL = 1 - (х + 2L = -ж4 + 2ж3 + х2 - 2х. Следовательно, х2 — х — 2х4 — 2х3 — 2х2 + 2х. Это выражение можно записать компактнее: 2х(х — 1J{х + 1. Полином, реализующий функцию /(ж), можно найти также ме- методом неопределенных коэффициентов: пусть f(x) = clq + a\ • х + + а2 • х2 + аз • х3 + а4 • ж4 (более высокие показатели степени рассмат- рассматривать не нужно, ибо ж4+/ = xl (mod 5)). Составим систему: а0 = /@) = 0, do + cli + а2 + а3 + а4 = /A) = 0, а0 + 2ai + 4а2 + За3 + а4 = /B) = 2, а0 + 3ai + 4а2 + 2а3 + а4 = /C) = 1, а0 + 4ai + а2 + 4а3 + а4 = /D) = 0. Решая ее, например, методом исключения, находим: а® = 0, ai = 2, a2 = 3, a3 = 3, a4 = 2. Пример 2. Доказать, что функция f(x, у) = х2 - у из Р4 не представима полиномом по модулю 4. Решение. Предположим противное, т.е. что /(ж, 2/) реализуется полиномом по модулю 4, и запишем этот гипотетический полином в общем виде (с неопределенными коэффициентами): /(ж, у) = (aOo + CLiox + a2ox2 + a3ox3) + (aoiy + a11xy + a2ix2y + a31x3y) + + (о>02У2 + ai2;n/2 + а22х2у2 + а32х3у2) + + (аОз2/3 + ai3;n/3 + a23xV + а33х3у3). (Показатель степени выше 3 рассматривать не надо, так как при / ^ 1 справедливы соотношения х21+2 = х2 (mod 4) и х21+3 = х3 (mod 4)). Имеем /A, 0) = аОо + «ю + а20 + а30 = 1, (*) /A, 2) = аОо + аю + «20 + а30 + 2(aOi + аи + «21 + «3i) = 0. Так как уравнение 1 + 2а = 0 (mod 4) решений не имеет (в чем можно убедиться непосредственно, полагая последовательно а = 0, 1, 2, 3), то система (*) также не имеет решения. Следовательно,
§ 2. Замкнутые классы и полнота в k-значных логиках 95 нельзя подобрать подходящие коэффициенты ац, которые обеспечили бы представимость функции / в виде полинома по модулю 4. Значит, функция / не реализуема полиномом по модулю 4. Замечание. В рассмотренной задаче достаточно было выписать два соотношения между коэффициентами. Однако иногда бывает не- необходимо рассматривать более полную совокупность уравнений. В п. 2 мы продемонстрируем другие методы доказательства непредстави- непредставимости функций из Pk полиномами по модулю к. 2.1. 1) Выяснить, каким из классов Г({0, 2}) и [/({0, 1}, {2}) принадлежат следующие функции из Р%\ а) ~ х; б) ji(x); в) ^(ж); г) ж ^у; д)х + у; e)min(ij). 2) Выяснить, каким из классов Т({1, 3}), U({0, 1}, {2}, {3}) и [/({О, 3}, {1, 2}) принадлежат следующие функции из Р±\ а) ж; б) -ж; в) jo (ж); г) ж+ 2?/; д)тах(ж, у); е)х2-у. 2.2. Для функции / из Pk при заданном к подобрать классы типа Т(§) и U(D), которым она принадлежит. При этом g долж- должно быть собственным подмножеством множества Ek (т.е. % ф 0 и ё Ф Еь, a D — таким разбиением {§]_, §2? •••? $«} множества i^, чтобы выполнялись неравенства 1 < s < к: 1) к = 3, / = х2 + 1; 2) А; = 3, / = J0(x2 + 2ж); 5) fe = 4, f = j2(x-x2); 6)fc = 4, / 7) fe = 4, / = ж • у - у + 3; 8) к = 5, / = min (ж2, ?/); 9) к = 5, / = Bж2 ^ 2/) - 1; 10) Jb = б, / = ж3 • 2/ + 2; 11) fc — произвольное число, не меньшее 3, / = jiBx — ж2); 12) & — произвольное число, не меньшее 3, / = Jk-i(x • у — 1). 2.3. 1) Пусть g С Ек. Доказать, что Т{Щ ф Pk тогда и только тогда, когда g — собственное подмножество множества Ек (т.е. ^/0и $фЕк). 2) Сколько существует различных замкнутых классов в Р&, яв- являющихся классами сохранения множеств? 3) Пусть & С Ek- Подсчитать число функций в Рк, содержащихся в классе Т($) и зависящих от переменных Ж1, Ж2, ..., жп (п ^ 0). 2.4. 1) Пусть 1} = {gb g2? • • • ? ^s} — разбиение множества ^. Доказать, что C/(-D) 7^ Pk тогда и только тогда, когда 1 < s < к. 2) Для & = 3, 4, 5 подсчитать число различных замкнутых классов в Р^, являющихся классами сохранения разбиений. 3) Пусть D = {§1, §2? • • • 5 ^s} — разбиение множества Ек. Под- Подсчитать число функций в Pk, содержащихся в классе U(D) и завися- зависящих от переменных Ж1, Ж2, ..., хп (п ^ 0). 2.5. Пусть g — непустое подмножество из Ек, отличное от все- всего Ekj и D = {$, Ek\&}. Подсчитать число функций в Р^, зависящих от переменных х\, Ж2, ..., хп (п ^ 0) и содержащихся в множестве: 1) T(8)\U(D); 2) U(D)\T(8); 3) T(g) U
96 Гл. III. к-значные логики 2.6. Через Sk обозначается множество всех разнозначных функ- функций из Р^, зависящих от одной переменной (т.е. д(х) принадле- принадлежит Sk тогда и только тогда, когда д(Е^) = Ек). Пусть Р^ — мно- множество всех функций &-значной логики Р&, зависящих от одной переменной, и CSk = Р^ \Sk- 1) Показать, что множества Sk и CSk являются замкнутыми клас- классами. 2) Подсчитать число функций, зависящих от переменной ж и принадлежащих классу Sk П U({0, к - 2}, {1, ...,&- 3}, {к - 1}). (При к = 3 считаем, что {1, ..., к — 3} = 0.) 2.7. Разложить в полином по модулю к функцию / из Р&: 1)/ = 2ж^ж2, /с = 5; 2) / = гшп(ж2, ж3), jfe = 5; 3) / = тахBж^ 1, ж2), к = 5; 4) / = Зж -(ж - 2ж), к = 7; 5) / = max ((ж- IJ, ж3), А; = 7; 6) / = min (ж2, 2/), к = 3; 7) / = тахBж-2/,ж-2/), А; = 3; 8) / = ж - 2/, А; = 3; 9) / = Jk-2(x), к — произвольное простое число; Ю) / = J2(^ — ж2), А; — произвольное простое число. 2.8. 1) Доказать, что функция 2ji(x) из Р^ при любом г = 0, 1, 2, 3 представима полиномом по модулю 4. 2) Доказать, что если функция из Р^ зависящая от одной перемен- переменной, принимает значения либо только из множества {0, 2}, либо толь- только из множества {1, 3}, то она представима полиномом по модулю 4. 3) Используя функцию /(ж, у) = 2 • jo (ж) • jo (у) (из Р4), показать, что утверждение 2) не обобщается на функции, зависящие более чем от одной переменной. 2.9. Доказать, что если функция /(ж) из Р± не представима по- полиномом по модулю 4, то при любом целом т ^ 2 функция (/(ж))т, равная тгг-й степени функции /(ж), также не представима полиномом по модулю 4. 2.10. Подсчитать число функций в Р±, которые зависят только от переменной ж и реализуются полиномами по модулю 4. 2.11. 1) Пусть функция /(ж) из Pq реализуется полиномом по мо- модулю 6. Доказать, что ее можно реализовать полиномом по модулю б, имеющим вид ао + о,\х + а2Ж2. 2) Доказать, что в Pq число функций, зависящих от переменной ж и представимых полиномами по модулю б, равно 108. 3) Перечислить все функции /(ж) из Pq, которые представимы в виде а + Ъ • jo(x) (а и Ъ принадлежат Eq), не реализуемы полиномами по модулю б и удовлетворяют следующему условию: функция (/(ж)J реализуема полиномом по модулю б. 2.12. Выяснить, представима ли полиномом по модулю к функ- функция / из Pk-, если: 1)/ = Зж^2ж2, к = 4; 2) / = 3jo(x), к = б;
§ 2. Замкнутые классы и полнота в k-значных логиках 97 + </4(а;)), к = 6; 4) / = (х - у) - у, к = 4; 5) / = (max (ж, 2/) — min (ж, 2/)J, fc = 4. 2. Исследование систем функций &-значной логики на полноту. В /с-значных логиках исследование произвольной системы функций на полноту сопряжено с большими техническими труднос- трудностями: использование критерия полноты, основанного на рассмотре- рассмотрении совокупности всех предполных классов в Р^, даже при к = 3, 4 требует проверки весьма значительного числа условий (так как в Рз существует ровно 18, а в Д — ровно 82 предполных класса). До- Доказательства полноты конкретных систем в Pk проводятся обычно методом сведения к заведомо полным системам (таким, например, как система Россера-Туркетта {О, 1, ..., k- I, Jo (ж), Ji{x), ..., Jk-i(z), min (ж, у), max (ж, у)} или система Поста {ж, max (ж, у)}). Существует, кроме того, ряд признаков полноты, в которых рассматриваются множества функций, содержащие некоторые совокупности функций от одной переменной и еще только одну функцию, существенно зависящую не менее чем от двух переменных. Сформулируем наиболее важные из таких призна- признаков. Напомним, что: Sk — это множество всех разнозначных функций из Pk, зависящих от одной переменной; CSk = P(b\Sk; Р^ — множество всех одноместных функций из Р^. Функция f(x) G Рк называется существенной, если она зависит существенно не менее чем от двух переменных и принимает все к значений из множества Е^. Теорема 1 (критерий Е. Слупецкого). Система P^\J{f(x)} полна в Pk {при к ^ 3) тогда и только тогда, когда fix) — су- существенная функция. Теорема 2 (критерий СВ. Яблонского). Система CSk U {f(x)} полна в Pk (при к ^ 3) тогда и только тогда, когда fix) — су- существенная функция. Теорема 3 (критерий А. Саломаа). Система Sk U {f(x)} полна в Pk (при к ^ 5) тогда и только тогда, когда функция fix) су- существенная. При использовании этих теорем полезными являются утвержде- утверждения, дающие разнообразные критерии полноты систем функций в множествах Р^ , Sk и CSk- Приведем один из таких результатов. Пусть функция hij(x), где O^i<j^k — 1, определяется так: {г, если х = j, j, если х = г, х в остальных случаях. Теорема 4 (С. Пикар). Каждая из систем {ж, hoi(x), ж + ^'о(ж)} и {hol(x), hO2(x), ..., hO(k-i)(x), x + jo(x)} полна в PJ^\ 7 Г. П. Гаврилов, А. А. Сапоженко
98 Гл. III. к-значные логики 2.13. Подобрав подходящий класс типа Т(§) или U(D) доказать, что система Л не полна в Р^\ 1) А = {~ ж, min (ж, у), ж • у2}; 2) А = {1, 2, x^j2(x): max (ж, ?/)}; 3) Л = {2, jo (ж), х + jo(x) + Л(ж) + Jfe-i(x), min (ж, у)}; 4) Л = {J2(a0, ж +^0(ж), ж + jo (ж) + Л(ж), max (ж, у)}; 5) A = {k-1, J0(x), х^у, х-у - z}; 6) А = {2ж3, 2ж + ?/, х2 • ?/, ж • J0(y), х2 + (- 2/)}; 7) А = {х -у, max (ж, 2/) - z + 1}; 8) Л = {-ж2, max (ж, 2/) + ^}; 9) А = {1, -ж • 2/, ж2-2/}; Ю) Л = {2, max (ж, ?/), ж - у}- 11) Л = {А;-2, ~jk_2(x), max (ж, ?/), ж + ^}; 12) Л = {j2(», ж +^о(ж) + Л(ж), ж-2/, ж ^2/}; 13) Л = {1, Jo (ж), ж + jk-i(x), min (ж, j/), max (ж, j/)}; 14) Л = {1, 2, ..., А;- 1, ж + jo (ж), j2(^) + I, max (ж, у)}; 15) Л = {1, - ж, х-у, min (ж, 2/)}; 16) Л = {~ ж, Jo (ж), Ji(x), ..., J^fe_l(ж)J min (ж, 2/) + (jo (ж) + 17) Л = {1 -ж, jo (ж), ^1(ж), ..., ^^-1(ж), х-у, х^у), min (ж, 2/)}. 2.14. Как известно (см. § 1), система Л = {0, 1, ..., к- 1, jo (ж), ji(^), ..., ^^-1(ж), х + у, х-у} полна в Р}~. 1) Доказать, что из системы Л можно выделить полную в Р^ подсистему, состоящую из двух функций. 2) Показать, что любая подсистема системы Л, состоящая из одной функции, не полна в Р&. 2.15. Система Россера-Туркетта Ах = {0, 1, ..., к- 1, Jo (ж), Ji(x), ..., Jfc-ifa), min (ж, у), max (ж, у)}, как известно, полна в Р^ (см. § 1). 1) Проверить, что, удаляя из А\ любую константу, отличную от 0 и к — 1, получаем подсистему, содержащуюся в некотором классе типа Т(§), где 0 ф & ф Е}« (и, значит, неполную bPJ. 2) Выделить из системы А\ полную в Р^ подсистему, состоящую из 2к — 2 функций. 2.16. Для заданных к исследовать на полноту следующие подсис- подсистемы системы Россера-Туркетта: 1) к = 3, {1, Jo(ж), J2(x), min (ж, у), тах(ж, у)}; 2) к = 3, {1, 2, J2fa), min (ж, 2/), тах(ж, у)}; 3) А; = 4, {1, 2, Jo (ж), Ji^), min (ж, у), тах(ж, у)}] 4) А; = 4, {1, 2, Jo (ж), J3(^), min (ж, 2/), тах(ж, 2/)}. 2.17. Доказать, что каждая из приводимых ниже систем полна в Sk: 1) {hoi(x), hO2(x), ..., /iO(fc-i)(ff)};
§2. Замкнутые классы и полнота в k-значных логиках 99 2) {hol(x), h12(x), ..., hiii+1(x), ..., hk-2,k-i(z)}] 3) {ж, hol(x)}. 2.18. Доказать, что система {hOi(x), ho2(x), ..., ho^-i(x), x + + jo(x)} полна в ifc . 2.19. Используя метод сведения к заведомо полным системам, доказать полноту в Pk следующих систем: 1) {Jo (ж), JiO), ..., Jfc-iO), ж2, ж ~2/}; 2) {k-1, х-у, х + у}; 3) {~ ж, х + 2, ж - 2/}; 4) {-ж, 1 - ж2, ж - у}; 5) {ж + 2/, (~ ж) - 22/}; 6) {ж, min (ж, у)}] 7) {min (ж, у) - 1}; 8) {J^-i^), x + y, x • у}; 9) {1, ж2 + у, ж2 - 2/}; 10) {Jo(ж), ж + ?/, ж • ?/2}; 11) {к - 2, ж • у + 1, (~ ж) - у}- 12) {& - 1, ж2 - у, ж2 - 2/}; 13) {1, 2 • ж + у, ж • 2/}; 14) {1, ж2 - у, min (ж, у)}] 15) {1, ж + у + 2, ж2 - у}- 16) {ж • j0B/), min (ж, ?/)}. 2.20. Используя критерий Слупецкого, доказать полноту в Pk нижеприводимых систем: 1) {к - 1, ж - у + 2, ж2 ^ 2/}; 2) Шж), ж + ?/2, ж • ?/ + 1}; 3) {ж -2/, (~ж) -2/}; 4) {л (ж), ж - 2/, ж2 -2/}; 5) {х, jo(x), x-у}] 6) {ж - 1, (ж + jo(x)) • A - 2/) + A - ж) • (у - л ){() } 8) {ж • jo(x - у) + (ж - л(ж)) • jo(y) + 9) {jo(x-y) +x-jo(y) + (ж - ji(x)) • Ю) {ж- j0 B/) + jo (ж) • (y+jo(y) ~j 11) {1/• jofa) + ji(ar) • B/ + joB/)) + ji(y) • (J2^) - ji(^))}. 2.21. Исследовать на полноту в Р^ следующие системы: I) {к - 1, ж + 2, max (ж, 2/)}; 2) {1, 2, ^^}; 3) {fc-2, ж + 2/, min (ж, 2/)}; 4) {0, 1, ж^(~?/)}; 5) {2, 2ж + у, ж2 - 2/}; 6) {1, 2, max (ж, ?/)}; 7) {2 - ж, ж • у, max (ж, 2/)}; 8) {к - 2, 2ж + 2/» ж ~ 2/}; 9) {~ ж, -ж • у, min (ж, 2/)}; 10) {2, ж + 2/, ж - 2/}; II) {-ж, 2^0(ж), Ji(ar), ж ^2/}; 12) {1, -ж, J0(a:) + Ji(ar), max (ж, у)}] 13) {0, 1, -ж, 2-jo(s)-2ji(aO, min (ж, у)}; 14) |l, А; - 1, ж - [-], min (ж, 2/)}; 15) {к - 2, - ж, ж - 2/}. 2.22. Доказать, что приводимые ниже системы полны в Pk тогда и только тогда, когда к — простое число: 1) {1, ж + у + ж • z}\ 2) {ж - ?/ + 1, ж2 - у, х • у2}; 3) {ж - 1, ж + ?/, ж2 • 2/}; 4) {& - 1, ж • 2/ + ж - 2/ + ^}; 5) {& - 2, ж + 22/, ж • 2/2}; 6) {-ж, ж - 2/, ж2 • 2/}; 7*
100 Гл. III. к-значные логики 7) {ж - 2, ж + 2у + 1, ж • у - ж - у}; 8) {1, 2х + у, х • у2 - х + у}; 9) {х + у + 1, х • у - х2}; 10) {х-2у, х-у + х + 1}; 11) {1 + х\ — ж2 + х\ • ж2 • ... • хи}. 2.23. Доказать, что при составном к перечисленные ниже функции из Pk не представимы полиномами по модулю к: 1) /г(ж), 0^г^&-1; 2) max (ж, у); 3) min (ж, у); А) х-у\ 5) х D у; 6) (х- у) - z\ 7) любая функция Шеффера (т.е. функция, образующая в Р^ полную систему). 2.24. Подобрав для функции /(ж, у) такие многочлены Qq(x), Qi(x) и $2(ж), чтобы хотя бы одна из функций Qo(f(Qi(x), Q2(у))) или Qo(f(Qi(x), Q2(x))) была заведомо не разложима в полином по модулю к, доказать, что при к = 4 , б нижеперечисленные функции не представимы полиномами по модулю к: 1) / = B - ж3) -у; 2) / = ((- ж) + у) - (ж - 1); 3) / = min(~ ж, 2/)-A-ж); 4) / = max (ж, у)-(х-2). 2.25. Выделить базис из полной в Р^ системы А: 1) А = {к- 1, jo (ж), Л (ж), ..., ^_1(ж), ж-?/, ж ^^/}; 2) А = {ж - 2, Jo (ж), max (ж, 2/), ж - 2/2, ж2 • 2/}; 3) А = {~ ж, min (ж, у), х -у, х + у}; 4) Л = {ж - 1, ж + 2, max (ж, 2/), ж — у}; 5) Л = {2, jo (ж), ж + у2, х2 - у, х • у • z}. 2.26. Пусть В — произвольный базис, выделенный из системы Рессора-Туркетта. Доказать, что в нем: а) содержится хотя бы одна из функций Ji(x) @ ^ г ^ к — 2); 6) нет константы 0; в) если Jo (ж) G В, то к - 1 ^ В. 2.27. Доказать, что если замкнутый класс в Р^ имеет конечную полную систему, то множество всех различных базисов у него не более чем счетное. (Два базиса считаются различными, если один из них нельзя получить из другого путем переименования переменных без отождествления.) 2.28. 1) Пусть А — непустое множество одноместных функций из Pk, отличное от всего множества Р^ ' и удовлетворяющее следую- следующему условию: существует пред полный класс В в Pk такой, что В П Р^ —А. Доказать, что такой класс В единственный. 2) Доказать, что число предполных классов в Р^, каждый из которых не содержит целиком множество Р^ ', меньше 2к . 2.29. 1) Показать, что в замкнутом классе К\ — [ж2 -у2] из Рз нет ни констант, ни тождественной функции. 2) Показать, что в замкнутом классе К2 = [ji(x) • J2B/)] из Ръ нет функций, зависящих существенно от одной переменной.
§ 2. Замкнутые классы и полнота в k-значных логиках 101 2.30. Две функции из Pk называются конгруэнтными, если они могут быть получены друг из друга путем переименования пере- переменных без отождествления. Показать, что замкнутый класс К% = — [h{x) ' h{y)] из Рз состоит из конечного числа попарно неконгру- неконгруэнтных функций, зависящих существенно от всех своих аргументов. 2.31. Рассмотрим в Pk замкнутый класс К4 = [/lOl), /2O1, Х2), /зОъ Х2, Х3), ..., /пОъ Х2, ..., Хп), ...], где fn(zn)=J2(zi)-J2(z2)-----J2(zn) (n = 1, 2, 3, ...). Очевидно, что он содержит бесконечно много попарно неконгруэнтных функций. Доказать, что в К\ нет пред полных классов. 2.32. Подсчитать число существенных функций в Р&, зависящих от переменных xi, X2, ..., хп (п ^ 2). 2.33. Как известно, в Р^ при к ^ 3 существуют замкнутые клас- классы, не имеющие базисов, и замкнутые классы со счетно-бесконечными базисами. Рассмотрим класс А^ — [/2, ..., /т, ...], где {1 при хг = ... = Xi-i = Xi+i = ... = хш = 2, Xi = l (i = 1, ..., т), 0 в остальных случаях, т ^ 2. Базисом в А^ является множество {/2, ..., /т, ... }. Используя класс Аь, доказать, что в Pk (к ^ 3) существует континуальное семейство {В7} замкнутых классов, образующих по включению цепь, т. е. для любых двух классов В1х и В12 из семейства {В^} справедливо только одно из включений: В71 С В12 или В12 П В71.
Глава IV ОГРАНИЧЕННО-ДЕТЕРМИНИРОВАННЫЕ ФУНКЦИИ § 1. Отображения последовательностей 1. Основные понятия и факты, связанные с заданием детерминированных функций. Пусть А — непустой конечный алфавит. Его элементы называются буквами (или символами). Словом длины s в алфавите А называется последовательность ви- вида хA) хB)... x(s), составленная из букв алфавита А (здесь s ^ 1). Кратко эта последовательность обозначается так: х8. Множество всех слов длины s в алфавите A (s ^ 1) обозначается через А8. Часто рассматривают и слово длины 0 (пустое слово); его обозначают символом Л. Через А* обозначается множество {Л} U U А8. Сим- 8^1 вол вида [ai ... an\s, где s ^ 2, п ^ 1 и а\, ..., ап — буквы из алфавита А, используется для краткой записи «периодического» сло- слова а\ .. .апа\ ... ап ... а\ ... ап (длины п • s). Если п = 1, то вмес- вместо [ai]s применяют также символ а{. Бесконечные последовательности хи = хA) хB)... x(t)..., со- составленные из букв алфавита А, называются бесконечными словами в алфавите А. Множество всех бесконечных слов в алфавите А обозначается через А^. Слово w, получающееся приписыванием слова и>2 справа к конеч- конечному слову wi, называется соединением слов w\ и W2 и обозначается через W\W2- Слово w\ называют при этом префиксом (или началом), а слово W2 — суффиксом (или окончанием). Слово хи = хA) хB)... из Аи называется квазипериодическим, если существуют такие целые числа по и Г, что по ^ 1, Т ^ 1 и х(п + Т) = х(п) при п ^ по- Префикс хA) х{2)... х(по — 1) слова хш в этом случае называют предпериодом, число по — 1 — длиной пред- периода, слово х(по) x(n0 + 1)... x(n0 + Г — 1) — периодом слова хш, а число Т — длиной периода. Такое квазипериодическое слово удобно записывать в виде хA) хB) ... х(п0 - 1) [х(п0) х(п0 + 1)... х(п0 + Г - 1)]ш. Символом аш обозначается слово хи G Аи, в котором x(t) —а при любом t = 1, 2, ... (а е А).
§ 1. Отображения последовательностей 103 Пусть А и В — конечные непустые алфавиты. Множество отоб- отображений вида /: А^ ->• В^ обозначается через Ра,в,ю- Алфавиты А и В называют соответственно входным и выходным алфавитами отображения из Ра,в,и, слова (последовательности) из множества Аи называют входными, а из множества Ви — выходными. Отображе- Отображение / из Pa,b,u называется детерминированным оператором или детерминированной функцией (сокращенно: д. оператором или д. функцией), если оно удовлетворяет следующему условию: для вся- всякого s ^ 1 и любого входного слова хш (из А") s-й символ выходного слова уш = /(ж^) является однозначной функцией первых s симво- символов слова Xй3. Множество всех д. функций из Ра,в,и обозначается через Ра,в,д- В тех случаях, когда А = Ек х ... х Ек (п ^ 1), В = Ei х ... х Ei (т ^ 1), п раз т раз где Ек = {0, 1, ..., к-1} (к^2) и Ei = {0,l,...,l-l} A^2), множества Pa,b,u и Ра,в,д будут обозначаться через Р^}71^ и Р^}71^ соответственно. Если отображение уш = /(ж^) принадлежит мно- множеству PkTL (или ^Г/7^)' т0 ПРИ т ^ ^ вместо 2/^ можно при- применять запись (у±, ..., у%), а при п ^ 2 вместо /(ж^) употреблять запись f(xi, ..., ж^); здесь ^ (j = 1, ..., m) — переменная, пробега- пробегающая множество Ef, wxf (i = 1, ..., п) — переменная, пробегающая множество Е^. При п = т = 1 верхние индексы у Р^^ и Р^7^ будем иногда опускать, т.е. будем писать Pk,i,u и Рк,1,Д- Полагаем Рк1д= у Рк^- Если I = к, то вместо двух индексов внизу будем писать один (например, Рк,д)- Функции Д и /2 из множества Ра,в,д называются различи- различимыми, если существует такое слово х$ (s ^ 1), что /iBq) 7^ /2(^0). Если же fi(xs) = /2B*) для любых слов 5?s (s = 1, 2, ...), т.е. если равенство fi^x10) = /2B^) выполняется при всяком входном сло- слове ж^, то функции Д и /2 называются эквивалентными (или нераз- неразличимыми) д. функциями. Пусть / и g — функции из Ра,в,д- Если существует такое слово Jq G i*, что /(xqX^) = /(х^дСх^) для любого слова ж^ G Л^ (здесь через fix0) обозначен префикс длины s выходного слова fix^x^)), то функция ^ называется остаточной функцией (или остаточным оператором) функции /, порожденной (порожденным) словом х$, и обозначается через /^. Множество Q(f, x$) всех остаточных функ- функций функции /, эквивалентных функции /^, образует класс эквива- эквивалентности, называемый состоянием функции /, содержащим оста- остаточную функцию fa*. Состояние, содержащее функцию /, называется начальным. Функция / называется ограниченно-детерминированной (сокращенно о.-д. функцией или о.-д. оператором), если она имеет
104 Гл. IV. Ограниченно-детерминированные функции конечное число попарно различных состояний. Число различных сос- состояний о.-д. функции называется ее весом. Если множество попарно различных состояний функции / бесконечное, то считают, что вес ее равен оо. Множество всех о.-д. функций, принадлежащих множест- множеству Ра,в,д (соответственно множествам i5^™, ^/Гд™' ^М,д и ^,д)? обозначается через Ра,в,од (соответственно через ^™д, ^'о™> Ям,од И Рк,од)- При описании д. функций бывает удобно пользоваться теоретико- графовым языком (а именно бесконечными информативными деревья- деревьями). Пусть А — алфавит, состоящий из / букв A^1). Через Da обозначим бесконечное ориентированное корневое дерево *) , удовлет- удовлетворяющее следующим условиям: а) из каждой вершины дерева, включая и корень, выходят ров- ровно / дуг (т.е. ориентированных ребер); б) в каждую вершину дерева, отличную от корня, входит только одна дуга, а в корень дерева не входит ни одной; в) каждой дуге дерева Da приписана некоторая буква алфави- алфавита Л, причем разным дугам, выходящим из одной и той же вершины дерева (в частности, из корня), приписаны разные буквы. Корень дерева Da считается вершиной нулевого ранга; если вер- вершина дерева Da является концом дуги, выходящей из вершины г-го ранга (г ^ 0), то она называется вершиной (г + 1)-го ранга. Дугой (ребром) j-го яруса (j ^ 1) назы- : : вается всякая дуга, выходящая из вершины (j — 1)-го ранга. Каждой бесконечной ориентированной цепи в дереве Da соответствует впол- вполне определенное слово из множест- множества Аш. На рис. 4.1 изображен фраг- 0 \ /2 2\/0 1\/1 1\/2 1 Рис. 4.1 Рис. 4.2 мент дерева Da (где А = {0, 1}), состоящий из трех первых ярусов этого дерева (здесь и в дальнейшем мы предполагаем, что символу О соответствует левое ребро (дуга), выходящее из вершины, а симво- символу 1 — правое); жирными ребрами выделена цепь, соответствующая слову 101. Нагруженное дерево Da,в получается из дерева Da приписывани- приписыванием каждой дуге некоторой буквы из алфавита В. Всякой бесконечной Определение корневого дерева см. в гл. VI.
§ 1. Отображения последовательностей 105 ориентированной цепи в дереве Da,в отвечает слово из множества Ви, составленное из букв, приписанных дугам этой цепи. Поэтому можно считать, что нагруженное дерево Da,в задает (реализует) вполне определенное отображение /: Аи —у Ви, являющееся д. функцией из множества Ра,в,д- На рис. 4.2 изображен фрагмент нагруженного дерева Dа,в-> где А = {0, 1} и В = {0, 1, 2}; д. функция, соответст- соответствующая этому дереву, «перерабатывает», например, слово 1010 в слово 2012. Пусть Da,в — нагруженное дерево, реализующее д. функцию /. Остаточной функции /^ (s ^ 0) отвечает поддерево Da,b(xq), рас- растущее из такой вершины v(xq) s-ro ранга, в которой оканчивается цепь, выходящая из корня дерева и содержащая ровно s ребер; г-е по порядку ребро этой цепи принадлежит г-му ярусу дерева и помечено символом Xo(i) Е А. Если остаточные функции /%* и /щ эквивалентны, то соответст- соответствующие им вершины v(xf) и ^(ж^), а также растущие из этих вершин поддеревья называются эквивалентными. Вес дерева, реализующего д. функцию, равен весу этой функции, а следовательно, равен макси- максимальному числу попарно неэквивалентных вершин (или поддеревьев) данного дерева. 2. Типовые примеры. Пример 1. Выяснить, является ли д. функцией отображение y" = f(x") еР^, где x"=x(l)xB)...x(t) ..., уш = уA)уB)... y(t) = x(t) ^ хA) при t^l. Решение. Из описания функции следует, что значение «выхо- «выхода» у {t) в момент времени t однозначно определяется значениями «входа» в моменты времени 1 и ?, т.е. s-й символ выходного сло- слова уш при всяком s ^ 1 является однозначной функцией первых s символов входного слова Xй3. Значит, рассматриваемая функция де- детерминированная . Пример 2. Является ли функция уш детерминированной, если y" = f(x") еР^, где x"=x(l)xB)...x(t) ..., уш = уA)уB)... ... y(t) ... и x(t — 1), если t — четное число, \x(t) • y(t + 1), если t — нечетное число? Решение. Если ориентироваться на форму задания функции, то естественно предположить, что она не является детерминирован- детерминированной, так как, например, «выход» в момент времени t = 1 зависит от «выхода» в момент t = 2. Однако указанная зависимость мо- может оказаться «фиктивной», возникшей только вследствие «плохого» (неудачного) описания функции. Поэтому необходимо проанализи- проанализировать «природу» рассматриваемой функции. Пусть t = 2s + 1, где s ^ 0. Имеем уBs + 1) = xBs + 1) • уBs + 2) = xBs + 1) • xBs + 1) = = 0. Следовательно, при всяком нечетном t выход y(t) равен 0, т.е.
106 Гл. IV. Ограниченно-детерминированные функции является однозначной функцией первых t символов входного сло- слова Xй3. Очевидно также, что аналогичная однозначность имеет место и для четных значений t. Таким образом, рассматриваемая функция детерминированная. Пример 3. Выяснить, является ли д. функцией отображение у" = f(xu) e РЦ, гДе x^=x(l)xB)...x(t)..., у" = уA) у B)... ..., y(t) ... и {0, если существует такое s ^ ?, что 3x(s) ^ x(s + 1) + x(s + 2), 1 в ином случае. Решение. При x(s) = 0 неравенство Sx(s) ^ x(s + 1) + x(s + 2) выполняется независимо от значений x(s + 1) и x(s + 2), а при x(s) = = 1 оно не выполняется ни при каких значениях x(s + 1) и x(s + 2). Следовательно, если x(s) = 0 при некотором s ^.t, у It) = Л [1 в ином случае, т.е. отображение / является д. функцией. Пример 4. Пусть уш =/(хш) е Р^, где хш = хA) хB)... ...x(i)..., у" =y(l)yB)...y(t)... и y(t) есть (* + 2)-я цифра после запятой в двоичном разложении числа x(i)/6. Выяснить, явля- является ли д. функцией отображение f{x^). Решение. Из описания функции видно, что выход y(t) в мо- момент времени t определяется однозначно значением входа x(i): надо просто найти (t + 2)-ю цифру после запятой в двоичном разложе- разложении числа x(t)/6. Значит, рассматриваемая функция является де- детерминированной. Запишем выход y(t) в «явной форме». Нетрудно установить, что - = —| 1 h ... Н — + ... Следовательно, 6 8 32 128 2 • 4 двоичное разложение числа 1/6 имеет вид 0,0010101... = 0,0 @1), а поэтому ( . _ Г 1, если x(t) = 1 и t = 2s + 1, где s ^ 1, \0 в иных случаях. Пример 5. Показать, что оба приводимых ниже отображения уи = f{xu) (из Р2,о;) не являются д. функциями (здесь, как обычно, х" =x(l)xB)...x(t)... и yw=y(l)yB)...y(t)...): 1\ , {0, если в слове хA) хB)... x(t2 -2t + 2) имеется массив из t нулей и ему не предшествует массив из t единиц, 0 в ином случае. Решение, а) Можно последовательно вычислять 2/A), УB) и т. д. до тех пор, пока не придем к соотношению вида у (to) = x(to + s)
§ 1. Отображения последовательностей 107 для некоторого to ^ 1 и некоторого s ^ 1. Однако такая процеду- процедура «последовательного нахождения выходов» y(t) может оказаться практически неосуществимой (например, если минимальное to, удов- удовлетворяющее соотношению у (to) = x(to + s), где s ^ 1, равно 2000). Поэтому надо действовать иначе, а именно выяснить, при каком (хотя бы одном) t выполняется неравенство (t3 + 2t2 + l)/(t2 + 3) ^ ^ t + 1. Получаем, что это неравенство справедливо при всяком нату- натуральном ?^4 (в частности, если ? = 4, то уD) = х(Ь)). Сле- Следовательно, при t ^ 4 «выход» ?/(?) зависит от некоторого «вхо- «входа» x(t + s), где s ^ 1 (здесь s является функцией от t). Тем самым недетерминированность заданного отображения доказана. б) Прикинем, как меняется длина слова хA) хB)... x(t2 — 2t + 2) в зависимости от значения ?, чтобы можно было высказать конкретное соображение о том, при каком входном слове хи «выход» у (to) в некоторый момент времени to зависит от входов вида x(to + s), где s ^ 1. Ясно, что длина упомянутого выше слова равна (t — IJ + 1. Следовательно, она превосходит значение t на заведомо подходя- подходящую для наших целей величину уже при t = 3: массив из трех нулей может начинаться с 3-го символа входного слова. Имеем следующее: если^ хи = 01000 хF)..., то уш = 010 ..., а если х" = 01011 хF) то у" = 011... Таким образом, 3-й символ выходного слова, соот- соответствующий входному слову 010 хD) х(Ъ)..., зависит не только от первых трех букв этого слова, но также и от символов жD) и х(Ъ). Значит, рассматриваемое отображение не является детермини- детерминированным. (Заметим, что уA) = хA) и уB) является однозначной функцией символов хA) и хB).) Пример 6. Через $ обозначим здесь подмножество всех таких слов хи из множества {0, 1}^, в которых на четных местах стоят единицы, т.е. xBs) = 1 при s ^ 1. Выяснить, можно ли функцию / доопределить до детерминированной: если хш G ё, если х" =01 [О]6"; если хш G ё, 6)f(xUJ) = \ (Г, если 2е" =00жC)жD)... ж(*)... (т.е. входное слово начинается с двух нулей). Решение, а) Очевидно, что значение первого выходного симво- символа уA) не зависит от входного символа B/A) = 1 и при хш = 01 [0]^, и при жш G §). Однако уB) является функцией от последовательнос- последовательности жB) жD) ... xBs) ..., причем у B) = жA), если xBs) = 1 при всяком s ^ 1, и 2/B) = 1, если 5^ = 01 [0]^. Рассмотрим два входных слова: [01]^ и 01 [О]6"". Имеем /([01]^) = = [10]w и /@1 [0]^) = Т^. Значит, уB) = 0, если ж" = [01]", и 2/B) = 1, если хш = 01 [0]^, т.е. уB) не является однозначной функ- функцией от входных символов хA) и хB).
108 Гл. IV. Ограниченно-детерминированные функции Таким образом, рассматриваемая нами функция / не может быть «продолжена» до детерминированной (она уже сама недетерминиро- недетерминированная, хотя и не является всюду определенной на множестве {0, 1}^). б) Из приведенного описания функции / видно, что уA) = хA) и у B) = х{2) как для хи е g, так и для хи = 00 хC) жD) ... x(t) ... Далее, если х{2) в рассматриваемых входных словах равно 0, то y(i) = 0 при всяком t ^ 3, а если хB) = 1, то y(t) = x(i), t ^ 3. Зна- Значит, заданную функцию / можно попытаться доопределить следующим образом: если х" = жAIжCIжEI... lxBs - lHxBs + l)xBs + 2)..., где s ^ 1, то J(iw) = x(l) 1жC) 1 ... 1жBв - 1) [0]w (другими слова- словами, на «выходе» выдается y(t) = x(t) до тех пор, пока при некотором ?о = 2s на «вход» не поступит символ 0; после этого y(t) = 0 для всех t ^ to. Очевидно, что /(хш) — д. функция, являющаяся продолжением функции /E^). Пример 7. Выяснить, является ли функция f(xUJ)=y(l)yB)... ... у{t)... (из Р2,'д) °-~Д- Функцией, и найти ее вес: при t ^ 6; при t = 1, [t) —У y(t — 1) при t ^ 2; fl, если ? — нечетное число, в) y(t) = < _ [жA), если t — четное число. Решение, а) Из приведенного описания функции /(ж^) следует, что для получения выходного символа при t = 3s (s ^ 1) необходимо «хранить в памяти» входной символ, поступивший в момент време- времени s, т. е. этот входной символ надо «помнить» в течение 2s моментов времени. Значит, для «реализации» рассматриваемой д. функции нужно иметь бесконечную (растущую во времени) память, что соот- соответствует бесконечному множеству состояний. К такому же выводу можно прийти, строя для заданной функции фрагменты ее информативного дерева. (Однако потребуется постро- построить 8-9 ярусов дерева, что весьма громоздко.) Для обоснования того, что данная функция не является ограни- ограниченно-детерминированной, рассмотрим остаточные функции, порож- порожденные словами ОS = 00 ... 0, где s ^ 1, и сравним значения этих s раз функций на входном слове 1^. Имеем /@ s 1^) = 00 ... 0 [1]^, а следо- ~ 3s+2 вательно, /^A^) =00 ... Qfl]^. Значит, для разных значений s эти 3s+2 функции попарно не эквивалентны. Таким образом, вес функции / равен оо, т.е. она не является о.-д. функцией.
§ 1. Отображения последовательностей 109 б) Построив четыре яруса информативного дерева заданной функ- функции (рис. 4.3), нетрудно высказать предположение, что все вершины дерева разбиваются на три класса эквивалентности: первый класс содержит только вершину 0, второй — вершины 1, 2, 4, б, 10, 14 и т.д., а третий — вершины 3, 5, 7, 8, 9, 11, 12, 13 и т.д. Вершинам из второго класса соответствуют остаточные функ- функции /0B^), foisix^) и /^B^), где s ^ 1, а вершинам из третьего класса — остаточные функции /^(ж^), где а равно 0 или 1, s ^ 1 и Xs ф\8. Убедимся в эквивалентности функций, входящих в один и тот же класс эквивалентности. Имеем /@хA) хB)... x(t)...) = 0(жA) -> 0)(жB) -> (хA) -> 0))... ... (ж(*) -)> (ж(* - 1) -)> ... -> хA) -> 0) ...))...= = 0 хA) (хA) V жB))... (хA) V ... V x(t - 1) V ж(*))..., /@1s жA) жB)... x(t)...) = 0 Т ... Т хA)(хA) V V хB))... (хA) V ... V x(t - 1) V ж(*))..., /(Is жA) жB)... x(t)...) = 0 Т ... Т хA)(хA) V хB))... ... (хA) V ... V x(t - 1) V ж(*))... (здесь 1 = 0 и при s ^ 1 слово 1 ... 1 пустое). s-l Отсюда заключаем, что каждая из остаточных функций /о(хш), foisix^) и fisix"), где s ^ 1, эквивалентна функции д{хш) = = ?/A) ?/B) ... 2/(*) ..., где 2/(t) = хA) V ... V ж(* - 1) V Sc(t), t ^ 1. Далее, /(сг Ж1 х2 ... х8 хA) хB)... x(t)...) = = 0жх(ж1 Vx2)...(xi \/х2 V... Vxs_i)(^i Vx2 V... Vxs)& & (ж1 V ж2 ... V xs V жA))(ж1 V x2 V ... V xs V жA) V жB)) ...
по Гл. IV. Ограниченно-детерминированные функции ... (ж1 V х2 V ... V xs V хA) V хB) V ... V ж(*)) ... = ибо Xs ф Is (а значит, ~х\ V Ж2 V ... V ~xs = 1). Таким образом, /о-ж*(^A) жB)...) = 1^. Из наших рассмотрений вытекает, что заданная функция / является о.-д. функцией веса 3. в) Нарисовав пять полных ярусов и частично шестой ярус инфор- информативного дерева заданной функции (рис. 4.4), легко увидеть, на какие классы эквивалентности разбивается множество вершин этого дерева. Вершина 0 образует один класс эквивалентности; все вершины, принадлежащие дереву, растущему из вершины 1, образуют второй Do \и и и п ;.о\оо\о о\о о\/оо\/оо|/о/ класс эквивалентности; вершина 2 вместе со всеми вершинами чет- четного ранга дерева Dq, растущего из нее (сама вершина 2 имеет в дереве Dq ранг 0), образует третий класс эквивалентности; наконец, все вершины нечетного ранга дерева Dq образуют четвертый класс эквивалентности. Следовательно, рассматриваемая нами сейчас функция есть о.-д. функция веса 4. Все ее остаточные функции из упомянутого выше второго класса эквивалентны функции д{хш) = 1^. Остаточные функ- функции, соответствующие вершинам четного ранга дерева Do, эквива- эквивалентны функции (fCx1^) = уA) уB) ... y(t) ..., где если t нечетное, 1, если t четное. Наконец, остаточные функции, соответствующие вершинам нечетного ранга дерева Dq, эквивалентны функции грСх") = уA) у B)... y(t)..., где г 1, если t нечетное, y(t) = y(t) = 0, если t четное.
§ 1. Отображения последовательностей 111 3. Выявление свойства детерминированности функции. Эквивалентность детерминированных функций. Остаточные функции. 1.1. Пусть f(x(l) хB) ... x(t) ...) = 2/A) 2/B) • • • y(t) ... — Функ- ция из множества Р^и- Выяснить, является ли она детерминирован- детерминированной, когда: 1) 2,A) = х(\) и y(t) = хA) 0 хB) 0 ... 0 x(t) при t ^ 2; 2) y(t) = хA) V хB) V ... V ж(*) V x(t + 1) при t ^ 1; 3) 2/(t) =хA)-хB)- ... -ж(г)-ж(? + 2) ->> жA) при * ^ 1; 4) у(*) = a:(|log2 t] + 1) при ^ 1; 5) y(t) = х(у/\3/Щ]) при t > 1; 6) ?/A) = ?/B) = 1 и 2/(*) = жB^-1 - t) при t ^ 3; 7) y(t) = x([3t/4\ + [y/i]) при t ^ 1; 8) уA) = 1 и 2/(*)=жB + а;(*)) при * ^ 2; 9) ?/A) = уB) = 0 и y(t) = хB + x(t)) при ^3; 10) ?/A) = 1 и y(t)=xB + y(t-l)) при ^2; 1, если существует такое целое / ^ 0, что t = 21; 11) 2/() 1 ^0 в ином случае; 12) !,(*) i } УУ } \0, если t> 100; o\ /+\ ) ^\^^° ' t ~ 90), если 7 ^ t ^ 13, \ 0 в ином случае; _ (xA9t-t2 -80), если 7 ^ ^ 12, \ 1 в ином случае. 1.2. Выяснить, является ли детерминированной функция / из Р2 '^ заданная следующим описанием: [ О рр ттт/г т "=. О -j\ f(~uj\ J^ j если ж ~и j \ 1 ^ в ином случае; II РР ТТТД Т* ^3 О 21 fir00) — < ' ~~ ' \ жA)жB)... ж(?)... в ином случае (здесь хA)хB).. .x(t)... — выходная последовательность, соот- соответствующая входной последовательности хш = жA)жB)... x(t)...); если хи =0^, жB)жC)жD)... жBз — l)xBs)... в ином случае (здесь x(l)WB)xC)WD:)... xBs — l)afBs)... — выходная последо- последовательность, соответствующая входной последовательности хш =
112 Гл. IV. Ограниченно-детерминированные функции 4) f(xu)=y(l)yB)...y(t)..., где 'x(i), если t — простое число, [О в ином случае; {1^, если найдется число с такое, что \^ж(?) ^ с, ~ t>i О в ином случае; ' , если последовательность х ш такова, что t t хB1 - 1) ^ 5Z жB^ для всех * = lj 2' '''' 6) в ином случае; 7)f(xw)=y(l)yB)...y(t)..., где [(t+l)/2] [t/2] 1, если 2 { 0 в ином случае; 8) /(?")= 2/A) 2/B)... з/(*)..., где /,ч I 1, если > хB1 — 1) < > ^ 0 в ином случае; ж^, если последовательность х ^ такова, что t ^ х(ъ) ^ t/2 для всех ? = 1,2,..., 0^ в ином случае; 10) f(xw)= 2/A) 2/B)... 2/(*)..., где если г=1 в ином случае; И)/B") =1/A) 1/B)...i/(i)..., где »(*)=;ij если k 0 в ином случае; 12) f(xw)= 1/A) 1/B)...!/(*)..., где (жA), если ? = 1, ж(?) 0 2/(? — 1), если ? — нечетное число и ? > 1, x(t — 1), если ? — четное число;
§ 1. Отображения последовательностей 113 13) /(ж^) = 2/A) 2/B).. .y(t)..., где y(t) определяется из соотно- соотношений у B1) = х{21 - 1) и у{21 - 1) = х{21 - 1) V у B1), / = 1,2,...; 14) /(ж64') = 2/A) 2/B)... y(t)..., где y(t) есть (t + 1)-я цифра после запятой в двоичном разложении числа x(t)/S; 15) /(хш) = 2/A) 2/B)... y(t)..., где y(t) есть C* + 2)-я цифра пос- после запятой в двоичном разложении числа x(t + l)/7; 16) /(ж6"") = 2/A) 2/B).. .?/(?)..., где ?/(?) есть 2*+1-я цифра после запятой в двоичном разложении числа Bx(t + 1) + 1)/15. 1.3. Через 1} будем обозначать здесь подмножество всех таких слов из множества {0, 1}^, в которых не встречаются две единицы подряд. Выяснить, можно ли доопределить функцию / до детерминированной, и если доопределение возможно, указать, какую-либо функцию, яв- являющуюся доопределением функции /: 1) f(x") = СГ при хи е D] 2) f(x") = хA) хB) ... x(t) ... при хш G D; 3) J(iw) = Ож^ при ж^ G D; 4) функция / определена только на одном слове Xq = = 11010010001... (т.е. xo(t) = l лишь для t = i(i - 1)/2 + 1, г = 1, 2, ...) и /(ж^) = ^ = 1010010001... (т. е. yo(t) = 1 лишь при j = 2, з,...); 5) функция / определена только на двух словах: 0^ и [01]^, при- причем /@е") = lw и /([01]") = 1[ЩШ; ¦{ 1", если xw = 1": 0е", если х" е D, если ж6" = 1 Л j"\00[ir, если * = 1Ш. если x"€D, 0[1Г, если г- = 1-; @x(l)xB)...x(t)..., если 2шеВ, если гш = 1ш. 1.4. В дереве, соответствующем функции / из Р2'д> изменена метка на ребре 1-го яруса, принадлежащем цепи, отвечающей входной последовательности 0е". Найти вес г(/) функции / и вес r(g) вновь полученной функции д, если: l)/(?-) = 0-, J = 3; 2)f(x")=x", 1 = 4; 3) /Bе") = 00 [01]6", / = 2; 4) /Bе") =02^, / = 1; 5) /(ж6") = 2/A) 2/B) • • • y(t)..., где 2/(^) есть t-я цифра после запя- запятой в двоичном разложении числа 2/3, / = 3; 8 Г. П. Гаврилов, А. А. Сапоженко
114 Рд. /У. Ограниченно-детерминированные функции 6) f{xUJ) = ?/(l) уB)... 2/(?)..., где y(t) есть ?-я цифра после запя- запятой в двоичном разложении числа 1/л/2, I = 1; 7) /B?-) =y(l)yB)...y(t)..., где и если т —— J. j y(t - 1) 0 x(t), если ?^2, ' 8) /(?")= 2/A) 2/B)... з/(*)..., где если ^ = 1, — 1), если ? ^ 2, f(xw)=y(l)yB)...y(t)..., где 1' если t = lj 2/W "" i xu\ v «./+ i\ ~~™ + \ о ^ "" ' 1 = 2. —>¦ 2/(t — 1), если ? ^ 2, 1.5. 1) Доказать, что если изменить метку на каком-либо ребре, принадлежащем j-му ярусу дерева, соответствующего функции / Е ? ^2,од 5 то вес г(д) вновь полученной функции д удовлетворяет нера- неравенству \r(f) -r(g)\ ^j. 2) Как может измениться вес о.-д. функции / G ^2,од, если в со- соответствующем ей дереве изменить метки на двух ребрах j-ro яруса? 1.6. Выяснить, эквивалентны ли д. функции Д и /2, если: 1) Л (ж") = x(l)xB)x(S)xD)xE)... xBs)xBs + 1)... (т.е. вход- входная последовательность хи = хA) хB)... x(i)... «перерабатывает- «перерабатывается» в выходную последовательность хA) х{2) жC) ..., выписанную в данном соотношении справа), /2BW)= 2/A) 2/B)... 2/(*)..«, при ^ = 1,2, - 1) 0 ж(^) 0 |/(? — 1) при t ^ 3; 2) fiix") = 0жA) 0жB) 0жC)... Ож(^)... (т. е. входная последова- последовательность хи = хA) х{2)... ж(^)... «перерабатывается» в выходную последовательность 0жA) 0жB) 0жC)..., выписанную в данном соот- соотношении справа), /2 (ж") =2/A) 2/B)... 2/(*)-.., где г г» ^i /,ч _ I О ПРИ t = 1, ^ J " \ж([*/2])-г7(* — 1) при ^2; 3) /г(хш) = жA)(жA)&жB))...(жA)&жB)& ... kx(t))... (т.е. в момент времени t^2 «выход» равен хA) &жB) & ... &ж(?), а при t = 1 он равен где
§ 1. Отображения последовательностей 115 4) Д B") = хA) (хB) ->¦ жA))(жC) -»¦ жB))... (ж(?) ->¦ ж(? - 1))... (т.е. при t = 1 «выход» равен жA), а при t^2 он равен x(t) —>¦ TTTP (x(t), если ? = 1, x(t), если t ^ 2 и x(t-l) = 0, 1 в остальных случаях; 5) AB<") = 1(яB) -> жA))(жC) -> жA). жB))... (x(t) - 1))... (т.е. при t = 1 «выход» равен 1, а при t ^ 2 он равен ж(?) —>- f2(x»)=y(l)yB)...y(t)..., где _ f x(t), если t ^ 2 и найдется такое s < t, что x(s) = 0, 11 в остальных случаях; 6) /г(хш) = хA) 1жC) 1жE) 1... 1жBв - 1) 1... (т.е. входная по- последовательность хи = хA) хB)... «перерабатывается» в выходную последовательность жA) 1жC) 1жE)..., указанную в данном соотно- соотношении справа), f2(x^)=y(l)yB)...y(t)..., y(t) = xB[(t + l)/2] - 1) 0 y(t - 1) при t ^ 2; . .y(t)..., где 1 при t = 1, ж(*) -)> (ж(* -1H ж(*) • y(t - 1)) при t ^ 2, (т.е. при t = 1 «выход» совпадает с 1, при ? = 2 — с жB) —» хA), а при ? ^ 3 — с ж(*) -S> (жB) ->• жA))); 8) ДBW)= уAI,B)...!,(*)..., где Гх(?) при * = 1, yv ' \x{t) ->¦ (ж(? - 1) -^ x(t)-y(t - I)) при ? ^ 2, 9) Д (гш)= уA) уB)... !,(*)..., где ?) при * = 1, yv у \ж(?) > {x(t)-y(t - 1) -^ ж(? - 1)) при ? ^ 2, 3) -»¦ хB))(хD) -»• хC))... (ж(?) -»• х(? - 1))... (т.е. при t = l «выход» совпадает с жA), при t = 2 — с 1, а при t ^ 3 — с x(t) ->• x(t - 1));
116 Гл. IV. Ограниченно-детерминированные функции 10) Л Bе") = 01(жB) -^ жA))(жC) -+ хB))... (x(t) -^ x(t - 1))... (т.е. при t = 1 «выход» совпадает с 0, при t = 2 — с 1, а при t ^ 3 — с x(t) ->• ж(? - 1)), /2(Z<") =2/A) 2/B)... где {0 при t= I, 1 при * = 2, 1) ->> (ж(* - 2) ->> ж(* - 1)) при t ^ 3. 1.7. Выяснить, эквивалентны ли остаточные функции fa* и /^ д. функции / е Рз'д (здесь всюду f(xu) = уш = 2/A) 2/B) ...y(t) ...): (?) при ? = 1,2, 3, (?) при ? ^ 4: а) ж? = 11, 2| = 00101; б) х\ = 010, ж| = 1001; (t) при ? = 1,2, 3, (? — 1) при ? ^ 4: а) х\ = 10, ж| = 011; б) х\ = 111, х\ = 00101; в) х\ = 0101, ж| = 1000; (t) при t нечетном, (t) при t четном: а) х\ = 00, х\ = 100101; б) х\ = 101, ж| = ПО; в) х\ = 0101, х\ = 11111; 0 при t = 1, I «i^l — 1^ Уу XybJ При Ь ^ Z. а) ж? = 00, 21 = ПО; б) х\ = ОНО, х\ = 0101; в) х\ = 11111, г^ = 001001; при ^ = 1,2, [t-2)®y(t- 1) при * ^ 3: а) г? = 10, х\ = 010; б) х\ = 1110, г^ = 1011101; в) х\ = ПО, х\ = 00101; при t = 1, ^) ->• 2/(* - 1) при t ^ 2: а) г? = 011, ж2 = 1111; б) ж? = 01111, х\ = 00111; в) х\ = 0100, ж^ = 111010; 0 при *= 1 в остальных случаях: а) х\ = 101, х\ = ПО; б) х\ = 0101, ж| = 11011;
118 Гл. IV. Ограниченно-детерминированные функции 4) f- ГуA)=агA), fl/(*) = O, * = 1, 2, ' /0- b / (y(t)=x(t), t = l, 2, J|/(l)=«(t), * = 1, 2, b 1.9. Доказать, что д. функция Д является остаточной функцией д. функции /о G Р2 д (считаем, как обычно, что /о = /0B^) = = у " = 2/A) 2/B)... y(t) ...i/i=/i(i")=ju= 1/A) 1/B)... !/(«)...): ' /0- \v(t)=y(t-l)->x(t), (y(l)=x(l), b(i)=^)Vy(i-l), /2/A) = 1. t ^ 2; (y(t)=x(t), t = 1,2,3, J/°' ll/(t) = =!/(*-3)->l/(t-1), Г |/(*) = 0, t = l, 2, (y(t)=x(t), t = l, 2, J/°' Ы*) =*/(*-2) ">*(*) =5(l), * = 1, 2, = l, t = l, 2, 6) /o: ^ i/(t) = (y(t - 2) -»• ж(« - 1)) -»¦ -^-x(t-2)-ar(i-l)-ar(i), i ^ 3,
§ 1. Отображения последовательностей 119 Jb \ и ?i I Jb \u I I \y\u ?i I 7 7) /о: y(t) есть ^-я цифра после запятой в двоичном разложении числа 2/3, Д: y(t) есть t-я цифра после запятой в двоичном разложении числа 1/3; 8) /о: y(i) есть ^-я цифра после запятой в двоичном разложении числа 7/60, Д: y(t) есть t-я цифра после запятой в двоичном разложении числа 13/15. 4. Выявление свойства ограниченной детерминированнос- детерминированности функции. Порожденные и автономные функции. Строение классов эквивалентности. Мощности некоторых множеств отображений. 1.10. Выяснить, является ли функция / G р2,д о.-д. функцией, и найти ее вес: при t = 1, о\ ( \ /0 ПРИ ^ = 1' — 1) при t ^ 2; \ж(^) ПРИ ^ ^ 2; жA) при t = 1, л\(\ /^A) ПРИ ^ = 1? — 1) при t ^ 2; |0 при ? ^ 2; 1) —У x(t) при ^ ^ 2; Г1 при t = 1, 2, 6) 2/ш = s [x(t —2) при t ^ 3; 7) 2/W = |ж^ 0 ж^ 0 ^ ^ ^ 0 жф при ^ ^ 2; 8)y(t) = k*pn ^ ^V ; ^ г/I .y/j—2] при ^2; (l)-xB)-...-x(t-l) при i^3; 10) y(t) = xB[(t - 1)/2] + 1), t ^ 1; . .. j x(t), если ^ — нечетное число, \ж(?), если ^ — четное число; (жA), если ^ = 1, 1, если t — нечетное число и t ^ 3, x(t/2) ->• y(t/2), если t — четное число;
120 Гл. IV. Ограниченно-детерминированные функции . М /^' если ^ — нечетное число, \x(t/2 + 1), если t — четное число; при * = lj 2j y(t - 2) 0 ж(* - 1) при t ^ 3; {0, если t = 1, ж(?) 0 2/(? — 2), если ? — нечетное число и ? ^ 3, (? — 1), если t — четное число; 1 ПРИ * = !» x(t) при t ^ 2; m = /°' если t = lj 1г/(*-0> если 18) 2/(t) есть ^-я цифра после запятой в двоичном разложении числа 7/15; 19) y(t) есть t-я цифра после запятой в двоичном разложении числа 11/24; и 1t - 1), 1.11. Пусть /i(xbx2,...,xn), /2(ж1,Ж2,...,агп), ..., fm(x1,x2, ... ..., жп) — функции вида Ek x Ek x ... x Ek ^ Et, где fc ^ 2 и / ^ 2. n раз Оператор (ffuf^...,fm из P?Q (т.е. <Pfuf2,...,fm = (x?, ..., ж^) = = {Vi i У2 i • • • i Уп)) называется оператором (или функцией), по- порожденным (порожденной) функциями Д, /г, ¦¦¦, /т? если для всякого ? ^ 1 2/г(*) = fi(zi(t), x2(t), ..., жп(*)), г = 1, 2, ..., ш. Выяснить, является ли порожденной функция / G р2,Д , если: 1) / е г и /. |уD) = жD) ^ y{t _ 1); ^ 2; у(* — 1), *^2; t = 2s-l, s^ 1, - l)-ar(t), если i = 2s, s ^ 1;
§ 1. Отображения последовательностей 121 4) /^Р2,д и /: {y(t)=x(t-l)®x(t)®y(t-l), t^2; 5) f(x") = 1(жA) • жB) -+ хB))... (хA) • x(z) -+ x(z))... (т. е. при t = l «выход» совпадает с 1, а при t ^ 2 — с жA)-ж(?) —У x(t)); 6) /(ж^) = ?/A) 2/B)... y(t)..., где 2/(t) есть t-я цифра после запя- запятой в двоичном разложении числа 1/7; 7) /B^) = 2/A) 2/B)... 2/(?)..., где y(t) есть ?-я цифра после запя- запятой в двоичном разложении числа 1/5; B/i(l) = О, оч f ppl,2 и f. J A) 1 8) / G ^2,д И /. < ( 9) / G Р2Х д2 и /: <^ 2/1 (*) = B/1 (* " 1) -> 2/2(* - 1)) ^ x(t), t > 2; (i(l) =2/2A) = з'д и /: ^ 2/1 (*) = { если t = 2s - 1, s ^ 1, y(t)=x1(t)-x2(t)®x1(t)®l, если t = 2s, s ^ 1. 1.12. Из определения порожденной функции (см. предыдущую задачу) следует, что вес порожденной функции равен 1. Доказать, что справедливо и обратное утверждение: если / G Ра,в,д и вес функ- функции / равен 1, то существует функция ip: А —^ В, порождающая функ- функцию /, т. е. /(хш) = уш = 2/A) 2/B)... y(t)..., где з/(*) = V>(z(t)) при всяком ^ ^ 1, x(t) G Л и 2/(t) G 5. 1.13. 1) Функция / из ^2,д определяется следующим образом: /(х1^) = [0 ... 01]^, где / — произвольное фиксированное целое чис- ло, не меньшее 1. Доказать, что: а) у функции / вес каждой остаточной функции равен / + 1; б) каждый класс эквивалентности остаточных функций у функ- функции / является счетно-бесконечным множеством. 2) Пусть /(хш) е Р2,д и /(хш) = 0 ... 0 [l]w, где / — произволь- ное фиксированное целое число, не меньшее 1. Доказать, что: а) для каждого г, удовлетворяющего неравенствам 1 < г ^ / + 1, у функции / существует в точности 21~г^~1 остаточных функций веса г;
122 Гл. IV. Ограниченно-детерминированные функции б) функция / имеет только один бесконечный класс эквивалент- эквивалентности остаточных функций и его элементы — порожденные функции. 3) Пусть /(?-) е Р2,д и /(?-) = уA) у{2)... y(t)..., где О, если 1 ^ ? ^ Z, жA)-жB)- . ..-ж(Г), если t^ / + 1, и / — произвольное фиксированное целое число, не меньшее 1. Дока- Доказать, что: а) для каждого г, удовлетворяющего неравенствам 3 ^ г ^ / + 2, у функции / существует лишь одна остаточная функция веса г; б) функция / имеет ровно два бесконечных класса эквивалент- эквивалентности остаточных функций, причем элементы одного из них явля- являются порожденными функциями, а другого — функциями веса 2. 4) В задаче 3) изменим только одно условие: если 1 ^ t ^ /, то y(t) = 1. Обозначим новую функцию через Д. Доказать, что: а) у функции Д в точности два бесконечных класса эквивалент- эквивалентности остаточных функций, и элементы одного из них являются функциями веса 2, а другого — порожденными функциями; б) остальные классы эквивалентности остаточных функций функ- функции Д конечные, и при 1^2 среди них ровно / + 1 одноэлементных классов; в) вес функции Д равен 21 + 1. 5) Функция / из Р2,д определяется следующим образом: если хи =0 ... 0ж(/ в ином случае, / — произвольное фиксированное целое число, не меньшее 1. Дока- Доказать, что: а) функция / имеет ровно два бесконечных класса эквивалентнос- эквивалентности остаточных функций, и элементы каждого из них — порожденные функции; б) остальные классы эквивалентности у функции / одноэлемент- одноэлементные; в) для каждого г, удовлетворяющего неравенствам 3 ^ г ^ / + 2, у функции / существует единственная остаточная функция веса г. 1.14. Выяснить, сколько у функции / G Р2,д конечных и сколько бесконечных классов эквивалентности остаточных функций, выпи- выписать явно (в какой-либо форме) все остаточные функции (по одной из каждого класса эквивалентности) и найти их веса: l> J- \y(t)=x(l)®x(t)®l, t^2; 2)f:y{t)=x{l).x(t), t>l; 3) /: { ^^ Г ^A) v y(i - 1), t > 2;
§ 1. Отображения последовательностей 123 ..., если ... и / ^ 1, б) /(г-) = [ою]- '[Olf , если хи = 0", 7) /(?<") = 8) iUJ /• \y(t)=x(t-2)®x(t), t>3. 1.15. Функция / из Ра,в,д называется автономной (или конс- константой, или функцией без выхода), если она принимает постоянное значение (на множестве А^), т.е. если на любом входном сло- слове хи G Л^ функция / равна одному и тому же (выходному) сло- слову из Вш. Выяснить, является ли автономной функция / G ^2,д, и если она автономна, то найти ее вес: 1)жB/ + 2)..., если г6" = = О2' 1жB/ + 1) жB/ + 2) в ином случае; ]w; 9) /(?-) = [жA) жB) 1]"; 2) / G Р^1 и /: | ягA)- яг(*), t > 1; 4) / е Рз1'1 и /: если t = 3s — 2, s ^ 1, =2/(*-1)-^ж(*-1).ж(*), если t = 3s — 1, s ^ 1, = 2/(? - 2) 0 2/(t - 1), если t = 3s, О 1; 5)/ 6)/ fi/(l)=O, = 1, если t = 2i (г = О, 1, 2, ...), 'г.д и /: ¦{ 2/(*j = 2/A) Ф 2/B) Ф ... Ф y(t - 1) в ином случае;
124 Гл. IV. Ограниченно-детерминированные функции {у {t) = 0, если И + 1 ^ * ^ {г + 1)/, г = О, 2, 4, ..., 2т, 2/(?) = 2/(? - / + 1) в ином случае (здесь / — произвольное фиксированное число, не меньшее 2); = О, j/i(t)=a;(l)-ar(t)-»-a;(t), t ^ 1, =S/2A) = 1, = x(t) -)• f/i(t - l)i/2(* - 1), * ^ 2, 1.16. 1) Доказать, что если / — о.-д. функция из Рд,в,д> то для всякого квазипериодического слова ? (из Аш) слово f(xw) также квазипериодическое. 2) Утверждение, обратное к сформулированному в 1), неверно. Покажите это, используя следующую функцию f(xu) = уA) уB)... ... у (?)... из множества Р2 'д: ( t(i\ pp ттт/г гт• — П ^ ' ~ у~х(г), если ui — 1, и G\ G2 ... (Jt — префикс длины t слова 0101101110 ..., в котором нули стоят только на местах с номерами BM J = 2, 3, 4, 5, ... (Дру- (Другими словами, функция /(ж^) такова, что в реализующем ее дере- дереве символ 1 приписан только дугам, которые принадлежат ориен- ориентированной цепи, исходящей из корня и соответствующей входно- входному слову 010110111011110...; остальным дугам дерева приписан 0.) 1.17. 1) Пусть Da,в — нагруженное дерево веса г ^ 1. Доказать, что для каждой его вершины найдется эквивалентная ей вершина ранга не выше г — 1.
§ 1. Отображения последовательностей 125 2) Пусть г ^ 2. Показать, что в задаче 1) заменить г — 1 на г — 2, вообще говоря, нельзя. 1.18. Пусть все вершины нагруженного дерева Da,в разбиты обычным образом на классы эквивалентности. Доказать, что, каков бы ни был класс эквивалентности дерева Da,b-> b нем существует такая вершина г?, что в ориентированной цепи, исходящей из корня дерева и оканчивающейся в вершине v, все вершины попарно не эквивалентны. 1.19. Найти мощности следующих множеств: 1) множество всех отображений вида /: {0, 1}^ —> {0, 1}^, завися- зависящих от (фиксированной) переменной х\\ 2) множество всех одноместных д. функций вида /: {0, 1}^ —>¦ —у {0, 1}^, зависящих от (фиксированной) переменной х^\ 3) множество всех одноместных о.-д. функций вида /: {0, 1}^ —>¦ —У {0, 1}^, зависящих от переменной х^\ 4) множество всех автономных функций (см. задачу 1.15), принад- принадлежащих множеству Р2 д и зависящих от переменной х^ ; 5) множество всех порожденных д. функций (см. задачу 1.11), принадлежащих множеству Р2\ , где п ^ 1, и зависящих от перемен- TJTTV 7рШ 7Z& 7Z& • Л JdX-Л- Л/ -| , Л/ о , • • • Л/ ~1 • 6) множество всех функций из Р2ю зависящих от переменной х^ и удовлетворяющих следующему условию: в соответствующих им деревьях, начиная с /-го яруса, стоят только нули (здесь / ^ 1 и фиксировано); 7) множество всех функций из Р2 д, зависящих от переменной х± и таких, что в соответствующих им деревьях единицы могут стоять только на дугах, принадлежащих цепи, отвечающей входному сло- слову о^; 8) множество всех функций из Р2 д, зависящих от переменной х% и удовлетворяющих следующему условию: в соответствующих им деревьях число единиц конечное (хотя может быть сколь угодно боль- большим); 9) множество всех функций из Р2 'д, зависящих от переменной х± и таких, что в соответствующих им деревьях в любой цепи, вы- выходящей из корня, две единицы не могут быть приписаны соседним дугам; 10) множество всех функций из Р2 д, зависящих от переменной х^ и таких, что в каждом ярусе соответствующих им деревьев: а) находится только один нуль (остальные выходные символы — единицы); б) число нулей равно 2; в) число нулей равно числу единиц; г) число нулей меньше числа единиц.
126 Гл. IV. Ограниченно-детерминированные функции § 2. Диаграммы, таблицы, канонические уравнения, схемы 1. Диаграммы Мура, канонические таблицы и каноничес- канонические уравнения. Пусть Q = {Qo, Qb • • • •> Qw-i} — множество всех состояний функции / из Ра,в,од- Сопоставим функции / ориентиро- ориентированный граф Г/, задаваемый следующим образом: 1) множеством вершин орграфа Tf является множество Ew = = {0, 1, ..., w — 1}, причем считается, что вершина j соответствует состоянию Qj; 2) если /(г) и /'•" — остаточные функции, реализуемые соот- соответственно состояниями Qi и Qj, и /(Л является остаточной функ- функцией функции /W, порождаемой словом х1 = а, причем f<yl\axUJ) = = bf^(xu), то в орграфе Гу? имеется дуга (г, j), и ей приписывается выражение а(Ь); 3) дуга (г, j) существует в Гу? только при выполнении условий п. 2). Вершина из Tf, соответствующая начальному состоянию функ- функции /, обычно отмечается звездочкой. Пусть из вершины г в вершину j идут т дуг, которым приписаны выражения ai(bi), аг(Ь2),..., ат{Ьт) (здесь обязательно ар ф aq при р ф q, но некоторые или все сим- символы bs могут совпадать друг с другом); тогда будем соединять г с j только одной дугой (г, j) и будем приписывать ей все выраже- выражения ар(Ьр) (р = 1, 2, ..., т). Орграф Tf называется диаграммой Мура функции /. Две вершины v\ и г>2 диаграммы Мура называются эквивалент- эквивалентными, если всем вершинам диаграммы можно так сопоставить нату- натуральные числа (номера), что будут выполняться следующие условия: а) номера вершин v\ и г>2 совпадают; б) если и\ и U2 — две про- произвольные вершины с одинаковыми номерами, то, каков бы ни был входной символ а, дуги (щ, w\) и (г^, г^)? соответствующие ему, имеют одинаковую пометку а{Ъ) и концы этих дуг, т. е. вершины w\ и и?2, имеют одинаковые номера. Операция склеивания {эквивалентных) состояний состоит в сле- следующем: вершины с одинаковыми номерами «стягиваются» в одну вершину, а появляющиеся при этом параллельные*) одинаково по- помеченные дуги заменяются одной дугой (с тем же направлением), несущей ту же пометку. Вершина v диаграммы Мура называется достижимой из (началь- (начальной) вершины и, если существует ориентированная цепь, выходящая из вершины и и заходящая в вершину v. Начальная вершина считается по определению достижимой. *) Дуги в ориентированном графе называются параллельными, если они соединяют одни и те же вершины и их направления совпадают.
§2. Диаграммы, таблицы, канонические уравнения, схемы 127 Операция исключения (удаления) недостижимых вершин состоит в удалении из диаграммы всех вершин, не являющихся достижимыми. Диаграмма, в которой нет ни одной пары эквивалентных вершин и все вершины достижимые, называется приведенной диаграммой. Недостижимые вершины можно найти, просматривая в диаграмме все ориентированные цепи, выходящие из начальной вершины. Эк- Эквивалентность вершин можно устанавливать, используя непосредст- непосредственно определение эквивалентных вершин или строя по диаграмме информативное дерево, соответствующее ей (и той о.-д. функции, которую эта диаграмма описывает). С помощью информативных деревьев легко устанавливается спра- справедливость следующих утверждений. а) Операция исключения недостижимых вершин в диаграмме Мура о.-д. функции приводит к диаграмме, реализующей ту же функцию. б) Операция склеивания эквивалентных вершин, примененная к диаграмме Мура о.-д. функции, приводит к диаграмме, реализующей ту же функцию. в) Число вершин в приведенной диаграмме Мура о.-д. функции равно весу этой функции. С диаграммой Гf функции / можно связать две функции: а) F: A x Q —>> В (функция выходов); б) G: А х Q —>> Q (функция переходов). Функции F и G по орграфу Гf определяются так: по паре (a, j) находим вершину j и такую дугу, исходящую из j, которой приписан входной символ а (пусть эта дуга есть (j, /)); значением функции F на паре (a, j) является выходной символ, приписанный дуге (j, /) и стоящий в скобках за символом а; значение функции G на паре (a, j) совпадает с /, т.е. равно «номеру» того состояния, которое «является концом» дуги (j, /). Система уравнений y(t) = F(x(t),q(t-l)), ,q(t-l)), A) где x(t) e A, y(t) e B, q(t) e Q (? = 1,2,...) и q0 G Q, называется каноническими уравнениями функции (оператора) f с начальным условием до- С помощью диаграмм Мура и канонических уравнений можно задавать и такие детерминированные функции, которые не являются ограниченно-детерминированными. Множество вершин орграфа Гу, соответствующего такой д. функции, совпадает с расширенным на- натуральным рядом N = {0, 1, 2, ... }. («Орграф» определен в гл. VI.) Если / — о.- д. функция, то функции F(x(t), q(t - 1)) и G(x(t), q(t — 1)) (см. систему A)) и аргументы, от которых они зависят, принимают конечное число значений. Поэтому возможно табличное задание о.-д. функции / с помощью так называемой канонической таблицы (табл. 4.1).
128 Гл. IV. Ограниченно-детерминированные функции Таблица 4.1 x(t) а «(* -1) j y(t -1) F(a, j) lit) G(a, j) Вместо канонических уравнений A) бывает удобно рассматривать такие канонические уравнения, в которых функции выходов и перехо- переходов являются функциями &-значной логики Pk (k ^ 2). Для получения соответствующего представления функции / алфавиты А, В и Q кодируются векторами (наборами), координаты (компоненты) кото- которых принадлежат множеству Ек = {0, 1, ..., к — 1} (к ^ 2). Если / — о.-д. функция и n=]\ogk\A\l m=]logk\B\l г =]logk\Q\[, то для кодирования букв из алфавитов Л, В и Q достаточно взять векторы (с координатами, принадлежащими Ек), имеющие длины n, m и г соответственно*) . Система A) преобразуется тогда в следующую: Vl(t) = Fi(a;i(t), ..., xn(t), qi(t - 1), ..., qr(t - 1)), B) ym(t) = Fm(Xl(t), ..., xn(t), qi(t - 1), ..., qr(t - 1)), qi(t) = GiOn(?), ..., xn(t), qi{t - 1), ..., qr(t - 1)), qr(t) =Gr(x1(t), ..., ~ 1), ..., Используется также векторная запись систем, аналогичных системе B). При такой записи система B) примет вид - 1)), C) Функции Fi и Gi в системе B) являются, вообще говоря, частич- частичными, т.е. не всюду определенными. Обычно их доопределяют так, чтобы правые части уравнений в B) имели по возможности более простой вид. Каноническая таблица, задающая о.-д. функцию /, соответствую- соответствующую системе B), имеет т + п + 2г столбцов и кп+г строк. Уравнения системы B) называются каноническими уравнениями в скалярной форме, а уравнения из системы A) — каноническими уравнениями в векторной форме. *) Если д. функция / не является ограниченно-детерминированной, то г = оо.
§2. Диаграммы, таблицы, канонические уравнения, схемы 129 Можно считать, что система B) определяет функцию из мно- множества P,n'm. Пример 1. Построить диаграмму Мура, каноническую таблицу и канонические уравнения для функции /(ж)^ = 2/A) 2/B)... y(t)... (из a) y(t) = при при = 1, j Г 1 при t = 1, при ^ в) y(t) ы при ? нечетном, v(t — 1) при t четном. Решение, а) Построив три яруса информативного дерева задан- заданной функции (рис. 4.5), видим, что все вершины дерева разбиваются Рис. 4.6 Рис. 4.7 на два класса эквивалентности: первый класс содержит только вер- вершину 0, а второй — все остальные вершины. Следовательно, вес рассматриваемой функции равен 2, и диаграмму Мура для нее можно построить, отождествляя в «усеченном» дереве, изображенном на рис. 4.6, вершины 1, 2, 3, 4 и «восстанавливая» входные символы, соответствующие ребрам этого дерева. Диаграмма Мура заданной функции приведена на рис. 4.7. (Вместо двух дуг, идущих из вершины 0 в вершину 1, мы изобразили на рисунке только одну, приписав ей два выражения: 0@) и 1@). Анало- Аналогично мы поступили и с дугами-петлями, исходящими из вершины 1. Начальное состояние помечено звездочкой.) Используя диаграмму Мура, строим таблицу. В качестве «вход- «входной» и «выходной» переменных возьмем x\{t) и yi(t) (а не x(t) и y(t), Таблица 4.2 Xl(t) 0 0 1 1 q(t - 1) 0 1 0 1 Viit) 0 1 0 1 ф) 1 1 1 1 чтобы явно подчеркнуть содержательное отличие переменных из первоначального задания рассматриваемой функции от перемен- переменных, входящих в ее канонические уравнения). В качестве переменной 9 Г. П. Гаврилов, А. А. Сапоженко
130 Гл. IV. Ограниченно-детерминированные функции для описания состояний берем q(t — 1) (на «входе») и q(t) (на «выхо- «выходе»). Каноническая таблица функции — табл. 4.2. Из таблицы следует, что yi(t) = q(t — 1) и q(t) = 1. Значит, кано- канонические уравнения и начальное условие заданной функции таковы: q(t) = 1, = 0. б) Для нахождения веса функции и построения диаграммы Мура достаточно изобразить три яруса ее информативного дерева (рис. 4.8). о Рис. 4.9 Вес функции равен 3. Вершина 0 образует один класс эквивалент- эквивалентности. Второй класс образуют вершины 1, 3, 4, ... Третий класс — вершины 2, 5, б, ... «Усеченное» дерево и диаграмма Мура приведены на рис. 4.9 и рис. 4.10. Построим таблицу. В качестве «входной» переменной возьмем x(i), а в качестве «выходной» — y(t)- Для описания состояний берем переменные qi(t — l), q2(t — l) (на «входе») и qi(i), q2(t) (на «выходе»). Состояние 0 кодируем парой @, 0), т.е. q\—q2 — 0, состояние 1 ко- Таблица 4.3 x(t) 0 0 0 0 1 1 1 1 gi(t-l) 0 0 1 1 0 0 1 1 Q2(t-1) 0 1 0 1 0 1 0 1 y(t) 1 0 1 1 0 1 01 (i) 0 0 1 1 0 1 1 1 0 0 1 0 дируем парой @, 1), т.е. q1 =0, q2 = 1, и состояние 2 — парой A, 0), т.е. #i = 1, #2 = 0. Каноническая таблица функции — табл. 4.3. В таблице выписаны все наборы значений переменных x(i), qi(t — 1), q2(t — 1). Для q± = q2 = 1 соответствующего состояния в рассматриваемой диаграмме нет. Из-за этого функции, «описываю- «описывающие» y(i), qi(i) и q2(i), являются частичными (не всюду определен- определенными) булевыми функциями. Мы их доопределим каким-либо обра- образом; например, как в табл. 4.4.
§2. Диаграммы, таблицы, канонические уравнения, схемы 131 x(t) 0 1 qiit- 1 1 1) q2(t- 1 1 1) y(t) 0 0 01 (t 1 0 Таблица 4.4 ) 92 (*) 0 1 Указанное доопределение дает достаточно простые представле- представления переменных y(i), qi(t) и q2(i) (как булевых функций от пере- переменных x(t), qi(t — 1) и q2(t — 1)): y(t) = q2(t — 1), #i(?)=af(?)- •gi(*- l)Va;(t) -q2(t- 1), ^W = x(t) -q^t- 1) V x(t) • q2(t - 1). Тем самым канонические уравнения нами получены. Остается выписать начальное условие. Оно имеет вид qi@) = #2@) = 0. в) Достаточно построить четыре яруса информативного дерева (рис. 4.11). Все вершины дерева разбиваются на три класса эквива- эквивалентности: первый класс содержит вершины 0, 3, 4, 5, б, ..., второй класс — вершины 1, 7, 9, 11, 13, ..., третий класс — вершины 2, 8, 10, 12, 14, ... Вес рассматриваемой функции равен 3. «Усеченное» дерево и диаграмма Мура изображены на рис. 4.12 и рис. 4.13. Каноническая таблица (с доопределенными значениями соответствующих функций) — табл. 4.5. Состояния закодированы нами традиционным образом: состоя- состоянию 0 сопоставлена пара @, 0), т.е. q\ — ^2 = 0 , состоянию 1 сопос- сопоставлена пара @, 1), т.е. q1 = 0 и q2 = 1, состоянию 2 — пара A, 0), т.е. qi = 1 и #2 = 0. 9*
132 Гл. IV. Ограниченно-детерминированные функции Таблица 4.5 x{t) 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 Q2(t-1) 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 0 01 (t) 0 0 0 0 1 0 0 0 Q2(t) 1 0 0 0 0 0 0 0 Канонические уравнения и начальное условие имеют следующий ВИД: y(t) = x(t) ¦ q2(t - 1) V x(t) -q^t- 1), q1(t)=x(t)-q1(t-l)-q2(t-l), q2(t) =x(t)-q1(t-l)-q2(t-l), <Zi@)=<72@) = 0. Пример 2. Для каждой диаграммы, изображенной на рис. 4.14, построить приведенную диаграмму. Решение, а) Рассматривая диаграмму, нетрудно заметить, что вершины 3 и 4 не достижимы из начальной вершины 0. Удаляя их, 0A) 0A) Рис. 4.15 Рис. 4.16 получаем диаграмму, изображенную на рис. 4.15. Исходя из этой (новой) диаграммы строим несколько ярусов соответствующего ин- информативного дерева (рис. 4.16; достаточно неполных четырех яру- ярусов). Изображенный фрагмент дерева позволяет сделать заключение
§ 2. Диаграммы, таблицы, канонические уравнения, схемы 133 об эквивалентности вершин 1 и 2. Склеивая эти вершины, получаем диаграмму, представленную на рис. 4.17. Эта диаграмма приведенная, так как обе ее вершины достижимые и не эквивалентны друг другу (хотя бы потому, что дуга, выходящая из вершины 0 и соответст- соответствующая входному символу 0, помечена выходным символом 0, а дуга с таким же входным символом, выходящая из вершины A, 2), имеет метку 1). Эквивалентность вершин 1 и 2 в диаграмме, изображенной на рис. 4.15, можно обосновать также следующим образом: 1) дуги, соединяющие вершины 1 и 2 между собой, помечены одинаково (на них стоят метки 1@)); 2) дуги с меткой 0A), выходящие из этих вершин, заходят в одну и ту же вершину 0; следовательно, вершины 1 и 2 эквивалентны (в силу определения эквивалентных вершин). б) В диаграмме не достижимы вершины 3 и 4. После удаления их получаем диаграмму, изображенную на рис. 4.18. Фрагмент информа- информативного дерева, соответствующего этой (новой) диаграмме, показан 1 1@) Рис. 4.18 Рис. 4.20 на рис. 4.19 (достаточно трех ярусов). Ясно, что вершины 1 и 2 экви- эквивалентны. Склеивая их, получаем приведенную диаграмму (рис. 4.20). Пример 3. Для частично определенной функции /E^): {0, 1}^ ->• —У {0, 1}^, отображающей заданные последовательности в заданные, построить (если это возможно) диаграмму Мура с конечным и по возможности меньшим числом вершин. Затем полученную диаграмму доопределить до диаграммы Мура всюду определенной о.-д. функции а) /@[001Н = 1[0]^ и /A[100Н = [01]"; б) /([ПОИ = 0[001]^ и /A[юН = 00[011]^. Решение, а) Так как у заданных входных последовательнос- последовательностей первые символы (т.е. префиксы длины 1) разные, то исходная частично определенная функция может быть продолжена до всюду определенной д. функции. Далее, нетрудно заметить, что заданные входные и выходные последовательности квазипериодические. Значит, исходную частичную функцию можно доопределить до о.-д. функции. (Если приведенные в условии задачи соотношения пе- переписать в виде /@[001Н = 1[000]^ и /A[100100Н = OflOlOlO]6", то становится очевидным, что вес подходящей о.-д. функции не больше,
134 Гл. IV. Ограниченно-детерминированные функции чем 1 + 3 + 6 = 10. Здесь 1 — общая длина пред периодов в новой записи всех четырех входных и выходных последовательностей, а 3 и б — общие длины периодов у последовательностей соответственно из первого и второго соотношений.) Мы вначале не будем пытаться найти диаграмму Мура с мини- минимально возможным (или хотя бы с не очень большим) числом вершин, а просто будем строить какую-нибудь подходящую диаграмму, со- соответствующую всюду определенной д. функции, перерабатывающей заданные входные последовательности в заданные выходные последо- последовательности. Для достижения этой цели действуем следующим образом: сначала изобразим часть диаграммы, реализующую соотношение /(OfOOl]^) = = ЦО]^, а затем добавим к ней часть, отвечающую равенству /A[100И = [01]". Так как соотношение /@[001]^) = l[0]w можно записать в виде /@[001]^) = 1[000]^, то имеем x(i + Ы) = x(i) и y(i + 30 = у(г) при г = 2, 3, 4, ... и 1 = 1, 2, ... Отсюда следует, что данное соотношение можно реализовать 4-вершинной диаграммой с циклом длины 3 (рис. 4.21). Аналогич- Аналогично поступаем со вторым соотношением. Его можно записать так: /A [100100]^) = OflOlOlO]^. Следовательно, имеем x(j + 6m) = x(j) и y(j + 6m) = y(j) при j = 2, 3, 4, ... и т = 1, 2, ..., а поэтому рас- рассматриваемое соотношение можно реализовать 7-вершинной диаграм- диаграммой с циклом длины 6 (рис. 4.22). Далее «склеиваем» две построенные диаграммы в «начальной» вершине 0 и доопределяем получившуюся при этом «частичную» диаграмму подходящим способом до диаграммы всюду определенной о.-д. функции. Приходим, например, к диаг- диаграмме, изображенной на рис. 4.23. Эта диаграмма имеет 10 вершин. Детально проанализировав взаимо- взаимосвязи между входными и выходными последовательностями, указанными в условии задачи, и учтя структурные особенности этих последовательнос- последовательностей, можно построить более «эконом- «экономную» (по числу вершин) диаграм- диаграмму, реализующую заданное частичное отображение. 0@) С^
§ 2. Диаграммы, таблицы, канонические уравнения, схемы 135 0@) 0A) * 1@) о 0@) 0@) 0A) * 1@) о 1A) 1A) Рис. 4.24 На рис. 4.24 приведены три 5-вершинные (а-в) и одна (г) б-вер- шинная диаграммы, реализующие заданную частично определенную функцию. б) Входные последовательности можно записать так: [110]" = = 1101 [101]" и 1[10]" = 1101 [01]". Отсюда следует, что их префиксы длины 4 совпадают (а соответствующие префиксы большей длины попарно отличны друг от друга). Значит, прежде чем строить диа- диаграмму, надо проверить, совпадают ли префиксы длины 4 у заданных выходных последовательностей (если эти префиксы различные, то не будет выполняться условие детерминированности). Запишем заданные выходные последовательности в иной форме: 0[001]" = 0001[001]^ и 00[011]" = 0001[101]". Теперь очевидно, что у этих последовательностей префиксы длины 4 одинаковые. Соот- Соотношения /A101[101]") = 0001[001]" можно реализовать диаграммой, имеющей только две вер- вершины (рис. 4.25). Однако «расширить» эту диаграм- диаграмму таким образом, что- чтобы реализовывалось и со- соотношение /A101[01]") = = 0001[101]", не удается. Поэтому для получения возможности одновременной (совместной) реализации обоих соотношений надо более гибко строить части иско- Рис. 4.25 Рис. 4.26
136 Гл. IV. Ограниченно-детерминированные функции мой диаграммы, помня о том, что предстоит «склеивать» их. В нашем случае каждая из двух частей диаграммы должна иметь одинаковое «начало», соответствующее общему префиксу (длины 4) двух задан- заданных входных последовательностей. (Кроме того, полезно принять во внимание, что общее наименьшее кратное длин периодов заданных входных и выходных последовательностей равно 6.) Подходящая диаграмма для соотношения /A101[101]^) = OOOlfOOl]^ изображена на рис. 4.26. Диаграмма, реализующая соотношение /(HOlfOl]^) = OOOlflOl]^ и приспособленная для склейки с предыду- предыдущей диаграммой, изображена на рис. 4.27. При ее построении использовался, как обычно, «полный перебор» возможных случаев. Покажем подробнее, как это делалось. До верши- вершины 2 диаграмма совпадает с предыдущей и реализует преобразование 0AI Рис. 4.27 Рис. 4.28 префикса 1101 в префикс 0001 (дуга A, 0), изображенная на рисун- рисунке штриховой линией, для реализации соотношения /A101 [01]^) = = 0001 [101]^ не нужна, но ее следует учитывать при построении диа- диаграммы). Далее выясняем, можно ли «направить» дугу из вершины 2 с нужной нам меткой 0A) в какую-либо из имеющихся вершин 0, 1 или 2. Если эта дуга будет входить в вершину 0, то слово 010 будет преобразовываться в слово 100 (при «движении» по диаграмме из вершины 2), а нам нужно иметь слово 101. Следовательно, в вершину 0 эту дугу направить нельзя. Не может заходить рассматриваемая дуга и в вершину 1, так как иначе слово 01 преобразовалось бы в слово 11 (а мы должны иметь слово 10). Делать эту дугу петлей в вершине 2 также нельзя, ибо в противном случае имеем следующее: слово 010 преобразуется в слово 100 (а нам нужно слово 101). Итак, дуга, выходящая из вершины 2 и имеющая метку 0A), должна заходить в «новую» вершину 3. Далее смотрим, куда можно направить дугу из вершины 3 с меткой 1@). Легко убеждаемся в том, что ни в одну из вершин 0, 1 или 2 эту дугу вести нельзя, но сделать ее петлей в вершине 3 можно. Затем выясняем, куда можно направить дугу из вершины 3 с меткой 0A). Оказывается, что для этой дуги нужна новая вершина 4. Наконец, нетрудно проверить, что дугу с меткой 1A), выходящую из вершины 4, можно направить в вершину 0. После «склеивания» двух построенных диаграмм в вершинах 0, 1 и 2 остается подходящим способом доопределить получившуюся «частичную» диаграмму до диаграммы всюду определенной функции. На рис. 4.28 изображена одна из таких диаграмм.
§ 2. Диаграммы, таблицы, канонические уравнения, схемы 137 Пример 4. Найти вес о.-д. функции / из ^2,'од> заданной канони- каноническими уравнениями: fy(t)=x(t)-q1(t-l), \q1(t)=x(t)~q1(t-l), /: | q2(t)=qi(t-l)®q2(t-l), Ui@) = l, <й@) = 0. Решение. Эту задачу можно решать путем построения инфор- информативного дерева функции /. Однако мы поступим иначе: сначала Таблица 4.6 x(t) 0 0 0 0 1 1 1 1 qiit-i) 0 0 i i 0 0 i i Q2(t-1) 0 1 0 1 0 1 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 1 1 0 0 1 1 0 построим для функции / каноническую таблицу, затем по таблице построим диаграмму Мура и, наконец, получим из нее приведенную диаграмму. Число вершин в приведенной диаграмме равно весу функ- функции / (см. задачу 2.3.3). Каноническая таблица функции / — табл. 4.6. Диаграмма Мура функции / изображена на рис. 4.29. Анализируя ее, получаем: состояние 00 эквивалентно состоянию 01, а состоя- -|/q\ ние 10 — состоянию 11. Поэтому при- ^ ' ^-^ веденная диаграмма выглядит так, как показано на рис. 4.30. 0@) Рис. 4.30 Следовательно, вес функции / равен 2. Нетрудно видеть, что пе- переменная #2 является фиктивной: функция / эквивалентна (по своему функционированию) функции следующей /', задаваемой канонически- каноническими уравнениями и начальным условием: 'y(t)=x(t)-q(t-l), q(t)=x(t)~q(t-l), q@) = Вес функции /' равен 2.
138 Гл. IV. Ограниченно-детерминированные функции 2.1. Построить диаграмму Мура, каноническую таблицу и канони- канонические уравнения для функции /(ж^) = уA) у B) ... y(t) ... из ^'од1 x(t) при t ^ 2; |a;(t-l)^27(t-l) при m = I1 при ^ = lj \2/(*-1)-ж(*) при ^ 2; при при x(t - 1) при t ^ 3; :rB)' еСЛИ i = 2' 1 в остальных случаях; 8) (t) = faM^rt)' если ^ = 1' 1 0 в ином случае; ) при *=1> -l) Va;(t) при t ^ 2; т = !жA)' если * = 1J' \у(*-2)Фу(*-1), если i^ 3; 11) »(*) | I ж(^), если t = 2 или ? ^ 4; при ^ = Х' 1)-я:(*) при ^2; |Vx(t) при ^2; m = /^ при ^ = lj 1 y(t - 1) Ф ж(*) при t ^ 2;
§ 2. Диаграммы, таблицы, канонические уравнения, схемы 139 ., ^ч /ч I x(t). если ? нечетное, 15) y(t) = < 10, если t четное; ч / ч \~%(t)j если t нечетное, 16) y(t) = < I y(t - 1) 0 x(t), если ? четное; J x(t), если ^ нечетное, 1 x(l) ->• 2/(t - 1), если t четное; B) [0]-; если ж- = 1жB) жC)... ; 23)/(?-) = ^[О]", если х" =0llx(l + 2)x(l + 3)... или 2) ж(/ + 3) ..., где 1 24) 2/(t) есть ?-я цифра после запятой в двоичном разложении числа 5/7; 25) y(i) есть (t + 1)-я цифра после запятой в двоичном разложении числа 1/9; 26) у {t) есть (t + 2)-я цифра после запятой в двоичном разложении числа 11/15; 27) 2/(t) есть (t-\- 1)-я цифра после запятой в двоичном разложении числа x(t)/5; 28) 2/(?) есть (t + 2)-я цифра после запятой в двоичном разложении числа Sx(t)/7; 29) y(t) есть t-я цифра после запятой в двоичном разложении чис- числа (x(t) + l)/3; {хA) при t = 1, жA)-жB) при * = 2, 2Hx(t))-a;(t-l) при ^3; {хA) при t = 1, жA)+жB) при t = 2, (* - 2) 0 ж(* - 1) 0 ж(*) при t ^ 3;
140 Гл. IV. Ограниченно-детерминированные функции 32) y(i) = 33) y(i) = 34) y{t) = 35) y{t) = 36) yit) = 37) y(t) = 38) y(t) = 39) y(t) = x(l) при ? = 1, xB) -> x(l) при ? = 2, )> (ж(* - 1) -)> ж(* - 2)) при 'О, если ? = 1, x(t — 1) —>¦ x(i), если ^ четное, в ином случае; ' хA), если t = 1, x(t — 1), если ^ ^ 3 и нечетное, y(t — V) в ином случае; 0, если t = 3s — 2 и s^l, 1, если ? = 3s — 1 и s^l, в ином случае; 1, если ^ = 3s — 2 и s^l, — 1), если t = 3s — 1 и s^l — 1) —>- x(t) в ином случае; 0, если ? = 1, x(t), если ^ = 3s-2 и s^2, x(t — 1) • y(t — 1) в ином случае; 1, если t = 4s + 1 и s^O, ж(?), если ? = 4s + 2 и s^O, ж(^), если ? = 4s + 3 и s^O, ^ 0 в ином случае; x(t), если t = 4s + 1 и s^O, x(t — 1), если ? = 4s + 2 и s^O ^(t —1), если ? = 4s + 3 и s^O ^ y(t — 1) • x(t) в ином случае; 40) y(i) = О, если ? = - 1) + l и s^ если ? = если ^ = и и - 1) 0 2/(t - 1) в ином случае. 3; 0, 2.2. Для каждой из диаграмм построить приведенную диаграмму: 1) рис. 4.31, а; 2) рис. 4.31, б; 3) рис. 4.31, в; 4) рис. 4.31, г;
§ 2. Диаграммы, таблицы, канонические уравнения, схемы 141 1@) 0@), 1A) 0@), 0@) *т 1@) ^~^ ДО), о v_xi 0A) г^--' 1A) 0A),1A) 2 0A) 1@) 5 0A) 0A) 1@) 1A) *0 0@) 1Т 0@), 1A). 0A) 1@) 0( () .0@), 1A) у 0A) 1@) 1A) 5 1@) Л Рис. 4.31 5) рис. 4.31, д; 6) рис. 4.31, е; 7) рис. 4.31, ж; 8) рис. 4.31, з; 9) рис. 4.31, щ 10) рис. 4.31, тс; 11) рис. 4.31, л. 2.3. Доопределить частичную диаграмму таким образом, чтобы новой диаграмме соответствовала о.-д. функция указанного веса г: 1) рис. 4.32, а; г = 2; 2) рис. 4.32, б; г = 2; 3) рис. 4.32, в; г = 2;
142 Гл. IV. Ограниченно-детерминированные функции ( *' 0 1@) 0A) 0 a i(i) л(л\ 4 1 1@) 2 0A) i*—N. г5Л 1@) о^^Ж^^з 0A) 1A) Рис. 4.32 4) рис. 4.32, г; г = 2; 5) рис. 4.32, д; г = 3; 6) рис. 4.32, е; г = 3; 7) рис. 4.32, ж; г = 4; 8) рис. 4.32, з; г = 4. 2.4. Найти вес о.-д. функции / из Р2 'од, заданной каноническими уравнениями: ^;*-i)-«2(*-i), 1)/: { qi(t)=x(t)-q2(t-l), ?2(*)=5l(*-l), ?i@) = l, <72@)=0; { qi(t)=x(t)(Bq2(t-l), q2(t)=x(t)-qi(t-l)-q2(t-l), @) @H
§ 2. Диаграммы, таблицы, канонические уравнения, схемы 143 y(t)=qi(t-l)^q2(t-l), 1, g2@)=0; {y(t)=x(t)®q1(t-l)®q2(t-l), { gi@)=<72@) = 0; {!/(«) = «(«)• ?i(t - 1)-?2(t - 1) Ш ?!(« - 1) ¦ q2(t - 1), q1(t)=x(t)Vq1(t-l)-q2(t-l), q2(t)=x(t)-q2(t-l), (y(t)=x(t)-q1(t-l)Vq2(t-l), J () (!)() оч f. J 01 J- ) q2(t)=x(t)->q2(t-l), [q1@)=q2@) = l; (y(t) = x(t)-qi{t - 1) V x{t)-q2{t - 1), q1(t)=x(t)-q1{t-l)Vx(t)-q2(t-l), q2(t)=x(t)-(q1(t-l)Vq2(t-l)), gi(O) = l, g2@)=0; Г 1AW. J U' )q2(t)=q2(t-l)(Bq1(t-l), [q1@)=q2@) = l. 2.5. Для частично определенной д. функции /(ж^): {0, 1}^ —>¦ —у {0, 1}^, отображающей заданные последовательности в заданные, построить диаграмму Мура с возможно меньшим числом вершин; затем полученную диаграмму доопределить до диаграммы Мура всю- всюду определенной о.-д. функции из ^'од? и для этои новой функции построить каноническую таблицу и канонические уравнения: 1) до") = [01]" и /([10]w)=Tw; 2) /([0lH=6w и /(l[10]w) = [001]w; 3) /([101]") = [110]" и /([010]") = [1011]"; 4) /A [ПО]") = 10 [001]" и /@1 [100]") = [101]"; 5) /@1 [10]") = [100]" и /@11 [ПО] ") = 100 [01]"; 6) /([1101]") = [011]" и /A100 [1]") = [0111]"; 7) /A11 [100]") = 00 [001]" и /A [1100]") = 000 [1]"; 8)/([11000]") = [010]" и /A100 [1]") = 01[0]".
144 Гл. IV. Ограниченно-детерминированные функции 2.6. Подсчитать число различных о.-д. функций из Р2 'од, у ко- которых приведенная диаграмма Мура получается из указанного ори- ориентированного графа путем приписывания его дугам подходящих меток вида аF), где а и Ъ принадлежат множеству {0, 1} (звездочкой обозначается начальное состояние): 1) рис. 4.33, а; 2) рис. 4.33, б] 3) рис. 4.33, в; 4) рис. 4.33, г; 5) рис. 4.33, д; 6) рис. 4.33, е; 7) рис. 4.33, ж; 8) рис. 4.33, з; 9) рис. 4.33, щ 10) рис. 4.33, к; 11) рис. 4.33, л; 12) рис. 4.33, м. Рис. 4.33 2.7. 1) Доказать, что приведенные диаграммы Мура различных о.-д. функций веса 2 из P^'q исчерпываются диаграммами, полу- получающимися из ориентированных графов, изображенных на рис. 4.34, о Рис. 4.34
§ 2. Диаграммы, таблицы, канонические уравнения, схемы 145 путем приписывания их вершинам меток 0 и 1, приписывания их ребрам меток вида а(Ь), где а и Ъ принадлежат множеству {0, 1}, и выделения подходящих вершин в качестве «начальных» (т.е. в качестве вершин, соответствующих начальным состояниям). 2) Подсчитать число различных о.-д. функций из Р2'Од5 имею- имеющих вес 2. 2. Операции над детерминированными функциями. Пусть д. функция / задана системой B) (см. п. 1) и каждая из функций Fi и G\ — всюду определенная функция &-значной логики Р^ {к ^ 2). Будем рассматривать функцию / как элемент множества Р?'™- Схема Е/, реализующая функцию /, определяется следующим образом: T,f представляет собой сеть (определение сети см. в гл. VI), полюсам которой приписаны символы входных и выходных пере- переменных, а некоторым вершинам, отличным от полюсов, приписаны символы каких-то (вполне определенных и связанных с /) д. функций . Схему функции / из Р]?'™ будем изображать Рис. 4.35 Рис. 4.36 в виде прямоугольника (рис. 4.35) с п входами {входными каналами) и т выходами {выходными каналами). Входы изображаются в виде стрелок, исходящих из входных полюсов, а выходы — в виде стрелок, заходящих в выходные полюса. Полюса изображаются в виде кру- кружочков. Если т = 1, то схему Е/, реализующую функцию /, иногда изображают в виде треугольника (рис. 4.36) с п входными и одним выходным полюсами. Считаем, что в каждый момент времени ? = 1,2,... на г-й вход х\ поступает входной символ xi(t) G Еь, а на j-м выходе yj выдается значение Vj{t) = Fj{Xl{t), ..., xn(t), qi{t - 1), ..., qr{t - 1)). Говорят, что выход yj зависит с запаздыванием от входа х^ если функция Fj(x(n)(?), q(r)(? — 1)) не зависит существенно от перемен- переменной Xi{t). Понятие зависимости с запаздыванием можно ввести иначе. Рассмотрим, например, случай д. функции вида /B^,2^, ..., х^): Af х А% х ... х А°^ ->• Вш и определим зависимость с запаздыванием от переменной х%. Функция / зависит с запаздыванием от х?, если при любых входных словах 2^,а^, ..., а^ (а^ G Af, j = 1, 2, ..., п) s-я буква выходного слова Ъш = /(й^, й^, ..., й^) однозначно оп- определяется s первыми символами слов й^, ..., й^ и s — 1 первыми символами слова й^ {s = 1, 2, ...). 10 Г. П. Гаврилов, А. А. Сапоженко
146 Гл. IV. Ограниченно-детерминированные функции Пусть д. функция / задана системой B) и Е/ — схема, реали- реализующая эту функцию. Определим три операции над функцией / и схемой Y,f. 1) Операция О\ — отождествление двух или большего числа входных переменных в функции / и отождествление в схеме Tif соответствующих этим переменным входных полюсов. Отождеств- г Угп У1 Рис. 4.37 DO У1У2 У2 О Ут Рис. 4.38 ленные полюса рассматриваются как один полюс новой схемы. На рис. 4.37 показана схема Е//, которая получена из T>f отождеств- отождествлением ПОЛЮСОВ Х\ И Х2- 2) Операция Оъ — удаление некоторой выходной переменной yj у функции / (что эквивалентно выбрасыванию из системы B) урав- уравнения yj(t) = Fj(-x(n\t), q(r)(?-l))), и удаление из схемы Е/ вы- выходного канала и полюса, соответствующих выходной переменной yj (на рис. 4.38 изображена схема Е//, полученная из схемы T>f после удаления выходного канала и полюса у\). Замечание. Если т = 1, то, удаляя переменную у\ (единствен- (единственную выходную переменную), получаем автомат без выхода (его вес считается неопределенным). 3) Операция 0% — введение обратной связи по одной входной и одной выходной переменным. Пусть в качестве входной перемен- переменной взята переменная ^, а в качестве выходной — переменная yj. Операцию Оз можно применить к функции / и схеме Tif только в том случае, когда выход yj зависит с запаздыванием от входа Х{. Канонические уравнения для новой функции V получаются исклю- исключением из системы B) уравнения yj(t) = Fj(x.^n\t), q^r\t — 1)) и за- заменой переменной xi(t) в каждой функции Fq (q ф j) и G\ на функ- функцию Flj[xx(t), ..., Жг-iW, xi+1(t), ..., xn(t), qi(t - 1), ..., qr(t - 1)), получающуюся из функции Fj(-x^n\t), q^r\t — 1)) отбрасыванием не- несущественной переменной xi(t). Начальные условия остаются преж- прежними. Схема Е// получается из схемы T,f путем отождествления выхода yj с входом Х{\ при этом отождествленные полюса объявля- объявляются внутренней вершиной схемы Е//. На рис. 4.39 показана схема Е//, полученная из схемы T,f введе- введением обратной связи по переменным xi, y\.
§ 2. Диаграммы, таблицы, канонические уравнения, схемы 147 Х2 ГП_ уг у2 Рис. 4.39 У2 Ут Замечание 1. Если п = 1, то, вводя обратную связь по перемен- переменной х\ (и любой выходной перемен- переменной), получаем автомат без входа. Замечание 2. Применяя пере- перечисленные выше операции, удобно указывать в скобках (за обозначе- обозначениями этих операций) те каналы (полюса и переменные), к которым операции применяются. Напри- Например, 0i(жь ж3), О2(уь), Оз(жиь 2/2). Опишем еще три операции над д. функциями. 4) Операция О\ — операция объединения двух (или большего чис- числа) функций. Пусть Д Е Р^1711 и /2 G Р^1712 • Предполагаем, что эти функции имеют в качестве входных переменные х[, х'2, ..., х'П1 и х", х'2', ..., ж соответственно, а в качестве выходных — пере- переменные 2/i, У2-> - - - •> у'пы и У 1ч У2 •> - - - •> Ут2• Считаем, что все эти пе- переменные попарно различны. Пусть Ед и Ед — схемы функций Д и Д соответственно. Тогда схема Y,f функции /, равной объедине- объединению функций Д и Д, будет выглядеть так, как показано на рис. 4.40; г 1 1 1 1 1 с \ ) С h X с 1 X j) Г /2 У\ Ут1 Рис. 4.40 У\ при этом входными и выходными полюсами схемы Tif являются соответственно все входные и все выходные полюса схем Ед и Е/2. Канонические уравнения и начальные условия для функции / по- получаются путем объединения канонических уравнений и начальных условий, задающих функции Д и Д. При этом предполагается, что множества Q^ и Q^ состояний функций Д и Д не пересекаются. 5) Операция S — операция суперпозиции. Пусть Д G Ра,в,д и /2 G Рв,с,д- Суперпозицией Д(Д) функций Д и Д называется такая функция / G Ра,с,д, чт0 /E^) — f2(fi(xUJ)) при любом входном сло- слове ж^ из Л^. Пусть Д G P^mi (г = 1, 2) , и им отвечают схемы Ед и Ед. (Считаем, что входные и выходные переменные и состояния 10*
148 Гл. IV. Ограниченно-детерминированные функции функций Д и /2 такие же, как в предыдущем пункте.) Можно ввести такую суперпозицию этих функций: отождествим, например, входной полюс х'1 схемы Ед с выходным полюсом у[+1 схемы Ед, полюс ж2' Хтх-1 h о о У\ У1 У! Рис. 4.41 с полюсом у[+2 и т.д., наконец, полюс xf1fni_l с полюсом у'Ш1] получим схему Yif (рис. 4.41), у которой: а) входными полюсами будут все входные полюса схемы Ед и входные полюса схемы Е^2, не участвовавшие в указанной выше процедуре отождествления; б) выходными полюсами являются все выходные полюса схе- схемы T>f2 и те выходные полюса схемы Е^/, которые не были отождест- отождествлены ни с одним входным полюсом схемы Е^2. Отождествленные полюса объявляются внутренними вершинами схемы Е/. Схема T>f называется суперпозицией схем Ед и Ед (по переменным у[+1 - х", у'1+2 - ж2'> • • • > У'Ш1 ~ ^-Д Если Функция Д задается системой 1/К*) = F№l(t), ¦¦¦, х'П1 (t), q[(t-l),..., q'ri (t - 1)), V'mi it) = F'mi К (*),-.., x'ni (t), q[ (t - 1), . .. , q'ri (t - 1)), q[{t) = G'Mit), ...,x'ni (t), q[(t-l),..., q'ri (t - 1)), D') q'ri(t) = G'ri(x[(t), ..., x'ni(t), gi(t-l), ..., q'ri(t - 1)), q'1@) = q'ol,...,q>ri@)=qlOri.
§ 2. Диаграммы, таблицы, канонические уравнения, схемы 149 а функция /2 — системой l/i'(«) = F['(x'{(t), ..., < (t), q'Kt - 1), ..., <&(« - 1)), - 1), • ¦ •, <&(* - 1)), t - 1), ..., <?(* - 1)), то функции /, реализуемой схемой Еу, соответствует такая система: y[(t) = F[(x[(t), ...,х'П1 (t), q[(t-l),..., q'ri (t - 1)), yl{t) = F/K(i), . .., x'ni (t), gi(t-l), ..., q'ri (t - 1)), q[(i) = G'Mit), ..., x'ni(t), q[(t-l),..., q'ri(t - 1)), q[@) =q'ol,..., q'ri@) = q'Ori, ?i@) = q^, ..., qra@) = C2, rmF' = FjK(i), ..., x'ni(t), q[(t-l), .. .,q'ri(t-l)), j = I + 1, ..., гщ. 6) Операция 0$ — операция разветвления (некоторого выхода о.-д. функции). Пусть / — функция из Р^ад и T,f — реализующая ее схема. Результатом применения операции 0$ к выходу yj функции / и схемы Ytf являются функция /; и схема Е// такие, что: а) канонические уравнения, задающие функцию /;, получаются из канонических уравнений, описывающих функцию /, заменой уравне- уравнения yj(t) = Fj(-x(n\t), q(r\t - 1)) совокупностью уравнений y'js(t) = = Fj(-x(n\t), q(r\t - 1)) (s = 1, ..., г;) (если выход yj разветвился на v выходов у'.^ ..., y'jv);
150 Гл. IV. Ограниченно-детерминированные функции б) схема Yifi получается из схемы T,f разветвлением канала (и полюса) yj на соответствующее число «одинаково работающих» 1-1 2/1 Уз Ут I ° У\ I ° Ут Уп Рис. 4.42 каналов у'^, ..., y'jv, каждый из которых реализует ту же функцию, что и канал yj в схеме Y,f (рис. 4.42). Из определения операций Oi, О2, О3, О4, О5 и 5 немедленно вытекают следующие утверждения: а) если г = 1, 2, 3, то вес функции /', полученной из функции / с помощью операции О^, не превосходит веса функции / (здесь, ес- естественно, предполагается, что у функции /' имеется хотя бы одна выходная переменная; иначе ее вес был бы неопределенным); б) вес функции /, полученной из функции /i и /2 с помощью опера- операции О4 (операция объединения), равен произведению весов функций Д и /2; в) вес функции /;, полученной из функции / с помощью опера- операции О5 (операция разветвления), равен весу функции /; г) вес функции /, полученной из функций /i и /2 с помощью операции S (операция суперпозиции), не превосходит произведения весов функций Д и Д. Справедливы и такие предложения: 1) если целые числа г\ и г2 удовлетворяют неравенствам 1 ^ ^ Т\ ^ Г2, то существуют о.-д. функции Д и Д, веса которых рав- равны соответственно г\ и Г2, и при этом функция Д получается из функцииД с помощью операции Oi (i = 1, 2, 3); 2) если целые числа го, ri и Г2 удовлетворяют неравенствам 1 ^ ro ^ ri • Г2, то существуют о.-д. функции /о, Д и Д, веса кото- которых равны соответственно ro, ri и Г2, и при этом функция /о есть суперпозиция функций Д и Д. Нетрудно показать, что операция 0$ порождается операциями Oi, 02 и O45 а именно, если о.-д. функция /; получена из о.-д. функции / с помощью операции 0$, то функцию /; можно реализовать над мно- множеством {/} (т.е. используя, вообще говоря, несколько экземпляров функции /) с помощью операций Oi, O2 и О±.
§2. Диаграммы, таблицы, канонические уравнения, схемы 151 Элементом единичной задержки (или, короче, единичной задерж- задержкой) в множестве Рк,д называется о.-д. функция </?3(ж)> задаваемая системой (y(t)=q(t-l), I q(t) = x(t), F) U@) = 0. На «языке последовательностей» единичная задержка описывается следующим соотношением: Диаграммы Мура единичных задержек для к = 2, 3, 4 изображены на рис. 4.43. Вес единичной задержки из множества Рк,д равен к. Схему, реализующую единичную задержку, будем изображать так: 4>ь : х" <ь-»-| Ъ \—х> Ожш . Справедливо следующее утверждение: всякая о.-д. функция из Рк,од может быть реализована схемой над таким множеством, которое содержит: 1) схемы, реализующие элемент единичной задержки; 2) схемы, реализующие функции, порожденные функциями из не- некоторой полной в Pk системы. Иными словами, любое множество о.-д. функций из Рк,од, состоя- состоящее из элемента единичной задержки и функций, порожденных функ- о,г 0@) (У Рис. 4.43 циями из некоторой полной в Р^ системы, образует полную в Рк,од систему относительно совокупности операций {Oi, O2, О3, О4, S}.
152 Гл. IV. Ограниченно-детерминированные функции Пример 5. Найти веса о.-д. функций, получающихся из о.-д. функции / с помощью операции отождествления, примененной к всевозможным парам входных переменных xi, X2 ижз: y(t) = q(t-l) -> (x1(t)Vx2(t)Vx3(t)), q(t) =x(t)-x2(t)-x3(t) -+q(t-l), q@) = 0. Решение. Полагая х\ = X2, получаем функцию (y(t)=q(t-l) -> (n(t)Vi3(*)), /12: I q(t) = 1, [ g@) = 0. Диаграмма Мура этой функции изображена на рис. 4.44. Вес функ- функции /12 равен 2. Полагаем х\ — х%. Приходим к функции q(t)=x1(t)-x2(t) Вес этой функции равен 1. Диаграмма Мура функции Дз и ее приве- приведенная диаграмма представлены на рис. 4.45. Положим теперь Х2 = х$. Получаем функцию /23: < q(t) = 1, U Вес функции /23 равен 1. Диаграмма Мура и приведенная диаграмма изображены на рис. 4.46. 00A), 01A) 0 10A), 11A) Рис. 4.46 Пример 6. Построить канонические уравнения и диаграммы Мура для о.-д. функций, получающихся из функции
§2. Диаграммы, таблицы, канонические уравнения, схемы 153 {Vl(t)=q(t-1), y2(t)=X1(t)-q(t-l), q(t) = Ж1 (t) • g(t - 1) V ar2 (*), q@) = О введением обратной связи по парам переменных (#i, 2/1), (^2, 2/i) и (#2, 2/2)- Найти веса полученных функций. Решение. Вводим обратную связь по переменным х\ и у\. Для получения канонических уравнений результирующей функции надо 0@) Рис. 4.47 Рис. 4.48 вместо xi(t) в уравнениях 2/2W = xi(?)- g(? — 1) и q(t) = xi(t)- ^(t — — 1) V X2(t) подставить правую часть соотношения yi(t) = q(t — 1). Получаем fl/2(*)=0, /и: < q(t) = x2(t), U@) = 0. Диаграмма Мура и приведенная диаграмма этой функции изображены на рис. 4.47. Вес функции /ц равен 1. Вводя обратную связь по переменным жг и j/i, получаем функцию /21: < q(t) = Xl(t)- q(t - l)Vq(t - 1) = Xl(t)Vq(t - 1), U@) = 0. Ее диаграмма Мура представлена на рис. 4.48. Вес функции /21 ра- равен 2. Вводя обратную связь по переменным Х2 и|/2, имеем (Vi(t)=q(t-1), /22: < q(t)=Xl(t)-q(t-l), U@)=0. Диаграмма Мура и приведенная диаграмма функции /22 изображены 0A) 0A) Ж- 1@) 1A) 1A) Рис. 4.49 на рис. 4.49. Вес функции равен 1. Эта функция автономная (порож- (порожденная константой 1).
154 Гл. IV. Ограниченно-детерминированные функции Пример 7. Для суперпозиции /i(/2) по переменным у2 — о.-д. функций Г I/i(*) = жо(*) - gi (* - 1) V a;i (*), /i: < qi(t) = xo(t)Vx1(t)Vq1(t-l), U@) = l, V2(t)=x2(t)®q2(t-1), 2@) = построить канонические уравнения и диаграмму Мура. Найти вес этой суперпозиции. Решение. Канонические уравнения для суперпозиции / = Д (/2) по указанным переменным получаются подстановкой правой части соотношения 2/г(?) — x2(t) 0 ^(^ — 1) вместо переменной x\{t) в кано- канонических уравнениях для функции Д и добавлением к получившимся выражениям уравнения q2(t) = жг(?) V q2(t — 1) и начального усло- условия #2@) = 0. Имеем i(t) = Zcoft)-gift-l)VQr2ftH q2(t - 1)), (t) = xo(t) V a V - 1), ) 0 ^(^ - q2(t)=x2(t)Vq2(t-l), q2@) = 0. Отсюда следует, что вес функции / не больше 4 (так как каждая 10A) 00A), 10@) 01 Рис. 4.50 роить канонические 1) /i: < qi(t) =x1(t) Ui@) = l, 2) /i: < qx(t) =qi(t- Ui@) = 0, переменная q\, q2 принимает два значе- значения, а именно 0 и 1). Исходя из этих уравнений и начальных условий стро- строим диаграмму Мура (рис. 4.50). При- Приведенная диаграмма, соответствующая полученной диаграмме Мура, содержит вершины 01, 10 и 11. Следовательно, вес суперпозиции / равен 3. 2.8. Для суперпозиции / = Д(/2) О.-Д. фуНКЦИЙ Д И f2 ИЗ Р2,од ПОСТ- уравнения и приведенную диаграмму Мура: (y2(t)=x2(t)Vq2(t-l), /2: 1 q2(t)=x2(t)iq2(t-l), U@)=0; y2(t) = q2(t-l), /2: { q2(t)=x2(t)^ «2@) = 1; (yi(t)=x1(t), (y2(t)=q2(t-l), L: I qi(t)=q1(t-l), f2: < q2(t) = x2(t)-q2(t - 1), \ Ui@) = U@) =
§2. Диаграммы, таблицы, канонические уравнения, схемы 155 Ui(O)=O, 2" li/2(t) = a;2(t)®l/2(t-l), 6) функция /i задается диаграммой Мура, изображенной на рис. 4.51, (V2(t)=x2(t) 7) функции Д и /г задаются диаграммами Мура, изображенными 0@) _ 0A) 0A)ДA) о 1A) 0г^ЧО 0@), 1A) 6 Рис. 4.51 Рис. 4.52 на рис. 4.52, а, б соответственно; ох , f2/i(l) = 2/iB) = 0, - 2), Г2/2A) = 0, 1 1 1/2 (*) = «2 (*)"»¦ 1/2 (*- 2), t^3. 2.9. Построить канонические уравнения и приведенную диаграм- диаграмму Мура о.-д. функции, получающейся из функции / введением об- обратной связи по переменным ж,, yf. 1W iy2(t)=x1(t)-x2(t)@q(t-l), i)J- ^q(t)=x1(t)Vx2(t).q(t-l), Ъ ' J ' 2)/: .«@)=0, 'Vi(t)=x1(t)Vx2(t)-q(t-l), 2(t) =x1(t)®q(t-l), q(t)=x1(t)-x2(t)Vq(t-l), * = i = 2;
156 Гл. IV. Ограниченно-детерминированные функции oW iy2(t)=x1(t)-q(t-l)®x2(t), )J' Sq(t)=x2(t)^q(t-1), .9@) = 1, {yi(t)=Xl(t)-q(t-l)Vx2(t), y2(t)=x2(t), 9@) = 0, 5ч ,. I y2(t)=x1(t)®(x2(t)Vq(t-l)), U@) = 0, a) i = j = 1; 6) i = 2, j = 1; 6)/: = 2, j = 1; * = 1, i = 2; 7)/=' а) г = 8)/: • y2(t)=x2(t)-q(t-l), г = 1, i = 2; 9@) = 1, 2/1 (<) = yz(t)=x2(t)Vq(t-l), q(t)=x1(t)Vx2(t), <7@) = 0, 2, i = 1; б) г = 1, j = J в) t = 1, j = 3; y2(t)=x2(t)^q2(t-l), =0, a) t = 1, i = 2; б) г = 2, j = 1. 2.10. Найти вес о.-д. функции, получающейся из о.-д. функции / введением обратной связи по переменным ж,, yf 'yi(t)=X1(t)-X2(t) ->g(t-l), 1)/: г = 1, i = 2; 9@) = 1,
§2. Диаграммы, таблицы, канонические уравнения, схемы 157 = Xl(t)lq(t-l), 2)/: _g@)=0, а) г = 1, j = 2; б) i = 2, j = 1; !/i(«) =?(*-!), 3) f. J V2(t)=x1(t)yq(t-l), .3@)= О, a) i = j = 1; б) г = 2, j = 1; в) г = j = 2; = x2(t) 4)/: .3i@)=e2@) = 0, а) г = j = 1; б) г = j = 2; Var2(t)Vg(t-l), g@)=0, а) г = 3, j = 1; б) г = 1, j = 2; J' | q(t)=x1(t)-x3(t)-q(t-l), g@)=0, a) t = 1, j = 2; 6) i = j = 2; в) г = 3, j = 1; 7)/: Vi(t) =x1(t) V2(t)=q2(t-1), qi(t) =xi(t)-x2(t), q2(t)=qi(t-l)-x3(t), gi(O)=O, <fe(O) = l, a) i = 1, j = 2; б) г = 2, j = 1; в) г = j = 2; r) г = 3, j = 1; д) t = 3, j = 2.
158 Гл. IV. Ограниченно-детерминированные функции 2.11. Найти вес о.-д. функции, получающейся из о.-д. функции / с помощью операции отождествления входных переменных Х{ и Xj (операция Oi): y(t)=Xl(t) ->x2(t qi{t) = x2{t) ^ x3{t)-q2{t - 1), q2{t)=x1{t)-x2(t)Vq1(t-l), a) i = 1, j = 2; 6) i = 2, j = 3; 'j/(t)=a;i(t)Vx2(t)-9i(t-l), ' 92(*) =ar2(t)V«3(*) V9i(t-1), a) t = 1, j = 2; 6) t = 2, j = 3; 3)/: 2/2 (<) = Ж1 (t) • X3 (t) ->¦ Ж2 (i), </(*)= rc3(t)Vg(t-l), .9@) = 1, a) i = 1, i = 2; 6) t = 1, j = 3; в) t = 2, j = 3; -1). 4)/: a) t = 1, j = 2; 6) i = 1, j = 3; в) i = 2, j = 3; 2.12. Найти все суперпозиции fi(f2), если: ' Vi{t) =x1(t)Vq1(t-l), (y2(t)=x2(t)-q2(t-l), --0, 1 192@) = 1; i9i@) = l, 'yi(t) =an(t)-»-9i(t-l), (y2(t) = q2(t-l), 2 '• Л Q2 (t) = ^2 (t) V ^2 (^ ~ 1) •> 1<7г@) = 0;
§2. Диаграммы, таблицы, канонические уравнения, схемы 159 функция f2 задается диаграммой Мура, изображенной на рис. 4.53; Рис. 4.53 0A) (ш) 1@) * ^0@) 1@) 0A) ; \ а 01 \J1. 0@) Рис. 4.55 а б Рис. 4.54 0A) 0A) 1@) 4) функции Д и /2 задаются диаграммами Мура, изображенными на рис. 4.54, а, б соответственно; 5) функции Д и /2 задаются диаграммами Мура, изображенными на рис. 4.55, а, б соответственно. 3. Реализация ограниченно-детерминированных функций схемами. Понятие схемы, реализующей о.-д. функцию, и определение соответствующих операций над схемами даны в п. 2. В настоящем пункте представлены некоторые задачи, относящиеся к схемам, реа- реализующим о.-д. функции из множества Р2,од- Пример 8. Построить схему, реализующую о.-д. функцию / из 1*2,од5 над множеством, состоящим из элемента единичной задержки и функций, порожденных дизъюнкцией, конъюнкцией и отрицанием: ' yi{t) =x1(t)-q1(t-l)\/x2(t)'X3(t)J q2(t)=x1(t)-x2(t)-q1(t-l), Ui(o) = ?2(o) = o. Решение. Сначала строим схему из функциональных элементов над множеством, состоящим из дизъюнкции, конъюнкции и отрица- отрицания, для следующей совокупности булевых функций: ух = х\ • Tji V х2 • Жз, 2/2 = q2 V хг V ж3, q[ =q1.q2\/q1 • q2, *) q'2 = х2
160 Гл. IV. Ограниченно-детерминированные функции (При выписывании этих функций мы воспользовались эквивалент- эквивалентными соотношениями для функций алгебры логики: х —>¦ у = ~х V у и х 0 у = ху Уху.) Схема из функциональных элементов, реализующая систему функ- функций (*), имеет пять входных каналов (по переменным xi, X2, ^з, Ц\ Q1-Q2 Рис. 4.56 и #2) и четыре выходных (по переменным yi, у2, q[ и q'2). Обозначим эту схему через Е*. Она представлена на рис. 4.56. Светлыми кружочками на ней обозначены входные и выходные полюса, а темными кружочками — внутренние полюса. Функциональ- Функциональные (логические) элементы, реализующие дизъюнкцию, конъюнкцию и отрицание, изображены в виде треугольников с двумя (для дизъюнк- дизъюнкции и конъюнкции) или одним (для отрицания) входными каналами. У каждого функционального элемента один выходной канал. Около выходных полюсов элементов указаны булевы функции, реализуе- реализуемые такими подсхемами схемы Е*, у которых входы совпадают с входами схемы Е*, а выходами являются данные выходы элемен- элементов. В треугольниках, соответствующих элементам, реализующим конъюнкцию, изображен знак & ; элементы, реализующие отрицание, помечены знаком 1. Для получения схемы Е/, реализующей о.-д. функцию /, доста- достаточно к выходам q[ и q'2 схемы Е* присоединить последовательно
§2. Диаграммы, таблицы, канонические уравнения, схемы 161 элементы единичной задержки (операция суперпозиции) и затем ввес- ввести обратную связь по парам каналов q" — q\ и g2' — ^2, где q" — выходной канал элемента единичной задержки, подсоединенного к выходу q[ схемы Е*. Схема Y,f приведена на рис. 4.57. (Нули около элементов единич- единичной задержки, поставлены нами для того, чтобы лишний раз напом- Xi(t) X2(t) ill Рис. 4.57 нить, что в момент времени t = 1 выходные символы этих элементов равны 0.) Пример 9. По схеме Е/, реализующей функцию / (рис. 4.58), построить канонические уравнения, задающие эту функцию. Vi(t) Рис. 4.58 11 Г. П. Гаврилов, А. А. Сапоженко
162 Гл. IV. Ограниченно-детерминированные функции Решение. Удаляя из схемы T,f задержки, получаем Е// — схему из функциональных элементов, изображенную на рис. 4.59, с допол- дополнительными выходными (q[ и q'2) и входными (qi и q2) полюсами. x2(t) Рис. 4.59 Выписывая функции проводимости для каждого выходного полюса, имеем _ yi=x1-x2@q1, у2 = q\ • (х2 Vg2), q[ = Xi 0 х2 V q2 = Xi 0 x2 • q2, q'2 = (хг -x2 ®q1)-x2 = (хг - ^i) • x2. Теперь для получения канонических уравнений, описывающих работу схемы Е/, нужно учесть время и начальные условия: ' 2/i (t) =x1(t)-x2(t)®q1(t-l), y2(t)=qi(t-l)-(x2(t)Vq2(t-l)), qi(t)=x1(t)®x2(t)-q2(t-l), qi@)=q2@) = 0. Пример 10. Выписать канонические уравнения для функций, реализуемых схемами, изображенными на рис. 4.60. (Схемы, изобра- изображенные на рис. 4.60, а-к, соответствуют пп. а)-к) решения.) Решение, а) Схема реализует функцию fi(x) = /^(</?3(ж)), где f~x(z) — о.-д. функция, порожденная функцией ж из Р2. На «языке
§ 2. Диаграммы, таблицы, канонические уравнения, схемы 163 , x(t) y(t) 6y(t) д > п> 2 последовательностей» функция fi(x) описывается следующим соот- соотношением: /1B^) = 1жA) жB)... ~x(t)... Исходя из него можем сразу написать канонические уравнения: q(t) = x(t), q@) = 0. 11*
164 Гл. IV. Ограниченно-детерминированные функции Приведем еще одно решение этой задачи. Ясно, что данная схема является суперпозицией двух схем, одна из которых реализует еди- единичную задержку </?3(ж)> а другая — функцию f-x(z). Канонические уравнения этих функций можно записать в следующей форме: V2(t)=z(t), = О, Значит, канонические уравнения суперпозиции fi(x) = fx~{<p%{x)) име- имеют вид =x(t), *(*) = о, q2@) = q2@) = 0. Вес функции fi(x) равен 2 (переменная q^ является «фиктивной»), и поэтому «приведенные» канонические уравнения для нее выглядят так: (y{t)=qi{t-l), fi(x): \qi(t)=x(t), (qi@)=0. (Эти уравнения с точностью до обозначения переменных такие же, как и выписанные выше.) б) Очевидно, что данная схема реализует функцию /2 (х) = — Л(/ж"(ж))? где Л(ж) — о.-д. функция из примера а). Следователь- Следовательно, /2B^) = 1хш — «единичная задержка с начальным выходом, равным 1», и , . , . (y(t)=q(t-l), /2(ж): \q(t)=x(t), [q@)=0. в) Схема реализует функцию /з(ж) = ?}(fi(x)). Значит, /г(а;ш) = = 01жA) жB)... ~x(t)... Далее, так как функции ц>ь и /i задаются следующими каноническими уравнениями: fyi{t) = qi(t-l), (V2(t)=q2(t-1), 4>t{xi): < ?i(t) = a() Л() ^ («) («) Ui(°) то имеем г) Данная схема реализует о.-д. функцию п раз
§ 2. Диаграммы, таблицы, канонические уравнения, схемы 165 — задержку на п тактов. Очевидно, что щ1' {хш) =00 ... 0хш. Кано- Канонические уравнения этой функции выглядят так: qi(t)=q2(t-l), qn(t) = x(t), д) Обозначим функцию, реализуемую этой схемой, через /4(ж). От переменной х она зависит несущественным образом. Для получения ее канонических уравнений возьмем единичную задержку с двумя выходами, 2/ и 2/i, и введем обратную связь по переменным х и у\. Канонические уравнения единичной задержки с двумя выходами у и у\ выглядят так: y(t) = q(t-l), q(t)=x(t), q@) = 0. Вводя обратную связь по каналам х и t/i, имеем (У(*) =«(*-!), U(x): \q(t)=q(t-l), U@) = 0. Таким образом, /4(ж) = f=o(x) (здесь f=o(x) — о.-д. функция, порож- порожденная тождественным нулем), т.е. f^x") = 0^. е) Функцию, реализуемую этой схемой, обозначим через /5 (х) (переменная х фиктивная). Для получения канонических уравнений функции /б(ж) достаточно взять схему из примера а), разветвить ее выход на два (у и у\) и ввести обратную связь по переменным х и у\. Vi(t)=q(t-1), q(t) = x(t), q@) = 0, y(t)=q(t-l), q(t)=q(t-l), U На «языке последовательностей» функция /5 (x) описывается соотно- соотношением fbix") = [10]w. ж) Функцию, реализуемую данной схемой, обозначим через /б (ж) (переменная ж фиктивная). Для нахождения ее канонических урав- уравнений можно взять канонические уравнения для функции </?3(/^(ж)),
166 Гл. IV. Ограниченно-детерминированные функции разветвить ее выход на два (у и у\) и ввести обратную связь по переменным х и у\. Выполним эти шаги: y(t)=q(t-l), y(t)=q(t-l), (t) = q(t-1), q(t)=x(t), g@) = 0, y(t)=q(t-l), q(t)=q(t-l), U@) = 0. На «языке последовательностей» имеем ^(ж^) = [01]^. з) Канонические уравнения функции /7(ж), реализуемой этой схе- схемой, получаем из канонических уравнений функции /2(х) (см. при- пример б)), применяя операции разветвления и обратной связи (как в примере ж)). Имеем y(t)=q(t-l), Vl(t) = q(t-1), q(t)=x(t), g@) = 0, y(t)=q(t-l), q(t)=q(t-l), U@)=0, т.е. /7(ж) = f=i(x) или /^(х^) = 1^ (переменная х фиктивная), и) Обозначим о.-д. функцию, реализуемую данной схемой, че- через fs(x) (х фиктивная переменная). Действуя так же, как в при- примере з), но используя при этом функцию /з(ж) (из примера в)), получаем Vi(t)=qi(t-1), qi(t)=q2(t-l), q2(t)=x(t), «i@)=«2@) = 0, ¦y(t)=qi(t-l), т.е. fe(xu) = [OllOf
§ 2. Диаграммы, таблицы, канонические уравнения, схемы 167 к) Для построения канонических уравнений функции /д (х), реали- реализуемой данной схемой, можно поступить так: напишем канонические уравнения для суперпозиции fxvy(h(z), Ф^хг)), где fxyy(x,y) — о.-д. функция, порожденная дизъюнкцией; затем разветвим выход на два (у и у\), а потом применим операцию обратной связи по переменным х\ иуь Выполним эти шаги: y(t)=x(t)Vq(t-l), fo(x) = О, y(t)=x(t)Vq(t-l), yi(t)=x(t)Vq(t-l), q(t) =xi(t), 9@) = 0, y(t)=x(t)Vq(t-l), q(t)=x(t)Vq(t-l), U@)=0, y\i) = x(l), 2/B) = x(l) V xB), ..., y(t) = x(l) V xB) V ... V x(t)... 2.13. Для функции / из Рг.од построить схему над множеством, состоящим из элемента единичной задержки и функций, порожденных дизъюнкцией, конъюнкцией и отрицанием: ( y(t) = x(t) V q(t - 1), Г y(t) = x{t) Ф q{t - 1), 1) /: <^ q(t) = x(t) ¦ q(t - 1), 2) /: I q(t) = x(t) I q(t - 1), U@) = l; U 3) функция / задается канонической таблицей (табл. 4.7) и на- начальным условием q@) = 1; Таблица 4.7 Таблица 4.8 x(t) 0 0 1 1 q(t - 1) 0 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 </(* -1) 0 1 0 1 y(t) 1 0 0 1 ф) 1 1 0 0 4) функция / задается канонической таблицей (табл. 4.8) и q@) = 0; 5) функция / задается диаграммой Мура, изображенной на рис. 4.61, а; 6) функция / задается диаграммой Мура, изображенной на рис. 4.61, б; 7) функция / задается диаграммой Мура, изображенной на рис. 4.61, в;
168 Гл. IV. Ограниченно-детерминированные функции ,^%, 1@) 8) функция / задается диаграммой Мура, изображенной на рис. 4.61, г; 9) функция / задается диаграммой Мура, изображенной на рис. 4.61, д; 10) функция / задается диаграммой Мура, изображенной на рис. 4.61, е; j/" \y(t)=x(t-l)Vy(t-l), (УA)=УB) = 1, j/" \y(t)=y(t-l)^x(t-2), 13) ^ =a:(t-2)ei/(t-l), fj,Bt)=a:Bt-l), t ^ 1, |0 в остальных случаях; Jt/Bi-l)=5fB*-l), t^ \ yBt) = xBt - 1) ® l/i(*) = a?i(t) 2(t) =x2(t) - 1), 2, 2.14. По схеме, реализующей функцию / из -Рг,од> построить канонические уравнения, каноническую таблицу и диаграмму Мура: 1) рис. 4.62, а; 2) рис. 4.62, б; 3) рис. 4.62, в; 4) рис. 4.62, г; 5) рис. 4.63, а; 6) рис. 4.63, б; 7) рис. 4.63, в; 8) рис. 4.63, г.
§ 2. Диаграммы, таблицы, канонические уравнения, схемы 169 x{t) Рис. 4.62 xi(t) fix2{t) ox2(t) yi(t) 6 y2(t) У lit) о y2(t) г Рис. 4.63
170 Гл. IV. Ограниченно-детерминированные функции x(t) y(t) Рис. 4.64 Рис. 4.65 x(t) x(t)q Рис. 4.66
§2. Диаграммы, таблицы, канонические уравнения, схемы 171 2.15. Построить схему, реализующую ту же о.-д. функцию, что и заданная схема, но содержащую меньше элементов единичной за- задержки. Схема должна строиться над множеством, состоящим из элемента единичной задержки и функций, порожденных дизъюнк- дизъюнкцией, конъюнкцией и отрицанием: 1) рис. 4.64, а; 2) рис. 4.64, б; 3) рис. 4.65, а; 4) рис. 4.65, б; 5) рис. 4.66, а; 6) рис. 4.66, б. 2.16. В схеме, реализующей функцию / из множества Р^Од (n ^ ^ 1), содержится р (р ^ 0) единичных задержек ц)ъ. 1) Показать, что вес функции / не больше 2Р. 2) Привести примеры схем с р единичными задержками, реали- реализующих функции веса г, где: а) г = 1, р ^ 1; б) г = 2р, р ^ 1; в) г = 1, 2, 3, 4 и р = 2. 4. Замкнутые классы и полнота в множествах детерми- детерминированных и ограниченно-детерминированных функций. Пусть М — некоторое множество д. (или о.-д.) функций ив — какая-либо совокупность операций, не выводящих за пределы мно- множества всех д. (или о.-д.) функций. Иными словами, если о Е 6, то, применяя о к произвольным (или допустимым) д. (или о.-д.) функциям, мы получаем снова д. (или о.-д.) функции. Замыканием [M]q множества М относительно совокупности опе- операций 6 называется множество, состоящее из множества М и таких д. (или о.-д.) функций, которые могут быть получены из функций множества М с помощью операций из 6, причем операции можно применять любое конечное число раз. Операция получения множест- множества [M]q из М называется операцией замыкания. Множество М назы- называется функционально замкнутым (или, короче, замкнутым) классом относительно совокупности операций 6, если [M]q = М. Пусть М — замкнутый относительно совокупности операций в класс д. (или о.-д.) функций. Подмножество А из М называется функционально полной (или, короче, полной) системой в М относительно совокупности опе- операций в, если [A]q = М. Множество А д. (или о.-д.) функций на- называется неприводимой системой относительно совокупности опера- операций в, если, каково бы ни было собственное подмножество В из Л, выполняется строгое включение [B]q С [A] q. Базисом замкнутого класса М относительно совокупности операций в называется всякая полная и неприводимая система из М. Множество Л, содержащееся в замкнутом классе М, называется предполным классом в М, если оно не является полной системой в М, но для всякой функции / из М\А выполняется равенство [Ли {/}]© = М. Как уже указывалось в п. 2 (перед примером 5) всякое множес- множество о.-д. функций из Pk,од, состоящее из элемента единичной за- задержки и функций, порожденных функциями из некоторой полной в Pk системы, образует полную в Рк,од систему относительно со-
172 Гл. IV. Ограниченно-детерминированные функции вокупности операций {Oi, O2, О3, О4, S}. В частности, в Р2,од пол- полна система {/ж(ж), fxvy(x, у), fx&y(x, у), </?з(Ж)}> ГДе fx(x), fxVy(x, у) и /ж&2/(^? 2/) — о.-д. функции, порожденные соответственно отрица- отрицанием, дизъюнкцией и конъюнкцией. В множестве Рк,од существуют базисы относительно совокупности операции {Oi, O2, О3, О4, S}, состоящие из одной функции. Пример такого базиса дает множество {/o(^i, #2? жз, у?3(ж4))}? гДе ^з — эле" мент единичной задержки из Рк,од, а функция /о есть о.-д. функция, порожденная функцией max {х\ • х± + Ж2A — Ж4), #з) + 1 (здесь сумма, разность и произведение берутся по mod к). Полнота конкретных систем в Рк,од доказывается обычно мето- методом сведения к заведомо полным системам (в частности, строятся элемент единичной задержки и функции, порожденные функциями из некоторой полной в Р^ системы). Пример 11. Доказать полноту системы функций {Д, /2} в Р2,од относительно совокупности операций {Oi, O2, О3, О4, S}, если fi:y(t)=x1(t)-x2(t), t^l; (yi(t)=Xl(t)Vq(t-l), f I 2/2A) =Xl(t)-q(t-l)Vx2(t), h'' \ q(t)=x1(t).x2(t), [q(Q) = Q. Решение. Попытаемся построить единичную задержку и функ- функцию f=i(x) — функцию, порожденную тождественной единицей. Это- Этого для обоснования полноты системы {Д, /2} будет достаточно, так как система {х • у, 1} полна в Р2. Отождествляя переменные в функции Д (операция 6i), получа- получаем о.-д. функцию, порожденную тождественным нулем: Д(ж, х) = — f=o(x). Затем, удаляя выходную переменную у2 у функции f2 (опе- (операция О2) и беря суперпозицию /з(ж) = f2(f=o(x), /=0(ж)), имеем = 0, т.е. /з(ж) = f=i(x). Далее строим функцию, порожденную отрица- отрицанием: Д(ж) = Д(ж, f=i(x)) = /ж(ж) (использованаоперация 5); потом подставляем в функцию f2 вместо переменной Х2 функцию f-x(x2) (операция S) и применяем операцию обратной связи к функ- функции /2(^1, f-x(x2)) по переменным Х2 и у\. Получаем функцию 2/2 (*) = xi(t)-q(t - l)Vx1(t)Vq(t-l) = = nri(t)- g(t - 1) V xi(t)- g(t - 1) = g(t - 1), q(t) = Xl(t)- (xi(t) v?(t - 1)) = Xl(t), т.е.
§2. Диаграммы, таблицы, канонические уравнения, схемы 173 Таким образом, система функций {Д, Д} порождает полную в 1*2,од систему {Д, f=i(x), (рь(х)}. Следовательно, система {Д, Д} полная. ^ Пример 12. Доказать, что система {Д, /2} не полна в Р2,од относительно совокупности операций 6 = {Oi, O2, О3, О4, S}, если /ц ?/(*)= а*(*)-ж2(*), ^ 1; {?/(*) =яп(*) Vgr(t — 1), q(t)=x1(t)-x2(t), q@) = 0. Решение. Покажем, что в замыкании системы {Д, /2} относи- относительно совокупности 6 содержатся только такие функции, которые в момент времени t = 1 при подаче на входы нулей выдают на любом выходе 0. Очевидно, что это так для исходных функций Д и Д. Предположим, что сформулированное утверждение верно для всех тех функций из замыкания (назовем их допустимыми), которые могут быть получены из функций Д и Д с использованием операций из в в суммарном количестве, не превосходящем числа I (/ ^ 0), и докажем его справедливость для функций, требующих для своего построения (из функций Д и Д с помощью совокупности операций 6) самое ма- малое / + 1 (суммарного) числа операций. Рассмотрим пять случаев. 1) Функция / получается из некоторой допустимой функции /' с помощью операции О\. Пусть yj — произвольный выход функ- функции /'и /' = /'(#!,..., хп) (п ^ 2). Предположим, что функция / строится из функции /; посредством отождествления перемен- переменных Хгг = ... = Xip — х (р ^ 2), т. е. J\X, Х\, . . . , Ж^—i, Ж^-)-!, . . . , Ж^р_1, Ж^р_|_1, . . . , Хп) — — / \%11 • • • 1 %i\—li %i %ii-\-li • • • 1 ^ip — li %i %ip-\-li • • • 1 %n)- Так как f'(Oaf, ..., Qa%) = Щ (для всякого j), то /(Oa^Oo?, ..., 0^_b GSt1+1, ..., 0H^_!, 0a?+1, ..., 02^) = = /'(Oa?, ..., Oaj;.!, 0aw, 0а?1+1, ..., 0й^_15 Ой", 0а^+1, ... ...,0а?)=0Ь5\ Значит, утверждение справедливо и для функции /. 2) Функция / получена из некоторой допустимой функции /; с помощью операции 02- В этом случае утверждение очевидно, так как «функционирование» любого невыброшенного выхода осталось неизменным. 3) Функция / получена из допустимой функции /; с помощью операции обратной связи (операция 0%). Предположим, что обратная связь была введена по входной переменной Xi0 и выходной перемен- переменной 2/j0, и рассмотрим произвольный выход yj (j ф jo) у функции /. Если в канонических уравнениях, задающих функцию /;, ..,Жго-1(*), Xio + 1(t), ...,Xn(t), ф~ 1))
174 Гл. IV. Ограниченно-детерминированные функции и yj(i) = Fj(x.(i), q(? — 1)), j Ф jo, то функционирование выхода описывается соотношением ..., xn(t), ф - 1)), xio+i(t), ..., xn(t), ф - 1)). Поэтому Vj(t) = F,@, ..., 0, Fjo@, ..., 0, 0, ..., 0, q@)), 0, ... 0, q@)) = = Fj(O, ...,0,0,0, ...,0, q@)) =0. Следовательно, утверждение справедливо и для функции /. 4) Функция / получена из допустимых функций /' и /" с помощью операции объединения (операция О^). Утверждение в этом случае очевидно, так как функционирование каждого выхода (у любой из функций /; и /") остается неизменным. 5) Функция / есть суперпозиция f'{f") допустимых функций /; и /" по переменным х[ — у", ..., х'р — у'^ где х[ — входные перемен- переменные функции /;, a y'J — выходные переменные функции /". Очевидно, что функционирование каждого выхода y'J функции /, являющегося выходом функции /" (т.е. для j ф 1, ..., р), остается неизменным. Рассмотрим произвольный выход yfj функции /. Если в каноничес- канонических уравнениях для функции /; выход yfj описывался соотношением y'j(t) = Fj(x[(t), ..., x'p(t), x'p+1{t), ..., x'ni(t), q'(t - 1)), то в канони- ческих уравнениях суперпозиции f'(f") ему отвечает соотношение y'jit) = F}(F['(x."(t), q"(* - 1)), - - -, F;(x"(i), q"(* " 1)), x'p+1(t), ...,x'ni(t),q'(t-l)). Поэтому при х"A) = 0 и х'р+1A) = ... = 2^A) = 0 имеем ;( ;), o,..., o, = Fj(O, ...,0, 0, ...,0, q'@))=0. Значит, утверждение справедливо и для функции /. Итак, неполнота системы {Д, /2} (относительно совокупности операции в) установлена. 2.17. Доказать полноту системы {Д, /2} в Р2,од относительно совокупности операций {Oi, O2, О3, О4, S}, если: 1) /: y(t) =x1(t)-x2(t), t^l, (y(t)=x1(t).x2(t)Vq(t-l), /2: < q(t)=x1(t)Vx2(t), [@) 0
§2. Диаграммы, таблицы, канонические уравнения, схемы 175 2) fa y(t)=Xl(t)^x2(t), t^l, (y(t) = (x1(t)->x2(t))-q(t-l), fa < q(t)=x1(t))-x2(t), U@) = 0; 3) fa y(t)=x1(t)Vx2(t), t^l, (y(t)=x1(t)Vq(t-l), fa } q(t) =Xl(t)®x2(t), U@) = 0; 4) fa y(t)=x(t), t^l, fy(t) = x1(t)-x2(t) V x3(t)-q(t - 1), fa < q(t)=x2(t)-x2(t), U(°) ° 5) fa y(t)=x1(t)-x2(t)-x1(t)Vx3(t)Vx2(t)-x3(t), f»(*) = g(*-l), /2: J 9(t) =x1(t)®x2(t), [q@) = 0; 6) Д: j/(t) =x1(t)-x2(t), f? 1, 7) Д: y(t) = xi(t) —>¦ X2(t), t ^ 1, /2 задается диаграммой Мура, изображенной на рис. 4.67, а; 0A) 1@) 0@) а 00@) 01@) Рис. 4.67 8) fa y(t) = xi{t)- x2(t), t ^ 1, /2 задается диаграммой Мура, изображенной на рис. 4.67, б; 9) fa y(t) =xi(t) \/x2(t), t^ 1, /2 задается диаграммой Мура, изображенной на рис. 4.67, е; Ю) fa y(t) = Xl(t) ^ x2(t), t^l, {Vi(t)=x1(t)-x2(t)Vq(t-l), y2(t)=x2(t)-q(t-l), q(t)=x2(t), q@) = 0;
176 Гл. IV. Ограниченно-детерминированные функции 11) /i: y(t)=x(t), t^ I, {y1(t)=x1(t)-x2(t)®x3(t)®q(t-l), y2(t)=x1(t)®q(t-l), q(t)=X1(t), q@) = 0; 12)/i: y(t)=x1(t)-x2(t), t^l, (Vi(t) = x1(t)-x2(t)Vq(t-l), y2(t)=x1(t)Vq(t-l), q{t)=xx(t), q@) = 0; 13) /i: y{t)=x1(t)-X2{t), t> 1, (y(t) = xi{t)-qi{t ~ l)Vx2(t)-q2(t - 1), qi(t)=x1(t)-q1(t-l)Vx2(t), q2(t)=x1(t)-q1(t-l)Wq2(t-l), = (fe@)=0; fy(t)=q(t-l), (y(t)=x1(t)Vx2(t)Vx3(t)-q(t-l), 14) Д: < «(*)=«(*), /2: < ?(*) =»i(t) Vrc3(t), [(o) o U(°) ° y{t) = q(t - 1), (y{t) = x1(t)Wx2(t)-q(t - 1), 15) Л: ^ 2.18. Доказать, что функция / является шефферовой в Р2гОд относительно множества операций О = {Oi, О2, Оз, О4, S}: y(t)=x1(t)Vx2(t)Vx3{t)-q(t-l), 1)/: \ q(t)=x3(t)-x4(t), U y(t) =x1(t)-x2(t)Vx3(t)-q(t-l), 2) /: \ q(t) = Xl(t) ->¦ (ж2(*) -»¦ а:з(«)), U@) = l; y(t) = X!(t)- x2(t)- x3(t) V q(t - 1), 3)/: \ q(t)=Xl(t)-x2(t), {y(t) = si(*)- ж2(«) V «i(t - 1)- ga(* - 1), 9i(t) =x2(t)-x3(t), q2(t)=x1(t)-xa(t)Vq1(t-l), q@) = 0, ?2@) = 1;
§2. Диаграммы, таблицы, канонические уравнения, схемы 177 ' Vi(t) = Xi(t)- qx(t — 1), V2(t)=x1(t)-q1(t-l)Vx2(t)-q2(t-l), 4\{t) = xi(t)-x3(t), q2(t)=qi(t-l), 5)/: 2.19. Из системы Л, полной в ^2,од относительно множества операций {Oi, O2, О3, О4, S}, выделить собственную подсистему, полную в Р2,од относительно тех же операций (и состоящую из возможно меньшего числа функций): 1) Л = {/=оО), /=iO), fx.y(x, у), fx®y®z(z. У, z), рь(х)}; 2) Л = {/=оО), /ж^(ж, 2/), fx^y(x, у), </?3(ЛН>))}; 3) А = {/=1(ж), /жф2/(ж, у), fxyy(x, у), <p3(fx.y(x, у))}; 4) А = {/=о(ж), /^(ж), /ж.^(ж, 2/), fxvy(<Pb(x), fy(y))}l 5) Л = {/=i(aO, /ж.^(ж, 2/), /ж^(ж, ^зЫM fx(<Pi(fv(y)))}- 2.20. Выяснить, содержится ли функция / (из Р2 'од) в замкну- замкнутом классе Л (здесь О = {Оь О2, Оз, О4, 5}, Oi = {Оь О2, О4, 5}): 1) / = f=o(x), A = [Ш, <рь(Ш)]о> 2)f = f=1(x), А=[Мх),<рь(х)]о; 3) / = fa(x), A = [fx^y(x, у), рь(%)]о; 4) / = f=i(x), А = [/жуз/(ж, 2/), ipb(fx(z)), fx(<Pi(y))]o] ( y(t) = 0, если t = 4s + 1 или ? = 4s + 2, s ^ 0, \y(t) = 1 в ином случае, а) Л = [/Ж|^(ж, 2/), Vb{x)]Ol, б) Л = [у?3(ж), ^(/^Ы)]^ 2.21. Выяснить, можно ли расширить множество Л до полной системы в Р2,од относительно множества операций {Oi, O2, О3, О4, *5}, добавляя только одну функцию из множества В: 1) Л = {fx(x), fx®y®z(z. У, Z), Рь(х)}, В = {f=l(x), fx®y(x, У), fm(x,y,z)(x, У, Z)}\ 2) Л = {/=i(s), /^у(ж, 2/), В = {/=0(ж), /ж.у(ж, 2/), </ 3) Л = {/ж.^(ж, 2/), /жу^( В = {f=o(x), f=i(x), 4) Л = {fx.y(x, у), fx®y(x, у), fx.y(x, <Р3(у))}, В = {f=i(x), fx~y(x, <рь(у)), <Рь(х)}; 5) Л = {fxVy(x, у), fx.y(x, У), fm(x,y,z)(x, У, В = {fx®y(x, У), fx(<P3(y)), Vb(x)}. 12 Г. П. Гаврилов, А. А. Сапоженко
Глава V ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ § 1. Машины Тьюринга и операции над ними. Функции, вычислимые на машинах Тьюринга 1. Простейшие свойства машин Тьюринга. Машина Тью- Тьюринга представляет собой абстрактное устройство, состоящее из ленты, считывающей (и печатающей) головки и управляющего устройства. Лента разбита на ячейки (клетки). Во всякой ячейке в каждый дискретный момент времени находится в точности один символ из внешнего алфавита А = {ао, ai, ..., an_i} (n ^ 2). Алфавит А со- содержит символ, называемый пустым, а любая ячейка, содержащая в данный момент пустой символ, называется пустой ячейкой (в этот момент). В качестве пустого символа обычно используют 0 (нуль). Лента предполагается потенциально неограниченной в обе стороны. Это следует понимать так: в каждый момент времени лента конечна (т.е. содержит конечное число ячеек), но «размеры» ленты (число ячеек на ней) при необходимости можно увеличивать. Управляющее устройство в каждый момент времени находится в некотором состоянии qj, принадлежащем множеству Q = {до, #ъ ..., qr-i} (г ^ 1). Множество Q называется внутренним алфавитом (или множеством внутренних состояний). Иногда из Q выделяются непересекающиеся подмножества Qi и Qo начальных и заключи- заключительных состояний соответственно. Замечание. В дальнейшем, если не оговаривается противное, считаем, что \Q\ ^ 2, и в качестве начального берем только одно состояние q\. Заключительным, как правило, будет состояние q§. Считывающая (и печатающая) головка перемещается вдоль лен- ленты так, что в каждый момент времени она обозревает ровно одну ячейку ленты. Головка считывает содержимое обозреваемой ячейки и записывает в нее (печатает в ней) вместо обозреваемого символа некоторый символ из внешнего алфавита. «Засылаемый» в ячейку символ может, в частности, совпадать с тем, который обозревался (в данный момент).
§ 1. Машины Тьюринга и операции над ними 179 В процессе работы управляющее устройство в зависимости от состояния, в котором оно находится, и символа, обозреваемого го- головкой, изменяет свое внутреннее состояние или остается в прежнем состоянии, выдает головке приказ напечатать в обозреваемой ячейке определенный символ из внешнего алфавита и «приказывает» головке либо остаться на месте, либо сдвинуться на одну ячейку влево, либо сдвинуться на одну ячейку вправо. Работа управляющего устройства характеризуется тремя функ- функциями: Г П А П F: Q х А -> А, D: QxA^{S, L, R}. Функция G называется функцией переходов, функция F — функ- функцией выходов и D — функцией движения (головки). Символы S, L и R обозначают соответственно отсутствие движения головки, сдвиг головки на одну ячейку влево и сдвиг на ячейку вправо. Функции G, F и D можно задать списком пятерок вида дщС(диа,)Р(диа,)О(диа,), A) или, короче, qiajqijaijdij. Эти пятерки называются командами. Функ- Функции G, F и D являются, вообще говоря, частичными (не всюду опре- определенными). Это значит, что не для всякой пары (qi, aj) определена соответствующая пятерка вида A). Список всех пятерок, определяю- определяющих работу машины Тьюринга, на- называется программой этой машины. Программу машины можно задавать в виде таблицы (табл. 5.1). Если в программе машины для па- пары (qi, aj) пятерка вида A) отсутству- отсутствует, то в таблице на пересечении стро- строки aj и столбца qj ставится прочерк. Работу машины Тьюринга описы- описывают также на «языке конфигураций». Пусть в момент времени t самая левая непустая ячейка С\ ленты со- содержит символ aj1, а самая правая непустая ячейка Cs (s ^ 2) — символ ajs (между ячейками С\ и Cs находится s — 2 ячеек). В этом случае говорят, что в момент t на ленте записано слово Р = = aj1aj2 ... ajp ... ajs, где aJp — символ, содержащийся в момент t в ячейке Ср A ^ р ^ s). При s = 1, т.е. когда на ленте только один непустой символ, Р = а^. Пусть в этот момент времени управляю- управляющее устройство находится в состоянии qi, и головка обозревает сим- символ aji слова Р A^2). Тогда слово а>к • • • aji-iQiaji • • • ajs B) называется конфигурацией машины (в данный момент t). При 1 = 1 конфигурация имеет вид qia^ ... a,j3. Если в момент t головка обо- 12* Таблица 5.1 0>п-1 qo ... qi ... qr-i ... qij агз dtJ ...
180 Гл. V. Элементы теории алгоритмов зревает пустую ячейку, находящуюся слева (справа) от слова Р, и между этой ячейкой и первой (соответственно последней) ячейкой слова Р расположено v ^ 0 пустых ячеек, то конфигурацией машины в момент t называется слово qiA__^_Aah ... ajs C) v-\-l раз (соответственно слово ctj1 ... ctjs Л ... Л^Л), где через Л обозначен v раз пустой символ алфавита А. Если в момент t лента пуста, т. е. на ней записано пустое слово, состоящее только из пустых символов внешнего алфавита, то конфигурацией машины в момент t будет слово qiA. Пусть в момент t конфигурация машины имеет вид B) и в прог- программе машины содержится команда QiajiQijiaijic^iji • Тогда при dijt = L в следующий момент времени конфигурацией машины будет слово: а) qijx Аа^г ctj2 ... o>js, если / = 1; б) qij2aj1aij2aJ3 ... ajs, если 1 = 2; в) ah ... aj,_2&j,ajwawaji+i • • • aj*> если l > 2- Случаи, когда dijl = R или dijl = 5, или когда либо конфигура- конфигурация машины соответствует головке, находящейся вне слова Р (как в словах C) и C;)), либо слово Р пустое, описываются аналогично. Если в программе машины нет пятерки вида A) для пары (^, ctj) или «новое» состояние q^ является заключительным, то машина прекращает работу, а «результирующая» конфигурация называется заключительной. Конфигурация, соответствующая началу работы машины, называется начальной. Пусть в некоторый момент времени конфигурация машины бы- была К, а в следующий момент она есть К'. Тогда конфигурация К' называется непосредственно выводимой из К (обозначение К |= К'). Если К\ — начальная конфигурация, то последовательность К\, i^2, • • •, Кт, где Ki |= Ki+i при 1 ^ г ^ т — 1, называется тью- ринговым вычислением. При этом говорят, что конфигурация Кт выводима из конфигурации К\, и пишут К\ |— Кт. Если Кт явля- является к тому же заключительной конфигурацией, то говорят, что Кт заключительно выводима из К\,ж пишут К\ |— Кт. Пусть машина Тьюринга Т начинает работать в некоторый (на- (начальный) момент времени. Слово, записанное в этот момент на ленте, называется исходным или начальным. Чтобы машина Т действитель- действительно начала работать, необходимо поместить считывающую головку против какой-либо ячейки на ленте и указать, в каком состоянии машина Т находится в начальный момент, Если Pi — исходное слово, то машина Т, начав работу «на сло- слове» Pi, либо остановится через определенное число шагов, либо ни-
§ 1. Машины Тьюринга и операции над ними 181 когда не остановится. В первом случае говорят, что машина Т при- применима к слову Pi и результатом применения машины Т к слову Pi является слово Р, соответствующее заключительной конфигурации (обозначение Р = T(Pi)). Во втором случае говорят, что машина Т не применима к слову Pi. В дальнейшем мы будем предполагать, если не оговаривается противное, что: 1) исходное слово непустое, 2) в начальный момент головка находится против самой левой непустой ячейки на ленте и 3) машина начинает работу, находясь в состоянии qi. Зоной работы машины Т (на слове Pi) называется множество всех ячеек, которые за время работы машины хотя бы один раз обозреваются головкой. Часто будет использоваться обозначение [Р]т для слов ви- вида РР.. .Р (т раз), где m ^ 0; при m = 0 считаем, что [Р]т — пустое слово; если Р = а — слово длины 1, то вместо аа.. .а (т раз) и [а]т будем писать ат. Через W будем обозначать произвольное конечное слово во внеш- внешнем алфавите машины Тьюринга (в частности, пустое, т. е. состоящее из пустых символов внешнего алфавита). При описании работы машины Тьюринга «на языке конфигура- конфигураций» будут использоваться выражения, аналогичные такому: х ^ 1 и у ^ 1. Приведенное выражение надо понимать так: машина «стирает» слово Iх и останавливается на первой букве слова W; если же W — пустое слово, то «останов» происходит на втором 0 (нуле) после слова 1У. Машины Тьюринга Ti и Т2 называются эквивалентными (в алфа- алфавите Л), если для всякого входного слова Р (в алфавите А) выполня- выполняется соотношение Ti(P) ~T2(P), означающее следующее: результа- результаты Ti{P) и Т2{Р) определены или не определены одновременно (т.е. машины Т\ и Т2 либо обе применимы, либо обе не применимы к сло- слову Р) и, если эти результаты определены, Ti(P) = Т2(Р). Символ ~ называется знаком условного равенства. Пример 1. Выяснить, применима ли машина Тьюринга Т, за- задаваемая программой П, к слову Р. Если применима, то выписать результат применения машины Т к слову Р (считается, что qi — на- начальное состояние и в начальный момент головка машины обозревает самую левую единицу на ленте): qilqiOL П: a) P = 103l; 6) P = [10]2l.
182 Гл. V. Элементы теории алгоритмов Решение, а) Исходя из конфигурации <7i 103l получаем после- последовательно такие конфигурации: gi05l, l^204l, l2g303l, l20gi02l, 1201д201, 12012^з1- Так как команды вида q^lqiaD в программе П нет, то последняя конфигурация (т.е. 12012<7з 1) заключительная. Сле- Следовательно, машина Т к слову Р = 1031 применима, и Т(Р) = 12013. б) Выписывая конфигурации, имеем gi[10]2l, gi03101, lg202101, 12^з[01]2, 120^101, 12^031, l3g202l, 149з01, 140^1, l4ai0, l5g20, l6g30, 160<?i0, 1601<?20, 16012^30, 160120^0, 1601201<?20, 16012012д30 и т.д. Яс- Ясно, что этот процесс продолжается неограниченно. Значит, машина Т к слову Р = [10] 21 не применима. Пример 2. Построить в алфавите {0, 1} машину Тьюринга, которая применима к словам вида I2m+1oi2n+1 (m ^ 0 и п ^ 0) и l2m012n (m ^ 1 и п ^ 1) но не применима к словам вида i2moi2n~1 и I2n-1oi2m (m ^ 1 и n ^ 1). (К словам иного вида машина может быть как применима, так и не применима.) Решение. Предполагаем, что q\ — начальное состояние, до — заключительное состояние и в начальный момент головка машины обозревает самую левую единицу на ленте. Попытаемся реализовать в «конструируемой» машине следующую идею: машина «запоминает», четным или нечетным является число единиц в первом единичном массиве слова, и затем «сравнивает» эту характеристику с такой же характеристикой второго единичного массива. Пара команд qilq2lR и q2lqilR позволяет «выяснить» четность- нечетность числа единиц в первом единичном массиве: если на «про- «промежуточном» нуле головка оказывается в состоянии qi, то число единиц в первом единичном массиве четное, а если она оказывается в состоянии д2, то число единиц в этом массиве нечетное. Проходя промежуточный нуль, нужно «запомнить», четное или нечетное число единиц было в первом массиве, чтобы после прохождения второго единичного массива в случае совпадения «четностей» числа единиц в двух массивах машина остановилась, а в ином случае не остановилась. Поэтому оба состояния q\ и д2 «сменим»: рассмотрим коман- команды qiOq^OR и g20g40i?. Второй единичный массив будем «просматривать» с помощью состояний дз и Q4- Q3^-Q4^-Rj q4^Q3^-R- Если первый единичный массив «четный», то просмотр второго единичного массива будет начат в состоянии дз- В случае, когда второй массив тоже четный, на первый нуль за этим массивом головка «выйдет» в состоянии дз5 и машина должна остановиться. Значит, можно взять команду вида q^OqoaD (a G {0, 1} и D G G {5, L, R}) либо не включать в программу ни одной команды, начи- начинающейся с символов дз и 0. Если же первый единичный массив четный, а второй нечетный, то на первый нуль после второго массива головка выйдет в состоянии q±, и машина не должна остановиться. Поэтому берем команду g^O^OS. Аналогично рассматривается случай с нечетным первым единичным массивом.
§ 1. Машины Тьюринга и операции над ними 183 Подходящая машина задается программой qilq2lR q20q^R 1.1. Выяснить, применима ли машина Тьюринга Т, задаваемая программой П, к слову Р. Если применима, то выписать результат применения машины Т к слову Р. Предполагается, что q\ — началь- начальное состояние, qo — заключительное состояние и в начальный момент головка машины обозревает самую левую единицу на ленте: {qi0qi0R *!!2п» а)Р = 1301; б)Р=12021; в) Р = I6; {qi0q2lL qilq2lR а)Р = 12021; 6) P = l6; в) Р = 12O13; llR 3) П: 4) П: (qi0q2lR qilq2lL q20q3lR a) P = 13012; б) Р = I5; в) Р = 12[01]2; q2lq30R а)Р = [10]21; б)Р = 10212; в) Р = 1031; qiOqilR q2lq3lL 5) П: qi0q2lR qilq2lR q20q30R q2lqi0L = l2; б)Р=12021; = 1041. q3lqo0L 1.2. Построить в алфавите {0, 1} машину Тьюринга, обладающую следующими свойствами (предполагается, что в начальный момент головка обозревает самый левый символ слова, и в качестве пустого символа берется 0): 1) машина имеет одно состояние, одну команду и применима к любому слову в алфавите {0, 1};
184 Гл. V. Элементы теории алгоритмов 2) машина имеет две команды, не применима ни к какому слову в алфавите {0, 1} и зона работы на каждом слове бесконечная; 3) машина имеет две команды, не применима ни к какому слову в алфавите {0, 1} и зона работы на любом слове ограничена одним и тем же числом ячеек, не зависящим от выбранного слова; 4) машина имеет три команды, применима к словам 102п1 (п ^ 1) и не применима к словам 102n+1l (n ^ 0); 5) машина имеет пять команд, применима к словам l3n (n ^ 1) и не применима к словам 13п+а (а = 1, 2 и п ^ 0); 6) машина применима к словам 1п01п, где п ^ 1, и не применима к словам lm01n, где т ф п, m ^ 1 и n ^ 1. 1.3. По заданной машине Тьюринга Т и начальной конфигура- конфигурации К\ найти заключительную конфигурацию (до — заключительное состояние): 2>Г: Ж2 а)* = 1*01»; 6)^ = 1^; [q20qo0L {qi0q20L I'll1^ a) tfi = 10V)l; 6)#i = l2<zil301; • J 4Lq4'zIs a) Ki = i2oi<zii2; б) кг = [q2lqilL 5)T: 5; 6) Kx = 1.4. Построить в алфавите {0, 1} машину Тьюринга, переводящую конфигурации К\ в конфигурации Kq: l)K1=q1ln, K0 = qoln01n (n ^ 1); 2)K1=q10nln, Ko = qo[0l]n (n ^ 1);
§ 1. Машины Тьюринга и операции над ними 185 3) #i = ln<Zi0, K0 = q0l2n (n^l); 4) Кх = ln9i01m, Ko = lmq001n (m ^ 1, п ^ 1). 1.5. 1) Показать, что для всякой машины Тьюринга существует эквивалентная ей машина, в программе которой отсутствует сим- символ S. 2) Показать, что по всякой машине Тьюринга можно построить эквивалентную ей машину, в программе которой не содержится за- заключительных состояний. 1.6. Показать, что для всякой машины Тьюринга Т в алфави- алфавите А существует счетно-бесконечное множество эквивалентных ей машин Ti, T2, ..., Tm, ... в том же алфавите Л, отличающихся друг от друга своими программами. 1.7. Сколько существует неэквивалентных машин Тьюринга в алфавите {0, 1}, программы которых содержат только по одной ко- команде? 1.8. По словесному описанию машины Тьюринга построить ее программу (в алфавите {0, 1}). 1) Начав работу с последней единицы массива из единиц, маши- машина «сдвигает» его на одну ячейку влево, не изменяя «остального содержимого» ленты. Головка останавливается на первой единице «перенесенного» массива. 2) Начав двигаться вправо от какой-то «начальной» ячейки, го- головка «находит» первую при таком перемещении ячейку с единицей (если такая ячейка «встретится на пути») и, сделав «один шаг» вправо, останавливается на соседней ячейке. Если в «начальной» ячейке записана единица, то головка останавливается на соседней справа ячейке. Содержимое ленты не меняется. 3) Машина начинает работу с самой левой непустой ячейки и отыскивает единицу, примыкающую с левой стороны к первому слева массиву из трех нулей («окаймленному» единицами). Головка остана- останавливается на найденной единице (если такая есть). Содержимое ленты не меняется. 4) При заданном 1^1 головка машины, начав работу с произ- произвольной ячейки, содержащей единицу, двигается вправо до тех пор, пока не пройдет подряд I + 1 нулей. Головка останавливается на первой ячейке за этими / + 1 нулями, напечатав в ней 1. Остальное содержимое ленты не меняется. 5) При заданном I ^ 1 головка машины, начав работу с какой-то ячейки и двигаясь вправо, ставит подряд 11 единиц и останавливается на последней из них. 6) При заданном I ^ 1 головка машины, двигаясь вправо от какой- либо пустой ячейки, находит первый при таком перемещении массив, содержащий не менее / единиц, стирает в нем первые / единиц и останавливается на самой правой из ячеек, в которых были стертые единицы. Остальное содержимое ленты не меняется.
186 Гл. V. Элементы теории алгоритмов 2. Операции над машинами Тьюринга. Пусть машины Т\ и Т2 имеют соответственно программы Щ и П2. Предположим, что внутренние алфавиты этих машин не пересекаются и что q'o — не- некоторое заключительное состояние машины Тх, a q" — какое-либо начальное состояние машины Т2. Заменим всюду в программе Щ состояние q'o на состояние q" и полученную программу объединим с программой П2. Новая программа П определяет машину Т, назы- называемую композицией машин Т\ и Т2 (по паре состояний (q'o, q")) и обозначаемую через Т\ 0Т2 или Т\Т2 (более подробно: Т = T(Ti, Т2, (q'o, q'i))). Внешний алфавит композиции Т\Т2 является объединением внешних алфавитов машин Т\ и Т2. Пусть q' — некоторое заключительное состояние машины Т, а q" — какое-либо состояние машины Т, не являющееся заключитель- заключительным. Заменим всюду в программе П машины Т символ q' на q". Получим программу П', определяющую машину T'(q', q"). Маши- Машина Т1 называется итерацией машины Т (по паре состояний (qf, q")). Пусть машины Тьюринга Тх, T2 и Тз задаются программами Щ, П2 и Пз соответственно. Считаем, что внутренние алфавиты этих ма- машин попарно не пересекаются. Пусть qf0 и q$ — какие-либо различные заключительные состояния машины Ti. Заменим всюду в програм- программе Пх состояние qf0 некоторым начальным состоянием q[ машины Т2, а состояние q$ некоторым начальным состоянием q'l машины Тз. Затем новую программу объединим с программами П2 и Пз. Получим программу П, задающую машину Тьюринга Т = Т(Т\, (qf0, q[), T2, (Qoi Qi)i ^з)- Эта машина называется разветвлением машин Т2 и Тз, управляемым машиной Т\. При задании сложных машин Тьюринга часто применяют так называемую операторную запись алгоритма, которая представляет собой строку, состоящую из символов, обозначающих машины, сим- символов перехода (вида \q' и д"|), а также символов а и и, служа- ~к~ ~к~ щих для обозначения соответственно начала и окончания работы алгоритма. В операторной записи (некоторого алгоритма) выраже- выражение Ti \qiQ Tj ... Тш qni I Tn обозначает разветвление машин Tj и Тп, ~1Г к управляемое машиной Т^, причем заключительное состояние q^ ма- машины Ti заменяется начальным состоянием qn\ машины Тп, а всякое другое заключительное состояние машины Ti заменяется начальным состоянием машины Tj (одним и тем же). Если машина Ti имеет одно заключительное состояние, то символы \q^ и qni\ служат для обозначения безусловного перехода. Там, где не могут возникнуть недоразумения, символы q^ и qn\ опускаются. Пример 3. Операторная схема | TiaT2 |ff20 T3 |<7зо Т±ш 2 1 12 описывает следующий «процесс вычисления». Начинает работу ма- машина Т2. Если она заканчивает работу в состоянии ^о, то начинает
1. Машины Тьюринга и операции над ними 187 работать машина Ti, а по окончании работы машины Т\ вновь «вы- «выполняет работу» машина Т2. Если же машина Т2 останавливается в некотором заключительном состоянии, отличном от #20, то «работу продолжает» машина Тз. Если Тз приходит в заключительное состо- состояние #зо, т0 начинает работу машина Ti; если же Тз заканчивает ра- работу в некотором заключительном состоянии, отличном от <7зо? то «работу продолжает» машина Т±. Если машина Т^ когда-либо оста- остановится, то процесс вычисления на этом заканчивается. 1.9. Построить композицию Т1Т2 машин Тьюринга Т\ и Т2 по паре состояний (дю, #21) и найти результат применения композиции Т1Т2 к слову Р (#20 — заключительное состояние машины Тг): 0 1 911 #120Я qi2lR qi2 qiolL quOR , T2: 0 1 #21 #22 IR #21OL #22 #21 IR #20 15 a) P = 130212; б) Р = 14O1; 2)Ti: 0 1 911 #ioOL qi2lR #12 qisOR qislR #13 quOR quOR , ^2: 0 1 #21 #221Ь #221Ь #22 #20 0Я #21 OL a) P = 140213012; б)Р = 12[01]212. 1.10. Найти результат применения итерации машины Т по паре состояний (#0, #i) к слову Р (заключительными состояниями являют- являются #0 и #0): = 1, Т: 0 1 #о05 #2оя #4 05 #зОЯ ^з #505 #х0Я #41Я — q$ q'olL — 2) г = 1, T: а) Р = 12ж; б) Р = 0 1 #оОЯ #2оя <?2 #оОЯ #зОЯ ^з #40Я #з1Я ^4 #51L #41Я #60L #51L q& qoOR #61L (х ^ 1);
188 Гл. V. Элементы теории алгоритмов 0 1 2 Qi q2OL qi2R — q? q'olS q2\R qslR qs q4OR qslR — qslL q4lR — q$ 96 OL qslL — 96 q2OR q6lL qolR 3) i = 3, T: P = Г01у (x ^ 1, у ^ 1). 1.11. Найти результат применения машины Т = T(Ti, (q[Oj ^21), ^2? (^io? <73i)? ^з) к слову P (q2o — заключительное состояние маши- машины T2, а дзо — заключительное состояние машины Тз): 0 1 911 д120Я gi2 910 ОД qiolL , ^2: 0 1 92015 921ОЯ , 7з: 0 1 931 9321L qsilR 932 93015 932 0L а) Р = 1013; б) Р = 1301; 2)Ti: 0 1 911 912ОЯ qnlR 912 9io(LL 91з1Д 9i3 91з1Д 0 1 921 #22 0L 9211Ь 922 920 1Д #220L , Гз: 0 1 931 932 0 qsilR 932 93015 qsilR а) Р = 1ж021 (ж ^ 1); б) Р = F010F0P (ж ^ 1, О 1, 1). 1.12. Используя машины Ti, Т2, Т3, Т4 и Т5, построить опера- операторную схему алгоритма 21 (здесь д10, 9iO' ^20, 9зо, 940, 950 и qf50 — заключительные состояния соответствующих машин): 0 1 9ii 912ОЯ д'юОД 912 qioOR 9п15 , ^2: 0 1 921 <?22оя 9211Д 922 9231Д #221Д 923 92015 —
§ 1. Машины Тьюринга и операции над ними 189 0 1 #31 932OL qzilL qs2 дзз OL q32lL 9зз qssOR 9зз1Ь 0 1 94i 94015 q4ilR , T5: 0 1 951 — 952 1Д 952 950 15 95015 2J1: к Qol3x {x > 1); 3) Я: 0). 1.13. По операторной схеме алгоритма 21 и описанию машин, входящих в нее, построить программу машины Т, задаваемой этой схемой, и найти результат применения машины Т к слову Р: 0 1 2 9ii 9ioOL qu2R — 0 1 2 921 923ОЯ 9211Я q22^R 922 923ОЯ — — 923 q2olL 9231Д — 0 1 2 93i 932 OL 9311Ь — 932 <йоОД 932 lb 9301Я (начальные состояния машин дц, 921 и 9з15 а заключительные 920, 9зо и 2) 21 = а 0 1 911 — 912ОЯ 912 913ОЯ qi2lR 9i3 914OL 91з1Я 914 — 9ioOL 0 1 921 922OL 920 15 922 92015 922IL 0 1 931 932 OL 931IL 932 933 0Я 9341Ь 9зз 9зо15 — 934 9зо 1Я 934 1Ь Р = 1ж0 (начальные состояния машин 9ю, 920, 92о» и 93о)- , 921 и 9з15 а заключительные
190 Гл. V. Элементы теории алгоритмов 3. Вычислимые функции. Пусть а = (а\, «2, ..., ап) (п ^ 1) — произвольный набор целых неотрицательных чисел. Слово lai+101a2+10 ... 01an+1 называется основным машинным кодом (или просто кодом) набора а (в алфавите {0, 1}) и обозначается к (а). В частности, слово la+1 является основным машинным кодом числа а. В дальнейшем рассматриваются частичные числовые функции. Функция f(xn) (п ^ 1) называется частичной числовой функцией, если переменные Х{ принимают значения из натурального ряда с нулем: N = {0, 1, 2, ..., т, ... }, и в том случае, когда на набо- наборе ап = (ai, «2, ..., an) функция / определена, f(an) Е iV. Частичная числовая функция f(xn) называется вычислимой (по Тьюрингу), если существует машина Тьюринга Tf, обладающая сле- следующими свойствами: а) если f(an) определено, то Tf(k(an)) = k(f(an)); б) если f(an) не определено, то либо Tf(k(an)) не является кодом никакого числа из N, либо машина Tf не применима к слову к(ап). Замечание. В дальнейшем предполагаем, что в начальный момент головка машины обозревает самую левую единицу сло- слова к(ап). Известно, что это ограничение не сужает класса вычис- вычислимых функций. Если функция / вычислима по Тьюрингу с помощью машины Tf, то будем говорить, что машина Tf вычисляет функцию /. Говорят, что машина Тьюринга Т правильно вычисляет функ- функцию fix71), если: а) в случае, когда f(an) определено, машина Т, начав работу с левой единицы кода к(ап), останавливается, Т(к(ап)) = k(f(an)) и головка машины в заключительной конфигурации обозревает левую единицу кода k(f(an)); б) в случае, когда f(an) не определено, машина Т, начав работу с левой единицы кода к(ап), не останавливается. Справедливо следующее утверждение: для всякой вычислимой функции существует машина Тьюринга, правильно вычисляющая эту функцию. Расстояние между двумя ячейками С и С ленты равно уве- увеличенному на единицу числу ячеек, расположенных между С и С'. В частности, соседние ячейки ленты находятся друг от друга на расстоянии 1. Пусть / — целое положительное число. Подмножество всех таких ячеек ленты, каждые две из которых расположены друг от друга на расстоянии, кратном /, называется решеткой с шагом I. Ленту можно рассматривать как объединение / решеток с шагом /. Пусть R(p) — решетка с шагом /. Две ячейки этой решетки назы- называются соседними, если расстояние между ними, рассматриваемое относительно всей ленты, равно /. Говорят, что слово P = aia2-..am записано на решетке R(i), если: символ а\ записан в некоторой ячейке С\ этой решетки;
§ 1. Машины Тьюринга и операции над ними 191 символ п2 записан в ячейке Съ, которая является соседней к С\ на решетке Щ^ и расположена справа от нее и т.д.; символ аш записан в ячейке Сш, отстоящей от ячейки С\ на расстояние (т — 1)-1 и расположенной справа от С\. Будем говорить, что машина Тьюринга Т\ моделирует машину Тьюринга Т на решетке Щ^ (с шагом /), если, каково бы ни было слово Р (в алфавите А), выполняется следующее условие: пусть на решетке Щ^ записано слово Р и в начальный момент головка маши- машины Т\ обозревает самую левую букву слова Р; машина Т\ останав- останавливается тогда и только тогда, когда машина Т применима к сло- слову Р; при этом, если Т(Р) определено, то после окончания работы машины Т\ на решетке Щ^ будет записано слово Т(Р). Справедливо следующее утверждение: для каждой машины Тью- Тьюринга Т и каждой решетки Щ^ с шагом I можно построить машину Тьюринга Т\, моделирующую машину Тьюринга Т на решетке R(i). Пусть ап = (ai, аг, ..., otn) (n ^ 1) — произвольный набор це- целых неотрицательных чисел; I-кратным кодом этого набора назы- называется слово в алфавите {0, 1}, имеющее вид iK«i+1)o/l/(a2+1)o/... ...0/1/(<*»+1) A^2). Справедливо утверждение: для каждого фиксированного целого числа п (п ^ 1) существует машина Тьюринга, преобразующая ос- основной код любого набора ап в его 1-кратный код, а также су- существует машина Тьюринга, преобразующая 1-кратный код всякого набора ап в его основной код. Решетчатым кодом набора ап = {а\, аг, ..., otn) (п ^ 1) назы- называется слово в алфавите {0, 1}, записанное на п решетках с шагом п, причем так, что на первой решетке записано слово lai+1, на второй — слово la2+1 и т.д., на п-й — слово law+1; начала слов на решетках должны быть согласованы, т. е. самая левая единица на первой решет- решетке непосредственно предшествует (на всей ленте) самой левой единице на второй решетке, а эта единица непосредственно предшествует самой левой единице на третьей решетке и т.д. Справедливо утверждение: для всякого фиксированного целого числа п (n ^ 1) можно построить машину Тьюринга, преобразую- преобразующую основной код любого набора ап в его решетчатый код, а также можно построить машину Тьюринга, преобразующую решетчатый код всякого набора ап в его основной код. Пример 4. Для функции f(x) —2x — \ построить машину Тью- Тьюринга, вычисляющую ее, а также машину Тьюринга, правильно вы- вычисляющую эту функцию. Замечание. Здесь и в дальнейшем при «аналитическом» зада- задании числовых функций используются известные (из математического анализа) «элементарные» функции. При этом «аналитически» задан- заданная функция считается определенной только на таких целочислен- целочисленных наборах значений переменных (принадлежащих множеству N — натуральному ряду с нулем), на которых определены и принимают
192 Гл. V. Элементы теории алгоритмов целые неотрицательные значения все «элементарные» функции, вхо- входящие в рассматриваемое «формульное задание» определяемой функ- О ции. Например, функция — определена лишь тогда, когда ^ — о — у/ 2 2 и целое неотрицательное число, 3 — - — целое положительное число х1 и целое неотрицательное число. 3 -у/2 Решение примера 4. Имеем ' 2х — 1 при х ^ 1, f(x) = ^ не определено при х = 0. Нужно построить такую машину Тьюринга Т, которая «перера- «перерабатывает» любое слово la+1 (при а ^ 1) в слово 12а и удовлетворяет условию: либо ТA) не определено, либо ТA) не является основным машинным кодом никакого числа из N. Попытаемся реализовать следующую идею: стирая самую левую единицу в слове la+1 (a ^ 0) и проходя оставшееся подслово 1а слева направо, головка пропускает еще одну (пустую) ячейку («раз- («разделительный нуль») и печатает две единицы подряд; получается слово 1а012; затем головка возвращается к левой единице полслова 1а (если такая единица есть), вычеркивает ее, проходит новое подсло- подслово 1а~г слева направо, потом проходит «разделительный нуль» и две ранее напечатанные единицы (справа от него), печатает еще две еди- единицы и опять возвращается к началу «остатка» исходного слова la+1 и т.д.; когда в исходном слове все единицы будут вычеркнуты, а во «вновь формируемом» массиве все единицы будут напечатаны, то на ленте «останется» массив из 2а + 2 единиц; вычеркнем в нем две первые единицы и «процесс вычисления» закончим. Программа машины Тьюринга Т, реализующей описанную идею, выглядит так: q1lq20R R q6lq6lL q3lq3lR q7lqo0R Имеем T(la+1) = l2a при a ^ 1 и ГA) = Л (пустое слово). Значит, машина Т действительно вычисляет заданную функцию /(ж), но не является машиной Тьюринга, правильно вычисляющей эту функцию (так как она применима к слову 1, соответствующему значению х = 0, а на этом значении аргумента функция f(x) не определена). Что- Чтобы из машины Т построить машину Т;, правильно вычисляющую функцию /(ж), достаточно удалить из программы машины Т коман- команду q^lqoOR и добавить команды q^lqgOR и ^0^80*5.
§ 1. Машины Тьюринга и операции над ними 193 1.14. Построить машину Тьюринга, вычисляющую функцию /: ,л г, л /0, если ж = О, Л ( . 1) f(x) = sgж = < 2) /(ж) = sgж = 1 -sgж; ^ 1, сСЛИ X ^> 1, 3, если ж = О, 1С — 1, если ж ^ 1; {1, если ж = 1, О, если ж ^ 2; не определено, если ж = 0; 5)/(aO=3z; 6) f(x) = 21"ж; 7) /(ж) = [ж/2] = т, если ж = 2т или ж = 2т + 1, т ^ 0; 8) /(*,!/)=*+ 2; 9)/(x,i/)= 10) /(ж, 2/) = ж - 2/; если х ^ у, — у, если х > у; 4-2ж /; 12) /(ж, 2/) = 1.15. Построить машину Тьюринга, правильно вычисляющую функцию /: 1)/(ж)=ж-2; ; 3) /(ж) = -±- 4) /(ж) = ж - 5; 5) /(ж, у) = х + у; 6) /(ж, ?/) = | + ?/; , 2/) = 2 + ж ж, у) = 2-ж 1.16. По программе машины Тьюринга Т записать аналитическое выражение для функций /(ж) и /(ж, у), вычисляемых машиной Т (в качестве начального состояния берется ^,ав качестве заключитель- заключительного — q0): 1) Г: 0 1 q2lL qilR <7з <7о0Я д21Ь 5 2) Г: 0 1 91 q2OR qilR 92 giOL доОЯ 3) Г: 0 1 9i <?21Я 92 q2OL qslL 9з <7о0Я 9з 1Я 5 4) Г: 0 1 9i <7о0? д21Я 92 9з 1L qi0R 9з qilL qslR 13 Г. П. Гаврилов, А. А. Сапоженко
194 Гл. V. Элементы теории алгоритмов 5) Г: 6) Г: 0 1 0 1 qi q2OR q2OR q2OL q2lR 42 qsOR q4OR 42 qsOL q2lR 4s qolS qslb 43 — q4OL 44 q2OR q4\R 4* qiOR q4lL 1.17. Какие одноместные функции вычисляются всеми такими ма- машинами Тьюринга в алфавите {0, 1}, программы которых содержат только по одной команде? 1.18. На решетке с шагом / смоделировать работу машины Т, вычисляющей функцию /: 1) f(x) = х + 2, I = 2; 2) f(x) = 2 - ж, 1 = 3; %, 1 = 4; 4) /(ж) = 3 - 2ж, 1 = 3; 3) f(x) = - 5) f(x, у) = 2 - у, 1 = 2; 6)/ 7) /(ж, у) = х + (у - 1), 1 = 2. = ж • sg2/, * = 3; 1.19. Построить машину Тьюринга, преобразующую один машин- машинный код в другой. 1) Заданный /-кратный код набора преобразуется в решетчатый код (/ ^ 2): а) lWl2^ (функционирование машины не должно зависеть от зна- значения /); б) 12ZOZlz0z 13Z (функционирование машины не должно зависеть от значения /); в) lz0zlz0z... 0zlz (n массивов единиц, п ^ 1); рассмотреть два случая: A) п фиксировано, / произвольное; B) / фиксировано, п произвольное; г) 1г(«+1)о/1/ (здесь / фиксированное, меняется а, а ^ 0). 2) Решетчатый код с заданной совокупностью слов, расположен- расположенных на соответствующих решетках A-й, 2-й и т.д.), преобразуется в /-кратный код с указанным значением /: а) 1, la+1 (а^О), 1 = 2; б) 1а+\ I2, 1 (а^О), / = 2; в) la+1, la+1, 1 (а ^0), / = 3.
§ 2. Классы вычислимых и рекурсивных функций 195 § 2. Классы вычислимых и рекурсивных функций 1. Операции суперпозиции, примитивной рекурсии и ми- минимизации. Функции, рассматриваемые в этом параграфе, являются частичными числовыми функциями. Функция F(>i, ..., хп) = /(#iOi, ..., хп), ..., дт{хи ..., хп)) называется суперпозицией функций /и д\, ..., дш и иногда обозна- обозначается через S(f(m^:g± , ...,gffl), причем функция F определена на наборе ап тогда и только тогда, когда каждая функция gi опре- определена на наборе ап и, кроме того, функция / определена на на- наборе (#iEn), ..., дт(ап)); в этом случае F(an) = /(#iEn),... ...,0m(Sn)). Пусть g(xi, ..., xn-i) и h(xi, ..., arn-i, xn, xn+1) — какие-либо две функции, причем п ^ 2. Определим третью функцию /(жь ... ..., жп_1, жп) с помощью следующей схемы: ..., жп_ь 0) = #ОЬ ..., Xn-г), 1) = h(xu ..., жп_ь ?/, /(жь ... A) ..., жп_ь 2/)), t ^ 0. Схема A) называется схемой примитивной рекурсии для функ- функции f(xn) no переменной хп и задает примитивно рекурсивное опи- описание функции f(xn) с помощью функций g и h. Говорят также, что функция f получена из функций g и h с помощью операции примитив- примитивной рекурсии по переменной хп; используют обозначение / = R(g, h) и указывают отдельно, по какой переменной ведется рекурсия. При задании примитивно рекурсивного описания функции /(ж), зависящей от одной переменной, схема примитивной рекурсии имеет вид /@) = а, где а — константа (число из множества N = {0, 1, 2, ...} — нату- натурального ряда с нулем). Пусть f(xi, ..., xn-i, xn) (n ^ 1) — некоторая частичная чис- числовая функция. Определим функцию g(xi, ..., жп-ъ хп) следующим образом. Пусть ап = (ai, ..., an-i? an) — произвольный набор це- целых неотрицательных чисел; рассмотрим уравнение f(ai, ..., an-i, у) = ап: C) а) если уравнение C) имеет решение уо G N и при всех у G N таких, что 0 ^ у < уо, функция /(ai, ..., an-i? 2/) определена и ее значения отличны от an, то полагаем д(ап) = ^/о; б) если уравнение C) не имеет решений в целых неотрицательных числах, то считаем, что д(ап) не определено; в) если уо — наименьшее целое неотрицательное решение урав- уравнения C) и при некотором у\ G N и меньшем у о значение /(«i, ... ..., an_i, 2/i) не определено, то полагаем, что д(ап) не определено. 13*
196 Гл. V. Элементы теории алгоритмов О функции д(хп), построенной указанным способом из функ- функции /(жп), говорят, что она получена из функции /(#i, ..., жп-ъ хп) с помощью операции минимизации по переменной хп (или, короче, с помощью минимизации по хп). Используются следующие обозна- обозначения: д = Mf или д(хп) = MXnf(xn), или д(хп) = nXn(f(xn)), или д(хп) = iiy(f(xu ..., жп_ь у) = хп). Замечание. Операции примитивной рекурсии и минимизации можно применять по любым переменным, входящим в функции /, д и /г, но всегда нужно указывать, по каким переменным эти операции проводятся. Простейшими будем называть в дальнейшем следующие функции: а) s{x) = х + 1 {функция следования)] б) о(х) = 0 (нулевая функция); в) /^(^1, ..., хп) = хш A ^ т ^ п; п = 1, 2, ...) (селекторная функция или функция выбора аргумента). Класс Кпр всех примитивно рекурсивных функций представляет собой множество всех функций, которые могут быть получены из простейших функций с помощью операций суперпозиции и примитив- примитивной рекурсии. Классом Кчр всех частично рекурсивных функций называется множество всех функций, которые могут быть получены из прос- простейших функций с помощью операций суперпозиции, примитивной рекурсии и минимизации. Замечание. При определении классов Кпр и Кчр предполагает- предполагается, что при построении каждой конкретной функции соответствующие операции применяются не более чем конечное число раз (некоторые или все операции могут вообще не применяться). Класс Кор всех общерекурсивных функций представляет собой множество всех всюду определенных частично рекурсивных функций. Нетрудно показать, что Кор С Кчр (включение строгое). Спра- Справедливо также и строгое включение Кпр С Кор (т.е. существуют об- общерекурсивные функции, не являющиеся примитивно рекурсивными). Через Кв будем обозначать класс всех частичных числовых функ- функций, вычислимых на машинах Тьюринга. Теорема (о представлении вычислимых функций в специальной форме, аналог теоремы С. К. К лини о нормальной форме частично ре- рекурсивных функций). Для всякой вычислимой функции f(xi, ..., хп) существуют такие примитивно рекурсивные функции • • •, хп, хп+1) и Gf(xu ..., хп, хп+1) , что ..., хп) = Ф/(жь ..., хт, jiy(Gf(xu ..., хп, у) = 0)). Здесь /jy(Gf(xi, ..., хп, у) = 0) — минимальное целое неотри- неотрицательное решение уравнения Gf(xi, ..., хп, у) =0 (для каждого набора значений переменных xi, ..., хп); если при заданном набо- наборе (х\, ..., ж°) решения нет, то ny(Gf(x\, ..., ж^, у) = 0) не опреде- определено.
§ 2. Классы вычислимых и рекурсивных функций 197 Справедливо утверждение: классы Кчр и Кв совпадают. Пример 1. Обосновать примитивную рекурсивность функции /(ж, у) = х + B — у) , построив описывающие ее примитивно рекур- рекурсивные схемы. Решение. Запишем схему примитивной рекурсии для функ- функции /(ж, у), ведя рекурсию по переменной х: f(x + 1, у) = x + 1 + B - у) = s(f(x, у)) = Il(x, у, s(f(x, у))). Из этой схемы следует, что для описания функции /(ж, у) достаточно иметь функцию д(у) = 2 — у и функцию h(x, у, z) — 1\{х, у, s(z)). Очевидно, что функция h(x, у, z) представима в виде суперпозиции простейших функций. Дадим примитивно рекурсивное описание функции д(у). Имеем _ _ yyyj) — ^ — v v //' 9(У + 1) = M2/j #Ы) = 2 ~(У + !) = ! - У- Значит, hi(y, z) — lf((p(y), z), где ip(y) = 1 — у. Следовательно, надо еще построить примитивно рекурсивное опи- описание функции (р(у), которая, как нетрудно заметить, есть sgy. Легко видеть, что /глЧ ^ /глЧ (р{0) = 1 = s@), ^B/ + 1) = 0. Итак, /(ж, ^/) строится из простейших функций с помощью операций суперпозиции и примитивной рекурсии. Значит, она примитивно ре- рекурсивная функция. Пример 2. Применить операцию минимизации к функции г Ъх + 2, если ж/2, не определено, если х — 2. Результирующую функцию представить в «аналитической» форме. Решение. Для каждого хо G TV ищем минимальное решение уравнения f(y) = жо- Так как множеством значений функции f(x) является множество {Зп + 2 | п ф 2} = {2, 5} U {11, 14, 17, ..., Зп + + 2, ...}, то уравнение f(y) = хо имеет решения лишь при хо = = 2, 5, 11, 14, ...; для всякого такого xq решение единственное (^оно жо-2\ равно —-—). Принимая во внимание, что функция f(x) при х = 2 не опреде- определена, заключаем: найденные решения, превосходящие 2, т.е. 3, 4, ..., не являются допустимыми (см. п. в) определения операции миними- минимизации). Итак, функция д(х) = /jxf(x) определена только при х = 2 и ж = 5; 0B) = 0, 0E) = 1. В качестве «аналитической» записи функции д(х) можно взять х — 2 х — 2 формулу Ь sg (б — х) (ибо функция определена только о о при х = 2, 5, 8, 11, ..., Зп + 2, ..., а функция sg (б - х) — только для х ^ б, причем sg (б — 2) = sg F — 5) =0).
198 Гл. V. Элементы теории алгоритмов 2.1. Используя в качестве исходных функций только константы и простейшие функции, построить примитивно рекурсивные схемы, описывающие следующие функции: 1) sgx; 2) Щх] 3) ж + у] 4) пж, где п ^ 2 и натуральное; 5)ж-1; 6) ж -2/; 7) х • у; 8) ж2; 9) х2 + 2?/2; 1 • 2 • ... • ж, если ж ^ 1; . _ч @, если ж + у четное, / ч _ч 12) ж 0 у = < (сумма) по модулю 2). [1, если х + у нечетное, 2.2. Применяя операцию примитивной рекурсии к функциям д(х) и /г(ж, у, z) по переменной у, построить функцию /(ж, у) = i?(g, /г), записав ее в «аналитической» форме: 1) д(х) = ж, /г(ж, у, z) = ж + z; 2) д(ж) = ж, /г(ж, 2/, z) = ж + у; 5) #(ж) = 1, h(x, у, z) =х^у; 6) #(ж) = 2, /г(ж, ?/, г) = z - ж; ~Ч / \ 7 / \ f У-, еСЛИ Х^ У-, [О, если х < у; 8) ^(ж) = sgж, /г(ж, ^/, z) = ж • sgy + z • Щх. 2.3. Доказать примитивную рекурсивность следующих функций, используя простейшие функции и функции sgж, sgж, х + у, х — у, х • у, х 0 у (сумма по модулю 2; см. задачу 2.1, 12)): 1)\х-у\; 2)тш(ж, у); 3) тах(ж, у); 4) ж2 • у2 0 z3; Г ж, если у = О, [целая часть от деления ж на 2/, если у ^ 1; 6) аж, где а ^ 2 и натуральное; 5) [?] = I о если 1* ^= 1 7) fa Лх) = < ' ' а, г — какие-либо числа из N; [х в ином случае, 8)/(а;) = <К если х = М = 0,1,...,т, [с в ином случае, здесь ао, ai, ..., ат, с — какие-либо числа из JV; О при ж четном, при ж нечетном; 1, если ж = /т, / = 0, 1, 2,..., 3 в ином случае, m ^ 2 и натуральное; и) I ±и/ Jm\dj) —
§ 2. Классы вычислимых и рекурсивных функций 199 2.4. 1) Доказать, что если функция д(х) примитивно рекурсивна, то всюду определенная функция /(ж), отличающаяся от д{х) только в конечном числе точек, является примитивно рекурсивной. 2) Пусть gi(x) и #2 (ж) — примитивно рекурсивные функции. До- Доказать, что функция fgi(x), если а ^ х ^ Ь, f(x) = . ( . уд2\Х) в ином случае, где 0 ^ а ^ b (а Е TV, 6 Е N), примитивно рекурсивна. 3) Показать, что если функции д(у), y>i(x), ц>2(х) и ц>з(х) прими- примитивно рекурсивны, то функция {Vi(x), если д(у) ^ а, <Р2(х), если а < д(у) ^ Ь, <рз(х), если д(у) > Ь, где 0 ^ а ^ b (а G N, b G N), примитивно рекурсивна. Условия, наложенные на функцию д(у), надо понимать так: рассматриваются все такие значения у, при которых функция д(у) удовлетворяет ука- указанному соотношению. 4) Пусть gi(x), g2(x) и дз(х, у) — примитивно рекурсивные функ- функции. Доказать, что тогда примитивно рекурсивна и функция /(ж, у), определяемая следующей схемой: f(O,y)=9i(y), f(x + 1, у + 1) = дз(х, у) (здесь х ^ 0 и 2/^0). 5) Пусть функция ^(^1, ..., xn-i, хп) (п ^ 1) примитивно рекур- рекурсивная. Доказать, что следующие функции примитивно рекурсивны: Хп a) fi(xn) = ^^(жь ..., жп_ь г); б) /2(жп) = 5^^(жь ..., жп_ь г). 6) Доказать, что функция /(ж), определяемая соотношения- соотношениями /@) = 1, /A) = 2, /(т+ 2) =3/(ш + 1)-2/(ш) (ш^О), явля- является примитивно рекурсивной. 7) Доказать, что следующие функции fi(x) и /2(ж) примитивно рекурсивные: / 1, если ж = а1 (I = 0, 1, 2, ...), 0 в ином случае, а ^ 2 и натуральное; б) /2 (ж) = [loga (ж + 1)], a ^ 2 и натуральное. е: _ /
200 Гл. V. Элементы теории алгоритмов 2.5. Применить операцию минимизации к функции / по перемен- переменной Xi (результирующую функцию представить в «аналитической» форме): 1) /On) = 3, г = 1; 2) f(Xl) = хг + 2, г = 1; 3) f(Xl) = Ж1 - 2, г = 1; 4) /On) = xi — 2, г = 1; 5) /On) = 2xi + 1, г = 1; 6) /(ял) = 2яп - 1, г = 1; [Тл 1 Ti X1 г = 1* 8) f(x-\) = — г = 1* 2 J' ' ; J v ; 2 ' ' 9) jfx\ = |"?il _ [?ll ? i = 1; 10) /On, ж2) = /2(жь ж2), г = 2; L2JL3J' 12) /(^1, ж2) = sg (xi — 2ж2), г = 1; 13) /(^1, ж2) = xi — 1/ж2, г = 1,2; {xi + 1, если xi = 0, 1, 2, не определено, если х\ — 3, г = 1. #i — 4, если х\ ^ 4, 2.6. Найти примитивно рекурсивную функцию (если она сущест- существует), из которой однократным применением операции минимизации можно получить частично рекурсивную функцию /: 1) f{x\) = 2 — х\\ 2) f{x\) = —; 3) f{x\) = -; 4) f(xi) = sg (xi — 1); 5) f(xi, X2) = xi — 2ж2; z2) = Ж1~Ж2; 7) /(жь х2) = —^-17; 2.7. Доказать, что следующие функции примитивно рекурсивны: 2.8. 1) Доказать, что однократное применение операции миними- минимизации к всюду определенной числовой функции приводит к функции, определенной хотя бы в одной точке. 2) Привести пример одноместной примитивно рекурсивной функ- функции, из которой двукратным применением операции минимизации можно получить нигде не определенную функцию. 3) Сформулировать условие, необходимое и достаточное для того, чтобы функция \ixf[x) была нигде не определенной. 4) Сформулировать необходимое и достаточное условие того, что числовая функция /j,xf(x) является всюду определенной. 5) Доказать, что если функция /(ж, у) не является всюду опреде- определенной, то таким же свойством обладает каждая из функций /j,xf(x, у) и fJLyf(x, у).
§2. Классы вычислимых и рекурсивных функций 201 2.9. 1) У всюду определенной функции /(ж, у) обе переменные существенные. Предположим, что /jxf(x, у) и /jyf(x, у) — всюду определенные функции. Может ли хотя бы одна из этих функций зависеть существенно только от одной переменной? 2) У всюду определенной функции /(ж, у) ровно одна существен- существенная переменная. Могут ли у функции /лж/(ж, у) быть существенными обе переменные, если предположить дополнительно, что она всюду определена? 2.10. Обосновать вычислимость следующих функций: 1) /(ж, у, z) = [^-] • (я - sg B* - |/)) -Ос + IK; 2) /Ос, у, z) = (^ + 2^) • ((ж2 - у) + z))- 3) /Ос, у, z) = 4*2 " У2'* - (х2 + IJ ¦ (sg (х - 2») + г); 4) /(ж, г/, z) = ж^~^ • 2(х3+у>^(х ~ yz\ 2.11. Каковы мощности классов Кпр, Кор, Кчр и Кв? 2. Некоторые специальные свойства рекурсивных функций. 2.12. Опровергнуть следующее утверждение: если машина Тью- Тьюринга вычисляет функцию fi(x) G i^Op\^np5 T0 вычислимая на этой машине функция /2 (ж, у) не является примитивно рекурсивной. 2.13. 1) Машины Тьюринга Т\ и Т2 вычисляют примитивно ре- рекурсивные функции fi(x) и /2(ж) соответственно. Следует ли отсюда, что композиция Т1Т2 этих машин вычисляет обязательно примитивно рекурсивную функцию? А если машины Т\ и Т2 правильно вычисляют функции Д и /2? 2) Машина Тьюринга Т вычисляет примитивно рекурсивную функцию f(x). Справедливо ли следующее утверждение: если ите- итерация машины Т вычисляет некоторую всюду определенную функ- функцию д(х), то функция д(х) обязательно примитивно рекурсивна? 2.14. Известно, что f(x) G Кор и что при всех х ^ 0 выполня- выполняются соотношения fBx) = f(x + 1) и fBx + 1) = f(x). Вытекает ли отсюда, что f(x) — примитивно рекурсивная функция? 2.15. Функции gi(x) и д2{х) являются всюду определенными вы- вычислимыми функциями, удовлетворяющими следующему условию: ка- какова бы ни была примитивно рекурсивная функция /(ж), найдется xq такое, что /(жо) < 9i(xo) + 92(хо). Доказать, что хотя бы одна из функций д\{х) и #2(х) не является примитивно рекурсивной. 2.16. Функция f(x) принадлежит множеству Кор\Кпр (т.е. обще- рекурсивна, но не является примитивно рекурсивной функцией). По- Показать, что каждая из приводимых ниже функций также содержится в множестве Кор\Кпр: 1)/0с + 3); 2) /Ос-2); 3) /([§]); 4) /([^i]); 5)/(x-y3);
202 Гл. V. Элементы теории алгоритмов 6) f(x-у2); 7)fBx2+y); 8) 2.17. Пусть частично рекурсивная функция f(x) такова, что функ- функция д(х), определяемая условием '0 в тех точках, где f(x) определена, д(х) = л [ 1 в точках, где / [х) не определена, является общерекурсивной. Показать, что функцию f(x) можно до- доопределить до общерекурсивной функции. 2.18. Выяснить, образует ли множество М полную систему отно- относительно совокупности операций 6 в классе Кчр, если: 1) М = Кчр\Кор, в = {операции примитивной рекурсии и мини- минимизации}; 2) М = Кчр\Кор, в = {операция отождествления переменных}; 3) М = Кор\Кпр, в = {операции суперпозиции и минимизации}.
Глава VI ГРАФЫ И СЕТИ § 1. Основные понятия теории графов 1. Простейшие свойства графов. Изоморфизм графов. Пусть V — конечное непустое множество и X — некоторый набор пар элементов из У. В наборе X могут встречаться пары, состоящие из одинаковых элементов, а также одинаковые пары. Множество V и набор X определяют граф с кратными ребрами и петлями (или, короче, псевдограф) G = (V, X). Элементы множества!/ называются вершинами псевдографа, а элементы набора X — ребрами псевдо- псевдографа. Ребра вида (г?, г?), v Е V, называются петлями. Псевдограф без петель называется графом с кратными ребрами (или, короче, мулъ- тиграфом). Если в наборе X нет петель и ни одна пара не встречается более одного раза, то мультиграф G = (V, X) называется графом. Ниже почти все определения даются для графов. Эти определения, как правило, легко переносятся на мультиграфы и псевдографы. В тех случаях, когда различия в определениях существенны, даются определения и для псевдографов. Если пары в наборе X являются упорядоченными, то граф называ- называется ориентированным графом (или, короче, орграфом). Ребра ориен- ориентированного графа часто называются дугами. Если пары в наборе X являются неупорядоченными, то граф называется неориентирован- неориентированным графом (или просто графом). Если х = (и, v) — ребро графа, то вершины uvlv называются концами ребра х. Если вершина v является концом ребра ж, то говорят, что v и х инцидентны. Вершины и и v графа G называются смежными, если существует ребро графа G, соединяющее их (т.е. (и, v) Е X). Два ребра называются смежными, если они имеют общую вершину. Степенью вершины v (обозначения d(v) и deg(v)) называется число ребер графа, инцидентных вершине v. В псевдографе степень вершины v равна общему числу ребер (и петель), инцидентных этой вершине, сложенному с числом петель, инцидентных ей (т.е. каж- каждая петля, инцидентная вершине v, в величину степени вершины v «вносит вклад», равный 2). Вершина графа, имеющая степень О,
204 Гл. VI. Графы и сети называется изолированной, а вершина, имеющая степень 1, — вися- висячей (или концевой). Ребро, инцидентное висячей вершине, называют концевым. Последовательность v1x1v2x2vz...vn-1xn-1vn (п ^ 2), A) в которой чередуются вершины и ребра и при этом для каждого г = = 1, ..., п — 1 ребро Xi имеет вид (г^, ^г+i)? называется маршрутом, соединяющим вершины v\ и vn (или, короче, (v\, vn)-маршрутом). Число ребер в маршруте называется его длиной. Маршрутом дли- длины нуль называется последовательность, состоящая из единствен- единственной вершины. Маршрут, в котором все ребра разные, называется цепью. Маршрут, в котором все вершины разные, называется простой цепью. Маршрут A) называется замкнутым, если v\ — vn. Замкну- Замкнутый маршрут, в котором все ребра различные, называется циклом. Цикл, в котором все вершины, кроме первой и последней, разные, называется простым циклом. Граф называется связным, если для любых двух различных его вершин существует цепь (маршрут, простая цепь), соединяющая их. Расстоянием между вершинами связного графа называется длина кратчайшей (а значит, простой) цепи, соединяющей эти вершины. Диаметром связного графа называется расстояние между двумя наи- наиболее удаленными друг от друга вершинами. Диаметр графа G обыч- обычно обозначают через D(G). Подграфом графа G называется граф, все вершины и ребра кото- которого содержатся среди вершин и ребер графа G. Подграф называется собственным, если он отличен от самого графа. Компонентой связ- связности (или, короче, компонентой) графа G называется его связный подграф, не являющийся собственным подграфом никакого другого связного подграфа графа G. Остовным называется подграф, содер- содержащий все вершины графа. Подграфом графа G = (V, X), порожденным подмножеством U (U CV), называется граф Н = (U, Y), множество ребер которого состоит из тех и только тех ребер графа G, оба конца которых ле- лежат в U. Графы (псевдографы) G = (V, X) и Н = (U, Y) изоморфны, если существуют такие два взаимно однозначных соответствия ip: V *-> U и ф: X ^ Y, что для всякого ребра х = (и, v) из X спра- справедливо соотношение ф(х) = (<р(и), (f(v)). В случае графов можно дать следующее определение. Графы G = = (V, X) и Н = {U, Y) изоморфны, если существует такое взаимно однозначное отображение <р: V •<->¦ U, что (и, v) G X тогда и только тогда, когда (<р(и), (f(v)) G Y. Такое отображение ip называется изоморфным (или изоморфиз- изоморфизмом). Операция удаления вершины из графа G состоит в удалении неко- некоторой вершины вместе с инцидентными ей ребрами. Операция уда- удаления ребра из графа G = (V, X) заключается в удалении соот-
§ 1. Основные понятия теории графов 205 ветствующей пары из набора X. При этом, если не оговаривается противное, все вершины в графе сохраняются. Дополнением G графа G называется граф, в котором две вершины смежны тогда и только тогда, когда они не смежны в G. Если графы G\ и (?2 изоморфны, то их дополнения также изоморфны. Операция подразбиения ребра (u, v) в графе G = (У, X) состоит в удалении от X ребра (и, г?), добавлении к V новой вершины w и добавлении к Х\{(и, г?)} двух ребер — (и, w) и (w, v). Граф G называется подразбиением графа Н, если G может быть получен из Н с помощью операции подразбиения ребра, примененной конечное число раз. В частности, подразбиением графа Н является и сам граф Н. Графы G и Н называются гомеоморфнымщ если некоторые их подразбиения изоморфны. Объединением графов G = (У, X) и Н = = (U, Y) называется граф F = (V U U, X U Y). Деревом называется связный ациклический (т.е. не имеющий циклов) граф. Ациклический граф называется лесом. Полным называется граф, в котором любые две различные вер- вершины смежны. Полный граф с п вершинами обозначается через Кп. Пустым {вполне несвязным) называется граф, не имеющий ребер. Вполне несвязный граф с п вершинами является, очевидно, допол- дополнением полного графа Кп и поэтому часто обозначается через Кп. Одновершинный граф без ребер называется тривиальным (его можно обозначать через К\ или К\). Двудольным называется граф, множество вершин которого можно разбить на два непустых подмножества (на две доли) V\ и V2 таким образом, что никакие две вершины из одной и той же доли не являются смежными. Двудольный граф с долями V\ и V2 и множеством ребер X обычно обозначается через (Vi, V2, X). Если каждая вершина из V\ смежна с каждой вершиной из V<2, то двудольный граф называется полным двудольным графом. Полный двудольный граф (Vi, V2, X), у которого \Vi\ = п\ и |Vb| = П2, обозначается через КП1^П2. Справедлива следующая теорема Д. Кёнига: граф является дву- двудольным тогда и только тогда, когда в нем отсутствуют циклы нечетной длины. Граф называется однородным (или регулярным) графом степе- степени d, если все его вершины имеют степень d. Регулярный граф (подграф) степени 1 называется пар о сочетанием. Регулярный граф степени 3 называется кубическим] к-фактором графа называется его остовный однородный подграф степени к. Совершенным пар о сочетанием графа называется его 1-фактор. Максимальным пар о сочетанием графа называется паросочетание, со- содержащее наибольшее число ребер. Единичным п-мерным кубом называется граф Вп, вершинами которого являются двоичные наборы длины п, а ребрами — неупо- неупорядоченные пары соседних наборов (см. гл. I, § 1).
206 Гл. VI. Графы и сети Вершина графа, при удалении которой увеличивается число ком- компонент связности, называется разделяющей (или точкой сочленения). Граф называется к-связным, если при удалении любых к — 1 его вершин получается связный граф, отличный от тривиального. Всюду в данном параграфе под графом понимается граф без петель и кратных ребер. 1.1. Показать, что для произвольного псевдографа G = (У, X) справедливо равенство 2_^ d(v) = 2\Х\. Замечание. Это первая теорема теории графов (принадлежа- (принадлежащая Леонарду Эйлеру и опубликованная в 1736 г.). 1.2. Обозначим через rii{G) число вершин степени г в графе G. Построить все попарно неизоморфные графы без петель и кратных ребер, у которых: 1) П2(С) = 1, n3(G) = n4(G) = 2 и m(G) = 0 при г ф 2, 3, 4; 2) п2(G) = 3, n3(G) = 2, n4(G) = 1 и m(G) =0 при г ф 2, 3, 4. 1.3. Изобразить все попарно неизоморфные 4-вершинные графы без петель и кратных ребер. 1.4. Построить все попарно неизоморфные несвязные 5-вершинные графы, не имеющие петель, кратных ребер и изолированных вершин. 1.5. Изобразить все попарно неизоморфные б-вершинные графы без петель и кратных ребер, состоящие: 1) из 4 компонент; 2) из 3 компонент; 3) из одной компоненты и имеющие 7 ребер и 2 висячие вершины. 1.6. Сколько существует попарно неизоморфных б-вершинных графов без петель и кратных ребер со следующим набором степеней вершин: B, 2, 3, 3, 3, 5)? 1.7. Сколько существует попарно неизоморфных, не имеющих пе- петель и кратных ребер кубических графов с б вершинами? Есть ли среди них двудольные графы? 1.8. Существует ли б-вершинный граф без петель и кратных ребер, имеющий такой набор степеней вершин: B, 2, 2, 4, 5, 5)? 1.9. Выяснить, какие наборы степеней вершин могут быть у б-вершинных связных графов без петель и кратных ребер, имею- имеющих 7 ребер и содержащих вершину степени 2 и вершину степени 3. Для каждого допустимого набора степеней вершин построить пример соответствующего графа. 1.10. Показать, что в любом графе без петель и кратных ребер, содержащем не менее 2 вершин, найдутся 2 вершины с одинаковыми степенями. 1.11. Доказать, что для всякого п ^ 3 существует п-вершинный связный граф без петель и кратных ребер, содержащий п — 1 вершин с неравными друг другу степенями.
§ 1. Основные понятия теории графов 207 1.12. Доказать, что в мультиграфе всякий замкнутый маршрут нечетной длины / ^ 3 содержит простой цикл. Справедливо ли ана- аналогичное утверждение для маршрутов четной длины? 1.13. Пусть S(G) — наименьшая из степеней вершин графа G, не имеющего петель и кратных ребер и содержащего п вершин (п ^ 2). 1) Доказать, что если S(G) ^ (п — 1)/2, то граф связен. 2) Показать, что в предыдущем утверждении заменить (п — 1)/2 на [(п — 1)/2] нельзя. 1.14. Индукцией по п доказать, что связный псевдограф с п вер- вершинами содержит не менее п — 1 ребер (п ^ 1). 1.15. Доказать, что если из связного мультиграфа удалить про- произвольное ребро, содержащееся в некотором цикле, то новый мульти- граф будет также связным. 1.16. Доказать, что в связном псевдографе любые две простые цепи максимальной длины имеют хотя бы одну общую вершину. Верно ли, что у них всегда есть общее ребро? 1.17. Доказать, что всякий связный псевдограф, имеющий не ме- менее двух вершин, содержит вершину, не являющуюся разделяющей. 1.18. Показать, что если в мультиграфе степень каждой вершины больше 1, то в нем есть цикл. 1.19. Пусть G — произвольный граф без петель и кратных ребер, a G — его дополнение. Доказать, что^_ 1) хотя бы один из графов G или G связен; 2) если в G более 4 вершин, то хотя бы в одном из графов G или G имеется цикл; 3) если граф G несвязен или его диаметр не меньше 3, то диаметр графа G не больше 3; 4) если v — разделяющая вершина графа G, то она не является разделяющей в графе G. 1.20. Граф (без петель и кратных ребер) называется самодопол- нителъным, если он изоморфен своему дополнению. 1) Показать, что если граф самодополнительный, то число вершин в нем равно либо 4/ (/ ^ 1), либо 4/ + 1 (/ ^ 0). 2) Доказать, что среди 4-вершинных графов самодополнительным является только один, а среди 5-вершинных — только два. 3) Показать, что самодополнительный граф связен. 4) Доказать, что диаметр самодополнительного нетривиального графа G удовлетворяет неравенствам 2 ^ D(G) ^ 3. 1.21. Выяснить, сколько существует попарно неизоморфных гра- графов без петель и кратных ребер, имеющих: 1) б вершин и 11 ребер; 2) 7 вершин и 18 ребер; 3) 8 вершин и 24 ребра; 4) б вершин, 7 ребер и 2 компоненты связности; 5) 8 вершин и удовлетворяющих следующему условию: сумма степеней всех вершин не меньше 53.
208 Гл. VI. Графы и сети 1.22. Пусть у графа без петель и кратных ребер п вершин и s компонент связности. Доказать, что число ребер в нем не меньше, чем п — s и не превосходит (п — s){n — s + l)/2. Вывести отсюда, что если у n-вершинного графа (п ^ 2) число ребер больше (п — 2)(п — 1)/2, то он связный. 1.23. Доказать, что если в псевдографе имеются ровно две верши- вершины нечетной степени, то существует цепь, соединяющая их. 1.24. Показать, что если в n-вершинном графе без петель и кратных ребер нет циклов нечетной длины и число ребер боль- больше ((п — 1)/2J, то граф связен (п ^ 2). 1.25. Пусть G — граф с п ^ 2 вершинами, не имеющий петель. Доказать эквивалентность следующих утверждений: 1) G — связный граф с п — 1 ребрами; 2) G — связный граф, но после удаления любого ребра получается несвязный граф; 3) любая пара различных вершин в графе G соединена единствен- единственной цепью; 4) граф G не имеет циклов, но добавление ребра, соединяющего любые две различные вершины, приводит к появлению цикла. 1.26. Доказать, что во всяком дереве с п ^ 2 вершинами содер- содержится не менее двух висячих вершин. 1.27. Пусть п\ — число висячих вершин у n-вершинного дерева, не содержащего вершин степени 2. Доказать, что п\ ^ п/2 + 1. 1.28. 1) Индукцией по п доказать, что каждое дерево с п ^ 2 вершинами является двудольным графом. 2) Какие деревья являются полными двудольными графами? 1.29. Изобразить все попарно неизоморфные деревья: 1) с б ребрами и 3 висячими вершинами; 2) с б ребрами и 4 висячими вершинами; 3) с 7 ребрами и 3 висячими вершинами; 4) с 8 ребрами и 3 вершинами степени 3. 1.30. Подсчитать число попарно неизоморфных 7-вершинных де- 7 ревьев, удовлетворяющих условию \^сР(г^) ^ 26. г=1 1.31. Описать все графы, являющиеся деревьями вместе со своими дополнениями. 1.32. Пусть п, ?тг и s — соответственно число вершин, число ребер и число компонент у мультиграфа G. Доказать, что: 1) число циклов у мультиграфа G не меньше, чем т — п + s; 2) мультиграф G является лесом тогда и только тогда, когда т - п + s = 0. 1.33. Если графы G и Я, не имеющие петель и кратных ребер, изоморфны, то для каждого d ^ 0 число вершин степени d в графах G и Н одинаково. Показать, что:
§ 1. Основные понятия теории графов 209 1) в том случае, когда в каждом из графов G и Н не более четырех вершин, сформулированное (необходимое) условие для изоморфности графов является также и достаточным; 2) это условие не является достаточным для графов с пятью и более вершинами, причем если число вершин не меньше б, то даже для деревьев. 1.34. Среди пар графов, изображенных на рис. 6.1-6.5, указать пары изоморфных и пары неизоморфных графов. Ответ обосновать. Рис. 6.1 Рис. 6.2 Рис. 6.3 Рис. 6.4 Рис. 6.5 1.35. 1) Пусть G и Н не имеют петель и кратных ребер, являются двухсвязными, содержат по 6 вершин и по 8 ребер. Пусть, кроме того, граф G имеет ровно 2 вершины степени 2, а граф Н — ров- ровно 4 вершины степени 3. Изоморфны ли графы G и HI 2) Известно, что 6-вершинные графы G и Н не имеют петель и кратных ребер, двухсвязны, содержат по 10 ребер и удовлетворя- удовлетворяют следующему условию: степень одной вершины в каждом из них равна d\ (I ^ d\ ^ 5), а степени всех остальных вершин равны с?2 (d2 < di). Показать, что графы СиЯ изоморфны. 1.36. Выяснить, существуют ли в графах, изображенных на рис. 6.6, подграфы, гомеоморфные графу G: 14 Г. П. Гаврилов, А. А. Сапоженко
210 Гл. VI. Графы и сети Рис. 6.7 1) G = K4 (рис. 6.7, а); 2) G = Къ (рис. 6.7,6); 3) G = К2,з (рис. 6.7, в). 1.37. Пусть п — нечетное число, не меньшее 3, и В% — под- подмножество всех вершин куба Вп, имеющих вес к (см. гл. I, § 1). Пусть Gn — подграф куба Вп, порожденный множеством В?_1у2 U 1) Построить по одному совершенному паросочетанию в гра- графах G3 и G5. 2) Показать, что в графе G^ существует совершенное паросоче- тание. 1.38. 1) Привести пример связного однородного графа степени 4, не имеющего петель и кратных ребер и не содержащего остовного простого цикла. 2) Доказать, что всякий однородный псевдограф степени 4 мож- можно представить в виде объединения двух реберно непересекающихся 2-факторов. 2. Ориентированные графы. Ориентированный псевдограф G = G(V, X) определяется непустым (конечным) множеством V и набором X упорядоченных пар элементов из V. Элементы множест- множества V называются вершинами, а элементы набора X — дугами (или ориентированными ребрами) ориентированного псевдографа G(V, X). В наборе X могут встречаться пары вида (г>, г>), называемые петлями, и одинаковые пары, называемые кратными (или параллель- параллельными) дугами. Пары (и, v) и (г>, и) считаются одинаковыми лишь в том случае, когда и = v. Ориентированным мулътиграфом называется ориентированный псевдограф, не содержащий петель. Если в ориентированном псев- псевдографе нет ни петель, ни кратных дуг, то он называется ориен- ориентированным графом (или, короче, орграфом). Направленным гра-
§ 1. Основные понятия теории графов 211 фом называется такой орграф, который не имеет симметричных пар ориентированных ребер (т.е. множество X у направленного графа не может содержать одновременно и дугу (и, г?), и противоположно направленную дугу (г?, и)). Пусть х = (и, v) — дуга ориентированного псевдографа. Верши- Вершину и называют началом или начальной вершиной, а вершину v — концом или конечной вершиной дуги х. В этом случае говорят также, что дуга х исходит из вершины и и заходит в вершину v. Если вершина v является началом или концом дуги х, то говорят, что v и х инцидентны. Полу степенью исхода вершины v псевдографа G называется число дуг псевдографа G, исходящих из вершины v. Полу степень исхода вершины v обозначается через od (i?) или d^~(v). Аналогично полу- полустепенью захода вершины v (обозначения: id (у) и d~(v)) называется число дуг псевдографа, заходящих в вершину v. Заменяя каждую упорядоченную пару (и, v) из набора X ориен- ориентированного псевдографа G(V, X) неупорядоченной парой {и, v}, сос- состоящей из тех же элементов umv, получаем псевдограф Н = (V, Х°), ассоциированный с ориентированным псевдографом G(V, X). Ориентированные псевдографы Gi(Vi, X\) и 6/2(^2, -Х"г) называ- называются изоморфными, если существуют два таких взаимно однознач- однозначных соответствия ip: V\ <-> V2 и ф: Х\ «->¦ Хг, что для всякой дуги х — (и, v) G Xi справедливо соотношение ф(х) = (ip(u), ip{v)). Операции удаления вершины и дуги, а также понятия подгра- подграфа, остовного подграфа и порожденного подграфа определяются для ориентированных псевдографов аналогично тому, как это делалось в случае неориентированных псевдографов. При определении ориентированных маршрута, замкнутого марш- маршрута, цепи, цикла, простой цепи и простого цикла требуется (в от- отличие от определения соответствующих «неориентированных поня- понятий»), чтобы последовательность (вершин и дуг) v\, х\, г>2, Х2, ••• ..., жп_2, Vn-ij xn-i, vn (n ^ 2) удовлетворяла условию: каждая ду- дуга Xi A ^ г ^ п — 1) имеет вид (г?«, ^г+i)? т-е- вершина vi является началом дуги х^ а вершина г?«+1 — ее концом. Считается, что ориен- ориентированный [и, г>)-маршрут ориентирован от своей первой вершины и к своей последней вершине v. Длиной маршрута называется число дуг в нем. Расстояни- Расстоянием р(и, v) от вершины и до вершины v называется длина кратчай- кратчайшего (и, г>)-маршрута. Ориентированный маршрут называется путем, а ориентирован- ориентированный простой цикл — контуром. Ориентированная простая остовная цепь называется гамилътоно- вым путем (или гамильтоновой цепью). Гамильтоновым контуром называется остовный контур ориентированного псевдографа. Если ориентированный псевдограф содержит гамильтонов контур, то сам псевдограф также называется гамильтоновым. 14*
212 Гл. VI. Графы и сети Говорят, что вершина v ориентированного псевдографа G дости- достижима из вершины и, если в псевдографе G существует (и, г>)-путь, т.е. путь, исходящий из вершины и и заходящий в вершину v. (В этом определении вместо (и, г>)-пути можно рассматривать ориентирован- ориентированную (и, г?)-цепь или ориентированную простую (и, г?)-цепь.) Ориентированный псевдограф называется сильно связным (или сильным), если любая вершина в нем достижима из всякой другой его вершины. Ориентированный псевдограф называется односторонне связным (или односторонним), если для любых двух различных его вершин по меньшей мере одна достижима из другой. Ориентирован- Ориентированный псевдограф G(V, X) называется слабо связным (или слабым), если ассоциированный с ним псевдограф (V, Х°) является связным. Если ориентированный псевдограф не является даже слабо связным, то он называется несвязным. Тривиальный орграф, состоящий лишь из одной вершины, считается (по определению) сильно связным. Сильной компонентой ориентированного псевдографа G называ- называется любой его ориентированный подграф, являющийся сильно связ- связным псевдографом и не содержащийся ни в каком другом сильно связном ориентированном подграфе псевдографа G. Аналогично односторонняя компонента представляет собой «максимальный» (по включению) односторонний псевдограф-под- граф псевдографа G, а слабая компонента — «максимальный» (по включению) слабый псевдограф-подграф в G. Пусть 7 — {Si, S2, • • •, Sn} — множество всех сильных компонент ориентированного псевдографа G. Конденсацией G* ориентирован- ориентированного псевдографа G называется такой орграф (без петель и крат- кратных дуг), у которого множеством вершин является множество j, а дуга (Si, Sj) присутствует в орграфе G* тогда и только тогда, когда в псевдографе G существует хотя бы одна дуга, исходящая из некоторой вершины компоненты Si и заходящая в какую-нибудь вершину компоненты Sj (г Ф j). Если G = G(V, X) — ориентированный псевдограф, то обратный к нему ориентированный псевдограф G' задается тем же множеством вершин V и таким множеством дуг X', что дуга (и, v) принадле- принадлежит X' тогда и только тогда, когда дуга (г?, и) принадлежит X. Вершина v ориентированного псевдографа G называется источ- источником, если из нее достижима любая другая вершина псевдогра- псевдографа G. Стоком ориентированного псевдографа G называется всякая его вершина v, являющаяся источником в обратном (к псевдографу G) ориентированном псевдографе G'. Ориентированный псевдограф называется полным, если в нем любые две различные вершины соединены хотя бы одной дугой. Тур- Турниром называется полный направленный граф. Орграф G называется растущим деревом, если ассоциированный с ним граф является дере- деревом и если в G есть источник.
§ 1. Основные понятия теории графов 213 1.39. Построить все попарно неизоморфные орграфы (без петель и кратных дуг), содержащие: 1) 3 вершины и 3 дуги; 2) 3 вершины и 4 дуги; 3) 4 вершины и 3 дуги. Сколько среди них сильно связных, односторонне связных и слабо связных? 1.40. Изобразить все попарно неизоморфные ориентированные псевдографы, содержащие: 1) 2 вершины и 2 дуги; 2) 2 вершины и 3 дуги; 3) 3 вершины и 2 дуги. Сколько среди них сильно связных, односторонне связных и слабо связных? 1.41. Построить все попарно неизоморфные направленные графы, имеющие: 1) 3 вершины и хотя бы одну дугу; 2) 4 вершины и 4 дуги; 3) 5 вершин и 3 дуги. Сколько среди них сильно связных, односторонне связных и слабо связных? 1.42. Построить все попарно неизоморфные турниры с: 1) 3 вершинами; 2) 4 вершинами. Сколько среди них сильно связных, односторонне связных и слабо связных? 1.43. Изобразить все попарно неизоморфные турниры с 5 верши- вершинами, содержащие вершину с нулевой полу степенью захода и вершину с нулевой полустепенью исхода. Для каждого из них построить кон- конденсацию. 1.44. Построить все попарно неизоморфные растущие деревья с: 1) 4 вершинами; 2) 5 вершинами; 3) б вершинами, не содержащие ориентированных цепей длины, превосходящей 3. 1.45. 1) Доказать, что в n-вершинном (п ^ 3) сильно связном орграфе (без петель и кратных дуг) число дуг (обозначим его через т) удовлетворяет неравенствам п ^ т ^ п(п — 1). 2) Доказать, что в n-вершинном (п ^ 2) слабо связном орграфе (без петель и кратных дуг), не являющемся сильно связным, число дуг (обозначим его через т) удовлетворяет неравенствам п — 1 ^ ^ т ^ (п — IJ. 1.46. Доказать, что если полустепень исхода каждой вершины ориентированного псевдографа положительна, то в нем существует ориентированный цикл. (Петля считается ориентированным циклом длины 1.) 1.47. Пусть орграф G (без петель и кратных дуг) является по меньшей мере слабо связным. Пусть V = {г?1, г?2, ..., vn} — множест- множество его вершин (п ^ 2) , d+{vi) — d~(v\) = 1, d+{v2) — d~(v2) = —1, d+(vj) = d~(vj) при j = 3, ..., п. Доказать, что в орграфе G сущест- существует ориентированная (i?i, г>2)-цепь, содержащая все его дуги.
214 Гл. VI. Графы и сети 1.48. 1) Доказать, что ориентированный псевдограф, имеющий не менее 2 вершин, сильно связен тогда и только тогда, когда в нем существует ориентированный остовный замкнутый маршрут. 2) Можно ли в приведенном утверждении заменить замкнутый маршрут циклом? 1.49. Доказать, что слабо связный псевдограф является сильно связным тогда и только тогда, когда в нем существует ориентиро- ориентированный замкнутый маршрут, содержащий каждую дугу псевдографа хотя бы один раз. 1.50. Пусть ориентированный псевдограф G можно представить в виде объединения некоторых его ориентированных замкнутых марш- маршрутов Mi, M2, ..., Mk (к ^ 1) , удовлетворяющих условию: каждые два соседних маршрута Mj и MJ+i (I ^ j ^ к — 1) имеют хотя бы одну общую вершину. Показать, что псевдограф G сильно связен. 1.51. 1) Привести пример 7-вершинного орграфа без петель и кратных дуг, опровергающий следующее утверждение: если полу- полустепени исхода и захода любой вершины орграфа положительные и четные, то для каждой вершины орграфа найдется контур, содер- содержащий ее. 2) Показать, что орграфа без петель и кратных дуг, имеющего менее 7 вершин и опровергающего приведенное выше утверждение, не существует. 1.52. Доказать, что в конденсации G* произвольного ориентиро- ориентированного псевдографа G контуры отсутствуют. 1.53. Доказать, что если ориентированный псевдограф G не явля- является сильно связным, то он будет односторонним тогда и только тогда, когда его конденсация G* имеет ориентированную остовную цепь. 1.54. Бесконтурным ориентированным мультиграфом называет- называется мультиграф, не содержащий контуров. Доказать, что в бесконтур- бесконтурном ориентированном мультиграфе существует вершина с нулевой полустепенью исхода. 1.55. Доказать, что ориентированный псевдограф изоморфен своей конденсации тогда и только тогда, когда он является бескон- бесконтурным орграфом (не имеющим петель и кратных дуг). 1.56. Пусть G — слабо связный ориентированный псевдограф, не являющийся односторонним. Доказать, что в G не существует такой вершины, удаление которой дает сильно связный псевдограф. 1.57. Доказать, что слабо связный орграф является растущим деревом тогда и только тогда, когда лишь одна его вершина имеет нулевую полустепень захода, а полустепень захода любой из осталь- остальных вершин равна 1. 1.58. Показать, что во всяком полном ориентированном псевдогра- псевдографе существует источник, т. е. вершина, из которой достижима любая другая вершина псевдографа.
§ 2. Планарностъ и раскраска графов 215 1.59. Пусть G — полный сильно связный орграф (без петель и кратных дуг), имеющий n ^ 3 вершин. 1) Доказать, что, каково бы ни было к C ^ к ^ п), для всякой вер- вершины орграфа G найдется контур длины к, содержащий эту вершину. 2) Доказать, что если из орграфа G (при n ^ 4) удалить произ- произвольную вершину, то результирующий орграф либо сильно связный, либо становится сильно связным после добавления одной подходящей дуги. 1.60. Показать, что в любом турнире существует гамильтонова цепь. 1.61. Доказать, что турнир является сильным орграфом тогда и только тогда, когда в нем имеется остовный контур (т. е. когда этот турнир гамильтонов). 1.62. Пусть {i>i, ..., vn} — множество вершин турнира. Доказать, что Х>+К)J = Х> - 1 - d+(vi)J. г=1 г=1 1.63. Пусть у вершины v турнира Т полустепень исхода не мень- меньше, чем полу степень исхода каждой другой вершины турнира. Дока- Доказать, что расстояние от вершины v до любой другой вершины турнира не превосходит 2. 1.64. Орграф G(V, X) без петель и кратных дуг называется тран- транзитивным, если из принадлежности дуг (u, v) и (i?, w) множест- множеству X следует принадлежность множеству X дуги (u, w). Доказать, что конденсация всякого турнира является транзитивным турниром. 1.65. Доказать, что в любом транзитивном турнире существует гамильтонова цепь. 1.66. Пусть G(V, X) — орграф без петель и кратных дуг, а G(V, X) — его дополнение, т.е. орграф, имеющий то же множество вершин V и такое множество дуг, что (г?1, г?г) Е X тогда и только тогда, когда (г?1, г?г) ^ X (здесь, естественно, v\ фУ2). Через h(G) и h(G) обозначим число гамильтоновых цепей вйиС соответствен- соответственно. Доказать, что h(G) = h(G) (mod 2). 1.67. Пусть G(V, X) — произвольный турнир и h(G) — число гамильтоновых цепей в нем. Доказать, что: 1) при изменении ориентации одной его дуги получается тур- турнир G1', у которого число h(G') гамильтоновых цепей удовлетворяет условию h(G') = h(G) (mod 2); 2) h(G) — нечетное число. § 2. Планарность и раскраска графов Мультиграф называется планарным, если его можно изобразить на плоскости так, что любые две дуги кривых (в частности, отрезки прямых), изображающие ребра, либо не имеют общих точек, либо
216 Гл. VI. Графы и сети пересекаются только в точках, соответствующих вершинам графа; причем в любой точке пересечения сходятся лишь дуги (отрезки), сопоставленные ребрам, инцидентным именно той вершине, которой соответствует данная точка. Такая геометрическая фигура, являю- являющаяся изображением планарного мультиграфа, называется плоским мулътиграфом. Внутренней гранью плоского мультиграфа называ- называется конечная область плоскости, ограниченная простым циклом и не содержащая внутри себя никаких вершин и ребер мультиграфа, принадлежащих другим простым циклам. Простой цикл, ограничи- ограничивающий грань, называется ее границей. Часть плоскости, состоящая из точек, не принадлежащих мультиграфу и никакой из его внутрен- внутренних граней, называется внешней гранью. Из этих определений следует, что в гранях могут располагаться «древовидные отростки» (в частности, концевые ребра и висячие вер- вершины); они в границы граней не включаются. Для связных плоских мультиграфов, содержащих п вершин, т ребер и / граней (считая и внешнюю), справедливо следующее соотношение, называемое форму- формулой Эйлера: п — т + / = 2. Очевидно, что мультиграф G планарен тогда и только тогда, когда планарен граф, получаемый из G заменой каждой совокупности кратных ребер одним ребром с соответствующими концами (т.е., например, совокупность кратных ребер с концами v и w заменяется одним ребром {v, w)). Критерий планарности (теорема Понтрягина-Куратовско- го). Граф планарен тогда и только тогда, когда ни один из его подграфов не гомеоморфен ни К§, ни Хз,з (см. рис. 6.7, б и рис. 6.4). Раскраской вершин графа (или ребер мультиграфа) называется сопоставление {приписывание, назначение) цветов {красок) верши- вершинам графа (соответственно ребрам мультиграфа). Раскраска назы- называется правильной, если смежные вершины (соответственно ребра) окрашены в разные цвета. Наименьшее число цветов, для которого существует правильная раскраска вершин графа G, называется хро- хроматическим числом графа G и обозначается через x(G). Наименьшее число цветов, для которого существует правильная раскраска ребер мультиграфа G, называется хроматическим индексом (или хромати- хроматическим классом, или реберно-хроматическим числом) мультиграфа G и обычно обозначается через х' {G). Для хроматического числа графа G = {V, X) справедливы сле- следующие оценки: 1) х(С) ^ u(G), где oj{G) — число вершин у наибольшего пол- полного подграфа графа G (так называемое кликовое число графа G); 2)x(G) z П2П^2т> гда п = \v\ и т = 1*1; 3) x(G) ^ A(G) + 1, где Д(С) = maxd(u).
§ 2. Планарностъ и раскраска графов 217 Для хроматического индекса мультиграфа G = (У, X) имеют мес- место следующие оценки: 1) X'(G) ^ Д(С), где Д(С) = maxd(t;); vE.V 2) X'(G) ^ [- A(GI (теорема К. Шеннона); 3) x'{G) где = тах/х(г;, w) и /x(v, w) — (г;,гу) число ребер, соединяющих в G вершины v и w, т. е. /i(G) — мощность наибольшей из совокупностей кратных ребер в мультиграфе G; эта оценка получена В.Г. Визингом. Если G — граф (без петель и кратных ребер), то A(G) ^ x'(G) ^ ^ Д(С) + 1. 2.1. Применяя критерий Понтрягина—Куратовского, выяснить, пла- нарны ли графы, изображенные: 1) на рис. 6.5, а, б; 2) на рис. 6.6, а, #, в. X К 7 X п «секций» а X ) ( X п «секций» б Рис. 6.8 2.2. При каких п ^ 2 являются планарными графы, изображен- изображенные на рис. 6.8, а, б? 2.3. Построить граф с 6 вершинами и 12 ребрами, содержащий одновременно подграфы, гомеоморфные К$ и Хз,з- 2.4. Построить все попарно неизоморфные непланарные графы без петель и кратных ребер, содержащие 6 вершин и 11 ребер. 2.5. Построить однородный 9-вершинный граф (без петель и кратных ребер), который не планарен вместе со своим дополнением. 2.6. Используя формулу Эйлера, доказать непланарность сле- следующих графов: 1) Къ (рис. 6.7, б); 2) К3,з (рис. 6.4); 3) граф Петерсена (рис. 6.6, а); 4) граф, изображенный на рис. 6.6, в. 2.7. 1) Выяснить, какое наименьшее число вершин нужно удалить из графа G, чтобы получился планарный граф, если: a) G — граф Петерсена (рис. 6.6, а); б) G — граф, изображенный на рис. 6.9. 2) Выяснить, какое наименьшее число ребер надо удалить из графа G, чтобы получился планарный граф, если: a) G = К6; б) G = Б4; в) G — граф Петер- Петерсена. Рис- 6'9 2.8. Выяснить, существует ли планарный граф (без петель и кратных ребер), у которого: 1) 7 вершин и 16 ребер; 2) 8 вершин и 17 ребер.
218 Гл. VI. Графы и сети 2.9. Какое наибольшее число граней может быть у плоского 5-вершинного графа, не имеющего петель и кратных ребер? Изобра- Изобразите такой граф. 2.10. 1) Существует ли плоский б-вершинный граф (без петель и кратных ребер), у которого 9 граней? 2) Построить все попарно неизоморфные плоские б-вершинные графы (без петель и кратных ребер), имеющие 8 граней. 2.11. Графы G\ и бг2 плоские, б-вершинные, с одинаковым числом граней. У графа G\ четыре вершины степени 4 и две вершины степени 3. У графа (?2 две вершины степени 5, а остальные имеют степени меньше 5. Какие степени могут быть у остальных вершин графа (?2? Изобразите все такие графы G\ и G^- 2.12. Доказать, что в каждом планарном графе без петель и кратных ребер есть вершина степени, не большей чем 5. 2.13. Плоский связный граф без висячих вершин, каждая грань которого, включая и внешнюю, ограничена циклом длины 3, называ- называется 'триангуляцией. Показать, что триангуляция с п^З вершинами имеет Зп — б ребер и 2п — 4 граней. 2.14. Доказать, что если у связного планарного графа (без петель и кратных ребер), имеющего п вершин и т ребер, каждый простой цикл содержит не менее к ребер (к ^ 3), то т ^ к(п — 2)/(к — 2). 2.15. Доказать, что в любом планарном графе (без петель и кратных ребер), имеющем не менее 4 вершин, найдутся хотя бы 4 вершины, степени которых не больше 5. 2.16. Показать, что б-связных планарных графов (без петель и кратных ребер) не существует. 2.17. 1) Показать, что плоский кубический граф, граница каждой грани которого имеет не менее 5 вершин, содержит по крайней мере 20 вершин. Привести пример такого графа. 2) Пусть G — плоский связный кубический граф (без петель и кратных ребер). Через fi (i ^ 3) обозначим число тех граней графа G, каждая из которых ограничена г ребрами. Доказать, что ?)F - i)fi = 12- 2.18. Найти хроматические числа и хроматические индексы гра- графов, изображенных на рис. 6.1, рис. б.З, рис. 6.5 и рис. 6.6. 2.19. Найти хроматическое число и хроматический индекс гра- графа G: l)G = Bn (п> 1); 2) G = Кп (п > 2); 3) G = Km,n (n ^ т > 1). 2.20. Граф (без петель и кратных ребер) называется гамилъто- новым, если в нем существует простой остовный цикл (т. е. прос- простой цикл, содержащий все вершины графа). Такой цикл называют гамилътоновым. Доказать, что если G — кубический гамильтонов граф, то x'(G) = 3. 2.21. Пусть / — длина самой длинной простой цепи в графе G, не имеющем петель и кратных ребер. Показать, что x(G) ^ Z + 1.
§ 3. Деревья и сети 219 2.22. Пусть G — граф без петель и кратных ребер и A(G) — наибольшая из степеней его вершин. Доказать, что x(G) ^ Д(^) + 1. 2.23. Доказать, что вершины всякого плоского графа (без петель и кратных ребер) можно правильно окрасить в q ^ б цветов. 2.24. Доказать, что для правильной раскраски ребер всякого кубического мультиграфа достаточно 4 цветов. § 3. Деревья и сети 1. Корневые деревья. Пусть G = (V, Е) — граф с множеством вершин V и множеством ребер Е и W С V — некоторое подмножество вершин. Пару Г = (W, G) будем называть сетью. Ребра и верши- вершины графа G называются ребрами и вершинами сети Г = (G, W). Элементы множества W называются полюсами. Сеть называется к-полюсной, если \W\ = к. Сеть Г = (G, W) является связной (пла- нарной), если связным (планарным) является граф G. Две ^-по- ^-полюсные сети изоморфны, если их графы изоморфны и при этом по- полюса одной сети взаимно однозначно соответствуют полюсам другой. Корневым деревом (деревом с корнем) называется однополюсная сеть, граф которой является деревом. Корневое дерево можно определить также по индукции. Базис индукции. Однополюсная сеть с одним ребром является корневым деревом (рис. 6.10, а). Индуктивный переход. Пусть А (рис. 6.10, б) —дерево с кор- корнем аи В (рис. 6.10, в) —дерево с корнем Ь. Тогда сеть С (рис. 6.10, г), полученная отождествлением полюсов а и 6, является деревом с кор- корнем с = а = Ъ. Далее, деревом является сеть D (рис. 6.10, t?), полу- полученная добавлением нового ребра (а, с), где с не является вершиной сети Л, и выбором вершины с в качестве нового корня. Укладкой корневого дерева или плоским корневым деревом назы- называется изображение дерева на плоскости. Укладку корневого дерева можно провести в соответствии с процедурой индуктивного построе- построения корневого дерева. При этом мы будем считать, что корневое дере- дерево укладывается на плоскости с разрезом, представляющим собой по- полупрямую, исходящую из корня. Ребра укладки дерева, инцидентные корню, можно пронумеровать по часовой стрелке числами 1, ..., т, где т — степень корня. Такая нумерация является однозначной в
220 Гл. VI. Графы и сети случае расположения укладки на плоскости с разрезом. Если из плос- плоской укладки удалить ребро, инцидентное корню и имеющее номер г, 1 ^ г ^ т, то образуются две компоненты связности. Ту из компонент, которая не содержит корня, назовем г-й ветвью укладки дерева. Будем рассматривать ветвь как плоское корневое дерево с корнем в вершине, инцидентной г-му ребру (в исходном дереве). Если ветвь не содержит ребер, то будем называть ее пустой. Два плоских корневых дерева Аи В будем называть одинаковыми, если: 1) Аи В — однореберные деревья; 2) А и В — плоские корневые деревья с более чем одним ребром и равными степенями корней и такие, что г-е ветви деревьев А и В, имеющие один и тот же номер, либо пусты, либо являются одинаковыми плоскими корневыми деревьями. Деревья, не являющиеся одинаковыми, называются различными. Каждому плоскому корневому дереву с т ребрами можно взаимно однозначно сопоставить двоичный вектор длины 2т, называемый кодом дерева. Код плоского корневого дерева определим по индукции. Базис индукции. Дереву с одним ребром (см. рис. 6.10, а) сопоставим вектор 01. Индуктивный переход. Если дереву А (см. рис. 6.10, б) сопо- сопоставлен вектор 5, а дереву В (см. рис. 6.10, в) — вектор /3, то дереву С (см. рис. 6.10, г) сопоставляется вектор а/3, а дереву D (см. рис. 6.10, д) сопоставлен вектор 051. Пример. Дереву, изображенному на рис. 6.11, а, сопоставляется вектор 001001010111. Отметим, что код дерева с т ребрами является двоичным вектором, обладающим следующими двумя свойствами. 1. Число нулей в векторе а совпа- совпадает с числом единиц. 2. Для любого k ^ 2т число еди- единиц среди первых к координат на- набора а не превосходит числа нулей среди тех же к координат. Восстановить дерево по коду Рис. 6.11 можно следующим образом. Базис индукции. Вектору 01 сопоставляем дерево с одним ребром (см. рис. 6.10, а). Такое плоское дерево единственно, поскольку все однореберные плоские корневые деревья одинаковы. Индуктивный переход. Пусть дан вектор а с 2т координа- координатами (т > 1), обладающий свойствами 1 и 2. Пусть к — наименьшее четное число такое, что вектор /3, состоящий из первых к координат набора 5, удовлетворяет свойству 1. Если к < 2т, рассмотрим еще вектор % составленный из координат a^+i, ..., ап набора а. Тогда, поскольку плоские корневые деревья Аи В, кодами которых являются
§ 3. Деревья и сети 221 соответственно наборы [5 и 7, определены однозначно в силу предполо- предположения индукции, то можно однозначно сопоставить вектору 5 дерево, показанное на рис. 6.10, г. Если же к = 2т, то пусть 8 — вектор, полу- полученный из 5 отбрасыванием первой и последней координат. Нетрудно убедиться, что вектор 8 также обладает свойствами 1, 2. Тогда в силу предположения индукции вектору 8 соответствует единственное плоское дерево А. Сопоставим вектору 5 плоское дерево, изображенное на рис. 6.10, д. Код плоского корневого дерева можно получить также с помощью обхода: при обходе дерева, начиная с корня, мы проходим каждое ребро дважды (см. рис. 6.11, б). Первый проход вдоль ребра отмечаем нулем, \ о г Рис. 6.12 а второй — единицей. В результате получаем тот же самый код де- дерева, что и при индуктивном способе построения. 3.1. Построить коды плоских корневых деревьев, изображенных на рис. 6.12. 3.2. Построить плоское корневое дерево по его коду а: 1) 5 = 0010100111; 2) 5 = 00110101000111; 3) 5 = 0000010011011111; 4) 5 = 01001000110111; 5) 5 = 00100010110111; 6) 5 = 000101110100001011. 3.3. По вектору 5 установить, является ли он кодом какого-либо плоского дерева: 1M = 001011; 2M = 0110; 3M = 001001; 4) 5 = 010011; 5) 5 = 00111001; 6) 5 = 0001100111. 3.4. Множество векторов А разбить на классы так, чтобы каж- каждый класс состоял из кодов попарно изоморфных плоских корневых деревьев: 1) А = {Si = 0 100 10 110 1, 52 = 0101000111, 53 = 0001110101, 54 = 0101001011, 55 =0100011101}; 2) А = {Si =0100010110111, 52 = 000110011101, 53 = 001001011101, 54 = 010010010111, 55 = 010001100111}; 3) А = {Si = 00 110 100 11, S2 = 0100110011, 53 = 0010110101, 54= 0100101101, 55 =0011001101}.
222 Гл. VI. Графы и сети 3.5. Доказать по индукции, что для всякого корневого дерева D с п ребрами его код а = (а± ... а2П) обладает свойствами 1 и 2, сформулированными в рассмотренном выше примере. 3.6. Показать, что для числа ф(п) попарно различных плоских корневых деревьев справедливы неравенства: l)V(n)^4«; 2) V(nK <72»n; 3) ф{п) ^ C^l_iy 3.7. 1) Показать, что для числа ф(п) попарно различных плоских корневых деревьев справедливо рекуррентное соотношение п г=1 2*) Доказать, что ф(п) = 3.8. Доказать эквивалентность двух определений корневого де- дерева: 1) корневое дерево есть однополюсная сеть, граф которой связен и не имеет циклов; 2) корневое дерево есть сеть, которую можно получить с помощью индуктивного построения, описанного выше (см. индуктивное опреде- определение корневого дерева). 3.9. Опираясь на индуктивное определение корневого дерева, до- доказать следующие свойства корневых деревьев: 1) число вершин корневого дерева на единицу больше числа его ребер; 2) любая пара вершин корневого дерева соединена единственной цепью; 3) добавление любого ребра к корневому дереву приводит к появ- появлению цикла. 3.10. Вершину корневого дерева будем называть висячей, если она отлична от корня и имеет степень, равную 1. 1) Пусть корневое дерево имеет к висячих вершин и не имеет вершин степени 2, отличных от корня. Доказать, что при к ^ 2 общее количество вершин не превосходит 2к. 2) Пусть каждая вершина корневого дерева, отличная от корня, имеет степень, не превосходящую 3, а степень корня не превосходит 2. Доказать, что число висячих вершин не превосходит п/2, где п — число вершин корневого дерева. Напомним, что расстоянием между вершинами и и v связного графа G называется минимальное число Pg{u, v) ребер в цепи, соеди- соединяющей вершины и и v. Диаметром связного графа G = (У, X) называется число D(G) = max pg(u, v). Центром связного гра- u,vex фа G = (V, X) называется вершина щ такая, что , г?), uEV vEV
§ 3. Деревья и сети 223 а величина R(G) = тахр<з(ио, г?) называется его радиусом. Цепь в vev графе G назовем диаметральной, если она соединяет вершины и и v такие, что Pg(u, v) = D(G), и имеет длину, равную D(G). 3.11. Найти количество центров z(T), радиус R(T) и диа- диаметр D(T) для каждого корневого дерева Т из тех, что изображены на рис. 6.12. 3.12. 1) Доказать, что радиус R(G) и диаметр D(G) графа G связаны неравенствами R{G) ^ D(G) ^ 2R(G). 2) Показать, что обе оценки достижимы. 1 D(O Г 3) Доказать, что если G — дерево, то R(G) = —-—- . 4) Доказать, что всякий центр дерева принадлежит каждой его диаметральной цепи. 5) Доказать, что дерево обладает единственным центром в случае, когда его диаметр — число четное, и обладает двумя центрами, когда его диаметр — число нечетное. 3.13. Показать, что в дереве с нечетным диаметром любые две простые цепи наибольшей длины имеют хотя бы одно общее ребро. 3.14. Доказать, что дерево (некорневое) однозначно с точностью до изоморфизма восстанавливается, если заданы все попарные рас- расстояния между его висячими вершинами. Подграф Н связного графа G называется остповным деревом гра- графа G, если Н — дерево, содержащее все вершины графа Н. 3.15. 1) Для каждого d > 2 указать граф, диаметр которого ра- равен d, а любой связный остовный подграф имеет диаметр, равный 2d. 2) Доказать, что в любом связном графе G существует остовное дерево, диаметр которого не более чем в два раза превосходит диа- диаметр графа. 2. Двухполюсные сети. Двухполюсная сеть Г = ({а, Ъ}, G) будет обозначаться кратко через Г(а, Ъ). Подграфом сети Г будем называть произвольный подграф графа G. Пусть G — подграф се- сети Г(а, Ъ), содержащий хотя бы одно ребро. Тогда вершина подгра- подграфа G называется граничной, если она либо является полюсом, либо инцидентна некоторому ребру сети, не принадлежащему подграфу G. Подграф сети называется отростком, если он обладает единствен- единственной граничной вершиной. Подсетью двухполюсной сети называется ее подграф, имеющий ровно две граничные вершины. Эти верши- вершины называются полюсами подсети. Сеть Г({а, Ъ}, G) называется связной, если ее граф G является связным. Тривиальной называется двухполюсная связная сеть, имеющая одно ребро. Если не оговорено противное, то под цепью двухполюсной сети Г (а, Ъ) будет подразу- подразумеваться цепь, соединяющая полюса а, Ъ. Связная сеть называется сильно связной, если через каждое ребро проходит цепь. Сильно связ- связная цепь называется разложимой, если она обладает хотя бы одной
224 Гл. VI. Графы и сети нетривиальной подсетью. В противном случае сильно связная сеть на- называется неразложимой. Пусть Г(а, Ь) — разложимая сеть, G(c, d) — ее нетривиальная подсеть, a Fi(a, b) — сеть, полученная из Г(а, Ь) заменой подсети G(c, d) одним ребром (с, d). Тогда в свою очередь сеть Г (а, Ъ) может быть получена подстановкой сети G(c, d) вместо ребра (с, d) сети Fi(a, Ь). Таким образом, разложимая сеть Г(а, Ь) может быть задана указанием сети Fi(a, Ъ) ребра (с, d), сети Fi(a, Ъ) Ti(a,6) G(c'd) Г(о,Ь) Рис. 6.13 и сети G(c, d) (рис. 6.13). Такое задание называется разложением сети Г(а, Ь). Сеть Fi(a, 6) называется внешней, а сеть G(c, d) — внутренней сетью разложения. Сеть Г(а, 6) называется суперпози- суперпозицией сетей Fi(a, 6) и G(c, с?). Сеть, состоящая из п параллельных ребер, соединяющих полюса а, 6, обозначается через Г^(а, Ь) или, короче, Г^. Сеть, граф которой есть простая цепь длины т, соеди- соединяющая полюса а, Ь, обозначается через Г^(а, Ь) или, короче, Г^. Сеть, которая может быть получена из сетей Г^ и Г2 применением конечного числа операций подстановки сети вместо ребра, называется параллельно-последовательной сетью или, короче, тг-сетью. Нетри- Нетривиальная неразложимая сеть Г (а, 6), отличная от Г?? (а, Ь) и Г|(а, 6), называется Н-сетъю. Разложимая сеть называется р-разложимой (соответственно s-разложимой), если некоторая внешняя сеть разложения имеет вид Г^ (соответственно Г^), т ^ 2. Если некоторая внешняя сеть разложения сети Г является #-сетью, то Г называется Н-разложи- мой. Справедливо утверждение о том, что всякая разложимая сеть является либо р-, либо s-, либо ^-разложимой. р-расщеплением сети называется р-разложение, при котором внут- внутренние сети разложения отличны от сетей вида Г^ и сетей, являющих- являющихся р-разложимыми. Аналогично определяются s-расщепления. Заметим, что сети Г^ и Г| (к ^ 3) являются разложимыми, но не допускают р-расщепления. Н-расщеплением называется разложение, внешней сетью которого является Н-сетъ. Каждой тг-сети Г с m ^ 1 ребрами можно сопоставить плоское корневое дерево Т(Г) с m висячи- висячими вершинами такое, что: а) каждая вершина дерева Т(Г), отличная от висячей, помечена символом р или s; б) на каждой цепи, идущей от корня к висячей вершине, отметки р и s чередуются; в) вершины, отличные от корня, имеют степень, не равную 2. Висячие вершины де- дерева Т(Г) пометок не имеют. Дерево Т(Г) определяется по индукции. Если Г имеет вид Г^ (или Г|), то Т(Г) есть дерево, корень которого
§ 3. Деревья и сети 225 помечен символом р (соответственно символом s), а остальные т вершин являются висячими, смежными с корнем и не имеют пометок. Если сеть Г отлична от сетей указанного вида, то она допускает расщепление. Пусть внешняя сеть расщепления имеет вид Г^ (или Г|), а внутренние сети суть Gi, G2, ..., G&. Тогда дерево Т(Т) строится следующим образом. Пусть T(Gi), Т(б?2), ..., T(Gk) — помеченные плоские корневые деревья, соответствующие внутренним сетям р- или s-расщепления. Тогда в качестве корня Т(Г) берется вершина степени к, помеченная символом р (соответственно символом s). Вер- Вершины г?1, г?2, • • •, Vk, смежные с корнем и не являющиеся висячими, помечаются символом s (соответственно символом р) и отождествля- отождествляются с корнями деревьев T(Gi), T(G2), ..., T(G&). Например, тт-сети, Рис. 6.14 изображенной на рис. 6.14, а, соответствует дерево, изображенное на рис. 6.14, б. Дерево Т(Г) называется диаграммой расщепления it-сети Г. Укажем теперь индуктивное правило построения тг-сети с h реб- ребрами по заданному корневому помеченному дереву с h висячими вер- вершинами, являющемуся диаграммой расщепления некоторой тг-сети. Базис индукции. Пусть плоское корневое дерево Т имеет один ярус, т.е. каждая из h висячих вершин соединена ребром с корнем. Тогда: а) если корень имеет пометку s, то сопоставим дереву Т сеть Г(а, 6), представляющую собой цепь из h ребер, соединяющую полюса а и Ь; б) если же корень дерева Т имеет пометку р, то сопо- сопоставим дереву Т сеть Г(а, 6), представляющую собой h параллельных ребер, соединяющих полюса а, Ъ. Индуктивный переход. Пусть корень плоского помеченного дерева Т имеет степень, равную к. Пусть Xi, T2, ..., Tj~ — ветви корневого дерева, пронумерованные слева направо. Если корень дере- дерева Т помечен буквой s, a Fi(ai, 61), Г2(а2, Ь2), ..., Г^(а^, Ьк) — сети, сопоставленные соответственно ветвями Т\, Т2, ..., Т^ (пустой ветви сопоставляется однореберная сеть), то дереву Т сопоставляется сеть, являющаяся суперпозицией сети Г^ и сетей Г^(а^, bi) (г = 1, ...,&). 15 Г. П. Гаврилов, А. А. Сапоженко
226 Гл. VI. Графы и сети При этом сеть Г^(а«, hi) подставляется вместо г-го ребра сети Г^. Таким образом, сеть Г, изображенная на рис. 6.14, а, соответству- соответствует дереву Т (см. рис. 6.14,6), но не дереву Т', изображенному на рис. 6.14, г. (Соответствующая сеть Г' изображена на рис. 6.14, в.) При изображении сетей будем располагать полюс а слева от полюса 6, а ребра внешней сети Г^ считать упорядоченными слева направо; полю- полюса ai, hi внутренних сетей Г^(а^, hi) также считаются упорядочен- упорядоченными. Если корень помечен буквой р, a Fi(ai, &i), Г2(а2, Ьг)? ••• ..., Г^(а^, Ьк) — сети, сопоставленные соответственно ветвям Ti, Т2, ..., Tk, то дереву Т сопоставляется сеть, являющаяся суперпози- суперпозицией сети Г^ и сетей Г^(a^, hi) (г = 1, ...,&). При этом сеть Г^(а«, hi) подставляется вместо г-го ребра сети Г^. При изображении мы рас- располагаем первую подсеть слева, затем располагаем вторую подсеть и т.д. Соглашения об упорядоченности полюсов и ребер сетей позво- позволяют однозначно с точностью до изоморфизма строить тг-сети по их диаграммам расщепления. Вершина сети, отличная от полюса, называется внутренней. Вер- Вершина v зависит от вершины и, если всякая цепь, соединяющая по- полюса и проходящая через г?, проходит и через и. Вершины и и v эквивалентны, если v зависит от и, и зависит от v. Вершина v слабее вершины и, а вершина и сильнее вершины г>, если v зависит от и, но не эквивалентна ей. Вершина v называется минимальной, если она не слабее никакой другой внутренней вершины сети. Вершина v назы- называется разделяющей, если через нее проходят все цепи, соединяющие полюса. Пример. В сети, изображенной на рис. 6.15, а, вершины 2, 3 зависят от 1 и 4 и слабее их, вершина 2 эквивалентна вершине 3, -ob 6 б Рис. 6.15 вершина 5 сильнее вершины 4, вершины б и 7 являются минималь- минимальными и разделяющими и эквивалентны друг другу. 3.16. 1) Построить все попарно неизоморфные сильно связные двухполюсные сети с 3 ребрами. 2) Найти число попарно неизоморфных сильно связных двухпо- двухполюсных сетей с 4 ребрами. 3.17. 1) Для каждой из сетей, представленных на рис. 6.16, ука- указать тип разложения.
§ 3. Деревья и сети 227 Рис. 6.16 2) Найти внешнюю сеть и внутренние сети расщеплений для се- сетей, представленных на рис. 6.16. 3.18. 1) Показать, что в каждой неразложимой сети, имеющей более двух ребер: а) степень каждого полюса не меньше 2; б) степень каждой внутренней вершины не меньше 3. 2) Найти число попарно неизоморфных неразложимых сетей с пятью ребрами. 3.19. Для сети Г, представленной на рис. 6.15, б, указать: 1) две пары вершин (u, v) такие, что и слабее v и вершины u, v неэквивалентны; 2) две пары эквивалентных вершин (и, г?); 3) пару вершин (и, г?), не зависящих друг от друга; 4) все разделяющие вершины; 5) все минимальные вершины. 3.20. 1) Показать, что если неразложимая сеть имеет п > 3 вер- вершин и т ребер, то . Р Р' 3n^ 2m + 2^n(n-l). A) 2) Доказать, что при четных п первое из неравенств A) дости- достигается. 3.21. Показать, что всякая разделяющая вершина сети мини- минимальна. 3.22. Показать, что всякая разделяющая вершина сети, смежная с обоими ее полюсами, минимальна. 3.23. Пусть все вершины сильно связной сети Г минимальны. Выяснить, может ли сеть Г быть: 1) s-разложимой; 2) р-разложимой; 3) i^-разложимой. 3.24. Пусть все внутренние вершины сети Г являются минимальными, сеть Г не является ни р-, ни s-разложимой, число вершин сети больше 3 и в Г нет кратных ребер. Доказать, что Г является #-сетью. асу Рис- 3.25. Доказать неразложимость сети, представленной на рис. 6.17. 3.26. Пусть G — двухсвязный граф без кратных ребер, степень каждой вершины которого не меньше 3. Верно ли, что, выбирая 15*
228 Гл. VI. Графы и сети произвольные две вершины в качестве полюсов, мы получаем нераз- неразложимую сеть? 3.27. Сколько попарно неизоморфных неразложимых сетей можно получить, выбирая в n-мерном единичном кубе две вершины в качест- качестве полюсов? 3.28. Пусть Г — сильно связная сеть без кратных ребер и 5(Г) — множество всех вершин сети г?, не являющихся минимальными. 1) Верно ли, что если в сети Г соединить каждую вершину v мно- множества S(T) с каждым из тех ее полюсов, с которыми v не соединена ребром, то получится неразложимая сеть? 2) Верно ли, что если в сети Г соединить каждую вершину v ровно с одним из тех ее полюсов, с которыми v не соединена ребром, то получится неразложимая сеть? 3) Верно ли утверждение п. 1) при условии, что Г является i^-разложимой сетью без кратных ребер? 4) Пусть сеть Г является ^-разложимой сетью без кратных ре- ребер. Достаточно ли для получения из нее неразложимой сети соеди- соединить каждую вершину v из S(T) с одним из полюсов, с которыми v не смежна? 5) Доказать, что разложимая сеть Г может быть сделана неразло- неразложимой добавлением ребер тогда и только тогда, когда она не имеет кратных ребер, не имеет ребер, соединяющих полюса, и обладает по меньшей мере четырьмя вершинами. 6) Указать разложимую сеть с наименьшим числом ребер и вер- вершин, которую нельзя сделать неразложимой с помощью замены сетей вида Ff и Г| на ребра. 3.29. 1) Пусть в сильно связной сети Г имеется ровно одна мини- минимальная вершина и не менее трех ребер. Доказать, что сеть Г является либо р-, либо s-разложимой. 2) Пусть в сильно связной сети Г, имеющей не менее трех ребер, все минимальные вершины эквивалентны между собой. Доказать, что сеть Г либо р-, либо s-разложима. 3.30. 1) Доказать, что если в Н-сети удалить вершину вместе с инцидентными ее ребрами, то получится связный граф. 2) Верно ли утверждение 1) для ^-разложимых сетей? 3.31. Пусть G = (V, W, X) — связный двудольный граф, степень каждой вершины которого не меньше 2. Пусть Г (а, Ь) — сеть, пост- построенная путем добавления вершин а и Ь в качестве полюсов и соеди- соединения ребром каждой вершины множества V с полюсом а и каждой вершины множества W с полюсом Ъ. Доказать, что Г (а, Ъ) является Н-сетъю. 3.32. Для каждой из тг-сетей, представленных на рис. 6.16, а, б, г, д, построить диаграмму расщепления. 3.33. Для каждой из диаграмм расщепления Т(Г), представлен- представленных на рис. 6.18, восстановить сеть Г.
§ 3. Деревья и сети 229 Рис. 6.18 3.34. Доказать, что число попарно неизоморфных тг-сетей с h ребрами не превосходит 2G4(L~J. 3.35. Доказать эквивалентность следующих двух определений тг-сеттш: 1) сильно связная сеть Г(а, Ъ) называется тг-сетью, если ее ребра можно ориентировать так, что в каждой простой цепи, соединяющей полюса а и Ь, все ребра цепи направлены от а к Ь; 2) тг-сетями являются те и только те сети, которые получаются следующим индуктивным процессом. Базис индукции. Сети Г^ и Г| (рис. 6.19, а) суть тг-сети. Ь = с ао ob а&////АУШ>РЪ а<Ш$%$Ш%>й а = с b = d Рис. 6.19 Индуктивный переход. Если сети А и В (рис. 6.19,6) яв- являются тг-сетями, то и сети, представленные на рис. 6.19, в, также являются тг-сетями. 3.36. Пусть </?(Г) — число цепей сети Г, а ip(n) = тах</?(Г), где максимум берется по всем тг-сетям с п ребрами. Положим s(n) = О при п = 3m, s(n) = 2 при п = Зт + 1, s(n) = 1 при п = Зт + 2. Показать, что <рA) = 1 и у?(п) = B/3)s(n) • 3]п/3[ при п > 1. Длиной цепи называется число ребер в ней. Кратчайшей цепью называется цепь наименьшей длины. Длиной сети называется длина ее кратчайшей цепи. Разрезом называется множество ребер сети, удаление которых разрушает все цепи. Разрез называется тупиковым, если никакое его подмножество не является разрезом. Разрез называ- называется минимальным, если он имеет минимальное число ребер. Число ребер в минимальном разрезе называется шириной сети. 3.37. Доказать, что в тг-сети пересечение любой простой цепи и любого тупикового разреза содержит ровно одно ребро. 3.38. Доказать, что для любой сильно связной сети с т ребра- ребрами, имеющей длину / и ширину t, справедливо неравенство т ^ It.
Глава VII ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ § 1. Алфавитное кодирование. Критерий однозначности кодирования Пусть 21 = {а\, а2, ..., аг} — алфавит. Конечная последователь- последовательность символов из 21 называется словом в алфавите 21. Через 5B1) будет обозначаться множество всех слов в алфавите 21. Пусть 21 и 03 — два алфавита. Однозначное отображение F произвольного подмножества М С 5B1) на подмножества С С 5@3) называется кодированием. При этом слова из М называются сообщениями, а их образы — кодами сообщений. Множество С называется кодом мно- множества сообщений М. Алфавит 21 называется алфавитом сообщений, а алфавит 03 — кодирующим алфавитом. Кодирование F (или код С) называется взаимно однозначным или однозначно декодируемым, ес- если каждый код сообщения является кодом ровно одного сообщения. Пусть задано отображение Е букв алфавита 21 в множество 5@3) вида Г а2 —у В2 аг -у Вг. Кодирование F^: 5B1) —У 5@3), удовлетворяющее свойствам: 2) ^Е(а^^2...а^)= BhBi2...Bik, где под произведением слов Л5 понимается приписывание слова 5 справа к слову А, называется алфавитным кодированием, задаваемым схемой Е. Множество кодовых слов {Bi, B2, ..., Вг} будет обозна- обозначаться через С(Е) и называться кодом алфавита в схеме Е. Если В = BiB2, то В\ называется префиксом, ъ,В2 — суффиксом слова В. Префикс (суффикс) слова В называется собственным, если он отличен от пустого слова (обозначаемого через Л) и от само- самого слова В. Длиной слова называется число букв в нем. Схема Е (код С(Е), кодирование F%) обладает свойством префикса, если для любых слов Bi и Bj (i ф j) из С(Е) слово Bi не является префиксом
§ 1. Алфавитное кодирование 231 слова Bj. Код *S(E), обладающий свойством префикса, называется еще префиксным кодом. Префиксный код С(?) называется полным, если для каждого сло- слова Р в кодирующем алфавите справедливо одно из следующих утверж- утверждений: 1) Р является префиксом (не обязательно собственным) некото- некоторого слова из С(?); 2) некоторое слово из С(?) является собственным префиксом слова Р. Один из алгоритмов распознавания однозначности декодирования заключается в следующем. Пусть С(?) — алфавитный код. Пусть Si — множество слов [5, обладающих следующим свойством: слово [5 явля- является собственным суффиксом некоторого кодового слова В и собст- собственным префиксом некоторого кодового слова Bi, отличного от В, и, кроме того, не является кодовым словом кода С(?). Положим S = = Si U {Л}. Сопоставим коду С(?) ориентированный граф Се, вер- вершинами которого являются элементы множества S и в котором дуга, ведущая из вершины а в вершину [5 (C ф а), присутствует тогда и только тогда, когда существует кодовое слово В и последовательность Р = Bix, ..., Bis кодовых слов такие, что В = аВ^ ... Bisf3. При этом последовательность Р может быть и пустой, если ни одна из вершин а, C не совпадает с Л. Дуге, ведущей из а в [5, припишем последова- последовательность Р. Дуги вида (а, а), ведущие из а в а, рассматриваться не будут, за исключением случая а = Л. Дуга (петля) из Л в Л при- присутствует в графе Се тогда и только тогда, когда существуют сло- слово В и последовательность кодовых слов Р = Bi, ..., Bs, где s ^ 2, такие, что В = Bi ... Bs. Петле (Л, Л) припишем слово В. Справедливы следующие утверждения. Теорема 1 (Ал. А. Марков). Алфавитный код С(Е) является однозначно декодируемым тогда и только тогда, когда в графе Се отсутствуют контуры и петли, проходящие через вершину Л. Теорема 2 (неравенство Макмиллана). Для всякого однозначно декодируемого кода в q-буквенном кодирующем алфавите с набором длин кодовых слов li, Ь, • • • ? 1г выполнено неравенство ±?^ Теорема 3. Для всякого однозначно декодируемого кода С(Е) в кодирующем алфавите 03 с набором длин кодовых слов li, Ь, •••? 1г можно построить префиксный код С(Е') с тем же набором длин кодовых слов и в том же кодирующем алфавите. Следствие. Пусть /i, Ь? •••? ^г — натуральные числа такие, г что 2^,Q~li ^ 1- Тогда существует префиксный код в q-буквенном ко- дирующем алфавите с набором длин кодовых слов вида {h,h, • • • •> К}- Пример 1. Выяснить, является ли кодирование Fe взаимно од- однозначным, если С(Е) = {a, ab, cab, baac}. Если да, то указать слово, декодируемое двумя способами.
232 Гл. VII. Элементы теории кодирования ааЪ Л а б Рис. 7.1 Решение. Граф Gs показан на рис. 7.1, а. Существует контур, проходящий через вершину Л. Выписывая слова, приписанные вер- вершинам и дугам контура, получаем слово, декодируемое неоднозначно: Г~1 I 1 I 1 а Ъаас аЪ = аЪ a a cab. Пример 2. Та же задача для кода С(?) = {а, Ь, ааЪ}. Решение. Граф Ge показан на рис. 7.1,6. Граф содержит пет- петлю (Л, Л). Код не является однозначно декодируемым. Слово, декоди- декодируемое неоднозначно, есть: ааЬ = а а Ь. *-d i_i i_i i_i Пример 3. Та же задача для кода С(?) = {cab, abc, bcc, abca, аЪсЪ}. Решение. Граф Ge показан на рис. 7.1,6. Контуров и петель, проходящих через Л, нет. Код является однозначно декодируемым. 1.1. Выяснить, обладает ли код С свойством префикса: 1) С = {а, Ъа, ЪЪ, ЪЪЪа}; 2) С = {аЪ, ЪЪ, Ъа, ааЪ}; 3) С = {ас, с, ЪЪ, abc, Ъас, abb, abcb}; 4) С = {а, ba, cab, acb}; 5) С = {а, ba, bba, ..., (b)na, ... }; 6) С = {а, Ьа, ..., с(а)п, ...}. 1.2. Выяснить, является ли код С с кодирующим алфави- алфавитом {0, 1, 2} однозначно декодируемым: 1) С = {01, 201, 112, 122, 0112}; 2) С = {001, 021, 102, 201, 001121, 01012101}; 3) С = {0, 01, 0010001001}; 4) С = {20, 01202, 22, 2001, 2012010, 10201121, 1112}; 5) С = 01, 011, 100, 2100, 101210, 001210}; 6) С = {01, 011, 100, 2100, 10110, 00112}; 7) С = {01, 12, 021, 0102, 10112}; 8) С = {01, 12, 012, 111, 0102, 10112, 01112}; 9) С = {01, 12, 012, 0102, 020112}; Ю) С = {01, 10, 210, 121, 0210, 0112}; 11) С = {01, 10, 210, 201, 0210, 011022, 2221}; 12) С = {01, 10, 210, 201, 0210, 011022, 221}; 13) С = {01, 10, 210, 201, 0210, 011022};
§ 1. Алфавитное кодирование 233 14) С = {01, 12, 011, 01210, 20120, 2011220}; 15) С = {01, 12, 011, 01210, 201120, 2011220}; 16) С = {000, 0100, 10, 1001, 0010010}; 17) С = {01, 12, 01121, 21201}. 1.3. Выяснить, является ли слово Р в алфавите {0, 1, 2} кодом сообщения в кодировании, задаваемом схемой ' 1 —^ 10 2^ 12 Е: 3 ^ 012 4-> 101 5 ^ 2100 Если да, то выяснить, является ли Р кодом ровно одного сообщения: 1) р = 10120121012100; 2) Р = 1012101201210012; 3) Р = 0121001210201; 4) Р = 120120121001210; 5) Р = 1010122100; 6) Р = 12101210012; 7) Р = 101212101012; 8) Р = 1010012100101. 1.4. Выбрать максимальное по числу элементов подмножество В множества А с условием, что двоичные разложения наименьшей дли- длины чисел из В представляют собой а) префиксный код; б) однозначно декодируемый код: 1)А = {1, 5, б, 7, 12, 13, 17}; 2) А = {1, 3, б, 8,10,13,19,33,37}; 3) А = {2, б, 7, 9, 12, 15, 18, 35, 36, 37}; 4) А = {1, 2, 5, 8, 9, 10, 13, 15}; 5) А = {2, 3, 7, 8, 11, 12, 13, 14}; б) А = {3, 5, 6, 9, 10, 13, 17}; 7) А = {1, 2, 5, 8, 9, 12, 13, 14}; 8) А = {5, 6, 7, 8, 9, 10, 11, 12, 13}; 9) А = {4, 6, 7, 10, 13, 15, 20, 23, 25}; Ю) А = {5, 7, 9, 10, 12, 14, 17, 23, 24}. 1.5. Для кода С найти слово минимальной длины, декодируемое неоднозначно: 1) С = {10, 01, 12, 012, 2100, 12011, 12010}; 2) С = {0, 101010, 01010101}; 3) С = {0, A0)fe+1, @1)*}; 4) С = {010, 101, 01010, @1)*}, А; = 3s + 1; 5)С = {0, A0)*, @1)-}; 6) С = {001, 011, 100, ПО, A100)*}, к = 3s; 7) С = {0, 10, 11, A01)*}; 8) С = {01, 10, 11, A10)*}, к = 2s; 9) С = {0к, 0ш}; 10) С = {@1)fe0, 0A0)fe+1, l@1)m}; П) С = {0, 0*1, l@)m}; 12) С = {@1)*, A0)m, @1)s0}; 13) C = {@1)fe, @1)fe+10, A0)fe+2l, A0)*l}; 14) C = {0, 0fel@)m, (l@)mJl}; 15) C = 16) C =
234 Гл. VII. Элементы теории кодирования 1.6. Построить двоичный префиксный код С с заданной последо- последовательностью L длин кодовых слов: 1)L = A, 2, 3, 3); 2)L=A, 2,4, 4, 4,4); 3) L = B, 2, 3, 3, 4, 4, 4, 4); 4) L = B, 2, 2, 4, 4, 4); 5) L = B, 2, 3, 4, 4); 6) L = B, 3, 3, 3, 4, 4). 1.7. С помощью неравенства Макмиллана выяснить, может ли набор чисел L быть набором длин кодовых слов однозначно декоди- декодируемого кода в g-значном алфавите: 1) L = A, 2, 2, 3), q = 2; 2) L = (I, 2, 2, 3), g = 3; 3)L = B, 2, 2, 4, 4, 4), 4 = 2; 4)L = A, 2, 2, 2, 3, 3, 3, 3), 4 = 3; 5)L = A, 1, 2, 2, 3, 3, 3), 4 = 3; 6)L = A, 1, 1, 2, 2, 2, 2, 3), 4 = 4. 1.8. Пусть в алфавитом двоичном коде С таком, что \С\ > 2П, каждое слово имеет длину, не превышающую п. 1) Может ли код С быть однозначно декодируемым? 2) Может ли код С быть префиксным? 1.9. Пусть С(?) — алфавитный код со схемой Е, |С(?)| = г, сум- сумма длин кодовых слов равна 7V, а максимальная из длин кодовых слов равна /. Доказать, что код С(?) является однозначно декодируемым, если однозначно декодируются все коды сообщений, имеющие длину, не превышающую (/ — 1)(N — г + 1) + 1. 1.10. Пусть к — наименьшая, а / — наибольшая из длин кодовых слов алфавитного кода С(?) и N — сумма длин кодовых слов. Пока- Показать, что для установления однозначной декодируемости кода С(Е) достаточно исследовать на однозначную декодируемость все коды сообщений, имеющих длину не больше Nl/k в алфавите сообщений. 1.11. Пусть М — множество, состоящее из г непустых слов в алфавите, имеющем q букв. Показать, что: 1) в М найдется слово длины не меньше logq(q + r(q — 1)) — 1; 2) для всякого е > 0 доля тех слов из М, длина которых не пре- превосходит A — е) logg(l + r(q — 1)), не больше e(r(q-l))-? при г ^2, О 2. 1.12. Доказать, что префиксный код С(Х) с ^"буквенным коди- кодирующим алфавитом тогда и только тогда является полным, когда г выполнено равенство \_. Я~ 1 = 1? гДе 'ъ Ь? • • • •> 1г — длины кодовых слов из С(?). 1.13. Пусть /i, /2, • • • •> lr — целые неотрицательные числа такие, что V^ 2li ^ 2П. Доказать, что в кубе Вп существуют попарно непе- г=1 ресекающиеся грани gi, 42, • • • ? Qrj размерности которых равны соот-
§ 2. Коды с минимальной избыточностью 235 ветственно /i, I2, • • • •> In- Напомним, что к-мерной гранью куба Вп на- называется всякое множество д, для которого существуют подмножест- подмножество {ii, %2ч ..., in-k} множества {1, 2, ..., п} и набор <ti, СГ2, ..., <Jn-k такие, что g = {(аь а2, •••, «n) G #n | ац = c^-, j = 1, ..., n - k}. 1.14. Пусть код С(?) состоит из двух непустых слов и не яв- является однозначно декодируемым. Доказать, что наименьшая длина декодируемого слова не превышает 21 — 1, где / — наибольшая из длин кодовых слов. Привести пример кода, для которого эта верхняя оценка достижима. 1.15. Пусть Х(С) — наименьшая длина неоднозначно декоди- декодируемого слова в кодирующем алфавите кода С. Положим X(N, r) = = тахХ(С), где максимум берется по всем неоднозначно декодируе- декодируемым кодам С с г кодовыми словами и суммой длин кодовых слов, равной N. Доказать, что: 1) существует положительная константа с\ такая, что X(N, 3) ^ 2 2) для всякого к существуют такие число N ^ к и код С = {В\, з В2, В3}, что ^2l(Bi) = N и Х(С) ^ c2N2, где с2 — константа, г=1 не зависящая от к. § 2. Коды с минимальной избыточностью Пусть заданы алфавиты А = {ai, a2, ..., ar}, В = {6i, 62, ..., bq} г и набор вероятностей Р = (pi, P2, ..., pr), Pi > 0, /_^Рг = 1- Пусть г=1 G = {wi, и>2, ..., ^г} — алфавитный префиксный код в алфавите В такой, что слово Wi G С является кодом буквы о^ G i, и ^ — длина п слова Wi (г = 1, ..., г). Число 1ср(С, Р) = ^/гРг называется г/з^ьг- г=1 точностью кода С или средней длиной кодового слова в коде С По- Положим Г{Р) = infcZcp(C, Р). Код С* такой, что 1ср(С*, Р) = Г(Р), называется q-ичным кодом с минимальной избыточностью для набо- набора вероятностей Р (или оптимальным (Р, q)-KodoM). Метод Хаффмена для построения оптимальных (Р, 2)-кодов опи- опирается на следующие утверждения. 1. Среди кодовых слов максимальной длины / оптимального (Р, 2)- кода найдутся два слова, имеющие один и тот же префикс длины / — 1. 2. Если слова a;i, ujj оптимального (Р, д)-кода соответствуют ве- вероятностям pi, pj и pi > pj, то длины l(wi) и 1(wj) этих слов связаны неравенством l(wi) ^ l(wj)-
236 Гл. VII. Элементы теории кодирования 3. Теорема редукции. Пусть С = (w\, W2, ..., wr) — двоич- г НЫй К0д, Р = (pi, р2, • • • , Pr), Pi ^ Р2 ^ • • • ^ Pr, Pi > О, ^Р; = 1 — г=1 распределение вероятностей. Пусть wi, Wj (слова, имеющие макси- максимальную длину I и соответствующие вероятностям pi, pj) обла- обладают одинаковыми префиксами w длины 1 — 1. Положим р' = pi + pj и рассмотрим распределение вероятностей Р' = (pi, ..., Pk-i, p'', pk+1, ..., pi-г, pi+i, ..., pj-!, pj+1, ...,pr), в котором вероятности расположены в порядке невозрастания. Код С = (С U {u?})\{u?i, u?j} является (Pf, 2)-оптимальным тогда и только тогда, когда код С является (Р, 2)-оптимальным. Процедура Хаффмена для построения оптимального (Р, 2)-кода заключается в следующем. Пусть вероятности в распределении Р = = (ръ Р2, ..., рг) расположены в порядке невозрастания. Исключим из Р вероятности pr_i и рг, а их сумму р вставим в оставшийся набор таким образом, чтобы в получившемся новом наборе вероятности не возрастали. Эта процедура повторяется до тех пор, пока не полу- получится набор из двух вероятностей. Для такого набора вероятностей оптимальным является код, в котором каждой букве из алфавита сообщений А ставится в соответствие 0 или 1. Исходя из полученного на некотором шаге оптимального кода С в соответствии с теоремой редукции можно перейти к расширенному оптимальному коду С, имеющему мощность, на единицу большую, чем код С. Продолжая этот процесс, придем к искомому оптимальному (Р, 2)-коду с г сооб- сообщениями. Пример 1. Пусть А = {1, 2, ..., 6}, В = {0, 1}, Р = @,4; 0,3; 0,1; 0,1; 0,05; 0,05), г = 6. Схема построения оптимального (Р, 2)-кода выглядит следующим образом: А 1 2 3 4 5 6 Р 0,4 0,3 0,1 0,1 0,051 0,05] pi pU 0,4 0,4 0,3 0,3 0,1 0,2] o,ib,o,ij o,i/ pill 0,4 0,3\y ? pIV 0,6 /0,4 0 1 l\ TOO loi^ c11 1 00 foio lon^ 1 00 011 с с 1 00 011 0100 Joioio loion Всякому префиксному коду С в g-ичном алфавите В с задан- заданным набором вероятностей Р можно сопоставить помеченное дере- дерево D(C, P, q), называемое в дальнейшем деревом кода С, следую- следующим образом. Сопоставим каждому кодовому слову висячую верши- вершину, каждому собственному префиксу внутреннюю вершину, причем одинаковым префиксам разных кодовых слов сопоставим одну и ту
§ 2. Коды с минимальной избыточностью 237 же внутреннюю вершину. Пустому префиксу сопоставим вершину, называемую корнем дерева. Соединим две вершины, соответствую- соответствующие префиксам v и w, ребром с пометкой Ь, если v = wb или w = vb, где b — буква алфавита В. Висячим вершинам припишем вероят- вероятности, с которыми встречаются соответствующие кодовые слова. Дерево D{C, P, q) устроено так, что последовательность пометок, приписанных ребрам цепи, соединяющей корень дерева с висячей вершиной, представляет собой соответствующее кодовое слово. Непо- Непомеченное корневое дерево, полученное из D{C, P, q) путем отбрасыва- отбрасывания пометок, будем называть остовом дерева D(C, P, q). Пример 2. Пусть задан префиксный код С = {Ь, с, аа, ab, аса, acb, асе} и набор вероятностей, соответствующих кодовым словам, /1111 1 1 1\ тт рртт А-' —— | I I I ртлр_ V3' 9' 3' 27' 27' 27' 97* П Р во D(C, P, q) показано на рис. 7.2. Дерево D(C, P, q), соответствующее оп- оптимальному (Р, д)-коду С, будет назы- называться оптимальным. Порядком ветвления вершины v в дереве D называется число ре- ребер, инцидентных вершине v и не лежащих на цепи, соединяющей вершину v с корнем. Будем говорить, что вершина принадлежит k-му ярусу дерева, если цепь, соединяющая эту вершину с корнем, содержит к ребер. Будем говорить, что ребро принадлежит к-му ярусу, если оно соединяет вершины к-то и (к + 1)-го ярусов. Дерево D называется (г, q)-насыщенным, если порядки ветвления всех его вер- вершин, за исключением, может быть, одной вершины, лежащей в послед- последнем ярусе, равны 0 или q, а порядок ветвления этой исключительной вершины равен qo, где q — 1, если — целое число, [Г 1 \(q — 1) в остальных случаях. Построение (Р, q)-оптимальных кодов С, обладающих (г, q)-на- q)-насыщенными деревьями, производится аналогично построению (Р, 2)- оптимальных кодов. Пример 3. Построить (Р, 3)-оптимальный код для Р = @,4; 0,3; 0,1; 0,1; 0,05; 0,05). Решение. Поскольку г = б, q = 3 и r/q — 1 — целое число, то до = # — 1 = 2. Число до дает количество «склеиваемых» на первом шаге вероятностей. Построение кода проведем в два этапа, как и в примере 1. Сначала редуцируем распределение Р, а затем, построив оптимальный код для трех сообщений, расширим его до г = 6. Схема построения оптимального (Р, 3)-кода имеет вид
238 Гл. VII. Элементы теории кодирования с1 с 2.1. С помощью процедуры Хаффмена построить двоичный код с минимальной избыточностью для набора вероятностей Р: 1)Р= @,4; 0,2; 0,2; 0,2); 2) Р = @,7; 0,1; 0,1; 0,1); 3) Р= @,2; 0,2; 0,2; 0,2; 0,2); 4) Р = @,5; 0,2; 0,1; 0,09; 0,08; 0,03); Ъ)Р= @,4; 0,3; 0,08; 0,06; 0,04; 0,04; 0,04; 0,04); 6) Р = @,3; 0,3; 0,2; 0,04; 0,03; 0,03; 0,03; 0,03; 0,03; 0,01); 7) Р = @,3; 0,2; 0,1; 0,1; 0,06; 0,06; 0,06; 0,06; 0,06); 8) Р = @,4; 0,2; 0,1; 0,05; 0,05; 0,05; 0,05; 0,05; 0,05). 2.2. Построить оптимальный (Р, д)-код для заданных Р и q: 1)Р=@,3; 0,2; 0,2; 0,2; 0,1), g = 3; 2)Р=@,4; 0,2; 0,1; 0,1; 0,1; 0,1), q = 3; 3) Р = @,3; 0,3; 0,1; 0,1; 0,1; 0,1), q = 3; 4) Р = @,4; 0,1; 0,1; 0,1; 0,1; 0,08; 0,06; 0,06), q = 3; 5) Р = @,3; 0,2; 0,1; 0,1; 0,1; 0,1; 0,1), q = 4; 6) Р = @,21; 0,20; 0,17; 0,16; 0,12; 0,08; 0,04; 0,02), q = 4; 7) Р= @,20; 0,15; 0,15; 0,13; 0,12; 0,11; 0,11; 0,03), q = 4; 8) Р= @,23; 0,22; 0,18; 0,17; 0,08; 0,04; 0,02; 0,02; 0,02; 0,02), 4 = 4; j V3' 3' 9' 9' 27' 27' 54' 547' ^~ ' j " U' 4' 16' 16' 16' 16' 20' 20' 20' 20' 20У' ^ " 2.3. Для заданного g указать набор вероятностей Р, при котором существует g-ичный префиксный код с заданным набором длин кодо- кодовых слов L, являющийся (Р, q)-оптимальным. Построить этот код: l)g = 2, L=(l, 2, 3, 4, 5, 5); 2) g = 2, L = B, 2, 2, 3, 3); 3)g = 2, L=B, 2, 3, 3,4, 4, 4,4); 4)g = 2, L = A, 2, 4, 4, 4, 4); 5) g = 3, L = A, 1, 2, 2); 6) « = 3, L = A, 1, 2, 3, 3, 3); 7) q = 3, L = A, 2, 2, 2, 2, 2, 2); 8)g = 4, L=(l, 1, 2, 2, 2, 2, 2, 2); 9)g = 4, L=(l, 1, 1, 2, 2, 2, 3, 3, 3); 10)g = 4, L = (l, 1, 2, 2, 2, 2, 2, 2).
§ 2. Коды с минимальной избыточностью 239 2.4. Для префиксного кода С с заданным набором вероятностей Р построить дерево D(C, P, q), соответствующее коду. Выяснить, явля- является ли код С оптимальным: 1) С = {1, 00, 01, 02, 20, 21}, Р = @,5; 0,1; 0,1; 0,1; 0,1; 0,1); 2) С = {00, 01, 10, ПО, 111}, Р = A; 1; 1; ±; ±); 3) С = {0, 10, 110, 1110, 1111}, Р = A; 1; 1; -L; 1); 4) С = {0, 1, 20, 21, 220, 221}, Р = (|; J; *; *; ^ ?); 5) С = {0, 10, 11, 120, 121, 122}, Р = (I; 1; -L; -L; 1; -L); 6) С = {0, 20, 21, 220, 221, 222}, Р = (±; I; I; 1; ^; -L; 1); 7) с = {о, ю, п, 20, 210, 222}, р 8) С = {0, 10, 11, 12, 20, 22}, Р = (I; I; I; I; |; |); 9) с = {о, ю, и, 120, 121, 122}, р= & f; f; f; f; 10) С = {0, 1, 20, 21, 220, 221}, Р = (|; |; |; |; |; |). 2.5. а) Выяснить, какие из найденных в задаче 2.4 деревьев явля- являются насыщенными. б) Выяснить, какие из этих деревьев могут быть остовами опти- оптимальных кодовых деревьев. 2.6. Верны ли следующие утверждения? 1) Оптимальное дерево D(C, P, 2) является насыщенным. 2) Оптимальное дерево D(C, P, g), q > 2, является насыщенным. 3) В оптимальном дереве нет вершин с порядком ветвления, рав- равным 1. 4) В оптимальном дереве все вершины, кроме одной, имеют поряд- порядки ветвления либо 0, либо q. 5) В оптимальном дереве все вершины, за исключением вершин яруса / — 1, где / — максимальная длина кодового слова, имеют по- порядок ветвления либо 0, либо q. 6) Всякое непомеченное (г, д)-насыщенное дерево можно пометить так, что получится оптимальное кодовое дерево. 2.7. 1*) Доказать, что префиксный код с g-значным кодирующим алфавитом и совокупностью длин кодовых слов L = (Ai, Л2, ..., Аг) г является полным, если У^#~Л' = 1, т.е. если в неравенстве Макмил- г=1 лана имеет место равенство. 2) Используя теорему редукции, доказать следующее: при q = 2 всякий код с минимальной избыточностью является полным. 3) Верно ли утверждение п. 2) для q > 2?
240 Гл. VII. Элементы теории кодирования 2.8. Доказать, что во всяком коде с минимальной избыточностью среди кодовых слов наибольшей длины найдутся два слова, разли- различающихся только последней буквой. 2.9. Доказать, что в двоичном коде с минимальной избыточностью число слов максимальной длины четно. 2.10. Выяснить, существует ли двоичный код с минимальной избыточностью, обладающий заданной последовательностью L длин кодовых слов: 1) L = B, 3, 3, 3); 2) L = C, 3, 3, 3); 3) L = A, 3, 3, 3, 3); 4) L = A, 2, 3, 4); 5) L = A, 2, 3, 4, 4); 6) L = A, 2, 3, 4, 4, 4); 7)L = A, 2, 3, 4, 4, 4, 4); 8) L = A, 3, 3, 3, 3, 3, 3); 9) L = A, 4, 4, 4, 4, 4, 4, 4, 4); 10) L = C, 3, 3, 3, 3, 3). 2.11. Выяснить, существует ли g-ичный код с минимальной из- избыточностью, обладающий заданной последовательностью L длин кодовых слов: 1) L = A, 1, 2), q = 3; 2) L = A, 1, 2, 2), q = 3; 3) L = A, 1, 2, 2, 2, 2), G = 3; 4) L = A, 2, 2, 2, 2, 2, 2), G = 3; b)L = B, 2, 2, 2, 2, 2, 2), g = 3; 6) L = C, 3, ..., 3), q = 3; 26 раз 7) L = C, 3, .... 3), (? = 3; 25 раз 8)L = A, 1, 2, 2, 3, 3, 4,4, 5, 5, 5), q = 3; 9) L = B, 2, ..., 2, 3, 3, 3, 3), q = 4; 10 L = B, 2, Г., 2, 3, 3, 3), (? = 4. 11 раз 2.12. Показать, что если q < г ^ qs — q + 1, s = 2, 3, ..., то в g-ичном коде с минимальной избыточностью, содержащем г кодовых слов, найдутся два слова разной длины. 2.13. Код называется почти равномерным, если длины его кодо- кодовых слов различаются не более чем на единицу. 1) Показать, что для всякого натурального г найдется почти рав- равномерный код мощности г, являющийся кодом с минимальной избы- избыточностью для набора вероятностей Р вида A/г, 1/г, ..., 1/г). 2) Существуют ли наборы вероятностей, отличные от Р, для кото- которых почти равномерный двоичный код является кодом с минимальной избыточностью? 2.14. Показать, что максимальная длина кодового слова оптималь- оптимального двоичного кода мощности г не превосходит г — 1. 2.15. Указать такой набор вероятностей Р = (pi, p2, • • •, Рг), что набор длин кодовых слов двоичного кода с минимальной избыточ- избыточностью для набора Р имеет вид A, 2, 3, ..., г — 2, г — 1, г — 1).
§ 3. Самокорректирующиеся коды 241 2.16. Доказать (индукцией по г), что сумма длин кодовых слов двоичного кода с минимальной избыточностью с г сообщениями не превосходит - (г + 2)(г — 1). 2.17. Используя теорему редукции, показать, что число оптималь- оптимальных двоичных кодов с г кодовыми словами не превосходит 2г(г — 1)!. 2.18. 1) Доказать, что число схем Е: а^ —у Bi (ъ = 1, ..., г), где ai — буквы алфавита А, \А\ = г, Bi — слова в алфавите В длины не больше г — 1 (\В\ = q), не превосходит qr . 2) Префиксный алфавитный код со схемой Е: а^ —у Bi (г = 1, ..., г) будем называть тупиковым, если после удаления любой буквы из любого слова Bi код перестает быть префиксным. а) Верно ли, что оптимальный код является тупиковым? б) Доказать, что число тупиковых алфавитных g-ичных кодов мощности г не превосходит DqJr. Указание. Оценить число помеченных деревьев, соответствую- соответствующих тупиковым кодам. 2.19. Пусть Р = (pi, р2, • • • ? Рг) — набор вероятностей, а /*(Р) = = inf/ср(С, Р), где нижняя грань берется по всем двоичным префикс- о ным кодам мощности г. Доказать, что: 1) ЦР) > 1 при г ^3; 2) для всякого е > 0 и любого г ^ 1 существует набор вероятнос- вероятностей Р такой, что 1*(Р) < 1 + е. 2.20. Пусть l(r) = supinf/ср(С, Р), где нижняя грань берется по р с всем префиксным g-ичным кодам мощности г, а верхняя грань берется по всем наборам вероятностей Р = (pl5 р2, • • •, Рг) таким, что Pi > О (г = 1, ..., г), /_^Рг = 1- Доказать, что: г=1 1) Т(г) > (bg, г) - 1; 2) T(r) ^ [log, г] + 1. § 3. Самокорректирующиеся коды 1. Расстояние Хэмминга, шары, сферы и циклы в п-мерном кубе. Напомним, что расстоянием Хэмминга между вершинами а и C куба Вп называется число р(а, C) = ^ \щ — А|, равное числу ~ г=1 _ координат, в которых векторы а и /3 различаются. Наборы 5, /3 из Рп называются соседними, если рE, /3) = 1, и противоположными, ес- если рE, /3) = п. Неупорядоченная пара соседних вершин называется ребром куба. Множество В^(а) = {C G Рп: р(а, C) = &} называется сферой радиуса к с центром й, a S%(a) = {/3 G Pn: р(а, C) ^ к} — 16 Г. П. Гаврилов, А. А. Сапоженко
242 Гл. VII. Элементы теории кодирования шаром радиуса к с центром а. Положим В% = В^@). Множест- Множество В^ называется к-м слоем п-мерного куба. Последовательность (йо, их, ..., й^) называется цепью в Вп, если р(й^_1, й&) = 1. Цепь (йо, их, ..., й^) такая, что р(Й?, йо) = 1, называется циклом. Цепь (йо, Й1, ..., dik) такая, что й^-i <оц (г = 1, ...,&), называется возрас- возрастающей цепью. Число & называется длиной цепи (йо, их, ..., й^). Цикл С куба Вп называется Id-циклом, если |С П 5^(й)| = 2d + 1 для каждого й Е С. Через B™^yG^%h обозначим множество всех набо- наборов (Й1, Й2, ..., йп) таких, что otij = ctj (j = 1, ...,&). Всякое такое множество называется (п — к)-мерной гранью направления (ii, ..., г^). 3.1. Доказать, что для любых й, /3, j из 5П выполнены соотно- соотношения: 1) р(а, Д) = рф, й); 2) р(а, j) <: р(а, Д) + рф, j); 3) p(S, й) = 0; 4) р(а, 7) =р(йеД, 7ФД), где (аь ..., ап) 0 (А, ..., /Зп) = 5) p(S, Д) = ||й 0 0\\L где ||(aiL..., ап)\\ = аг + ... + ап где (аь ...,ап)П (А, ..., /Зп) = (ai&^i, ..., an&f3n). 3.2. 1) Найти число ребер в Вп. 2) Найти число неупорядоченных пар наборов й, /3 из 5П таких, что р(й, /3) = &. 3.3. Найти число вершин в подмножестве: 1)А = В2(а); 2)A = S%(Z); Z)A = Blia) П B?(/J), где р(й, /3) = г; 4) Л = Sjf (й) П 5» (/3), где р(й, Д) = г. 3.4. Пусть й, /3 — вершины куба Вп, а рE, /3) = т. Найти число вершин -у, удовлетворяющих условию: 1) р(й, 7) + рG, Й = '°E' ^'; 2' Р& У + P&J) = г> 3) р(а, 7) = к, р(/3, 7) = г; 4) р(а, у) <: к, р(/3, у) ^ г. 3.5. Доказать несовместимость следующих систем соотношений для a, ft, 7 из Вп (п ^ 2): l)p(aj)>f, А>(Д,7)>у, РG,2)>у; 2) г/E) < г/(Д®7), г/(Д) <г/(а0 7), с(т) < ^ Ф Й; |5П(ДП7)|=О. 3.6. Множество А С 5П называется полным в Вп, если любой вектор /3 G 5П однозначно восстанавливается при условии, что для каждого й G Л известно расстояние р(й, E). Полное в Вп множест-
§ 3. Самокорректирующиеся коды 243 во Л называется базисным, если для любого вектора 5 из Л множест- множество Л\{а} не является полным. 1) Показать, что любая цепь 5о, Si, ..., 5n_i в Вп образует ба- базисное множество. 2) Показать, что множества В™ и В™_1 являются полными в Вп при п > 2. Указать такое п > 2, что В™ не является базисным. 3) При каких пик множество В7^ не является полным в Вг Зп? 4) Доказать, что всякое базисное множество Л С Вп удовлетво- удовлетворяет условию nlog2 (п — 1) ^ |Л| ^ п. 5) Доказать, что никакая грань размерности п — 2 не является полным в Вп множеством. 6) Показать, что число фп базисных множеств в Вп удовлетворяет неравенствам 2((п — 1)!) ^ фп ^ ( J. 3.7. Пусть ip — взаимно однозначное отображение Вп на себя. Говорят, что (р сохраняет расстояние, если рE, /3) = р((р(а, <р(/3)) для всех 5, /3 из 5П. Доказать, что отображение сохраняет расстояние тогда и только тогда, когда оно может быть получено: а) с помощью некоторой перестановки координат во всех наборах из Вп\ б) заме- заменой 0 на 1 и 1 на 0 в некоторых координатах всех векторов. 3.8. Отображение ip множества Вп в себя называется монотон- монотонным, если из v(a) ^ i/(/3) вытекает, что г/((р(а)) ^ и((р(Р)). Найти число монотонных отображений куба из Вп. 3.9*. Пусть 1{А) — число ребер n-мерного куба, соединяющих пары вершин подмножества А С Вп, a In(m) = max \{A)\. АСВп ,\А\=т 1) Доказать, что In(m) ^ -7nlog2?Ti. 2) Доказать, что оценка п. 1) достигается при т = 2к. 3) Пусть А С Бп, |Л| > 2П-1. Доказать, что /(Л) ^ п. 4) Доказать, что 1{А) ^ п|Л| - тт{|Л|, 2п - |Л|}. 3.10. Пусть Fr(n) — семейство подмножеств А С 5П таких, что рE, C) ^ 2г для любых 5, /3 из Л. Пусть ipr{n) = max |Л|. 1) Доказать, что максимум А по всем A G Fr(n) не мень- 2) Для нечетного пи г = (п — 1)/2 привести пример множества Л G Fr(n), не являющегося шаром радиуса г ни в одном из подкубов куба Вп и такого, что \А\ = V^ f ? J. 3.11. Доказать по индукции, что наборы из Вп можно располо- расположить в цикл So, Si, ..., a2n-i- 16*
244 Гл. VII. Элементы теории кодирования 3.12. Двоичный вектор (ао, «i, ..., ct2n-i) называется п-уни- версалъным, если для всякого (/3i, ..., j3n) из Вп существует такой номер к, что Pi = a^ei (г = 1, ..., п), где к (В i = к + i (mod2n). На- Например, вектор (ООН) является 2-универсальным. 1) Выяснить, является ли n-универсальным вектор а2™: а) 54 = (ОНО); б) 54 = @101); в) 58 = @0011101); г) 58 = @0011010); д) 58 = @100 0111); е) 58 = @100 1110); ж) 516 = @000 11110010 1101); з) 516 = A100 10110100 ООН). 2) Доказать, что для всякого п существует п-универсальный вектор. 3.13. 1) Пусть 1(п) — максимальная длина 2-цикла в Вп. Най- ти 1B), /C), 1D). 2) Доказать, что для всякого 2-цикла С С Вп и любой грани G размерности 4 выполнено \С П G\ ^ 8. з) Доказать, что максимальная длина 2-цикла в Вп не превосхо- превосходит 2П~1 (п > 3). 3.14*. Пусть (f(n)/((ff(n)) — максимальная мощность множества А С Вп такого, что ||йП/3|| = 1 (соответственно ЦЙП/ЗЦ = 1) для любых двух различных векторов из А. Доказать, что: 1)ф)=п; 2)<р'(п) = 2п-\ 3.15*. Доказать, что куб Вп можно представить в виде объеди- объединения попарно непересекающихся возрастающих цепей, обладающих следующими свойствами: 1) число цепей длины п — 2к равно f^J — (л- — l)' к = 1, ..., ..., [п/2]; при этом минимальный набор каждой цепи длины п — 2к имеет вес к, а максимальный — вес п — к\ 2) если 5^, 5f+i, 5^+2 — три последовательные вершины цепи, имеющей длину п — 2к, то вершина [3 такая, что й^ < C < 5^+2, /3 ф Si-i, принадлежит цепи длины п — 2к — 2. 3.16*. Пусть А С Вп — такое множество наборов, что не су- существует наборов 5, /3, 7 из А, для которых йП/3 = 0 и Пусть аи = \А П В%\. Доказать, что k-\-m , а>к , 2. Коды, обнаруживающие и исправляющие ошибки. Под- Подмножество С С Вп называется (двоичным) кодом с расстоянием d или, короче, (n, d)-кодом, если min р(а, C) = d. Число d называ- ется кодовым расстоянием множества С. Максимальная мощность (п, с?)-кода будет обозначаться через т(п, d). Если мощность (n, d)- кода равна т(п, б?), то он называется максимальным. Плотно упако- упакованным кодом называется (п, 2с?+1)-код С, удовлетворяющий еле-
§ 3. Самокорректирующиеся коды 245 дующему условию: для всякого a Е Вп существует [3 Е С такое, что р{а, /3) ^ d. Множество С С Вп называется эквидистантным кодом, если величина р(а, [3) постоянна для любой пары наборов а, [3 из С. Множество С С 5П называется равновесным кодом, если су- существует целое число /с @ ^ k ^ п), называемое весож кода, такое, что С С 5^. Положим ш(п, б?, fc) = max |С|, где максимум берется по всем (п, с?)-кодам веса к. Подмножества С С 5П могут рассматриваться как множества двоичных слов, предназначенных для передачи по каналу связи, в котором могут происходить искажения передаваемых слов. Элементы множества С называются при этом кодовыми словами. Передача слова по каналу связи рассматривается здесь как преобразование, не меняющее длины передаваемого слова и состоящее в замене некоторых букв на противоположные, т.е. О на 1, а 1 на 0. Если слово 5 при передаче по каналу преобразовывалось в слово [3, отличное от 5, то говорят, что в канале произошли ошибки. Если г-я буква переданного слова а отличается от г-й буквы полученного слова /3, то говорят, что произошла ошибка в %-м разряде. Если полученное слово отличается от переданного в t разрядах, то говорят, что произошло t ошибок. Яс- Ясно, что число ошибок, имевших место при передаче, равно расстоянию Хэмминга между переданным и принятым словами. Пусть С С Вп — некоторый код. Произвольное однозначное отоб- отображение (f множества Вп на множество С называется декодирова- декодированием. Пусть 5 G С, а ф~1(а) — множество тех /3 G Вп, для которых ф(/3) = а. Пусть S™(a) — шар радиуса t с центром а в Вп. Говорят, что код С исправляет t ошибок, если существует такое декодирова- декодирование ф, что S™(a) С ф~1(а) для каждого a G С. Очевидно, что код С исправляет t ошибок тогда и только тогда, когда S™(a) П S™(C) = 0 для любых двух различных кодовых слов а, C из С. Говорят, что код С обнаруживает t ошибок, если любое слово, которое можно получить из произвольного кодового слова а в ре- результате не более t ошибок, отлично от любого слова С\{5}. Таким образом, код С обнаруживает t ошибок, если СП 5^E) = {5} для любого a G С. Метод Хэмминга построения кодов, исправляющих одну ошиб- ошибку, заключается в построении по произвольному двоичному набору а = oli, с%2, ..., ат, называемому в дальнейшем сообщением, коди- кодирующего слова /3 = /3i, /З2, ..., Рп •> гДе пит связаны соотношением п = min{/: 2т ^ 2l/(I + 1)}. Кодирующее слово [3 содержит все разря- разряды набора а и, кроме того, к проверочных разрядов Ро, pi, ..., Pk-i- При этом f3j = pi, если j = 2i (i = 0, 1, ..., к - 1), и f3j = «j-]iog2 j[, если j не является степенью двойки. Значения проверочных разря- разрядов ро, ..., Pk-i определяются из равенств вида Pi = A241 Ф &Ч2 Ф • • •, i = 0, ..., к-1,
246 Гл. VII. Элементы теории кодирования где в правую часть входят все координаты Pj Bг < j ^ п), у которых двоичное разложение индекса j имеет коэффициент при 2г, равный единице. Пример 1. Построим по методу Хэмминга кодовое слово для сообщения а = A011). Имеем т = 4, п = min{l: 2т ^ 21/A + 1)} = 7, к = п - т = 3. Кодовое слово /3 имеет вид РхРъРъРФьРьРч — = PoPilp2011. Значения проверочных символов определяются из ра- равенств р0 = р3 0 /35 0 /37 = 1 Ф 0 0 1 = 0, Р1 = Д, 0 Р6 0 /37 = 1 0 1 0 1 = 1, Р2 = Ръ Ф 06 Ф #7 = 0 0 1 0 1 = 0. Таким образом, кодовым словом для а является вектор Р = @110011). Декодирование состоит в том, что по вектору Р = (/3i, ..., /Зп), полученному из некоторого кодового слова путем искажения не бо- более чем в одном разряде, восстанавливается исходное сообщение а = = (ai, ..., am). Декодирование осуществляется следующим образом. Пусть m = [Iog2Bn/(n + 1))], к = п — т. Вычислим по вектору Р = = {Pi, • • •, Рп) к сумм вида Vi = p2i 0 /32г+1 0 ..., г = 0, ..., к - 1, где в г-ю сумму включаются все координаты Pj Bг ^ j ^ n), у кото- которых двоичное разложение индекса j имеет коэффициент при 2г, рав- равный единице. В результате получаем двоичный вектор v = (г?о, • • • ..., Vk—i) и число V(y) = у vi • 2г. Это число указывает номер 0^i<k разряда, в котором произошла ошибка. Если v(y) = 0, то считаем, что ошибки при передаче не было. Если V{y) > n, то считаем, что передавалось слово, которое не является ни кодовым словом сообще- сообщения 5, ни кодовым словом, искаженным в одном разряде. Пример 2. Декодировать вектор Р = A001110). Имеем п = 7, т = [log2B7/8)] =4, к = п-т = 3. Вычислим вектор v = (г?о, ^ъ щ)- Имеем v0 = р1 0 р3 0 ръ 0 р7 = 1 0 0 0 1 0 0 = 0, Vl = р2 0 Ръ Ф Рб Ф Р? = 0 0 0 0 1 0 0 = 1, v2 = Ра Ф Ръ Ф Рб Ф Рг = 1 Ф 1 Ф 1 Ф 0 = 1. Получаем, что i?(v) = 1 • 22 + 1 • 21 + 0 • 2° = 6. Следовательно, ошиб- ошибка произошла в шестом разряде. Неискаженный кодовый вектор имеет вид Р' = A001100). Вычеркивая проверочные разряды с номерами 1, 2, 4, получаем исходное сообщение а = @100). 3.17. 1) Показать, что код исправляет t ошибок тогда и только тогда, когда расстояние между любыми двумя кодовыми словами не меньше 2? + 1.
§ 3. Самокорректирующиеся коды 247 2) Показать, что код обнаруживает t ошибок тогда и только тогда, когда расстояние между любыми двумя кодовыми словами не мень- меньше t + 1. 3.18. Для данного множества С С Вп найти кодовое расстояние: 1) С = {11000, 10101, 01110}; 2) С = {111100, 110011, 001111); 3) С = {00001, 11111, 10100, 01010); 4) С = {101010, 010110, 000001); 5) С = {01101010, 11000110, 00011001, 10101100). 3.19. Для каждого из кодов С предыдущей задачи найти: а) число ошибок, которые код С обнаруживает; 6) число ошибок, которые код С исправляет. 3.20. Булева функция fix71) называется характеристической для подмножества С С Вп, если С = Nf. Определить, сколько ошибок обнаруживает и сколько исправляет код с характеристической функцией /: 1) f(xn) = хг 0ж2 0 ... Фжп; 2) f(xn) = х1х2...хп\/х1х2 . ..жп; 3) f(x3n) = Ж1Ж2 . . . Х3п 0 Ж1 . . . ЖпЖп+1 . . . Х3п 0 0 Жх . . . ХпХп+1 . . . Х2пХ2п+1 • • • Хзп 0^i... ?2n^2n+l • • • ^Зп 5 4) f(xn) = Ж1Ж2 ... жп_1 0 Ж1Ж2 ... хп-2хп 0 ... 0 х2х3 ...хп. 3.21. Построить по методу Хэмминга кодовое слово для сообще- сообщения: 1M = 010; 2M = 011; 3M=1001; 4M = 1101; 5) 5 = 10101011; 6) 5 = 111001111; 7) 5 = 100010011; 8) 5 = 01110111011. 3.22. По каналу связи передавалось кодовое слово, построенное по методу Хэмминга для сообщения 5. После передачи по каналу связи, искажающему слово не более чем в одном разряде, было получено слово /3. Восстановить исходное сообщение: 1) Д = 110; 2) Д = 101110; 3) Д = 011110; 4) Д = 1001011; 5) Д = 0101101; 6) Д = 1011101; 7) Д = 1100011; 8) Д = 11011100110; 9) Д = 1010101010100; Ю) Д= 001011110111111. 3.23. Доказать, что при кодировании сообщений по методу Хэм- Хэмминга кодовые слова, сопоставленные двум различным сообщениям одинаковой длины, различаются по меньшей мере в трех разрядах. 3.24. Множество сообщений R задано характеристической функ- функцией f(xn). Построить характеристическую функцию д(хп) мно- множества кодовых слов, соответствующих сообщениям из R: 1) /(г2) = а* ~ х2- 2) /(г2) = an v х2- 3) /(Ж3) = ХхХ2Х^ \11Х{Х2'ХЪ\ 4) /(Ж3) = ХХХ2 \/Х!Х2Х3.
248 Гл. VII. Элементы теории кодирования 3.25. Верно ли, что код С С Вп, исправляющий t ошибок, обна- обнаруживает: 1) не менее 2t + 1 ошибок; 2) не менее 2t ошибок; 3) не более 2t ошибок? 3.26. Показать, что из всякого подмножества С С Вп можно получить код, обнаруживающий одну ошибку, удалив из С не более половины вершин. 3.27. Показать, что мощность плотно упакованного (п, 2?+1)-кода равна , / г=0 3.28. Показать, что мощность максимального (n, 2t + 1)-кода не меньше 2п / /]\ г=0 3.29. Показать, что m(n,d) = 2 при 2n/3 < d ^ n. 3.30. Показать, что ш(п, 2п/3) = 4 при п, кратных 3. 3.31. Показать, что не существует максимальных кодов мощ- мощности 3. 3.32. 1) Показать, что при любом натуральном к и п = 2к — 1 существует разбиение куба Вп на непересекающиеся шары радиуса 1. 2) Показать, что при п = 2к существует разбиение куба Вп на непересекающиеся сферы радиуса 1. 3.33*. Доказать, что: 1) т{п + 1, d) ^ m(n, d); 2) ?n(n + d, d) ^ 2m(n, d); 3) mBn, d) ^ (ш(п, d)J; 4) ш(п, d) ^ 2m(n — 1, d); 5) т(п, d) ^ 2d/Bd - п) при n < 2d. 3.34. Пусть ^(n, d) — максимальное число вершин в Вп, попар- попарные расстояния между которыми не превосходят d. Доказать, что т(п, d+l)q(n, d) ^ 2n. 3.35. Показать, что из всякого множества С С 5П можно выде- выделить множество D мощности, не меньшей 2~d+1|C|, которое явля- является (n, d)-кодом. 3.36. Доказать, что т(п, d) ^ 2n"d+1. 3.37. 1) Показать, что максимальный (п, 2)-код имеет мощ- мощность 2п~1. 2) Выяснить, сколько существует максимальных (п, 2)-кодов. 3.38. Найти максимальную мощность множества С С Вп, в кото- котором расстояния между любыми двумя вершинами четны. 3.39. Выяснить, существует ли плотно упакованный (п, 3)-код при п = 147. 3.40. Показать, что не существует плотно упакованных A5, 7)-ко- 7)-кодов.
§4- Линейные коды 249 3.41. Показать, что мощность всякого эквидистантного кода с нечетным кодовым расстоянием не превосходит 2. 3.42. Показать, что при четном d существует эквидистантный код мощности [2n/d]. d_x 3.43. Доказать, что т(п, k, 2d) ^ (™)/ ^(*) (П 7 г=0 3.44. Доказать, что при 2&2 — пB& — d) > 0 3.45. Доказать, что при к ^ d ^ п — к: 1) ш(п, jfe, 2d) ^ \j m(n - 1, jfe - 1, 2d)|; 3) m(n, к, 2d) ^ [^-^ m(n - 1, A;, 2d)]; § 4. Линейные коды Выражение вида 0 А252 0 ... 0 AS5S, A) где ol{ G 5n, Af G {0, 1} (г = 1, ..., s), называется линейной комби- комбинацией векторов 5i,...,5s. Линейная комбинация A) называется тривиальной, если Ai = А2 = ... = Xs = 0, и нетривиальной в про- противном случае. Всякая линейная комбинация векторов из Вп является вектором из Вп. Векторы 5i, ..., as называются линейно независи- независимыми, если любая их нетривиальная комбинация отлична от нулевого вектора. В противном случае говорят, что векторы 5i, ..., as ли- линейно зависимы. Подмножество G С Вп называется группой, если G замкнуто относительно операции сложения по модулю 2, т.е. если для любых 5, C из G вектор 5 0/3 принадлежит G. Из замкнутости G относительно операции 0 вытекает, что всякая линейная комбинация векторов из G также принадлежит G (в частности, 0 G G). Наиболь- Наибольшее число k = k(G), для которого в группе (в линейном пространстве, которым также является группа в Вп) G существует к линейно независимых векторов, называется размерностью G. Совокупность из к линейно независимых векторов пространства размерности к называется базисом этого пространства. Если код С С Вп образует группу, то он называется линейным или групповым. Если линей- линейный код в Вп имеет размерность к, то он называется (п, к)-ко дом. Двоичный линейный код, исправляющий одну ошибку, называется кодом Хэмминга.
250 Гл. VII. Элементы теории кодирования Линейные коды удобно задавать с помощью матриц. Матри- Матрица Н(С), строками которой являются кодовые слова кода С С Вп, называется матрицей кода С. Матрица М(С), строками которой являются векторы некоторого произвольного базиса (п, &)-кода С, называется порождающей матрицей кода С. Если Н — произвольная матрица, строками которой являются векторы из Вп, то множест- множество С(Н), составленное из всех попарно различных вершин куба Вп, являющихся линейными комбинациями строк матрицы Н, называ- называется кодом, порожденным матрицей Н. Векторы 5 = (ai, ..., ап) и C = (/3i, ..., Рп) называются ортогональными, если ai/3i 0 ... ... 0 OLnfin — 0. Множество V(H) всех векторов из Вп, ортогональных к каждой из строк матрицы Н, называется нулевым пространством матрицы Н. Пусть С — двоичный код, каждое слово которого ор- ортогонально каждой строке некоторой матрицы Н. Если С являет- является (п, к)-кодом, а матрица Н состоит из п — к линейно независимых строк, то Н называется проверочной матрицей кода С. Множест- Множество С* всех векторов, представимых в виде линейной комбинации строк проверочной матрицы (п, &)-кода С, называется кодом, двойствен- двойственным к коду С. Через g(n, d) обозначается тах|С|, где максимум берется по всем линейным кодам С С Вп с кодовым расстоянием d. 4.1. Пусть векторы а и /3 из Вп являются кодовыми словами, построенными по методу Хэмминга. Доказать, что 5 0/3 также яв- является кодовым словом для некоторого сообщения. 4.2. 1) Выяснить, являются ли векторы множества А линейно зависимыми: а) А = {010, 101); б) А = {010, 011, 001}; в) А = {010, 101, ПО}; г) А = {101, ПО, 011}; д) А = {ОНО, 1011, 0100, 1001}; е) А = {1011, 0100, 1111, 0101}. 2) Найти множество векторов, являющихся линейными комбина- комбинациями векторов из А. 3) Найти множество всех ненулевых векторов, ортогональных каждому из векторов множества А. 4.3. Пусть множество С С Вп состоит из к линейно независимых векторов. Показать, что любые две линейные комбинации векторов множества С, различающиеся коэффициентами, представляют собой различные векторы. 4.4. Показать, что всякий (п, &)-код имеет мощность 2к. 4.5. 1) Показать, что в двоичном линейном коде либо каждый кодовый вектор имеет четный вес, либо половина кодовых векторов имеет четные веса и половина — нечетные. 2) Пусть Н(С) — матрица (п, &)-кода С. Показать, что в каждом ненулевом столбце ее ровно 2к~г единиц. 3) Если матрица Н(С) (п, к)-кода С не содержит ненулевых столб- столбцов, то сумма весов матрицы Н(С) равна п • 2к~х.
§4- Линейные коды 251 [5]' 11001" 10101 .01110. -ч „ Гош] б)я=[поо]; в) Н = ¦01001 11100 10110 Г 0001111  ; д) Н= 0110011 ; LioioioiJ 0101010" 11000101 01010011 00111100 ; ж)Я = 110110010" 0111100101 1001101010 0010011111 1101011101 4.6. Найти число векторов, ортогональных к данному ненулевому вектору а из Вп. 4.7. 1) По матрице Н найти кодовое расстояние d(C(H)) кода С(Н), порожденного матрицей Н: а) Н = г)Н = е) Н = 2) Для каждой из матриц Н задач 1) а)-д) построить проверочные матрицы Н* для кодов С(Н), порожденных матрицей Н. 4.8. Пусть т = [Iog2Bn/(n + 1)] и (р: Вш -> Вп — отображение ттг-мерных векторов в n-мерные по методу Хэмминга (см. § 3). Пусть к = п — т и Н — матрица размера к х п, составленная из наборов (взятых в качестве столбцов) с номерами от 1 до п, расположенных в порядке возрастания номеров. Доказать, что матрица НТ является проверочной для кода С = (р(Вт). Например, матрица Н из зада- задачи 4.7, 1), д) является проверочной для кода С = ^(В4). Пусть Q и Р — матрицы размерности соответственно к х т и к х п. Тогда через (QP) будем обозначать матрицу размерности к х (т + п), в которой г-я строка A ^ ъ ^ к) получена приписыва- приписыванием справа к г-й строке матрицы Q матрицы Р. 4.9. Доказать, что кодовое расстояние линейного кода С равно минимальному весу ненулевого кодового слова. 4.10. Пусть Н = (/а;Р), где / — единичная матрица размернос- размерности к х к, а Р — произвольная двоичная матрица размерности к х х (п — к), каждая строка которой содержит по меньшей мере две единицы и все строки попарно различны. Доказать, что код С(Н), порожденный матрицей Н, является кодом Хэмминга. 4.11. Выяснить, каково кодовое расстояние d(C(M)) кода С(М), порожденного матрицей М = A$Н), где /5 — единичная матрица размерности 5 х 5, а Н — матрица из задачи 4.7, 1), д). 4.12. Пусть V С Вп — пространство, состоящее из линейных комбинаций матрицы Н = (IkP), где h — единичная матрица раз- размерности к х к, а Р — матрица из нулей и единиц размерности к х (п — к). Доказать, что V является нулевым пространством для матрицы G = (PTIn-k), где 1п-к — единичная матрица размер- размерности (п — к) х (п — к), а РТ — матрица, транспонированная к матрице Р.
252 Гл. VII. Элементы теории кодирования 4.13. Показать, что кодовое расстояние (п, &)-кода не превосхо- превосходит [n-2k-1/Bk-l)]. 4.14. Показать, что при п = Id — 1 мощность линейного (n, d)- кода не превосходит 2d. 4.15. 1) Показать, что максимально возможная мощность g(n, d) линейного (п, с?)-кода удовлетворяет неравенству g(n, d) ^ 2g(n- I, d). 2) С использованием утверждения задачи 4.14 показать, что 4.16. Пусть код С является нулевым пространством матрицы С. Показать, что кодовое расстояние кода С тогда и только тогда не меньше d, когда любая совокупность из d — 1 или меньшего числа столбцов матрицы Н является линейно независимой. d-2 4.17. Показать, что если /_^(П • ) ^ 2к — 1, то существует г=1 матрица из нулей и единиц размерности к х г, в которой лю- любые d — 1 столбцов линейно независимы и, следовательно, сущест- существует (n, n — /с)-код с кодовым расстоянием не меньше d. 4.18. 1) Показать, что #(9, 5) = 4. 2) Показать, что т(9, 5) ^ 5. 4.19. Показать, что число различных базисов в Вп равно Bn-l)Bn-2)...Bn-2n~1) п! 4.20. Показать, что число различных (п, к)-кодов в Вп равно Bn-l)Bn-2)...Bn-2fe~1)
Глава VIII ЭЛЕМЕНТЫ КОМБИНАТОРИКИ § 1. Перестановки и сочетания Свойства биномиальных коэффициентов Набор элементов а^, ..., а^ из множества U = {а\, ..., ап} на- называется выборкой объема г из п элементов или (п, г)-выборкой. Выборка называется упорядоченной, если порядок следования эле- элементов в ней задан. Две упорядоченные выборки, различающиеся лишь порядком следования элементов, считаются различными. Если порядок следования элементов не является существенным, то выбор- выборка называется неупорядоченной. В выборках могут допускаться или не допускаться повторения элементов. Упорядоченная (п, г)-выборка, в которой элементы могут повторяться, называется перестановкой с повторениями из п элементов по г или (п, г)-перестановкой с повторениями. Если элементы упорядоченной (п, г)-выборки попарно различны, то она называется (п, г)-перестановкой без повторений или просто (п, г)-перестановкой. Число (п, г)-перестановок будет обозначаться символом Р(п, г), а число (п, г)-перестановок с пов- повторениями — символом Р(п, г). Неупорядоченная (п, г)-выборка, в которой элементы могут повторяться, называется сочетанием с повторениями из п элементов по г или, короче, (п, г)-сочетанием с повторениями. Если элементы неупорядоченной выборки попарно раз- различны, то она называется сочетанием (без повторений) из п элемен- элементов по г или (п, г)-сочетанием. Каждое такое сочетание представ- представляет собой подмножество мощности г множества U. Число сочетаний из п элементов по г будет обозначаться через С(п, г). Число сочета- сочетаний с повторениями из п элементов по г будет обозначаться че- через С(п, г). Пример 1. Пусть U = {а, 6, с}, г = 2. Тогда имеются: девять перестановок с повторениями — аа, ab, ас, Ъа, ЪЪ, be, ca, сЪ, ее; шесть перестановок без повторений — аЪ, ас, Ъа, be, ca, cb; шесть сочетаний с повторениями — аа, ab, ас, ЪЪ, be, се; три сочетания без повторений — ab, ас, be.
254 Гл. VIII. Элементы комбинаторики Произведение п(п — 1)... (п — г + 1), где п действительное, а г целое положительное, будет обозначаться через (п)г. По опреде- определению положим (по) = 1. Если п натуральное, то {п)п обозначает- обозначается символом п! и называется п-факториалом. При п = 0 полагаем О! = 1. Для любого действительного п и целого неотрицательного г (п)г величина ^-^- называется биномиальным коэффициентом и обознача- ется символом *) ( ). Пусть ri, Г2, ..., т^ — целые неотрицательные числа и ri + г2 + ... + rk = п. Величина —;—г1 г называется по- Г1\Г21...Гк1 линомиалъным коэффициентом и обозначается через ( ). При подсчете числа различных комбинаций используются следую- следующие два правила. Правило произведения. Если объект А может быть выб- выбран п способами и после каждого из таких выборов объект В в свою очередь может быть выбран п способами, то выбор «А и 5» в указанном порядке может быть осуществлен т • п способами. Правило суммы. Если объект А может быть выбран т спо- способами, а объект В — другими п способами при условии, что одно- одновременный выбор А и В невозможен, то выбор «А или 5» можно осуществить т + п способами. Пример 2. Бросают две игральные кости (с шестью гранями каждая). Сколькими способами они могут упасть так, что либо на каждой грани выпадет четное число очков, либо на каждой грани выпадет нечетное число очков? Решение. Пусть А — число способов выпадения на каждой кости четного числа очков, В — число способов выпадения на каждой кости нечетного числа очков. Тогда по правилу суммы искомое число равно А + В. Пусть С — число способов выпадения четного числа очков на первой кости, a D — число способов выпадения четного числа очков на второй кости. Ясно, что С = D = 3, а по правилу произведения А = С • D = 9. Аналогично, 5 = 9, а искомое число равно 18. Пример 3. Доказать, что число (п, г)-перестановок без повторе- повторений равно (п)г. Решение. Индукция по г. При г = 1 число способов выбора одного элемента из п равно п = (n)i. Пусть для некоторого г ^ 1 выполнено равенство Р(п, г) = (п)г. Докажем аналогичное равенство для г + 1. Всякая совокупность, состоящая из г + 1 элементов, может быть составлена путем предварительного выбора элементов, состав- составляющих (п, г)-перестановку, и последующего присоединения к ней (г + 1)-го элемента. Если г элементов выбраны, то (г + 1)-й может быть *) В литературе встречаются также обозначения С?, nCrj (n, г).
§ 1. Перестановки и сочетания 255 выбран п — г способами. В силу правила произведения получаем, что Р(п, г + 1) =Р(п, г) • (п-г). С использованием предположения индукции получаем отсюда, что Р(п, г + 1) = (п)г • (n-r) = (ra)r+i. Большое число комбинаторных задач сводится к подсчету числа двоичных векторов. Пример 4. Сколькими способами можно представить число п в виде суммы к неотрицательных слагаемых? (Представления, отли- отличающиеся лишь порядком слагаемых, считаются различными.) Решение. Каждому разбиению числа п на к целых неотрица- неотрицательных слагаемых сопоставим вектор длины п + к — 1 с п еди- единицами и к — 1 нулями, в котором число единиц, стоящих перед первым нулем, равно первому слагаемому, число единиц, располо- расположенных между первым и вторым нулями, равно второму слагаемому и т.д. Соответствие взаимно однозначно. Заметим, что каждому двоичному вектору с п + к — 1 координатами и п единицами в свою очередь можно сопоставить n-элементное подмножество А множества U = {ai, a2, ..., an+k-i} следующим образом: г-я координата вектора равна 1 тогда и только тогда, когда a^ Е А (г = 1, 2, ..., п + к — 1). Но число таких подмножеств есть С[п + к + 1, п). 1.1. Сколькими способами можно распределить три билета сре- среди 20 студентов, если: 1) распределяются билеты в разные театры, а каждый студент может получить не более одного билета; 2) распределяются билеты в разные театры и на разные дни, а каждый студент может получить любое (не превышающее трех) число билетов; 3) распределяются равноценные билеты на вечер и каждый сту- студент может получить не более одного билета? 1.2. Выяснить, сколькими способами можно выстроить девять че- человек: 1) в колонну по одному; 2) в колонну по три, если в каждой шеренге люди выстраиваются по росту и нет людей одинакового роста? 1.3. Показать, что: 1) Р(п, г) = п'; 2)С(п,г)=(;); 3) д(п, г) = (п + г_~ Х). 1.4. Найти число векторов а = (ai, ..., an), координаты которых удовлетворяют условиям: 1) щ G {0, 1, ..., к- 1} (г = 1, ..., п); 2)aiG{0, 1, ..., А*-1} (г = 1, ...,n); 3) «i G {0, 1} (г = 1, ..., п) и ai + ... + an = г. 1.5. 1) Каково число матриц из п строк и т столбцов с элементами из множества {0, 1}? 2) То же при условии, что строки матрицы попарно различны?
256 Гл. VIII. Элементы комбинаторики 1.6. Дано т предметов одного сорта и п другого. Найти число выборок, составленных из г предметов одного сорта и s предметов другого сорта. 1.7. Из п букв, среди которых а встречается а раз, буква Ь встре- встречается C раз, а остальные буквы попарно различны, составляются слова. Сколько среди них будет различных r-буквенных слов, содер- содержащих h раз букву а и к раз букву Ь? 1.8. Имеется колода из 4n (n ^ 5) карт, которая содержит карты четырех мастей по п карт каждой масти, занумерованных числа- числами 1, 2, ..., п. Подсчитать, сколькими способами можно выбрать пять карт так, что среди них окажутся: 1) пять последовательных карт одной масти; 2) четыре карты из пяти с одинаковыми номерами; 3) три карты с одним номером и две карты с другим; 4) пять карт какой-нибудь одной масти; 5) пять последовательно занумерованных карт; 6) в точности три карты из пяти с одним и тем же номером; 7) не более двух карт каждой масти. 1.9. Применяя правило суммы и правило произведения, решить следующие задачи. 1) Сколькими способами из 28 костей домино можно выбрать две кости так, чтобы их можно было приложить друг к другу (т.е. чтобы некоторое одинаковое число очков встретилось на обеих костях)? 2) Бросают три игральные кости. Сколькими способами они могут упасть так, что все оказавшиеся сверху грани либо одинаковы, либо попарно различны? 3) У англичан принято давать детям несколько имен. Сколькими способами можно назвать ребенка, если ему дадут не более трех имен, а общее число имен равно 300? 1.10. 1) Сколькими способами можно число п представить в виде суммы к натуральных слагаемых? (Представления, различающиеся лишь порядком слагаемых, считаются разными.) 2) Сколькими способами число 7п можно представить в виде трех сомножителей? (Представления, различающиеся лишь порядком сомножителей, считаются разными.) 3) Решить задачу 2), если представления, различающиеся лишь порядками, разными не считаются и п ф 3s. 1.11. 1) Сколькими способами можно расставить п нулей и к единиц так, чтобы между любыми двумя единицами находилось не менее т нулей? 2) Сколько существует неотрицательных целых чисел, не превы- превышающих 10п, цифры которых расположены в неубывающем порядке? 3) Карта города имеет вид прямоугольника, разделенного улицами на квадраты. Таких квадратов в направлении с севера на юг ровно п, а в направлении с востока на запад ровно к. Сколько имеется кратчай- кратчайших маршрутов от северо-восточного конца города до юго-западного?
§ 1. Перестановки и сочетания 257 1.12. Пусть п = р^1 .. .р^г — разложение числа п в произведение простых попарно различных чисел. Найти: 1) число всех натуральных делителей числа [n)j] 2) число всех делителей, не делящихся на квадрат никакого целого числа, отличного от 1; 3) сумму делителей числа п. 1.13. Доказать следующие свойства биномиальных коэффициен- коэффициентов: d(г) = 6){k)-{ k J + U-lJ' 4) (\ п-1\_ , \k-r) _ (k)r J 4) { k-r r=0 (n\ (п \k) /n — r\ Kk-r) _ (k)r_ ~7^ W k (fc) 1.14. Доказать, что: 1) ( ? J возрастает по п при фиксированном /;;; 2) ( ? _ Г ) убывает по г при фиксированных пик; 3) если п фиксировано, то f , J возрастает по к при к ^ — и 7 1 п Г убывает при к > — ; J .2 L 4) max 5) минимальное значение суммы ( / ) + ( ? ) + ... + ( / ) при условии 2^пг — п равно (s — r)(q) + r(q 1 J, где q = — , г — 6) максимальное значение суммы f, J + (i. )"'"•••"'"( fc j ПРИ условии 0 ^ fci < ... < fcs ^ n (l^s^n + 1) равно 2^ ( ' )' n — s n + s 7) при простом р и любом р > к ^ 1 число f ? j кратно р; 17 Г. П. Гаврилов, А. А. Сапоженко
258 Гл. VIII. Элементы комбинаторики 8) JJ pi ^ ( J, где произведение берется по всем простым числам pi (n < Pi ^ 2п). 1.15. 1) Пусть т — целое неотрицательное число, а п = п(т) — минимальное целое число такое, что т < п\. Показать, что можно (и притом единственным способом) сопоставить числу т такой вектор а{т) = (ai, «2, ..., an_i), что m = а\ • 1! + «2 • 2! + ... ... + an_i(n - 1)!, O^ai^i (i = 1, ..., п - 1). 2) Пусть /iE) — число такое, что а = а(/л(а)). Найти вектор а(т) для т = 4, 15, 37. 3) По вектору 5 найти /iE), где: а) 5 = @, 2, 0, 4); б) а = @, 2, 1); в) 5 = A, 2, 3, 2). 4) Подстановкой на множестве zn = {1, 2, ..., п} называется произвольное отображение zn на себя. Всякой подстановке тг взаимно однозначно соответствует вектор тг = (тгA), ..., тг(п)), в котором ко- координата тг(г) указывает место элемента г. Каждой подстановке тт по- поставим в соответствие число ^(тг), 0 ^ г/(тг) < п!, называемое номером подстановки. Для этого сначала построим вектор 5^ = (ai, «2,... ..., an_i). Положим an_i = тгA) — 1. Если an_i, ..., an_j уже оп- определены и s(j) = |{г <j\ тт(г) < 7r(j)}|, то положим an-j-\ = = tt(j + 1) — s(j + 1) — 1. Номер г/(тг) определим как /л(ап). Например, если тг = C, 4, 2, 1), то ап = A, 2, 2), г/(тг) = 1 + 2 • 2! + 2 • 3! = 17. По подстановке тг, заданной вектором тг, найти номер г/(тг): а)тг = B, 3, 1, 4); б) тг = C, 5, 2, 1, 4); в) тг = A, 3, 4, 5, 2). 5) Дать алгоритм построения подстановки тг по ее номеру ^(тг). 6) По числу т найти подстановку тг на множестве zn, где п! > > т ^ (п — 1)!, такую, что г/(тг) = т: а) т = 7; б) ш = 18; в) ш = 28. 1.16. 1) Пусть k, n — натуральные числа. Доказать, что любому целому т (O^^^Il.)) можно сопоставить (и притом единст- единственным образом) целочисленный вектор C{т) = (/3i, /З2, ..., удовлетворяющий условию п > /3± > 02 > • • • > Рк > 0 5 777/ . Число ?тг в этом случае будем называть но- номером набора C (обозначение: т = /i(/3)). 2) Для заданных т, п, /;; построить вектор /3(ш): а) ш = 19, п = 7, А; = 4; б) ш = 25, п = 7, А; = 3; в) т = 32, п = 8, А; = 4. 3) По заданному вектору [5 = (/3i, ..., /Зп) построить число т, удовлетворяющее условию задачи 1): а) Д = F, 3, 0); б) Д = E, 4, 3, 1); в) Д = F, 4, 3, 2, 1).
§ 1. Перестановки и сочетания 259 4) Пусть В% — подмножество всех векторов длины пек едини- единицами и п — к нулями. Опираясь на задачу 1), построить нумерацию всех наборов из В% числами от 1 до (? J, т.е. взаимно однозначное отображение v множества В% на множество < 1, 2, ..., ( ? j >. 1.17. Индукцией по п с использованием соотношения ( , ) = ~ \к) \к — 1/ доказать тождество k=0 1.18. Пусть пит — целые положительные числа. С использо- использованием тождества A) или иным способом доказать следующие ра- равенства: п п п 0 () к=0 к=0 к=1 п п 4) 5] Л(Л - 1) ( J) = п(п - 1J»-2; 5) ?Bfc + 1) (j) = (n + 1J"; к \kj 2 п' к По ()() () r=0 k=0 B)! W2 к=0 г=0 п—к r=k r=0 Vf i)k-n(k\(m\_@ 2^(-l) {n){k)-\l 1 к\ \ Л ( л \к-п ( re \ i in \ _ i U при т т= п, 15) 2^ К'1) [n)[ki-U при т = п. 1.19. Доказать тождества: к 17*
260 Гл. VIII. Элементы комбинаторики к о) если 0 ^ г < т, то т > 7 . = > < где zz = -1; k 5) если 0 ^ r < m, ш ^ 1, то — f() A; \mk-\-rJ ^ m 1.20. 1) Доказать, что га-1 С помощью тождества из п. 1) вычислить: 1.21. Определить, сколько рациональных членов содержится в разложении: 4) (^^12+ Щ . 1.22. Найти коэффициент при tk в разложении: 1) A + 2?-3?2)8, А; = 9; 2) A - t + 2?2I0, jfe = 7; 3) B + ?-2?3I0, A; = 5; 4)B + ^4 + ^7I5, к = 17. 1.23. Доказать, что при целых m ^ 0, п ^ 0 справедливы тож- тождества: 1) > ^^ = -, ш ^ n; к=0 п. ТП , -\- к — 1 \ v~^ ( п -\- к — к ) = 2^\ к к=0 к=0 -1\
§ 1. Перестановки и сочетания 261 1.24. Пусть а, Ъ — действительные, &, m, n, r — целые неотрица- неотрицательные числа. Доказать, что: 2)(i+*)e= к=0 n 5) E (fe) (n - k) = (a n Ь) (те°Рема сложения); ?0 k=0 a + n-A;-l\/6 + A;-l\ _ /a + n-A; А к ) ~\ m —1 11) ^^(шНг)ГНГ = E e-27rir^/m(l + 6e27r^/m)a, \b\ < 1. A; ^=0 1.25. 1) Найти число всех таких слов длины тп в п-буквенном алфавите, в которых каждая буква алфавита встречается т раз. 2) Сколькими способами множество из п элементов может быть разбито на s подмножеств, из которых первое содержит к\ элементов, второе &2 элементов и т.д.? 3) Исходя из комбинаторных соображений, показать, что для лю- любых целых неотрицательных fci, &2, • • •, к8, п таких, что к\ + къ + ... ... + к8 = п, справедливо равенство — к\—к2 — ... — ка-\ / п \ (п — к\\ (п UiA к2 )'"\ 4) Индукцией по s доказать тождество
262 Гл. VIII. Элементы комбинаторики § 2. Формула включений и исключений Пусть имеется N предметов и п свойств Ai, ..., Ап. Каждый из этих предметов может обладать или не обладать любым из этих свойств. Обозначим через -ЭДЬ...?^. число предметов, обладающих свойствами Агг, ..., Aik (и, может быть, некоторыми другими). Тог- Тогда число No предметов, не обладающих ни одним из свойств Ai, ... ..., Ап, определяется равенством No = So - Si + S2 - ... + (-l)nSn, A) где So = N, a Sk= Yl Nn,..,ik, k=l,...,n. B) Формула A) называется формулой включений и исключений. Пример 1. Пусть колода состоит из п карт, пронумерованных числами 1, ..., п. Сколькими способами можно расположить карты в колоде так, что ни для одного г A ^ г ^ п) карта с номером г не занимает г-е место? Решение. Имеется п свойств oii вида «г-я карта занимает в колоде г-е место». Число всевозможных расположений карт в колоде равно п\. Число -ЭДЬ...?^. расположений, при которых карта с номе- номером iv занимает место iv [у — 1, к) , равно (п — к)\. Тогда S0=n\, Sk= J2 Nil,-,* l^ii<...<ifc^n Используя формулу A), получаем, что число TVq расположений, при которых ни одно из свойств OLi не выполняется, равно к=0 к=0 В случае, когда свойств немного, для решения задач подобного сорта удобно пользоваться так называемыми кругами Эйлера. Пример 2. В группе студентов 25 человек. Среди них 20 сдали сессию успешно, 12 занимаются в спортивных секциях, причем 10 из них сдали сессию успешно. Сколько неус- неуспевающих студентов не посещает спортивных секций? Решение. Изобразим (рис. 8.1) множество р ^ -. студентов, успешно сдавших сессию, кругом, помеченным буквой У, а множество тех, кто занимается в секциях, кругом, помеченным буквой С. Пересечение кругов соответствует множеству успевающих студентов, занимаю- занимающихся спортом, а объединение — множеству студентов, которые учатся успешно или посещают секции. Число таких студентов рав-
§ 2. Формула включений и исключений 263 но 20 + 12 — 10 = 22. Число тех неуспевающих студентов, которые не посещают секций, равно 25 — 22 = 3. При решении задач, связанных с подсчетами числа элементов из множества U = {ai, ..., адг}, обладающих заданными свойствами, используются диаграммы Венна. Диаграмма Венна для п свойств представляет собой прямоугольник, разбитый на 2П клеток. Каждая клетка соответствует одному типу элементов. Тип элемента опреде- определяется тем, что для каждого ъ A ^ г ^ п) известно, обладает эле- элемент г-м свойством или нет. Поэтому тип и соответствующую ему клетку удобно кодировать двоичным вектором (ai, ..., an), в котором оц = 1, если г-е свойство выполнено для данного типа элементов, и щ = 0 в противном случае (г = 1, ..., п). Пример 3. Пусть X, У, Z — подмножества множества U = = (ai, ..., адт), удовлетворяющие условиям X С (У П Z) U U\Y, Найти число троек (X, У, Z). Решение. Для каждого a Е U определены три свойства: a Е X, а Е У, а ? Z. Каждый элемент принадлежит одному из восьми типов в зависимости от принадлежности множества X, У^ Z. Очевидно, что включение А С В равносильно тому, что А П В = 0. Поэтому условие X С (У П Z) U У равносильно тому, что X П (У П Z) U У = = X П ((У U ~Z) П У) =In(ZflF) = 0. Два остальных условия равносильны равенствам Z П (У П X) = 0, Y П (X П Z) = 0. На диаграмме (рис. 8.2) это соответствует тому, что соответствую- соответствующие клетки пусты. Таким образом, X, У, Z тогда и только тогда удовлетворяют услови- условиям задачи, когда среди элементов множест- множества U = {ai, ..., адг} нет элементов трех ти- типов: XYZ, XYZ и XYZ. Произвольный эле- элемент из U может принадлежать любому из остальных пяти типов. Отсюда число искомых троек равно 5^. 2.1. 1) Доказать по индукции формулу A). 2) Пусть Nm — число предметов, обладающих в точности т свойствами из п. Доказать, что C) У X X 0 0 0 к=0 3) Пусть Nm — число предметов, обладающих в точности не менее чем т свойствами из п. Доказать, что k=0 D)
264 Гл. VIII. Элементы комбинаторики 4) Показать, что п Sk = ? (mk)Nm, E) m—k s* = E m=k 5) Показать, что 5m - (m + lMm+i ^ Nm <: Sm, G) +1 ^Nm^Sm. (8) 2.2. Четыре человека сдают свои шляпы в гардероб. В предпо- предположении, что шляпы возвращаются наугад, найти вероятность того, что в точности к человек получат свои шляпы назад. Рассмотреть все значения к @ ^ к ^ 4). 2.3. Пусть Е(г, п, т) — число способов размещения г различных предметов по п ящикам, при которых имеется ровно т пустых ящи- ящиков, a F(r, n, т) — число тех способов размещения, при которых не менее т ящиков оказываются пустыми. Показать, что: к=0 к=0 п—т 3) F(r, n, т) = {т) 2^ (-1) { к )(п-т-к)г-^ + к' к=0 2.4. При обследовании читательских вкусов студентов оказалось, что 60% студентов читают журнал Л, 50% — журнал В, 50% — журнал С, 30 % — журналы Л и С, 20 % — журналы В и С, 40 % — журналы Л и С, 10% — журналы Л, В и С. Выяснить, сколько процентов студентов: 1) не читает ни одного из журналов; 2) читает в точности два журнала; 3) читает не менее двух журналов. 2.5. На одной из кафедр университета работают 13 человек, при- причем каждый из них знает хотя бы один иностранный язык. Десять человек знают английский, семеро — немецкий, шестеро — фран- французский, пятеро знают английский и немецкий, четверо — английский и французский, трое — немецкий и французский. Выяснить: 1) сколько человек знают все три языка; 2) сколько человек знают ровно два языка; 3) сколько человек знают только английский язык. 2.6. 1) Показать, что количество целых положительных чисел, делящихся на п и не превосходящих ж, равно [х/п]. 2) Найти число целых положительных чисел, не превосходя- превосходящих 1000 и не делящихся ни на одно из чисел 3, 5 и 7.
§ 3. Возвратные последовательности, производящие функции 265 3) Найти число целых положительных чисел, не превосходя- превосходящих 1000 и не делящихся ни на одно из чисел б, 10 и 15. 4) Показать, что если п = 30т, то количество целых положи- положительных чисел, не превосходящих п и не делящихся ни на одно из чисел б, 10, 15, равно 22т. 5) Пусть р\, ..., рг — все простые числа, не превосходящие у/п. Показать, что число простых чисел р таких, что у/п < р ^ п, рав- равно п - 1 + ^ (-l)kSk, где сумма Sk = ^ аг —^7 берется по k=i \-Pl '"Pr J всевозможным ( Г J наборам показателей ai, ..., ar, в которых к из показателей равны 1, а остальные равны 0. 6) Найти число простых чисел, не превосходящих 100. 2.7. Пусть U — множество из п (п ^ 3) элементов. 1) Найти число пар (X, У) таких подмножеств множества U, что X П У = 0. 2) Найти число таких пар (X, У), что X С [/, УС U, \(X\Y) U и(У\Х)| = 1. 3) Найти число таких троек (X, У, Z), что X С U, У С С/, Z С С/, X U (У П Z) = X U У. 4) Найти число таких пар (X, У) подмножеств множества С/, что 1П7 = 0, |Х| ^ 2, |У| ^3. 5) Найти число таких пар (X, У), что X С U, УС U, |(Х\У) U и(У\Х)| = 1, |Х| ^ 2, |У| ^2. 6) Найти число таких троек (X, У, Z), что IC[/, FC[/, Z С U, XI I fV n ~У:^ ^Y I I У I у| \ 1 IVI ^> 1 \7\ г* Л VJ у± \ \ Zi) — Л U 1 , |v\.|^l, 12 | ^ 1, |Z/|^1. 2.8. Задача мажордома. К обеду за круглым столом при- приглашены п пар враждующих рыцарей (п ^ 2). Требуется рассадить их так, чтобы никакие два врага не сидели рядом. Показать, что это п можно сделать ^"^ (—1)к ( ? )п • 2к+1{2п — к — 1)! способами. к=0 2.9. Задача о супружеских парах. Сколькими способами можно расположить за круглым столом шесть супружеских пар так, чтобы мужчины и женщины чередовались и никакие двое супругов не сидели рядом? § 3. Возвратные последовательности, производящие функции, рекуррентные соотношения Последовательность ао, &ь ..., ап, ... называется возвратной, если для некоторого к и всех п выполняется соотношение вида an+k + pian+k-i + ... + РкО>п = 0, A)
266 Гл. VIII. Элементы комбинаторики где коэффициенты pi (г = 1, ...,&) не зависят от п. Многочлен P(x)=xk+Plxk-1 + ...+pk B) называется характеристическим для возвратной последователь- последовательности. 3.1. 1) Доказать, что возвратная последовательность полностью определяется заданием ее первых к членов и соотношением A). 2) Пусть Л является корнем характеристического многочлена. По- Показать, что последовательность {сЛп}, где с — константа, удовлетво- удовлетворяет соотношению A). 3) Доказать, что если Ai, ..., А/. — простые (не являющиеся крат- кратными) корни характеристического многочлена B), то общее решение рекуррентного соотношения A) имеет вид ап = ciA? + ... + cfeA?. 4) Пусть Af является корнем кратности Г{ (г = 1, ..., s) харак- характеристического многочлена B). Доказать, что тогда общее решение рекуррентного соотношения A) имеет вид г=1 где Cij (i = 1, ..., s, j = 1, ..., Гг) — некоторые константы. 3.2. Найти общие решения рекуррентных соотношений: 1) ап+2 - 4an+i + Зап = 0; 2) ап+2 + Зап = 0; 3) ап+2 - an+i - ап = 0; 4) ап+2 + 2an+i + ап = 0; 5) ап+3 + 10 ап+2 + 32 ап+1 + 32 ап = 0; 6) ап+3 + 3 ап+2 + 3 an+i + ап = 0. 3.3. Найти ап по рекуррентным соотношениям и начальным усло- условиям: 1) an+2 - 4 an+i + 3 an = 0, a0 = 10, ах = 16; 2) an+3 - 3an+2 + an+i - 3an = 0, a0 = 3, ai = 7, a2 = 27; 3) an+3 - 3 an+i + 2 an = 0, a± = a, a2 = b, a3 = c; 4) an+2 ~ 2 cos aan+i + an = 0, ao = 1, ai = cos a; 5) an+2 - an = 0, a0 = 0, ax = 2; 6) an+2 — 6 an+i + 9 an = 0, ao = 6, a\ — 6. 3.4. Доказать, что: 1) если х = 1 не является корнем многочлена х2 + рж + д, то част- частным решением рекуррентного соотношения ап+2 + pan+i + qan = ап + f3, C) где а, C, р, q — данные числа, является последовательность а^ = = ап + Ъ] найти а и 6; 2) если х = 1 — простой корень многочлена х2 + рх + q, то част- частное решение может быть найдено в виде а^ = п(ап + 6); найти а и 6; 3) если х = 1 — кратный корень многочлена ж2 + рх + д, то част- частное решение может быть найдено в виде а^ = п2(ап + 6); найти а и 6; 4) в каждом из предыдущих случаев найти общее решение соот- соотношения C).
§ 3. Возвратные последовательности, производящие функции 267 3.5. Решить рекуррентные соотношения: 1) an+i - ап — п, а\ — 1; 2) ап+2 + 2 an+i - 8 ап = 27 • 5П, а0 =0, оц = -9; 3) ап+2 - 2 an+i + 2 ап = 2П, а0 = 1, ai = 2; 4) ап+2 + an+i - 2 ап = п, а0 = 1, ai = -2; 5) ап+2 - 4 an+i + 4 ап = 2П, а0 = 1, ai = 2; 6) ап+2 + an+i - б ап = 5 • 2n+1, а0 = 2, ах = 1. 3.6. 1) Пусть {ап} и {6П} — две последовательности, члены которых связаны соотношениями a>n+i = + b A = где pi, ^i, p2, Q.2 — данные числа. Найти выражения для ап и Ьп, считая, что а\ и Ь\ заданы. 2) Найти решение системы рекуррентных соотношений an+i = Зап + bn, Ъп+i = -ап + К, а\ = 14, Ь\ = -6. 3) Найти общее решение системы рекуррентных соотношений an+i = Ъп + 5, 6n+i = -ап + 3. 3.7. Последовательность Фибоначчи {Fn} задается рекуррент- рекуррентным соотношением Fn+2 = Fn+i + Fn и начальными условиями Fi = = F2 = 1. Доказать, что: 1) для любых натуральныз тип Fn+rn = Fn_iFm + FnFm+i; 2) для любых т и п = &т число Fn делится на Fm; 3) два соседних числа Fn и Fn+i взаимно просты; 4) всякое натуральное число N (N > 1) может быть однозначно представлено в виде суммы чисел Фибоначчи такой, что каждое число входит в сумму не более одного раза и никакие два соседних числа не входят вместе; 6) F\ + F3 + . . . + i*2n+l — F2n+2\ 7) 1 + F2 H~ F\ + ... + Г2П = F2n+i 5 С каждой последовательностью ао, ai, ..., an, ... можно свя- связать ряд A(t) = ао + a±t + ... + antn + ..., называемый производящей функцией для последовательности {ап}. В тех случаях, когда ряд A(i) сходится к некоторой функции /(?), функцию f(t) также называют производящей для {an}. В задачах на нахождение произ- производящей функции для последовательности {ап} обычно под разуме-
268 Гл. VIII. Элементы комбинаторики вается нахождение функции /(?), ряд Маклорена которой есть A(i). Экспоненциальной производящей функцией для {ап} называется ряд E(t) = ао + ai(t) + ... + an(t)/n\ + ... Можно определить операции сложения, умножения на константу для производящих функций, рас- рассматривая их как формальные ряды. Пусть A(t) и B(t) — произво- производящие функции для последовательностей {ап} и {Ьп} соответственно, а се, C — константы. Тогда aA(t) + /3B(t) = аа0 + /ЗЪ0 + (ааг + f3b{)t + ... + (аап + /3bn)tn + ..., A(t) - B{t) = aobo + (aoh + a^t + ... + ... (aobn + ai6n_i + ... + anb0)tn + ... Если Ea(i) и Eb{t) — экспоненциальные производящие функции соответственно для последовательностей {ап} и {Ьп}, то сложение и умножение на константу определяются так же, как для обычных производящих функций, а их произведение определяется как Ea{t) • Eb(t) = со + at + ... + ^ + ..., где сп = а0Ьп + ( 1 )Q>ibn-i + • • • + ( ^ )a>kbn-k + ... + anbo. 3.8. Найти производящую функцию f(t) для последовательнос- последовательности {an},если: 1) ап = 1 при всех п ^ 0; 2) an = 1 при 0 ^ п ^ N и an = 0 при п > N; 3)ап = ап; 4)ап = ап/п\; 5) an = (-1)™; 6) an = n; 7) an = n(n - 1); 8) an = f m j, ш — натуральное число; 9) an = f a ), ce — действительное число; 10) an = n2; 11) an = sin cen; 12) an = cos cen. 3.9. Найти экспоненциальные производящие функции E(t) для последовательности {an}, если: 1) an = 1; 2) an = ап; 3) an = n; 4) an = n{n - 1); 5) an = (m)n; 6) an = n2. 3.10. С помощью тождеств, связывающих производящие функции, вывести следующие тождества для биномиальных коэффициентов: 2) A - A; + s\ (m + n ){ n + s\ (m + k — s\ _ (n + m + k \ ){ m )-{ к s=0
§ 3. Возвратные последовательности, производящие функции 269 3) A + t)n(l + t)-m = A + t)n-m, k v~^ / Л xk-s fn\ (m + к — s — 1\ _ fn — m\t /( 1) I II 7 I I 7 II Z_^ v J \s) \ к — s ) \ А; у' 4) A - ^)-1~n(l + t)-1-71 = A - ^2)~1~n, к s=0 5) (l + ^)n(l-^2)-n = (l-^)n, [k/2] E( n \fn-\-s-l\ _ f \k-2s)\ s ) ~ V 0 п-\- к — 1 к s=0 6) О, 3.11. Найти общий член ап последовательности, для которой функция A(t) является производящей: = (q+pt)m; 2)A(t) = (l-t)-1; 3) A(t) = 4) A(t) = tm(l - t)m; 5) A(t) = (t + t2 + ... + tr)m; 8) A(t) = ^2A - t)(l + 2^)-m; 9) A(t) = ln(l + t); 10) A(t) = arctg^; 11) A(t) = arcsin*; 12) A(t) = e*2; 13) A(t) = |e-^2 dx; 14) 0 3.12. Вывести тождества*): 2) *) Суммирование ведется по всем s, для которых рассматриваемые выражения имеют смысл.
270 Гл. VIII. Элементы комбинаторики + 2s\ /n + 2m-2s + l\ _ /2n + 2m + 2 n ){ n + l )-{ 2n + l s=0 3.13. Пусть A(t) и E(t) являются соответственно обычной и экс- экспоненциальной производящими функциями последовательности {ап}. оо 1) Используя равенство п! = / е~ххп dx, показать, что о оо A(t) = fe~xE(xt) dx. D) о 2) Убедиться, что формула D) справедлива для производящих функций A(t) = A — ?)-1 и E(t) = е1 последовательности а$ = а\ = 3) То же, что и в задаче 2), но для последовательности с общим членом О, n<j, 3.14. 1) Пусть (а)п = а(а — 1)... (а — п + 1). Доказать, используя экспоненциальные производящие функции, что к=0 Указание. Использовать тождество A + t)a+b = A + ?)аA + t)b. 2) Пусть (a)n,h = а(а — К)... (а - /г(п - 1)). Показать, что п fe)(a)n-k,h(b)k,h- к=0 3.15. Пусть {ап}, {Ьп} — последовательности, Ь-\ = 0, A(t) и 5(t) — соответствующие производящие функции. Показать, что: 1) если ап = Ьп- Ьп_ь то A(t) = 5(t)(l - t); 2) если an = 6n+i - bn, то A(t) = B(t) — M; 3) если an = 6n+i + bn+2 + • • •, a0 = 5A), то A(t) = j _t ; 4) если an = n6n, то A(t) = t — B(t); 5) если an = n2bn, то A(t) = t ± (tjt B(t)) ; 6) если определить операцию Sk (к ^ 0) над последователь- последовательностью {bn} с помощью соотношения ^(M = bn+(i)bn-l + ---+(fe+j-1)bn-i + --- и положить an = Sh(bn), то Л(?) = A - t)~kB(t);
§ 3. Возвратные последовательности, производящие функции 271 7) если ап = Ъ2п, то A(t) = \ (B(txl2) + Bi-t1/2)); 8) если ап = b0 + h + ... + bn-i, «о = 0, то A(t) = Я(*)*A - fp1. 3.16. Пусть A(t) и B(t) — производящие функции последователь- последовательностей {ап} и {Ьп} соответственно, и пусть A(t) • B(t) = 1. Найти {bn} и В{t) по заданной последовательности {ап}: 1)а„=(™); 2)ап = а"; 3) а„ = п + 1; 4) а0 = а2 = 1, а„ = 0 при п ф 0, 2; 3.17. Пусть последовательность {ап} удовлетворяет рекуррент- рекуррентному соотношению an+2 + P&n+i + Чап — О- 1) Показать, что 2) Пусть 1+pt + qt2 = A — Xit)(l - Л2^), Ai ф А2. Показать, что ап = (ai +ро>о) -г т- + а0 -Lr г^—. Л\ — Л2 Al — А2 3) Выразить ап в случае, когда 1+pt + qt2 = A — А?J. 3.18. Пусть п п—1 и A(t), 5(t) — соответствующие производящие функции. 1) Показать, что ап и Ъп связаны соотношениями вида a>n+i = О"п + frn+ъ Ьп+1 = ^п + flnj «0 = 1, Ь0 = 0. 2) Показать, что A(i) и 5(t) удовлетворяют системе уравнений A(t) -I = tA(t)+B(t), B(t) = tA(t) +tB(t). 3) Найти Л(Т) и Б(*). 4) Показать, что hm ¦= ап = =-, hm \ / / л/5/ л/5 3.19. Пусть члены последовательности {ап} удовлетворяют соот- соотношению ап = 1) Показать, что производящая функция A(i) = 2^ antn удовлет- п=0 воряет равенству tA2(t) = A(t) — ао, или, с учетом начального усло- ли, 1 — л/1 — 4t вия равенству A(t) = . АХ
272 Гл. VIII. Элементы комбинаторики 2) Разлагая A(i) в ряд по степеням ?, показать, что 3) Найти последовательность {ап}, члены которой удовлетворяют соотношениям aoan-i + CLiCLn-2 + • • • + &n-i&o = 2пап, ао = ai = 1. 3.20. Вывести рекуррентное соотношение для последовательности чисел {ап} и разрешить это соотношение, если: 1) ап — число способов разбиения выпуклого (га + 2)-угольника на треугольники диагоналями, не пересекающимися внутри этого многоугольника; 2) ап — число таких способов расстановки скобок в выраже- выражении Ъ\: &2 : ... : &п+ъ ПРИ которых получающиеся выражения имеют смысл. 3.21. Используя метод математической индукции, найти после- последовательность {ап} по рекуррентному соотношению и начальным условиям: 1) an+i = (га + 1)ап, а0 = 1; 2) пап+1 + ап = 0, (ц = 1; 3) (га + 2)(га + 1)ап+2 - п2ап, а0 = 0, ах = 1; 4) (га + 2Jап+2 + ап = 0, а0 = 1, ai = 0; 5) п2ап+2 + (га + 2Jап = 0, а\ — 1, а2 = 0; 6*) ап+1 ~ flnfln+2 = (-l)™, а0 = 1, ai = 1. 3.22. Пусть An(t) = 2_^a{ni k)tk — производящая функция для к=0 последовательности, удовлетворяющей соотношению а(п, к) = = а(п, к — 1) + а(п — 1, к) с начальными условиями а(п, 0) = 1, a@, fc) = 0 при к > 0. Показать, что: 1) 1 - t)An{t) = An-X{t); 2) An(t) = A - 3) a(n, k)= (U + l~1)- 3.23. 1) Сколькими способами можно разменять 10-копеечную монету монетами в 1, 2, 3 и 5 копеек. 2) Та же задача, что и 1), при условии, что каждая из разменных монет присутствует в двух экземплярах. 3) Та же задача, что и 1), при условии, что имеются четыре копеечные монеты, три монеты достоинством 2 копейки, две трехко- трехкопеечные монеты и одна пятикопеечная. 3.24. Найти производящую функцию A(t) для последовательнос- последовательности {an}, где: 1) ап — число решений в целых неотрицательных числах уравне- уравнения 2х + Зу + bz = га;
§4- Теория Пойа 273 2) ап — число решений того же уравнения при условии, что ж, ?/, z принимают значения 0 или 1; 3) ап — число решений в целых числах того же уравнения при условии, что О^ж^р, 0 ^ у ^ г, 0 ^ z ^ s. 3.25*. По заданной производящей функции A(t) для последова- последовательности {ап} найти ап: 1М(*)= П (!-<?**)> M<i. к=0 Указание. Показать, что A(t) = A — qt)A(qt), и сравнить коэф- коэффициенты при tn в левой и правой частях этого равенства; 2)A(t)= ПA + ^2 )¦ к=0 Указание. Доказать, что an = qbn, где Ъп — число единиц в двоичном разложении числа п. 3.26. Пусть S(n, M) = 2^(-l)n~4|;J(i/ + Z) Доказать' что: 1) S(n + 1, jb, 0 = 5(n, Jb, / + 1) - 5(n, jb, 0; 2) 5(n, fe, I + 1) = 5(п, к, I) - S(n + 1, к, 0; 3) 5(п, А; + 1, Z) = (га + /M(га, А;, /) + nS(n - 1, А;, /); 4) 5(п, к, I) = 0 при п > к; 5) 5(п, п, /) = п!; 6) 5(п, к, I) > 0 при п ^ к; 7) 5(п, &, /) — возрастающая функция параметров & и / при п ^ к; 8) 5(п, га + 1, 0 = ^ (А; + 1)к\; 9) 5A, А;, 0) = 1 при 1 ^ к. 3.27. Пусть 5(п, А;) = 5(п, А;, 0) = '(га, k)tk. Показать, что при \t\ < 1: 1) ап^ = a-tm-n)—ГГ^п)' II Ь )\ л. AL) . . . II ILL) 2) <rn(t) = к=1 § 4. Теория Пойа Подстановкой на множестве Zn = {1, 2, ..., п} называется отоб- отображение Zn на себя*). Подстановку тг=(.' .''"'п) будем час- то задавать строкой (н, гг, ..., гп)« Подстановка называется цик- *) Роль ^п может играть любое множество из п элементов. 18 Г. П. Гаврилов, А. А. Сапоженко
274 Гл. VIII. Элементы комбинаторики лической (или циклом), если некоторое число ji переводится ею в J2, J2 — в j3 и т.д., 2к-\ переводится в jk, jk — в jb а все остальные числа остаются на месте. Такой цикл обозначается че- через (ji, j2, ..., jk)- Число к называется длиной цикла. Произвольная подстановка может быть представлена в виде произведения циклов. Например, ( ' ' А' г' Q ) — A> 2)C, 4, 5). Цикл длины 2 называется \z, 1, 4, о, о/ транспозицией. Всякая подстановка представима в виде произведе- произведения (т.е. последовательного выполнения) транспозиций. Подстановка, представимая в виде произведения четного (нечетного) числа транспо- транспозиций, называется четной (соответственно нечетной). Подста- Подстановки на множестве Zn образуют группу относительно операции произведения. Операция произведения подстановок tti и тг2 состоит в и /1, 2, 3, 4\ последовательном их применении. Например, если ^1 — ( о 4 S 1 /' /% 2> 3, 4\ /1, 2, 3, 4\ ~ ' ' тг2 = ( 1 4 s 2 /' т0 7Tl7T2 = I 4 2 S 1 /' ^пеРация произведения обла- обладает, как нетрудно проверить, свойством ассоциативности: тг(сгт) = = (тга)т. Единичным элементом группы является тождественная подстановка ( л' о' " '' п ). Подстановкой, обратной к (.'.''"'п), VI, 2, ..., п) ' F Vu, г2, ..., гп)' является подстановка (г1' г^ '"' %п ). Группа подстановок на мно- \ 1, z, ..., п j жестве Zn называется симметрической группой n-й степени и обозна- обозначается через Sn. Порядок симметрической группы n-й степени (число ее элементов) равен п\. Если подстановка на множестве Nn представляется в виде про- произведения Ь\ циклов длины 1, &2 циклов длины 2 и т.д., Ьп циклов длины п, то говорят, что подстановка имеет тип {Ъ\, 62, ..., Ьп). Например, подстановка ( q' ' .' 1 ) имеет тип A, 0, 1, 0). Если G — \о, z, 4, 1) некоторая подгруппа группы 5П, то многочлен где (bi, ..., Ьп) — тип подстановки тг, называется цикловым индек- индексом группы G. Пусть G — группа подстановок на множестве Zn. Элементы а и Ъ из zn называются G-эквивалентными (обозначение: а ~ Ь), если существует подстановка тг G G такая, что тга = Ъ (или, что то же самое, тгЬ = а). Классы G-эквивалентности называются транзитивными множествами или орбитами. Лемма Бернсайда. Число орбит v(G) в множестве Zn, опре- определяемых группой G, дается равенством Пусть М и N — конечные множества, a G и Н — группы подстановок соответственно на М и N. Степенная группа HG сое-
§4- Теория Пойа 275 тоит из всевозможных пар (тг; а), где тг Е G, a Е Н, и действует на множестве NM всех функций /: М ^ N. При этом по определе- определению (тг; a)f(x) = сг/(тг(ж)) для всех х Е М и / Е AfM. Пусть на множестве 7V задана весовая функция w: N —>¦ {0, 1, ...} и gn — число сю элементов веса п в N. Производящая функция Q(t) = У^ gn?n назы- п=0 вается перечисляющим рядом для фигур. Все функции / из NM опре- определяются равенством w(f) = \^ w(f(x))- Функции Д и /2 из 7VM на- зываются эквивалентными (обозначение: Д ~ Д), если существует элемент тг G G такой, что Д (тгж) = /г (ж) для всех ж G М. Если Д и Д эквивалентны, то они имеют одинаковый вес. Поэтому можно опреде- определить вес w(F) класса эквивалентности F как вес любого элемента / из F. Пусть ipk — число классов эквивалентности веса к в NM. сю Производящая функция Ф(?) = 2^<fktk называется перечисляющим к=0 рядом для функций (или перечисляющим рядом для конфигураций). Теорема (Д. Пойа) $(t) = PG(Q(t), Q(t2), ...,Q(tn)), где п = \G\, Pg{^i^ h, • • •, tn) — цикловой индекс группы G, a Q(tk) подставляется в Pq на место переменной tk (k = 1, 2, ..., n). 4.1. Найти тип подстановки тг: 1)тг = B, 3, 4, 1); 2)тг = D, 2, 3, 1); 3) тг = C, 4, 5, б, 1, 2); 4)тг = (8, 2, 1,7,4,6,3,5). 4.2. Представить подстановки из предыдущей задачи в виде про- произведения транспозиций. 4.3. Найти цикловой индекс группы G, где: 1) G — группа подстановок вершин квадрата, получающихся при вращениях квадрата в плоскости; 2) G — группа подстановок вершин квадрата, получающихся при вращении квадрата в пространстве; 3) G — группа подстановок вершин тетраэдра, получающихся при его вращениях; 4) G — группа подстановок ребер тетраэдра, получающихся при его вращениях; 5) G — группа подстановок граней тетраэдра, получающихся при его вращениях; 6)G = S3; 7) G = Ai, где Л4 — знакопеременная группа степени 4, т.е. под- подгруппа группы S4, состоящая из подстановок, представимых произве- произведениями четного числа транспозиций; 8) G — группа подстановок граней куба, получающихся при вра- вращениях; 9) G — группа подстановок вершин октаэдра. 18*
276 Гл. VIII. Элементы комбинаторики 4.4. 1) Доказать, что группа G, определенная в задаче 4.3, 1), задает на множестве Z± одну орбиту. 2) Найти число орбит в множестве Z4, определяемых группой G, образованной перестановками: 7Г1 = A, 2, 3, 4), 7г2 = A, 2, 4, 3), тгз = B, 1, 3, 4), тг4 = B, 1, 4, 3). 4.5. Доказать лемму Бернсайда. 4.6. Пусть b = (Ь]_, &25 • • • ? Ьп) — вектор, соответствующий раз- разбиению числа п, для которого Ь\ + 2Ь2 + ... + nfrn = п, где bk — целые неотрицательные числа A ^ к ^ п). Через Н(Ъ) обозначим множество всех таких подстановок симметрической группы 5П, у которых тип совпадает с 6, и пусть h(h) = |i?(b)|. 1 , п v 1) Доказать, что ft(b) = n! ( Д &6fc • ЬЛ! J ( -1 2) Доказать, что PSn(tu t2,...,tn) = ^^^(Ь)Д tbkh. b k=l 3) Доказать, что цикловой индекс Psn равен коэффициенту при хп в разложении функции X X в ряд по степеням х. 4.7. Пусть Ап — знакопеременная группа степени п, т. е. подгруп- подгруппа группы 5П, состоящая из всех ее подстановок, представляемых в виде произведения четного числа транспозиций. Доказать, что 4.8. Пусть G — группа подстановок множества X, Н — группа подстановок множества У, X П Y = 0. Произвольной паре подста- подстановок тг G G, а ? Н поставим в соответствие подстановку тг х а множества X U У, определенную так: z —>¦ ttz при zGl, z —>¦ crz при z G У. 1) Показать, что подстановки тг х а образуют группу порядка |G| • \Н\. Эта группа называется произведением групп G и Н и обозначается G х Н. 2) Показать, что если подстановки тг G G, а ? Н имеют соот- соответственно типы (bi,...,bn) и (съ---5спM то 7т х а имеет тип {hi +сь ..., bn + cn). 3) Доказать, что Pgxh = Pg * Рн- 4.9. 1) Найти число ожерелий, которые можно составить из бусин двух цветов, если каждое ожерелье содержит семь бусин. Ожерелья считаются одинаковыми, если одно из другого получаются поворотом (зеркальные повороты не допускаются). 2) С помощью теоремы Пойа найти количество ожерелий из бу- бусин к цветов, если каждое ожерелье состоит из п бусин (п — прос- простое число). Ожерелья считаются одинаковыми, если одно из другого получается поворотом без отражений.
$5. Асимптотические оценки и неравенства 277 4.10. 1) Найти число различных окрасок вершин тетраэдра в два цвета. Две окраски считаются различными, если нельзя добиться совпадения цветов вершин вращениями тетраэдра. 2) Найти число различных окрасок вершин октаэдра в три цвета. 3) Найти число различных окрасок граней куба таких, что три грани окрашены в красный цвет, две в синий и одна в белый. 4.11. Пусть G — группа подстановок множества Zn, a E — еди- единичная группа, действующая на множестве N и переводящая каждый элемент х Е N в себя. Найти число орбит, определяемых степенной группой EG на множестве NZn. 4.12. Пусть Tk — число попарно неизоморфных корневых деревьев сю с к вершинами, а Т(х) = 2_.^хк — производящая функция для к=1 последовательности {Tk}. Доказать, что 71=1 4.13. Пусть дп — число попарно неизоморфных графов с п вер- вершинами, 1п — число попарно неизоморфных связных графов с п вер- вершинами. Пусть ^ ^ га=1 га=1 суть соответствующие производящие функции. Доказать, что 71=1 4.14. Пусть р(п, к) — число подстановок группы 5П, состоящих из к циклов, a 2^n(^) = /_^p(n5 k)tk — соответствующая произво- к=1 дящая функция. Доказать, что: 71-1 г0 2) р(п, к) =р(п-1,к-1) + (п- 1)р(п - 1, к). § 5. Асимптотические оценки и неравенства При оценке роста функций употребляются следующие обозначе- обозначения. Запись (р(х) = О(ф(х)) при х G X означает, что существует константа с такая, что |</?(ж)| ^ с|г/>(ж)| для х G X. Если <р(х) = = О(ф(х)) и ф(х) = О(ср(х)) при х G X, то пишут <р(х) хф(х) при х G X. Запись ip(x) = о(ф(х)) при х —У а означает, что lim \ { = 0. ж-^а гр(х)
278 Гл. VIII. Элементы комбинаторики Говорят, что функции (f(x) и ф(х) асимптотически равны (обозначе- (обозначение: (р(х) ~ ф(х)) при х ->• а, если <р(х) = ф(х) + о(ф(х)) при ж ->• а. При разного рода оценках полезна формула Стирлинга га! ~ л/2тшппе~п. A) Для более точных оценок используются неравенства -n+I^}. B) 5.1. Доказать неравенства*): 1) пп'2 <п\< (J^Y при п > 2; 2) Bп)! < [п(п + 1)]"; <3; 4) (!)<„!; 5) („!)»< (^), п 6I 2 3 ... п 8) Bп - 1)!! <п", п > 1; 9) n! > e"nnn; 10) A +а)п ^ A +an) при -1 ^ а, п ^ 1; 11) п 5.2. Доказать неравенства: 2) (тУ < (ъ) 5.3. Используя формулу Стирлинга, показать, что при п —У оо справедливы асимптотические равенства: 1)Bп-1)!!~л/2Bп)"е-п; 2) Bnn) ~ -j= ¦ 4"; оч п! 2л/3 3n ' / \ 71 \ \ * / I TJ I \ *7/п- /уо .ч (m+ l)(m + 2)...(m + n) k\ m_k 4) -^- -^- —-—f -^ ~ —- nm для целых неотрицатель- (& + 1)(/г + 2)... (к + га) га! ных кит; К, Bп)Н *) Символом Bп — 1)!! обозначается число 1 • 3 • 5 • ... • Bп — 1), а Bп)Н = 2-4-6-...-Bп).
$5. Асимптотические оценки и неравенства 279 5.4. Доказать, что при п —У оо справедливы следующие асимпто- асимптотические равенства: k=l 5.5. Пусть 6o, bi, ..., bn — такие числа, что 0 < ак ^ bk ^ ск < 1. Выяснить, верно ли, что: k=o к=0 5.6. 1) Доказать неравенство Чебышева в следующей форме. п Пусть А = {ai, a2, ..., ап} — совокупность чисел, а = — ^_^ аь п г=1 Da = — V^ (а^ — аJ. Тогда доля ^ тех а^, для которых |а« — а\ ^ t, не превышает Da/t2. 2) Используя неравенство Чебышева, показать, что n 3) Показать, что ^ - ^ J 2п-\ 5.7. С помощью формулы Стирлинга показать, что: 1) если = о(п3/4) при п —у оо, то 2 / 2*) если a > 0 и & = о(п2//3) при п —у оо, то |_(fc(a
280 Гл. VIII. Элементы комбинаторики хш = 3*) если а > 0, к < m, h = . , Xk = (к )h, уап V а +1 / / па \, q , _ , = I т 1 /г, ж^ —>- оо, хша —>- 0, т — к ^ оо при п —>- оо, то ХШ> /^п>\ ^ ^ (а + l)n+1 (е~х^12 _ в~жт/2\ ^ 4) если а>0, ж —>- оо и ж = о(п1//6) при п —>- оо, то 5.8. Пусть 0 < Л < 1, Лп целое, /а = 1 - Л, и пусть G(n, Л) = -. С помощью формул A) и B) показать, что: 1) (л^) ~ G(n, Л) при п -у оо; 3) ^G(n, АК (ЛПП) при п^2; П Л\ ( П \ / V^ (П\ / ^ /^ П \ 4)Ы< Е U)<2a=tU) при 5) Е (fc) < A-AV-"n при А > I; 6) Е (J) < A-AV-"n при А < I. 5.9. Пусть кип — натуральные числа (к < п). Показать, что: {сю к — 1 ^ -Е^Е^ Ь i/=l г=1 J 2) если /;; = о{у/п) при п —у оо, то (n)^ ~ пк; 3) если /;; = о{п) при п —>- оо, то для всякого т > 1 4) при п -у оо и & = o(n3/4) (п)Л = n^exp j -— - — + o(l) >. 5.10. 1) Пусть /;; = k(n) и s = s(n) таковы, что при п4оо s = о(у/к). Показать, что
$5. Асимптотические оценки и неравенства 281 2) Показать, что если s = o(fcr/(r+1)), то АЛ8 \ v^ sv+1 1 5.11. Пусть s = s(n) и A; = fc(n) — целочисленные неотрицатель- неотрицательные функции натурального аргумента. Показать, что: 1) если s + к = о(п3/4) при п —>¦ оо, то п-з * 2) если ж2 + &2 = о(п) при п —> оо, то п — n-s 5.12. Пусть /(ж) — непрерывная, монотонно возрастающая на отрезке [п, т] функция. Показать, что 5.13. Используя предыдущую задачу, показать, что при т —У оо справедливы следующие соотношения: Ink ~ mlnm — т + O(lnm); : = 1 т kn = -i-j- m А;=1 3) У^,, ,! , , =lnlnlnm ^—* A; In A; In In А; A; In A; In In А; V т In m In In ?тг 7 ' с — константа; , ч v-^ log А; 1 , 2 , , ^. / log ггг \ 4) >. f — - l°g m + с + О ( —2— J, с — константа; ^^Ш^^^^ ШЛ, Si \ III, / f = log ?n + с + О ( J, А;=1 m m 5) У^ т 1 9 т = с + h О ( ——р— ), с — константа; kl k=l г/- 1 Кп"-1 тУ-1) \nv mv =п
282 Гл. VIII. Элементы комбинаторики 5.14. Последовательность {рп} определяется рекуррентным соот- соотношением рп = рп-1 — оср\1_х^ ро = 1, 0 < а < 1, C > 1. Показать, что: 1) 0 < рп < 1 (п ^ 1); 2) рп монотонно убывает с ростом п; 3*) Рп ~ (а(/3 — ^пI^1"^ при п —>¦ оо. Указание. Воспользоваться неравенствами Рп П Pk-i-Pk ^ f dx ^ST^Pk-Pk-i П Рп ЕРк-1 - Рк ^ [ ' "^— ^Уг А;=1 ^^ 5.15. 1) Показать, что решение уравнения хех = t имеет вид In In t 2) Показать, что решение уравнения ех +lnx = t при t —У оо имеет вид In In t , , ъ x = \nt- 5.16. Пусть f(x) > 0 и e^w = f(t) + * + 0A), 0 < t < оо. Пока- Показать, что /(?) = Ь 0(?~2) при t ->• оо. 5.17. Пусть производящая функция Л(^) последовательности {ап} имеет вид Л(?) = Q(t)/P(t), где Q(?) и P(t) — многочлены с действи- действительными коэффициентами. Пусть Ai — наименьший по абсолютной величине корень многочлена P(t). Доказать, что: 1) если Ai — простой (не являющийся кратным) действительный корень, то при п —> оо ¦ \7п~1, где P'(Xi) = - 2) если Ai — действительный корень кратности г и (t-ХгУ P(t) где Qi(t), Q2W — многочлены, Q\(t) = qo + q\t + ... + qr-itr~1, то при n ->• 00 , г=0 5.18. Пусть A(i) — производящая функция последовательнос- последовательности {ап}. Найти асимптотическое поведение ап при п —> оо: - 17t3 + 35*2 - 22t + 4'
5. Асимптотические оценки и неравенства 283 G2 + 9/ _ 9^J ' О+З 1 Q4. п ПО 8) A(t) = 2t3 - 1,8* - 0,02 1,4* + 0,49)' 5.19. По заданному рекуррентному соотношению и начальным условиям найти асимптотическое поведение ап при п —у оо: 1) an+2 + 3an+i + 2ап = 0, а0 = 1, ai = 2; 2) an = ^an_i +p(l -an_i), а0 = 1, p + q = l, р, q > 0; 3) an+2 + 2an+i + 4ап = 0, а0 = 0, ах = 2; 4) ап+3 - 9ап+2 + 26an+i - 24ап = 0, а0 = ai = 1, а2 = -3; 5) ап+4 - 4ап+2 + 4ап = 2, а0 = 1, ai =0, а2 = 2, а3 = 0. 5.20. Найти предел последовательности {an}, заданной рекуррент- рекуррентными соотношениями: 1) an+i = (ап + Ъ/ап)/2, Ъ > 0, а0 > 0; 2) an+i = Bап + Ь/а2п)/3, Ъ > 0, а0 > 0; 3) an+i = (Ь - а2 )/2, 0 < Ъ < 1, а0 = 6Д 5.21. Пусть ап удовлетворяет соотношениям а„^2-"-1 + (п-1)-4-"-1, п+2 + + (п + 2)-2п+2+4а„), Ol =0, а2 = 1/16. Показать, что: 1)а„О/8; 2) а„ ^ 9C/4)"; 3) ап = 2""-1A 5.22. Пусть последовательность {an} удовлетворяет условию ^n+m ^ ^п + йт, «1 > 0. Доказать, что ап ^ а\п при n ^ 1. 5.23. Пусть к, п целые. С точностью до 1 вычислить к = к(п), при котором функция /(п, к) принимает максимальное значение: 1) f(n, к) = (пкJ-*к; 2) f(n, к) = (jJ»-*-2*(l-2-2>-*. 5.24. Найти минимальное и максимальное значения выражения /(», г, к) = (;)(;:;)• 2— как функции от г @ ^ г ^ к ^ п); г,к,п целые. 5.25. Найти асимптотическое поведение при п —> оо величи- величины д(п) = min /(n, fc), fc целое, если: 1) f{n, к) = 2п~к + 22"; 2) /(n, fc) = Jb • 2к + i • 22n"fe.
284 Гл. VIII. Элементы комбинаторики § 6. Оценки в теории графов и сетей Помеченным или нумерованным здесь мы будем называть граф, вершинам которого приписаны пометки (номера). Через °5П будем обозначать множество всех n-вершинных графов (п-графов), вершины которых помечены числами от 1 до п. Через cSn?m будем обозначать множество тех графов из °5п, которые имеют в точности т ребер. Граф из множества cSn?m будет называться кратко (п, т)-графом. Графы G и Н из °5п считаются различными, если существуют две вершины j и к, смежные в одном из графов, но не смежные в другом. Пусть (fn(P) обозначает число всех графов из °5п, обладающих свойством Р. Говорят, что почти все графы обладают свойствами Р, если lim ((рп(Р)/\Щп\) = 1. Пусть т = т(п) — целочисленная не- п—>-оо отрицательная функция, a ipn,m(P) — число всех графов из cSn?m, обладающих свойством Р. Говорят, что почти все (п, т(п))-графы обладают свойством Р, если ^Е1 6.1. Показать, что: 1) |<8„| = 2^2>; 2) \п%т\ ( V т 6.2. 1) Найти число различных турниров с п вершинами, прону- пронумерованными числами 1, 2, ..., п. 2) Найти число ориентированных псевдографов с п нумерованны- нумерованными вершинами и т дугами. 6.3. 1) Показать, что число графов в °5П, у которых заданные к (п-к\ вершин являются изолированными, равно 2^ 2 '. 2) Показать, что число графов без изолированных вершин в °5П (п-к\ равно ?(l)fc(?J( к=0 3) Показать, что почти все n-графы не имеют изолированных вершин. 6.4. Пусть подмножество °5 С ^ёп состоит из N попарно различ- различных графов. Показать, что число попарно неизоморфных графов в °5 не меньше N/п\. 6.5. Пусть фт — число попарно неизоморфных связных графов с т ребрами. Показать, что: 2( 2) ф(т) < Bт)т при т -)> оо. 6.6. Показать, что число попарно неизоморфных псевдографов, не имеющих изолированных вершин и обладающих т ребрами, не превосходит (ст)т, где с — константа, не зависящая от т.
§ 6. Оценки в теории графов и сетей 285 6.7. Показать, что число попарно неизоморфных /^-полюсных сетей с т ребрами без петель и без изолированных вершин не превосхо- превосходит Bт)к(стJт, где с — константа, не зависящая от т. Каждому нумерованному дереву Теп вершинами можно вза- взаимно однозначно сопоставить два вектора: / = ЦТ) = (н, ..., гп-2) и J = J(T) = (ji, ..., jn-2), координаты которых принимают зна- значения из множества {I, ..., п}. Эти векторы строятся следующим образом. Координата %\ есть наименьший из номеров висячих вершин дерева Т, a ji — номер той вершины, с которой вершина %\ соединена ребром. Ясно, что числа %\ и ji определены однозначно. Удалим из дерева Т вершину %\ и ребро (ii, ji). В оставшемся дереве пусть %2 — снова наименьший номер висячей вершины, a j2 — номер той вер- вершины, с которой %2 соединена ребром, и т.д. до тех пор, пока после удаления ребра (in-2, jn-2) не останется одно ребро. Положим / = = (гь ..., гп_2), J = (ji, ..., Jn-2). 6.8. 1) Восстановить дерево Т по векторам / и J: а) /=C,5,6, 2,4), J=(l, 2,2,4, 1); б)/=B, 4, 5,1), J=C, 1,1,3); в) / = B, 4, 5, 3, б, 7, 8), J = (9, 8, 3, 1, 7, 1, 1). 2) Доказать, что если / и J — векторы, построенные по произ- произвольному нумерованному дереву Т, то вектор /, а значит, и дерево Т можно однозначно восстановить по вектору J. 3) Доказать теорему Кэли, утверждающую, что число нумерован- нумерованных деревьев с п вершинами равно пп~2. 6.9. Используя теорему Кэли (см. предыдущую задачу), показать, что число попарно неизоморфных деревьев с п вершинами не меньше, чем cnn~2'5en, где lim cn = 1/л/2тг. 6.10. Показать, что число попарно различных п-вершинных лесов с нумерованными вершинами не превосходит 2гг~1пп~2. 6.11. Пусть степень каждой вершины связного графа G из °5П не превосходит s. Доказать, что число попарно различных связных /^-вершинных подграфов графа G не превосходит nDs)k~1. 6.12. Показать, что число попарно различных связных подграфов куба Вп, порожденных подмножествами из к вершин, не превос- превосходит 2пD:п)к~1. (Считать, что вершины куба Вп пронумерованы числами от 1 до 2П.) 6.13. Показать, что число несвязных графов в cSn,m не превосходит к=1 6.14. Показать, что число графов в Ч$п^т, имеющих ровно две компоненты связности, не превосходит [п/2] U) 4п-2^(п\ Т ( (V) )( ГГ Z-^\k) /-^ V j-k + l ) \т- j-n k=l j=k-l
286 Гл. VIII. Элементы комбинаторики Плоское ориентированное корневое дерево, в котором дуги ори- ориентированы к корню, называется дихотомическим, если степень полузахода каждой вершины либо равна 0 (такие вершины будем называть висячими), либо равна 2 (такие вершины будем называть внутренними). 6.15. 1) Доказать, что каждое дихотомическое дерево с т внут- внутренними вершинами имеет ровно т + 1 висячих вершин. 2) Пусть tm — число попарно различных дихотомических деревьев с т внутренними вершинами. Доказать, что to = ti — 15 а ПРИ т > 1 га-1 к=0 3) Доказать, что tm = — ( ™ ). m + 1 V "* / Плоское ориентированное корневое дерево будем называть почти дихотомическим, если все дуги ориентированы к корню, степень полузахода каждой вершины находится в пределах от 0 до 2, каждая вершина с полустепенью захода, равной 1, является концом дуги, исходящей из висячей вершины (т.е. вершины с полу степенью захода, равной 0). Вершина почти дихотомического дерева называется внут- внутренней, если степень полузахода отлична от 0. Пусть tm^ — число попарно различных почти дихотомических деревьев с т внутренними вершинами, к из которых имеют полустепень захода, равную 1, и пусть tm — число попарно различных почти дихотомических деревьев с т внутренними вершинами. ? J, где tm — вели- величина, определенная в предыдущей задаче. 2) Доказать, что tm ^ 2ст, где 2 < с < 3. Обозначим через Фп множество всех попарно различных формул над множеством связок {V, &, —} и множеством переменных Хп = = {х\, Х2ч • • •, Хп}- Формулы считаются различными, если они пред- представляют собой различные слова в алфавите {V, &,—,(,), х\, Ж2, ... ..., Хп}. Пусть Фп,т — подмножество тех формул из Фп, которые содержат ровно т связок и в которых отрицания встречаются только над символами переменных. Пусть Tn?m — множество почти дихо- дихотомических деревьев, имеющих т внутренних вершин, и таких, что каждая висячая вершина помечена символом алфавита Хп = {х\, X2j • • • ? хп}, каждая внутренняя вершина, имеющая полустепень за- захода, равную 1, помечена символом —, а каждая из остальных внут- внутренних вершин — символом из алфавита {V, & }. 6.17. 1) Установить изоморфизм между множествами Фп,т и Tn?m. 2) Доказать, что |Фп,т| ^ (сп)т, где с — константа, не зависящая от п и т.
§ 6. Оценки в теории графов и сетей 287 Пусть p(G) — некоторый числовой параметр графа G. Пусть р(п) — 2 ^2' 2^ p(G) — среднее значение параметра р, a Dp(n) = = 2 ^2' 2^ (p(G) ~Р(п)J — дисперсия параметра р. Аналогично можно определить среднее значение и дисперсию параметров графов из Шп,т- Пусть в > О, 6п(в) — доля тех графов G из °5П, для которых p(G) ^#,аДп(#)—доля таких графов G из °Sn, что \p(G)—р(п)\ ^ 0. Для различных оценок и доказательства свойств почти всех графов часто используются следующие неравенства Чебышева: Ш < ^, A) Пусть, например, p(G) — число изолированных вершин гра- графа G. Требуется показать, что p{G) = 0 для почти всех п-графов. Пусть дп(г) — число графов из °Sn, у которых вершина с номером г является изолированной. Тогда р(п) = 2"B) Y, P(G) = 2-^j Очевидно, что дп(г) = 2^ 2 ' для всех % — 1, ..., п. Отсюда р(п) = = п • 2~п. Полагая в A) в = 1/2, получаем, что доля графов G из °5П, для которых p(G) ^ 1/2, не превосходит п • 2~n+1. Но lim п • 2~n+1 = 0. Следовательно, для почти всех n-графов p(G) < < 1/2, т.е. p(G) = 0. Пусть теперь p{G) — число ребер в графе G. Покажем, что у почти всех n-графов p(G) = -( о )A +еп), где lim en = 0. Имеем 2 V ^ / п—^сю 2-^Y,9n(hJ), где gn(i,j) = 2^-1 - число графов, у которых пара вершин (г, j) соединена ребром. Таким образом, р(п) = - ( ^ j. Подсчитаем дисперсию: Пронумеруем все пары вида (г, j), 1 ^ г < j ^ n, числами от 1 до ( о )' и ПУСТЬ Ъп[у-> А*) — число графов G из °5П, у которых пары с номерами v и ц являются ребрами. Тогда
288 Гл. VIII. Элементы комбинаторики (П)-2 Но gn(z/, /i) = 2^2' , если v ф ц,. Поэтому Полагая в B) 0 = л/пр(п), получаем, что доля тех графов G Е °Sn, //rrv I /n\ I ^ /n /n\ 1 ^ для которых p(G) — ^ U ?i йоЬ не превосходит —. Отсюда 2 V * / | у 2 V ^ / п вытекает, что для почти всех графов p(G) = - f 2 j A + гп), где lim en = 0. п—^сю 6.18. Пусть p(G) — число пар различных вершин графа G из °5П, для которых не существует цепи длины меньшей, чем 3, соединяющей -(п) эти вершины. Пусть р(п) =2 ^2^ V^ p(G). 1 1) Показать, что р(п) = 9 2) Показать, что у почти всех n-графов отсутствуют вершины, расстояние между которыми больше 2. 3) Используя результаты задачи 6.18, 2), показать, что у почти всех n-графов радиус и диаметр равны 2. 6.19. Показать, что среднее число гамильтоновых циклов в гра- графах G из "%п равно (п - l)!/2n+1. 6.20. 1) Найти среднее число р(п) циклов длины 3 для графов G из^п. 2) Найти дисперсию Dp{n) числа циклов длины 3 для графов G из^п. 3) Показать, что для почти всех графов G G ^ёп число p(G) цик- циклов длины 3 удовлетворяет асимптотическому равенству p(G) ~ р(п) при п —у оо. 6.21. 1) Найти среднее число р(п, т) циклов длины 3 для графов G из ЧЬщт. 2) Показать, что дисперсия Dp{n, m) числа циклов длины 3 для графов G из ЧЬщт удовлетворяет неравенству D(p)(n, m) ^ n4(m/nM, где N=(n2). 3) Доказать, что если т = т(п) и lim (т/п) = оо, то для почти п—>-схэ всех графов G из cSn?m число p(G) циклов длины 3 удовлетворяет асимптотическому равенству P\G) ~ о ( —) ПРИ ™-^ °°-
§ 6. Оценки в теории графов и сетей 289 6.22. Найти среднее число ^-вершинных независимых множеств в графах G из °Sn. 6.23. Пусть p(G) — целочисленный неотрицательный параметр, а р(п) — его среднее значение для графов G из °Sn. Показать, что если lim р(п) = 0, то для почти всех графов p(G) = 0. п—>-схэ 6.24. Используя неравенство Чебышева B), показать, что у почти всех (п, ?тг(п))-графов, где т(п) = [n/ln(nlnn)], число изолирован- изолированных вершин равно пA — е(п)), где lim e(n) = 0.
Глава IX МИНИМИЗАЦИЯ БУЛЕВЫХ ФУНКЦИЙ § 1. Структура граней п-мерного куба. Покрытия и тесты для таблиц Гранью единичного n-мерного куба Вп называется множество BaC!:*k"ik = Каь •••,ап) еВп: ah = сгь ..., aik = ак]. Множест- Множество {ii, ..., in} называется направлением, число к — рангом, а чис- число п — к — размерностью грани 5^г1^'г/с. Кодом грани G — — В™^ак'>гк называется вектор j(G) длины п, в котором 7n = = cti, ..., 7ifc = &к-> а остальные координаты есть —. Например, ^(В^1'3) = @ — 1—). Одномерные грани называются ребрами куба. Обозначим множество векторов длины п с координатами из мно- множества {0, 1, —} через Gn. На множестве Gn зададим частичный порядок, полагая а ^ /3, если вектор /3 может быть получен из а путем замены некоторых (быть может, ни одной) координат набора 5, равных 0 или 1, на —. Отношение 5^/3 между кодами граней G и Н соответствует отношению G С Н между гранями. Положим ||5|| равным числу прочерков в наборе а и G^ = \a G Gn: ||5|| = к\. Тог- Тогда Gq = Вп, G™ соответствует множеству ребер куба Вп, G% — мно- множеству граней куба Вп, имеющих размерность к. Интервалом /E, /3) куба Вп называется множество вида {7 Е Вп: а ^ j ^ /3}, где 5, /3 — вершины из Вп такие, что а ^ /3. Число р(а, /3) называется размерностью интервала. Пусть М — матрица с элементами из множества {0, 1}. Будем говорить, что строка а матрицы М покрывает некоторый столбец /3, если на их пересечении стоит 1. Матрицу с т строками и п столб- столбцами будем называть матрицей размерности т х п. Подмножест- Подмножество А строк матрицы М называется покрытием (множества столб- столбцов) матрицы М, если для каждого столбца матрицы М найдется строка из множества Л, покрывающая этот столбец. Покрытие назы- называется кратчайшим, если оно имеет минимальную мощность среди всех покрытий матрицы М. Мощность ?(М) кратчайшего покрытия
§ 1. Структура граней п-мерного куба 291 называется глубиной матрицы М. Пусть каждой строке а матри- матрицы М приписано неотрицательное число w(a), называемое весом строки а. Весом множества А строк матрицы М называется чис- число w(A) = V^ w(a). Покрытие А матрицы М называется минималъ- ным (относительно весовой функции w), если оно имеет минимальный вес среди всех покрытий матрицы М. Покрытие называется тупико- тупиковым, если удаление из него любой строки приводит к множеству, не являющемуся покрытием. Покрытие называется градиентным, если оно может быть получено в результате следующей пошаговой про- процедуры. На первом шаге выбирается строка Si, имеющая наиболь- наибольшее число единиц, а из М вычеркиваются строка а± и все столб- столбцы, имеющие в пересечении с Si единицу. В результате получается матрица М\. Пусть сделано к шагов, на которых выбрано множество строк Ak = {Si, ..., 5/.} и получена матрица М\~. На (к + 1)-м шаге в матрице М^ выбирается строка S^+i с наибольшим числом единиц и т.п. Процедура заканчивается, если матрица М^ не содержит единиц. Полученное при этом множество А^ и является градиентным покры- покрытием. Результат процедуры неоднозначен, поскольку выбор строки на каждом шаге, вообще говоря, не является однозначным. Через L-p(M) будем обозначать максимальную мощность градиентного покрытия матрицы М. Множество А строк матрицы М называется тестом, если в под- подматрице, образованной строками из А, столбцы с номерами i и j различны, когда столбцы с номерами г и j различны в матрице М. Тест называется минимальным, если он имеет минимальную мощ- мощность среди всех тестов матрицы. Тест называется тупиковым, если после удаления любой строки получается множество, не являющееся тестом. Количество строк в тесте называется его длиной. 1.1. Показать, что грань куба Вп размерности к является его интервалом размерности к и наоборот. 1.2. Доказать следующие утверждения: 1) число различных граней куба Вп, имеющих заданное направле- направление {н, ..., ik}, равно 2к; 2) две различные грани одного направления не пересекаются; 3) объединение всех граней куба Вп, имеющих заданное направ- направление, дает весь куб Вп; 4) число всех граней ранга к куба Вп равно ( ? J • 2к; 5) общее число граней куба Вп равно Зп; 6) число граней размерности к, содержащих заданную вершину a G Вп, равно 7) число граней размерности к, содержащих заданную грань раз- мерности /, равно I , _ , 1;
292 Гл. IX. Минимизация булевых функций 8) пересечение двух граней (если оно не пусто) является гранью; 9) число /с-мерных граней, пересекающихся с заданной /-мерной min {k, 1} гранью куба Вп, равно ^ ( ' ) ' ^ J (Г- ' ) * 1.3. 1) Пусть G, H, F — грани куба Вп. Показать, что если G П Н ф 0, G П F ф 0, Н П F ф 0, то G П (Я ПьР) ^ 0. 2) Если 5, /3 — вершины из Яп, то пусть ВE, /3) — грань куба Яп с кодом 7, получающимся из набора а расстановкой прочерков в тех его координатах, которые отличаются от соответствующих коорди- координат набора р. Доказать, что для трех произвольных вершин 5, /3, j из Вп множество ВE, /3) П В(/3, j) П #G, S) состоит из единствен- единственного набора й = (Ei, ..., ?п), где ^ = афг V /З^Тг V Ъаг (* = 1? • • • ? п)- 3) Пусть ??(А) — множество ребер куба Яп, целиком содержащих- содержащихся в подмножестве А С Яп. Доказать, что для любого целого т тако- такого, что 0 ^ т ^ 2П~1, и любого Л С Вп такого, что \А\ = 2п~1 + ?тг, выполнено неравенство |()| 1.4. Пусть ni, П2, . ns ?тгп. целые неотрицательные числа та- такие, что >2П* = 2П. Тогда в Вп существуют попарно непересе- г=1 кающиеся грани ных П2, ns i, G2, ..., G такие, что размерностей, соответственно рав- (J г=1 1.5. Грани G и Н куба Вп называются несравнимыми, если не выполняется ни одно из включений ССЯ, Н С G. 1) Показать, что существует множество граней куба Вп, состоя- п \ /n — [n/3]N п/3]) V [w/3] 2) Показать, что мощность всякого множества попарно несравни- несравнимых граней куба Вп не превосходит щее из попарно несравнимых граней. 1.6. Найти глубину матрицы М: М = 4) М = ОНО ООП 1001 1100 110000 011000 001100 000110 000011 100001 111000 100100 010010 001001 3) М = 5) М = 11100 01110 00111 10011 11001 6) М = 11110000001111 00111100111100 11000111100110 11111110000000 00000001111111 1010010 1001001 0101010 0010110 0100101
§ 1. Структура граней п-мерного куба 293 1.7. Найти минимальные мощности градиентных покрытий мат- матриц М из задачи 1.6. 1.8. Найти числа кратчайших покрытий матриц М из задачи 1.6. 1.9. Найти числа тупиковых покрытий матриц М из задачи 1.6. 1.10. Пусть М — матрица с п ненулевыми столбцами, а в каж- каждой ее строке не менее к единиц. 1) Показать, что ?(М) ^ п — к + 1. 2) Показать, что оценка достижима. 1.11. Пусть М — матрица линейного (п, &)-кода. Показать, что ам) < к. 1.12*. Пусть матрица М размерности т х п имеет не менее s единиц в каждом столбце. Доказать, что: 1) f (М) ^ 1 + - In —; 2) Lr(M) ^ 1 + ™ In —. s m s m 1.13*. Пусть в матрице Men ненулевыми столбцами существует подматрица М' с т строками такая, что число столбцов подматри- подматрицы М', содержащих менее s единиц, не превосходит еп. Доказать, что максимальная мощность L-p(M) градиентного покрытия матрицы М удовлетворяет неравенству LT(M) ^ 1 + еп -\ In . 1.14. Пусть матрица т имеет п ненулевых столбцов, а ее глубина равна р. Доказать, что 1.15. Пусть двоичная матрица М имеет п = 2BП — 1) столбцов и q + 2 строк, причем множество Ei номеров единичных коорди- координат г-й строки матрицы М имеет вид Ег = {2*-\ 21'1 + 1, ..., 2i - 1, п - 21'1 + 1, п - 2*, ..., п - 2i + 2} при l^i^q, Eq+1={l,2,...,2n-l}, Еа+2 = {2\ 2« + 1, ...,п}. Найти отношение мощности градиентного покрытия к мощности кратчайшего покрытия. 1.16. Множество N С Вп называется (п, к)-протыкающим, если в каждой /с-мерной грани куба Вп находится хотя бы одна верши- вершина множества N. Пусть L(n, k) = min|iV|, где минимум берется по всем (п, к)-протыкающим множествам. Доказать, что: 1) L(n, 1) = 2П-1; 2) L(n, п - 1) = 2; 3) L(n, 2) ^ [2П/3]; 4) т ^ L(n, п — 2) ^ m + 2, где т — наименьшее целое, для ко- [п/к]
294 Гл. IX. Минимизация булевых функций 6) L(n, k) ^ 2n~rL(r, к) (k^r ^ га); 7) Ь(п, к) <С 1 + 2п~к In (jf) + 2п~к. 1.17*. Пусть 1 ^ I < к ^ п и Mn^,i — матрица, строки которой соответствуют наборам из В%, а столбцы — наборам из BJ1, и пусть 1 на пересечении строки и столбца стоит тогда и только тогда, когда набор, соответствующий столбцу, содержит все единицы набора, со- соответствующего строке. 1) Найти f(Mn,n_i,z). 2) 3) Доказать, что f (Mn>n_fc}/) = / + 1 при га ^ (Z + l)fe. 4) Доказать, что (™) | (*) <С f (Мп,м) ^ 1 + (^) (l + In 5) Доказать, что ?(Mn,n_2,n-z) ^ r(^q + Х) + (/ - 1 + г) (j) , где г — остаток от деления п на / — 1, a q = (п — г)/A — 1). 1.18. Пусть М — матрица размерности т х п, у? — положи- положительное число. Показать, что в М можно найти множество строк А мощности, не превышающей п/ср, такое, что после вычеркивания всех столбцов, покрываемых строками из А, получается подматрица, в каждой строке которой менее ip единиц. 1.19. Найти длину минимального теста матриц М из задачи 1.6. 1.20. Найти длины минимальных тестов для матрицы М, если: 1) множество столбцов матрицы М есть Вп; 2) множество столбцов матрицы М есть В%; 3) множество столбцов матрицы М есть (J Щ^ 4) множество столбцов матрицы М есть В7^ U В%+1 (к > 0). 1.21. Через М^ будем обозначить матрицу, составленную из сумм по модулю 2 всевозможных неупорядоченных пар столбцов матрицы М. Например, если М = no- noon I, то 001 I 011 110 011 Доказать, что множество строк матрицы М с номерами ii, ..., ik тогда и только тогда является тестом (минимальным, тупиковым тестом), когда множество строк матрицы М^ с теми же номерами является ее покрытием (кратчайшим, тупиковым покрытием). 1.22. Две матрицы М и L с одинаковым числом строк называ- называются Т-эквивалентными, если множество строк с номерами н, ..., г& является тестом тогда и только тогда, когда множество строк матри- матрицы L с теми же номерами является тестом матрицы L. Выяснить, являются ли Т-эквивалентными матрицы М и L, если:
§ 1. Структура граней п-мерного куба 295 1) М получена из L перестановкой столбцов; 2) М получена из L перестановкой строк; 3) М получена из L удалением всех столбцов, сплошь состоящих из 0 (из 1); 4) М получена из L вычеркиванием к — 1 столбцов из к одина- одинаковых; 5) М получена сложением по модулю 2 каждого столбца матри- матрицы L с заданным столбцом 5; 6) М получена из L сложением по модулю 2 каждой строки мат- матрицы L с заданной строкой 5; 7) М получена из L заменой всех 0 на 1 и всех 1 на 0; 8) М состоит из всех линейных комбинаций столбцов матрицы L; 9) М = LB) (определение см. в задаче 1.21). 1.23. Доказать, что если М имеет п попарно различных столбцов, то длина минимального теста не меньше log2 п. 1.24. Доказать, что число тупиковых тестов матрицы Мет ( т строками не превосходит г /Л1 \[т/2] 1.25. Доказать, что число матриц размерности т х п с попар- попарно различными строками, у которых совокупность строк с номера- номерами ii, ..., %k является тестом, равна 2^B^ + 1)... Bк — п + lJn(m~fe). Универсальный алгоритм построения тестов состоит в построе- построении по заданной матрице М некоторой к. н. ф. и последующем пре- преобразовании ее в д.н.ф., слагаемые которой соответствуют тупи- тупиковым тестам. Пример. Рассмотрим матрицу М. Для построения всех тупико- тупиковых тестов этой матрицы построим сначала матрицу ^ М = ою- 01 1 101 110 10 1" 1 10 101 011 По матрице М^ построим к.н.ф. Q(M), переменными которой яв- являются номера строк матрицы М^2\ а элементарные дизъюнкции со- соответствуют ее столбцам и включают в себя номера строк, имеющих единицы на пересечении с данным столбцом. Таким образом, к. н. ф. имеет вид Q(M) = A V 2 V 3)B V 4)A V 3 V 4). Раскрывая скобки в к.н.ф. Q(M) и используя правило поглоще- поглощения (А V АВ = Л), получаем д.н.ф. D(M) = l-2Vl-4V2-4V3-4V V2-3. Тупиковыми тестами являются следующие множества строк: {1,2}, {1,4}, {2,4}, {3,4}, {2,3}. 1.26. Пользуясь универсальным алгоритмом, построить все тупи- тупиковые тесты для матриц из пп. 1), 2), 5), 6) задачи 1.6.
296 Гл. IX. Минимизация булевых функций 1.27. Доказать, что если в матрице М размерности т х п рас- расстояние между двумя строками не меньше d, то длина минимального . т Л 2edm теста не превосходит 1 -\—-In —. —. d пуп — 1) § 2. Методы построения сокращенной д. н. ф. Импликантой функции f(xn) называется такая элементарная конъюнкция к над множеством переменных {х\, х2, • • •, хп}, что к V f(xn) = f(xn). Импликанта к функции / называется простой импликантой, если после отбрасывания любой буквы из к получается конъюнкция, не являющаяся импликантой функции /. Дизъюнкция всех простых импликант функции / называется сокращенной д. н. ф. функции /. Дизъюнктивная нормальная форма называется: минимальной, если она содержит наименьшее число букв среди всех д. н. ф., эквивалентных ей; кратчайшей, если она имеет наименьшую длину (число элемен- элементарных конъюнкций) среди всех д. н. ф., эквивалентных ей; тупиковой, если отбрасывание любой элементарной конъюнкции или буквы приводит к д.н.ф., которая не эквивалентна исходной д.н.ф.; д. н. ф. функции /, если она реализует функцию /. Конъюнкции, входящие в д.н.ф., называются ее слагаемыми, число слагаемых — длиной д. н. ф., а сумма рангов слагаемых — сложностью д. н. ф. Говорят, что функция / поглощает функцию g (обозначение: g ^ /), если g\J / = / (или, что то же самое, g & / = = g). Простая импликанта к функции / называется ядровой, если д.н.ф., составленная из всех простых импликант функции /, отлич- отличных от к, не поглощает к. Дизъюнкция всех ядровых импликант функции F называется ядром функции /. Если элементарная конъюнкция к является импликантой функ- функции f(xn), то множество Nk всех наборов а из Вп таких, что /E) = = 1, образует грань, содержащуюся в множестве Nf. Эта грань на- называется интервалом функции f, соответствующим импликанте к. Интервал функции /, не содержащийся ни в каком другом интервале функции /, называется максимальным интервалом. Максимальные интервалы функции / соответствуют ее простым импликантам. Ин- Интервалы, соответствующие ядровым импликантам функции /, назы- называются ядровыми интервалами. Метод Блейка для построения сокращенной д. н. ф. из произ- произвольной д. н. ф. состоит в применении правил обобщенного склеива- склеивания xKi V хК2 = xKi V хК2 V KiK2 и поглощения К\ V К\К2 = К\. Подразумевается, что правила применяются слева направо. На первом этапе производится операция обобщенного склеивания до тех пор, пока это возможно. На втором производится операция поглощения.
§ 2. Методы построения сокращенной д. н. ф. 297 Пример 1. Построить сокращенную д.н.ф. по д.н.ф. D функ- функции /, где D = х\х2 \fx\Xz \/х2х3. После первого этапа получаем D\ — х\Х2 V х~\Х3 V ~х2х3 V х2х3 V Х\Х% V х%. После второго этапа получаем сокращенную д. н. ф. Dcf = D2 = хгх2 V х3. Метод Нельсона позволяет строить сокращенную д. н. ф. по к. н. ф. Сначала в заданной к. н. ф. раскрываются скобки с использовани- использованием закона дистрибутивности. На втором этапе вычеркиваются бук- буквы и конъюнкции с использованием правил хх~К = 0, ххК = хК, КХМ КХК2 =Кг. Пример 2. Построить сокращенную д.н.ф. по заданной к.н.ф. f = (xi Vx2)(x1 Vx2Vx3). После раскрытия скобок имеем D\ — х{х\ V х\х2 V х\х3 V х2х~\ V х2х2 V х2х3. После второго этапа получаем сокращенную д. н. ф. Dj = D2 = Х1Х3 V х2. Алгоритм Квайна строит сокращенную д.н.ф. по совершенной д. н. ф. На первом этапе к совершенной д. н. ф. применяется операция неполного склеивания (хК V ~хК = К V хК V ~х~К). После того как та- такая операция применена к каждой паре конъюнкций из совершенной д.н.ф., к которой она применима, с помощью операции поглоще- поглощения (К V ха К = К) удаляются те конъюнкции ранга п, которые можно удалить таким образом. В результате получается некоторая д.н.ф. D\. Если проведено к ^ 1 этапов, то на [к + 1)-м этапе опе- операции неполного склеивания и поглощения применяются к конъюнк- конъюнкциям ранга п — к д.н.ф. D^. В результате получается д.н.ф. Dk+i. Алгоритм заканчивает работу, если Dk+i = D^. Пример 3. Пусть функция f(x3) задана своей совершенной д. н. ф. Dq = Х\Х2Х3 V X~iX2X3 V XiX2X~3 V X~iX2X~3 V 'Х\Х2Х2>. После первого этапа имеем D\ — х2х3 V х\х2 V ~х\Хъ V х2~х3 V х~{х3. После второго этапа получаем сокращенную д. н. ф. Dj = D2 = х2 V ~х{х2. Для небольших значений п сокращенную д.н.ф. функции f(xn) можно найти, исходя из геометрического изображения множества Nf в кубе Вп. С этой целью в кубе Вп отыскиваются грани максимальной размерности, целиком содержащиеся в множестве Nf, а затем состав- составляется д. н. ф. из конъюнкций, соответствующих этим граням. Пример 4. Пусть функция f(x3) задана вектором 5/ = = @0011111). Требуется найти ее сокращенную д.н.ф.
298 Гл. IX. Минимизация булевых функций 111 110 001 -011 100 Решение. Вершины множества Nf = {111, 110, 101, 100, 011} отмечены в кубе В3 (рис. 9.1) светлыми кружками. Максимальны- Максимальными являются грани 53'1 и I?3]2'3. Коды этих граней суть A ) и (—11). Соответствующие конъюнкции имеют вид xi, Ж2Ж3, а сокращенная д. н. ф. есть DCf = х\ V Х2Х%. Другой способ построения сокращенных д. н. ф. для функций, зависящих от небольшо- небольшого числа (не более 4) переменных, состоит в использовании минимизирующих карт (называе- (называемых картами Карно или диаграммами Вейча). При этом функция задается прямоугольной таб- таблицей, в которой наборы значений переменных на каждой из сторон прямоугольника расположены в коде Грея. Нахождение простых импликант сводится к выделению максимальных по включению прямоугольников, состоящих из единиц. Считается, что каждая клетка таблицы, примыкающая к одной из сторон, является соседней к клетке, примыкающей к противоположной стороне и расположенной на той же горизонтали или вертикали. Метод применим также и для не всюду определенных функций. В этом случае выделяются максимальные прямоугольники, содержащие хотя бы одну единицу и не содержащие нулей. Пример 5. Таблица 9.1 представляет собой минимизирую- минимизирующую карту для функции /(ж4) с вектором значений 5/ = = A110010101001101). Коды максимальных интервалов имеют вид @ 0 — 0), @ 0 0—), ( 01), (—1 — 1), A1 — 0). Сокращенная д. н. ф. имеет вид D^ = х~{Х2Х± V Ж1Ж2Ж3 V Ж3Ж4 V Ж2Ж4 V Ж1Ж2Ж3. Пример 6. Таблица 9.2 представляет собой минимизирую- минимизирующую карту для частичной функции /, зависящей от трех перемен- переменных. Сокращенная д. н. ф. имеет вид D^ = ~х{х^ У~Х\Х2 V Х2Х% V : Таблица 9.1 хз 0 0 1 1 xi х\х4 0 110 о о 0 1 1 1 1 0 СО 0 ( 1 0 : 1 Т - - s \ 1) 0 1; 1; 0 О 0 0 0 Таблица 9.2 х2 0 0 х\хз 0 1 0 1 —) 0 0 т 0 Простая импликанта / функции / называется ядровой, если су- существует набор а такой, что /E) = 0, и в то же время к (а) = 0 для любой простой импликанты К функции /, отличной от /. Такой
§ 2. Методы построения сокращенной д. н. ф. 299 набор а называется собственным набором ядровой импликанты / (или соответствующего интервала). 2.1. Из заданного множества А элементарных конъюнкций выде- выделить простые импликанты функции /: 1) А = {хи х3, Xlx2, х2х3}, /B3) = @010 1111); 2) А = {х{х2, х2х3, х1х2х3], /(ж3) = @1111110); 3) А = {хих4, х2х3,х1х2хА}, /(г4) = A0101110 01011110); 4) А = {хи х2, х1х2], /(г2) = A011); 5) А = {Xlx3, Xlx3, х2}, /(г3) = (ООП 1011); 6) А = {Х1х2, х2х3, ж2}, /(г3) = @0101111). 2.2. По заданной д.н.ф. D с помощью метода Блейка построить сокращенную д. н. ф.: 1) D = xi~x2 V xix2X4 V Ж2Ж3Ж4; 2) D = xi~x2x3 V Ж1Ж2Ж4 V x2 3) D = xi V ~x\x2 V ~x~ix2x3 V 4) .D = Ж1Ж2Ж4 Ух{х2х3 5) D = Ж3Ж4 V ~x2X4 V Ж1Ж4 V Ж2 6) D = Ж1Ж2Ж3 V Ж3Ж4 V Ж1Ж4 V 7) D = Ж3Ж4 V Ж1Ж2 V Ж3Ж4 V 8) D = Ж1Ж2Ж3 Х/Ж1ж2ж4 V ж2ж3ж4 V 2.3. Построить сокращенную д. н. ф. по заданной к. н. ф.: 1) {х1 V x2Vx3)(x1 V x2V x3)(x2Vx3); 2) {х1 Ух2){х1 V x2Vx3); 3) (хг Vx2 Vx3)(xi Vx2)(^i V x2 V x3); 4) (Ж1 Vx2 Vx3)(xi Vx2 Vi3); 5) (хг \/x2)(x2 V x3)(x3 Va?i); 6) (Xi V Ж2)(Ж2 V Жз)(жз V Ж4)(Ж4 V Xi); 7) (я?! V x2 V x3)(xi Vx2 \/ж4)(ж1 \/ж2 \/ж4); 8) (Ж1 Va;2)(aii V х3 V ж4)(ж1 V ж2 V х3)(х3 V ж4). 2.4. С помощью алгоритма Квайна построить сокращенную д. н. ф. для функции /, заданной вектором своих значений; 1) й/ = @111 ОНО); 2) 5/ = A0111101); 3) af = @010 1111); 4) 5/ = A110 0100); 5) 5/ = @001101111011011); 6) af = @000 11111111 ОНО); 7) af = A1111111 01111110); 8) af = @000111101111111). 2.5. Изобразив множество Nf функции f(xn) в Вп, найти коды максимальных интервалов и построить сокращенную д. н. ф.: 1) af = A111 0100); 2) af = @101 ООП); 3) af = A101 ООП); 4) af = A110 0111); 5) af = A1111000 0100 1100); 6) af = @001011111101111); 7) af = A110011000000111); 8) af = A111111111111000). 2.6. Найти сокращенную д. н. ф. функции / с помощью минимизи- минимизирующей карты: 1) af = @101 0111); 2) af = A1011011); 3) af = A011 0000);
300 Гл. IX. Минимизация булевых функций 4) af = A110 1111); 5) af = @001101111011111); 6) af = (ООП 110111111101); 7) af = (ООП 110111011110); 8) af = @010101111011111). 2.7. С помощью минимизирующих карт построить сокращенную д.н.ф. для частичной функции /, заданной векторно (прочерки соот- соответствуют не определенным значениям): 1) af = @1 01 — 1); 2) af = A — 01 10); 3) af = A 0 — 10); 4) af = @ 10 — 1—); 5) af = A0 — 1 — 011 — 0 1 — 01); 6) af = @ 1 0 1 — 1 — 01); 7) af = ( 01 — 1—00 1 — 0); 8) af = (—10 — 1 11 — 01 — 0 ). 2.8. Найти все ядровые импликанты для функций / из задачи 2.6. 2.9. Найти длину сокращенной д.н.ф. функции /: 1) f(xn) = хг 0 х2 0 ... 0 хп] 2) f(xn) = (ял У х2 V хз)(хг У х2 У х3) 0 х4 0 ... 0 хп; 3) f(xn) = (ял У х2 У xz)\xi Ух2 Ух3)(хА 0 ...0жп); 4) /(жп) = (ял V ... V xk){xk+1 У ... V яг„); UJ J \Ju J — 1*^1 vl? • • • vI7 «// /^ у I «// /^ _|_ ]^ \±/ • • • чГ/ «^71/5 6) /(?) = (Ж1 V ... V хп)(х! V ... V хк V хк+1 V ... V хп); 7i f [ т1^ I ^з [ 7*1 V Т* г» | | Т" <-» V Т*о i IT* 1 V Т* i i Т" V T"i i* 8) /(гп) = (я?1 V...Vxn)(xiV...Vxn); 9) /(жп) = (ял V ж2)(ж3 V ж4)... (ж2п-1 V х2п). 2.10. Пусть Sk,m(xn) такова, что Nsk m = {5 G 5n: fc ^ ||5|| ^ ^ fc + ?7l}. 1) Для данного набора a G 5^ найти число максимальных интер- интервалов функции Sk,rm содержащих набор 5. 2) Для к < I ^ к + га и 5е 1^п найти число максимальных ин- интервалов функции Sk,mj содержащих набор 5. 3) Показать, что число максимальных интервалов lc(Sk,m(xA)) (п\ ('п — к\ функции Sk,m равно ( , ) ( ). ~ п! 4) Показать, что max lc(Sk,m(xn)) = /оцчг/ — qnr 2.11. Пусть /с(/) — длина сокращенной д.н.ф. функции /. Пока- Показать, что Iе'(] 2.12. Найти числа ядровых импликант у функций / из задачи 2.9. 2.13. Показать, что число ядровых импликант функций f(xn) не превосходит 2П~1. 2.14. 1) Показать, что всякая простая импликанта функции f(xn) ранга п является ядровой.
§ 3. Методы построения д. н. ф. 301 2) Показать, что всякая простая импликанта функции f(xn) ранга меньше 2 является ядровой. 2.15. 1) Показать, что простая импликанта монотонной функции не содержит отрицаний переменных. 2) Показать, что каждая простая импликанта монотонной функции является ядровой. 2.16. Доказать, что сокращенная д.н.ф. функции / реализует /. § 3. Методы построения тупиковых, минимальных и кратчайших д. н. ф. При построении тупиковых д. н. ф. функций, зависящих не более чем от четырех переменных, удобно пользоваться минимизирующими картами. При построении кратчайших д. н. ф. функции на минимизи- минимизирующей карте отыскивается минимальная по числу элементов сово- совокупность «прямоугольников», соответствующих простым импликан- там функции и покрывающих все единицы в минимизирующей карте. Пример 1. Кратчайшей д.н.ф. функции /, которая задана табл. 9.1, является д. н. ф. D = Х3Х4 V Х2Х4 V Ж1Ж2Ж3 V Ж1Ж2Ж4. В этой д. н. ф. все конъюнкции ядровые, как это легко усматривается из минимизирующей карты. Отметим, что D является единственной тупиковой и минимальной д. н. ф. функции /. Для построения тупиковых д. н. ф. функции / часто используется так называемая таблица Квайна Q/ функции /, строки которой соот- соответствуют простым импликантам функции /, а столбцы — наборам из множества Nf. На пересечении строки, соответствующей импликан- те /, и столбца, соответствующего набору 5, стоит 1, если /E) = 1, и 0, если /E) = 0. Минимальное (тупиковое) покрытие столбцов таблицы Qf строками соответствует кратчайшей (тупиковой) д. н. ф. функции /. Минимальной д.н.ф. отвечает покрытие, обладающее минимальной суммой рангов конъюнкций, соответствующих стро- строкам, вошедшим в покрытие. Для построения всех тупиковых д. н. ф. функции / составим к. н. ф. Ж(/) следующим образом: поставим в соответствие столбцу а таблицы Q/ элементарную дизъюнкцию вида Da = К\ V К2 V ... V Ks, где Ki (ъ = 1, ..., s) — все такие простые импликанты функции /, что Ki(a) = 1. Полагаем Ж(/) = & D^. ос Раскрывая скобки подобно тому, как это делалось в методе Нельсона (см. пример 2 из предыдущего параграфа), и используя правила А-А = А и А У АВ = А, получаем из к.н.ф. Ж(/) д.н.ф. М(/), слагаемые которой соответствуют тупиковым д.н.ф. функции /. Пример 2. Пусть / = {х\ V Х2 \/жз)(ж Ух2 Ух~з)- Сокращенная д. н. ф. функции / имеет вид DCf = Ж1Ж2 V Х1Х3 V Ж1Ж2 V Х3Х2 V Х3Х1 V Таблица Квайна Q/ показана в табл. 9.3.
302 Гл. IX. Минимизация булевых функций Таблица 9.3 К\ = Х\Х2 К2 = Ж1Ж3 Кз = Ж1Ж2 К\ = Ж2Ж3 К 5 = Ж1Ж3 Кб = Ж2Ж3 001 0 0 0 0 1 1 010 0 0 1 1 0 0 100 1 1 0 0 0 0 011 0 0 1 0 1 0 101 1 0 0 0 0 1 по 0 1 0 1 0 0 V К2)(К3 V V К6)(К2 V К.н.ф. Ж(/) имеет вид = (Кь V КеХ^з V Далее КгКАК5 V К2^з^б V КХК2КЪКЪ V КХКЪК±КЪ V К2К4КЬК6. Функция / имеет две кратчайшие д. н. ф., которые являются в данном случае и минимальными, и три тупиковые д.н.ф., не являющиеся кратчайшими (и минимальными). Кратчайшая д. н. ф., соответствую- соответствующая слагаемому К\К±Кь д.н.ф. М(/), имеет вид х{х2 V х2х3 V x3xi. Заметим, что слагаемые д.н.ф. M(f) соответствуют тупиковым по- покрытиям матрицы Qf и могли быть получены непосредственно из нее. Алгоритм упрощения д.н.ф. состоит в применении двух операций. 1. Операция удаления элементарной конъюнкции. Операция удаления конъюнкции К из д. н. ф. D осуществляется лишь в случае, если после удаления К из д.н.ф. D получается д.н.ф. D1', эквивалентная д. н. ф. D. 2. Операция удаления буквы. Операция осуществляется, если удаление буквы xf из некоторой конъюнкции К д. н. ф. D приво- приводит к д. н. ф. D', которая эквивалентна д. н. ф. D. При применении алгоритма упрощения д. н. ф. D рассматривается как слово, в котором задан некоторый порядок следования конъюнк- конъюнкций, а также букв в каждой конъюнкции. Операция 1 (операция 2) применяется к первой конъюнкции (букве), к которой эта операция применима. Если ни одна из операций не применима, то алгоритм заканчивает работу. Пример 3. Применим алгоритм упрощения к д.н.ф. D = x~ix2xz V х{х2хъ V Ж2Ж3 V хъх~1 V х{х^. На первом этапе исключается первая конъюнкция D\ — х{х2хъ V х2х~ъ V х?~х\ V х\х%. В D\ нет конъюнкций, которые можно удалить, но можно удалить букву х\ в первой конъюнкции. Имеем D2 = ж2ж3 V ж2ж3 V Ж3Ж1 V
§ 3. Методы построения д. н. ф. 303 Эта д. н. ф. является тупиковой. Алгоритм заканчивает работу. Заме- Заметим, что если на этом этапе удалить из конъюнкции х{х2%ъ не бук- букву xi, как этого требует алгоритм упрощения, а букву жз, то процесс упрощения можно продолжить путем удаления конъюнкции xix$. В результате была бы получена д. н. ф. D3 = х±х2 V х2х3 V являющаяся кратчайшей и минимальной. 3.1. Выяснить, является ли д.н.ф. D а) тупиковой, б) кратчай- кратчайшей, в) минимальной: 1) D = Х\Х2 V Х~2] 2) D = Х\Х2 V Х2\ 3) D = Х\ V ~Х~2\ 4) D = х\х~2 V х~\Х2\ Ь) D = х\Х2Х% V Ж2Ж3 V Ж2Ж3; 6) 1} = х\Х2 V Ж1Ж3Ж4 V 7) D = xix~2X± V Ж1Ж3Ж4 V 8) .D = Ж1Ж2Ж3 V Ж1Ж2Ж4 V Ж1Ж3Ж4 V 3.2. Применить алгоритм упрощения к д.н.ф.: 1) D = Ж1Ж2 V ж2; 2) D = х\х2 V xi^2; 3) .D = Ж1Ж2Ж3 V Ж2Ж3 V Ж2Ж3; 4) .D = Ж1Ж2 V х{х~2 V 5) .D = Ж1Ж2 V Ж2Ж3 V Х{Х~ъ V ~Х\Х2 V 6) .D = Ж1Ж2Ж2Ж4 V Ж2Ж3Ж4 V Ж2Ж3 V 7) D = Ж3Ж4 V Ж2Ж3Ж4 V х{х~2Х^ V Ж1Ж2Ж3 V х\Х2~х~ъ V 5) D = х~\Хъ V Ж2Ж3 V Ж1Ж2 V Ж1Ж2Ж4 V Ж2Ж3Ж4 V Ж1Ж3Ж4. 3.3. По заданной сокращенной д.н.ф. 1} построить д.н.ф. состоящую из конъюнкций, входящих хотя бы в одну тупиковую д.н.ф.: 1) D = ху V ~x~z V у~2] 2) D = ~zw V 2/zw V ?|/w V xyz V ж^^ V xyw; 3) D = xyzVxywV~xyw\/~x~zw\/y~zw] 4) D =~zw\/Wyw\ZWy~z\/xyz W xyw; b) D = ~zw V ^ V жи? V 2/2;W V ж^/z; 6) D = xyz V xyz V In/z V ш V yw V ж-ш; 7) D = xz V yzV xy V x~yw V ^u? V xzw; 8) D =~xz\/ yw \J xy\J yz\J xw V zw. 3.4. По заданной сокращенной д.н.ф. D построить д.н.ф. D^m, состоящую из конъюнкций, входящих хотя бы в одну минимальную д.н.ф.: 1) D = хуУх~2У yz; 2) D = xy~z\/'xy'z\/'xyw\/'x~zw\/7yzw] 3) D = xw V yw V zw V xz V 2/z; 4) D = x~z\l yz\l x~yw \J xy\J yzw V жш; 5) D = yzV x~zw V Iq/z V xzu? V In/z; 6) D =~xyw \f~x~zw\/ y~zw\/yzw\f~xy~z] 7) D =~xzV x~z\/ xyz V xzw; 8) D = yzt V ywt V ж]/;г:? V xyzw.
304 Гл. IX. Минимизация булевых функций 3.5. Для д.н.ф. из предыдущей задачи построить минимальные д.н.ф. 3.6. С помощью таблицы Квайна построить все тупиковые д. н. ф. функции /, заданной вектором своих значений: 1) af = @1111100); 2) af = @1111110); 3) af = @0011111); 4) af = A1111000 0100 1100); 5) af = A110 1000 0110 1000); 6) af = A110 0110 0001 0101); 7) af = @001 01111010 1110); 8) af = @00110111110 0111). 3.7. Найти число т(/) тупиковых д.н.ф. и число /i(/) минималь- минимальных д. н. ф. функции /: 1) f(xn) = хг 0 х2 0 ... 0 хп 0 1; 2) f(xn) = {xi У х2 V xz){xi Ух2 Vx3) 0ж40...0жп; 3) /BП) = (хг У х2 У xz)\xx Ух2Ухъ){хА 0...0жп); 4) /BП) = @111111111111110); 5) /(жп) = (хг Ух2 Vx3 \/х4 V ж5 V ... V жп) & (^i V ж2 V ... Vxn); 6) /(?n) = (хг 0 ... 0 xk)(xk+i 0 ... 0 жп). 3.8. Показать, что число тупиковых д. н. ф. произвольной булевой функции f(xn) не превосходит 3.9. Пусть L(/) — число букв в минимальной д.н.ф. функции /, а /(/) — число слагаемых в кратчайшей д. н. ф. функции /. Показать, что: 1) max l(f(xn)) = 2n-1; 2) max L(f(xn)) = n • 2п~1. f(xn) f(xn) 3.10. Доказать, что число тупиковых д.н.ф. любой функ- функции /(жп), имеющей 2п~1 ядровых импликант, равно 1. 3.11. Для скольких функций fix71) справедливы соотношения: 1) L(f(xn)) = п ¦ 2"-1; 2) L(f(xn)) = nB" - 1)? 3.12. Функция f(xn) называется цепной, если множество Nf можно расположить в последовательность 5i, a2j ..., 5/ такую, что р(щ, S^+i) = 1 при всех 1 ^ г < I и р(щ, olj) > 1 при \г — j\ > 1. Пусть rj(l) — число тупиковых д.н.ф. цепной функции / такой, что \Nf\ = /. Показать, что: 1) 77A) = /7B) = 77C) = туD) = 1; 2) v(l) = т)A - 2) + т)A - 3) при /^5. 3) Найти асимптотическое поведение rj(l) при / —у оо. 3.13. Пусть /*(/) — минимально возможное число элементар- элементарных дизъюнкций в конъюнктивной нормальной форме функции /, а А(/) = l{f)/r{f). Найти А(/) для / = (хг V х2)(х3 V хА)... (х2п-1 V х2п). 3.14. Пусть Dq = D0(xn) и D\ — Di{xn) — д.н.ф. такие, что D0&:Di = 0, Do V D\ = 1, а д. н. ф. D(ym) не содержит общих букв с д.н.ф. Do и D\. Бесповторной суперпозицией д.н.ф. D, Do, D\ no
§ 3. Методы построения д. н. ф. 305 переменной щ называется д. н. ф. Е, полученная из д. н. ф. D под- подстановкой вместо каждого вхождения буквы yi д.н.ф. Dq, а вмес- вместо у\ — д. н. ф. D\ с последующим раскрытием скобок. 1) Доказать, что бесповторная суперпозиция тупиковых д. н. ф. является тупиковой д. н. ф. 2) Доказать, что бесповторная суперпозиция сокращенных д. н. ф. является сокращенной д. н. ф. 3.15. Пусть функция и?(ж4) такова, что Й2 = @1011100 00111010). Доказать, что выполнены свойства 1)-3): 1) w(xi, ж2, ж3, ж4) = Цж4); 2) минимальными д.н.ф. функции и?(ж4) являются V Ж2Ж3Ж4 V Ж1Ж3Ж4 V V Ж1Ж2Ж4 V Ж1Ж2Ж3 V 3) число тупиковых д. н. ф. равно 10. 4) Доказать, что если \{хш) = х\ 0 х2 0 ... 0 жт , п четно и /(жп) = гу(жь ж2, А(жз, • • •, Xn/2+i), А(жп/2+2, ..., хп)), то сущест- существуют тупиковые д.н.ф. Е и .F функции / такие, что l(E)/l(F) = = 2™/2-2. 5) Показать, что число тупиковых д. н. ф. функции h(xn) = w(xA) 0 хъ 0 ... 0 хп равно 102 , а число минимальных д. н. ф. равно 22
Глава X РЕАЛИЗАЦИЯ БУЛЕВЫХ ФУНКЦИЙ СХЕМАМИ И ФОРМУЛАМИ § 1. Схемы из функциональных элементов Схемой из функциональных элементов (СФЭ) называется ориен- ориентированная бесконтурная сеть с помеченными вершинами. Полюса сети делятся на входные {входы) и выходные {выходы). Входные полюса помечаются символами переменных (иногда также символами отрицаний переменных или констант). Каждая вершина, отличная от входа (внутренняя вершина), помечается функциональным символом (или символом логической связки). При этом должны выполняться следующие условия: 1) полу степень захода каждого входного полюса равна нулю; 2) полу степень захода каждой вершины, отличной от входного полюса, равна числу мест функционального символа (или логической связки), которым эта вершина помечена. Множество функциональных символов или связок, используемых для пометки внутренних вершин СФЭ, называется базисом схемы. Термин «базис» употребляется здесь в смысле, отличном от того, который принят в гл. II, поскольку в данном случае не предполагается ни полнота системы функций, составляющих базис, ни ее неизбы- неизбыточность. Например, принято говорить о схемах в базисе {V, &, —} (этот базис будет называться стандартным) или в базисе {®, &}. На рис. 10.1, а представлено изображение СФЭ. Входы помечаются светлыми кружками, внутренние вершины — темными кружками, а выходы — двойными кружками. Другой способ изображения схем иллюстрируется рис. 10.1, б. Здесь входы, как и ранее, изображаются светлыми кружками, каж- каждая внутренняя вершина заменена треугольником, внутрь которого помещена пометка (функциональный символ). К одной из сторон тре- треугольника присоединены входы элемента, а вершина треугольника, противоположная этой стороне, является выходом элемента. Выходы схемы отделены от функциональных элементов и обозначены, как и прежде, двойными кружками. Выходам иногда будут приписываться символы функций, реализуемых в них. Понятие функции, реализуемой
§ 1. Схемы из функциональных элементов 307 Рис. 10.1 в вершине схемы, определим по индукции следующим образом. Если СФЭ не содержит функциональных элементов, то каждая ее вершина является входом. В этом случае функция, реализуемая в вершине, тождественно равна переменной (или отрицанию переменной), при- приписанной соответствующему входу. Пусть для СФЭ, содержащих не более т ^ 0 элементов, для каждой вершины функция, реализуе- реализуемая в ней, определена. Рассмотрим произвольную СФЭ Е с т + 1 элементами. Поскольку СФЭ является ориентированным бесконтур- бесконтурным графом, то существует вершина с нулевой полу степенью исхода. Удаляя эту вершину, получаем СФЭ с т элементами, в которой по предположению индукции каждой вершине можно однозначно сопо- сопоставить функцию, реализуемую в этой вершине. Пусть удаленная вершина v имела полу степень захода, равную к, и вершине был приписан /^-местный функциональный символ /. Пусть, кроме того, в к вершинах, из которых дуги выходили в вершину г?, реализуются функции /i(#i, ..., хп), ..., fk(xi, ..., хп). Тогда определим функ- функцию cpv, реализуемую в вершине г?, равенством 4>v{xu ..., хп) = /(/iOi, ..., хп), ..., fk{xu ..., хп)). Заметим, что при этом входы функционального элемента считаются упорядоченными. Будем говорить, что функция f реализуется схемой Е, если в Е существует выход, в котором реализуется функция /. Сложностью СФЭ будем называть число вершин, не являющихся входами (т. е. число функциональных элементов). СФЭ Е называется минимальной, если она имеет наименьшую сложность среди всех СФЭ, реализующих функции, реализуемые схемой Е. Сложностью булевой функции f (системы функций А = {Д, ..., /т}) в классе СФЭ в базисе Б назы- называется сложность минимальной СФЭ в базисе Б, реализующей функ- функцию / (систему функций А). Сложность схемы Е (функции /, системы функций А) в базисе Б обозначается через ЬБ(Т>), (LE(f), ЬБ(А))). В дальнейшем, если базис СФЭ не указывается, подразумевается,
308 Гл. X. Реализация булевых функций схемами и формулами что это СФЭ в стандартном базисе {V, &, —}. При этом символ Б в обозначении сложности схемы или функции будем опускать и пи- писать L(E) и L(f). Везде в дальнейшем связки V, &, 0, |, .|, —У, ~ являются двухместными. 1.1. Для заданной функции f(xn) построить СФЭ в стандартном базисе сложности, не превосходящей т: 1) /(ж2) = xi • Х2, т = 2; 2) /(ж2) = ян ~ х2, т = 4; 3) f(x3) = ян #2 V Ж2Ж3 V Ж3Ж1, m = 4; 4) /(J3) = @1111110), т = 6; 5) /(Х3) = @0011111), m = 2; 6) /(г3) = A000 1101), m = 4; 7) /(X3) = (ОНО 1001), m = 8. 1.2. Для заданной функции f(xn) построить формулу в базисе Б: 1) /(г2) = яп 0 ж2; а) Б = {|, -}, б) Б = {->, -}; 2) f(x2)=Xl ^x2; а) Б ={;,-}, б)Б={&,-}; 3) /(г2) = яп V ж2; а) Б = {-, |}, б) Б = {-, & }; 4) /(ж3) = яп V х2 V ж3; а) Б = {-, |}, б) Б = {->, -}; 5) /(ж3) =Ж1Ж2 V^3 Va;3aii; а)Б={&,0}, б) Б = {-^, -}; 6) /(г3) =Ж1Ж2ж3 Vxix2x3; а) Б ={-,|,|}, б)Б={&,0, -}; 7) /(г3) = яп 0 х2х3; а) Б = {|, |, -}, б) Б = {->, -}. 1.3. Для функции, заданной вектором своих значений, построить формулу в базисе Б: 1) /(г2) = A011); а) Б = {V, -}, б) Б = {|}; 2) /(г2) = A001); а) Б = { & , ->}, б) Б = {|}; 3) /(г3) = A000 0001); а) Б ={-,|}, б)Б={0, &,1}; 4) /(г3) = A110 1000); а) Б = {0, &, 1}, б) Б = {^, -}; 5) /(г3) = A001 0100); а) Б = {0, 1}, б) Б = {-, |}; 6) /(г3) = A010 1110); а) Б = {0, &, -}, б) Б = {-, V}; 7) /(г3) = (ОНО 1111); а) Б = {0, &, -}, б) Б = {-, |}. 1.4. По схемам Е, изображенным на рис. 10.2, найти функции, реализуемые ими. 1.5. Построить СФЭ в базисе Б, реализующую систему функций Ф: 1) Ф = {/i = х\х2 V х2х3 V х$Х1, /2 = ян 0 ж2 0 ж3}; а)Б={&,У, -}, б)Б={&,0}, в)Б={|, |}; 2) Ф = {/i = жь /2 = х{х2, /3 = Ж1Ж2ж3, /4 = 1}; а)Б={&,-}, б) Б ={-,|}; 3) Ф = {/i = я?1 0ж2, /2 = xi У х2 V х3 V /з = х\х2 V xi~x2}; а)Б={0, &,-}, б)Б={&,У, -}; 4) Ф = {/i = ххх2 V х2х3 Vxix3, /2 =ян ~ ж2, /2 = х2 0ж3}; а)Б={&,У, -}, б)Б={|}; 5) Ф = {/i = Ж1^2 V ж2ж3 V Ж3Ж1, xi V ж2 V а)Б={&,У, -}, б)Б={|};
§ 1. Схемы из функциональных элементов 309 h 6) Ф = V V V /2 = 0 Ж4}; a)?={&,V, -}, б)Б={&,0,-}; 7) Ф = {/i(x4) = Ж1Ж2Ж3 \/Ж1Ж2Жз \/Ж1Ж2Ж /2 = Xi 0 Ж2, /з = Х2 0 Ж3, /4 = a) ?={&, V, -}, б) Б={&,0, -}; 8) Ф = {/о = жь ж2, ж3, /i = Ж1Ж2Ж3, /2 = Ж1Ж2Ж3, /3 = /4 = Ж1Ж2Ж3, /5 = Ж1Ж2Ж3, /б = Ж1Ж2ж3, /7 = а) Б= {&,-}, б) ?={V, 0, 1}. 1.6. Реализовать функцию fix71) СФЭ в стандартном базисе, предварительно упростив выражение для f(xn): 1) /(Ж3) = Х1Х2Х3 \l Х\Х2~ХЪ У~Х1Х2Х^ V V V V V Ж1Ж2 V 2) /(ж3) = 3) /(ж3) = Ж1Ж 4) /(ж3) = (я?! Vx2 Vx3)Oi 5) f(x3) = (xi V x2)(xi Vx~2 6) /(S3) = (xi Vi2)(i2 Vx3 7) f(x3) = Ж1Ж2 V Ж1Ж3 V V i2z V ; 3)(xi Vx2 V ) V Ж1Ж2Ж3 V x2x3; Vx2 Vx3)(xi Vx2 V Ж1Ж2 V V V
310 Гл. X. Реализация булевых функций схемами и формулами Метод синтеза СФЭ, основанный на д.н.ф., состоит из двух эта- этапов: 1) представления функции в д.н.ф.; 2) реализации д.н.ф. с помощью СФЭ. 1.7. Реализовать функцию / по методу, основанному на д.н.ф.: 1) / = @1000110); 2) / = @1111110); 3) / = @0011111); 4) / = @0010111); 5) / = 1 0 х 0 zy; 6) / = х 0 у 0 z. 1.8. Доказать, что если /* — функция, двойственная к /, и / отлична от константы, то L(f*) = L(f). Одноразрядным двоичным сумматором называется СФЭ (в произ- произвольном базисе), реализующая систему из двух функций: т(х, у, р) = — хуМурМрх и 1(х, у, р) = х ®у 0р. 1.9. Построить одноразрядный двоичный сумматор в базисе со сложностью, не превышающей L: 1) Б = {V, & , -}, L = 9; 2) Б = {0, & }, L = 5; 3)Б={|, |,-}, L = 12. 1.10. Построить СФЭ в базисе {0, & }, реализующую такую сис- систему функций {ЛB4), /2(ж4),/3(ж4)}, что г/(ЛE4), /2E4), /зE4)) равно числу единиц в наборе а4 = (ai, «2, «з, щ)- Таким образом, искомая СФЭ дает двоичное разложение числа единиц набора 54. Здесь, как и раньше, i/(ai, ..., an) = V^ a« • 2n~\ Дешифратором называется схема Dn, реализующая систему всех конъюнкций ранга п переменных xi, Х2, ..., хп. 1.11. 1) Построить ?>2 в базисе {&, —} с числом элементов, не превосходящим 6. 2) Построить Dn в базисе Б = { & , —} такую, что L(L>n) ^ 2n+1 + п - 4. 3) Построить Dn в базисе Б = { & , -} такую, что ^ 2П + 2^п+3)/2 + п. 1.12. Мультиплексором от переменных #i, ..., хп, уо, ..., y2n-i называется схема Мп, реализующая функцию ..., Жп, 2/о, 2/1, -.., 2/2"-l) = , V ^i/^i,...,^)^ ••• (cri, ..., сгта) n где г/(сгь ..., сгп) = ^cri • 2п~\ 1) Построить М2 в стандартном базисе с числом элементов, не превосходящим 13. 2) Доказать, что Ь(Мп) ^ 3 • 2П + 2(п+3)/2 + п. 3) Доказать, что Ь(Мп) ^ 2п~1. 1.13. Универсальным многополюсником для множества перемен- переменных X называется СФЭ U(X), реализующая все булевы функции переменных из X. Если Хп = {^i, ..., жп}, то полагаем U(Xn) = Un.
§ 1. Схемы из функциональных элементов 311 1) Построить СФЭ \J\ сложности 3. 2*) Доказать, что сложность минимального многополюсника Un равна 22™ — п. 1.14. Пусть Dn_k — произвольный дешифратор для множества переменных жь ..., жп_^, X = {xn-k+i, ..., хп} viUk — произволь- произвольный универсальный многополюсник для множества переменных X. 1) Доказать, что для произвольной булевой функции fix71) L(f(xn)) <С L(Dn-k) + L(Uk) + 2-*+1. 2) Опираясь на результаты задач 1.11 и 1.13, доказать, что для достаточно больших п и любой булевой функции fix71) справедливо неравенство L(f(xn)) ^ 2п+2/п. 3) Доказать, что существует СФЭ в базисе {V, &, 0, —}, реали- реализующая все самодвойственные функции fix71) и имеющая сложность, не превосходящую 2 • 22 т Функция fix71) такая, что Nf = (J В™, называется поясковой и i=k обозначается через Sk'm(xn). Функция Sk>k(xn) называется элемен- элементарной симметрической функцией. Функция fix71), представимая в виде дизъюнкции элементарных симметрических функций, называет- называется симметрической. 1.15. 1) Доказать, что для любой перестановки тг = (ii, ..., in) чисел 1, ..., п и любой симметрической функции fix71) выполнено JX\ - - ч Хп) — J\X{X , . . . , Х{п). 2) Доказать, что для любой поясковой функции существует СФЭ, содержащая не более одного элемента отрицания. 3) Доказать, что для любой симметрической функции f(xn) су- существует СФЭ, содержащая не более (п + 1)/2 элементов отрицания. 1.16*. Построить СФЭ, реализующую три одноместные функ- функции x~i,x~2,x~z и содержащую ровно два элемента отрицания. 1.17. Доказать, что L(x 0 у) =4. Глубиной СФЭ в базисе Б называется максимальное число внут- внутренних вершин (функциональных элементов) в ориентированных цепях, соединяющих вход с выходом. Например, глубина схемы изображенной на рис. 10.1, а, равна 3. 1.18. Построить СФЭ глубины / для функции fa: 1) Л = х1х2х3х4, 1 = 2; 2) /2 = х2х3 V х{х2хъ, I = 2; 3) /з = х\ 0 х2 0 жз, I = 6; 4) /4 = xi(x$ V х±)(хъ V xq) V х2(х3х5 V х4х5 V х4х6 V х3х6), I = 3; 5) /5 = х\ V ~Х\Х2 V ~x{x2xz V Ж1Ж2Ж3Ж4, / = 2; 6) /6 = (xix2 V ж2ж3 V Ж3Ж1) V (xi 0 ж2 0 жз), / = 2. 1.19. СФЭ Е называется связной, если граф, полученный из нее заменой дуг на ребра, является связным. Пусть СФЭ Е связна и
312 Гл. X. Реализация булевых функций схемами и формулами существует единственная вершина (выход) с нулевой полустепеныо исхода. 1) Доказать, что L(E) ^ 2/+1 — 1, где / — глубина схемы Е. 2) Доказать, что всякая минимальная СФЭ с одним выходом связна. 1.20. Доказать, что для любого / существует минимальная СФЭ глубины /. 1.21. Доказать, что любая СФЭ, реализующая произвольную функцию f(xn), существенно зависящую от всех переменных, имеет глубину не меньшую, чем log2 n — 1. § 2. Контактные схемы и формулы Сеть Г с А; полюсами, в которой каждое ребро помечено бук- буквой из алфавита Хп = {х\, Х2, • • •, хп, ~х\, х~2, ..., жп}, называется к- полюсной контактной схемой, реализующей булевы функции пере- переменных х\, Х2ч • • •, хп, или, короче, (к, п)-схемой. B, п)-схемы бу- будут называться Хп-схемами. Сеть Г называется сетью контакт- контактной схемы. Контактная схема называется связной (сильно связной, параллельно-последовательной), если таковой является ее сеть. Параллельно-последовательная контактная схема называется кратко -к-схемой. Ребра схемы, помеченные символами переменных или их отрицаний, называются контактами. Контакт называется замыкаю- замыкающим, если он помечен символом переменной, и размыкающим, ес- если он помечен символом отрицания переменной. Пусть Ei и Е2 — две ^-полюсные контактные схемы, полюса каждой из которых поме- помечены буквами а\, а,2, ..., а^. Схемы Ei и Е2 называются изоморфны- изоморфными, если их сети изоморфны и при этом: а) соответствующие ребра помечены одинаково; б) соответствующие полюса помечены одинако- одинаково. Пусть а и Ъ — два полюса контактной схемы Е, [а, Ъ] — некоторая цепь, соединяющая а и Ъ, и К[а^ щ — конъюнкция букв, приписанных ребрам цепи [а,Ь]. Функция fa,b(xn), определяемая формулой [а,Ъ] в которой дизъюнкция берется по всем простым цепям схемы, соеди- соединяющим полюса аи Ъ, называется функцией проводимости между по- полюсами а, Ъ схемы Е. Говорят, что схема Е реализует функцию д(хп), если в ней существуют полюса а и Ъ такие, что д(хп) = fa,h(xn). Контактная схема с к + 1 полюсами называется A, к)-полюсни- ком, реализующим функции д\(хп), ..., Qk(xn), если существуют по- полюс а и полюса hi A ^ г ^ к) такие, что fa,bi(xn) = gi(xn). При изображении A, &)-полюсников полюс а изображается светлым круж- кружком и называется входом, полюса bi изображаются двойными круж- кружками и называются выходами, остальные вершины изображаются
§ 2. Контактные схемы и формулы 313 темными кружками. В тех случаях, когда число полюсов схемы не указывается, речь всегда будет идти о двухполюсных контактных схемах. Две контактные схемы называются эквивалентными, если они реализуют одну и ту же булеву функцию или одну и ту же систему функций. Сложностью контактной схемы называется число ее контактов. Контактная схема, имеющая наименьшую сложность среди всех эквивалентных ей схем, называется минимальной. Слож- Сложностью булевой функции f в классе контактных схем (обозначе- (обозначение: Lk(f)) называется сложность минимальной контактной схемы, реализующей /. Сложностью булевой функции f в классе тг-схем называется число контактов в минимальной тг-схеме, реализующей / (обозначение: L7r(/)). Понятие формулы над множеством связок было определено в гл. I. Сложностью булевой функции f в классе формул (над множеством связок {V, &, —}) будет называться число вхож- вхождений символов переменных. Сложность функции / в этом классе формул обозначается через L<d(/). 2.1. Найти функции, реализуемые двухполюсными схемами Е, представленными на рис. 10.3. Один из способов построения контактных схем, реализующих бу- булевы функции, состоит в том, что функция представляется в д. н. ф. Xi Xi (или к.н.ф.), а затем для каждой элементарной конъюнкции К = = х°* & ... & х°? (дизъюнкции D = х°* V ... V х°?) строим схему, представляющую собой последовательное (па- (параллельное) соединение контактов х^, ..., х??, и соединяем полученные схемы параллельно (последовательно). Пример. Пусть A1011100) — вектор зна- Рис< 10Л чений функции f(x3). Представим / в совершенной д.н.ф., а затем упростим ее: f(x3) = Ж1Ж2Ж3 V Ж1Ж V Ж1Ж2Ж3 V Ж1Ж2Ж3 V Ж1Ж2Ж3 = х2 V Схема, соответствующая этой д. н. ф., показана на рис. 10.4.
314 Гл. X. Реализация булевых функций схемами и формулами 2.2. Представив функцию / в д.н.ф. или к.н.ф., построить тг-схему, реализующую /: 1) /(г2) = A101); 2) /(г2) = хг~ х2; 3) /B3) = A000 1111); 4) /(г3) = A1101000); 5) /(г3) = @100 0010); 6) /(ж3) = (хг -> ж2)(ж1 0 ж3); 7) /(ж3) = Ж1Ж2 0 х2х3 0 ж3ж1 0 1. 2.3. Построить контактную схему, реализующую функцию /: 1) /(г3) = (Xl V х2 У х3){хг Vx2 Vx3); 2) /(ж3) = Ж1Ж2 0 х2х3 0 Ж3Ж1; 3) /(ж3) = xi 0 ж2 0 х3 0 1; 4) /(г3) = (я?! Уж2ж3)(ж1 Vx2); 5) f(x3) = (Xl \ х2) | (х3 \ х2); 6) /(ж3) = Ж1 0 ж2ж3 0 1; 7) /(ж3) = (жх V ж2ж3)(ж1 0 ж3). 2.4. Построить контактную схему сложности, не превышающей /, реализующую функцию /: 1) /(J3) =Xl 0ж2ж3, / = 6; 2) /(ж3) = х{х2 0 ж2ж3 0 ж3Ж1 0 1, / = 5; 3) /(ж3) = х{х3 V ж2ж3 V Ж1Ж2ж3, / = 5; 4) f(x3) = х\х2 V Ж1Ж2ж3 V ~х\х2х3 V х{Х2, I = 5; 5) /(ж4) = Ж1Ж4 V ж2ж3^4 V ж2ж3Ж4 V Ж1Ж4, / = 7; 6) /(ж3) = (жх 0 ж2 0 х3)(х1 V ж3), / = 5; 1)/(г4) = @000 00010Ш1Ш) 1 = 7. 2.5. Построить контактную схему, реализующую / и имеющую сложность не выше L, упростив предварительно формулу, с помощью которой она задана: 1) / = ((xi V х2)(х2 V х±) V (х3 \/Х4)(х1Х2х3 Х/ж4ж5))(ж1 V х2х3), L = 5; 2) / = xi V x"ix2 V Ж1Ж2ж3 V Ж1Ж2ж3Ж4, L = 4; 3) / = (xi У x2)((xix2 Vx2x3)xq V (ж2 Ух3хъ){х2 Ух3)У W(xix2 V Ж1Ж2 V х6)х3 V Ж1Ж2 V ж5ж6), L = 1; 4) / = Ж1Ж2ж3((ж4 V Ж1Ж5)(ж5 V Ж1Ж4Ж7) V (xQx7 V ж2ж4ж5) & &(ж4ж5 Х/ж3ж6ж7)) V (xi \/ж2)(ж4 V х6)(хь Vx7), L = 6; 5) / = Xi 0 Х2 0 Ж3 0 Ж4 0 Ж1Ж2Ж3Ж4 0 Ж1Ж2 0 XiX3 0 Ж1Ж4 0 Ж2Ж30 0ж2ж4 0 ж3ж4 0 Ж1Ж2ж3 0 xix2x± 0 Ж1Ж3ж4 0 x2x3X4, L = 4; 6) / = Ж1Ж2ж3ж4 V ( 0 Xi^j ), L = 6. 2.6. Построить контактную схему сложности, не превышающей L, реализующую систему функций Ф: 1) Ф = {/i = х1х2 V х2х3 V х3х1, /2 = жх 0ж2 0ж3}, L = 12; 2) Ф = {Д = @0000001), /2 = @0000011), /3 = @0000111), /4 = @0001111), /5 = @0011111), /6 = @0111111), /7 = @1111111)}, L = ll;
§ 2. Контактные схемы и формулы 315 3) Ф = {/о = хг V ж2, Л = хг V ж2, /2 = a>i V ж2, /з = a>i V ж2}, 4) Ф = {/о = жхж2, Л = хгх2, /2 = Ж1Ж2, /3 = Ж1Ж2}, L = 6; 5) Ф = {Л = (ООООООО1), /2 = @0010111), /з = @1111111)}, = 9; 6) Ф = {Л = A0010110), /2 = @1101001), /3 = @0111100), /4 = A1000011)}, L = 10. 2.7. Найти функции, реализуемые контактными схемами, изобра- изображенными на рис. 10.5. а г XI ) Х~2 Х2 Хз Хп-2 Хп-1 Хп-2 Хп-1 Х\ Х2 Хп-1 Хп-2 Хп-1 Х2
316 Гл. X. Реализация булевых функций схемами и формулами 2.8. Пусть v(a) = \zn lai — номер набора а = ап г=1 Построить контактную схему с не более чем I контактами, реали- реализующую функцию /: О в противном случае, = 7; 2) /(г4) = О в противном случае, з)/(г4)= j^«i-r^-^-r, l = 12 у 0 в противном случае, /i\ //-4 _ / 1' «1 + «2 = «з + «4 (mod 2), [U в противном случае, ^\ л/~,1\ Г 1? «1 + «2 ^ С^З + ^45 7 5) /ж4 = { п' ^ / = 10; I 0 в противном случае, 6) дг4) = 7) /(г4) = 1, 0 в противном случае, 1, если наборы (ai, аг) и (аз, 0 в противном случае, = 4: несравнимы, I = 8. 2.9. Построить контактную схему для одноразрядного двоичного сумматора. Контактным Хп-деревом называется контактный A, 2п)-полюс- ник D^i индуктивное определение которого дано на рис. 10.6. Очевид- X J1 Рис. 10.6 но, что D^ реализует все конъюнкции ранга п переменных х±, ..., хп и что Lk(D^) = 2n+1 — 2; A, т)-полюсник называется разделитель- разделительным, если для любых его выходов 6, с функция проводимости /&,с(жп) тождественно равна нулю. 2.10. 1) Построить D%. 2) Доказать, что D^ является разделительным A, 2п)-полюс- ником. 3) Система функций Ф называется ортогональной, если для любых двух функций / и g из Ф выполняется равенство / & g = 0. Доказать,
§ 2. Контактные схемы и формулы 317 что для всякой ортогональной системы функций Ф = {/i(xn), ... ..., fm(%n)} существует контактная схема сложности, не превышаю- превышающей 2n+1 — 2, реализующая Ф. 2.11. Пусть разделительный A, &)-полюсник А с полюсами а, &i, ..., bk соединяется с (т, 1)-полюсником В с полюсами ai, ..., am, 6 так, что каждый выход hi отождествляется ровно с одним из по- полюсов а у Доказать, что для полученного таким образом двухпо- k люсника Е выполняется равенство fa,b(xn) = \//а,ъ{(хп)/ъ{,ъ(хп), i=i где fa,b(xn) — функция проводимости между полюсами а, Ъ схе- схемы Е; fa,bi(xn) — функция проводимости между полюсами a, hi схемы А\ fbi,b(xn) — функция проводимости между полюсом ctj, отождествленным с полюсом hi схемы А, и полюсом Ъ схемы В. Универсальным контактным многополюсником называется A, 22П)- или B2П, 1)-полюсник, реализую- реализующий все булевы функции переменных х\, Х2, ..., хп. На рис. 10.7 представлена схема [7-f. Метод Шеннона для синтеза контактных схем, реализующих булевы функции /(жп), состоит в ис- использовании схем D^l_m и U^. Пусть f(xn) — функция, которую следует реализовать. Для набо- набора а = (СГ1, . . . , (Тп-т) ИЗ ВП~Ш ПОЛОЖИМ По формуле разложения имеем j ул ) — у «^ . . . dJn_ra Jcryd; ). cr = (cr\...crn_rn) Пусть D^l_rn — контактное дерево с полюсами a, bo, b\, ..., b2n-m_1, реализующее конъюнкции Кv~ = х°^ х22 - - - xnnS^ между полюсами а и bkj где к = jy(a) = ^ 2n m V;. Пусть U^\ — г=1 универсальный контактный B , 1)-полюсник с полюсами ао, ai, ..., a22^-i, 6, реализующий все функции /(жп_т+1, ..., хп). _Р_ Рассмотрим схему Еу?, полученную отож- о дествлением для каждого a G Вп~т выхода Ьи(а) 9 схемы D^_m с входом аг схемы U% таким, что far,b(Xn-m+l, • • • , Хп) = /?(ЖП) (рис. 10.8). В силу разделительности схемы D^l_rn для по- полученной таким образом схемы Y,f с полюсами а и 6 справедливо равенство Ja,b\X ) у Х-^ . . . Xп_ш Ju уХ ) / уХ ). Рис. 10.8
318 Гл. X. Реализация булевых функций схемами и формулами Заметим, что из построения следует равенство 2.12. 1) Построить U2 с числом контактов, не превосходящим 16. 2) Доказать индукцией по п существование U^ такого, что 3) Доказать путем выбора подходящего т в равенстве A), что при достаточно больших п для произвольной булевой функции f(xn) ~ 2п справедливо неравенство L(f(xn)) ^ 8 • —. п Метод каскадов для построения контактных схем состоит в сле- следующем. Пусть требуется реализовать контактной схемой булеву функцию /(жь ..., хп) (п ^ 2). Обозначим через 21^ (г = 1, ..., п — 1) СОВОКУПНОСТЬ ВСеХ ПОДфуНКЦИЙ /(<Ti, . . . , Oi, Жг+Ъ • • • •> хп)-> (о"Ъ • • • ...,(jj) g5j, функции /, и пусть 21* — множество, составленное из попарно различных функций из 21«. Каждому множеству 21* (г = = 1, ..., п — 1) взаимно однозначно сопоставим множество Vi точек плоскости, называемых вершинами ъ-го ранга. Добавим еще три по- полюса — входной полюс а и выходные полюса Ъ и с. Полюс а является вершиной нулевого ранга, полюса 6, с — вершинами n-го ранга. Полюсу а сопоставим функцию /(#i, ..., жп), полюсам 6, с — функ- функции, тождественно равные соответственно единице и нулю. Положим V = {a, b} U U Vi. Множество V разобьем на классы эквивалентнос- г=1 ти, отнеся к одному классу вершины разных рангов в том и только том случае, когда они соответствуют равным функциям. Пусть v — произвольная вершина г-го ранга, a y?v(^+i, а^+2, • • • •> хп) — со- соответствующая ей фуНКЦИЯ, И ПуСТЬ ipv@, Жг+2, • • • ? Хп) Ф <?г;A? ж^+2, •••? жп). Тогда соединим вершину v контактом ж^+i с верши- вершиной и ранга г + 1, которая соответствует подфункции </?v(l, а^+2, • • • ...,жп), и контактом af^+i с вершиной w, соответствующей под- подфункции (fv@, Жг+2, ..., хп). Если же ipv@, xi+2, ..., хп) = У«A, Жг+2? •••! жп), то обе подфункции равны тождественно функ- функции <pvB^+i, жг+2, • • • ? жп), и контакты между соответствующими вершинами не проводятся. Все вершины из одного класса эквивалент- эквивалентности отождествляются. В результате получаем схему Tif такую, что fa,b(xn) = f(xn), fa,c(xn) = f(xn). В случае, когда нас интересует только реализация функции /, вершина с может быть удалена вместе с инцидентными ей контактами. Изложенный метод очевидным образом переносится на реализа- реализацию систем. В дальнейшем под схемой Е, полученной «стандартными мето- методом каскадов, будем понимать схему, в которой вершина с отбро- отброшена. Пример. Реализуем /(ж3) = xix2 0 х3 методом каскадов. Имеем Щ = {ж3, х2 0 ж3}, Щ = 1жз, ж3}, Щ = {0, 1}. Полагаем Vo = {a},
§ 2. Контактные схемы и формулы 319 Vi = {1, 2}, V2 = {3, 4}, V3 = {5, 6}. Вершины 1 и 4, соответствую- соответствующие функции жз, эквивалентны. Способ проведения ребер показан на Х2 . Рис. 10.9 рис. 10.9, а. На рис. 10.9, б дана схема, полученная отождествлением эквивалентных вершин и удалением вершины 0. 2.13. С использованием метода каскадов построить контактную схему для функции /: 1) f(x3) = Ж1Ж2Ж3 0 х2хз 0 1; 2) /(ж3) = х\х2 V ж2ж3 V Ж3Ж1; 3)/B3) =Ж1 0ж2 0ж3 0 1; 4)/(ж3) = (xi V ж2 Va;3)(xi Vx2 Vx3); 5) /(?3) = (ОНО 1000); 6) /(S3) = (ОНО 1101); 7) /(г4) = @000 00010Ш1Ш). 2.14. С использованием метода каскадов построить контактную схему для системы функций Ф: 1) Ф = {ху, х V у}] 2) Ф = {х2 0 хз, хх 0 х2 0 ж3, ж2}; 3) Ф = {ж3,ж3, ж2 0 ж3, ж2 ~ ж3, Ж1 0 ж2 0 ж3, Ж1 0ж2 0ж3}; 4) Ф = {ж2 &ж3, х2 V ж3, ж3, Ж1^2 V х2хз V x2xi}; 5) Ф = {/i = xi 0 ж2 0 ж3, /2 = (xi V х2)х3 V 6) Ф = {/i = х{х2хз VX1X2X3, /2 = Ж1Ж3 V 7) Ф = {xi V ж2, xi V ж2, xi V х2, xi V ж2}; 8) Ф = 2.15. Показать, что если функция f(x) не равна тождественно константе, то схема Еу, построенная по методу каскадов, является сильно связной. 2.16. Доказать, что схема Еф, реализующая систему функций Ф и построенная по методу каскадов, является разделительной тогда и только тогда, когда система Ф состоит из попарно ортогональных функций. 2.17. 1) Доказать, что схема для универсального многополюсни- многополюсника С/^, построенная по методу каскадов, имеет сложность, не превы- превышающую 2 • 22 . 2) Доказать, что для всякой функции / и любой схемы Е/, построен- 2п ной для / по методу каскадов, выполнено неравенство L(Ef) ^ 8 • —. п 2.18. Доказать, что схема D\ для реализации всех элементарных конъюнкций ранга п переменных xi, ..., хп, построенная по методу каскадов, является контактным деревом и имеет сложность 2n+1 — 2.
320 Гл. X. Реализация булевых функций схемами и формулами 2.19. Доказать, что схема D%k, реализующая все дизъюнкции ранга п переменных х\, ..., хп, имеет сложность 2П+ — 2. 2.20. Функция (рт(хп) @ ^ т ^ 2П) называется ступенчатой, если (fm(an) = 1 тогда и только тогда, когда vE) ^ т. 1) Убедиться в следующих свойствах ступенчатых функций: a) (fo(xn) = 1; б) (f2n(xn) = 0; в) (f2n-i(xn) = х\х2 ...жп; 1 V <pm_2"-i (Ж2, • • • ? жп) при 0 < т ^ 2П~1, 1 -<Рт(х2, -.., жп) при 2п-1<ш^2п; д) ^2fe(^n) не зависит существенно от хп (к = 1, ..., 2П~1); е) (fm(xn) — монотонная функция. 2) Убедиться в том, что при применении «стандартного» метода каскадов, когда в г-м ярусе разложение ведется по переменной ж, сложность получающейся схемы равна 3 • 2П — 2п — 3. 3) Убедиться в том, что если в методе каскадов применить обрат- обратный порядок разложения, при котором в г-м ярусе разложение ведет- ведется по переменной п — г + 1, то сложность получающейся схемы рав- равна 2n+1 - п - 2. 2.21. Пусть схема Е содержит контакт ха, и пусть Е; (Е") — схема, полученная последовательным (параллельным) соединением этой схемы со схемой из одного контакта х@, а, /3 G {0, 1}. Доказать, что схемы Е; и Е" не являются минимальными. 2.22. Доказать, что всякая минимальная контактная схема, реа- реализующая функцию, отличную от констант, является сильно связной. 2.23. Доказать, что не существует минимальных контактных Х-^схем с двумя контактами и Х2-схем с тремя контактами. 2.24. Доказать, что не существует минимальных контактных Х3-схем сложности 4, содержащих только замыкающие контакты. 2.25. Доказать, что минимальная контактная схема для функ- функции / = х 0 у содержит четыре контакта. Контактная схема называется бесповторной, если каждая пере- переменная встречается в качестве пометки контакта один раз. 2.26. Доказать, что сильно связная бесповторная схема Е: 1) реализует функцию, существенно зависящую от каждой пере- переменной, встречающейся в схеме; 2) является минимальной. 2.27. Доказать, что для каждого натурального т существует минимальная схема сложности т. 2.28. Доказать, что если к минимальной схеме присоединить кон- контакт, помеченный новой переменной, так, чтобы получилась сильно связная схема, то построенная схема также будет минимальной.
§ 2. Контактные схемы и формулы 321 2.29. Пусть L~?(f) — минимальное число контактов в схеме Е/, составленной из замыкающих контактов и реализующей монотонную 3 функцию /, и т(х3) = V Х2Х3 V 1) Привести примеры двух схем сложности 5 из замыкающих кон- контактов, обладающих неизоморфными сетями и реализующих т(х3). 2) Доказать, что L^(т(х3)) ^ 5. 3) Доказать, что во всякой схеме Е из замыкающих контактов, реализующей т(ж3), найдутся переменные а^, Xj такие, что для каж- каждой из них в Е присутствуют не менее чем по два контакта с помет- пометчто 4) Пусть fci = Ж2Ж3, &2 = Ж4Ж5 и /(ж5) = m(xi, о L+(/B5)) = 8. 5) Доказать, что Lk(f(x5)) ^ 7. ). Доказать, Пусть двухсвязная двухполюсная контактная схема Е является плоской (т.е. ее сеть Г(а, Ь) является плоской) и ее полюсы а и Ъ лежат в одной грани. Проведем в этой грани ребро (а, Ь) так, чтобы сеть Г;, полученная из Г добавлением ребра (а, 6), осталась плоской. Выберем в каждой грани сети Г; по одной вершине. Построим на выбранных вершинах граф G*, двойственный к графу G сети Г;. Каждое отличное от (а, Ъ) ребро графа G* пересекает некоторый контакт схемы Е. Пометим это ребро той буквой, которой помечен пе- пересекаемый им контакт. Вершины графа G*, расположенные в гранях Рис. 10.10 сети Г;, разделенных ребром (а, 6), обозначим через а*, 6* и назовем полюсами. Удалим ребро (а*, Ь ) из G*. В результате получится двухсвязная схема Е* с полюсами а* и Ь*. Схема Е* называется схемой, двойственной к Е. На рис. 10.10 проиллюстрирован процесс построения двойственной схемы. 2.30. Для схем, указанных на рис. 10.11, построить двойственные. 2.31*. Доказать, что контактная схема Е*, двойственная к Е, реализует булеву функцию, двойственную к функции, реализуемой схемой Е. 2.32. Доказать, что для всякой булевой функции / такой, что lk{f) ^ ^ 1 выполняются равенства Lk(f)=Lk(f*) = (
322 Гл. X. Реализация булевых функций схемами и формулами Рис. 10.12 Рис. 10.11 2.33. Доказать, что для всякой булевой функции / выполняется равенство Ln(f) = Ln(/*). 2.34*. Пусть / — функция, реализуемая схемой, указанной на рис. 10.12. Доказать, что функция, двойственная к /, не может быть реализована бесповторной схемой. 2.35. Верно ли, что для всех буле- булевых функций / выполняется равенство Lk(f) = Lk(f)? 2.36. Доказать, что для всякой фор- формулы Ф в базисе {V, &, —} существу- существует эквивалентная ей формула той же сложности, в которой отрицания стоят лишь над переменными. 2.37. Доказать, что для всякой булевой функции / выполняется равенство ЬФ(/) = Ln(f). При получении нижних оценок сложности реализации различ- различных классов функций схемами и формулами часто используются так называемые «мощностные соображения». Примером может служить следующее утверждение. Пусть 5(п, т) — число схем из некоторого класса К, каждая из которых реализует булеву функцию, зависяшую от переменных xi, Х2, -.., хп, и имеет сложность, не большую чем т. Пусть (р(п) — число булевых функций fix71) в некотором множестве ШТ. Тогда если 5(п, т) < </?(п), то в 9Л найдется функция /(жп), не реализуемая в классе К схемой сложности, меньшей или равной т. 2.38. Показать, что число 5(п, т) связных попарно неизоморфных контактных Хп-схем, имеющих сложность не больше т, не превосхо- превосходит (cn?n)m, где с — константа, не зависящая от п и т. 2.39. Показать, что число Р(п, т) связных попарно неизоморф- неизоморфных тг-схем сложности не больше т, реализующих булевы функции переменных #i, #2, • • •, xn, не превосходит (сп)т, где с — констан- константа, не зависящая от п и т.
§ 2. Контактные схемы и формулы 323 2.40. Показать, что число Ф(п, т) попарно различных формул сложности не большей т над множеством связок {V, &, —} и мно- множеством переменных х\, Х2, ..., хп не превосходит (сп)т, где с — константа, не зависящая от п и т. СФЭ называется неприводимой, если каждая ее вершина принад- принадлежит некоторой ориентированной цепи, соединяющей один из входов с выходом схемы. 2.41. 1) Показать, что для каждой булевой функции / существует неприводимая схема, реализующая /. 2) Пусть N(n, т) — число неприводимых СФЭ в стандартном базисе, реализующих функции переменных х\, ..., хп и имеющих сложность, не превышающую т. Доказать, что N(n, т) <С (c(n + m))n+m, где с — константа, не зависящая от п и т. 2.42. 1) Доказать, что для всякого е > 0 и достаточно больших п существует булева функция f(xn) такая, что ад ^A-е). 2) Доказать, что доля 5? тех функций /(жп), для которых нера- неравенство из п. 1) не выполняется, стремится к нулю при п —> оо. 2.43. Доказать, что для всякого е > 0 и достаточно больших п существует самодвойственная функция fix71), для которой: DW)^(l-e); 2) МЛ ^ A-е). 2.44. Доказать, что для всякого е > 0 и достаточно больших п существует функция fix71), являющаяся суперпозицией функ- функции (р(х, у, z) = ху V z и такая, что
ОТВЕТЫ, УКАЗАНИЯ, РЕШЕНИЯ Глава I §1 1.1.3J05. 5J т+1 2т+1 у) 23т+1+22т+1-2 1.2. 2) A1100111). 4) Если т ^ 4, то п = 2т + 2т - 1, набор имеет вид A01 ... 11); при т = 2 имеем A0), а при m = 3 имеем A01). т — 2 раз 1.3. 1) @0110)^@0111), @0110)^A0110), @1010)^@1011)^A1011), @1010) ^ A1010) ^ A1011). Шесть пар соседних наборов, противоположных наборов нет. 4) Если ш = 2 и п = 4, то А = {A011), A101), A001), @111), @100), (ОНО)}. Четыре пары соседних наборов и две пары противоположных. Если т = 2 и п = 5, то А = {A0111), A1101), A0011), (ОНИ), @1001), (OHIO)}. Две пары соседних наборов, противоположных наборов нет. Ес- лит = 2ипN,тоА = {A01 ... 1), A ... 101), A001 ... 1), (Ol^^L), 71 — 2 71 — 2 71 — 3 71—1 @1001 ... 1), @1 ... 10)}. Две пары соседних наборов, противоположных 71 — 4 71 — 2 наборов нет. Если m ^ 3 и п = т + 2, то А = {A0 ... ОН), A0 ... 0101), т — 1 т — 2 A0 ...ОН), @10 ...ОН), @10_^Д)), (ОНО ...0)}. Соседних наборов — три т т— 2 т т—1 пары, противоположные наборы будут только при т = 3 (одна пара). Если т^З и п>т +2, то имеем A0 ... 0 1 ... 1) ^ A0 ... 01 ... 1), и в тех слу- т п — т—1 т—1 п — т чаях, когда п - т = 3 или п - т = 4, @10 ... 0 1 ... 1) ^ @1 ... 1 0 ... ОН). т п — т —2 п — т—1 т — 2 Соседние наборы A0... 01 ... 1) и A0 ... 01 ... 1), противоположные т п — т—1 т—1 п — т A0 ... 0 1 .. .1) и @1 ... 1 0 . .Л)) при 71 = 27П - 1 (т ^ 4), A0 ... 0 1 ... 1) т—1 п — т т — п т—1 т п — т—1 и @1 ... 1 0 .. .0) при п = 2т (т ^ 3). п — т т—1
Гл. I. Способы задания и свойства функций алгебры логики 325 1.4.1) B). 2) 2п~1. Если ап = (оц, а2, ..., ап) и i/(an)^2n~1, то ai = 1. 3) п • 2п. Число наборов соседних с (ai, аг, ..., огп) равно п. 4) ( ^ J 2п. Любой набор /Зп, отстоящий от фиксированного набора ап на расстоянии ?;, получается из ап подходящей заменой некоторых к компонент на противоположные. 5) 2к. 6) 2n —2Z. Если /Зп и jn отличаются в компонентах с номерами и, ..., г/, то число различных наборов an, удовлетворяющих условию, равно числу 2П минус число всех подмножеств множества {и, ..., г/}. 7) 2т. Справедливы соотношения 0 ^ ot-ij+i ^ 1 и aij+i + ot-ij+i = 1 (j = 0, 1, ...,m-l). 8)fn~r^,~ M. Искомое число равно числу наборов длины п — г (А; — 1), имеющих вес к. 1.5. 3) Рассмотреть множество i?^/2]- 4) В таком подмножестве есть наборы одинакового веса. 5) Набор рп не сравним с набором ап тогда и только тогда, когда j3j = 0 для некоторого j Е {и, ..., г^} и j3i = 1 для какого-либо / ^ {и, ... ..., г/г}, где г*1, ..., г'/г — номера всех единичных компонент набора ап. 6) Найти число наборов 7П5 не сравнимых с наборов an, но сравнимых с набором [Зп. Затем вычесть полученное число из общего числа наборов jn, не сравнимых с ап. 1.6. 1) 22П~1. 2) 22П~(^/2]). 3J2П~\ 4J. 1.7. 1) Nf = {@01), A00), A01), (ПО), A11)}. 4) Nf = {@001), (ООП), @101), (ОНО), @111), A000), A001), A010), A011), (НЮ)}. 5) /#i (Ж5) = Ж1Ж2(Ж2 V Ж4 V Жб) V Ж1Жз(ж4 V Жб) V Ж2Жз(ж4 V Жб) V V Ж4Жб(ж1 V Ж2 V Жз) V Ж1Ж2Ж4. Ситуация, когда будут приняты обе гипотезы, возможна (это соответствует наборам @1100), A0001) и A1001)). 6) Полагая, что ж; = 1 тогда и только тогда, когда В{ участвует в заседании комиссии (г = 1, 2, 3, 4) , запишем условия а), б) и в) с помощью булевой функции /(ж4). Имеем /(ж4) = Ж1Ж2Ж3 V Ж2Ж3Ж4 V х\х±. Если В<2 в заседании не участвует (т.е. если Ж2 = 0), то обязан ли быть на заседа- заседании ??з, т.е. будет ли функция /(жг, 0, жз, х±) обращаться в 1 на каком- нибудь наборе вида (ai, 0, 0, B4)? Так как /(жг, 0, жз, х*) = Ж1Ж3 V xix*, то /(ж1, 0, 0, Ж4) = Ж1Ж4 и, значит, /A, 0, 0, 1) = 1. Следовательно, Вз также может не участвовать в заседании. 7) При условиях, указанных в задаче, проект может быть не принят. 1.8. 1)-9), 11), 12) Не является. Добавляя скобки, можно превратить в формулы выражения 1), 2), 4), 8), 11) и 12). 1.9. 1)-5), 8)—10) Не является. Добавляя скобки, запятые и переменные в формулы можно превратить только выражения 4) и 5).
326 Ответы, указания, решения 1.10. 1) х, у, у, х, z, (x~y), (is/), (xVz), ((-Ij/) -> (ж V *)), Указание. См. замечание, следующее за определением 2 (в п. 1). 4) ™ A) A) C)A) C)B) А. 1.11. 1) Пятью способами. 3) Семью способами. 5) Тремя способами. 6) Девятью способами. 1.12. 3) Индуктивный шаг. Для обозначения произвольной дву- двуместной связки из в используем символы о и *. Пусть утверждение верно для формул, сложность которых не превосходит / (где / ^ 1), и рассмотрим формулу 21, имеющую сложность, равную / + 1. Тогда либо 21= ("I 53), либо 21 = E3 ° (?), где ° Е в\{~|} и сложности подформул 53 и С неболь- небольше I. Если 21 = ("I 53), то 53 имеет сложность / ^ 1 и, значит, 53 = ("I 531) или 53 = E32 * 533), где * = 6\{~l}, поэтому 21 = (~l(~l 53i)) или 21 = = ("I 532 * 93з)). По индуктивному предположению в подформулах ("I 53i) и E32*53з) двух связок, стоящих рядом, быть не должно. Значит, таких связок нет и в формулах (~l(~l53i)) и ~|E32*53з)) (две «внешние» связки "I в формуле (~|(~1 53i)) разделены скобкой). Если 21= E3° С), то возможны случаи: а) 53 = ж, ?=(~l?i); б) 53 = ж, ? = (?2 * ?з); в) 53 = (l 53i), <? = х- г) 53 = (i53i), ?=(-|?i); д) (п 53i), С = (?2 * ?3); е) 53 = = E32*533), ? = ж; ж) 53 = E32*533), ?=(-|?i); з) 53 = E32 * i533), ? = ((?2 * 2^з). Здесь ж обозначает произвольную переменную и *, *i, *2 принадлежат в\{~|}. Сложности подформул 53 и С не превосходят /. Сле- Следовательно, в силу индуктивного предположения связок, стоящих рядом, в них нет. Остается показать, что «внешняя» связка ° формулы 21 = E3 ° С), соединяющая подформулы 53 и С, также не стоит рядом ни с какой другой связкой. Но это вытекает из того факта, что его подформула 53 (соответст- (соответственно С) отлична от переменной, то между любой связкой, содержащейся в подформуле 53 (или С), и «внешней» связкой о находится хотя бы одна скобка. 1.13. 1) Доказательство можно провести индукцией по сложности фор- формулы. Через ind(o;, 21) обозначим индекс связки о; в формуле 21. Индуктивный шаг. Пусть утверждение справедливо для формул, имеющих сложность, не превосходящую / (/ ^ 1). Рассмотрим формулу 21 со сложностью, равной Z+1. Возможны случаи: a) 2l=(~l53); бJ1=E3°(?). Разберем случай б). Каждая связка ш из подформулы 53 (если 53 отлична от переменной) имеет в формуле 21 индекс, на единицу больший индекса той же связки в формуле 53, т.е. ind (о;, 21) = 1 + ind (о;, 53), а значит, ind(o;, 21) ^ 2. Далее, так как число левых скобок в любой формуле равно числу правых скобок в ней (см. задачу 1.12, 2)), то «внешняя связка» ° в формуле 21 имеет индекс 1, а для всякой связки ш из подформулы С (если С не является переменной) выполняется неравенство ind (о;, 21) > ind (° , 21), так как подформула С начинается с левой скобки. 1.15. 2) См. рис. 0.1.1. 4) См. рис. 0.1.2. 5) См. рис. 0.1.3. 7) См. рис. 0.1.4. 1.16.1) (((о е (х е (у v ж))) v ж)& (у е ((п ж) -> 1))). 3) /CV3)A, h^(x, у), <pW(x)), 2, h^(x, v{1)№\x, ^AW2)B, ж)))). 6) /CЧ((П ж) 0 1), h^((l ж), 1), A </2>A, f^((xky), 1, h^{x, ж))))).
Гл. I. Способы задания и свойства функций алгебры логики 327 A) Рис. 0.1.3 1.17. 2) Вектор значений функций имеет вид A1111110). 3) Вектор значений функций таков: A0000100). 6) Вектор значений функции выглядит так: @1111111). 1.18. 2) ah = @101). 4) ah = A0010011). 6) ah = A100011011000101). 1.19. 2), 6), 9), 10) Эквивалентны. 3), 7) Не эквивалентны. 1.21. 4) 21 = (ж V у V (ж ~ z)) • (ж ~ (у V z V ж V у)) = (ж V у V xz V xz) & (ж ~ 1) = (ж V у V г) • ж = ж; *B='x\/y\/z\/x = xy~z V ж = ж. 9) $1 = (х V yz V х V yz) • (х V (у ~ z)) = (х(у V z) V ж(# V z)) • (xV yzV V г/;г) = (жг/ \fxz\fx~z) • (JEV yzV y~z) =~x • (JEV yzV y~z) = ж; ^ = ((^vy)-(yv^v^))e ж^/^ = ((ж# е ж е у) е ж^) е ж^/^ = = ху ® у ®~х ® у ® ху = ~х. 1.22. 1) При решении задач такого типа (связанных с полным или час- частичным перебором элементов некоторого множества) бывает удобно (и даже необходимо) упорядочить и просматривать элементы данного множества по возрастанию (или убыванию) какого-либо подходящего параметра. Перебор можно уменьшить путем выявления дополнительных свойств исследуемых элементов. В нашей задаче перебор можно вести по сложности суперпози- суперпозиций (формул) над заданным множеством Р. Под сложностью суперпозиции можно понимать, например, число связок в ней или число «шагов» в ее по- построении. Булевы функции, зависящие от переменных из множества {ж, у} и являющиеся суперпозициями над множеством {и± —>- г^2, и± -г^}, исчер-
328 Ответы, указания, решения пываются функциями: Д(ж) = 1, /2(ж) = ж, /з(у) = 1, f±(y) = у, х -» у, 2/->ж, х-у, /8(ж, у) = 1, /9(ж, у)=х, flo(x,y)=y, xVy, х~у. 2) Функции такие же, как в задаче 1). 3) Все функции, кроме одной, порождаются за «два шага». Всего 16 функций. «Три шага» требуются для построения функции /(ж, у) = 1. 4) Все функции (их восемь) порождаются за «два шага». 5) Все функции (их 12) строятся за «два шага». 6) Д(ж) = ж, f2(y) = y, /з(ж, у) = х, f4(x,y) = y, /б(ж, ?/) = х-у, /б(ж, у) = х V у. «Два шага» нужно только для порождения функции /б(ж, у). 7) fi(x) = x, h(y) = y, /з(х,у) = х, f4(x,y) = y, h(ж, у) = х -у. Все функции порождаются за «один шаг». 1.23. 1) Глубина формулы 21 равна 3, но формула (ж —»¦ ж) 0 (ж 0 у) реализует ту же функцию и имеет глубину 2. 2) Рассмотреть формулу (ж V у) ~ (ж ~ у). 3) Рассмотреть формулу (ж | ж) | (у \ у). 4), 5), 7), 8), 10) Глубина минимально возможная. 6) Рассмотреть формулу х ~ (х —Ь у). 9) Глубина формулы равна 2. 1.24. 1) Предполагая, что /@, 0) = 0 и беря ж = у = ж = 0, имеем /(/@, /@, 0)), /(/@, 0), /@, 0))) = /(/@, 0), /@, 0)) = /@, 0) = 0. Это противоречит условию задачи. Значит, /@, 0) = 1. Полагая затем, что /@, 1) = 0, и беря ж = у = z = 0, получаем /(/@, /@, 0), /(/@, 0), /@, 0))) = /(/@, 1), /A, 1)) = /@, /A, 1)). Отсюда, принимая во внимание условие задачи, выводим, что /A, 1) долж- должно быть равно 0. Но взяв ж = 0 и у = z = 1, имеем /(/@, /A, 1)), /(/@, 1), /@, 1))) = /(/@, 0), /@, 0)) = /A, 1) = 0. Это противоречит условию задачи. Следовательно, /@, 1) = 1. Аналогично доказывается, что и /A, 1) = 1. Значит, /(ж, у) = ж —»¦ у или /(ж, у) = 1. Далее соотношения а)-д) проверяются непосредственно (например, с ис- использованием основных эквивалентностей). 2) Не вытекают. Достаточно рассмотреть функцию /(ж, у) = х ~ у. 1.25. 4) /* = (W^V)^(V^ х) = ^V^ V (у V ж) = Т = 0; д = (ж V у) к & (у V ж) = ж —>- у ф 0. Значит, д не двойственна к /. 6) Не является. 8), 9), 11) Является. 1.26. 2) Пусть формулы 21 и 53 (над множеством S) эквивалентны. Тог- Тогда в силу определения эквивалентности формул реализуемые ими функции равны, т.е. /а = /<в • Значит, /J = / J. Применяя утверждение 1) данной задачи, имеем /J = /щ* и /J = /<в*. Следовательно, /щ* = /<в*, т.е. 21* и 53* — эквивалентные формулы. 1.27. 1) /* = (ж • 1 V 2/ • (z V 0) V ж • |/ • ^)* = = (ж V 0) • (у V z • (ж V у V S) = ж • ((|/ V z) - (у V *)) = ж • (j/ 0 z). 2) f* =xyV xyV yz. 5) /* = (ж 0 2/) • z. 10) /* = (ж V (z 0 *)) • y. 1.28. 1) Две фиктивные переменные. 3) Одна фиктивная переменная. 5) Фиктивные переменные х\ и жз. 1.29. 4)/ = 1. 8)/ = 1. 9)/ = 0. 10) / = 1.
Гл. I. Способы задания и свойства функций алгебры логики 329 1.30. 1) Существенных переменных нет. 3) Только х%- 9) Переменные х\ и Х2- 10) Переменные Х2, хз и х±. 1.31. 2) Достаточно рассмотреть функцию х\ 0Ж2. 3) Возможно т фиксированных переменных. 1.33. 1) У функции нечетное число значений, равных 1. Значит, все ее переменные существенные. 2) Все переменные существенные (так как, например, ао ф а±, ао ф аг, OL2, Ф OL11 И СКз ф OLl). 5) Две существенные переменные — Х2 и хз (рц = оц+i (г = 0, 2, 4, 6, 8, 10, 12, 14); а, = a8+i (j = 0, 1, ..., 7); а0 ф а2 и а0 ф а4). 9) Три существенные переменные — ал, жг и Ж4 (щ = а;+4 (г = 0, 1, 2, 3, 8, 9, 10, 11)). 1.34. 1) При п ^ 3. 2) При п ф 3. 3) При п = 2т + 1 (m ^ 1). 4)-6) При п ^ 3. 1.37. Имеем iV/e^ = (Nf\(Nf П iV^)) U (Ng\(Nf П i\g). Значит, Так как |iV/0^| — нечетное число (см. условие задачи), то одно из чисел |JV/| и \Ng\ нечетное. Например, число \Nf\. Тогда функция / обращается в единицу на нечетном числе наборов, и в силу задачи 1.31, 1) каждая переменная у / существенная. 1.38. 1) Ж1Ж2, XI V Ж2, XI —»¦ Х2, Х2 —> #1, Х\ —»¦ Х2, Х2 —> Xi, X\ 0 Х2, Xi ~ X2j Х\ | Х2, XI 4- Ж2- 2) |РС(Х3)| = 218. 1.39. 1), 2), 5), 7)-10) Можно. 3), 4), 6) Нельзя. 1.40. 2) Достаточно рассмотреть одну из функций — m(xi, Х2, хз) = = Х\Х2 V Х\Хз V Ж2Ж3 ИЛИ Ж10Ж2 0ЖЗ- 1.41. Если при отождествлении некоторой пары переменных xj и хи A ^ j < к ^ п) получается функция, тождественно равная 0, то f(xn) должна обращаться в 0 на всяком наборе вида (ai, ..., a^-i, ск, a^+i,... ..., afc_i, a, afc+i, ..., an). Но число таких наборов 2гг~1. Значит, выпол- выполнялось бы неравенство |JV/| ^ 2n — 2п~1 = 2п~1, что противоречит условию задачи. 1.42. 2) Тот факт, что 0 нельзя заменить на & и V, обосновывается, например, с использованием функций f(xn) = хз ... хп (п ^ 3). 1.46. Наборы Д и Cj+\ соседние при всяком j = 0, 1, ..., к — 1. Пусть гу — номер той компоненты, в которой наборы Д и /З^+i отличаются друг от друга. Если f(/3j) ф /(Дч-i), то ж^. — существенная переменная функции f(xn). Докажем, что числа го, «i, ..., ik-i (номера соответст- соответствующих компонент) все разные. Предположим противное, т. е. что для некоторых р ж q (O^p<q^k — 1) выполняется равенство гр = iq. Тогда имеем р(/Зр, /3q) = p(^p+i, /5g) — 1. Используя это соотношение и «свойство треугольника» для расстояния Хэмминга, получаем к = р0о, ДО < р(Д0, Др) + рФр, Pq) + p(fiq, Рн) < г=о
330 Ответы, указания, решения l=P+i Это противоречие показывает, что наше предположение ложно. Следо- Следовательно, все номера го, U, ..., ik-i разные, а поэтому число существенных переменных у функции /(жп) не меньше числа перемен ее значений на рассматриваемой цепи, т. е. не меньше т. §2 2.1. 3) A0001000). 4) @1110111). 7) A111111111001100). 10) A111111100000000). 2.2. 1) /(ж3) = xi(x2 -> х3) V Ж1Ж2; /о(ж3) = ж2 = A1001100). 3) /(ж3) = @1111000); /02(ж3) = @1011010). 7) /(ж4) =Ж1(ж2жз0Ж4) V^i/x1^4); /03(ж4) = @101010110011001). 2.3. 2) Ж1Ж2Ж3 V Ж1Ж2Ж3 V Ж1Ж2Ж3. 4) Ж1Ж2Ж3 V Ж1Ж2Ж3 V Ж1Ж2Ж3 V Ж1Ж2Ж3. 7) Ж1Ж2Ж3Ж4 V Ж1Ж2Ж3Ж4 V Ж1Ж2Ж3Ж4 V Ж1Ж2Ж3Ж4 V Ж1Ж2Ж3Ж4. 2.4. 1) (Ж1 V ж2)(ж1 V ж2). 2) (Ж1 V ж2)(жх V ж2)(ж1 V ж2). 6) (Ж1 V Ж2 V Жз)(ж1 V Ж2 V Жз)(ж1 V Ж2 V Жз)(ж1 V Ж2 V Жз). 8) (ж1 V ж2 V жз V ж4)(ж1 V ж2 V жз V ж4)(жх V ж2 V ж3 V ж4). 2.5. 2) /о (ж1, ж2) = Ж1 | ж2 = Ж1Ж2 V жхж2 V жхж2. 5) /?(ж1, ж2) = A101) = Ж1 V ж2; 7) Л2(Ж1, Жз, Ж4) = Ж1 ^ Жз ->• Ж4 = _ = (Ж1 V Жз V Ж4)(Ж1 V Жз V Ж4)(Ж1 V Жз V Ж4). 9) /oi4(^i, жз) = Ж1 ~ жз = Ж1Ж3 V Ж1Ж3. 2.6. 2) Пусть g(xi, ж2, ..., жп) = /(ж^1, ж^2, ..., ж^п),где x\l = Xi при сг^ = 0 и ж^4 = ж^ при G{ = 1. Подходящее взаимно однозначное соот- соответствие между подфункциями функций д и / задается так: подфунк- подфункции Рт^'V.'.'^fcm (жп) сопоставляется подфункция /^'.'.'.'<Sr (^П)> где ^j = = rfe^ @ ^ m ^ n; / = 1, ..., т). 4) Вытекает из 2) и 3). 2.7. 1) /(жп) = Ж1 V Ж2 V ... V хп. Число разных подфункций рав- равно Т + 1. 2), 3) Разных подфункций 2n+1 - 1. 4) При п = 2 число разных подфункций равно 5, а при п ^ 3 их чис- ло 3.2й-1. 5) Ъ-Ъ71'1 + 1. 6) 2п + 1. 7) При п = 3 число разных подфункций 9, а при п^4 их 3-22п~2+5. 8) 2П + 7 при п ^ 4; 12 при п = 3. 2.8. При п = 2, используя прямой перебор, легко находим, что таких ФУНКЦИЙ 8. (ЭТО /р(ж1, Ж2) = 0, Л(Ж1, Ж2) = 1, Ж1 0 Ж2, Ж1 ~ Ж2, Ж1 ^ Ж2, Ж1 —>- Ж2, Ж2 —>- Ж1 и Ж2 —>- Ж1.) При n ^ 3 сначала следует доказать, что функция /(жп) обладает таким свойством: если веса наборов ап и [Зп либо одновременно четные, либо одновременно нечетные, то f(an) = f(Cn). Значит, при п ^ 3 функция /(жп) однозначно определяется значениями на
Гл. I. Способы задания и свойства функций алгебры логики 331 наборах 0п иA, 0, ..., 0). Следовательно, таких функций 4 (это /о(жп) = 0, п— 1 раз /l(?n) = l, Ь(ХП) = XI 0Ж2 0 ...фЖп И /3(ЖП) = Ж1 0Ж2 0 ...0ЖП 0 1). 2.10. 4) /(ж3) = ал V ж2ж3 • Ж1Ж2 V ж3 = (ал V ж2ж3) V (ж~1Ж2 V ж3) = = XI V Ж2Ж3 V Ж1 V Ж~2 V Жз = XI V Ж~2 V Жз- 10) /(ж4) = Ж1 V Ж2(Ж2ЖЗ V Ж1Ж4)Ж1 V Ж3Ж4 = = Ж1Ж2(Ж2 V Жз V Ж1Ж4)Ж1ЖЗЖ4 = Ж1Ж2Ж3Ж4. 2.11. 1) /(ж2) = ((Ж1 Уж2HЖ1Ж2)(ж1 -ж2(ж1 Ух2)) = = (Ж1Ж2 0 Ж1Ж2)(ж1 ~ жг) = (ж1 0 жг)(ж1 ~ жг) = 0 = = (ж1 V ж2)(ж1 V ж2)(ж1 V ж2)(ж1 V ж2). 3) /(Ж3) = Ж1Ж2 V Ж2Ж3 V Ж1 V Ж2Ж3 = Ж1 V Ж2 V Жз. 6) /(ж4) = (Ж1 V Ж2 V Жз V Ж4)(Ж1 V Ж2 V Жз V Ж4). 2.12. 2) /(ж3) = Ж1Ж2Ж3 V Ж1Ж2Ж3 V Ж1Ж2Ж3 V Ж1Ж2Ж3 V Ж1Ж2Ж3 V Ж1Ж2Ж3 = = Ж1Ж2Ж3 V Ж1Ж2Ж3 V Ж1Ж2Ж3 V Ж1Ж2Ж3 V Ж1Ж2Ж3. 5) /(ж3) = Ж1Ж2 V Ж1Ж2 V Ж1Ж2 V Ж1Ж2 V Ж1Ж2Ж3 V Ж1Ж2Ж3 = = Ж1Ж2Ж3 V Ж1Ж2Ж3 V Ж1Ж2Ж3 V Ж1Ж2Ж3 V Ж1Ж2Ж3 V Ж1Ж2Ж3 V Ж1Ж2Ж3. 2.13. 1) /(ж3) = (Ж1 V ж2 V ж3)(ж1 V ж2 V ж3)(ж1 V ж3)(ж1 V ж3) = = (Ж1 V Ж2 V Жз)(ж1 V Ж2 V Жз)(ж1 V Ж2 V Жз)(ж1 V Ж2 V Жз)(ж1 V Ж2 V Жз). 5) (Ж1 V Ж2 V Ж3)(Ж1 V Ж2 V Ж3)(Ж1 V Ж2 V Ж3)(Ж1 V Ж2 V Жз) & & (Ж1 V Ж2 V Ж3)(Ж1 V Ж2 V Жз) & (Ж1 V Ж2 V Ж3)(Ж1 V Ж2 V Жз). 2.14. 3) /(ж3) = (ж1 V ж2ж3)(ж1 V ж2 V ж3) = = Ж1Ж2 V Ж1Ж3 V Ж1Ж2Ж3 V Ж2Ж3 = Ж1Ж2 V Ж1Ж3 V Ж2Ж3 = Ж1Ж3 V Ж2Ж3. 6) /(Ж4) = (Ж1Ж2 V Ж1Ж3 V Ж2Жз)(ж2Жз V Ж2Ж4 V Ж3Ж4) = = Ж1Ж2Ж3 V Ж1Ж2Ж4 V Ж1Ж2Ж3Ж4 V Ж1Ж2Ж3Ж4 = Ж1Ж2Ж3 V Ж1Ж2Ж4. 2.15. 2) /(ж3) = (ж1 V ж2)(ж2 V ж2)(ж1 V ж3)(ж2 V ж3) V ж2ж3 = = (Ж1 V Ж2 V Ж2)(Ж1 V Ж2 V Ж3)(Ж2 V Жз V Ж2)(Ж1 V Ж2 V Жз) & & (Ж1 V Жз V Жз)(ж~2 V Жз V Жз) = (Ж1 V Ж2 V Жз)(ж~2 V Жз)(ж1 V Ж2 V Жз) = = (Ж2 V Жз)(ж1 V Ж2 V Жз). 5) /(ж3) = (ж1 V ж2)(ж2 V ж2) V ж2ж3 = (ж1 V ж2)ж2 V ж2ж3 = = Ж2 V Ж2Ж3 = (ж~2 V Ж2)(Ж2 V Жз) = Ж~2 V Жз- 2.17. 1) 22 ~1, если п нечетное, и 2 v[n/2]y _ -^ если п четное. 2) 22П-п~1 -1. 3) 22"-1 -1. 4J^-1, где Ь=(-) + (-)+...+ (^2)=2^ + 1(п-2),еслип четное, и L = f q J + ( ^J + ... + ( , J^^ ) = 2n-1, если п нечетное. 5), 6) 22П-1-1. 2.18. 1) Т - п - 1. 2) п + 1. 3), 5) Bn+1 + (-1)п)/3. 4) Т - 1. 6) 2п~1 + 2. 7) 2й - 1, если п нечетное, и 2й + 1, если п четное. 8) 2n-1, если п нечетное, и 2n-1 + 1, если п нечетное.
332 Ответы, указания, решения 2.19. 1) Т • к + 2т • I - к • I. 2) к • I. 3) BП - I) • к + Bт - к) • I. 4) Bт - к) • 2П + к • Z. 2.20. 1) /i — /2, где /i и Ь — длины совершенных д. н. ф. функций / V д и / • д соответственно. 2) 2n+1 — /1 — /2, где /i и /2 — длины совершенных д.н.ф. функ- функций f(xn) —»> #(жп) и #(жп) —»> /(жп) соответственно. 2.21. 1) Всего имеется 10 булевых функций, зависящих от перемен- переменных xi и Ж2, причем от каждой из них существенным образом. 2) Функции Ж1ФЖ2 ИЖ1 ^Ж2 имеют минимальные д. н. ф. сложности 4. 2.22. 1) х±х2 0 1. 3) Ж1Ж2ж3 0Ж1Ж3 0жь 6) Ж1Ж2 0 Ж1Ж3 0 Х2Хз 0 Ж2 0 Жз 0 1. 10) Ж1Ж2Ж3Ж4 0 Ж2Ж3Ж4 0 Ж1Ж3 0 Х\Х4 0 Ж2Ж3 0 Ж2Ж4 0 Х\ 0 #2- 2.23. 1) Ж1Ж2 0 Ж1 0 Х2 0 1. 4) Ж1Ж2Ж3 0 ХгХз 0 Ж2Ж3 0 Ж2 0 Жз- 7) Ж1Ж2Ж4 0 Ж2Ж3Ж4 0 ХгХз 0 Х±Х4 0 Ж2Ж4. 2.24. 1) /(ж2) = Ж1 V ж2 V Ж1Ж2 = Ж1 V х2 = х±х2 = х±х2 0 1. 3) /(ж3) = XI V Х<2 • Х2 VX2, = Х!-Х2- Х3 = (xi 0 1)(ж2 0 1)(ж3 0 1) 0 1 = = Ж1Ж2Ж3 0 Ж1Ж2 0 Х\Хз 0 Ж2Ж3 0 Xi 0 Ж2 0 Жз- 9) /(ж 4) = Ж1 V Ж2 V Ж2 V Ж3Ж4 = Ж1 V Ж2 V Ж4 = Ж1Ж2Ж4 = = (Ж1 0 1)Ж2(Ж4 0 1) 0 1 = Ж1Ж2Ж4 0 ХгХ2 0 Ж2Ж4 0 Ж2 0 1. 2.25. Достаточность. Пусть х% содержится в полиноме Жегалки- на Р(хп) функции f(xn). Представим полином Р(хп) в виде XiPi(xi, ... ..., xi-i, xi+i, ..., хп) 0Р2(ж1, ..., Жг-i, Жг+i, . ..^ж„). Здесь Pi ф 0, так как иначе переменная Xi не входила бы явно в Р(хп). Возьмем набор а = = (ai, ..., aj-i, ai+ij • • • 1 OLn) такой, что Р\{а) = 1. Тогда имеем /(ai, ..., ai_i, 0, ai+i, ..., а„) = 0 • Pi (а) 0 Рг(а) = ^E), /(аь ..., ai-i, I, ai+i, ..., а„) = 1 • Pi (a) 0 Р2(й) = 1 + Р2(й) / Р2(й). Значит, Xi — существенная переменная функции f(xn). 2.26.1) (пг). 2) 1 при г = 0 и 2Lf2Vr>/ - 1J при г ^ 1, где 3) 1 при г = 0 и BVr; - lj •2L при г ^ 1, где 4) (Т ) ? гДе ?тг = 2П — 1 и А; четное. При к нечетном таких полиномов нет. г-1 5) 1 при г = 0, (?) П (l + (?)) пРи г ^ 1. 2.27. 1) 2п~2. 2)-4) 2й-1. 5) 2fe + 2п~к - 2. 6) Bn+1 + (-1)п)/3. 7) п + 1, если п нечетное, и п, если п четное.
Гл. II. Замкнутые классы и полнота 333 8) 1 при п = 2, 2 при п = 3 и Z=0 m=0 при n ^ 4, где p = [(n — l)/4], q=[(n — 3)/4] и r = [(ra — 4)/4]. k=O 1=0 2.28. Ж1Ж2...ж„. 2.29. Применить индукцию по п. 2.30. Для п = 1 утверждение очевидно (соответствующими полино- полиномами являются 0, х\ и 1). Пусть утверждение верно для п = к (к ^ 1). Докажем его для п = к + 1. Если / ^ 2fe, то по индуктивному предположе- предположению существует полином Р(хк), длина которого не превосходит к и такой, что \Np\ = /. Но тогда полином Xk+iP(xk) обращается в 1 в / вершинах куба Вк+1. Если 2к < I ^ 2fe+1, то рассмотрим полином Р(хк), обращаю- обращающийся в 1 на 2к+1 — I наборах из Вк. Полином хи+\Р{хк) 0 1 является искомым. Глава II 1.1. 1) {#1, #1, ж2, ж2}. 2) {О, Ж1, ж2, Ж1 0ж2}. 3) {0, 1, Ж1, Ж2, Ж1, Ж2}. 4) {Ж1, Ж2, Ж1Ж2}. 5) {#1, Ж2}. 6) {1, Ж1, ж2, Ж1 V ж2, х\ V ж2, Ж1 V ж2}. 1.2. 1) / = х -+ 0, 2) / = ((х I х) ; (|/ 4- 2/)) ; М У)- 3) / = (ж 0 ж) 0 х. 4) f = (х ~ у) ~ z. 5) / = хх 0 ж. 6) / = ж (г/ж). 7) / = (FT!) V (ITVIJ). 1.3. 1) {0, 1, ж, ж}. 2) {ж, жг/, жг/^}. 3) {1, ж, ж~у,ж0у0 z}. 4) {ж, xy\l yz\l zx}. 5 {ж, ж, ж 0 у 0 г, ж 0 у 0 г 0 1}. 1.4. 1) {0, ж}. 2){ж0у,1}. 3){ж0 2/}. 4) {ху, хУ у}. 5) {ж -^ у}. 1.5. 1), 3), 7) Множество является замкнутым. 2), 4)-6), 8) Множество не является замкнутым. 1.7. Пусть А — предполный класс замкнутого класса К. Это озна- означает по определению, что [Л\ф К и [A U {/}] = К для всякой функ- функции / G if\А Предположив, что А не является замкнутым, имели бы [А]\А ф 0. Но тогда, с одной стороны, [A U ([А]\А)] = К, а с другой сто- стороны, Аи ([А]\А) = [Л] и [[А]] = [Л] в силу замкнутости [А]. Пришли к противоречию. 1.9. 1), 3), 5), 7), 8), 10) Множество А является замкнутым. 2), 4), 6), 9) Множество А не является замкнутым. 1.10. 1) {0}, {1}, {1, 0}. 2) Кроме классов п. 1) еще [0, ж], [1, ж], [0, 1, ж], [ж], [0, ж], [ж]. 3) а) [ху]; б) ж @у, ж - у]. 1.12. 1) Система {ж, ху, ж V у} является полной в Р2, поскольку вся- всякая / G Р2 может быть представлена в виде д. н. ф. или к. н. ф. С другой стороны, ж = ж I ж, ху = (х 1х) 1(у 1у), х V у = (ж I у) 1(х I у).
334 Ответы, указания, решения 2) Имеем 0 = жж 0 ж, ху = ху 0 О, ж = (ж ~ х) 0 ж. Система {ж, ху} полна, поскольку ж V у = ж -у. 3) Имеем ж = ж 0 ж 0 ж, ж V у = ж —»¦ ?/, ху = Ис ^-у. 4) Имеем 0 = /(ж, ж, ж), ж = ж —»¦ 0, ху = х ^-у. 5) Имеем ж = ж 0 0 0 1, жг/ = т(ж, г/, 0). 1.13. 1) Кг С #2. 2) Вообще говоря, Кг~%К2. Рассмотреть А\ = {ж, ж?/}, А2 = {ж, 1.14. 1) Например, Кг = {0}, К2 = {!}. 2) Например, Кг = [ж, 0], 7f2 = [ж, 1]. 3) Ki = [0, ж], К2 = [0, 1, ж]. 1.15. 1) Мг = [0, 1, ж], М2 = [ж] предполные в К. 2) Mi = {0}, М2 = {1}. 3) [ж]. 4)[ж0уф2]. 1.17. Пусть К — предполный класс в Р2. Если ж / К, то в силу пред- полноты X имеем [X U {ж}] = Р2. Но в силу 1.7 и 1.16 имеем [X U {ж}] = = X U {ж}. По условию х\у ф [К], а значит, х \ у ? К U {ж} = Р2. Противо- Противоречие. 1.18. Пусть /(жп) не является константой. Если /(ж, ж, ..., ж) С {ж, ж}, то на /, очевидно, можно получить ж. В противном случае /(ж, ж, ..., ж) Е Е {0, 1}. Пусть для определенности /(ж, ж, ..., ж) = 0. Поскольку /(жп) ^ ^ 0, то существует набор а = (аа, ..., ап) такой, что /(й) = 1. Заменим в / переменную х% на ж, если aj = 1, и на у, если с^ = 0. Тогда получим функцию д(х, у). Ясно, что д(х, у) Е {ж?/, ж 0 j/} и что ж Е [р(ж, у)]. 1.19. Предположим, что Р2 = Кг U X2 U ... U KSJ где К{ — непустые попарно непересекающиеся замкнутые классы. Тогда существует г такое, что ж | у Е i^i- Но тогда К{ = Р2 в противоречии с тем, что s > 1. 1.21. Утверждение вытекает из 1.18 и из того, что система, содержащая функцию ж, не может быть расширена до базиса. 1.22. Указание. Провести индукцию по числу вхождений связки —»¦ в формулу, реализующую функцию / Е [ж —»¦ у]. 1.23. Указание. Использовать задачу 1.22. §2 2.1. В задачах 1), 3), 4), 8), 10) функция / самодвойственна. В зада- задачах 2), 5)—7), 9) функция / на является самодвойственной. 2.2. В задачах 1), 3), 5)-8) / Е S. В задачах 2), 4), 9), 10) / ф S. 2.3. 1) A100). 4) @1101001). 8) A001000011110110). 2.4. 1) /(ж, ж, ж) = /(ж, ж, ж) = 1. 2) /(ж, ж, ж) = 1. 2.6. Куб Вп разбивается на 2п~г непересекающихся пар противопо- противоположных вершин. В каждой такой паре самодвойственная функция /(жп) обращается в 1 ровно один раз. Контрпримером к обратному утверждению является функция х\ 0 ж2. 2.8. 1), 3) f(xn) E S при нечетных п. 2), 4), 5) /(жп) ? 5 при всех п ф 3, /(ж3) Е 5. 6) /(жп) <? S при всех п = ЗА;. 2.10. Необходимость. Пусть / = Ж1Д1 V Ж1/0 . Тогда /* = (Zl/x1 V Ж!^)* = (Ж! V (Д1)*) & (Ж! V (/о1)*) =
Гл. II. Замкнутые классы и полнота 335 В силу того, что / G S, имеем /* = /, и, следовательно, *i(/o)*Va;i(/11)*=a;i/11Va;i/o1. Полагая х\ = 1, а затем х\ = 0, получаем отсюда, что (/о)* = /i и )/o Достаточность. Пусть (/i)* = /о- Отсюда вытекает, что /i = = ((/1)*)* = (/о)*? и? следовательно, / = xrfvxifi = x^firvxitfy = (siA1 Vafi/oV = Л 2.11. Верно. Вытекает из задачи 2.10. 2.13. / является суперпозицией самодвойственных функций т(ж3), (р vi ф. 2.14. Пусть f ф S. Требуется доказать, что [{/} U S] = Р2. Имеем {ж, ж} С 5. Из леммы о несамодвойственной функции вытекает тогда, что {1, 0} С [{ж, ж, /}]. Известно, что [ж, ху, ж V у] = Р<2- Отсюда следует, что [0, 1, ж 0 у 0 2, т(ж, 2/, г)] = Р2, ибо ж = ж 0 1 0 0, ху = т(ж, ?/, 0), х У у = т(ж, 2/, 1). Имеем Р2 С [0, 1, ж 0 у 0 г, т(ж^)] С [{ж, ж, /} U S] = [{/} U 5]. 2.15. Верно для п = 1, 3 и не верно для остальных натуральных п. 2.16. 1) Из условий этой задачи и из задачи 2.10 следует, что /о = /i. Но тогда / не зависит существенно отжь 2) Утверждение остается верным. 2.18. 1) Нетрудно получить все функции / Е #, зависящие не более чем от трех переменных (см. задачу 2.9). Если для некоторого п все са- самодвойственные функции f(xn~1) получены, то с помощью представления из задачи 2.17 получим любую функцию /(жп) из S. 2.19. В задачах 1), 3), 5)-7), 10) множества М являются самодвойст- самодвойственными. В задачах 2), 4), 8), 9) множества М не являются самодвойствен- самодвойственными. §3 3.1. 1), 4), 7), 10) / ^ L. 2), 3), 5), 6), 8), 9) / е L. 3.2. 1), 3)-5), 7)-10) / е L. 2), 6) / i L. 3.3. 1) Имеем / = axi 0 bx2 0 с, /@0) = с = 1, /@1) = Ъ 0 с = 0, /A1) =офб0с=1. Отсюда / = xi 0 ж2 0 1, af = A001). 2) / = жь 3), 4) / = xi 0 ж2 0 жз 0 1. 5) / = жз 0 1. 6) / = Ж1 0 Ж2. 9) / = Ж1 0 Ж2 0 Ж4 0 1. Ю) / = Ж1 0 Жз 0 Ж4 0 1. 3.4. 1) /(ж, 2/, у) = /(ж, 2/, 1) = ху. 2) /(ж, 2/, у) = ху. 3) /(ж, у, 0) = ж ?/. 4) /(ж, 1, 2/) = ж!/. 5) f(y, 0, 1, ж) = ху. 6) /(?/, ж, у, у) = ху. 11) /(ж, ж, ж, 2/) = ху. 12) /(ж, 1, 2/, 1) = ху. 3.5. 1), 4), 7), 9) Нельзя, так как \Nj\ ^ 2. 2) ху = /(ж, |7, 1). 3), 8), 11) Нельзя, так как / Е L. 5), 6) Нельзя. Указание. Подстановка констант и любое отождеств- отождествление переменных приводит к уменьшению числа нулей. 3.6. 1) Пусть ai, ...,an_i — произвольный набор значений пере- переменных Ж1, ..., Хп-1. Тогда /(ai, ..., an-i, ж„) = жп 0 <p(ai, ..., an_i). Отсюда ясно, что /(ai, ..., an-i, 0) / /(«i, ..., an_i, 1).
336 Ответы, указания, решения 2) Представим функцию в виде xnh(xn~1) 0 д(хп~1). Так как / сущест- существенно зависит от жп, то h ф 0. Предположим, что Кф\. Тогда существует набор а = (ai, ..., an_i) такой, что /i(a) = 0. Но тогда /(ai, ..., c^n-i, 0) = /(ai, ..., an_i, 1) = р(й), что противоречит условию. Таким образом, h = 1, что и требовалось доказать. 3) Указание: Значение /@) и условия однозначно определяют ее значения на Вп. При этом на наборах четного веса значение функции совпадает с /@), а на наборах нечетного веса противоположно ему. Такова функция xi 0 ... 0 хп 0 /@). Представление единственно. 3.7. 1), 2) Вытекает из задачи 3.6), 1). 3.10.2B). 3.11. 2nl. 3.12. Функция х\ -Л Х2 нелинейна. Если / ? L, то х\ -Л Х2 = = /(^1, Ж2, 0, ..., 0) G L. Пришли к противоречию. 3.13. Предположим, что / G L. Тогда / = х\ 0 ... 0 хп 0 сг, сг е {0, 1}. Из условия /(ж1, 0, ..., 0) ф /(^1, 1, ..., 1) следует, что п четно. Пришли к противоречию с условием. 3.14. В силу нелинейности функции / существуют такие « и j, что / = XiXj(fi 0 хцр2 0 Xj(f3 0 ff4, где функции (fm (га = 1, ..., 4) не зави- зависят от г и j и 99i ^ 0. Пусть a^ (ai, ..., a^-i, «i+i, • • •, «i-i, a?+i, • • • ..., an) — набор такой, что ^i(a) = 1. Тогда ф(х{, Xj) = /(cki, ..., ckj-i, Жг, огг+i, ..., Oij-ij Xj, CKj+i, ..., скп) нелинейна. 3.15. Достаточность. Пусть функция f(xn) такова, что в Вп най- найдется специальная четверка наборов а, /3, 7? ^ такая, что функция / прини- принимает на этих наборах значение 1 нечетное число раз. Положим жт = ат, если т € А2. Если же т G -Ai, то пусть хт = ж при jm = 1 и жт = |/ при 7т = 0. В результате такой подстановки из / получается функция (р(х, у) такал, что рA1) = /E), р@0) = /(Д), <рA0) = /(т), у>@1) = /(*). Ясно, что у(ж, 2/) ф L. Необходимость. Вытекает из 3.14. 3.16. Указание. Используя 3.14, доказать существование грани раз- размерности 2, на которой функция обращается в 1 нечетное число раз. Из того, что |iV/| = 2п~ , вывести существование двух граней таких, что на одной из них функция обращается в 1 один раз, а на другой три раза. 3.18. 1) С помощью суперпозиции из функции х\ 0 ж2 можно получать любую функцию вида Х{г 0 ж;2 0 ... 0 Xik, путем подстановки 1 — любую функцию вида Х{х 0 ж;2 0 ... 0 xik 0 1. Система А является базисом. 2)-5), 7)-9) А является базисом. 6), 10) А не является базисом. 3.19. Пусть / G L. Если / зависит существенно от нечетного числа пе- переменных, то / G S П L. Если / зависит существенно от четного числа пере- переменных, то либо /@) = 0 и 1 ? [{/}], либо /@) = 1, /(Т) = 1 и 0 ? [{/}]. 3.21. Среди функций /i, /2, /3 хотя бы одна является нелинейной, по- поскольку существуют лишь две линейные функции, существенно зависящие от х\ и Х2- Кроме того, каждая из этих функций не является самодвойст- самодвойственной. Подстановкой ж и ж на места переменных несамодвойственной функции / получаем константу. С помощью отрицания получаем вторую
Гл. II. Замкнутые классы и полнота 337 константу. Подстановкой 0, 1, ж, ж, у, у из нелинейной функции получаем функцию вида ху 0 а. Имеем [{ж, ху 0 а}] = Р^. 3.23. Функция представима в виде / = xyz 0 аху + [3xz 0 jzx 0 /(ж, 2/, г), где а, /3, 7 принадлежат множеству {0, 1}, а /(ж, ?/, z) Е L. Если а = /3 = 7 = 1? то /(ж, 2/, у) = ху (В Zi(ж, г/), где /i Е Ь. Если а + /3 + 7 = 2 и, например, а = 0, то /(ж, ж, у) = ху ® Ь(ж, у), h E Ь. Если а + /3 + 7 ^ ^ 1 и, например, а = /3 = 0, то /(ж, г/, у) = ж г/ 0 /з(ж, г/), / Е L. §4 4.1. 1), 3), 4), 6), 8), 9) / е ГДГо. 2), 5), 7), 10) / ? ТДТ0. 4.2. 1), 2) При четных n ^ 2. 3), 4) При п = 2, 3 (mod 4). 5), 8) При всех п ^ 2. 6), 7) При всех четных п. 9), 10) При всех натуральных п ф 3 (mod 4). Указание, f ^1 нечетно при n = 3 (mod 4). 4.3. 1) 22"-2. 2)-22\ 3) 2П. 4) 22"-1. 5J2П+2П. 6) 2П. 7) 22" + 2й-1. 8) 2n~\ 9) 22П-Х + 22"-1 + Т1'1. Ю) iB2n-1 +2n). 15) 0. 4.4. Указание. Если / <Е Т,, П S, сг Е {0, 1}, то / eTwPiS] если / Е Е ЬПУоПГ!, то / Е 5. 4.5. 1) ж г/ = (ж V 2/) 0 х 0 2/. Далее см. пример 3. 2) Указание. Использовать пример 3 и то, что То* = Т±. 3) Указание. Свести к 2). 4) Указание. ж0?/ = жж0?/, жг/ = (жг/ 0 z) 0 ^. Далее см. пример 3. 5) Полином всякой функции из То П Т\ содержит нечетное число слагае- слагаемых и не содержит 1 в качестве свободного члена. С помощью функций ху, х 0 у 0 z любой такой полином можно построить. 6) См. 5). 7) Указание. Всякий многочлен не выше первой степени и не содер- содержащий слагаемых, равных 1, является суперпозицией функции ж 0 у. 4.6. 1) Да. Имеем 1 = жж ~ ж, х ~ у = хх ~ у, ж 0 ?/ 0 z = (ж ~ у) ~ z, ху = ху ~ 1. Далее см. задачу 4.5, 5). 2) А не является базисом в То, так как А С То П Ti. 3) Л не является базисом в Ti, так как [{жг/, ж ~ г/}] = Ть 4) Л не является базисом в То П Ti, так как ACS. 5) Нет, так как [{жг/, ж 0 у 0 г}] = То П Ti. 6) А — базис в То П Ti, см. задачу 4.5, 5) и задачу 1.2, 12). 4.7. 1) af = (ОНО), / = xi 0 ж2. Решение, /(ж ) G Ь существенно зависит от х± и ж2 и /@0) = 0. Отсюда / = Ж1 0 жг. Утверждение о том, что [{жг 0 Ж2}] = То П L, доказано в задаче 4.5, 7). 2) й/ = A0010110). 3) а/ = @1100110). 4) а/ = A001). 6) а/ = (ОНО ОНО ОНО 1001). 7) / = 1 0 xi 0 ж2 0 ж4. 8) а/ = @0101011). 22 Г. П. Гаврилов, А. А. Сапоженко
338 Ответы, указания, решения 4.8. Пусть / ф Т\. Тогда либо а) /(ж, ..., ж) = 0, либо б) /(ж, ..., ж) = = х. В случае а) имеем Р2 = [{О, 1, ж?/ 0 z}] С [{0} П Ti] С [{/} U Ti]. В слу- случае б) Р2 = [{х, ху}] С [{/} U Ti]. 4.9. 1) Пусть / G L\A. Тогда / существенно зависит более чем от одной переменой. Подстановкой константы 0 из / можно получить функцию ви- вида X 0 у 0 G, СГ G {0, 1}. НО [{Ж 0 2/ 0 G, Ж}] = L. 3) Пусть / G L\A Тогда /(ж, ..., ж) G {1, ж}. Далее утверждение сле- следует из полноты в L систем {1, i©y}, {ж, х (В у}. 4.10. 1) Пусть / G To\L. Из / отождествлением переменных можно получить функцию (р, которая имеет вид либо ху(&1\(х, у), либо т(ж, у, z) (Bh(xj у, z), где /i, Ь — линейные функции (см. задачу 3.24). В обоих случаях То = [{ж 0 у, у?}] С [То П L П {/}]. 2) Л = То П ? не является предполным в То, так как А С То П Ti. 3) Да. 4) Нет. 5) Нет, так как, например, [{0} U А] /То. §5 5.1. 1), 4), 6), 7) / i М. 2), 3), 5), 8) / Е М. 5.2. 1) Да, / = 0. 2) Да, / = 1. 3) Нет, /(ж, 0) = ж. 4) Да, / = xi V ж2ж3. 5) Нет, /A, 0, z) = z. 6), 7) Да. 8) Нет. 5.3. 1) а = @10), Д= A10). 2) а = @01), Д= @11). 5.4. 1), 3) Два вектора. 2), 5)-7) Три вектора. 8) 18. 5.5. 1), 2), 4)-6) Один вектор. 3), 7) Два вектора. 8) Три вектора. 5.6. 1) При п = 1 /(жп) G М. Если же п ^ 2, то /(жь 1, 0, ..., 0) = xi, и, следовательно, / ^ М. 2) /(жп) G М при п = 2, 3, /(жп) ? М при n ^ 4. 3) /(жп) монотонна при четных п и немонотонна при нечетных п. 4) При п = 1 и п = 3 функция монотонна, а при других п — нет. 5.7. При п = 1 такой функцией является жь При п > 1 таких функций не существует (см. задачу 5.9). 5.8. Если / ф М, то существуют наборы а = (cri, ..., ап) и т = = (п, ..., тп) такие, что а < т, но /(<т) > /(г). Если /?(а, г) = 1, то утверждение доказано. Пусть /?(а, г) = А; > 1. Рассмотрим произвольную последовательность вида 7о>7ъ • • • ? 7^? гДе 7о = ^5 7^ = ^^ 7*-i < Ъ (а значит, p(ji-ij 7O = !)• Имеем /G0) = 1, /G^) = 0- Ясно, что сущест- существует такое г, 0 < г ^ ?;, что /G^-1) > /(тО- Остается положить а = 7г-1? Д=7г- 5.9. Вытекает из задачи 5.8. 5.11. Докажем первое из разложений. С использованием задачи 5.10 имеем /(жп) = жгДг V жг/<5 = жг(Дг V /3) V жг/<5 = жгДг V /3. 5.12. Следует из задачи 5.11 по индукции. 5.13. Предположим противное. Пусть К = ~x\L — простой импликант функции / G М. Тогда по определению К V / = /, L V / / /. Из последне- последнего соотношения вытекает существование набора а = (аа, «2, ..., «п) тако- такого, что L(a) = 1, /(й) = 0. Заметим, что а± = 1, так как иначе if (й) = 1, f(a) = 0, что противоречит условию. Положим /3 = @, a2j ..., an)- Имеем
Гл. П. Замкнутые классы и полнота 339 L(a)= L0) = К(/3) = /(Д) = 1. Из Д < 5 и f еМ следует, что /(а) ^ J> /(/3) = 1. Пришли к противоречию. 5.14. 1) е(/) = n(f) = 3. 2) е(/) = 2, п(/) = 1. 3) е(/) = г»(/) = 4. 4)е(/) = 2*, п(/)_=*. 5.16. Пусть а и /3 — нижние единицы функции /(жп) из М (n ^ 2). Тогда liV/l = 2||а|1+211^11 -2||5П^11. Ясно, что \Nf\ не является степенью двойки при a jt /3 и /3 ? а, а значит, f ф S. 5.17. 1) Рассмотреть #[^/2]- 2) Пусть М? = <f ePn: U вк С Nf, \J B% = Nj\. Показать, ^ К>[п/2] К<[п/2] * что Ml С Мп и |МГ| = 2^п/2^. 5.18. В любой возрастающей цепи длины п куба Вп для каждого г = = 0, 1, ..., п имеется вершина щ G i?f. Ясно, что всегда йо = 0. Для вы- выбора ol\ имеется п возможностей, для выбора cb при выбранной вершине а\ имеется п — 1 возможностей и т. д. Всего п! возможностей. 2) Если а е В%, то число возрастающих цепей длины п, содержащих ее, равно произведению числа возрастающих цепей длины /с, соединяющих 0 с а, и числа возрастающих цепей длины п — к, соединяющих а с 1. В силу задачи 1) это число равно к\(п — к)\. 5.19. 1) Пусть А — множество попарно несравнимых наборов из Вп и Аг = А П В™, a Z(a) — множество цепей длины п, содержащих вершину а. Имеем Г(й) =^2\Z(a)\= Yl \Ai\i\(n-i)\^ ot?A ot?A О^г^п Отсюда \А\^([пп/2]). 2) Указание. При i ^ к ^ п/2 справедливо неравенство г\{п — г)! ^ ^ Щп-к)\. 5.21.1H. 2J. 3)п + 2. 4) п. 5) 2п - 2. 5.22. 1) Если / eSHMn,TO f = xnfi Vxn(fi)* и /xn G M71'1. Отсю- Отсюда вытекает оценка. 2) Если / G Мп, то / = жпДп V /оп, где /оп G М, а е {0, 1}. Функция / полностью определяется парой (/f, /q1). 5.25. При п = 4 в силу задачи 5.23 имеем \М4\ = 168, а |?4| = 256. Далее утверждение вытекает из того, что \Мп\ ^ IM"]2, а 1^1^= l^]2. 5.26. Для определенности пусть к > I. Для произвольного /3 G А име- (п — 1\ ~ ~ ~ ~ i. _ 7 ) наборов а из С таких, что [3 < а. Для всякого «GC существует не более ( ^ ) наборов C из А таких, что C < а. Отсюда Hl(fcl|) <|С|( {)• С учетом тождества ({) (]j) = (?) (* Zj') получа- ем требуемое неравенство. 5.27. Вытекает из задачи 5.26. 22*
340 Ответы, указания, решения 5.28. С использованием задачи 1) имеем с+ Е «//E)) = Yl c+^afqk-1(f) = qk_1(cp). f?M 5.29. 1) Привести индукцию по числу переменных. 2) Провести индукцию по s с использованием задачи 1). 5.30. Вообще говоря, неверно. Рассмотреть /(ж3) = жз и наборы A10) и @01). 2) Предположим противное. Пусть условия выполнены, но / ф М. Тог- Тогда существуют соседние наборы а, /3 такие, что а < /3 и /(й) > f(/3). Пусть наборы а, [3 различаются в (п — к)-м разряде. Тогда is(/3) = is (a) + + 2к и по условию f(a) ^ f(/3). Пришли к противоречию. 5.31. Заметим, что F(oto, ai, ..., a2n-i) = 1 тогда и только тогда, когда выполнены условия задачи 5.30, 2), т.е. если вектор (ао, ..., a2™-i) является вектором значений некоторой монотонной функции. 5.32. 1) Нельзя, так как / е То, а ж ? То. 2), 3) Нельзя, так как / ? S, а Ж2 ^ S. 4) Можно, /(ж, 0, 1, 0) = ж. 5) Можно, /(ж, 0, 2J, 0) = ~xz. 6) Можно, /(ж, |/, ^, ^) = z. 5.33. Если / = 1, то f еТгПЬ. Если / = 0, то /GTonL. Если /?{0, 1}, то /еТоПТь 5.34. 1 G М\Т0, 0 G М\ТЬ ж^/ G М\5, ж^/ G M\L. 5.35. Нельзя, так как {ж^/, ж V |/, 1} С Ti, а 0 ^ Ti. 5.36. Полнота системы {0, 1, ж^/, жХ/^/} вытекает из задачи 5.12. 5.37. {0, 1, ху, ж V 2/}, {0, 1, ж?/ V ^}, {0, 1, xyVyzV zx]. 5.40. 1) {0, ж?/, ж V у}. 2) {1, ж?/, ж V у}. 3) {0, 1, ж}. 5.41. Следует из задачи 5.36 и того, что 1* =0, 0* = 1, (ху)* = х V у, (ж V у)* = ху. 5.42. Нельзя, так как / G 5, д ? S. 5.46. 2) Функции из Мп П ? для п ^ 3 получаются из т(ж3) отож- отождествлением переменных. Функции из Мп П S при п > 3 можно получать из функций, зависящих от п — 1 переменных, с помощью разложения из задачи 2.17. 5.47. Покажем, например, что То П М является предполным в М. Заме- Заметим, что М\Т0 = {1} и {0, ху, хУу} СТоПМ. Теперь [{1} U (М П То)] = = М вытекает из задачи 5.36. §6 6.1. 1) Нет, А С То. 2) Да. 3) Нет, А С L. 4) Да. 5) Нет, ACS. 6) Да. 6.2. 1) Нет, ACL. 2) Нет, Л С То. 3), 5) Да. 4) Нет, ACS. 6) Нет, АСМ. 6.3. 1), 4), 6) Да. 2) Нет, А С S. 3) Нет, А С Ть 5) Нет, Л С L. 6.4. 1) Нет, так как подсистема {х ^ у, х (В у} полна. 2) Да. 3) Нет, А С Т±. 4) Нет, можно удалить ху V z.
Гл. П. Замкнутые классы и полнота 341 6.5. 1) Б1 = {1, ж, /}, Б2 = {ж, ж?/(ж0 ?/),/}, где f = хфуфхуф zx. 2) Б1 = {0, ж-> ?/}, ?2 = {ж0|/,ж4у}, Б3 = {0, ху ~ ж^}, Б4 = = {ж 0 2/, ж?/ ~ ж^}. 6.6. 1) Р2. 2)МПТь 3)(MDL)\5. 4) Т П S. 5) 5. 6) L П 5. 6.7. 1)а) {ж|у}, {х^у}- _ б) {ж 0 |/, ж ^ 2/}? {х ~ Уч xv}j {хУч х ~^ у} и еЩе четыре базиса, по- получающиеся из них перестановкой переменных в функциях ху, х —? у\ в) {xi 0 ж2, Ж1 - ж2, Ж2/}, {ж 0 ?/, ж ~ ?/, ж V у}. 2) Указание. С использованием критериальной таблицы убедиться, что нет базисов, отличных от перечисленных в задаче 1). 6.8. 1) Да, A U {0} — базис. 2) Нет, функция х входит во все предполные классы. 3) Да, AU {1} — базис. 4) Нет, функции ху и хУ у принадлежат одним и тем же предполным классам. 6.9. 1) Вообще говоря, нет. Рассмотреть /i = х 0 у 0 z, /2 = х\ V х2 V жз. 2) Да, имеем /2 = 1 0- 5, /i ? М U L U To U Ть Система полна. 3) Вообще говоря, нет. Рассмотреть f± = х —> у, /2 = 1. 4) Вообще говоря, нет. Например, /i = ж, Д = 1. 6.10. 1) /(жп) не является шефферовой ни при каких п. Если п четно, то / G Т\. Если п нечетно, то f ? S. 2) При четных п функция шефферова, при нечетных / ? Т±. 3) /(жп) шефферова при п = 2 и п > 3. 4) /(жп) шефферова при п = 4& + 1. 5) /(жп) шефферова при п = 2& и /(жп) G 5 при n = 2A; + 1. 6.11. Имеем 0 ф Тх U S, J $ То U M U L. 6.12. Указание. Среди трех функций, существенно зависящих от Ж1, Ж2, нет самодвойственных и есть хотя бы одна нелинейная. 6.13. Ясно, что / ф То U Тг U S. Далее см. задачу 6.15. 6.14. В силу задачи 5.16 имеем / ^ S. Ясно также, что f ^ To \JT±. Далее см. задачу 6.15. 6.15. Из / ? То U Тг следует, что f е М. Если бы / G L, то из / ? То U U Т\ следовало бы, что / G #, а это противоречит условию. 6.16. Пусть #(п) — число шефферовых функций /(жп). В силу зада- задачи 6.15 S(n) = |P2n\(T0 U Тг U 5)| = 22П ~2 - 22П~1~1. 6.17. См. задачи 2.7 и 6.15. 6.18. Поскольку / (fc Sj найдутся наборы а = (ai, ..., an) и /3 = (ai, ... ..., an) такие, что /(a) = f(/3). Ясно, что a ^ {0, 1}, ибо /@) = 1, /A) = = 0. Заменим в /(ж1, ..., хп) х% на ж, если aj = 1, и на у, если а^ = 0. Полученная таким образом функция д(х, у) шефферова. 6.19. 2) а) 1 G А; б) ж G А. 6.21. 1) А ? То, ибо |А| > |Г0|. Аналогично A<?TU A?S, A ? L. 6.22. В силу задачи 3.24 из нелинейной функции / с помощью отождест- отождествления переменных можно получить функцию F(x, у, z) вида ху 0 h(x, у) или вида тп(х, у, z) 0Ь(ж, 2/, z), где /i, h линейны. Поскольку / ? 5, то осуществима лишь вторая возможность. Ясно, что F G S\(To U Т±). Тогда с точностью до перестановки переменных либо F = га (ж, 17,^), либо
342 Ответы, указания, решения F = т(ж, у, z). В обоих случаях в силу задачи 2.18 функция F, а значит, и /(жп), образует базис в S. 6.23. Неверно. Например, ху G T0\(Ti U L U M U ?), но в [{ж?/}] не вхо- входит ни одна функция /(жп) такая, что |JV/| > 2П~1, например, х\\/х%- 6.24. 1) Неверно, рассмотреть f = x V у. 2) Верно. 6.25. Да, например, / = Ж1 0 ж2 0 ж2жз 0 Ж3Ж4 удовлетворяет условию задачи и при этом / ? S U M U L. 6.26. 1), 2) ЗД = {ж}. 3)<Я(/) = {я©у,0}. 4)ЭД = {Ж,ЖУ|/}. 6.27. 1) 1, ж, ж, ж|/, ж 0 2/. 2) 1, ж. 3) ж, ж, ж?/, ж 0 ?/, ж ~ ?/, ж -> у. 4) жа/, жау/, а, /Зе{0, 1}, а^/3, ш(ж7, j/, z) 0 Я, 7, ^ ^ {0, 1}. 5) 0, 1, ж?/, ж V j/, xy, xV у. 6.28. 1), 2), 4) Да. 3), 5) Нет. 6.29. 1) Да. 2) Нет, поскольку {ху 0 у, 1} — также базис в?2. 3) Да. 4) Нет, ибо {ж V у, ху} С 9Т(ж?/ V zt) и {0, 1, ху, х V у} — базис в М. 5) Да. 6.30. Если {/} — простой базис, то функция / шефферова и не может зависеть существенно более чем от двух переменных, так как в противном случае в силу задачи 6.18 имели бы [9Т(/)] = Ръ- Глава III 1.1. 1) Рассмотреть два случая: х = к — 1 и х ф к — 1. 2)-7) Рассмотреть два случая: ж ^ у и х < у. 12) Рассмотреть два случая: х = к — 2 и х фк — 2. 13) Рассмотреть два случая: х = к — 1 и х фк — 1. 14) Рассмотреть пять случаев: а)ж = г/ = & — 1; б) ж = А; — 1, у фк — 1; в) ж / А; — 1, у = к — 1; г) ж / А; - 1, у фк-1, х ^у; д) х ф к - 1, у ф к - 1, х > у. 15) Рассмотреть четыре случая: а) х = у = к — 1 ; б) ж = А; — 1, у фк — 1; в) х ф к — 1, у = к — 1; г) хфк-1, уфк-1. 16), 17) Рассмотреть три случая: а) ж = А; — 1 ; б) х ф к — 1, х^ у\ в) х ф к — 1, х < у. 20) Рассмотреть три случая: ж = 0, ж = 1и ж^2. 23) Рассмотреть три случая: х = к — 1, х = к — 2 и х ^ к — 3. 1.2. 2) ~ ж = max (Jo(a;), min (ж, <Л(ж))). 3) /!(ж) = тахA, Л(ж2)), /2(ж) = Ji(/i(rc)), /22(ж)=^0(ж) и ж = max (jo(ж), Л(ж)). 5) Пусть ж-2/ + ж — у2 + 1 = (р(х, у). Имеем у?(ж, ж) = ж, у(ж, ж) = 0. Далее получаем все константы и а) при А; = 3 у>B, ж) = ^(ж); б) при А; = 5 <^@, ж) = 1 — ж2, а значит, можно построить функции —ж2, ж4, ж + 4(= ж - 1) и ^(ж) = 1 - (ж - IL. 8) - ж = тахG0(ж), Jo (ж+ 2), 2Л(ж)). 9) j4(x) = ((G2((ж - 1) - 1) - 1) - 1) - 1) - 1.
Гл. III. к-значные логики 343 12) Jk-i(x) = (... ((ж —(~ ж)) —(~ ж)) — ... —(~ ж)) —(~ ж) (~ ж вычита- вычитается А; — 2 раз). 15) ж = (~ ((~ ж) — 1)) — Jk-i(x), a Jk-i(x) можно представить форму- формулой над множеством {~ ж, ж — ?/} (см. 12)). 1.4. 1) Взять у = т — 1. 2) Рассмотреть функцию 1 — 2ж. 1.5. Полезно воспользоваться соотношением ж D ?/= min (А; — 1, у — — х + к — 1), где в выражении ?/ — ж + /с — 1 сложение и вычитание обыч- обычные, а не по модулю к. Индукцией по % можно доказать, что Ы(х) = = min (к — 1, i(k — 1 — ж)), г = 1, 2, ..., к — 1. 1.6. /с/3, 4, 6, 12. 1.7. При /с = 4, 6, 8, 9, 10 число различных функций указанного вида равно соответственно 3, 2, 4, 7, 4. 1.8. jk-i(x) = Jk-i(x) + ... + Jk-i(x) (к -1 слагаемых); ji(x) = = jk-i(x - i - 1), 0 ^ i ^ к - 2. Если g(x) <E PfeA), то р(ж) = g@)jo(x) + ... ... + g(i)ji(x) + ... + #(& - l)jfc-i(ic). Остается учесть, что lji(x) = = ji(x) + ... + ji(x) (l слагаемых). 1.10. 0,2 произвольное и A), если а± = 0, то ао произвольное, B), ес- если а\ ф 0, то либо ао = ai, либо ао = 2ai (т.е. если а± ф 0, то ао /0). 1.11. 1) ж = max (min (I, Jo (ж)), Ji(x)) = jo(x) + 2^(ж). 5) J2(ж2+ж) =max(Jl(ж), J3(x)) = 4^(ж) + 4j3(x). 10) х-у2 = max (min A, Ji^), Jo(y))j min(l, J2(ж), Ji(y))j min(l, J2(rc), J2(y)), min(J2(ж), Jo(y))) = = h (x)jo (y) + h (x)ji (y) + h {x)J2 (y) + 2 j2 (ж) jo (y) • §2 2.1. 1) Положим T({0, 2}) = T и ^({0, 1}, {2}) = °U- a) - ж <Е Т и / ^1/; в) J2(a;) GTfl6!/; д)ж + ^Ти^. 2) ПоложимТ({1, 3}) = T, ^({0, 1}, {2}, {3}) = ^i, ^({0, 3}, {1, 2}) = = °U2; в) jo(^)/T, G% и ф°и2; д) max(x,y)GTn% и ^ °U2; е) х2 -уеТ, ф^Ыг и / ^ 2.2. 3) 8 = {1}, ^ = {{0}, {1,2}}. 4) g = {2}, подходящее разбиение подобрать нельзя. 8)g = {0}, D = {{0,1,4}, {2,3}}. 11) 8 = {0,1}, Я = {{0,1}, {2, ...,*-1}}. 12) g = {0, fc-1}; D = {{0, 2}, {1}} при А; = 3 и D = {{0, jfe - 1}, {1, 2, ..., к-2}} при jfe ^4. 2.3. 2) 2fe -1. 3) Если 8 = 0, то |(T(g))(n)| = /cfen. Если 1 ^ m = |8| ^ A; - 1, то 2.4. 2) В Рз существует 4 различных класса типа °U(D), если считать и все множество Рз- В Р± их 14, а в Рб их 51. 3) Пусть (u, Z2, ..., гп) — набор чисел из множества {1, 2, ..., s}. Всего таких наборов sn. Упорядочим их в лексикографическом порядке и пере- перенумеруем, приписав номера от 1 до sn. Набор A, 1, ..., 1, 1) будет иметь номер 1, набор A, 1, ..., 1, 2) — номер 2, набор A, 1, ..., 1, 2, 1) — но- номер s + 1 и т.д. Если набор (и, г2, ..., гп) имеет номер т, то
344 Ответы, указания, решения ЧИСЛО \{эъг\ ' |^>г2| * ••• * |^>гп| Обозначим ЧврвЗ dm- ЧиСЛО фуНКЦИЙ В МНО жестве P&(Xn), сохраняющих разбиение D = {$i, g2, • • •, &s}, равно ^ l%i l^1 * |%2 1^2 * • • • * 1%^ |dr ? где г = sn и суммирование ведется (jl, J2, •••,ir) по всем наборам длины sn, составленным из чисел, принадлежащих мно- множеству {1, 2, ..., s}. 2.5. 1) Пусть dm обозначает число \^>it\ • ... • |^;п|, где т — номер набора (u,...,zn) в лексикографическом упорядочении множества всех наборов длины п, состоящих из чисел 1 и 2 (как в задаче 2.4, 3), если s = 2). Число функций из P/g(Xn), входящих в T(S)\61/(D), при п ^ 1 равно /z где г = 2П и сумма берется по всем наборам длины 2П — 1, составленным из чисел 1 и 2. Если п = 0, то таких функций нет. 2) |(%(D)\T(8))@)| = |#fe\?|=&-*> r^e * = |8|. Если п^1, то |(Ч/(?))\Г(8))^| = (Л-0'П Yl \%J2\d2'----\%3r\dr (l,r,ji к dm такие (i2,-,ir) же, как в задаче 1)). 3) А;, если п = 0, и Г^""'" + (А; - /)п ^ |%2|^2 •...• |8ir|dr, ес- если п^ 1. (i2,-,ir) 2.6. 2) B!)(Jfe-3)!. 2.7. 3) ж + ж3 - ж4. 6) ж2^/2. 7) ху2 + ху + 2х. к-2 9) (к - i)(i -(х + 2)к-1) = y^ г=0 /г-2 Ю) 1 - [х - ж2 - 2)fe-1 = J2 (- г=0 2.8. 1) Достаточно реализовать полиномом функцию 2jo(x), ибо 2ji(x) = 2jo(x -г) (г = 1, 2, 3), 2jo(x) =2 + ж + ж3 = 2 + Зж + Зж3= 2 +ж + + 2ж2 + Зж3 = 2 + Зж + 2ж2 + ж3. 2) Если /(ж) G Р± и f(E±) С {0, 2}, то /(ж) можно представить в з виде ^Ч; • 2ji(x), где Ь^ G {0, 1} (г = 0, 1, 2, 3). Если /(#4) С {1, 3}, то г=0 рассмотреть функцию д(х) = /(ж) — 1. 2.9. Функции /(ж) — / (ж) и /(ж) — / (ж) принимают значения только из множества {0, 2}. 2.10. 64. В Р4 справедливы соотношения 2ж3 = 2ж2 = 2ж и Зж3 = 2ж + ж3. 2.11. 1) Сравнить друг с другом функции ж, ж2 и ж3 из Pq. 2) В Pq выполняется соотношение Зж2 = Зж. 3) Либо Ь = 2 и а = 2, 5, либо 6 = 4 и а = 1, 4. 2.12. 1), 2), 4) Не представима. 3), 5) Представима. 2.13. 2) Г({1, 2}). 3)<ад,1}, {2, ...,*-1}). 5)Г({0, fc-1}). 9)Г({1, fc-1}). 13)°U({0}, {I, 2, ...,*-!}). 15)Г({1, fc-2}).
Гл. III. к-значные логики 345 2.14. 1) Такой подсистемой является множество {jo(x), ж + у}. 2) {0, ж + у, х • у} С Г({0}), {Мх), Мх), ..., jfc-i(rc)} С Г({0, 1}), {1, 2, ...,/с-1}сТ({1, 2, ...,/с-1}). 2.15. 1) АД{г} С Т(ЯД{г}), г = 1, ..., к - 2. 2) АД{0, fc-l, Mx), Jk-i{x)}. 2.16. 1) Полна. 2)-4) Не полна. 2.17. 1) Полноту в Sfc данной системы можно доказать так: индук- индукцией по г (г ^ 1) установить, что любая функция д из Sk, удовлетворяю- удовлетворяющая условию д(х) = х при ж > г, порождается функциями из множест- множества {hoi(x)j ..., /гог(ж)}; затем положить i = к — 1. 2) Так как hoi(hi,i+i(hoi(x))) = /&о,г-ы(ж) (г = 1, 2, ..., А; — 2), то дан- данная система порождает каждую функцию из задачи 1). 3) Принять во внимание, что hi ;+з.(ж + (к — 1)) + 1 = /i;+i г+г(ж) (г = = 0, 1, 2, ...,*-3). 2.18. Данная система порождает множество Sk- Используя функ- функцию x+jo(x), можно построить любую функцию, выпускающую ровно одно значение (из Ек). Затем, предполагая, что имеются все функции, выпускающие не более г значений A ^ г ^ к — 2), продемонстрировать, как строится произвольная функция из Р^ , выпускающая г + 1 значений. 2.19. 1), 4), 13) Породить систему Россера-Туркетта. 2), 11) Породить систему Поста. 3) Если к нечетное, то породить систему Поста. При четном к породить систему Россера-Туркетта. 5), 8)—10), 12), 15) Породить заведомо полную систему {jo(x)j х + у} — см. задачу 2.14, 1). 6) Полноту этой системы можно установить методом, подобным методу доказательства полноты системы Поста. 7), 14), 16) Породить систему {ж, тт(ж, у)}. 2.20. 2) Функции х + у и ху + 1 существенные. Строим функции ж, hoi(x) и x+jo(x): j2(J2(x)) = 0, ж • 0 + 1 = 1, ж • 1 +1 = ж, j2(x) = = j2{x + 2) =jo(x), x + (jo(x)J =ж+^0(ж)(((ж + 1) + 1) + ... + 1) =х-1 (единица прибавляется к — 1 раз), jo(x — 1) = ji(x), hoi(x) = х + jo(x) + 2 2 к — 1 раз 8) Исходная функция, очевидно, существенная. Обозначим ее че- через ф(х, у). Имеем ф(х, х) = ж, ф(х, ж) = ж • jo(x — х) + (ж — ^(^^(ж) + + х -jo (ж) = Л-1(ж), Jk-i(Jk-i(x)) = 0, ф@, х) = jo(x) +ж, ^(^7 0) = = hoi(x). Далее применяем теорему С. Пикар. 2.21. 1), 3), 5), 8), 10) Полна при нечетных А; и не полна при четных к. 2), 4), 6), 7), 9), 14) Не полна. 11) Полна при четных /сине полна при нечетных к. 12), 13) Полна при к = 3, не полна при к ^ 4. 15) Полна. 2.22. 2) При к простом достаточно построить систему {jo(x), х + у} — см. задачу 2.14, 1). Имеем ж — ж + 1 = 1, I2 —1 = 0, х — 0 + 1 = ж + 1, ж - (г/ +1) + 1 = ж-г/, 1-ж2=ж2, х2 • х2 = ж4, ..., к к (к — 1 — четное число, ибо А; — простое число, не меньшее 3), 1 — = jo(x), 0 - ж = -ж, ж - (-у) = х + у.
346 Ответы, указания, решения 9) При к простом строим функции 1, ж + г/, ж • у. Имеем ж • ж — ж2 = О, 0 + 0 + 1 = 1, ж + 0 + 1=ж + 1, (ж + 1) + 1 + ... + 1=ж-1 (единица при- прибавляется к — 1 раз), ж + (у — 1) + 1 = ж + 2/, ж(ж -\- у) — х2 = х • у. 2.23. 2) Рассмотреть систему Поста. 4) Добавляя, например, функцию ж, легко получить систему Поста. 7) Непосредственно применить критерий полноты класса полиномов вРк. 2.24. 1) При к = 4, 6 можно рассмотреть функцию /(ж + 1, ж). 3) При к = 4 можно рассмотреть любую из функций (/@, ж)J, (/(ж + 1, ж)J или 1 — /B, ж), а при к = 6 — функцию 1 — /D, ж). 2.25. 1) {/с - 1, ^о(ж), ж - у}. 2) | Jo (ж), ж - у2}. 3) {~ ж, min (ж, у), х + у}. 4) Если А; — нечетное число, то базисами являются, например, под- подсистемы {ж + 2, max ((ж, у)} и {ж + 2, ж — у}. Если к — четное число, то базисом является множество {к — 1, ж + 2, ж — у}. 5) {jo(ж), ж + 2/2}. 2.26. Учесть, что {0, 1, ..., А; — 1, Jk-i(x), min (ж, г/), max (ж, у)} С max (Jo (Jo (ж)), Jo (ж)) = к — 1. 2.28. 2) Из задачи 1) вытекает, что число таких предполных классов в Pk не больше, чем число всех подмножеств множества Р^ . Но \Р^ | = кк. Значит, мощность множества всех подмножеств из Р^ равна 2к . 2.29. 2) Обозначим функцию ji(x) • J2(y) через ip(x, у). Имеем <р(х, ж) = 0, (р@, ж) = (р(х, 0) = (р@, 0) = 0. Значит, в К2 содержится толь- только одна функция, зависящая не более чем от одной переменной, и эта функция — тождественный 0. 2.32. Подсчитать число несущественных функций в PJf1 и полученное выражение вычесть из кк . Число несущественных функций в i^ рав- k-i но Ш)-п + У(-1Г Глава IV §i 1.1. 1), 3), 4), 9), 11), 12) Является. 2), 5)-8), 10) Не является. 13) Является, так как при 7 ^ t ^ 13 выполняются неравенства 1 ^ ^ 20* - t2 - 90 ^ t. 14) Не является, ибо г/(9) = жA0). 1.2. 1) Не является, так как /@w) = О1', но /@1 Щ°) = Iе0, т.е. первый символ выходного слова не определяется однозначно первым символом входного слова. 2) Является; /(ж1") = жA) жB)... x(t)... 3) Не является. Рассмотреть /@^) и /@ [1]^). 4), 7), 10), 12) Является. 5), 6), 8), 9), 11) Не является.
Гл. IV. Ограниченно-детерминированные функции 347 13) Является; f(x") = 1жA) 1жC) 1жE)... 14) Является; fix") = жA) 0жC) 0жE)..., ибо 1/3 = О, @1) = 0,010101... 15) Является; f(x") = 0w, так как 1/7 = 0, @01) = 0,001001001 ... 16) Является. 1.3. 1) Можно; д(хш) = Ош. 2) Можно; д(хш) = жA) жB) ... x(t)... 3) Можно; д(х") = 0х". 4), 5), 9) Можно. 6), 8) Нельзя; рассмотреть входные слова х" = 1 [0]^ и ж^ = 1Ш. 7) Можно; д(х") = 0[жA) &хB)]". 10) Можно; д(х") = 0жA) уC)... y(t),..., где y(t) = — т»(~t Л\ Д^ т»( Л\ . т»(ОЛ Д^ 1 — Jbyv ± J \JP Ju у± J Juy^jj \JP ± . 1.4. 1) r(f) = 1, r(g) = 4. 2) r(/) = 1, rfa) = 5. 3) r(f) = 4, r(p) = 5. 4) r(f) = 2, rfa) = 3. 5) r(f) = 2, r(p) = 3, ибо 2/3 = 0, A0) = 0,101010 ... 6) r(f) = r(g) = oo, так как 1/л/2 — иррациональное число и его двоич- двоичное разложение является непериодической дробью. 9) г(/) = 2, г{д) = 4. 1.5. 1) Пусть vo, ei, vi, в2, ..., e^-i, Vj-i e^ — вершины и ребра ориентированной цепи Z, начинающейся в корне дерева и заканчивающейся тем ребром, где изменена метка. Если вершина дерева не принадлежит этой цепи, то после изменения метки на ребре ej она (и растущее из нее поддерево) останется в том же классе эквивалентности, в котором нахо- находилась раньше. Новые классы эквивалентности могут возникнуть только при «распределении» вершин, содержащихся в цепи Z. Следовательно, вес первоначальной функции может измениться не более чем на j. Дости- Достижимость указанной оценки вытекает, например, из рассмотрения дерева, соответствующего функции f(x") = 0^. 2) |г(/) - г(</Ж 2j - 1. 1.6. 1), 2), 4)-6), 8)—10) Эквивалентны. 3), 7) Не эквивалентны. 1.7. 1) а) Не эквивалентны, б) Эквивалентны. 2) а), в) Не эквивалентны, б) Эквивалентны. 3) а), б) Эквивалентны, в) Не эквивалентны. 4) а), в) Эквивалентны, б) Не эквивалентны. 5) а), в) Не эквивалентны, б) Эквивалентны. 6) а), в) Эквивалентны, б) Не эквивалентны. 7) а) Эквивалентны, б) Не эквивалентны. 8) а), в) Не эквивалентны, б) Эквивалентны. Указание. f(x") = 01 [1100]^. 9) а) Не эквивалентны, б), в) Эквивалентны. Указание. f(x") = 11 [010]Ч 10) а) Эквивалентны. Указание. /~2(жA) жB)...) = z(l) zB)... z(t), где \x(t), если 1 + 0 + жA) + ... + x(t) <(t + 2)/2 = t/2 + 1, 1 в ином случае, жB)...) = v(l) vB)... v(t) ..., где . . . x(t), если 0 + 0 + 1 + 1 + жA) + ... + x(t) <(t + 4)/2 = t/2 + 2, 1 1 в ином случае.
348 Ответы, указания, решения 10) б) Эквивалентны. в) Не эквивалентны. Рассмотреть функции /~4 и /~5 на слове 6е0. 11) а), б) Не эквивалентны, в) Эквивалентны. 12) а) Не эквивалентны, б), в) Эквивалентны. t-1 Указание. Если х(t — 1) = 0, то неравенство у^ A — х(г))г < t • x(t) г = 1 выполняется только тогда, когда все ж (г) при г = 1, 2, ...,? — 2, t равны 1. 13) а), б) Не эквивалентны. Рассмотреть остаточные функции на сло- слове 0[l]w. в) Эквивалентны. 1.8. 1) Указание. Для любой остаточной функции ср функции /о имеем <р@хB) ...)= уA)... и у>AжB)...) = уA)... 2) Указание. Всякая остаточная функция ср функции /о, отличная от самой функции /о, обладает следующим свойством: (р@хB)...) = 1жB)... 5) Указание. Если ср — остаточная функция функции /о, то у>(СГ) = (К Сравнить с /i@w). 6) Указание. При s ^ 2 остаточная функция (р функции /о, порож- порожденная словом Xs, удовлетворяет условию <р@жB)...) = срAхB)...). 1.9. 2) Можно взять остаточную функцию функции /о, порожденную произвольным словом длины 2. 5) Исследовать остаточную функцию функции /о, порожденную сло- словом х2 = 11. 6) Рассмотреть остаточную функцию функции /о, порожденную сло- словом х3 = 011. 8) /о (ж") = 00[0111f, /i(?w) = [HOlf. 1.10. 1), 2), 4), 5), 11), 12), 20) О.-д. функция веса 2. 3), 7)-10), 21) О.-д. функция веса 3. 6), 18) О.-д. функция веса 4. 13), 16) Функция не является ограниченно-детерминированной. 14), 19) О.-д. функция веса 5. 15) Вес функции равен 7. 17) Вес функции равен 21. 1.11. 1) Порождается булевой функцией д(х) = 1. 2), 3) Порожденной не является. 4) Порождается булевой функцией д(х) =~х. 5) Является порожденной. 6), 7) Порожденной не является. 8) Порождается парой булевых функций: gi(x) = 0 и #2(ж) = 1. 9) Порождается парой булевых функций: дг(х) = х и дч{х) = х. 10) Порожденной не является. 11) Порождается булевой функцией g(xi, X2) = х\ —»¦ х<ъ- 1.13. 1) а) У функции f(xu}) попарно неэквивалентные остаточные функции исчерпываются функциями /(хш), f%i (хи) (г = 1, ...,/), где хг — произвольное входное слово длины г. Вес каждой из этих / + 1 функций равен / + 1. 2) б) Указание. Если Xs — входное слово длины s ^ /, то fs-(xa) = lw. 3) а) Соответствующая остаточная функция веса г (г = 3, ...,/ + 2) порождается входным словом \1~г+2 (если г = / + 2, то слово пустое).
Гл. IV. Ограниченно-детерминированные функции 349 б) Один из бесконечных классов эквивалентности состоит из функций, тождественно равных 0^, а другой — из функций вида /: y(t) = жA) & &жB)& ... &x(t), t^ 1. 4) а) См. задачу 3), б). Представители бесконечных классов эквивалент- эквивалентности такие же. 5) а) Элементы одного бесконечного класса эквивалентности порожда- порождаются словами вида О1 xs (s ^ 0), а другого — словами вида жт, отличными от 0т (т = 1, ...,/), и еще словами ж {ж?, где х[ — слово, отличное от 0z, а Х2 — произвольное слово длины п ^ 1. 6) Кроме остаточных функций из двух бесконечных классов эквивалент- эквивалентности у функции /(ж^) имеются еще остаточные функции, порождаемые словами 0 s (s = 0, 1, ...,/ — 1). Эти функции попарно не эквивалентны, и если si > S2, то /qS1 является остаточной функцией функции /qS2. в) Следует из а) и б). 1.14. 1), 2), 4), 5) Два бесконечных класса эквивалентности и один одноэлементный. Вес функции / равен 3. 3), 8) Три бесконечных класса эквивалентности и один одноэлементный. 6), 7) Три бесконечных класса эквивалентности. 9) Семь бесконечных классов эквивалентности и три одноэлементных. 10) Четыре бесконечных класса эквивалентности и три одноэле- одноэлементных. 1.15. 1), 11) Автономная функция веса 2. 2), 3) Автономная порожденная функция. 4) Автономная функция веса 3. 5) Автономной не является. 6) Автономная функция бесконечного веса. 7) Автономная функция веса 21. 8)—10) Автономная порожденная функция. 1.17. 2) Рассмотреть функцию /(ж1") = 0хи. Ее вес равен 2. Вершина ранга 2, соответствующая входному слову I2 = 11, не эквивалентна корню дерева (вершине ранга 0), так как /^(ж^) = 1хш. 1.19. 1) Мощность гиперконтинуума B?). 2) Мощность континуума (с). 3) Множество счетно-бесконечное. 4) Мощность континуума. 5) 22 . 6) 42 ~1. 7) Мощность континуума. 8) Множество счетно-бесконечное. 9) Мощность континуума. 10) Мощность каждого из множеств равна с. §2 2.1. 1) y(t) = q(t - 1) -»• x(t), q(t) = x(t), q@) = 0. 2) y{t) = q(t - 1), q(t) = x(t) | q(t - 1), g@) = 0. 3) Диаграмма Мура изображена на рис. 0.4.1, а. 4) y(t) = x(t) - Ql(t - 1) -> q2(t - 1), qi(t) = qi(t - 1) V q2(t - 1), q2(t) = x(t) • q±(t - 1) V (qi(t - 1) - q2(t - 1)), gi@) = g2@) = 0. 5) Рис. 0.4.1,5. 6) Рис. O.4.1,e. 7) Рис. 0.4.1, г. 8) Рис. 0.4.1, Л 9) Рис. 0.4.1, е. 10) Рис. 0.4.1, ж. 12) Рис. 0.4.1, з. 13)—15), 22) Указание. Вес функции равен 2. 16), 18), 19), 24), 28), 35) Указание. Вес функции равен 3.
350 Ответы, указания, решения 1A) 0@) . 0A) Qo(Q) 0 1A) 1 0@) 1@) Q ад О Рис. 0.4.1 17), 25), 30), 37) Указание. Вес функции равен 6. 21), 23), 27) Указание. Вес функции равен 4. 32), 34), 36) Указание. Вес функции равен 5. 39), 40) Указание. Вес функции равен 7. 2.2. 1) Рис. 0.4.2, а. 2) Рис. 0.4.2, б. 3) Эквивалентны вершины 1 и 2. Рис. 0.4.2, в. 4) Рис. 0.4.2, г. 5) Рис. 0.4.2, д. 6) Эквивалентны вершины 1, 2 и 3; рис. 0.4.2, е. 7) Эквивалентны вершины в парах {0, 2} и {1, 3}; см. рис. 0.4.2, ж. 8) Эквивалентны вершины в тройках {0, 3, 5} и {1, 2, 4}; рис. 0.4.2, з. 9) Рис. 0.4.2, и. 10) Рис. 0.4.2, к. 11) Рис. 0.4.2, л. 2.3. 1) Добавить дугу A, 0) с меткой 0@). 4) Добавить дугу (О, 1) с меткой 0A) и дугу C, 0) с меткой 1@). 7) Добавить дугу B, 3) с меткой 1@). 2.4. 1) Вес равен 1. 2), 5) Вес равен 4. 3), 7), 8) Вес равен 2. 4), 6), 9), 10) Вес равен 3. 2.5. 1) Подходящая диаграмма изображена на рис. 0.4.3, а. 2) Рис. 0.4.3, б. 3) Рис. 0.4.3, в. 4) Рис. 0.4.3, г. 5) Рис. 0.4.4, а. 6) Рис. 0.4.4, б. 7) Рис. 0.4.4, в. 8) Рис. 0.4.3, г.
Гл. IV. Ограниченно-детерминированные функции 351 1A) 0 *0 0A) 1@) а 0@) 3 5| ( 1A) Р Ъ.2) 0@) }1@) б 0A) 0@) 1 КО) ,0 1) + с 0 0A) —-——- 1A) в )@),1( 0A) 0 ~1,2) 0A) «()о A,2,3) г 0@)Д@) @,3,5) 0@)ДA) A2,4) @,3,^5) 0@),1A) A,2) 1@) B,5) 0@), 1A) Рис. 0.4.2 * 1@) 2 0@),1@) 0@) 1@) 0@) 0A) 0A) 3 0A) 1A) 0A) 1A) Рис. 0.4.3
352 Ответы, указания, решения 0 1@) 3 Рис. 0.4.4 2.6. 1) Число различных диаграмм Мура, получающихся из данного ориентированного графа, равно 32. Приведенными являются 24 диаграммы; они соответствуют различным о.-д. функциям из ^'од- 2) Всего 64 диаграммы Мура, 16 диаграмм не являются приведенными, 48 соответствуют различным о.-д. функциям веса 2 из Р^од- 3) Всего 32 диаграммы, 24 приведенные, и все они задают различные о.-д. функции из ^'од- 4) 16 различных диаграмм, приведенных 12, и все они соответствуют различным о.-д. функциям из ^2,'од- 5) 512 различных диаграмм, 480 приведенных (они соответствуют раз- разным о.-д. функциям веса 3 из Р2,'од)- 6) 256 различных диаграмм, 240 приведенных (все они соответствуют разным о.-д. функциям из ^од)- 7), 8) 512 различных диаграмм, 432 приведенных (все они соответству- соответствуют разным о.-д. функциям веса 3 из ^од)- 9) 512 различных диаграмм, приведенных 336. Число разных о.-д. функ- функций из ^'од? задаваемых этими приведенными диаграммами, равно 168. 10) 64 различные диаграммы, приведенных 60, и все они соответствуют разным о.-д. функциям веса 3 из ^'од- 11) 4096 (= 212) различных диаграмм; приведенных 4032 (они задают попарно различные о.-д. функции веса 4 из ^од)- 12) 512 различных диаграмм, приведенных 504 (они соответствуют разным о.-д. функциям веса 4 из ^од)- 2.7. 2) 144 о.-д. функции. 2.8.1) y(t) = qi(t-l)\/x(t)q2(t-l), qi(t)=x(t)q2(t-l), q2(t)=x(t)q2(t-l), «i@) = l, g2@) =0.
Гл. IV. Ограниченно-детерминированные функции 353 Вес суперпозиции /i(/2) равен 2, она может быть задана следующими каноническими уравнениями и начальными условиями: y(t) = x(t) -»¦ q(t - 1), в(*) = г@, g@) = i, т.е. она «функционирует» так же, как функция Д. 2) Указание. Вес суперпозиции равен 3. 3) Суперпозиция является функцией веса 1. 5) Суперпозиция /i (/2) имеет вес 2 и может быть задана следующими каноническими уравнениями и начальным условием: y(t) = q(t - 1), q(t) = x(t) -+ q(t - 1), q@) = 0. 6) Указание. Вес суперпозиции равен 4. 7) Указание. Суперпозиция имеет вес 2. 8) Указание. Вес суперпозиции равен 5. 2.9. 1) Указание. Получается о.-д. функция веса 2. 2) Указание. Получается функция, порожденная отрицанием. 7) а)-в) Указание. Получается функция веса 2. 8) а) Указание. Получается функция веса 3. 6) Указание. Получается функция веса 4. 2.10. 1) Вес равен 1. 2) а) Вес 2. б) Вес 1. 3) а), в) Вес 1. б) Вес 2. 4) а), б) Вес 4. 5) а) Вес 2. б) Вес 1. 6) а), в) Вес 1. б) Вес 2. 7) а) Вес 4. б), д) Вес 2. в), г) Вес 3. (В д) эквивалентны вершины в парах @0, 01) и A0, 11).) 2.11. 1) а) Вес равен 4. б) Вес 2. 2) а), б) Вес 3. 3) а) Вес 1. б), в) Вес 2. 4) а)-в) Вес 2. 2.12. 1), 4) Вес равен 4. 2) Вес 2. 3) Вес 3. 5) Вес 7. 2.13. 1) Указание. Воспользоваться схемой для функции /2 из при- примера 10, б). 12) Указание. Вес функции равен 3. 15) Канонические уравнения и начальные условия для некоторого до- доопределения функции можно записать в следующем виде: = x(t)~q2(t-l), q1(t) = x(t)-q1(t-l)-q2(t-l), q2(t)=x(t)-q1(t-l)-q2(t-l), 2.14.3) V(t)=qi(t-l)-qa(t-l), qi(t)=x(t), 9-2@ = 91 (*-l). 9i@)=92@) = 0; 7) yi(t)=x2(t)-qi(t-l)\/q2(t-l), y2(t) = xi(t)-q3(t-l), qi(i) = x2{t) ¦ qi(t - 1) V q2(t - 1), q2(t) = xi(t), 93 @ = x2{i), qi@) = q2@) = q3@) = 0. 23 Г.П. Гаврилов, А. А. Сапоженко
354 Ответы, указания, решения 2.15. 1) Реализуемая схемой о.-д. функция может быть описана сле- следующими каноническими уравнениями и начальным условием: y(t)=x(t)-q(t-l), «(*) = x(t), в@) = 0. Новая схема изображена на рис. 0.4.5, а. 2) y(t)=x(t)Vq(t-l), q{t) = l, 9@) = 0. Схема с выходом y(t) = x(t)q(t — 1) приведена на рис. 0.4.5, б. 2.16. 2) а) Можно взять схему, изображенную на рис. 0.4.6, а. Она реализует функцию /=о(ж), порожденную тождественным путем. б) См., например, схему на рис. 0.4.6, б. Она реализует функцию в) Для г = 1 и г = 4 соответствующие схемы приведены в задачах а) x(t) x(t) Рис. 0.4.5 р раз раз Рис. 0.4.6 и б). Для г = 2 подходит любая схема из задачи 2.15, а для г = 3 — схе- схемы из задачи 2.13 (см. 12), 14), 15)). 2.17. 1), 2) Единичная задержка строится из /2 отождествлением переменных. 3) Получить из Д функцию /=о(ж), порожденную тождественным пу- путем, и подставить ее подходящим образом в /2. 4) Рассмотреть функции <pi(#) = /2(ж, ж, ж), <?>2(ж) = fi(<pi(x)), ц>з(х) = = f2((fi(x), ж, у>2(ж)) и у?4(ж, у) = /2(ж, 2/, ?>i(aO). 5) Рассмотреть функции if)i(x) = /2(ж, ж), -02(ж, г/) = Д(ж, ?/, -01 (ж)) и ^з(ж) = /2(ж, ^i(^)).
Гл. IV. Ограниченно-детерминированные функции 355 6) Единичная задержка и функция, порожденная стрелкой Пирса, стро- строятся так: <pi(x) = /2(ж, ж, ж), (р2(х) = /х(ж, y>i(aO), (p3(x, у) = /х(ж, ргЫ), ^4 (ж) = Д(Ж, Ж), у?5(ж) = /2(?>1(ж), У?4(ж), Ж), у?6(ж) = ^2 (<^5 (<^2 (ж))). 7) Нужные функции получаются так: фг(х) = /з.(ж, ж), 1р2(х) = = <М/2(аО). 8) Из функции /i получить функцию /=1(ж), порожденную тождествен- тождественной единицей, и подходящим образом подставить ее в /2. 9) Из Д получить функцию /=о(ж) и подставить ее в /2. 10) Построив из /2 функцию /=о(ж) и подставляя ее в /2, получаем (на одном из выходов) функцию f=o(x). Затем надо рассмотреть функ- функцию /2(/=о(ж), Ж). 11) Вводя обратную связь по переменным жз и у2 в функции /2, полу- получаем функцию, порожденную конъюнкцией. Затем надо построить функ- функцию /=о(ж) и рассмотреть суперпозицию /2(/з.(ж), /з.(ж), f=o(x)). 12) Подставляя в /2 подходящим образом функцию /з.(ж, ж), получаем функцию f=i(x). Задержку можно построить, вводя обратную связь в функ- функции /2 по переменным ж2 и ?/2. 13) Из Д построить /=о(ж). Затем подставить ее в /2 вместо перемен- переменной Жь 14) Рассмотреть функцию ipi(x) = /2(ж, ж, ж), 4>i(x) = fi(ipi(x)) и ^з(ж, ?/) = /(ж, 2/, ж). 15) Рассмотреть функции Д(ж, Д(ж, ж)) и /2(ж1, ж2). 2.18. 1) Полагая жз = ж2, получаем функцию, порожденную штрихом Шеффера. Затем построить функции /=о(ж), /=1(ж), /^(ж) и рассмотреть суперпозицию f(f=i(x), f=i(x), /=о(ж), fx(x)). 2) /(ж1, ж2, жз) = /апуаг2(ж1, Ж2); значит, [/]g D {/=о(ж), f=i(x), fx(x)}. Далее, ^(ж) = Mf(f=i(x), ж, /=о(ж))). 3) Если ж2 = Ж1, то /(ж1, Ж1, жз) = /ж!&ж3(ж1, жз). Строим /=о(ж) и /=1(ж), затем задержку <?з(ж) = /(ж, /=о(ж), f=i(x)). 4) Полагая жз = ж2, получаем функцию /жх &ж2(ж1? Ж2). Кроме того, ?>,(*:) = /(/=!(*), «, /=о(ж)). 5) Полагая жз = Ж1, получаем, что на одном выходе функции /(ж1, Ж2, х±) реализуется функция fy± (жг), а на другом — функция fX2^Xl (ж1, жг). Затем строим /=о(ж), f=i(x) и задержку <^з(ж) = h(f(f=i(x), f=i(x), fa(x))) (no выходному каналу 2/2). 2.19. 1) Можно удалить f=o(x) (она получается из <^Дж) с помощью операций объединения, отождествления входов и обратной связи; см. при- пример 10, д) в п. 3). 2) Можно удалить две первые функции, так как fx^y(x. Ж) = /=1(ж), <^(/г(/=1(ж))) = /=0(ж), fx^y(Xj /=о(ж)) = /аг(Ж)> fx~y(Xj у) = fx1&x2(fx^y(xj у), /у^Ж(ж, J/)) /х&у(ж, ?/) = fx(fx^y(x, fy{y))). 3) Можно удалить две первые функции, так как: a) <Pi(fx-y(x, ж) = <^(ж); 6) из у?з с помощью операций объединения, отождествления входов и обратной связи строится /=о(ж); в) fxvy(f=o(x), у) = fy(y); г) /я.&у(ж, ?/) = fx(fxvy(fx(x), у)); Д) /х0у(ж, ?/) = fx(fXl&x2(fxVy(x, у), fxVy(x, у)). 23*
356 Ответы, указания, решения 4) Можно удалить fw(x), ибо fxvy(<p$(f=o(x)), /у(у)) = /у(у). 5) Можно удалить первую и третью функцию, так как: а) с помощью операций объединения, отождествления входов и обратной связи из последней функции системы А получается функция /=i(sc); 6) из fx-y(xj у) и f=\(x) можно построить всякую порожденную функ- функцию ИЗ Р2,од5 в) ?,(*) =/И/* Ы/* (/*(*)))))• 2.20. 1) Содержится, ибо <рь{х) = Ц>ь{Ь{Ь{х))) и /=о(ж) есть в [^(^)]{Ol,o3,o4}- 2) Содержится. 3) Содержится, ибо /ж^у(ж, /=о(ж)) =/^(ж), а /=о(ж) есть в 4) Содержится. Указание. Вводя обратную связь во второй и третьей функциях, получаем fi(x) = [01]^ и /2(ж) = [10]^. Затем надо воспользоваться fxvy(x, у). 5) а) Не содержится. Указание. Установить, что каждая функция из А «сохраняет» мно- множество последовательностей V = {аш = а,\а,2 .. .at... \ 3to (Vt ((t ^ to) => => (a, = 0))) V 3ti (Vt ((* ^ ti) ^ (a, = 1)))}. 6) Содержится. Указание. Рассмотреть функцию, получающуюся из функции iP}(iP}(fw(x))) введением обратной связи. 2.21. 1) Добавить /т(ж, у,г)(ж, у, z). 2) Добавить fx.y(x, у). 3) Добавляя только одну функцию из 5, систему до полной расширить нельзя. Указание. Замкнутые классы, получающиеся при этом, состоят из функций, сохраняющих множество последовательностей V, описанное в ответе к задаче 2.20, 5), а). Значит, в них не содержится, например, функ- функция /(ж) = [01]^. При обосновании свойства сохранения множества V в случае рассмотрения операции обратной связи удобно использовать пред- представление о.-д. функции (к которой применяется операция обратной связи) в виде канонических уравнений. 4) Добавить fx~y(x, ipb(y))- 5) Добавить fa(ipb(y))- Глава V 1.1. 1) а) Т(Р) = I2. б) Т(Р) = 1. в) К слову I6 не применима. 2) а) Т(Р) = 1301. б), в) Т(Р) = I7. 3) а) Т(Р) = 10212013. б) Т(Р) = 10413. в) Т(Р) = 1012021. 4) а)-в) К данному слову не применима. 5) а) К слову I2 не применима, б) Т(Р) = I3. в) Т(Р) = I4. 1.2. 1) Одна из возможных машин задается такой программой: 2) Программа одной из таких машин: q±0qi0R, q±lqilR. 3) Программа одной из таких машин: qiOqiOS,
Гл. V. Элементы теории алгоритмов 357 4) Одна из возможных машин задается следующей программой: 1.3. 1) a) g0l[01]2, 2) б) l[10]2g0l. 3) б) 10g0l301. 4) а) 120%1. 5) a) I202lg001. в) [10]20д012. 1.4. 3) Программа одной такой машины имеет вид giOg2OL qslqtOR (/21(/21L 1.5. 2) Пусть (/oi ? • • •, qorn (rn ^ 1) — все заключительные состояния заданной машины Тьюринга. Нужную машину можно построить так: заме- заменяем каждую команду вида qiaqojflD (а, [3 — символы внешнего алфавита, D G {Sj L, R}) на команду qiaq'jftD, где q'j — новое состояние (для каждого состояния qoj свое). 1.6. Для построения машины Тт достаточно добавить т дополнитель- дополнительных (новых) состояний q[j ..., ^ш и «пополнить» программу машины Т, например, такими командами: q^aq^aSj ..., q^aq^aS, где а — какой-то фиксированный символ из внешнего алфавита. 1.7. Таких машин 15. 1.8. 1) Одна из возможных программ: gil^OL, q20qolSj q2lq2^-L. 2) Одна из подходящих программ: qiOqiOR, qilqolR. 5) Одна из возможных программ: q±0q2lR, (/20(/з1Я, • • •, qiOqi+ilR, ... 1.9. 1) а) Композиция TiT2 к l3О212 не применима. 2) a) (TiT2)(P) = l[10]2[01]3l. 3) 6) (TiT2)(P) = 12O12O2212. 1.10. 1) а), б) Указанная итерация к словам вида l3k и l3fe+1 (A; ^ 1), не применима. в) Итерация применима к любому слову вида 13/г+2 (А; ^ 1), и в резуль- результате получается слово 1. 3) Итерация к данным словам применима, результат — слово \2х+у+1 ф 1.11. 1) Т(Р) = 1041. 2) б) Т(Р) = 1ж0101у01г01. 1.12. 2) aTijgio l^i kio.^ |Т2Т4Т3| . 1 1,3 2 2 3 3) аГ5|^о I П J^o Ti(P) =Т2Г1ГзТзГ4| |Г4 [TiTsw. 3 12 12 3 1.13. 1) Т(Р) = 1ж01ж+?/. 2) Т(Р) = 1Ж, если x^y^l, Т(Р) = 1У, если j/ > х = 1, и Г(Р) = = 1ж-101^-ж+1, если у > х ^ 2. 1.14. 6) Функция определена только при х = 0, 1. Одна из возможных программ такова: (/iO(/ol?, gilg2li2, g20(/ili2, д21(/з1#, дз1дз1*^. 12) Указание. Функция определена только на следующих парах зна- значений аргументов: @, 1), @, 2), A, 1) и B, /3), где /3^1. 1.15. 3) Функция определена только при х = 2, 3. Одна из возможных программ: qiOqolS, gilg2O.R, g2O(/2O»S', 1.16. 1) /(ж) = ж + 1, /(ж, у) = ж + у + 1. 3) f(x) = 0, /(ж, ?/) = у + 1. 6) /(ж) нигде не определена, /(ж, у) = ?/•
358 Ответы, указания, решения 1.17. Если машины начинают работу с самой левой единицы кода числа ж, то вычисляются следующие три функции: ж, ж — 1 и нигде не определенная. 1.18. 1) Подходящая программа: qiQq^lR, qi^lR, q20q±0R, q2lqilR, 1.19. 1) а) Данному /-кратному коду соответствует решетчатый код, расположенный на двух решетках, со следующей парой слов: 1 и 11. Значит, надо построить машину Т, удовлетворяющую условию: начав работу на первой единице слова 1 0zl2Z, она выдает слово 1101 (решетчатый код на- набора @, 1)). Подходящая программа: qi0q20R, qilqiOR, q2^q2^R-, #21(/з0Л, §2 2.1. 4) /(ж) = пх- /@) = п • 0 = 0, /(ж + 1) = /г(ж, /(ж)) = п(х + 1) = = пх + п = /(ж) + п = s(s ... s(f(x))...). Значит, п раз /г(ж, у) = s(s ... s(y) ...)= ll(x, s(s ... s(y)...)). 7) Указание. Для требуемого примитивно рекурсивного описания функции х • у на «первом этапе» нужны функции д(х) = О(х) и Н(х, у, z) = х + 1з(х, у, z). «Второй этап» связан с описанием функ- функции h(x, у, z). 2.2. 1) /(ж, у) = х(у + 1). 2) /(ж, у)=х + (у- 1). 4) /(ж, 2/) = Зх+у(у ~ 1)/2. 5) /(ж, у) = g у + (ж ^(у ^ 1)) • sg у. 7) /(ж, у) = Bх)~^у + (у - l)"ig ((?/ - 1) - ж). 8) /(ж, у) = sg ж- sgy+ ж -sg(y-l). 2.3. 3) тах(ж, у) = (ж - у) + у. т т 8) Указание, /(ж) = ^^a>i • sg |ж — г| + с • ]^[sg |ж — г . г=0 г=0 9) Указание, /(ж) = ж • х(ж)? ГДе х(ж) = х ~ 2[ж/2] —характеристи- —характеристическая функция множества нечетных чисел. Ю) fm(x) =sg(x-m- [x/m]). 11) Указание. [\/х + 1] = [у/х\ + ip(x), где ср(х) = sg (([у/х] + IJ — Ч )) 2.4. 7) а) Указание. Д(ж) получается из примитивно рекурсивной у /(ж, у) = 2_^ s§ |ж — аг| отождествлением переменных ж и у. г=0 б) У к а з а н и е. /2 (ж + 1) = /2 (ж) + /i (ж + 2), где /i — функция из зада- задачи а). 2.5. 1) sg|rci -3|-1. 2)ж1-2. 3) xi + 2. 5) (жх - 1)/2. 6) ((rci + l).sga;i)/2. 9) (бжх -4)sg»i. 10) (xi - ж2) + (ж2 - xi). 12)
Гл. VI. Графы и сети 359 14) log2(zi/B?2 + 1)) при г = 1; (ж2 - 2Xl)/2Xl+1 при г = 2. 15) Oci-l)/sgC-ai). 2.6. 1) 2 - xi. 2) 2жь 3), 4) Такой функции нет. 5) хг + 2ж2. 6) Зал + ж2. 7) ал • (ж2 + 2). 8) xi • A - ж2). 2.7. l)^([(rc 5) /i* 6) ^я(ж ^[л/i]J = ж + [(х 2.8. 2) /(я) = 1. 3) Функция /(ж) должна быть не определена при х = 0. 4) /(ж) всюду определена и принимает каждое значение из множест- ва{0, 1,2,...}. 2.9. 1) Не может. 2) Не могут. 2.13. 1) Не следует. Если же машины Т\ и Т2 правильно вычисляют примитивно рекурсивные функции /i и /2 (соответственно), то их компо- композиция TiT2 вычисляет (причем «правильным образом») функцию /2(/i(#)). 2) Не справедливо. 2.14. Да, вытекает. 2.16. 2)—8) Указание. Достаточно построить соответствующую су- суперпозицию над множеством, содержащим заданную функцию и подходя- подходящие функции из совокупности {0, 1, 2ж, ж2}. Например, для функции из задачи 5) имеем /(ж • I3) = /(ж). Затем надо провести рассуждение от противного. 2.17. Указание. Построить машину Тьюринга, вычисляющую сле- следующее общерекурсивное доопределение функции /(ж): '/(ж), если в точке ж функция /(ж) определена, \х, если в точке ж функция /(ж) не определена. 2.18. 1) Полной системой не является. 2), 3) Полная система. Глава VI 1.2. 1) Указание. Такой граф один. У него 5 вершин и 8 ребер. 2) Указание. Таких графов 3. 1.3. Указание. Таких графов 11. 1.5. 2) Указание. Таких графов 9. 1.6. Два. 1.7. Два. 1.8. 1) Не существует. 1.9. Имеется 5 допустимых наборов степеней вершин. 1.11. Указание. Набор степеней вершин у одного из таких п-вершин- ных графов имеет вид {1, 2, ..., п — 1, [п/2]}. 1.12. Для маршрутов четной длины утверждение неверно. 1.13. 2) Указание. Рассмотреть граф, состоящий из двух изолиро- изолированных вершин.
360 Ответы, указания, решения 1.16. Общего ребра может не быть. 1.20. 4) Так как в нетривиальном самодополнительном графе G имеют- имеются несмежные вершины (ибо он отличен от полного графа), то D(G) ^ 2. Далее, из задачи 1.19, 3) следует, что если D(G) ^ 4, то D(G) ^ 3. Но G — самодополнительный граф. Значит, он изоморфен Gr, а поэтому неравенст- неравенство D(G) ^ 4 выполняться не может. 1.21.Указание. В задачах 1)-3) удобнее строить дополнения искомых графов. 1) 9 графов. 3) 11 графов. 4) 5 графов. 1.24. Указание. Из теоремы Кёнига следует, что данный граф дву- двудольный. 1.27. Указание. Воспользоваться теоремой Эйлера (см. задачу 1.1). 1.28. 2) Указание. Для каждого п ^ 2 существует только одно такое дерево. 1.29. 2) Указание. Таких деревьев 4. 4) Указание. Таких деревьев 3. 1.30. 6 деревьев. 1.31. Такой граф один. Указание. Используя результат из задачи 1.19, 2), можно оценить сверху число вершин у такого графа. 1.34. На рис. 6.1, 6.3 и 6.4 изображены пары изоморфных графов. Указание. Полезно рассмотреть дополнения этих графов. 1.35. 1) Могут быть не изоморфными. 1.36. 1) В каждом из графов, изображенных на рис. 6.6, существует подграф, гомеоморфный К±. 2) В графе Петерсена (см. рис. 6.6, а) и в графе, изображенном на рис. 6.6, в, подграфов, гомеоморфных графу К$, нет. В графе, представлен- представленном на рис. 6.6, б, существует подграф, гомеоморфный К$. 1.38. 2) Можно применить индукцию по числу вершин в псевдографе. 1.39. 1) 4 орграфа. Односторонне связных четыре. Сильно связный один. 2) 4 орграфа. Сильно связных два. 3) 9 орграфов. Слабо связных четыре, односторонне связный один. 1.40. 1) 6 псевдографов. Сильно связный один. 2) 10 псевдографов. Слабо связных восемь, сильно связных два. 3) 8 псевдографов. Односторонне связный один. 1.41. 1) 6 графов. 2) 12 графов. 3)9 графов. 1.42. 2) 4 турнира. 1.43. Два турнира. 1.44. 1) 4 дерева. 2) 9 деревьев. 3) 15 деревьев. 1.47. Можно применить индукцию по числу дуг. 1.48. 2) Нельзя. 1.55. Можно применить индукцию по числу дуг. 1.58. Указание. Применить индукцию по числу вершин. 1.59. 1) Указание. Применить индукцию по к. 1.62. Указание. Для турнира с п вершинами v±, ..., ^выполняются п равенства ^^d+(vi) = —^ - и d+(vi) + d~(vi) = n — 1 (г = 1, ...,n).
Гл. VI. Графы и сети 361 §2 2.1. 1) Каждый из рассматриваемых графов содержит подграф, гомео- морфный графу Кз,з- 2) Каждый из графов, изображенных на рис. 6.6, а, в, содержит под- подграф, гомеоморфный графу Кз,з- У графа, приведенного на рис. 6.6, б, есть подграф, гомеоморфный К$. 2.2. а) При всех п ^ 2. б) Только при п = 2. 2.4. Таких графов четыре. 2.6. 3) Указание. Оценка для числа граней имеет вид 5/ ^ 2т. 4) Указание. Для получения противоречия оценивать число граней нужно достаточно тонко: / = /з + i>4, где /з — число граней, ограничен- ограниченных циклами длины 3, а /^4 — число остальных граней; З/з + 4/^4 ^ 2т. 2.7. 1) а), б) 2 вершины. 2) а) 3 ребра, б) 4 ребра, в) 2 ребра. 2.8. 1) Не существует. 2) Существует. 2.9. 6. Указание. Рассмотреть граф, получающийся из К$ после удаления одного ребра. 2.10. 1) Не существует. 2) Указание. Таких графов два. 2.11. Указание. Возможны следующие наборы степеней вершин у графа G2: D, 3, 3, 2) и C, 3, 3, 3). 2.18. Рис. 6.1: Х(<3) = 3, X'(G) = 3. Рис. 6.3: Х(<7) = 3, Х'(<7) = 4. Рис. 6.5, a: X(G) = 3, X'(G) = 3. Рис. 6.5, б: X(G) = 3, X'(G) = 3. Рис. 6.6, a: X(G) = 3, X'(G) = 4. Рис. 6.6, ? X(G) = 2, X'(G) = 4. Рис. 6.6, в: X(G)=4, X'(G) = 5. 2.19. 1)Х(В") = 2, X/(^n)=n. 2) X(ifn) = n; если n нечетно, то x'(^0 = n? если же п четное, то xf(Kn)=n-l. 3) х(Кт,п) = 2, x'(Krn,n) = max(m, n) = п. 2.21. Указание. Применить индукцию по числу вершин. 2.22. Указание. Можно применить индукцию по числу вершин. 2.23. Указание. Применить индукцию по числу вершин. §з 3.1. а) 0101001011. б) 00010010111011. в) 0000101110010111. г) 0000110100101111. д) 0010110100010111. 3.2. См. рис. 0.6.1. 3.3. 1), 4), 6) Да. 2) Нет, нарушено свойство 2. 4) Нет, нарушено свойство 1. 5) Нет, нарушено свойство 2. 3.4. 1) Классы разбиения имеют вид К± = {ai, Й4}, К2 = {cb, из, аь}. 3.5. Провести индукцию по числу ребер. 3.6. 1) Число деревьев с п ребрами не превосходит числа кодов, которые являются двоичными векторами длины 2п. 2) Учтено, что число единиц в коде дерева равно числу нулей. 3) Учтено, что первая координата кода есть 0, а последняя 1.
362 Ответы, указания, решения Рис. 0.6.1 3.8—3.10. Провести индукцию, опираясь на индуктивное определение корневого дерева. 3.11. a) z(T) = 2, R(T) = 2, D(T) = 3. б) z(T) = 1, R(T) = 2, D(T) = 4. в) z(T) = 1, R(T) = 3, D(T) = 5. 3.13. Следует из задачи 3.12, 5). 3.14. Указание. Провести индукцию по величине радиуса дерева. 3.15. 1) Например, простой цикл длины 21 + 1. 3.16. 1) См. рис. 0.6.2. 2) 15. 3.17. 1) На рис. 6.16, б, г — разложение s-типа; на рис. 6.16, а, д — разложение р-типа; на рис. 6.16, в, е — разложение //"-типа. 2) На рис. 0.6.3, а представлена внешняя сеть Fi(a, Ъ) s-расщепления а о Рис. 0.6.3 сети Г (а, 6), изображенной на рис. 6.16, а. На рис. 0.6.3, б, в, г представлены внутренние сети s-расщепления. 3.19. 1) Например, B, 5), C, 1). 2) A, 5), C, 4). 3) Например, B, 6). 4) {1, 5}. 5) {1, 5}. 3.20. 1) Первое из неравенств вытекает из того, что в неразложимой, сильно связной сети каждая внутренняя вершина имеет степень, не мень- меньшую 3, а каждый полюс имеет степень, не меньшую 2. Второе неравенство следует из того, что неразложимая n-вершинная сеть не имеет кратных ребер, а следовательно, число ребер меньше, чем у полного графа с п вершинами. 3.21. Через разделяющую вершину проходят все цепи. Поэтому она не может зависеть ни от какой неэквивалентной ей вершины. 3.22. Через вершину v, смежную с полюсами а, 6, проходит цепь из ребер (а, г;), (г;, Ь). Эта цепь не проходит через какую-либо другую внутреннюю вершину сети.
Гл. VI. Графы и сети 363 3.23. 1) Да. Рассмотреть суперпозицию, где внешней сетью является сеть Г^ (га > 1), а внутренние имеют вид Г^ (к > 1). 2) Да. Рассмотреть суперпозицию, где внешняя сеть есть сеть типа Г^ (га > 1), а внутренние имеют вид Г| (к > 1). 3) Да. Рассмотреть суперпозицию, где внешняя сеть есть Н-сеть, а внутренние сети имеют вид Г^ (к > 1). 3.26. Неверно. См., например, сеть, граф которой является полным n-вершинным (п > 3) графом. 3.27. n—i. При выборе в Вп в качестве полюсов вершин, находящихся на расстоянии 2, 3, ..., п, получаем неразложимые, попарно неизоморфные сети. 3.28. 1) Неверно, см. рис. 0.6.4, а. 2) Неверно, см. рис. 0.6.4, б. 3) Верно. 4) Да, достаточно. 6) См. рис. 0.6.4, в. 3.30. 1) Если при удалении некоторой вершины из сети последняя становится несвязной, то удаляемая вершина является разделяющей. Таких вершин в Н-сетж нет. 2) Верно. 3.31. Указание. Показать, что каждая внутренняя вершина получен- полученной сети минимальная, и использовать ответ к задаче 3.24. 3.32. См. рис. 0.6.5. 3.33. См. рис. 0.6.6. 3.38. Гангом вершины v сети Г(а, Ь) назовем расстояние v от а. Ребро сети, соединяющее вершину ранга г — 1 с вершиной ранга г, назовем Рис. 0.6.4 Рис. 0.6.5 Рис. 0.6.6 ребром уровня г. Заметим, что удаление всех ребер одного уровня, не пре- превосходящего /, делает сеть несвязной. Поэтому число ребер одного уровня не меньше /. Число уровней в сети длины / не меньше /. Отсюда вытекает утверждение.
364 Ответы, указания, решения Глава VII 1.1. 1), 3), 4), 6) Код С не обладает свойством префикса. 2), 5) Код обладает свойством префикса. 1.2. 1) Код не является однозначно декодируемым. Неоднозначно деко- i—II II—i дируемое слово: 01122 01. 2), 4), 5), 8) Код однозначно декодируемый. 3) 0010001001'. 6) plipllpoTT'21OO'. 7) 010210112 1.3. 1), 2), 4) Р является кодом одного сообщения. 3), 8) Р не является кодом сообщения. 5)-7) Р является кодом более чем одного сообщения. 1.4. 1) Решение. Пусть С {А) — множество двоичных разложений чи- чисел из А: С (А) = {1, 101, 110, 111, 1100, 1101, 10001}. Вычеркнув из С (А) слова 1 и 110, получим префиксный код. Вычеркиванием меньшего числа слов обойтись нельзя. Таким образом, для задачи а) В = А\{1, 6}. 2) а) В = А\{1, 3, 6, 8}; б) В = А\{1}. 3) а) В = А\{2, 6, 7, 8, 9}; б) В = А\{2, 7}. 4) а) В = А\{1, 2, 5}; б) В = А\{1, 2}. 1.5. 1) 1201012. 2) 0101010101010101010101010 3) 4) Если к = 4, то OlOld'lOi, если к > 4, то 01010101010. 5) 0A0)Я(^т'/г\ где Н(т, к) — наименьшее общее кратное чисел т и к. 6) A100)fe, если к = 3s, s = 1, 2 ...; в противном случае решений нет. 7) A01)^0 для всех к = 1, 2, ... 8) AЩк (к = 2s). 1.6. 1) с = {а, 6а, 66а, 666}. 2) с = {а, 6а, 666а, ббаб, 6666, ЪЪаа}. 3) с = {аб, 6а, 66а, 666, аааа, аааб, ааба, ааЬЬ}. 4) с = {аа, аб, 6а, ббаа, ббаб, 666а}. 1.7. 1) Нет, так как — + — + — + — = — >1. У 2 4 4 8 8 2) Да, так как - + ! + - + — < 1. 3) Да. 4) Да. 3 9 9 27 1.8. 1) Воспользуемся неравенством Макмиллана. Пусть U — длины ^ 1 ^ 1 \С\ кодовых слов кода С. Тогда У^ —г ^ У^ — = -—- > 1. Код не может быть однозначно декодируемым. 2) Нет, так как если бы код С был префиксным, то он был бы однознач- однозначно декодируемым. 1.9. Пусть код С(Е) с набором длин кодовых слов /i, /2, • • •, lr не являет- является декодируемым. Тогда в графе Gs существует контур или петля, проходя- проходящие через вершину Л. Число вершин (и дуг) в контуре не больше, чем г в графе Gs, и, следовательно, не больше 1 + \J (h — 1) = N — г + 1. г = 1
Гл. VII. Элементы теории кодирования 365 Идя вдоль контура от вершины Л, рассмотрим слова, приписанные паре (дуга — вершина, являющаяся концом дуги). Ясно, что суммарное количество букв для каждой такой пары не превосходит / и может быть равно / только для первой пары. Отсюда и вытекает утверждение. 1.10. Пусть С — алфавитный код с набором длин кодовых слов /i, /2 ... ..., /r, min_/; = к, max U = /, \J U = N. Из предыдущей задачи вытекает, что если код С не является однозначно декодируемым, то существует сло- слово в кодирующем алфавите длины не больше 1 + (JV — г + 1)(/ — 1) ^ JV7. Тогда в алфавите сообщений длина соответствующих слов будет не боль- больше Nl/k. 1.11. 1) Пусть / — максимальная из длин слов в М. Тогда для числа г слов в М имеем г ^ ^#г = • Отсюда / ^ logg(g + r(q — 1)) — 1. 2) Доля 6г слов длины, не превосходящей / = A — е) logg(l + r(q — 1)), не больше . Г(<1~1) 3^-2 1 /4\i-' Если г = 2, q = 2, то 8е ^ ^ - < (-) Если r^2, q^ 2 и г-д>4, то r(q — 1) ^ 3 и 1.15. 1) Утверждение вытекает из результата задачи 1.9. 2) Указание. Рассмотреть код С(Е) = {a, (ab)k+1, Fa)fe+2} (jfe ^ 1). Убедиться, что единственный контур в Gs, проходящий через Л, проходит последовательно через вершины (Ъа)к+1~гЪ, а(Ьа)г (г = 1, ..., к + 1), а / т \ JU2 _|_О Д, _1_О соответствующее этому контуру слово имеет вид (ао) ^ ^ а. 3mm §2 2.1. 1), 2) Например, С = {0, 10, 110, 111}. 3) Например, С = {00, 01, 10, 110, 111}. 2.2. 1) Например, С = {а, 6, са, сб, ее}. 2) Например, С = {а, 6, са, сб, сса, ccb, ссс}. 2.3. 1) Например, Р=<-; -; -; —; —; — >; оптимальным является код С = {0, 10, 110, 1110, 11110, 11111}. Решение. Проведем редукцию длин A, 2, 3, 4, 5, 5) —»¦ A, 2, 3, 4, 4) —»¦ ->• A, 2, 3, 3) ->• A, 2, 2) ->• A, 1). Двоичный код с набором длин A, 1), очевидно, существует и является единственным и оптимальным при лю- любом распределении вероятностей, например, при Р = (-• -J, С = {0, 1}. Проводя с набором Р преобразования, соответствующие переходу от набора длин A, 1) к исходному, и деля всякий раз соответствующую вероят- D fill 1 1 П ность появления слова пополам, приходим к .г = < —; —; —; —; —; — > 12 4 8 16 32 32 J и С = {0, 10, 110, 1110, 11110, 11111}.
366 Ответы, указания, решения 2) Например, Р = @,2; 0,2; 0,2; 0,2; 0,2); оптимальным является код С = {00, 01, 10, ПО, 111}. 3) Например, P={i; I; I; -L; 1; 1; 1}, С = {00, 01, 100, 101, 1100, 1101, 1110, 1111}. 5) Например, Р = {-; -; -; -}, С = {а, Ь, со, сб}. 10) Например, Р = \ -; -; -; -; -; -; -; - к С = {а, 6, со, сЬ, ее, Ы, ^ о о о о о о о о J da, db, dc, dd}. 2.4. 1), 3), 4), 8) Код оптимален. 2), 9), 10) Код не оптимален. 2.5. а) Деревья 2), 4), 8), 10) являются насыщенными, остальные не являются насыщенными. 6) Деревья 1), 2), 4), 8), 10) могут являться остовами оптимальных деревьев, остальные не могут. 2.6. 1) Утверждение верно. Всякий двоичный оптимальный код являет- является полным. 2) Вообще говоря, утверждение неверно (см. задачу 2.5, б), 1)). 3), 5) Утверждение верно. 4) Вообще говоря, неверно (см. задачу 2.5, б), 1)). 6) Утверждение верно. Доказать можно индукцией по числу концевых вершин. 2.7. 1*) Пусть С — полный g-значный код с длинами кодовых слов Л^ (г = 1, ..., га). Пусть Л = max А;. Из полноты кода С следует, что каждое г слово длины Л в алфавите В имеет префиксом (не обязательно собственным) некоторое кодовое слово. Число слов длины Л, имеющих префиксом слово Wi длины А;, равно qx~Xi. Если Wi и wj — два кодовых слова, то множес- множества В (wi) и В (wj) слов длины Л в алфавите В, имеющих префиксом кодовые слова Wi и wj, не пересекаются. Отсюда ^J q ~ l = q , что и требовалось доказать. 2) База индукции — двоичный оптимальный код с двумя сообщения- сообщениями. Индуктивный переход осуществляется с помощью теоремы редукции. 3) Для q > 2 утверждение, вообще говоря, неверно. Пример: q = 3, Р = <-] -; -; ->, С = {а, 6, са, cb}. Код С оптимальный, но не полный, так как З + З + 3~2 + 3~2 = 8/9 < 1. 2.8. Если для некоторого кодового слова w максимальной длины / не найдется слова, отличающегося от w последней буквой, то, не нарушая префиксности кода, можно заменить слово его префиксом длины / — 1, что противоречит оптимальности кода. 2.9. Указание. См. задачу 2.8. 2.10. 1), 4), 6) Нет, см. задачу 2.9. 2), 7), 8) Нет. Нарушено неравенство Макмиллана. 3), 5) Оптимальный код существует. 2.11. 1), 3), 5), 7), 9) Не существует. 2), 4), 6), 8), 10) Существует. 2.13. 1) Указание. Достаточно убедиться, что почти равномерный код можно построить в результате алгоритма Хаффмена.
Гл. VII. Элементы теории кодирования 367 2) Указание. Рассмотреть распределение Р= 1—+ е, —, ..., —, I v i \т т т — — е ), где е < —. т / 2т 2.14. 1) Указание. Провести доказательство индукцией по г с при- применением теоремы редукции. 2.15. Например, Р = ( -, -, .... -, -, ). 2.16. Базис индукции: т = 2. Утверждение очевидно. На шаге индук- индукции использовать задачу 2.14. 2.17. В процессе преобразования набора вероятностей неоднозначность может возникнуть при упорядочении вероятностей по невозрастанию. Если набор содержит г вероятностей, то разместить сумму наименьших двух вероятностей среди оставшихся г — 2 можно не более чем г — 1 способами. В процессе сопоставления вероятностям кодовых слов на каждом шаге имеется две возможности. Отсюда вытекает оценка. 2.18. 1) Число непустых слов длины не больше т — 1 равно 6m-i = = У^ q ^ . Число однозначных отображений букв алфавита А в *-^ о — 1 1<г<т слова в алфавите 5, \В\ = д, длины меньше г не превосходят qr . 2) а) Верно. б) Число тупиковых кодов мощности г не превосходят числа помеченных корневых деревьев с г висячими вершинами. Число непомеченных деревьев с г висячими вершинами не превосходит 4 г (см. гл. VI, задачи 3.6 и 3.10). Пометить ребра можно не более чем q2r способами. §з 3.1. 2) Вытекает из того, что \а — j\ ^ \а — /3\ + \/3 — j\ для всех а, C, 7 из {0, 1}. 6) Вытекает из того, что \а — /3\ = а + [3 — 2а[3 для всех а, [3 из {0, 1}. 3.2. 1) п-2п~1. 2) 2>? СО" оч (n-r\( r \ m + k-r 3)( ) I д. _ s Ь если s = — целое неотрицательное число. 3.4. 1) 2т. 2) 0, если г < т; 2т, если г = т; (П^Ш) *2т, если г = т + 2к ^ п; 0, если г = 2к + m — 1, А; = 0, 1,... или если г > п. 3) 0, если А; + г < m или если r + & = ra + 2<i—I, c? = 0, 1, ..., или если г + к > щ i™)) если к + г = гп] у ^т)(/с_^)? если А; + г = = m + 2d, d = 0, 1, ... 3.5. 1) Пусть существуют наборы а, /3, 7? удовлетворяющие условиям. Положим а1 = 0, ^ = /3 0 а, ? = 7®5. Ясно, что ||?|| > 2п/3 и ||е]| ^ 2п/3. Но тогда р(б, е) = p(J3, 7) <
368 Ответы, указания, решения 3.6. 3) При к = 0, п, а также при к = п/2 и четных п. 4) Пусть А — полная система. Рассмотрим систему уравнений р(йг, /Зъ) = п (г = 1, ..., &). Очевидно, что п G {0, 1, ..., п} (г = 1, ... ..., &). Каждый набор (п, гг, ..., г&), при котором система имеет решения, однозначно определяет некоторый вектор /3 Е ??п. Отсюда (п + 1)к ^ 2П. Верхняя оценка для числа векторов в базисной системе может быть по- получена из того, что система р(йг, C) = т% является системой линейных уравнений с п неизвестными. 6) Нижняя оценка вытекает из задачи 1) и оценки числа возрастающих цепей длины п — 1, верхняя — из задачи 4). Bn+i — 1\ 2п — 1 )-Указание- См. гл. , задачу 1.11. 3.10. 1) Рассмотреть 5"(а). 2) Например, А = {а: а € Вп, ||а|| четное}. 3.11. Индукция по п. При п=1 последовательность @), A) об- образует требуемый цикл в В1. Пусть ао, а±, ..., a<2n-i является циклом в Вп. Если а — набор в Вп, то обозначим через аа набор из 5n+1, полученный приписыванием символа а Е {0, 1} справа к набору а. Тог- Тогда последовательность йоО, aiO, ..., a2n-i0, a2n-il, • • •, c^il, aol является циклом в 5n+1. 3.12. 1), а), в), д), ж), з) Векторы а являются n-универсальными, в остальных случаях — нет. 3.13. 1) /B) =4, /C) = 6, /D) = 8. 3.14. 1) Нижняя оценка. Пусть а = A0... 0), Д= @1... 1), М = = {7 С В%: \\а 0 7|| = 1}, А± = {a} U М, А2 = 0} U М. Ясно, что ip(n) ^ ( 2) Нижняя оценка. Пусть Л = {(ai, ..., ап) Е 5П: а± = 1}. Ясно, что (р'(п) ^ |А| = 2П~1. Верхняя оценка. Если ||йП/3||^1 для любых а, /3 Е А С Бп, то Л не содержит противоположных наборов. Положив i = {a:aG A}, имеем iUiCB", Л П А = 0. Отсюда |А| ^ 2п~1. 3.16. (D.J. Kleitman.) Пусть ?(п, ?тг, /г) — число троек (а, /3, 7) та- таких, что а<Е В^ПА, J3 е В1 , 7 ^ вш+к и йиД=7, йпД=О. Тогда Отсюда вытекает требуемое неравенство. 3.17. 1) Шары радиуса t с центрами в кодовых словах не пересекаются тогда и только тогда, когда расстояние между двумя кодовыми словами не меньше 2? + 1. 3.18. 1) 3. 2) 4. 3) 3. 4) 4. 5) 4. 3.19. Указание. Использовать задачу 3.17. 3.20. 1) Обнаруживает одну ошибку и исправляет ноль ошибок. 2) п — 1 и . 3) — — 1 и — — - . J L 2 J У 3 L3 2J 4) Обнаруживает одну ошибку при четных п и ноль ошибок при нечет- нечетных п, исправляет ноль ошибок. 3.21. 1) 100110. 2) 110011. 3) 0011001. 4) 1010101. 5) 111001011011. 6) 0010110001111. 7) 1110000110011. 8) 000011110111011.
Гл. VII. Элементы теории кодирования 369 3.22. 1) 1. 2) 110. 3) 110. 4) ООН. 5) 0101. 6) 1101. 7) ООН. 8) 0111110. 9) 110110100. 10) 11110111101. 3.24. 1) д(х5) =~х\(х<2Х2,х±хь V" 2) д(хъ) = жз(ж4Ж5(ж1Ж2 V xix2) V 3.25. 1) Вообще говоря, нет. 2) Да. 3) Вообще говоря, нет. 3.26. Пусть Са = {(ai ...an) Е С: аг 0 ... ап = а}. Тогда Со и С\ яв- являются кодами, обнаруживающими одну ошибку, и тах{|Со|, \С\\} ^ |С|/2. 3.34. Пусть С С Вп — код с расстоянием с? + 1 и а Е Яп. Поло- Положим Са = {7 ^ ^П; 7 = & Ф A /3G С}. Тогда, если С является (п, с?)-кодом и /о(а, /3) ^ d, то Са П Сд = 0. Отсюда вытекает требуемое неравенство. 3.35. Утверждение вытекает из задачи 3.34 и из того, что /о(й, /3) < d для любых вершин а, /3 из (d — 1)-мерной грани куба Вп. 3.36. Неравенство следует из задачи 3.35 при С = Вп. 3.38. 2п-г. 3.39. Не существует. Имеем \S\47(а)\ = 148 при всех а Е ?147. Но 148 не является степенью двойки, что противоречит задаче 3.27. 3.41. Пусть в некотором эквидистантном (n, 2d + 1)-коде С содержатся три вершины а, /3, j. Без ограничения общности можно считать, что а = 0. Тогда ||/3|| = Ц7Ц = 2d-\- 1, а значит, р(/3, 7) — четное число, что противоречит условию. 3.42. Разобьем п координат на блоки величины d/2. Каждому блоку сопоставим набор, в котором единицы стоят в координатах, содержащихся в данном блоке. Полученное множество наборов образует эквидистантный (п, с?)-код мощности [2n/d]. 3.44. Указание. Использовать задачу 3.33, 5). 3.45. 1) Пусть С — максимальный (п, ?;, 2с?)-код. Тогда подмножество C(i) = С П В™'г является (п — 1, к — 1, 2с?)-кодом. Число пар (г, /3), где 1 ^ г ^ п , Р Е С(г) , не превосходит п • ?тг(п — 1, А; — 1, 2с?). С другой сто- стороны, для каждого набора [3 Е С существует ровно А; таких пар. Отсюда А; • ?тг(п, А;, 2с?) ^ п • т(п — 1, А; — 1, 2с?). С учетом того, что ?тг(п, А;, 2с?) — целое число, получаем требуемое неравенство. 2) Вытекает (применить индукцию) из задачи 1) с учетом того, что т(п - к + с? - 1, с? - 1, 2с?) = 1. §4 4.2. 1) а), в), г) Нет. б), д), е) Да. 2) а) {000, 111} U А. б) В^1. в), г) В3. д) A U {0000, 0010, 1101, 1111}. е) AU {0000, 0001, 1010, 1110}. 3) а) {101}. б) {100}. в), г) 0. д) {1001}. е) {1010}. 4.7. 1) а)-в) 2. г) 1. д)-ж) 4. 2) а) Я =[11]. б) Я* = Г^110 . в) я* = oiooo ' г) Я* = 101010 ч тт* _ 1001100 д) п - шоооо .0001111 4.11. d(C(M)) = 7. 24 Г. П. Гаврилов, А. А. Сапоженко
370 Ответы, указания, решения Глава VIII 1.1. 1) B0)з. Билеты неравноценны. Первый билет можно распределить 20-ю способами, второй — 19-ю, третий — 18-ю. 2) 203. 3) СB0, 3). 1.2. 1) 9!. 2) G(9, 3) • GF, 3). Первую шеренгу можно выбрать G(9, 3) способами, после чего вторую — GF, 3) способами. Пользуясь правилом произведения, получаем результат. 1.3. 1) Каждый из членов перестановки с повторениями можно выбрать независимо от других п способами. С использованием правила произведения получаем, что Р(п, г) = пг. 2) Из каждого (п, г)-сочетания без повторений путем перестановок можно получить г! различных (п, г)-перестановок, причем каждая (п, г)- перестановка может быть получена таким способом. Отсюда г! G(п, г) = = Р(п, г). Поскольку (см. пример 3) Р(п, г) = (п)г, то G(п, г) = (п)г/г\ = 3) Каждому (п, г)-сочетанию А с повторениями, составленному из эле- элементов множества U = {ai, ..., ап}, поставим в соответствие век- вектор а(А) длины п + г — 1 из г единиц и п — 1 нулей такой, что число нулей, находящихся между (г — 1)-й и г-й единицами, равно числу элемен- элементов а;, входящих в сочетание А (г = 2, ..., п), а число нулей, стоящих перед первой единицей (после (п— 1)-й единицы), равно числу элементов а± (соответственно элементов ап), входящих в сочетание А. Это соответствие между сочетаниями и векторами взаимно однозначно. С другой стороны, число векторов с п — 1 единицами и г нулями равно С(п + г — 1, п — 1), поскольку каждому такому вектору можно взаимно однозначно сопоставить сочетание из п + г — 1 элементов по п — 1. Отсюда с учетом результата предыдущей задачи получаем, что G(п, г) = ( п _ .. ). 1.4. 1) кп . 2) fci-fe-...-*„. 3) (™). 1.5. 1) 2mn. 2) Bm)n. 1.6. f j f j. Применяется правило произведения. 1.8. 1) 4(n —4). Масть карт можно выбрать четырьмя способами, после чего наименьший номер карты можно выбрать п — 4 способами. 2) 4п(п — 1). Выбрать номер четырех карт можно п способами, после чего оствшуюся карту можно выбрать 4(п — 1) способами. 3J4n(n-l). 4L(?). 5L5(n-4). 6LnDn2). 1.9. 2) 147. 2) 26. Число случаев выпадения одинаковых граней равно 6, число способов выпадения попарно различных граней равно ( „ ) =20. 3) 300 + 3002 +3003.
Гл. VIII. Элементы комбинаторики 371 1.11. 1) fn-tlm-D + iy 2) (" + »). 3) (" + + *). 1.12. 1) A+ ai)(l+ a2)...(l+ c*n). Каждому делителю р^.-.р^ (О ^ Pi ^ dij i = 1, ..., г) можно взаимно однозначно сопоставить век- вектор (/Зг, ..., /Зг). Далее см. задачу 1.4, 2). 2) 2Г. Каждому делителю ру- .. .р^7" числа п, не делящемуся на квадрат, можно сопоставить двоичный вектор (/Зг, ..., /Зг). Указание. Заметить, что после раскрытия скобок в выражении A + pi + ... + р^1)... A + рг + ...+ р^г) каждый делитель присутствует в качестве слагаемого суммы ровно один раз. 1 13 1) (п^\ — (n)fe — п! _ (п)п-к _ ( п \ )\к)~ к\ ~ к\(п-к)\ ~ (п-к)\ ~ \n-kj' Другое доказательство. Число (?) равно числу способов вы- выбора ^-элементного подмножества из U = {ai, ..., ап}. Но каждому ^-элементному подмножеству взаимно однозначно соответствует его допол- дополнение в U, являющееся (п — &)-элементным множеством. 1.15. 1) Решение. Положим ап-\ = — . Пусть уже определены коэффициенты ап-г, «п-2, ..., an-i- Тогда = \т - an-i(n - 1)! - ап-2(п - 2)! - ... - an-i(n - г)!1 an_(i+i) ^ (п — г — 1)! J' Единственность представления докажем от противного. Пусть неко- некоторому т соответствуют два вектора: а(т) = (аг, ..., OLn-i) и /3(т) = = (/Зг, ...,/Зп-г)- Пусть j — наибольший из номеров разрядов, в ко- которых векторы различаются. Без ограничения общности можно считать, что OLj < /3j. Имеем ri-i n-i J-1 з-i U — 7 fJ%l\ — 7 КХ%1. ^ \r'i — j )J — / UL%1\ -^ J. — 7 I ' I. ^ U. Пришли к противоречию. 2) 5D) = @, 2), 5A5) = A, 1, 2), 5C7) = A, 0, 2, 1). 3) /i@, 2, 0, 4) = 100, /i@, 2, 1) = 10, fi(l, 2, 3, 2) = 71. 4) «/B, 3, 1, 4) = 8, «/C, 5, 2, 1, 4) = 68, «/A, 3, 3, 5, 2) = 9. 5) Пусть задано число т. Представим его в виде т = а± • 1! + а.2 • 2! + ... ... + ап-г(п — 1)!, где ai ^ 1, 1 ^ г < п. Построение искомой подстанов- подстановки тг равносильно построению вектора (тгA), тгB), ..., тг(п)). Координа- Координаты tt(j) зададим по индукции. Положим тгA) = ап-\ + 1. Если коорди- координаты тгA), ..., n(j — 1) определены, то положим tt(j) = an-j + 1 + s(j), где s(j) — число тех п(к), 1 ^ к < j, для которых п(к) < ty(j). 6) 7Г7 = B, 1, 4, 3), 7Г18 = D, 1, 2^3), 7Г28 = B, 1, 5, 3, 4). 1.16. 1) Координаты вектора /3(т) = (/Зг, ..., /Зк) определяются сле- следующим образом: /Зг — наибольшее целое такое, что т ^ [ ^ )• Если 24*
372 Ответы, указания, решения /3i, ..., /Зъ уже определены, то /Зъ+i — наибольшее целое такое, что "»" И) " (/-l) "•••- (fc-^+l) * С?-*)' Единственность доказы- вается так же, как и в задаче 1.15, 1). 2) а) ДA9) = F, 4, 1, 0), так как Q) + (J) + Q) + (°). б) ДB5) = F, 3, 2). в) ДC2) = F, 5, 4, 1). 3) а) т = 18, так как т = Q) + B) + (?) = 23- б) т = 13. в) m = 10. 4) Сопоставим вектору а = (ai, ..., an) из 5^ сначала вектор /3 = = (/3i, ..., Ck), в котором Д + 1 является номером координаты (к — j + 1)-й слева единицы в наборе a, I ^ j ^ к. После этого полагаем г/(а) = ц(/3) + 1. Например, если a = A, 0, 0, 1, 0), то Д = C, 0), и (а) = цф) + 1 = 1.17. При п = 1 равенство A) проверяется непосредственно. Пусть равенство доказано для некоторого п ^ 1. Имеем Е (в Г>* = Е (B)? (l)t )tk + Y(i)tk+1 = (i + t)n + t(i + t)n = (i + t)n+1. / z-^ \kj v y v y v y k=0 k=0 1.18. 1) Положить t = 1 в A). 2) Положить t = -b(l). 3) Продифференцировать A) no t и положить t = 1. 4) Продифференцировать A) дважды и положить ? = 1. 5) С использованием 1) и 3) имеем п Е Bfc + fe=O fe=O fe=O 6) Проинтегрировать тождество A) по t от 0 до 1. 7) Проинтегрировать тождество A) по t от —1 до 0. 8) Провести индукцию по п с использованием задач 1.13, 2) и 1.17, 7). 9) Сравнить коэффициенты при th в левой и правой частях тождества 10) Положить в задаче 9) к = п = т. 11) Делением на f n ) свести задачу к задаче 10). 2) 4 Е Ш = (! + !)" + 0- + 0" + A + г2)" + A + г3)" = /г = 2П + A + г)п + A - г)п = 2п + (л/2)п fcos - + г sin -) " + V 4 4/ )" fcos - - г sin Л " = Т + 2п'2 ¦ 2 cos —. V 4 4 / 4
Гл. VIII. Элементы комбинаторики 373 3) > ехр <^ I/ И 1 + ехр ^ \ = 0 \ Г 2ш(тк + s) exp < v m-1 = y^ < m exp < — 1 m-1 J \ 2nir m <¦ m m-1 s=0 к m-1 = E E („Л .) E в последнем случае использовано тождество m-1 v \ = < ^ J ^ 0 Г 2тгт 1 I ^г, если п кратно ?тг, ехр <v \ = < I m J [Ов противном случае. 1.20. 2) - (A + л/3)п + A - л/3)п). z 1.21. 1) 4. Член разложения Ск0 • 2к/2 • 3B0~fe)/3 рационален в том и только том случае, когда к четно и 20 — к кратно 3, т.е. при к = 2, 8, 14, 20. 2) 13. 3) 9. 4) 6. (о \ , J A , где А = ?B — 3?), причем в разложение Ак входят степени t от к-ж до 2&-й. Степень t входит в А , А , А , А соответственно с коэффициентами Коэффициент при t9 является суммой этих величин и равен —30288. 2) -11340. 4) 0. 1 24 1) ^к + (^k-1 = (a)fe +fe(fl)fc-i _ (fl + l)fe } k\ (k-l)\ k\ k\ oo 2) Ряд -A(t) = 2_\ [ijt является рядом Маклорена функции f(t) = к=0 = A + t)a, поскольку -—р^- = f jM. Ряд A(t) сходится при \t\ < 1 и всех а по признаку Даламбера: а — к Пусть г/г(^) — остаточный член ряда (в форме Коши). Покажем, что —>- 0 при к —>- оо; тем самым равенство будет доказано. Имеем rk(t) = f(k+1\9t)(l -в)к^- = (а Здесь \ и )tk —>- 0 при к —>- оо, выражение аA + ^)а х ограничено и ) < 1 при 0 < в < 1, |?| < 1. Отсюда и следует, что lim rk(t) = 1 + ut / fe—^оо = 0.
374 Ответы, указания, решения §2 2.1. 1) Доказательство. При п = 1 JV0 = iV — JVi = So — Si , фор- формула A), очевидно, справедлива. Пусть формула справедлива для п — 1 свойств, и пусть iVji jfc — число предметов, не обладающих ни одним из свойств и, ..., ik- Имеем п-1 Эта формула справедлива и для совокупности предметов, обладающих свойством п: где JVy .. 7^irT,n — число предметов, обладающих свойством п, но не обла- обладающих ни одним из свойств 1, ..., п — 1. Ясно, что Вычитая формулу (**) из (*), получаем формулу A). 2) Формулу C) в соответствии с определением запишем следующим образом: Докажем, что каждый предмет, обладающий т свойствами, будет учтен в ней ровно один раз, а все другие — ни разу. В самом деле, элементы, обладающие s < m свойствами, не учитываются очевидным образом. Эле- Элемент, обладающий заданными s = т + t свойствами, будет учитываться во внутренней сумме ( т , , ) раз. Но n — m t с ., ± г\ E(_->\k(m + k\(m + t\ _ (m + t\sr^ ,_^k(t\ _ j l ПРИ * = °> ^ V \ m )\m + k) ~ \ m ) 2*. У l> \k) ~ \q при t > 0. Таким образом, в C) ровно по одному разу учитываются элементы, обла- обладающие в точности m свойствами, а остальные не учитываются. \s \s 3) Заметим, что iVm+i = JVm — JVm, и докажем D) индукцией по т. По определению Щ = N = So. Тогда JVi = So - (So - Si + S2 - ...) = n = \J (—1) ~XSk- Тем самым D) выполняется для т = 1. Пусть тождест- к = 1 во D) справедливо при некотором т ^ 1. Тогда п — т AT AT AT AT \^ ( л\к((т-1 + к\ (ТП + к\\ Q Nm+i=NNm-Nm= 2^ (-1) {{ m-l )-{ m )) S™+k = k=0 n—(m + 1) k-i (m — 1 + k\ 1 + k\ Q ( m ) k=l k=0
Гл. VIII. Элементы комбинаторики 375 2.2. Общее число способов выдачи шляп равно 4! = 24. Вероятность то- того, что ровно т человек получат свои шляпы, равна 7Vm/4!, где 7Vm опреде- определяется формулой C) при п = 4. Имеем JV0 = So — Si + ?2 — S3 + S4 = 4! — - 4 - 3! + 6 • 2! - 4 - 1! + 1 = 9, р0 = 3/8; JVi = Si - 2S2 + 3S3 - 4S4 = 4 • 3! - -2-6-2!+ 3-4-4-1 = 8, Pl = 1/3, p2 = 1/4, p3 = 0, p4 = 1/24. 2.3. 1) Число распределений предметов, при которых данные к ящиков остаются пустыми, равно (п — &)r, Sk = f ^ J (n — А;)г. Остается применить формулу A). п — т 2) 5m+fc = (тп+ к)(п - т - k)r, E(r,n,m) = Nm = J2 Ы)" ("*,? *) * к 3) Использовать формулу D) задачи 2.1, 3). 2.4. Указание. Использовать круги Эйлера. 1) 20%. 2) 60%. 3) 70%. 2.5. 1) 2. 2) 6. 3) 3. 2.6. 2) 457. Используя формулу A), получаем Si = 675, S2 = 141, S3 = 9, No = 457. 3) 734. 4) Имеем N = So = 30m, Si = 10m, S2 = 3m, S3 = m, JV0 = So - Si + + S2 - S3 = 22m. 2.7. 1) 3n. Каждый элемент независимо от распределения других эле- элементов может принадлежать одному из множеств *) XY± XY или X Y. 2) п-2п. Один элемент из U принадлежит множеству XY U XY. Осталь- Остальные элементы принадлежат одному_ из множеств XY или X Y. 3) Зп. Равенство X U YZ = X U Y равносильно равенству XY U U XYZ = U. Таким образом, каждый_элемент из U содержится ровно в одном из трех множеств XYZ, XY Z, XYZ. 4) Зп - (п + 2JП + п(п + 1) + 1. 5) пBп - 2п). 2.9. 4п V (-1 §з 3.1. 1) Индукция. Числа а<э, ai, ..., a^-i определены по следующему условию: если все члены at при г ^ п уже определены, то с помощью A) получаем an+i = -р\ап -P2an-i - ••• -pkQ>n-k+i- 2) Требуется показать, что с\п+к + pic\n+k~1 + ... + ркс\п = 0, или, что то же самое, с\п(Хк + piXk~x + ... + Рк) = 0. Поскольку Л является корнем многочлена B), то выражение в скобках обращается в 0. 3) То, что ап = ciXi + ... + CkXfr удовлетворяет соотношению A), сле- следует из задачи 2) и из того, что если последовательности ап и Ъп удов- *) Выражение «элемент v принадлежит множеству ХУ» здесь и да- далее понимается в смысле v ? X П (U\Y), а v G XY равносильно v G 6 (U\X) П (U\Y).
376 Ответы, указания, решения летворяют соотношению A), то и последовательность dn = аап + /ЗЬп ему удовлетворяет при всех а и [3. Покажем теперь, что любая последовательность ап, удовлетворяю- удовлетворяющая A), может быть представлена в виде ап = ciAf + ... + с^А^, где Ci — подходящие константы. В силу задачи 1) любая последователь- последовательность ап, удовлетворяющая A), полностью определяется своими первыми членами а<э, ai, ..., au-i- Таким образом, остается показать, что для лю- любых а<э, ..., ctk-i существуют ci, ..., си такие, что с\ + с2 + ... + ск = a0, + С2Л2 + ... + (*) ~ + + Ck\Z = ttfe Определитель системы (*) является определителем Вандермонда (см.: Курош А.Г. Курс высшей алгебры. — Изд. 6. — М.: Физматгиз, 1959). Он равен ТТ (А; — Xj) и не обращается в нуль, если А; ф Xj при г ф j . Следовательно, система (*) имеет (и притом единственное) решение. 4) Чтобы показать, что вякая последовательность указанного в усло- условии вида удовлетворяет A), достаточно показать, что последовательность ап = ппгХп, где А — корень кратности г > m многочлена B), удовлетво- удовлетворяет A). Подставляя as = smXs (s = n, ..., n + k) в левую часть A) и полагая ро = 1, получаем L(n) = (n + k)m\n+k +Pl{n + k- l^A11"^-1 + ... +Pknm\n = (к j=0 к () где Р;(ж) = V^pj(A; — j)lx ~<7'. Заметим, что Р<э(ж) = P(%)j где Р — мно- i=o гочлен B). Поскольку А является r-кратным корнем многочлена Ро, то Ро(ж) = (ж — X)rQo(x)j где Qo — некоторый многочлен. Нетрудно прове- проверить, что Pi+\(x) = х — Pi(x). Поэтому Pi = (х — X)r~lQi(x), где Qi — dx многочлен. Отсюда следует, что Pi (А) = 0 при всех % < г. Следователь- Следовательно, L(A) = 0. Тем самым A) выполнено для последовательности птпХп при m < г, а тем самым и для последовательностей указанного в условии вида. Докажем теперь, что любая последовательность an, удовлетворяющая A) при условии, что Xi является корнем кратности Г{ (% = 1, ..., s) много- многочлена B), имеет вид, указанный в формулировке задачи. При этом без ограничения общности будем полагать, что рк ф 0, т.е. что нуль не яв- является корнем характеристического многочлена. (Если рк = 0, то можно упростить A).) Для доказательства (см. решение задачи 3)) достаточно
Гл. VIII. Элементы комбинаторики 377 показать, что для любых а<э, ai, ..., au-i система ci,i + ... + cs,i = ao, (ci,i +ci,2 + ... + ci,ri)Ai + ... + (cs,i + ... + с5,Га)Л5 = ai, (ci,i + ci>2(fc - 1) + ... + Cl>ri (Л - l)ri )At-x + ... ... + (ce,i + cs,2(/c - 1) + ... + cs,rs (A; - 1)Гв)Л*~1 = afe_i имеет решение. Для этого достаточно показать, что ее определитель не равен нулю, или что векторы Ло, ..., Л&_1, где Л; = (А|, i\\, ..., гГ1 Ai, ... ..., А*, гА*, ..., iTsХг3) (г = 0, ..., к — 1), линейно независимы. Предполо- Предположим противное. Тогда существуют константы do, d\, ..., dk-i, не все рав- к-1 ные нулю, такие, что Л = doAo + ... + dk-ihk-i = 0. Пусть Q(x) = ^ ^жг г=0 и А — оператор такой, что А/(ж) = ж—. Положим Акf = А(А/г~1/). Тогда Л = (Q(Ai), AQ(Ai), ..., A^-1Q(A1), ..., Q(Ae), ..., A^-1Q(AS)). Заметим, что Q(A) = AQ(A) = ... = Ar 1Q(X) при А = О тогда и только тогда, когда А является корнем кратности г многочлена Q(x). Таким образом, Л = 0 означает, что Ai является корнем кратности п, А2 яв- является корнем кратности г2, наконец, Xs является корнем кратности rs многочлена Q(x). Но п + г2 + ... + rs = ?;, а C(ж) является многочленом степени меньше А; и, следовательно, не может иметь к корней. Пришли к противоречию. Таким образом, система (*) имеет и притом единственное решение. 3.2. 1) а + с2 • Зп. Характеристический многочлен х2 — 4ж + 3 имеет корни Ai = 1 и А2 = 3. С использованием задачи 3.1, 3) получаем общее решение ciAJ+c2A5. 2) ci(-3)"/2 + с2(-1П-ЗГ/2. 3) ci((l + л/5)/2)Л + с2(A - у/Е)/2)п. 4) (-l)n(ci + С2п). 5) (ci + с2п)(-4)п + с3(-2)п. 6) (-l)n(ci +c2n + c3n2). 3.3. 1) 7 + Зп. Общее решение а + с2 • Зп (см. задачу 3.2, 1)). Из началь- начальных условий имеем с\ + Зс2 = 10, х\ + 9с2 = 16. Отсюда ci = 7, с2 = 1, ап = 7 + Зп. 2) Зп + (л/^Т)п + (-л/^Т)п. 3) а +с2п + с3(-2)п, где ci = A4 - Ь - 4с)/9, с2 = F + с - 2о)/3, сз = BЬ-с-о)/18. 4) cos an. Корнями характеристического многочлена являются Ai,2 = = е га = cos a d= sin a. Общее решение an = ciAJ + c2A5. Из равенств а\ = = cos a, a2 = cos 2a находим c\ = c2 = 1/2. Отсюда an = (A? + A5)/2 = = cos an. 5) l-(-l)n. 6) 3n(l+n). 3.4. 1) Подставляя an + b в C) вместо an, получаем, что a(n + 2) + 6 + + p(a(n + 1) + b) + g(an + b) = an + C. Сравнивая коэффициенты при п в левой и правой частях, а также свободные члены, получаем, что а = = a/(l+p + q), b=((l+p + q)C-aB+p))/(l+p + qJ.
378 Ответы, указания, решения 2) Из того, что х = 1 является корнем многочлена х2 + рх + q , сле- следует, что р = —1 — q. Подставляя п(ап + Ь) вместо ап в равенство ап+2 + i — (р + 1)ап = ап +/3, получаем, что а = а/B(р + 2)); 6 = 2 3) Поскольку х = 1 является кратным корнем многочлена ж2 + рх + д, то р = 2, qr = 1. Подставляя п2(ап + 6) вместо ап в равенство ап+2+ + 2an+i + ап = ап + /3 и сравнивая коэффициенты при п3, п2, п, п°, полу- получаем, что коэффициенты при п3 и п2 равны 0 и а = а/6, 6 = (/3 — а)/2. 4) общее решение для задачи 1) ап = ciA? + C2X2 + cm/(l + (/3(l + g+p)-a(p + 2))/(l+p + gJ), где ЛA>2) = (-р ± д// для задачи 2) ап = а(-р - 1)п + с2 + ап/B(р + 2)) + B/3(р + 2) - а(р± ±4))/2(р + 2J); для задачи 3) ап = п2((ап/6) + (/3 - а)/2) + сщ + с2. 3.5. 1) an = l+f!M- Общее решение рекуррентного соотношения an+i — ап = 0 есть произвольная константа с. Частное решение соотноше- соотношения 1) будем искать в виде а^ = п(ап-\-Ь). Подставляя его в соотноше- соотношение 1), получаем, что а*п = п(п — 1)/2. Общее решение соотношения 1) име- имеет вид ап = пп + с. Из условия а± = 1 находим, что с = 1, а следовательно, о„ = 1 + п(п- 1)/2. 2) an = 2(—4)п — 3 • 2П + 5П. Общее решение однородного соотноше- соотношения an+2 + 2an+i — 8an = 0 имеет вид ci(—4)n + с2 • 2П. Частное решение неоднородного соотношения 2) будем искать в виде а^ =с?-5п. Подстав- Подставляя а* вместо а% (% = n, n + 1, п + 2) в соотношение 2), получаем, что с? = 1. Общее решение неоднородного соотношения 2) ci(—4)п + с2 • 2П + 5П; из начальных условий находим, что с\ = 2, с2 = — 3. 1. 4)^- + |(-2Г+п^. 5J-3(п2-п + 8). 3.6. 1) Невырожденным является случай, когда либо q\ ф 0, либо /?2 ф Ф 0. Если gi = р2 = 0, то, очевидно, ап = cipj, 6n = C2(/?• Пусть gi / 0. Тогда 6n = l/(gi(an+i -pian)), 6n+i = l/(gi(an+i -pian+i))- Подстав- Подставляя 6n+i и Ъп во второе соотношение, получаем an+2 + (—pi — ^2)an+i + + 0?1(/2 — P2qi)an = 0. Задача сведена к задаче 3.1. а) ап = E + 2п) • 2П, 6П = -A + 2п) • 2П. 3.7. 1) Индукция по п. При п = 2 соотношение F2+m = FiFm + Fm+i = Fm + Fm+i верно для всех т ^ 1. Индуктивный переход - п + 1: Fn+i+m = Fn+m + .Рп+т_1 = Fn-iFm + FnFm+i + Fn-2Fm + n_iFm+i = FnFm + Fn+iFm+i. 2) Провести индукцию по ?;. 3) Если бы Fn+i и Fn имели общий делитель d > 1, то и Fn_i и Fn имели бы тот же общий делитель, поскольку Fn-\ = Fn+i — Fn. По индук- индукции отсюда вытекало бы, что и F\ и F2 имели бы делитель с?. 4) Способ представления. Если N = 2, то JV = F2 + F\. Ес- Если N > 2, то выбираем наибольшее ni такое, что Fni ^ N, затем наи- наибольшее П2 такое, что Fn2 ^ N — Fni , и т. д. Тогда N = Fni + Fn2 + ... Поскольку Fn+i > Fn при n > 1, то представление не может содержать двух чисел с одним и тем же индексом п > 2. Представление не может содержать двух соседних чисел Fn и Fn+i, поскольку Fn + Fn+i = Fn+2,
Гл. VIII. Элементы комбинаторики 379 и, значит, на том шаге, когда было выбрано Fn+i, должно было быть выбрано Fn+2- 5) Общее решение рекуррентного соотношения Fn+2 = Fn+\ + Fn дано в задаче 3.2. 3) Используя начальные условия, получаем результат. 6), 7) Доказательство индукцией по п. 8) Применяя дважды тождество из задачи 1), имеем Fzn = Fn-iF2n + FnF2n+i = Fn-i(Fn-iFn + FnFn+i) + Fn(Fn + Fn+1) = = Fn_1Fn + Fn-iFnFn-i + Fn + i^n+if^n+i — Fn-i) = 77l3 , 7-тЗ i 7-t2 t-t t-t T-t2 Т-тЗ i 7-тЗ — ^n + 1 T ^n + ^п-1-Гп — ^n + l^n-1 — ^n + 1 + ^n ~~ 3.8. 1) A - t). 2) 1 + t + ... + tN = (tN+1 - 1)I{t - 1). 3)(l-a^)-1. 4) eat. 5)A + ^)-1. 6)t(l-t)~2. 7) 2t2(l -1)~ 8) A + t)m. 9) A + t)a. 10) t(t + 1)A - ^)-3. 11) ^sina(l - 2^cosa + ^2)~1. 12) A -tcosa)(l - 2tcosa + t2)'1. oo oo 3.9. 1) e*. По определению E(t) = ^J —— = ^J —. Этот ряд схо- сходится к е*. п=0 П' П=°П' 2) eat. 3) te*. 4) ^2е*. 5) A + t)m. По определению E(t) = ^ ^^ = ^ (^)Г = A + ^)п. 6)e\t2+t). п=° П' п=° 3.10. 1)-6) Сравнить коэффициенты при tk. 3.11. 1) (™)qm-npn. 2I. 3)(-1)"A/2). 4)(-l \k)\n-m-kr) )- 8) (п-™2) • 2" - (п-™з) • 2»-3. 9) (-l)»-^. 10) -— . Воспользуемся тем, что / = arctg?. Имеем 2п — 1 J 1 + х2 оо 0 A -\- х )~ = ^ (—1)пж п. Интегрируя левую и правую части в пределах П=0 ^ ,_1)nt2n + l от 0 до ?, получаем, что arctg? = у п=0 11) ^^^ -• . Указание. / . J 2 • 4 • ... • 2n 2n + 1 J Vl - о C_2)n/2 12) при четных п и 0 при нечетных п. (п/2)! (_1)п/2 13) —— при четных п и 0 при нечетных п. У (п/2 + 1)! Р Р
380 Ответы, указания, решения 3.12 1) Сравним коэффициенты при tn~1 в тождестве ( * A +t)~rn~2 = (I +t)n~rn~2. С одной стороны, этот коэффициент равен Jl J=2A) UJU Jacflpyr(MI 2) Рассмотреть тождество A -\-t)m{l — t)m = A — t2)m и сравнить ко- коэффициенты при t2n. 3) Рассмотреть тождество A — t'1)™ * A — ^)~п~1 = (—l)mt~m(l — _^m-n-i и коэффициенты при tk~m. 4) Рассмотреть тождество (A + t)n + A - t)nJ = A + *Jn + 2A - t2)n + + A — ?Jn и коэффициенты при t2m. 5) Рассмотреть тождество (A + ?)~п~1 + A — ^)~п~1)(A + ?)~п~1 — - A - ^)"п) = A + t)-2n~2 - A - t)-2n~2 и коэффициенты при t2n+1. 6) Рассмотреть тождество A - tJn(l + 2*A - t)~2)n = A + ^2)п и ко- коэффициенты при ?2т. оо оо °° оо оо О.±О. lj х±\ЪJ — > Unl' — / Ъ I С Jb UX — I С > уХЪ) UX — п=0 п=0 ' о О П=о оо = fe-xE(xt)dx. оо оо J 2) fe~xext dx = r^—t Ге~и du = A - t)'1. ° о о 3) Для последовательности ип из условия имеем tn = У(п),Г, E(t)= V ^-tn = V ОО Г7 fexE(xt)dx = Далее, = Е 3.14. 1) Воспользоваться тождеством A + t)a+h = A + t)a • A + ^)ь. Сравнивая коэффициенты при tn, получаем, что Умножая обе части на п!, получаем доказываемое равенство. 2) Положим а7 = а//г, Ь' = 6//г. Применяя тождество, доказанное в задаче 1),ка'и&', получаем, что (а' + b')n = \J ( ? j (a')n-k(h')k- Умножая обе части на /гп, получаем доказываемое тождество (ибо (a')s • hs = (a)s,h)-
Гл. VIII. Элементы комбинаторики 381 3.15. 1) Умножим равенство ап = Ъп — Ъп-\ на tn и просуммируем по п. оо оо В области сходимости рядов \J antn и \J bntn справедливы тождества оо оо п=0 оо п=0 оо ^2 antn = ^(Ьп- Ъп-г)гп = Y, bntn - Y1 К-1Г = ВШг - *)• п=0 п=0 п=0 п = 1 2) Умножим равенство ап = 6n+i — 6П на tn+1 и просуммируем по п в пределах от 0 до оо. Получим tA(t) = B(t) — bo — tB(t). 3) Заметим, что bn = an-i — ап. Отсюда B(t) = — A(t)(l — t) + a_i, причем a_i = 5A). 4) Умножая равенство an = nbn на ^п и суммируя, получаем A(t) = 5) Аналогично задаче 4). 6) Сравним коэффициенты при tn в равенстве A(t) = A — t)~kB(t). Этот коэффициент для левой части равен по определению an, а для правой 3=0 j=0 оо оо 7) Имеем B(t1/2) = J^ bntn/\ B(-t1/2) = J^ (-l)nbntn/2. Умножая n=0 n=0 сумму этих рядов на 1/2, получаем п=0 п=0 8) Заметим, что bn = an+i — ап. Теперь равенство A(t) = B(t) • t • A — —1)~ вытекает из задачи 2). 3.16. 1) Первый способ. Пусть C(t) — производящая функция по- последовательности 1, 0, 0, ... По условию C(t) = A(t) • B(t). Следова- Следовательно, должны выполняться равенства 1 = aofro, 0 = aobi + п О = 2_\ an-ibij • • • Поскольку ап = (т ), то для всех п = 1, 2,... г=0 п У^ (п_^)^г=0и f ^ J6o = 1 для п = 0. Последовательно находим Ьо = 1, г=0 bi =—т, &2 = ггг(?тг + 1)/2, 6з = — ?тг(?тг + 1)(т + 2)/6. Индукцией по п нетрудно показать, что Ьп = ( mj. Таким образом, B(t) = A + t)~m. Второй способ. A(t) = (l + ?)m, B(t) = [А(г)]-г = A + ^)"т. Отсю- 7 {—т\ да b-={ n )¦ 2) 60 = 1, fei = —а, 6П = 0 при п > 1, 5(^) = 1 — at. Имеем А(?) = = ^ (a^)n = A-а^), а поскольку A(t)B(t) = l, то B(t) = 1 - о*. 3) Ъ0 = Ь2 = 1, bi = -2, 6П = 0 (п > 2), B(t) = A - tf. 4) 62n = (-i)n, ь2п+1 = о (п ^ о), B(t) = (l +12)-1. 5) bo = bi = l, B(t) = l+t. 6) bn=
382 Ответы, указания, решения 3.17. 1) Умножая на tn+2 и суммируя, получаем A(t) = a\t — ао + + ptA(t) - paot + qA(t)t2. C~\ C9 2) Представим Ait) в виде + . Найдя с\ и c2, получим 1 \\t 1 A2? • — . Найдя коэффициент Ai — Л2 V 1 — Ait 1 — A2? / при tn в разложении A(t) в ряд по степеням ?, получим выражение для ап. 3) Представим A(t) в виде + - —. Из равенства + 1 — Ли A — Ли) 1 — Ли с2 ао + (ai , о + (ГГх^ = A-Л^ НаИДбМ' ЧТ° Cl = "Т + 2в0' С2 = Т " в0- оо Разлагая -A(t) в ряд, получаем A(t) = ^J (ciAn + C2(n + 1) • An)tn, an = n=0 3.18. 1) Указание. Использовать тождество из задачи 1.15, 3). 2) Умножим каждое из соотношений задачи 1) на tn+1 и просуммируем по п от 0 до оо. С использованием начальных условий получаем соотноше- соотношения между производящими функциями. 3) \~* * - 3* + Л* ' ~^> 1 - 3* + *2 ¦ 4) Корнями уравнения 1 — 3? + ? =0 являются Ai = и А2 = = . Выразим A(t) в виде А(?) = —-— + . Поскольку A(t) = 2 1 — \\t 1 — \2t 1 -1 = — -, то приравняв правые части, получим равенство A - Ait) • A - A2t) a(l-\2t)+b(l-\it) = l-t. Отсюда а = Al ~ * = Х + ^ - л/б, 6 = Ai - А2 2 = 1-а=^Ы.л/5. Таким образом, A(t) = -±= (^ ^ 2 W 2>/5^1 л/5. Таким образом, A(t) = (+ 2 W 2>/5^1-Ait l-\2t Аналогично находим #(?) = ^^ f — J. Разлагая A(t) и S(f) в ряд по степеням t, получаем, что ап = By/5)~1((l + л/5)А? + (л/5 — 1)A5), 6П = (л/5)~1(А? — Л5). С учетом неравенств 0 < А2 < Ai получаем, что v л-п 1 + v5 ,. 7 л_п 1 hm ап • Хг = ^, lim Ъп • лг = —=. п—>-оо 2\/5 п—)-оо у5 п—>-оо ^, li 2\/5 п 3.19. 1) Умножая на tn и суммируя исходное соотношение, получаем A(t) -а0 =tA2(t). 2) Имеем = B0-41 - A - 4о1/2) = B0 A-Е (-1)" CL2) D*)п) = ^ п=0 / () ^ п=1 п=0 3) Умножая на tn и суммируя по п, получаем для производящей функ- оо ции A(t) = 2_^ °>ntn функциональное уравнение A2(t) = ABt). Будем ис- п=0
Гл. VIII. Элементы комбинаторики 383 кать его решение в виде A(t) = eat. Эта функция, очевидно, удовлетворяет функциональному уравнению. Учитывая, что а± = 1, находим, что а = 1, откуда ап = 1/п!. Единственность решения вытекает из исходных соотно- соотношений. 3.20. 1) Пронумеруем вершины (п + 2)-угольника числами 1,2,... ..., п + 2 по часовой стрелке. Возможны два случая. Первый случай. Через вершину п + 2 не проходит ни одна диаго- диагональ. Тогда должна существовать диагональ между вершинами 1 и п+ 1, а число способов разбиения равно ап-\. Второй случай. Существует диагональ, исходящая из верши- вершины п + 2. Пусть к — наименьший номер такой, что вершина к + 1 сое- соединена диагональю с вершиной п + 2. Если А; ^ 2, то существует диаго- диагональ вида A, /с + 1). Тогда число разбиений исходного (п + 2)-угольника равно числу разбиений (к + 1)-угольника с вершинами 1, 2, ..., & + 1, ум- умноженному на число разбиений (п — к + 2)-угольника с вершинами А; + 1, А; + 2, ..., п + 2, т. е. равно ak-ian-k B ^ к ^ п). Естественно считать, п что ао = 1. Тогда имеем an = YJafc_ian_fc. Так же, как в задаче 3.19, 1 Bп\ к=1 находим, что ап = . п + 1 V п / 2) ап = ( П ). Решается аналогично задаче 1). п + 1 V п / 3.21. 1) п!. 2) (-1)п-7(п-1)!. 3) I2 • З2 • ... • (п — 2J/п! при нечетных п, 0 при четных п. 4) 0 при нечетных п, (—1)п/2 • 2~п((п/2)!)~1 при четных п. 5) (—l)^^2?^2 при нечетных п, 0 при четных п. 6) an = Fnj где {Fn} = 1, 1, 2, 3 — последовательность Фибоначчи. Докажем сначала, что если последовательность {ап} удовлетворяет соот- соотношению an+2 = an+i + an, ao = a\ = 1, (*) то она удовлетворяет соотношению an+1 — anan+2 = (—l)n , ao = ai = 1. (**) При n = 0, 1 утверждение справедливо. Индуктивный переход: an+2 — &n+ian+3 = an+2 ~~ &n+i(an+2 + &n+i) = = ап+2(ап+2 — an+\) — a2+1 = an+2an — a2+1 = (—l)n+2. Таким образом, {Fn} удовлетворяет (**). Других решений соотноше- соотношение (**) не имеет в силу того, что (**) вместе с начальными условиями определяет ап единственным образом. 3.22. 1) Умножая рекуррентное соотношение на tk и суммируя по ?;, получаем, что A — t)An(t) = An+i(t). 2) Поскольку a@, 0) = 1 и a@, к) = 0 при всех к > 0, то Ao(t) = 1. Ин- Индукцией по п с использованием задачи 1) получаем, что An{t) = A — t)~n. 3) Разлагая а(п, к) в ряд, получаем, что а(п, к) = ( ,nJ(—l)fe = _ (n + k- 1\ ~\ к )• 3.23. 1) 20. 3) 6. 3) 10.
384 Ответы, указания, решения 3.24. 1) A(t) = A - t2)-1 • A - г3) • A - t5)-1. оо 3.25. 1) Заметим, что A(qt) = JJA - qk+1 • t) = A(t)(l - qt)'1 и, сле- k=i довательно, A(t) = A(qt)(l + qt). Коэффициент при tn в левой части равен по определению ап, в правой anqn — an-iqn~1. Отсюда индукцией по п получаем, что ап = qn^n+1^2 Y[(qk - I) (n = 1, 2, ..., a0 = 1). k=0 2) См. решение задачи 3.24, 1). 3.26. 1), 2) S(n, M + l) = Е(-1Г v=0 x (n + 1 + /)fc = -J2 (-l)n+1- (n + X) (v !. fe> 0 + s(n>fe' o- i/=0 = (n + l)?)(w, k, 1) + n^(n - 1, /c, /). 4) Доказательство индукцией по А; с использованием задачи 3). Для лю- п бых / и п > 1 имеем #(п, 0, /) = ^J {—1)п~и ( ™ ) =0. Пусть утверждение верно для некоторого к ^ 0, любых п > /с и любых /. Пусть /с + 1 < п. Из задачи 3) имеем Б(щ к + 1, I) = (п + 1)Б(щ к, I) + п*5'(п — 1, А;, /). Пос- Поскольку к < п— 1, то в силу предположения индукции #(п, к, I) = = 5(п — 1, А;, /) = 0 и, следовательно, ?(п, А; + 1, /) = 0. 5) Индукция по п. Имеем 5@, 0, I) = 1° = 1 = 0!. Пусть 5(п, п, /) = п! для некоторого п ^ 0 и всех /. Используя задачи 3) и 4), получаем 5(п + 1, п + 1, /) = (п + 1 + l)S(n + 1, п, /) + (п + 1M(п, п, /) = = (п + 1M(п, п, /) = (п + 1)!. 6) Индукция по А;. В силу задачи 5) имеем S(n, n, I) = п! > 0 при всех п и всех /. Пусть S(n, А;, I) ^ 0 для некоторого к > п ж любых пи/. Воспользовавшись задачей 3), имеем ?(п, А; + 1, /) = (n + l)S(n, A;, /) + + п5(п-1, А;, I) > 0. 7) Вытекает из задач 1), 2) и 6). 8) Вытекает из задач 3) и 5). 9) Может быть выведено из задач 3) и 4) индукцией по А;. 3.27. 1) В силу задачи 3.26, 9) имеем <n(t) = ^5A, к, 0)tn = ^У = к=0 к=1 = ?A — t)~x. Далее в силу задачи 3.26, 3) имеем S(n, к + 1) = nS(n, к) +
Гл. VIII. Элементы комбинаторики 385 + nS(n— 1, к). Умножая обе части равенства на tk+1 и суммируя по ?;, получаем an(t)(l — nt) = ntan-i(t). Теперь утверждение доказывается ин- индукцией по п. 2) При п = 1 правые части формул из задач 1) и 2) для ап совпа- п дают. Если будет доказано, что для an(t) = t ^ (—1)п~кк( ^ J A — Ы)~г к = 1 справедливо рекуррентное соотношение an-i(t) = (A — nt)/(nt)) • an(t), то утверждение будет вытекать из него по индукции. Имеем — X^ (_i)n-k(n - г\ г ~nt — Х^ (_i)n-k(n - г\ (\ _ (n ~k)t\ _ / j ^ ' \k — 1/1 kt v k=l k=l n-1 , , ч n-1 k=i k=i /ч = CTn-l(t). §4 4.1. 1) @, 0, 0, 1). 2) B, 1, 0, 0). 3) @, 0, 2, 0, 0, 0). 4) B, 0, 0, 0, 0, 1, 0, 0). 4.2. Транспозицию элементов i и j обозначим парой (г, j). Тогда B,3,4,1) = A, 2)B, 3)C,4), D, 2, 3,1) = A,4)A, 2)A,3), C, 4, 5, 6, 1, 2) = = A, 5)B, 6)C, 5)D, 6), (8, 2, 1, 7, 4, 6, 3, 5) = A, 3)A, 7)D, 5)D, 8)A, 4). 4.3. 1) Существуют четыре поворота квадрата в плоскости, перево- переводящие квадрат в себя: на 0°, на 90°, на 180°, на 270°. Этим поворотом соответствуют подстановки A, 2, 3, 4), B, 3, 4, 1), C, 4, 1, 2), D, 1, 2, 3). Первая из подстановок имеет тип D, 0, 0, 0), остальные — тип @, 0, 0, 1). Цикловой индекс: P<-(?i, ?2, ?3, ?4) = (t\ + 31*)/4. 2) Кроме подстановок задачи 1) появляются еще четыре: A, 4, 3, 2), C, 2, 1, 4), B, 1, 4, 3), D, 3, 2, 1), соответствующие поворотам квадрата вокруг диагоналей и осей. Две из них имеют тип B, 1, 0, 0), а две другие — тип @, 0, 0, 1). Отсюда PG = (t\ + 3t4 + 2t\t2 + 2*|)/8. 3) Существует 12 вращений тетраэдра: тождественное; восемь враще- вращений на 120° вокруг оси, проходящей через вершину и середину противо- противоположной грани; три вращения вокруг оси, проходящей через середины противоположных ребер. Отсюда Pg = (t\ + 8М3 + | 4) PG = (t\ + 8tj + 3tit22)/12. 5) PG = (t\ 6) PG = (*? + ЗМ2 + 2*3)/6. 7) Pg = (tf + 4.4. 1) Докажем это утверждение непосредственно и с помощью леммы Бернсайда. Группа G состоит из подстановок т = A, 2, 3, 4), 7Г2 = B, 3, 4, 1), тгз = C, 4, 1, 2), 7Г4 = D, 1, 2, 3). Непосредственно видно, что для любой пары 1 ^ г, j; ^ 4 существует подстановка тт такая, что тг; = j. Таким образом, все элементы эквивалентны. Имеется один класс эквива- эквивалентности. Теперь получим тот же результат с помощью леммы Бернсай- Бернсайда. Имеем \G\ = 4, 6i(tti) = 4, b±(ttj) = 0 при г = 2, 3, 4. Отсюда z'(Gr) = = D + 0 + 0 + 0)/4 = 1. 2) Заметим, что элементы 1 и 2 переводятся один в другой переста- перестановкой тгз, а перестановка 7Г2 переводит друг в друга элементы 3 и 4, 25 Г. П. Гаврилов, А. А. Сапоженко
386 Ответы, указания, решения но ни одна из перестановок не переводит элементы множества {1, 2} в элементы множества {3, 4}. Таким образом, имеются две орбиты. Приме- Применим лемму Бернсайда: \G\ = 4, 6i(tti) = 4, 61(^2) = Ь(пз) = 2, 6i(tt4) = 0, v{G) = D + 2 + 2 + 0)/4 = 2. 4.5. Требуется доказать, что \G\v(G) = ^&i(tt), где \G\ — порядок tt?G (число элементов) группы G, v{G) — число классов G-эквивалентности (орбит) на множестве Zn, Ь\ (тг) — число элементов, которые подстановка тг оставляет на месте. Положим Gy^x = {тг Е G: пу = х}. Если М С Zn — некоторая орбита и ж Е М, то G = (J Gy^x. При этом, очевидно, Gv^x П ж = 0 при v фу. Заметим, что |Gу-^ж| = |GЖ-^Ж|, если у ~ х, т.е. если |/ принадлежит той же орбите, что и ж. В самом деле, если а Е Gy^x И Сж^ж = {ТП, . . . , 7Гт}, ТО {СГТП, . . . , СГ7Гт} Е Су^ж, Причем (ТТЛ ф (JTTj при % ф j. С другой стороны, если Gy^x = {cri, ..., cr&} и сг Е Gy^Xj то {cr^cri, ..., сг^} С Gx^x и cr^V; / cr~lcri ПРИ * / i- Отсюда вытекает, что |СУ^Ж| = |СЖ^Ж|. Пусть теперь Mi, ..., Mv(yG^ — орбиты и Xi E М^. Т WG) ,(G) biW= E ig~*i = e E ig.^nEignigi-ko- 4.6. 1) Каждую подстановку тг из ^п, имеющую тип b = F1, 62, ..., Ьп), можно представить в виде произведения циклов так, чтобы длины циклов не убывали: тг = (п)(г2)... (гь1)(«ь1+1, «Ьх+г) • • • Две такие записи могут задавать, вообще говоря, одну и ту же подстановку. Это может произойти в двух случаях: а) когда одинаковые циклы стоят в этих записях на разных местах; б) когда циклы хотя и равны (как циклы подстановки), но их записи начинаются с разных элементов (например, A 2 3) и B 3 1)). Первая при- п чина приводит к повторению одной и той же подстановки I I &&!, вторая — п к = 1 к повторению J^J к к раз. Эти причины действуют независимо. k=i 2) По определению имеем ь тге#(ь) 3) Имеем 2 3 ^ °° Коэффициент при хп равен сумме по всевозможным целым неотрицатель- неотрицательным числам &i, &2, ... таким, что Ъ\ + 2&2 + ... + пЪп = п, слагаемых п оо , оо (
Гл. VIII. Элементы комбинаторики 387 4.7. Заметим, что цикл четной длины является нечетной подстановкой, а цикл нечетной длины — четной подстановкой. В выражение Psn(t\, —?2, ..., (—l)n~1tn) каждая нечетная подстановка типа (bi, ..., Ьп) дает вклад, равный — ггг ... thnn, а в выражение Psn(ti, ..., tn) — вклад, рав- равный t^ .. Лпп. Поэтому слагаемые правой части доказываемого равенства, соответствующие нечетным подстановкам, взаимно уничтожаются, а сла- слагаемые, соответствующие четным подстановкам, удваиваются. Кроме того, как легко видеть, \Ап\ = \Sn\/2 = (n!)/2. Отсюда и вытекает утверждение. 4.8. 1), 2) Очевидно. 3) По определению Pg- 4.9. 1) 20. Ожерелье из семи бусин можно окрасить в два цвета 27 = 128 способами. Имеется множество G из семи различных поворотов тп., ..., 7Г7, переводящих ожерелье в себя. Тип тождественной перестановки есть G, 0, 0, 0, 0, 0, 0), тип каждой из остальных подстановок имеет вид @, 0, 0, 0, 0, 0, 1). Цикловой индекс есть Pg(?i, • • • ? ?7) = (t[ + 6^7)/7. По теореме Пойа число различных классов эквивалентности равно PgB, 2, 2, 2, 2, 2, 2) = 20. 2) Цикловой индекс есть P(?i, ..., tn) = (?? + (n — l)tn)/n. Число оже- ожерелий равно Р(&, ...,&) = (&п + (п — 1)к)/п. 4.10. 1) Цикловой индекс равен (см. задачу 4.3, 3)) Pg = (^1 + 8Мз + + 3?§)/12. По теореме Пойа число окрасок равно PgB, 2, 2, 2) = 5. 2) Цикловой индекс Pg найден в задаче 4.3, 9). Число окрасок рав- равно PgC, 3, 3, 3, 3, 3) = 57. 3) Пусть М — множество граней куба, G — группа вращений, N — множество, состоящее из трех цветов: красного, синего и белого. Придадим вес х красному цвету, вес у синему и z белому. Цикловой индекс (см. за- задачу 4.3, 8)) есть PG = (t\ + ?>t\t\ + 6^4 + 6t% + 8t§)/24. По теореме Пойа перечисляющий ряд для функций равен Pg(/i, /2, /з, /4), где fk—xk-\- + yk + zk (к = 1, 2, 3, 4). Таким образом, Pg(/i, /2, /3, /4) = ^ ((ж + ?/ + + *N + 3(ж + 2/ + zJ(x2 + ?/2 + *2J + 6(ж + 2/ + zJ(x4 + ?/4 + *4) + 6(ж2 + + 2/2 + z2K + 8(ж3 + у3 + ?3J). Число различных окрасок, при которых три грани окрашены в красный цвет, две — в синий и одна — в белый, равно коэффициенту C3,2,i(Pg) при x3y2zl в Pg(/i, /2, /з, /4). Имеем 4.11. Pg(Nj JV, ..., JV). Следует из теоремы Пойа. 4.14. 1), 2) Пусть тг — некоторая подстановка из п элементов, имею- имеющая к циклов. Элемент п в ней может образовывать единичный цикл. Тогда такой перестановке можно взаимно однозначно поставить в соответствие перестановку из п — 1 элементов с к — 1 циклами (число таковых рав- равно р(п — к, к — 1)). Если элемент п не образует единичного цикла, то перестановка тг может быть получена из некоторой подстановки из п — 1 элементов с к циклами каждая путем включения элемента в некоторый цикл. Для фиксированной перестановки на п — 1 элементах с к циклами такое включение можно провести п — 1 способами (ставить элемент п на первое место нельзя, так как п — наибольший элемент). Отсюда следует, что Р(п, к) = р(п — 1, к — 1) + р(п — 1, к) • (п — 1). Умножая равенство на tk и суммируя по ?;, получаем соотношение между производящими функ- функциями 9n(t) = (t + n — l)9n-i(t). Отсюда по индукции с учетом равенст- равенства pi(t) = t получаем, что 2^n(^) = t(t + 1)... (t + n — 1). 25*
388 Ответы, указания, решения §5 5.1. 1) Заметим, что п ^ (г + 1)(п - г) < ((п + 1)/2J при 0 ^ г < п. Отсюда пп/2^ п (i+i)(«-«K«u^ П (*+1)(«-о 2) Заметить, что (г + 1)Bп — г) ^ п(п + 1). 3) Имеем (l + ±)" = ? ©""Ч Е±< 2 + ? ? < 3. fe=O fe=O ' fe = l 4) Индукция по п. При п = 1 неравенство верно. Если (п/3)п < п!, то ((n + l)/3)n+1 = (n/3)n((n + l)/n)n ^ (см. 3)) ^ (n/3)n(n + 1) ^ (п + 1)!. 5) Заметив, что (n!J ^ Bп)! • 2~п, воспользоваться результатом за- задачи 2). 6) Использовать неравенство Коши ^/а±а2 .. .аи ^ (&i + а 2 + ... + аи)/к, cti ^ 0, и тот факт, что среднее арифметическое множителей, стоящих в 2 v^ -2 2п +1 левой части неравенства, равно — > г = . п(п + 1) ^ 3 7) Положив ап = Bп — 1) у/ЗгГ+ТBп!!)~1, показать, что а^+х/а^ < 1. Далее провести индукцию по п. оо k п 8) Заметить, что гBп — г) < п2 при г < п. 9) еп = V^ — > —. t' k- n! n! 10) При п = 1 неравенство очевидно. Предположим, что A + а) > > 1 + an для всех —1 ^ а и некоторого п ^ 1. Тогда A + ot)n+1 = = A + а)A + а)п ^ A + а)A + ап) = 1 + а(п + 1) + а2п ^ 1 + а(п + 1). 11) Разложив обе части неравенства по формуле бинома Ньютона, срав- сравним члены разложения с одинаковыми номерами. Имеем l7ljn~k = = (п + 1)(п + 1Гк при fc = 0,l. Далее, (^)n"fc/(n +к 1) (п + 1)~к = = A — к/(п + 1))A — 1/(п + 1))к. В силу задачи 10) отношение не превос- превосходит 1. Таким образом, каждое слагаемое разложения A + 1/п)п не пре- превосходит соответствующего слагаемого из разложения A + 1/(п + 1)) . Кроме того, в последнем разложении имеется еще (п + 2)-е слагаемое, равное (п + l)~(n+1) > 0. Отсюда и вытекает строгое неравенство. 5.2. 1) Положим пк = ( — ) / ( ? ) и убедимся, что —— при V/c + lz/V^/ пк к ^ 1. С учетом того, что а± ^ 1, отсюда следует первое неравенство. Второе вытекает из задачи 5.1, 3). — J ^ ^—^— при 1 ^ к ^ п. Второе неравенство можно получить, рассмотрев отношение fe+1, где аи = (?)A;fe(n — k)n~kn~n. Имеем = A + (n — к — 1) 1)n 1A + -) . Поскольку A + — ) монотон- монотонен V V J J V kJ J V mJ но возрастает с ростом т (см. задачу 5.1, 11)), то —— ^ 1 при к ^ . dfc 2 Отсюда с учетом того, что а± < 1 , вытекает справедливость неравенст-
Гл. VIII. Элементы комбинаторики 389 > ва аи < 1 для к ^ . Для к > — неравенство вытекает из соображений симметрии. 3) Первое неравенство докажем индукцией по п. При п = 1 неравенство верно. Предполагая его справедливость при некотором п ^ 1, имеем л/п + 1 • п 2 \/га + 1 Второе неравенство можно доказать по индукции с использованием зада- задачи 5.1, 7). 5.3. 1) Bп - 1)!! = Bп)!(п!) • 2"п - - Л/2тгBп)BпJпе-2пBтгп)-1/2п-пеп • 2~п - л/2п™е-™ • 2П. 2) f2n) = Bп)!(п!)-2 , xn-2n22nsinGrn)-1/2.4n. 5) Bn)!!(Bn-I)!!) = Bn)!(Bn-1)!!)~2. Далее можно использовать формулу Стирлинга и результат задачи 1). 1 5.4. 1) /A + t)n dt = -^— A + t)n+1 = —— - —?—. С другой сто- у j у у га + 1 " -11 -11 о о га + 1 га + 1 1 п о о к=0 к=0 о fe=0 2) Воспользовавшись результатом задачи 1.19, 3), имеем fc-1 1 о» 2 Заметим, что | exp {—2niriy/k}\ = 1 и exp {—11 = 1 + cos + г sin 7Г1У ( 7Г1У . . 7Г1У\ I 2 cos — cos — + г sin — 1=2 к V /с /с / I '. 2 cos —. Отсюда k-i Е« 3) Воспользоваться результатом задачи 1.20, 1) и заметить, что 1+ае2пи/к\ ^ l-a + 2acos— < 1 + а при 0 < i/ < A;. 4) С использованием задач 1.18, 9) и 5.3, 2) получаем ,fn\2 k=l 1 /гГ „
390 Ответы, указания, решения 5.5. 1) Да. Справедливость неравенств следует из того, что ( , )а 2) Нет. Контрпримером может служить последовательность {bk} такая, что bk = 2 • 3~k при к четном, bk = 3~fe при к нечетном. Полагая а = 1/3 и с = 2/3, имеем 0 < ак ^ bk < ск < 1. Однако в силу задачи 1.22, 1) по- получаем k=0 п 5.6. 1) Имеем Da = -Y* (сц-а)^- V (<ц - оJ ^ ^*2. Отсю- п^^ п *-^_ да 6t ^ Da/t . 2) Рассмотрим множество А = {ао, ai, ..., a,2n-i}, в котором аи — число единиц в двоичном векторе а = (ai, ..., ап), имеющем номер v. Заметим, что а = 2~п V^ av = 2~n \J ^( fc ) = ~* Заметим, далее, что 0<2™ 0<fe2 число, стоящее в левой части доказываемого неравенства, равно числу тех аи, для которых \аи — а\ ^ t у/п. В силу задачи 1) это число не пре- превосходит Da/(t л/пJ. Но 2"Da= J2 К"«J= Е (a^-«2) = -2V+ ^ к2 () + (п2 + пJп-2 = п2п-\ Таким образом, 2nDa/(t л/пJ = 2n~2/t2. 3) Оценка снизу. Положим t = Inn. С учетом задачи 2) имеем 1 V к\) U> (n/2 + tv^) fe = l к: \k-n/2\<ty/n \k-n/2\<ty/n 4 / _ 2-Х 2-+2 ^ (n-4tVnJ V р ) ~ п2 ' Оценка сверху. Заметим сначала, что (/!)<( —) в силу зада- чи 5.2,1) и (^^/A) = п_к + 1 <1 ПРИ fe^^-Поэтому к: \k-n/2\>ty/n 2П < п~2 • 2П+2.
Гл. VIII. Элементы комбинаторики 391 5.7. 1) Используя формулу B), имеем Гп\ = у^ппA + ОA/п)) W y/2irk(n-k)kk(n-k)n-k' y/2irk(n-k)kk(n-k)n Положим х = п/2 — к\ тогда полученное выражение можно переписать в виде / ч [к 2x\ ( 2x\ ( 2x\n/2~x ( 2аЛп/2+Я5 2тгпA i + _ i X + n J \ n J V Имеем, далее, nl2~x 2ж\п/2+ж1 (п \, Л 2ж ^г) J = (^ -жIп С1 - ^г Отсюда , г ехр < — }. 4) Положим Ж1 = ж + 2 л/lnn, А;(ж) = . Тогда а + 1 и>к(хг) отсюда, что < (г)/^! + а)"+1 ехр {-|} = Ho \J ( п )аи ^п(п )аио, где г/о =]к(х\)[. В силу задачи 2) получаем = п1/2Bтг)-1/2A + а)п+1 ехр {-^ - х л/hT^ - 2 Inn} п-3/2Bтг)-1/2A + а)п+1е-ж2/2 - ж л/hT^. (*) С другой стороны, из задачи 3) следует, что 22 Ua - Из (*) и (**) вытекает искомая оценка. 5.8. 1) Используя неравенство B) и вытекающее из него неравенст- неравенство п! > л/2тгпппе~п, получаем -n+ —-J 12 J ei/(i2n) -Лп -fin} y/2wn\jl XXn ^n ' h
392 Ответы, указания, решения С другой стороны, л/2тгппп ехр {—п} 2тгп y/Xjj, (Хп)Хп (цп)^п ехр < — An — /m -\ \- 1 12/хга 12An J -1 Gr(?7., 2) Нижняя оценка вытекает из решения задачи 1). Для получения верхней оценки, воспользовавшись неравенствами B), имеем L 1 1 1 1 Ы ~ 12Хп ~ 12цп + 360(AnK + 360(/mK Без ограничения общности можно считать, что А ^ а. Тогда < , Yin Yl\n а Х ¦ Х G(n, Л). 3) Используя нижнюю оценку из задачи 2), получаем ( ? j > G(n, A) x хехр< >. Но ехр{-A2пА/х)~1} ^ ехр{-Cп)~1} ^ ехр{--| > > при п ^ 3, ехр < — - > > . При п = 2 и An = /m = 1 выполняется равенство. 4) Верхняя оценка а)() к=Хп г=1 5) Неравенство легко проверяется в случаях, когда б) An = п — 1 (левая часть есть п + 1, а правая равна ( J nJ; в) 3 ^ п ^ 5, n/2 < An < п — 1 (непосредственно). Пусть теперь п ^ 5 и n/2 < An ^ n — 2. Из задач 4) и 1) следует, что А1/2BА - 1)-1BтгпA - А)Г1/2А-Л>-^П. Положим /(А) = А1/2BА - 1)~1BтгпA - Л))~1/2. Требуется показать, что /(А) < 1 при A G [1/2 + е, (п — 2)/п], где е = 1/п при четных п и 1/Bп) при нечетных п. Дифференцируя по А, замечаем, что функция /(Л) выпукла вниз на исследуемом сегменте. Поэтому максимальные значения следует искать на концах сегмента. Имеем = (A - 4е2) • 2ппГ^2 < ((l - 1| при всех п ^ 5.
Гл. VIII. Элементы комбинаторики 393 Рассмотрим правый конец интервала: при п ^ 6. Если Л < 1/2, то fjb = l-X> 1/2. 6) Поскольку ( !М = ( ™ , J, то с использованием задачи 5) полу- чаем,ЧТо - - г» н0 г=0 oo k-1 X—^ 1 X—^ k-1 к 2) Очевидно, что (п)к ^ nk. С другой стороны, (п)к = П г= > (п-к)к =пк{\- (-))fe ^пк{\- —) - (так как /с = o(>/n)) -оA)). fc-1 3) Воспользуемся тем (см. задачу 5.13, 2)), что У^^ = (у + 1) г = 1 + О(ки). Отсюда в силу задачи 1) имеем при к —»¦ оо и А; = о(п) = nk exp j - = n exp <^ - > — — + О - - I ~; ^г/(г/ + 1)пп \z/ Vn Ho ^ i/(i/ + l)n^ ^ i/(i/ + l)n^ v = \ i/ = l i v{y /b\ \n) ^—> к Z^ nv — /_^ \п) '" \nJ 1-к/п Отсюда и следует искомое равенство. 4) Следует воспользоваться задачей 3) при т = 3. 5.10. 1) В силу задач 1.13, 6) и 5.9, 1) имеем fn-s\ I (п\ {к)8 fk\a 2) Использовать задачу 5.9, 3).
394 Ответы, указания, решения 5.11. 1) Имеем (n-s\/(n\ (п V к )/\к) ( ехр < у - s)k п)к In (l \ хр < к-1 г=0 S п — г 2-*i п г=0 Г 1 V п )\ = 1 — г s ) г ) , к-1 оо s2y^ 1 г=0 ^П %' 1 ( s \\ v\n-i) J С использованием задачи 5.12 имеем fc-i fc-i 1 (^\ Ё 0 при v > 2. Отсюда вытекает требуемая оценка. 2) Вытекает из задачи 1). 3) Указание. Использовать решение задачи 1) с учетом неравенств к — 1 оо , ч 2 ^ ^ v \п - г) ^ (га - /с + IJ ^ ' г=0 i/ = 2 Ч 7 V ' ^—> 1 П 1 ^—' п — i ^ п — к -\- 1 п — /с + 1' г=0 -1пA -а) ^ а + а2 при 0 ^ а ^ 1/2, 1пГ1—^ m т—1 5.12. Указание. Сумма \J /(А;) является верхней, a \J f(k) — т нижней интегральной суммой для / /(ж) с?ж. п 5.13. 1) Имеем (см. задачу 5.12) гп гп х х 2_] In к ^ / In ж с?ж + In m, / In ж с?ж = ж In ж — / с?ж = ж In ж — ж + 1. k=i 1 1 1 Отсюда п V~^ In А; ^ ?тг In т — т + 1 + In m. fc=i
Гл. VIII. Элементы комбинаторики 395 С другой стороны (см. задачу 5.12), т ™ 2~2 In & ^ I \nxdx = т\пт — т + 1. k=i [ 2)-7) Аналогично задаче 1). 5.14. 1) Индукция по п. При п = 1 имеем рг = р0 — ар$ = 1 — а. От- Отсюда 0 < р\ < 1. Пусть 0 < ?>п < 1 для некоторого п ^ 1. Тогда pn+i = = рп — ар% = рпA — ар^~г). Поскольку 0 < а < 1, /3 > 1, 0 < рп < 1, то и 0 <рп+1 < 1. 2) Следует из того, что pn+i — Рп = —<^Рп < 0. 3) Оценка сверху. Имеем к~1в = 1- Отсюда в аРк-1 ¦ Отсюда р^~^ ^ 1 + а(/3 — 1)п, или, что то же самое, рп<A + а(/3-1)пI/A-/3). (*) Оценка снизу. Из (*) и из рекуррентного соотношения рп = = Pn-i(l — ap^l}) следует, что Pn/pn-i ^ 1 - «/A + a(f3 - 1)(п - 1)). (**) Далее, «(/31) {^ fel % Заметим, что из (**) следует, что Рк ^ Pk-ii)-— ol) при 1 ^ к ^]л/п[ и р/. ^ Pfe-i(l — (с/у/п)) при А; >]у/п[, где с — константа. Отсюда с учетом того, что (Pk-i - Рк)I\<xPk-i) = !> получаем п V^ Рк-1 - Рк < V^ Рк-1 ~Рк , V^ Рк-1 ~Рк < ^ (аA - а)) С учетом (***) получаем, что при [3 > 1 Отсюда рп ^ (а(Р — 1)(п-\-О(у/п))I^1~^. Таким образом, при п —»¦ оо
396 Ответы, указания, решения 5.15. 1) Перепишем уравнение в виде x = \nt — 1п(ж) (*). Посколь- Поскольку t —>- оо, то можно считать, что t > е, и, следовательно, ж > 1. Тогда из (*) вытекает, что х < In t, т.е. 1 < ж < Int. Отсюда In ж = O(lnlnt). Та- Таким образом, х = lnt + O(lnlnt) при t —»¦ оо. Логарифмируя, находим, что 1пж = 1п1п* + 1п (l + ofi^D =Ыпг + о(^Л . Подставляя в (*), V Vint// Vint/ получаем новое приближение х = In t — In In ? + О I j. Вновь логариф- логарифмируя и подставляя результат в правую часть (*), получим еще одно приближение, дающее требуемую точность (см.: Де Брейн Н.Г. Асимпто- Асимптотические методы в анализе. — М.: ИЛ, 1961). 2) Поскольку t —>- оо, то и х —»¦ оо. Поэтому ех < t, или, что то же са- самое, х < Int. Отсюда ех = t — In ж > t — In lnt и *-^ v V v = \ С использованием этого неравенства получаем х л 1 Л In lnt „ //lnlntV е = t - In ж < t - In In t - + Oil V t \\ t J i Л In lnt ^/ 1 /lnlnt\2\\ л л _ /lnlnt\ = t-lnlnt-ln 1 hO = t-lnlnt + O . V tint \lnt \ t J JJ V tint / Прологарифмировав, получаем ж < In t - In In t + О = In t + In 1 h О — = V Vtlnt/y V t \t2lntJJ Верхняя и нижняя оценки совпадают с требуемой точностью. 5.16. Указание. Показать сначала, что f(t) = O(t) при t —»¦ оо. Тогда исходное равенство можно будет записать в виде е*^' =t-\-o(t). Пользуясь этим неравенством, показать, что /(t) = ОA), и преобразовать исходное равенство в etf^ =t + ОA). Наконец, доказать, что f(t) = — + 5.17. 1) Разложим A(t) на простые дроби: A(t) = —^— + —-— + ... Ai — t A2 — t Cm ... + + 5(t), где B(t) — многочлен. Для нахождения коэффициен- коэффициента с\ умножим А(%) на Ai — t. Тогда (Ai — t) A(t) = —^ -. (t - A2)... (t - Am) При t = Ai левая часть равна ci, а правая —, • Таким образом, с\ = = ——-—^-. Аналогично можно вычислить и коэффициенты с; (г = 2, ... ...,?тг). Дробь — можно разложить в геометрическую прогрес-
Гл. VIII. Элементы комбинаторики 397 , \ —1 ОО / t \ \Г^ I t сию ( 1 — — = у — At. / ^-^ V At. к/ п=0 Ч кJ с-± Отсюда для больших п имеем ап ~ —\-г + —^ + ... + 2) Рассмотрим сначала случай, когда P(t) не имеет корней, кроме Ai, a Q(t) имеет степень меньшую, чем степень P(t), и Ai не является кор- нем Q(t). Тогда P(t) = (t - Ai)r, Q(t) = ^g*^. Разложение Р^) по г=0 степеням имеет вид r-l Отсюда an = (-l)rA~(r+n) J^gi Г "^ Л \[. В общем случае + /J , где A\(t) — многочлен, Q3(t) — многочлен степени мень- 8 = 1 (*Ав) ше rS' В этом случае асимптотическое значение для ап определяется коэф- коэффициентом при tn в разложении дроби Qi(t)/(t — Ai)ri. Задача сводится к уже рассмотренной. 5.18. 1) 2 • Зп. Воспользуемся результатами задачи 5.17, 1). Многочлен Pi(t) = 3t2 — 4t + 1 имеет корни Ai = - и \2 = 1. Положим Q(t) = -A + ?), о о P(t) = t2 - -t+-. Тогда о о 4/9 „+i_ „  -2- 2/3-4/3 2) an ~ I —— ( — ) ). Наименьший по модулю корень многочле- на 6t2 + 5^ — 6 равен 2/3. Используя задачу 5.17, 1), получаем результат. 3) ап ~ ^-А g)+). 4) a2n =0, a2n+1 ~ 5) Указание. 6^4 - 17^3 + 35^2 - 22^ + 4 = 6 (* - i) ^ - i) (* - 1 + -1 -гл/3), an - |-• Зп. 6) Ji2n+1. J 15 7) Г~2)(л/3-1)"п. Корни уравнения ^2 + It - 2 есть Ai = л/3 — 1, 2 = — л/3 — 1. Представив A(t) в виде at + Ь ct + d t-XxJ + (t-A2J'
398 Ответы, указания, решения найдем методом неопределенных коэффициентов, что а = 0, b = 1. С ис- использованием задачи 5.17, 2) получим, что а>п = (—1) Ах п — J I ). Наименьший по модулю корень знаменателя равен 0,7 и имеет кратность 2. Заметим, что ( П \ 71-|-2 / г\\ — ) ( п ) ' 5.19. 1) ап ~ (-3(-2)п). Пусть А(*) = ^о„*п. Умножая обе части п=0 соотношения на ?п+2 и складывая, получаем, что A(t) — a\t — ао + + 3?(А(?) — ао) + 2t2A(t) = 0. Отсюда с учетом того, что ао = 1, а± = 2, имеем А(?) = A — t)/Bt2 + 3? + 1). Корни знаменателя есть Ai = —1/2, Л2 = —1. Используя задачу 5.17, 1), получаем, что ап ~ (—3(—2)п). 2) 1/2. Так же, как и в задаче 1), находим, что A(t) = BA — t))~1 + + BA — (g — р)г))~г. Поскольку g+p=l, p, g > 0, то \q — р\ < 1. Корнями знаменателя являются Ai = 1 и \2 = q — р, |Ai| < |-Хз | - Теперь с использованием задачи 5.17, 1) или непосредственно получаем, что ап - 1/2. 3) ап= '2—^- fsin— -sin— Y 4) an-3n. 5) an - n2 • 2n~5. y3 V 3 3 / 5.20. 1) Наводящее соображение: если предел ап существует и ра- равен а, то из рекуррентного соотношения получаем, что а = (а -\- Ь/а)/2, или a = Vbj так как a > 0. Если ао = л/fr, то а± = (ао + Ь/ао)/2 = = (vb + vb)/2 = vb. По индукции легко получим, что ап = уЬ. Рассмот- Рассмотрим случай, когда ао > Ь (случай ао < Ь аналогичен). Докажем, что в этом случае ап убывает и ап > л/b при всех п ^ 0. Если ап > л/b при некото- некотором п ^ 0, то an+i ~ап= ((о„ + — ) /2) -о„ = ^-^ < 0. W ап/ / J 2an Таким образом, ап убывает с ростом п, ап+1 - Vb = - [ап + — - Vb = ±— '— > 0. 2 V ап J 2an Следовательно, ап убывает и ограничено снизу. Значит, существует пре- предел a = lim an. Как мы убедились, этот предел равен Vb. п—^оо 2) Как и в задаче 1), если предел ап существует, то он равен \/b. Рассмотрим случай ao < Vb . Так же, как и в задаче 1), доказывается, что ап монотонно возрастает и ап < Vb при всех п. Отсюда следует существование предела ап. Если lim ап = а, то, переходя к пределу в п—^оо рекуррентном соотношении, получаем, что a = Vb.
Гл. VIII. Элементы комбинаторики 399 3) л/1 + Ь — 1. Заметим, что а\ — ао = — ао = < 0 и ai = - b2 ^ n n / / тт b-al Ъ + Ъ2 al-b2 > О, т. е. О < а\ < ао. Далее, а<2 — а\ = + = — > 2 i 2 и 2 > 0, а п2 — ао = — - = ——< 0. Отсюда а± < а2 < ао. Вообще 2 2 ап+2 — ап = — !i±i Отсюда по индукции следует, что {а2п} возрастает и аП2 < ао при всех п ^ 1, {а2п+2} убывает и a2n+i > сь\- Следовательно, существуют пределы с= lim a2n и с? = lim агп+ь Переходя к пределу п—)-оо п—)-оо в рекуррентном соотношении, получаем с = F — с? ) и <i = (Ь — с ). Отсю- Отсюда (с - с?)B - с - с?) = 0, а поскольку с < Ъ/2 < 1/2 и с? < 6/2 < 1/2, то 2 — с — с? > 0; следовательно, с = d. Отсюда с = л/1 + 6 — 1. 5.21. 1) С помощью соотношений C) и D) получаем, что аз = 9/128, а4 ^ 11/128. При п ^ 3 неравенство D) можно переписать в виде ^17 / 323 Отсюда вытекает, что если ап ^ 1/8, то и an+2 ^ 1/8 при п ^ 3. 2) Пользуясь тем, что an ^ 1/8, выведем из D) новое неравенство: . 1 п + 1 1 //3\™+2 п + 2 \ /3\п+2 1 C \ n - J . 1 /3\n+2 3) Используя задачу 2), выводим из D) an+2 ^ n+3 +66an ( -j Пользуясь последним, получаем, что ап = 2~п~г (l + O ((-) ))• 5.22. Индукция по п. При п = 1 имеем ai = ai • 1. Если an ^ ai • n, то an+i ^ an + ai ^ ai(n + 1). 5.23. 1) Рассмотрим отношение a& = ^-J -^ = • 2~2 . Ec- /(n, k) k + 1 ли fe< [log2log2n], то аи > 1, если же А; > [log2log2n], то a/г < 1. Сле- Следовательно, максимальное значение /(тт., к) достигается либо при к = = [log2 log2 n], либо при к = [log2 log2 n] + 1. 2) Тот же результат, что и в задаче 1). 5.24. Заметим, что Л(п, г, к) = /(п, г + 1, k)/f(n, г, &) = (А; — г) х х 22 ~г/(г + 1) и что Л(п, г, А;) > 1 при к ^ г > 0. Следовательно, /(п, г, А;) возрастает по г. Отсюда тах/(п, г, к) = /(n, A;, A;) = {^j2~k+2\ min/(n, r, A;) = 5.25. 1) '2п+1/п, если [log2 п] > Iog2(n — log2 n), g(n) ^ если Iog2(n — log2 n) ^ [log2 n] ^ Iog2(n — log2 n — log2 log2 n), 2n- [log2 n] ^
400 Ответы, указания, решения Функция /(п, к) как функция действительного аргумента к выпукла вниз, причем минимум достигается при к = к* = log2 In — log2 п + О ( —-— j j. Положим ко = [log2n]. Очевидно, что либо д(п) = /(п, &о), либо д(п) = = /(п, ко — 1). Для нахождения д(п) нужно выбрать минимум из /(п, ко) и /(п, &0 - 1). Пусть a) log2 п ^ ко > Iog2(n — log2 n). Тогда 22 ~ 2"+1/п f(n, ко - 1) = 2" /(n, ко) = 2п~к° + 22 > 2"-'°^ " + 22log2("-log2 n) ~ 2п+1/п. Пусть б) Iog2(n — log2 п) ^ ко > Iog2(n — log2 n — log2 log2 n). Тогда ,, 7 , 2n _2fc0 2n ( 2*.0-iog2(n-iog2n)x 2^+x f(n,k0) +2 =—1 + 2 , /(w, fc0 - 1) • n n V / n Следовательно, p(n) ~ /(n, ко). Пусть в) ко ^ Iog2(n — log2 n — log2 log2 n). Тогда /(n, ко) = 2п~к + 22"° - 2п~ко - — • 2log2 n-feo, n /(n, ko-1)^ 2n~k0+1 > /(n, ко). Отсюда /(n, ко) ~ g(n) = 2n~k°. 2) p(n) ~2nBa(n)+2~a(n)), где a(w) = log2 n - [log2 n], если а(п) < < 1/2, p(n) - 2nB1-a(n) +2a(nbl), если a(w) > 1/2. §6 6.1. 1) Граф с п помеченными вершинами без петель и кратных ребер полностью определяется множеством ребер. Поэтому число таких графов равно числу подмножеств f ™ ) — элементного множества, т. е. равно 2^ 2'. 6.2. 1) 2{2). 2) ( п ). Число равно числу выборок из п2 возможных дуг (включая \ 171 J петли) по т. 6.4. Если fj,(G) — число различных помеченных графов из °5n, изоморф- изоморфных графу Gr, a 4in — множество всех неизоморфных n-вершинных графов, то l^nl ^ п! 1^1, поскольку fi(G) ^ п\. 6.5. 1) Воспользоваться результатом задачи 6.1, 2) с учетом того, что число т ребер связного n-вершинного графа без кратных ребер и петель удовлетворяет неравенствам п — 1 ^ m ^ ( о ) • 2) Воспользоваться тем, что 6.8. 1) См. рис. 0.8.1.
Гл. VIII. Элементы комбинаторики 401 V б Рис. 0.8.1 2) Алгоритм восстановления вектора /= (и, гг, ..., «п-г) таков: ко- координата и равна наименьшему числу из множества JV = {1, 2, ...,п}, не входящему в набор J = (ji, J2, • • •, jn-i)- Проведем ребро (ii, ji) и положим iVi = JV\{u}, J\ = (j2, ..., jn-2). Далее положим г2 равным наи- наименьшему числу из JVi, не входящему в J±. Проводим ребро (гг, J2) и т.д. Последними соединяются ребром две вершины, оставшиеся в iVn_2. 3) Утверждение вытекает из того, что соответствие между вектора- векторами J = (ji, j2j • • • ? Jra—2) и нумерованными n-вершинными деревьями взаимно однозначно, а число векторов равно пп~2. 6.9. Использовать задачи 6.4, 6.8 и формулу Стирлинга. 6.15. 1) Провести доказательство индукцией по числу вершин. 3) Вывести из рекуррентного соотношения для числа t дихотомичес- дихотомических деревьев следующее соотношение для производящей функции Т(х): Т(х) - 1 = хТ2(х). Отсюда Т(х) = Bж)~1A - л/1 - 4ж). Разлагая Т(х) в ряд, получаем, что 6.18. 1) Число графов G из Ч5„ таких, что для фиксированной па- пары вершин {г, j} в G отсутствуют цепи длины меньше 3, равно 3n~2 x х2 (")-2("-2)-1 . Поэтому 2) Из того, что lim р(п) = 0, вытекает, что p(G) = 0 для почти всех п—Уоо графов. Отсюда следует, что диаметр почти всех графов меньше 3. 3) Пусть pi(G) — число вершин степени п — 1 в графе G из °5n, a Тогда Pi (га) = п • 2 -71 + 1 Отсюда следует, Gel что pi(G) = 0 для почти всех графов, а значит, радиус их не меньше 2. Теперь с учетом задачи 2) получаем утверждение. 6.19. Число гамильтоновых циклов в полном графе из °5n рав- равно - (га — 1)!. Доля графов, у которых присутствует заданный гамильтонов цикл, равна 2~п. 6.20. 1) р(п) = п = 23. 2 + (з) (" " 2)(" - 3) • 2" 2) Dp(n) = ^ 3) Вытекает из неравенства Чебышева с учетом того, что Dp(n) 26 Г. П. Гаврилов, А. А. Сапоженко
402 Ответы, указания, решения 6.21. 6.22. т- k J \ m Глава IX §1 1.2. 1) Если множество {п,...,^} зафиксировано, то число гра- граней Ba[n.!a'k'lk равно числу двоичных наборов (cTi ... сг/г), т.е. равно 2к. 2) Если а е B™[h.;a-k'ik П ВтС\тк-^к, то cri = п, ..., сгк = тк, а следова- следовательно, грани совпадают. Приходим к противоречию. 3) Вытекает из задач 1) и 2) с учетом того, что Ва^.а'С %\ tn-k 4) Число способов выбора направления {и, ..., ik} равно ( ? ). Теперь утверждение следует из задачи 1). 5) Следует из задачи 4). 6) Если aGSjf.!.yfe1'lfe, то вектор (<7i...ak) однозначно определяется вектором а и множеством {и, ..., г^}. Последнее можно выбрать (?) способами. 7) Код грани G размерности к, содержащей заданную грань Н размер- размерности /, получается из кода грани Н расстановкой к — I прочерков среди п — I координат, имеющих значение 0 или 1. 8) Для символов а и [3 из множества {0, 1, —} введем операцию °, полагая: а°[3 = а, если а = /3; а°[3 = а (а°/3 = /3), если а Е {0, 1}; /3 = — (соответственно если /3 Е {0, 1}, а = —), значение ао/3 неопре- неопределенно, если аф C и а, /3 Е {0, 1}. Естественным образом операция о распространяется на векторы из Gn. Нетрудно убедиться в том, что если а и /3 — коды граней F и Я, то вектор а°/3 определен тогда и только тогда, когда F П Н ф 0. В последнем случае ао/3 является кодом грани, совпадающей с F П Н. 9) Вытекает из задачи 7). 1.4. Положим 1{ = п — щ. Тогда числа U удовлетворяют неравенству Макмиллана ^J 2~ * ^ 1. Поэтому существует префиксный двоичный код с длинами кодовых слов /i, ..., ls. Дополним каждое кодовое слово Wi длины U прочерками в количестве п — h. Тогда каждое из так полученных слов Wi можно рассматривать как код грани размерности п — U = щ. То, что грани попарно не пересекаются, следует из префиксности кода. 1.5. 1) Рассмотрим множество всех интервалов /(а, /3) таких, что а е В^п/з]! Р € вп-[п/з]- Для каждой из ([п/3]) веРшин " ^ В[п/з,} сущест- существует f п г уЛ ^ J вершин /3 Е ^п-[п/з] таких, что а ^ /3. Таким образом, число пар (а, /3) указанного вида, а значит, и число интервалов /(а, /3) рав-
Гл. IX. Минимизация булевых функций 403 / п \ (п - \п/3]\ тт н0 ( г /з1 ) I г /я] J' Нетрудно видеть, что все они попарно несравнимы. 2) Аналогично задаче 5.19.1 из гл. П. 1.6. 1) 2. 2) 3. 3) 2. 4) 3. 5) 2. 6) 3. 1.7. 1) 2. 2) 4. 3) 3. 4) 3. 5) 2. 6) 3. 1.8. 1) 2. 2) 1. 3) 1. 4) 2. 5) 5. 6) 4. 1.9. 1) 2. 2) 1. 3) 3. 4) 5. 5) 5. 6) 4. 1.10. 2) Рассмотреть матрицу вида (Pfc-i/n-fc+i)j где Pk-i — матрица размерности (п — к + 1) х (к — 1), состоящая сплошь из единиц, a /n_&+i — единичная матрица размерности (п — к -\-1) х (п — А; + 1). 1.11. Пусть А — множество векторов (базисных) линейного (п, к)-ко- да. Тогда \А\ = к и Л — покрытие. Последнее вытекает из следующих соображений. Пусть j-й столбец имеет единицу в г-й координате. Поскольку г-я строка является линейной комбинацией базисных строк, то существует базисный вектор, имеющий единицу в j-ъл разряде. 1.12*. 1) Пусть Rk — семейство всех А;-элементных подмножеств строк матрицы М. Для Р ? Rk обозначим через v(P) множество столбцов, не покрытых строками из Р, и пусть пк = (Т) $_^ и(Р) — среднее число PERk непокрытых вершин по подмножествам Р из Rk- Пусть V — множество столбцов матрицы М, а р(у) — число тех Р из ft, которые не покрывают столбец v, a cr(v) — число строк, покрывающих столбец v. Тогда 1 1 — a(v) v?V v?V Для всякого натурального к имеем $,(М) ^ k-\-Vk- Поэтому, полагая к = 1 т . sn\ +fAjr\ ^ л , т 1 esn = — In — , получаем ЦМ) ^ 1 + — In . J s m L s m 2) Пусть 6к — доля тех столбцов матрицы М, которые остались не- непокрытыми после /с-го шага градиентной процедуры. Ясно, что $о = 1. Покажем, что п{6к — ^fc+i) ^ nSks/m. Неравенство равносильно утверж- утверждению о том, что на (к + 1)-м шаге можно выбрать строку, покры- покрывающую не менее snSk/тп столбцов. В самом деле, в каждом из пёк непокрытых столбцов содержится не менее s единиц, а число строк не превышает т. Таким образом, бк+i ^ <ЬA — s/m). Отсюда по индук- индукции следует, что 8к ^ A — s/m)k ^ e~sk/m$ для ВСЯкого натурального к имеем Lp(M) ^ к + пёк ^ к + ne~sk/rn. Полагая к = — In ( — ] , получа- J s V т / L ем требуемое неравенство. 1.13*. Аналогично тому, как в задаче 1.12, 2) доказывается, что Sk ^ ^e + (l-e)(l--Y ^e + e~sk/rn. Далее, полагая к = ] — In (—) [ в неравенстве Ьг(М) ^ к + пдк, получаем требуемое утверждение. 1.14. На первом шаге градиентной процедуры в покрытие войдет стро- строка, покрывающая не менее п/р столбцов, и не более пA — 1/р) останутся непокрытыми. Если Аи — множество непокрытых после &-го шага столбцов и \Ак\ ^ пA — 1/р)к, то на (к + 1)-м шаге по крайней мере одна из строк 26*
404 Ответы, указания, решения покрывает не менее |Afc|/p столбцов. Отсюда |Afc+i| ^ |^4.fc|(l — 1/р) ^ гсA - l/p)k+1. Таким образом, \Ак\ ^ гсA - 1/р)к. Поскольку Lr(P) ^ к + \Ак\ при любом натуральном ?;, то, полагая получаем утверждение. 1.16. 1) Множество N = {a G 5П: ||а||, п четное} является (п, 1)-про- тыкающим и |JV| = 2П~1. Остается показать, что L(n, 1) ^ 2П~1. В силу за- задачи 1.2 куб ??п разбивается на 2n-1 1-мерных граней одного направления. В каждой из них должна присутствовать вершина (п, 1)-протыкающего множества. _ _ 2) Нижняя оценка очевидна. С другой стороны, N = {0, 1} является (n, n — 1)-протыкающим. 3) (В.В. Глаголев.) Указание. Рассмотреть N = {а Е ??п: ||а|| = = О (mod 3)} или JVi = {a E ?n : i/(a) = 3 (mod 4)}. 4) (О.Б. Лупанов.) Нижняя оценка. Заметим, что, для того чтобы вершина а = (ai, ..., ап) содержалась в (п — 2)-мерной грани с кодом j = = G1, ..., 7*0? в котором 71, 7i ? {0? 1}? нужно, чтобы с^ = 7*? ai = 7i- Пусть N С 5П — (п, п — 2)-протыкающее множество и |iV| = т. Рассмот- Рассмотрим матрицу М, строками которой являются векторы из N. Из предыду- предыдущего следует, что для каждой пары чисел (г, j), 1 ^ г < j ^ п, и любой пары (ст, г), а, г Е {0, 1}, должна найтись строка a = (ai, ..., an) такая, что щ = сг, aj = т. Отсюда вытекает, что любые два столбца матри- матрицы М попарно несравнимы. Число попарно несравнимых двоичных наборов длины m не превосходит ( г ^i) • Отсюда вытекает, что ( г ^i ) ^ п- Верхняя оценка. Пусть m — наименьшее целое такое, что п- Построим двоичную матрицу М с m строками и п попарно (г /oi ) [m/ z\ j несравнимыми столбцами. Добавим к матрице две строки: 0 и 1. Тог- Тогда множество строк полученной матрицы будет (n, n + 2)-протыкающим. [п/к] 5) Вытекает из того, что множество N = (J В?к+1у является (п, к)- г=0 протыкающим. 6) Если N является (п, А;)-протыкающим и G — r-мерная грань ку- куба Вп, то NHG является (г, &)-протыкающим. Отсюда и из зада- задачи 1.2, 1) вытекает требуемое неравенство. 7) Неравенство вытекает из задачи 1.12, если положить т = 2n, s = 2fe, „=BJ»-*. 1.17. 1) Z + l. 2) Положим ?(Mn,k,i) = fJ>n,k,i- Утверждение вытекает из того, что / \ ' ' 1 п-г + iг kfin,k,i ^ п^п-1,к-1,1-1 , Mn,fe,z целое и /in-z+i,fc-z+i,i = —- • 3) Ясно, что $,(Mn:n-k:i) > lj поскольку при любом выборе / векто- векторов ai, ..., ai из В™_к можно подобрать вектор [3 Е В™, не покрываемый ни одним из выбранных / векторов. Это можно сделать, выбрав по одной нулевой координате в каждом из векторов а±, ..., аг и положив их рав- равными 1 в векторе /3. Если же выбраны / + 1 векторов из В™_к так, что
Гл. IX. Минимизация булевых функций 405 множества нулевых координат попарно не пересекаются, то все векторы из В™ оказываются покрытыми. 4) Нижняя оценка вытекает из мощностных соображений: число покры- покрываемых столбцов равно ( ? ), а каждая строка покрывает (?) столбцов. Верхняя оценка вытекает из задачи 1.12. 5) Верхняя оценка. Пусть п = q(l — 1) + г, 0 ^ г ^ / — 2. Ра- Разобьем п координат на / — 1 блоков так, что два любых блока различаются по мощности не больше, чем на 1. Всего имеется г блоков мощности q + 1, I — 1 — г блоков мощности q. Для каждой пары координат произвольного из этих блоков возьмем вектор из B™_2i имеющий нули в этих координа- координатах. Множество Р получаемых таким образом векторов имеет мощность f\ 2 ) ~^~ ^ ~ ^- ~ т^ B)' Покажем, что для каждого а из B™_t сущест- существует [3 из Р такой, что а < [3. В самом деле, поскольку число нулей в а равно /, а число блоков равно / — 1, то некоторый блок содержит некоторые две нулевые координаты. В Р содержится вектор /3, имеющий нули в этих координатах. Ясно, что а < [3. 1.19. 1) 2. 2) 2. 3) 4. 4) 3. 5) 3. 6) 3. 1.20. 1) п. 2) п-1. 3)п-1. 4) п. 1.21. Указание. Два столбца матрицы М различаются в j-й строке тогда и только тогда, когда j-я. строка матрицы М^ ' покрывает сумму по модулю 2 этих столбцов. 1.22. 1), 4), 5), 7) Да. 2), 3), 6), 8), 9) Вообще говоря, нет. 1.23. Если матрица составлена менее чем из log2 и строк, то число попарно различных столбцов меньше п. 1.24. Пусть Am В — тупиковые тесты матрицы Мет строками. Тогда ни одно из включений А С В, В С А не имеет места. Отсюда вытекает, что число тестов не превосходит числа попарно несравнимых наборов в В171, а значит, не превосходит ( г Г7]о1 ). \[т/ z\j 1.25. Число матриц размерности k x n с попарно различными столб- столбцами равно 2feBfe + 1)... Bk — п + 1). Число матриц размерности т х п, у которых фиксированные к строк заданы, равно 2п^т~к\ 1.26. 1) {1, 2}, {1, 4}, {2, 3}, {3, 4}. 2) {1, 2, 3}, {1, 2, 4}, {1, 3, 4}. 1.27. (Э.Ш. Коспанов.) Если в матрице М с попарно различными столбцами расстояние между любыми двумя столбцами не меньше d, то в матрице М^ каждый столбец содержит не менее d единиц. Теперь утверждение вытекает из задач 1.21 и 1.12. §2 2.1. 1) Ж1, Ж2Ж3. 2) х\Х2- 3) Ж2Ж3, Ж1Ж2Ж4. 4) х\. 2.2. 1) После применения правила обобщенного склеивания имеем D\ = = Ж1Ж2 V Ж1Ж2Ж4 V Ж2Ж3Ж4 V Ж2Ж4 V Ж1Ж3Ж4 V Ж1Ж3Ж4 V Ж3Ж4. После примене- применения правила поглощения получаем D<2 = Ж1Ж2 V Ж2Ж4 V Ж3Ж4. 2) Ж1Ж2Ж3 V Ж1Ж2Ж4 V Ж1Ж2Ж4 V Ж1Ж3Ж4 V Ж2Ж3Ж4. 3) xi V Х2 V хз V х±. 4) Ж3Ж4 V Ж2Ж3Ж4 V Ж1Ж2Ж4 V Ж1Ж2Ж3 V Ж1Ж2Ж3 V Ж1Ж2Ж4. 5) D V Ж1Ж3 V Ж3Ж4 V Ж2Ж3 V Ж1Ж2Ж4.
406 Ответы, указания, решения 2.3. 1) Ж1Ж3 V Ж1Ж2Ж3. 2) xi Vxzxs- 3) х\Х2 Ух\Х2Хз- 4) Х\Х~2 V Ж1Ж2 V Ж2Ж3 V Ж2Ж3 V Х\Х~з V Ж1Ж3. 5) Ж1Ж2Ж3 V Ж1Ж2Ж3. 6) Ж1Ж2Ж3 V Ж1Ж2Ж4 V Ж1Ж3Ж4. 2.4. 1) Ж1Ж3 V Ж1Ж2 V Ж2Ж3 V Ж2Жз- 2) Ж2Ж3 V Ж2Ж3 V Х\Х<2 V Ж1Ж3 V Ж1Ж2 V Ж1Ж3. 3) Х\ V Ж2Ж3. 4) Ж1Ж2 V Ж1Ж3 V Ж2Ж3. 5) Ж2Ж2 V Ж2Ж3 V Ж3Ж4 V Ж1Ж3Ж4 V Ж1Ж2Ж3 V Ж1Ж2Ж4. 6) Ж1Ж2 V Ж1Ж2 V Ж1Ж3Ж4 V Ж2Ж3Ж4 V Ж2Ж3Ж4 V Ж1Ж3Ж4. 2.5. 1) XI V Ж2Ж3. 2) Ж1Ж3 V Ж2Ж3 V Ж1Ж2- 3) Ж1Ж2 V Ж1Ж3 V Ж2Ж3 V Ж1Ж2- 4) Ж1Ж2 V Ж1Ж3 V Ж2Ж3 V Ж1Ж3 V Ж1Ж3 V Ж2Ж3. 5) Ж1Ж2 V Ж1Ж3Ж4 V Ж2Ж3Ж4 V Ж1Ж2Ж3 V Ж1Ж3Ж4 V Ж2Ж3Ж4. 6) Х\Х2 V Ж1Ж3 V Ж1Ж3 V Ж1Ж4 V Ж2Ж3 V Ж2Ж4 V Ж1Ж3Ж4. 2.6. 1) Хз V Х\Х2- 2) Ж1Ж2 V Ж1Ж3 V Ж2Ж3 V Х\Хз V Ж1Ж2 V Ж2Ж3. 3) Ж1Ж3 \fX\X2- 4) Ж1 V Ж2 \/Жз. 5) Ж2Ж4 V Ж1Ж3 V Ж3Ж4 V Ж2Ж3 V Ж1Ж4 V Ж1Ж2- 6) Ж2Ж3 V Ж2Ж3 V Ж3Ж4 V Х\Х~2 V Х\Х2, V Х\Х±. 2.7. 1) Ж2 V хз- 2) Ж2 V Ж1Ж3 V xix~3. 3) Ж1 V Ж2Ж3. 4) Ж2 5) Ж3Ж4 V Ж1Ж4 V Ж1Ж3 V Ж1Ж3 V Ж1Ж4 V Ж2Ж3 V Ж3Ж4. 2.8. 1) хз-, х\Х2- 2) Ядровых импликант нет. 3) Ж1Ж3, ~х~\Х2- 4) Xi, X2, Хз. 5) Ж2Ж4 V ХгХз, Ж3Ж4. 6) Ж2Ж3, Ж2Ж3. 2.9. 1) 2й-1. 2) 2й-1. 3) 6 • 2П-4. 4) /с(п - jfe). 5) 2п~2. 6) Jfe + (n-ife)(n-A;-l). 7J. 8)n(n-l). 9) 2n. 2.10.1) (^-fc). 2)(^)(,;-г_г). 3) Вытекает из задачи!). 4) Вытекает из того, что min (k\)(n - к - т)\т\ = (\-]}У(п \ о^к,ш^п А J V L 3 J / V L 3 2.11. Каждый интервал функции / однозначно определяется заданием любой пары противоположных в этом интервале точек. Эти точки, очевид- очевидно, принадлежат множеству JV/. Поэтому число максимальных интервалов не превосходит числа неупорядоченных пар вершин (быть может, совпа- совпадающих) из множества JV/. 2.12. 1) Т~х. 2) 2п~3. 3) 0. 4) к(п — к). У к а з а н и е. В любом максимальном интервале монотонной функции нижняя единица является собственной точкой того интервала, которому она принадлежит. 5) 2П~2. Указание. Использовать задачу 1.9, 5) и то, что все интер- интервалы имеют размерность 0. 6) к. 7) 2. Заметить, что / = х± ... хп V х± ... хп. 9) 2П. 2.13. Выберем для каждого ядрового импликанта функции f(xn) в точности по одной собственной точке. Рассмотрим все ребра куба Вп неко- некоторого направления. Никакое ребро не может содержать двух выделенных собственных точек. Отсюда и вытекает утверждение.
Гл. X. Реализация булевых функций схемами и формулами 407 §з 3.1. 1) а) Нет. б) Да. в) Нет. 2) а) Нет. б) Нет. в) Нет. 3.3. 1) Dzt = xyVxz. 2) Dzt = D. 3.7. 1) r(/) = МЯ = I- 2) r(/) = 52"~\ МЯ = 22"- 4) r(f) = 58, /i(/) = 6. 3.8. Указание. Оценка следует из того, что число элементарных конъюнкций над переменными Ж]., ..., хп равно Зп, длина тупиковой д. н. ф. не превосходит 2п и ни одна из конъюнкций в тупиковой д. н. ф. не погло- поглощает другую. 3.9. Указание. Верхняя оценка устанавливается по индукции. 3.11. 1) 2. 2) 2П. 3.12. 3) Указание. См. задачу 5.17 гл. VIII. 3.13. 2п/п. Глава X 1.2. 1) а) ((ж! | ж2) | (ж2 | ж2)) | (Ж1 | ж2). б) 2) а) ((ж2 \. ж2) \. х\) \, ((ж2 \, ж2) \, х\). б) Ж1 &ж2. 3) а) (ж1 | жх)(ж2 | ж2). б) ((хку) ~ х) ~ у. 1.3. 1) а) ж2 V жь б) ж2 | (ж1 | xi). 2) а) (ж1 —>- ж2) & (ж2 —>- жг). б) ((ж1 ^ жг) ^ ж2) . 3) а) ((ж1 ж2) жз) ((ж1 | ж2) | жз). б) Ж1Ж2жз 0 i > х2) > ж2). ((ж2 I х2) I х\). ал 0 1)(ж2 0 1)(ж3 0 1). 1 | х2) | ж3). б) Ж1 1.4. 1) Д = Ж1Ж2, /2 = Ж1 ~ ж2. 2) Д = Ж1Ж2 0 ж2жз 0 Ж3Ж1, /2 = Ж1 0 ж2 0 хз- 3) Д = х\ V ж2 V жз, /2 = Ж1Ж2жз. 1.6. Указание. 1) / = ж2 Ух^хз- 2) / = Ж1Ж2 V ж2жз V х2х~\. 3) / = ж3(ж1 Ух2) Ужх(ж2 Уж3). 4) / = (жх V ж2)(ж2 V ж3). 1.7. Указание. 1) / = ж2жз V Ж1Ж2жз. 2) / = Ж1Ж2 V ж2жз V Ж3Ж1. 3) / = xi V ж2жз. 1.8. Утверждение вытекает из того, что замена в СФЭ Е всех поме- пометок V на & и & на V приводит к схеме Е*, реализующей двойственную функцию /*. 1.13. 1) См. рис. 0.10.1. 2) Индукция по п. Базис индукции доказан в п. 1. Пусть Un — схема уни- версального многополюсника сложности 2 — п. Добавим к ней вход жп+1 и инвертор для реализации жп+ь Реализуем все функ- функции вида ж^+1 & /, где / = f(xi, ..., хп) — функции, от- отличные от констант и реализованные в Un- Далее с ис- использованием уже построенных функций реализуем функ- функции вида (жп+1&/) V (жп+1&р), где / =/(жь ..., жп), д = g(xij ..., жп), /' ф. д, f V д ф 0. Для реализации каждой из упомянутых (кроме жп+]_) функций требуется дополни- дополнительно ровно один элемент. Таким образом, к 22 — п эле- элементам схемы Un добавляются один инвертор, 2B2 — 2) Рис. 0.10.1
408 Ответы, указания, решения конъюнкторов и B — 1)B — 2) дизъюнкторов. Всего в полученной схе- схеме 2 — (п + 1) элементов. Нижняя оценка следует из того, что каждая функция, отличная от Х{, г = 1, ..., п, должна быть реализована на выходе некоторого элемента. 1.15. 2) Утверждение вытекает из представлений Sk'rn(xn) = (xn) и S0^m(xn) = Sn-^n(xn). 1.16. Заметим, что функции Sk'3(x3) (к = 0, 1, 2, 3) монотонны и мо- могут быть реализованы схемами, не содержащими отрицаний. Покажем сна- сначала, что совокупность всех схем вида Sk'k(x3) (к = 0, 1, 2, 3) может быть реализована с применением двух отрицаний. Имеем ?°'1(ж3) = ?2'3(ж3), ?м(ж3) = S°'1(x3)&S1'3(x3). Далее, полагая ^(ж3) = ал 0 ж2 0 х3 0 сг, по- лучаем 10(х3) = ?м(ж3) U ?3'3(ж3), !i(?) = fcf), ?2'2(ж3) = h(x3) к & ?2'3(ж3), 5°'°(ж3)=/1(ж3)&5'0'1(ж3). Теперь из функций 5fe'fe(aT3) и элементарных монотонных конъюнкций можно без применения отрица- отрицаний построить любую конъюнкцию вида х^гХ22х^3. Например, х\х~2Хз = = S1'1(x3)foxi, Ж1Ж2Ж3 = 52'2(ж3) &Ж2Ж3. Располагая всеми элементарны- элементарными конъюнкциями ранга 3, функции ~x~i (г = 1, 2, 3) можно строить с при- применением только элементов дизъюнкции. Например, ~х~\ = Ж1Ж2Ж3 V Ж1Ж2Жз\/ \/Ж1Ж2Жз V Ж1Ж2Ж3. 1.17. Рис. 10.2,г и задача 1.8 показывают, что Ь(ж©у) ^4. Нера- Неравенство Ь(ж0у) ^4 вытекает из следующих соображений. В силу не- немонотонности функции / = х 0 у она не может быть реализована без отрицаний. В минимальной схеме Е/, реализующей /, элемент отрица- отрицания не может стоять на выходе схемы; в противном случае в вершине, предшествующей выходу, реализовалась бы функция / = /*, и в силу утверждений задачи 1.8 схема Е/ неминимальная. Таким образом, выход схемы Е/ совпадает с выходом одного из элементов & или V. Обозначим этот элемент через °. Тогда / = /i ° /2 , где функции /i, /2 реализованы в вершинах схемы Е/, предшествующих выходу. Ни одна из этих функций не является одноместной, так как / отлична от функций вида ха V /г, ха & h. Кроме того, функция /i не является отрицанием функции /2, поскольку / не является константой. Отсюда следует, что схема Е/ должна содержать еще по меньшей мере два двухместных элемента. 1.19. Провести индукцию по /. 1.20. Указание. Рассмотреть схему Е/, реализующую функцию / = = х\ V ... V Ж/+1 и имеющую глубину /. 1.21. Утверждение вытекает из задачи 1.19 и из того, что сложность СФЭ, реализующей функцию, существенно зависящую от п переменных, не меньше, чем п — 1. §2 2.1. а) / = XI 0 Х2 = Х±Х2 V Ж1Ж2- б) / = Х±Х4 V Ж1Ж3Ж5 V Ж2Ж3Ж4 V Ж2Ж5. в) / = (Ж1 V Ж2)(Ж1 V Ж2) = Ж1 0 Х2. г) / = XI 0 Ж2 0 Жз 0 1. д) / = Ж1Ж2 V Ж2(жзЖ2 V Ж3Ж2) V ~Х\Х2- в) / = Ж].Ж2 V Ж2Ж3 V Жз^Ъ 2.4. Указание. Представить функцию / формулой в базисе {V, &, —}. Если число букв окажется равным /, то построить схему по формуле. Если число букв окажется больше, чем / и формула не упрощается, то реализовать отдельные подформулы схемами и попытаться совместить куски полученных схем так, чтобы не возникало «ложных» цепей.
Гл. X. Реализация булевых функций схемами и формулами 409 1) / = Ж1ж2ж3 Ужх(ж2 Ух3). 2) / = ж2 УЖ1Ж3 V: 3) / = ж2(ж1 Ух3) Ухххз. 4) / = жх(ж2 V ж3) Уж2(ж2 У х3). 5) / = ж2(ж1 У х3) V Ж1Ж3. 2.5. 1) / = (ж1 V ж2ж3)(ж2 V ж4). 2) / = Ж1 V ж2 V жз V ж4. 3) / = жь 4) / = (ж1 V ж2)(ж4 V ж6)(ж5 V ж7). 5) / = Ж1 V ж2 V жз V ж4. 6) / = Ж1Ж2 V Ж1Ж3 V Ж1Ж4 V Ж2Ж3 V Ж2Ж4 V Ж3Ж4. 2.7. 1) / = Ж1Ж2 . . . Хп V Ж1Ж2 . . . Жп. 2) / = Ж1Ж2 . . . Хп-\Хп. 3) / = Ж1 0Ж2 0...0ЖП. 4) / = (ж1, ..., жп, 2/1, • • •, Уп) = Рп, где Pi = Ж1 V г/i, P^+i = ж/г^ V V Р/г(ж/г V 2//г), Рп реализует перенос в (п + 1)-й разряд сумматора. 2.9. См. задачу 2.6, 1). 2.10. 3) Представив каждую из функций системы Ф совершенной д. н. ф., отождествим выходы схемы D1^, соответствующие элементарным конъюнк- конъюнкциям, относящимся к одной функции. 2.12. 2) Докажем утверждение индукцией по п. Нетрудно видеть, что L(Ui) = 2 < 2 • 22 . По предположению индукции существует схема для Un-i сложности, не большей чем 2 • 22 . Все функции /(жп), не зависящие существенно от жп, реализованы в Un-i- Если функция / зависит от хп существенно, то она представима в виде / = хпд V жп/г, где д и h — различные функции переменных Ж1, ..., хп-\. Если одна из этих функций (д или h) равна нулю, то отнесем / к классу К±, в противном случае — к классу К<2. Добавим к схеме U^-i по одной вершине Vf для каждой функции / из К\ U K2. Если / Е К± и имеет вид / = ж^/г, то соединим вершину Vh схемы Un—\ контактом ж^ с новой вершиной Vf. Если / Е i^2 и / = хпд + жп/г, то соединим вершины vg и Vh схемы U^-i с новой верши- вершиной Vf соответственно контактами жиж. Таким образом, добавляется всего К\\ + 2|i^2 контактов. Ясно, что такое добавление контактов к схеме XJn_\ не вносит каких-либо цепей с ненулевой проводимостью в U^-i и, следова- следовательно, не изменяет функций, реализуемых схемой U^-i- Ясно также, что в новых вершинах реализуются соответствующие им функции из К± U Къ, и, значит, построена схема для Un. Оценим сложность построенной схемы. Имеем Lk(uZ) ^ LkiU^) + \Кг\ + 2\К2\ < 2 • I2^ + 2|tfi| + \K2\ = 2 • 22". 3) Выбирая т = [Iog2(n — 21og2 n)], получаем при достаточно боль- больших п Lk(f(xn)) <: Lk(Dkn-m) + Lk(Ukm) < 2 . 2n-lo82(»-2iog2 »)+i + 2iog2(n-2iog2n) _ 2n+2 2n+1 < 2n nlog2(n — 21og2 n) n2 ~ n 2.17. 1) Схема для U\ может быть получена по методу каскадов. Эта схема имеет сложность, равную 2. Предположим, что схема для t/n_i, полу- полученная по методу каскадов, содержит не более 2-2 контактов. Построим схему для Un- Множество Vo вершин этой схемы соответствует множеству всех функций /(жп). Вершины из Vo, соответствующие функциям /(жп), не
410 Ответы, указания, решения зависящим от переменной жп, содержатся также ив Уь Пусть Ki, K2 — классы функций, зависящих от п переменных, определенные в решении задачи 2.12, 2). Правило проведения контактов метода каскадов предписы- предписывает провести один контакт для каждой вершины, соответствующей функ- функции / из К±, и два контакта для вершины, соответствующей функции / из К2. Таким образом, общее количество ребер, соединяющих вершины множеств Vo и Vi, равно \К\\ + 2|i^2|- Дальнейшие рассуждения повторяют решение задачи 2.12, 2). 2.18. Утверждение вытекает из того, что для реализации всех конъюнк- конъюнкций по методу каскадов \Vi\ = 2п~г (г = 0, 1, ..., п) и из каждой вершины г-ro яруса @ ^ г < п) в следующий ярус выходит ровно одно ребро. 2.19. Доказательство отличается от предыдущего только тем, что количество ребер, исходящих из вершины, отличной от полюса 6, равно 2 при 0 ^ г < п — 2. При г = п — 1 из каждой вершины исходит одно ребро. 2.21. Пусть, например, схема Е представляет собой последовательное соединение некоторой двухполюсной схемы А и контакта ж. Преобразуем схему Е, отбросив все контакты ж и стянув в точку каждый из контактов х в А. Ясно, что функция проводимости новой схемы Е' совпадает с прежней, а число контактов уменьшилось. 2.22. Если схема Е не является сильно связной, то в ней имеется отрос- отросток. Отбрасывая его, мы не изменяем, очевидно, функцию проводимости. Поэтому Е не может быть минимальной. 2.25. То, что Lk(x(By) ^ 4, вытекает из того, что существует схема для х 0 у (см. задачу 2.1) сложности 4. Предположим, что минимальная схема для х 0 у содержит менее четырех контактов. В силу утверждения задачи 2.23 эта схема не может иметь ровно три контакта. Каждая мини- минимальная схема с двумя контактами реализует либо функцию вида хау^, либо функцию вида ха V у . 2.26. Пусть Xi — буква, встречающаяся в качестве пометки контакта в бесповторной схеме Е. Поскольку Е сильно связная, то существует цепь, соединяющая полюса ажЪ схемы Е и содержащая контакт хJ. Зафиксируем значения сг2, ..., сгп переменных, отличных от Ж]., так что все контакты рассматриваемой цепи, кроме ж?, оказались замкнутыми, а все контакты, не входящие в цепь, — разомкнутыми. Тогда /а,ь(ж1, сг2, ..., сгп) = ж?. Отсюда и следует, что функция проводимости fa^ существенно зависит от х\. 2.27. Утверждение вытекает из того, что для каждого п существует сильно связная бесповторная схема с п контактами. 2.32. Всякая контактная схема с семью ребрами остается планар- ной после добавления полюсного ребра, так как не существует непла- нарных графов с восемью ребрами. Поскольку для всякой такой схемы двойственная схема определена и имеет такую же сложность, то отсюда вытекает, что Lk(f) = Lk(f*). Второе равенство следует из того, что /(Ж1, . . . , Хп) = f*(xi, • • • , Хп). 2.33. Утверждение следует из того, что всякая тг-схема является пла- нарной и остается таковой после добавления к ней полюсного ребра. 2.34*. Схема Е, указанная на рис. 10.12, имеет среди своих сечений множества {ж, у}, {г, w}, {ж, г, v, z} и {ж, w, ?, и}. Тогда, если существует бесповторная схема Ei, реализующая функцию /*, то в ней имеются цепи с проводимостями ху, rWj xrvZj xwtu. Без ограничения общности можно считать, что контакт ж примыкает к полюсу а сети Еь Тогда к этому
Гл. X. Реализация булевых функций схемами и формулами 411 полюсу примыкает также и контакт г или контакт w. В первом случае в Ei не существует цепи xrvz, а во втором — цепи xwtu. 2.35. Неверно. Воспользоваться тем, что /(#i, ..., xn) = f*(xi, ..., жп), и результатом задачи 2.34. 2.38. Пусть Н(К) — число связных двухполюсных сетей с к ребрами. Каждая из рассматриваемых контактных схем может быть получена из некоторой двухполюсной сети в результате приписывания каждому ребру одного из 2п символов xi, ..., хп, Ж1, ..., ~хп. Поскольку H(k) ^ (ск) (см. задачу), то т т S(n, m) ^ ^H{k){2n)k ^^{ск)к{2п)к ^ {с mn)m. 2.40. (О. Б. Лупанов.) Каждая формула, содержащая к символов пере- переменных, имеет к — 1 символов связок & и V, не более к — 1 левых и не более к — 1 правых скобок. Общее число символов не превосходит 4к — 3. Таким образом, всякая такая формула есть слово длины, не превышаю- превышающей 4к — 3, в алфавите {(, ), V, & } U Хп, где Хп = {ж1, ..., жп, afi, ... ..., жп}, причем число букв из Хп равно к. Число слов длины s, содер- содержащих к букв из алфавита Ли s — к букв алфавита 5, не превосхо- превосходит Cs\A\k\B\8~k. Поэтому Ф(п, т) <: J2 С4\-зBп)*Ч3*-2 ^ (сп)т. 2.42. 1), 2) С использованием результата предыдущей задачи имеем при п —>- оо (n + A - e) 2-) log A6 (n + ?- A - e))) - - 2n < n2 + A - sJn - 2n = n2 - e • 2n -+ -oo. Отсюда вытекает задача 2), а значит, и задача 1). 2.43. 1) Число самодвойственных функций f(xn) равно 22 .С исполь- исполь) нкций f(xn) равно 22 зованием задачи 2.38 имеем при п —>¦ оо 2"-L L(l - е)) = log2 S (п, — A - е)) < 2— A - е) log2(c ¦ 2" Отсюда вытекает утверждение. 2) С использованием задачи 2.39 имеем при п —>¦ оо log2 Р n, f A - е) U / ] Iog2(cn) = V 1о§2™ / log2n log2n
Список литературы *) 1. Автоматы / Под ред. К. Э. Шеннона и Дж. Маккарти. — М.: ИЛ, 1956. (IV) 2. Алферова 3. В. Теория алгоритмов. — М.: Статистика, 1973. (V) 3. Арбиб М. Мозг, машина и математика. — М.: Наука, 1968. (IV, V) 4. Берж К. Теория графов и ее применения. — М.: ИЛ, 1962. (VI) 5. Виленкин Н. Я. Комбинаторика. — М.: Наука, 1969. (VIII) 6. Грехем Р., Кнут Д., Паташник О. Конкретная математика. — М.: Мир, 1998. (VI, VIII) 7. Дискретная математика и математические вопросы кибернетики. Т. 1. — М.: Наука, 1974. (I—III, VI, VII, IX, X) 8. Емеличее В. А., Мельников О. И., Сарванов В. И., Тышкевич Р. И. Лекции по теории графов. — М.: Наука, 1990. (VI, VIII-X) 9. Зыков А. А. Теория конечных графов.—Новосибирск: Наука, 1969. (VI) 10. Кобринский Н.Е., Трахтенброт Б. А. Введение в теорию конечных автоматов. — М.: Физматгиз, 1962. (IV) 11. Комбинаторный анализ. Задачи и упражнения / Под ред. К. А. Рыбни- Рыбникова — М.: Наука, 1982. (VI, VIII) 12. Кристофидес Н. Теория графов. Алгоритмический подход. — М.: Мир, 1978. (VI) 13. Лавров M.A.j Максимова Л. Л. Задачи по теории множеств математи- математической логике и теории алгоритмов. — М.: Физматлит, 2001. (I, II, V) 14. Леонтьев В.К. Избранные задачи комбинаторного анализа. — М.: МГТУ им. Н.Э. Баумана, 2001. (VIII) 15. Мальцев А. И. Алгоритмы и рекурсивные функции. — М.: Наука, 1986. (V) 16. Марченков С.С. Замкнутые классы булевых функций. — М.: Физмат- Физматлит, 2000. (II) 17. Матросов В.Л., Стеценко В.Н. Лекции по дискретной математике. — М.: МПГУ, 1997. (I, II, VI) 18. Минский М. Вычисления и автоматы. — М.: Мир, 1971. (IV, V) 19. Нефедов В.Н., Осипова В.А. Курс дискретной математики. — М.: МАИ, 1992. (I, II, VIII) 20. Оре О. Теория графов. — М.: Наука, 1980. (VI) *) Римские цифры, стоящие после названия, указывают главы задач- задачника, при работе над которыми эта литература может оказаться полезной.
Список литературы 413 21. Питерсон У., Уэлдон Э. Коды, исправляющие ошибки. — М.: Мир, 1976. (VII) 22. Риордан Дж. Введение в комбинаторный анализ. — М.: ИЛ, 1963. (VI, VIII) 23. Рыбников К. А. Введение в комбинаторный анализ. — М.: Изд-во МГУ, 1985. (VI, VIII) 24. Сачков В. Н. Введение в комбинаторные методы дискретной математи- математики. — М.: Наука, 1982. (VI, VIII) 25. Свами М., Тхуласираман К. Графы, сети и алгоритмы. — М.: Мир, 1984. (VI) 26. Трахтенбротп Б. А. Алгоритмы и вычислительные автоматы. — М.: Советское радио, 1974. (IV, V) 27. Трахтенбротп В. А., Барздинъ Я. М. Конечные автоматы. — М.: Наука, 1970. (IV) 28. Уилсон Р. Введение в теорию графов. — М.: Мир, 1977. (VI) 29. Феллер В. Введение в теорию вероятностей и ее приложения. Т. 1. — М.: Мир, 1984. (VIII) 30. Харари Ф. Теория графов. — М.: Мир, 1973. (VI) 31. Холл М. Комбинаторика. — М.: Мир, 1970. (VI, VIII) 32. Ширяев А.Н. Вероятность. — М.: Физматлит, 1989. (VI, VIII) 33. Яблонский С. В. Функциональные построения в &-значной логике // Труды МИАН СССР. — 1958. — Т. 51. — С. 5-142. (I—III, VI, IX, X) 34. Яблонский СВ. Введение в дискретную математику. — М.: Наука, 1986. A-Х) 35. Яблонский СВ., Гаврилов Г. П., Кудрявцев В. Б. Функции алгебры логики и классы Поста. — М.: Наука, 1966. (I, II) 36. A Ion N., Spencer J. The Probabilistic Method. — J. Wiley & Sons, 2000. (VI, VIII) 37. Bollobas B. Random Graphs. — N.Y.: Academic Press, 1985. (VI, VIII)
Предметный указатель Автомат без входа 147 выхода 146 Алгоритм Квайна 297 Алфавит входной 103 — выходной 103 — кодирующий 230 — машины Тьюринга внешний 182 внутренний 182 Арность функционального символа 10 Базис замкнутого класса 60 — схемы 311 Буква (символ) алфавита 102 Вектор значений булевой функции 11 — коэффициентов полинома 53 Вершины графа смежные 203 Вес набора 9 — о.-д. функции 103 Глубина формулы 30 Грань булева куба 290 — плоского графа 216 Граф 203 — двудольный 205 — кубический 205 — направленный 210 — однородный (регулярный) 205 — ориентированный 210 — планарный 215 — полный 205 — пустой (вполне несвязный) 205 — связный 204 — ^-связный 206 Графы гомеоморфные 205 — изоморфные 204 Дерево 205 — бесконечное информативное 104 — корневое 219 — растущее 212 Деревья одинаковые 220 Диаметр графа 204 Дизъюнкция 12 — над множеством переменных 47 — элементарная 47 Длина д. н. ф. 47 — к. н. ф. 47 Длина маршрута 204, 211 — слова 102 — теста 291 Дополнение графа 205 Замыкание множества функций 60 Знак условного равенства 181 Зона работы машины Тьюринга 181 Избыточность кода 235 Импликанта 296 — простая 78, 296 — ядровая 296 Импликация 12, 89 Интервал функции максимальный 296 ядровый 296 Инцидентность вершины и ребра 203 Источник орграфа 212 Итерация машины Тьюринга 186 Класс вычислимых функций 196 — общерекурсивных функций 196 — предполный 60 — примитивно рекурсивных функ- функций 196 — функционально замкнутый 60 — частично рекурсивных функций 196 Код алфавитный 230 — дерева 220 — набора основной машинный 190 решетчатый 191 — префиксный 231 Композиция машин Тьюринга 186
Предметный указатель 415 Компонента связности графа 204 Конденсация орграфа 212 Контакт замыкающий 312 — размыкающий 312 Контур в орграфе 211 Конфигурация машины Тьюринга 179 Конъюнкция 11 — над множеством переменных 47 — элементарная 47 монотонная 52 Критерий планарности 216 — Саломаа 97 — Слупецкого 97 — Яблонского 97 Лемма Бернсайда 274 — о нелинейной функции 68 немонотонной функции 75 несамодвойственной функции 64 Лес 205 Максимум х и у 89 Маршрут в графе 204 орграфе 211 Метод Блейка 296 — минимизирующих карт 298 — Нельсона 297 — неопределенных коэффициентов 53, 94 — Хэмминга 245 Минимум х и у 89 Мультиграф 203 — ориентированный 210 — планарный 215 Набор булев (двоичный) 9 , предшествующий набору 10 Наборы булевы противоположные 9 соседние 9 сравнимые 10 Неравенство Чебышева 279 Объединение графов 205 Оператор, порожденный функция- функциями 120 Операция введения обратной связи 146 — минимизация 196 — объединения д. функций 147 — отождествления переменных 33, 146 Операция примитивной рекурсии 195 — разветвления выхода 149 — суперпозиции 147 — удаления выходной переменной 146 Орграф 203 — транзитивный 215 Отрицание Лукасевича 88 — Поста 88 — ж 11 Отросток в сети 223 Ошибка в канале связи 245 Паросочетание 205 Переменная существенная 33 — фиктивная 33 Подграф 204 — остовный 204 —, порожденный подмножеством вершин 204 Подразбиение графа 205 Подфункция 39 Покрытие матрицы 290 Полином Жегалкина (по модулю 2) 52 Полином по модулю А; 93 Полу степень захода 211 — исхода 211 Префикс (начало) слова 103, 230 Принцип двойственности 31 Произведение по модулю к 89 Псевдограф 203 — ориентированный 210 Путь в орграфе 211 Разветвление машин Тьюринга 186 Разность по модулю к 89 — усеченная 89 Ранг элементарной конъюнкции 47 Расстояние Хэмминга 9 Ребра кратные (параллельные) 203, 210 Связка логическая 12 Сеть 219 — разложимая 223 — ^-полюсная 219 Система Поста 97 — Россера-Туркетта 97 — функционально полная 60 Слово бесконечное 102 — квазипериодическое 102
416 Предметный указатель Слово пустое 102, 180 Сложность д. н. ф. 47 Слой булева куба 9, 247 Соединение слов 102 Степень вершины графа 203 Сток орграфа 212 Стрелка Пирса 12 Сумма по модулю 2 12 к 89 Суперпозиция сетей 224 — функций 14, 195 Сфера в булевом кубе 241 Схема, реализующая функцию 145 Таблица каноническая 130 — критериальная 81 Теорема Визинга 217 — Кёнига 205 — о представлении вычислимой функции 196 — Пикар 97 — Поста (критерий полноты в ал- алгебре логики) 81 — Шеннона 217 Тест 291 Точка сочленения (разделяющая вершина) 206 Турнир 212 Уравнения канонические 128 Форма дизъюнктивная нормальная 47 кратчайшая 296 минимальная 296 совершенная 40 сокращенная 296 тупиковая 296 — конъюнктивная нормальная 47 совершенная 40 — &-значной функции вторая 91 первая 91 Формула над множеством связок 13 функциональных символов 12 — Стирлинга 278 Формулы одинакового строения 14 — эквивалентные 14 Функции конгруэнтные 60 — равные 31 Функции эквивалентные (неразли- (неразличимые) 103 Функция автономная (константная, без выхода) 123 — булева (булевская, алгебры логи- логики) 10 , двойственная к функции 31 линейная 68 монотонная 75 самодвойственная 31, 64 симметрическая 21 , сохраняющая константу 72 шефферова 81 элементарная 11 — Вебба 89 — выходов 127, 179 — вычислимая 196 — детерминированная 103 — ограниченно-детерминированная 103 — переходов 127, 179 — проводимости 312 — , реализуемая формулой 13 — &-значной логики 88 — — —, сохраняющая множество 92 , — разбиение 93 характеристическая второ- второго рода 88 первого рода 88 элементарная 88 — А;-фактор графа 205 Центр графа 223 Цепь в графе 204 Цикл в булевом кубе 242 графе 204 Число кликовое 216 — реберно-хроматическое 216 — хроматическое 216 Шар в булевом кубе 241 Штрих Шеффера 12 Эквивалентность машин Тьюринга 181 Эквиваленция 12 Элемент единичной задержки 151 ]х[ — минимальное целое число, не меньшее х 64 тг-сеть 224