Author: Гаврилов Г.П. Сапоженко А.А.
Tags: математика задачи по дискретной математике
ISBN: 5-9221-0477-2
Year: 2005
Text
УДК 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 человек, при- причем каждый из них знает хотя бы один иностранный язык. Десять человек знают английский, семеро — немецкий, шестеро — фран- французский, пятеро знают английский и немецкий, четверо — английский и французский, трое — немецкий и французс