Text
                    Я. М. ЕРУСАЛИМСКИЙ
ДИСКРЕТНАЯ
МАТЕМАТИКА.
ТЕОРИЯ И ПРАКТИКУМ
Учебник
ЛАНЬ®
• САНКТ-ПЕТЕРБУРГ ·
• МОСКВА · КРАСНОДАР ·
•2018·


ББК22Л76я73 Ε 79 Ерусалимский Я. Μ. Ε 79 Дискретная математика. Теория и практикум: Учебник. — СПб.: Издательство «Лань», 2018. — 476с: ил. — (Учебники для вузов. Специальная литература). ISBN 978-5-8114-2908-0 Учебник содержит основные разделы курса дискретной математики: «Алгебра высказываний», «Алгебра предикатов и множеств», «Элементы комбинаторики», «Отношения», «Булевы функции», «Элементы теории алгоритмов», «Элементы теории графов». Отдельная глава посвящена разбору решений задач и упражнений. Изложенный материал составляет теоретическую основу компьютерной математики. Учебник предназначен для студентов вузов, обучающихся по направлениям и специальностям, входящим в укрупненные группы «Математика и механика» и «Компьютерные и информационные науки». Издание будет полезно аспирантам, преподавателям вузов, инженерам-системотехникам, программистам. ББК22.176я73 Рецензенты: О. П. КУЗНЕЦОВ — доктор технических наук, профессор, зав. лабораторией Института проблем управления РАН; Т. М. ЛЕДЕНЕНА — доктор технических наук, профессор, зав. кафедрой вычислительной математики и прикладных информационных технологий Воронежского государственного университета. Обложка Е. А. ВЛАСОВА © Издательство «Лань», 2018 © Я. М. Ерусалимский, 2018 © Издательство «Лань», художественное оформление, 2018
Оглавление Предисловие 7 Введение 9 Глава 1. Алгебра высказываний 15 § 1.1. Высказывания. Операции над высказываниями 15 § 1.2. Формулы алгебры высказываний 27 § 1.3. Двойственность в алгебре высказываний. Принцип двойственности. Закон двойственности 33 § 1.4. Нормальные формы. СДНФ. СКНФ. Понятие о показателе степени. Показательные уравнения 37 § 1.5. Основные проблемы алгебры высказываний. Критерии тождественной истинности и тождественной ложности 45 § 1.6. Релейно-контактные схемы и схемы из функциональных элементов 49 Глава 2. Алгебры предикатов и множеств. Отображения 56 § 2.1. Предикаты. Логические операции над предикатами. Кванторы 56 § 2.2. Кванторы, их свойства и применение . . 60 § 2.3. Алгебра множеств 70 § 2.4. Отображения. Образ и прообраз множества при отображении. Свойства образов и прообразов 78 3
Дискретная математика § 2.5. Типы отображений. Обратимость и односторонняя обратимость 82 § 2.6. Семейства множеств и операции над семействами 88 Глава 3. Элементы комбинаторики 95 § 3.1. Что такое комбинаторика? Число элементов во множестве. Правило суммы 95 § 3.2. Декартово произведение множеств, множество степень 102 § 3.3. Множества инъективных и биективных отображений. Размещения, перестановки 109 § 3.4. Бином Ньютона. Сочетания. Сочетания с повторениями 117 § 3.5. Количество сюръективных отображений 129 § 3.6. Пути на решетке 132 § 3.7. Генерация комбинаторных объектов . . . 135 Глава 4. Отношения 159 § 4.1. η-местные отношения. Булевы алгебры отношений и матриц 159 § 4.2. Бинарные отношения на множестве. Свойства бинарных отношений 166 § 4.3. Отношение порядка и доминирование . . 169 § 4.4. Отношение эквивалентности 174 Глава 5. Булевы функции 178 § 5.1. Функции алгебры логики. Многочлены Жегалкина 178 § 5.2. Полнота и замкнутость. Классы Поста Р$ и Ρχ 187 § 5.3. Классы Поста L и S 191 4
Оглавление § 5.4. Класс Поста Μ 197 § 5.5. Критерий полноты (теорема Поста) ... 201 § 5.6. Пред полные классы и их свойства .... 206 Глава 6. Элементы теории алгоритмов .... 212 § 6.1. Что такое алгоритм? Вводные понятия 212 § 6.2. Машина Тьюринга. Описание. Примеры машин 217 § 6.3. Сочетания машин Тьюринга: композиция и объединение. Машины с полулентами, разветвление и итерация машин 222 § 6.4. Тьюрингов подход к понятию «алгоритм». Алгоритмически разрешимые и неразрешимые проблемы 233 § 6.5. Универсальная машина Тьюринга .... 236 Глава 7. Элементы теории графов 239 § 7.1. Введение, общее определение графа. Локальные характеристики 239 § 7.2. Изоморфизм графов. Геометрические графы. Плоские и неплоские графы. Реализуемость в /?з- Пути, цепи, контуры, циклы 246 § 7.3. Части графа: подграф, частичный граф. Связность и сильная связность, компоненты. Мосты графа 256 § 7.4. Эйлеровы графы, критерий эйлеровости 263 § 7.5. Деревья и леса 269 § 7.6. Помеченные графы. Перечисление помеченных деревьев. Матрицы графов 276 5
Дискретная математика § 7.7. Взвешенные графы. Задача о кратчайшем соединении. Кратчайшие пути 284 § 7.8. Пространства циклов и разрезов. Потоки в сетях 294 Глава 8. Практикум по решению упражнений и задач 312 § 8.1. Таблицы истинности формул алгебры высказываний 313 § 8.2. Равносильные преобразования и упрощение формул 319 § 8.3. Двойственность в алгебре высказываний 327 § 8.4. Нормальные формы: ДНФ, КНФ, СДНФ, СКНФ 329 § 8.5. Релейно-контактные схемы и схемы из функциональных элементов . 348 § 8.6. Алгебра предикатов. Кванторы 357 § 8.7. Алгебра множеств 361 § 8.8. Отображения 368 § 8.9. Комбинаторика 399 §8.10. Отношения 415 §8.11. Функции алгебры логики 422 §8.12. Машина Тьюринга 433 §8.13. Графы и их матрицы 441 Предметный указатель 457 Литература 470
Предисловие Первый вариант этой книги «Дискретная математика: теория, задачи, приложения» (Москва, Вузовская книга) вышел в 1999 г. За прошедшее время она многократно переиздавалась, последнее, 12-е издание, было выпущено в 2011 г. Книга «пережила» образовательные стандарты первого, второго и третьего поколений, и настоящий ее вариант написан в соответствии с ФГОС 3+2. Определение предмета «Дискретная математика» из «Введения» в книгу: «Дискретная математика - бурно развивающаяся в XXI веке ветвь математики. Ее роль и место определяются тремя факторами: • дискретную математику можно рассматривать как теоретические основы компьютерной математики; • модели и методы дискретной математики являются хорошим средством и языком для построения и анализа моделей в различных науках, включая химию, физику, биологию, генетику, психологию, экологию, социологию и др.; • язык дискретной математики чрезвычайно удобен и стал фактически метаязыком современной математики» — 7
стало каноническим. Оно вошло в образовательный стандарт Республики Беларусь по прикладной математике и информатике, цитируется без кавычек и ссылок диссертантами. Все это свидетельствует о том, что книга оказалась востребованной. Прошедшее время и опыт использования книги требуют внесения изменений в ее содержание. При подготовке учебника автор существенно расширил главу 3 «Элементы комбинаторики», добавив параграф 3.6 «Пути на решетке». Существенным дополнением к главе 3 является и новый параграф 3.7 «Генерация комбинаторных объектов», который может быть полезен тем, кто собирается в последующем заниматься приложениями, в том числе биоинформатикой, дизайном химических соединений и т. п. Глава 8 «Практикум по решению упражнений и задач» фактически новая - она заменила главу 8 «Задачи и упражнения для самостоятельного решения». Автор выражает благодарность профессору, заведующему лабораторией ИПУ РАН О. П. Кузнецову и профессору, заведующей кафедрой вычислительной математики и прикладных информационных технологий Воронежского государственного университета Т. М. Леденевой за ценные замечания и предложения, сделанные при рецензировании настоящего издания, а также своим дочерям Т. Я. Васильевой и Н. Я. Ерусалимской за помощь в подготовке настоящего издания книги.
Введение Памяти моих родителей пос&ящаю Дискретная математика — бурно развивающаяся в XXI в. ветвь математики. Ее роль и место определяются в основном тремя факторами: — дискретную математику можно рассматривать как теоретические основы компьютерной математики; — модели и методы дискретной математики являются хорошим средством и языком для построения и анализа моделей в различных науках, включая химию, физику, биологию, генетику, психологию, экологию, социологию и др.; — язык дискретной математики чрезвычайно удобен и стал фактически метаязыком современной математики. Математика как наука, естественно, от рождения делится на дискретную и континуальную математику. Что мы относим к континуальной математике? Все, что явно или неявно содержит идеи теории пределов и непрерывности. Все остальное — дискретная математика (т. е. арифметика, теория множеств и общая теория отображений, математическая логика, комбинаторный анализ, теория алгоритмов и многое другое). В учебный предмет «Дискретная математика» включают только тот круг вопросов, который можно озаглавить «Теоретические основы компьютерной математики». Прообраз этого пособия — курс дискретной математики, читаемый в течение ряда лет автором студентам 9
Дискретная математика первого курса специальности и направления подготовки «Прикладная математика и информатика». Это и определило его содержание и характер изложения. Учебный курс дискретной математики в институте математики, механики и компьютерных наук имени И. И. Воровича Южного федерального университета (до 2007 г. — Ростовский государственный университет) читается в первых двух семестрах и включает в себя 70 ч. лекций и 70 ч. практических занятий. У этого учебного предмета две главные задачи: первая - дать элементарное введение в теорию множеств, отображений, комбинаторику, язык предикатов и кванторов; вторая - стать теоретической основой для дисциплин компьютерного цикла. Существенным отличием этого учебника от других является систематическое использование языка теории множеств и отображений (в том числе и при изложении элементов комбинаторики). Это позволило сделать курс дискретной математики достаточно цельным, несмотря на разнообразие и внешнюю неоднородность изначального материала. Такой подход к изложению материала сложился на кафедре алгебры и дискретной математики РГУ со дня ее основания в 1972 г. и отражает методические воззрения заведующего кафедрой заслуженного деятеля науки РФ профессора И. Б. Симоненко (1935 — 2008 гг.) и его учеников. Нам представляется, что главная задача учебных курсов — не сообщение всех фактов, известных лектору, а привитие математической культуры мышления с помощью тщательно отобранного материала. 10
Введение В 2004 г. на базе кафедры математического моделирования РГУ была создана корпоративная кафедра математического моделирования, включившая в себя родственные кафедры трех вузов: Ростовского государственного университета, Таганрогского радиотехнического университета и Южно-Российского государственного технического университета (НПИ). Обсуждение этой книги на корпоративной кафедре показало, что она может быть использована и используется не только в классических университетах, но и в технических. Участники обсуждения порекомендовали автору уделить больше внимания решению примеров и задач к разделу «Отображения», поскольку этот раздел вызывает наибольшие трудности у студентов технических специальностей. Ответим на ряд вопросов, которые могут возникнуть у заинтересованного читателя. • Какие предварительные знания необходимы изучающему дискретную математику по этому учебнику? Достаточным и необходимым является знание школьного курса математики. • Для изучения каких предметов будут полезны знания, полученные при изучении этого курса? Перечислим основные учебные курсы: «Математический анализ», «Алгебра», «Теория вероятностей», «Функциональный анализ», «Исследование операций» и все предметы компьютерного цикла дисциплин. • Какие источники необходимо дополнительно привлечь для изучения курса дискретной математики? Учебник замкнут в себе и одновременно открыт. Что это означает? Все сведения и факты, составляющие содержание курса, а также задачи и упражнения приведены в учебнике. Это позволяет обходиться без спе- 11
Дискретная математика циальных задачников. Каждый раздел снабжен замечаниями и вопросами для самоконтроля. Открытость курса обеспечена наличием списка литературы, позволяющего заинтересованному читателю продвинуться дальше. • Что молено посоветовать преподавателю, избравшему этот учебник в качестве основного? Небольшой объем материала и подробные доказательства в тексте позволят: а) не требовать от студентов обязательного конспектирования лекций; б) уделять на лекциях больше внимания обсуждению существа предмета, оставив выкладки, а порой и доказательства целых теорем для самостоятельного изучения. • Что молено посоветовать ассистенту? Следует уделить особое внимание упражнениям по комбинаторике. Изложение этого раздела существенно отличается от традиционного. Это должно сказаться и на подходах к решению задач и необходимых комментариях преподавателя. Перечислим имена крупных ученых, внесших существенный вклад в современную дискретную математику: английский математик и философ Б. Рассел, английский математик А. Тьюринг, американские математики A. Черч, К. Гедель, Э. Пост, С. Клини, польские математики Л. Лукасевич, С. Мостовской, советские математики А. А. Марков, И. И. Жегалкин, П. С. Новиков, B. М. Глушков, российские математики С. В. Яблонский, О. Б. Л у панов, Ю. И. Журавлев. В настоящее время исследования по дискретной математике активно ведутся в МГУ на кафедрах дискретной математики, математических методов прогнозирования, математической кибернетики, суперкомпьютеров и кван- 12
Введение товой информатики, в СПбГУ на кафедре теоретической кибернетики, в Санкт-Петербургском отделении Математического института им. В. А. Стеклова РАН. в ИПУ РАН. в Институте математики СО РАН и НГУ на кафедрах дискретной математики и информатики, теоретической кибернетики, в УрФУ на кафедре алгебры и дискретной математики, в ИММ УРО РАН, в КФУ на кафедре теоретической кибернетики, в ЮФУ на кафедре алгебры и дискретной математики и в других научных центрах нашей страны. Мы постарались снабдить учебник биографическими ссылками, считая, что, изучая предмет, нельзя не уделять внимания его истории и людям, которым принадлежат основополагающие результаты. Большинство биографических ссылок подготовлены по книге: Бородин А. И., Бугай А. С. Биографический словарь деятелей в области математики: пер. с укр. — Киев: Радяньска школа, 1979. Не только бурное развитие компьютерной техники и компьютерных наук, появление Интернета, мобильной связи, систем спутниковой навигации ставит новые задачи перед дискретной математикой. Практически весь рукотворный мир стал дискретным или, как теперь говорят, цифровым (digital). Цифровыми стали телевидение и радиовещание, аудио- и видеозапись. Оцифровываются не только документы, но и произведения искусств. Достигаемое при этом качество изображения и звука определяется уже не техническими возможностями устройств, а нашими потребностями. Развитие естественных наук на рубеже XX-XXI вв.: квантовой физики и химии; нанотехнологии (т. е. физики, химии, механики наноизмерений); генетики и биоинформатики; биотехнологий и генной инженерии показало, 13
Дискретная математика что непрерывные модели недостаточны или неэффективны в этих науках. Что касается гуманитарных, социальных наук и экономических наук, то в них непрерывные (континуальные) математические модели часто являются отходом от существа дела, поскольку изучаемые в этих науках процессы дискретны априори. Математика, ответственная за разработку моделей, используемых в других науках, вступает в эпоху дискретной математики и дискретного математического моделирования. Сказанное не следует воспринимать как заупокойную мессу по непрерывной математике или как гвоздь в ее гроб. Ни о каком исчерпании возможностей континуальной математики речь не идет и не может идти. Существует и будет существовать единая наука — математика, в которой на разных этапах скорость развития отдельных ее отраслей неравномерна. Если с XVII в. по середину XX в. континуальная математика в своем развитии опережала дискретную, то сейчас, по моему мнению, начинается этап опережающего развития дискретной математики. Отбирая материал в этот учебник, я руководствовался личным опытом преподавания дискретной математики и своим собственным восприятием ее как науки. Выражаю надежду, что мои пристрастия придутся по вкусу читателям этой книги. При этом следует понимать, что этот учебник представляет собой элементарное введение в дискретную математику. Ее изучение начинается с этого учебника, но не заканчивается на нем.
Глава 1 Алгебра высказываний §1.1. Высказывания. Операции над высказываниями Как и во всей математике, в данном курсе, в каждом его разделе, существуют основные понятия, с которых все начинается. Считается, что у каждого из нас существуют интуитивные представления о них. В этих интуитивных представлениях спрессован исторический опыт человечества в области математических знаний. Основные понятия не определяются, для них даются квазиопределения, как правило, содержащие отсылки к другим неопределенным понятиям и объектам. В первой главе таким основным неопределяемым понятием является высказывание. Высказывание — связное повествовательное предложение, о котором можно сказать, истинно оно или ложно. Пример 1.1. «2x2 = 4». (Дважды два равно четырем.) Пример 1.2. «2 < 3». Пример 1.3. Река Дон в 2002 году впадает в Каспийское море. Пример 1.4. «х < 2, χ £ R». (Вещественное число χ меньше, чем два.) Пример 1.5. Площадь отрезка меньше длины куба. Π 15
Глава 1. Алгебра высказываний Пример 1.6. Является лих = 3 корнем уравнения x2-bx=W Пример 1.7. Меньше один в является два при. Пример 1.8. Слава российским студентам! Пример 1.9. 3 ^ 5. В приведенных примерах высказываниями являются 1.1, 1.2, 1.3. 1.9. Причем 1.1 и 1.2 — истинные высказывания, а 1.3 и 1.9 — ложные. Пример 1.5 — это пример связного повествовательного предложения, которое не является высказыванием, так как о нем нельзя сказать, истинно оно или ложно (из-за отсутствия в этом предложении какого-либо смысла). Примеры 1.6 и 1.8 не являются высказываниями, так как не являются повествовательными предложениями. Пример 1.7 не является высказыванием, несмотря на его повествовательность (в конце него стоит точка), по причине его несвязности, а значит, и отсутствия смысла. Предложение примера 1.4 не является высказыванием, несмотря на свою повествовательность, связность и осмысленность. В нем содержится переменная, из-за присутствия которой это предложение обладает свойством превращаться в высказывание при фиксации значения этой переменной. Если через Р(х) обозначить предложение примера 1.4, то Р{—1) — истинное высказывание, Р(3) — ложное высказывание. Ясно, что объекты такого типа являются обобщением понятия высказывания. К изучению этих объектов мы приступим позже, в главе 2. В дальнейшем нас будет интересовать не то, о чем идет речь в высказывании (его содержательная часть), а лишь какое значение истинности («истина», «ложь») оно имеет. В алгебре высказываний все высказывания, имеющие одинаковые значения истинности, взаимозаме- 16
§1.1. Высказывания. Операции над высказываниями няемы, т. е. мы имеем два класса высказываний: класс истинных высказываний и класс ложных высказываний. Введем следующие обозначения: если а — высказывание, то через α будем обозначать его значение истинности. Если а — истинное высказывание, то а = 1 (и, t). Если а — ложное высказывание, то а = 0 (л, f). (Здесь и далее в скобках приводятся другие встречающиеся в литературе обозначения.) Таким образом, символ <Г» может рассматриваться как отображение множества высказываний в двухэлементное множество {0; 1}. Определение 1.1. Два высказывания а и h будем называть равносильными (и писать а = Ь), если а = Ь, т. е. а = Ъ <& а = Ъ (знак О используется как символ метаязыка, заменяющий «тогда и только тогда, когда»). Логические операции над высказываниями В русском языке (как и в любом другом) из простых связных повествовательных предложений с помощью некоторых стандартных связок (конструкций) можно образовывать новые (составные) повествовательные предложения. В алгебре высказываний этим конструкциям соответствуют логические операции. Так как нас интересует не содержательный смысл высказывания, а только его значение истинности, то для определения (задания) операции достаточно определить значение истинности результата применения операции. 17
Глава 1. Алгебра высказываний Отрицание Отрицание — унарная логическая операция (т. е. применяемая к одному высказыванию), соответствующая конструкциям: «Не ...», «Не верно, что ... ». Определение 1.2. Отрицание высказывания а — высказывание, обозначаемое а (^а) и определяемое следующей таблицей: α 0 1 а 1 0 Очевидно, имеет место свойство а = а. Оно называется законом двойного отрицания. Перейдем теперь к определению бинарных (т. е. применяемых к паре высказываний) операций алгебры высказываний. Конъюнкция Конъюнкция (логическое умножение) соответствует союзу «и» в русском языке, т. е. конструкции «... и х х х ». Определение 1.3. Конъюнкцией высказываний а и h называется высказывание, обозначаемое а Л Ь (а · bt ah, a&cb) и определяемое следующей таблицей: α 0 0 1 1 6 0 1 0 1 аЛЬ 0 0 0 1 18
§1.1. Высказывания. Операции над высказываниями т. е. конъюнкция а /\Ь истинна тогда и только тогда, когда истинны оба высказывания а, Ь. Имеют место следующие свойства: а) а Л ft = ft А а— коммутативный закон; б) а Л 1 = αΊ в) аЛ0 = 0/ г) а Л α ξ а законы «О» и «1» для конъюнкции; закон идемпотентности. Дизъюнкция Дизъюнкция (логическое сложение) соответствует неразделительному «или» в русском языке, т. е. конструкции «... ИЛИ ххх». Определение 1.4. Дизъюнкцией высказываний а, Ь называется высказывание, обозначаемое α V ft и определяемое следующей таблицей: α 0 0 1 1 Ъ 0 1 0 1 а\/Ь 0 1 1 1 т. е. дизъюнкция α V ft лоэюна тогда и только тогда, когда ложны оба высказывания а, ft. Имеют место следующие свойства: a)aVft = ftVa — коммутативный закон; б) а V 1 = 1 1 в) аУд = а] г) a V а = а законы «О» и «1» для дизъюнкции; закон идемпотентности. 19
Глава 1. Алгебра высказываний Эквиваленция Эквивалепция (равносильность) соответствует конструкции «... равносильно ххх» (« ... тогда и только тогда, когда ххх»). Определение 1.5. Эквиваленцией высказываний а, Ь называется высказывание, обозначаемое а ~ Ь (а <г> Ь) и определяемое следующей таблицей: а 0 0 1 1 Ъ 0 1 0 1 α~ό 1 0 0 1 т. е. эквиваленция а ~ Ь истинна тогда и только тогда, когда образующие ее высказывания а, Ь имеют равные значения истинности. Очевидно, имеют место следующие свойства: а) а ~ b = b ~ a — коммутативный закон; б) а ~ b = а *·> Ь\ в) а ~ 1 = а; г) а ~ 0 = а. Импликация Импликация соответствует конструкции «Если ... , то ххх» («Из ... следует ххх»). Определение 1.6. Импликацией высказываний a, b называется высказывание, обозначаемое а —> b (a D Ь, а => Ь) и определяемое следующей таблицей: 20
§1.1. Высказывания. Операции над высказываниями а 0 0 1 1 Ϊ 0 1 0 1 а^Ь 1 1 0 1 га. е. импликация а —> Ь ложна тогда и только тогда, когда а — истина, ah— ложь. Высказывания, образующие импликацию а —» ft, имеют специальные названия: а — посылка (гипотеза, антецедент), Ь — заключение (вывод, консеквент). При первоначальном знакомстве с логическими операциями кажется, что все они, кроме импликации, введены довольно естественно, а восприятию введенного определения импликации наше сознание сопротивляется. Однако можно привести пример, показывающий, что такое определение импликации соответствует нашей интуитивной логике и конструкции «Если ... , то ххх », которой мы пользуемся в математике очень часто. Вспомним одну теорему из арифметики — Q(x) = «Если натуральное число χ делится на 4, то оно (натуральное число х) делится на 2». В справедливости этой теоремы мы не сомневаемся, т. е. какое натуральное число χ мы ни зафиксируем в Q(x), мы получим истинное высказывание. Обозначим А(х) = «Натуральное число χ делится на 4», В(х) = «Натуральное число χ делится на 2». Тогда имеем Q{x) = А{х) -> В(х). (1.1) Фиксируя в (1.1) значения χ = 8, 2, 3, мы реализуем строки 1 —» 1, 0 —» 1, 0 —> 0. Ясно, что не удается для (1.1) подобрать такое значение х, чтобы реализовалась 21
Глава 1. Алгебра высказываний ситуация 1 —> 0 (так как справедлива приведенная теорема, т. е. Q(x) = А(х) —> В(х) = 1). Очевидно, имеют место свойства: а) a —l· ЬфЬ -Л а; б) а —> а = 1; в) 0->а = 1; г) 1 —> а = а; д) а-> 1 = 1; е) а 4 0 ξ а. Заметим, что в обычном языке в предложении вида «Если А, то В» А и В содержательно (контекстно) связаны. Это совершенно необязательно в нашем определении импликации, т. е. мы имеем право рассматривать импликацию вида: «Если сегодня четверг, то 2 х 2 = 5», которая истинна во все дни, кроме четверга, а в четверг ложна. В большинстве алгоритмических языков имеется логический оператор «if Ρ then S», использование которого несколько отличается от определения импликации, а именно если Ρ — истина, то отрезок S программы выполняется, а если Ρ — ложь, то отрезок S программы опускается (не выполняется). Пример 1.10. Каково значение переменной χ после выполнения следующего фрагмента программы if χ < 2 then χ := Зх. если до начала его выполнения: а) х = 1; б) χ = 4? Ответ: а) х = 3; б) χ = 4. С импликацией а —» Ъ связывают еще две импликации: Ъ —ϊ α, Ъ —ϊ а. Первую из них называют обращением а —> Ь, вторую — контрапозицией импликации а —» Ь. Π 22
§1.1. Высказывания. Операции над высказываниями Π Пример 1.11. Найти обращение и контралозицию следующей импликации: «Если сегодня четверг, то 2 χ 2 = 4». Решение. Обращение исходной импликации имеет вид: «Если 2 χ 2 = 4, то сегодня четверг», а контра- позиция: «Если 2 х 2 φ 4, то сегодня не четверг». Зависимости между операциями Введенные операции не являются независимыми, одни из них могут быть выражены через другие. Теорема 1.1. Справедливы следующие равносильности: a —l· Ъ = α V Ь; а ~ Ь = (а -> Ь)(Ь -> а) = (а V Ь) · (а V 5) = (а · Ь) V (а · Ъ). (Всюду в дальнейшем знак ► означает начало доказательства, решения примера и т. п., а знак Μ — окончание.) ► Любую из этих равносильностей можно доказать с помощью таблицы истинности (см. «Замечания и вопросы в конце параграфа», п. 2). Μ Из приведенных равносильностей видно, что —» и ~ выражаются через V, Λ и ->. В дальнейшем будет показано, что через V, Ли-ι можно выразить любую операцию алгебры высказываний. Поэтому основное внимание мы уделим изучению свойств этих операций, которые принято называть булевскими (булевыми) операциями алгебры высказываний. *Буль Джордж (1815 1864) английский математик-самоучка. Преподавал в Queen's College (Шотландия). В 1854 г. первым определил то, что теперь называют булевыми алгебрами. 23
Глава 1. Алгебра высказываний Теорема 1.2. Справедливы следующие 19 равносильно- стей для булевых операций алгебры высказываний: 0. а = а — закон двойного отрицания 1. aVb = коммутативные законы 2. aAb m ' = ЬУа Ί = ЬЛа ) 3. а\/(Ъ\/с) = (aVb)Vc 4. аЛ(ЬЛс) = (аЛЬ)Лс L — ассоциативные законы 5. aV(bAc) = (aVb)A(aVc) Ί — дистрибутив- 6. aA(bVc) = (aAft)V(aAc) J ные законы I __ законы идемпотентности 8. α Λα = а ) 9. aW h = а /\Ъ \ лт 2 > — законы де Моргана* W.aAb = aVb j F 11. aVl = 1 > — законы нуля и единицы 13. а V 0 = а 14. α Л 1 = a ::} 15. aV(aAb) ξ». . ν ' ι — законы поглощения 16. aA(aVb) 17. α ξ 1 — закон исключенного третьего 18. α Λ α ξ 0 — закон противоречия ► Любую из них молено доказать с помощью таблицы истинности. Μ 2Де Морган Огастес (1806 1871) шотландский математик. Окончил Trinity College (Кембридж). Преподавал в University College (Лондон). Среди его учеников много известных математиков, в т. ч. дочь Байрона Августа Ада Кинг Лавлейс основатель программирования. В ее честь назван алгоритмический язык «Ада». 24
§1.1. Высказывания. Операции над высказываниями Логические и битовые операции В компьютерах основной единицей информации является бит. Бит принимает два возможных значения: О или 1, иными словами, бит — одноразрядное двоичное число. Для обозначения значения истинности высказывания мы также использовали 0, 1. Таким образом, если а — высказывание, то его значение истинности а — бит информации. Переменная, принимающая значения во множестве {0,1}, обычно называется булевой переменной. То есть булева переменная — это такая переменная, задание значения которой определяет один бит информации. Компьютерные битовые (или логические) операции соответствуют операциям над высказываниями (вернее, над их значениями истинности). Приведем таблицы, определяющие операции -», or (V), and (&, Λ), xor (θ): and χ 0 1 -ч 1 0 or 0 1 0 0 1 1 1 1 о 1 о о о 1 о 1 хог 0 1 0 0 1 1 1 0 Определение 1.7. Битовой строкой длины η (η Ε Ν) называется последовательность длины п} элементами которой являются биты. Например, 0110010 — битовая строка длины 7. Битовые операции естественным образом (поэлементно) распространяются на битовые строки равной длины. Их обозначения: bitwise -ι, bitwise or, bitwise and, bitwise xor. Пример 1.12. bitwise -. (0110010) = 1001101 0110010 1101010 Π 1111010 0100010 1011000 bitwise or bitwise and bitwise xor 25
Глава 1. Алгебра высказываний Замечания и вопросы в конце параграфа |~?~| ГП 1. У нас встречались записи такого типа: «aVO», «α—>► 1», ... Повсюду в них 0 и 1 — символы ложного и истинного высказывания соответственно. 2. При задании логических операций мы использовали таблицы α 0 0 1 1 b 0 1 0 1 aUb где D — символ определяемой операции, в первых столбцах таблиц перечислены возможные наборы значений истинности высказываний а, Ь. Всевозможные наборы значений истинности порождают строки таблицы. Каждый такой набор значений истинности может рассматриваться как двоичная запись неотрицательного целого числа. Наборы мы всегда будем располагать сверху вниз в порядке возрастания неотрицательных целых чисел ОО2 = Ою, 012 = 1нь Юг = 210, Иг = Зю. Такое расположение наборов называется лексикографическим порядком, которого мы будем всегда придерживаться. Приведите примеры теорем, имеющих конструкцию эквиваленции, импликации; посмотрите, какие строки таблицы, определяющей операцию, можно реализовать, а какие — нет. 26
§ 1.2. Формулы алгебры высказываний 4. Постройте примеры неверных математических утверждений, имеющих конструкцию эк- виваленции, импликации. Какие строки таблицы, определяющей операцию, удастся реализовать, показывая, что утверждение неверно? 5. Сколько всего различных бинарных операций над высказываниями можно определить? §1.2. Формулы алгебры высказываний Будем считать, что существует некоторое множество элементарных высказываний (типа «2x2 = 4»). Как правило, их будем обозначать первыми буквами латинского алфавита, а также 0, 1. Введем в рассмотрение выска- зывательные переменные — символы, вместо которых можно подставлять высказывания. Высказывательные переменные, как правило, обозначают последними буквами латинского алфавита (х, t/, г, i, w, ...). Мы ввели также знаки (обозначения) логических операций. Введем еще два служебных символа: «(» — открывающая скобка и «)» — закрывающая скобка. Под формулами алгебры высказываний будем понимать осмысленные выражения, полученные из символов элементарных высказываний, символов высказыватель- ных переменных, знаков операций (конечного числа) и скобок, определяющих порядок действий. Пример 1.13. ((а —> х) V а) ~ (χ Λ у). Пример 1.14. ((а V 0) Λ ((/с) V а)) -> х. Пример 1.15. (а —>) ~ (с Vx)). Пример 1.16. (—> χ У у) ~. Ясно, что 1.13,1.14 — формулы, 1.15, 1.16 не являются формулами (проверьте почему). Π 27
Глава 1. Алгебра высказываний Дадим более четкое определение формулы алгебры высказываний. Определение 1.8 1. Элементарные высказывания, символы логических переменных — формулы. 2. Если Fi и F2 — формулы алгебры высказываний, то 7Y, (Fi V F2)? (Fx Л F2), (Fx - F2), (Fx -> F2) - формулы алгебры высказываний. 3. Других формул алгебры высказываний нет. ГП Замечание 1 — Из определения 1.8 видно, что любая формула, отличная от перечисленных в п. 1, должна быть заключена в наружные скобки. Поэтому выражения из примеров 1.13 и 1.14 также не являются формулами в смысле определения 1.8. Каковы лее функции наружных скобок? Они нужны для будущего — для подготовки формулы к образованию из нее новых формул (с помощью п. 2). Замечание 2 Определение формулы таково, что формулы насыщены скобками и трудночитаемы, поэтому мы примем соглашения об упрощении записи формул: а) наружные скобки в записи формул можно опускать; б) условимся, что конъюнкция «сильнее» дизъюнкции, а обе они «сильнее» —» и ~, поэтому часть скобок, определяющих порядок действий, можно опускать; в) скобки, определяющие порядок действий, в ассоциативном случае можно опускать (см. п. 3, 4 в теореме 1.2); г) конъюнкцию будем обозначать знаком «·» или знак конъюнкции опускать. 28
§1.2. Формулы алгебры высказываний Π Пример 1.17. Дана формула ((((а Л Ь) Л с) V с) -> ((а V 5) Л а)). Ее упрощенная запись имеет вид аЪсУ c-ϊ (а V 5) - а. Приведем теперь без доказательства три важнейшие теоремы алгебры высказываний. Теорема о фиксации значений в формуле Теорема 1.3. Если F(x\. Х2, ··. ^хп) ~~ формула алгебры высказываний, где χι, Х2,..., хп ~~ высказывательные переменные формулы, то при фиксации значений всех высказывательных переменных (т. е. при подстановке вместо них высказываний) формула алгебры высказываний превращается в высказывание. То есть формула алгебры высказываний является отображением множества наборов значений высказывательных переменных в высказывания. Можно также говорить о функции истинности формулы F(xi,X2t-· ,Χη) ~~ отображении множества наборов высказывательных переменных во множество {0; 1}. Теорема о подстановке формул в формулу Определение 1.9 Пусть F(yi,y2,... ,ϊ/m), /ι( ), /2(^l,^2,.-.,^n), ..., fm (x\ ,12,-·?^) ~ формулы алгебры высказываний. Подстановкой формул fi в формулу F будем называть следующую конструкцию: Ф(хг,Х2,...,хп) = \F\yi<_fJ (χι,χ2ί..-,^η) = = F(fi(xuX2,...,Xn),f2(xuX2,..-,Xn),.·-, • · * τ J τη \Χ\·! *^21 '' * ? *^η / * 29
Глава 1. Алгебра высказываний Последняя запись означает, что все вхождения у\ заменяются на fi(xi*X2.... ,хп), У2 па /2(^1? ^2? ■·· ,хп)> ··■; Ут па /т(хЬХ2,...,Хп). Теорема о подстановке формул в формулу Теорема 1.4. Если F и /,· — формулы алгебры высказываний, то (F\ f)(χι,Χ2· ··· ?χη) — формула алгебры высказываний. При этом говорят, что она получена из формулы F подстановкой формул fi вместо ее переменных. Равносильность формул. Теорема о равносильной подстановке Определение 1.10. Две формулы алгебры высказываний /ι(χι5... ,хп) и /2(^1 ? ··· 5^п) называют равносильными (пишут /ι(χχ,... , χη) = /2(^1? ■·· ,χη)), если /χ(χχ,...,χη) = /2(^1,...,^π)· В высказываниях нас не интересует содержательная часть, а интересуют только значения истинности; множество всевозможных наборов значений истинности выска- зывательных переменных конечно (состоит из 2п наборов), и функцию / (χχ,..., хп) можно задать таблично. Такая таблица называется таблицей истинности формулы. Дадим второе определение равносильности формул. Определение 1.10'. Две формулы /χ (х\,..., хп) и /2(^1, ··· т^п) равносильны, если столбцы /χ и /2 их таблиц истинности совпадают. 30
§ 1.2. Формулы алгебры высказываний Теорема 1.5 (о равносильной подстановке) Пусть F(yuy2, — ,ym) = G(yi,y2,...,ym), /iOi,...,:rn) =3i(xi,...,xn), /2(21,...,xn) ξ g2(xi,...,in), . . . J тогда (FL<-/<) (^ ■■·,*«) ξ (g|№_J (*ι,...,*«). Слушатель, интересующийся длинными и скучными доказательствами, может обратиться к книге С. К лини «Математическая логика» (М. : Мир, 1973). Определение 1.11. Формулы алгебры высказываний, при образовании которых не использовались операции, отличные от V, Л и -ι, называют булевыми формулами алгебры высказываний. Теорема 1.6. Для любой формулы алгебры высказываний существует равносильная ей булева формула алгебры высказываний. ► Прежде чем начать доказательство теоремы, дадим определение ранга формулы алгебры высказываний. Определение 1.12. Рангом формулы называется число логических операций, встречающихся в формуле, причем каждая операция считается столько раз, сколько встречается. \Щ Пример 1.18. а-Ь-(а —> Ь)Ус — формула ранга 6. 31
Глава 1. Алгебра высказываний Доказательство теоремы проведем индукцией по рангу формулы. 0° (случай формул нулевого ранга), rang (/) = 0. Все формулы ранга 0 перечислены в п. 1 определения формулы (определение 1.8) — все это булевы формулы (так как в них нет небулевых операций). 1° (случай формул ранга 1). Все формулы ранга 1 имеют следующие конструкции: 1) -.Δ; 2)Δνϋ; 3) Δ Л D; 4) Δ -> D; 5) Δ ~ D, где Δ и D — формулы нулевого ранга, а значит (см. 0°), булевы формулы. Тогда 1-3 также булевы формулы. Очевидно, в случаях 4 и 5 имеет место: A-^DeAVD, Δ-ϋΞΔ·ϋνΔΌ, при этом справа стоят булевы формулы. 2° (индуктивный переход). Допустим, утверждение теоремы справедливо для любой формулы ранга, меньшего или равного щ. Докажем, что тогда утверждение теоремы справедливо и для любой формулы, имеющей ранг п0 + 1. Пусть rang (/) = 71о + 1. Выделим в / последнюю операцию, тогда / имеет одну из следующих конструкций: 1) -.Δ; 2) Δ V D; 3) Δ Λ D; 4) Δ -> D; 5) Δ - D, где Δ и D — формулы ранга, меньшего или равного по- Для Δ и D справедливо предположение индукции, т. е. Δ = Δβ, D = Dg, где Δβ и Пб — булевы формулы алгебры высказываний, тогда -.Δ = ^Ав; А V D = А6 V D6; Δ Л D = Δ6 Λ D6. Δ -> D = Аб V D6; Δ - D = Аб · D6 V Δ6 · Пб, так как справа стоят булевы формулы, то индуктивный переход доказан, а вместе с этим и вся теорема. Μ 32
§ 1.3. Двойственность в алгебре высказываний Вопрос в конце параграфа |~?~| При доказательстве последней теоремы мы неявно пользовались теоремой о равносильной подстановке. Самостоятельно разберитесь, в каких местах доказательства используется эта теорема. §1.3. Двойственность в алгебре высказываний. Принцип двойственности. Закон двойственности Определение 1.13. Пусть }{х\,Х2, ··· 7^n) — формула алгебры высказываний. Двойственной к ней будем называть формулу f*(xi*X2*..., хп)> определенную следующим: /*(х1,х2,...,хп) = f(x\,X2,-..,Xn). Из закона двойного отрицания следует, что (/*)* = /. П| Пример 1.19. (0)*ξ0ξ1;(1)*ξ1ξ0;(χ)*ξϊξχ; (х\/ у)* = (х\/у) = χ* у; (х Л у)* = (х Л у) = χ V у. Теорема 1.7 (закон двойственности) Формулы fi(xi,x2,...,xn) и /2(χι,Χ2τ'·:Χη) равносильны тогда и только тогда, когда равносильны fi(xi,X2,.--,Xn) и /Ζ(χι,Χ2,...,χη), гп. е. /ΐ(Χΐ^2,-,^)Ξ/2^ΐΓ^-^η) & /ϊ(χΐ,Χ2,...,Χη) = ί2(ΧΙιΧ2τ··ιχη)· Для доказательства закона двойственности установим связь между таблицами истинности формулы и двойственной к ней. 33
Глава 1. Алгебра высказываний Утверждение. Столбец значений f* может быть получен из столбца f с помощью инвертирования, т. е. симметрией относительно середины и отрицания. хх 0 0 1 1 ^2 0 0 1 1 хп 0 1 0 1 7 α β 7 δ Г δ Ί β α ► Пусть /ι = /2 j тогда столбцы Д и /2 совпадают, тогда инвертированные столбцы, т. е. столбцы для /j" и/£, совпадают. Это означает, что мы доказали, что f\ = /2 => Я = Я, но тогда Я = Я =► (Я)* = (Л)* ^ Λ = к- < Теорема 1.8 (общий принцип двойственности) Пусть тогда Ф*(Х1,Х2,...,ХП) = (^*|^<_г*) (^1,^2,.··,^η). Ξ (F(/i(xi,X2,.-.,^n),...,/m(a:i,2C2,...,^n)))* = Ξ F(/i(xi,X2,.-.,^n),...,/m(^l,^2,...,^n)) = = ^ (/l(^b^2, •»i^n),--.i/m(^b^2J--,^n)j = ^^(№ь12г-ч4''м/тК12,..-,1п)) = 34
§ L3. Двойственность в алгебре высказываний Принцип двойственности для булевых формул Теорема 1.9. Двойственная к булевой формуле может быть получена заменой констант 0 на 1, 1 на О, V на А, Л на V и сохранением структуры формулы (т. е. соответствующего порядка действий). Fjl Пример 1.20. (х · у V ζ)* = (χ \/у) · ζ. Скобка в правой части примера 1.20 поставлена для сохранения структуры формулы. ► Доказательство теоремы проведем индукцией по рангу формулы. 0-й шаг (случай формул ранга 0). Все формулы нулевого ранга описаны в п. 1 определения формулы (см. определение 1.8). Это формулы 0, 1, х. Мы знаем из примеров, что 0* = 1, 1* = 0, х* = х, т. е. утверждение теоремы выполнено. 1-й шаг (случай формул ранга 1). Все булевы формулы имеют вид: -ιΔ, Δ V D, Δ Л D, где Δ, D — булевы формулы ранга 0. Применим общий принцип двойственности: (Δ V D)* = I t/i V ю^а ) = У1 Л 2/2|У1^д* = Δ* Λ D*; (Δ Λ D)* = [ ух Л У2\У1^а) = Vi V Ι&Ι^δ· = Δ* V D*. Очевидно, во всех случаях в правой части получилось то, что нужно. Индуктивный переход. Предположим, что утверждение теоремы справедливо для любой формулы ранга, меньшего либо равного по. Докажем, что тогда оно справедливо и для формулы ранга по + 1. 35
Глава 1. Алгебра высказываний Пусть rang(/) = по + 1. Выделим в / последнюю операцию, тогда / имеет один из следующих видов: -ιΔ, Δ V D, Δ Л D, где Δ, D — булевы формулы ранга, меньшего или равного по. Тогда по предположению индукции Δ* и D* получаются из Δ и D по предписанным доказываемой теоремой правилам. Тогда, повторяя рассуждения первого шага, имеем: (-.Δ)* = Δ*; (Δνϋ)* = Δ*Λϋ*; (ΔΛϋ)* = Δ* VD*. Индуктивный переход доказан, а вместе с ним и вся теорема. < Замечание в конце параграфа ГП Закон двойственности облегчает нашу жизнь вдвое, т. е. если мы, например, с помощью таблиц истинности или равносильными преобразованиями доказали, что /ι = /2, то автоматически мы доказали, что /Г = Я· В теореме 1.2 о девятнадцати основных равносиль- ностях для булевых операций мы располагали их, начиная с первой, двойственными парами. Поэтому достаточно с помощью таблиц истинности доказать равносильности 0,1,3, 5,.... 17, а 2,4,6,..., 18 будут выполнены по закону двойственности. 36
§ 1.4. Нормальные формы. СДНФ. СКНФ § 1.4. Нормальные формы. СДНФ. СКНФ. Понятие о показателе степени. Показательные уравнения высказывательная переменная. х, если σ = 1; χ, если σ = 0. Удобство введенного показателя степени состоит в том, что однотипно обозначаются χ их. Рассмотрим уравнение χσ = 1, (1.2) где χ — неизвестное; σ — параметр. Очевидно, уравнение (1.2) имеет единственное решение χ = σ (χ =■ σ). Рассмотрим уравнение xi * х2 ' ■·* ' хп.1 — 1· (1-3) где Xi — неизвестные, σι — параметры. Очевидно, уравнение (1.3) имеет единственное решение χι = σι, Я2 = 0"2, ■··, χη=ση. Рассмотрим уравнение V <'-42·- ·<" = !, (1.4) {σι,σ2, ...,ση)£Σ Очевидно, множеством решений уравнения (1.4) является множество Σ. Определение 1.14 Пусть σ £ {0.1}, χ Определим χσ ■ 37
Глава 1. Алгебра высказываний Лемма 1.1 (о разложении по переменной) Пусть f(xi.X2,... ,хп) — формула алгебры высказываний, 1 ^ г ^ п, тогда f{x\,X2,... ,Χη) = Xif(xi,X2,··- ,Xi-l,l,Xi+l, ... ,Xn)V VX{f{xi, ^2, ■ · · , ^i-b 0, Xi+1, -. ■ , Xn) = = V ^/(^I'^i-'-t^i-li^iiXi+i,...,^). ^€{0,1} (1.5) ► Множество всевозможных наборов значений истинности высказывательных переменных разобьем на два множества — L II, отнеся к I все такие наборы а = (αϊ,α2,..., αη), в которых α ι =■ 1, ко II — все такие наборы α = (αϊ, аг,..., αη), в которых щ = 0. Пусть α Ε Ι. Подставляя его в правую часть (1.5), получим 1_· /(αι,α2, ...,αί_ι,1,αί+ι,... ,αη) V VT· /(αι,α2, ...,ai-i,0,ai+i,...,an) = = 1 · /(αι,α2,... ,ai_i,a£,ai+i,...,an) V0 = = /(αι,...,αη). Пусть α Ε II. Подставляя его в правую часть (1.5), получим 0 · /(αι,α2,... ,а»_ь 1,αί+ι,... ,а„) V V0· /(αι,α2,...,α»-ι,0,αΐ+ι,...,αη) ξ 0 V/(ai,a2,...,ai-i,af,ai+i,...,an) = /(аь ... ,an)· ^ Пусть /(χι,χ2,... ,хп) — формула алгебры высказываний. Применяя лемму о дизъюнктивном разложении по переменной χι, получим f(x1,x2,...,xn) = Υ ^Γ1 ' Л^ь^-^п)· (1-6) <7ΐ£{0;1} 38
§ 1.4. Нормальные формы. СДНФ. СКНФ Применяя к подчеркнутым множителям в (1.6) лемму о разложении по переменной х2, получим /(χι,χ2,...,χη) = = V <Ч V χ?-/(σι,σ2,2:3,...,χη)).(1.7) <7ΐ£{0;1} \σ2€{0;1} / Применим в правой части (1.7) дистрибутивный закон для конъюнкции относительно дизъюнкции (п. 6 теоремы 1.2), тогда /(xi,X2,...,XTl) = = V V Х11 'Х22 '/(^Ь^^-^п)· σι6{0;1}ί72^{0;1} Продолжая последовательное разложение по переменным, получим f(xi,x2,..-,xn) = ξ V V ·■■ V χΡ·χ22·- ίτι^{0;1} σ2£{0;1} σΛ€{0;1} ■■■я#> ■/(σι,σ2ί...,σ„)= (1.8) de/ = V ^Γ '^22···<η 7(^1^2,.-,^)· <τ^{0;1} Полученное в правой части (1.8) представление формулы /(xi,x2,... ,хп) называется ее полным дизъюнктивным разложением. Множители /(σι, σ2,..., ση) не содержат переменных, т. е. являются высказываниями. Опуская в (1.8) все слагаемые, в которых /(σι, σ2,..., στι) = 0, получим /(Xl,X2, ... ,Χπ) = γ Χχ · Χ2 * * * χτι · *ΐ€{0;1}| /(σ1?σ2ί...,ση) = 1 (1-9) То есть мы доказали следующую теорему: 39
Глава 1. Алгебра высказываний Теорема 1.10. Для любой формулы алгебры высказываний, отличной от тождественно ложной, существует ее представление в виде (1.9), которое называется ее совершенной дизъюнктивной нормальной формой (СДНФ). Докажем единственность СДНФ, т. е. если /(Ж1,Ж2, ...,*п) = V ЖГ ·χ22···χηΛί (1Л0) (σΐ5<72,... ,ση.)£Σ то правая часть (1.10) совпадает с правой частью (1.9) с точностью до порядка слагаемых. Рассмотрим уравнение /(xi,X2,...,ttn) = 1- (111) В силу (1.10) оно равносильно уравнению V 4"42···ίΞΐ, (1.12) (σι,σ2ί... ,ση)£Σ а в начале этого параграфа мы доказали, что множеством решений такого уравнения является множество Σ. Таким образом, Σ — это множество всех тех наборов значений переменных, на которых /(σι,σ2,... ,ση) = 1, это же множество фигурирует в правой части (1.9). Единственность доказана. Таким образом, мы доказали теорему: Теорема 1.11. Для любой отличной от тождественно ложной формулы алгебры высказываний существует и единственное ее представление в виде СДНФ — дизъюнкции полных совершенных элементарных конъюнкций (слагаемых вида х^1 · х%2 · · · %ηη)· Теорема 1.12. Для любой отличной от тождественно истинной формулы алгебры высказываний существует и единственное ее представление в виде совершенной 40
§ 1.4. Нормальные формы. СДНФ. СКНФ конъюнктивной нормальной формы (СКНФ) — конъюнкции полных совершенных элементарных дизъюнкций (т. е. сомножителей вида (х^1 V х^2 V ... V х£п)). /(х1,х;8,...,хп)=(/*(х1,х2,...,хп))*=(СДНФ(/*)Г = V х\ ' х2 ' * 'хп I = '»е{0;1}| 7*(τι>τ2,...,τη)=1 J = Λ (x?Vx?V... Vx£>) = Tte{0;l}| 7*(rljr2j...,r„)=l crte{0;l}| Л^1,сг2,...,сг/1)=0 Существование СКНФ доказано. Докажем единственность СКНФ. Будем доказывать от противного, т. е. предположим, что существует такая формула φ{χ\,х2...., хп)> У которой по крайней мере две СКНФ (СКНФ(^)1 и СКНФ(^)2)? тогда , = Г (СКНФ(^)О* ξ СДНФ(^)1; φ ~ \ (СКНФ(^)2)* = СДНФ(^*)2, что противоречит единственности СДНФ для φ*, Μ Таким образом, мы показали, что для формул алгебры высказываний существуют равносильные им, однозначно определенные ими канонические представления - СДНФ и СКНФ. Пример 1.21. Рассмотрим формулу х\ —> Х2 = (χι Vx2)· Мы получили СКНФ для импликации. Продолжим преобразования, опустим внешние скобки. х\ —* х2 = χι V х2 = χι · 1 V 1 · Х2 = = Х\ ♦ (Х2 V Х2) V (Xl V Х\) ♦ Х2 = = Χ~ι · Х2 V ~Х\ · Х2 V Х\ · Х2 V Χ~ι · Χ2 = = х\х~2 V х\Х2 V х\Х2 — СДНФ импликации. π 41
Глава 1. Алгебра высказываний На этом примере покажем связь между таблицей истинности формулы и ее совершенными нормальными формами: XI 0 0 1 1 Х2 0 1 0 1 Х\ —» Х2 1 1 0 1 Χχ —> Х2 = ΧχΧ2 V ^1^2 V 'т1х2 — = XIХ2 V ΧιХ2 V Х1Х2 — СДНФ. хг -» х2 = (х\ V х%) = (х? V х\) = = (хг V х2) - СКНФ. Дадим серию определений. Определение 1.15 Пусть Vn — {x\\xi\X2\X2\ -·\χη\%η} ипусгпъ ν{φ0)CVTl. Элементарной конъюнкцией (ЭК), порожденной подмножеством ν, называется конъюнкция всех элементов V. Определение 1.16. Элементарная конъюнкция называется совершенной (СЭК), если в нее не входит никакая из переменных одновременно с отрицанием этой переменной. Определение 1.17. Элементарная конъюнкция называется полной (ПСЭК), если в ней представлены все переменные. Аналогично с ЭК, СЭК и ПСЭК определяются ЭД (элементарная дизъюнкция), СЭД, ПСЭД. Определение 1.18. Дизъюнктивной нормальной формой (ДНФ) называется дизъюнкция элементарных конъюнкций. 42
§1.4. Нормальные формы. СДНФ. СКНФ Определение 1.19. Конъюнктивной нормальной формой (КНФ) называется конъюнкция элементарных дизъюнкций. Ясно, что СДНФ является ДНФ, СКНФ является КНФ. Сформулируем и докажем основную теорему для нормальных форм. Теорема 1.13. Для любой формулы алгебры высказываний существуют равносильные ей ДНФ и КНФ. ► Приведем конструктивное доказательство, опишем алгоритм перехода к ДНФ (КНФ). • Рассмотрим отдельно случай формул ранга 0: 1=х\/х = (х\/ х), 0= χ -х = (х) · (х). ДНФ КНФ ДНФ КНФ Формула χ является одновременно и ДНФ, и КНФ. • Случай формулы г ^ 1. Опишем шаги алгоритма, приводящие к цели. 1. Пользуясь формулами х^у = х\/уих^у = = χ -у V χ -у, перейти к равносильной булевой формуле. 2. Пользуясь законами де Моргана, перейти к формуле с тесными отрицаниями, т. е. содержащей отрицание не выше, чем над переменными (пропустить отрицание внутрь формулы). 3. Пользуясь дистрибутивными законами, сделать дизъюнкцию внешней операцией (или конъюнкцию для КНФ). <« 43
Глава 1. Алгебра высказываний \Щ Пример 1.22. Пример, (х ~ у) —» [ζ ~ ху) = (ху V χ · у) V (xyz W ху · ζ) = = xy(x-y)V (xyz) · (ху · г) ξ ξ (χ V у)(χ V у) V (χ V у V z)(xy V г) = !_____ _ ξ χ · χ V ху V ху V уу V χ ♦ ху V ху · yV V ху · ζ V xz V yz V zz = = хуУхуМxyz V xz V yz=(xy\/xyz)\/xy\i'xz \/yz = = x(y\Jy~z) VxyVxzVyz = x(y\/y~z) \/xy\/xz\/yz = = x(y \i^)\/xy\/xz\/yz = = xy\/ x~zVxy\/xzVyz = (x(y V z) Vx(y\iz))\iyz = = (x(y V^)Vj)· ((x(y Vl)V(i/V z)) Vyz = = (x\/yVz)((xVy\/z)(y\/z\/y\/z))\/yz = = ((xVyVz)(xVy Vz)Vy) ((xVyVz)(xVyVz)\/z) = = (xVyVzVy)(xVy\/zVy)(x\/yVz\/z)(xVy\/zVz) = = {x\Jyyz){x\Jy\Jz). ™ 12 3 ____ 4 Выражения после ξ, =·. = являются ДНФ, после =, 5 5 = являются КНФ; выражение после = — СКНФ. Замечания в конце параграфа ГП 1. Как видно из примера, ДНФ и КНФ, в отличие от СДНФ и СКНФ, не обладают свойством единственности (однако это не всегда является недостатком). 44
§ 1.5. Основные проблемы алгебры высказываний 2. Пункт 3 алгоритма для построения ДНФ психологически выполнять легче (раскрыть скобки), чем п. 3 для КНФ. Поэтому можно предложить обходной маневр: после выполнения п. 1, 2 перейти к двойственной формуле, выполнить для нее п. 3 построения ДНФ и выписать для полученной ДНФ двойственную (это и будет КНФ исходной формулы, так как (/*)* = /). § 1.5. Основные проблемы алгебры высказываний. Критерии тождественной истинности и тождественной ложности Формулы алгебры высказываний обычно делят на три типа: тождественно истинные (тавтологии), тождественно ложные (противоречия) и нетривиально выполнимые (остальные). Наибольший интерес для математики представляют тождественно истинные формулы — именно они представляют собой скелеты (схемы) логически безупречных рассуждений. Классический пример такой схемы рассуждений дает следующая тождественно истинная формула: х{х —Ь у) —> у (modus ponens). Эта формула — схема рассуждения вида: «Известно, что из χ следует у и χ — выполнено, значит, выполнено у». В алгебре высказываний выделяют три основные проблемы: разрешения, равносильности, представимости. Сформулируем их. 45
Глава 1. Алгебра высказываний Проблема разрешения Существует ли алгоритм, позволяющий с помощью равносильных преобразований для произвольной формулы алгебры высказываний выяснить, является она тождественно истинной, тождественно ложной или нетривиально выполнимой? Проблема равносильности Существует ли алгоритм, позволяющий с помощью равносильных преобразований для произвольных формул выяснить, являются ли они равносильными? Проблема представления Можно ли двузначную 0-1 функцию η двузначных переменных /(χι, Χ2, ·*· ?Хп) реализовать формулой алгебры высказываний F(x\,X2, ... ,хп) так; чтобы /Οι, х2,..., хп) = F(xi,x2,..., Хп)? Ответ положителен. Причем для двух последних проблем его можно получить, применяя теорию СДНФСКНФ. Что касается первой проблемы, то для нее проще обойтись ДНФ и КНФ. Критерий тождественной истинности формулы Теорема 1.14. Для того чтобы формула алгебры высказываний была тождественно истинной, необходимо и достаточно, чтобы в равносильной ей КНФ были тождественно истинны все элементарные дизъюнкции. ► Справедливость критерия очевидна. < 46
§ 1.5. Основные проблемы алгебры высказываний Критерий тождественной истинности элементарной дизъюнкции Теорема 1.15. Для того чтобы элемемтарпая дизъюнкция была тождественно истинна, необходимо и достаточно, чтобы в ней существовала хотя бы для одной переменной пара — переменная и ее отрицание. ► Достаточность очевидна, так как ··· V χ Ух V ··· = 1. Необходимость Докажем от противного. То есть предположим, что существует тождественно истинная элементарная дизъюнкция, для которой не выполнены условия теоремы. Высказывательные переменные с помощью этой ЭД разобьем на три типа: «+», «—», «0». К типу «+» отнесем переменные, которые вошли в ЭД сами (без отрицания); к типу «—» отнесем переменные, которые входят в ЭД своими отрицаниями; к типу «0» — те переменные, которые вовсе не представлены в ЭД. Сформируем (αι,α2, ...,αη) — набор значений переменных, полагая п. _ /0, если χι е « + »; г \ 1, если χι Ε « — » U «0», и подставим этот набор в нашу ЭД. Получим ονον···νο = ο, что противоречит тождественной истинности ЭД. < Критерий тождественной ложности формулы Теорема 1.16. Для того чтобы формула алгебры высказываний была тождественно ложной, необходимо и достаточно, чтобы в равносильной ей ДНФ все ЭК были тождественно ложны. 47
Глава 1. Алгебра высказываний Критерий тождественной ложности ЭК Теорема 1.17. Для того чтобы ЭК была тождественно ложной, необходимо и достаточно, чтобы в ней существовала хотя бы для одной переменной пара — переменная и ее отрицание. Ясно, что две последние теоремы — двойственные результаты для предыдущих. п Пример 1.23. Дана формула ху· (χ -> ζ) ~ ~ζ. Классифицировать эту формулу. ► Построим ДНФ: ху · (х —> ζ) ~ ~ζ = ху · (х —> ζ) · ~ζ V ху · (χ —> ζ) · ζ = = xy(xW ζ) ·£ V f χ V у V (χ V ζ) J · ζ = = ху · ~χ · ~ζ V ху · ζ · 2 V хг V у ζ V χζ · ζ = = χ - ζ\/ у · ζ. По критерию тождественной ложности получаем, что формула не является тождественно ложной. Построим КНФ: ху-(х -> ζ) ~ 2 = x-z\/y-z = (xVt/)-z. По критерию тождественной истинности получаем, что формула не является тождественно истинной. Вывод: формула нетривиально выполнима. Μ Замечания и вопросы в конце параграфа |~?~| ГП 1. Ясно, что для проблемы разрешения можно обойтись только совершенными нормальными формами. 2. Попробуйте в терминах С ДНФ (СКНФ) для формулы от η переменных дать решение проблемы разрешения. 48
§ 1.6. Релейно-контактные схемы §1.6. Релейно-контактные схемы и из функциональных элементов схемы Рассмотрим электромагнитные реле, состоящие из катушки индуктивности, контактной группы и вспомогательных элементов (пружина, корпус и т. п.). Реле бывают двух типов: нормально разомкнутые (рис. 1.1) и нормально замкнутые (рис. 1.2). пружиня ,'"*4·- ---" контактная группа . катушка индуктивности Рис. 1.1 Рис. 1.2 Условимся, что если по катушке индуктивности течет ток, то значение управляющего сигнала равно 1, если нет тока, то значение управляющего сигнала равно 0. Если контактная группа находится в замкнутом положении, то значение функции проводимости реле равно 1; если в разомкнутом — 0. Работа реле описывается таблицами Управ. 1 сигнал| 0 1 | Функция проводимости нормально разомкнутое реле 0 1 1 Управ. |сигнал 0 | 1 1 Функция проводимости 1 | нормально замкнутое реле | 1 1 ° 1 Т. е. нормально разомкнутое реле имеет тождественную функцию проводимости, а нормально замкнутое — 49
Глава 1. Алгебра высказываний отрицание управляющего сигнала. Если управляющий сигнал обозначить х, то нормально разомкнутое реле будем обозначать нормально замкнутое Рассмотрим схему X ->х —.11 •у Очевидно, ее функция проводимости — χ -у, т. е. последовательное соединение реле реализует конъюнкцию. Рассмотрим схему ПУ Очевидно, ее функция проводимости — χ V у, т. е. параллельное соединение реле реализует дизъюнкцию. Определение 1.20. Функцией проводимости схемы называется способность проводить или не проводить ток через схему соединения контактных групп реле в зависимости от комбинации управляющих сигналов, поданных па обмотки всех реле, образующих схему. Сформулируем основные задачи теории релейно- контактных схем. 50
§ 1.6. Релейно-контактные схемы 1. Задача синтеза. Построить схему, реализующую заданную функцию проводимости. Эта задача разрешима — достаточно построить формулу алгебры высказываний типа СДНФ или СКНФ (очевидно, что формулы такого типа реализуемы схемами). 2. Задача упрощения. По данной схеме построить более простую схему, имеющую такую же функцию проводимости (т. е. равносильную схему). Сразу заметим, что единого критерия простоты схемы нет, а пример упрощения будет приведен ниже (построение машины голосования). 3. Задача анализа схемы. Не включая схему в работу, проанализировав соединения контактных групп, найти функцию проводимости схемы. (Задачи такого типа — одна из составляющих промышленного шпионажа.) В качестве примера решения задач 1 и 2 рассмотрим построение машины голосования. Пример 1.24. Комитет состоит из трех человек (х, у, ζ) и принимает решения простым большинством голосов. Построить схему машины голосования для этого комитета так, чтобы в случае принятия решения загоралась лампочка. Очевидно, если договориться о том, что в случае голосования «за» управляющий сигнал равен 1, а «против» — 0, то функция проводимости имеет следующий вид: Π X У ζ Функция проводимости 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 51
Глава 1. Алгебра высказываний Выпишем по таблице СДНФ — xyz V xyz V xyz V xyz. Задача синтеза уже решена. Нарисуем схему для полученной формулы: -\ -иг | 1 У | 1 ζ |— ΐ ΐ ΐ Перейдем к задаче упрощения: xyz V xyz V хт/г V χϊ/ζ = = xyz V xyz V xyz V xt/z V xyz V xyz = ξ (χ V x)yz V x(y V y)z V xy{z \ί ζ) = xy\/ xz\J yz. Нарисуем схему для полученной формулы: ΐ ■о: > Мы сэкономили 6 реле (!). Можно продолжить упрощения: xy\/xz\/yz = x(y V ζ) V yz. Сэкономлено еще одно реле, но схема стала менее технологичной (потеряна симметричность). Нарисуем схему для полученной формулы: 52
§ 1.6. Релейно-контактные схемы Двоичный сумматор Перейдем к построению схемы основного элемента арифметического процессора любой ЭВМ — п-раз- рядного двоичного сумматора. η-разрядный сумматор будем строить из η штук одноразрядных двоичных сумматоров. Управляющими сигналами одноразрядного сумматора г-го разряда являются Xi, yi — значения г-го разряда слагаемых и pi — перенос в г-й разряд из предыдущего (pi = 0). В результате работы сумматора должны быть сформированы: Z{ — значимые суммы в г-м разряде и pi+i — значение переноса в г + 1 разряд. Ясно, что работа сумматора описывается таблицей Ζι — функция проводимости для суммы; Рг+1 — фуНКЦИЯ ПРОВОДИМОСТИ для переноса. Очевидно, ρι+ι =Xiyi\/XiPi\/yiPi (см. построение машины голосования — пример 1.24). Zi=pi+l(xi\/yi\/pi)\/XiyiPi. Построим схему одноразрядного сумматора как схему из функциональных элементов, используя следующие элементы: Хг 0 0 0 0 1 1 1 1 Vi 0 0 1 1 0 0 1 1 Pi 0 1 0 1 0 1 0 1 Zi 0 1 1 0 1 0 0 1 Pi+i 0 0 0 1 0 1 1 1 \V/ дизъюнкция; конъюнкция; 53
Глава 1. Алгебра высказываний отрицание (вверху — входы (упр. сигналы), внизу — выход). Тогда схема сумматора имеет вид Pi γΙ Υ Zi I f [ 4 \$L \—" 4 $ Μ γ γ R Γ Pi+i Полученную схему одноразрядного сумматора можно считать функциональным элементом с тремя входами и двумя выходами. %i Уг Рг ΓςΠ \Pi+l\ 54
§ 1.6. Релейно-контактные схемы Построим теперь схему η-разрядного сумматора: %п-1 Уп-1 1 1 | рз|узГ~? |а?2|ю|~? Fi|g/iTpi нЧ"""? у Δ-*η-1 Рп Ф4 Us Σ2 ΡΆ \Ζ2 Σ: Ρ2 \Ζ\ Ρη+1 на устройства управления Обозначения: о — элементы задержки, запирающие сумматор до того, как прошло суммирование в предыдущем разряде; рп+1 подается на устройство управления для выработки сигнала о переполнении сумматора в случае, когда рп+1 = 1· Вход pi заземлен. Замечания и вопросы в конце параграфа |~?~| ГП 1. Ясно, что в современной вычислительной технике используются не электромеханические реле, однако смысл от этого не меняется. 2. Для чего в ЭВМ необходим датчик частоты? 3. Почему с увеличением разрядности уменьшается быстродействие компьютера? 4. Почему заземлен вход р\ в η-разрядном сумматоре? 5. Почему в цифровой электронике предпочтение отдано двоичной системе счисления? 6. Какова функция элементов задержки в п-разрядном двоичном сумматоре? 7. Что такое «переполнение» сумматора и как компьютер «узнает» о его возникновении? 8. Сколько входов и выходов у одноразрядного и η-разрядного двоичных сумматоров?
Глава 2 Алгебры предикатов и множеств. Отображения §2.1. Предикаты. Логические операции над предикатами. Кванторы Предметом изучения в этой главе будут предикаты — отображения произвольных множеств во множество высказываний. Фактически мы совершаем переход на новый уровень абстракции, переход такого типа, какой был совершен в школе — от арифметики вещественных чисел к алгебре числовых функций. Определение 2.1. Пусть χχ,χ2,... ,хп — символы переменных произвольной природы. Эти переменные будем называть предметными. Пусть наборы значений переменных (χι,Χ2, ···, Хп) принадлежат (выбираются из) множеству Ω, которое будем называть предметной областью. Предикатом местности η (п-местным предикатом), определенным на предметной области Ω, называют функцию (отображение), определенную на Ω, принимающую значения во множестве высказываний. Прежде чем перейти к рассмотрению примеров, дадим квазиопределение тг-местного предиката. Определение. «Связное повествовательное предложение, содержащее η переменных и обладающее следующим свойством: при фиксации значений всех переменных о нем (предложении) можно сказать, истинно оно или ложно». 56
§ 2.1. Предикаты. Кванторы Π Пример 2.1. D{xi,X2) =■ «Натуральное число х\ делится (без остатка) на натуральное число Х2» — двуместный предикат, определенный на множестве пар натуральных чисел Ν χ N. Очевидно. D(4, 2) = 1, 5(3, 5) = 0. Пример 2.2. Q(x) = «χ2 < —Ι,χ Ε Я» — одноместный предикат, определенный на R. Ясно, что Q(—l) = 0, ζ?(\/3) = 0 и вообще предикат Q(x) — тождественно ложен, т. е. Q(x) = 0. Пример 2.3. R(x,y,z) = «x2+y2^z\ x,y,z€R» — трехместный предикат, определенный на Д3. Д(1,1,-2) = 0, Я(1,1,2) = 1. Пример 2.4. S(x,y) = sin2xy > —3; χ, у €R — тождественно истинный двуместный предикат. Пусть Ρ(χι,Χ2? ··· ,Χη) — n-местный предикат, определенный на Ω. Свяжем с ним два множества (подмножества Ω), определенные следующим: • Р-1({1}) = «множество всех наборов значений переменных, на которых значение предиката Ρ — истинное высказывание». Это множество называют множеством истинности предиката Р. • Р_1({0}) = «множество всех наборов значений переменных, на которых значение предиката Ρ — ложное высказывание». Это множество называют множеством ложности предиката Р. Определение 2.2. Предикат Р, определенный на Ω, называется тождественно истинным, если Ρ-1({1}) = Ω(Ρ-1({Ο}) = 0); тождественно ложным, если Ρ-1({Ο}) = Ω(Ρ-1({1}) = 0); нетривиально выполнимым, если Ρ-Ι{{\})φ0 и Р-1({О})^0. 57
Глава 2. Алгебры предикатов и множеств. Отображения Изобразил! в Я3 множества R 1({1}), R г({0}) (см. рис. 2.1) для предиката R(x, t/, z) примера 2.3. Рис. 2.1. Поверхность и внутренность изображенного параболоида вращения — Д-1({1}), внешность — i?_1({0}). Логические операции над предикатами Поскольку предикаты — это отображения со значениями во множестве высказываний, где введены логические операции, то эти операции, естественно, определяются и для предикатов. Определение 2.3. Пусть Ρ — предикат, определенный на Ω. Отрицанием предиката Ρ называется предикат, обозначаемый -ιΡ (Ρ), определенный на ft следующим образом: def (-^P)(xi,...,xn) = Ρ(χι,...,χη)5 def ■ Пусть Р и Q — предикаты, определенные на Ω. L,...,xn) j 58
§ 2.1. Предикаты. Кванторы Дизъюнкцией (конъюнкцией, импликацией, эквиваленци- ей) предикатов Ρ и Q называется предикат, определенный на Ω, обозначаемый Ρ V Q (Ρ Л Q(P · Q, P&Q, PQ)), Ρ —¥ Q, Ρ ~ Q) и определяемый следующим: def (PVQ)(xi,....xn) = P(xi,....xn) VQ(xi,...,i„). l(^AQ)(ji,...;Tri) = P(xi,...,xn)AQ(xi,...,xn)j . (P-> Q)(xi?...,xn) = P(xi,...,xn) -^ Q(xi,...xn) J . c/e/ \ (P~Q)(xi,...,xn) ξ P(xb...,xrJ ~ Q(xb...xn) I . Определение 2.4. Предикаты Р и Q, определенные на Ω, называются равносильными (пишут Ρ = Q). если Р(хь...,хп) = д(хъ...,хп) для любого набора (χι,... ,хп) предметных переменных из Ω. Теорема 2.1. Мноэюество η-местных предикатов, определенных на Ω, образует булеву алгебру предикатов, т. е. для них справедливы 19 основных равносильностей булевой алгебры: 0. -Ι-.Ρ = Р. 1. PyQ = Qy Р. 2. PAQ = QAP. def 3. Ρ V (Q V Я) = (Ρ V Q) V R = Ρ V Q V R. def 4. PA(QaR) = (PAQ)AR = PAQAR. 5. PV(QAi?) = (PVQ)A(PV.R). 6. PA(QV,R)^(PAQ)V(PAi?). 7. n(PvQ) = nPAnQ. 8. n(PAQ) = ^P\/^Q. 9. PvP = P. 59
Глава 2. Алгебры предикатов и множеств. Отображения 10. РЛР = Р. 11. PV1 = 1. 12. ΡΛΟξΟ. 13. PVOeP. 14. ΡΛΙξΡ. 15. PV(PAQ) = P. 16. PA(P\fQ) = P. 17. PV-ιΡξ l. 18. ΡΛ-ΡξΟ. Здесь 1 — обозначение тождественно истинного предиката на Ω; 0 — обозначение тождественно ложного предиката на Ω. ► Справедливость этой теоремы очевидна, так как операции над предикатами вводились с помощью операций над высказываниями, а высказывания образуют булеву алгебру (теорема 1.2). < § 2.2. Кванторы, их свойства и применение В этом параграфе мы познакомимся с двумя операциями, уменьшающими местность (т. е. количество переменных) предиката, — фиксацией значений переменной и навешиванием кванторов (квантификацией). Эти операции принципиально отличаются от изученных ранее логических операций, которые сохраняли местность предикатов. Наиболее важными с точки зрения приложений в других областях математики являются операции навешивания кванторов. Утрируя, можно сказать, что математика говорит на языке предикатов и кванторов. Наиболее насыщен предикатами и кванторами математический 60
§ 2.2. Кванторы, их свойства и применение анализ, особенно в своих базовых понятиях (предел последовательности, предел функции, непрерывность, равномерная непрерывность, сходимость ряда и т. п.). Плохое владение языком предикатов и кванторов вызывает у многих студентов панический страх при изучении математического анализа. Стоит затратить небольшие усилия для того, чтобы понять, что разноименные кванторы не коммутируют. Это снимет проблемы в понимании того, чем отличается определение непрерывности функции на множестве от определения равномерной непрерывности функции на множестве. Уделите особое внимание примерам, связанным с применением языка предикатов и кванторов для записи математических утверждений. Операции, уменьшающие местность предикатов 1. Фиксация значений переменных Пусть P(xi,..., хп) — п-местный предикат, определенный на Ω. Зафиксируем χι = α, 1 ^ г ^ п. Обозначим Ω,ια — множество значений переменных х\...., xi-\, Х{+\...., хп, определяемое следующим: (χι,...,Χί-ΐ,χ»+ι,...,χη) Είί^ *» (χι,... ,х{_1,а,х{+1,... ,хп) е Ω. Определим на Ω^ (η — 1)-местный предикат Q(x\,..., Xi-i,Xi+ι,...,xn) следующим: Ц/^Χι, ... , Χ2_χ. Xi-\-l, · .· , Xrl) = i (Xl, · -· , Χ%—1? Ο") Xi-f-l, ·.. . Xjir Говорят, что предикат Q{x\,..., Χ{-\, Xi+ι.. ·., χη) πο_ лучен из предиката Р(х1?...,хп) фиксацией значения г-й переменной Х{ = а. 61
Глава 2. Алгебры предикатов и множеств. Отображения Π Пример 2.5. Зафиксировав в предикате R(x, у, ζ) примера 2.3 значение третьей переменной 2 = 3, получим двуместный предикат «х2 + у2 ^ 3; х, у е R». 2. Кванторы Приведенные ниже конструкции очень распространены в математике (особенно в математическом анализе), и, вероятно, вам у лее приходилось с ними встречаться. Обратите особое внимание на приведенные ниже определения, так как при интуитивном пользовании неаккуратно введенными объектами у вас могли уже выработаться «вредные привычки и дурной тон». Определение 2.5. Пусть Р(х) — одноместный предикат. Поставим ему в соответствие высказывание, обозначаемое Vx Р(х) (читается «для любого хР(ф), которое истинно тогда и только тогда, когда Р(х) — тождественно истинный предикат. О высказывании VxP(x) говорят, что оно получено из предиката Ρ навешиванием квантора всеобщности по переменной х. Определение 2.6. Пусть Р(х) — одноместный предикат. Поставим ему в соответствие высказывание, обозначаемое Зх Ρ\х) (читается «существует χ Ρ(х)»), которое ложно тогда и только тогда, когда Р(х) — тождественно лоэюный предикат. О высказывании Зх Р(х) говорят, что оно получено из предиката Ρ навешиванием квантора существования по переменной х. 62
§2.2. Кванторы, их свойства и применение ГП Замечание 2.1. Обозначения V и 3 для кванторов — это перевернутые латинские буквы А и Ε соответственно, которые являются первыми буквами английских слов all — «все», exist — «существовать». Замечание 2.2. Высказывания можно считать предикатами, не содержащими переменных, т. е. 0-местными предикатами (или предикатами любой местности). Замечание 2.3. В силу замечания 2.2 кванторы можно рассматривать как отображения множества одноместных предикатов во множество высказываний (0-местных предикатов), т.е. отображения, уменьшающие местность на 1. Замечание 2.4. Формулы алгебры высказываний от η высказывательных переменных можно рассматривать как η-местные предикаты от этих переменных. Основные равносильности, содержащие кванторы. Кванторы как обобщение логических операций Пусть Ρ(χι,... .Хп) — η-местный предикат, определенный на Ω. Зафиксируем в нем значения переменных χι...., Xi-i, Xi+i,..., Xnt на полученный одноместный предикат Q(x{) навесим квантор всеобщности (существования), получим высказывание. Тем самым фиксированному набору значений переменных х\...., Xi-i, Хг-ы...., Χ/ι с помощью квантора всеобщности (существования) поставлено в соответствие высказывание. Сопоставление любому набору значений переменных х\,.... Х{-\, Xi+i,..., хп вполне определенного высказывания — это отображение из множества наборов значений переменных х\,..., Xi-i, х%+\,..., хп 63
Глава 2. Алгебры предикатов и множеств. Отображения во множество высказываний, т. е. предикат от этих переменных. Говорят, что этот (п — 1)-местный предикат переменных χι,... .х^_1,х;+1,... ,хп получен из исходного предиката Ρ(χι,...,хп) навешиванием квантора всеобщности (существования) по г-й переменной. Этот (п — 1)-местный предикат обозначают Vx; Р(хь...,хп) (Зх{ Ρ(χι,...,χη)). Об г-й переменной (которой уже нет) говорят, что она связана квантором всеобщности (существования). Π Пример 2.6. Пусть D{x\,X2) — предикат примера 2.1. Навесим последовательно на его переменные кванторы. Ясно, что 1) Vxi Vx2 D(xi,X2) = 0. 2) Vx2 Vxi D(xi,X2) = 0. 3) 3xi 3x2 D(xi,X2) = 1. 4) 3x2 3xi D(xi,x2) = 1. 5)Vxi 3x2 D(xi,X2) = 1. 6) 3x2 Vxi D(xi,X2) = 1. 7) 3xi Vx2 D(xi,X2) = 0. 8)Vx2 3χχ D(xi,X2) = 1. Таким образом (сравнением 7 и 8 в последнем примере) мы доказали теорему: Теорема 2.2. Разноименные кванторы, вообще говоря, не коммутируют. 64
§ 2.2. Кванторы, их свойства и применение Основные равносильности, содержащие кванторы Теорема 2.3 Имеют место следующие равносильности: l.Vrr Р(х) = Зх Р(х) Ί законы де Моргана 2. Зх Р(х) = Ух Р(х) ) для кванторов } } 3. Ух У у Р{х, у) = У у Ух Р(х, у) Ί коммутация одно- 4. Зх Зу Р(х, у) = Зу Зх Р(х, у) ) именных кванторов 5. Ух(Р(х) · Q(x)) = УхР(х) . yxQ(x) Λ дистрибутивные > законы для кван- 6. 3x{P{x)\fQ{x)) = 3xP(x)\/3xQ(x) J торов 7.yx(P(x)yQ(y))=yxP(x)yQ(y) Ί законы ограничения 8.3x(P(x)AQ(y)) = 3xP(x)AQ(y) J действия кванторов — каков бы ни был 9. ЗуУхР(х. у) —» УхЗуР(х. у) = 1 двуместный предикат Р(х, у) ► * ► Пусть Ρ такой предикат, что левая часть в (1) ложна <£=> УхР(х) — истина Ф> Р(х) — тождественно истинный предикат <£> Р(х) ~ тождественно ложный предикат Ф> ЗхР(х) — ложь. Таким образом, мы доказали, что левая и правая части в (1) ложны одновременно, а значит, и истинны они тоже только одновременно. М\ 2 ► ЗхР(х) = ЗхРЩ = УхЩ) = VxP(i). <2 3 ► Пусть Р(х, у) — такой двуместный предикат, что левая часть в (3) — истина <=> VyP(x, у) — тождественно истинный предикат переменной χ <=>, зафиксировав произвольное хо, мы получим, что Vt/P(x(b у) — истина О, 65
Глава 2. Алгебры предикатов и множеств. Отображения зафиксировав произвольное xq, мы получим Р(хо,у). — тождественно истинный предикат переменной у ФФ>, зафиксировав ПРОИЗВОЛЬНО Xq И Pq В P(x,t/), МЫ ПОЛуЧИМ Р(х(Ъ?/о) ~~ истина, т.е. Р(х,у) — тождественно истинный предикат. Очевидно, истинность правой части в (3) равносильна тому же самому — тождественной истинности предиката 4 ► ЗхЗуР(х,у) = ЗхЗуР(х,у) = ЗхУуР(х,у) = : 3 : 1 : 1 = VxVyP(x, у) = VyVxP(x, у) = Зу\/хР(х, у) = = ЗуЗхР(х,у) = ЗуЗхР(х,у). <«4 5 ► Пусть левая часть в (5) — истина <=> P(x)AQ(x) — тождественно истинный предикат <=> Р(х) — тождественно истинный предикат и Q(x) — тождественно истинный предикат <=> (\/хР(х) — истина) и (\fxQ(x) — истина) <£> \/хР(х) Λ sixQ(x) — истина, т. е. мы доказали, что левая часть в (5) — истина тогда и только тогда, когда правая часть в (5) — истина, значит, и ложны они только одновременно. Мб 6 ► Зх(Р(х) V Q(x)) = Зх(Р(х) V <3(Щ = = Vx(P(x)vQ(x)) = \/х(Р(х) Λ Щх)) = = \/хР(х) Λ \/xQ(x) = VxP(x) V VxQ(x) = = ЗхР(х) V 3xQ(x) = = 3xP(x)\/3xQ(x). <6 Равносильности (7) и (8) докажите самостоятельно. 66
§ 2.2. Кванторы, их свойства и применение ► Допустим противное, т. е. что существует такой двуместный предикат Р$(х,у), что Зу\/хР0(х,у) —> —> Vx3t/Po(x,y) — ложь ( Зу\/хРо(х, у) — истина; у\/хЗуРо(х.у) — ложь. Разберемся отдельно с верхней и нижней строками последнего соотношения. • 3t/VxPo(x, у) — истина <£=> \/хР${х,у) — не тождественно ложный предикат переменной у <& можно зафиксировать такое значение уо, что Ро(х?уо) — тождественно истинный предикат переменной χ (а). • \/хЗуР$(х,у) — ложь <£=> Зг/Ро(х, у) — не тождественно истинный предикат χ <=> можно зафиксировать такое значение хо, что ЗуРо(хо? у) — ложь О можно зафиксировать такое значение xq, что Pq(xq,v) — тождественно ложный предикат у (β). Зафиксировав в (а) значение xq, найденное в (/3), получим Ро(хотУо) — истина (1), а зафиксировав в (β) значение уо из (а)? получим Ро(:го,Уо) — ложь (2). (1) и (2) противоречат друг другу. -4$ Μ Кванторы как обобщение логических операций Теорема 2.4 Пусть Р(х) — одноместный предикат, определенный на конечном множестве Ω = {χι\χ2\...; #jv}? тогда \/хР(х) = Ρ(χι) Л Р(х2) Л · · · Л P(xn)\ ЗхР(х) = Р(хг) V Р(х2) V · · · V P(xN). Доказательство теоремы, очевидно, следует из определения кванторов и логических операций, а смысл теоремы состоит в том, что квантор всеобщности обобщает конъюнкцию, а квантор существования — дизъюнкцию в случае предикатов, определенных на бесконечных множествах. 67
Глава 2. Алгебры предикатов и множеств. Отображения Применение языка предикатов и кванторов для записи математических утверждений В качестве примера рассмотрим определение того, что вещественное число а является пределом числовой последовательности {χη}^ι· Образуем следующие предикаты: • «п > N» — двуместный предикат переменных η и N (переменные принимают натуральные значения); • «\хп — а\ < ε» — двуместный предикат переменных η и ε (η — натуральное число, ε — положительное вещественное число); • «(η > Ν) —» (\хп — а\ < ε)» — трехместный предикат переменных η, Ν, ε, порожденный парой: {xn}^=i ~~ последовательность, а — вещественное число. Навесим на этот трехместный предикат кванторы №NVn((n >N)^ (\хп -а\< ε)). Мы получим высказывание. Утверждение, что а является пределом числовой последовательности {xn}^Li, равносильно истинности полученного высказывания. Итак, lim xn = at=> 4ε3Ν\ίη((η > Ν) -> (\χη - α\ < ε)) = 1. η—>οο (2.1) Разберемся, что означает, что а не является пределом последовательности {xn}'^L1, Это означает, что истинным высказыванием является отрицание последнего высказывания в равносильности (2.1), т.е. \/ε3№/η{{η >Ν)^ (\χη - а\ < ε)) = 1 О BeBNVn{{n >Ν)-+ (\χη - α\ < ε)) = 1 «=> 68
§ 2.2. Кванторы, их свойства и применение 3eVNVn((n >N)-+ (\хп -α\<ε)) = 1 О 3eVN3n((n >N)-+ (\хп - а\ < ε)) = 1 3ε\/Ν3η({η > Ν) V (\хп -α\<ε)) = 1 3ε\/Ν3η((η > Ν) · (\χη - α\ < ε)) = 1 3eVJV3n((n > TV) . (\χη -α\> ε)) = 1, где η, TV — натуральные числа; ε — положительное вещественное число. ГП Замечание. Заметим, что при изучении математического анализа многие, не использующие языка предикатов и кванторов или использующие его неправильно, испытывают серьезные трудности при построении отрицаний определений, утверждений, теорем. Наш опыт показывает, что аккуратное «выписывание» определений на языке предикатов и кванторов не только и не сколько предохраняет от ошибок, но и способствует правильному и полному восприятию изучаемого материала. Замечания и вопросы в конце параграфа |~?~| ГП 1. Доказав, что 3y\fxP(x.y) —> \/хЗуР(х,у) = 1, мы доказали, в частности, что если функция равномерно непрерывна на множестве, то она и непрерывна на множестве. Разберитесь, почему. 69
Глава 2. Алгебры предикатов и множеств. Отображения 2. Имеет место следующее: \/хР(х) = УуР(у), ЗхР(х) = ЗуР(у), т. е. все равнот как обозначена переменная, по которой навешен квантор. (Аналогия: ff(x)dx = ff(t)dt.) о о 3. Дайте самостоятельно определение формулы алгебры предикатов (по аналогии с определением формулы алгебры высказываний). §2.3. Алгебра множеств Основными понятиями этого параграфа являются понятия множества и элемента множества (и значит, они не определяются). В случае, когда а является элементом множества А, будем писать «α Ε А», в противном случае «а £ А», Понятие об универсальном и пустом множестве При рассмотрении конкретных задач удобно (а порой и необходимо) выбрать и зафиксировать достаточно широкое множество, за пределы которого мы не будем выходить, т. е. элементы всех множеств, которые мы будем рассматривать, должны одновременно являться элементами этого множества, называемого универсальным множеством задачи (слово «задачи» обычно опускают). Для этого множества будем применять обозначение /. Ясно, что выбор такого множества неоднозначен, но важно его выбрать и зафиксировать. Пусть А — некоторое множество. Говорят, что А задано, если относительно любого элемента χ Ε Ι можно сказать, принадлежит или не принадлежит он множеству А, 70
§2.3. Алгебра множеств Таким образом, с каждым множеством А связан одноместный предикат Рд(х), определенный на универсальном множестве: Рд(х) = «χ Ε А». Ясно, что Pj(x) — тождественно истинный предикат. Наряду с универсальным множеством удобно иметь дело с его противоположностью — не содержащим элементов множеством — пустым мноэюеством, обозначаемым 0. Ясно, что Р&{х) — тождественно ложный предикат. Определение 2.7. Два множества А и В называются равными (пишут А = В) тогда и только тогда, когда РлП = Рв(х)· Π Пример 2.7. Пусть А — множество неотрицательных целых чисел, не превосходящих 9, В — множество цифр, используемых в десятичной записи чисел. Ясно, что А = В = {ОД,2,...,9}. Операции над множествами Очевидно, что любой одноместный предикат Р(х), определенный на /, можно считать предикатом, порожденным множеством. Действительно, если положить ΑΡ = Ρ-\{1}), то РАр(х) = Р(х). Последнее позволяет вводить операции над множествами, используя операции над предикатами. 71
Глава 2. Алгебры предикатов и множеств. Отображения Булевы операции над множествами Определение 2.8. Дополнепием ко множеству А относительно универсального мноэюества I называется множество, обозначаемое А (см. рис. 2.2), определяемое следующим: Р-д(х) = Рд(х). I / \ А "\ /' - --" л Рис. 2.21 Определение 2.9. Объединением множеств А и В называется множество, обозначаемое AUB (см. рис. 2.3), определяемое следующим: Рлив(х) = Ра(х) V Pg(x). -AUB Рис. 2.3 Определение 2.10. Пересечениелг множеств АиВ называется множество, обозначаемое А П В (см. рис. 2.4), определяемое следующим: Рапв(х) = Ра(х) ' Рв(х)· 1Картинки: интерпретирующие операции над множествами, называют диаграммами Венна (кругами Эйлера Венна). Венн Джон (1834 1923) английский математик. Получил ученую степень в 1857 г. в Кембридже. Первым применил термин «символическая логика». Помимо математики, интересовался историей и теологией. 72
§2.3. Алгебра множеств -А П В Рис. 2.4 Теорема 2.5. Множества относительно операций дополнения, объединения, пересечения образуют булеву алгебру множеств, т. е. для них выполнены 19 основных равенств: А = А — закон двойного дополнения АиВ = ВиА \ АПВ = ВПА J коммутативные законы def Au(BuC) = (AuB)UC = АиВиС def — ассоциативные за- 4. ΑΠ (В ПС) = (ΑΠ В) ПС а= АПВПС J Коны 5. A U {В Π С) = (A U В) Π {A U С) 1 - дистрибутив- ί ные законы 6. АГ\В = АиВ 7. АиВ = АГ)В 8. оЛб = а V Ъ 9. A U А = А 10. ЛПЛ = А 11. Ли/-/ 12. ЛП0 = 0 13. Ли0 = Л 14. Л П / = А 15. Ли(ЛпБ) = 16. Л П (Л U Б) = 17. Ли Л~ = / 18. ЛПЛ = 0. 1 / 1 J л л законы де Моргана законы идемпотентности законы 0 и / законы поглощения 73
Глава 2. Алгебры предикатов и множеств. Отображения Справедливость 018 следует из определения операций над множествами и того, что предикаты относительно -ι, V и Л образуют булеву алгебру предикатов. Другие операции над множествами Определение 2.11. Разностью множеств А и В называется множество, обозначаемое А\ В (А — В) (см. рис. 2.5), определяемое следующей равносильностью: РА\В(х) = РА(х)-Щ£). -А\В Рис. 2.5 Очевидно, имеет место равенство А \ В = А П Έ. (2.2) ► РА\В(х) = РА(х) ■ Рв(х) = РА(х) ■ ΡΈ(χ) = РАпВ(х). Μ Ясно, что разность множеств некоммутативная операция. Действительно, пусть А = {1;2;3}; В = {1;2;5;7}. Л\В = {3}; В\А = {5;7}. Имеют место следующие равенства: 1. А\0 = А. 2. 0\А = 0. 3. А\1 = 0. 4. 1\А = А. 5. А\А = 0. 74
§2.3. Алгебра множеств Определение 2.12. Симметрической разностью множеств А и В называют множество, обозначаемое ААВ (А — В) (см. рис. 2.6), определяемое следующим: AAB = (A\B)U(B\A). -ААВ Рис. 2.6 Имеет место равенство ААВ = (A U В) \ (А П В). (2.3) РААВ(х) = РА\В(х) V РВ\А(х) = = РА(х) ■ Рв(х) V Рв(х) ■ РА(х) = = РА(х) ■ Рв(х) V Рв(х) ■ Рв{х)У V РА{х) ■ Щх) V Рв(х) ■ ΡαΊχ) = = (РА{х) V Рв(х)) ■ РВ{х)У У{РА{х)УРв{х))РА{х) = = Paub(x) ■ Рв(х) V РАиВ(х) ■ РА(х) = = Paub(x) -(РВ(х)УРА(х)) = = Рлив(х) ■ Рв(х) ■ Ра(х) = = Рлив(х) ■ Рапв(х) = Р(АиВ)\(Аг\В)(х)- Имеют место следующие равенства: 1. ААВ = ВАА — коммутативность. 2. AAI = А 3. АА0 = А. 75
Глава 2. Алгебры предикатов и множеств. Отображения Подмножество Важным понятием является понятие подмножества. Понятие подмножества — понятие относительное, то есть применяется к паре множеств. Определение 2.13. Говорят, что множество А ЯвЛЯ— ется подмножеством мноэюества В (пишут А С В) тогда и только тогда, когда каждый элемент мноэюества А является элементом мноэюества В (см. рис. 2.7), то есть А С В <& Рл(х) —* Рв(х) = 1- [7 Рис. 2.7 Теорема 2.6. Для того чтобы множество А являлось подмножеством мноэюества В, необходимо и достаточно, чтобы А\ В = 0. ► АсВ^Рл(х)-^Рв(х) = 1^Рл(х) -+Рв(х) ξΟ^ & Рл(х) V Рв(х) = О О РА(х) · Рв{х) = 0 «=> <& РА(х) · Рв(х) = 0^> Ра\в(х) = О^А\В = 0.< Свойства отношения «являться подмножеством» Теорема 2.7. Имеют место соотношения: 1. А С А ~ рефлексивность. 2. (А С Β)&ζ(Β С С) => А С С - транзитивность. 3. (А С В)&с(В С А) <£> А = В — антисимметричность. 76
§ 2.3. Алгебра множеств 1. Составим разность А\А = 0 ■&■ A (Z А. 2. А С В & РА(х)-> Рв(х) = В с С & Рв(х)-> РсЪ & {РА(х) -> Рв(х)) ■ (Рв(х) -> Рс(х)) = 1 «· «*· (Рд(х) V Рв(аг)) · (Ρβ(χ) V РСИ) = 1 & О РА(а:).Рв(х) V ΡΒ(ι) · ΡΒ(χ) V V Рл(х)Рс(х) V Рв(х)-Рс(х) = l·» &РА(х) ■ Рв(х) V РА(х) ■ Рс(х) V V РА(х)Рс(х) V Рв(х)-Рс(х) = !«*· <* ΡΛ(ί:)(Ρβ(α:) V Рс(х)) V (Рд(а;) VPB(x)) · Рс(х) ξ1 по усл. ξ1 по усл. ==> РА(х) V Рс(х) ξ 1 о РА(х) -> Рс(х) = 1 & 3 Ac5«i\S = 0l β CA&B\A = 0J => => (Α\β)υ(β\Α) = 0« ΑΔ5 = 0« Α = Β. Μ Множество всех подмножеств множества А обозначают 2А. Ясно, что 0 G 2А и A G 2Л. Они называются несобственными подмножествами множества А. Остальные подмножества (если они есть) называются собственными. п Пример 2.8. Пусть А — {1,2,3}. Ясно, что 2А = {0, {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3}}. 77
Глава 2. Алгебры предикатов и множеств. Отображения Замечания и вопросы в конце параграфа Докажите самостоятельно, что А = В Ф> ААВ = 0. Докажите, что пустое множество единственно. Докажите, что нельзя выразить \ через Δ. Диаграммы Венна являются лишь хорошей иллюстрацией и способом построения контрпримеров, а не методом доказательства равенств в теории множеств. § 2.4. Отображения. Образ и прообраз множества при отображении. Свойства образов и прообразов Отображение (синоним — функция) — термин, знакомый по средней школе. В этом параграфе мы уточним понятие отображения как тройки объектов: двух множеств и правила, сопоставляющего элементам первого множества элементы второго множества, и определим два новых понятия, связанных с отображениями, — образ и прообраз множества при отображении. Пусть X и У — непустые множества, / — отображение X в У, т. е. правило, сопоставляющее каждому элементу χ Ε X вполне определенный элемент f(x) £ У. Если задано отображение из X в У, будем писать / : X —> Υ. Последняя запись «/ : X -Л У» означает, что под отображением мы понимаем тройку (X, У, /). Напомним, что два отображения /ι : Х\ —> Υ\ и /2 : Х2 —ϊ Υζ считают равными, если Х\ = Х2* Y\ = Уг и /ι = /2 (т. е. для любого χ Ε -ΧΊ(= Χί) имеет место равенство f\{x) = /2(χ)). шш 2. 3. 4. 78
§2.4. Отображения Определение 2.14. Пусть f : Χ —> У, В С У. Прообразом мноэюества В при отображении f называется множество /-1(I?)(C X)f определяемое следующим: хеГг{В)&/{х)еВ. Определение 2.15. Пусть f : X —» У, А С X. Образом мпоэюества А при отображении f называют множество f(A) (С. У), определяемое следующим: yef(A)^f-l({y})nA^0. Π Пример 2.9. Рассмотрим отображение синус sin : R -> R, Ясно, что имеет место sin_1([0;2]) = {[2πη;π + 2πή\; η Ε Ζ}. δΐη((0;π/4)) = (0;\/2/2); яп-ЧС-З;-^) = 0. Теорема 2.8 (свойства образов и прообразов) Пусть f : X -> У; ΑχΊΑ2 С X; Bi,B2 <Ξ У/ гаогда имеют место соотношения: 1) f(A1UA2) = f(A1)Uf(A2); 2) r^Bi U В2) = Г1 fa) U /-г(В2); 3) f(A1nA2)Cf(A1)nf(A2); 4) r^Bi П В2) = ΓΗΒχ) П /-г(В2). ► * ► Пусть у G /(AiU42) «» /-1({y})n(^iUA2) ^ 0 & <» (ГЧЫ) П Aa) U (ГЧЫ) ПА2)ф0& * (ГЧЫ) η Αχ Φ 0) v (ГЧМ) η л2 ^ 0) ^ ^(уе/(Л1))У(г/€/(Л2))<^ <»ί/€/(Αι)υ/μ2). <<! 79
Глава 2. Алгебры предикатов и множеств. Отображения 2 ► Пусть χ в Г1 [В]. U В2) & fix) €BiUB2& *>(f(x)£B1)V(f(x)£B2)& & (χ е ГЧВг)) V (χ G /-'№)) О ^χ€Γ1(Βί)υΓ1(Β2). <2 3 ► Пусть уеД^ПАг) ^ /^({у}) П (^ПЛа)^ 0<s> <* (ГЧШ η ах) η (ГЧМ) η а2) Φ 0 Д => (ГЧМ) η Αχ ^ 0) л (ГЧМ) η а2 ^ 0) ^ «*· (у 6 /(АО) Л (у € /(А2)) <£> <Фу€/(А1)П/(А2). <«з 4 ► Пусть χ € f'HBi П В2) <& & (f(x) е во л (/(χ) е в2) <*> ^xef-HBi)nf-HB2). <a Приведем пример такого отображения, для которого /(Αι Π А2) т^ /(Αι) Π /(А2) (т. е. когда С строгое): sin : R -► Я; Αι = [0; π/2]; Α2 = [2π; 2π + π/2]; 8111(^0 = [0;1]; sin(A2) = [0; 1]; sin(Ai) Π sin(A2) = [0; 1]; sin(Ai Π Α2) = sin(0) = 0; 0C[O;1]. < Композиция отображений Определение 2.16. Пусть f:X^Y,Y^Z. Композицией отображений fug (сложным отображением) называется отображение до /: X —> Z, определяемое def следующим: (д о f)(x) = g(f(x)). 80
§ 2.4. Отображения Рис. 2.8 иллюстрирует определение 2.16 Теорема 2.9 (ассоциативность композиции) Если/: Χ -+Υ, g:Y ^ Ζ, h: Z^W, то\/х(еХ) (ho(gof))(x) = ((hog)of)(X). (2.4) ► (ho (до f))(x) = h((g о /)(*)) = %(/(*))); ((h о g) о f)(x) = (h о g)(f(x)) = h(g(f(x))), т. е. левая часть (2.4) равна правой части. Μ Замечания и вопросы в конце параграфа 0[Т|1. Запись/"1^) нужно воспринимать как цельный символ и не путать с обратным отображением (которое не всегда существует). Однако когда / — обратимое отображение, прообраз В при отображении / совпадает с образом В при отображении /_1. 2. Приведите пример такого отображения, для которого образ пересечения множеств равен пересечению образов множеств. 81
Глава 2. Алгебры предикатов и множеств. Отображения §2.5. Типы отображений. Обратимость и односторонняя обратимость Сделаем в начале этого параграфа одно существенное замечание. Типы отображений, введенные в нем — инъ- ективные, сюръективные, биективные, — не дают полной классификации отображений. Существуют отображения, являющиеся «никакими», т. е. неинъективными. несюръективными, небиективными. Однако свойства, связанные с выделенными типами отображений — инъек- тивность, сюръективность, биективность, — чрезвычайно полезны и важны при изучении отображений. Выделяют три основных типа отображений: сюръективные, инъективные, биективные. Определение 2.17. Отображение f:X^Y называется сюръективным, если Vy(G Y) f ({у}) φ @· Определение 2.18. Отображение f: X —»► Υ называется инъективным, если Ух1{еХ)^х2{еХ){{ххфх2)^!{х1)Ф!{х2)). Определение 2.19. Отображение /: X —ь Υ называется биективным, если оно сюръективно и инъективно. Π Пример 2.10. sin : R —> [—1;1] — сюръективное отображение, но неинъективное. | ? | Пример 2.11. sin: [—π/2;π/2] —> R — инъективное отображение, но несюръективное. | ? | Пример 2.12. sin: [—^/2^/2] —> [—1;1] является биективным отображением. 82
§ 2.5. Типы отображений. Обратимость § 2.5.1 Теоремы о композиции однотипных отображений Теорема 2.10. Если f:X^Yug:Y-^Z — ипъек- тпивные отображения, то д о f : X —> Ζ — инъективное отображение. ► Пусть Х\фх2- Так как / — инъективно, то f(x\) ф}{х2)\ так как д — инъективно, то g(f(x\)) фд(/(х2))· Последнее означает, что (д о }){х\)ф{д о f)(x2). Инъективность композиции доказана. < Теорема 2.11. Если /: X —> Υ и д :Υ —» Ζ — сюръек- тивные отображения, то gof; X —у Ζ — сюръективное отображение. ► Пусть ζ — произвольный элемент Ζ. Так как g:Y-^Z сюръективно, то g~\{z})^0 О существует yo^g~1({z}) (или, что то же самое, д(уо) = ζ). Так как / — сюръективное отображение, то /_1({Уо}) Φ & ^ существует xq е /~г({уо}) (или, что то же самое, f(xo) = Уо)· Ясно, что (д о /)(хо) = g(f(xo)) = д(уо) = ζ. Значит, х0 € (#°/)_1({^}) ^ (У0/)1^}) Φ 0> а это и означает сюръективность gof. м Теорема 2.12. Если f:X—>Y ug:Y^Z — биективные отображения, то композиция до/: Χ —ϊΖ— биективное отображение. Ясно, что эта теорема — следствие предыдущих. Удобно пользоваться (и мы это уже неявно делали при доказательстве теоремы 2.11) следующим равносильным определением сюръективности отображения. 83
Глава 2. Алгебры предикатов и множеств. Отображения Определение 2.20. Отображение /: X —> Υ сюръек- тивно, если уравнение f(x) = у> где χ — неизвестное, у — параметр, имеет хотя бы одно решение при любом значении параметра у Ε Υ. Определение 2.21. Пусть X — множество. Тождественным на X отображением называется отображение ех : X —> X, определяемое следующим: ех(х) = х, Vx Ε Χ. Ясно, что тождественные отображения играют роль нейтральных элементов в композиции, т. е. для любого / : Χ —ϊ Υ имеет место f(x) = (eYof)(x) = (foex)(x), \/х е X т. е. / = еу о/ = f оех. Определение 2.22. Отображение /: X —» Υ называется обратимым слева (справа), если существует отображение f~ : Υ —> X (f~ : Υ —> X) такое, что f^of = ex; (2.5) (fof-^ey). (2.6) Определение 2.23. Отображение f: X —> Υ называется обратимым, если существует отображение /_1: Υ —> X такое, что r1of = ex; fof-^ey. (2.7) 84
§ 2.5. Типы отображений. Обратимость Критерии односторонней обратимости и критерий обратимости Теорема 2.13 (критерий обратимости слева) Для того чтобы отображение f:X —ϊΥ было обратимым слева, необходимо и достаточно, чтобы f было инъективным. ► Необходимость ► Докажем ее от противного, т. е. предположим, что существует неинъективное отображение fiX—tY, которое обратимо слева. Неинъективность / означает, что существуют такие х\ и Х2 (£ X), что х\ φ х2, a f{x\) = /(^2)· Применим к обеим частям последнего равенства отображение f~l (существование которого мы предположили), тогда /л"1(/(х1)) = /л1(/Ы)^ &(f-1of)(xl) = (f^of)(x2)& <=> ех(хг) = ех(х2) Οΐι= х2. Последнее противоречит выбору х\ и х2 (χι φ χ<ι). < Необходимость. Достаточность ► Представим Υ в виде Υ — f(X)U(Y\f(X)) и зададим отображение g : Υ —> X правилом ( χ такое, что f(x) — у, если у Ε f(X)\ g(y) = / χ0 — произвольный фиксированный элемента, [ если у eY\f(X). Ясно, что отображение g и есть левое обратное к /. Μ Достаточность. Теорема доказана. < 85
Глава 2. Алгебры предикатов и множеств. Отображения Суть дела проясняет следующая картинка (см. рис. 2.9). Точкам, в которых заканчиваются стрелки, сопоставляются начала стрелок, а точкам, не покрытым стрелками, — произвольная точка xq из X. Рис. 2.9 Теорема 2.14 (критерий обратимости справа) Для того чтобы отображение f: X —> Υ было обратимым справа, необходимо и достаточно, чтобы оно было сюръективно. ► Необходимость ► Докажем ее от противного, т. е. предположим, что существует такое отображение /: X —» У, которое несюръ- ективно, но является обратимым справа. Несюръектив- ность отображения / означает, что существует у\ £ Υ такое, что f~l{{yi}) = 0. С другой стороны, уг =еу(у1) = (/ ° /n^Hs/i) = fif^iVi))· Последняя цепочка равенства означает, 4τοχι = f^iyi) (G X) принадлежит /^{{уг}), а это противоречит тому, что /^({yi}) = &· < Необходимость. Достаточность ► Сюръективность / означает (см. определение 2.20), что уравнение /(*) = У (2-8) 86
§ 2.5. Типы отображений. Обратимость имеет хотя бы одно решение при любом у EY, Рассмотрим отображение д: Υ -> X, заданное правилом д(у) — х, где χ — какое-то решение уравнения (2.8) (которое существует). Очевидно, что это и есть правое обратное к /. << Достаточность < Теорема 2.15 (критерий обратимости) Для того чтобы отображение f:X —> Υ было обратимым, необходимо и достаточно, чтобы f было биективным. ► Необходимость очевидна, так как обратимость отображения означает правую и левую обратимость, а значит, сюръективность и инъективность отображения (см. предыдущие теоремы), т. е. биективность. Достаточность ► Так как отображение / биективно, то оно, в частности, инъективно и, значит, имеет левое обратное отображение f~l: Υ ^ X такое, что f~l о / = βχ, а так как / биективно, то оно, в частности, сюръективно, а значит, имеет правое обратное отображение f~l : Υ —> X такое, что ϊ°ϊΰ1 =εγ· Покажем, что в этом случае f~l = /~г, что и завершит доказательство достаточности: /л"1=/л1°еу = = /л_1°(/°/1Г1) = (/л"1о/)°/п_1 = = exof^=f-\ •^ Достаточность Μ 87
Глава 2. Алгебры предикатов и множеств. Отображения Замечания и вопросы в конце параграфа mm 1. Покажите, что теоремы, обратные к теоремам о композиции, не верны. 2. Приведите пример, показывающий, что f~l может быть не единственным. 3. То же самое, что и 2, только для /"*. 4. Возможны ли варианты построения f~l, отличные от приведенного в доказательстве критерия обратимости слева? 5. Приведем мнемоническое правило, позволяющее запомнить, за обратимость с какой стороны отвечает инъективность, а с какой стороны — сюръективность. Для этого выпишем алфавитное упорядочение слов «инъективность» и «сюръективность». То, что оказалось слева, отвечает за обратимость слева, а то, что оказалось справа, отвечает за обратимость справа. §2.6. Семейства множеств и операции над семействами В этом параграфе операции над множествами — дополнение, объединение и пересечение — будут распространены на случай, когда мы имеем дело с бесконечными наборами (семействами) множеств. Средством для этого являются операции навешивания кванторов, так как они являются обобщением Л и V (см. теорему 2.4). Определение 2.24. Пусть I — некоторое универсальное множество, J (φ 0) — множество, называемое множеством индексов. (Оно может и не являться подмножеством универсального множества I.) 88
§ 2.6. Семейства множеств и операции над семействами Семейством множеств над универсальным множеством I, индексированным мноэюеством индексов J, называется отображение множества J в 21. (Здесь 2 — мноэюество всех подмножеств универсального множества I.) Таким образом, задать семейство — значит указать правило, сопоставляющее каждому индексу г из J вполне определенное подмножество универсального множества /. Для обозначения семейства используется запись, аналогичная обозначениям, применяемым для последовательностей. А именно: подмножество, соответствующее индексу г, обозначают не /(г), а А{, а все семейство обозначают не / : J —l· 21, a {Ai}ie.j. Пример 2.13. Пусть J = R+ = [0; оо), / = С (С - множество комплексных чисел). Рассмотрим семейство {Ar}r£R^ над С, заданное правилом Аг = {ζ в С | \ζ\ = г}. Множества Aq и Ат (г φ 0) изображены на рис. 2.10. Π Рис. 2.10 89
Глава 2. Алгебры предикатов и множеств. Отображения Пример 2.14. Пусть .7 = [0; 2π), / = С. Рассмотрим семейство {Дз}ае[0;2тг) над С, заданное правилом Ва = {ζ Ε С \ argz = α}, (argO — любой). На рис. 2.11 изображены множества Bq и Ва (а ф 0). Во Рис. 2.11 Пример 2.15. Пусть / = N, J = N. Рассмотрим семейство {AJneN, Ап = [l;n]N. Пример 2.16. Пусть / = N, J = N. Рассмотрим семейство {£)n}neN5 заданное правилом Dn = { т £ N | делится на η }. Пример 2.17. Пусть / = М2х2{Щ (множество матриц размера 2 х 2 с вещественными элементами). J = R. Рассмотрим семейство {Ма}а £ -R, где Ма = {Ае M2x2(R) | (А)п + (А)22 = а }. Пример 2.18. Пусть Х{ф 0) — произвольное множество, J = X. Рассмотрим семейство { {χ}χ^χ } — семейство одноэлементных подмножеств множества X. Пример 2.19. Пусть J = [0; 1]; / = С([0; 1]) - множество непрерывных на отрезке функций. Рассмотрим семейство {С?([0; l])}ie[o;i] над С([0;1]), заданное правилом С?([0; 1]) = {/ € С([0; 1]) | /(f) = 0}. 90
§ 2.6. Семейства множеств и операции над семействами На рис. 2.12 условно изображено множество Cj)/2([0;1]) — «паучок» всех графиков непрерывных на [0; 1] функций, обращающихся в 0 в точке χ = 1/2. Рис. 2.12 Операции над семействами Сейчас мы определим три операции над семействами множеств: дополнение к семейству, объединение семейства, пересечение семейства. Эти операции над семействами будем вводить, как и операции над множествами, используя связь между множествами и предикатами. Пусть задано семейство {Ai}i£j над универсальным множеством /. Рассмотрим предикат Ρ^{χ)=«χ^Αι, xEl, г Ε J». Это двуместный предикат переменных χ и г, т. е. семейство множеств — то же самое, что двуместный предикат, где одна переменная — из множества индексов, а другая — из универсального множества. Определение 2.25. Дополпемием к семейству {Ai}iej над I называется семейство надI, обозначаемое {Ai}i^jf определяемое предикатом 91
Глава 2. Алгебры предикатов и множеств. Отображения Вернемся к примеру § 2.5. Ясно, что Ж={г€С | \ζ\φτ). Определение 2.26. Объединением семейства {Ai}i^j над J называется множество, обозначаемое [Ji^jAi, определяемое следующим: def Рил» = 3iPAl(x). Ясно, что в примере В примере 2.14 < В примере 2.15 2.13 ид. гел+ ае[0;2тг) = С = с. UC?([0;1]) = C°([0;1]). гф;1] Здесь С°([0; 1]) — множество всех непрерывных на [0; 1] функций, обращающихся в ноль хотя бы в одной точке отрезка [0; 1]. В примере 2.16 U {х} = X. Определение 2.27. Пересечением, семейства {Ai}i^j над I называется мноэюество, обозначаемое f}iejAi, определяемое следующим: Ясно, что в примере 2.13 В примере 2.14 ПВа = {0}. £*е[0;2тг) 92
§ 2.6. Семейства множеств и операции над семействами В примере 2.15 i6nC?([0;l]) = {0|IO;1]}I где через OL.-n обозначена функция, тождественно равная 0 во всех точках отрезка [0; 1]. В примере 2.16 n J X, если X — одноэлементное множество; хеХ 10, если X содержит более одного элемента. Теорема 2.16 (законы де Моргана для семейств) Для любого семейства справедливо: 1) Ш = ПА~; 2) r\Ai = UAi. Замечания и вопросы в конце параграфа |~?~| ГП 1. Самостоятельно докажите законы де Моргана для семейств множеств. 2. Пусть у нас есть конечный набор А\у А2, ..., Ап (все они подмножества одного и того же универсального множества). Рассмотрим множество J = [1; n]jv = {1; 2;...; η}. Тогда набор множеств Αι, Л2,..., Ап можно рассматривать как семейство {Д}^. При этом, очевидно (см. теорему 2.4), выполнено Аг U А2 U · .· U Ап = LU.7 А] Αι Π Α2 Π · · · Π An = f]ieJ A*. 93
Глава 2. Алгебры предикатов и множеств. Отображения 3. Из замечания 2 следует, что операции пересечения и объединения семейств обобщают обычные операции пересечения и объединения на случай семейств, индексированных бесконечным множеством. 4. Пусть {Ai}ieN ~ семейство множеств и А\ D D A2D A2D A^D ... Докажите, что Г)Аг=Г)Ая = ПАы = ... ieN ieN ieN 5. Справедливы ли равенства? а)А\(ид)=П(Л\Л); \iei / iei б)А\(г\А^=и(А\А>); B)\j(nAij) =Г|(илА г) (η At) U (η βλ = Π(Αί U В,-); д) (uAt) Π (jUB,·) = и(Л,П5Д
Глава 3 Элементы комбинаторики Спросил меня голос В пустыне дикой: Много ли β море Растет земляники? Столько же, сколько Селедок соленых Растет на березах И елках зеленых. С. Я, Маршак §3.1. Что такое комбинаторика? Число элементов во множестве. Правило суммы Основным вопросом этой главы является вопрос «Сколько?» в различных вариантах, а основным способом ответа на этот вопрос является установление взаимнооднозначного соответствия (осуществляемого биективным отображением) между множеством, в котором нам предстоит подсчитать количество элементов (т.е. ответить на вопрос «Сколько?»), и множеством, в котором количество элементов нам известно. Этот принцип подсчета — основной принцип комбинаторики — прекрасно изложен С. Я. Маршаком в его переводах из английской детской поэзии. Эти строки, знакомые многим, мы и предпослали главе «Элементы комбинаторики» в качестве эпиграфа. 95
Глава 3. Элементы комбинаторики Комбинаторика — раздел математики, посвященный способам подсчета числа элементов в конечных множествах, — имеет широкий круг приложений: теория вероятностей, теория информации, теория надежности, алгебраическая топология и алгебра и, наконец, математический анализ. Особенно полезными являются сами комбинаторные рассуждения. Они позволяют обойтись без излишнего формализма, и там, где эти принципы срабатывают, получаются красивые и понятные результаты. Ярким примером эффективности комбинаторного подхода является теория бинома Ньютона. Все красивые результаты — различные соотношения между биномиальными коэффициентами — имеют простое комбинаторное истолкование. Некоторые из этих соотношений будут приведены в нашем курсе (см. § 3.4, 3.5). Число элементов в конечном множестве. Основной принцип комбинаторики В качестве утверждений, принимаемых без доказательства, возьмем следующие: 1. Отрезок натурального ряда [l;n]jv = {1;2;3;... ;п} содержит η элементов. 2. Если А и В — множества и существует биективное отображение ^ . Л _> В, то |Л| = |S|. где |А| — обозначение числа элементов во множестве А, 3. |0| =0. Вторая аксиома носит название «Основной принцип комбинаторики» и является главным рабочим инструментом комбинаторики (соответственно, искусство решения комбинаторных задач и состоит в определении множеств А, В и построении биективного отображения φ, реализующего основной принцип комбинаторики). 96
§3.1. Что такое комбинаторика? Определение 3.1. Говорят, что отрезок натурального ряда [l;n]jv нумерует множество А, если существует биективное отображение ψ : [1;п]дг —> А. Если задана нумерация φ множества А, то применяют следующие обозначения: φ(1) = аг; ψ{2) = α2;...;φ(η) = αη; Α = {αι\α,2\αζ\... ;αη}. Утверждение 3.1. Если отрезок [1; п]дг нумерует множество А, то \А\ = п. Ясно, что оно является прямым следствием определения нумерации и основного принципа комбинаторики. Определение 3.2. Говорят, что множество А конечно, если существует такое натуральное число па, что отрезок [1;пд]дг нумерует А, при этом \А\ = π а- Утверждение 3.2. Число элементов в конечном множестве определено однозначно. ГП Несмотря на кажущуюся свою очевидность, доказательство этого утверждения довольно громоздко, и мы его не приводим. Желающим рекомендуется попробовать провести его самостоятельно. Правило суммы Теорема 3.1. Пусть А и В — конечные непересекающиеся множества (т. е. А П В = 0), тогда \ΑϋΒ\ = \Α\ + \Β\. (3.1) 97
Глава 3. Элементы комбинаторики ► Зафиксируем φΑ : [1; \Α\]Ν -> Α, φΒ ' [1; |В|]лг -► β нумерации А и В соответственно и рассмотрим отображение <рлив: [1;\A\ + \B\]N^A\JB, заданное правилом _ JV^(0> если ι < * < 1^1; ¥>Аив(0 = |^(. _ |А|)?есди |А| < ■ ^ |А| + |В)в Очевидно, ^Ли£ — биективное отображение, тогда на основании основного принципа комбинаторики получаем \АиВ\ = \А\ + \В\. < Теорема 3.2 (следствие предыдущей) Пусть А, В — конечные множества, тогда \A\jB\ = \A\ + \B\-\ACiB\. (3.2) ► Очевидно, |AUB| = A\J(B\A) и множества А и В\А не пересекаются, тогда из равенства (3.1) получим \AUB\ = \A\ + \B\A\. (3.3) Очевидно, В = (АПВ)1)(В\А) и множества АПВ и В\А не пересекаются, тогда из равенства (3.1) получаем \В\ = \АПВ\ + \В\А\. (3.4) Подставляя выражение для \В \ А\ из (3.4) в (3.3), получаем \АиВ\ = \А\ + \В\-\АГ)В\. < 98
§3.1. Что такое комбинаторика? Теорема 3.3 (правило включения-исключения) Пусть Αχ, А2, .·■, Ап — конечные множества, тогда |AiUA2U---UA„| = = (\А1\ + \А2\ + --- + \Ап\)-(\А1пА2\ + +\Αι П А3| + ■ · · + ΙΛ,-ι П Ап\) + +(|ΑιΠΑ2ηΑ3| + ··· + +\Ап_2ПАп_1ПАп\) + +(-1)п-1\А1ПА2П---ПАп\ = τι = Σι^ι- Σ ι^η^·ι + + J2 \АгПА;Г\Ак\ + +(-l)n"1|Ai Π A2 Π · · · Π Αη\. (3.5) В правой части формулы (3.5), называемой формулой включения-исключения, стоят с чередующимися знаками суммы, содержащие всевозможные попарные пересечения множеств А\. А2.... ΊΑη, пересечения троек множеств и т. д. ► Докажем формулу включения-исключения по индукции. Справедливость ее для случая η — 2 доказана в предыдущей теореме. Рассмотрим индуктивный переход, т. е. предположим, что формула верна для любых (п — 1) множеств, и покажем, что тогда она верна и для η множеств. \Ai U A2 U · · · U Ап\ = |(j4i U A2 U · ♦ ♦ U Αη-ι) U An\ = теорема 3.2 , , . . , , , . |ΛιυΛ2υ···υΛι-ι| + |Λι|- - |(Λι U А2 U · · · U Αη-ι) П Л,I = n-l = ΣΐΑίΐ- Σ ι^ηΛ,·ι + ···+ i=l l^i<j^n— 1 99
Глава 3. Элементы комбинаторики + (-ΐ)"-2μ1η···ηΛι-ι|+ + |Λι| (Αι П Αη) U (А2 П Ап) U · · · U (Αη_ι П Ап) " „ " здесь (п—1) скобка i=l l<i<j<rc —1 + Σ 1Лпл,п^|-...+ (-1)"-2|л1п---плг1_1| - π-1 - (Σ \Ai η Αη\ - Σ κ^η Α»)η (Asn Α^)ΐ + i=l l<2<j<n—1 + ^ |(АгПАп)П(А;,ПАп)П(А^ПАп)| -... l<2<j<Ar<n-l + (-l)"-2|(Ai П An) П (А2 П An) П · · · П (Λ*-ι П Αη)|) = 71 = Σ^Ι_ Σ Ι^ηΛΙ+ Σ lAiHAjDAkl - -••· + (-1)»-1|Α1ΠΑ2η···ΠΑη|. Здесь мы воспользовались равенствами (Aj П An) П (Α2 Π An) = Αι П А2 П Α„; (Aj П Αη) П (Α2 Π Αη) Π (Α3 Π Α.„) = = Αχ Π Α2Π А3ПАП, ... (Αι П Ατι) П (Α2 Π Αη) П · · · П (А„_! П Α„) = = Αι Π Α2Π···ηΑη. < 100
§3.1. Что такое комбинаторика? Теорема 3.4 (правило суммы) Если Αχ,^2,..., Ап — конечные попарно непересекающиеся множества (т. е. ΑιΓ\ Aj = 0, г φ j), то \Аг U A2 U · · · U Ап\ = Σ \А{\. (3.6) г=1 Ясно, что это тривиальное следствие из предыдущей теоремы. Замечания и вопросы в конце параграфа |~?~| ГП 1. Дайте определение бесконечного множества (т. е. не являющегося конечным). 2. В конце доказательства утверждения 3.2 мы привели без доказательства утверждение о том. что не существует биективного отображения φ : X —> Υ, если \Х\ = 1, a \Y\ ^ 2. Докажите его самостоятельно. 3. Справедливо ли следующее утверждение: «Отображение | |, действующее из множества конечных множеств во множество Ζ+ неотрицательных целых чисел, сопоставляющее конечному множеству число элементов в нем, сюръективно» ? 4. В студенческой группе — 25 человек, 13 из них знают английский язык, 12 — немецкий, 13 — французский, 4 человека знают английский и французский, 6 — английский и немецкий, 5 — немецкий и французский. Сколько студентов знают все три языка? 101
Глава 3. Элементы комбинаторики § 3.2. Декартово произведение множеств, множество степень Определение 3.3. Декартовым1 произведением множеств X и Υ называется множество, обозначаемое Χ χ Υ? элементами которого являются упорядоченные пары (х;у), где χ Ε X, у €Υ. Равенство упорядоченных пар ζ\ = (χι; у\) и z^ =■ {х2\ У2) (^ι,^ΕΧχ Υ) понимается в следующем смысле: Ζ1 = Z2 U (х\ = Х2)&(У1 = Ы· Теорема 3.5. Если X и Υ — конечные множества, то Χ χ Υ — конечное множество и \ΧχΥ\ = \Χ\ ■ \Υ\. (3.7) ► Ясно, что в случае, когда одно из множеств Χ, Υ пусто, то и Χ χ Υ пусто и (3.7) тривиально выполнено. Рассмотрим случай, когда X и Υ — непустые множества. Зафиксируем в X нумерацию X = {χι,χ2,...,χ\χ\}. 1 Декарт Рене (1596 1650) выдающийся французский математик и философ. Окончил иезуитский колледж, после чего два года посвятил изучению математики. Пытался стать военным, но слабое здоровье не позволило ему осуществить юношеские мечты. После этого он провел несколько лет в Париже, где занимался изучением математики, философии и конструировал оптические приборы. Затем 20 лет жил в Голландии, где им были сделаны основные математические и философские открытия. В 1649 г. по приглашению королевы Кристины Декарт переехал в Швецию. Суровый климат оказался для Декарта губительным, зимой 1650 г. он скончался от пневмонии. 102
§3.2. Декартово произведение множеств 1*1 Ясно, что Χ χ Υ = (J {xi} χ У и множества {χι} χ Υ попарно не пересекаются, тогда по правилу суммы имеем 1*1 \ΧχΥ\=Σ\{Χί}χΥ\. (3.8) г=1 Рассмотрим отображение fi : {xi} χ Υ —» У, действующее по правилу fi((xtiV)) = У· Ясно, что fi — биективное отображение, тогда по основному принципу комбинаторики получаем \{Xi] xY\ = \Y\. (3.9) Подставляя (3.9) в (3.8), получим 1*1 \ΧχΥ\ = Σ\Υ\ = \Χ\-\ΥΙ г=1 < Определение 3.4. Пусть X — множество и η £ N. Определим декартовы степени множества X следующим: X1 = X; X2 = Χ χ X; ... Хп = Χη~ι χ Χ. ГП Замечание. Традиционно п-я декартова степень множества Д(С, Ζ) обозначается не i?n(Cr\Zri), a i?n(Cn,Zn); в последнее время входят в употребление обозначения i?ri(Cr\Z"), соответствующие определению 3.4. Теорема 3.6. Если X — конечное множество, то \Хп\ = \Х\п. (3.10) Ясно, что теорема 3.6 — следствие теоремы 3.5. 103
Глава 3. Элементы комбинаторики Г?~| Задача 3.1. Из города А в город В ведут три дороги, а из города В в город С — четыре дороги. Сколькими способами можно добраться из А в С через В? ► Задача, конечно, очень простая. Однако она демонстрирует особенности задач по комбинаторике, которые создают трудности при решении. Укажем на главную из этих особенностей. Задача первоначально формулируется не как математическая, а как задача реальной жизни, и поэтому требуется ее переработка в математическую задачу. При этом нужно отделить существенные факторы от несущественных. (Как правило, нужно четко уяснить, что понимается под способом.) Действительно, если при подсчете способов мы будем учитывать время суток, скорость и способ перемещения (пешком, на автомобиле, велосипеде и т. п.), то задача становится чрезвычайно простой, а ее ответ вряд ли устроит составителя задачи. Ясно, что при учете указанных факторов ответ задачи: «Имеется бесконечное множество способов». Если же отвлечься от всех указанных факторов и под способом попасть из А в С через В понимать упорядоченную пару (дорога, по которой перемещаемся из А в В; дорога, по которой перемещаемся из В в С), то решение задачи можно получить, используя понятие декартова произведения. Обозначим: АВ — множество дорог, ведущих из А в В; ВС — множество дорог, ведущих из В в С. Тогда математическая задача, к которой свелась исходная задача, выглядит так: «Найти число элементов в декартовом произведении множеств АВ χ ВС». Ясно, что \АВ χ ВС\ = \АВ\ · \ВС\ = 3 · 4 = 12. Ответ: 12 способов. < 104
§3.2. Декартово произведение множеств Г?~| Задача 3.2. Из города А в город В ведут три дороги, из города В в город С — четыре; имеется также пять дорог из Л в С, не проходящих через В. Сколькими способами можно попасть из А в С, используя указанные дороги? ► Множество всех способов добраться из А в С разобьем на непересекающиеся подмножества I и II, отнеся к первому способы добраться из А в С через β. а ко второму — способы добраться из А в С, минуя В. Тогда, по правилу суммы, «число способов попасть из А в С» = = \1\ + \П\ = \АВ χ ВС\ + \П\ =3-4 + 5 = 17. Ответ: 17 способов. Μ Определение 3.5. Пусть X u Y — непустые множества. Обозначим через γΧ множество отображений, действующих из X в У, т. е. feYX&f:X-*Y. Множество Yx называют множеством степень. Мы хотим доказать теорему о числе элементов во множестве степень, когда X и Υ — конечные множества. Доказательство теоремы опирается на две леммы. Лемма 3.1. Пусть X и Υ — конечные непустые множества и \Х\ = 1, тогда |УХ| = |У|. (3.11) ► Зафиксируем в X и Υ нумерации — X = {τι}, Υ = {yi,y2,...,y\y\}. Занумеруем элементы множества γΧ условием: fi(xi) = yi, f2(xi) = y2,---,f\Y\(xi) = y\Y\- Ясно, что нумерующий отрезок — [1; | V|]jv- ^ 105
Глава 3. Элементы комбинаторики Лемма 3.2. Пусть Χ, Υ — конечные непустые множества, \Х\ ^ 2, χ Ε Χ} тогда \ΥΧ\ = \Υ\.\ΥΧ^\. (3.12) ► Зафиксируем в X и Υ нумерации, выбрав такую нумерацию множества X, при которой χ = χ\χ\. Множество Υχ представим в виде объединения попарно непересекающихся множеств Аг (г = 1,2,... , \Υ\), отнеся / (Ε Υχ) ко множеству А^ если 1{х\Х\) = Уг- По правилу суммы (равенство (3.6)) получаем Ι*Ί \у\ |y^l = HJ^I = El^l· (злз) г=1 ί=1 Рассмотрим одно из множеств Д. Каждое отображение / Ε Αι однозначно определяется своим ограничением (сужением) на множество Χ \ {χ\χ\} (стрелочная диаграмма любого отображения / Ε А{ содержит стрелку, ведущую из χ\χ\ в yi (см. рис. 3.1)). XI Х2 -^3 х\х\-1 х\х\ ·—. _, __ •-.^ г^ ^~> \ у ■ >- / \ У > • У\ ~^уУ2 ^ · Уз "***·^.' 1 ^** У|К|-1 • Iftyi Рис. 3.1. Стрелки, указанные пунктиром, — ограничение /на!\ {х\х\}. 106
§3.2. Декартово произведение множеств Ясно, что |Л.| = |уХ\{х|дг|}| = |у*\{х}|. (3.14) Подставляя (3.14) в (3.13), получаем |v| \y\ \γ*\ = ς \Аг\ = χ; \γχ\ω\ = \γ\. \γχ\ω\. Теорема 3.7. Пусть X и Υ — конечные непустые множества, тогда Υχ — конечное множество и \YX\ = \Y\W. (3.15) ► Проведем доказательство методом математической индукции, взяв в качестве параметра индукции число элементов во множестве X. 1-й шаг (случай \Х\ = 1). Применяя лемму 3.1, имеем |У*| = |У| = |У|1 = |У|1*1. 2-й шаг (индуктивный переход). Допустим, что утверждение теоремы справедливо для любого п- элементного множества. Докажем, что в этом случае оно справедливо и для множества X такого, что \Х\ = η + 1. Зафиксируем в X произвольный элемент χ и применим лемму 3.2. Тогда \γχ\ = \γ\.\γχ\ω\. Множество X \ {х} содержит η элементов, и к Υ "χ* применимо предположение индукции, тогда |уХ| = |у| . |уХ\{*}| = |у| . |у||Х\{х}| = = \γ\-\γ\\χ\-1 = \γ\\χ\. Индуктивный переход, а следовательно и вся теорема доказаны. Μ 107
Глава 3. Элементы комбинаторики Г?1 Задача 3.3. В НИИ работают 4 курьера — А, В, С, D. Сколько существует способов разослать 7 писем в 7 различных организаций, если доставка осуществляется только курьерами, работающими в институте? ► Ясно, что мы не учитываем время суток, погодные условия, скорость доставки и т. п. Каждый способ доставки однозначно определяется указанием для каждого письма, какой из курьеров его доставляет. То есть способ доставки — отображение из множества писем Π во множество курьеров К. Тогда «число способов доставки писем» = |КП| = |К|1П1 = 47 = 16384 способа. < |~?~| Задача 3.4. В кабину лифта 9-этажного дома вошли 3 пассажира — А, В, С, каждый из которых может выйти на любом из 8 этажей. Сколькими способами может осуществиться разгрузка лифта? ► Способ разгрузки — это указание, на каком этаже выходит пассажир А, на каком — пассажир В, на каком — пассажир С, т. е. сопоставление пассажиру этажа, на котором он выходит. Обозначим через Π множество пассажиров, Э — множество этажей выхода. Значит, «число способов осуществления разгрузки лифта» = |Э | = |Э|' ' = 83 = 512. Μ Вопросы в конце параграфа |~?~| 1. Попробуйте самостоятельно составить комбинаторные задачи, сводящиеся к нахождению числа элементов в декартовом произведении множеств и во множестве степень. 108
§ 3.3. Множества инъективных и биективных 2. Справедливы ли теоремы, обратные к теоремам 1-3 этого параграфа, и как они формулируются? 3. Попробуйте доказать коммутативность сложения и умножения натуральных чисел, используя комбинаторный подход. §3.3. Множества инъективных и биективных отображений. Размещения, перестановки В этом параграфе мы продолжим изучение множества Υ , вернее, его подмножеств: множества инъективных отображений — In Yx и множества биективных отображений — BiYx (в случае, когда \Х\ = |У|). Затем будут введены основные комбинаторные понятия — размещения и перестановки. Множество инъективых отображений Определение 3.6. Пусть Χ, Υ — непустые множества. Обозначим через In Y множество инъективных отображений из Χ β Υ, т. е. f £ In Yx Ф> /: Χ —> Υ — инъективное отображение. Критерий непустоты множества инъективных отображений Теорема 3.8. Пусть Χ, Υ — конечные непустые множества. Для того чтобы In Y было непусто, необходимо и достаточно, чтобы \Υ\ ^ \Х\. 109
Глава 3. Элементы комбинаторики ► Необходимость ► Так как InYx непусто, то существует /: X —> Υ — инъективное отображение. Представим Υ в виде Υ =■ = f(X) U (Υ \ f(X)). Очевидно, \f(X)\ = \Х\. Действительно, если рассмотреть отображение /ι: X —» /(X), заданное правилом fi(x) = f(x) (Vx Ε Χ), το /ι биективно. Тогда на основании основного принципа комбинаторики получаем, что \Х\ =■ \fi(X)\ =■ \f(X)\. Множества f(X) иУ\ f(X) не пересекаются, поэтому |У| = \f(X)\ + \Y \ f(X)\ = \Х\ + |F \ f(X)\ > \Х\. Л Необходимость. Достаточность ► По условию теоремы, 1^|Х|^|У|<оо. Зафиксируем нумерации множеств X и У, т. е. X = {х1;х2;...;х|-Х|}, Υ = {уг\У2\ ■· ^|У|}· Рассмотрим отображение <^: X —» У, порожденное этими нумерациями, φ{χι) — гц. Ясно, что это отображение инъективно, а значит, множество In Y непусто. < Достаточность < Лемма 3.3. Пусть Χ} Υ — непустые конечные множества и 1 = \Х\ ζ \Υ\ < оо, тогда \ΙηΥχ\ = \Υ\. (3.16) ► Очевидно, в случае \Х\ = 1 любое отображение f:X^Y инъективно, т. е. ΙηΥχ = Υχ, тогда, используя лемму 3.1 из предыдущего параграфа, получаем \ΙηΥχ\ = \Υχ\ = \Υ\. Μ Лемма 3.4. Пусть Х} Υ — непустые конечные множества, 1 < \Х\ ^ |У| < ос и χ Ε Χ} тогда \ΙηΥχ\ = \Υ\ · \In(Y\{y})x^\, (3.17) где у Ε Υ. ПО
§ 3.3. Множества инъективных и биективных ► Как и при доказательстве леммы 3.2 из предыдущего параграфа, зафиксируем в X такую нумерацию, что χ = Χ\χ\· Представим In Yx в виде объединения попарно непересекающихся множеств В{ (г — 1, 2...., |У|), отнеся / (G InYx) ко множеству Д, если f(x\X\) = i/i- Используя правило суммы (равенство (3.6)), получаем Х\ \ΙηΥΛ\ = \У\ и* г=1 \У\ (3.18) Рассмотрим одно из множеств В ι. Каждое отображение fEBi однозначно определяется своим ограничением на множество X \ {х\Х\}. Ясно, что Уг $■ /(-X" \ {^ixi}) из-за инъективности /. При этом ■f 1*\{*|х|> : Х \ {χ\χ\} ~^Υ\ {УЛ ~ инъективно. Стрелочная диаграмма любого отображения /ЕВ* содержит стрелку, ведущую из χ\χ\ в ι/;, а стрелки, ведущие из Χ\{χ|χ|}, ведут в Y\{yi} «инъективно» (см. рис. 3.2). -И 2/1 * У\У\ Рис. 3.2 Стрелки, указанные пунктиром, ние /на!\ {х\х\}· ограниче- 111
Глава 3. Элементы комбинаторики Т°Ща \Bi\ = \In(Y \ {уг})х^х^Ц. (3.19) Поскольку нумерация в Υ зафиксирована произвольно, а эти рассуждения можно повторить для любой нумерации, можно записать |Д| = |/п(Г\М)х^>|, (3-20) где χ е X, у € Υ. Подставляя (3.20) в (3.18), получаем \у\ \у\ |/пК*|=£|Вг| = £|/п(Г\М)^{1}1 = = \Y\-\In{Y\{y})x\M\, где χ в X, у в Υ. < Теорема 3.9. Пусть Χ, Υ — конечные непустые множества, 1 ^ \Х\ ζ |У| < ос7 тогда \ΙηΥχ\ = \Υ\·(\Υ\-1)·(\Υ\-2)...(\Υ\-\Χ\ + 1) = = (|ΐΊ-ϊ*Ι)«' (3"21) (В средней части формулы (3.21) содержится \Х\ сомножителей, первый из которых — наибольший, а каждый следующий меньше предыдущего на 1.) ► Проведем доказательство методом математической индукции, взяв в качестве параметра индукции число элементов во множестве X. 1-й шаг (случай \Х\ = 1). Применяя лемму 3.3, имеем ν \ΙηΥχ\ = \Υ\. В правой части, как и требует в этом случае формула 3.21, один сомножитель — |У|. 2-й шаг (индуктивный переход). Допустим, что утверждение теоремы справедливо для любого п- 112
§ 3.3. Множества инъективных и биективных элементного множества. Докажем, что в этом случае оно справедливо и для множества X такого, что \Х\ = η + 1. Зафиксируем в X произвольный элемент χ и применим лемму 3.4. \InYx\ = \Y\-\In(Y\{y})x\l% гдехЕХ, у € У Множество Х\{х} содержит η элементов, и к In (Y \ {у}) в последнем равенстве применимо предположение индукции, тогда \Ιη Υχ| = \ΥΙ · \In(Y \ {y})x^>I = = |у|.(|у\М|.(|у\М1-1)... ...(\Y\{y}\-\X\{x}\ + l) = \Х\{х}}=\Х\-1 _ .(|У|-2)...(|У|-1-|Х| + 1 + 1) = = |У|.((|У|-1)-(|У|-2)...(|У|-|Х| + 1)). Индуктивный переход, а значит и вся теорема доказаны. Μ Г?~| Задача 3.5. Имеются 15 различных книг и книжная полка, вмещающая 12 книг. Сколько существует способов заполнить книжную полку, используя имеющиеся книги? ► Ясно, что мы не учитываем время суток, толщину книг и т. п., однако можно считать, что на полке имеются места (отсеки) для книг — 1-е место, 2-е место, ..., 12-е место. Заполнить полку — это значит сопоставить месту на полке книгу, его (место) заполняющую. То есть заполнить полку — это значит задать отображение из множества мест во множество книг, при этом, поскольку любая книга не может заполнить более одного места, отображения инъективны. 113
Глава 3. Элементы комбинаторики Значит, «число способов заполнения книжной полки» = \1пКм\ = \К\ - (\К\ - 1)... (|#| - \М\ + 1) = = 15· 14...5-4=^ = 217 945 728 000 способов. Здесь К — множество книг, Μ — множество мест на книжной полке. Μ |~?~| Задача 3.6. В кабину лифта 9-этажного дома вошли 3 пассажира, каждый из них может выйти на любом из восьми этажей. Сколько существует способов разгрузки лифта, при которых на каждом этаже выходит не более одного пассажира? ► Ясно, что «число способов разгрузки» = = |/пЭП| =8-7-6 = 336. (Обозначения см. в задаче 3.4.) Μ Определение 3.7 Пусть X и Υ — множества, обозначим через Вг Υ множество биективных отображений множества X во множество Υ, т. е. f EBiYx<=>f : X — биективное отображение. Теорема 3.10 (критерий непустоты BiYx) Пусть Χ, Υ — непустые конечные множества. Для того чтобы В : Υχ φ 0, необходимо и достаточно, чтобы 1*1 = 1П ► Необходимость ► Пусть / Ε BiY , тогда, так как / сюръективно, f(X) = У, а так как / — инъективно, то |/(^V)| = \Χ\· Значит, \Х\ = \Υ\. Μ Необходимость 114
§ 3.3. Множества инъективных и биективных Достаточность ► Зафиксируем нумерации в X и Υ. X = {хг;х2;...\хп}7 Υ = {у1\У2\ — ',Уп}, где η = \Х\ = \Υ|. Рассмотрим / : X —» У, заданное правилом f(xi)=yi. Ясно, что / биективно, т. е. BiYx ^0. -4 Достаточность < Теорема 3.11. Пусть Χ, Υ — конечные непустые множества и \Х\ = \Υ\. Имеет место формула \BiYx\ = |Х|! = |У|!, (3.22) где \Х\\ = \Х\.(\Х\-1)(\Х\-2)...2-1. ► Очевидно, в случае, когда \Х\ = |У|, имеет место BiYx = InYx, значит, по теореме 3.10 имеем \Вг Υχ\ = \Ιη Υχ\ = \Υ\ ■ (\Υ\ - 1)... 1 = \Υ\\ = \Χ\1 Μ Основные комбинаторные понятия Определение 3.8. Пусть X — непустое конечное множество, \Х\ = п, 1 ^ πι ζ п. Размещениями длины т элементов множества X называют инъективные отображения множества \\\т\^ в X. Обозначим через А™ множество размещений длины га элементов множества X. Это означает, что Ατ£ = ΙηΧ[1]τη]Ν, (3.23) а через А7^> — число размещений длины т элементов множества X. Это означает, что АЪ, = |АЗ?|. (3.24) 115
Глава 3. Элементы комбинаторики Теорема 3.12. Пусть 1 ^ ш ^ п, тогда (п — т)\ А™ = п{п-1)...(п-т + 1) I ' I Замечание. О! = 1. ► Ясно, что теорема 3.12 — переформулировка теоремы 3.9. < Определение 3.9. Пусть X — конечное непустое множество, η = \Х\. Перестановками элементов множества X называют биективные отображения множества [1;п]дг в X. Множество перестановок элементов X обозначают Ψ χ, а число перестановок элементов X — через Ρ\χ\, τη> £· Ρ\χ\ά=Ψχ\- (3.25) Теорема 3.13. Пусть 1 ^ η < оо? тогда Рп = nl (3.26) ► Яснот что теорема 3.13 — переформулировка теоремы 3.11. < Замечания и вопросы в конце параграфа Г?~| ГП 1. В обозначении AV%_\ есть формальный след множества X, в записи А™ этот след исчез, молено в этом случае в качестве порождающего множества X такого, что \Х\ = п, взять множество X = [1; п]м- 2. То же самое, что и замечание 1, только для случая Рп. 116
§ 3.4. Бином Ньютона. Сочетания 3. Сколькими способами можно заполнить полку, вмещающую 17 книг, если имеется 17 различных книг? 4. Коробка для хранения 12 дискет имеет нумерованные отсеки, вмещающие каждый по одной дискете. Сколько существует способов заполнения коробки двенадцатью различными дискетами? Одиннадцатью различными дискетами? Десятью дискетами? 5. У студента 15 дискет с различными данными. Для хранения дискет он приобрел коробку (см. п. 4). Сколькими способами он может ее заполнить (чтобы все отсеки в ней были заполнены)? То же самое, только студент может хранить в коробке 12,11,...Л,0 дискет? 6. У студента 15 дискет с различными данными. Для хранения дискет он приобрел синюю и красную коробки (см. п. 4). Сколько существует способов размещения всех дискет на хранение? § 3.4. Бином Ньютона. Сочетания. Сочетания с повторениями Этот параграф посвящен перечислению подмножеств конечных множеств и приложениям полученных результатов в теории бинома Ньютона, который используется в алгебре и анализе. Начнем этот параграф с бинома Ньютона, т. е. с разложения по степеням а, Ъ бинома (а + Ъ)п (η Ε Ζ+). Ясно, что (а + Ь)° = 1; 117
Глава 3. Элементы комбинаторики η (a + h)n = J2 С?ап-тЬт (п е N). (3.27) Коэффициенты Сгп называются биномиальными коэффициентами (для них применяют и другие обозначения: С(пЛ) и ("))· Какой комбинаторный смысл имеют эти коэффициенты? Правая часть формулы (3.27) получается после возведения а + Ъ в п-ю степень (перемножением скобок (а + Ь) и приведением подобных членов), т. е. мы имеем произведение скобок (а + Ь)г · (а + Ь)2 (а + Ь)п и должны раскрыть скобки, привести подобные и рас- пол ожить слагаемые по убывающим степеням а. Коэффициент С™ стоит при выражении ап~тЬт, слагаемые такого вида получаются при раскрытии скобок в тех случаях, когда из т скобок берется ft, из оставшихся (п — т) скобок — а. То есть С.™ — это число способов выбора т скобок из имеющихся η скобок. Выбирая т скобок из имеющихся η скобок, мы выделяем т-элементное подмножество из тг-элементного множества. Заметим, что из этого комбинаторного истолкования коэффициентов бинома мы. еще не зная формулы для числа m-элементных подмножеств данного п-эле- ментного множества, получаем следующее свойство: С™ = СЦ-ТП, 0 ^ τη ^ п. (3.28) ► а и ft входят в разложения бинома равноправно, тогда π η (α + b)n = J^ Cnlan-Tnbm = (b + a)n = J^ C^V%~mam. m—Q τη—Ο Приравнивая коэффициенты при одинаковых степенях в двух разложениях одного и того же бинома, получаем равенство (3.28). < 118
§ 3.4. Бином Ньютона. Сочетания Определение 3.10. Пусть X — конечное непустое множество, 0 ^ т ^ η = \Х\. Сочетаниями длины т из элементов множества X называют т-элемептпые подмножества X. Множество сочетаний длины т из элементов мноэюества X обозначают С™, а их число — CT^i, т. е. |сз?| = сг Теорема 3.14. Пусть Ti^luO^ra^n, тогда Ст = ^Ц = n(w-l)---(n-m + l) = Рт п] т\ (329) т\(п — га)! ► Пусть X — какое-нибудь n-элементное множество. Рассмотрим множество инъективных отображений InX[i;m]N Разобьем его на непересекающиеся подмножества по следующему принципу: два инъективных отображения /. д: [1; га]дг —> X относятся к одному и тому же подмножеству разбиения тогда и только тогда, когда /([l;m]jv) =g{[l;m]N) (т. е. если образы области определения совпадают). Образ области определения — отрезка натурального ряда [1;га]дг при инъективном отображении является m-элементным подмножеством X. Ясно, что любое га-элементное подмножество X является образом хотя бы одного инъективного отображения отрезка натурального ряда [1;ш]дг в X, т. е. множеств разбиения множества InX^m*N мы получим столько, сколько существует га-элементных подмножеств X, т. е. С™ 119
Глава 3. Элементы комбинаторики Займемся одним из множеств разбиения. В нем находятся все инъективные отображения отрезка [1; т]дг в X, дающие один и тот лее образ области определения. Ясно, что их столько, сколько биективных отображений из [1; т]м в этот образ, т. е. Рт. Тогда, применяя правило суммы, получим Αχ = №\ = ^*1 Σ* Cm r*n ♦ 1 ^ П = Σΐ^ι = Σρ-* = ί^·ρ»»· или Л™ ..- _ η ΠΊ Замечание. Ясно, что С® = \{0}\ = 1, если положить А^ = 1, Pq = 1, то формула (3.29) будет справедлива и для случая т = 0. |~?~| Задача 3.7. В студенческой группе 25 человек. Сколькими способами можно выбрать из них трех человек для участия в профсоюзной конференции факультета? ► Ясно, что представители, выбранные на конференцию, — трехэлементное подмножество множества студентов группы, тогда «число способов выбора» = 251'224323 = = 2 300. * Μ Напомним, что если X —множество, то 2х — множество всех его подмножеств. (Напомним, что обозначение «2 » введено в конце § 2.3.) Теорема 3.15. Для любого конечного множества X имеет место равенство \2Х\ =2lxL (3.30) ► Ясно, что в случае, когда X = 0 (<& \Х\ = 0), формула (3.30) верна. 120
§ 3.4. Бином Ньютона. Сочетания 4л = j0l Рассмотрим случай, когда X — непустое множество, т. е. когда η = \Х\ ^ 1. Зафиксируем нумерацию X, т. е. X = {χι;χ2;.·· ;χη}. Каждому А Е 2х (о А С X) сопоставим \Х(-разрядное ДВОИЧНОе ЧИСЛО ад = (<^1Л^2Л · · ■ ^|Х|л)2? ПОЛОЖИВ (если Х{ £ А . если χι £ А. Ясно, что отображение φ: 2 —l· «множество \Х 1-разрядных двоичных чисел», действующее по правилу φ{Α) = dA, является биективным отображением. Тогда, по основному принципу комбинаторики, |2 | = («множество |Х|-разрядных двоичных чисел»| = 2' '. Проведем еще одно доказательство теоремы 3.15 в случае п = \Х\ >1. ► Рассмотрим множество {0;1} — множество отображений из множества X в двухэлементное множество {0; 1} и сопоставим каждому А Е 2х (АсХ) отображение ХА:Х^{0,1} (^хд€{0;1}Х), заданное правилом ( \ — / 1?если χ £ А. ХЛ[х) - |о|еслих£ А Ясно, что F : 2х -»· {0;1}, действующее по правилу F(A) = χα, является биективным отображением, тогда, по основному принципу комбинаторики, |2*| = |{0;1}*| тс°р^3·7 |{0;1}|1*1 = 2^1. Μ 121
Глава 3. Элементы комбинаторики Некоторые свойства биномиальных коэффициентов Теорема 3.16 Пусть 0 ^ т ^ п. Имеют место следующие свойства: ι) СГ = сц- -ут+1 η 3) Σ Сп = 2". 2)c;*l = c™+l + c« т—0 ► 1) ► Соотношение 1 мы уже доказали (см. формулу (3.28)), используя симметрию бинома. Его молено легко доказать, и воспользовавшись формулой гчт _ 'J2 п т\(п — т)\ Действительно, тогда /^tn—rn _ _ /~im п (η — m)\(n — (η — πι))\ (η — m)\m\ n Приведем еще одно (третье!) комбинаторное доказательство. Зафиксируем X — тг-элементное множество и рассмотрим Cj£ — множество m-элементных подмножеств X. Рассмотрим отображение φ : С^ —> С^Гт, заданное правилом φ(Α) = X \ А Ясно, что φ — биективное отображение из С^ в С^~т. Тогда, по основному принципу комбинаторики. Cm /-til — τη - η — ^п * ^1 2) ► Зафиксируем в (п + 1)-элементном множестве X произвольную нумерацию, т. е. X = {χι;χ2]...;χη\χη+ι}. Разобьем множество С^~*" на два непересекающихся мно- жества I и II, отнеся ко множеству / такие (т + 1)-эле- 122
§ 3.4. Бином Ньютона. Сочетания ментные подмножества X, которые не содержат χη+ι, а ко второму — такие (т + 1)-элементные подмножества X, которые содержат icn+i. Ясно, что В пояснении нуждается только последнее равенство. Действительно, любое (га + 1)-элементное подмножество X, содержащее icn+i, может быть получено добавлением к m-элементному подмножеству множества Χ \ {χη+ι} элемента χη+ι· <2 3) ► Пусть X — тг-элементное множество, тогда 2х = UC$. тп=0 Множества Cj£ не пересекаются, т. е. сх Π сх = 0> если * т^ 3- Тогда, по правилу суммы, η η 2" = \2Х\ = Σ |CJ?I = Σ, Сп- Чз т—0 тп=0 Приведем еще одно доказательство соотношения 3 и теоремы 3.15 (ее третье доказательство). Если X — произвольное η-элементное множество, то |2Ί = Lie? = Σ сг = Σ crin-m · im = ■/Т1=0 771=0 (3.27) = '(1 + 1)η = 2η Соотношение С51 = сг+1 + сг (з-31) 123
Глава 3. Элементы комбинаторики для бинома Ньютона означает, что коэффициент С™+[ в биноме степени η + 1 получается суммированием двух соседних коэффициентов в биноме n-й степени. На этом свойстве основана конструкция знаменитого треугольника Паскаля2 (см. рис. 3.3а, рис. 3.36). Равенство (3.31) называют соотношением Паскаля. с? с\ L·") у.у) к<"у \ + S \ + >/ с? с\ с? с? 1-'4 ^4 ^4 ^4 ^4 Рис. 3.3а 1 1 1 \^ \^ \$s j Рис. 3.36 Теорема 3.17 (тождество Вандермонда3) Пусть τη, n, r G Z+ tiO^r ^ min{m, п}, тогда Г С(т + π,γ) = Σ С(т,г - Ϊ) · С(п,г)· (3.32) ί=ο 2 Паскаль Б лез (1623 1662) знаменитый французский математик, известен вместе с Декартом и Ферма как основоположник аналитической геометрии, ему принадлежат основные результаты в теории конических сечений. Результаты Паскаля стали основополагающими для раздела «Геометрическая вероятность». 124
§ 3.4. Бином Ньютона. Сочетания ► Возьмем произвольное πι + η-элементное множество X и зафиксируем в нем произвольную нумерацию -Л· = \El ? Х2\ · · ■ τ Χ τη J ^m+1 τ ■ · · i ^m+n J ■ Множество С^ r-элементных подмножеств множества X разобьем на непересекающиеся подмножества Si (г = 0,1, 2,..., г), отнеся А (Е С^) ко множеству Si тогда и только тогда, когда \АП{хт+1\х2\...;хт+п}\ =г- (3.33) Ясно, что при этом |ΑΠ{χι;χ2;..-;^ιη}| =г-г. (3.34) Мы получили, что г Crx = USil (3.35) 2=0 а так как множества Si попарно не пересекаются, то, по правилу суммы (теорема 3.6), получаем г C^+m = |C5c| = X;|5i|. (3.36) г=0 Займемся одним из множеств Si (напомним, что Si состоит из таких r-элементных подмножеств множества X, для которых выполнено (3.33) и (3.34)). Разобьем множество Si на попарно непересекающиеся подмножества Sik по следующему правилу: два подмножества А и В из Si относятся к одному Sik тогда и только тогда, когда Α Π{χι, х2, ·· ■, хт} = В П{хь х2,..., хт}- (3.37) 3 Вандермонд Александр Теофил (1735 1796). Родители прочили сыну музыкальную карьеру, но, несмотря на музыкальное образование, он развил в себе и математические способности. Опубликовал в 1771 1772 гг. четыре работы по математике, внеся существенный вклад в теорию алгебраических уравнений, теорию определителей (в т. ч. знаменитый определитель Вандермонда) и др. 125
Глава 3. Элементы комбинаторики Пересечения, стоящие в левой и правой частях (3.37), являются (см. (3.34)) г — г-элементными подмножествами множества {х\, Х2? ■·· » %т}· Таких подмножеств Сгп~г. Тем самым мы доказали, что существует С^~г множеств Sik (τ. е. к принимает значения от 1 до Cf~l). По правилу суммы, получим Гг-г = Σ ι«*ι· Ш = s-ir—l U Sik (3.38) Ar=l Рассмотрим множество 5^ (к фиксировано). Ясно, что 1^1 = |сг{1т+ь...^т+п}| = с;. (3.39) Подставляя (3.39) в (3.38), получаем С 7^ — 1 m №\=Σση = °™4- (3.40) Ar=l Подставляя теперь (3.40) в (3.36), получаем г Следствие. В теореме 3.17 т и η фигурируют равноправно, поэтому справедливо т+п — 2^t υη °m — 2-^t m n' (3.41) i=0 2=0 где m, η Ε Ζ+, O^r^ min{ra, n}. 126
§ 3.4. Бином Ньютона. Сочетания Сочетания с повторениями |~?~| Задача 3.8. В кондитерской продаются пирожные пяти видов (бисквитные, корзиночки, буше, эклеры, трубочки). Сколькими способами можно купить 12 пирожных? ► Покупка взаимнооднозначно определяется набором неотрицательных чисел (χι,Χ2, ··■ ,Χδ), где Х{ — количество приобретаемых пирожных г-го вида (х2 = 0 означает, что мы решили не покупать корзиночки). Тогда наша задача равносильна задаче о числе решений уравнения χχ-l· Х2 + ^з + χα + #5 = 12, Xi Ε Ζ+. (3.42) Сделаем взаимнооднозначную замену у ι = χι + 1, тогда наша задача равносильна задаче о числе решений уравнения Уг + У2 + Уз + Ул + Уъ = 17, Уг е N. (3.43) На прямой отметим 17 точек. Каждому решению уравнения (3.43) сопоставим картинку из отмеченных точек и разделяющих черточек, которая строится следующим образом. Если (yj, у®,..., у^) — решение уравнения (3.43), т. е. набор из пяти натуральных чисел, сумма которых равна 17 (например (1,2, 7,1, 6)), то отсчитаем слева направо t/f отмеченных точек и за последней отсчитанной точкой ставим вертикальную разделяющую черточку. Затем отсчитываем от полученной черточки у® точек и ставим следующую разделяющую черточку и т. д. Какое бы решение уравнения (3.43) мы ни брали, последняя (пятая) черточка будет стоять за последней (семнадцатой) отмеченной точкой. Договоримся последнюю черточку не рисовать. Решению (1, 2, 7, 1. 6) соответствует рис. 3.4. 127
Глава 3. Элементы комбинаторики Рис. 3.4 Ясно, что соответствие между решениями и картинками биективное. Подсчитаем количество картинок. Каждая картинка взаимнооднозначно определяется набором из четырех промежутков между точками, в которых проставляются разделяющие черточки. Число способов выбора четырех промежутков из имеющихся 16 промежутков равно Cj6. Таким образом, число способов покупки двенадцати пирожных, если имеется 5 видов пирожных, равно 4 _ 5_! 16-15-14-13 2 Определение 3.11. Задачами на сочетания с повторениями длины η из т видов называют задачи, сводящиеся к нахождению числа решений уравнений хг+х2-\ h хт = η, х{ е Z+. (3.44) Теорема 3.18. Число сочетаний с повторениями длины η из т видов равно CrJll^l_l. ► Можно дословно повторить решение задачи о пирожных, начиная с уравнения (3.44). < Вопросы в конце параграфа Г?~| 1. Приведите комбинаторное доказательство того факта, что сумма биномиальных коэффициентов, стоящих на четных местах в разложении бинома (а + Ь)п по степеням a, ft, равна сумме коэффициентов, стоящих на нечетных местах. 128
§ 3.5. Количество сюръективных отображений 2. Сколько различных слов можно составить, переставляя буквы слова «арбуз»? 3. То же самое для слова «математика». 4. Сравнивая задачи 3 и 4, попробуйте ввести понятие «перестановка с повторениями» и получить формулу для числа перестановок с повторениями. §3.5. Количество сюръективных отображений В этом параграфе мы получим формулу (к сожалению, не очень компактную) для количества сюръективных отображений и некоторые интересные следствия из нее. Обозначим через sur γΧ множество сюръективных отображений, действующих из X в Υ. Через ->sur γΧ обозначим множество отображений, действующих из X в У и не обладающих свойством сюръективности. Ясно, что surFx = YX\ (-surFx) (3.45) и если X и Υ конечные множества, то \smYx\ = \YX\ - |-8игГх|. (3.46) Попробуем вычислить |—>sur !К^ |. Зафиксируем в Υ произвольную нумерацию — Υ = {yi,i/2, ■· ?У|У|}· Пусть Ам d= {feYx\ г1 (Μ) = 0, м с Υ}, тогда -sur У* =UAM. (3.47) Л/ее J, К сожалению, множества Ам не являются попарно непересекающимися, и мы не можем воспользоваться правилом суммы и вынуждены применить формулу включения-исключения: 129
Глава 3. Элементы комбинаторики |-вигУ*| +Σι^/ΐ- мес*, Ясно, что -iu>/i= Σ ι^ι- Σ \Α"\+ Л/еС>' мес\, Aieci ••• + (-1)|Г|-2 Σ \Ам\ + (-1)М-1\Ау\. Mec\Yy\~l Ау = 0; (3.48) \АМ\ = \(Υ\Μ)χ\ = (\Υ\-\Μ\)\χ\ = = \(Y\{yh,yi2,...,ylk})X\ = (\Y\ ~ АО1*1· (3-49) Учитывая (3.49), получаем £ \AM\ = CfYl(\Y\-k)W. (3.50) л/ес* Воспользуемся (3.48) и (3.50) и вернемся к вычислению |->sur γχ\. ЬвчгУ*| = C}Y](\Y\ - 1)1*1 - CfYfiY\ - 2)1*1 + ■■■ + +(-1)|Г|-3С^-2(|У|-(|Г|-2))^1 + +(-1)|к|-2С|^-1(|У|-(|У|-1))^ = = cfy](\Y\-i)m-cfyi(\Y\-2)\x\ + ...+ +(-1)1у'1-3С||^||-22^1 + (-l)\*\-*C$\-\ (3.51) Из (3.46) и (3.51) получаем следующую теорему. Теорема 3.19. Пусть Χ, Υ — конечные непустые множества. Тогда |surK^|=|K|i^i-a|V|(|^|-i)'^l+c'l2K1(|K|-2)i^i-...+ + (-1)|Г|-2С^-22^1 + (-l)!^-1^;-1. (3.52) Яснот что в случае, когда \Х\ = |У|, surl^ = BiYx, и мы получаем 130
§ 3.5. Количество сюръективных отображений Следствие 3.1. Имеет место формула - С*{п - 3)п + · · · + (-l)"-1^-1. (3.53) Если 1 ζ \Х\ < |У|, множество suiYx = 0, и мы получаем Следствие 3.2. Пусть т < п, т,п Ε N. Тогда справедлива формула пт = С1п{п - 1)т - СЦп - 2)т + СЦп - 3)т + + (-1)П-3С7Г2 · 2т + (-1)п-2С%-1. (3.54) Формулы (3.53) и (3.54) неожиданны и непривычны. Проверим их на конкретных пит. Подставим в (3.53) η = 4: 24 = 4! = 44 - С\ · З4 + Cf 24 - Cf = = 256 - 4 · 81 + 6 · 16 - 4 = 256 - 324 + 96 - 4 = 24. Подставим в (3.54) η = 4, га = 3: 64 = 43 = С] · З3 - С\ ■ 23 + С3 = = 4 · 27 - 6 · 8 + 4 = 108 - 48 + 4 = 64. Вопросы в конце параграфа [Y] Пусть А" = {1,2,3}, У = {1,2}. 1. Проверьте, что |sur 2. Найдите множество sur Υ . 3. Найдите множество -isur У . 4. Формулы (3.53) и (3.54)т может быть, и не так важны, однако мы привели их из-за необычной «техники» доказательства. 131
Глава 3. Элементы комбинаторики §3.6. Пути на решетке |~?~| Задача 3.9. Рассмотрим на декартовой плоскости решетку, состоящую из вершин, имеющих целочисленные координаты, и дуг, выходящих из каждой вершины в ближайшие к ней вершины, находящиеся от нее справа и сверху (см. рис. 3.5). В ί ϊ~-ν η—πι дуг ϊ. η 4-i I.L.J. 1 Ч <S-*i Г-^9 cl^9 _^ шдуг Рис. 3.5 Путем на решетке будем называть последовательность дуг, в которой каждая следующая дуга начинается в вершине, в которой заканчивается предыдущая дуга. Зафиксируем на решетке две вершины А и В и рассмотрим прямоугольник, у которого А является нижней левой вершиной, а В — верхней правой вершиной. По ширине прямоугольника расположено т дуг, а по высоте — (п — т) дуг (1 < т < п). Сколько различных путей на решетке ведет из нижней левой вершины прямоугольника А в его верхнюю правую вершину В? 132
§ 3.6. Пути на решетке ► Решение задачи. Ясно, что каждый путь, ведущий из вершины А в вершину В, состоит из η дуг, из которых т горизонтальных дуг и (п — т) вертикальных. Каждый такой путь можно кодировать вектором длины п, состоящим из т единиц и (п — т) нулей. Единицы в этом векторе стоят на местах, соответствующих прохождению пути по горизонтальным дугам, а нули — по вертикальным дугам. Например, вектор (1,1,..., 1,0,0,..., 0) соответствует пути, проходящему по нижней стороне прямоугольника, а затем по правой вертикальной стороне. Каждый такой (0 — 1) вектор однозначно определяется набором из т позиций, в которых находятся единицы (или набором из (п — т) позиций, в которых находятся нули). Ясно, что выбор т позиций из имеющихся η позиций можно осуществить С™ способами (что выбор п — т позиций из имеющихся η позиций можно осуществить СЦ~т способами). Таким образом, мы решили задачу о количестве путей на решетке, ведущих из вершины А в вершину В, и попутно доказали, что С™ = СЦ~Ш. < Решетка является замечательным «инструментом» для доказательства свойств биномиальных коэффициентов, причем эти доказательства оказываются не только простыми, но и наглядными. Сейчас мы с помощью решетки приведем еще одно такое доказательство тождества Паскаля: η+1 ~~ Un "Γ υη Увеличим размер прямоугольника, добавив еще один вертикальный слой, т. е. увеличим его ширину на единицу, а высоту оставим прежней, (см. рис. 3.6). 133
Глава 3. Элементы комбинаторики В «. ;'V-~*. fS - 4 *ό (n+l)-(m + l) дуг А2 < 4 А * ΰ—*6 *ό·- >:" ! ; .. о—*о—«кз ■ >·. А * А А1 т + 1 дуга Рис. 3.6 Еще раз выпишем полученный выше результат: «количество путей, ведущих из вершины А в вершину В» = с «осповапие» «основанием -f «высота*' Ясно, что в этом случае количество путей, ведущих из вершины А в вершину В, равно С™+[ . Разобьем все множество путей из вершины А в вершину В на два подмножества. К первому подмножеству отнесем такие пути, на которых первый шаг совершается по вертикальной дуге (в вершину А2), а ко второму подмножеству — пути, на которых первый шаг совершается по горизонтальной дуге (в вершину А1). Тогда количество путей, попавших в первое подмножество, равно количеству путей, ведущих на решетке из вершины А2 в вершину В — С.™+1 (основание соответствующего прямоугольника равно т + 1, 134
§ 3.7. Генерация комбинаторных объектов а высота равна η — т — 1), а количество путей, попавших во второе подмножество, равно количеству путей, ведущих на решетке из вершины А1 в вершину В — С™ (основание соответствующего прямоугольника равно га, а высота равна η — га). Таким образом, мы еще раз доказали тождество Паскаля: Вернемся теперь к доказательству тождества η 2" = Σ С'п- Будем считать, что вероятность перехода из вершины в вершину по любой дуге за один временной такт равна !/2. Вероятность попадания из вершины О(0; 0) в вершину В{тп\п — πι) за η шагов равна С™ - (У2)П· Τοπ гда Σ СТп ' (V2)n ~~ вероятность попадания за η шагов 7П=0 из вершины О(0; 0) в какую-нибудь вершину решетки. Ясно, что она равна 1. § 3.7. Генерация комбинаторных объектов Для тех. кто занимается биоинформатикой, важнее умение генерировать комбинаторные объекты, чем подсчитывать их количество (количество знать полезно, поскольку это позволяет контролировать, все ли объекты сгенерированы, или представлять себе объем предполагаемой работы по генерации комбинаторных объектов). Генерация предполагает использование какого-нибудь принципа, это позволяет не пропустить объект или не сгенерировать его дважды. 135
Глава 3. Элементы комбинаторики Генерация перестановок Мы начнем с генерации перестановок. Пусть X = {a;b;c;d}. Перестановки элементов этого множества — это биективные отображения отрезка [1;4]дг во множество {а; Ь; с; d}. Каждое такое отображение можно задать таблично. Верхняя строка таблицы — (1|2|3|4), в нижней строке находятся соответствующие им значения перестановки (биективного отображения). В этой строке перечисляются элементы множества {a;b;c;d}, каждый по одному разу. Задать перестановку — это то же самое, что задать нижнюю строку таблицы. Всевозможные строки этой таблицы будем генерировать следующим образом: отдельно сгенерируем строки, в которых элемент а стоит на первом месте, отдельно - такие строки, в которых на первом месте стоит элемент ft, отдельно — такие строки, в которых на первом месте стоит элемент с, и т. д. Таким образом, мы собираемся сгенерировать строки четырех видов: (aDDD), (bDDD), (cDDD), (dDDD). Строки вида (aDDD) будем генерировать далее по аналогичному принципу — строки вида (abDD), (acDD), (adDD). В результате все перестановки (а их 24) будут сгенерированы в следующем порядке: (abed), (abdc), (acbd), (aedb), (adbc), (adeb), (bacd), (bade), (bead), (beda), (bdac), (bdea), (cabd), (cadb), (cbad), (cbda), (cdab), (cdba), (dabc), (dacb), (dbac), (dbca), (dcab), (deba). Применим теперь другой принцип генерации. Он будет основан на некоторой рекурсивной процедуре. Перестановки длины η + 1 можно сгенерировать из перестановок длины η, составленных из первых η букв, следующим образом: к каждой такой перестановке применяется встав- 136
§3.7. Генерация комбинаторных объектов ка (п + 1)-й буквы спереди, между буквами и в конце перестановки. Начнем работу в соответствии с этой процедурой. Составим сначала перестановку длины 1 из буквы а. Мы получили одну перестановку (а). Из нее генерируем перестановки длины 2: (ba),(ab). Из каждой полученной перестановки вставкой с генерируем перестановки длины 3: (cba), (Ъса), (Ьас). (cab), (acb). (abc). Применим теперь к каждой перестановке длины 3 процедуру вставки буквы d: (dcba), (cdba), (cbda), (cbad), (dbca). (bdca), (bcda), (bead), (dbac), (bdac), (bade), (bacd), (dcab), (cdab), (cadb), (cabd), (dach), (adch), (aedb), (acbd), (dahc)* (adbc), (abdc), (abed). Мы сгенерировали те же самые перестановки, но в другом порядке. it Рекомендуем читателю попробовать самостоятельно сгенерировать все перестановки длины 4, не заглядывая в книгу. Генерация цепочек Рассмотрим теперь следующую задачу. |~?~| Задача 3.10. Имеются четыре различные буквы. Сколько четырехбуквенных цепочек длины 4 можно образовать из этих букв? ►Мне неизвестна формула, позволяющая получить ответ задачи, поскольку цепочки — это не то же самое, что перестановки. Действительно, если представить себе цепочку в виде четырех различных бусинок, нанизанных на нить, то, перевернув цепочку (сделав ее левый конец правым, а правый — левым или, что то же самое, посмотрев на цепочку с другой стороны), мы получаем 137
Глава 3. Элементы комбинаторики ту же самую цепочку, но порядок расположения бусинок на нити при чтении в том же направлении изменился. Поэтому для решения задачи мы применим следующую процедуру: выбираем из множества перестановок какую- то и удаляем из этого множества ту, которая получается из нее в результате переворачивания. Эту процедуру будем применять до исчерпания возможности применения. Возьмем множество перестановок длины 4: (dcba); (cdba); (cbda); (chad)] (dbca); (bdca); (bcda); (head); (dbac); (bdac); (bade); (bacd); (dcab); (cdab); (cadb); (cabd); (dacb); (adeb); (aedb); (acbd); (dabc); (adbc); (abdc); (abed). Применим к этому множеству описанную выше процедуру. На первом шаге выберется перестановка (dcba) и будет удалена перестановка (abed). Затем выбирается (cdba) и удаляется (abde). Далее: (cbda), (adbc), (cbad), (dabc); (dbca), (acbd); (dbca), (acbd); (bdca), (aedb); (bcda), (adeb); (bead), (dacb); (dbac), (cabd), (cabd); (bacd), (dcab). Мы видим, что выбрана половина перестановок, причем «удобным для работы» оказался второй способ генерации перестановок, пары (выбранная и выброшенная перестановка расположены в списке симметрично относительно его середины). Ответ задачи: существует 12 различных цепочек. Μ Теперь, после того как эта задача с помощью предложенной процедуры решена, становится ясно, что имеет место общая формула для количества различных цепочек такого типа. Оно равно —- = — (п > 2). £ Li 138
§3.7. Генерация комбинаторных объектов Генерация колечек Рассмотрим теперь следующую задачу. |~?~| Задача 3.11. Имеется четыре различные буквы. Сколько четырехбуквенных с четырьмя буквами колечек (ожерелий с четырьмя различными бусинками) можно образовать из этих букв? Прежде чем мы начнем решать эту задачу, отметим, что кольцевые структуры наряду с цепочками являются основными в генетике и биоинформатике. ►Мне неизвестна формула, позволяющая получить ответ задачи, поскольку колечки — это не то же самое, что цепочки или перестановки. Действительно, если представить себе колечко, то его можно получить, взяв перестановку как упорядоченный набор бусинок, нанизать на нить в цепочку и соединить концы. Мы получаем колечко (будем считать, что стык незаметен). Расположим колечко как циферблат часов и будем считать, что буквы расположены на местах: «12 часов», «3 часа», «6 часов», «9 часов» (см. рис. 3.7). Рис. 3.7
Глава 3. Элементы комбинаторики Центр колечка расположен в начале координат. Колечко лежит в плоскости xz, а мы смотрим на него, находясь на положительном направлении оси х-ов. Прочтем надпись на колечке, начиная с верхней буквы по часовой стрелке. Для колечка, изображенного на рисунке 3.7, мы получим (abed) перестановку. Повернем колечко на π/2 радиан (90°) по часовой стрелке. Ясно, что мы получили то же самое кольцо, но надпись уже будет читаться как другая перестановка — (dabc). При повороте на π радиан (180°) мы получим (cdab), а при повороте на 3π/2 радиан (270°) - (beda). Повороты против часовой стрелки мы не будем рассматривать, так как поворот на π/2 радиан против часовой стрелки дает такое же положение надписи на кольце, что и поворот на 3π/2 радиан по часовой стрелке, поворот на π радиан против часовой стрелки дает такое же положение надписи на кольце, что и поворот на π радиан по часовой стрелке, поворот на 3?г/2 радиан против часовой стрелки дает такое же положение надписи на кольце, что и поворот на π/2 радиан по часовой стрелке. Повернем теперь колечко вокруг оси ζ на угол π радиан (это то же самое, что мы смотрим на колечко с тыльной стороны). Заново прочтем надпись на колечке. Вместо исходной надписи (abed) мы прочтем «зеркальную» надпись (adeb). Повороты колечка на π/2 радиан, на π радиан, на 3π/2 радиан по часовой стрелке дадут еще три разных надписи: (bade), (cbad), (deba). Все эти восемь надписей образуют восемь различных перестановок. Для решения задачи о количестве колечек и их генерации мы применим следующую процедуру: выбираем из множества перестановок какую-то и удаляем из этого множества те, которые получаются из нее в результате 140
§ 3.7. Генерация комбинаторных объектов поворотов на π/2, π, 3?г/2 радиан, а затем удаляем зеркальную и те, которые получаются из нее в результате поворотов на π/2, π, 3?г/2 радиан. Эту процедуру будем применять до исчерпания возможности применения. Ясно, что количество колечек должно оказаться в восемь раз меньшим, чем количество перестановок. Осуществим теперь генерацию колечек. Выпишем множество перестановок длины 4 (его мы нашли раньше (см. п. «Генерация перестановок»)) — (dcba), (cdba), (cbda), (cbad), (dbca), (bdea), (bcda), (bead), (dbac), (bdac), (bade), (bacd), (dcab), (cdab), (cadb), (cabd), (dacb), (adeb), (aedb), (acbd), (dabc), (adbc), (abdc), (abed). Применим к этому множеству описанную процедуру. На первом шаге выберется перестановка (dcba) и удалятся (adeb), (bade), (cbad), (dabc), (cdab), (bcda), (abed). Теперь мы будем иметь дело со следующим множеством: (cdba), (cbda), (dbca), (bdea), (bead), (dbac), (bdac), (bacd), (dcab), (cadb), (cabd), (dacb), (aedb), (acbd), (adbc), (abdc). На втором шаге мы выберем (cdba) и удалим (aedb), (bacd), (dbac), (cabd), (dcab), (bdea), (abdc). Вместо исходного множества перестановок осталось множество (cbda), (dbca), (bead), (bdac), (cadb), (dacb), (acbd), (adbc). Применим еще раз указанную процедуру. Выбирается перестановка (cbda) и удаляются (acbd), (dacb), (bdac), (cadb), (bead), (dbca), (adbc). Наступило исчерпание исходного множества. 141
Глава 3. Элементы комбинаторики В результате мы получили, что существует три различных колечка. Эти колечки порождены следующими перестановками: (dcba), (cdba), (cbda). Ясно, что пятибуквенных колечек из пяти различных букв будет в десять раз меньше, чем перестановок длины 5, т. е. 5! : 10 = 12. В случае тг-буквенных колечек из η различных букв их количество можно найти по формуле Ρ η I «число колечек» = 4-^ = π^· < Еще один способ генерации колечек Теперь мы приведем еще один метод генерации колечек, который не связан с поворотами колечка вокруг оси и сменой положения наблюдателя (метод сразу учитывает это). Будем считать, что колечко всегда повернуто так, что первая буква находится на «12 часах», и мы считываем надпись на колечке от «12» по часовой стрелке. Тогда любое колечко — это две перестановки, начинающиеся с первой буквы, такие, что одна перестановка является чтением другой при смене положения наблюдателя на противоположное (со стороны крышки часов). Приведем пример. Будем генерировать колечки задачи 3.11. Возьмем множество перестановок длины 4: (dcba), (cdba), (cbda), (cbad), (dbca). (bdca), (bcda), (bead), (dbac), (bdac), (bade), (bacd), (dcab), (cdab), (cadb), (cabd), (dacb), (adeb), (aedb), (acbd), (dabc), (adhc), (abdc), (abed). Оставим в нем только перестановки, начинающиеся с буквы a: (adeb). (aedb), (acbd), (adbc), (abdc), (abed). Образуем первое колечко. Оно будет представлено парой перестановок — (adeb) и (abed). 142
§ 3.7. Генерация комбинаторных объектов Удалим эти перестановки из рассматриваемого множества перестановок: (acdb), (acbd), (adbc). (abdc). Следующее колечко представлено парой перестановок — (acdb) и (abdc). Удалим эти перестановки из рассматриваемого множества перестановок: (acbd), (adbc). Последнее колечко представлено оставшейся парой перестановок — (acbd) и (adbc). Заметим,, что мы сгенерировали те же колечки, что и раньше, но теперь для колечек мы предложили их стандартную запись в виде пар перестановок, начинающихся с первой буквы: (adcb); (abed), (acdb); (abdc), (acbd); (adbc). Это делает понятной формулу для числа колечек, приведенную выше. Генерация сочетаний Пусть множество X = {a:b;c;d;e}. Сгенерируем множество С\ — множество трехэлементных подмножеств множества X. Для этого выпишем в лексикографическом порядке все пятиразрядные двоичные числа: 00000, 00001, 00010, 00011, 00100, 00101, 00110, 00111, 01000, 01001,01010, 01011, 01100, 01101, 01110, 01111, 10000, 10001, 10010, 10011, 10100, 10101, 10110, 10111, 11000, 11001, 11010, 11011, 11100, 11101, 11110, 11111. Выберем из полученного списка числа, в записи которых содержится три единицы: 00111, 01011, 01101, 01110, 10011, 10101, 10110, 11001, 11010, 11100. Используем эти числа в качестве «масок», выбирающих во множестве {а; Ь; с; d\ e} его трехэлементные подмножества. Первое число выбирает подмножество {c;d;e} (выбираются буквы, на месте которых 143
Глава 3. Элементы комбинаторики в двоичном числе стоят единицы), второе число выбирает {ft;d;e}, третье — {й;с;е}, четвертое — {b;c;d}, пятое — {a:d;e}, шестое — {а:с;е}, седьмое — {a;c;d}, восьмое - {a;ft;e}, девятое — {a\b\d}, десятое — {а;Ь;с}. ГП Замечание 1. Если не использовать двоичные числа в качестве маски, то непонятно, почему подмножества были сгенерированы в таком порядке. Замечание 2. «Маски», которыми мы пользовались, называются характеристическими функциями соответствующих им подмножеств. ^ Предложите ваш «собственный» алгоритм генерации подмножеств с заданным числом элементов. Дадим теперь четкое определение характеристической функции множества. Определение 3.12. Пусть I - универсальное множество, характеристической функцией множества а называют отображение v\a * I —> {0; 1}; заданное правилом , ν _ Г 1,если xGi; ХА{х) - |0? еслих^ А Генерация сочетаний с повторениями В дальнейшем мы собираемся заняться цепочками и колечками, на которых буквы могут повторяться. Поэтому первый вопрос — «какие и сколько», т. е. вопрос о качественно-количественном составе. После решения этого вопроса можно будет переходить к вопросу о том, как они комбинируются, образуя цепочку или колечко. Перейдем к рассмотрению конкретной задачи. Имеются буквы a.b, с, d, е. Мы собираемся рассматривать 144
§ 3.7. Генерация комбинаторных объектов цепочки, составленные из четырех букв, и эти буквы необязательно различны. Сколько типов цепочек по составу может быть и какие возможны составы? Ясно, что качественно-количественный состав цепочки однозначно определяется указанием, какие буквы в нее входят и в каком количестве. Договоримся, что если буква в цепочке не участвует, то это означает, что мы включаем ее в качественно- количественный состав цепочки в количестве ноль. Обозначим через ха — количество букв а, входящих в состав цепочки, хь — количество букв ft, входящих в состав цепочки, ..., хе — количество букв е, входящих в состав цепочки. Тогда качественно-количественный состав — это набор неотрицательных целых чисел ха, xj,..., хе, таких что ха +хъ -\ VXc = 4. Наша задача свелась к нахождению числа решений и самих решений уравнения Ха+ХЬ^ h^e = 4, Ха, ХЬ,·*· , ^е € Z+. Такое уравнение уже встречалось (см. (3.18)) в задаче о покупке пирожных, в разделе «Сочетания с повторениями». Там нами была получена формула для числа решений и фактически была предложена схема для генерации решений. Повторим еще раз все, что мы уже проделывали в общем виде, для нашей задачи. Сделаем в уравнении взаимно однозначную замену переменных: У\ =37 + 1,2/2 = жь + 1,.-.,У5 =хе + 1. Тогда задача подсчета числа решений уравнения свелась к задаче подсчета числа решений уравнения 5 J^w = 4 + 5 = 9, yieN. ί=1 145
Глава 3. Элементы комбинаторики Возьмем произвольную прямую и отметим на ней девять различных точек. Каждому решению полученного уравнения поставим в соответствие картинку, которая строится следующим образом. Отсчитаем слева направо yi точек и поставим за последней из них вертикальную черточку, затем отсчитаем от первой черточки t/2 точек и поставим за последней отсчитанной точкой вертикальную черточку и т. д. Ясно, что последняя (пятая) вертикальная черточка для любого решения будет стоять за последней (девятой) точкой. Таким образом, задача подсчета количества решений уравнения и генерации свелась к подсчету «картинок» и их генерации. Различные «картинки» будут получаться за счет различного расположения внутренних разделительных черточек. Этих черточек четыре «штуки», их расположение однозначно определяется выбором четырех промежутков, в которых они будут нарисованы (по одной в каждом из выбранных промежутков). Выбранные промежутки между точками образуют четырехэлемент- ное подмножество во множестве промежутков между точками, таких промежутков восемь. Мы получили, что полученное уравнение, а значит и исходное уравнение имеет С| = 70 решений. Решения можно генерировать с помощью процедуры генерации сочетаний. Для этого нам нужны восьмиразрядные двоичные числа, запись которых содержит четыре единицы (см. пункт «Генерация подмножеств»): 00001111,00011110,00011101,00011011, 00010111,...,11110000. Подмножества, которые они определяют, — это промежутки между точками. Первое число выбирает пятый, шестой, седьмой и восьмой промежутки для постановки разделяющих вертикальных точек. Тогда у ι = 5, 146
§ 3.7. Генерация комбинаторных объектов t/2 = 1, Уз = 15 У А — 1. Это означаем что выбран такой качественно-количественный состав: четыре буквы а, ни одной из букв b,c,d,e. Аналогично число 00101011 определяет такой состав: две буквы а, одна буква ft, одна буква с. Перестановки с повторениями Рассмотрим задачу. Г?~| Задача 3.12. Сколько различных слов можно получить, переставляя буквы слова МАМА? ► Решение задачи. Ясно, что от слова мы не требуем осмысленности. Попробуем просто построить всевозможные слова: МАМА, МААМ, AM AM, АММА, ММАА, ААММ. Нам удалось построить б различных слов, считая и само слово МАМА. Решим аналогичную задачу для слова АМАА. Ясно, что нам удастся построить еще меньше различных слов: МААА, АМАА, ААМА и АААМ, а если мы возьмем слово АААА, то из него никаких новых слов нам сгенерировать не удастся. Ясно, что чем больше в составе исходного слова повторяющихся букв, тем меньше слов удастся сгенерировать. Максимальное количество генерируемых слов получается в том случае, когда все буквы в исходном слове различны, и в этом случае слова — это перестановки, длина которых равна количеству букв в слове. Эти рассуждения привели нас к оценке количества слов, которые можно получить, переставляя буквы слова длины п: 1 < количество слов < Рп = η!. < Объекты, которые мы строили, решая задачу 3.12, называются перестановками с повторениями. Попробуем дать четкое определение. 147
Глава 3. Элементы комбинаторики Определение 3.13 Пусть {αι?α2,... .ат} — множество, т < η — натуральные числа, fci, &2,..., Кп — натуральные числа и к\ + &2 + · · · + кт = п. Сюръективное отобраэюение ψ множества [1;п]дг во мноэюество {αι,α2?... ?ат} на- зывается перестановкой с повторениями длины η типа к\, &2,..., кш, если \φ-\{αι})\ = ^, \φ-Η{α2})\ = к2,..., |^г({ат})| = кт. ГП Замечание. Ясно, что в случае, когда га равно тг, все ki равны 1, перестановки с повторениями типа 1,1...., 1 являются обычными перестановками. Попробуем получить формулу для количества перестановок длины 71 типа fci, &2?..., кт. Множество этих перестановок разобьем на непересекающиеся множества по признаку «две перестановки с повторениями φ и ф относятся к одному множеству разбиения, если φ~1(αχ) = φ~1(αι)». Множеств мы получим столько, сколько во множестве [l;n]jv имеется к\-элементных подмножеств, т. е. С*1, каждое из полученных множеств разобьем на непересекающиеся множества по признаку: «две перестановки с повторениями φ и ψ относятся к одному множеству разбиения, если ψ~ι{α2) = ψ~1(α2)»- В результате мы каждое множество разобьем на Сп2_к множеств. Продолжим этот процесс. Окончательно мы получим разбиение исходного множества на С^1 · С*2 , · С*3 ,. _,_. , · · · С*"1,. , . . ν η n-ki n-(ki+k2) rt—(AriH hfcm-i) В каждом таком множестве находится одна перестановка с повторениями. Подставляя в полученные формулы для нахождения числа сочетаний и учитывая, что η — (к\ + · · · + km-i) = fcm, мы получим 148
§ 3.7. Генерация комбинаторных объектов Рп(кик2,...,кт) = П] . (3.55) kil · к2\- --кт\ Слева в формуле (3.55) стоит обозначение для количества перестановок с повторениями. Генерация перестановок с повторениями Наш подсчет количества перестановок с повторениями и решение задачи 3.12 показывают, что генерация перестановок с повторениями — задача более сложная, чем генерация обычных перестановок. Однако, если мы не ограничены вычислительными ресурсами, можно для генерации перестановок с повторениями использовать генерацию обычных перестановок. Поясним это на примере задачи 3.12. Рассмотрим слово МАМА. Запомним, что 1 соответствует М, 2 — А, 3 — Μ, 4 — А. Сгенерируем всевозможные перестановки длины 4 из элементов 1, 2, 3, 4 (см. пункт «Генерация перестановок»): (1234), (1243), (1324), (1342), (1423), (1432), (2134), (2143), (2314), (2341), (2413), (2431), (3124), (3142), (3214), (3241), (3412), (3421), (4123), (4132), (4213), (4231), (4312), (4321). Воспользуемся теперь тем, что 1 и 3 соответствуют букве М, а 2 и 4 — букве А. В результате наш список перестановок превратится в список слов: МАМА, МААМ} ММАА} ММАА, МААМ, МАМА, АММА, АМАМ} АММА} АМАМ, ААММ, ААММ, ММАА, ММАА, МАМА, МААМ, МАМА, МААМ, АМАМ, АММА, ААММ, ААММ, АММА, АМАМ. Осталось выбрать из этого списка разные слова: МАМА, МААМ, ММАА, АММА, АМАМ, ААММ. 149
Глава 3. Элементы комбинаторики Генерация цепочек с повторениями Посмотрим, что получится при генерации цепочек с повторениями (для того чтобы вспомнить, что такое цепочка, рекомендуем вернуться к пункту «Генерация цепочек»), если в качестве их основы мы возьмем перестановки с повторениями, возникшие из слова МАМА. Для этого мы возьмем множество {МАМА, МААМ, ММАА, АММА} АМАМ, AAMMJ и подвергнем его процедуре, описанной нами в пункте «Генерация цепочек». На первом шаге мы выбираем слово МАМА и удаляем АМАМ. На втором шаге выбираем МААМ, а удалять нечего, так как выбранное слово при зеркальном отражении переходит само в себя (чего не было для обычных перестановок). На третьем шаге выбираем ММАА и удаляем ААММ. На четвертом шаге выбираем АММА и ничего не удаляем, так как опять выбрано слово, переходящее само в себя при зеркальном отражении. Мы сгенерировали четыре разные цепочки, которые порождены следующими перестановками с повторениями: MAMAj MAAMj ММАА и АММА. Гт"| Мы сгенерерировали цепочки с повторениями длины четыре, в которых повторялось две буквы Μ и две буквы А. Попробуйте сгенерировать все цепочки длины четыре, для образования которых используются буквы Μ и А. 150
§ 3.7. Генерация комбинаторных объектов Генерация колечек с повторениями Попробуем теперь сгенерировать все колечки, получаемые из перестановок с повторениями букв слова МАМА. Ясно, что колечки с повторениями — это не то лее самое, что колечки без повторений. Если представить себе колечко с повторениями, то его можно получить, взяв перестановку с повторениями как бусинки, соединить нитью в цепочку и соединить концы. Мы получаем колечко (будем считать, что стык незаметен). Расположим колечко как циферблат часов и будем считать, что буквы расположены на местах: «12 часов», «3 часа», «6 часов», «9 часов» (см.рис. 3.8). A J /мС Μ / J А У Рис. 3.8 Центр колечка расположен в начале координат. Колечко лежит в плоскости xz, а мы смотрим на него, находясь на положительном направлении оси абсцисс. Прочтем надпись на колечке, начиная с верхней буквы по часовой стрелке. Для колечка, изображенного на рисунке 3.8, мы получим {МАМА) — перестановку с повторениями. Повернем колечко на π/2 радиан (90°) по часовой стрелке. Ясно, что мы получили то же са- 151
Глава 3. Элементы комбинаторики мое колечко, но надпись на нем уже будет читаться как другая перестановка с повторениями — (АМАМ). При повороте на π радиан (180°) мы получим (МАМА), а при повороте на 3π/2 радиан (270°) — (АМАМ). Повороты против часовой стрелки мы не будем рассматривать, так как поворот на π/2 радиан против часовой стрелки дает такое же положение надписи на кольце, что и поворот на 3π/2 радиан по часовой стрелке, поворот на π радиан против часовой стрелки дает такое же положение надписи на кольце, что и поворот на π радиан по часовой стрелке, поворот на 3π/2 радиан против часовой стрелки дает такое же положение надписи на кольце, что и поворот на π/2 радиан по часовой стрелке. Повернем теперь колечко вокруг оси ζ на угол π радиан. Заново прочтем надпись на колечке. Вместо исходной надписи (МАМА) мы прочтем «зеркальную» надпись (МАМА), которая совпадает с исходной перестановкой с повторениями. Л| (Напишите на колечке А А и прочтите эту над- М пись, глядя на отражение колечка в зеркале.) Повороты колечка на π/2 радиан, на π радиан, на 3π/2 радиан по часовой стрелке дадут еще три разных надписи: (АМАМ), (МАМА), (АМАМ). Таким образом, две перестановки с повторениями МАМА и Л МЛ Μ дают одно колечко с повторениями. Удалим их из множества перестановок с повторениями. Возьмем теперь перестановку МААМ. Поворот колечка на π/2 радиан по часовой стрелке даст нам надпись ММАА, а поворот на угол π радиан даст нам АММА, поворот на угол 3?г/2 радиан даст ААММ. Поворот колечка вокруг оси ζ на угол π радиан даст нам из исходной 152
§ 3.7. Генерация комбинаторных объектов записи запись ММАА. Повороты колечка на π/2 радиан, на π радиан, на 3π/2 радиан по часовой стрелке дадут надписи: (АММА), (ААММ), (МААМ). Мы получили, что перестановки с повторениями МААМ, ММАА, АММА, ААММ дают еще одно колечко с повторениями. Таким образом, мы уже перебрали все множество перестановок с повторениями. В результате мы получили всего два различных колечка с повторениями. ГП Замечание 1. Мы получили интересный результат, показывающий, что в случае повторений ситуация принципиально меняется. Когда мы генерировали четырехбуквенные колечки без повторений, каждые восемь перестановок порождали одно колечко. Для колечек с повторениями получилось не так. Одно из колечек порождается двумя перестановками с повторениями, а другое — четырьмя. Это показывает, что надеяться на получение простой формулы, позволяющей вычислять количество колечек с повторениями через количество перестановок с повторениями, не приходится. Замечание 2. Аналогичный результат мы получили и для цепочек с повторениями — из четырех полученных цепочек с повторениями две порождались двумя перестановками каждая, а еще две других цепочки порождались каждая только одной перестановкой. 153
Глава 3. Элементы комбинаторики Диполярная комбинаторика Сейчас мы в качестве исходных объектов будем использовать новые объекты — диполи. Что это такое? Во-первых, у диполя есть имя (как правило, имя — это буква). Во-вторых, у диполя есть две различимые стороны (условно «+» и « » («левая сторона», «правая сторона»)). Диполь можно представлять картинкой (см. рис. 3.9): Рис. 3.9 Диполи могут соединяться между собой как одинаковыми сторонами (полюсами), так и разными, поэтому их комбинаторные возможности при образовании перестановок, цепочек и колечек без повторений и с повторениями значительно шире, чем у букв, которыми мы пользовались до сих пор. Г?~| Задача 3.13. Дано три диполя (+а—), (+6—), (+с—). Сколько перестановок можно получить из этих диполей? ► Решение задачи. Образуем первую перестановку из этих трех диполей — (+а—]-Ь—he—). Меняя в ней ориентацию диполей, получаем следующие перестановки: (+а-+Ь--с+), (+а--Ь++с-), (+а--Ь+-с+), (-а+ +6- +с-), (-а+ +6- -с+), (-а+ -Ь+ +с-), (-а+-Ь+-с+). Таким образом, одна обычная перестановка порождает восемь различных перестановок из трех диполей. Μ 154
§3.7. Генерация комбинаторных объектов Решая эту задачу, мы фактически получили формулу Р± = 2п-п\. (3.56) Слева в формуле (3.56) — обозначение для количества перестановок из η диполей. Генерация перестановок из диполей Как сгенерировать перестановки из диполей? Вернемся к решению задачи 3.11. Перестановку диполей (+а—\-b—he—) можно взаимнооднозначно расщепить на обычную перестановку длины 3 (abc) и набор из шести знаков (Ч 1 1—). Этот набор взаимнооднозначно определяет набор из трех знаков, стоящих в нем на нечетных местах (+ + +). Аналогично перестановка (—|—а+ +Ь—) взаимнооднозначно расщепляется на (ab) и ( Ь). Это наблюдение позволяет предложить вариант генерации перестановок, составленных из диполей. Обычные перестановки мы уже умеем генерировать, осталось научиться генерировать знаковые последовательности. Поскольку знак принимает два возможных значения, мы можем от этих не совсем привычных объектов — знаковых последовательностей перейти к двоичным числам. Будем считатьт что плюс кодируется единицей, а минус — нулем, тогда знаковая последовательность длины η кодируется n-разрядным двоичным числом. Например. последовательность (Ч Ь) кодируется числом 1001, а последовательность (+Н ) — числом 1100. Таким образом, генерация знаковых цепочек свелась к генерации двоичных чисел. Это же порождает новую запись перестановки из η диполей (и фактически определение этого объекта). Пере- 155
Глава 3. Элементы комбинаторики становка из η диполей +αχ —, +ct2—,... ,+ап — это упорядоченная пара, состоящая из перестановки элементов множества А = {αχ, α2,..., ап} и ^-разрядного двоичного числа. То есть множество перестановок из η диполей — это декартово произведение множеств РА χ({0;1}χ{0;1}χ···χ{0;1}). Из этого и формулы (3.5) для числа элементов в декартовом произведении множеств мы получаем формулу Р± =Ρη·2η = 2η·η\. Цепочки из диполей Рассмотрим теперь дипольные цепочки длины 3, составленные из трех разных диполей +а—,+й—,+с—. Возьмем перестановку диполей ((abc); 110). Ясно, что перестановка диполей ((cba); 011) дает ту же самую цепочку, поэтому дипольных цепочек в два раза меньше, чем перестановок диполей. Описывать генерацию дипольных цепочек мы не будем, каждый из читателей может и должен проделать это самостоятельно (<— it )· Колечки из диполей О чем сейчас пойдет речь? Поскольку мы уже многое понимаем в колечках, то сразу перейдем к делу. В качестве исходной перестановки диполей возьмем ((abed), 1111). Повернув колечко на π/2 радиан по часовой стрелке, получим то же самое кольцо, но надпись на колечке уже будет читаться как другая перестановка диполей — ((dabc), 1111). При повороте на π радиан мы 4 Знак <— ^г указывает на то, что необходимо проделать самостоятельно. 156
§3.7. Генерация комбинаторных объектов получим ((cdab), 1111), а при повороте на 3π/2 радиан — ((bcda), 1111). Повернем теперь колечко вокруг оси ζ на угол π радиан и снова прочтем надпись на колечке. Вместо исходной надписи ((abed), 1111) мы прочтем «зеркальную» надпись ((adeb).1111). Повороты колечка на π/2 радиан, на π радиан, на 3π/2 радиан по часовой стрелке дадут еще три разных надписи: ((bade), 1111), ((cbad), 1111). ((deba), 1111). Все эти восемь надписей образуют восемь различных перестановок из четырех диполей. Подробно описывать генерацию диполъных колечек мы не будем, каждый из читателей может и должен проделать это самостоятельно (<— ^). Перестановки из диполей с повторениями Здесь мы только укажем на объект, который следует называть дипольной перестановкой с повторениями. Определение 3.14. Пусть {αι,α2,... ,ctm} ~~ множество, т < η — натуральные числа, к\, &2, ·■■ ? Кп — ηα~ туральные числа и к\ + &2 Η— · + кт = п. Перестановкой с повторениями диполей +а\ —, +<22—, ···, +о,т ~ длины η типа &ι,&2,...&πι называется упорядоченная пара (φ, «η-разрядное двоичное число»), где φ — перестановка с повторениями элементов множества {αϊ, «2,··· ,flm} длины η munaki,k2*... ,fcm- (То есть φ — сюръективное отобраэюение множества [1;п]дг во множество {αι,α2,... ,ат}, такое, что \φ~ι({αι})\ = &ι, \<р-1(Ы)\=к2,...,\<р1Ч{йт})\ = кт). ГП Замечание. Из определения следует, что повторяющиеся в такой перестановке диполи могут иметь различную ориентацию. 157
Глава 3. Элементы комбинаторики ^ —> Постарайтесь самостоятельно сгенерировать перестановки из диполей с повторениями (в этом вам помогут пункты «Генерация перестановок с повторениями» и «Генерация перестановок из диполей»). Цепочки из диполей с повторениями После того как мы определили, что такое перестановки диполей с повторениями заданного типа заданной длины, вы сами сможете понять, что такое цепочки диполей с повторениями заданной длины и заданного типа. ^ —> Постарайтесь сами сгенерировать цепочки диполей с повторениями (в этом вам помогут разделы «Генерация колечек», «Генерация перестановок с повторениями» и «Генерация перестановок из диполей»). Колечки из диполей с повторениями О чем сейчас пойдет речь? Поскольку мы уже многое понимаем в колечках, диполях, перестановках с повторениями, колечках с повторениями, мы сможем понять, что такое колечко диполей заданной длины и заданного типа. ^ —> Постарайтесь сами сгенерировать колечки из диполей с повторениями (в этом вам помогут разделы «Генерация колечек», «Генерация перестановок с повторениями», «Генерация перестановок из диполей»).
Глава 4 Отношения Эта небольшая глава посвящена отношениям и операциям над ними. С отношениями мы имеем дело каждый день, таковыми являются отношение равенства на произвольном множестве, отношения ^, <, ^, > на множестве вещественных чисел, отношения подобия фигур на плоскости и т. п. Оказывается, что и числовые функции можно рассматривать как частный случай отношений. При этом легче понять, что означает обратимость функции и т. п. В этом введении все упомянутые отношения двуместны. Можно рассматривать и η-местные (п > 2) отношения, однако наибольшее внимание мы уделим двуместным отношениям. §4.1. гс-местные отношения. Булевы алгебры отношений и матриц 1. гс-местные отношения Определение 4.1. Пусть Χχ,Χ2,.--,Χη ~ непустые множества, η-местным отношением, заданным на XixX2x- - 'ХХп, называют подмножество S декартова произведения Х\ χ Х2 х · · · х Хп- Об п-ке {х\\ х2\...; хп) говорят, что она связана отношением S, если (χχ] х2\...; хп) G S, или не связана отношением S, если {х\\Х2\ -■· \Яп) & S. п Пример 4.1. Рассмотрим на декартовой плоскости Я2 = RxR множество S — окружность единичного радиуса с центром в начале координат. Ясно, что 159
Глава 4. Отношения Π Π пара (χι,Χ2) связана двуместным отношением S тогда и только тогда, когда х1 + х2 = 1· Пример 4.2. Рассмотрим трехместное отношение на Д3, заданное следующем: (хьХ2,#з) Ε S <=> χι + х2 = хз- Ясно, что S — параболоид вращения с вершиной в начале координат и осью вращения 0х% (см· Рис· 4.1). Пример 4.3. Рассмотрим двуместное (о бинарное) отношение на Д2, заданное следующим: (χχ, х2) G S <3> х\ ^ Х2- Ясно, что S — полуплоскость, лежащая выше биссектрисы I и III координатных углов, и сама биссектриса (см. рис. 4.2). х2 Рис. 4.1 Рис. 4.2 Для двуместных (бинарных) отношений вместо записи (х, у) £ S принята запись xasy, а если знают, о каком S идет речь, то пишут хау (за наиболее распространенными отношениями закреплены обозначения «=», «$Ξ», «<», «>», «>», «С»). 160
§4.1. n-местные отношения 2. Булева алгебра отношений Зафиксируем Χ, Υ — непустые множества и рассмотрим множество ЩХ χ Υ) — множество бинарных отношений на Χ χ Υ. Введем на R(X x Y) операции дополнения, объединения, пересечения. Определение 4.2. Дополнением к отношению as, порожденному множеством S, называется отношение as, порожденное множеством S — дополнением S относительно Χ χ Υ, т. е. xasy О xasy. Определение 4.3. Объединением (пересечением) отношений а$ и ат называется отношение a$Uar (ol$C\olt), порожденное множеством S U Τ (S Π Τ), т. е. dcf xas U ату & ха$иту (xas Π aTy U ха3пту) · Π Пример 4.4. Рассмотрим на R2 отношения ^ и >, тогда — х^у О χ > у, # ^ U > у — тривиальное отношение, которое связывает между собой любые два вещественных числа. Теорема 4.1. Множество R(X χ Υ) образует относительно операций дополнения, объединения, пересечения булеву алгебру, т. е. для них (отношений) выполняется 19 основных равенств булевой алгебры. (Доказательство следует из определения операций над отношениями и теоремы о том, что множества относительно операций дополнения, объединения и пересечения образуют булеву алгебру.) 161
Глава 4. Отношения 3. Булева алгебра матриц Пусть X и Υ — конечные непустые множества. Зафиксируем нумерацию в X и в У, т. е. X = {х1;х2;...;х\Х\}\ У = {уьу2, ■· ,У\у\}· Рассмотрим на Χ χ Υ бинарное отношение а. Поставим ему в соответствие матрицу Аа размера \Х\ χ \Υ\ с элементами (A^)ij(E {0; 1}), определенную следующим: (А ) = ί1, еСЛИ Х{ауз; V α/и |q? если Xiayj. Справедливо и обратное: если X и У — конечные непустые нумерованные множества и Л — произвольная \Х\ χ |У|«0-1» матрица (о (A)ij Ε {0; 1}), то существует бинарное отношение а на X х У такое, что Таким образом, между множеством R(X x У) бинарных отношений на X х У (X и У — непустые конечные нумерованные множества) и множеством «01» матриц размера \Х\ х |У| существует взаимнооднозначное соответствие — сопоставление бинарному отношению его матрицы. Значит, булевы операции над «01» матрицами размера πι χ η можно вводить, используя булевы операции над бинарными отношениями, положив, например, X = [l;m]jv, У = [l;n]jv с их естественной нумерацией. '0110' В= I 0010 0101 162
§ 4.1. n-местные отношения Тогда _ /θ11θ\ /inl\ /0000\ Л=0010,АиЯ=1111, АГ\В = 0000 . \1011/ \0101/ \0100/ ГП Замечание 4.1. Ясно, что имеют место равенства: (А)ц = Шу (AUB)ij = (A)ijV(B)ij (4.1) (ЛПВ)у = (Л)„Л(В)у. Теорема 4.2. Множество В(т х п) - «0-1» матриц (булевых матриц) размера т χ η образует булеву алгебру относительно операций дополнения, объединения, пересечения, т. е. для булевых матриц выполнено 19 основных соотношений булевой алгебры. 4. Композиция бинарных отношений. Булево произведение матриц Определение 4.4. Пусть а — бинарное отношение на Χ χ У, β — бинарное отношение на Υ χ Ζ. Определим композицию бинарных отношений а о β как бинарное отношение на Χ χ Ζ, заданное следующим: χα ο β ζ Φ> Зy((xay)(yβz)) = 1. Очевидно, что композиция ассоциативна, т. е. (а о β) о 7 = α ο (β о 7), и, вообще говоря, некоммутативна, т. е. существуют α и /3 такие, что ао β φ β о а. Отмеченное выше соответствие между бинарными отношениями на конечных множествах и булевыми матрицами порождает операцию булева умножения «01» матриц. (Композиции отношений соответствует булево произведение матриц.) Ясно, что оно (булево умножение) определено следующим правилом: 163
Глава 4. Отношения Определение 4.5. Пусть А — булева матрица размера т χ ρ с элементами (A)ij, В — булева матрица размера ρ χ η с элементами (B)ij. Булевым произведением матриц А, В называется булева матрица А\ х \В размера т χ η с элементами (А\ х \B)ijt определенными следующим равенством: (A[^\B).3 = \/(A)ikA(B)kj. λ:=1 π Пример 4.6. Пусть ^=(j?0's=(i!)·тагда*&-(»)■ Ясно, что булево умножение матриц ассоциативно, т. е. (Л[х]В)[х]С = Л0(В|]Г|С), (4.2) и, вообще говоря, некоммутативно, т. е. существуют такие матрицы А и В, для которых А[х]В^В[х]А. (4.3) Замечания и вопросы в конце параграфа |~?~| ГП 1. Мы определили булевы операции для двуместных отношений. Ясно, что они определяются точно так лее для отношений любой местности. 2. Как сказывается на матрице А& бинарного отношения о; на Χ χ Υ изменение нумерации X; изменение нумерации ΥΊ 164
§4.1. n-местные отношения 3. Приведите пример таких отношений, для которых о; о β φ β ο α. 4. Приведите пример таких булевых матриц, для которых А{х\В φ Β{χ]Α. 5. Приведите пример таких отношений, для которых а о β = β о а. 6. Приведите пример таких булевых матриц, для которых Л[х]В = 5[х]А 7. Пусть А — квадратная η χ η булева матрица. Определим ее булевы натуральные степени, положив лШ = А; αΞ = Л[х]А; αΞ = А0[х]А; ... ;А\ к + 1 т + п Докажите, что 8. Докажите, что для любой η χ η булевой матрицы А имеет место: (/ U А)1 п ~ 11 = (/ U А)И = ...; 100...0^ τ def ι о ι о... о где / = ,000. ..1, 165
Глава 4. Отношения § 4.2. Бинарные отношения на множестве. Свойства бинарных отношений Определение 4.6. Бинарным отношением на множестве X называется бинарное (двуместное) отношение на Χ χ X. И Пример 4.7. Пусть X = R. Рассмотрим бинарное dMx2 = v2. отношение а, заданное правилом хау <& х" = у" Пример 4.8. Пусть X = R. Рассмотрим бинарное отношение /3, заданное правилом xfiy *Л х2 < у2. Пример 4.9. Пусть X = С (С — множество комплексных чисел). Рассмотрим бинарное отношение 7, заданное правилом 2:17^2 w \z\\ = \z2\. Пример 4.10. Рассмотрим на С бинарное отношение 5, заданное правилом ζ\δζ2 & (Rezi ^ Rez2)&(Imzi = Im^). Выделяют следующие основные свойства бинарных отношений: рефлексивность, транзитивность, симметричность, антисимметричность, а затем с помощью присутствия определенной комбинации этих свойств выделяют два важнейших типа бинарных отношений: отношения порядка и отношения эквивалентности. Определение 4.7. Бинарное отношение а на X называется рефлексивным, если \/х (хах) = 1. То есть бинарное отношение а, порожденное множеством S&, называется рефлексивным, если множество Sol, порождающее а, содержит целиком диагональ декартова квадрата Χ χ Χ — diag(X xX)= \J{(x;x)}. хех 166
§ 4.2. Бинарные отношения на множестве Определение 4.8. Бинарное отношение а на X называется транзитивным, если VxVyVz ((xay)h(yaz) —» (χαζ)) = 1. (VxVyVz ((xay)lk(yaz) => (χαζ))). Определение 4.9. Бинарное отношение а на X называется симметричным, если VxVy ((хау) —» (уах)) = 1. (VarVy ((ray) =£> (уах))). То есть бинарное отношение а на X симметрично, если множество S&, его порождающее, располоэюено симметрично относительно diag(X χ X) (см. рис. 4-3)- \ diag(X χ X) а — симметрично Рис. 4.3 Определение 4.10. Бинарное отношение а на X называется антисимметричным, если VxVy ((xay)fo(yax) —l· (χ = у)) = 1. (VxVy ((xay)&z(yax) => (χ = у))). To есть бинарное отношение а на X антисимметрично, если множество Sa, его порождающее, не содержит ни одной пары различных точек, симметричных относительно diag(X χ X) (см. рис. 4-4)· 167
Глава 4. Отношения / • Ψ- &α/ / / / X Рис. 4.4 / / / • eSa π Пример 4.11. Рассмотрим таблицу: α 0 7 S = ζ x,y eR Рсфл. + — + + + + + Симмстр. + — + — + — — Транз. + + + + + + — Антисимм. - + - + + + — Здесь «+» означает, что соответствующее свойство присутствует, а « —» — отсутствует, а, /?, 7? ^ ~~ отношения из примеров 4.7-4.10. Вопросы в конце параграфа Г?~| 1. Приведите примеры рефлексивных отношений. 2. Приведите примеры нерефлексивных отношений. 3. Приведите примеры симметричных отношений. 4. Приведите примеры несимметричных отношений. 5. Приведите примеры транзитивных отношений. 6. Приведите примеры нетранзитивных отношений. 168
§ 4.3. Отношение порядка и доминирование 7. Приведите примеры антисимметричных отношений. 8. Приведите примеры неантисимметричных отношений. 9. Для приведенных вами в вопросах 1-8 отношений проверьте наличие и отсутствие остальных, выделенных определениями 4.6-4.10 свойств. § 4.3. Отношение порядка и доминирование Определение 4.11. Бинарное отношение а на X называется отношением порядка на X, если оно рефлексивно, транзитивно и антисимметрично. Классическим примером отношения порядка является отношение ζ на R. Ясно, что отношение δ (см. пример 4.10) является отношением порядка на С. Отношение порядка а из, X называется отношением линейного порядка на X (линейным порядком на X), если \/х\/у ((хау) V (уах)) = 1. В противном случае порядок называется частичным. То есть отношение порядка на X является линейным порядком, если любые два элемента множества X сравнимы с этим отношением. Ясно, что отношение ^ на Д является отношением линейного порядка, а отношение δ на С — частичного порядка, так как 1 + г δ 2 — 2г и 2 — 2г δ 1 + г. Пример 4.12. Рассмотрим произвольное множество А и на множестве 2Л — бинарное отношение С. Ясно, что С является отношением порядка, причем если \А\ ζ 1 — порядок линейный, а если |А| > 2 — частичный. Π 169
Глава 4. Отношения Пара (X. а), где α — бинарное отношение на X, называется упорядоченным множеством, если α — отношение порядка на Х\ линейно упорядоченным множеством, если о; — линейный порядок; частично упорядоченным множеством, если α — частичный порядок. Ясно, что (Я, ^) — линейно упорядоченное множество, а (С, δ) (см. пример § 4.2) — частично- упорядоченное множество. Пусть (X, а) — упорядоченное множество, определим на X еще одно бинарное отношение da — доминирование. Определение 4.12. Говорят, что у (Е X) доминирует над χ (Е X) по отношению порядка а (пишут xday), если: 1) χ φ у; 2) хау; 3) 4z ((xaz)k(zay) -> (χ = ζ) V (ζ = у)) = 1. Π Пример 4.13. Рассмотрим (iV, ^). Ясно, что 4 доминирует над 3, 5 — над 4. Пример 4.14. Пусть ζ = {1;2;3}. На множестве 2< = {0, {1}, {2}, {3}, {1; 2}, {1; 3}, {2; 3}, С} рассмот- рим отношения С, dc. Элементы множества 2*> изобразим точками, а пару точек х, у соединим стрелкой от χ к t/, если xdcy- Тогда мы получим граф доминирования (см. рис. 4.5). Этот рисунок (<=>► граф) называется диаграммой Хассе, или диаграммой доминирования. 170
§ 4.3. Отношение порядка и доминирование {1,2,3} Рис. 4.5 Определение 4.13. Пусть (X, а) — упорядоченное множество. Последовательность {#i}5Lo (χί £ Χ) называется цепью доминирующих элементов длины п, соединяющей х с у, если выполнены два условия: 1) χ = х0, у = хп\ 2) х{-1аах{ i = 1,2,... ,гс. Теорема 4.3 (о цепях доминирующих элементов) Пусть (Χ,а) — конечное (\Х\ < ос) упорядоченное мно- жество, х,у Ε Χ, χ φ у и хау, тогда существует цепь доминирующих элементов, соединяющая χ с у (длины не большей чем \Х\). ► Для каждой пары (х, у) такой, что хау, χ φ у, в конечном упорядоченном множестве (Х,а) можно ввести характеристику θ(χ, у) — «число элементов, лежащих между χ и у (говорят, что ζ лежит между χ и у, если (xaz)&.(zay)h(z φ x)h(z φ у))». Теорему будем доказывать индукцией по в(х,у). Шаг I. хау, χ φ у, в(х,у) = 0. Это означает, что у доминирует над х. Положим xq = .τ, χ χ — у — искомая цепь построена. 171
Глава 4. Отношения Индуктивный переход. Допустим, утверждение теоремы справедливо для любых двух элементов и и ω множества X таких, что θ(ι/, ω) ^ Hq. Докажем, что тогда теорема справедлива для любых х. у таких, что 9{х,у) = по + 1. Зафиксируем какой-либо элемент ζ, лежащий между χ и у. Ясно, что θ(χ, ζ) ^ no; 0(z,y) ^ п0. Тогда по предположению индукции существуют: цепь доминирующих элементов {х\ }^q, соединяющая xcz, и цепь {х\ }·^ο> соединяющая ζ с у. Рассмотрим последовательность {x{}^Q Tlzy, заданную правилом Xi = < х\ \ если 0 ζ г К ηχζ\ ι (2) [ Xi-nxzi еслИ n'Joz <г ^ Πχζ + Uzy. Ясно, что {xi}r^zQ Пгу — искомая цепь доминирующих элементов. Индуктивный переход, а значит и вся теорема доказаны. < Смысл доказанной теоремы 4.3 состоит в том, что в конечном упорядоченном множестве {X, а) порядок полностью восстанавливается цепями доминирующих элементов. Замечания и вопросы в конце параграфа |~?~| ГП 1. Прежде чем сформулировать вопросы, определим важные понятия, связанные с отношением порядка. 172
§ 4.3. Отношение порядка и доминирование Определение 4.14. Пусть (X, а) упорядо- ченное множество и AdX. Элемент ам^А (ат Ε А) называется наибольшим (наименьшим) элементом множества А, если для любого элемента а Ε А выполнено ааам (атаа). Определение 4.15. Элемент а' £ А называется максимальным (минимальным) элементом в А, если для любого элемента а Е А выполнено а'аа О о! — а {ааа! <=> а = а'). Ясно, что если рассмотреть (Д, ζ), то во множестве (0; 1] элемент 1 является и наибольшим, и максимальным, а наименьшего и минимального элементов нет. 2. Рассмотрим упорядоченное множество из примеров 4.12, 4.14 - (2^А3>,С) и А = {{1}, {2,3},{1,3},{1,2,3}}. В нем {1,2,3} - наибольший элемент, {1,2,3} — максимальный элемент, {1}, {2,3}, {1,3} — минимальные элементы, наименьшего элемента нет. 3. Рассмотрим (С, δ) (см. пример 4.10). Пусть А — множество точек комплексной плоскости, удовлетворяющих условию: а) ζ Ε Α ο \ζ\ < 1; б) ζ Ε Α <=> (1 < Kez ζ 2)&(-г < 1тг ζ г). Найдите в А наибольший, наименьший, максимальные, минимальные элементы. 4. Докажите самостоятельно, что если во множестве существует наибольший элемент, то он единствен и является при этом единственным максимальным элементом. То же самое справедливо и для наименьшего элемента. 173
Глава 4. Отношения §4.4. Отношение эквивалентности Определение 4.16. Бинарное отношение а на множестве X называется отношением эквивалентности, если оно рефлексивно, симметрично и транзитивно. п Пример 4.15. Отношение «=» на любом множестве X является отношением эквивалентности. Пример 4.16. Отношения а и 7 из примеров 4.7 и 4.9 являются отношениями эквивалентности. Определение 4.17. Пусть а — отмошение эквивалентности на Χ, χ Ε Χ. Рассмотрим мноэюество [х]а = {у Ε Х\хау}, это мноэюество называется классом эквивалентности (смежности) элемента χ по отношению к эквивалентности а. Π Пример 4.17. [х] = = {х}· [1]а = {-1; 1}; [1 - г]7 - множество точек на комплексной плоскости, образующих окружность радиуса у/2 с центром в начале координат (см. рис. 4.6; а из примера § 4.2, 7 ~~ из примера 4.9). Рис. 4.6 174
§ 4.4. Отношение эквивалентности Теорема 4.4. Пусть а — отношение эквивалентности на X. Множества [х]а обладают свойствами: 1) [х]а ф0 Ух€Х; 2) VzVy ([х]а П [у]а φ 0 => [х]а = [у]а); 3) \J[x]a = X. ► 1) Так как о; рефлексивно, то χ αχ ФФ> χ Ε [x]Q, значит, 3) Так как χ Ε [x]Q, то {х} С [χ]α, тогда Χ = U {χ} С U [φ С Χ (4.4) (последнее — U [ι]α С X выполнено, так как [х]а С X). Мы получили, что в (4.4) слева и справа стоит множество X, значит, в этой цепочке все знаки С тривиальны, т. е. заменяются на знак =. 2) Пусть [х]а П[у]а φ 0. Покажем, что в этом случае М« = [у]&· Тривиальным является случай, когда χ = у. Рассмотрим случай хфу. Зафиксируем произвольную точку ζ Ε [х]аП [у]а и возьмем произвольную точку t Ε [у]а, тогда мы имеем: a) xaz (ze[x]a)\ б) yaz (г€[у]а); в) yat (te[y]a). Так как о; симметрично, то yaz <& &) zay. Из а) и б') по транзитивности о; получаем г) хау. Из в) и г) по транзитивности о; получаем, что xat О д) t Ε Μ»· Так как t — произвольная точка [у]а} то мы доказали, ЧТО ИЗ [χ]α Π [у]а ф® => [y]Q С [x]tt- Но условие [x]tt Π [г/]а φ 0 <=$ [у]а О [χ]α φ 0, значит, по доказанному и [х]а С [у]а, но тогда мы доказали, что Μ" = Μα· <« 175
Глава 4. Отношения Определение 4.18. Пусть а — отношение эквивалентности на X. Фактор-множеством множества X по отношению а называется множество, обозначаемое Х/а, элементами которого являются классы эквивалентности — [х](Х. Π Пример 4.18. Пусть 7 ~~ отношение эквивалентности на С, заданное правилом ^ι7^2 ^ |^ι| = \ζ21 (пример 4.9), тогда С/7 — множество концентрических окружностей с центром в начале координат, включая и вырожденную — \z\ = 0. Пример 4.19. Пусть w — отношение эквивалентности на С, заданное правилом Z\WZ2 <=> ImZi = Ιηΐ22· C/w — множество горизонтальных прямых на плоскости. Мы видим, что при переходе от X к Х/а происходит изменение природы объектов (были точки комплексной плоскости — стали концентрические окружности (пример 4.18), горизонтальные прямые (пример 4.19)). Важным понятием, позволяющим вернуться к объектам исходной природы, является система различных представителей (СРП). Определение 4.19. Пусть а — отношение эквивалентности на X. Х'(с X) называется СРП по отношению эквивалентности а, если для любого χ из X выполнено \Х' Г\\х\а\ =■ \. п Пример 4.20. Ясно, что в качестве СРП примера 4.18 можно взять множество таких комплексных чисел ζ, у которых Imz = 0, Re 2: > 0. 176
Глава 4. Отношения Π Пример 4.21. Ясно, что в качестве СРП примера 4.19 можно взять множество таких комплексных чисел ζ, у которых Re ζ = 0. Теорема 4.5. Если а — отношение эквивалентности па X, то меэюду Х! — СРП по а и Х/а можно установить биективное соответствие, в частности, если \Х/а\ <ос, то\Х'\ = \Х/а\. Вопросы в конце параграфа |~?~| 1. Постройте другие СРП для примеров 4.19 и 4.20. 2. Постройте пример множества X и отношения эквивалентности о; на нем, для которых имеет место \Х\ = оо, \Х/а\ < оо. 3. Докажите, что если о; — отношение эквивалентности на конечном множестве X, \Х\ = |-Х"/а|, то а: — отношение равенства на множестве X. 4. Докажите, что если α — отношение эквивалентности на множестве Χ, χ £ X и у Ε [χ]α, то [х]а = Ыа- 5. Перечислите все отношения эквивалентности на множестве {1; 2; 3; 4}.
Глава 5 Булевы функции В этой главе мы возвращаемся к началу нашего курса. Мы знаем, что с каждой формулой алгебры высказываний f{x\,X2*...,xn) связана функция f{x\,X2*... ,хп), сопоставляющая каждому фиксированному набору высказывательных переменных значение истинности формулы (Е {0.1}). Поскольку в самих высказываниях нас интересует не содержательная часть, а только значение истинности, то фактически f(x\.X2*..., хп) ~ отображение множества {0,1}п в {0.1}. Сейчас мы отойдем от схемы формула — функция и займемся изучением множества булевых функций — отображений {0,1 }п в {0.1}. Особенностью этого множества является следующее: все переменные и значения функций одной природы ({0,1}), что создает «простор» для построения суперпозиций, так как вместо любой переменной можно подставить в булеву функцию булеву функцию. §5.1. Функции алгебры логики. Многочлены Жегалкина Множества Р2(п), Ρ2 Определение 5.1. Пусть Е2 = {0; 1}. Булевой функцией (функцией алгебры логики (01 функцией)) от η переменных называется отображение f : Е% —> Е>2- Напомним, что Е% = -^2 х ^2 х * · · х ^2 · ^ 'ν' */ η раз 178
§5.1. Функции алгебры логики Множество булевых функций от η переменных обозначим Р2(тг), таким образом Р2(п) = Е^, а множество всех булевых функций обозначим через Р2, т. е. оо Р2 = UР2(п). Теорема 5.1. |Р2(п)| = 22\ ► Применим теоремы о \Y \ и \Хп\ (теоремы 3.6, 3.7): |Р2(п)| = \Ер\ = \Е2\\^\ = 21^1" = 22". м Заметим, что множества Р2(п) конечны, но число элементов в них быстро растет в зависимости от п. Действительно, |Р2(0)|=2, |Р2(1)|=4, |Р2(2)| = 16, |Р2(3)| = 22" = 256, |Р2(4)| = 65 536. Уже для небольших η (3, 4, 5) множество Р2(п) становится совершенно «необозримым». Выпишем все функции из множества Р2(2), задав их своими таблицами. Столбцы значений функций из Р2(2) будем рассматривать как четырехразрядные двоичные числа и будем их располагать (и нумеровать) в лексикографическом порядке (табл. 5.1). Табл. 5.1 Р2(2) ^1 Х2 /о /l h /з /4 /5 /б h 0 0 1 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 179
Глава 5. Булевы функции Окончание табл. 5.1 Χΐ х2 /в h Л О /ll /l2 /l3 /l4 /l5 0100001111 1000110011 1101010101 Среди этих функций много наших «хороших знакомых»: /θ = 0, /is = 1, /l(xi,X2) =Xl 'X2, /7(^1^2) = Xl V^2, /l3(^l, X2) = 2:1 -*χ2, /9(^1^2) = Χι ~2:2. /3(2:1,2:2) = 2гь /5(2:1, хг) =х2, /12(2:1,2:2) = Х~1, /10(2:1,2:2) = Х~2, /б(2:1,^2) = ^1 ~ ^2 = 2:ι ©2:2, /11(2:1,2:2) = 2:2 -> χχ· Функция /s = χι V Х2 называется функцией Пирса и обозначается χ χ Ί Χ2 (стрелка Пирса), а функция /и(хьХ2) = Χι ' Х2 называется функцией Шеффера и обозначается Χχ|χ2 (штрих Шеффера). Как мы увидим в дальнейшем, каждая из двух последних функций обладает удивительной способностью порождать все множество булевых функций. В этом и следующем параграфах мы более подробно изучим множество булевых функций, а вернее, алгебру булевых функций, т. е. множество этих функций, оснащенное операцией суперпозиции функций. Множество 0 1 функций уже появлялось в наших рассмотрениях в связи с изучением формул алгебры высказываний (таковыми были /, где / — формула алгебры высказываний). Более того, мы уже знаем (после изучения теории нормальных форм), что любая функция из Р2 реализуема в виде высказывательной функции булевой формулы алгебры высказываний, т. е. использующей только -ι, V, Λ. Главной задачей, которую мы ставим на ближайшее время, является получение ответа на вопрос: 180
§5.1. Функции алгебры логики «Каким условиям должен удовлетворять набор функций {/ΐϊ/2? ■·· ι /™}т чтобы любая функция алгебры логики могла быть реализована в виде формулы над набором {/ъ /2, ··., /т}?» Исчерпывающий ответ на этот вопрос дает теорема Поста, доказательство которой и составит основную содержательную часть этой главы. Алгебра булевых функций интересна с двух точек зрения — чисто математической и прикладной. С математической точки зрения это алгебра с «богатой» внутренней структурой, которая возникает из-за того, что все переменные и множество значений функций имеют одну природу, поэтому в Р2 можно вместо любой переменной подставлять функцию из Р2 (суперпозиция) и отождествлять переменные (т. е. осуществлять суперпозицию с тождественной функцией одной и той же переменной). С прикладной точки зрения интерес к 0-1 функциям основан на том, что вся современная электроника (в том числе компьютерная) — цифровая 0-1 электроника. Многочлены Жегалкина В качестве «строительного материала» для построения многочленов Жегалкина1 используют константы 0 и 1 и символы переменных, в качестве «связующего материала» — операции конъюнкции (&) и сложения по mod 2 (®, см. /б в табл. 5.1). ХИ. И. Жегалкин (1869 1947) профессор МГУ, основатель первого в стране научного семинара по математической логике, в котором работали П. С. Новиков, В. И. Гливенко, А. А. Ляпунов. Основные труды относятся к математической логике, теории множеств, основаниям математики, теории функций действительного переменного. 181
Глава 5. Булевы функции Определение 5.2. Многочленом Жегалкина от переменных х\. Х2 , ■.., хп называется выражение, полученное из 0; 1; Х{ (г = 1, 2,... ,п) путем применения конечного числа операций &? © и скобок, определяющих порядок действий. [jjl Пример 5.1. р(хьх2^з) = (^1 * #2 θ 1) · {х\ © 0 · •Х2 · хз θ 1) θ 1. ГП Замечание. Так как конъюнкция — идемпотентная операция (хх = я), в алгебре логики нет степеней переменных. Определение 5.3. Каноническим многочленом Жегалкина от η переменных х\,Х2*..., хп называется многочлен вида р(хьх2-·· ;Хп) = «о ® αχχχ φα2#2 © ·** θαηχηφ ©«12X1X2 θ «13X1^3 θ * · · © a>n-l,7iXn-lXn Φ · · . © у ^ίΐϊ2·"*Α:'^*1^'*2 * * * ^ifc©· · *© ^12...71^1^2 ■ ■ · ^ΓΙ ϊ где αο,αχ, ...,αη,... ,α^...^,... ,αΐ23...η € {0.1}. ГП Замечание. Считается, что «·» сильнее, чем «0». Теорема 5.2. Любой многочлен Жегалкина может быть приведен к каноническому виду. Доказательство следует из существования дистрибутивного закона а· (йфс) = а-Ъ®ас (5.1) и правила приведения подобных: тч тч ~ Г 0, если к = 2η, η е Ν; /г оЧ αθαβ···θα= , οι ^- лг (5-2) у ^ ,• I а,если к = 2п— Ι, η е Ν. ν ' Jt раз 182
§5.1. Функции алгебры логики Имея дистрибутивный закон (5.1) и правило приведения подобных (5.2), помня об идемпотентности конъюнкции, для получения канонического многочлена Жегалкина нужно раскрыть скобки и привести подобные. Ijjl Пример 5.2. Вернемся к примеру § 5.1. p(xi, Х2, ^з) = {х\Х2 θ Ι)* (^1 θ 0·Χ2^3 θ 1)θ1 = = Χ\Χ2 θ Χ\ ® 0 · Χ\Χ2Χ3 ® 0 · Χ2·^3 © ^№® 0χιχ2θ1θ1 = Ο θ 1 * χιθΟ·Χ2 θ Ο · Χ3 θ 00 · Χ\Χ2 θ 0 · Χ\Χ$ 0*^2^3 © 0 ' Х\Х2ХЪ- Получен канонический многочлен Жегалкина для исходного многочлена р(хх,Х2,^з), «о = 0, αϊ = 1, «2 = «з = = αΐ2 = «13 = «23 = «123 = 0. Для канонического многочлена часто используют сокращенную запись, в которой слагаемые с нулевыми коэффициентами опущены, а единичные коэффициенты не написаны, тогда р(х1,х2,хз) = ть Теорема 5.3. Для любой функции алгебры логики существует ее представление в виде многочлена Жегалкина. ► Мы уже знаем (см. § 1-5). что любая функция алгебры логики может быть реализована (представлена) булевой формулой (например, СДНФ или СКНФ), поэтому для доказательства теоремы достаточно доказать существование многочлена Жегалкина для функции, реализованной булевой формулой, а для этого достаточно доказать, что операции V и -» выражаются через же- галкинские операции. Очевидно, справедливы формулы -ια = α®1; (5.3) «V b = ab®a®b. (5.4) Справедливость (5.3) следует из определения операции ®. 183
Глава 5. Булевы функции Докажем (5.4): a\/h = a-h=(a® 1)(Ь φ 1) φ 1 = = α'6θί?ΦαΦΐΦΐ = αί?φαφί>. Если теперь в булевой формуле исключить с помощью (5.3) и (5.4) отрицание и дизъюнкцию, то будет получен многочлен Жегалкина. Μ Теорема 5.4. Для любой функции f E Рг(^) существует единственное представление каноническим многочленом Жегалкина. ► Существование представления каноническим многочленом следует из теорем 5.2 и 5.3. Докажем единственность. Обозначим через (п) множество канонических многочленов от η переменных. Каждый канонический многочлен порождает свой набор коэффициентов. Поэтому |(п)| = («множество наборов коэффициентов»|. Если мы докажем, что | «множество наборов коэффициентов» | = 2 = |Р2 (п) |, (5.5) то это будет означать, что для каждой булевой функции от η переменных существует точно по одному представлению каноническим многочленом Жегалкина. Каждому набору индексов у коэффициентов многочлена поставим в соответствие (биективно) множество по следующему правилу: О -> 0, 1 -> {1}, 2 -> {2},..., {п} -> {п}, 1 2-> {1;2},...,п-1, п-»· {п - 1;п},... 1,2,..., η->{1;2;...;π}. 184
§5.1. Функции алгебры логики Π Эти множества — подмножества [1; η^ν, τ. е. элементы множества 2'1;riljv Тогда |«множество индексов коэффициентов»! = _ nl^bvi _ 2li1^ll^l = 2п. Таким образом, набор коэффициентов канонического многочлена Жегалкина от η переменных можно рассматривать как 2п-разрядное двоичное число, а их количество равно 22 . Соотношение (5.5) и вся теорема доказаны. Μ Следствие из теоремы 5.4. Различные канонические многочлены Жегалкина различны и как функции из Р2(п). Пример 5.3. Найти канонический многочлен Жегалкина для (χχ V х~2) —» Χι^2· ► 1-й способ (равносильные преобразования) (х\ V Х2) —» Х\Х2 = #1 V Х~2 V Х\Х2 = ^1^2 V Х\Х2 = Х2- 2-й способ (метод неопределенных коэффициентов) (χι V Х2) —» ^1^2 = cto θ αιχι Θ α2Χ2 θ auxiX2· Подставляя последовательно в левую и правую части наборы значений переменных (0.0), (0,1), (1.0), (1,1), получаем (0 V 1) -> 0 · 0 = α0 θ αϊ ♦ 0 θ α2 · 0 θ αχ20 ♦ 0; 0 = α0; (0ν0)->0·1 = 0θαι·0θα2·1θ αι20 · 1; 1 = «2 (ΐνΐ)->1·0 = 0θαι·1©1·0θ αι21 · 0; 0 = αχ; (Ιν0)->1·1 = 0Θ0·1Θ1·1Θ αι21 · 1; 1 -» 1 = 1 ® α\2\ 1 = 10 αΐ2, αϊ2 = 0. Μ 185
Глава 5. Булевы функции Замечания и вопросы в конце параграфа |~?~| ГП 1. Мы перестали в этой главе использовать знак = («равносильно»), так как объектами нашего рассмотрения являются 01 функции, а формулы алгебры высказываний теперь рассматриваем как один из способов задания этих функций. 2. Существенным «недостатком» канонического многочлена Жегалкина по сравнению с СДНФ и СКНФ является отсутствие простых алгоритмов восстановления по многочлену таблицы значений и по таблице значений многочлена. 3. Пусть / Ε -Р2(гс), 1 ^ г ^ п. Говорят, что функция не зависит от переменной хг (хг ~ фиктивная переменная для /), если имеет место равенство /(Х1,Х2, ■■· ,Ζί-Ι,Χι,Χί+Ι,.-.,Χη) = = J\%l-> ··· ? Хг—li Xii Xi+ΐί ··· τ %η)· Докажите, что Х{ — фиктивная переменная для / тогда и только тогда, когда канонический многочлен Жегалкина для функции / не содержит в своей сокращенной записи переменную Х{. 186
§ 5.2. Полнота и замкнутость. Классы Поста Р0 и Pi §5.2. Полнота и замкнутость. Классы Поста Р0 и?1 Полнота и замкнутость Определение 5.4. Пусть Ж С Р2. Замыканием множества Ж называется множество, обозначаемое [Ж], которое состоит из функций множества Ж и функций, которые могут быть получены из функций множества Ж путем отождествления переменных и суперпозиций (конечным их числом). п Пример 5.4. Ж = {0,1} [Ж] = {0; 1} = Ж. Пример 5.5. Ж = Р2, [Ж] = Р2 = ЯЯ. Пример 5.6. Ж = {-., V, Л}, [Эй] = Р2 φ Ж. Определение 5.5. Множество Ж называется замкнутым, если [Ж] = Ж. Определение 5.6. Множество Ж называется полным, если [Ж] = Р2. Очевидно, {0; 1} замкнуто и неполно, Р2 замкнуто и полно, {-ι, V, Л} незамкнуто и полно. Теорема 5.5. Имеют место следующие свойства: 1.ЖС [Ж] УЭЛСР2. 2. [[ОТ]] = [Ж] \/ЖСР2. 3. SWi С М2 => [Жг] С [SDt2] V9Jtb ЗЯ2 С Р2. ► Справедливость теоремы следует из определения замыкания (см. определение 5.4). Μ 187
Глава 5. Булевы функции Теорема 5.6. Если Ш\ С Ш2, то: 1) если 9Jli полно, то 9?Ϊ2 полно; 2) если 9?Ϊ2 неполно, то УЯ\ неполно. ► Очевидно, эта теорема следует из предыдущей и определения полноты (см. определение 5.6). < Класс Ро и его свойства Определение 5.7. Пусть fEP2(n). Говорят, что функция сохраняет ноль, если /(О,0,..., 0) = 0. Обозначим через Ро(п) множество функций от η переменных, сохраняющих ноль, а через Р0 — множество всех функций, сохраняющих ноль, т. е. Ро= U Ро(п). n—Q Π Пример 5.7. 0е Ρ0,1ξ/ Р0; ^iVx2 £ Дь χ\·χ2^Ρο·, χχ-*χ2<£ PQ. Теорема 5.7. \PQ(n)\ = 22"-1 = — = i^M. Lj Li ► Любая функция алгебры логики может быть задана таблицей. Таблица функции из Pq характерна тем, что в столбце значений функции вверху (в строке, соответствующей нулевому набору значений переменных, см. табл. 5.2) стоит 0. Столбец значений функции, сохраняющей 0, можно понимать как 2п-разрядное двоичное число, у которого в старшем разряде стоит 0. или как (2П — 1)-разрядное двоичное число, а таких чисел о(число разрядов) _ о2п —1 ^ 188
§ 5.2. Полнота и замкнутость. Классы Поста Р0 и Ρχ Табл. 5.2 Х\ 0 0 1 Х2 0 0 1 %п 1 1 1 / 0 * * **...* — любой набор из 0 и 1. Теорема 5.8. Класс Pq замкнут и неполон, т. е. [Р0] = Ροϊ Р2. ► Так как тождественная функция сохраняет 0, а отождествление переменных — суперпозиция с тождественной функцией (подстановка тождественной функции на места отождествляемых переменных), то для доказательства замкнутости достаточно показать, что суперпозиция функций, сохраняющих ноль, сохраняет ноль. Пусть Ф(»Ь ··■ > Угп), /l(^b ... , Яп), ... , /mfcl, ... , Хп) € Pq. Докажем, что F(xu ... ,xn)=\^>\y.^f.) (жь... ,χη)βΡ0 F(0,0,..., 0)=Φ(/Ί(0;..., 0Ш0,..., 0),..., /m(0,..., 0)) = ΛΙ=ΑΦ(0ϊ0,...10)ΦΙ=Α0. Теперь, когда замкнутость Pq доказана, неполнота Pq следует из существования функций, не сохраняющих 0 (см. пример 5.7). Μ Лемма 5.1 (о функции, не сохраняющей ноль) Если f £ Pq, то отождествлением всех ее переменных из нее получается константа 1 или -ιχ. ► Пусть / g Pq, т. е. /(0,0, ....0) = 1. Рассмотрим ψ(χ) = /(ж,х,...,х). Ясно, что ^(0) = /(0,0,...,0) = 1. Найдем φ(1). Если φ{1) = 1, то φ(χ) = 1 — константа, если φ(1) = 0, то ψ{χ) = -*х. < 189
Глава 5. Булевы функции Π Класс Pi и его свойства Определение 5.8. Пусть f Ε Рг(^)· Говорят, что функция сохраняет единицу, если /(1,1,....1) = 1. Обозначим через Р\{п) множество функций от η переменных, сохраняющих единицу, а через Р\ — множество всех функций, сохраняющих единицу, т. е. •сю Р1= UPi(n). 71=0 Пример 5.8 1 е Рь 0 £ Рь χ е Рь ^χ £ Ри χ\ ν χ2 е Рь χι ♦ х2 е Рь a?i -> #2 £ -Рь χι © χ2 & Ρι· Очевидно, имеют место следующие теоремы и лемма. Теорема 5.9. |/>α(η)| = 22"-1 = i^Mi. Теорема 5.10 Класс Р\ замкнут и неполон, т. е. [Р\] = Ρχ φ Ρ2· Лемма 5.2 (о функциях, не сохраняющих единицу) Если f $ Pi, то отождествлением всех ее переменных из нее получается константа 0 или -чс. Вопросы в конце параграфа |~?~| 1. Самостоятельно докажите теоремы 5.9, 5.10 и лемму 5.2 (о функциях, не сохраняющих единицу). 2. Чему равно \Р0(п) Π Ρι(η)|, \Щп) U Ρι(η)|? 3. Какие из множеств функций замкнуты: Р2(0), Р2(1), Р2(2), Р:(0), Pail), Pj(2), Р0(0), Р0(1), Р0(2), PonPj.PoUPj? 190
§5.3. Классы Поста L и 5 Какие из множеств функций полны: Р2(0), Р2(1), Р2(2), Рх(0), Pi(l), Pi(2), Ро(0), Р0(1), Ро(2), Р0П PbPoUPi? Является ли объединение (пересечение) замкнутых множеств замкнутым множеством? Является ли объединение (пересечение) полных множеств полным множеством ? 7. Докажите, что [SDti] U [9Я2] <Ξ [9^1 UQJt2]. 8. Приведите пример, когда [SDti] U [9ЭТ2] является собственным подмножеством [9?ϊι U UJl2] · §5.3. Классы Поста L n S Класс L и его свойства Определение 5.9. Пусть f(xi,x2,... ,хп) € Р2(га). /о- ворят, что функция f линейна, если ее канонический многочлен Жегалкина не содержит произведений переменных (т. е. коэффициенты при слагаемых, содержащих произведения переменных, равны нулю). Обозначим через L(n) мноэюество линейных функций от η переменных, а через L — мноэюество всех линейных функций, т. е. L= U L(n). n—Q π Пример 5.9 ι е L, о е L, ^x = x®ieL, Χχ ♦ Х2 & L, Χχ V Х2 = %l · Х2 θ Х\ θ Χ2 & L, χι -> х2 = Щ V х2 = (χχ Θΐ)·χ2θ (χι Θΐ)θτ2 = = χι - χ2 θ χι Φ 1 £ L, χι ® χ2 Ε L. 191
Глава 5. Булевы функции Теорема 5.11. \Цп)\ = 2п+1. ► Линейный канонический многочлен Жегалкина от η переменных имеет следующий вид: ао © а\х\ © а,2Х2 Φ · · · Θ апхп. Он взаимнооднозначно определяется набором своих коэффициентов: αοαχ... ап. Так как коэффициенты принимают значения во множестве Е2 = {0; 1}, то набор коэффициентов можно рассматривать как (п + 1)-разрядное двоичное число, а их количество равно 9(нисло разрядов) _ Оп+1 ^ Теорема 5.12. Класс L замкнут и неполон, га. е. ► Так как тождественная функция линейна, то для доказательства замкнутости нужно доказать, что суперпозиция линейных функций — линейная функция. Пусть Ф(уь г/2, .·■, ут) = h © &iyi θ Ь2у2 Φ · · · θ ЬтуТГ1, fl(xi,X2, ■■· ί^η) = ^0 © α1^1 © α2χ2 © ' ' ' θψη, /гОгъа^-чЯп) = α%@α\χχ © α\χ2 © ··· θο^η, /m(ttl, Χ2, ··■ » Χ") = α01 © αΓχ1 © а2^2 © ' ' ' © α™Χη. Образуем F{xu...,xn) = {$\yi4r_fi){xux2,...,xn) = = bo 0 bi(aj θ α{χι 0 a\x2 © ♦ ♦ ♦ © ο}ηχη) 0 Φ Μαο © αιχι © ai^2 © ♦ ♦ ♦ © α2ηχη) 0 0·"© 0 &m(acT © α1Λ:Γ1 © α2*χ2 © ' ' ' © On) = = C0 0 Сгхг 0 С2Х2 © * - © CnXn, 192
§ 5.3. Классы Поста L и 5 где с0 = Ь0 Θ Μο θ i>2ag θ · ■ · θ bmaT0n, ci = bia\ © b2a? θ · ■ · θ Ъша7{\ с2 = bxal 0 h2o\ θ · · · Θ bmaj\ ..., cn = bialTl Θ ί?2«Γΐ ® *'' © Ьта™. Значит, F(xi,X2,... . χη) £ ^ и замкнутость L доказана. После того как замкнутость L доказана, неполнота L следует из существования нелинейных функций (см. пример 5.9). < Лемма 5.3 (о нелинейной функции). Из произвольной нелинейной функции с помощью подстановки констант и отрицания молено получить конъюнкцию двух переменных. ► Пусть /(xi,X2s ··· ιχη) $ L, значит, в ее каноническом многочлене Жегалкина присутствуют слагаемые, содержащие произведения каких-то переменных. Не нарушая общности, будем считать, что нелинейность проявилась за счет присутствия слагаемых, содержащих χ\Χ2· Представим тогда нашу функцию в виде /(Х1,Х2?..-,Xn) = QQ θ Ql^l Φ Α2#2 θ - * - θ Qn^n θ линейная часть канонического многочлена θ^ΐ ^2/l 0*3,^4, ··· ,^η) Φ £1/2(^3^41 ... ,Χη) θ Фж2/з(хз,Х4,--ч^п) ®/4(^3,^4,..., Xn). Слагаемое xiX2/i(x3? ·■· ,%п) получилось группировкой в нелинейной части всех слагаемых, содержащих Х\Х2·, и вынесением Х\х2 за скобки; слагаемое Xi/2(x3i ·■■ ?хп) получилось группировкой в нелинейной части всех слагаемых, содержащих χ ι и не содержащих Х2, и вынесением χι за скобки; аналогично получается 193
Глава 5. Булевы функции -^2/3(^31^4, — ϊ^η), а /4(хз,#4?·" >#п) остается от нелинейной части после выделения xix2/i, х\$2-> ^2/3- По нашему предположению, /ι(χ3ίχ4ί ■■· ^хп) Φ 0· Это означает, что существует такой набор значений переменных Χ3ί··· ,Хп — аз,щ....,ап, что /1(03,^4, ·■· ,ап) = 1- Подставляя константы аз,..., ап из этого набора в функцию /, получаем φ(χΐ,χ2) = f{xi,X2iOi^a^...,an) = , . = «q Θ α\χ\ ® α'2Χ2 θ x\X2, где Q<q = o.q Θα3α3θα4«4 Φ ··· θ αηαη θ/4(03,щ,... ,»n), α[=αι ©/2(α3,α4ι..· ,ап), α/2 = α2 0/з(аз?«4,---^п)· Покажем, что, пользуясь средствами, разрешенными условиями леммы, можно избавиться в (5.6) от слагаемых первой степени. Образуем функцию ф{х\,х2) = ψ{χ\ θα,Χ2θ/3), где α, β Ε {0; 1} (если α = 0, то χ\ © α = χ\\ если α = 1, το Χ\ θ α = χι, если /3 = 0, το χ2 θ /? = х2; если β = 1, το Χ2φ/3 = Χ2). ^(xbX2)=ao©ai(xi © «)θα2(χ2 θ /3) θ (χι θ «)(^2 θ /?)= = (α'0 θ «Ία θ α'2β θ οί/3) θ (ai 0 β)^-!-^ θ α)χ2θχιχ2. Полагая α = α2, /3 = α\, получаем ψ(χι, χ2) = (ад θ α^α^) θ χι^2. Если a[j φ α'χ - af2 = 0, то лемма доказана, если <2q® a^a^ = 1? ТО -0(Х1, Х2) = Х\Х2 θ 1 = Х\Х2- Рассмотрим функцию Ф\{Х\,Х2) = ф(х\,Х2) =ЩХ2 = Х\Х2- < 194
§ 5.3. Классы Поста L и 5 Класс S и его свойства Определение 5.10. Пусть /(χι,Χ2,... ,^η) £ ^2- Говорят, что функция f самодвойственна, если f(xi,X2,..· ?Xn) = /*(ДГ1,...,ХП) = /(хГ,Х2, ...,Χτϊ). Обозначим через 5(п) множество самодвойственных функций от η переменных, а через S — множество всех самодвойственных функций, т. е. оо 5 = U 5(п). п=0 [л|Пример 5.10. 0^5, 1 £ S, χ € 5, χ € 5, Xl V X2 f? 5, XI · X2 ^ 5. Теорема 5.13. |5(n)| -22""1. ► Таблица самодвойственной функции характерна тем, что столбец ее значений переходит сам в себя при инвертировании (см. § 1.3). Тогда задание верхней половины столбца значений самодвойственной функции однозначно определяет нижнюю половину столбца значений функции (см. табл. 5.3). Табл. 5.3 XI 0 0 1 1 х2 0 0 1 1 %п 0 1 0 0 / = /* D Δ Δ Π Верхнюю половину столбца значений можно рассматривать как (2п_1)-разрядное двоичное число, а таких чисел 2(число разрядов) _ 22*1-1 <4 195
Глава 5. Булевы функции Теорема 5.14. Класс самодвойственных функций замкнут и неполон, т. е. [S] = S φ Р2. ► Так как тождественная функция самодвойственна, то для доказательства замкнутости нужно доказать, что суперпозиция самодвойственных функций является самодвойственной функцией. ПуСТЬ Ф(уЬ ... ,ym),/l(xi, ·.. ,Хп), ■·· ,/т(*Ь ··■ ^n)^S. Образуем F(xi,...,χη) = (Ф^<_/.)(:е1, ... ,жп). Найдем F*. По общему принципу двойственности (§13) имеем F*(xl,x2,-..,xn) = (Ф*\1н^/*)(хи...,хп) = ' = (Φ|%^Λ)(χι,...,χη) = F(xb...,xn). Самодвойственность F доказана. Теперь, когда замкнутость S доказана, неполнота S следует из существования несамодвойственных функций (см. пример 5.10). < Лемма 5.4. Из любой несамодвойственной функции с помощью отрицания и отождествления переменных можно получить константы 0 и 1. ► Пусть f £ S. Это означает, что f(x\*... ,χη) φ Φ /*(χι,... .хи). Значит, существует такой набор значений переменных (αι,α^,·.. ,QVi), что /(аь α2ί ··-,<**) φ Γ(αι,α2Γ·>^π) и™ /(αι,α2,...,αη) 7^ /(αϊ,αϊ,... ,α^"). Значит, /(αι,α2,...,αη) = /(αϊ,θ2,...,α^). (5.7) Рассмотрим <£>(#) = /(χαι,χα2,...,χΛη). Тогда ^(0) = /(0Ω1,0% ... ,0α») = /(αΓ,ο5,... ,ΖζΓ), VJ(l) = /(leMaa,...,lQ") = /(aba2,...,«„)· 196
§5.4. Класс Поста Μ Π Учитывая (5.7), получаем, что φ(0) = ^(1), т. е. ψ{χ) — константа, φ{χ) - вторая константа. < Пример 5.11. Продемонстрируем теперь «работу» леммы 5.4 на примере функции х\\/Х2- Набор (αχ, α^), о котором идет речь в лемме, — (0,1), тогда φ(χ) = χ V χ = 1. Вопросы в конце параграфа [7|1. Чему равно \S(n) Π Po(n)|, \S(n) U Ρ0(η)|, |5(п)П Ш Pi(n)|, |5ΗϋΡιΗ|? 2. Рассмотрите «работу» леммы 5.3 (о нелинейной функци) на примере функции х\ —» Х2, леммы 5.4 (о несамодвойственной функции) на примере Х\ · Х2 V Хз- 3. Докажите, что Р2(0) =Z(0), P2(l) = 1(1), Р2(2) 7^ 5* L(2). §5.4. Класс Поста М Определение 5.11. Введем на множестве Е% бинарное отношение <(=4» следующим: (aba2,...,anH(/3b/?2,...,/?n)<^Vi (a,- < А)· (5.8) п Пример 5.12 (0,1Н(1,1), (0,0,ОН (1,0,1), (0,1) ^ (1,0), (1,0) ^ (0,1), (1,1) ^ (1,1). Теорема 5.15. Бинарное отношение =^ па множестве Е*2 является отношением порядка, причем при η ^ 2 ^4 — частичный порядок. 197
Глава 5. Булевы функции Определение 5.12. Пусть f Ε Р2(п)· Говорят, что f монотонна, если для любых наборов значений переменных (αι,α2,..., «η) и {βι, #2,..., βη) таких, что (αι,ατ2ι»4 θ£η) ^ (j0i, /Зг,..., /?«), выполняется f(aua2,...,an) ζ/{βι,βζ,... ,βη). Обозначим через А1(п) множество монотонных функций от η переменных, а через Μ — мноэюество всех монотонных функций, т. е. оо Μ = U Μ (ή). π Пример 5.13. Рассмотрим множество Р2(2) и определим, какие функции из Рг(2) монотонны, /о =«0», /ι =«Л», /3 =«χι»τ /5 =«Х2», /7 =«V», /15 = 1 Ε М\ Л, /ь /б, /s, /э, /ίο, /i2? /i3» /и не являются монотонными. Теорема 5.16. Класс М замкнут и неполон, т. е. [М] = Мф Р2. ► Так как тождественная функция монотонна, то для доказательства замкнутости достаточно показать, что суперпозиция монотонных функций монотонна. Пусть Φ Ε P2(m), fi E P2(rc), г = 1,2,..., m. Докажем, что функция F(xuX2, — ,Xn) = (Ф|у<ч-д)(жь--»жп) £ М. Возьмем (αι,α2,...,απ) и (А,/32,... ,/Зп) — два произвольных набора значений переменных таких, что (Qfl,Q2,...,Qfn) ^ (βΐ,β2,-:,βη)ι тогда 6 = /ι(аьα2,...,«η) ^ /i(/3i,^2,...,jSn) = 77b 6 = /2(^1,0:2,..., ttn) ^ /2(/?1,#2,....&ι) =772, 198
§5.4. Класс Поста Μ Тогда (ξι,ξ2,···,ξτη) ^ (m,V2i---,Vm)-> а так как Ф(уьг/2,...,ут) ЕМ, ТО *(&,&,·»,£т) < Ф(771,7/2,..-,^т), НО Ф(^1,^2,.»,^т) = ^(«1,0!2,...,«п), Ф(»7Ь %, ··■ ^7т) = Ρ{β\, ft, ··· , Αι)- Монотонность ,Г(:с1,:с2, ··· , ^п) доказана, а значит, доказана и замкнутость М. После того как замкнутость Μ доказана, неполнота Μ следует из существования немонотонных функций (см. пример 5ЛЗ). < Лемма 5.5. Из произвольной немонотонной функции с помощью подстановки констант и отождествления переменных можно получить отрицание. ► Пусть /(χι,Χ2? ··■ ϊ#π) & Λ/. Это означает, что существуют такие наборы значений переменных (аьа2,...,ап) и (/Зь/32,...,/Зп), что (αι,α2,...,αη) ^ (/?ь/32,... ,0П), &/(αι,α2,...,αη) > Д£ь Аг,-·· ,&0- Последнее означает, что /(αι,α2,...,αη) = 1,/(/3ι,/?2,...?/3η) = 0. Из того, что /(«ι,α2ΐ ... ,απ) ^ /(/?ь/32,..., АО, следует, 4το(αι,α2ϊ...,αη) ^ (А, Аг, ■··, АО- Выделим подпоследовательность индексов 1 ζ г χ < г2 < · · · < г& ίξ η такую, что αίΎ = βίχ,οίΐζ = ft2,...,«гд, = jSifc,Qfi т^ А,* ^ гьг2,...,ik· 199
Глава 5. Булевы функции Последнее в сочетании с тем. что (αι. «2,... .αη) ^ ^ {βι,β2,»-,βη) означает, что аг = 0, βι = 1,г φ Φ i\, %2.. ·., ik■ Образуем функцию φ(χ), подставив на места i\, г 2,..., ik »ύ, «ΐ2ι ■ ■ ■ ? αύ соответственно, а в остальные позиции — χ. Тогда <Ρ(0) = /(ατι,α2ϊ...,αη) = 1, ^(1) = /(/?!,/32,...,/?η) = 0, т. е. ^(^) = #· ^ π Пример 5.14. Рассмотрим «работу» леммы 5.5 на примере функции х\ —» Х2- В качестве набора (αϊ, α2) возьмем набор (0,0). а в качестве набора (/?ь/32) — набор (1,0), тогда, следуя лемме, φ(χ) = х —> 0 = = χ V 0 = ж. Мы рассмотрели 5 классов функций — Р0, Pi, L, 5, Л/. Они называются классами Поста в честь американского математика Эмиля Поста2 — крупнейшего специалиста в области дискретной математики. Ему принадлежит и теорема — «критерий полноты», которой мы посвятим следующий параграф. Заметим, что для каждого класса Поста мы доказали его замкнутость и неполноту (это потребуется нам при доказательстве необходимости в теореме Поста) и лемму о функциях, не принадлежащих классу. (Леммы 5.1-5.5 будут работать при доказательстве достаточности.) 2Эмиль Леон Пост (1897 1954) родился в Польше, работал в США. Основные его труды относятся к математической логике (в том числе по га-значным логикам) и основаниям математики. 200
§ 5.5. Критерий полноты (теорема Поста) Замечания и вопросы в конце параграфа Г?~| ГП 1. Заметим, что монотонными мы назвали только монотонно возрастающие функции. Ясно, что молено определить и монотонно убывающие функции, однако если монотонными назвать и те, и другие, то для такого монотонного класса пропадет свойство замкнутости. 2. Докажите самостоятельно утверждение, сформулированное в замечании 1. §5.5. Критерий полноты (теорема Поста) Мы знаем, что множества функций {-·, V, Л}, {->, Л}, {->,V}, {Ο,Ι,Λ.θ} полны. Сейчас мы сформулируем и докажем общий критерий полноты для произвольного множества функций 9Я. Теорема 5.17 (теорема Поста) 1-я формулировка Для того чтобы множество 9Я было полным, необходимо и достаточно, чтобы оно не являлось подмножеством ни одного из классов Поста: Pq, Ρχ, L, S, М. 2-я формулировка Для того чтобы множество 9Я было полным, необходимо и достаточно, чтобы для каждого класса Поста: Pq, P\, L, S, Μ среди функций из 9Я нашлась функция, не принадлежащая этому классу Поста. (Для каждого класса может быть «своя» функция.) Чтобы дать третью формулировку теоремы, определим, что такое таблица Поста для множества UJI. Столбцы таблицы соответствуют классам Поста: Ро, Pi, L, 5, Μ. Строки — функциям из 9Я. В клетках таблицы 201
Глава 5. Булевы функции проставляются «+» или «—» в зависимости от того, принадлежит функция соответствующему классу или не принадлежит. 3-я формулировка Для того чтобы множество 9Я было полным, необходимо и достаточно, чтобы в каждом столбце таблицы Поста множества 9Я был хотя бы один минус. ► Необходимость ► Докажем ее от противного, т. е. предположим, что существует такое полное множество UJl\ которое является подмножеством хотя бы одного из классов Поста. Обозначим этот класс П. Тогда 9Л' С П. Перейдем к замыканиям. Тогда (см. теорему 5.5) №') С [П]. (5.9) Но, по нашему предположению, [9Я'] = Р2, а по свойствам класса Поста — [Π] = Π φ Р2 и из (5.9) мы получаем, что Р2 СП φ Р2. Так как Π С Р2, получаем Р2 С Р2. строго Полученное противоречие и доказывает необходимость условий теоремы для полноты множества. Μ Необходимость f^Po 1_£Ρλ /j£L,{0;lb- 1 0 * Λ /£5,- /*Μ,{0;1} <δ\ Φ ΊΓ{0;1} Ь Рис. 5.1 202
§ 5.5. Критерий полноты (теорема Поста) Достаточность ► Прежде чем провести доказательство достаточности, введем условные обозначения для доказанных лемм (см. рис. 5.1). Смысл обозначений становится ясным, если еще раз вспомнить соответствующие леммы: на входе указано, что необходимо иметь, чтобы можно было применить лемму; на выходе — то, что может быть получено в результате применения леммы. Обозначим через Д такую функцию, что (Д £ 9Я) & & (Д i Ро); через Д такую, что (Д е Ж) & (Д t Pi); через Д такую, что (Д е ЯЯ) & (Д £ L); через Д такую функцию, что (/$ G 9Я) &: (Д ^ 5); через Д/ такую функцию, что (Д/ G 9Я) & (Д/ £ Л/). Покажем, что, используя леммы, из них можно построить -ι и Л, т. е. что в [9Я] D {-», Л}, что и будет означать полноту UJI (см. теорему 5.6). «Логика» рассуждений задается следующей схемой (см. рис. 5.2). Рис. 5.2 < Достаточность < 203
Глава 5. Булевы функции Следствие 5.1. В любом полном множестве существует полное подмножество, состоящее не более чем из пяти функций. ► Очевидно, множество функций {/0; /i; Д; Д; /л/}, с которым приходится работать при доказательстве достаточности, подходит для доказательства этого следствия. Μ Следствие 5.2. В любом полном множестве существует полное подмножество, состоящее не более чем из четырех функций. ► Покажем, что во множестве {/0; Д Д; Д; Д/} в случае, когда |{/0; /ι; Д; Д; Д/}| = 5, можно произвести «сокращение штатов». Рассмотрим функцию /о и вычислим ее значение на единичном наборе. Если /0(1,1,...,1) = 0, то /о £ Pi и набор {/0; Д; /5; Д/} образует полное подмножество. Если /(1,1,...,1) = 1, то /о £ S и {/ο;/ι; Д;/л/} образует полное подмножество. ^ Замечания и вопросы в конце параграфа |~?~| ГП 1. Основным критерием истинности в математике является логическая безупречность доказательства. Однако автор этого курса смеет утверждать, что существует еще одно необходимое условие истинности математического утверждения. Это условие эстетическое — «верным» в математике может быть только «красивый результат», а «справедливым» - только «красивое доказательство». 204
§ 5.5. Критерий полноты (теорема Поста) Яркий пример этого — теорема Поста и ее доказательство. Эстетическому условию удовлетворяет даже приведенная на рис. 5.2 схема доказательства достаточности. Наличие эстетического начала в содержании и в методах математики выделяет ее в ряду других наук (как естественных, так и гуманитарных) и придает ей особый характер. Красота и гармония математики (вплоть до самых ее абстрактных разделов) вдохновляли и вдохновляют не только математиков, но и поэтов, композиторов, художников, скульпторов. Если доказательство некрасиво, то оно либо неверно, либо есть другое, «красивое», доказательство. Более того, в течение тысячелетий продолжаются попытки (к счастью, бесплодные) обратить утверждение о красоте математики, получив математические критерии эстетичности (теория золотого сечения, математические основы стихосложения, математические основы музыкальной композиции и т. п.). Ясно, что сводимость эстетического к математическому не может быть доказана, однако отрицать наличие связей между ними не приходится, а значит, имеют право на жизнь математические живопись, музыка, поэзия, как и живописная, музыкальная, поэтичная математика. 2. Проверьте с помощью теоремы Поста на полноту следующие системы функций: m, bvp}, m, {-►,-}, {ν,Λ,ο}. 205
Глава 5. Булевы функции 3. Базисом в Рг называется полная система функций, у которых никакое собственное подмножество не является полной системой. Докажите, что любой базис в Р2 содержит не более пяти функций; приведите примеры базисов, состоящих из одной, двух, трех, четырех, пяти функций. 4. Если вам, выполняя задание 3, удалось привести пример базиса, состоявшего из пяти функций, то вы не поняли содержание следствия 5.2. Последнее утверждает, что базисов, состоящих из пяти и более функций, не существует. §5.6. Предполные классы и их свойства Вспомним, что, изучая классы Ро, Ρχ, L, 5, Μ, мы получали утверждения одного типа для этих внешне различных классов. Оказывается (и об этом пойдет речь дальше), эти классы связаны между собой близким родством — все они охватываются одним общим определением, их порождающим, и других родственников такого типа у них нет. Все результаты, о которых мы будем говорить сейчас, не имеют конкретных приложений, однако они завершают этот красивый раздел, придавая ему математически завершенный характер. Обращаем ваше внимание на необычную структуру изложения и получения результатов, которая характерна более для «чистой», нежели для прикладной математики: исходное определение порождает объект — предполные классы, и априори не ясно, существуют ли они. Затем, отправляясь от определения, мы изучаем свойства этих классов (оставляя открытым вопрос об их существовании). Полученные 206
§5.6. Предполные классы и их свойства свойства позволяют понять, где их искать. Последней идет теорема о существовании этих классов, в которой доказывается, что эти объекты (предполные классы) существуют и их список исчерпывается классами Ро, Pi, L, 5, Μ. Определение 5.13. Р(С Р2) называется предполным классом, если 1) Ρ неполон, т. е. [Ρ] φ Ρ2; 2) V/(/ £ Ρ => [Ρ U {/}] = Ρ2), πι. е. добавление к предполному классу любой функции, ему не принадлежащей, приводит к образованию полного множества. Таким образом, определение 5.13 дает описание неполного множества, максимально близкого по вложению к полному множеству. Свойства предполных классов 1. Предполный класс замкнут. ► Предположим противное, т. е. что существует Ρ — незамкнутый предполный класс. Значит, Ρ С [Р]. строго Следовательно, существует функция / Ε [Ρ] и / $ Ρ (расположенная в «зазоре» между Ρ и [Р]). Тогда, по п. 2 определения 5.13, PU {/} — полное множество, т. е. [PU {/}] = Р2. С другой стороны, так как / Ε [Р], то [PU {/}] = [Ρ] φ Ρζ (см. п. 1 определения 5.13). Полученное противоречие и доказывает требуемое. Μ 2. Предполный класс не может быть строго вложен ни в один из классов Поста: Р0, Pi, L, 5, М. ► Допустим противное, т. е. что существует такой предполный класс Q, для которого среди классов Поста Ро, Pi, L, 5, Μ найдется такой (обозначим его П, т. е. 207
Глава 5. Булевы функции Π е {Р(ь Pi, L, S, Л/}), что Q С П. Выберем / из «зазо- строго ра» между Q и П, т. е. / Ε Π и / $ <2, тогда ^2 = [Q|u{/}]c[n] = n^p2. Эта цепочка и дает требуемое противоречие. Для записи самой цепочки мы воспользовались п. 2 определения 5.13. а также замкнутостью и неполнотой любого класса Π Ε {Po.PbL.S.Ai}. M 3. Любой предполный класс (если таковые существуют) совпадает с одним из классов Поста. ► Предположим противное, т. е. что существует предполный класс R такой, что R φ Pq.R φ P\,R φ L, ϋφβ^φΜ. Объединяя это со свойством 2, получил!: RφPo и R £ Р0; RφPι ий % Рг; RφLи R%L\ строго строго R^ShR £ S\ R φ Μ и R £ Μ. строго строго Следовательно, R удовлетворяет условиям теоремы Поста (1-я формулировка) и, значит, R — полное множество, что противоречит п. 1 определения 5.13 предполного класса. Μ Теорема 5.18. Предполными классами являются Pq, Pi, L, Sj M. Других предполпых классов нет. ► Нам нужно доказать, что классы Ро, Pi, L, 5, Μ предполны. Это можно сделать, используя таблицу Поста ДЛЯ фуНКЦИЙ 1, О, ~ιΧ, Х\Х2, Χ\®Χ2®χΖ,χΙχ2®χΙχΖ®χ2χΖ (см. табл. 5.4). 208
§5.6. Предполные классы и их свойства Таблица Поста 0 1 -I.T Х\ ■ Х-2 Х\ Φ Χ2 Φ #3 Х\Х2 Φ Х\Х?> Φ Х2ХЪ РЬ + - - + + + Pi - + - + + + L + + + - + - S - - + - + + Μ + + - + - + Табл. 5.4 Покажем, как работает эта таблица при доказательстве предполноты Pq. Мы знаем, что Pq неполон, поэтому нам осталось доказать, что если / $■ Р0, то Р0 U {/} — полная система. Воспользуемся теоремой Поста. Покажем, что в таблице Поста для Pq U {/} в каждом столбце есть хотя бы один минус. Функция / дает минус в столбце Р0, минусы для остальных столбцов будем искать с помощью выписанной таблицы в Pq. Действительно, О Ε Pq и дает минусы по столбцам Pi и 5; х\Х2 € Ро и дает минус по столбцу L: х\ © Х2 © хз Ε Ρο и дает минус по столбцу М. Аналогично доказывается с помощью выписанной таблицы предполнота Pi, L, 5, Μ. < В конце параграфа еще раз отметим совершенство изложенной теории предполных классов — все на своем месте и результаты таковы, что «ни убавить, ни прибавить». Вопросы в конце параграфа |~?~| 1. Докажите самостоятельно предполноту классов Ш Рь L, S, М. 2. Какими из свойств (замкнутость, полнота, предполнота) обладают множества, представляющие собой попарные объединения и попарные пересечения множеств Pq, Pi, L, 5, Μ? 209
Глава 5. Булевы функции Замечание в конце главы ГП Основным понятием этой главы является понятие замыкания множества (см. определение 5.4). Замыкание можно считать операцией, определенной на 2Р<2, на множестве подмножеств булевых функций, т. е. [ ] : 2Р2 ^2Р\ С этой операцией связаны определения замкнутого множества и незамкнутого множества (см. определение 5.5) и полного множества (см. определение 5.6). Первое определение (5.5) связано со взаимным расположением множества £0Ϊ и его замыкания [£01]. Если £0Ϊ расположено строго внутри [£0ί]. то £0Ϊ называется незамкнутым множеством (см. рис. 5.3). Второе определение (5.6) связано со взаимным расположением множества Р2 и [9Я]. Если [£0ί] строго вложено в Р2, то множество £0ί называется неполным (см. рис. 5.4). Рис. 5.4 Таким образом, определение 5.6 «не регулирует» взаимоотношения между £0Ϊ и [£0ΐ], и это показывают приведенные в этой главе примеры. Для множества £0ΐ возможны различные комбинации свойств, т. е. имеются примеры полных незамкнутых множеств, 210
Глава 5. Булевы функции замкнутых и неполных множеств, незамкнутых и неполных множеств, полных и замкнутых множеств. Для множества UJI возможны различные комбинации свойств, т. е. имеются примеры полных незамкнутых множеств, замкнутых и неполных множеств, незамкнутых и неполных множеств, полных и замкнутых множеств. В этом месте мы ставим точку в главе 5. При этом отметим, что единственным полным замкнутым множеством является само множество Р2.
Глава 6 Элементы теории алгоритмов §6.1. Что такое алгоритм? Вводные понятия Этот раздел курса не выглядит привычной математической теорией, которая выстроена в соответствии со своей внутренней логикой. Он рожден приложениями математики, связанными с решениями различных вычислительных задач. Что значит «вычислить»? Какими возможностями для этого мы располагаем? Всегда ли можно решить задачу? Что такое задача? Что такое процесс ее решения? Здесь будет изложен подход к теории алгоритмов как к теории абстрактной вычислительной машины (абстрактной машины Тьюринга1). Существуют и другие равносильные подходы к теории алгоритмов (теория рекурсивных функций, теория нормальных алгорифмов), однако их мы касаться не будем. Теория алгоритмов представляет собой теоретические основы всей прикладной математики, особенно ее компьютерной части, так как она дает ответы на вопросы, поставленные в начале параграфа (см. 2-й абзац сверху). хАлан Тьюринг (1912 1954) английский математик и инженер, член Лондонского Королевского общества, возглавлял работы по созданию первых английских ЭВМ; математические работы по логике, теории алгоритмов, основам кибернетики; автор книги «Может ли машина мыслить?», переведенной на русский язык в 1960 г. 212
§ 6Л. Что такое алгоритм? Вводные понятия Абстрактная машина Тьюринга может рассматриваться как простейшая и одновременно всеохватывающая модель любой реальной ЭВМ. Простота ее устройства и принцип работы не оставляют даже места для возникновения вопроса «Может ли машина мыслить?». 1. Понятие об алгоритме Алгоритм — первичное, неопределяемое понятие. Чтобы извлечь его из нашего подсознания, вспомним алгоритм нахождения наибольшего общего делителя двух натуральных чисел — а, Ъ: 1) разложить а на простые множители; 2) повторить п. 1 для Ъ и перейти к п. 3; 3) составить произведение общих простых множителей из разложений а и Ъ с показателями, равными наименьшим из показателей вхождения в разложения. Проанализировав этот пример, отметим важнейшие черты (свойства) алгоритма. 1. Массовость — применимость алгоритма не к одной задаче, а к классу задач. 2. Дискретность — четкая разбивка на отдельные этапы (шаги) алгоритма. 3. Детерминированность — наличие точных правил, определяющих переход от одного этапа алгоритма к другому (не приходится прибегать к датчикам случайных чисел, гаданию на кофейной гуще и т. п.). 4. Конечность — для получения результата при применении алгоритма к решению конкретной задачи выполняется конечная последовательность шагов алгоритма. 213
Глава 6. Элементы теории алгоритмов Вопросы «Что такое алгоритм?», «Что такое алгоритмически разрешимые и неразрешимые проблемы?» стали особенно актуальными в XX в. в связи с развитием ЭВМ и естественной потребностью в анализе их возможностей. Теория алгоритмов была создана совместными (параллельными) усилиями, в основном американских, английских и советских математиков. Осмысление понятия «алгоритм» потребовало и пересмотра многих философских воззрений на мышление как творческий процесс. Всегда ли, когда человек работает «головой», он думает? Если часть «головной» работы переложена на машину, то следует ли считать, что машина думает? Решение этих философских проблем принадлежит одному из крупнейших математиков XX в., основоположнику кибернетики Н. Винеру и английскому математику А. Тьюрингу. 2. Алфавит, буквы, слова. Операции над словами, запись слова на бесконечной ленте Определение 6.1. Алфавит — непустое конечное (как правило) множество, элементы алфавита — буквы. Определение 6.2. Словом длины п(п Ε Ν) над алфавитом А (в алфавите А) называется отображение и:[1;п\м —► А. Пример 6.1. Пусть А = {|;*}, η = 5. и(1) = |, и(2) = |, и(3) = *, и(4) = |, и(5) = *, и = | | * | * . Определение 6.3. Пусть s и t — слова над алфавитом А длины щ и П2 соответственно. Упорядоченной склейкой слов (конкатенацией) s ut называется слово st длины ni + 712, заданное следующим правилом: 4-( л _ / s(0' если 1 ζ г ζ τΐι; ^ ' ~ \ t(i — ni), если щ < г ^ щ + П2· Π 214
§ 6Л. Что такое алгоритм? Вводные понятия Π Пример 6.2. А = {|;*}, s = \ | * | *, t = * * |, тогда si =|| * | * * * |. is = * * ||| * | * . Пусть А — алфавит и Λ ^ А. Назовем Λ пустым символом, a A U {Λ} — алфавитом с пустым символом. Определение 6.4. Бесконечной записью конечного слова над алфавитом А в алфавите с пустым символом называется отображение f: Ζ —> A U {Λ}, удовлетворяющее следующим условиям: существуют щ < п2 (гсь П2 £ Ζ) такие, что 1) / ((-оо; m)z) = / {(п2\ +οο)ζ) = {Λ}; 2) /([m;n2]z)C A Длиной слова называется величина (п2 — п\ + 1). f{n\) называется первой буквой слова, f{n\ + 1) — второй буквой, ..., f(n2) — последней (п2 — п\ + 1)-й буквой. Бесконечная запись конечного слова называется еще записью слова на бесконечной ленте. (Заметим, что запись слова привязана к конкретному участку ленты — [ηι;η2]ζ') Определение 6.5. Пусть η £ Ζ. Сдвигом τη называется отображение τπ:Ζ —>Ζ, заданное правилом: Теоремы 6.1 и 6.2 относятся к алгебре, а не к дискретной математике, читатель, незнакомый с понятиями «группа» и «гомоморфизм», может их опустить. Теорема 6.1. Множество сдвигов {τΠϊ η £ Ζ} относительно операции «о (композиции)» образует коммутативную (абелеву) группу. 215
Глава 6. Элементы теории алгоритмов ► Очевидно, тп о ттп = тп+гп, тогда отображение, сопоставляющее сдвигу тп целое число п. есть гомоморфизм множества сдвигов {тп, η £ Ζ} с операцией о во множество Ζ с операцией +, а целые числа относительно сложения образуют абелеву группу. Μ Пусть A U {Λ} — алфавит с пустым символом. На множестве бесконечных записей конечных слов над А введем отношение ~ следующим: и ~ ν ΦΦ> 3η(Ε Ζ) (иотп = ν) = 1. Теорема 6.2. Отношение ~ является отношением эквивалентности на множестве бесконечных записей слов. ► Докажите самостоятельно. < Обозначим через υ (А) множество бесконечных записей конечных слов над алфавитом А. Рассмотрим ν (Α)/ ~ . Элементы этого множества и называются записями слов на бесконечной ленте. Вопросы в конце параграфа |~?~| 1. Докажите, что склейка слов — коммутативная операция над словами тогда и только тогда, когда \А\ = 1. 2. Приведите пример унарной операции над словами. 3. Приведите примеры известных вам алгоритмов и «неалгоритмов». 216
§ 6.2. Машина Тьюринга. Описание. Примеры машин § 6.2. Машина Тьюринга. Описание. Примеры машин Машина Тьюринга имеет три алфавита. 1. Внешний алфавит с пустым символом — A U {Л}. 2. Внутренний алфавит, или алфавит состояний Q = — {9о,9ъ ■· iQn}· Состояние qo называется заключительным состоянием, q\ — начальным состоянием, состояния qi,q2,... ,qn ~ рабочими состояниями. 3. Алфавит сдвигов S = {—1.0, +1}· В конструкции машины имеются: а) бесконечная лента (разбитая на ячейки), предназначенная для размещения бесконечных записей конечных слов над алфавитом А (по одной букве в ячейке); б) считывающе-записывающее устройство (СЗУ). Оно обладает способностью обозревать одну ячейку ленты, считывать букву, записанную в ячейке, заносить на место считываемой буквы любую другую из A U {Л}, передвигаться вдоль ленты влево и вправо на одну ячейку; в) устройство управления (УУ), которое управляет с помощью программы машины ее работой; г) программа машины, определяющая переходы машины от одной конфигурации к другой. Под конфигурацией машины понимают пару: слово с отметкой и состояние машины. Словом с отметкой называют слово, записанное на ленте с указанием обозреваемой СЗУ ячейки. Программа машины — отображение П: AU{A}xQ\ \{qo} —* A U {Л} х Q х 5. т. е. правило, сопоставляющее любой паре {a,qi) — буква — состояние тройку: (ft, g, s) — буква — состояние — сдвиг. 217
Глава 6. Элементы теории алгоритмов Так как A, Q конечны, то программу машины можно задать таблицей (см. табл. 6.1). Табл. 6.1 л и {л} аг а2 сц О-тп Л ( Q\{Qo\ Яг Qi {b;q;s) b;q;s) = U{{ahqj) Чп ) Правила работы машины (правила обращения УУ с программой и СЗУ) Машина работает дискретно (пошагово). На каждом шаге происходит переход от одной конфигурации к другой. Перед началом работы машина находится в начальной конфигурации: СЗУ обозревает первую букву слова, а машина находится в начальном состоянии q\. СЗУ считывает букву, находящуюся в обозреваемой ячейке. УУ обращается к программе машины: находит клетку, соответствующую считанной букве и состоянию машины. Пусть в этой клетке находится тройка (a; q\ s), тогда буква а заносится в обозреваемую ячейку, машина переводится в состояние ςτ, а СЗУ совершает сдвиг на одну ячейку влево, если s = — 1, на одну ячейку вправо, если s = +1, и остается на месте, если s = 0. На этом завершена работа машины на первом шаге, и она готова к выполнению следующего аналогичного шага и т. д. Работа машины продолжается до тех пор, пока на каком-то из шагов она не придет в состояние q$. 218
§ 6.2. Машина Тьюринга. Описание. Примеры машин Устройство управления в этом случае останавливает машину. Возникшая конфигурация называется заключительной, а полученное слово — результатом применения машины к исходному слову. Если и — исходное слово, Τ — машина, то через Т(и) обозначают результат применения машины Τ к слову г/. Определение 6.6. Говорят, что машина Τ неприменима к слову и, если в процессе применения ее к слову она ни на каком из шагов не приходит в заключительное состояние. п Пример 6.3. Построим машину Тьюринга, складывающую натуральные числа, записанные в унарной системе счисления. ► Напомним, что 5ю = |||||унарн.· Рассмотрим алфавит A U {Л} = {|,+,Л}. Необходимо построить машину X, удовлетворяющую условию: Τ ((га)унарн. + Ыунарн.) = {т + п)унарн.· Ясно, что такая машина определяется следующей программой: 41 42 | | qx + 1 Л «ft - + 191+1 Л Л дг - 1 9з - 1 1 9з - 1 Ago +1 Выпишем последовательно возникающие при работе этой машины конфигурации на исходном слове | | + | | |. При записи конфигурации будем использовать следующее соглашение: состояние, в котором находится машина, записывается в круглых скобках справа за обозреваемой буквой. 219
Глава 6. Элементы теории алгоритмов 0) 1) 2) 3) 4) 5) 6) 7) + + (9i)l ы + Ы1 (91)1 II л II а II а I А. Л. А. Ы1 l(9i) I аЫ. I (92) Л. 8) 9) 10) И) 12) 13) 14) •••Л •••Л •••Л •••Л •••Л •••Л •••Л 1111 (да) 111 Ы 1 1 (9з) 1 1 (9з) | 1 Ы 111 (да) 1111 (9о) 1 1 1 Л... Л... Л... л... Л... Л... Л... ГП Замечание 6.1. Условимся составлять программы так, чтобы «останов» происходил на первой букве результата (почему, подумайте сами). Замечание 6.2. В программе могут быть пустые клетки. Можно считать, что при выходе на такие клетки происходит «останов» (ф>, что внутри таких клеток написаны тройки, содержащие заключительное состояние). Π Пример 6.4. Построить машину Тьюринга, удваивающую натуральные числа, записанные в унарной системе счисления. ► Расширим исходный алфавит А = {|} до А' = {|; а}. Искомую машину построим в алфавите Af U {Л}. Ясно, что программа такой машины может выглядеть так: 91 1 aqi +1 а А Л q2 - 1 92 192-1 1 93 +1 Ago +1 9з |9з+1 I 92 - 1 Применим полученную машину к слову 220
§ 6.2. Машина Тьюринга. Описание. Примеры машин 0) 2) 4) 6) 8) ••Л|Ы| + ... • · Л аа Л (gi).. • · Л а\ Л (<?з) · ■ ■ •·Λα|(ςτ2)|Λ... ••л|Ы||л... 1)·· • з)·· 5)·· 7)·· 9)·· ■ Aa\(qi) Α.. ■ Л aa(q2) Л . •Ла|(д2)| Л. •Ла(д2)|| Л. •Л|(<й Л. 13)...л|ЫП|л... 14).-.лЫ111|л... 15)---л|ЫН|л... ^ Введение новой буквы а и замена исходных | на α позволяет различить исходные | и новые (приписанные) |. Состояние q\ обеспечивает замену | на а, состояние q2 обеспечивает поиск а, предназначенных для замены на |, и «останов» машины в случае, когда α не обнаружено, дз обеспечивает дописывание | в случае, когда произошла замена а на |. Введем в рассмотрение стандартные машины. 1. Тождественная машина Ε применима к любому слову над алфавитом А и Ε (и) = и. 2. Пусть А — алфавит и А А п £ N. Копирующей машиной Кп называется машина, применимая к любому слову и над А, причем Кп(и) = иАиА ... An. τι раз 3. Пусть А — алфавит и α, β (α φ β) Ε А. Машиной, заменяющей а на /3, называется машина За<_0, применимая к любому слову и так, что Уг Ε Ζ (За<_#гО (0 _ J u(i), если и{г) φ α; у /3, если и(г) = а. 4. Пусть А — алфавит и4 ^ А Машиной-проектором Πια (Πα2) называют машину, применимую к любому слову uAv, где и, ν — слова над алфавитом А, причем (П1А) (uAv) = щ (ПА2) (uAv) = v. 221
Глава 6. Элементы теории алгоритмов Теорема 6.3. Тоэюдественная, копирующая, заменяющая машины и машины-проекторы существуют. Задания в конце параграфа |~?~| 1. Докажите самостоятельно последнюю теорему. 2. Приведите пример такой машины Τ и слова и, к которому она неприменима. 3. Приведите пример такого алфавита А и такой машины, которая неприменима ни к одному слову над алфавитом А. §6.3. Сочетания машин Тьюринга: композиция и объединение. Машины с полулентами, разветвление и итерация машин Перечисленные в заголовке типы сочетаний машин позволяют при конструировании машин использовать стандартные приемы, аналогами которых в реальном программировании являются подпрограммы, циклы, разветвления, модульное программирование. 1. Композиция машин Композиция машин — последовательное их применение. Определение 6.7. Пусть Τι — машина с внешним алфавитом А\ и алфавитом состояний Qi, X2 — с алфавитами Аъ и Q2 соответственноТ причем QiD Q2 = 0. Композицией Τι, Тг называется машина, обозначаемая Х2 о Τχ, с внешним алфавитом А\ U Дг, алфавитом 222
§6.3. Сочетания машин Тьюринга состояний (Qi U Q2) \ {яю} (яю ~ заключительное состояние Т\)7 и работающая по правилу (Γ2οΓι)(«) = Τ2(Γ1(«)). Теорема 6.4. Композиция машин существует. ► Пусть программы машин Γι и Т2 выглядят следующим образом: Αι <7п Ά Qini А-2 921 Т-2 Я2п2 Программа композиции Т2 о Γι приведена в табл. 6.2. Табл. 6.2 Ак f < А2 < | Яп ( \ Т[ Я1гН | 921 Т-2 92п2 Блок Т[ получен из блока Т\ следующим образом: все клетки вида aqms программы Τι заменены на клетки вида ctq2\s (что и обеспечивает включение в работу машины Τ<ι после окончания работы машины Τι). < 223
Глава 6. Элементы теории алгоритмов Π Пример 6.5. Пусть Τι — машина, складывающая числа в унарной системе счисления (пример — § 6.2). ?2 — машина Тьюринга, удваивающая числа, записанные в унарной системе счисления (пример — § 6.2). Тогда Т20Т1 — машина, проводящая вычисления по формуле 2(а + ft), в частности, (Т2оГ1)(||+|||) = ||||||||||. 2. Машины с полулентами Прежде чем перейти к объединению, разветвлению, итерации машин, нам необходимо изучить класс машин Тьюринга с полулентами. Под машиной с правой (левой) полулентой понимают следующее: в одной из ячеек бесконечной ленты содержится символ ▲ — неподвижный ограничитель, СЗУ машин с правой (левой) полулентой может находиться только на правой (левой) полуленте, состоящей из ячейки, содержащей неподвижный ограничитель, и ячеек, находящихся справа (слева) от этой ячейки. При выходе СЗУ на ячейку с неподвижным ограничителем машина не имеет права менять ее содержимое. Так как теория машин с левой полулентой — зеркальное отражение теории машин с правой полулентой, мы в дальнейшем будем рассматривать подробно только машины с правыми полулентами. Теорема 6.5. Пусть кТ — машина с правой полу лептой, тогда существует обычная машина Τ, ей эквивалентная, т. е. для любого слова и над алфавитом А имеет место следующее: kT(ku) = kv => Τ (и) = v. 224
§ 6.3. Сочетания машин Тьюринга ► Искомую машину построим в виде композиции трех машин: ?2 о АХ о Χι, где Т\(и) = ки для любого слова и над A, T2{kv) = ν для любого слова kv. M Оказывается (!), что наряду с этой теоремой справедлива и обратная к ней теорема. Теорема 6.6. Для любой машины Тьюринга с обычной лептой существует равносильная ей машина с правой (левой) полулептой кТ (ХА), га. е. для любого слова и пад А справедливо следующее: Т{и) = υ => кТ(ки) = kv. (Тк(ик)) = vk). ► Расширим исходный алфавит двумя символами: А — неподвижный ограничитель, Δ — подвижный ограничитель. Искомую машину кТ построил! в виде композиции кТ = Т4оТ' оХ3. Опишем работу машин Хз и X*. Машина Хз применима к любому слову ки и Хз(Аи) = киА. Ясно, что Хз существует. Х4 применима к любому слову w = к Λ Λ · · - Λ ν Α и T<[(w) = kv. Ясно, что и Х4 существует. Участок ленты между А и Δ назовем рабочей зоной. Машина X' строится по машине X следующим образом: внутри рабочей зоны она работает так же, как машина X; в случае выхода СЗУ на Δ она перемещает подвижный ограничитель на одну ячейку вправо, помещая в освободившуюся ячейку Λ, и продолжает работу, возвращаясь на одну ячейку влево в том же состоянии, в котором СЗУ вышло на Δ. Эта возможность расширения рабочей зоны обеспечивается введением для каждого рабочего состояния q машины X состояния q машины Т1. «Хуже» обстоит дело в случае, когда СЗУ выходит на к, так как неподвижный ограничитель нельзя пе- 225
Глава 6. Элементы теории алгоритмов ремещать. В этот момент работа машины Т' как машины Τ должна прерваться для того, чтобы побуквен- но переместить слово на одну ячейку вправо, заполнив освободившуюся ячейку пустым символом Л; после чего машина X' может вернуться к освободившейся ячейке и продолжить работу как машина Т. Сложность такой «модернизации» ТкГ' состоит в том, что машина Тьюринга не обладает внутренней памятью, а запоминать нужно рабочее состояние, в котором произошел выход СЗУ на неподвижный ограничитель и перекладываемые буквы (какую поместить в ячейку из предыдущей и какую запомнить, чтобы переложить в следующую). Такое расширение рабочей зоны обеспечивается введением для каждого рабочего состояния q машины Τ целого шлейфа состояний машины Т' (длина шлейфа зависит от \А\). Выпишем программу машины Т' в случае, когда Α = {α;β} (табл. 6.3). Табл. 6.3 Яг Я Яп Як Яа Яз Ял ЯА ?' Я а Л<ь + 1 aqa + 1 βς* + 1 Aqc + 1 ag'-l β τ Лдз + 1 aqg + 1 /% + l Aqe + 1 /V-i л Лдд + 1 а<?л + 1 #7л + 1 Лдд + 1 Дд'-1 Лд'-1 Aq-1 ▲ AgA + l Ag-hl Δ Лд+1 ΔςΔ + 1 адд + 1 Α7Δ + 1 ΛςΔ + 1 Очевидно, построение программы Τ' возможно в случае любого конечного алфавита А. < 226
§ 6.3. Сочетания машин Тьюринга Доказанные две теоремы означают, что класс машин с полулентами эквивалентен классу обычных машин Тьюринга. 3. Объединение машин Определение 6.8. Пусть Χι u T2 — машины Тьюринга с общим или различными внешними алфавитами А\, А2 и пусть к & А\ U А2. Объединением машин Т\, Т2 называется машина7 обозначаемая Т\ U Т2, работающая по правилу (Γ1υΓ2)(«Αυ) = Γι(«)ΑΓ2(«). Теорема 6.7. Объединение машин существует. ► Объединение построим в виде композиции четырех машин: Τ+ΑοΑΓ2οΤΑ+οΤιΑ, где Τι А — аналог машины Т\ на левой полуленте, АТ2 — аналог машины Т2 на правой полуленте, машина ТА+, отправляясь от первой буквы слова w к ζ, останавливается на первой букве после символа А, оставляя на ленте слово wkz. Машина Т+ А, отправляясь от первой справа за А буквы слова wkz, останавливается на первой букве слова w, оставляя на ленте слово wkz. Очевидно, машины ТА^ и Т+А существуют. Μ 4. Разветвление машин Пусть Τι и Т2 — две машины Тьюринга с общим внешним алфавитом А и алфавитами состояний Q\ и Q2 (Qi Π Q2 = 0) и пусть 0 и 1 не принадлежат А. 227
Глава 6. Элементы теории алгоритмов Пусть Φ — машина-предикат, т. е. машина с внешним алфавитом AU {0; 1}, применимая к любому слову и над алфавитом А и Ф(и) принадлежит множеству {0; 1}. Определение 6.9. Разветвлением машинТх, ?2, управляемым предикатом Ф, называется маишнаТ обозначае- 10 мая Т\ Уф Тг, которая работает по правилу {τ ν т\и,\ iT^u^ еслифН =χ; если Ф(и) = 0. Теорема 6.8. Разветвление машин существует. ►Построим разветвление в виде композиции трех машин: Γι Уф Т2 = ίπ^'|ο(Φυβ)οКи где машина Π 0 х имеет программу, представленную —► Ί 2 в виде табл. 6.4. Начальным состоянием машины Π •Т2 является состояние q\, а заключительными — заключительные состояния дю, 920 ~~ машин Γι иГг соответственно. Эта машина называется переключателем. < 5. Итерация машины Пусть Г — машина Тьюринга с внешним алфавитом А и Φ - машина-предикат (см. предыдущий пункт). Табл. 6.4 αϊ в>п 1 0 ▲ Яг Лд2 + 1 Лдз + 1 42 Лдп + 1 93 Л<?21 + 1 911 Γι Qlni 921 г2 92п2 228
§ 6.3. Сочетания машин Тьюринга Определение 6.10. Итерацией машины Τ по предикату Φ называется машина, обозначаемая 7Ф, работа которой описывается следующим: 1. К слову и применяется предикат Ф; если Ф(и) = 1, то переход к 2; если Φ (и) = 0, то переход к 3. 2. и := Τ (и), переход к 1. 3. (Τ&) (и) := и, останов. Теорема 6.9. Итерация машины Τ по предикату Φ существует. 10 10 ► Построим машину ΤΥφΕ. Обозначим через (ΤΫφ E)f машину, программа которой получается из програм- 10 мы ΤΥφ Ε следующей модернизацией: все клетки, содержащие тройки aqorSj где д^Т ~~ заключительное состояние машины Т, заменяются на клетки, содержащие тройки aq ю s, где q ю — начальное состояние ΙΤΥφΕ ΙΤΥφΕ 10 всего агрегата Τ γ φ Ε. ίο Очевидно, Ш = (Τ Υ φ E)f. < 6. Машина Тьюринга, переводящая запись числа из унарной системы счисления в троичную В заключение приведем пример еще одной машины Тьюринга, переводящей унарную запись натурального числа в троичную систему счисления. Напомним, что в унарной системе счисления используется только один символ «|» («палочка»). Натуральное число записывается (изображается) в виде набора «палочек» в количестве, равном изображаемому числу. Так. натуральное число «пять» записывается в виде jyHapii· 229
Глава 6. Элементы теории алгоритмов Троичная система счисления — позиционная. Это означает, что вклад цифры в число зависит от позиции (разряда), которую занимает эта цифра. В основании троичной системы лежат степени тройки. Для записи чисел используются упорядоченные наборы цифр. Цифрами троичной системы счисления являются 0, 1, 2. Так, натуральное число «пять» в троичной системе записывается как (12)з- Значит, мы имеем равенство (|||||)у„арЦ = (12)з. Идея алгоритма, реализуемого машиной, состоит в последовательном уменьшении унарной записи переводимого числа на единицу и увеличении формируемой троичной записи на единицу до тех пор, пока на месте унарной записи переводимого числа ничего не останется. Программа такой машины задается табл. 6.5. Ч\ Я2 9з Ча \q\ + 1 Л<?4 - 1 \яа ~ 1 Ogi + 1 0g30 0g3-l Igi +1 lgi + 1 lg30 1<7з - 1 2gi + 1 2gi + l 2g30 2g3 - 1 0g4 - 1 Л<?2 - 1 Ago + 1 lgi + 1 Решим контрольный пример. Вычислим Г(|||||) = (12)3. 0) · 1) · 2) · 3) · 4) · 5) · 6) · 7) · 8) · ■Л|0 •л | | •л I 1 • л 11 •л | | •л | | •л | | •л I 1 • л 11 ϊι) 111 Ы 11 1 (91) I 1 1 (9i) 1 I I (91 | л.. | л.. | л.. | л.. ) л.. III лы .. 111 (92) л.. | 1 (94) Л Л . (94) 1 лл. 25) · 26) · 28) · 29) · 30) · 35) . 36) · • Л 2 | | | Ы Л ... • Л 2 | | (д4) Л Л ... • л Ы 2 | | л... • л Ы 0 | | л... • Л 1 0 (gi) | | Л... ■ Л10 | |A(gi)... •ЛЮЦЫ л... Табл. 6.5 ι о 1 2 Л 230
§ 6.3. Сочетания машин Тьюринга 9) · 10) · 11) · 12) · 16): 17) · 18) · 21): 22) · 24) · •Л •Л •Л| •л: 1 (94) | (94) | | 194) 1 1 1 ЛЛ... ЛЛ... ЛЛ... ί(9ι)ΙΙΙΙ ЛЛ... :Л1|| ■Л1|| ■Л1|| | Л(дх) Л.. I (92) Л Л ... Ы АЛЛ.. •л1|Ы|ллл... • Л 2 (qi) ΠΙ ΑΛΛ.. •л: 211 Л| [qi) Л Л.. 37) . 38) . 39) . 40) . 41) · . 42) · 43) · . 44) · 45) · 46) · . 47) · 48) · .Л 1 0 | (д4) ЛЛ... .Λΐ0(ρ4) | ЛЛ... -Л 1 1 | (gi) ЛЛ... .Л1 1 | A(qi)A... ■ Л 1 1 | Ы Л ... • Л 1 1 (д4) Л Л ... •Л12 Λ(ςι) Λ... • Л 1 2 (qi) Л Л ... ■ Л 1 2 (д3) Л Л ... ■ Л 1 (д3) 2 Л Л... ■ Л (<#) 1 2 Л Л... ■ Л 1 (до) 2 Л ... Вопросы и задания в конце параграфа Г?~| 1. Чему равны Кт о Кп и Кп о Кт1 2. Постройте машину К\ для алфавита А — {μ\ β}. 3. Сколько рабочих состояний у машины Т* в теореме 6.6. если у машины Τ четыре рабочих состояния, а внешний алфавит А — {α; β: 7}? 4. Постройте машины Т+± и Тд+ к теореме об объединении машин (теорема 6.7). 5. При построении Т2 о Т\ мы полагали, что Ql Π <22 = 0- Почему это ограничение несущественно? 6. Постройте машину, переводящую двоичную запись числа в троичную запись. 7. Постройте соответствующую машину-предикат Φ и машину Г, увеличивающую троичную запись числа на 1 так, чтобы перевод из унарной системы счисления в троичную осуществлялся с помощью машины Tit). 231
Глава 6. Элементы теории алгоритмов § 6.4. Тьюрингов подход к понятию «алгоритм». Алгоритмически разрешимые и неразрешимые проблемы Вернемся к тем вопросам, с которых мы начали изучение этого раздела. Главным из них был следующий: «Что такое алгоритм?» Тьюрингов подход к ответу на этот вопрос прост и естествен: «Алгоритм — это машина Тьюринга». Определение 6.11. Говорят, что существует тью- рингов алгоритм решения класса задач Z, если существует такая машина Тьюринга Τ с внешним алфавитом А. что: 1) для условия любой задачи ζ Ε Ζ существует слово uz над А. кодирующее условие задачи ζ (<£=> дающее его запись на ленте машины); 2) машина Τ применима к слову uz\ 3) vz = T(uz) является словом, кодирующим ответ задачи ζ. Сама работа машины Τ над словом uz называется применением алгоритма, заданного машиной Т, к задаче ζ. Класс задач Z, для которого существует решающий его тьюрингов алгоритм, называется алгоритмически разрешимой по Тьюрингу проблемой (классом) Z. Проанализировав содержание предыдущих параграфов этой главы, мы можем сказать, что разрешимыми по Тьюрингу проблемами являются: 1. Проблема сложения натуральных чисел. 2. Проблема удвоения натурального числа. 3. Проблема перевода унарной записи натурального числа в троичную запись. 232
§ 6.4. Тьюрингов подход к понятию «алгоритм» Возникает естественный вопрос: «Существуют ли алгоритмически неразрешимые по Тьюрингу проблемы?» Оказывается, есть (к нашему счастью, так как иначе математика была бы достаточно скучной наукой и сводилась бы к тьюрингову программированию). «Поставщиком» таких проблем является и сама теория машин Тьюринга. Универсальный алфавит, универсальная кодировка Каждая машина Тьюринга имеет три алфавита: внешний А, внутренний Q и алфавит сдвигов S. Все три алфавита — конечные множества, и можно считать, что Af]Q = AnS = QC)S = 0. Тогда любое слово над A U Q U S однозначно разбивается на слоги (подслова) (возможно, и однобуквенные) над, алфавитами A, Q, 5. В частности, любую клетку программы машины как отображения A U {Λ} χ Q\{qo} —* AU {Л} χ Q x S можно закодировать как пятибуквен- ное слово над AU {Л} UQ U S, задающее соответствие (α;6#) —> (/3;67j;s). Если условиться, что программа выписывается последовательно по столбцам сверху вниз, то мы получим стандартную запись программы в виде «длинного» слова над алфавитом 4 U {Л} U Q U 5. Поставим следующий вопрос: «Нельзя ли выбрать достаточно простой алфавит, с помощью слов которого можно будет кодировать все буквы, а значит, и слова над A U {Л} U Q U S (т. е. внешние слова и программу машины)?» Оказывается, в качестве такого простого алфавита, называемого универсальным, можно взять 233
Глава 6. Элементы теории алгоритмов двубуквенный алфавит {0; 1}. Опишем стандартную кодировку букв алфавита AU{A}L)QUS словами над {0; 1} с помощью таблицы кодирования (см. табл. 6.6). Кодировка с помощью этой таблицы называется стандартной. Понятно, что стандартная кодировка допускает однозначное декодирование для любых А, Q, 5. Поэтому молено считать, что всегда применяется кодировка с помощью {0; 1} и что все машины работают со словами над алфавитом {0; 1}. Табл. 6.6 Буква Сдвиги — 1 0 +1 Буквы Л а2 Код (слово) над {0; 1} 101 1001 10001 100001 10000001 1000000001 Буква Состояния 9о 91 92 "Ъ Код (слово) над {0; 1} 1000001 100000001 10000000001 ιο'.'.'.οι 2j+5 Определение 6.12. Машина Тьюринга Τ называется самоприменимой, если она применима к слову ит — стандартной записи на ленте своей программы. Это определение разбило все множество машин Тьюринга МТ на два класса: МТА — класс самоприменимых и MTns — класс несамоприменимых машин. 234
§ 6.4. Тьюрингов подход к понятию «алгоритм» Сформулируем проблему распознавания самоприменимости: «Существует ли такая машина Тьюринга 5, которая умеет распознавать самоприменимость, т. е. по слову ит, кодирующему программу машины X, сообщать, является ли машина Τ самоприменимой или нет?» Оказывается, имеет место следующая теорема. Теорема 6.10. Проблема распознавания самоприменимости является алгоритмически неразрешимой по Тьюрингу проблемой. ► Допустим противное, т. е. что существует машина 5, решающая проблему самоприменимости, причем «, ч _ ί 1, если Τ — самоприменима; ^ Т' ~ \ 0, если Τ — несамоприменима. Если машина S существует, то ее можно перестроить в машину 5, которая в случае, когда ит — кодировка программы несамоприменимой машины, перерабатывает их в слово «О» и останавливается, а в случае, когда ит — кодировка программы самоприменимой машины, «выпечатывает», уходя вправо, бесконечный хвост «1». Покажем, что существование машины 5, а значит и 5, ведет к противоречиям. Для этого применим S к слову ug. Возможны два исхода: а) после применения S к и§ машина напечатает О и остановится, но, с одной стороны, это означает (0) — несамоприменимость, а с другой (остановка машины) — самоприменимость; б) в результате применения S к и§ идет без остановки печать бесконечного хвоста единиц. Хвост единиц означает теперь самоприменимость, а это противоречит тому, что машина не останавливается. Полученное противоречие и доказывает теорему. Μ 235
Глава 6. Элементы теории алгоритмов Задания в конце параграфа |~?~| 1. Предложите свою, более простую, чем стандартная, кодировку программы (возможно, не пятерками, а тройками со стандартным расположением). 2. Докажите, что универсальный алфавит не может состоять из одной буквы. 3. Попробуйте найти оценку m(|A|,|Q|K*(«rKM(|A|,|Q|), где £(ит) — длина слова над алфавитом {0; 1}, однозначно кодирующим (не обязательно стандартно) программу машины Τ с алфавитами А, Q,S. § 6.5. Универсальная машина Тьюринга В заключительном параграфе этого раздела эскизно опишем, что такое универсальная машина Тьюринга. В обычной машине Тьюринга программа «зашита» в устройстве управления, а входная информация (условия задачи) записывается на бесконечной ленте. В универсальной машине в устройстве управления записана программа, реализующая алгоритм подражания, т. е. программную реализацию правил работы любой машины (см. § 6.2), вернее, правила обращения с ее программой. Тогда входной информацией для универсальной машины является пара — слово их, стандартно кодирующее машину-алгоритм, решающий данный класс задач Z\ и слово vz, кодирующее условие задачи ζ Ε Ζ. Универсальная машина, используя ит, перерабатывает νζ в Τ(υζ). 236
§6.5. Универсальная машина Тьюринга Ясно, что для построения универсальной машины потребуется использование техники машин с полулентами и универсального алфавита. Эта машина будет работать очень вяло, теряя очень много времени на переходы от обрабатываемого слова к программе и обратно, однако ясно, что справедлива следующая теорема. Теорема 6.11. Универсальная машина Тьюринга существует. Доказательство этой теоремы и более подробно об универсальной машине Тьюринга см. Б. А. Трахтенброт «Алгоритмы и вычислительные автоматы» (М.: Советское радио, 1974). А теперь еще раз обратимся к истории, а вернее, к биографии Алана Матиссона Тьюринга, члена Лондонского Королевского общества, руководителя работ по созданию первых английских ЭВМ и Национальной физической лаборатории в Теддингтоне. Свои замечательные результаты в области машин, носящих его имя, А. Тьюринг получил в 1936-1937 гг.. будучи 25-летним, молодым (по нынешним понятиям) человеком. Изумляют не только четкость и математическая строгость подходов Тьюринга, но и глубочайшее понимание необходимости такого рассмотрения для дальнейшего развития прикладной математики. Результаты Тьюринга (а также параллельно работавших с ним в этой области А. А. Маркова (младшего), Э. Поста, А. А. Ляпунова. К. Геделя) — вклад не только в математику, но и в современную философию, ее важнейшую отрасль — теорию познания. В результате изучения этого раздела нашего курса каждый слушатель стал владельцем персональной 237
вычислительной машины (ПВМ) — машины Тьюринга, обладающей неограниченной памятью и широчайшими возможностями, быстродействие которой зависит от пользователя. Автор отмечает, что программирование для машин Тьюринга (после приобретения некоторых навыков) — достаточно занимательное занятие, так как требует лишь алгоритмических навыков, а не удержания в голове стандартных конструкций, характерных для программирования на алгоязыках высокого уровня. Здесь нет фактически программистских проблем, а есть только алгоритмические проблемы. Решение задач по программированию для машин Тьюринга позволяет выработать и развить приемы алгоритмизации (чему человек обучается значительно труднее, чем «голому» программированию).
Глава 7 Элементы теории графов § 7.1. Введение, общее определение графа. Локальные характеристики Эта глава нашего курса посвящена графам — математическим объектам, интересным во всех отношениях. Приведем обширную цитату из введения к книге Ф. Ха- рари «Теория графов» (М.: Мир, 1973): «Существует несколько причин нарастания интереса к теории графов. Неоспорим тот факт, что теория графов применяется в таких областях, как физика, химия, теория связи, проектирование ЭВМ, электротехника, машиностроение, архитектура, исследование операций, генетика, психология, социология, экономика, антропология и лингвистика. Эта теория тесно связана также со многими разделами математики, среди которых — теория групп, теория матриц, численный анализ, теория вероятностей, топология и комбинаторный анализ. Графы действуют притягательно и обладают эстетической привлекательностью... Хотя в теории графов много результатов, элементарных по своей природе, в ней также громадное изобилие весьма тонких комбинаторных проблем, достойных внимания самых искушенных математиков». 239
Глава 7. Элементы теории графов Теория графов — тот редкий раздел математики, о котором доподлинно известно, когда он родился и кто был его основоположником. Родилась теория графов на берегах Невы, в Санкт-Петербурге, ее «отцом» (как и алгебраической топологии) является Леонард Эйлер1, опубликовавший в 1736 г. решение задачи о кенигсберг- ских мостах (приведем название и выходные данные этой работы: Euler L. Solutio problematis ad geometrian sit is pertinents, Comment. Academiae Sci I. Petropolitanue, 8, 1736, p. 128140). Следующие шаги в развитии теории графов принадлежат Г. Кирхгофу, применившему теорию графов в 1847 г. к теории электрических цепей (законы Кирхгофа), и А. Кэли, разработавшему в 1857 г. теорию деревьев и применившему ее к теории химических изомеров. Родившись при решении головоломок и занимательных задач, в XX в. теория графов стала мощным сред- 1 Леонард Эйлер (1707 1783) родился в Базеле (Швейцария). В возрасте 13 лет начал учебу в университете Базеля на отделении теологии. Одновременно проходил математическую подготовку у И. Бернулли. Под его влиянием и происходит отход от теологии к математике. Магистерская диссертация защищена Л. Эйлером в возрасте 16 лет. В 1727 г. в 20-летнем возрасте Эйлер приглашен в созданную Петром I Санкт-Петербургскую академию наук, в 1746 г. он переезжает в Берлин, где до 1766 г. работает в Берлинской академии наук, а затем возвращается в Санкт-Петербург, где активно работает, несмотря на постигшую его в последние 17 лет жизни слепоту. Л. Эйлер относится к величайшим ученым, трудами которых основаны целые научные направления и науки. Им написано около 700 научных работ по теории чисел, математическому анализу, математической физике, комбинаторике, вариационному исчислению и многочисленным приложениям математических методов. 240
§7.1. Введение, общее определение графа ством решения проблем многих наук, широкая приложимость стала дополнительным стимулом ее бурного развития. Сам термин «граф» ровно на 200 лет моложе этой теории, он введен в употребление в 1936 г. выдающимся венгерским математиком Д. Кёнигом. Определение графа. Локальные характеристики Графы бывают двух типов — неориентированные и ориентированные. В нашем курсе мы будем в основном заниматься ориентированными графами (они чаще встречаются в приложениях). Определение 7.1. Ориентированным графом (о орграфом <=> графом) будем называть тройку G(X*U, /), где X (т^ 0) — множество, называемое множеством вершин графа, U — множество (возможно, и пустое), называемое мноэюеством дуг, / — отображение, действующее из U в Χ χ X, называемое отображением инцидентности. Π Пример 7.1. Рассмотрим граф, изображенный на рис. 7.1. и _ш X = {1; 2: 3; 4; 5; 6} С/ = {1;11;...; X} /(1) = (5;1);/(П) = (2;1); ■ х /(III) = (2; 2); /(IV) = (5; 2) /(V) = (4; 5); /(VI) = (4:5) /(VII) = (4; 2); /(VIII) = (3;4) Рис 7 1 /(1Х) = (2;3);/(Х) = (3;2). 241
Глава 7. Элементы теории графов Введем в рассмотрение стандартные отображения рг : X х X -> X и р2 : X хХ ^ X следующими правилами: Pi ((я; у)) = х; р2((^;у)) = у- Определение 7.2. Пусть G(X,U*f) — граф, и (е U) — дуга. Назовем вершину (pi°f)(u) началом дуги и, вершину (р2°/)(^) концом дуги и. Дуги и (Е U) и ν (Е U) называются параллельными (кратными), если f(u) = f(v). Дуги и (Е U) и w (Е U) называются противоположными, если f(u) = ((p2°/)(«0;(Pi°/)(w)). Дуга t (Ε U) называется петлей в вершине х, если (Р1 ° /) (<) = (Р2 о /) (<) = ι- Е'сли /(^) = {х\у)-> то говорят, что дуга и инцидентна вершинам χ и у. Вершина χ (χ Ε X) называется изолированной, если Г1 ((X \ {*}) χ {х}) = Г1 ({*} χ (Χ \ {*})) = 0. Для графа на рис. 7.1 дуги V и VI параллельны, IX и X — противоположны, III — петля в вершине 2, вершина 6 — изолированная вершина. Вершина 2 инцидентна дугам II, III, IV, X, XI и VII. Пример 7.2. Граф шахматной игры Множество вершин этого графа — множество позиций шахматной игры (позиция — диаграмма расположения фигур и указание, чей ход предстоит). Дуги графа шахматной игры — такие упорядоченные пары позиций, в которых вторая может быть получена из первой по правилам шахматной игры за один ход. Π 242
§7.1. Введение, общее определение графа Отображение инцидентности — это отображение вложения множества дуг в декартово произведение вершин. Сама шахматная игра может рассматриваться как игра двух лиц на графе шахматной игры. «Белые» находятся в вершине, отвечающей началу игры (исходная расстановка, ход белых), и совершают ход, т. е. выбирают одну из дуг, выходящих из этой вершины. «Черные» получают ход в вершине, соответствующей концу этой дуги, и т. д. Цель игры — «загнать» противника в такую вершину х, что /_1({х} χ X) = 0, т. е. в безвыходное положение. 3. Локальные характеристики графа Определение 7.3. Граф G(X, t/, /) называют конечным, если \Х\< оо, |17| < оо, т. е. если у него конечное число вершин и дуг. В дальнейшем мы будем рассматривать только конечные графы (не оговаривая это дополнительно). Определение 7.4. Пусть χ (Ε Χ) — вершина графа G(X*U, /), поставим ей в соответствие три числа: deg+x, deg _x, deg χ : deg+x = \f~l(X χ {x})\ — число входящих в χ дуг; deg-x = / ({χ} χ Χ)\ — число выходящих из х дуг; deg χ = deg+x + deg—x. Число deg+x называют полустепенью захода в вершину х, deg-x — полустепенью исхода из вершины х, deg x называют степенью вершины х. Очевидно, справедлива следующая теорема. 243
Глава 7. Элементы теории графов Теорема 7.1. Для любого графа G(X, 17, /), ?/ которого \U\ < оо, имеют место соотношения: Σ deg+x = Σ de9-x = \U\: (7.1) x€X xeX J2degx = 2\U\. (7.2) cgX |C/| = \f-i(XxX)\ = (J /-*(* χ {*}) /-1 ( (J (Χ Χ {χ})) = ΣΙ/-Ι(^χ{*»ι = rex = У ^ deg+x = аналогично = } ^ deg-x. xex xex (Соотношение (7.2) — это следствие соотношения (7.1).) < ΠΊ Замечание 1. Множества f~l(X x {x}) попарно не пересекаются. Теорема 7.2 (теорема Эйлера о рукопожатиях) В любом конечном графе G(X* ί/, /) число вершин нечетной степени является четным числом или равно нулю. ► Представим множество вершин X в виде X = Х2 U ^ι, отнеся к Х2 такие вершины х, у которых deg χ = 2 · kx, kx E Z+; а к Х\ — такие вершины χ. у которых deg x = 2 · kx + 1, fcx € Z+. Тогда, воспользовавшись соотношением (7.2) теоремы 7.1, получаем 2 · \U\ = Y^ deg χ = \^ deg χ + \^ deg x = χ€Χ χ€Χ'2 χ€Χι = 2·^^+2· Σ** + Σ 1 = 2'Σ^ + 1^11 => хёХг χ€Χι x€X\ χ£Χ 244
§7.1. Введение, общее определение графа => \Χλ\ = 2\U\ -2^кх = 2 Ι |ί/| - Σ к* хех \ хех Правая часть кратна двум или равна нулю, значит, |Χι| кратно двум или равно нулю. Μ Возможная интерпретация данной теоремы такова: на любом мероприятии (приеме, банкете и т. п.) число лиц, совершивших нечетное число рукопожатий, четно или таких лиц нет вовсе. Графы принято интерпретировать (изображать) рисунками, состоящими из точек, соответствующих вершинам, и линий со стрелками, изображающих дуги. Приведем в качестве заключительного в этом параграфе примера граф нашего курса (см. рис. 7.2). Вершины графа будут соответствовать разделам: алгебра высказываний (АВ), алгебра предикатов (АП), алгебра множеств и отношений (АМО), отображения и комбинаторика (ОК), отношения (О), булевы функции (БФ), элементы теории алгоритмов (А), введение в теорию графов (ТГ). Дуги графа — стрелки, ведущие от разделов, материал которых используется при изучении данного раздела, к вершине, соответствующей данному разделу. А ТГ БФ Рис. 7.2 245
Глава 7. Элементы теории графов Вопросы в конце параграфа |~?~| 1. Сравните условия теорем 7.1 и 7.2. Почему условия теоремы 7.1 слабее? 2. Оцените сверху количество дуг графа с η вершинами, на котором нет петель, противоположных и параллельных дуг. § 7.2. Изоморфизм графов. Геометрические графы. Плоские и неплоские графы. Реализуемость в из· Пути, цепи, контуры, циклы Изоморфизм графов Похожесть и непохожесть однотипных объектов в математике определяются понятием «изоморфизм». Определение 7.5. Графы Gi(Xl, ί/ι, /ι) и ^2(^2, С/г, /г) называются изоморфными (пишут G\ ~ G2), если существуют биективные отобраэюения ψ : Χχ —» Х2 и ф: Uι —> С^2 такие, что (Pi о /2 о Ф) О) = (φ о р{ о /χ) (u), \/u е U, г = 1, 2. (Иначе ρχο /2оф = φορ1ο fx и Р2 ° f2 ° Φ = ψ ° Р2 ° fl·) Π Пример 7.3. Рассмотрим графы Gi, G2, G3. G4, изображенные на рис. 7.3: Gv G2: III 246
§7.2. Изоморфизм графов. Геометрические графы G%: 2 G4: 1 2 Δ ΙΕΙ 3 3 4 Рис. 7.3 Очевидно, Gi ~ G2, Gi φ G3, Gi φ G4. Изоморфизм Gi ~ G2 реализуют отображения φ и ф, заданные следующими соотношениями: φ(1) = 2, ψ{2) = 4, γ>(3) = 1, φ{4) = 3. ^(1) = И, ф(Щ = VI, ψ(ΙΗ) = V, ψ(ΐν) = IV, φ(Υ) = III ^(VI) = Ι. Теорема 7.3. Изоморфизм — отношение эквивалентности на множестве графов G. т. е. оно рефлексивно, симметрично, транзитивно: 1. VG (EG) G - G. 2. VGi VG2 (Gi - G2 => G2 ^ Gi). 3. VGi VG2 VG3 ((Gi ~ G2)Sz(G2 ^ G3)=> (Gi - G3)) · ► Доказательство теоремы основано на том, что: а) тождественное отображение биективно; б) биективные отображения обратимы и обратные к ним биективны; в) композиция биективных отображений биективна. Μ 247
Глава 7. Элементы теории графов Геометрические графы. Реализуемость графов Определение 7.6. Геометрическим графом называется граф, у которого множество вершин — множество отмеченных точек в i?2 или Дз> множество дуг — множество параметризованных отрезков непрерывных кривых в /?2 или в Лз^ концами которых являются соответствующие им вершины графа2. Все графы, приведенные раньше на рисунках, можно считать геометрическими. Теорема 7.4. Для любого графа существует изоморфный ему геометрический граф (и в /?2, и в Дз), называемый его геометрической реализацией. ► Вершинам графа поставим в соответствие помеченные точки плоскости или пространства, а дуги изобразим параметризованными отрезками прямых или дуг окружностей. < Определение 7.7. Геометрический граф называется правильно реализованным (или правильным), если его дуги не имеют общих точек, отличных от вершин графа. Пример 7.4. Рассмотрим графы С? ι и G2, изображенные на рис. 7.4. Граф C?i не является правильно реализованным, граф G2 — правильный. (Заметим, что G\ ^ G2, т. е. С?2 — правильная реализация G\.) Π 2 Параметризованный отрезок кривой в пространстве задается параметрическими уравнениями χ = x(t),y = y(t),z = z(t),t £ [0;1]. Начало отрезка точка с координатами (х(0);у(0); г(0)), конец 0(1); 2/(1); z(l)) 248
§ 7.2. Изоморфизм графов. Геометрические графы Оц G2: Рис. 7.4 Теорема 7.5. Для любого графа существует его правильная реализация в /?з. ► Опишем конструкцию, позволяющую построить правильную реализацию. Возьмем в Дз произвольную прямую £. Вершинам графа G(X, t/, /) поставим в соответствие отмеченные точки на этой прямой (точки будем обозначать теми же буквами, что и вершины графа G). Каждой дуге графа G будет соответствовать своя плоскость, проходящая через £. Если дуга и £ U такова, что f(u) = (х;у), х φ у, то в соответствующей плоскости построим на отрезке [х; у] как на диаметре полуокружность, параметризованную от χ к у: если w €U и f(w) = (z\z), то в соответствующей плоскости изобразим единичную окружность, касательную к £ в точке ζ, параметризованную произвольно (см. рис. 7.5). Рис. 7.5 Очевидно, эта конструкция дает правильную реализацию. Μ 249
Глава 7. Элементы теории графов Определение 7.8. Граф называется плоским (<£> пла- парным), если у него существует правильная реализация в /?2. Определение 7.9. Полным графом Кп (п £ N) называется граф с η вершинами без петель, кратных и противоположных дуг (ориентация безразлична), у которого любые две вершины соединены дугой (см. рис. 7.6). ._дн# ΑΊ К2 К3 К4 Кь А'6 Рис. 7.6 Определение 7.10. Полным двудольным графом Кп,т (η ^ га) называется граф с п + т вершинами без петель, кратных и противоположных дуг (ориентация безразлична), у которого множество вершин разбито на два непересекающихся подмножества спит вершинами так, что любые две вершины различных подмножеств соединены дугой и никакие две вершины одного подмножества не соединены дугой (см. рис. 7.7). 1 Л АД Ж ΚιΛ Κι ι2 К<2,з Κλ-λ Рис. 7.7 250
§ 7.2. Изоморфизм графов. Геометрические графы Оказывается (и это доказали почти одновременно и независимо российский математик Л. С. Понтрягин и польский математик К. Куратовский), не являются плоскими графы К*, и 7Сз,з и графы, части которых устроены «подобно» К$ и 7^з,з- (Подробно и точно о критерии планарности Понтрягина — Куратовского см. в книге Ф. Харари «Теория графов» (М.: Мир, 1973). Смысл и значение этого факта и теоремы 7.5 о правильной реализуемости графов в Дз для микроэлектроники трудно переоценить. Фактически из-за графов К$ и Адз пришлось создавать технологию многослойных печатных плат или микросхем в виде сэндвичей. С графом /Г3,з связана и головоломка о трех домах и трех колодцах (см. Л. Кэрролл «Алиса в стране чудес»). Пути, цепи, контуры, циклы Определение 7.11. Путем длины η (η Ε Ν) на графе G(X,U. f) называется отобраэюение /х:[1;п]де —>· U такое, что (р2о/ομ)(ί-1) = (рг о / о μ) (г), г = 2,3,..., п. Вершина (р\ о / о μ)(1) называется началом пути /ι, вершина (р2 ° / ° /Ж71) ~~ концом пути μ. Если (pi о / о μ)(1) = (р2 ° f ° μ)(^), то путь называется контуром. Если отобраэюение μ инъективно, то путь (контур) называется простым. Определение 7.12. Цепью длины η (η Ε Ν) на графе G(X,U, f) называется отобраэюение η:[1:η]^ —> U такое, что у любой дуги η(ι) (г = 2,3,... ,η — 1) одна инцидентная вершина общая с дугой т/(г — 1), а другая — общая с дугой η(ι + 1). 251
Глава 7. Элементы теории графов Вершина дуги η(1), не являющаяся общей с дугой г](2), называется началом цепи, вершина дуги η(η), не являющаяся общей с дугой η(η — 1), называется концом цепи. Если начало цепи совпадает с ее концом, цепь называется циклом. Если отображение η инъективно, то цепь (цикл) называется простой (простым). [jjl Пример 7.5. Рассмотрим граф, приведенный на рис. 7.8. и отображение μ : [1; 9]г табл 7.1. С/, заданное Табл. 7.1 г | 1 | 2 |3|4|5|6|7|8|9 μ{ι) | VI | VIII | III | IX | II | IV | V | II | I VIT till tiv IX Рис. 7.8 Ясно, что μ — путь длины 9 из 2-й вершины в 7-ю вершину. Рассмотрим отображение 77, заданное правилом 77(1) = VII; 77(2) = III; »/(3) = IX; »/(4) = V. Ясно, что ту — цепь длины 4 из 2-й в 8-ю вершину. 252
§ 7.2. Изоморфизм графов. Геометрические графы μι(1) = VI; μι(2)= VIII; μι (3) = VII - контур длины 3. T?1(l)=VI;i7i(2) = X;i71(3) = III; 7ji(4) = VII — цикл длины 4. Лемма 7.1 (лемма о простом пути) Пусть G(X, U, /) — граф', х\ У (£ X) ~~ такие вершины, что существует путь μχν длины пху с началом в вершине χ и концом в вершине у, тогда существует простой путь μ!ΧΉ длины пху с началом в вершине χ и концом в вершине у, причем пху ^ пху. ► Возможны два случая: а) отображение μχμ инъективно, тогда μ'χν — μχν, пху = пху и утверждение леммы доказано (тривиально); б) отображение μχν не является инъективным, значит, существует такая дуга й Ε ί/, что Упорядочим элементы множества μχ^({ΰ}) в порядке возрастания, т. е. Vxy({u}) = {h\i2',--\ik} (1 ^ Ч < h << ik < Пху). Образуем путь μ\χυ длины п\ху = пху — (ik — i\), соединяющий хсг/, положив fw/M*)' если 1 < * ^ *ι; μ\χν\ )— ^μχ^ (i _|_ (ik - z-j)) .если i\ < i^nxy - (ik - ч). При этом для любой дуги и, отличной от й. Тогда, если μι-xy инъективно, полагаем μχ = μ\χν\ nf = щху, а если μ\χν не является инъективным отображением, то к нему применимы приведенные выше рассуждения. Мы получим путь μ2χν длины П2хУ < п\ху и т. д. За конечное число шагов процесс оборвется (так как длина пути — натуральное число) и требуемый простой путь будет построен. < 253
Глава 7. Элементы теории графов Лемма 7.2 (лемма о простой цепи) Пусть G(X, ί/, /) — граф; x,i/(gX) — такие вершины, что существует цепь ηχν длины пху, соединяющая χ с у. Тогда существует простая цепь η' длины п', соединяющая х с у, причем пху ^ пху. ► Возможны два случая: а) отображение ηχν:[1\ пху]ц -> U инъективно, тогда VxV = Vxyi пхУ — пху и утверждение леммы тривиально доказано; б) отображение ^^[l; пху]ц —» U не является инъек- тивным. Значит, существует такая дуга й £ С/, что Ы({Щ)\ >2. Упорядочим элементы множества Ήχ}({ΰ}) в порядке возрастания, т. е. .-1 /Гтт Vxy (Μ) = {ϊι;«2;...;ΰ} (1 < ύ < i2 < ··· < ^ ^ niy). Для трассы цепи ηχν возможны четыре случая (см. рис. 7.9). 1. 2. ,4 4. JT JT JT ТЕ П й h Ή Рис. 7.9 254
§7.2. Изоморфизм графов. Геометрические графы Построим цепь щху, соединяющую χ с у, в случаях 1 и 2 по правилу (\ίνχν{ί), если 1^г ζίι; r]lxy^,~{Vxy(i+ (ik -ή)),если ii<i^nxy - (ik -ή), а в случаях 3 и 4 — по правилу есл ,если н^г<7гтг/-(г^-г1)-1. „, /;\_ J W*), если 1^г<п; При этом в случаях 1 и 2 \rixly (Щ = 1, Щ1У ({«}) С f# ({«}) для любой дуги и, отличной от й. а в случаях 3 и 4 %4 {{Щ = Z, %ху ({«}) С ^ ({«}) для любой дуги и, отличной от й. Тогда, если Tjixy инъ- ективно, полагаем г(ху = щху\ пху = 7ϊιχ2/ϊ а если τ/ι^ не является инъективным отображением, то к нему применимы приведенные выше рассуждения. Мы получим цепь 7/2x1/ длины 772ху < п\ху и т· Д· За конечное число шагов процесс оборвется. Будет получена искомая простая цепь г(ху. < Лемма 7.3 (лемма об инвертировании цепи) Пусть G(X,U* /) — граф; х,у(ЕХ) — вершины такие, что существует цепь ηχυ длины пху, соединяющая χ су, тогда существует цепь η~ длины пху, ведущая из у в х, ► Очевидно, отображение η~ :[1]пху]щ -> U, заданное равенством Чху(*) = Пху(пху-г + 1), является искомой цепью из у в х. Говорят, что цепь η~ν получена инвертированием цепи цху. Μ 255
Глава 7. Элементы теории графов Замечания и вопросы в конце параграфа mm Очевидно т что всякий путь является цепью и не всякая цепь является путем. Докажите, что если G\ (Х\, U\, /ι) ~ ~ G2(X2i £^2?/2) и (^, ψ - пара биективных отображений, реализующих этот изоморфизм, то для любой вершины χ Ε Χι справедливо: deg+z = deg+<p(x); deg_ χ = deg_ p(x); degx = deg(^(x). (Характеристики deg+, deg_. deg в левой части равенств вычисляются для графа С?ь а в правой — для графа С?2·) Проверьте, что отображение η~ в лемме 7.3 действительно является цепью. §7.3. Части графа: подграф, частичный граф. Связность и сильная связность, компоненты. Мосты графа В задачах теории графов иногда приходится изучать не весь граф в целом, а какие-то его части. Определение 7.13. Пусть G(XM, f) — граф, U'cU. Частичным графом графа G, пороэюденным Uf', называется граф G (X, U\ fly,) · (Здесь /L., — ограничение отображения f :U —» Χ χ X на множество Uf, т. e. flrrt-'U' —» Χ χ Χ по правилу (f\u,) («) = /(«) Vix e U') 256
§7.3. Части графа: подграф, частичный граф Π Π Пример 7.6. Пусть G — схема дорог Ростовской области. Схема дорог Ростовской области с асфальтовым покрытием — частичный граф графа G. Определение 7.14 Пусть G(X,U,f) — граф, Х\ф0)сХ. Подграфом графа G, порожденным множеством Xf\ называется граф G (х', UX.J\Uxi) , где UX> = f'1 (Χ1 х X') . Пример 7.7. Схема дорог Багаевского района Ростовской области — подграф схемы дорог Ростовской области. Сам граф G по отношению к своим подграфам и частичным графам называется надграфом (суграфом или суперграфом). Компоненты связности и сильной связности Определение 7.15 Пусть χ — вершина графа G(X,U, /). Свяэюем с ней множество Сх, определенное следующим: у Ε Сх <$> <3> (у = x)V (существует цепь, ведущая из χ в у). Теорема 7.6 (свойства множеств Сх) Множества Сх обладают следующими свойствами: 1. Vx (Ε X) Сх φ 0; 2. \/х Vy (Сх Π Су φ 0 => Сх = Су); 3. U^ = X. хех ► Нетрудно проверить, что отношение а. заданное следующим: хау<=>(у = х) V (существует цепь, ведущая из хву), является отношением эквивалентности на множестве X — вершин графа. Действительно, его рефлексивность 257
Глава 7. Элементы теории графов и симметричность очевидны, а транзитивность следует из возможности склейки цепей. Пусть пху — цепь длины пху. ведущая из χ в у\ r\yz — цепь длины nyz, ведущая из у в ζ. Тогда отображение ηχζ : [1; пху + nyz]N —l· t/, Vxz(i) -{ Vxy{i), если Ιξίζ nxy\ Vyz (i - Пху), если nxy < г < nx.y + η. «yz — цепь, ведущая из χ в г. Ясно, что Сх =■ [х]а, тогда эта теорема — частный случай теоремы 4.4 о свойствах множеств [χ]α. Μ Определение 7.16. Компонентой связности вершины χ графа G(X, СЛ /) называется подграф, порожденный Сх. Определение 7.17. Числом связности графа G(X, t/, /) называется число его различных компонент связности. Число связности обозначается c(G). п Пример 7.8 G: Θ ПА) Рис. 7.10 Для графа G, заданного рис. 7.10, c(G) = 3. Обведены три различных компоненты связности графа G. 258
§ 7.3. Части графа: подграф, частичный граф Определение 7.18 Граф G называется связным, если c(G) = 1, и несвязным, если c(G) > 1. Определение 7.19 Пусть χ — вершина графа G(X,U. /). Свяэюем с ней множество sCx, определенное следующим: у Ε SCX ФФ> (у = х) V ((существует путь, ведущий из χ в у) & (существует путь} ведущий из у в х)). Теорема 7.7 (свойства множеств sCx) Множества sCx обладают следующими свойствами: 1. \/х {в X) sCx φ 0. 2. Чх Чу (sCx (ЛзСуф0 => sCx = sCy). 3. U *Сх = Х- хех ► Нетрудно доказать, что бинарное отношение β на множестве вершин, определенное частью, стоящей за «Ф>» в определении 7.19, является отношением эквивалентности. sCx — [х]в* тогда эта теорема — частный случай теоремы 4.4. Μ Определение 7.20 Компонентой сильной связности вершины χ графа G(X* U, /) называется подграф, порожденный множеством sCx - G (sCx, Uscx, f\UaC ) · Определение 7.21. Числом сильной связности графа G называется число его различных компонент сильной связности. Число сильной связности графа G обозначается sc(G). 259
Глава 7. Элементы теории графов Π Пример 7.9. Для графа G, заданного рис. 7.11, sc(G) = 7. На рисунке обведены замкнутыми кривыми различные компоненты сильной связности графа G. Рис. 7.11 Теорема 7.8. Для любой вершины χ графа G(X, 17, /) имеет место SCX С Сх. ► Справедливость этого утверждения следует из того, что всякий путь является цепью. < Следствие 7.1. Для любого конечного графа G(X, С/, J) имеет место: 1 ^ C(G) ^ sc(G) ^ |Х|. ► Крайние оценки очевидны, а внутренняя следует из теоремы 7.8. < Мосты графа Определение 7.22. Дуга и графа G(X, U, /) называется мостом, если c(G) < c(G>J, гдеС'и = G (x,U\{u},f\^{u}) . Пример 7.10. На рис. 7.12 обозначен надписью мост графа G. п 260
§ 7.3. Части графа: подграф, частичный граф не является мостом Рис. 7.12 Теорема 7.9 (теорема о мостах) Мы с тобой два берега у одной реки. Если uo — мост графа G(X, С/, /), то c(G) + l = c(G'J. ► Так как каждая дуга графа находится внутри компоненты связности, то при удалении моста «разваливается» только та компонента связности, которой он принадлежал. Значит, достаточно показать, что при удалении моста из компоненты, которой он принадлежал, получается ровно два «осколка», т. е. нужно доказать следующую теорему: Μ Теорема 7.10. Если и0 — мост графа G(X,U,f) uc(G) = l,moc(G'Uo)=2. ► Предположим противное, т. е. что существует такой граф G и мост uq на нем, что C(G) = l,aC(CJ > 3. Последнее означает, что в графе G'Ui) существуют вершины х, г/, ζ, лежащие в разных компонентах связности. Исходный граф был связен, значит, на нем существовала цепь ηχν, ведущая из χ в t/, и цепь ηχζ, ведущая из χ в ζ. Можно считать (по лемме 7.2), что эти цепи простые. 261
Глава 7. Элементы теории графов На графе G'u вершины х, у, ζ лежат в разных компонентах связности, значит, на нем нет цепей, соединяющих χ с у и χ с 2, следовательно, цепи ηχν и ηχζ «разорвались», а так как переход от G к GfUo осуществлен удалением дуги ?io, то эти цепи проходили через дугу ι/ο · Возможные комбинации трасс цепей таковы (см. рис. 7.13): Щ) "о я) · · · ·—м · · 1 f\\ * * * «^—1 · · J ! х у ' χ у Щ) < "о < В) χ · · , * X "0 _ио —-—ι У ζ Рис. r)i X 7.13 • · к Щ) | —,"0 ~—ι У ζ «Куски» цепей, спрятанные за ..., не содержат дуги щ (так как цепи простые) и, значит, не пострадают при удалении дуги щ. Тогда из инвертированного фрагмента «| |» на цепи ηχν и фрагмента « на цепи ηχζ в случаях а и б склеивается цепь, соединяющая вершину у с вершиной ζ. Это противоречит тому, что эти вершины лежат в разных компонентах связности графа G'U{). В случаях β и г из фрагментов « » и «| |» склеивается цепь, соединяющая вершину χ с вершиной у. Это противоречит тому, что эти вершины лежат в разных компонентах графа GfUo. Полученные противоречия доказывают теоремы 7.9 и 7.10. < 262
§ 7.4. Эйлеровы графы, критерий эйлеровости Вопросы и задания в конце параграфа |~?~| 1. Почему в определениях 7.17 и 7.21 слово «различных» подчеркнуто? 2. Докажите, что каждая дуга графа лежит внутри какой-то компоненты связности (т. е. ее начальная и конечная вершины находятся в одной компоненте связности). 3. Постройте граф G{X, U, /) такой, что |Х| = 10, c(G) = 3, sc(G) = 5. 4. Докажите, что sc(G) = c(G) О Vx (€ X) Сх = SCX. § 7.4. Эйлеровы графы, критерий эйлеровости В этом параграфе мы возвращаемся к истокам теории графов и задачам, которыми занимался великий Леонард Эйлер. Отправной точкой для него послужила знаменитая задача о кенигсбергских мостах, которая теперь стала неотъемлемой принадлежностью любого учебника по теории графов. Семь мостов города Кенигсберга (ныне Калининград) расположены на реке Прегель так, как изображено на рис. 7.14, соединяя его (города) части А, В, С, D. Задача состоит в следующем: «Найти такую точку города, выйдя из которой, можно пройти по всем мостам города по одному разу и вернуться в нее обратно». Эйлер показал, что эта задача не имеет решения. Каждый мост Эйлер заменил линией, соединяющей точки, соответствующие берегам. В результате получился граф, изображенный на рис. 7.15 (ориентация дуг не имеет значения). 263
Глава 7. Элементы теории графов ГП Замечание 2. Заметим, что ни одна из дуг графа на рис. 7.15 не является мостом в смысле определения 7.22. • С с •Л -Г • D Агк Рис. 7.15 Определение 7.23 Связный граф называется эйлеровым, если на нем существует простой цикл, проходящий через все дуги графа (простой, проходящий через все дуги, т. е. проходящий по одному разу через каждую дугу). Лемма 7.4. Если степень каэюдой вершины конечного графа четна, то на графе существует хотя бы один простой цикл. ► Наличие хотя бы одной петли делает лемму тривиальной. Осталось рассмотреть графы без петель. Возьмем произвольную вершину графа. Так как ее степень четна, то существует по крайней мере две дуги, для которых она является граничной. Выйдем по одной из этих дуг из этой вершины (не обязательно по ее ориентации). Вершина, в которую мы придем, также имеет четную степень, и, значит, кроме дуги, по которой мы пришли, есть 264
§ 7.4. Эйлеровы графы, критерий эйлеровости еще хотя бы одна, по которой можно из этой вершины уйти. «Уничтожим» после прохождения через вершину дуги «прихода» и «ухода». При этом степень пройденной вершины уменьшилась на 2, а значит, осталась четной. Таким образом, мы показали, что условие четности степеней вершин — это условие «незастревания» в них, и оно наследуется при уничтожении пройденных дуг. Двигаясь таким образом по конечному графу, не застревая в его вершинах, мы не можем все время оказываться в вершинах, в которых мы не побывали ранее (так как в конечном графе конечное число вершин). Тогда на каком-то из шагов такого «путешествия» мы окажемся в вершине графа, в которой уже были до этого. Отрезок простой цепи, заключенный между первым и вторым прохождениями через такую вершину, является простым циклом на исходном графе. Μ Теорема 7.11 (критерий эйлеровости графа) Для того чтобы конечный связный граф был эйлеровым, необходимо и достаточно, чтобы степени всех его вершин были четными числами. ► Необходимость ► Она очевидна, так как, двигаясь по эйлеровому циклу, войдя в вершину по одной дуге, мы выходим из нее по другой дуге, т. е. каждой «дуге входа» соответствует «дуга выхода». Каждая такая пара дуг дает вклад, равный двум, в степень вершины, а поскольку эйлеров цикл содержит все дуги, то степень каждой вершины представлена суммой двоек и, значит, четна. Μ Необходимость. Достаточность ► Достаточность будем доказывать по индукции, взяв в качестве параметра индукции число дуг графа. 265
Глава 7. Элементы теории графов Шаг 1. \U\ = 1. Единственный граф, удовлетворяющий условиям теоремы, изображен на рис. 7.16. Очевидно, его единственная дуга и образует эйлеров цикл. Рис. 7.16 Индуктивный переход. Предположим, что утверждение теоремы (ее достаточной части) справедливо для любого графа, у которого \U\ ^ щ. Докажем, что тогда оно справедливо и для графа, у которого \U\ = щ + 1. Так как степени всех его вершин четны, то по лемме 7.4 на этом графе существует простой цикл η. Если этот цикл проходит через все дуги графа G, то он и есть искомый эйлеров цикл, и индуктивный переход доказан. В противном случае рассмотрим граф, полученный из G удалением дуг цикла η — Gfrr Каждая его компонента связности — конечный связный граф с четными степенями вершин и числом дуг, меньшим либо равным тг0. Тогда, по предположению индукции, на каждой компоненте связности существует эйлеров цикл. Обозначим эйлеровы циклы компонент 771,7/2,... ,Щ соответственно. Поскольку исходный граф связен, то цикл η имеет хотя бы по одной общей вершине с компонентами графа G'. Выберем по одной общей с циклом вершине на каждой компоненте — χχ,:τ2,.... #£. Искомый эйлеров цикл на графе G построим следующим образом: отправившись по циклу η из произвольной его вершины, движемся по нему до тех пор, пока не встретим вершину Х{ из множества {х\:х2;...; χ*:}, тогда от вершины χι пройдем по эйлерову циклу гц о 266
§ 7.4. Эйлеровы графы, критерий эйлеровости на соответствующей компоненте графа G'rp после чего продолжим движение по циклу η до тех пор, пока не встретим вершину Xj £ {χχ;χ2\... ;^jt}, опять прервем движение по 77 и пройдем по эйлерову циклу ?7j соответствующей компоненты и т. д. В результате движения по циклу η мы побываем во всех вершинах множества {χχ;χ2;...;xjt}, а следовательно, пройдем по всем циклам щ; г\2\-\Щ (см· Рис· 7.17). (Процесс склейки эйлерова цикла из цикла η и циклов 77ι, 772, ■·· ,Vk похож на сборку ожерелья с подвесками.) Индуктивный переход, а вместе с ним и вся теорема доказаны. < Достаточность^ Определение 7.24. Связный граф называется квазиэйлеровым, если на нем существует простая цепь, проходящая через все дуги графа. Теорема 7.12 (критерий квазиэйлеровости) Для того чтобы конечный связный граф был квазиэйлеровым, необходимо и достаточно, чтобы степени всех его вершин были четными числами или степени всех его вершин, за исключением ровно двух, были четными числами, причем в первом случае эйлерова цепь является эйлеровым циклом, а во втором случае эйлерова цепь начинается в одной из вершин нечетной степени, а заканчивается в другой вершине нечетной степени. ► Ясно, что теорема 7.12 является следствием теоремы 7.11. Случай двух вершин нечетной степени и построение эйлеровой цепи можно свести к эйлерову циклу на графе, полученном из G добавлением дуги, соединяющей две вершины нечетной степени. Μ 267
Глава 7. Элементы теории графов Вопросы в конце параграфа Г?~| 1. Молено ли нарисовать фигуру, называемую саблями Магомеда (см. рис. 7.18). не отрывая карандаш от бумаги и не проходя по отрезкам линий дважды (за исключением помеченных точек)? Рис. 7.17 Рис. 7.18 2. Молено ли нарисовать, не отрывая карандаш от бумаги и не проходя ни по одному из отрезков дважды, домик с крышей вида а, б, в, г, д (см. рис. 7.19)? Рис. 7.19 268
§7.5. Деревья и леса 3. Какие из графов, приведенных на рис. 7.20, являются эйлеровыми, квазиэйлеровыми? АБВГАЕЖ зим: СТУФХЦЧ i—'—4 Рис. 7.20 § 7.5. Деревья и леса В этом параграфе мы изучим простой и очень важный своими приложениями класс графов — деревья. О широком применении этого класса говорят следующие термины: «дерево поиска», «древовидные структуры», «ветвление» и др. Лемма 7.5. Для любого конечного графа G(X, ί/, /) справедливо \X\-c(G) < \U\. (7.3) ► Проведем доказательство индукцией по параметру т = \U\. Μ 7\ 269
Глава 7. Элементы теории графов 1-й шаг. т = 0. Любой граф, у которого \U\ = 0 (^ U = 0), имеет вид, изображенный на рис. 7.21. ·. ■ *· . *. Рис. 7.21 ·* · Тогда c(G) = \X\. Значит, \Х\ - c(G) = \X\ - \Х\ = 0 ^ <0=|*7|. Соотношение (7.3) выполнено. Индуктивный переход. Предположим, что соотношение (7.3) справедливо для любого графа, у которого \U\ ^ га0. Докажем, что тогда оно справедливо и для графа, у которого \U\ = то + 1. Для такого графа возможны два случая: 1) на нем нет ни одного моста; 2) на нем есть хотя бы один мост. В первом случае удалим произвольную дугу и графа G, т. е. перейдем к графу Gfu. Для него соотношение (7.3) выполнено (по предположению), значит, 1*1 - C(G'U) ^ \U\{u}\, но c(G'u) = c(G), тогда \X\-c(G) ζ \U-{u}\ = \U\-1 < ^.Соотношение (7.3) доказано. Во втором случае обозначим через uq мост графа G и выпишем соотношение (7.3) для графа Gfm'. 1*1 -с(G'J < \U\{u0}\, по теореме 7.9 о мостах с (СЩ)) = c(G) + 1, тогда \X\-c(G)-JL <\и\Ы\ = \U\-JL. Соотношение (7.3) выполнено и в этом случае. Индуктивный переход доказан. Μ Лемма 7.6. Конечный граф G(X* t/, /)? у которого \U\ ^ \X\-2, (7.4) не является связным. 270
§7.5. Деревья и леса ► Предположим противное, то есть что существует конечный связный граф Gq(Xq, t/o?/o)? У которого \Uo\ К ^ |Хо| — 2. По предыдущей лемме для него выполнено №1-1 «Ξ \U0\. (7.5) Из (7.5) и (7.4) получим \Xo\-l ζ \Xo\-2 или -1 < -2. Полученное противоречие и доказывает лемму. Μ Определение 7.25. Деревом называется конечный связный граф без циклов. Определение 7.26. Лесом из к деревьев называется граф G без циклов, у которого c(G) = /с, к > 1. Π Пример 7.11. На рис. 7.22 справа изображен лес. состоящий из трех деревьев. ж 1 t не дерево дерево дерево vlv дерево лес из трех деревьев Рис. 7.22 271
Глава 7. Элементы теории графов Теорема 7.13 (основная теорема о деревьях) Для конечного графа G(X, С/, /) следующие 6 утверждений эквивалентны: 1) G — дерево, т. е. связный граф без циклов. 2) G не содержит циклов и \U\ = \Х\ — 1. 3) G связен и \U\ = X — 1. 4) G связен и каждая его дуга является мостом. 5) Любые две вершины можно соединить, и причем единственной простой цепью. 6) Добавление к графу G любой дуги приводит к образованию единственного простого цикла. ► Докажем, что из 1) следует 4). Доказательство проведем от противного, т. е. предположим, что существует такое дерево G. на котором есть дуга щ, не являющаяся мостом. Обозначим через хо ее конец, через t/o ~~ ее начало. Образуем граф G'U{). Так как он по нашему предположению связен, то на нем существует простая цепь Vzoyo> ведущая из х0 в у0, тогда цХ[т U {и0} - простой цикл на G, что противоречит тому, что G — дерево. Докажем, что из 1) следует 2), но так как то, что из 1) следует 4), уже доказано, то можно доказывать, что из 1) и 4) следует 2). На самом деле достаточно доказать, что из 1) и 4) следует, что \U\ = \Х\ — 1. Докажем это по индукции, взяв в качестве параметра индукции τη = \U\. 1-й шаг. т = 0. Единственное дерево имеет вид, приведенный на рис. 7.23. Ясно, что для него \Х\ = 1, \U\ = 0, а значит, \U\ = \Х\ — 1. • Рис. 7.23 272
§7.5. Деревья и леса Индуктивный переход. Предположим, что соотношение \U\ = \Х\ — 1 справедливо для любого дерева, у которого \U\ ^ rriQ. Докажем, что тогда оно справедливо и для дерева, у которого |17| = гао + 1. Удалим произвольную дугу и дерева, т. е. перейдем к графу Gfu. Так как 4) для G выполнено, то и — мост и G'u состоит из двух компонент связности (теорема 7.10), каждая из которых — дерево с числом дуг, меньшим либо равным uiq. Тогда для каждой компоненты связности выполнено предположение индукции: |*7! | = |Xi|-l, \U2\ = |Х2|-1. Складывая последние равенства, получаем \Ui\ + \U2\ = \Xi\ + \X2\-2; = \U\-1 =1*1 \U\-1 =1*1-2; \U\ =|*|-1. Индуктивный переход доказан. Докажем теперь, что из 2) следует 3). На самом деле достаточно доказать, что из 2) следует «G — связен». Доказывать это будем от противного, т. е. предположим, что существует граф G, который не содержит циклов и у которого |17| = \Х\ — 1, но G не является связным. Тогда он состоит по крайней мере из А: (к > 2) компонент связности, каждая из которых не содержит циклов, а значит, является деревом. Переход 1 => 2 уже доказан, а следовательно, для каждой компоненты Щ = \Xi\-h i = l,2,...,fc. Суммируя по г, получаем ^|^| = ^(|^|-1) или \U\ = \X\-k. г=1 i-1 Это противоречит тому, что \U\ = |Х| — 1. 273
Глава 7. Элементы теории графов Докажем, что из 3) следует 4). Будем доказывать от противного, т. е. предположим, что существует граф G, который связен и у которого \U\ = \Х\ — 1, но 4) для него не выполнено, т. е. не каждая дуга является мостом. Пусть uq Ε U не является мостом, тогда GfU{i — связный граф, у которого число дуг равно \Х\ — 2, а это противоречит лемме 7.6. Докажем, что из 4) следует 5). Доказывать будем от противного, т. е. предположим, что существует такой связный граф, у которого каждая дуга является мостом, но для которого 5) не выполнено. Так как на графе G условие 5) не выполнено, то на нем есть такие две вершины, которые можно соединить двумя простыми цепями — //ι и т/2. Ясно, что щ U 7/2 либо является простым циклом, либо содержит простой цикл. А дуги простого цикла не являются мостами. Получено противоречие с 4). Докажем, что из 5) следует 6). Добавим к графу G дугу w: соединяющую у с х. На исходном графе по условию существует простая цепь τ/χ?/, соединяющая χ с t/, тогда r]xy\J{w} — простой цикл. Докажем единственность образовавшегося простого цикла. Доказывать единственность будем от противного. Предположим, что существуют такие вершины xq и т/о и добавленная дуга Wq, соединяющая уо с хо, что на графе G U {wq} существует два простых цикла, проходящих через wq: ηι и 7/2. Но тогда т/1 \ {wq} и 7/2\ {^о} — Две простые цепи, соединяющие х0 с t/o на С, а это противоречит 5). Докажем, что из 6) следует 1). Достаточно доказать, что из 6) следует — «G связен». Докажем от противного, т. е. предположим, что существует несвязный граф, для которого выполнено 6). Возьмем на этом графе две вершины xq и т/о? лежащие 274
§7.5. Деревья и леса в разных компонентах связности, и добавим к графу дугу wq, их соединяющую. Ясно, что при этом не образуется простой цикл, а это противоречит 6). < Следствие 7.1. Если G(X,U,f) — лес из к деревьев, то \и\ = \x\-k. Определение 7.27. Вершина χ графа G(X, СЛ /) называется висячей, если deg x = 1. Следствие 7.2. Если G(X, t/, f) — дерево и \Х\ ^ 2, то па нем ест,ь по крайней мере две висячие вершины. ► Допустим противное, т. е. что существует дерево G(X, С/, /), у которого \Х\ ^ 2 и не более одной висячей вершины. Представим X в виде X = (X \ Хь) U Хь, где Х^ — множество висячих вершин. Обозначим δ = \Хь\ ζ 1. По теореме Эйлера (теорема 7.1) имеем 2\U\ = \^degx = \^ degχ + У^ degx = тех хех\хь х£Хъ = Σ degx + й^ Σ 2 + δ = 2(\Χ\-δ) + δ = xex\xb xex\xb = 2\Χ\-δ. Учтем, что |17| = \Χ\ — 1, тогда 2(|Χ|-1) > 2\Χ\-δ или -2 > -δ. Последнее дает противоречие и при δ = 0, и при δ = 1. < 275
Глава 7. Элементы теории графов Вопросы и задания в конце параграфа Г?~| 1. Докажите самостоятельно следствие 7.1 к теореме о деревьях. 2. Диаметром связного графа называется самая длинная простая цепь. Докажите, что любые два диаметра графа имеют общую вершину. 3. Могут ли на дереве все вершины быть висячими? Сколько вершин у такого дерева? 4. Каково максимальное количество висячих вершин на дереве сп(п^З) вершинами? Оцените сверху deg χ дерева с η (η ^ 3) вершинами. § 7.6. Помеченные графы. Перечисление помеченных деревьев. Матрицы графов Помеченные графы Определение 7.28. Граф с η вершинами называется помеченным, если его множество вершин X = [1;п]^. Определение 7.29. Помеченные графы G\ и С?2 с η вершинами называются изоморфными, если существует биективное отображение ф: U\ —¥ U2 такое, что (Рг °12°Ф) Ы = (Pi О Л) (и) VU £ UU i = 1,2. Это определение похоже на определение изоморфизма графов (см. определение 7.5), отличие состоит в том, что изоморфизм графов реализуется парой биективных отображений ψ'.Χ\ —> Х^ Φ-Ui —» U<i, a здесь ψ - тождественное отображение. 276
§ 7.6. Помеченные графы Π Пример 7.12 4 4 '3 * 1 G\ G2 G3 Рис. 7.24 Рассмотрим графы Gi, G2, G3, приведенные на рис. 7.24. G\ изоморфен как помеченный графу G2 и не изоморфен как помеченный графу Сз- Ясно, что в обычном смысле Gi, G2, G3 — изоморфны. Перейдем теперь к решению одной комбинаторной задачи: «Сколько существует не изоморфных между собой неориентированных помеченных деревьев с η вершинами?» Обозначим число неизоморфных помеченных деревьев через Т{п), Ясно, что Г(1) = 1 ί Г(2) = 1 Г(3) = 3 Г(4) = 16 1 ! 1 2 2 2 4 1 4 2 3 2 3 1 3 4 3 4 3 2 1 1 2 3 3 3 3 1 1 2 4 1 2 3 4 2 4 4 1 1 1 2 3 2 4 1 2 3 4 3 4 1 2 3 2 3 4 3 #4 > 2 4 ^1 Г2 2 ЛЗ Г4 Рис. 7.25 277
Глава 7. Элементы теории графов Теорема 7.14 (теорема Кэли3) Т(п) = пТ1~2. ► Обозначим через Т(п,к) число неизоморфных помеченных деревьев с η вершинами, у которых deg 1 = А:. Тогда Г1_1 Т(п) = ^Т(п,к). Выведем формулу для нахождения Т(п^к), Для этого найдем соотношение, связывающее Т(п, к) и Т{п, к + 1). Возьмем произвольное помеченное дерево А такое, что deg 1 = к. Перестроим его в дерево В такое, у которого deg 1 = к + 1. Для этого удалим из А любую из η — 1 — к дуг, не инцидентных вершине 1. Обозначим граничные вершины этой дуги χ и у. При удалении дуги дерево А разваливается на два куска: один из них содержит вершину 1 и одну из {х; у}; а второй — оставшуюся из {х: у} (см. рис. 7.26, левая часть). \ χ } А^ В { χ \) ^^ ^^ Рис. 7.26 3Артур Кэли (1821 1895) английский математик. Его математические способности проявились уже в раннем возрасте. Окончил Тринити-колледж (Кембридж) в возрасте 17 лет. Занимался η-мерной геометрией и многомерным анализом. Основным источником существования А. Кэли с 1841 по 1863 г. являлась юридическая практика, однако ученый не оставлял занятий математикой и опубликовал за эти годы около 300 математических работ. С 1863 г. Кэли переходит на должность математика в Кембриджском университете, несмотря на заметную потерю в доходах. 278
§ 7.6. Помеченные графы Переход от дерева А к дереву В показан на правой части рис. 7.26, т. е. мы «пришиваем» отвалившуюся часть новой дугой, соединяющей 1 и «t/». Пару полученных графов (А; В) назовем связкой. Ясно, что одно дерево А порождает η — 1 — к связок, тогда количество связок (А; В) равно (п — 1 — к) * Т(п, к). Возьмем теперь произвольное дерево В, у которого deg 1 = к + 1. Подсчитаем, сколько связок (А: В) порождает дерево В. Удаление любой дуги щ (г = 1, 2,... . fc + 1), инцидентной вершине 1, разваливает дерево В на две части, одна из которых содержит вершину 1, а другая — вторую инцидентную удаленной дуге вершину (обозначим ее χι). «Отпавший лепесток» можно приклеить, соединив дугой вершину χι с любой вершиной другого лепестка (см. рис. 7.27, правая часть). Рис. 7.27 Одна дуга щ дает нам (п — 1 — щ) возможностей (щ — число вершин на г-м лепестке). Тогда всего деревьев А, порождаемых В, будет fc+i /c+i ^2(п-1-ты) = (п-1)(к + 1)-^2ш = = (п-1)(к + 1)-(п-1) = (п-1)к. 279
Глава 7. Элементы теории графов Таким образом, одно дерево В порождает (п — 1)к связок (А; В), Тогда количество связок (А\ В) равно (п — 1) · к · Т(п, А: + 1). Приравнивая дважды вычисленное количество связок (А\В), получаем (п-1-к)Т(пЛ) = (п-1)кТ(п7к + 1). (7.6) Выпишем теперь серию соотношений типа (7.6): (га - 1 - к)Т(п, к) = (п - 1)кТ(щ к + 1). (п-1-к- 1)Г(п, к + 1) = (п - 1){к + 1)Г(га, к + 2). 1 · Т(п, η-2) = (η - 1)(п - 2)Г(гс, η - 1). Перемножая их и сокращая на общие множители, получаем Г(п,*).(и-1-*)! = (Λ-1)(«-ι-*).ί^)|.Γ(ηίΛ-1). (к- 1)! > ν * = ι Окончательно Т(п,к) = C^n-IY»-1-». Тогда τ(η)=Σ cknz\{n - ΐ)(,Μ)=Σ, c»-2(" - i)(n-2_i) = =ЕС-2(1)Чп-1)(-2-° ф-ла^инома = (1 + (п - l))(n_2) = n<n"2>. ^ Свои результаты по перечислению деревьев А. Кэли успешно применил в химии для определения количества химических изомеров углеводородов — С„Н2П+2· Структурные формулы молекул таких соединений (вершины — атомы, дуги — валентные связи) представляют собой деревья. Структурные формулы двух таких изомеров — бутана и изобутана — приведены на рис. 7.28. 280
§ 7.6. Помеченные графы Н·- Н*- Н·- Н·- -•Н -•н -•н Η ·- Η [с Η н·- бутан и [с *н -· Η изобутан Рис. 7.28 Методы теории графов в XX в. нашли широкое приложение в химии (см., например, Химические приложения топологии и теории графов: пер. с англ. / под ред. Р. Кинга. - М.: Мир, 1987). Важным для приложений классом ориентированных деревьев являются корневые, или растущие, деревья, т. е. такие, у которых существует вершина, называемая корнем, из которой существуют простые пути во все остальные вершины (в силу общих свойств деревьев путь из корня в каждую вершину — единственный). Вершины корневого дерева, отличные от корня и висячих, называют промежуточными. Такие структуры принято использовать для организации систем хранения информации, в частности, таковыми являются компьютерные файловые системы. Корневое дерево файловой системы обычно называют деревом директорий, в котором корень — корневая директория, промежуточные вершины — поддиректории, а висячие вершины — отдельные файлы или пустые поддиректории. 281
Глава 7. Элементы теории графов Матрицы графов Во многих задачах теории графов (особенно решаемых на ЭВМ) графы удобно описывать матрицами. Пусть G(X. t/, /) — помеченный конечный граф с η вершинами и т дугами (дуги тоже занумерованы). Матрицей смежности графа G называется матрица A(G) размера η х п, определенная следующим: ( А(Г*\\ — ) ^' ссли существует дуга из г-й вершины в j-io; V V JJij |0 - в противном случае. Матрицей инцидентности графа называется матрица B(G) размера η χ m, определяемая следующим: {1, если j-я дуга заканчивается в г-й вершине; — 1. если j-я дуга начинается в г-й вершине; О — в противном случае. В случае неориентированного графа матрица инцидентности B(G) определяется следующим: fninw —/"'"'если 3"я ДУга инцидентна г-й вершине; ν V )nj— |q — в противном случае. Теорема 7.15. Двоичный ранг (т. е. вычисленный в арифметике nomod 2: 0+0 = 0, 0+1 = 1? 1+1 = 0) матрицы B(G) конечного неориентированного графа равен \Х\ — c(G). ► Если выбрать покомпонентную нумерацию вершин и дуг, то матрица B(G) имеет блочную структуру — блоки соответствуют компонентам. Ранг такой матрицы равен сумме рангов блоков. Для доказательства теоремы осталось доказать, что в случае связного графа двоичный ранг равен |_ЛГ| — 1. Если к последней строке матрицы прибавить все остальные строки, мы получим нулевую строку (двоичная арифметика), значит, drangB(G) ^ \X\-1. (7.7) 282
§ 7.6. Помеченные графы У любого связного графа существует частичный граф, являющийся деревом (покрывающее дерево). Тогда drangB(G) > drang В(покр. дерева). (7.8) Покажем, что drang B(G) = |X |-1, (7.9) если G — дерево. Последнее равенство будем доказывать по индукции, взяв в качестве параметра индукции т = \U\. 1-й шаг т = 1. G: ■0)' B(G)=fJJ; drangB(G) = 1 = 2-1 = |X|-1, так как \Х\ = 2. Индуктивный переход. Предположим, утверждение справедливо для любого дерева с т дугами. Докажем, что оно справедливо и для дерева, у которого \U\ = т + 1. Мы знаем, что на таком дереве есть висячая вершина (следствие 7.2 теоремы 7.13). Будем считать, что она имеет последний номер и инцидентная ей дуга имеет последний номер. Тогда матрица B(G) имеет следующую структуру: / °\ В{С'ит+г) 1 О \00 ... 01/ Но тогда drang B(G) = drang В (&ит+1) + 1. B(G) = 283
Глава 7. Элементы теории графов Граф G'y χ — дерево с га дугами, полученное из дерева G удалением висячей вершины и инцидентной ей дуги. Для него выполнено предположение индукции drangB(G^m+1)=(|X|-l)-l, тогда drangB(G) = |Х| - 1 - 1 + 1 = |Х| - 1. Индуктивный переход доказан. Из (7.7), (7.8) и (7.9) получаем, что если G — связный граф, то drangB(G) = |X|-l, а это завершает доказательство всей теоремы. < § 7.7. Взвешенные графы. Задача о кратчайшем соединении. Кратчайшие пути Завершая эту главу и весь курс, рассмотрим взвешенные графы, т. е. такие, у которых дугам поставлены в соответствие вещественные (как правило, неотрицательные) числа, называемые весами. В качестве весов могут выступать длины дуг, пропускная способность, стоимость эксплуатации и т. п. Задача о кратчайшем соединении Известны точки, в которых будут расположены населенные пункты (города), и известны трассы дорог, которые можно построить, а также стоимость их строительства. На рис. 7.29 указаны населенные пункты А В, С, D, F\ арабские цифры около проектируемых участков 284
§ 7.7. Взвешенные графы дорог — стоимость их строительства; римские цифры — номера дуг. Требуется определить, какие из дорог следует построить, чтобы полученная схема дорог позволяла попасть из любого города в любой и из всех возможных схем имела наименьшую стоимость строительства. Ясно, что сформулированная задача может быть формализована с помощью теории графов. В и б С Рис. 7.29 Определение 7.30. Взвешенным графом (графом с весами на дугах) будем называть четверку G(X,U* /, />), где G(X,UJ) - граф, р: U -> (0,+ос). Отображение ρ называется весовым отображением. Если uGi/, то р(и) называют весом дуги и. Если {щ}™=\ — путь или цепь на графе G, то ее весом называют величину def p({ui}?=i) = Σρ("0· г=1 Весом графа G(X* t/, /. ρ) называют величину иеи Аналогично определяется вес подграфа и частичного графа. 285
Глава 7. Элементы теории графов Сформулируем задачу о соединении городов на языке теории графов. Дан конечный связный взвешенный граф G(X, С/, /, р). Требуется найти связный частичный граф минимального веса. Определение 7.31. Покрывающим деревом связного графа называется его частичный граф, который является деревом. Если G не является связным графом, то говорят о покрывающем лесе, т. е. о деревьях, покрывающих его компоненты связности. Теорема 7.16. Решение задачи о соединении городов — покрывающее дерево. ► Предположим противное, т. е. что решение задачи — G (X, U\ /\цп p\rjf) не является деревом. Тогда на нем, по основной теореме о деревьях, существует хотя бы одна дуга, которая не является мостом. Обозначим ее ад· Рассмотрим граф G (х, U' \ {ад}, f\W\{uoyP\Uf\{uo}) · Очевидно, он связен и plG[X,U'\{u0},f = p(g (х, u\ f U'\{uu] ;Р\и>\{и0}))-р(ио)< <p[G[X,U'J u'^))· Последнее противоречит тому, что G (X, U', f\r;,^p\ij/) является решением задачи о соединении городов. Μ 286
§ 7.7. Взвешенные графы Теорема 7.17 (алгоритм Краскала4) Последовательность {щ}^ дуг покрывающего дерева минимального веса может быть найдена с помощью следующего алгоритма: \) щ — дуга минимального веса из мноэюества [7, не являющаяся петлей; 2) если уже определен начальный отрезок последовательности щ, щ*... ,иА;_ь то дуга и^ выбирается из мноэюества U \ {ΐ/ι,ΐ/2, ·■·, Uk-i} гпатс, что выполнено два условия: а) добавление дуги и^ к {iii,U2,... ,^_i} не приводит к образованию циклов; б) из дуг, удовлетворяющих условию а), дуга и^ обладает наименьшим весом. ► Ясно, что последовательность, построенная по алгоритму, определяет покрывающее дерево. Очевидно, что р(щ) ζ р{щ) ζ ... ζ р{и\х\-\) ■ Это дерево обозначим Τχ . Покажем, что Τχ является решением задачи о соединении городов. Предположим противное, т. е. что существует другое покрывающее дерево T = G(X7V,f\V7p\v) , при этом р(Т)<р(ТКр). (7.10) Упорядочим последовательность дуг дерева Τ так, что V = {v»}ffi_1 и ρ(υι) < ρ(ν2) < ... < ρ(ν\χ\-ι) · 4Джозеф Бернард Краскал (1928 2010). Родился в Нью-Йорке, окончил университет г. Чикаго, в 1954 г. получил степень доктора философии в Принстонском университете. Преподавал в Прин- стоне и университетах штатов Висконсин и Мичиган. С 1959 г. научный сотрудник Bell Laboratories. Изложенный в этой книге алгоритм был предложен Краскалом еще на 2-м курсе университета. 287
Глава 7. Элементы теории графов Ясно, что {Wi}|=i φ {^ϊ}ί=ί ■ Обозначим через к такой индекс, что и\ — v\, и2 = v2,..., Uk-i = Vk-i* Uk φ Vk. Тогда р(ик) ζ p{vk)i так как vk по отношению к {щ}^ удовлетворяет подпункту а) пункта 2) алгоритма Крас- кала. Добавим к дереву Τ дугу ик. По основной теореме о деревьях это привело к образованию единственного простого цикла, содержащего дугу ик. Очевидно, этот простой цикл содержит хотя бы одну дугу Vj, j > к. Мы имеем р(щ) ζ p(vk) ^ p{vj)- Разорвем этот цикл, удалив дугу νj. Полученное дерево обозначим Т\. Зану- r li 1*1-1 меруем его последовательность дуг {щу{=11 так, что ρ(υ\) ^ ρ(ν\) ^ · < Ρ(ν\χ\-\)· Ясно, что р(Тг)^р(Т). (7.11) Возможны два случая: 1. {щ}[=1 = {υ}}\=\~ . Тогда Тг = ТКр и мы имеем ρ(ΤΚρ)ζρ(Τ). (7.12) Последнее противоречит (7.10). 2. {^}Щ φ {vj}i=[ . Обозначим через fcl такой индекс, для которого щ = v\, и2 = v\, ... uki-i = ϋ£ι_ι, ukl φ vlkl. Из построения Т\ следует, что kl > k. Тогда, применяя рассуждения, приведенные для пары Τκρ, Т, к паре ТкР1 Τι, мы получим граф Т2 (k2 > kl), для которого опять возможны два случая: 1), 2). Но случай 1) приводит к противоречию, а случай 2) приведет к графу Тз и кЗ > к2. Ясно, что мы можем лишь конечное число раз выходить на случай 2), так как kl < к2 < · · · < \Х\ — 1, а выход на случай 1) приводит к тому, что на каком-то 288
§ 7.7. Взвешенные графы из шагов возникнет ситуация Τι = Τχρ и мы получим Ρ (ТКр) = Ρ(Ά) < р(Т2) < «Ξ р(Т), а это противоречит (7.10). Μ Π Пример 7.13. Применим алгоритм Краскала к графу, приведенному на рис. 7.29, — схеме дорог. На первом шаге выбирается дуга щ = III, затем и2 = I, из = V (далее отпадает возможность выбора дуги IV), U4 = VIII (далее отпадает возможность выбора дуги VI), us = IX (далее отпадает возможность выбора дуг II, X, VII). Процесс выбора дуг автоматически оборвался. Покрывающее дерево минимального веса приведено на рис. 7.30. Пунктиром обозначены дуги, не вошедшие в это дерево, ρ (Τκρ) = 10. Рис. 7.30 Задача о кратчайших путях Пусть дан граф с неотрицательными весами на дугах. Нас будут интересовать две задачи: 1) какова длина кратчайшего пути, ведущего из одной выделенной вершины к другой? Каков этот путь? 2) каковы длины кратчайших путей от выделенной вершины до всех остальных вершин графа? Каковы эти пути? 289
Глава 7. Элементы теории графов Задачи 1) и 2) очень похожи, и решение задачи 1) получается в результате прерывания в нужном месте решения задачи 2). Приведенный ниже алгоритм Дейкстры5 — один из первых известных динамических алгоритмов — основан на двух идеях: • присвоении вершинам графа меток и правиле пересчета меток, при этом окончательные метки — длины кратчайших путей; • экстремальном свойстве кратчайшего пути, состоящем в следующем: если кратчайший путь из вершины χ в вершину у проходит через вершину ζ* то его отрезок от вершины χ до вершины ζ — кратчайший путь от χ до ζ, а его отрезок от ζ до у — кратчайший путь от ζ До t/. Опишем шаги алгоритма Дейкстры нахождения длин кратчайших путей из вершины s до всех вершин графа. 0°. Начальная установка меток и массивов (метку вершины будем обозначать т(х):) m(s) := 0, т(х) := оо для всех χ φ s\ S:{s}, T:=X\S. г>Эдсгер ВибеДейкстра (1930 2002) родился в Нидерландах. Программированием начал заниматься в 1950 г., когда учился на отделении теоретической физики Лейденского университета. Лицензию программиста получил в 1957 г. Э. Дейкстра один из основоположников программирования как учебной дисциплины, включающей алгоритмические языки, структурное программирование, алгоритмизацию. С 1984 г. возглавлял отделение программирования в университете штата Техас. 290
§ 7.7. Взвешенные графы 1 . Правило пересчета меток и изменения массивов. Пе- ресчитываются только метки вершин t EX. для которых существуют дуги, ведущие из множества S: m(t) := min (m(£), т(у) + ρ (uyt)), (7.13) yes где Uyt — дуга из вершины у в вершину t. 2°. Из вершин, метки которых пересчитались, выбрать вершину ί, имеющую наименьшую метку S' :=SU{t}, Τ' :=X\S'. 3°. Правило выхода из алгоритма. Если S" = 5, то переход на 4°, иначе 5 := S', Τ := Τ' и переход на1°. 4°. т(х) — длина кратчайшего пути из вершины s в вершину х, если т{х) = оо, то пути из вершины s в вершину χ на графе не существует. Восстановление кратчайшего пути Кратчайший путь от вершины s к вершине t восстанавливается по известным меткам вершин, полученным с помощью алгоритма Дейкстры, пошагово от вершины t до возврата в вершину s. Восстановление основано на экстремальном свойстве кратчайшего пути. Опишем один шаг возвращения. Для вершины t среди вершин у £ f~l{X x {t}) найти такую, для которой выполнено условие m(t) =m(y) + p(uyt). (7.14) Условие (7.14) восстанавливает последнюю дугу кратчайшего пути: у —^ t. После чего выполняется шаг возвращения от вершины у и т. д. 291
Глава 7. Элементы теории графов Π Пример 7.14. Для графа, приведенного на рис. 7.31, найти длины кратчайших путей от вершины х\ ко всем остальным и восстановить кратчайший путь от х\ к x-j (числа около дуг - их веса). Рис. 7.31 ► Решение задачи сведем в табл. 7.1 (окончательные метки обведены квадратом). Проведем восстановление пути из х\ в x-j. Ясно, что т(х7) = т(ж8) + ρ {uXsX7), m(x8) = m(x9) + ρ (uXQXfi), m{x$) = т(х2) + ρ (иХ2х9), m(x2) = m(xi) + ρ {uXlX,2). Табл. 7.1 № шага пересчета меток 0 1 2 3 4 5 Метки вершин XI 1 о | 0 0 0 0 0 х2 оо m 1 1 1 1 яз оо 3 Ш 2 2 2 х4 оо оо 4 |з| 3 3 х§ оо (21 2 2 2 2 д:6 оо 4 Ш 3 3 3 х7 оо оо 7 6 Μ τ ^8 ОО оо 4 |з| 3 3 Хд оо оо ы 2 2 2 Таким образом, кратчайший путь из χχ в x-j имеет дли- ну 4 и трассу х\ —> Х2 —> х§ —> х& —> Х7- < 292
§ 7.7. Взвешенные графы Следует отметить высокую эффективность алгоритма Дейкстры и его широкую применимость в окружающем нас мире. Бортовые компьютеры современных автомобилей позволяют находить трассу кратчайшего пути, и делают это они с помощью алгоритма Дейкстры. Маршрутизаторы, являющиеся важнейшими элементами глобальной компьютерной сети Интернет, определяя маршрут доставки сообщения с одного сервера на другой, используют алгоритм Дейкстры. Таким образом, графы и алгоритмы на графах все более и более (незаметно для нас самих) входят в нашу жизнь и становятся такими же привычными ее элементами, как электричество, радио и телевидение. Замечания и вопросы в конце параграфа |~?~| ГП 1. Если граф не связен, то алгоритм Краскала дает минимальный покрывающий лес. 2. Если граф не взвешен, то, присваивая всем дугам веса, равные 1, мы можем применить алгоритм Краскала для нахождения покрывающего дерева (леса). 3. Доказанная теорема о двоичном ранге (т. е. в арифметике 0 + 0 = 0, 1+0=1, 1 + 1=0) матрицы B(G) конечного неориентированного графа позволяет предложить матричный вариант реализации алгоритма Краскала. 4. Кратчайший путь из вершины χ в вершину у на графе может быть не единственным. 293
Глава 7. Элементы теории графов 5. Приведите пример такого графа и таких вершин χ и у на нем, для которых существует несколько кратчайших путей из χ в у, 6. Предложите модернизацию алгоритма Дейкс- тры, позволяющую находить все кратчайшие пути из одной вершины в другую. 7. Как модернизировать алгоритм Дейкстры, чтобы можно было находить все пути из одной вершины в другую в порядке убывания их длин? § 7.8. Пространства циклов и разрезов. Потоки в сетях В этом параграфе будут изучены два векторных пространства, порожденных графами: пространство вектор- циклов и пространство разрезов графа. Мы вычислим их размерности и построим базисы этих пространств. Рассмотрение будем вести на орграфах. Аналогичные результаты справедливы и для неориентированных графов в арифметике по модулю 2 (т. е. в пространстве Ζ™, aHeZm). Пространство циклов Рассмотрим конечный ориентированный граф G(XJJJ), занумеруем его дуги — U = {u\,U2,... , um}. С каждым циклом η на графе G свяжем вектор η Ε Zm, определив его г-ю координату {η)ι следующим равенством: (ff)i = «количество прохождений цикла η по дуге щ в направлении ее ориентации» - «количество прохождений цикла η по дуге щ в направлении, противоположном ее ориентации». 294
§ 7.8. Пространства циклов и разрезов Π Пример 7.15. Рассмотрим на графе G (рис. 7.32) циклы //ι, 772, 7/з, Щ, заданные табл. 7.2. Их векторы равны соответственно: Й = (2,-2,2,-2,0,1,0,-1,1); η2 = (1,-1,1,-1,0,0,0,0,0,0); »й = (0,0,0,0,0,-1,0,1,-1); »й = (1,-1,1,0,-1,0,-1,-1,1). Табл. 7.2 Vi т т щ 1 щ щ и$ щ 2 ^3 «3 «8 из 3 щ «4 Щ Щ 4 «5 ^2 ^8 5 «6 Wq 6 «8 «5 7 Ug U2 8 «5 9 U2 10 «χ 11 ^3 12 7x4 13 «2 u2 иБ щ Рис. 7.32 Определение 7.32. Векторы, соответствующие циклам графа, называют вектор-циклами, а линейное пространство, представляющее собой линейную оболочку вектор-циклов в Zm, называют пространством вектор- циклов графа. Циклы, векторы которых линейно независимы, называют линейно независимыми циклами. Ясно, что в примере 7.15 циклы τ/ι, 772, ^з не являются линейно независимыми, циклы 771, 772. 774 линейно независимы. 295
Глава 7. Элементы теории графов Размерность пространства вектор-циклов графа G обозначают v{G) и называют цикломатическим числом графа G. Теорема 7.18. Для любого конечного графа без петель имеет место равенство I/(G) =771-77+ρ, (7.15) где т= |Е/|, η = |Х|, ρ = c(G). ► Образуем последовательность графов Go, Gi, G2,..., GTO - G, положив G0 - G(X, 0, /|0), d = (X, Uh /Ы, где U{ = {^1,1x2, ■· ,tx2}. Докажем справедливость (7.15) индукцией по этой последовательности графов. Ясно, что (7.15) справедливо для Go- Действительно, v(Gq) = 0, так как на Go нет циклов, правая часть (7.15) тоже равна 0. Действительно, гао — 77о+ро = 0 — 71+77 = 0. Допустим, что утверждение теоремы справедливо для графа G^, покажем, что тогда оно справедливо и для графа Gi+i- Зафиксируем на графе Gi базисный набор циклов 77ь Т2,..-, ^(СО- Переход от графа Gi к G^+i состоит в добавлении дуги Wi+i. При этом возможны два случая: а) добавленная дуга соединяет вершины χ и t/, лежащие в разных компонентах связности графа Gi] б) добавленная дуга соединяет вершины хит/, лежащие в одной компоненте связности графа G*. В случае а) мы имеем ra^+i = тг; + 1, 7ΐ;+ι = щ = 77, Ρί+ι = Pi — 1- И3 этих равенств следует, что в случае а) при переходе к графу G^+i значение правой части в формуле (7.15) не изменилось и для доказательства справедливости утверждения теоремы для G;+i нам достаточно показать, что набор 771,772,... ^Vu(Gi) остался базисным 296
§ 7.8. Пространства циклов и разрезов и на графе Gi+ь Циклы графа Gi+i разобъем на два типа: «старые» и «новые». «Старые» — это те циклы, которые являются циклами и на графе G;, а «новые» — это те, которые являются циклами на графе Gi+i и не являются циклами на графе G;. Если η — «старый» цикл, то его вектор ή разлагается в линейную комбинацию векторов 7/Ί, ?72? ■·· ? Vv(Gi) (в силу их базисности на Gi). Пусть η — произвольный «новый» цикл. Значит, он проходит через дугу u2+i, и тогда у него есть части, лежащие в компоненте связности графа G2, содержащей вершину х, и части, лежащие в компоненте связности графа G;, содержащей вершину у (см. рис. 7.33). Рис. 7.33 Отправим в обход по циклу η от произвольной его вершины на компоненте вершины χ двух путешественников Я и Ях и поместим в вершине у третьего путешественника Яу. Путешественнику Ях разрешено находиться только в компоненте вершины х, путешественнику Яу — только на компоненте вершины у. В их обязанность входит сопровождение Я в его путешествии по циклу η на соответствующей компоненте. Двигаясь от начальной вершины, Я вместе с Ях обязательно попадет в вершину х. Оставив Ях в вер- 297
Глава 7. Элементы теории графов шине х. путешественник Я, пройдя по дуге Ui+i, попадет в вершину у. В этой вершине он захватит с собой Яу и продолжит свой путь по циклу η на компоненте вершины у. Поскольку обход цикла у был начат в компоненте вершины х, он не может быть завершен в компоненте вершины у. Двигаясь по циклу 77, путешественник обязан вернуться в компоненту вершины х, оставив Яу в вершине у и пройдя по дуге щ+ι в противоположном направлении. Оказавшись в вершине х, Я захватывает с собой Ях (оставленного ранее в этой вершине) и продолжает путешествие по циклу η. Ясно, что Ях пройдет совместно с Я на компоненте вершины χ цикл ηχ, Яу - на компоненте вершины у цикл ην. При этом ή=ήχ + ήν. (7.16) Сомнения в справедливости равенства (7.16) могут быть только в г + 1-й координате, но у векторов ηχ и Vy (Vx)i+i = (%)ΐ+ι — 0, так как они не проходят через дугу иг_|_ь а (η )^+ι = 0. так как после каждого прохода по дуге щ+1 от вершины χ к у цикл η (через какое-то число шагов) проходит по щ+\ от у к х. Циклы ηχ и щ — «старые», значит, их векторы разлагаются по векторам 771, 772,·· ?^/(Сг)* Тогда из равенства (7.16) следует, что и вектор η разлагается по векторам Таким образом, индуктивный переход в случае а) доказан. Рассмотрим теперь случай б). В этом случае мы имеем ГП{+1 = TTli + 1. 71^+1 = Щ = 71, ρ2+χ = Pi- Из ЭТИХ равенств следует, что при переходе от Gi к Gi+i значение правой части в формуле (7.16) увеличилось на единицу. Справедливость утверждения теоремы при индуктивном 298
§ 7.8. Пространства циклов и разрезов переходе будет доказана, если мы покажем, что базис пространства вектор-циклов графа G;+i может быть получен добавлением к векторам 771, %? ··■ ^(Gi) °Дного вектор-цикла. На графе Gi вершины хну лежат в одной компоненте связности, поэтому существует простая цепь ηχν, их соединяющая. Добавленная дуга щ+\ замыкает эту цепь в простой цикл (см. рис. 7.34). уГ 'Пху \ \ χ щ+1 у I ^ ' Рис. 7.34 Зафиксируем на полученном цикле такой обход, при котором по дуге щ+\ цикл проходит в направлении ее ориентации. Обозначим этот цикл 77^(^)4-1- (Заметим, что в этом случае v{Gi+\) = v{Gi) + 1.) Ясно, что набор векторов //ι, 772, ·♦■ ,Vv(Gi)+i линейно независим. Это следует из того, что векторы τ/ι,... ,η^Οί) линейно независимы и {ήΐ)τ+1 = (т)г+1 = -- = <ii/(Gi)>i-hl=°» (U/(G,)+l)*+l = L Для завершения доказательства нам осталось показать, что вектор любого цикла графа Gi+i является линейной комбинацией этих векторов. Возьмем произвольный цикл η на графе Gi+i- Если этот цикл «старый», то он может быть представлен как линейная комбинация векторов 7уь ή2, , *7„(Gt·)» а значит, и векторов г}ъ ...,Ща^, Vv(Gi)+i- Для этого достаточно добавить в линейную комбинацию слагаемое 0 · 77i/(Gf)+i- Рассмотрим теперь случай, когда 77 — «новый» цикл. Это означает, что он проходит (какое-то число раз) через дугу щ+\. 299
Глава 7. Элементы теории графов Перестроим его в цикл т/' следующим образом. После каждого прохождения цикла η по дуге щ+ι по ее ориентации совершаем по т/ дополнительный виток по циклу ^(Gi)+i B направлении, противоположном зафиксированному на нем обходу (считал начальной и конечной вершиной вершину у), а после каждого прохождения цикла η по дуге щ+1 в направлении, противоположном ее ориентации, совершаем один дополнительный виток по циклу 77г,(<^)+1 в направлении зафиксированного на нем обхода (считая начальной и конечной вершиной вершину х). Ясно, что имеет место равенство rf — V ~ «число проходов цикла η по дуге щ+ι по ее ориентации» ♦ f}i/{Gi)-\-i + «число проходов цикла η по дуге щ+\ против ее ориентации» · η^ο^-^ι = = V-(rfii+i-Vv(Gi)+i· (7-17) Перестроим теперь цикл η в цикл η" следующим образом. Заменим каждое прохождение цикла η по дуге щ+\ в направлении ее ориентации проходом по цепи ηχν в направлении от χ к у. а каждое прохождение цикла η по дуге щ+1 в направлении, противоположном ее ориентации, проходом по цепи ηχν в направлении от у к χ. Ясно, что η' = η". (7.18) Сомнение в равенстве (7.18) может вызвать только (г + 1)-я координата, но (rf)i+i = 0 (это следует из равенства (7.17)), a (rff)i+i = 0, так как η" — «старый» цикл. Так как η" — «старый» цикл, то по предположению индукции J' = Σ α^' (7Л9) 300
§ 7.8. Пространства циклов и разрезов Из (7.17) и (7.19) получаем, что "(GO V = rf + (fl)i+ifiv(Gi)+i= Σ ViVi + iv >t+ii(Gf)+i = 2=1 i/(Gi)-hl "(Gi+i) = Σ «i^i = Σ <**$· i=l i=l Индуктивный переход доказан и в этом случае. Μ Перейдем теперь к построению базиса пространства вектор-циклов графа. Для этого преобразуем правую часть (7.15): v{G) = \U\-\X\ + c(G) = \U\ - (1*1 - <G)). Выражение в скобках, как это следует из основной теоремы о деревьях (теорема 7.13), — число дуг покрывающего леса графа (т. е. такого частичного графа, который является лесом). Значит, v{G) равно количеству дуг графа, не вошедших в покрывающий лес. На этом простом наблюдении и основан алгоритм построения базиса пространства вектор-циклов. Опишем шаги алгоритма построения базиса пространства вектор-циклов. 1. Построить (с помощью, например, алгоритма Крас- кала) покрывающий лес графа G — F(G). Определить множество дуг, вошедших в F(G) — Up(G) · 2. Добавляя к лесу F(G) поочередно по одной из дуг и множества U \ Uf(G)-> найти на графе F(G) U {и} единственный простой цикл т/{и} (на основании основной теоремы о деревьях (теорема 7.13) таковой существует). Ясно, что множество векторов {щи}}1 и €lf\ Up(Q) и есть базис пространства вектор-циклов. Их количество равно \U\ UF(G)\ = \U\ - \UF{G)\ = W\ - {\Х\ - c(G)) = 301
Глава 7. Элементы теории графов = ^(G), а матрица, по строкам которой стоят координаты векторов т/{и}, может быть перестановкой столбцов приведена к виду /■■ .±1 О . О ±1 I о о о о ±1/ π (последние столбцы соответствуют дугам множества U \ i7p(G?)). Такая структура матрицы и означает линейную независимость этих векторов. Пример 7.16. На графе (рис. 7.35) темным цветом обозначено покрывающее дерево (его дуги — ui, U2, щ. щ). Добавление к нему дуги и$ определяет цикл ?7ι — {ΐ/χ, 713,^2} (верхний треугольник). Добавление к дереву дуги щ определяет цикл 772 — {^2^4,^5} (правый треугольник). Добавление к дереву дуги щ определяет цикл т/з — {иъ^щ^щ} (нижний треугольник). На циклах обычно выбирают направление обхода, совпадающее с направлением порождающей дуги. Векторы т/ь 772, Щ образуют базис пространства вектор-циклов этого графа. (v{G) = 7 — 5+1 = 3). Рис. 7.35 302
§ 7.8. Пространства циклов и разрезов Пространство разрезов Пусть G(X, 17, /) — связный орграф. Разобьем множество вершин графа на два непустых непересекающихся подмножества X', X". Разрезом графа G, порожденным {Х';ХП), называется множество дуг 17(χ';χ"), каждая из которых начинается в одном из этих множеств, а заканчивается в другом. Иными словами, разрез — это такое множество дуг, что после его удаления связный граф превращается в несвязный граф. В частности, любой мост графа является разрезом. Π Пример 7.17. Пусть Рассмотрим граф G (рис. 7.36). X' = {χι\χ2}\ X" — {χζ\χα}· U{X';X») = {«2,U4,U5}. Рис. 7.36 Определение 7.33 Занумеруем дуги графа U = {ϊχι, 1x2,..., um}, с каждым разрезом {Xf\ Χμ) свяжем вектор (X'; Хп) в пространстве Zm : +1 если ще(Х';Х") ' и направлена из X вХП\ <(-*'; X")>i = { _ι если щ е {Х'\Х") ■ ' и направлена изХ'вХ'\ О, еслищ $ {Х'\Х"). Этот вектор называют вектор-разрезом. 303
Глава 7. Элементы теории графов Ясно, что имеет место равенство (Х';Х") = -(Х"]Х'). Для разреза графа на рис. 7.34 имеем ({χι;χ2};{^ι;^4}) = (0,-1,0,1,-1). Разрезы графов, содержащих более одной компоненты связности, определяются как разрезы компонент связности. Определение 7.34. Пространством разрезов R(G) графа G называется линейная оболочка его вектор-разрезов. Теорема 7.19. Имеет место равенство dimR{G) = \X\-c{G). (7.20) ► Ясно, что в случае графа, состоящего из нескольких компонент связности, размерность пространства R(G) равна сумме размерностей пространств разрезов его компонент. Поэтому для доказательства теоремы достаточно показать, что в случае связного графа имеет место равенство dimR(G) = \X\-l. (7.21) Будем считать, что G — связный граф без петель (петли не могут входить ни в один из разрезов). Занумеруем вершины графа X = {χι\Χ2\**.\χη}· Рассмотрим множество разрезов вида ({χι}\Χ \ {χϊ})* 2 = 1,2,... ,тг. Покажем, что любой вектор пространства R(G) может быть представлен в виде линейной комбинации вектор-разрезов этого множества. Очевидно, имеет место равенство 1ЖЩ = £ ({х};Х\{х}). (7.22) χίΧ' Действительно, если 304
§ 7.8. Пространства циклов и разрезов дуга щ$(Х'\Х") и /(и·) = (*,*),то {*,г}сХ'или {t,z}cX". В этом случае (({ί};*\{ί})>; = ΐ; <({*}; Х\ {*})>, = -1; (({χ}; Χ \ {x}))i = 0, если χφί,χφζ. Если «i G (X', X") и f(Ui) = (<; г) и ί € X', г G X", то «W;*\{*>)>< = {J; ^;£ Если «i e (X'; X"), /Ы = (ί, 2) и ί е Χ", 2 e X', то ((Χ';*")}* = -ί; ^χ\ω»*={~1:ζζχχ7ΐ Для завершения доказательства теоремы осталось вычислить размерность линейной оболочки векторов разрезов вида ({х}:Х \ {χ}), χ Ε Χ. Очевидно, что ({xf};X \{#*}) совпадает с г-й строкой матрицы инцидентности B(G) графа G, тогда dimiifG) = rangB(G). Ясно, что rangB(G) —η — 1 в случае связного графа. (Доказательство этого утверждения для оргафов аналогично доказательству теоремы 7.15 о двоичном ранге матрицы инцидентности.) < Следствием этой теоремы является утверждение о том, что набор векторов вида {\х)\Х \ {#}), построенных на всех вершинах графа за исключением одной (любой), является базисом пространства Д(С?). 305
Глава 7. Элементы теории графов Определение 7.35. Цикломатической матрицей графа называется матрица, строками которой являются линейнонезависимые вектор-циклы графа. Циклома- тическую матрицу графа G будем обозначать C(G). Матрицей разрезов графа называют матрицу R(G), строками которой являются вектор-разрезы графа. Очевидно, B(G) — матрица инцидентности графа G — является подматрицей матрицы R(G). Теорема 7.20 (соотношение ортогональности) Имеет место равенство R(G)-C'(G) = 0. (7.23) ► Для доказательства (7.23) достаточно доказать, что скалярное произведение любого вектор-разреза на любой вектор-цикл из базиса пространства вектор-циклов равно нулю. Поскольку существует базис пространства вектор-циклов, образованный простыми циклами, и базис пространства разрезов, порожденный векторами вида ({х}:Х\{х}), нам достаточно доказать равенство нулю скалярного произведения вектора ({х};Х\{х}) на вектор простого цикла η. Если цикл 77 не проходит через вершину х, то он не имеет общих дуг с разрезом ({х}: X \ {х}) и равенство нулю скалярного произведения векторов разреза и цикла очевидно. Каждое прохождение цикла η через вершину χ определяет две его дуги, общие с разрезом (см. рис. 7.37а, 7.376, 7.37в, 7.37г; стрелкой указано направление обхода цикла η). Покажем, что каждая пара таких дуг дает нулевой вклад в скалярное произведение вектора ({х};Х\{х}) на вектор η. 306
§ 7.8. Пространства циклов и разрезов • В случае рис. 7.37а имеем: <({х};Х\{х}))г = -1; <({*};* \ {*})),-= 1; (V)i = (ti)j = Ι- Рис. 7.37ο Рис. 7.376 Рис. 7.37в Рис. 7.37г • В случае рис. 7.376 имеем: <({*};* \ {*})>, = 1; <({*}; Х\ {*})); = -1; (V)i = {ff)j = -Ι- В случае рис. 7.37в имеем: <({*}; *\{х»)« = 1; {({χ};Χ\{χ})))ι = 1; (фг = -1; (ф; = 1. • В случае рис. 7.37г имеем: <({х};Х\{х})>г = -1; <({х};Х \ {x}))j = -1; (ff)i = i; (Фз = -ι. Ясно, что во всех этих случаях <({х};Х\{х})Ь · (ff)i + <({*}; Х\ {*})>,· ■ <^ = 0. ^ Доказанную теорему обычно называют соотношением ортогональности разрезов и циклов. Потоки в сетях В этой заключительной части параграфа мы дадим небольшое введение в теорию сетей. Основоположниками этой теории считаются американские математики Л. Форд и Д. Фалкерсон, авторы знаменитой книги «Потоки в сетях», вышедшей в 1962 г. (русский перевод: Форд Л., Фалкерсон Д.. Потоки в сетях. — М. : Мир, 1966). 307
Глава 7. Элементы теории графов Определение 7.36. Сетью (сетевым графом) называют конечный связный ориентированный граф G(X, ί/, /), на котором выделены две вершины xq и i/o? называемые источником и стоком соответственно, при этом: 1) deg_xo>0; deg_bxo = 0; 2) deg+ г/о > 0; deg_ у0 = 0; 3) deg+x>0; deg_x>0 для любой вершины xEX\{xq; t/o}* Вершины из множества X \ {хо\Уо} называют промежуточными вершинами сети. Ясно, что граф, изображенный на рис. 7.38, является сетью, или сетевым графом. Рис. 7.38 Допустим, что на множестве дуг сети G(X. ί/, /) задано отображение р: U —» R+ (= (0;оо)). называемое пропускной способностью дуг графа. Определение 7.37 Отображение d : U —> Д+ U {0} называется допустимым потоком (потоком) на G(X, СЛ /, р)> если для него выполнены следующие условия: 1) для любой дуги и Ε U d(u) ζ р(и); 308
§ 7.8. Пространства циклов и разрезов п 2) для любой вершины χ £ X \ {xq; yo} Σ d(u) = Σ du, где U+x = {ueU\ f(u) = (t; x); t € X}\ U-x = {u€U\ f(u) = (χ; w); w € X}, Ясно, что поток, тождественно равный нулю, всегда является допустимым потоком. Пример 7.18. На рис. 7.38 изображен сетевой граф. Арабские цифры около дуг — их пропускные способности, римские цифры около дуг — их номера. Ясно, что отображения d{ : U —» R+ U {0}. заданные следующим: d\(I) = 1; di(II) = 2; d\(III) — 1; d1(iv) = l;d1(V) = 0;di(VI) = i; di(VII) = 2; di{VIII) = 1; di(IX) = 0; di(X) = 0; di(XI) = 1; djpf//) = 2; dx(XIII) = 1; d2(I) = 0,5; d2(/J) - 2,5; d2(III) = 0.5; d2{IV) = 0,5; d2(V) = 0,5; d2(VI) = 1; d2(V77) = 2; Й2(УШ) = 0,5; d2(IX) = 0; d2(X) = 0; d2(XI) = 1; ίΖ2(Χ//) = 2; d2(XIII) = 0,5, являются допустимыми потоками. Определение 7.38 s(d) = ς d(u)= Σ d(u) <7·24) называют величиной допустимого потока d. Как формулируется основная задача о потоках в сетях? Найти допустимый поток в сети, величина которого максимальна. Как, не находя этот поток, найти его величину? (Ее обычно называют пропускной способностью сети.) 309
Глава 7. Элементы теории графов Ответ на второй вопрос дает знаменитая теорема Форда — Фалкерсона о максимальном потоке и минимальном разрезе. Чтобы сформулировать ее, нам потребуется уточнить понятие разреза графа. Определение 7.39. Пусть G(X, t/, /) — сеть с источником xq и стоком t/o- Разрез {Xf\ Хп) называется разрезом сети G(X, U, /), если xq Ε X', z/q Ε Хп\ т. е. разрезами сети G называются только такие разрезы графа, при которых источник и сток находятся в разных множествах. Пропускной способностью разреза {Х'\ ХП) называется величина, равная сумме пропускных способностей дуг разреза, ориентированных по разрезу. При этом справедлива Теорема 7.21 (теорема Форда — Фалкерсона) Максимальный допустимый поток в сети равен пропускной способности ее минимального разреза. Вопросы и задания в конце параграфа |~?~| 1. Докажите самостоятельно теоремы 7.18, 7.19, 7.20 для неориентированных графов (в арифметике по mod 2). 2. Пусть Tq — покрывающее дерево связного графа G По основной теореме о деревьях (теорема 7.13) каждая дуга и дерева Tq является мостом и при ее удалении дерево распадается на две компоненты. Обозначим Х\{и} и Хг{и} множества вершин, получившихся компонент связности. Докажите, что набор вектор-разрезов (Х\{и}\Х2{и}) образует базис пространства R(G). 310
§7.8. Пространства циклов и разрезов 3. Из формулы (7.15) следует, что цикломатическое число графа не зависит от ориентации его дуг. Докажите этот факт без использования формулы (7.15). 4. Ясно, что если G\ ~ С?2, то v(G\) = ^(G^)· Приведите пример, показывающий, что обратное утверждение неверно. 5. Ясно, что если Gi~G2, то dim R{G\)= aim R{G2). Приведите пример, показывающий, что обратное утверждение неверно. 6. Докажите, что граф G не содержит циклов тогда и только тогда, когда v{G) — 0. 7. Найдите пропускную способность сети, изображенной на рис. 7.38, и максимальный допустимый поток на ней.
Глава 8 Практикум по решению упражнений и задач Введение Цель этой главы, которую мы назвали «Практикум», — помочь студентам в решении задач и упражнений. В определении ее содержания мы ориентировались на предыдущие издания книги (Ерусалимский Я. М. Дискретная математика: теория, задачи, приложения. — 11-е изд. — М.: 2010), далее — книга. Следуя традиции аналогичных американских практикумов, мы будем подробно разбирать примеры и упражнения, имеющие нечетные номера, которые обычно решают в аудитории, оставляя четные для самостоятельного разбора. В своих пояснениях мы будем придерживаться разной степени подробности, полагая, что практикум используется не от случая к случаю, а систематически. Прием, используемый первый раз, описывается подробно. Затем он считается уже освоенным и только упоминается. Номера разбираемых примеров мы сохранили такими же, какие были в предыдущих изданиях книги. Номер примера в разделе «Решения» снабжается буквой «Р», т. е. пример 8.231 в разделе «Решения» обозначается Р8.231. Примеры и задачи, взятые из Дополнения 1 к книге (Скороходов В. А. Методические указания по теме «Отображения»), включены в текст со своими номерами, к которым добавлено «ОТ». То есть пример, имевший номер 1.01, обозначается нами ОТ1.01, а в разделе «Решения» - Ρ ΟΤ1.01. 312
§ 8.1. Таблицы истинности формул алгебры Поскольку мы включили в практикум все примеры из книги, а не только разобранные, его можно использовать и как обычный задачник по дискретной математике. В качестве дополнительных задачников по дискретной математике мы рекомендуем «Задачи и упражнения по дискретной математике» (Гаврилов Г. П., Сапожеп- ко А, А. - М.: ФИЗМАТЛИТ, 2009), «Задачи по теории множеств, математической логике, и теории алгоритмов» {Лавров И. Α., Максимова Л. Л. - М.: ФИЗМАТЛИТ, 2004). §8.1. Таблицы истинности формул алгебры высказываний Примеры этого параграфа самые легкие. Для их решения необходимо знать определения логических операций (п. 1.1 книги) и определение формулы алгебры высказываний (п. 1.2). Нужно помнить, что таблица истинности формулы содержит 2п строк, где η — количество логических переменных формулы. Каждая строка соответствует конкретному набору значений истинности переменных. Этот набор мы можем считать n-разрядным двоичным числом, расположение строк в таблице соответствует расположению наборов в лексикографическом порядке (от меньшего двоичного числа к большему). Например, если формула содержит переменные х. у. ζ, то в таблице истинности формулы будет 8 строк и она будет содержать такую «стандартную» часть: 313
Глава 8. Практикум по решению упражнений и задач X 0 0 0 0 1 1 1 1 У 0 0 1 1 0 0 1 1 ζ 0 1 0 1 0 1 0 1 π Пример 8.1. Построить таблицу истинности следующей формулы: х\Щ ~~^ {χ\ V #2) · #з- Решение. Определим порядок действий в формуле (см. п. 1.2 в книге): /(хьх2^з) = *ι^2 -^ (*i Vx2) -Щ. 21 6 3 54 Порядок действий определяет последовательность вспомогательных столбцов в таблице истинности. Таблицу истинности рекомендуем заполнять последовательно столбец за столбцом (так вам не придется «скакать» от одной логической операции к другой). ц 0 0 0 0 1 1 1 1 х2 0 0 1 1 0 0 1 1 2\Ч 0 1 0 1 0 1 0 1 Х2 1 1 0 0 1 1 0 0 X1I2 0 0 0 0 1 1 0 0 Χι V Х2 0 0 хз 1 0 1 0 1 0 1 0 {χι Vi2) -хз 0 0 1 0 1 0 1 0 f{Xl,X2;X3) 0 Составить таблицы формул: 8.1. хУу\ 8.3. χ -+ (уУ х)\ 8.5. (xVy)-*(xVy); 8.7. χ -> (у -* ζ); 8.9. χ ~ (у ~ ζ); истинности для следующих 8.2. χ Λ у: 8.4. χ -> (χ Λ у); 8.6. х^> ((xVy)\/z); 8.8. (χ -» у) -> ζ. 314
§8.1. Таблицы истинности формул алгебры 8.10. (х~ у) ~ ζ; 8.11. (хУ(уУг))ч(ШЛ(5Л1)); 8.12. (χ -> (у Л г)) ч(1Ч(уЛ г)); 8.13. (х ~ (у V ^)) ~ (χ ~ (у V г)); 8.14. (х V у) -> ((у Л г) -> (х V (у - г))); 8.15. ((х ~ у) ~ ((г 4(xV у)) -¥ z)) ~(xV у); 8.16. (χ ~ у) -> (((у ~ 2;) —у (г ~ χ)) —> (χ ~ ζ)). Пусть χι (г = 1,2,3) — символы булевых переменных (т. е. принимающих два значения: 0, 1). Построить таблицы истинности: 8.17. (хг = х2) V (х2 = хз); 8.18. (хг > х2) -> (х2 = ^з); 8.19. (х1^х2)У(х2^^); 8.20. ((χι > х2) Л (х2 = хг)) -> (^ι > *з). Применяя таблицы истинности, доказать тождественную истинность формул: 8.21. х~х; 8.22. χ V χ; 8.23. (χ Λ χ); 8.24. f ~ χ; 8.25. x-»(y-»x); 8.26. χ -> (χ -> у); 8.27. ((χ -* у) Л χ) ->► у. 8.28. ((χ -► у) Л у) -> х; 8.29. ((xVy)Ax) ->у; 8.30. ((х ~ у) Л х) -► у; 8.31. (х-»у) - (у-*х); 8.32. ((х -► у) Л (у -► г)) ^ (χ ^ ζ); 8.33. (х^(у-*г))^((хЛу)^); 8.34. ((x->2)A(y->z))-»((xVy)-»z); 8.35. (χ -у (у -> г)) -> ((х -> у) -у (х -у г)). Применяя таблицы истинности, доказать равносильность формул: 8.36. хУу = уУх\ 8.37. χ V (у V ζ) = (χ V у) V ζ; 8.38. χ Л (у V г) = (χ Λ у) V г; 8.39. χ Л (у Л г) = (х Л у) Л ζ; 315
Глава 8. Практикум по решению упражнений и задач 8.40. 8.41. 8.42. 8.43. 8.44. 8.45. 8.46. 8.47. 8.48. 8.49. 8.50. 8.51. 8.52. χ V (у V ζ) = (χ V у) Л (х V ζ); χ Л (у V ζ) = (χ Л у) V (χ Λ ζ); (χ V у) = χ Λ у Л (х Л у) = χ Λ Vy ) законы де Моргана; χ V χ = χ Ί χ Α χ = χ ί χ V 0 ξ χ; χ Λ 1 ξ χ; χ ~ у = у ~ χ; χ ~ (у ~ ζ) = (χ χ —> у = χ V у; χ ~ ΐ/ ξ (χ —> г/) Л (г/ —> χ) законы идемпотентности; У) £; Решения 8.1. Составить таблицу для формулы χ V у. Ясно, что в таблице будет четыре строки и один дополнительный столбец. X 0 0 1 1 У 0 1 0 1 У 1 0 1 0 χ Vy 1 1 1 0 8.3. Составить таблицу для формулы χ —» (χ V у). Ясно, что в таблице будет четыре строки и один дополнительный столбец. X 0 0 1 1 У 0 1 0 1 χ\ί у 0 1 1 1 χ -> (х V у) 316
§8.1. Таблицы истинности формул алгебры 8.5. Составить таблицу для формулы (xVy) —> (х\/у). Ясно, что в таблице будет четыре строки и четыре дополнительных столбца. X 0 0 1 1 У 0 1 0 1 χ V у 0 1 1 1 X 1 1 0 0 У 1 0 1 0 iV у 1 1 1 0 (xVy)->(iV у) 1 1 1 0 8.7. Составить таблицу для формулы χ —» (у —» ζ). Ясно, что в таблице будет восемь строк и один дополнительный столбец. X 0 0 0 0 1 1 1 1 У 0 0 1 1 0 0 1 1 ζ 0 1 0 1 0 1 0 1 У -► ζ 1 1 0 1 1 1 0 1 χ -> (у -» ζ) 1 1 1 1 1 1 0 1 8.9. Составить таблицу для формулы χ О (у О ζ). Ясно, что в таблице будет восемь строк и один дополнительный столбец. X 0 0 0 0 1 1 1 1 У 0 0 1 1 0 0 1 1 ζ 0 1 0 1 0 1 0 1 У++ ζ 1 0 0 1 1 0 0 1 χ <-ϊ (у ++ ζ) 0 1 1 0 1 0 0 1 317
Глава 8. Практикум по решению упражнений и задач 8.17.Составить таблицу истинности формулы (хг = х2) V (х2 = хз), Χι = 0,1, г = 1,2.3. Особенность этого примера состоит в том, что внутри формулы содержатся высказывания х\ = х2 и х2 = хз· Таблица истинности будет содержать восемь строк и два вспомогательных столбца. XI 0 0 0 0 1 1 1 1 %2 0 0 1 0 0 0 1 1 %3 0 1 0 1 0 1 0 1 хл=Х2 1 1 0 0 0 0 1 1 Х2=ХЗ 1 0 0 1 1 0 0 1 [χι=χ2) V (х2=з;з) 1 1 0 1 1 1 1 1 8.19. Составить таблицу истинности формулы (χι φ х2) V (х2 φ хз), χι = 0, l.i = 1,2,3. Особенность этого примера состоит в том, что внутри формулы содержатся высказывания х\ φ х2 и х2 φ хз- Таблица истинности будет содержать восемь строк и два вспомогательных столбца. хг 0 0 0 0 1 1 1 1 ^2 0 0 1 1 0 0 1 1 %3 0 1 0 1 0 1 0 1 хг φ х2 0 0 1 1 1 1 0 0 ^2 Φ ХЗ 0 1 1 0 0 1 1 0 (χι Φ х2) V (х2 Φ хз) 0 0 318
§8.2. Равносильные преобразования и упрощение §8.2. Равносильные преобразования и упрощение формул Ключом к решению примеров на равносильные преобразования и упрощение формул являются 19 основных равносильностей булевой алгебры высказываний (теорема 1.2), поэтому первым шагом при решении таких формул является переход к булевым операциям с помощью следующих формул: а —> Ь = а V Ь, а ~ Ъ = (а -> Ь) (Ь -> а) = ab V ab = (а V Ь) (а V 5) . Успешное решение примера зависит от умелого, эффективного применения основных равносильностей. Следует иметь в виду, что буквы, использованные при записи основных равносильностей, могут означать как символы высказывательных переменных, так и формулы алгебры высказываний, т. е. основная равносильность аУа = 1 означает, в частности, что χι V Щ = 1, 1 VT=1, (χι —>► Х2) Щ V (χι —> ^2)^3 = 1· Полезными при решении примеров на упрощение формул являются законы полупоглощения: aVab = aVb\ 1') а V ab = а V Ь\ a- (aVb)=ab; 2')a(aV b) =aby ► а У а- ьдис=зак' (а V а) (а V ί?) ξ 1 (а V ί?) ξ α V Ь. диет. зак. _ а(а\/ Ь) = а · а V a b = О V ab = ab. < 319
Глава 8. Практикум по решению упражнений и задач Π Пример 8.2. С помощью равносильных преобразований упрОСТИТЬ формулу Х{Х2 —ϊ (x"l VX2)^3· _ , _ ч _ переход к _ _ Х\Х2 —> (Xl V Х2) ХЗ = XlX2 V [Χχ V Х2) Хз = бул. опер. закон де Моргана _ _ _ _ _ _ закон = Χι V Х2 V XI Хз V Х2 ХЗ = дистр. закон дв. отриц. /" _ _ ^ν_ закон EXjV Х2 V X1X3 V Х2Х3 = ^ -/ поглощения (а) χχ V (х2 V х3) = х\ -> (хг V х3) · б) Хз V (xi V Х2) = ХЗ —^ (х~1 V Х2) · в) Х2 V XI V Хз Ξ^\/ X~lX3- ^ г) Χι V Хз V Х2 = Х1Х3 V Х2 = XlX3 —* х2- ^ д) Χι V Х2 V Хз = XI · Х2 · ХЗ- ГП Замечание 1. Любую запись а) — д) можно считать ответом. Следующий тип примеров — доказательство равносильности двух заданных формул с помощью равносильных преобразований. Существует три основных схемы решения таких примеров. Каждая из них предполагает выполнение перехода к булевым операциям в исходных формулах. Далее по первой схеме предполагается, начиная с левой формулы, провести цепочку равносильных преобразований, завершив ее на правой формуле. Вторая схема — зеркальное отражение первой. Третья схема предполагает проведение параллельных цепочек равносильных преобразований левой и правой формул до тех пор, пока в этих цепочках не обнаружится совпадение каких-то звеньев (одного звена верхней цепочки с одним звеном нижней). 320
§8.2. Равносильные преобразования и упрощение Π Пример 8.3. Доказать, что (х\ —> Хз) (^2 -> ^з)= (#1 V Х2) —^з- Перейдем к булевым операциям (χι V х$) (х~2 V хз) = х~\ЛГх~2 V хз- 1-я схема ,_ w_ N дистр. _ _ закон (Xl V Хз) (^2 V ХЗ) = Х\ Х2 V Хз = х1 V Х2 V Хз. закон. де Моргана 2-я схема закон _ _ дистр. XI V X2VX3 = Xl' X2VX3 = (^1 V Хз) (Х2 V Хз) . де Моргана закон. 3-я схема , ч ,_ ч дистр. _ _ (XlVX2j (X2VX3) = Х1Х2 VX2X2 VX1X3 VX3 = XlX2 VX3. закон. Xl V Х2 V Хз = Xl ' X2VX3. де Моргана ГП Замечание 2. Следует иметь в виду, что среди примеров на доказательство равносильности формул есть примеры с отрицательным ответом. В этом случае ни одна из схем не приводит к получению ответа. Однако неудача при использовании схем 1-3 может говорить и о недостаточно высокой технике равносильных преобразований. В случае неудачных попыток применения схем 1-3 следует для обеих формул построить таблицы истинности. Совпадения столбцов значений формул будут означать их равносильность, а несовпадение — неравносильность. 321
Глава 8. Практикум по решению упражнений и задач Порядок действий и упрощенная запись формул При записи формул приняты соглашения об упрощении записи формул (см. § 1.2, замечание 1). Учитывая соглашения о порядке выполнения операций, опустить «лишние» скобки и знак «Л» в формулах: 8.53. хЛ(уЛ(х VI/)); 8.54. (х А у) V ((у Л ζ) Л ((х Л у) V (χ Α ζ))); 8.55. {(χ V у) V ζ) -> ((χ Ay) V ζ); 8.56. ((χ V у) Λ (χ V (у Л г))) -> ((χ Ay)-^ t)\ 8.57. ((χ V у) V (χ V ((у Λ (χ V г)) Λ (у -> ζ))) ~ ζ); 8.58. ((χ V у) -> (χ Λ у)) V ((χ Λ у) V (χ V у)); 8.59. ((χ V у) Λ ζ) -^ (((χ V у) V ζ) ~ (χ V у)); 8.60. (χ Λ (у V ζ)) Λ ((χ -Λ (у -^ ζ)) ~ (χ Λ у)). Восстановить скобки и знак «Л» в формулах: 8.61. xVy -> z\ 8.62. xV y->jryj_ 8.63. хуУ ху{уУ z)\ 8.64. xVy(xyVz); 8.65. ху V xyz —> χ V yz; 8.66. (χ -» χ V yz) ~ (х V у -> ζ); 8.67. (xVy)z—>(xy ~yVz); 8.68. χ V у -> χ V у (χ -^ ζ) V χ (у ~ ζ); 8.69. хуг —> (χ ~ уг) V χ V у (χ -> (у ~ г)); 8.70. ху ~ χ (у —» ζ) (χ ~ у) V χζ V yz. Применяя равносильные преобразования, доказать следующие соотношения: 8.71. х\/у = х-у\ 8.72. ху = хУу\ 8.73. χ —>► у ξ ху; 8.74. χ —» у = у —¥Т; 8.75. хуУху = х\ 8.76. χ V ху = х; 8.77. χ (х V у) ξ х; 8.78. χ V ху ξ χ V у; 322
§8.2. Равносильные преобразования и упрощение 8.80. (х -> у) -> у = χ V у; 8.82. χ Vy = у-^х; 8.79. х(х Vy) = ху; 8.81. (xVy)(xVy) ξχ; 8.83. χ ^ у = х ^у; 8.84. хуУху V ху ξ χ —> у; 8.85. χ -> (у -> г) ξ (χ V г) (у V ζ); 8.86. χ -» (у -» г) ξ у -► (χ -> г); 8.87. χ V ху \/ χζ V ху V χζ = χ -¥ у V ζ. Применяя равносильные преобразования, доказать тождественную истинность формул: 8.88. χ -> χ V у; 8.89. ху -> х; 8.90. х->(х-^у); 8.91. 8.91а. (xVxy) ~ (xVy); 8.92. 8.93. (χ -> у) -> (у -> х); 8.94. 8.95. (х^у) V(x-> у); 8.96. 8.97. (х^у)х^у; 8.98. 8.99. (х V у) χ -> у; 8.100. «VV» — альтернативная дизъюнкция: (х V Vy) = χ ~ у; 8.101. (х -» у) (у -» г) -у (х -> г); 8.102. (х -> (у -> г)) -> (ху -> г); 8.103. (х -» г) (у -> г) -► (х V у -> ζ)\ 8.104. (χ -> ζ) -> ((у -» г) -> (х V у -> г)). Применяя равносильные преобразования, «упростить»: 8.106. 8.108. {ζ -> χ); (х-*у) -> (х Vy); (х-»у) -> (у -> х); (х ->у) V (у-> х); ж -> (у -> ху); (х -> у) у -у х; (х VVy) χ -> у; 8.105. 8.107. 8.109. 8.110. 8.111. 8.112. 8.113. 8.114. ху V (х —» у) х; (х ->► у) (у -> х); (х -> у) (у ->► ζ) - xz\J x~z\J yz"4 xyz\ xy(x -> y); xy(x~y); (x ->y)(x ~y); (xVy ^ x\/y)y; (xVy)(x~ y); (x->y) V(xVy). 323
Глава 8. Практикум по решению упражнений и задач Следующие формулы преобразовать так, чтобы они содержали только «Л» и «-ι»: 8.115. xVy; 8.116. χ -> у; 8.117. х~у; 8.118. xVyVz; 8.119. χ->► (у->► ζ); 8.120. xV(x~y); 8.121. х-Чу V(x-»y); 8.122. χ V Vy; 8.123. xy->► (у->х); 8.124. xVy->(x->z). Следующие формулы преобразовать так, чтобы они содержали только «V» и «-ι»: 8.125. ху; 8.126. xyz; 8.127. х~у; 8.128. χ V Vy; 8.129. x(y~z); 8.130. χ ~ у - 2; 8.131. (х~у)(у ~ ζ); 8.132. ху ~ χζ. Преобразовать следующие формулы так, чтобы знак отрицания был отнесен только к переменным высказываниям: 8.133. xV у; 8.134. xy\J z\ 8.135. xy\J~z -Л ~xyz\ 8.136. χ -> (у -> г); 8.137. x^y^(x->z); 8.138. (χ ~ у) (у - г). Преобразовать формулы так, чтобы они содержали только операции «Л», «V» и «-<»: 8.139. χ - у; 8.140. (χ -у г/) ~ (г/ -> г); 8.141. (х ~ г/) -у (г/ -» г); 8.142. (х ~ у) -у (г/ ~ г); 8.143. (х ~ у) (у ~ 2г) —> (χ ~ г); 8.144. (х ~ у) V (у ~ г) —> (х ~ у ~ г); 8.145. χ ~ у ~ г ~ ν; 8.146. (χ -ϊ у) ~ (ζ -¥ (χ ~ г)). 324
§8.2. Равносильные преобразования и упрощение Решения Р8.53. Учитывая соглашения о старшинстве операций и ассоциативные свойства отдельных операций, опустить лишние скобки и знак «Л» в формуле хЛ(г/Л (xVJ/)). Ясно, что формулу можно записать следующим образом: ху (хУу). Р8.55. Учитывая соглашения о старшинстве операций и ассоциативные свойства отдельных операций, опустить лишние скобки и знак «Л» в формуле ((х V у) V ζ) —» —> ((τ Л у) V ^). Ясно, что формулу можно записать следующим образом: [х V у V ζ —¥ ху V ζ. Р8.63. Восстановить скобки и знак «Л» в формуле хуУ ху{уУ ζ). Ясно, что формулу можно записать следующим образом: (х Л у) V (х Л (|7 Л (у V ζ))), или χ Л у V (х Л (у Л (у V г))), или (х Лу) V ((х Л у) Л (у V ζ)), или χ Ау V ((х Л |7) Л (у V г)). Р8.67. Восстановить скобки и знак «Л» в формуле (х V y)~z —> (ху ~ у V ~2). Ясно, что формулу можно записать следующим образом: ((х V у) Л ζ) -> ((χ Л у) - {у V г)). Применяя равносильные преобразования, доказать следующие равносильности: Р8.71. χ V у = χ - у. Преобразования будем вести от правой части к левой. С помощью закона де Моргана пропустим верхнее отрицание через конъюнкцию, а затем применим закон двойного отрицания. Получаем следующую цепочку равносильностей: х*у = х\/у = х\/у. 325
Глава 8. Практикум по решению упражнений и задач Р8.73. χ -У у ξ ι · J. Преобразования будем вести от правой части к левой. С помощью закона де Моргана пропустим верхнее отрицание через конъюнкцию, а затем применим закон двойного отрицания. И наконец, применим правило раскрытия импликации (вернее, ее восстановления). Получаем следующую цепочку равносильностей: х-у = х\/у = х\/у = х—^у. Р8.81. (х V у)(х Му)=х. Преобразования будем вести от левой части к правой. Применим дистрибутивный закон (раскроем скобки), затем закон противоречия и идемпотентности, а затем закон поглощения: (х\/у)(х\/у) = xxVxyVxyVyy = xVxyVxy = x\Jxy = χ. Последний переход — применение закона поглощения. Р8.83. χ ~ у = χ ~ у. Преобразования будем вести от правой части к левой. Применим правило раскрытия эквиваленции, коммутативный закон, а затем закон двойного отрицания, коммутативный закон для дизъюнкции, после чего восстановим эквиваленцию (применение правила раскрытия в обратном направлении). х~у = х-у\/х-у = х-у\/х*у = ху\/х-у = х<^у. Р8.87. χ V ху V χζ V ху V χζ = χ —> у У ζ. Будем преобразовывать левую часть к правой. Применим закон поглощения к первому и двум последним слагаемым, затем применим закон двойного отрицания ко второму и третьему слагаемым, затем применим дважды закон полу поглощения и свернем оставшееся в импликацию: x\Jxy WxzWxy\/xz = x\/xy\/xz = xWxyWxz = = x\/y\/z = x\/(y\/z)=x^y\/z. Р8.105. С помощью равносильных преобразований упростить формулу Ту V (х —» у)х. Применим к первому 326
§ 8.3. Двойственность в алгебре высказываний слагаемому закон двойного отрицания, а во втором слагаемом раскроем импликацию и затем скобку (дистрибутивный закон): ху V (х —> у)х = ху V (х V у)х = ху V хх V ху = ху. §8.3. Двойственность в алгебре высказываний Построение (нахождение) двойственной формулы основано на общем и булевом принципах двойственности (теоремы 1.8 и 1.9). В частности, общий принцип утверждает следующее: если формула представляет собой подстановку формул в формулу, то для нахоэюдения двойственной формулы нужно подставить двойственные формулы в двойственную формулу. Булев принцип применим к булевым формулам и утверждает следующее: двойственная к булевой формуле может быть получена из исходной формулы заменами дизъюнкции на конъюнкцию, конъюнкции на дизъюнкцию, «О» на «1», «1» на «О» и сохранением структуры формулы (должен быть аналогичный порядок действий). Рассмотрим пример. Найти двойственную к следующей формуле: F=(xy —> ζ) V (χ ~ yz). Ясно, что формулу можно рассматривать как подстановку формул ху —ϊ ζ и χ f> у ζ в формулу 1/1V г/2 - Найдем с помощью булева принципа двойственную к наружной формуле (в которую подставляем): (уχ V 2/2)* = У\ ' 2/2· Найдем двойственные формулы для внутренних (подставляемых) формул. Для этого перейдем в них к булевым формулам, а затем применим булев принцип двойственности: 327
Глава 8. Практикум по решению упражнений и задач (ху —> ζ)* = (ху У ζ)* = (xyz)* = χ У у У ζ = χ ♦ у · ζ. (χ ~ yz)* = (xyz У χ · yz)* = (χ V у У ζ) ♦ (χ V (у V ζ)) = = (χ V у V ζ) ♦ (χ V у · ~ζ) = = χ ·χ У χ -у -~%У хуУ у -у *~%У χ · zy ζ -у · Ί = = x-y*~z\/x^y\/x-z = x*y-^yx-{y\iz). Соберем теперь с помощью общего принципа двойственную формулу: 'yi=x-y*z = У2=Х'У'2\/Х- {у У Ζ) =-x-y-z-(x*y*~zVx-(y\/ ζ)) = = χ -у - ζ - {у У ζ) =x*y^z. Найти двойственные формулы: F* = (уцй) 8.147 8.148 8.149 8.150 8.151 8.152 8.153 χ (у У ζ); ху У χζ\ (χ У у) (xVp); 8.154. (ху У yz У zv) (хУуУ ζ); χ [у У z(xyy))] jyyzy xyz У xyz Уху ζ; ((χ У у) (xyz) У ху) У ((xyy)z У х); ху (yz У xyz (xz У yz) У ху) (хУуУ ζ). Применить закон двойственности к следующим рав- носильностям: О. J.OO. XX ^=. Χ*ι 8.156. xVOex; 8.157. ху = ух; 8.158. χ У (у У ζ) = (χ У у) У ζ\ 8.159. Ту = ~х У у\ 8.160. х(хУу) = х\ 8.161. хУ~ху = хУу\ 8.162. χ У ху У yz У χζ = χ У ζ. 328
§ 8.4. Нормальные формы: ДНФ, КНФ, СДНФ, СКНФ Решения Р8.147. Найти двойственную к формуле х(у У ζ). Так как мы имеем булеву формулу, то можно воспользоваться булевым принципом двойственности: (x(yVz))* =xVyz. Р8.149. Найти двойственную к формуле (х V у)(х V yz). Так как мы имеем булеву формулу, то можно воспользоваться булевым принципом двойственности: ((х V у)(х V yz))*=xy V χ · (у V ζ). § 8.4. Нормальные формы: ДНФ, КНФ, СДНФ, СКНФ Нормальные формы — это формулы алгебры высказываний, имеющие стандартную конструкцию. Они бывают двух типов — дизъюнктивные и конъюнктивные. Эти конструкции двойственные (двойственная к дизъюнктивной форме является конъюнктивной формой, и наоборот). Поэтому подробно изучают один из типов и технику работы с ним. Обычно это делается с дизъюнктивными формами. Опишем, как возникает совершенная дизъюнктивная нормальная форма (СДНФ). Будем считать, что у нас есть три булевых переменных: x*y,z. Рассмотрим формулу χ · у - ζ. Ясно, что она истинна только на одном наборе значений переменных — (101). Если мы возьмем другой набор переменных, например (100), то формула χ · у *~z истинна только на этом наборе значений переменных (100). Такие конструкции называют полными совершенными элементарными конъюнкциями. 329
Глава 8. Практикум по решению упражнений и задач Возьмем дизъюнкцию двух построенных нами полных совершенных элементарных конъюнкций x-y-zVx-y-^. Ясно, что мы построили формулу, множество истинности которой состоит из двух наборов значений переменных (101) и (100). Таким образом, у нас появились «кирпичи» (полные совершенные элементарные конъюнкции — ПСЭКи) и «связующий материал» — дизъюнкция, с помощью которых мы можем строить формулы, множество истинности которых нам известно. Такие формулы называют совершенными дизъюнктивными нормальными формами (СДНФ). Ясно, что эти конструкции «жесткие» — разные СДНФ имеют разные множества истинности. Если мы исходную формулу преобразовали в равносильную формулу, имеющую вид СДНФ, то, во-первых, мы знаем ее множество истинности (т. е. ее таблицу истинности), во-вторых, представление формулы в виде СДНФ единственно (с точностью до порядка следования слагаемых). Понятно, что, построив СДНФ, мы автоматически имеем таблицу истинности формулы, и наоборот, имея таблицу истинности, мы можем выписать СДНФ формулы. Имея теорию СДНФ, можно сформулировать критерий равносильности формул: «Формулы равносильны тогда и только тогда, когда их СДНФ совпадают или одновременно не существуют». (Последнее сказано потому, что у тождественно ложной формулы СДНФ не существует.) Как строить СДНФ с помощью равносильных преобразований? Алгоритм построения СДНФ подобен действиям пастуха, загоняющего барана в кошару, - нужно от исходной формулы двигаться в сторону конструкции, имеющей вид СДНФ. 330
§ 8.4. Нормальные формы: ДНФ, КНФ, СДНФ, СКНФ Опишем подробно шаги алгоритма построения СДНФ: 1. Перейти к булевой формуле, т. е. раскрыть импликацию и эквиваленцию. 2. Перейти с помощью закона де Моргана к формуле с «тесными отрицаниями», в которой отрицание встречается не выше, чем над переменной. 3. С помощью дистрибутивного закона сделать дизъюнкцию внешней операцией (раскрыть скобки). 4. Привести подобные и опустить тождественно ложные слагаемые. 5. Пополнить элементарные конъюнкции (получившиеся слагаемые) недостающими переменными, повторить п. 4 и остановиться. Рассмотрим пример. В скобках будем указывать номер пункта алгоритма, который будет применяться на следующем шаге преобразований. (х V у) -> ζ · (χ V ζ) = (1) = (xVy) V ζ · (χ V ζ) = (2) = x-yV z-(xVz) = (3)=x-yVx-zV z-z = (4) = x-y\/x-z = (5) = χ · y(z V ζ) V χ · (г/ V |/) · ζ ξ (5) = x-y^z\/x-y-^\/^c*y-z\/x-y*z = (5,4) = x-y*z\/x-y-'z\/x*y-z. СДНФ найдена, выпишем таблицу истинности формулы. X 0 0 0 0 1 1 1 1 У 0 0 1 1 0 0 1 1 Z\(x 0 1 0 1 0 1 0 1 ν») -> ζ ■ (χ V ζ) 1 1 0 1 0 0 0 0 331
Глава 8. Практикум по решению упражнений и задач Опишем, как возникает совершенная конъюнктивная нормальная форма. Будем считать, что у нас есть три булевых переменных: х, у, ζ. Рассмотрим формулу χ V у V ζ. Ясно, что она ложна только на одном наборе значений переменных — (010). Если мы возьмем другой набор переменных, например (011), то формула x\/y\/~z ложна только на этом наборе значений переменных (011). Такие конструкции называют полными совершенными элементарными дизъюнкциями. Возьмем конъюнкцию двух построенных нами полных совершенных элементарных дизъюнкций (х V у V ζ) · (xVy Vz). Ясно, что мы построили формулу, множество ложности которой состоит из двух наборов значений переменных: (010) и (011). Таким образом, у нас появились «кирпичи» (полные совершенные элементарные дизъюнкции — ПСЭДы) и «связующий материал» — конъюнкция, с помощью которых мы можем строить формулы, множество ложности которых нам известно. Такие формулы называют совершенными конъюнктивными нормальными формами (СКНФ). Ясно, что эти конструкции «жесткие» — разные СКНФ имеют разные множества ложности. Если мы с помощью равносильных преобразований преобразовали исходную формулу в СКНФ, то, во-первых, мы знаем ее множество ложности (т. е. ее таблицу истинности), во-вторых, представление формулы в виде СКНФ единственно (с точностью до порядка следования множителей). Понятно, что, построив СКНФ, мы автоматически имеем таблицу истинности формулы, и наоборот, имея таблицу истинности, мы можем выписать СКНФ формулы. Имея теорию СКНФ, можно сформулировать критерий равносильности формул: «Формулы 332
§ 8.4. Нормальные формы: ДНФ, КНФ, СДНФ, СКНФ равносильны тогда и только тогда, когда их СКНФ совпадают или одновременно не существуют». (Последнее сказано потому, что у тождественно истинной формулы СКНФ не существует.) Теперь мы можем выписать алгоритм построения СКНФ: 1. Перейти к булевой формуле, т. е. раскрыть импликацию и эквиваленцию. 2. Перейти с помощью закона де Моргана к формуле с «тесными отрицаниями», в которой отрицание встречается не выше, чем над переменной. 3. С помощью дистрибутивного закона сделать конъюнкцию внешней операцией (создать скобки). 4. Привести подобные и опустить тождественно истинные множители. 5. Пополнить элементарные дизъюнкции (получившиеся множители) недостающими переменными, повторить п. 4 и остановиться. Рассмотрим пример. В скобках будем указывать номер пункта алгоритма, который будет применяться на следующем шаге преобразований. (х V у) -+ ζ ♦ (χ V ζ) = (1) = (xVy) V ζ ♦ (χ V ζ) = (2) = χ -у V ζ · (χ V ζ) = (3) = (χ · у V ζ) · (χ -у V χ V ζ) = (3) = (χ V ζ) · (у V ζ) · (χ V ζ) = (5) = (χ V у V ζ) · (χ V у V г) ♦ (χ V у V ζ) ♦ (ж V у V ζ)· <(x\/yVz)-(x\/y\/z) = (5; 4) = (xVy\f ζ)- {хУуУ ζ)· (xVyV z) «(xVyVl)· (xVyVz). СКНФ найдена, выпишем таблицу истинности формулы. 333
Глава 8. Практикум по решению упражнений и задач χ у Ζ | (χ У у) -» ζ - (χ V ζ) 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Как видим, мы опять получили ту лее самую таблицу, что уже получали, когда строили СДНФ нашей формулы. Применение напрямую этого алгоритма психологически сложнее, чем алгоритма нахождения СДНФ, поскольку создавать скобки труднее, чем их раскрывать. Мы рекомендуем применять следующий обходной маневр — для исходной формулы найти двойственную, затем для двойственной найти ее СДНФ, а затем выписать с помощью булева принципа двойственную к полученной СДНФ формулу. Это и будет СКНФ исходной формулы, поскольку мы дважды применяли процедуру нахождения двойственной формулы, а любая формула равносильна дважды двойственной к себе. Что же такое дизъюнктивная нормальная форма (ДНФ) и что такое конъюнктивная нормальная форма (КНФ)? Конъюнкция переменных и их отрицаний называется элементарной конъюнкцией. Формула, имеющая вид элементарной конъюнкции или дизъюнкции элементарных конъюнкций, называется ДНФ. Ясно, что для любой формулы существует равносильная ей ДНФ. Ее можно получить, применив первые три пункта алгоритма построения СДНФ. 334
§ 8.4. Нормальные формы: ДНФ, КНФ, СДНФ, СКНФ Дизъюнкция переменных и их отрицаний называется элементарной дизъюнкцией. Формула, имеющая вид элементарной дизъюнкции или конъюнкции элементарных дизъюнкций, называется КНФ. Ясно, что для любой формулы существует равносильная ей КНФ. Ее можно получить, применив первые три пункта алгоритма построения СКНФ. Однозначная определенность СДНФ и СКНФ позволяет использовать их для доказательства равносильности формул алгебры высказываний. ДНФ и КНФ определены неоднозначно, поэтому желательно находить наиболее простую их форму. Мы не останавливаемся на нахождении специальных классов таких форм (например, тупиковые формы). Основное предназначение СДНФ, СКНФ — синтез формул, имеющих наперед заданную таблицу истинности, ДНФ и КНФ используются при реализации формул релейно-контактными схемами. Привести к дизъюнктивной нормальной форме (ДНФ): 8.163. 8.164. 8.165. 8.166. 8.167. 8.168. 8.169. 8.170. 8.171. 8.172. χ -> (у -> ζ); Ту V(x->· у); (х V у V ζ) (χ -> у); (xVy)(yVz)->(xVz); х~ у; х VVy; χ ~ у ~ z\ (х -)■ у) ~ (х ->· (у ->· ζ)); (x~y)(y~z)-+(x~z); (χ ~ у) (у ~ ζ) (ζ ~ χ). 335
Глава 8. Практикум по решению упражнений и задач Привести к конъюнктивной нормальной форме (КНФ): 8.173. x\lyz\ 8.174. xyVyzV~z\ 8.175. xV yzVxyl] 8.176. χ -» yz\ 8.177. χ -Λ yzv\ 8.178. χ ~ yz\ 8.179. xy ~ ху; 8.180. χ ~ у ~ ζ\ 8.181. xV^x-2; 8.182. xVV(yVVz). Приведением к нормальной форме выяснить, какие из формул являются тождественно истинными, тождественно ложными, выполнимыми: 8.183. ху-^хУу\ 8.184. хУу-¥ху\ 8.185. ху -» ху; 8.186. (х -> у) χ -> χ V у V ζ; 8.187. xVy-*xVz; 8.188. (χ -> у) -> (у -> χ); 8.189. (χ -> ζ) -> {{у -> ζ) -> ({χ V у) -> г)); 8.190. ху zW xyz V xyz V xyz; 8.191. ху V ху ~ (x V у) (χ V y). Для каждой из следующих формул найти дизъюнктивное и конъюнктивное разложение: 8.192. xVy; 8.193. ху; 8.194. χ -> у; 8.195. χ ~ у; 8.196. xVVy; 8.197. χ -> (у -> χ); 8.198. ху(х -> у); 8.199. χ V у ^ ζ; 8.200. ху -> г. Привести к совершенной ДНФ (СДНФ) форме следующие формулы: 8.201. xV у; 8.202. (х -> у) -> х; 8.203. χ -> (у -> х); 8.204. χ -> (у -> г); 8.205. (х -> у) (у -> г) -> (х -> г); 8.206. (х -^у)(у -> г) (г -> х); 8.207. (xVy)(yV2r)(2:~x); 8.208. (χ -^у)(у -> г) (г -> и). 336
§ 8.4. Нормальные формы: ДНФ; КНФ, СДНФ, СКНФ Привести к совершенной КНФ (СКНФ) форме следующие формулы: 8.209. (х-> у) -> χ Vy; 8.210. хх у; 8.211. ху(х -» у); 8.212. χ -> yz\ 8.213. xyz; 8.214. (χ V у) (у -» г) (г ~ х); 8.215. xVy^(x^ г); 8.216. ((х->у)~(з,->х))г; 8.217. χ V у V 2 -> (х V у) ζ; 8.218. ху -> от. Приведением к совершенным нормальным формам доказать неравносильность следующих формул: 8.219. χ Vy и χ -> у; 8.220. χ -> у и χ ~ у; 8.221. xV у их0у; 8.222. χ -► (у -> г) и (х -» у) -» г; 8.223. ху V 2 и χ -> yz; 8.224. (х -> у) V 2 и (х ~ у) -> г; 8.225. (х —► y)z и χ -> yz; 8.226. (х-*у) ~ ζ и (х ~у) -¥ ζ; 8.227. (χ V у) ~ ζ и (χ ~ у) V 2; 8.228. ху ~ 2 и (χ ~ у) г. Следующие формулы разложить по переменным х,у,2:: 8.229. ху; 8.230. xV у; 8.231. х; 8.232. (xVy)(xVy); 8.233. xyVxyVxy. 337
Глава 8. Практикум по решению упражнений и задач Определение 8.1. Формула F называется логическим следствием формул (посылок) /χ,..., fn, если fi ♦ /2 · ... · Выяснить, является ли первая формула логическим следствием остальных формул: 8.234. у; х->у,х; 8.235.x; х^у.у: 8.236. χ; χ —► у, у: 8.237. у; χ -* у. х; 8.238. у; xVy, x; 8.239. у; xVVy,x; 8.240. χ —> ζ; χ —» у, у —> г; 8.241. χ V у —» ζ; χ —> г, у —> г; 8.242. г —> χ; χ —> у, у —> г; 8.243. χ V у; χ —» у, у —> х, xVy; 8.244. χ; х~у, yVz, z; 8.245. г; χ —>► у, у V ζ, х; 8.246. yVz; χ V ζ, у —» χ * г, х; 8.247. г —> у; χ —» у, х. г; 8.248. г —» χ; χ —» у, ху. г -> у; 8.249. χ V ί; χ-> у, у -ϊζ, χ\/ ζ-ϊ yt; 8.250. χί; χ ^ z,y\J z, z^y\J t, z\J t. Найти все (с точностью до равносильности) логические следствия из посылок: 8.251. х.х->у; 8.252. χ, χ ~ у; 8.253. х. у, xVy; 8.254. х->(у ^ ζ) .y->z; 8.255. х->(у ^ ζ), у—>z; 8.256. х—>у, у—>^; 8.257. xV у, yVz, ζ V χ; 8.258. х, xV у, xVyV г; 8.259. χ -► (у -> (ζ -► £)). χ -» (у -» г); 8.260. χ -> (у -> г), у -> (г -> £). 338
§ 8.4. Нормальные формы: ДНФ, КНФ, СДНФ, СКНФ Найти все (с точностью до равносильности) посылки, логическим следствием которых являются формулы: 8.261. χ · у; 8.262. χ ~ у; 8.263. χ V у; 8.264. χ -> у; 8.265. xVy->x-y; 8.266. х * у · z\ 8.267. (ж V у) · 2; 8.268. (х -> у) · ζ; 8.269. χ -> у · ζ\ 8.270. χ -> (у -> г). Определение 8.2. Умозаключение вида J1*'plJn называется правильным, если формула F является логическим следствием формул f\, /2,..., fn · Докажите правильность умозаключений: 8.271. a->ft 8.272. а 8.273. aVft 8.274. 8.275. α Wft 8.276. 8.277. α V ft 8.278. ь aVft α ft α Wft α ; ft α V ft α—>ft ft a—>ft ft—>c a ft a Wft ft VVc 8.279. a->6 8.280. 8.281. a Wo 8.282. a^b ь ; a a Wft a ft a-»ft ft ^c; a —>c a^ft ft —>c с a a Wft a -» ft ft a^ ft ft —> с с —> a be 339
Глава 8. Практикум по решению упражнений и задач Выяснить, правильны ли следующие умозаключения: 8.283. a->ft 8.284. а^Ъ Ъ : а 8.285. 8.287. а a—>ft a->ft: а ~ ft a—>ft α V ft а -> (ft ^ с) (а —► ft) -» с ; ft —> с а—> ft с ft —»ас с —> aft а V ft Vc: ft 8.286. a->ft ft —>>a; a ~ ft 8.288. a->ft ft ^a a V ft; 8.289. a->(ft->c) 8.290. a —> с 8.291. a-> ft с 8.292. aVft-ί a a • ft ->(6->c) (a -^ ft) -> с с aVc-^b bVc-Уа aVft V с a Решения P8.163. Найти ДНФ формулы χ —> (у —l· ζ). Применим к формуле п. 13 алгоритма нахождения С ДНФ. x^(y^z)=x\/ (yWz) = x\/ у У ζ. В результате мы получили ДНФ, состоящую из трех элементарных конъюнкций (?). Если же полученное записать иначе хУуУ ζ = (xVyVz), то мы получаем СКНФ, состоящую из одной полной совершенной элементарной дизъюнкции. 340
§ 8.4. Нормальные формы: ДНФ; КНФ, СДНФ, СКНФ Р8.165. Найти ДНФ формулы (xVi/\/z)(x—»у). Применим к формуле п. 13 алгоритма нахождения СДНФ. (х V у V z)(x -> у) = (х V у V z)(x V у) ξ = xy\/xzWxy\/y\/yz = xzWy. Заметим, что уже после раскрытия скобок мы получили ДНФ, а потом применили закон поглощения, убрав слагаемые, содержащие переменную у множителем. В результате мы получили более простую ДНФ. Р8.171. Найти ДНФ формулы (х О у)(у <^ ζ) -> (χ <^ ζ). Применим к формуле п. 1-3 алгоритма нахождения СДНФ. (х «-» у) (у «-» ζ) -> (χ <-> ζ) = (χ <->> у)(у f-> ζ) V (χ 4-» ζ) = = (χ О у) V (у 4-» ζ) V (χζ V χ · ζ) = = xy\i~x*y\/yz\Jy-^\/xz\Jx-^ = = (χ V у) · (χ V t/) V χζ V χ * ~ζ = xy V xy V χζ V χ ζ. Ρ8.173. Найти КНФ формулы х V yz. Применим к формуле п. 1-3 алгоритма нахождения СКНФ: χ V yz = (χ V у) · (χ V ζ). Получена КНФ, состоящая из двух элементарных дизъюнкций. Р8.175. Найти КНФ формулы χ V yz\ix -у *~ζ. Перейдем к двойственной формуле, построим для нее ДНФ и найдем для полученной ДНФ двойственную формулу. (х V yz\fx -у · ζ)* = χ · (у V ζ) · (χ V у V ~ζ). χ · (у V ζ) · (χ V у V ~ζ) = (xy V χζ) · (χ V у V ~ζ) = xyz V xyz. [xyz V xyz)* = (χ V у V ζ) ♦ (χ V г/ V ζ). Ясно, что мы получили не просто КНФ, а СКНФ. 341
Глава 8. Практикум по решению упражнений и задач Следующая серия примеров связана с критериями тождественной истинности и тождественной ложности формул. Сформулируем критерий тождественной ложности формулы: «Для того чтобы формула алгебры высказываний была тождественно ложной, необходимо и достаточно, чтобы в равносильной ей ДНФ в каждой элементарной конъюнкции встречалась пара — переменная и ее отрицание». Ясно, что критерий тождественной истинности формулы является двойственным к сформулированному: «Для того чтобы формула алгебры высказываний была тождественно истинной, необходимо и достаточно, чтобы в равносильной ей КНФ в каждой элементарной дизъюнкции встречалась пара — переменном и ее отрицание». Наличие этих двух критериев позволяет для каждой формулы алгебры высказываний выяснить, какой она является — тождественно истинной, тождественно ложной или нетривиально выполнимой формулой. Р8.183. Выяснить, какой является формула — тождественно истинной, тождественно ложной или нетривиально выполнимой ху —> (х V у). Приведем нашу формулу к ДНФ. ху —> (х V у) = х~у У χ У у = χ У у У χ У у. Мы получили ДНФ, критерий «сработал» в отрицательном смысле, значит, формула не является тождественно ложной (конечно, уже видно, что она является тождественно истинной формулой, но мы будем делать вид, что этого не заметили). Приведем нашу формулу к КНФ. Для этого достаточно посмотреть на полученное более внимательно, а именно — поставить наружные скобки: ху —» (х V у) = ~х У у У χ V у = (х V у У χ У у). 342
§ 8.4. Нормальные формы: ДНФ; КНФ, СДНФ, СКНФ Мы получили КНФ, состоящую из одной элементарной дизъюнкции, применяя к ней критерий тождественной истинности, получаем — формула является тождественно истинной. Р8.185. Выяснить, какой является формула — тождественно истинной, тождественно ложной или нетривиально выполнимой — ~ху —» ху. Приведем нашу формулу к ДНФ. ху —» ху = ~ху V ху = χ V у V ху. Мы получили ДНФ, критерий «сработал» в отрицательном смысле, значит, формула не является тождественно ложной. Приведем нашу формулу к КНФ. _ _ закон / _N х V у V ху = {х V у). поглощения Мы получили КНФ. Критерий тождественной истинности «сработал» в отрицательном смысле (посмотрите на элементарную дизъюнкцию), значит, формула не является тождественно истинной. Окончательно получаем — формула является нетривиально выполнимой формулой. Следующие примеры связаны с разложениями по переменным. Их два — дизъюнктивное и конъюнктивное. Второе — двойственное понятие к первому. В основе дизъюнктивного разложения лежит лемма о дизъюнктивном разложении (лемма 1.1) по переменной, смысл которой дает формула / [Χχ , ... , X{ j ... , Хп ) = = Xi · /(Х1,...,1,...,ХП) WXi -/(Χι,... ,0, ...,Ιη). Полное дизъюнктивное разложение (по всем переменным) можно получить, применяя последовательно эту лемму по всем переменным. 343
Глава 8. Практикум по решению упражнений и задач Полное конъюнктивное разложение можно получить по следующей схеме: / = (/*)* = (дизъюнктивное разложение/*)*. Р8.195. Найти полные разложения формулы χ ~ у. Найдем полное дизъюнктивное разложение, воспользовавшись леммой. χ ~ у = χ · (l~|/)Vx*(0^?/) = = х-(у-(1~ 1) V у- (1-0)) Vx- (у-(0~1) Vy · (0-0)) = = ху ♦ (1 ~ 1) V ху · (1 ~ 0) V ху · (0 ~ 1) V χ ♦ у · (0 ~ 0). Найдем теперь полное конъюнктивное разложение. х~у = ((х ~у)*)* = =(жу-(1~1)* Vxy · (l~0)Vzy-(0~l)Va-y-(0~0)*)*= ξ (χ V у V ((1 - 1)*)* )(х V у V ((0 - 1)*)*)& &(х V у V ((1 - 0)*)*)(х V у V ((0 ~ 0)*)*) ξ = (xVy V(l~ l))(xVy V((0~ 1))& &(xVy V((l ~0))(xVy V((0~0)). Заметим, что если в полном дизъюнктивном разложении вычислить значения истинности высказываний, то получим СДНФ формулы χ ъ у = = ху· (1 ~ 1) V ху* (1 -0) Vxy· (0~1) Vx-y · (0-0) = = ху V χ -у. Если сделать это же в полном конъюнктивном разложении, то получим СКНФ формулы χ ъ у = = (xVxy V(lx~xl))(xVy V((0~l))(xVy V ((1 ~0)) &(xVyV((0~0)) = (xVy)(xVy). P8.201. Найти СДНФ формулы χ V у. Формула уже имеет вид ДНФ, нам необходимо довести ее до СДНФ (для этого выполняются шаги 5 и 4 алгоритма). 344
§ 8.4. Нормальные формы: ДНФ; КНФ, СДНФ, СКНФ х\/у = х(у\/у)У(хУх)-у = х^уУх-уУх-у\/х*у = Ξχ-yVx-yVx-y. Р8.205. Найти СДНФ формулы (х->у) (y->z)->(x->z). Ясно, что эта формула является тождественно истинной формулой, поэтому результат уже можно предвидеть, в СДНФ должно содержаться восемь полных совершенных элементарных дизъюнкций. Для построения СДНФ применим алгоритм. (χ 4|/)(ϊ/4ζ)4(ι4ζ)ξ(ϊ\/ у) (у V ζ) V (χ V ζ) = = x-y\/y-^\/x\/z = ^x-y-zVx-y-zVx-y-zVx-y-^Vx-y-^V Vx •y*z\ix*y-^\jx'-y'~z\ix-y-z\jx''y-z4 Vx -y · 2 V χ · у · ζ = χ · у ♦ ζ У χ ♦ у · ζ\ί Vx · у · 2 V χ · у · 2 V χ · у · 2 V χ · у · 2 V χ · у · £ V χ · у · "2. P8.209. Найти СКНФ формулы (χ -у у) -> (х V у). Применим алгоритм построения СКНФ. (х -» у) -» (х V у) ξ χ V у V (х V у) = χ · у V (х V у) = = (х V χ V у) · (у V χ V у) = (х V у). Р8.215. Найти СКНФ формулы (х V у) -> (χ -> ζ). Применим алгоритм построения СКНФ. (х V у) ^ (х —> ζ) ξ χ V у V (х V ζ) = χ · у V (х V ζ) = = (χ V χ V ζ) · (у V χ V г) ξ (χ V ζ) · (χ V у V г) ξ ξ (χ V у V ζ) · (χ V у V ζ) · (χ V у V 4 ξ ξ (χ V у V ^) ♦ (χ V у V ζ). Важным понятием является логическое следствие. Напомним его определение: «Формула F называется логическим следствием посылок /ι,..., /п, если fi...fn->F = 1». 345
Глава 8. Практикум по решению упражнений и задач Для того чтобы научиться решать эти примеры с помощью СДНФ и СКНФ, разберемся, как по СДНФ (СКНФ) формул построить СДНФ (СКНФ) их конъюнкции. Поскольку множество истинности конъюнкции — пересечение множеств истинности сомножителей, то в СДНФ конъюнкции войдут только такие полные совершенные элементарные конъюнкции, которые входят в СДНФ всех сомножителей. Множество ложности конъюнкции — объединение множеств ложности сомножителей, поэтому в СКНФ конъюнкции формул войдут все полные совершенные элементарные дизъюнкции, входящие в СКНФ хотя бы одного из сомножителей. Р8.235. Выяснить, является ли первая формула логическим следствием остальных формул χ, χ —» у, у. Из соображений здравого смысла ясно, что мы должны получить отрицательный ответ. Построим СДНФ каждой из формул (необходимо считать каждую из них, зависящей от всех переменных). χ = хуУху\ х^у = хУ у = ху V χ у V ху V ху = = ху \/ ху У ~ху\ у = ху V ху. Найдем теперь СДНФ конъюнкции посылок: (х^у)-у = хуУх^у. Сравним полученную СДНФ с СДНФ проверяемой на логическое следствие формулы. Мы видим, что в СДНФ конъюнкции посылок имеется полная совершенная элементарная конъюнкция (х · г/), которой нет в СДНФ проверяемой формулы, значит, данная формула не является логическим следствием данных посылок. 346
§ 8.4. Нормальные формы: ДНФ; КНФ, СДНФ, СКНФ Р8.237. Выяснить, является ли первая формула логическим следствием остальных формул χ, χ —> t/. у. Из соображений здравого смысла ясно, что мы должны получить утвердительный ответ. Построим СДНФ каждой из формул (необходимо считать каждую из них зависящей от всех переменных). χ = xy\f~xy\ χ —> у = х W у = ху\/ху\/ хуУху = = ху\/ χ у V ху; у = ху\/ Ту. Найдем теперь СДНФ конъюнкции посылок. (х->у)-у = х-у Сравним полученную СДНФ с СДНФ проверяемой на логическое следствие формулы. Мы видим, что она «содержится» в СДНФ формулы. Значит, формула является логическим следствием этих посылок. Р8.251. Найти все (с точностью до равносильных) логические следствия посылок χ, χ —» у. Ясно, что СДНФ любого логического следствия должна содержать в себе СДНФ конъюнкции посылок. Поэтому СДНФ логических следствий можно получать «расширением» (в том числе тривиальным) СДНФ конъюнкции посылок. Найдем СДНФ посылок и СДНФ их конъюнкции. χ = ху V ху; χ ^ у = хУ у = ~ху\/ ~ху V хуУху = = xy\f~xy\/ ху; χ · (х —» у) = ху V ~ху. Выпишем теперь полные совершенные элементарные конъюнкции, которые не вошли в СДНФ (материал для пополнения): χ · у, χ у. Теперь мы можем выписать СДНФ всех логических следствий: ху V χ · ι/, ху V χ · у V χ · у, xy\f~x^y\i~x-y^xy\Jx-y\ix*y\ix-y. 347
Глава 8. Практикум по решению упражнений и задач Что это за формулы? Ясно, что первая — это у, вторая — χ V у, третья — χ V г/, последняя — тождественная истина (константа 1). Р8.261. Найти все (с точностью до равносильных) посылки, следствием которых является формула ху. Ясно, что СДНФ конъюнкции посылок должна быть вложена в СДНФ логического следствия и поэтому такие СДНФ найти легко. Что касается самих посылок, то «простор для творчества» велик, начиная от их количества и заканчивая способами их конструирования. Продемонстрируем сказанное на этом примере. Сама формула уже имеет вид СДНФ, выпишем возможные СДНФ конъюнкции посылок. Это ху, 0. Если же мы договоримся, что посылок две, то тут возможно большое количество вариантов, например, х. у или ху. χ и т. д. Что касается примеров на проверку правильности умозаключений (8.271-8.292), то они повторяют примеры на логическое следствие, поскольку определение правильности умозаключения (определение 8.2) отсылает нас к понятию логическое следствие. §8.5. Релейно-контактные схемы и схемы из функциональных элементов Задачи синтеза можно решать, используя связь совершенных нормальных форм с таблицами истинности. Перед решением задач этого параграфа просмотрите еще раз пример 1.23 книги. 348
§ 8.5. Релейно-контактные схемы Π Пример 8.19. Построить схему машины экзаменатора, в которой студенту предлагаются вопрос и четыре варианта ответа на него, только один из которых правильный. В случае, когда ответ правильный, должно зажигаться табло «ответ верен». Закодируем номера ответов двухразрядными двоичными числами 00, 01, 10, 11. Студент и машина должны генерировать двухразрядные управляющие сигналы. Функция проводимости схемы задается таблицей Сх с2 Μι М2 f 0000000011111111 0000111100001111 0011001100110011 0101010101010101 1000010000100001 Выпишем СДНФ, реализующую данную функцию проводимости, и упростил! ее. Через Ci,C2 обозначены разряды управляющего сигнала студента, М\,М2 — соответствующие разряды управляющего сигнала машины). f=CiC2M{M2 VCiC2MiM2V \JCiC2M{M2 V CiC2MiM2 = = Ci (C2M2 V C2M2) Mi V Ci (C2M2 V С2АГ2) Mi = = (U2M2 V C2M2) (Ui Mi V CiAfi). Схема имеет вид а б Ci Ci Μχ -.Μι c2 1C2 πΜ2μ Ci -d Cz -c2 c2 -.c2 Mz iM2 M2 -|M2 «Ί h nMiU Ясно, что схема а предпочтительней схемы б. 349
Глава 8. Практикум по решению упражнений и задач Анализ схем [jjl Пример 8.11. Найти функцию проводимости схемы -!*1 *2 ->хз\ 1*2 *1 При решении задач такого типа следует помнить, что последовательное соединение реле соответствует конъюнкции, а параллельное — дизъюнкции. Полезным является умение преобразовать топологию схемы так, чтобы явно были видны последовательные и параллельные участки схемы. Преобразуем топологию схемы (добавленные участки обозначены пунктиром, удаляемые участки помечены «х»): γι ; 1* Ι ί L Г с —\Х\ х2 J 1*3 ι*2 *1 —ι , 1 1 1 *т 1 1 Получаем схему -I*! *2 1*2 Г *ι [ |ι*3 350
§ 8.5. Релейно-контактные схемы Ее функция проводимости задается формулой Χχ VX2 V(xi V ^2)^3 — xl V ^2 V ΧχΧ3 V ^2^3 = ж1 ^#2 VX3· Значит, более простая схема имеет вид -1*2 1*3 ГП Замечание 5. Существуют схемы, в которых преобразование топологии не приводит к нужному результату (или такое преобразование трудно провести). Например, рассмотрим схему X У 1 2 1 -\Х 1У Анализ всевозможных путей прохождения по этой схеме от точки 1 до точки 2 показывает, что эквивалентная схема имеет следующий вид: Η ζ Η -*У У Η Функция проводимости исходной схемы задается формулой xzy V xyz. Проведем теперь преобразование топологии схемы (здесь будут добавляться и удаляться не только проводники, но и реле): 351
Глава 8. Практикум по решению упражнений и задач • л: < ^ 1 \:ι I Г гт] У L. Ζ г * ' 1 _ ι Τ ~*χ \ ~*y Пересечение проводников, не отмеченное жирной точкой, означает их изоляцию друг от друга. Изобразим оставшееся на последней схеме: χ ν-\ ζ v—\ -iy У Η ζ—Ι -*χ Составить схемы, реализующие следующие функции: 8.293. 8.295. 8.297. 8.298. χ -* у; (х^у) 8.294. 8.296. χ (у У ζ)] х~ у\ (х -> у) (у *); X У ζ /ι Л /з 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 1 1 1 0 0 1 8.299. Имеется одна лампа в лестничном пролете двухэтажного дома. Построить схему так, чтобы на каждом этаже своим выключателем можно было гасить и зажигать лампу независимо от положения другого выключателя. 8.300. По установленному сигналу каждый игрок замыкает или размыкает выключатель, находящийся под его 352
§ 8.5. Релейно-контактные схемы управлением. Если оба делают одно и то лее, то выигрывает Л, в противном случае — В. Построить схему так, чтобы в случае выигрыша А зажигалась лампочка. 8.301. Комитет из 5 человек принимает решения большинством голосов. Председатель пользуется правом «вето». Построить схему так, чтобы голосование происходило нажатием кнопок и в случае принятия решения загоралась лампочка. 8.302. Построить схему, управляющую спуском лифта со второго этажа на первый. Условия, определяющие работу лифта, следующие: • дверь лифта на первом этаже закрыта; • дверь лифта на втором этаже закрыта; • пассажир находится в кабине лифта; • кнопка вызова на первом этаже нажата; • кнопка спуска на первый этаж в кабине н алсата. Найти функции проводимости следующих схем, если можно, упростить схемы: 8.303. — χ г— X У —ι ь χ - 8.304. χ χ У У 353
Глава 8. Практикум по решению упражнений и задач 8.305. 8.306. - X — -у- -у — - χ - - У - — ζ - Л — у - — ζ — -ГУ_Г ~Ly — гУ — L χ — г х —у —ι 2 1 ϊ^~*Ί ζ J Its] Its] Χ 1 8.307. г- χ — у — ζ-, ,— χ —, ,— ζ —, ,— у —, 8.308. L χ — у — ζ-Ι Ι— У —Ι Ι— χ ι— Χ 1 У -η V Ι— Ζ U —Ι 8.309. — jt г— Χ У —Ι h # - 354
§ 8.5. Релейно-контактные схемы Решения Примеры 8.2938.297 решаются очень просто, достаточно заданную формулу привести к булевой формуле с тесными отрицаниями и реализовать полученное в виде РКС, имеющей заданную исходной формулой функцию проводимости. Наибольший интерес в этой главе представляют примеры, связанные с синтезом РКС. Р8.229. Имеется одна лампа в лестничном пролете двухэтажного дома. Построить схему так, чтобы на каждом этаже своим выключателем можно было бы включать и выключать лампу независимо от положения другого выключателя. Ясно, что эти выключатели будут создавать два управляющих сигнала. Положим, что если оба выключателя находятся в положении «выключено», т. е. генерируют нулевой сигнал, то лампа в подъезде не светится. Далее вся таблица, описывающая работу схемы, определяется условиями задачи. I II ЛАМПА О О О 0 1 1 1 0 1 1 1 О По единицам таблицы выпишем СДНФ: /·77ν/·//. Ясно, что упростить формулу не удастся. Нарисуем схему, реализующую полученную формулу: ι -.// -./ // 355
Глава 8. Практикум по решению упражнений и задач Р8.301. Комитет, состоящий из 5 человек, принимает решения простым большинством голосов, при этом председатель обладает правом «вето». Построить схему так, чтобы голосование происходило нажатием кнопок и лампочка загоралась в случае положительного решения. Если решение примера начинать с таблицы, то она должна содержать 32 строки и б столбцов. Мы обойдемся без таблицы. Ясно, что реле председателя (П) должно быть подключено последовательно к остальной части схемы. Это позволяет реализовать его право «вето». Далее для положительного решения к голосу председателя должны присоединиться минимум два других члена комитета {А, Б, В, Г), поэтому в остальной части схемы должны быть параллельные участки, содержащие последовательно включенные реле двух рядовых членов комитета. Нарисуем теперь эту схему: π л А А Б Б В Б В Г В Г Г 356
§ 8.6. Алгебра предикатов. Кванторы §8.6. Алгебра предикатов. Кванторы § 8.6.1 Предикаты и кванторы, множества, отображения При решении примеров на доказательство равносильности формул алгебры предикатов следует обращать внимание на следующее: 1. Области определения предикатов, стоящих слева и справа от знака «ξ», должны совпадать. 2. Связанная квантором переменная может обозначаться любой буквой, т. е. УхР (х) = УуР (у) = VtP (t) = .,. 3. Основные равносильности, содержащие кванторы, имеют место в более широком смысле, чем они описаны в теореме 2.4. Например: \fx\fy3zP (х, у, ζ) = \fy\/x3zP (χ. у. ζ); \fx\fy\/zP (x, у, ζ) = \/z\/xVyP (x. у. ζ). Какие из следующих предложений являются предикатами? 8.310. χ делится на 3 (\/х Ε Ν); 8.311. χ делится на 5; 8.312. у = χ2, χ е Я; 8.313. χ2 + χ + 1, хв Я; 8.314. х2 + у2 = 0, х,у е Я; 8.315. х2 + у2 > 0. х,у в Я; 8.316. х2 + у2 = z, x,y,z e Я; 8.317. χ < у, х,у е Я; 8.318. х2 + у2 < -2, х, у е Я; 8.319. Для всякого χ Ε R найдется у Ε R такой, что χ = у + 1. 357
Глава 8. Практикум по решению упражнений и задач 8.320. Какие из предикатов в примерах 8.3108.319 тождественно истинны, тождественно ложны, выполнимы? Выделить свободные переменные следующих предикатов: 8.321. Vx (х - у = χ + (-у); х, у е R); 8.322. {х <у;х,у £ К) -> 3ζ ((χ Λ ζ) Λ (ζ < у) : ζ е R); 8.323. Vy ((у ей, у > 0) -> 3ζ (χ = yz\ χ, ζ Ε R)); 8.324. Vx (ЗуР (χ, y) -> Q(x, у, г)); 8.325. 3ιι\/νΦ (и, ν) -» 3ίΦ(ί,ω); 8.326. Из предикатов примеров 8.310-8.319 образовать с помощью кванторов высказывания, найти их значения истинности. Доказать следующие равносильности: 8.327. ЧхР~(х~у) = ЗхР(х,у); 8.328. 3xP(x,y) = VxP(x,y); 8.329. VxiyP (x.y.z) = VyVxP (χ, у, ζ); 8.330. ЗхЗуР (χ, у, г) ξ ЗуЗхР (χ, у, г); 8.331. Vx (Р(х, у) Л Q(x, у)) ξ VxP (χ, у) Л VxQ (χ, у); 8.332. Зх (Р(х, у) V Q(x, у)) ξ ЗхР (х, у) V 3xQ (x, у); 8.333. Vx (Ρ (χ, ζ) V Q (у, г)) ξ VxP (χ, г) V Q (у, г); 8.334. Зх (Ρ (χ, г) Л Q (у, г)) ξ ЗхР (х, г) Л Q (у, г); 8.335. 3xVy Ρ (χ, у, г) -> \/уЗхР (х, у, г) ξ 1. Ввести необходимые предикаты и с помощью кванторов записать следующие определения, с помощью законов де Моргана получить их отрицания: 8.336. Определение предела числовой последовательности. 8.337. Определение фундаментальной по Коши последовательности. 358
§ 8.6. Алгебра предикатов. Кванторы 8.338. Определение предела функции в точке. 8.339. Определение непрерывности функции в точке. 8.340. Определение непрерывной на интервале функции. 8.341. Определение равномерно непрерывной на интервале функции. 8.342. Почему из равномерной непрерывности на (a, ft) следует непрерывность функции на (a, ft)? 8.343. Доказать, что существуют предикаты Ф,<2 и Ρ такие, что Vx (Ф(х) V Q(x)) ψ УхФ (χ) V VxQ (χ); 3χ (Φ(χ) Λ Q(x)) ψ ЗхФ (χ) Λ 3xQ (χ); \/уЗхР(х) -> Зх\/уР(х) ψ 1. 8.344. Какие из следующих формул тождественно истинны? Vx (Φ (χ) -> Ρ {χ)) -> (УхФ (χ) -> VxP (χ)); Vx (Φ (χ) -> Ρ(χ)) -> (3χΦ(χ) -> 3χΡ(χ)); 3χ (Φ (χ) -► Ρ(χ)) -> (УхФ(х) -> VxP(x)); Эх (Φ (χ) -> Ρ(χ)) -> (3χΦ(χ) -> 3χΡ(χ)); Vx (Φ (χ) -> Ρ(χ)) ~ (3χΦ(χ) -> VxP(x)). Решения Ρ8.311. Является ли предикатом следующее предложение: «х делится на 5»? Ясно, что не является, поскольку не указана область определения переменной. Если «исправить» этот «недостаток», то можно получить следующий предикат: «х делится на 5, χ Ε Ν». Р8.313. Является ли предикатом следующее предложение: «х2 —Зх + 2, χ Ε Д»? Ясно, что не является, поскольку при фиксации значения переменной мы не получаем высказывание. Если «исправить» этот «недостаток», 359
Глава 8. Практикум по решению упражнений и задач то молено получить, например, следующий предикат: «х2 - Зх + 2 > 0, χ £ R». Р8.317. Является ли предикатом следующее предложение: «х < t/; χ, у Ε -R»? Ясно, что это предложение задает двуместный предикат. Р8.321. Выделить свободные переменные предиката: «Vx(x — у = χ + (—у)), х, у € Д». Ясно, что свободной переменной является у. Переменная χ связана квантором всеобщности. Мы не разбираем примеры 8.327-8.335. поскольку они фактически повторяют теорему об основных равно- сильностях, содержащих кванторы (теорема 2.3). Ρ8.343. Доказать, что существуют такие предикаты Ф, Q, Р, что а) Ух(Ф(х) V Q(x)) φ УхФ(х) V VxQ(x); б) Эх(Ф(х) · Q(x)) φ ЗхФ(х) · 3xQ(x); в) Vt/3xP(x,t/) —» ЗхУуР(х.у) φ Ι. Для того чтобы доказать пункты а)иб), рассмотрим следующие предикаты: «Ф(х)=х — четное число, χ Ε AT», «Q(x) — χ — нечетное число, χ Ε TV». Ясно, что эти предикаты не тождественно истинны, а их дизъюнкция — тождественно истинный предикат. Они же не являются тождественно ложными предикатами, а их конъюнкция — тождественно ложный предикат. Рассмотрим теперь предикат Р{х,у) = «х = ι/, χ Ε Я, г/Ε Д». Ясно, что \/уЗхР(х,у) = 1, ЗхУуР(х.у) = 0. 360
§ 8.7. Алгебра множеств § 8.7. Алгебра множеств Основным типом примеров следующего пункта является «Доказать равенство множеств, заданных формулами алгебры множеств». Решение таких примеров следует начинать с построения диаграмм Виенна для левой и правой частей. Если картинки не совпали, то вы уже решили пример и доказали, что равенства множеств нет. В противном случае вам рекомендуется перейти к формулам алгебры предикатов, определяющим эти множества, и вычислить, равносильны ли они, или, оставаясь в формулах алгебры множеств, перейти к булевым формулам алгебры множеств и воспользоваться основными равенствами булевой алгебры множеств. Пример 8.12.Доказать, что A\(BUC) = (А\В)П (А\С). Построим диаграммы Виенна левой и правой частей: левая часть -ч А\(виП Li' U С п правая часть (А\В)Г\(А\С) 361
Глава 8. Практикум по решению упражнений и задач Перейдем к булевым формулам алгебры множеств: А\ (В U С) = А П (В U С) = Α Π (В Π С) = = (Л Π Β) Π (Α Π С) = (А\В) Π (А\С). Особое внимание следует уделить решению примеров, содержащих семейства множеств, так как операции над семействами множеств (§ 2.5) вводятся с помощью кванторов («картинку» в таких примерах не нарисуешь и многоточиями не обойдешься). Fjl Пример 8.13. Доказать, что АГ)( U βλ = U (АПВ{). \iex 7 ieX ► хе ΑΠ ( U Bi ) =(хе А)Л\х€ U Вг = (хеА)л(Зг(хеВ{)) =Зг((хеА)л(хеВ{ )) = = Зг(хе(Апв{))=хе U (Апв{). м г£Х 8.345. Доказать, что множество А всех четных чисел равно множеству В целых чисел, представимых в виде суммы двух нечетных целых чисел. 8.346. Доказать, что множество А = {х | χ Ε Ζ, χ делится на 6} равно множеству В = {х | χ G Z, (х делится на 2), (х делится на 3)}, где Ζ — множество целых чисел. 8.347. Доказать, что Ъ—{х\ ЗтЗп (cZ)x = 3m + Ъп). 8.348. Привести пример таких множеств А В, С, что АеВ, ВеС,но А<£С. 8.349. Привести пример множеств А В таких, что А £ В и АС В. - 362
§ 8.7. Алгебра множеств 8.350. Доказать, что если А\ С А2 С · ♦ ♦ С Ап С А\, то Αι = Α2 = ··· = Αη, 8.351. Доказать, что А С В тогда и только тогда, когда А\В = 0. 8.352. Доказать, что А = В тогда и только тогда, когда Α Δ В = 0. Доказать равенства: 8.353. А\ (В U С) = (А\В) Π (А\С); 8.354. А\(В Π С) = (А\В) U (А\С); 8.355. А\ (А\В) = А П В; 8.356. (А\В) \С = (А\С) \ (В\С); 8.357. Α Δ В = В Δ А; 8.358. (Л Δ Β) Δ С = Л Δ {Β Δ С); 8.359. Α Π (Β Δ С) = {Α Π Β) Δ (Α Π С); 8.360. Л Δ (Л Δ В) = В. 8.361. Выразить операции U, Π, \ через Δ,Π. 8.362. Выразить операции U, П, \ через Δ,ϋ. 8.363. Выразить операции U, Π, \ через Δ, \. 8.364. Доказать, что нельзя выразить \ через U П. 8.365. Доказать, что нельзя выразить U через П и \. 8.366. Пусть А = {1,4,5}, В = {2,4,6}. Найти A U В, АП В, А\В, В\А, А А В. 8.367. Перечислить все подмножества множества {1, 2, 3}; все собственные подмножества. 8.368. Доказать, что 2ЛпВ = 2ЛП2Б, где 2А - множество всех подмножеств множества А. 8.369. Пусть имеется последовательность множеств AiDA2D- · -ЭАПЭ .... Доказать, что \JneN A7l=f]neN ATlk 363
Глава 8. Практикум по решению упражнений и задач для любой неограниченной подпоследовательности натуральных чисел {n^j^j. Пусть nZ есть множество всех целых чисел, делящихся на п. Найти: 8.370. ηΖ Π mZ\ 8.371. \J%L2nZ; 8.372. |Т=1"Я; 8.373. [JP£ppZ, где Р — множество простых чисел. 8.374. U„ejv[l/«;1-Ι/"]· 8.375. n,lgJV ММ 1 + 1/n]. 8.376. Пусть C([a\b]) — множество всех непрерывных функций, определенных на сегменте [а; Ь], C3x([a;b]) = {feC([a;b])\f(x) = 3}. Найти (J С3Л[а;Ь}); f] Сх3([а;Ь]). Доказать: 8.з77.вп(ие/А-) = и*/(зПА·); 8.378. Bf](f]i^Ai) = f]i^(B{JAi). Решения Р8.345. Доказать, что множество четных чисел совпадает со множеством целых чисел, представимых в виде суммы двух нечетных чисел. 1. Пусть у нас есть два нечетных числа т = 2к + 1 и η = 21 + 1, к,1 Ε Ζ. Найдем их сумму: т + η = (2к + 1) + (2/ + 1) = 2(к + I + 1). Мы видим, что в результате получилось четное число. Тем самым мы доказали, что любой элемент множества 364
§ 8.7. Алгебра множеств чисел, представимых суммой двух нечетных чисел, является элементом множества четных чисел. 2. Возьмем теперь произвольное четное число р — 2г, г £ Z, Преобразуем последнее выражение следующим образом: ρ = 2г + 1 + (-1) = (2г + 1) + (-1), г £ Ζ. И первое и второе слагаемые — нечетные числа. Тем самым теперь мы доказали, что любой элемент множества четных чисел является элементом множества чисел, представимых в виде суммы двух нечетных чисел. Учитывал п. 1 и 2, мы доказали равенство этих множеств. Р8.347. Доказать, что множество Ζ = {х| ЗтЗп(т, η £ Ζ)\χ = Зт + 2η}. Ясно, что множество целых чисел, представимых в виде Зт + 2η, τη, η £ Ζ, является подмножеством множества целых чисел. Докажем теперь, что любое целое число можно представить в виде Зга + 2п,т,п £ Ζ. Мы имеем равенство 1 = 3 · 3 + 2 · (—4). Возьмем произвольное целое число к. Покажем, что его можно представить в виде Зш + 2тг, т. η £ Ζ. ]Ь = Ы = Ь(3-3 + 2(-4)) = 3 · (ЗА;) + 2 · (-4k). га = ЗА:, η = —4А:. Таким образом, мы доказали, что множество целых чисел является подмножеством множества чисел, представимых в виде Зш + 2тг, т,п £ Z. Ρ8.349. Привести пример таких множеств А и В, что А£В иАсВ. Этот пример очень прост, несмотря на то что такого, кажется, вообще не бывает. Приведем пример, который все расставляет по своим местам. Пусть А = {1,2},В = {1, 2, 3, {1,2}}. 365
Глава 8. Практикум по решению упражнений и задач Р8.353. Доказать равенство A\(BUC) = (А\В)П(А\С). А\(В U С) = AnBTW = АС) (В ПС) = = (Α Π В) Π {Α Π С) = (А\В) Π (А\С). Р8.359. Доказать равенство А П {ВАС) = (АпВ)А(А Π С). Α Π (ВДС) = Α Π ((В\С) U (С\В)) = = (АП(В\С))и(АП(С\В)) = = {АП{ВГ)С)и(АП(СГ)Щ = = ((Α Π В) Π (Л U С)) U ((Л Π С) Π (Л U В)) = = ((А ПВ)(АП С)) U ((А П С)(А П В)) = = (АПВ)А(АпС). Р8.365. Возьмем произвольное множество А, А ф 0, Αφϊ. Пусть В = А. Тогда Al) В = I. Покажем теперь, что любая формула, построенная с помощью операций П, \, не может на этих множествах дать универсальное множество. Рассуждения будем вести по индукции, взяв в качестве параметра индукции ранг формулы (количество операций). Пусть F — формула ранга 1. Тогда F (А,В) = АПВ = 0,F (A,A) = A,F{B,В) = В или F(А, В) = A\B = A,F (A, A) = 0,F (В, В) = 0, F(B7A) = B. Докажем, что это (то, что мы получили для формул ранга 1), верно для формулы любого ранга. Допустим, что это верно для любой формулы F такой, что rang(F) < п0. Докажем, что тогда это верно и для формулы JP, rang(F) = п0 + 1. Выделим в нашей формуле последнюю операцию, тогда формула примет вид 366
§ 8.7. Алгебра множеств а) F = Fi Π F2,rang(Fi) < n0,rang(f2) < n0 или б) F=F\\F2,xa.ug(F\) < n0,rang(F2) < n0. В случае а) в силу нашего предположения возможны следующие варианты: F(A, В) =Fi(A, В) П F2(A, В) = АГ)В; F(A,В) =Fi(A,В) П F2(A,В) = АПВ: F(A, B) = F1(A,B)nF2(A,B) = An0 = 0; F(A,В) =F!(A,В) ПF2(A,В) = АП(АПВ) =АП В; F(A,B)=Fi(A,B)nF2(A,B)= ВПА=АПВ; F(A,B) = F1(A,B)DF2(A,B) = Br\B = B; F(A, В) =Fi(A, В) П F2(A, В) = Β η 0=0; F(A,B)=Fi(A,B)nF2(A,B)= 0 П Л=0; F(A, В) =F!(A, В) Г) F2(A, В) = 0ПВ=0; F(A,B) =Fi(A,В) П F2(A,В) = 0П0-0; F(A,B) =Fi(A, B)f\F2(A, В) = (АПВ)П(АПВ) =АПВ. В случае б) в силу нашего предположения возможны следующие варианты: F(A,B)=Fi(A,B)\F2(AtB)= A\A=0; F(A,B)=Fi(A,B)\F2(A,B)= A\B=A; F{A, В) =Fi(A, B)\F2(A, В) = (А\В)\(А\В) = 0. Индуктивный переход доказан. Вместе с этим мы доказали, что для любой формулы алгебры множеств, построенной на операциях пересечения и разности множеств, невозможно равенство F(A, В) — I. Это и завершает решение примера. 367
Глава 8. Практикум по решению упражнений и задач §8.8. Отображения В начале этого раздела мы приводим основные понятия, определения и теоремы раздела «Отображения» курса «Дискретная математика». Отображения. Образ и прообраз при отображении Под отображением пониманием тройку (X, У, /), где Χ. Υ — некоторые множества, а / — правило, ставящее в соответствие каждому элементу χ £ X вполне определенный элемент / (χ) Ε У. Если задано отображение / из X в У то будем писать / : X —> Υ. Множество X будем называть областью определения отображения /. [jjl Пример 1. Рассмотрим несколько выражений: f(x) = x2. f:X->Y, f{x)=x2, X = R, F = (0;+oo). f-.X->Y, f(x) = x2, X = R, Y = [0; +oc). / : R —> R, f (x) — sinx. f-.χ^γ, x=y=r, /<*) = {*;}; *Ш: Первое выражение не является отображением, поскольку задано только правило и не заданы множества. Второе выражение также не является отображением, поскольку существует такой элемент χ = 0 (Ε X), для которого f (х) = 0 не принадлежит множеству Υ. Третье и четвертое выражения являются отображениями. Пятое выражение также не является отображением, поскольку существует такой элемент χ = 0 (Ε X), которому ставится в соответствие два различных элемента множества Υ. 368
§ 8.8. Отображения Два отображения /ι : Χι —ϊ Y\ и /г : Χ2 —> ^2 считают равными, если Х\ = Х2, Y\ = Υ2 и для любого χ имеет место равенство f\{x) = f2{x). Определение 8.3. Пусть f : X —ϊ Υ и Χχ С X. Сужением отображения f на множество Х\ называется отображение f\x : X —>· Υ, определяемое правилом /\Х1(х) = /(х)Ъех1. Отображение f : Χ —^ У называется продолжением на X отображения g : Χι —> У, Χι С Х7 если /|^ = #. Π Пример 2.Рассмотрим два отображения: fi:X—^Y nf2 : Χ^Υ (Χ = Υ = R, Хг = [0;+сх))), определяемые правилами /ι (χ) = |х|, /2 (#) = #. Отображение f2 является сужением отображения Д на множество [0;+оо), а /ι является продолжением /2 на множество R. Заметим, что продолжением отображения /2 на множество R также является, например, отображение /3 : R —l· R, определяемое правилом ίχ, χ Ε [0;+οο); /з (х) = < ' V \l-x, xG(-oo;0). Пусть задано отображение / : X —» У и два множества ВсУиЛс!. Определение 8.4. Прообразом множества В при отобраэюении f называется множество f~l (В) = {х € X\f(x) € В} . Определение 8.5. Образом множества А при отображении f называется множество f (A) = {veYlf-1 (М)пл^0}. 369
Глава 8. Практикум по решению упражнений и задач Π Пример 3. Рассмотрим отображение / : Д —> Я, где / (х) = х2. Для данного отображения найдем: а)Л(-1;1));б)/([0;2]);в)ГН[1-А}). ► а) По определению, образ некоторого множества А при отображении / — это множество всех таких элементов, прообраз которых при отображении / не пуст, т. е. для каждого такого элемента у существуют хотя бы один элемент χ Ε А такой, что χ £ f~l ({у}) или, что то же самое, / (х) = у. Таким образом, образ множества А при отображении / — это множество всех таких элементов, в которые переводятся элементы множества А при отображении /. Поскольку речь идет о числовой функции, то для нее построим график (рис. 8.1). На оси Ох построим множество А (в данном случае — интервал (—1;1)), далее рассмотрим проекцию множества А на график данной функции. Проекция полученной части графика на ось Оу и будет искомым множеством. Таким образом. /((-1;1)) = [0;4]; б) аналогично пункту а) /([0;2]) = [0;4]; в) по определению, прообраз некоторого множества В при отображении / — это множество всех таких элементов, которые переводятся отображением / в элементы множества В. Поскольку речь идет о числовой функции, то для нее построим график (рис. 8.2). На оси Оу построим множество В (в данном случае — полуинтервал [1;4)), далее рассмотрим проекцию множества В на график данной функции. Проекция полученной части графика на ось Ох и будет искомым множеством. Таким образом, /^([l; 4)) = (-2;l]u[l;2). M 370
§ 8.8. Отображения Пусть / : X -> У; Ль А2 С Х]Ви В2 С У; тогда имеют место соотношения: f(A1UA2) = f(A1)Uf(A2); Г1 (£?г U В2) = /_1(5i) U ГХ(В2); f(A1nA2)Cf(A1)nf(A2); Г1 (вги в2) = r\Bi)n г\в2). t2/ 1 О X |Q X Рис. 8.1 Рис. 8.2 Ниже приведен пример такого отображения и таких множеств Αι и А2, для которых не выполняется / (Αι) Π f(A2)cf(Aif)A2). Π Пример 4. Рассмотрим отображение f : R —* R, определяемое правилом: f(x) = χ2, и множества Λι=[-2;0],Λ2=[0;1]. /(Aj) = [0;4], f(A2) = [0;1], А1Г)А2 = {0}, f (Αι П Α2) = {0} , / (Αι) П / (Л2) = [0; 1]. Ясно, что [0; 1] Э {0}. Ijjl Пример 5. Рассмотрим отображение / R -)· Я, /(*) = < определяемое правилом: χ, χ Ε (1;+οο); х2, хе [-1;1]; 2 + χ, χ Ε (—оо; —1). Найдем: а) /([2;3]); б) /((-2;3]); в) Г1([-1;2}). 371
Глава 8. Практикум по решению упражнений и задач ► а) На множестве [2;3] отображение / определяется только верхней строкой своего определения и в этом случае действует по правилу f(x) = χ, тогда /([2; 3]) = [2; 3]. б) На множестве (—2; 3] отображение / определяется всеми своими строками. Разобьем данное множество на три подмножества (—2; —1), [—1:1] и (1;3], а образ всего множества будем отыскивать в виде объединения образов данных множеств (по теореме о свойствах образов и прообразов), т. е. /((-2;3]) = /((-2; -1)) U / ([-1; 1]) U / ((1;3]). • На интервале (—2; —1) отображение / определяется только нижней строкой своего определения, значит. /((-2; -1)) = (0;1). • На отрезке [—1:1] отображение / определяется только средней строкой своего определения, следовательно. /([-1;1]) = [0;1]. • На полуинтервале (1;3] отображение / определяется только верхней строкой своего определения, значит /((1;3]) = (1;3]. Таким образом, /((-2;3]) = /((-2; -1)) U/([-l;l]) U/((l;3]) = = (0;1)U[0;1]U[1;3] = [0;3]. в) Найдем образ области определения при отображении /. По теореме о свойствах образов и прообразов имеем / (R) = / ((1; +00) U [-1; 1] U (-оо; -1)) = = /((l;+oc))U/([-l;l])U/((-oc;-l)). Множество (1;+оо) соответствует верхней строке определения отображения /. На этом множестве это отображение совпадает с тождественным, поэтому /((1;+оо)) = (1;+оо); 372
§8.8. Отображения на множестве [—1; 1] отображение / задано формулой у = х2, поэтому /([-1;1]) = [0;1]; на множестве (—оо; —1) отображение / задано формулой у = 2 + х, поэтому /((—оо; —1)) = (—оо; +1). Получаем ? что образ области определения функции равен (—оо;-Ьоо). Пересечение отрезка [—1; 2] и каждого из полученных образов не пусто. Значит, прообраз исходного множества будем разыскивать следующим образом: для каждого из трех перечисленных случаев будем искать прообраз пересечения данного отрезка [—1; 2] и образа соответствующей части области определения. Затем прообраз исходного множества будем отыскивать как объединение полученных прообразов (по теореме о свойствах образов и прообразов), т. е. /-1([-i;2]) = r1([-i;2]n/((i;+oo)))u U Г1 ([-1; 2] П / ([-1; 1])) U/'Hl-l; 2]П/ ((-оо; 1))). [-1; 2] П / ((1; +оо)) = [-1; 2] П (1; +оо) = (1; 2]. /_1([—1;2]) = (1;2], поскольку в данном случае (χ Ε (1:+оо)), отображение / действует по правилу / (х) = х: [-1; 2] П / ([-1; 1]) = [-1; 2] П [0; 1] = [0; 1]. Г1 ([0; 1]) = [—1; 1], поскольку в данном случае (х £ [—1; 1]), отображение / действует по правилу / (х) = х2\ [-1;2] П/((-оо;1)) = [-1; 2] П (-оо; 1) = [-1;1). / г ([ —1;1)) = [—3;—1), так как в данном случае (χ Ε (—оо; — 1)) отображение / действует по правилу / (х) = 2 + х. Таким образом, Г1 ([-1; 2]) = (1; 2] U [-1; 1] U [-3; -1) = [-3; 2]. Μ 373
Глава 8. Практикум по решению упражнений и задач Композиция отображений Определение 8.16. Пусть f : X —> У, д :Т —» Z. Композицией отображений fug называется отображение д о f : X —> Ζ, определяемое правилом (gof)(x) = g(f(x)). Другими словами, композиция отображений g о / — это последовательное действие отображений fug. ш Пример 6. Для ото бражений / : R —> йи g : R —> R, определяемых правилами: /(*) = < 9(х) = \ [2-х, χ2, [χ, r\xl \/х, Л + 2х, х>2; хе{-2;2); х>-2 χ < -1; χ > 1; х€[-1;1], найдем композицию go f, ► Поскольку отыскиваем композицию до/, т. е. последовательное действие отображений fug, необходимо сначала найти образ области определения отображения /. Область определения отображения / состоит из частей [2;+оо); (-2; 2); (-оо;-2]. Композицию fog будем отыскивать отдельно для каждой части области определения отображения /. Пусть χ Ε [2; +оо) (т. е. верхней строке определения отображения /). В этом случае / действует по правилу/ (х) = 2 — χ и множество [2; +оо) под действием отображения / переводится во множество (—ос; 0]. На полученном множестве отображение g определяется как верхней, так и нижней строками, поэтому мы еще не «готовы» к нахождению композиции. 374
§ 8.8. Отображения Исходное множество разобьем на два подмножества: [2;3] и (3;-Ьоо). Тогда /([2;3]) = [—1;0] целиком попадает в нижнюю строку определения отображения д (т. е. на этом множестве отображение д определяется только нижней строкой своего определения), а /((3;-Ьоо)) = (оо; — 1) целиком попадает в верхнюю строку определения отображения д. Следовательно, получаем , ( *\t \ ft л /5-2*, х€[2;3]; у\2 - х|, χ £ (3;+оо). Пусть χ £ (—2; 2) (т. е. средней строке определения отображения /). В этом случае / действует по правилу f (х) = х2, поэтому /((—2; 2)) = [0;4). На этом множестве отображение д определяется средней и нижней строками. Исходное множество разобьем на три подмноже- ства (-2; -1), [-1; 1] и (1; 2). Тогда /((-2; -1)) = (1; 4) целиком попадает в среднюю строку определения отображения д. Следовательно, получаем ( /w ϊ // ^ /^' *€[-1;1]; (о о Л (х) = f (χ) = t Vy J,K ' JK' \l + 2x2, x€(-2;-l)U(l;2). Пусть χ £ (—оо; —2] (т. е. нижней строке определения отображения /). В этом случае /действует по правилу / (х) = х, поэтому / ((—оо; —2]) = (—оо; —2]. Это множество целиком попадает в верхнюю строку определения отображения д. Следовательно, получаем (gof)(x) = = |х| = —χ, χ £ (—оо; —2]. Окончательно (9 ° /) (*) = < получаем г5-2х, |2-х|, д/х2, 1 + 2х2, k |х| = —х, xG[2;3]; χ £ (3;+оо); хе[-1;1]; xE(-2;-l)U(l;2); х£ (-оо;-2]. 375
Глава 8. Практикум по решению упражнений и задач Заметим, что поскольку ух2 = \х\. можно объединить строки третью и пятую в одну. Таким образом, имеем '5-2х, хе [2;3]; _ J |2-ж|, xG (3;+оо); \ + 2х\ хе (-2;-1) \х\, хе (-oo;-2]U[-l;l]. {g°f){x)-^l + 2x^ x€(-2;-l)U(l;2); Типы отображений. Обратимость и односторонняя обратимость Выделяют три основных типа отображений: инъек- тивные, сюръективные и биективные. Определение 8.17. Отображение /: Χ -^Υ называется сюръективпым, если для, каждого yeY /~1({у})ф0- Определение 8.18· Отображение f:X-+Y называется инзекгпивным, если для любых х\,Х2(е X)f таких что #1 Φ χ2ι выполняется f(x\) φ f{%2)· Определение 8.19. Отображение fiX—tY называется биективным, если оно и ипъективпо, и сюрьективно. Π Пример 7. Рассмотрим несколько отображений: /:Х->У, X = Y = R, f(x) = \x\; f:X^Y, X = R, F = [0;+oo), f(x) = \x\; f:X->Y, X = (~oo:0], Υ = R, f (x) = \x\; f:X->Y, X = [0;+oo), Y=[0;+oo), f (χ) = \x\; f-.x->Y, x = y = r, /(x)^}^ ж€(-оо;°); I 2x, x£ [0;+oc). 376
§ 8.8. Отображения Первое отображение не является инъективным, поскольку существует такая пара значений х\(Ф 0) и Х2 = —х\, что f(x\) = /(^2) (так, например, /(1) = /(—1) = 1), и не является сюръективным, поскольку для любого отрицательного значения из множества Υ его прообраз пуст. Второе отображение является сюръективным, но не является инъективным. Третье отображение является инъективным, но не является сюръективным. Четвертое и пятое отображения являются биективными, поскольку они и инъективны, и сюръективны. Напомним теорему 2.10. Если f:X^Ymq:Y^Z — инъективные отображения, то их композиция д о / : X -> Ζ — инъективное отображение. Π Пример 8. Покажем, что обратное утверждение неверно. Рассмотрим отображения / : X —» Υ и д : Υ —» Ζ, где X = [0; +оо) и Υ = Ζ = R, определяемые правилами / (χ) —2х. д(у) = \у\. Заметим, что отображение / — биективное, а следовательно, и инъективное. Отображение д не является ни сюръективным, ни инъективным отображением. Однако композиция этих отображений является инъективным отображением. Действительно, если рассмотреть образ множества X при отображении / (/ (X) = [0; +оо)), то можно видеть, что на этом множестве отображение 9\//χ\ (τ. е. сужение отображения д на множество f(X)) является инъективным. Следовательно, по предыдущей теореме, композиция g\f(X)°f — инъективна, атак как отображение 9\fix)°f · 377
Глава 8. Практикум по решению упражнений и задач Π Χ —ϊ Ζ равно отображению д о / : X —> Ζ (поскольку равны множества и одинаковы правила, по которым они действуют). Следовательно, отображение д о f : Χ —ϊ Ζ также инъективно. Напомним теорему 2.11. Если f:X^Ynq:Y^Z — сюръективные отображения, то их композиция д о / : X —> Ζ — сюръективное отображение. Пример 9. Покажем, что обратное утверждение неверно. Рассмотрим отображения / : X —» Υ ид-.Y ^> Ζ, где X = Υ = R и Ζ = [-1; 1], определяемые правилами f (x) = \x\,g(y) = sin у. Заметим, что отображение д — сюръективно. Отображение / не является ни инъективным, ни сюръективным отображением. Однако композиция этих отображений является сюръективным отображением. Действительно, пересечение прообраза каждого элемента ζ £ Ζ и образа множества X при отображении / не пусто, т. е. существует такой элемент уЕ g~\{z})nf(X). Поскольку y£f(X), то существует такой элемент хЕХ, что / (х) = у. Собирая, получим, что для любого элемента z£Z существует такой элемент х£Х, что (gof) (x)=z, то есть (д о /)~ {{ζ}) ф&, а это означает сюръективность отображения gof. Определение 8.20. Пусть X — некоторое множество. Тождественным на X отображением называется отображение ех : X —»X, определяемое следующим: еХ (х) = хч Vx € X. Ясно, что для любого отображения / : X —» Υ имеет место / = еу оех. 378
§8.8. Отображения Определение 8.21. Отображение f:X^Y называется обратимым слева (справа), если существует отображение f~l : Υ —» Χ (Ζ"1 ' Υ —ϊ Χ) такое, что Hlof = ex (fof-l=ey). Определение 8.22. Отображение f:X—*Y называется обратимым, если существует отображение f~:Υ—ϊΧ такое, что Г1 о/ = ех; /о/"1 =еу. Отобраэюение f~l : Υ ^ Χ будем называть левым обратным к f, f~l : Υ —> Χ — правым обратным к f, α /_1 : Υ —» Χ — обратным к f. Напомним следующие теоремы. Теорема 2.13. Для того чтобы отображение fiX—^Y было обратимым слева, необходимо и достаточно, чтобы f было инъективным. Теорема 2.14. Для того чтобы отображение f: Χ—ϊΥ было обратимым справа, необходимо и достаточно, чтобы f было сюрзективным. Теорема 2.15. Для того чтобы отобраэюение f:X—>Y было обратимым, необходимо и достаточно, чтобы f было биективным. jjl Пример 10. Найдем обратные отображения (с соответствующей стороны) либо покажем, что соответствующих обратных не существует для следующих отображений: а) /:/?—>/?, действует по правилу /(х) = |х|; б) f:R—l· [0; +оо), действует по правилу / (х) = \х\; в) /· [—f; §] —> Л, действует по правилу / (x)=sin(x); 379
Глава 8. Практикум по решению упражнений и задач г) /:Д —> (0; +00), действует по правилу /(х) = ех\ д) /: Д —> Д, действует по правилу: (2х, χ е (1;+оо); < х2-Ы, хе [0;1]; [х + 1, χ е (-оо;0). По критериям обратимости отображений (теоремы 2.132.15), существование обратного отображения с соответствующей стороны следует из того, какого типа исходное отображение (сюръективное, инъективное или биективное). Поэтому вначале будем определять тип исходного отображения, а затем уже искать соответствующее обратное отображение, а)/ : R —> Я, действует по правилу / (х) = \х\. 1. Отображение не является инъективным (а значит, и биективным), поскольку существуют такие различные χχ ИХ2, образы которых совпадают (так, например, /(1) = /(—1) = 1). Следовательно, это отображение не является обратимым слева (а значит, и обратимым), а значит, левого обратного к / не существует (и обратного к / не существует). 2. Отображение не является сюръективным (а значит, и биективным), так как для любого отрицательного значения его прообраз пуст. Следовательно, это отображение не является обратимым справа, т. е. правого обратного к / не существует (и обратного к / не существует). б) / : R —l· [0; +оо), действует по правилу / (х) =■ \х\. 1. Данное отображение не является инъективным (а значит, и биективным), поскольку существует такая пара значений х\ и Х2, образы которых совпадают (так, 380
§8.8. Отображения например, / (2) = / (—2) = 2). Следовательно, это отображение не является обратимым слева, а значит, левого обратного к / не существует (и обратного к / не существует). 2. Данное отображение является сюръективным. Следовательно, это отображение является обратимым справа, т. е. существует правое обратное к /. В качестве правого обратного, пользуясь правилом построения правого обратного (см. доказательство теоремы 2.14 из настоящей книги), берем отображение д : [0; +оо) —> Я, определяемое правилом д (у) = у. Тогда (fog) (у) = \у\ = у = е[0;+оо)(у) для каждого элемента у G [0; +оо). Заметим, что в данном случае в качестве правого обратного к / можно взять отображение h : [0; +оо) —» Я, определяемое правилом h (у) = —у. в) / : [—f ι §] "~* ^' действует по правилу f (х) — sinx. Данное отображение не является сюръективным (а значит, и биективным), так как sin-1 ({2}) = 0 (т. е. не существует такого х, что sin χ = 2.). Данное отображение является инъективным. Действительно, sinx монотонно возрастает на множестве [—§;§], поэтому на этом множестве не может быть двух разных χι и Х2 таких, что sinxi = sinx2. Для нахождения левого обратного отображения воспользуемся конструкцией из теоремы 2.13. Найдем /([—5'5])* Ясно, что т т1. ,_ _ __ч /([-з'з])-»([-з'з])-И;ч- Тогда /л 1 можно задать формулой: 1 J arcsinx, x G [—1; 1]; lO, еслих G (—оо; — 1) U (1; +оо). 381
Глава 8. Практикум по решению упражнений и задач Ясно, что /~г на множестве [—1; 1] определено однозначно (как arcsinx), а на множестве (—ос; — 1) U (1; +оо) мы можем задать его совершенно произвольно (лишь бы оно действовало во множество [—f; f])· 3. Так как данное отображение не является сюръек- тивным, значит, оно не является и биективным, а следовательно, не является обратимым, г) / : R —> (0; +оо) действует по правилу / (х) = ех. Поскольку данное отображение является биективным, оно является обратимым. В качестве обратного к / берем отображение д: i? —> (0;+οο), определяемое правилом д(у) = Ыу. Тогда (gof) (χ) = In (e*) = х Ух в R и (д о /) (у) = е1^ = у VyG [0;+oo). Это же отображение является одновременно и левым, и правым обратным отображением. 2х, χ е (1;+оо); х2 + 1, хе [0;1]; χ + 1. χ е (—оо;0). Заметим, что /((1;+оо)) = (2;+оо),/([0;1]) = [1;2], /((-оо;0)) = (-оо;1). Так как полученные множества не пересекаются и покрывают все множество R, то о типе отображения будем судить по типу отображений, задаваемых строками отображения /. Рассмотрим отображения: /ι : (1;-{-оо) —> (2;+оо), определяемое правилом / (х) = 2х (первая строка определения отображения /); /г : [0; 1] —> [1; 2], определяемое правилом / (х) = х2 + 1 (вторая строка определения отображения /); /з : (—оо;0) —> (—оо; 1), определяемое д)/:Я->Д,/(х) = < 382
§ 8.8. Отображения правилом / (χ) = χ + 1 (третья строка определения отображения /). Все эти отображения (/ь/2;/з) являются биективными, поскольку они и инъективны, и сюръек- тивны. Множества (—оо; 1), [1; 2] и (2; +оо) попарно не пересекаются, и их объединение равно Л. Следовательно, отображение / является биективным. Отображение f"1— обратное к отображению /. Сконструируем из отображений /j~ , /^~ , f% . Эти отображения порождают строки в определении отображения /_1. Ясно, что Д-1 : (2; +ос) —> (1; +оо) задается формулой /ϊ1(ν) = \· Отображение f^ : [1;2] —> [0; 1] задается формулой /r'(!/) = VFT. _ Отображение /3 :(—оо;0)—>(—оо;1) задается формулой Уз"1 (у) = У~ 1- Собирая все полученные отображения как строки определения отображения /_1, получим (|, »€(2;+оо); у/у=1, »€[1;2]; Ϊ/-1, у€(-оо;1). < Π Пример 11. Проверить, является ли следующее отображение F : С (Л) —» С (Л) (С (R) — множество непрерывных на R функций) инъективным, сюръек- тивным или биективным, и найти обратное к нему с соответствующей стороны: [F(f)](x) = f2(x);[F(f)](x) = 3f(2x); [F[f)\ (χ) = 2Ή ► 1. Данное отображение не является инъективным, поскольку существует пара функций /ь/г^С (Л), таких что /ι7^/2, но для которых выполняется F(fi) =^/2). 383
Глава 8. Практикум по решению упражнений и задач В качестве таких функций можно взять f\ (χ) = χ и f2 (χ) = -χ. Тогда [F(fi)] (χ) = Λ2 (χ) = χ2 = (-χ)2 = /I (x) = [F(f2)] (χ). Таким образом, поскольку отображение F не является инъективным (а значит, и биективным), то оно не имеет левого обратного (и обратного к / не существует). 2. Данное отображение не является и сюръективным (а значит, и биективным), поскольку существуют такие функции, прообраз которых при данном отображении является пустым. Например, для функции f\ £ C(R), определяемой правилом /ι (χ) = — χ2, нет таких функций, которые при возведении их в квадрат дают f\. Таким образом, поскольку отображение F не является сюръективным, оно необратимо справа, т. е. не имеет правого обратного отображения (и обратного к / не существует). [F (/)](*) =3/(2*). Данное отображение является биективным, поскольку оно и инъективно, и сюръективно. Однако доказательство этого — дело довольно «хлопотное». Воспользуемся критерием обратимости отображения (теорема 2.15). Покажем, что у отображения F : С (R) -> С (R) существует обратное отображение. Рассмотрим отображение G : С (R) -> С (Д), заданное формулой Римм-£/(!). Покажем, что это отображение обратно к F. Для этого найдем F oG и G о F. [FoG\(f(x)) = F(G(f(x))) = F(\f 1 / х\ \ό = V(22) =№»· 384 )■
§8.8. Отображения [G о F] (f (χ)) = G(F(f (χ))) = G (3/ (2x)) = Мы доказали, что отображение F обратимо. По теореме 2.15 получаем, что отображение F является биективным. [*Ч/)](*) = 2'М. Данное отображение является инъективным, значит, оно обратимо слева. В качестве левого обратного возьмем отображение G : С (R) —> С (R), определенное правилом {, / г / \\ если f (х) принимает только положительные значения; О, в противном случае. Тогда, поскольку 2^*) >0 VxGi?, [GoF] (/ (χ)) =G(F(f (χ))) = G (2**>) = = log2(2'<*>) = /(z). Данное отображение не является сюръективным, поскольку существуют такие функции, прообраз которых при данном отображении является пустым. Например, для функции /ι € С(Д), определяемой правилом /ι (χ) = —χ2, нет ни одного отображения д Ε С (R) такого, что /ι (χ) = 29^ Ух е R. Таким образом, поскольку отображение не является сюръективным, значит, оно не является обратимым справа. Поскольку это отображение не является биективным, то обратное отображение не существует. < 385
Глава 8. Практикум по решению упражнений и задач Задачи и упражнения Определить, являются ли следующие выражения отображениями: ОТ1.1. /: R-+R, f(x) = log2x. ОТ1.2./:(0;+оо)->Я, f(x) = \og2x. χ, χ Ε (—оо; —1); ОТ1.3. / : R-+R, f(x) = { ОТ1.4. /: [-π; π] sin χ, χ Ε [—7τ;π]; ^Ιηχ, χ Ε (1;+οο). R /(χ)=ί*> *€[-π;0); ΟΤ1.8. f(x) = sin χ, χ Ε (0;π]. ΟΤΙ.5. / : [-1; 1] -)■ [-1; 1], / (χ) = sinz + cos χ. ΟΤΙ.6. / : [-2; 2] ->· [-2; 2], / (χ) = sin χ + cos χ. ΟΤΙ.7. /(χ) =sinz. 2χ, χ G (—οο;0); sfx, χ e [0;+oo). ΟΤΙ.9. F: C(R)->C(R), [F(f)](x) = \f(x)\. ΟΤΙ.10. F:C(R)->C(R), '\f(x)\, f(x)<0; sin (/(χ)), /(χ)>0. Пусть f : Χ —ϊ Υ — произвольное отображение, В, В\,В2 — произвольные подмножества множества Υ. Доказать, что: 8.379. Г1 (Bi U Вг) = Г1 (Вг) U Г1 (В2). 8.380. J"1 (Bi П В2) = /-1 (Βι) П /-1 (β2). 8.381. J"1 (Y\B) = Х\Гг (В). [F(f ))(*) = 386
§ 8.8. Отображения 8.382. /-1 (Вг\В2) = Г1 (Вг) V"1 (B2). 8.383. ВгсВ2^ Г1 (Βι) С Z"1 (В2). 8.384. Привести пример, показывающий, что импликация /-1(ί?ι) С f~l{B2) => Βι С В2, вообще говоря, не имеет места. 8.385. Доказать, что если / : J ^ У и i С X, то f(A) = {yeY\3x(xeX) (xeA)A(y = f(x))}. Сравните с определением 2.15. Пусть / : X —» Υ — произвольное отображение, Αι, Α2 — произвольные подмножества множества X, Доказать, что: 8.386. / (Αχ U А2) = f (Αχ) U / (А2). 8.387. / (Αχ П А2) С / (Αχ) П / (А2). 8.388. Привести пример, показывающий, что /(Αι) Π f(A2) С/ (Αι Π Α2), вообще говоря, не имеет места. 8.389. Доказать, что /(Αι)\/(Α2) С 1(Аг\А2). 8.390. Привести пример, показывающий, что ПАг\А2) С f(Ax)\f(A2), вообще говоря, не имеет места. 8.391. {Ах С А2) ^(f(Ax)cf (A2)). 8.392. Привести пример, показывающий, что (f(Ax)cf(A2))^(AxCA2), вообще говоря, не имеет места. Доказать, что для произвольного подмножества В области действия Υ отображения / : Χ —ϊΥ выполняются соотношения: 8.393. f(f-1(B)) = BDf(X). 8.394. /-1 (В) = 0 <* В П / (X) = 0. 387
Глава 8. Практикум по решению упражнений и задач 8.395. Доказать, что для произвольного множества А области определения X отображения / : X —> Υ имеет место соотношение А С f~1(f(A)). Пусть /:I-^yJcI, В С Υ. Доказать, что: 8.396. / (А) П В = / (А П Г1 (В)). 8.397. / (А) П В = 0 ^АП/-1(В) = 0. 8.398. / (А) С В О А С /_1(^)· ОТ1.11. Для отображения f : R —l· R, определенного правилом /(х) = sinx, найти /([0;π]), /([—§; f]), Г1((0;4])И/-1([-1;2]). ΟΤΙ. 12. Для отображения f : R —> R, определенного правилом —χ, χ G (—οο; —1); χ2, χ€[-1;1]; (ν/χ, χ€(1;+οο), найти/([-2; 2]), /([1;4]), /^(Μ) и Г1 ([-5; 9]). ΟΤΙ. 13. Для отображения / : R —> R, определенного правилом /-я- 1, χ е (-оо;0); t (х) = < \2х + 1, хе(0;+оо), найти / ([-2; 1]), /([-4; 4]), Г\(0-А}) и Г1 ([-5; 2]). ОТ1.14. Для отображения / : R —> R, определенного правилом flog2(-x), xG(-oo;-l]; /(*)=< /(*) = < + 2х-3, xG(-l;0); [32х, xG[0;+oo), найти/([-2;2]), /([-1;2]), /^((Oj+oo)) и/^([-^З]). 388
§ 8.8. Отображения ΟΤΙ. 15. Для отображения /:/?—>/?, определенного правилом (-х2 + 1, χ е (-ос;-2); /(x) = <log3(-x + l), xE[-2;l); {\/х + 1, х £ [1;+οο), найти/([1; 5]), /([-2; 4]), /^([-Φ,Ο)) и /^((-оо; 2]). ОТ1.16. Для отображения /:/?—>/?, определенного правилом / (х) = sin(x) + χ2, найти/([0;2π]), /([-f; f]), Γι(№)) и /^(l·^]). ΟΤΙ. 17. Для отображения f : R —> R, определенного правилом ,ω = <Ρ' *е(-оо;1]; ^ V ' \-тг^, xG(l;+oo), найти/([-2; 2]), /([0;4]), ^((О;^) и/^([-π^]). ΟΤΙ. 18. Для отображения / : R —> R, определенного правилом €(-оо;0); е[0;+оо), найти/([-2; 1]), /([-4; 4]), ГЧМ) и Г1 ([-4; 2]). ОТ1.19. Для отображения /:/?—>/?, определенного правилом f ^Зх2 + 4, χ € (-оо; -2]; log2(6-x2), xe(-2-2); sinx, χ £ [2; +00), найти / ([-2; 2]), / ([-1; 3]), Г1 ((-1; +оо)) и /-χ([-3;3]). /(*) = \х3 + 1, χ /(*) = < 389
Глава 8. Практикум по решению упражнений и задач ОТ1.20. Для отображения / : Д —> Д, определенного правилом [=%£, χ€(-οο;-2); {-\/χ- 1 + 1, χ€[1;+οο), найти/([1;5]), /([-2;4]), ГН(-^0)) и Γι((-οο;2]). Для следующих отображений найти по два различных непрерывных продолжения на множество Д: ОТ1.21./: [1;+оо)-»Д, /(x) = log2x. χ. χ Ε (—оо;0); ОТ1.22. / : (-оо; 2π] -> Д, / (х) = ОТ1.23. / : [-π; π] -> Д, / (χ) = J 1 sin χ, χ Ε [0; 2π]. cos χ, χ Ε [—π;0); χ2 + 1. χ Ε [0;π]. ΟΤ1.24. / : (-οο; -1] U [1; +οο) -> Д, χ + 1, χ Ε (—οο; —1]; /(*) = χ — 1, χ € [1;+οο). ΟΤ1.25. / : (-οο; -2) U (2; +οο) -> R, /2χ2 + 1, χ€(-οο; -2); f (χ) = < \ν/χ\ χ€(2;+οο). ΟΤ1.26. / : [0; +οο) -> Д, / (χ) = e*. ΟΤ1.27. /: (-οο;π] -> R, 2 cos χ—1, χ G (—οο;0); /(*) = 2 sin χ, χ G [0; π] 390
§ 8.8. Отображения ОТ1.28. /: [-2; 2] -> R, /(*) = V-x:i + 1-1, xG[-2;0); 2ж-1, ie[0;2]. ОТ1.29. / : (-сю; -π] U [π;+οο) ->· R, f (χ) = ίsin (§-§). x e (-°°; -π1; ' |3cos(x)! xe[n;+oc). OT1.30 / : (-oo; -|) U (f; +oo) -> R, J sin2x, χ G (oo; — |); /И v/cosχ, χ G (§; +oo). Для следующих отображений f,g : R —> R найти композицию / о д, g о /: OT1.31. f(x) = sW = OT1.32. /(x) = sW = ι ό oti.33. f(x) = Iх 1 + x, χ > 1; 1 — χ, χ < 1. 1 + χ, χ < -2; 2x, χ > -2. χ2, χ > 1; χ, χ < 1. |x|, χ > 2; 3-х, χ < 2. 4 |x| > 1; Ы < 1. g(^) = { yfx, x > 16; 2 - x3, |x| < 16; 2 + x, χ <-16, 391
Глава 8. Практикум по решению упражнений и задач ОТ1.34. /(*)=< [sin (χ + I), χ е (—π, π); χ, χ > π; —χ — π, χ < —π. /2 /— 1 χ , χ < — γ/π; 9(х) = { χ -, χΕ[-ν^;0]; χ2 τ, χ>0. ΟΤ1.35. /(χ)= < ρ (*) = { χ, χ Ε (—οο; —1); χ2, хе [-1;1]; [2-х, χ Ε (1;+οο). χ + 2. χ Ε (—οο; —1); χ2, xG[-l;0]; χ3 , —, χ е (0;+οο). ν 4 ΟΤ1.36. f(x) = { Зж2 + 2:г-1, же [-2;2); |гс-5|, гс > 2. / 4 д(х) = { -γ, χ<-1; 1-ж2, ze[-l;l]; 2. х>1. ОТ1.37. f(x) = < 2х, х<-1; -, €(-1;0); X χ2, χ > 0. 392
§ 8.8. Отображения 1. χ' х< -1; 9 (х) = \(ϊ)'· Ι€(-1; [θ, χ>1. ι]; (2χ + \ ΟΤ1.38. f(x)= { χ>2, 2-х ' sign (χ) χ2, χ G (—οο; 1]; 3*, χ<Ξ(1;2]. 9(х) = < " ΓΤ^' -, χ€[-3;3]; 1- ΟΤ1.39. f(x) = < 1 -, χ > 3. χ ' yjx2 - 4, χ< -2; 2 · 3^ - 15 ι€(-2;1]; —χ, χ > 1. ν, J sign (χ), χ < 4; 1-х, χ > 4. ΟΤ1.40. /(χ) = i g (χ) = < '-(χ + 1)2-2, χ<0 3χ-2, xG(0;l); ——, χ>1. к χ + 1 Г-ж + 1 — , χ € (-οο; -2); Ι 2-х з(- Ι-ν «+1), xG[-2;l); χ - 1 + 1, xG[l;+oo). 393
Глава 8. Практикум по решению упражнений и задач 8.407. Пусть для отображения /:1-}1и для некоторого натурального числа η имеет место равенство fn = εχ. Докажите, что отображение инъективно. 8.408. Докажите, что если fog — инъективное отображение, то д — инъективное отображение. 8.409. Докажите, что если fog — сюръективное отображение, то / — сюръективное отображение. Проверить, являются ли следующие отображения инъективными, сюръективными или биективными, и найти обратные к ним с соответствующей стороны: ОТ1.41. / ОТ1.42. / R —l· R по правилу / (х) = sinx. R —l· R по правилу /(*) = < ж, х € (—оо; —1); χ2, χ е [-1;1]; /(*) = \\/х, χ £ (1;+оо). ОТ1.43. / : Д -> Д по правилу -х + 1, χ е (—оо;0); -2^ + 2 х€[0,+оо). ОТ1.44. / : Д -> Д по правилу 'log2(-x), χ е (-оо; -1); х2 + 2х-3, же(-1;0); k32x, xG[l;+oo). Д по правилу 'я:+ 4, х€ (-3; -2); log3x - х + 1, ζ € [-2; 1); |iV/i+ 1, χ G [l;+oo). /(*) = < OT1.45. / : Д /(*) = < 394
§ 8.8. Отображения ΟΤΙ.46. / : Л -► Л по правилу (х + Ь f(x)={ χ e (-00; 0); Г + 1, xE[0,+oo). OT1.47. / : R -> R по правилу 'log2(4-;r2), x€(-2;0]; /(*) = V3x2 + 4, χ € (-00; -2]. OT1.48. /:Лчйпо правилу / -2Г+ 1 /(*) = < 2-τ 3"Λ+1, χ Ε (—00 ; -2); χ€[-2;1); [-\/:r- 1 + 1, χ€[1;+οο). Пусть С(Л) — множество всех вещественных непрерывных функций. Проверить, являются ли следующие отображения F : С (R) —» С(Л) инъективными, сюръек- тивными, биективными, и найти обратные к ним с соответствующей стороны. 8.417. [F(f)](x) = f(e*). 8.418. [F(f)](x) = efM. 8.419. [F(f)](x) = {x2-l)-f(x). 8.420. [F(f)](x) = (x2 + l)-f(x). 8A21.[F(f)](x) = f(2x-l). 8.422. [F(f)} (x) = /3 (*). 8.423. [F(/)](x) = /(x1/3). OT1.49. [F (/)](*) = /2(*). OT.1.50. [F (/)] (x) = (x + l)f (2x). OT1.51. [F(f)](x) = &W. OT1.52. [F (/)](*) = /(x(z2 +l)). 395
Глава 8. Практикум по решению упражнений и задач ОТ1.53. [F(f)](x ОТ1.54. [F(f)](x ОТ1.56. [F(f)](x ОТ1.57. [F(f)](x OT1.58. [F(f)](x OT1.60. [F(f)](x = f(x*-l). = xf2(x) + l = (x2-l)/(2x). Jlog2 (/(*)), = \o, = cos(f(x)). = f(\x\ + 2). f(x)>0; /(x)<0. Решения Ρ ΟΤ1.1. / : Я —> Я, / (χ) = log2x. Ясно, что выражение, стоящее справа, не задает функцию, определенную на множестве Я, так как логарифмы отрицательных чисел не существуют. [ χ. χ Ε (—со; —1); Ρ ΟΤ1.3. / : Я -* Я, /(x) = <sinx, * G [-тг;тг]; (inχ, χ e (l;+oo). Ясно, что это функция, действующая из Я в R. Ρ ΟΤ1.5. /: [-1;1] -> [-1;1], f (x) = sin χ + cos х. Значение выражения, стоящего справа, при χ = j равно у/2. Это число не принадлежит множеству [—1; 1], поэтому выражение не задает функцию. Ρ 8.381. Имеют место равенства: B=Y\Bn f~l {Υ) =Х. (*) Тогда X=f~l(Y) =rl(BUB) =Γ1(Β)υΓ1(Β). Последние два множества не пересекаются (иначе пересекались бы В и В). Значит, второе из них является дополнением к первому (относительно множества X), 396
§ 8.8. Отображения тогда / г(В) =/ l(B)=X\f г(В), учитывая (*), получаем г1(У\в) =χ\Γλ(Β)· Ρ 8.383. Так как Вг С В2, то В2=Вг U (Β2\Βι). Учитывая свойство «прообраз объединения равен объединению прообразов», получаем: ГЧВг) =Γ\Βχ U {В2\ВХ)) =Г1(В1) U Г1(В2\В1). Из полученного равенства следует, что /_1(ί?ι) С Ρ 8.391. Пусть у е f(Ai) <=> f~l({y}) Π Αχ φ 0, а так как Αχ С Α2ϊ то и /_1(Ш) Π А2 ^ 0 & у β f(A2). Приступая к решению примеров ОТ 1.11— ОТ 1.20 на нахождение образов и прообразов множеств, вернитесь к примеру 2.9. Ρ ΟΤ1.21. / : [1;+оо) -> RJ(x) = log2x. Построение непрерывного продолжения дело довольно простое. Важно, чтобы на оставшейся части множества вещественных чисел было задано непрерывное отображение и чтобы оно на «стыке» принимало то же самое значение (имело соответствующий односторонний предел), что и имеющееся у нас выражение. В качестве такого непрерывного выражения можно взять, например, постоянную (вариант 1) или линейную функцию (вариант 2). Вариант 1. Рассмотрим в качестве непрерывного продолжения нашего отображения следующую функцию: /(χ) (О, *€(-оо;1); [log2x, x€[l;+oo). Вариант 2. Рассмотрим в качестве непрерывного продолжения нашего отображения следующую функцию: χ — 1, χ Ε (—оо; 1); f(x) log2x, χ Ε [1;+οο). 397
Глава 8. Практикум по решению упражнений и задач Р8.407. Воспользуемся ассоциативностью композиции отображений ex=fn=(fn-1)of. Последнее означает, что отображение / обратимо слева, тогда по критерию обратимости слева (теорема 2.13) это отображение инъективно. Еще раз воспользуемся ассоциативностью композиции отображений ех=Г=/о(Г-1). Последнее означает, что отображение / обратимо справа, тогда по критерию обратимости справа (теорема 2.14) это отображение сюръективно. Р8.409. Утверждение будем доказывать от противного, т. е. предположим, что существуют такие отображения д : X —l· Y, f : Υ —ϊ Ζ, что fog — сюръективно, a / не является таковым. Отсутствие сюръективности отображения / означает, что во множестве Ζ существует такой элемент zq. у которого /_1({^о}) =0· Сюръек- тивность отображения / о д означает, в частности, что (f ° 9)~ {{ζθ}) Φ 0· Это означает, что во множестве X существует такой элемент xq, для которого имеет место равенство (f о д)(х0) = f((g(xa)) = zQ. Пусть у0 = д(х0), тогда уо Ε Υ и f(yo) = zq. Последнее противоречит тому, 4Tof-l({zo})=0. Приступая к решению примеров ОТ 1.31— ОТ1.40 на нахождение композиции отображений, вернитесь к примеру 8.6. Ρ ΟΤ1.41. / : R —> R по правилу f (x) = sinx. Это отображение является «никаким». Оно не является инъ- ективным за счет периодичности синуса. Оно не является сюръективным, так как синус принимает только значения, не превосходящие по модулю единицу. Значит, ни о какой обратимости речи быть не может. 398
§ 8.9. Комбинаторика Ρ ΟΤ1.43. / : R -► R по правилу tt \ ί-х + Ъ x € (-00;0); \-2^ + 25 xe [0,+oo). Это отображение взаимнооднозначно отображает множество (—оо;0) во множество (1;+оо), а множество [0; +оо) — во множество (—оо; 1]. Полученные множества имеют пустое пересечение, а их объединение равно R, Из этого следует, что данное отображение биективно. Для построения обратного отображения необходимо найти обратные отображения к каждой из строк определения исходного отображения, а затем «склеить» из них нужное нам обратное отображение: f-i(x) = /~х + 1, Χβ (1;+ос); \log2(2-x), х€ (-оо;1]. Ρ ΟΤΙ.49. [F (f)] (χ) = f2 (χ). Это отображение является «никаким». Оно не инъективно, поскольку две разные функции у = χ и у = —х отображаются в одну функцию у = х2. Оно не сюрьективно, поскольку F-1 ({—е*}) = 0. Значит, о какой-либо обратимости этого отображения говорить не приходится. §8.9. Комбинаторика При решении комбинаторных примеров следует помнить, что: • успех в решении зависит от того, насколько верно понято условие; • почти не существует «чистых примеров», т. е. таких, в которых срабатывает «готовая формула». 399
Глава 8. Практикум по решению упражнений и задач Π Пример 8.15. В купе с восемью сидячими местами (по четыре на каждом диване) вошло шесть пассажиров, один из которых (N1) согласен сидеть только у окна, двое (N2, N3) — только рядом, один (N4) — по ходу поезда, а двум (N5, N6) безразлично, где сидеть. Сколько существует способов рассадить пассажиров с учетом их пожеланий? Множество всех способов разобьем на два непересекающихся множества А и В, отнеся к Л те способы, когда N1 сидит у окна по ходу поезда, а к В — остальные. Ясно, что ответ задачи — \А\ + \В\. (8.1) Займемся множеством А. Разобьем его на непересекающиеся подмножества I, II, III, IV и V в зависимости от того, какие два места занимают N2 и N3 (см. рис. 8.3). N1 ■ ■ 1 I 1 1 ■ ■ Nil 1 1 Nil ■■ I I I II ■ ■ Nil 1 1 Nil 1 1 ■ ■ 1 III 1 IB ■ Nil 1 1 Nil 1 1 ■ ■ IV 1 1 1 Niiaiai Nil 1 I 1 ■■ V 1 1 1 N1 ■ ■ Рис. 8.3 Ясно, что M = |I| + |II| + |III| + |IV| + |V|. (8.2) Помеченные места можно занять двумя способами. В случае I и II N4 занимает единственное свободное место на этом диване, N5 занимает любое из оставшихся четырех, а N6 — любое из оставшихся трех мест. |1| = |И| =2-4-3 = 24. (8.3) В случаях III, IV, V пассажир N4 занимает любое из трех свободных мест на диване, где сидит N1, N5 — любое 400
§ 8.9. Комбинаторика Π из оставшихся четырех мест, N6 — любое из оставшихся трех свободных мест. Тогда |Ш| = |IV| = |V| = 2 · 3 · 4 · 3 = 72. (8.4) Из (8.2), (8.3), (8.4) получаем \А\ = 24 + 24 + 72 + 72 + 72 = 264. Аналогично для множества В |V| = |VII| = |VIII| = 2 · 2 · 4 ♦ 3 = 48, |IX| = |XI| = 2 · 4 · 4 · 3 = 96? \B\ = 3 · 48 + 2 · 96 = 192 + 144 = 366. Из (8.1) получаем ответ задачи: 264 + 336 = 600 (способов). < Пример 8.16. На собрании должны выступать ораторы А, В, С, D. Сколько существует способов составить список выступающих так, чтобы С выступал позже В, но не сразу после него? ► Количество списков выступающих, когда сняты все ограничения, равно количеству перестановок длины 4, т. е. Р4 = 4! = 4 · 3 · 2 .1 = 24. Разобьем множество списков на пары так, что второй список получается из первого переменой мест ораторов В и С (например, ABDC и ACDB). Количество пар равно 24 — = 12. В каждой такой паре один список, в котором В выступает раньше С, а другой — где С выступает раньше В. Значит, списков, в которых В выступает раньше С, столько же, сколько получилось пар, — 12. Если мы определим количество списков, в которых С выступает сразу за В (их количество обозначим |«ВС»|), то ответ задачи: 12-|«ВС»|. (8.5) 401
Глава 8. Практикум по решению упражнений и задач Подсчитаем |«1?С»|. Для этого «склеим» ВС в одного оратора и рассмотрим, сколько списков молено составить, имея трех операторов: А, ВС и D. Ясно, что количество списков из трех ораторов равно ^ = 3-2-1 = 6. (8-6) Окончательно из (8.5) и (8.6) получаем ответ задачи: 12 — 6 = 6 (способов). Проверка. Выпишем все допустимые списки: BACD; BDCA, BADC: BDAC; ABDC; DBAC Μ 8.425. Найти Ах В, если А = {1,2,3} , В = {а, Ь} . 8.426. Доказать, что если Α φ 0. В φ 0, то А х В = В χ А тогда и только тогда, когда А = В. 8.427. Равны ли множества (Α χ Β) χ С и Α χ (Β χ С)? 8.428. Пусть Аф0, Вф0и(Ах B)U(B χ Α) = CxD. Доказать, что А — В — С — D. 8.429. Пусть Αι = [α,·; fy] x [q; dj\ , г = 1, 2,..., η ([α; b] — сегмент вещественных чисел). Доказать, что если А{ Π Aj φ 0 для любых i.j = 1,2...., η, το ΠΓ=ι Ά 7^ 0· Доказать равенства: 8.430. (Α\Β) хС=(Лх С)\(В х С). 8.431. (Цех А) х (UjejBi) = U(ij)6/xj (^ * *,)· 8.432 (4χ Λ) χ (jjeJB:i) = J(iJ)€JxJ (Аг χ Bj). Задачи 8.433. Из города А в город В ведет 5 дорог, а из города В в город С — 4 дороги. Сколько путей, проходящих через В, ведет из Л в С? 402
§ 8.9. Комбинаторика 8.434. У Тани — 20 марок, у Наташи — 30. Сколькими способами можно осуществить обмен одной Таниной марки на одну Наташину? Двух Таниных на три Ната- шиных? 8.435. На ферме — 20 овец и 24 свиньи. Сколькими способами можно выбрать одну овцу? Одну свинью? Двух животных? Двух разнотипных животных (одну овцу и одну свинью)? 8.436. Из А в В ведет 5 дорог. Сколькими способами можно съездить из А в В и обратно, если путешествие туда и обратно совершается по разным дорогам? 8.437. В библиотеке 5 учебников геометрии, 7 — тригонометрии, 4 — алгебры. Сколько полных комплектов учебников можно составить? Сколько существует способов комплектования? (Все экземпляры книг считаются различными, а комплекты не имеют номеров.) 8.438. Сколькими способами можно выбрать 3 различные краски из имеющихся пяти? 8.439. Сколькими способами можно составить трехцветный трехполосный флаг, если имеется материя пяти различных цветов? То же самое, если средняя полоса должна быть синей? 8.440. Сколько различных флагов из трех полос можно составить, если имеется материал пяти цветов? (Сравните с предыдущей задачей.) 8.441. Надо послать 6 писем. Сколькими способами это можно сделать, если для доставки писем имеется 3 курьера? 8.442. Сколькими способами можно расставить 7 различных книг на книжной полке? 403
Глава 8. Практикум по решению упражнений и задач 8.443. На собрании должны выступить 5 человек — А, Б, В, Г, Д. Сколькими способами можно составить список выступающих? То же самое при условии, что В выступает непосредственно перед Г? 8.444. В местком выбрано 9 человек, из них нужно выбрать председателя, заместителя, секретаря и культорга. Сколькими способами это можно сделать, если должности нельзя совмещать? 8.445. В зрительном зале — 120 мест. Сколькими способами могут занять места в нем 120 зрителей; 80 зрителей? 8.446. Сколькими способами можно наклеить 5 различных марок на 5 различных конвертов? 8.447. Сколькими способами на 5 различных конвертов можно наклеить по одной марке, если на почте имеется 7 различных видов марок? 8.448. Сколько слов можно получить, переставляя буквы слова «факел», «математика»? 8.449. Сколькими способами можно выбрать открытки для поздравления пяти лиц, если имеется 7 различных открыток? 8.450. Сколькими способами можно купить 5 открыток, если в продаже имеются открытки 7 различных видов? 8.451. В лифт сели 8 человек. Сколькими способами они могут выйти на четырех этажах, если на каждом этаже должен выйти хотя бы 1 человек? 8.452. Пять различных грузов нужно доставить на этажи строящегося дома. Сколькими способами это можно сделать, если каждый груз можно доставить на любой из пяти этажей? 404
§ 8.9. Комбинаторика 8.453. У мамы 3 одинаковых яблока и 4 одинаковых груши. Каждый день, начиная с понедельника и заканчивал воскресеньем, она выдает ребенку по 1 плоду в день. Сколькими способами это можно сделать? То же самое, но при условии, что ни в какие 2 соседних дня не выдается однотипный плод? Те лее самые вопросы в предположениях: а) яблоки различны, а груши одинаковые; б) яблоки одинаковы, а груши различны; в) все плоды различны. 8.454. Сколько способов разложить 10 одинаковых монет по двум различным карманам? 8.455. Сколько способов разложить 10 одинаковых монет по двум различным карманам так, чтобы оба кармана не были пусты? 8.456. Сколько способов разложить 10 различных монет по двум различным карманам? 8.457. Сколько способов разложить 10 различных монет по двум различным карманам так, чтобы оба кармана не были пусты? 8.458. Сколько способов разложить 10 одинаковых монет по трем различным карманам? 8.459. Сколько способов разложить 10 одинаковых монет по трем различным карманам так, чтобы ни один из карманов не был пустым? 8.460. Сколько способов разложить 10 различных монет по трем различным карманам? 8.461. Сколько способов разложить 10 различных монет по трем различным карманам так, чтобы ни один из карманов не был пустым? 405
Глава 8. Практикум по решению упражнений и задач 8.462. На карусели 4 одинаковых места для пассажиров. Сколько способов рассадки четырех пассажиров для катания на карусели? 8.463. То же самое, что и в задаче 8.462, если пассажир В должен кататься, имея непосредственно перед собой пассажира А? Решения Р8.425. (1; а), (1; Ь), (2; а), (2; Ь), (3; а), (3; Ь). Р8.427. Эти множества не равны, поскольку они состоят из разных элементов. Так, элементами множества (Α χ Β) χ С являются упорядоченные пары, в каждой из которых вторым элементом является элемент множества С, а элементами множества А х (В х С) являются упорядоченные пары, вторыми элементами в которых являются упорядоченные пары вида (Ь;с), в которых be В, се С. Р8.433. Обозначим через АВ множество дорог, ведущих из города А в город В, а через ВС — множество дорог, ведущих из города В в город С. Ясно, что дорога, ведущая из города А в город С через город В, — это упорядоченная пара (дорога, ведущая из А в В] дорога, ведущая из В в С). Поэтому нам необходимо найти \АВ х ВС\ = \АВ\ · \ВС\ = 5 · 4 = 20. Р8.437 Первый способ Ясно, что полный комплект должен содержать по одному учебнику геометрии, тригонометрии и алгебры. Поскольку учебников алгебры меньше всего, то они определяют, что мы можем скомплектовать только четыре полных комплекта учебников. Комплекты не имеют нумерации, но сначала будем считать, что они занумерованы. 406
§ 8.9. Комбинаторика Начнем формировать первый комплект. В него можно включить любой из пяти учебников геометрии, любой из семи учебников тригонометрии и любой из четырех учебников алгебры. Мы получили 140 вариантов (5x7x4) для формирования первого комплекта. После этого мы приступаем к формированию второго комплекта из оставшихся учебников. Получится 4x6x3 вариантов, для третьего комплекта мы получим 3x5x2 вариантов формирования, тогда для четвертого — 3x4x1 вариантов. Всего для формирования четырех занумерованных комплектов мы получаем (5 х 7 х 4) χ (4 χ 6 х 3) х (3 х 5 х 2) χ (2 χ 4 χ 1) вариантов. Как снять нумерацию? Будем считать варианты комплектования, составленные из одинаковых наборов комплектов, но взятых в различном порядке, эквивалентными. Тогда множество всех вариантов разбивается на классы, эквивалентные между собой. Нас фактически интересует количество классов эквивалентности. Для того чтобы узнать, сколько получилось классов, мы определим, сколько элементов содержится в каждом классе. Ясно, что в каждом классе содержится элементов столько, сколько существует перестановок длины 4, а их 4! = 24. Тогда ответ задачи (5 х 7 х 4) х (4 х б х 3) х (3 х 5 х 2) χ (2 χ 4 х 1) : 4! = = 7x5x5x4x4x4x3x3. Второй способ В состав комплектов при любом способе комплектования войдут все четыре учебника алгебры, только 4 из семи учебников тригонометрии и только 4 из пяти имеющихся учебников геометрии. Четыре учебника геометрии из имеющихся пяти образуют четырехэле- ментное подмножество, поэтому вариантов выбора четырех учебников С| = 5. Вариантов выбора четырех учебников тригонометрии — 407
Глава 8. Практикум по решению упражнений и задач Л?=7.6.5.4 7 Р4 1-2-3-4 Вариант выбора четырех учебников алгебры из четырех имеющихся учебников всего один (их и взять). Всего получилось 5 х 35 х 1 комбинаций, состоящих из конкретной четверки учебников геометрии, четверки учебников тригонометрии и четверки учебников алгебры. Как превратить каждую такую четверку учебников геометрии, четверку учебников тригонометрии и четверку учебников алгебры в занумерованный набор из четырех комплектов? В первый комплект можно положить любой из четырех учебников геометрии, любой из четырех учебников тригонометрии и любой из четырех учебников алгебры, всего 43 вариантов, тогда во второй комплект можно положить любой из оставшихся трех учебников геометрии, любой из оставшихся трех учебников тригонометрии и любой из оставшихся трех учебников алгебры — всего З3. Аналогично для третьего комплекта имеем 23 вариантов. Оставшиеся учебники образуют последний четвертый комплект. Мы получили всего 35 х 5 х 43 χ З3 х 23 различных вариантов. Снятие нумерации осуществим таким же образом, как и при первом варианте решения. Тогда ответ задачи выглядит следующим образом: (35 х 5 х 43 χ З3 χ 23) : (1 χ 2 χ 3 х 4) = = 35 х 5 χ 43 χ 32 = =7x5x5x4x4x4x3x3=7= = 7x5x5x4x4x4x3x3. Заметим, что мы получили тот же ответ, что и при первом способе решения задачи. Р8.439. В этой задаче два вопроса. Начнем с первого. Заметим, что флаги бывают двух типов: горизонтально- полосные и вертикально-полосные. Любой вертикально- полосный флаг можно получить из горизонтально- 408
§ 8.9. Комбинаторика полосного поворотом на девяносто градусов против часовой стрелки, поэтому тех и других флагов — поровну. Будем пересчитывать горизонтально-полосные флаги. Ширину полос и размеры флага мы не учитываем. Будем считать, что имеется красный материал (К), синий материал (С), зеленый материал (3), желтый материал (Ж) и белый материал (Б). Множество всех флагов разобьем на пять непересекающихся подмножеств по признаку «какого цвета у флагов верхняя полоса». Каждое из полученных подмножеств разобьем, в свою очередь, на четыре подмножества по признаку «какого цвета у флагов средняя полоса» (соседние полосы не могут иметь одинаковый цвет, поскольку в этом случае эти полосы сливаются в одну). В результате мы получили 20 непересекающихся подмножеств. Каждое из них разобьем на четыре непересекающихся подмножества по признаку «какого цвета у флагов нижняя полоса». В результате мы получили разбиение исходного множества на 80 непересекающихся подмножеств. Ясно, что в каждом из них содержится по одному флагу. Поэтому количество горизонтально-полосных флагов в нашем случае равно восьмидесяти. А всего флагов 160 (2 χ 80). Поясним наши рассуждения рисунком (см. рис. 8.4). Перейдем теперь ко второму вопросу задачи. Цвет средней полосы уже определен, по условию она имеет синий цвет. Тогда верхняя полоса может иметь любой из четырех цветов (К, 3, Ж, Б), нижняя также может иметь любой из этих цветов. Такой флаг можно отождествить с упорядоченной парой (цвет верхней полосы; цвет нижней полосы), такие пары — элементы декартова произведения множества {К, 3, Ж, Б} на себя, т. е. {К, 3, Ж, Б} χ {К, 3, Ж, Б}. Тогда ответ на вто- 409
Глава 8. Практикум по решению упражнений и задач рой вопрос нашей задачи, учитывая, что флаги бывают горизонтально-полосными и вертикально-полосными, — 2 х (4 χ 4) = 3. Рис. 8.4 Р8.441. Способ доставки задан, если каждому письму сопоставлен курьер, который его будет доставлять. Таким образом, способ доставки — это отображение из множества (П) писем во множество курьеров (К). Значит, количество способов доставки равно |#П| = |К|1П1=36. 410
§ 8.9. Комбинаторика Р8.443. В задаче два вопроса. Ответим сначала на первый вопрос. Составить список — значит определить, кто выступает первым, кто — вторым, кто — третьим, кто — четвертым, кто — пятым. Таким образом, список выступающих — это биективное отображение множества [1; 5\N во множество ораторов. Поэтому количество возможных списков равно Р$ = 5 !. Перейдем теперь ко второму вопросу задачи. «Склеим» В и Г в одного оратора (ВГ).Теперь у нас есть четыре оратора: А, Б} (ВГ). Д. Рассуждая так же, как при ответе на первый вопрос задачи, получаем, что в этом случае количество списков ораторов равно Р4 = 4 !. Р8.445. В задаче два вопроса. Ответим на первый вопрос. Рассадить 120 зрителей по 120 местам в зрительном зале — это для каждого места определить зрителя, который его будет занимать. Таким образом, способ рассадки зрителей — это биективное отображение множества мест, т. е. [1; 120]дг, во множество зрителей. Количество возможных способов рассадки равно Рио = 120 !. Перейдем теперь ко второму вопросу задачи. Рассадить 80 зрителей в зрительном зале, имеющем 120 посадочных мест, — это для каждого из 80 зрителей определить место, на котором он должен сидеть. Таким образом, способ рассадки — это инъективное отображение (так как на одно место нельзя посадить нескольких зрителей) из множества зрителей во множество мест в зале. Количество способов рассадки 80 зрителей в 120-местном зале равно А™о = 120· 119· - -41. Приведем второй способ получения ответа на второй вопрос задачи. Для того чтобы рассадить 80 человек в 120-местном зрительном зале, нужно сначала выбрать 80 мест, а затем рассадить 80 человек на 80 вы- 411
Глава 8. Практикум по решению упражнений и задач бранных мест. Выбрать 80 мест из 120 — это выделить 80-элементное подмножество множества мест в зале. Количество таких подмножеств равно Cf^o- Количество способов рассадки 80 зрителей на 80 выбранных местах равно Рад = 80 !. Мы получили, что количество способов рассадки 80 человек в 120-местном зрительном зале равно Cf§0 · Р8Сь Сравнив это с полученным ранее, мы получаем равенство А^2о — Ci2Q · Ρβο· Ясно, что оно справедливо и при другом количестве зрителей и другой вместимости зала. Поэтому имеет место равенство дгп = Стп . рп m < п Р8.447. Наклеить марки на конверты — это для каждого конверта определить, какого вида марку на него наклеивать. Таким образом, способ в этом случае — отображение из множества конвертов (К) во множество видов марок (ВМ). Значит, количество способов равно |ВМК| = |ВМ||К| =75. Р8.451. Эта задача всегда вызывает у авторов улыбку. Каждому ясно, что «нормальные» люди заходят в лифт не для того, чтобы покататься (или создать задачу для задачника), а для того, чтобы добраться на тот этаж, на который им необходимо добраться. В связи со сказанным эта задача, с житейской точки зрения, имеет единственное решение (каждый пассажир лифта выходит на нужном ему этаже, и возникнет ситуация, о которой идет речь в задаче, или не возникнет — пассажиров лифта это не интересует). При решении задачи будем предполагать, что мы имеем дело со «странными» пассажирами, которым все равно, на каком этаже выходить. У них другая цель — реализация ситуации, о которой идет речь в усло- 412
§ 8.9. Комбинаторика вии задачи (на каждом из этажей выходит хотя бы один пассажир). При решении задачи мы не будем учитывать порядок выхода пассажиров на этаже в том случае, когда выходят несколько человек. Задать способ выхода — это определить для каждого из пассажиров, на каком этаже он должен выйти. Значит, способ — это отображение множества пассажиров (77) во множество этажей выхода (Э). Учитывая условие задачи — «на каждом из этажей выходит хотя бы один пассажир», отображения должны быть сюръективными. Количество способов равно (см. § 3.5) \sur3n\ = 48-Ci-38 + C!-28-Cf ·18 = 48-4·38+6-28-4. Ρ8.455. Поскольку карманов всего два и монеты одинаковые, способ однозначно определяется количеством монет, положенных в первый карман (во второй кладем оставшиеся монеты). Наименьшее количество монет, которое можно положить в первый карман, — одна монета, следующее возможное количество монет, которое можно положить в первый карман, — две монеты и т. д. Последнее возможное количество монет, которое можно положить в первый карман. — девять монет. Ответ задачи: девять способов. Р8.457. Поскольку монеты различные, то способ — это указание для каждой монеты, в какой карман ее положить при данном варианте раскладки. Поэтому речь идет об отображениях множества монет (М) во множество карманов (К). Поскольку в каждом кармане должна быть хотя бы одна монета, то речь идет о сюръективных отображениях. |S«rKM| = 210 - С\ ■ I10 = 210 - 2 = 2(29 - 1). 413
Глава 8. Практикум по решению упражнений и задач Поскольку карманов всего два, то можно было бы и не включать «артиллерию большого калибра». В этом случае легко подсчитать количество несюръективных отображений. Их всего два (первое — всем монетам ставится в соответствие первый карман, второе — всем монетам ставится в соответствие второй карман). Тогда количество сюръективных отображений равно количеству всех отображений (210) минус количество несюръективных отображений (2). Мы опять получили, что количество способов раскладки десяти различных монет по двум разным карманам, при которых в каждом из карманов есть хотя бы одна монета, равно 2 · (29—1). Р8.459. Поскольку монеты одинаковые, то способ раскладки определяется количеством монет, лежащих в каждом из карманов. Обозначим через х\ количество монет, лежащих в первом кармане, через Х2 — количество монет, лежащих во втором кармане, через х% — количество монет, лежащих в третьем кармане. Тогда Х\ + Х2 + ХЪ = 10, XI, Х2, Χ7ί £ Ν. Значит, количество способов раскладки равно числу решений полученного уравнения. Подсчетом числа решений этого уравнения мы занимались в § 3.4 книги, когда решали задачу о пирожных. Там мы доказали, что оно равно С§ = ^-уу = 36. Р8.461. См. решение задачи 8.457. Ответ: \surKu\=310-Cl210 + Ci-l10 = = З10 - 3 · 210+3 - 3(39 - 210 + 1). Р8.463. «Склеим» двух пассажиров А и В в одного — (АВ). Теперь мы имеем трех пассажиров: (АВ), С, D. Рассмотрим все перестановки, составленные из них: 414
§ 8.10. Отношения (AB)CD, (AB)DC, C(AB)D, CD(AB), D(AB)C, DC(AB). Это фактически все способы рассадки пассажиров на стоящей карусели, при которых пассажир В сидит непосредственно за пассажиром А. Ясно, что при вращении карусели перестановки (AB)CD, CD(AB) и D(AB)C дают один и тот же вариант катания, поскольку каждый сидящий на карусели видит одинаковое взаимное расположение остальных сидящих на вращающейся карусели (представьте себе, что карусель вращается быстро и все находящееся вне ее «сливается в круговерти», а сидящих на карусели вы видите очень ясно, как и на стоявшей неподвижно карусели). Оставшиеся три перестановки (AB)DC, DC(AB) и C(AB)D порождают еще один вариант рассадки на вращающейся карусели. Мы получили два способа рассадки четырех пассажиров для катания на вращающейся карусели, при которых пассажир В видит непосредственно перед собой пассажира А. § 8.10. Отношения В этом разделе мы будем рассматривать только двуместные отношения, в том числе наХхУинаХхХ. Последние называются бинарными отношениями на множестве X. Напомним, что если а отношение на X х У, χ £ X, у £ Υ и χ связан с у отношением а, то пишут хау, а если χ не связан с у отношением а, то пишут хау. Для бинарных отношений на X определяют свойства: рефлексивность, симметричность, антисимметричность, транзитивность, которыми они могут обладать или не обладать. Напомним их определения. 415
Глава 8. Практикум по решению упражнений и задач Бинарное отношение а на множестве X называется рефлексивным, если \/х(хах) = 1. Бинарное отношение а на множестве X называется симметричным, если Ух\/у((хау) —> (уах)) = 1. Бинарное отношение а на множестве X называется антисимметричным, если six\/y((xay)&z(yax) <-l· (χ = у)) = 1. Бинарное отношение а на множестве X называется транзитивным, если 4rfyVz((xay)$z(yaz) —> (χαζ)) = 1. 8.464. Найти все отношения на множестве {0; 1}. 8.465. Привести пример отношения симметричного, транзитивного, но нерефлексивного. Выяснить, какими из основных свойств — рефлексивностью, симметричностью, антисимметричностью — обладают следующие отношения на множестве натуральных чисел: τη и η взаимно просты}. га делится на п}. 8.466. S = \ 8.467. S = \ 8.468. S = 8.469. S = \ 8.470. S = \ 8.471. S = \ 8.472. S = \ (т,п) (т,п) (т,п) (т,п) (т,п) (т,п) (т,п) 771 — п2 η2}- га < п}. га < 7ΐ}. га — η делится на 2}. | т — η = 2 }. 8.473. Пусть дано отображение / : X —> Υ. Доказать, что отношение S = { (x*xf) Ε X х X, \ f(x) = f(x') } является отношением эквивалентности на X. 416
§ 8.10. Отношения Доказать, что следующие отношения являются экви- валентностями, найти фактор-множества и установить взаимнооднозначные соответствия между ними и указанными множествами: 8.474. S = { (х. у) | х, у Ε Ζ, χ — у — четное } , Z/as ~ {0;1}. 8.475. 5 = {(х,у) \х,у е R, х2 = у2}, R/as ~ R+, где R — множество вещественных чисел, R+ = [0;-Ьоо). 8.476. 5 = {(х, y)\x,yeR, x-ye Ζ}, R/as ~ [0; 1). 8.477. 5 = {(χ,у) \х,у € R, sinx = sin}, R/as ~ 8.478. Sn = {(x.y) \х,уеЪ,х — у — делится на η, η Ε Ν}, Ζ/αβ~{0;1;2;...;η-1}. 8.479. 5 = {{χ,у)\х,уеС,х-ув Я},С/аа~Я, где С - множество комплексных чисел; 8.480. S = {(х,у)\х,у е С, |х| = |у|}, C/as ~ R+ = [0;оо). 8.481. S = {(x,y)\x,yeC\{D},axgx = argy,C\{0}/as = [0;2π). 8.482. S = {(x,y) I x,y€N,(x = y)v(x > 10) · (y > 10) }, JV/as~{l;2;3;...;10}. 8Λ83. s = {(x,y)\x,yeN, xZZQ^-w\y=ZZ0yiWi, Xi,yie{0;l;...;9},XQ = yQ}, N/as ~ {0,1,... ,9}. 8.484. S = {(x, y)\x, у e C, Re χ = Re y}, C/as ~ R. 8.485. S = {(A,B)\A,BeM2x2,tr A = tr B,M2x2/as^R, где M2x2 — множество вещественных матриц размера 2x2, tr А — след матрицы A, tr А = (А)п + (А)22. На множестве всех бесконечных последовательностей вещественных чисел, имеющих конечный предел, заданы 417
Глава 8. Практикум по решению упражнений и задач следующие отношения. Выяснить, какие из них являются эквивалентностями, а какие — частичным порядком: 8.486. S = {({а„} , {Ь_п}) | Vn (а„ < Ьп) = 1}. 8.487. S = {({ап},{Ьп})\ЗпУк((к > п)^(ак = Ьк))ξ 1}. 8.488. S = {({а„} ,{Ьп}) \ЗпЩ(к > п)^(ак < Ьк)) = 1}. 8.489. S= {({α„},{6„}) | lim а„ = lim Ьп }. 8.490. S = {({а„} , {Ьп}) | lim а„} < lim Ьп }. 8.491. На множестве N2\ {(1; 1)} введено отношение 5={((ш,п),(р,д)) | (m <p)(n<q)}. Доказать, что as — частичный порядок, и найти все минимальные элементы на этом множестве. 8.492. На множестве iV\{l} введено отношение S ={(т, п)\ η делится на ш}. Доказать, что as — отношение частичного порядка, но не линейного порядка. 8.493. На множестве Λ/ = {0, {1} , {1, 2} , {2,3} , {1,2,3}} введено отношение S = {(IT) | Χ, Υ е М, X С Υ). Показать, что as — отношение частичного, но не линейного порядка. 8.494. На множестве Втхп булевых матриц (т. е. матриц с элементами из множества {0,1}) размера тхп введено отношение S = {(A,B)|3ioViVA;((((i φ i0) =► (aik = bik)) & η η L· (Σ a^2k~l ^ Σ Ь^'1) V (А = В)) }. Доказать, что as — отношение порядка. Каким является этот порядок — частичным или линейным? 418
§ 8.10. Отношения Решения Р8.464. Легче всего решить этот пример, используя матрицу отношения. Для этого напомним ее определение. Пусть о; — бинарное отношение на Χ χ У, оба множества предполагаются конечными. Занумеруем элементы этих множеств X = {χΐΊχ2Ί...7χη}, У = {УъУ2, ··-,Ут}· Поставим в соответствие отношению а булеву матрицу А& размера η χ т по следующему правилу: (А )·· = I1, еСЛИ Х{ауУ' V oc)tj |о, если Xiayj. Будем считать, что во множестве {0; 1} элементы занумерованы в том порядке, как они перечислены. Задать отношение — это то же самое, что задать его матрицу. Выпишем все булевы матрицы размера 2x2: /0 0\ /0 0\ /0 0\ /0 0\ /01\ /01\ /01\ /01\ [оо);[ρι)] \ιο); [ι ι); [οο);[ρι); \ιо); [ιу; Ρ8.467. Ясно, что это отношение является рефлексивным, поскольку любое натуральное число делится само на себя. Очевидно, что это отношение не является симметричным. Действительно, 4 делится на 2, а 2 на 4 не делится. Ясно, что это отношение антисимметрично, так как одновременная делимость первого числа на второе и второго на первое возможна только в случае их равенства. Ясно, что это отношение транзитивно, так как если первое число делится на второе, а второе делится на третье, то первое число делится на третье. Р8.469. Ясно, что отношение «<» не является рефлексивным, не является симметричным, является антисимметричным (тривиально), является транзитивным. 419
Глава 8. Практикум по решению упражнений и задач Р8.471. Ясно, что это отношение рефлексивно, симметрично, не является антисимметричным. Действительно, 4 и 2 связаны этим отношением. 2 и 4 также связаны этим отношением, однако 2^4. Это отношение является транзитивным. Действительно, это отношение на множестве натуральных чисел на самом деле таково: «любые два четных числа связаны отношением, любые два нечетных числа связаны этим отношением, а числа разной четности не связаны между собой», поэтому в нашем случае (тап)!к(пар) означает, что все три числа либо четны, либо нечетны, но так или иначе мы получаем, что тар. Р8.473. Ясно, что рефлексивность имеет место, так как для любого χ справедливо равенство f(x) = f(x). Симметричность также имеет место, так как из равенства f(xi) = /(^2) следует равенство /(^2) = f(xi)· Транзитивность также наблюдается, так как из одновременного выполнения равенства f(x\) = /(^2) и равенства f{x2) = /(^з) следует выполнение равенства /Оп) = /Ы. Р8.475. Ясно, что рефлексивность имеет место, так как для любого вещественного числа χ имеет место равенство х2 = х2, симметричность также имеет место, поскольку если х2 = г/2, то и у2 = х2. Ясно, что это отношение транзитивно. Действительно, если х2 = у2 и у2 = ζ2, то χ2 = ζ2. Ясно, что [0]а = {0}, [ζ]α = {-ζ, ζ}, ζ φ 0. Поставим в соответствие классу [ζ]α число \ζ\. Мы получили биективное отображение фактор-множества R/a во множество Я+ = [0; оо). Р8.487. Ясно, что рассматриваемое отношение рефлексивно, симметрично и транзитивно, т. е. является отношением эквивалентности. 420
§ 8.11. Функции алгебры логики Р8.489. Ясно, что рассматриваемое отношение является отношением эквивалентности, так как оно рефлексивно, симметрично и транзитивно. Р8.491. Ясно, что это отношение рефлексивно, транзитивно и антисимметрично, т. е. является отношением порядка. Этот порядок лишь частичный, так как элементы (2; 3) и (3;2) являются несравнимыми. Элементы (1; 2) и (2; 1) являются во множестве №\{(1; 1)} минимальными. Р8.493. Ясно, что отношение «С» является отношением порядка, так как оно рефлексивно, транзитивно и антисимметрично. На данном множестве этот порядок не является линейным, а является лишь частичным порядком, так как {1} и {2;3} несравнимы этим отношением. § 8.11. Функции алгебры логики Напомним, что булевы операции -», A}V образуют полную систему функций. Это означает, что любая функция алгебры логики (<£=> булева функция) может быть задана формулой над ->, Л , V. В частности, х\у = χ · t/, χ "f у = χ У у, х®у = хуУху. Еще одной полной системой функций является {0,1,θ,&}. Формулы пад{0,1,0, &} называют многочленами Жегалкина. Каноническим многочленом Жегалкина называют многочлен Жегалкина, в котором раскрыты скобки и приведены подобные. 421
Глава 8. Практикум по решению упражнений и задач Переменная χι функции f(x\,... ,хп) называется фиктивной, если /(ΧΙ,... ,Х£-1,0,Х|+1,...,Хя) = = f(xi, ... ,Xi_i,l,Xi+i,... ,Xn) . Молено доказать, что переменная χι в функции /(хь... ,хп) фиктивна тогда и только тогда, когда канонический многочлен Жегалкина функции / не содержит переменной хг. 8.496. Найти канонические многочлены Жегалкина следующих булевых функций: а) всех булевых функций из Р2(1), Р2(2); б) Οι -у х2) ~ (х2 ~ хз); в) (χι -> х$) · (х2 0хз); г) χι · х3 V Х2 * Х4; д) (^1 ~ *2) -> 2з; е) (10101100) — столбец значений функции / в ее таблице; ж) (11000100); з) (хг \ х2) Τ хз- 8.497. Найти все фиктивные переменные следующих булевых функций: а) ΧιΧ2 V Х1Х2; б) Х\Х2 V Х2; в) χιΧ2 V χι; Г) (χι -► (х2 -► Х3)) -^ ((Xl -^ Х2) ""► (^1 ""► ^з)); Д) (Χχ -> Х2) ((Х2 -^ Хз) -^ (Xl -^ 2Сз)); е) (χχ —» хг) —>> (х2 —>> χι); ж) (χι -> х2) -ϊ χι. 8.498. Сколько функций содержится во множестве: а) Р0 (п) П Pj (η); б) PQ (η) U Ρχ (η); Β)Ρο(η)\Ρι(η); г)Ро(п)П5(п); д)Ро(п)и5(п); e)Po(n)\5(n); ж)5(п)\Ро(п). 422
§ 8.11. Функции алгебры логики 8.499. Из функций примеров 8.496 и 8.497 выделить все функции, входящие в Р0; в Р^ 8.500. Какие из следующих функций самодвойственны: а) (χχ —>· х2) —>■ х\^\ б) (χχ V Х2 V ~Х\)Х4. УХ\Х2Щ\ в) XlX2 0^1^3 ®Х2ХЪ\ г) (0001001001100111); Д) /(я1,Я2,--.5Я2т+1) = a:i0X20-'0X2m+l®i? 5е{0;1}; е) (χι W X2)(xi VX3)(X2 VX3); ж) (χι Ι Χχ) t^2. 8.501. Из самодвойственной функции / с помощью отождествления переменных и -» получить константу: а) (00111001); б) (хг \ х2) -+ (хг 0 х3); В) (χι VX2VX3)0^1^2^3; г) ΧιΧ2 V ΧχΧ3 V Х2^4 V Хз^4- 8.502. Какие из функций примеров 8.496, 8.497, 8.500 монотонны? 8.503. Из немонотонных функций примеров 8.500 и 8.501 с помощью подстановки констант получить -»х. 8.504. Какие из следующих функций монотонны: а) χι -> (х2 -> хз); б) (00110111); в) χιχ3- (11Φ13); г) ^2 0^3®^3®^i; д) (01100111). 8.505. Какие из функций примеров 8.496, 8.497. 8.500, 8.504 линейны? 8.506. Из нелинейных функций примера 8.505 с помощью 0, 1 и -ι получить Л. 8.507. Выразить с помощью суперпозиций: а) Л и —» через -«, V; б) V и —> через -«, Л; 423
Глава 8. Практикум по решению упражнений и задач в) Л и V через -ι, —»; г) -> через 0, —>; д) -« через 1. ф; е) V через —>; ж) -«, V, Л, —», ~ через ΐ; з) -ι, V, Л, ->, θ через |; и) t через |; к) | через f- 8.508. Доказать полноту следующих систем функций сведением к заведомо полным системам: a) {xit^2}; б) {χι|χ2}; в) {χι—>χ2;χι ®Х2 Шхз}; г) {(1011);(1100001100111100)}. 8.509. С помощью теоремы Поста проверить на полноту следующие системы функций: а) х\х2\ х\ V х2; б) хг -> х2; х\ -> я2х3; в) χχχ2\~χι ~ х2хъ\ г) 0;1;χι(χ2 ~х3)\/х1(х2 0яз); д) -.χ; (0010); (0101110011100011); е) 1; χχ е х2; (^ι -> я2) Τ (я2 ~ я3); (*з Ι (χι - х2)) -> *з; ж) χι —> χ2;~χι; з) χχχ2; х\ VX2; x\ —* x2\ и) Χι ~ X2; ~X\\^X\ —> X~2\ κ) χι—>χ2;0; χι ~ x2; л) xi©x2;x"i; m) xix2 VX1X3 \/х2хз;0; 1; h) xix2VxiX3; x\\ x\ —¥ x2. 8.510. Из полных систем примера 8.509 выделить все возможные базисы, т. е. такие полные подсистемы, у которых ни одна собственная подсистема не является полной. 8.511. Доказать, что если система функций {/1?/2?..., /т} полна, то и система {/£, /2,..., f*n} также полна. 8.512. Какие из указанных систем функций являются замкнутыми: а) Р2(1); б) Р2(2); в) Р2; r)P0nPi; fl)ftUPi; e) Р0\РЬ 424
§ 8.11. Функции алгебры логики 8.513. Доказать, что пересечение функционально замкнутых классов является функционально замкнутым классом. 8.514. Доказать, что если множество Л4 функционально замкнутый класс, то ЛА* — множество, состоящее из функций, двойственных к функциям из Л4, также является функционально замкнутым классом. 8.515. Доказать, что если М^0И^^2И [М] = М, то Р2\Л4 незамкнуто. 8.516. Обозначим М~ множество монотонно убывающих булевых функций. Доказать, что М~ и Μ U Μ~ незамкнуты. 8.517. Доказать, что для монотонности функции, отличной от константы, необходимо и достаточно, чтобы она представлялась в виде суперпозиции конъюнкций и дизъюнкций (ф> / Ε [V, Л]). 8.518. Доказать, что / Ε Μ <=> /* Ε Μ. 8.519. Найти Μ Π (Ρ2\Ρο), Μ Π (ft\ft). 8.520. К какому наименьшему числу переменных можно свести немонотонную функцию с сохранением немонотонности, отождествляя ее переменные? 8.521. Найти Р2 (2) \(Р0 U Pi U L U S U Μ). 8.522. Найти все функции, которые можно получить, отождествляя переменные из следующих функций: а) (10010110); б) (11111101); в) Х\Х2 V Х2^3 V Х1Хз; г) X 1X2^3 θ Χ2^3 θ ^3^1 © х2 θ 1. 425
Глава 8. Практикум по решению упражнений и задач Решения Р8.497а. Преобразуем рассматриваемую функцию: χχχ2 V χιχ2 = #ι0ε2 V ^2) — Χι - 1 = Χι· Ясно, что х2 — фиктивная переменная. Р8.4976. Преобразуем рассматриваемую функцию: . , закон Я71 · Х2 V XI = XI. поглощения Ясно, что х2 — фиктивная переменная. Р8.497в. Преобразуем рассматриваемую функцию: (xi -Ϊ Хз) ♦ (Х2 θ Хз) = (хГ V Хз) · (Х2 θ Хз) = = (хТ · хз θ χΤ θ хз θ 1) · (χ2 θ хз) = = ({χι θ 1) · хз θ (χι θ 1) θ хз θ 1) · (х2 θ хз) = =(χχ · χ3 θ χι θ 1)(χ2 θ χ3) = = Χι ♦ Χ2 ♦ Хз θ Χι ' Χ2 θ χ2 ® χ3· Так как в каноническом многочлене Жегалкина содержатся все переменные, то функция не имеет фиктивных переменных. Р8.501а. Будем решать этот пример, следуя доказательству леммы о несамодвойственных функциях. Восстановим таблицу функции: Xl X2 ХЗ Г ~о—о—о~~о~ 0 0 10 0 10 1 0 111 10 0 1 10 10 110 0 1111 Найдем в таблице функции такой набор значений переменных (αχ, α2,..., αη), для которого выполнено /(αι,α2,... ,αη) = /(αι,α2?... ,αη). Ясно, что таковым является набор (001). Теперь перейдем от табличного 426
§ 8.11. Функции алгебры логики задания функции к ее заданию с помощью формулы. Для этого построим ее СДНФ: XI · Х2 · ХЗ V XI · Х2 · ^3 V Х\ ♦ Х~2 ' Хз V Х1Х2Х3· Преобразуем полученное с целью упрощения: XI · Х2 ' ХЗ V xl · Х2 · ХЗ V XI * Х2 · ХЗ V Х1Х2ХЗ = = XI * Х2 · (хз V Хз) V XI · (Х2 · ХЗ V Х2Хз) = = Χι · Х2 V Χι · (Х2 · Хз V ^2^з)· С помощью выбранного набора значений (001) образуем функцию ψ{χ) — /(χαι,χα2,... ,xttn). В нашем случае это означает, что нужно х\ и Х2 заменить на х, а вместо хз подставить х. В результате получаем φ(χ) =х ♦ χ V χ · (χ · χ V хх) = 0 V χ · (0 V 0) = 0. Р8.503. Возьмем функцию из примера 8.500а, рассмотрим ее таблицу истинности: Xl X2 ХЗ Г ~о—о—о~~о~ 0 0 10 0 10 0 0 110 10 0 1 10 11 110 0 1111 Найдем в таблице два набора значений переменных, на которых происходит нарушение монотонности. Таковыми являются наборы (100) и (110). Действительно, первый из них «младше» второго в смысле введенного отношения частичного порядка -< (см. в § 5.4), а на нем функция принимает большее значение, чем на втором наборе. Теперь перейдем от табличного задания функции к ее заданию с помощью формулы. Для этого построим ее СДНФ: χι · Х2 ♦ хз V χι ♦ Х2 · хз V х\ ♦ Х2 · хз V χχΧ2Χ3· 427
Глава 8. Практикум по решению упражнений и задач Преобразуем полученное с целью упрощения: Х~1 ♦ Х2 · Х"з V ~Х\ · Х2 * ХЪ V х\ '%2' ^3 V Х1Х2Х3 = = XlX2- (х"з V Хз) V Х\ · (Х2 ' 2\3 V Х2^з) = = XI · Х2 V ^1 · {х2 · #3 V Х2^з)· Далее будем следовать доказательству леммы о немонотонных функциях. Для этого, используя найденные наборы, образуем функцию j(x), подставим по местам совпадений значений в наборах вместо переменных эти значения, а по местам переменных, где значения в наборах не совпадают, подставим переменную х. В нашем случае вместо первой переменной нужно подставить 1, вместо третьей переменной нужно подставить 0, а вместо второй переменной — х. 7 (х) = Τ · χ V 1 · (χ ♦ О V χ ♦ 0) = 0 V (х ♦ 1 V 0) = х. Р8.507а. Ясно, что xAy = xVt/, х—>>у = х\/г/. Р8.5076. Ясно, что х\/у = хЛу,х-^у = хЛу. Р8.507в. Ясно, что xVy = x—> у.х /\у — χ —>у. Р8.509а. Для каждой из функций нужно заполнить ее строку в таблице Поста («плюс» ставится в клетке, если функция принадлежит соответствующему классу функций, а «минус» — если функция не принадлежит классу). Р0 Рх L S ~Ж~ XI · Х2 + + - - + XI V Х2 + + - - + Далее необходимо провести анализ таблицы. Согласно теореме Поста рассматриваемое множество функций полно тогда и только тогда, когда в каждом столбце таблицы Поста имеется хотя бы один минус. Анализ вы- 428
§ 8.11. Функции алгебры логики шеуказанной таблицы дает нам, что рассматриваемое множество функций не является полным множеством. Р8.5096. Для облегчения ответов на вопросы о самодвойственности и монотонности для второй функции построим ее таблицу истинности: Χχ Х2 Хз XI —Ь ^2 · х3 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 0 Для каждой из функций нужно заполнить ее строку в таблице Поста («плюс» ставится в клетке, если функция принадлежит соответствующему классу функций, а «минус» — если функция не принадлежит классу). ~ Р0 Рг L 5~~М" хг -> х2 - + — — — XI —» Х2 ' ХЗ — — — — — Далее необходимо провести анализ таблицы. Согласно теореме Поста рассматриваемое множество функций полно тогда и только тогда, когда в каждом столбце таблицы Поста имеется хотя бы один «минус». Ясно, что рассматриваемое множество функций является полным множеством. Более того, уже одна функция χ ι —» х2 ♦ хз образует полное множество. Р8.511. Начнем с тривиальных утверждений. А. Если/ £Р0, то/* i Рг. 429
Глава 8. Практикум по решению упражнений и задач Б. Если/g Pi, то/* iPQ. Перейдем к более сложным. В. Если / $ S, то /* i S. Действительно, f£S<=>f=fif*. Учитывая, что / = (/*)*, последнее неравенство можно переписать в виде $*ф (/*)*. Это и означает, что /* £ S. Г. Если / £ М, то /* £ М. Действительно, / ^ Μ равносильно тому, что существуют наборы значений (αϊ, α2,..., αη) и (/3χ, /?2,..., /3η), ЧТО (Ql,Qf2, ,«п) -< (βΐ,β2,-..,βη) И /(αϊ, Qf2j ... , αη) = 1, /(/Зь/32,...,/Зп) = 0. Вспомним, что означает (аь а2,..., ап) -« (/?ь /32,..., /3η). Это значит, что αϊ < /3ι,α2 < /32,... .αη < βη. Последнее равносильно тому, что αχ > /?ι,α2 > /32,... ,αη > βη. Это равносильно тому, что (βνβ2,...,~βη) -< (аьа2,...,ап). Найдем Γ(βνβ2,...,βη) = /(ft,ft,-,/Зя) =_ 0 = 1 и /*(ai,Q2,...,Qn) = /(αι,α2,...,αη) = 1 = 0. Немонотонность функции /* доказана. Д. Если / φ L, то /* g L. Пусть / — нелинейная функция, это значит, что в его каноническом многочлене Жегалкина присутствует нелинейная часть. Выберем в ней слагаемое наибольшей степени, тогда всю функцию можно записать в виде /(χι,χ2,... , хп) = χι\Χχ2 " - Xik ® (все остальное). «Все остальное» — это (возможно) слагаемые такой же степени, что и первое, но содержащие другие комбинации переменных и слагаемые меньших степеней. Чтобы перейти к двойственной функции, нужно в последнем 430
§ 8.11. Функции алгебры логики равенстве каждую переменную χι, г = 1, 2,..., η заменить на ij®M = 1, 2,... ,га и к правой части добавить ©1. Если раскрыть скобки и привести подобные, то мы получим канонический многочлен Жегалкина функции /* и в нем будет содержаться слагаемое хцХг2 · · · Xik, поскольку оно возникает только один раз при раскрытии скобок. Наличие этого слагаемого и доказывает нелинейность функции /*. Из доказанных нами утверждений следует, что {/χ, /г,..., /η} — полная система функций тогда и только тогда, когда {/j", /|...., /п*} — полная система функций. Р8.517. Поскольку дизъюнкция и конъюнкция монотонны, то в силу теоремы о замкнутости класса монотонных функций (теорема 5.16) мы получаем, что любая функция из [Λ, V] монотонна и отлична от константы. Докажем теперь и обратное. Рассмотрим СДНФ такой функции. Возможны два варианта. А. Она имеет вид χχ·Χ2· · ·χη· В этом случае наша функция уже представлена в требуемом виде. Б. В СДНФ нашей функции есть еще какие-то слагаемые. Покажем, что слагаемого вида х\ · х~2 · * -~хп быть не может. Действительно, наличие этого слагаемого означает, что /(0,0. ...,0) = 1. А так как функция монотонна, то она обязана быть тождественно равной единице, а мы знаем, что наша функция не является константой. Поэтому в любом слагаемом, содержащемся в СДНФ и отличном от х\-Х2- · · хп, имеются переменные без отрицания и переменные, находящиеся под знаком отрицания. Выпишем такое слагаемое, считая, что в нем первые к переменных без знака отрицания, а остальные находятся под знаком отрицания: х\ · Х2· — Xk · •x~k+i· · ·χη. Мы получили, что наша функция на на- 431
Глава 8. Практикум по решению упражнений и задач боре, составленном из единиц, стоящих на первых к местах, и нулей, стоящих на последних η — к местах, равна единице. Из требования монотонности функции следует, что она обязана быть равной единице и на любом наборе значений, который старше этого набора в смысле отношения -<. Любой старший набор можно получить из этого набора, заменив произвольное подмножество нулей единицами. Последнее означает, что в СДНФ нашей функции вместе со слагаемым χι · Х2 · · · Хк ' ^Jfc+i' * * ^п должны содержаться и всевозможные слагаемые, получаемые из него выделением какого-нибудь непустого подмножества из последних η — к переменных и снятием с них знака отрицания. Сгруппируем все такие слагаемые вместе с х\ · Х2 · · · Хк ' * йк+\ * "£п и вынесем за скобки общий множитель. Мы получим следующее: х\ ♦ Х2 · · · Хк' («что-то»). Это «что-то» представляет собой СДНФ функции от переменных хдг+ьХАн-г» ··■ j%n-k и содержит 2П полных совершенных элементарных конъюнкций. Последнее означает, что мы имеем дело с СДНФ функции, тождественно равной 1. Значит, мы показали, что в результате группировки возникло выражение вида х\ ♦ Х2- — Хк- Последовательное применение таких рассуждений показывает, что в нашем случае СДНФ функции может быть приведена к ДНФ, не содержащей отрицаний переменных, т. е. к формуле, содержащей только дизъюнкцию и конъюнкцию. 432
§ 8.12. Машина Тьюринга § 8.12. Машина Тьюринга В этом небольшом параграфе содержатся задачи двух главных типов: • по заданной задаче Тьюринга найти результат ее применения к заданному слову и, т. е. Т(и)\ • построение машины, решающей данный класс задач. Естественные трудности возникают при решении задач второго типа. Мы рекомендуем до составления программы машины, т. е. до заполнения таблицы, задающей программу, тщательно продумать алгоритм, который должен быть реализован программой. В конце решения, т. е. когда программа составлена, не забудьте применить ее к подготовленному тестовому примеру. Составление тестовых примеров - часть науки «Тестирование и верификация программного обеспечения». «Верификация программного обеспечения — более общее понятие, чем тестирование. Целью верификации является достижение гарантии того, что верифицируемый объект (требования или программный код) соответствует требованиям, реализован без непредусмотренных функций и удовлетворяет проектным спецификациям и стандартам» [Синицын С. В., Налютин Н. Ю. Верификация программного обеспечения: курс лекций). По заданной машине Τ с внешним алфавитом А = {|, Л} и слову и найти слово Т(и). Л <71 Л<72 + 1 ИоО 42 1 92-1 Agi + 1 433
Глава 8. Практикум по решению упражнений и задач 8.524. Л 91 Лдз + 1 192 + 1 92 1920 193 + 1 93 191 + 1 |9о0 W2 = I л л| ιζ3 = I I Л Л Л I Выяснить, применима ли машина Тьюринга с внешним алфавитом {|, Л} к слову и,ив случае применимости найти результат. 8.525. Л 91 191 + 1 Л q-i - 1 92 Л<72 - 1 1 90 + 1 Щ U2 8.526. л 91 Agi + 1 192 + 1 92 191-1 Лдз + 1 9з 192 + 1 Л9оО I |л| «ι = | | л | и2 = | л | | | 8.527. Построить машину К2 над алфавитом {|}. 8.528. Построить машину К\ над алфавитом {α;β}. 8.529. Какую функцию натурального аргумента вычисляет машина, заданная программой: Л 91 192 + 1 |9оО 92 92 + 1 |9оО Упростите эту машину. 8.530. Постройте машину, распознающую четность натурального числа. 8.531. Постройте машину Rm, вычисляющую остаток от деления натурального числа на т. 8.532. Постройте машины Тьюринга, вычисляющие следующие функции, заданные на Ν χ N: а) х + у\ б) χ + 2у; в) χ ♦ у\ г) х2 + Зу. 8.533. Постройте машины Тьюринга, вычисляющие следующие функции, определенные на JV: χ + 1, если χ = 2щ 2х, если χ = 2п + 1. а) Зх; б) х2; в) / (х) = 434
§ 8.12. Машина Тьюринга 8.534. Постройте машину над алфавитом { | }, применимую к любому слову четной длины и не применимую к словам нечетной длины. Постройте в алфавите {0; 1} машину X, работающую по правилу: 8.535. Х(1п) = 1Я0 1", neN, an d= aa,- -^а. 8.536. X (0П1") = (01)n, neN. 8.537. X (ln) = ln012ri013n, n e N. 8.538. X (ln01m) = lm01n, n,meN. 8.539. X (ln0m) = { 2τι если п > га; (01)п, если η = га; 0я еслип < га. 8.540. Какую функцию натурального аргумента вычисляет машина X? а) б) 9ι ШТТ лд2 +1 92 Одз + 1 Agi-1 9з Одз + 1 Λ<?4 ~ 1 94 Λ<?4 - 1 95 Лдо + 1 I л I л 91 Λς2 + 1 Λς2 + 1 96 196 + 1 Aq7 - 1 92 194 + 1 Л<?з + 1 97 198-1 93 I 93 - 1 |9o0 98 |98 - 1 Лд9- 1 94 194 + 1 Αφ Η" 1 99 I 99 + 1 Λςι + 1 95 196 + 1 Λς5 + 1 8.541. Какие одноместные функции натурального аргумента в алфавите {|, Л} могут вычислять машины, программы которых содержат только qo и q\l По словесному описанию машин Хз, Х4, ... построить их программы. Внешний алфавит {0; 1; Л} . 8.542. Х3 — начиная с последней единицы массива из единиц, «сдвигает» его на одну ячейку влево и останавливается на первой единице. 435
Глава 8. Практикум по решению упражнений и задач 8.543. Х4 — при заданном I > 1 СЗУ машины, начав с произвольной ячейки, заполненной единицей, движется вправо, не меняя содержимого ячеек, до тех пор, пока не пройдет массив из I + 1 ноля; СЗУ останавливается на следующей ячейке, поместив туда единицу. 8.544. Т$ — при заданном / > 1 СЗУ машины, начав с произвольной ячейки и двигаясь вправо, проставляет подряд I единиц и останавливается на последней из них. 8.545. Те — машина начинает работу с крайней слева непустой ячейки произвольного слова, при заданном I > 1 отыскивает в слове первый слева массив из I + 1 ноля, останавливается на последнем из них (содержимое ячеек не меняется). 8.546. T-j — начав работу с самой левой непустой ячейки, машина отыскивает единицу, примыкающую слева к первому слева массиву из трех нолей, «окаймленному» единицами, СЗУ машины останавливается на найденной единице (содержимое ячеек не меняется). 8.547. Tg — в исходной ячейке печатает ноль, СЗУ сдвигается на одну ячейку влево, и машина останавливается. 8.548. Тд — СЗУ сдвигается на две ячейки вправо от начальной, машина останавливается в состоянии до, если эта ячейка содержит ноль; в состоянии q'0, если эта ячейка содержит единицу. 8.549. Хю — СЗУ передвигается на одну ячейку влево и машина останавливается. 8.550. Гц — отправляясь от начальной ячейки, находит первую единицу и останавливается на следующей за ней ячейке. 8.551. Найдите композиции машин: Х40Х3, ΤβοΤγ^ Тцо Χίο ° ?5. (Машины Тз, Х*?... см. в примерах 8.542 8.550.) 436
§ 8.12. Машина Тьюринга Решения Р8.541. Машин Тьюринга, работающих в алфавите {|,Л}. не так уж много. Попробуем рассуждать «комбинаторно». В программе любой такой машины всего две клетки, а в каждую клетку вписывается тройка (буква, состояние, сдвиг). Таких троек 12 (букв две, состояний два, а сдвигов три), значит, программ, которые можно составить, — 122 = 144. Вывод, который напрашивается: «В рассматриваемом случае имеется 144 машины Тьюринга». Приведенные ниже решения показывают, что наши комбинаторные рассуждения увели нас в сторону от верного ответа. Оказывается, что таких машин Тьюринга не 144, а всего 6 (они перечислены в конце решения). Попробуем рассуждать иначе. Программирование любой такой машины нужно начинать с клетки, соответствующей букве « |» и состоянию «q\». Если в этой клетке записана тройка «|ςιΟ», то такая машина «зацикливается» и неприменима ни к какому слову. Если в клетке записана тройка |<?ι+1. то машина переписывает палочки исходного слова до тех пор, пока не выйдет в этом состоянии на клетку ленты с пустым символом. Теперь нам предстоит программировать клетку, соответствующую паре «Л», «qi». Если в нее мы запишем тройку вида «буква, ςτχ, сдвиг», то получим ситуацию «зацикливания». Рассмотрим варианты: «буква, q^. сдвиг». Их всего шесть. Они приводят к машинам, которые реализуют либо тождественную функцию, либо прибавление к числу единицы. Вернемся к начальному этапу программирования. Если в клетке, соответствующей букве «|» и состоянию «gi», вписана тройка AgiO, то мы должны перейти к програм- 437
Глава 8. Практикум по решению упражнений и задач мированию клетки, соответствующей паре «Л», «q\». Вписав в нее тройку вида «буква, q\, сдвиг», мы получаем ситуацию зацикливания, а вписав тройку вида «буква, до, сдвиг», мы получаем либо тождественную машину, либо машину, которая уменьшает число на единицу. Продолжая наши рассуждения, мы обнаружим, что при всех вариантах будут получаться машины: неприменимые, тождественные, увеличивающие число на единицу, уменьшающие число на единицу, сопоставляющие любому числу число 1, сопоставляющие любому числу пустое слово. Р8.523. Применим данную машину к данному слову. Напоминаем, что в начале работы машина находится в состоянии q\ и «обозревает» первую букву слова. Л Л Л Л Л Л Л Л Л Л 1 Яг Л Л Q2 Л Л Л Л Л Л Л 1 1 42 1 1 ч\ Л Л 42 Л Л Л Л 1 1 1 1 42 1 Яг Л Л 42 Л 42 1 I 41 Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л 438
§ 8.12. Машина Тьюринга Л л л л л л л л л л л л л л л л 42 л 91 л л л Ч\ 1 Яо л л л л л л л л л л л л л л л Все остальные примеры на применение машины к слову решаются аналогично. Р8.527. Обсудим, как должна работать копирующая машина /^2- Для этого вспомним, как мы строили в книге машину, которая удваивала натуральные числа, записанные в унарной системе счисления (см. пример 6.4). Мы сначала заменяли каждую «палочку» (вертикальную черту) слова на букву а, а затем каждую букву заменяли на «палочку» с приписыванием на правом конце слова «палочки». Процесс останавливали, когда все буквы о; были заменены на «палочки». Если бы копирование было однократным, то все можно было бы сделать аналогично, не забыв проставить между словом и его копией разделитель. Двукратное копирование можно осуществить, используя две вспомогательные буквы — α и /3. Для этого сначала первую копию слова изготовим не из «палочек», а из букв /3, а потом перекопируем слово из букв β в еще одно слово из «палочек». Ниже выписана программа полученной машины. 1 α β ▲ Л Я\ 42 ЯЗ ЯА Я5 Яб Я1 98 agi+1 |g2-l |<?з+1 |<?4+1 |gs-l |<?б-1 1^7+1 |<?8-1 jg3+l c*g4+l βς2-1 ,%з+1 £<?4+1 |<?7+1 Αί/2-Ι ^<7з+1 ^94+1 ^9б-1 Д<77+1 Ας2-1 Лд4+1 β?2-1 А<?50 Лд5-1 Ag8-1 |gs-l Лд0+1 Проверьте корректность работы этой машины на тестовом примере. 439
Глава 8. Практикум по решению упражнений и задач Р8.531. Будем использовать унарную систему счисления для записи натуральных чисел, поэтому внешний алфавит машины состоит из двух символов {|; Л}. Обсудим сначала, как мы будем находить остаток от деления числа на га. Для этого нужно, пока это возможно, удалять из унарной записи числа по т штук «|». Когда это станет невозможным, на ленте будет записан остаток. Имеющиеся в алфавите {|; Л} буквы не позволяют записать слово, кодирующее ноль, а это соответствует ситуации, когда число делится на ноль. Расширим наш алфавит буквами 0,1, 2,... ,га — 1 для записи в ячейку ленты полученного остатка. | Л 0 1 2 т — 1 Ч\ Λς2+1 IgoO 42 Лдз+1 2ς00 43 Λς4+1 ЗдоО Q4 ЛЯ5+1 4до0 Чт-1 Чт Лдт+1 Λί?ι+1 m-lgoO OgoO Р8.535. Ясно, что эта машина ничем не отличается от копирующей машины К\ (вместо разделителя ▲ используется «О»), которая в этом случае очень похожа на машину, удваивающую натуральное число, записанное в унарной системе счисления (см. пример 6.4). Расширим исходный алфавит {|; 0; Л} еще одной буквой — {|; 0; а: А}. Работа машины состоит в следующем. Сначала все «палочки» в слове заменяются на а и в конце полученного слова проставляется «0», затем начинается процесс восстановления «|» из о; с дописыванием в конце слова «палочки». (Советуем также посмотреть решение задачи 8.527.) 440
§ 8.13. Графы и их матрицы 1 0 а Л 41 «gi + 1 0q2-i 42 te-i 092-1 1?з + 1 Лдо + 1 9з 1«з + 1 0g3 + 1 192-1 § 8.13. Графы и их матрицы Задачи, приведенные в этом параграфе, разнообразны и трудно классифицируются как по типам, так и по степени сложности. Наряду с тривиальными встречаются и задачи, содержание которых — известные теоремы теории графов. Эти задачи помечены «*». 8.552. Для графов, приведенных на рис. 8.5, 8.6, 8.7. найти матрицу смежности A(G) и матрицу инцидентности B(G): IV О 4 ιν 4 + » *5 III Рис. 8.6 ( i > II 1 —» · —» 1 1 I 2 Рис. 8.7 8.553. Изобразить графы, заданные матрицами A(G) или B(G): /10110\ I00101 a) A(G)= 10010 11010 \oooio/ 441
Глава 8. Практикум по решению упражнений и задач б) B{G) = в) A(G) = ( ° ' -1 1 ι 0 1 о 0 0 -1 1 0 1 0 0 -1 0 -1 0 0 0 1 0 -1 0 0 1 -1 1 0 0 0 -1 0 1 0 0 0 \ -1 1 0 1 ι о ) о 1 1 10 0 0 0 0/ г) B(G) = 1 о о о 1 о -1 о 1 о о -1 о о о о -1 1 о о о /О 1 0 0 0 0 0 0\ 0 0 0 10 0 0 0 00000000 10 0 0 0 0 0 0 0 10 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 10 \1 О / о о о о о - -1 \ ι о о о -1 о о 1 1 о о о о о -1 -ι \ 1 о о о о о / 8.554. Дана матрица A (G) или B(G). Найти матрицу B(G) или A(G): 10 11 0 10 1 а) Л(С) = 1 1 \0 0 /-1 б) B(G) = 0 0 1 1 о χ; ι о/ 1 0 0 -1 0 ϊ 0 1 -1 0 0 -1 0 0 1 0 0 1 0 -1 0 0 \ 0 ' -1 0 ι 1 J 442
§ 8.13. Графы и их матрицы в) A(G) = 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 г) B(G) = /1 О о о о о -1 1 0 -I1 1 О о о \ О -1 О О/ 8.555. Найти компоненты связности и сильной связности графов, изображенных на рис. 8.8, 8.9, 8.10, 8.11, и их числа связности и сильной связности — c(G) и sc(G). /\ Рис. 8.8 >ис. 8.9 Рис. 8.10 •—* « * *—►—-ь* Рис. 8.11 8.556. Найти компоненты связности и сильной связности графов, заданных матрицами A(G) и B{G), и их числа связности и сильной связности — c(G) и sc(G): /0 1 1 0 1\ 00111 a) A(G) = б) B(G) = 10010 10000 \ooooo/ /0 0 1-1 -10 0 0 1-10 0 0 1-10 \о о о ι 0 -1 -1 1 о о о о 1 0 -1 о 1 о/ 443
Глава 8. Практикум по решению упражнений и задач в) A(G) = г) B(G) = /О 1 0 0 0 0 0 0\ 0 0 0 10 0 0 0 00000000 0 0 0 0 10 0 0 10 0 0 0 0 0 0 0 10 0 0 0 10 0 0 0 0 0 0 0 1 \0 0000010/ / 0 0 0 0 0 1 -1\ 0 0 0 0 0 0 1 0 0 0-1000 0-11 1-1-10 -110 0 10 0 \1 0-10 О О О/ /0001100\ 0001100 0000010 д) A(G)= | 0000100 0000000 0000010 \0010000/ 8.557. Для графов примеров 8.555, 8.556 найти матрицы достижимости и сильной достижимости вершин и компоненты связности и сильной связности этих графов. Матрицей достижимости графа G (X, U, /) X = {χχ,Χ2, ■■■ ,хп} называется матрица D(G) = (dig) Ρ03' мера η χ η (η G |Х|), определенная следующим: 1, если Xi и Xj находятся в одной компоненте связности; 0, в противном случае. Матрицей сильной достижимости называется матрица sD (G) = (sdij) размера η χ η, определяемая следующим: Щд — 444
§ 8.13. Графы и их матрицы sdij = ( 1, если Xi и Xj находятся в одной компоненте сильной связности; ^ О, в противном случае. 8.558. Для графов примеров 8.553, 8.554, 8.556 найти deg+x, deg_x, degx; χ Ε Χ. 8.559. Для графов примеров 8.555, 8.556 найти конденсацию, т. е. граф, вершины которого — компоненты сильной связности исходного графа, а дуги — дуги исходного графа, ведущие из одной его сильной компоненты в другую. 8.560. Найти мосты, блоки и точки сочленения графов примеров 8.553, 8.555, 8.556. 8.561. Пользуясь алгоритмом Краскала, найдите легчайшее покрывающее дерево графов, заданных рис. 8.12 (цифры около дуг — веса дуг): а) Рис. 8.12 8.562*. Доказать, что любые два диаметра (простая цепь максимальной длины) связного графа имеют хотя бы одну общую вершину. 445
Глава 8. Практикум по решению упражнений и задач 8.563*. Каково максимальное количество висячих вершин дерева с η вершинами? 8.564. Нарисуйте все неизоморфные между собой неориентированные деревья с тремя, четырьмя вершинами. 8.565. Нарисуйте все неизоморфные между собой ориентированные деревья с тремя вершинами. 8.566. Нарисуйте все неизоморфные между собой помеченные неориентированные деревья с тремя вершинами. 8.567. Нарисуйте все неизоморфные между собой помеченные ориентированные деревья с тремя вершинами. 8.568*. Докажите, что если В\, В^ — блоки графа G, то В\ Π ί?2 = 0 V ({χ} Ι χ Ε X их — точка сочленения G). 8.569. Для графов, приведенных на рис. 8.3а, 8.135, 8.13в, найти длины кратчайших путей от вершины х\ до всех остальных (около дуги в кружке — ее вес). 8.570. Для графов задачи 8.569 восстановить кратчайшие пути из χι BXg; из χχ в χγ. 8.571*. Докажите, что конденсация любого графа (определение конденсации см. задачу 8.559) — граф, не содержащий циклов. 446
§ 8.13. Графы и их матрицы хь з х7 Рис. 8.13в Раскраска графов Определение 8.23. Раскраской неориентированного графа без петель в к цветов называется отображение г, действующее из множества вершин графа в [l,fc]^, удовлетворяющее условию «х, у — смежные вершины» =>г(х) φ г {у). Таким образом, раскрасить граф в к цветов — это значит каждой его вершине присвоить цвет из имеющихся к так, что любые две смежные вершины были окрашены в разные цвета. 447
Глава 8. Практикум по решению упражнений и задач Определение 8.24. Хроматическим числом графа G называется наименьшее к, при котором существует хотя бы одна раскраска. Хроматическое число обозначают x(G). Определение 8.25. Хроматической функцией графа называют отображение /q : JV —¥ Z+, определенное следующим: Jq{x) = «число способов раскраски графа Gex цветов». 8.572*. Докажите, что 1 < χ (G) < \Х\. X — множество вершин конечного графа G. 8.573*. Докажите, что fKn (χ) = χ(χ-1)(χ-2)··-(χ-η + Ι), (8.7) где Кп — полный граф с η вершинами (см. определение 7.9). 8.574*. Докажите, что если у, ζ — несмежные вершины графа G. то /G (х) = hv-> И + /gv=, (χ), (8.8) где Gy-Z — граф, полученный из G добавлением дуги, соединяющей вершины у и ζ; Gy=z — граф, полученный из G отождествлением вершин у и ζ (см. рис. 8.14). Рис. 8.14 448
§ 8.13. Графы и их матрицы 8.575*. Докажите с помощью утверждений задач 8.573 и 8.574, что хроматическая функция графа с η вершинами — многочлен 71-й степени с целыми коэффициентами. 8.576*. Докажите, что в разложении хроматического многочлена /с(%) по степеням χ старший коэффициент равен 1, а его свободный член равен 0. 8.577*. Докажите, что если граф G содержит Кт в качестве подграфа, то хроматический многочлен fc(x) делится на /кт(х)· 8.578 Найдите хроматические многочлены и хроматические числа графов, приведенных на рис. 8.8, 8.10 и 8.11. Решения Р8.553а. Поскольку матрица смежности вершин графа A(G) имеет размер 5 х 5, то граф имеет пять вершин, элементы этой матрицы, равные единице, определяют дуги графа. Если (A(G))· =1, то на графе существует дуга, ведущая из г-й вершины в j-ю. Изобразим граф, имеющий заданную матрицу A(G) (см. рис. 8.15, кружки с цифрами внутри — вершины графа). Рис. 8.15 Р8.5536. Количество строк этой матрицы — количество вершин графа, а каждый столбец соответствует дуге гра- 449
Глава 8. Практикум по решению упражнений и задач фа. «Минус единица» стоит на месте, соответствующем вершине, в которой дуга начинается, а «плюс единица» стоит на месте, соответствующем вершине, в которой дуга заканчивается. Нарисуем граф, имеющий заданную матрицу инцидентности B(G) (см. рис. 8.16). Рис. 8.16 Р8.555. Когда граф задан совсем простой «картинкой» (как в этом случае), найти компоненты связности и сильной связности не представляет большого труда. Ясно, что в случае графа, изображенного на рис. 8.8, он является связным (т. е. состоит из одной компоненты) и c(G) = 1, а его число сильной связности sc(G) = 2, поскольку у него две компоненты сильной связности (одна из них содержит только верхнюю вершину, а в другую входят все остальные вершины). В случае графа, изображенного на рис. 8.9, мы имеем c(G) = 2и sc(G) = 2. У этого графа сильные и слабые компоненты связности совпадают. У графа, изображенного на рис. 8.10, c(G) = 1, sc(G) = 4. Каждая вершина треугольника является сильной компонентой, вершины квадрата порождают еще одну компоненту сильной связности. Р8.557. В случае графов, заданных простой «картинкой», все обстоит достаточно просто — матрицы достижимости и сильной достижимости можно легко выписать, 450
§ 8.13. Графы и их матрицы глядя на рисунок, на котором выделены компоненты связности или сильной связности. Это мы и проделаем для графа, изображенного на рис. 8.8. Поскольку мы будем искать компоненты графа и соответствующие матрицы, вершины графа следует занумеровать. Рис. 8.17а Рис. 8.176 Рисунок 8.17а соответствует компонентам связности, граф состоит из одной компоненты. Рисунок 8.175 соответствует сильным компонентам связности, выделено две компоненты сильной связности. Одна из них порождена вершиной 1, а другая — вершинами 2, 3, 4, 5. Выпишем матрицы связности и сильной связности нашего графа: /11111\ 11111 D{G)= 11111 ; sD{G) = 11111 Viim/ Как находить компоненты /10000\ 01111 01111 01111 \0 1111/ сильной связности не по рисунку, а с помощью матриц графа? Рассмотрим матрицу смежности графа. Единицы этой матрицы соответствуют дугам графа. Дуги графа — это пути длины 1. Что означает, что существует путь длины 2 соединяющий какие-либо две его вершины? Это означает, что существует третья вершина, в которую приходит дуга из начальной вершины этого пути и из которой выходит дуга, ведущая в конечную вершину пути. 451
Глава 8. Практикум по решению упражнений и задач Поэтому если мы хотим построить матрицу, в которой единицы соответствуют наличию путей длины 2. а нули — их отсутствию, то для этого необходимо и достаточно найти булев квадрат матрицы A(G). Ясно, что булев куб этой матрицы определяет на графе наличие — отсутствие путей длины 3 и т. д. Рассмотрим матрицу A'{G) = / V A(G). Это матрица смежности графа, полученного из исходного графа добавлением петель в каждой его вершине. Ясно, что единицы матрицы (A'(G))l2]=(I V A(G))®(I V A(G)) (здесь (££) — знак булевского умножения матриц) определяют наличие путей длины, не большей, чем 2. а нули этой матрицы свидетельствуют об отсутствии таких путей между соответствующими вершинами. Ясно, что матрица (A'(G))'1' определяет наличие — отсутствие путей, длина которых не превосходит 3 и т. д. Самый длинный простой путь на графе, имеющем η вершин, содержит не более чем п—1 дугу, поэтому имеет место стабилизация булевых степеней матрицы A'(G): {A'{G))[n-l] = (A'{G))[n] = · · · . Позиции единиц, стоящих в г'-ой строке стабилизировавшейся матрицы, определяют номера вершин графа, в которые можно попасть, двигаясь по путям, начинающимся в г-и вершине. Позиции единиц, стоящих в г-м столбце стабилизировавшейся матрицы, определяют номера вершин графа, из которых молено попасть, двигаясь по путям, в г-ю вершину. Эти множества обозначают Out(xi) и Ent(xi) соответственно. Если мы найдем Out(xi) Π Ent(xi), то определим множество вершин компоненты сильной связности г-й вершины графа, тем самым и саму сильную компоненту. Задача нахождения слабых компонент (компонент связности) 452
§ 8.13. Графы и их матрицы графа сводится к рассмотренной, если к каждой дуге графа добавить дугу противоположного ей направления и на полученном графе искать сильные компоненты (подумайте, почему это так). В матрицах графов это означает, что мы должны построить матрицу A"(G) = A'(G)\/(A'(G))*7 а затем с ней проделать то же самое, что мы делали с матрицей A'(G) (* — знак транспонирования матрицы). Заметим, что в этом случае множества Out(xi) и Ent(xi) обязательно совпадают, поэтому можно обойтись только множеством Out(xi). Найдем с помощью описанного алгоритма компоненты сильной связности графа из примера 8.566а. Выпишем матрицу A'{G) и найдем ее булевы степени (для ускорения процесса найдем матрицу (A'(G))^ возведением в булев квадрат матрицы (A(Gy2* (не находя матрицу (A'(G))W. A'(G) = /111 0 1\ '01111 * 10110 . 10010. \0 0 0 0 1/ (^(0)[21 = /111114 ' 11111 * 11111 11111 \00001/ (A'(G)) И]_ /11111\ 11111 11111 11111 \0 0 0 0 1/ Найдем множество Out(xi) = {xi,X2,X3,%4,%b} и множество Ent(xi) = {χι,Χ2ιχ3ιχ4}- Найдя их пересечение, мы определяем состав компоненты сильной связности Ent(xi) C)Out(xi) = {xi,X2,X3,xa}· Ясно, что есть еще одна компонента сильной связности — {хь}· 453
Глава 8. Практикум по решению упражнений и задач В случае, когда граф задан матрицей B(G), для нахождения компонент связности и сильной связности мы рекомендуем перейти к матрице A(G), а затем искать с ее помощью компоненты связности и сильной связности. Рассмотрим граф из примера 8.5566. Выпишем по матрице B(G) матрицу A(G): A(G) = /О 110 1\ 00111 00010 . 10000. \00000/ Найдем теперь матрицу A'(G) и ее булевы степени: A'(G) = Ί1101\ 01111 00110 10010 ^00001/ ;(^(G))2 = /11111\ 11111 10110 11111 \00001/ /11111\ / 11111 (A'(G))*= lllll I lllll \00001/ Ясно, что мы имеем две компоненты сильной связности — первая имеет множество вершин {χι,Χ2ϊχ3ιχ4}ί вторая — {хб}· Р8.561а. Поскольку граф очень прост, то алгоритм Краскала можно реализовать прямо на «картинке». Дуги, отобранные в состав легчайшего покрывающего дерева, будем помечать плюсом, а дуги, которые не будут включены в его состав, — минусом. Выполняемые этапы будем нумеровать. 454
§ 8.13. Графы и их матрицы 1. + / V 2 4 3\<Г2 Ь Тз 3. +/V 4. Τ3 Нарисуем полученное легчайшее покрывающее дерево (см. рис. 8.19). ■> Рис. 8Л9 Р8.563. Из основной теоремы о деревьях (теорема 7.13) известно, что дерево с η вершинами имеет (п — 1) дугу, тогда по теореме Эйлера (теорема 7.1) сумма степеней всех вершин графа равна 2(п — 1). Степень висячей вершины равна 1. Если на дереве (п — 1) висячая вершина, то должна быть вершина, к которой все они подвешены, ее степень равна (п — 1), и мы получаем необходимую 455
сумму степеней вершин, если же все вершины висячие, то сумма степеней вершин равна п, а не 2(п — 1). Ясно, что дерево с максимальным количеством висячих вершин состоит из одной вершины степени (п — 1), к которой подвешены на дугах висячие вершины. На рис. 8.20 изображено такое дерево с пятью вершинами. X Рис. 8.20 Р8.565. Существует только одно неориентированное дерево с тремя вершинами: Φ # · Рис. 8.21 Существует три неизоморфных ориентации, т. е. три неизоморфных ориентированных дерева с тремя вершинами: • *· >· · >Ф* # ·« · ►·
Предметный указатель А алгебра высказываний булева 16 алгебра матриц булева 162 алгебра множеств 70 алгебра отношений булева 161 алгебра предикатов булева 59, 61 алгоритм 213 алгоритм Дейкстры 290 алгоритм Краскала 287 алфавит 214 алфавит внешний 217 алфавит внутренний 217 алфавит сдвигов 217 алфавит состояний 217, 233 алфавит универсальный 233, 234 антецедент 21 антисимметричность 76, 168 ассоциативность композиции 81 Б базис пространства разрезов 305 базис пространства циклов 301 бином Ньютона 117 бит 25 буква 214
Предметный указатель В вектор-разрез 303 вектор-цикл 295 величина потока 309 вершина 242, 243 вершина висячая 275 вершина изолированная 242 высказывание 15, 16 высказывание истинное 15 высказывание ложное 15 высказывания равносильные 17 Г гипотеза 21 граф 241, 242 граф взвешенный 285 граф геометрический 248 граф квазиэйлеров 267 граф конечный 243 граф неориентированный 241 граф ориентированный 241 граф планарный 250 граф плоский 250 граф полный 250 граф полный двудольный 250 граф помеченный 276 граф эйлеров 264, 265 д дерево 271 дерево покрывающее 286 дерево помеченное 277 диаграмма доминирования 170, 171 458
Предметный указатель диаграмма Хассе 170 дизъюнкция 19 дизъюнкция высказываний 19 дизъюнкция предикатов 59 дизъюнкция элементарная 42 дизъюнкция элементарная полная 42 дизъюнкция элементарная совершенная 42 длина слова 215 дополнение к отношению 161 дополнение к семейству 91 дополнение ко множеству 72 дуга 241, 242 дуги кратные 242 дуги параллельные 242 дуги противоположные 242 3 задача анализа схемы 51 задача о кратчайшем соединении 284 задача о кратчайших путях 289 задача синтеза схемы 50, 51 задача упрощения схемы 51 заключение 21 закон ассоциативный 24, 59, 73 закон двойного дополнения 73 закон двойного отрицания 18, 24, 59 закон идемпотентности 19, 24, 60, 73 закон противоречия 24, 60 законы де Моргана 24, 59, 65, 73 законы де Моргана для семейств 93 законы нуля и единицы 19, 24 законы поглощения 24, 59, 73 459
Предметный указатель замыкание множества (булевых функций) 187 запись слова на бесконечной ленте 215 И изоморфизм графов 246 изоморфизм помеченных графов 276 импликация 20 импликация высказываний 20, 21 импликация предикатов 59 инвертирование 34 итерация машин 228, 229 К квантор всеобщности 62 квантор существования 62 класс линейных функций 191 класс монотонных функций 198 класс предполный 207, 208 класс самодвойственных функций 195 класс функций, сохраняющих единицу 190 класс функций, сохраняющих ноль 188 класс эквивалентности 174 классы Поста 188, 208 кодировка универсальная 233, 234 комбинаторика 95, 96 композиция машин 222, 223 композиция отображений 80 компонента связности 258 компонента сильной связности 259 конец дуги 242 конец пути 251 конец цепи 252 консеквент 21 460
Предметный указатель контур 252 конъюнкция 18 конъюнкция высказываний 18 конъюнкция предикатов 59 конъюнкция элементарная 42, 48 конъюнкция элементарная полная 42 конъюнкция элементарная совершенная 42 коэффициенты биномиальные 122, 133 критерий обратимости 87 критерий обратимости слева 85 критерий обратимости справа 86 критерий полноты 201 критерий тождественной истинности 46 критерий тождественной ложности 47 Л лемма о разложении по переменной 38 лента 215, 217 лес 271, 275 Μ максимальный поток 310 матрица «01» 162, 163 матрица булева 163, 164 матрица инцидентности 282 матрица отношения 162 матрица разрезов 306 матрица смежности 282 матрица цикломатическая 306 матрицы графов 282 машина голосования 51 машина несамоприменимая 234 461
Предметный указатель машина-переключатель 228 машина самоприменимая 234 машина Тьюринга 217 машина Тьюринга заменяющая 221 машина Тьюринга копирующая 221 машина Тьюринга проектор 221 машина Тьюринга с полулентой 224 машина Тьюринга тождественная 221 машина Тьюринга универсальная 236 машина-предикат 228 многочлен Жегалкина канонический 182 многочлены Жегалкина 182 множество 70 множество биективных отображений 114 множество вершин 241 множество дуг 241 множество замкнутое 187 множество инъективных отображений 109, 110 множество истинности предиката 57 множество линейно упорядоченное 169 множество ложности предиката 57 множество подмножеств 76 множество полное 187 множество пустое 71 множество степень 105 множество сюръективных отображений 129 множество универсальное 70 множество упорядоченное 170 множество частично упорядоченное 170 мост графа 260
Предметный указатель Η начало дуги 242 начало пути 251 начало цепи 252 нумерация 97 О образ множества 79 обратимость отображения 84, 377 обратимость отображения односторонняя 84, 376 обратимость отображения слева 84, 379 обратимость отображения справа 84, 379 обращение импликации 22 объединение машин 227 объединение множеств 72 объединение отношений 161 объединение семейства 92 ограничитель неподвижный 224, 226 ограничитель подвижный 225 операции битовые 25 операции логические 17, 25 операции над высказываниями 17 операции над множествами 71 операции над отношениями 161 операции над предикатами 58, 61 операции над семействами множеств 88 операция бинарная 18 операция унарная 18 отношение 159 отношение п-местное 159 отношение бинарное 160, 166 отношение двуместное 160, 166 463
Предметный указатель отношение доминирования 170 отношение порядка 169 отношение порядка линейное 169 отношение порядка частичное 170 отношение эквивалентности 174, 417 отображение 78 отображение биективное 82 отображение инцидентности 241 отображение инъективное 82 отображение сюръективное 82 отождествление переменных 187 отрицание высказывания 18 отрицание предиката 58 Π переменная высказывательная 27 переменная связанная 64 пересечение множеств 72 пересечение отношений 161 пересечение семейства 92 перестановки 116 петля 242 подграф 257 подмножество 76 показатель степени 37 полулента 224 полустепень вершины 243 посылка 21 поток 308 правило суммы 97, 98 предикат 56 переменные предметные 56 464
Предметный указатель предикат нетривиально выполнимый 57 предикат тождественно истинный 57 предикат тождественно ложный 57 принцип двойственности 34, 35 принцип двойственности булев 35 принцип двойственности общий 34 принцип комбинаторики основной 96 проблема алгоритмически неразрешимая 232, 234 проблема алгоритмически разрешимая 232 проблема представления 46 проблема равносильности 46 проблема разрешения 46 проблемы алгебры высказываний 45 программа машины Тьюринга 217, 218 произведение матриц булево 164 произведение множеств декартово 102 прообраз множества 79 пропускная способность разреза 310 пропускная способность сети 309 пространство разрезов 304 пространство циклов 295 путь 251 путь простой 251 Ρ равносильности булевой алгебры высказываний 19, 20, 23, 24 равносильности булевой алгебры предикатов 59 равносильности, содержащие кванторы 65 равносильность предикатов 59 равносильность формул 30 разветвление машин 229 465
Предметный указатель размерность пространства разрезов 304 размерность пространства циклов 296 размещения 115 разность множеств 74 разность множеств симметрическая 75 разрез графа 304, 310 ранг матрицы двоичный 282 ранг формулы 31 реализация графа геометрическая правильная 248 реле 49 реле нормально-замкнутое 49 реле нормально-разомкнутое 49 рефлексивность 167 С самоприменимость 234 свойства бинарных отношений 166, 167 свойства замыкания 187 свойства образов и прообразов 79 свойства сочетаний 122 сдвиг 215 семейство множеств 88, 89 сеть 309 сигнал управляющий 49 символ пустой 215 симметричность 167 система различных представителей 176 склейка слов 214, 215 слово 214 соединение параллельное 50 соединение последовательное 50 соотношение ортогональности 306 466
Предметный указатель сочетания 119 сочетания машин 222 сочетания с повторениями 128 степени множества декартовы 103 степень вершины 243 стрелка Пирса 180 строка битовая 25 сумматор двоичный 53, 54 суперпозиция булевых функций 178, 180 схема из функциональных элементов 54 схема релейно-контактная 50 Τ таблица истинности 26 теорема Кэли 278 теорема о деревьях 272 теорема о классах эквивалентности 175 теорема о подстановке 30 теорема о равносильной подстановке 30 теорема о фиксации значений в формуле 29 теорема о цепях доминирующих элементов 171 теорема Поста 201 теорема Форда — Фалкерсона 310 теорема Эйлера о рукопожатиях 244 теория графов 239, 240 тождество Вандермонда 125 транзитивность 167 треугольник Паскаля 124 У уравнение показательное 37 устройство считывающе-записывающее (СЗУ) 217 устройство управления (УУ) 217 467
Предметный указатель Φ фактор-множество 176 фиксация значений переменных 61 форма нормальная дизъюнктивная 40, 42 форма нормальная дизъюнктивная совершенная (СДНФ) 40 форма нормальная конъюнктивная 41, 43 форма нормальная конъюнктивная совершенная (СКНФ) 40, 41 формула алгебры высказываний 27 формула алгебры высказываний булева 31 формула включения-исключения 99 формула двойственная 33 формула нетривиально выполнимая 45 формула тождественно истинная 45 формула тождественно ложная 45 функции алгебры логики 178 функции булевы 178 функция 78 функция Пирса 180 функция проводимости 49, 50 функция Шеффера 180 ц цепь 251 цепь доминирующих элементов 172 цепь простая 252 цепь эйлерова 267 цикл 252 цикл эйлеров 264 цикломатическое число графа 296 468
Предметный указатель Ч частичный граф 256 число связности графа 258 число сильной связности графа 259 число элементов во множестве 97 Ш штрих Шеффера 180 Э эквиваленция 20 эквиваленция высказываний 20 эквиваленция предикатов 59
Литература [1] Берэю, К. Теория графов и ее применения. — М.: ИЛ, 1962. [2] Биркгоф, Г. Современная прикладная алгебра / Г. Биркгоф, Т. Барти - М.: Мир, 1976. [3] Виленкин, Н. Я. Комбинаторика / Н. Я. Виленкин, А. Н. Виленкин, П. А. Виленкин. - М.: МЦНМО, ФИ- МА, 2006. [4] Виленкин, Н. Я. Популярная комбинаторика. — М.: Наука, 1975. [5] Гаврилов, В. П. Сборник задач по дискретной математике / В. П. Гаврилов, А. А. Сапоженко. — М.: Наука, ФИЗМАТЛИТ, 1977. [6] Горбатов, В. А. Дискретная математика: учебник для студентов втузов / В. А. Горбатов, А. В. Горбатов, М. В. Горбатова. - М.: ACT: Астрель, 2014. [7] Ежов, И. И. Элементы комбинаторики / И. И. Ежов, А. В. Скороход, М. И. Ядренко. — М.: Наука, 1977. [8] Лекции по теории графов. В. А. Емеличев [и др.]. - М.: Наука, 1990. [9] Ершов, Ю. Л. Математическая логика: учеб. пособие для вузов / Ю. Л. Ершов, Е. А. Палютин. — М.: Наука, 1987. 470
Литература [10] Зыков, А. А. Основы теории графов. — М.: Вузовская книга, 2012. [11] Карпов, В. Г. Математическая логика и дискретная математика / В. Г. Карпов, В. А. Мощенский. — Минск: Вышэйшая школа, 1977. [12] Алгоритмы: построение и анализ / Т. Кормен [и др.]. — М.: Вильяме, 2015. [13] Кузнецов, О. П. Дискретная математика для инженера: учеб. пособие. 6-е изд., стер. / О. П. Кузнецов, Г. М. Адельсон-Вельский. — СПб.: Лань, 2009. [14] Кук, Д. Компьютерная математика / Д. Кук, Г. Бейз. — М.: Наука. Главная редакция физико- математической литературы, 1990. [15] Лавров, И. А. Задачи по теории множеств, математической логике и теории алгоритмов: 5-е изд., исправл. / И. А. Лавров, Л. Л. Максимова. — М.: Наука, ФИЗ- МАТЛИТ, 2004. [16] Нефедов, В. Н. Курс дискретной математики: учеб. пособие / В. Н. Нефедов, В. А. Осипова. — М.: Изд-во МАИ, 1992. [17] Новиков, Ф. А. Дискретная математика для программистов : учебник для вузов. 2-е изд. — СПб.: Питер, 2012. [18] Сачков, В. Н. Введение в комбинаторные методы дискретной математики. — М.: Наука, 1982. [19] Свами, М., Графы, сети и алгоритмы / М. Свами, К. Тхуласираман. — М.: Мир, 1984. 471
[20] Татт, У Теория графов. - М.: Мир, 1988. [21] Трахтенброт, Б. А. Алгоритмы и вычислительные автоматы. — М.: Советское радио, 1974. [22] Уилсон, Р. Введение в теорию графов. — М.: Мир, 1977. [23] Фудзисава. Т. Математика для радиоинженеров. Теория дискретных структур / Т. Фудзисава, Т. Каса- ми. — М.: Радио и связь, 1984. [24] Харари, Ф. Теория графов. — М.: Ленанд, 2015. [25] Холл, М. Комбинаторика. — М.: Мир, 1970. [26] Хейфиц, А. И. Элементы комбинаторики. — Ростов н/Д, ИРУ, 1984. [27] Яблонский, С. В. Введение в дискретную математику — 6-е издание, стереотип. — М.: Высшая школа, 2010.
Яков Михайлович ЕРУСАЛИМСКИИ ДИСКРЕТНАЯ МАТЕМАТИКА. ТЕОРИЯ И ПРАКТИКУМ Учебник Зав. редакцией естественнонаучной литературы М. В. Рудкевич Ответственный редактор С. В. Макаров Корретор Ю. Н. Теплова Выпускающий В. А. Иутин ЛР № 065466 от 21.10.97 Гигиенический сертификат 78.01.10.953.П. 1028 от 14.04.2016 г., выдан ЦГСЭН в СПб Издательство «ЛАНЬ» lan@lanbook.ru; www.lanbook.com; 196105, Санкт-Петербург, пр. Юрия Гагарина, 1, лит. А. Тел.: (812) 412-92-72, 336-25-09. Бесплатный звонок по России: 8-800-700-40-71 Подписано в печать 29.03.18. Бумага офсетная. Гарнитура Школьная. Формат 84x108 */з; Печать офсетная. Усл. п. л. 24,99. Тираж 100 экз. Заказ № 201-18. Отпечатано в полном соответствии с качеством предоставленного оригинал-макета в АО «Т8 Издательские технологии». 109316, г. Москва, Волгоградский пр., д. 42, к. 5.