Ерусалимский Я.М., Скороходов В.А. ПРАКТИКУМ по дискретной математике Ростов-на-Дону 2014 г. Стран ица |2 УДК 519.1 ББК 22.176 Е 79 Ерусалимский Я.М., Скороходов В.А. Е 79 Практикум по дискретной математике. Ростов н/Д: Изд-во ЮФУ, 2014– 125 с. ISBN – В основу практикума положены задачи и упражнения из книги «Дискретная математика: теория, задачи, приложения» (авт. Ерусалимский Я.М., М:, Вузовская книга, 2010). Его цель – научить решению задач и упражнений по дискретной математике. Основные разделы практикума: алгебра высказываний, алгебра множеств, предикаты и кванторы, отношения, отображения, комбинаторика, функции алгебры логики, машина Тьюринга, графы и их матрицы. Рекомендуется студентам, изучающим дискретную математику, преподавателям вузов и колледжей. ISBN - УДК 519.1 ББК 22.176 © Я.М. Ерусалимский, В.А.Скороходов, 2014 Оглавление ВВЕДЕНИЕ .......................................................................................................................... 6 АЛГЕБРА ВЫСКАЗЫВАНИЙ ............................................................................................... 7 Решения .................................................................................................................... 10 I.2. Равносильные преобразования и упрощение формул ..................................... 12 Решения .................................................................................................................... 17 I.3. Двойственность в алгебре высказываний ....................................................... 19 Решения .................................................................................................................... 21 I.4. Нормальные формы: ДНФ, КНФ, СДНФ, СКНФ ............................................... 21 Решения .................................................................................................................... 30 I.5. Релейно-контактные схемы и схемы из функциональных элементов ........ 36 Анализ схем .............................................................................................................. 37 Решения .................................................................................................................... 41 АЛГЕБРА ПРЕДИКАТОВ. КВАНТОРЫ ........................................................................... 43 АЛГЕБРА МНОЖЕСТВ ................................................................................................... 47 Решения .................................................................................................................... 50 ОТОБРАЖЕНИЯ ............................................................................................................ 53 Композиция отображений ...................................................................................... 57 Типы отображений. Обратимость и односторонняя обратимость ..................... 59 Задачи и упражнения .............................................................................................. 68 Решения .................................................................................................................... 74 Комбинаторика ........................................................................................................... 78 Решения .................................................................................................................... 83 Отношения ................................................................................................................... 90 Решения .................................................................................................................... 92 Функции алгебры логики ............................................................................................ 95 Решения .................................................................................................................... 99 Машина Тьюринга ..................................................................................................... 105 Стран ица |2 Решения .................................................................................................................. 108 Графы и их матрицы ................................................................................................. 114 Раскраска графов ................................................................................................... 118 Решения .................................................................................................................. 120 ВВЕДЕНИЕ Практикум адресован студентам, изучающим дискретную математику. Его цель – помочь им в решении задач и упражнений. В определении его содержания мы ориентировались на книгу Я. М. Ерусалимский «Дискретная математика: теория, задачи, приложения» (Вузовская книга, М.:11 изд., 2010), далее «книга». Она издана уже 11-ю изданиями и является одним из канонических учебников по дискретной математике. Следуя традиции аналогичных американских практикумов, мы будем подробно разбирать примеры и упражнения, имеющие нечётные номера, которые обычно решают в аудитории, оставляя чётные для самостоятельного разбора. В своих пояснениях мы будем придерживаться разной степени подробности, полагая, что практикум используется не от случая к случаю, а систематически. Приём, используемый первый раз, описывается подробно. Затем он считается уже освоенным и только упоминается. Номера разбираемых примеров мы сохранили такими же, какие были в книге «Дискретная математика: теория, задачи, приложения». Номер примера в разделе «Решения» снабжается буквой «Р», т.е. пример 8.231 в разделе «Решения» обозначается Р8.231. Примеры и задачи, взятые из Дополнения 1 к книге «Дискретная математика: теория, задачи, приложения» (В.А. Скороходов «Методические указания по теме «Отображения»»), включены в текст со своими номерами, к которым добавлено «ОТ», т.е. пример, имевший номер 1.01, обозначается нами ОТ1.01, а в разделе «Решения» - Р ОТ1.01. Нумерация теорем и определений также соответствует книге «Дискретная математика: теория, задачи, приложения». Поскольку мы включили в практикум все примеры из книги, а не только разобранные, его можно использовать и как обычный задачник по дискретной математике. В качестве дополнительных задачников по дискретной математике мы рекомендуем «Задачи и упражнения по дискретной математике» (авт. Гаврилов Г.П., Сапоженко А.А. М:, ФИЗМАТЛИТ, 2009), «Задачи по теории множеств, математической логике, и теории алгоритмов» (авт. Лавров И.А., Максимова Л.Л., М:, ФИЗМАТЛИТ, 2004). Алгебра вы сказыван ий |7 АЛГЕБРА ВЫСКАЗЫВАНИЙ I.1. Таблицы истинности формул алгебры высказываний Примеры этого параграфа самые лёгкие. Для их решения необходимо знать определения логических операций (п. 1.1 книги) и определение формулы алгебры высказываний (п. 1.2). Нужно помнить, что таблица истинности формулы содержит строк, где – количество логических переменных формулы. Каждая строка соответствует конкретному набору значений истинности переменных. Этот набор мы можем считать n-разрядным двоичным числом, расположение строк в таблице соответствуют расположению наборов в лексикографическом порядке (от меньшего двоичного числа к большему). Например, если формула содержит переменные , то в таблице истинности формулы будет 8 строк, и она будет содержать такую «стандартную» часть: 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.2 в книге): Порядок действий определяет последовательность вспомогательных столбцов в таблице истинности. Таблицу истинности рекомендуем заполнять последовательно столбец за столбцом (так вам не придётся «скакать» от одной логической операции к другой). 8|Алгебра высказываний 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 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1 Составить таблицы истинности для следующих формул: 8.1 ; 8.2 8.4 ; ; 8.3 8.5 8.7 ; 8.6 8.8 8.10 ; ; ; 8.9 ; ; 8.11 ; 8.12 ; 8.13 ; 8.14 ; 8.15 ; 8.16 . Пусть щих два значения: – символы булевых переменных (т. е. принимаю). Построить таблицы истинности: 8.17 ; 8.19 ; 8.18 ; 8.20 . Применяя таблицы истинности, доказать тождественную истинность формул: 8.21 ; 8.22 ; 8.23 8.25 ; 8.24 ; 8.26 ; ; Алгебра вы сказыван ий |9 8.27 . 8.29 ; 8.31 8.28 ; 8.30 ; ; 8.32 ; 8.33 ; 8.34 ; 8.35 . Применяя таблицы истинности, доказать равносильность формул: 8.36 ; 8.37 ; 8.38 ; 8.39 ; 8.40 ; 8.41 ; – ; – 8.46 ; 8.47 ; 8.48 8.49 ; ; ; 8.50 8.51 8.52 ; ; . 10 | А л г е б р а в ы с к а з ы в а н и й Решения 8.1. Составить таблицу для формулы . Ясно, что в таблице будет четыре строки и один дополнительный столбец. 0 0 1 1 0 1 0 1 1 0 1 0 1 1 1 0 8.3. Составить таблицу для формулы . Ясно, что в таблице будет четыре строки и один дополнительный столбец. 0 0 1 1 0 1 0 1 0 1 1 1 1 1 1 1 8.5. Составить таблицу для формулы . Ясно, что в таблице будет четыре строки и четыре дополнительных столбца. 0 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 1 0 1 0 1 1 1 0 8.7. Составить таблицу для формулы восемь строк и один дополнительный столбец. 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 8.9. Составить таблицу для формулы восемь строк и один дополнительный столбец. 0 0 0 0 0 1 0 1 0 1 0 0 1 1 1 0 . Ясно, что в таблице будет 1 1 1 1 1 1 0 1 . Ясно, что в таблице будет 0 1 1 А л г е б р а в ы с к а з ы в а н и й | 11 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 1 1 0 0 1 0 1 0 0 1 8.17. Составить таблицу истинности формулы: . Особенность этого примера состоит в том, что внутри формулы содержатся высказывания и . Таблица истинности будет содержать восемь строк и два вспомогательных столбца. 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 0 0 0 1 1 1 0 0 1 1 0 0 1 1 1 0 1 1 0 1 1 8.19. Составить таблицу истинности формулы: . Особенность этого примера состоит в том, что внутри формулы содержатся высказывания и . Таблица истинности будет содержать восемь строк и два вспомогательных столбца. 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 1 1 1 1 0 12 | А л г е б р а в ы с к а з ы в а н и й I.2. Равносильные преобразования и упрощение формул Ключом к решению примеров на равносильные преобразования и упрощение формул являются 19 основных равносильностей булевой алгебры высказываний (теорема 1.2), поэтому первым шагом при решении таких формул является переход к булевым операциям с помощью следующих формул: Успешное решение примера зависит от умелого, эффективного применения основных равносильностей. Следует иметь в виду, что буквы, использованные при записи основных равносильностей, могут означать как символы высказывательных переменных, так и формулы алгебры высказываний, т. е. основная равносильность означает, в частности, что Полезными при решении примеров на упрощение формул являются законы полупоглощения: ; 1’) 2’) , 1 П 1 . Пример 8.2. С помощью равносильных преобразований упростить формулу . Здесь и далее знаки и обозначают соответственно начало и конец доказательства (определения, теоремы и т.п.). А л г е б р а в ы с к а з ы в а н и й | 13 ! Замечание 2. Любую запись а)–д) можно считать ответом. Следующий тип примеров – доказательство равносильности двух заданных формул с помощью равносильных преобразований. Существует три основных схемы решения таких примеров. Каждая из них предполагает выполнение перехода к булевым операциям в исходных формулах. Далее, по первой схеме предполагается, начиная с левой формулы, провести цепочку равносильных преобразований, завершив её на правой формуле. Вторая схема – зеркальное отражение первой. Третья схема предполагает проведение параллельных цепочек равносильных преобразований левой и правой формул до тех пор, пока в этих цепочках не обнаружится совпадение каких-то звеньев (одного звена верхней цепочки с одним звеном нижней). П Пример 8.3. Доказать, что Перейдём к булевым операциям 1-я схема. 2-я схема. 14 | А л г е б р а в ы с к а з ы в а н и й 3-я схема. ! Замечание 3. Следует иметь в виду, что среди примеров на доказательство равносильности формул есть примеры с отрицательным ответом. В этом случае ни одна из схем не приводит к получению ответа. Однако, неудача при использовании схем 1–3 может говорить и о недостаточно высокой технике равносильных преобразований. В случае неудачных попыток применения схем 1–3 следует для обеих формул построить таблицы истинности. Совпадения столбцов значений формул будет означать их равносильность, а несовпадение – неравносильность. Порядок действий и упрощенная запись формул При записи формул приняты соглашения об упрощении записи формул (см. книга § 1.2., замечание 2). Учитывая соглашения о порядке выполнения операций, опустить «лишние» скобки и знак « » в формулах: 8.53 ; 8.54 8.55 ; ; 8.56 ; 8.57 8.58 ; 8.59 ; А л г е б р а в ы с к а з ы в а н и й | 15 8.60 . Восстановить скобки и знак « » в формулах: 8.61 ; 8.62 8.63 ; 8.65 ; 8.64 ; ; 8.66 8.67 ; ; 8.68 ; 8.69 8.70 ; . Применяя равносильные преобразования, доказать следующие соотношения: 8.71 ; 8.73 8.72 ; 8.74 8.75 ; 8.76 8.77 ; 8.78 8.79 ; 8.81 ; ; ; 8.80 ; 8.83 ; ; 8.82 ; ; 8.84 8.85 ; ; 8.86 ; 8.87 ; Применяя равносильные преобразования, доказать тождественную истинность формул: 8.88 8.90 ; 8.89 ; 8.91 8.91.a 8.93 ; ; ; ; 8.92 ; 8.94 ; 16 | А л г е б р а в ы с к а з ы в а н и й 8.95 ; 8.97 ; 8.99 ; 8.96 ; 8.98 ; 8.100 ; – альтернативная диз юнкция 8.101 ; 8.102 ; ; 8.103 8.104 ; . Применяя равносильные преобразования, «упростить»: 8.105 ; 8.106 ; 8.107 ; 8.108 ; 8.109 ; 8.110 ; 8.111 ; 8.112 8.113 ; ; 8.114 . Следующие формулы преобразовать так, чтобы они содержали только « » и « »: 8.115 ; 8.116 8.117 ; 8.118 8.119 ; ; 8.120 8.121 ; 8.123 ; ; ; 8.122 ; 8.124 . Следующие формулы преобразовать так, чтобы они содержали только « » и « »: 8.125 ; 8.126 ; А л г е б р а в ы с к а з ы в а н и й | 17 8.127 ; 8.129 8.128 ; ; 8.130 8.131 ; ; 8.132 . Преобразовать следующие формулы так, чтобы знак отрицания был отнесён только к переменным высказываниям: 8.133 ; 8.135 8.134 ; 8.137 8.136 ; ; ; 8.138 . Преобразовать формулы так, чтобы они содержали только операции « », « » и « »: 8.139 ; 8.141 ; 8.143 8.140 ; 8.142 ; ; 8.144 8.145 ; 8.146 . Решения Р8.53 Учитывая соглашения о старшинстве операций, ассоциативные свойства отдельных операций, опустить лишние скобки и знак « » в формуле . Ясно, что формулу можно записать следующим образом: . Р8.55 Учитывая соглашения о старшинстве операций и ассоциативные свойства отдельных операций, опустить лишние скобки и знак « » в формуле . Ясно, что формулу можно записать следующим образом: . Р8.63 Восстановить скобки и знак « » в формуле формулу можно записать следующим образом: . Ясно, что 18 | А л г е б р а в ы с к а з ы в а н и й или или или . Р8.67 Восстановить скобки и знак « » в формуле Ясно, что формулу можно записать следующим образом: . . Применяя равносильные преобразования доказать следующие равносильности: Р8.71 . Преобразования будем вести от правой части к левой. С помощью закона де Моргана пропустим верхнее отрицание через кон юнкцию, а затем применим закон двойного отрицания. Получаем следующую цепочку равносильностей: . Р8.73 . Преобразования будем вести от правой части к левой. С помощью закона де Моргана пропустим верхнее отрицание через кон юнкцию, а затем применим закон двойного отрицания. И наконец, применим правило раскрытия импликации (вернее её восстановления) Получаем следующую цепочку равносильностей: . Р8.81 . Преобразования будем вести от левой части к правой. Применим дистрибутивный закон (раскроем скобки), затем закон противоречия и идемпотентности, а затем закон поглощения: . Последний переход – применение закона поглощения. Р8.83 . Преобразования будем вести от правой части к левой. Применим правило раскрытия эквиваленции, коммутативный, а затем закон двойного отрицания, коммутативный закон для диз юнкции, после чего восстановим эквиваленцию (применение правила раскрытия в обратном направлении). . Р8.87 . Будем преобразовывать левую часть к правой. Применим закон поглощения к первому и двум последним слагаемым, затем применим закон двойного отрицания ко второму А л г е б р а в ы с к а з ы в а н и й | 19 и третьему слагаемым, затем применим дважды закон полупоглощения и свернём оставшееся в импликацию: Р8.105 С помощью равносильных преобразований упростить формулу . Применим к первому слагаемому закон двойного отрицания, а во втором слагаемом раскроем импликацию и затем скобку (дистрибутивный закон): . I.3. Двойственность в алгебре высказываний Построение (нахождение) двойственной формулы основано на общем и булевом принципах двойственности (теоремы 1.8 и 1.9 в книге). В частности общий принцип утверждает следующее: если формула представляет собой подстановку формул в формулу, то для нахождения двойственной формулы нужно подставить двойственные формулы в двойственную формулу. Булев принцип применим к булевым формулам и утверждает следующее: двойственная к булевой формуле может быть получена из исходной формулы заменами диз юнкции на кон юнкцию, кон юнкции на диз юнкцию, «0» на «1», «1» на «0» и сохранением структуры формулы (должен быть аналогичный порядок действий). Рассмотрим пример. П Найти двойственную к следующей формуле . Ясно, что формулу можно рассматривать как подстановку формул и в формулу . Найдём с помощью булева принципа двойственную к наружной формуле (в которую подставляем): . Найдём двойственные формулы для внутренних (подставляемых формул). Для этого перейдём в них к булевым формулам, а затем применим булев принцип двойственности: . 20 | А л г е б р а в ы с к а з ы в а н и й . Соберём теперь с помощью общего принципа двойственную формулу: Найти двойственные формулы: 8.147 ; 8.148 ; 8.149 ; 8.150 ; 8.151 ; 8.152 ; 8.153 ; 8.154 . Применить закон двойственности к следующим равносильностям: 8.155 ; 8.156 8.157 ; ; 8.158. 8.159 8.160 8.161 8.162 ; ; ; ; . А л г е б р а в ы с к а з ы в а н и й | 21 Решения Р8.147 Найти двойственную к формуле . Так как мы имеем булеву формулу, то можно воспользоваться булевым принципом двойственности: . Р8.149 Найти двойственную к формуле . Так как мы имеем булеву формулу, то можно воспользоваться булевым принципом двойственности: I.4. Нормальные формы: ДНФ, КНФ, СДНФ, СКНФ Нормальные формы – это формулы алгебры высказываний, имеющие стандартную конструкцию. Они бывают двух типов – диз юнктивные и кон юнктивные. Эти конструкции двойственные (двойственная к диз юнктивной форме является кон юнктивной формой и наоборот). Поэтому подробно изучают один из типов и технику работы с ним. Обычно это делается с диз юнктивными формами. Опишем, как возникает совершенная диз юнктивная нормальная форма. Будем считать, что у нас есть три булевых переменных: . Рассмотрим формулу . Ясно, что она истинна только на одном наборе значений переменных – (101). Если мы возьмем другой набор переменных, например, (100), то формула истинна только на этом наборе значений переменных (100). Такие конструкции называют полными совершенными элементарными кон юнкциями. Возьмём диз юнкцию двух построенных нами полных совершенных элементарных кон юнкций . Ясно, что мы построили формулу, множество истинности которой состоит из двух наборов значений переменных (101) и (100). Таким образом, у нас появились «кирпичи» (полные совершенные элементарные кон юнкции – ПСЭКи) и «связующий материал» – диз юнкция, с помощью которых мы можем строить формулы, множество истинности которых нам известно. Такие формулы называют совершенными диз юнктивными нормальными формами (СДНФ). Ясно, что эти конструкции «жёсткие» – разные СДНФ имеют разные множества истинности. Если мы с помощью равносильных преобразований преобразовали исходную фор- 22 | А л г е б р а в ы с к а з ы в а н и й мулу в СДНФ, то, во-первых, мы знаем её множество истинности (т. е. её таблицу истинности), во-вторых, представление формулы в виде СДНФ единственно (с точностью до порядка следования слагаемых). Понятно, что построив СДНФ, мы автоматически имеем таблицу истинности формулы и наоборот, имея таблицу истинности, мы можем выписать СДНФ формулы. Имея теорию СДНФ, можно сформулировать критерий равносильности формул: «Формулы равносильны тогда и только тогда, когда их СДНФ совпадают или одновременно не существуют». (Последнее сказано потому, что у тождественно ложной формулы СДНФ не существует.) Как строить СДНФ с помощью равносильных преобразований? Алгоритм построения СДНФ подобен действиям пастуха, загоняющего барана в кошару, – нужно от исходной формулы двигаться в сторону конструкции, имеющей вид СДНФ. Опишем подробно шаги алгоритма построения СДНФ: Перейти к булевой формуле, т. е. раскрыть импликацию и эквиваленцию. Перейти с помощью закона де Моргана к формуле с «тесными отрицаниями, в которой отрицание встречается не выше, чем над переменной. С помощью дистрибутивного закона сделать диз юнкцию внешней операцией (раскрыть скобки). Привести подобные и опустить тождественно ложные слагаемые. Пополнить элементарные кон юнкции (получившиеся слагаемые) недостающими переменными, повторить п. 4 и остановиться. Рассмотрим пример. В скобках будем указывать номер пункта алгоритма, который будет применяться на следующем шаге преобразований. СДНФ найдена, выпишем таблицу истинности формулы. 0 0 0 0 0 1 0 1 0 1 1 0 А л г е б р а в ы с к а з ы в а н и й | 23 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 1 0 0 0 0 Опишем, как возникает совершенная кон юнктивная нормальная форма. Будем считать, что у нас есть три булевых переменных: . Рассмотрим формулу . Ясно, что она ложна только на одном наборе значений переменных – (010). Если мы возьмём другой набор переменных, например, (011), то формула ложна только на этом наборе значений переменных (011). Такие конструкции называют полными совершенными элементарными диз юнкциями. Возьмём кон юнкцию двух построенных нами полных совершенных элементарных диз юнкций . Ясно, что мы построили формулу, множество ложности которой состоит из двух наборов значений переменных (010) и (011). Таким образом, у нас появились «кирпичи» (полные совершенные элементарные диз юнкции – ПСЭДы) и «связующий материал» – кон юнкция, с помощью которых мы можем строить формулы, множество ложности которых нам известно. Такие формулы называют совершенными кон юнктивными нормальными формами (СКНФ). Ясно, что эти конструкции «жёсткие» – разные СКНФ имеют разные множества ложности. Если мы с помощью равносильных преобразований преобразовали исходную формулу в СКНФ, то, во-первых, мы знаем её множество ложности (т. е. её таблицу истинности), во-вторых, представление формулы в виде СКНФ единственно (с точностью до порядка следования множителей). Понятно, что построив СКНФ, мы автоматически имеем таблицу истинности формулы и наоборот, имея таблицу истинности, мы можем выписать СКНФ формулы. Имея теорию СКНФ, можно сформулировать критерий равносильности формул: «Формулы равносильны тогда и только тогда, когда их СКНФ совпадают или одновременно не существуют». (Последнее сказано потому, что у тождественно истинной формулы СКНФ не существует.) Теперь мы можем выписать алгоритм построения СКНФ: Перейти к булевой формуле, т. е. раскрыть импликацию и эквиваленцию. 24 | А л г е б р а в ы с к а з ы в а н и й Перейти с помощью закона де Моргана к формуле с «тесными отрицаниями, в которой отрицание встречается не выше, чем над переменной. С помощью дистрибутивного закона сделать кон юнкцию внешней операцией (создать скобки). Привести подобные и опустить тождественно истинные множители. Пополнить элементарные диз юнкции (получившиеся множители) недостающими переменными, повторить п. 4 и остановиться. Рассмотрим пример. В скобках будем указывать номер пункта алгоритма, который будет применяться на следующем шаге преобразований. СКНФ найдена, выпишем таблицу истинности формулы. 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 0 0 0 0 Как видим, мы опять получили ту же самую таблицу, что уже получали, когда строили СДНФ нашей формулы. Применение напрямую этого алгоритма психологически сложнее, чем алгоритма нахождения СДНФ, поскольку создавать скобки труднее, чем их раскрывать. Мы рекомендуем применять следующий обходной манёвр – для исходной формулы найти двойственную, затем для двойственной найти её СДНФ, а затем выписать с помощью булева принципа двойственную к полученной СДНФ формулу. Это и будет СКНФ исходной формулы, по- А л г е б р а в ы с к а з ы в а н и й | 25 скольку мы дважды применяли процедуру нахождения двойственной формулы, а любая формула равносильна дважды двойственной к себе. Что же такое диз юнктивная нормальная форма (ДНФ) и что такое кон юнктивная нормальная форма (КНФ)? Конъюнкция переменных и их отрицаний называется элементарной конъюнкцией. Формула, имеющая вид элементарной конъюнкции или дизъюнкции элементарных конъюнкций, называется ДНФ. Ясно, что для любой формулы существует равносильная ей ДНФ. Её можно получить, применив первые три пункта алгоритма построения СДНФ. Дизъюнкция переменных и их отрицаний называется элементарной дизъюнкцией. Формула, имеющая вид элементарной дизъюнкции или конъюнкции элементарных дизъюнкций, называется КНФ. Ясно, что для любой формулы существует равносильная ей КНФ. Её можно получить, применив первые три пункта алгоритма построения СКНФ. Однозначная определённость СДНФ и СКНФ позволяет использовать их для доказательства равносильности формул алгебры высказываний. ДНФ и КНФ определены неоднозначно, поэтому желательно находить наиболее простую их форму. Мы не останавливаемся на нахождении специальных классов таких форм (например, тупиковые формы). Основное предназначение СДНФ, СКНФ – синтез формул, имеющих наперёд заданную таблицу истинности, ДНФ и КНФ используются при реализации формул релейноконтактными схемами. Привести к диз юнктивной нормальной форме (ДНФ): 8.163 ; 8.165 8.167 8.169 8.171 8.164 ; ; 8.166 ; 8.168 ; ; ; 8.170 ; 8.172 Привести к кон юнктивной нормальной форме (КНФ): 8.173 ; 8.174 ; ; . 26 | А л г е б р а в ы с к а з ы в а н и й 8.175 ; 8.176 ; ; 8.177 ; 8.178 8.179 ; 8.180 8.181 ; ; 8.182 . Приведением к нормальной форме выяснить, какие из формул являются тождественно истинными, тождественно ложными, выполнимыми: 8.183 ; 8.184 ; 8.185 ; 8.186 8.187 ; ; 8.188 8.189 ; ; 8.190 ; 8.191 . Для каждой из следующих формул найти диз юнктивное и кон юнктивное разложение: 8.192 ; 8.193 ; 8.194 ; 8.195 8.196 ; 8.197 8.198 8.200 8.199 ; ; ; . Привести к совершенной ДНФ (СДНФ) форме следующие формулы: 8.201 ; 8.202 ; 8.203 ; 8.204 ; 8.205 ; 8.206 8.207 ; ; А л г е б р а в ы с к а з ы в а н и й | 27 8.208 Привести к совершенной КНФ (СКНФ) форме следующие формулы: 8.209 ; 8.210 ; 8.211 ; 8.213 8.212 ; 8.215 ; 8.217 ; 8.214 ; 8.216 ; ; 8.218 . Приведением к совершенным нормальным формам доказать неравносильность следующих формул: 8.219 и 8.220 ; и 8.221 ; и ; 8.222 и 8.223 и ; ; 8.224 и 8.225 ; и 8.226 ; и 8.227 8.228 ; и ; и . Следующие формулы разложить по переменным 8.229 8.230 ; ; 8.231 ; 8.232 8.233 ; . : 28 | А л г е б р а в ы с к а з ы в а н и й Определение 8.1 Формула (посылок) , если называется логическим следствием формул . Выяснить, является ли первая формула логическим следствием остальных формул: 8.234 8.235 8.236 8.237 8.238 8.239 8.240 8.241 8.242 8.243 8.244 8.245 8.246 8.247 8.248 8.249 8.250 . Найти все (с точностью до равносильности) логические следствия из посылок: 8.251 8.252 8.253 8.254 8.255 8.256 8.257 8.258 8.259 8.260 . Найти все (с точностью до равносильности) посылки, логическим следствием которых являются формулы: А л г е б р а в ы с к а з ы в а н и й | 29 8.261 8.262 8.263 8.264 8.265 8.266 8.267 8.268 8.269 8.270 Определение 8.2. Умозаключение вида если формула . называется правильным, является логическим следствием формул . 30 | А л г е б р а в ы с к а з ы в а н и й Докажите правильность умозаключений: 8.271 8.272 8.273 8.274 8.275 8.276 8.277 8.278 8.279 8.280 8.281 8.282 Выяснить, правильны ли следующие умозаключения: 8.283 8.284 8.285 8.287 8.288 8.289 8.290 8.291 8.292 8.286 Решения Р8.163. Найти ДНФ формулы горитма нахождения СДНФ. Применим к формуле пп. 1-3 ал- В результате мы получили ДНФ, состоящую из трёх элементарных кон юнкций (?). Если же полученное записать иначе , то мы получаем СКНФ, состоящую из одной полной совершенной элементарной диз юнкции. А л г е б р а в ы с к а з ы в а н и й | 31 Р8.165. Найти ДНФ формулы 3 алгоритма нахождения СДНФ. Применим к формуле пп. 1- . Заметим, что уже после раскрытия скобок мы получили ДНФ, а потом мы применили закон поглощения, убрав слагаемые, содержащие переменную множителем. В результате мы получили более простую ДНФ. Р8.171 Найти ДНФ формулы к формуле пп. 1-3 алгоритма нахождения СДНФ. Применим Р8.173 Найти КНФ формулы Применим к формуле пп. 1-3 алгоритма нахождения СКНФ: Получена КНФ, состоящая из двух элементарных диз юнкций. Р8.175 Найти КНФ формулы . Перейдем к двойственной формуле, построим для неё ДНФ и найдём для полученной ДНФ двойственную формулу. . Ясно, что мы получили не просто КНФ, а СКНФ. Следующая серия примеров связана с критериями тождественной истинности и тождественной ложности формул. Сформулируем критерий тождественной ложности формулы: «Для того чтобы формула алгебры высказываний была тождественно ложной необходимо и достаточно, чтобы в равносильной ей ДНФ в каждой элементарной конъюнкции встречалась пара - переменная и её отрицание». Ясно, что критерий тождественной истинности формулы является двойственным к сформулированному: «Для того чтобы формула алгебры высказываний было тождественно истинной необходимо и достаточно, чтобы в равносильной её КНФ в каждой элементарной дизъюнкции встречалась пара - переменная и её отрицание». Наличие этих двух критериев позволя- 32 | А л г е б р а в ы с к а з ы в а н и й ет для каждой формулы алгебры высказываний выяснить, какой она является – тождественно истинной, тождественно ложной или нетривиально выполнимой формулой. Р8.183 Выяснить, какой является формула – тождественно истинной, тождественно ложной или нетривиально выполнимой . Приведём нашу формулу к ДНФ. . Мы получили ДНФ, критерий «сработал» в отрицательном смысле, значит, формула не является тождественно ложной (конечно уже видно, что она является тождественно истинной формулой, но мы будем делать вид, что этого не заметили). Приведем нашу формулу к КНФ. Для этого достаточно посмотреть на полученное более внимательно, а именно – поставить наружные скобки: . Мы получили КНФ, состоящую из одной элементарной диз юнкции, применяя к ней критерий тождественной истинности, получаем – формула является тождественно истинной. Р8.185 Выяснить, какой является формула – тождественно истинной, тождественно ложной или нетривиально выполнимой . Приведём нашу формулу к ДНФ. Мы получили ДНФ, критерий «сработал» в отрицательном смысле, значит, формула не является тождественно ложной. Приведем нашу формулу к КНФ. Мы получили КНФ. Критерий тождественной истинности «сработал» в отрицательном смысле (посмотрите на первую элементарную диз юнкцию), значит, формула не является тождественно истинной. Окончательно получаем, формула является нетривиально выполнимой формулой. Следующие примеры связаны с разложениями по переменным. Их два – диз юнктивное и кон юнктивное. Второе – двойственное понятие к первому. В основе диз юнктивного разложения лежит лемма о диз юнктивном разложении (лемма 1.1) по переменной, смысл которой даёт формула: . А л г е б р а в ы с к а з ы в а н и й | 33 Полное диз юнктивное разложение (по всем переменным) можно получить, применяя последовательно эту лемму по всем переменным. Полное кон юнктивное разложение можно получить по следующей схеме: диз юнкт разложение . Р8.195. Найти полные разложения формулы . Найдём полное диз юнктивное разложение, воспользовавшись леммой. Найдём теперь полное кон юнктивное разложение. Заметим, что если в полном диз юнктивном разложении вычислить значения истинности, то получим СДНФ формулы: Если сделать это же в полном кон юнктивном разложении, то получим СКНФ формулы: Р8.201 Найти СДНФ формулы . Формула уже имеет вид ДНФ, нам необходимо довести её до СДНФ (для этого выполняются шаги 5 и 4 алгоритма). Р8.205 Найти СДНФ формулы Ясно, что эта формула является тождественно истинной формулой, поэтому результат уже можно предвидеть, в СДНФ должно содержаться восемь полных совершенных элементарных диз юнкций. Для построения СДНФ применим алгоритм. 34 | А л г е б р а в ы с к а з ы в а н и й Р8.209 Найти СКНФ формулы строения СКНФ. Применим алгоритм по- Р8.215 Найти СКНФ формулы строения СКНФ. Применим алгоритм по- Важным понятием является «логическое следствие». Напомним его определение: «Формула называется логическим следствие посылок , если . Для того чтобы научиться решать эти примеры с помощью СДНФ и СКНФ разберёмся как по СДНФ (СКНФ) формул построить СДНФ (СКНФ) их кон юнкции. Поскольку множество истинности кон юнкции – пересечение множеств истинности сомножителей, то в СДНФ кон юнкции войдут только такие полные совершенные элементарные кон юнкции, которые входят в СДНФ всех сомножителей. Множество ложности кон юнкции – об единение множеств ложности сомножителей, поэтому в СКНФ кон юнкции формул войдут все полные совершенные элементарные диз юнкции, входящие в СКНФ хотя бы одного из сомножителей. Р8.235. Выяснить, является ли первая формула логическим следствием остальных формул . Из соображений здравого смысла ясно, что мы должны получить отрицательный ответ. Построим СДНФ каждой из формул (необходимо считать каждую из них, зависящей от всех переменных). А л г е б р а в ы с к а з ы в а н и й | 35 Найдём теперь СДНФ кон юнкции посылок. . Сравним полученную СДНФ с СДНФ проверяемой на логическое следствие формулы. Мы видим, что в СДНФ кон юнкции посылок имеется полная совершенная элементарная кон юнкция ( ), которой нет в СДНФ проверяемой формулы, значит, данная формула не является логическим следствием данных посылок. Р8.237. Выяснить, является ли первая формула логическим следствием остальных формул . Из соображений здравого смысла ясно, что мы должны получить утвердительный ответ. Построим СДНФ каждой из формул (необходимо считать каждую из них, зависящей от всех переменных). Найдём теперь СДНФ кон юнкции посылок. Сравним полученную СДНФ с СДНФ проверяемой на логическое следствие формулы. Мы видим, что она «содержится» в СДНФ формулы. Значит, формула является логическим следствием этих посылок. Р8.251. Найти все (c точностью до равносильных) логические следствия посылок . Ясно, что СДНФ любого логического следствия должна содержать в себе СДНФ кон юнкции посылок. Поэтому СДНФ логических следствий можно получать «расширением» (в том числе тривиальным) СДНФ кон юнкции посылок. Найдём СДНФ посылок и СДНФ их кон юнкции. Выпишем теперь полные совершенные элементарные кон юнкции, которые не вошли в СДНФ (материал для пополнения): . Теперь мы можем выписать СДНФ всех логических следствий: 36 | А л г е б р а в ы с к а з ы в а н и й Что это за формулы? Ясно, что первая это , вторая – , последняя – тождественная истина (константа 1). , третья - Р8.261 Найти все (с точностью до равносильных) посылки, следствием которых является формула . Ясно, что СДНФ кон юнкции посылок должна быть вложена в СДНФ логического следствия и поэтому такие СДНФ найти легко, что касается самих посылок, то «простор для творчества» велик, начиная от их количества и заканчивая способами их конструирования. Продемонстрируем сказанное на этом примере. Сама формула уже имеет вид СДНФ, выпишем возможные СДНФ кон юнкции посылок. Это . Если же мы договоримся, что посылок две, то тут возможно большое количество вариантов, например, или и т. д. Что касается примеров на проверку правильности умозаключений (8.271–8.292), то они повторяют примеры на логическое следствие, поскольку определение правильности умозаключения (определение 8.2) отсылает нас к понятию «логическое следствие». I.5. Релейно-контактные схемы и схемы из функциональных элементов Задачи синтеза можно решать, используя связь совершенных нормальных форм с таблицами истинности. Перед решением задач этого параграфа просмотрите ещё раз пример 1.23 книги. П Пример 8.19 Построить схему машины экзаменатора, в которой студенту предлагается вопрос и четыре варианта ответа на него, только один из которых правильный. В случае, когда ответ правильный, должно зажигаться табло «ответ верен». Закодируем номера ответов двухразрядными двоичными ми . Студент и машина должны генерировать двух-разрядные управляющие сигналы. Функция проводимости схемы задаётся таблицей А л г е б р а в ы с к а з ы в а н и й | 37 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 Выпишем СДНФ, реализующую данную функцию проводимости, и упростим её. Через обозначены разряды управляющего сигнала студента, – соответствующие разряды управляющего сигнала машины). Схема имеет вид: б) а) Ясно, что схема а) предпочтительней схемы б). Анализ схем П Пример 8.11 Найти функцию проводимости схемы При решении задач такого типа следует помнить, что последовательное соединение реле соответствует кон юнкции, а параллельное – диз юнкции. Полезным является умение преобразовать топологию схемы так, чтобы явно были видны последовательные и параллельные участки схемы. Преобразу- 38 | А л г е б р а в ы с к а з ы в а н и й ем топологию схемы (добавленные участки обозначены пунктиром, удаляемые участки помечены «x»): × × ×× ×× × × Получаем схему: Её функция проводимости задаётся формулой: Значит, более простая схема имеет вид: ! Замечание 5. Существуют схемы, в которых преобразование топологии не приводит к нужному результату (или такое преобразование трудно провести). Например, рассмотрим схему: 1 2 Анализ всевозможных путей прохождения по этой схеме от точки 1 до точки 2 показывает, что эквивалентная схема имеет следующий вид: Функция проводимости исходной схемы задаётся формулой А л г е б р а в ы с к а з ы в а н и й | 39 Проведём теперь преобразование топологии схемы (здесь будут добавляться и удаляться не только проводники, но и реле) × × ×× × Пересечение проводников, не отмеченное жирной точкой, означает их изоляцию друг от друга. Изобразим оставшееся на последней схеме. Составить схемы, реализующие следующие функции: 8.293 8.294 8.295 8.296 8.297 8.298 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 0 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 8.299 Имеется одна лампа в лестничном пролёте двухэтажного дома. Построить схему так, чтобы на каждом этаже своим выключателем можно было гасить и зажигать лампу независимо от положения другого выключателя. 8.300 По установленному сигналу каждый игрок замыкает или размыкает выключатель, находящийся под его управлением. Если оба делают одно и тоже, то выигрывает A, в противном случае – B. Построить схему так, чтобы в случае выигрыша A зажигалась лампочка. 40 | А л г е б р а в ы с к а з ы в а н и й 8.301 Комитет из 5 человек принимает решения большинством голосов. Председатель пользуется правом «вето». Построить схему так, чтобы голосование происходило нажатием кнопок и в случае принятия решения загоралась лампочка. 8.302 Построить схему, управляющую спуском лифта со второго этажа на первый. Условия, определяющие работу лифта, следующие: дверь лифта на первом этаже закрыта, дверь лифта на втором этаже закрыта, пассажир находится в кабине лифта, кнопка вызова на первом этаже нажата, кнопка спуска на первый этаж в кабине нажата. Найти функции проводимости следующих схем, если возможно, упростить схемы: 8.304 8.303 8.305 8.306 8.307 8.308 8.309 А л г е б р а в ы с к а з ы в а н и й | 41 Решения Примеры 8.293–8.297 решаются очень просто, достаточно заданную формулу привести к булевой формуле с тесными отрицаниями и реализовать полученное в виде РКС, имеющей заданную исходной формулой функцию проводимости. Наибольший интерес в этом разделе представляют примеры, связанные с синтезом РКС. Р8.229. Имеется одна лампа в лестничном пролете двухэтажного дома. Построить схему так, чтобы на каждом этаже своим выключателем можно было бы включать и выключать лампу независимо от положения другого выключателя. Ясно, что эти выключатели будут создавать два управляющих сигнала. Положим, что если оба выключателя находятся в положении выключено, т. е. генерируют нулевой сигнал, то лампа в под езде не светится. Далее вся таблица описывающая работу схемы определяется условиями задачи. I 0 0 1 1 II 0 1 0 1 ЛАМПА 0 1 1 0 По единицам таблицы выпишем СДНФ: . Ясно, что упростить формулу не удастся. Нарисуем схему, реализующую полученную формулу: I I II Р8.301. Комитет, состоящий из 5 человек, принимает решения простым большинством голосов, при этом председатель обладает правом «вето». Построить схему, так чтобы голосование происходило нажатием кнопок, и лампочка загоралась в случае положительного решения. Если решение примера начинать с таблицы, то она должна содержать 32 строки и 6 столбцов. Мы обойдёмся без таблицы. Ясно, что реле председателя (П) должно быть подключено последовательно к остальной части схемы. Это позволяет реализовать его право «вето». Далее, для положительного решения к голосу председателя должны присоединиться минимум 42 | А л г е б р а в ы с к а з ы в а н и й два других члена комитета (А, Б, В, Г) поэтому в остальной части схемы должны быть параллельные участки, содержащие последовательно включенные реле двух рядовых членов комитета. Нарисуем теперь эту схему: А Б А В А Г Б В Б Г В Г П А л г е б р а п р е д и к а т о в . К в а н т о р ы | 43 АЛГЕБРА ПРЕДИКАТОВ. КВАНТОРЫ 8.5 Предикаты и кванторы, множества, отображения При решении примеров на доказательство равносильности формул алгебры предикатов следует обращать внимание на следующее: Области определения предикатов, стоящих слева и справа от знака « », должны совпадать. Связанная квантором переменная может обозначаться любой буквой, т. е. Основные равносильности, содержащие кванторы, имеют место в более широком смысле, чем они описаны в теореме 2.4. Например: Какие из следующих предложений являются предикатами? 8.310 делится на 3 ( 8.311 делится на 5; ); 8.312 8.313 8.314 8.315 8.316 8.317 8.318 8.319 Для всякого найдётся такой, что 8.320 Какие из предикатов в примерах 8.310–8.319 тождественно истинны, тождественно ложны, выполнимы? Выделить свободные переменные следующих предикатов: 8.321 8.322 8.323 8.324 44 | А л г е б р а п р е д и к а т о в . К в а н т о р ы 8.325 ; 8.326 Из предикатов примеров 8.310–8.319 образовать с помощью кванторов высказывания, найти их значения истинности. Доказать следующие равносильности: 8.327 8.328 8.329 8.330 8.331 8.332 8.333 8.334 8.335 Ввести необходимые предикаты и с помощью кванторов записать следующие определения, с помощью законов де Моргана получить их отрицания: 8.336 Определение предела числовой последовательности; 8.337 Определение фундаментальной по Коши последовательности; 8.338 Определение предела функции в точке; 8.339 Определение непрерывности функции в точке; 8.340 Определение непрерывной на интервале функции; 8.341 Определение равномерно непрерывной на интервале функции. 8.342 Почему из равномерной непрерывности на ность функции на ? 8.343 Доказать, что существуют предикаты и следует непрерывтакие, что . А л г е б р а п р е д и к а т о в . К в а н т о р ы | 45 8.344 Какие из следующих формул тождественно истинны? РЕШЕНИЯ Р8.311 Является ли предикатом следующее предложение: « делится на 5»? Ясно, что не является, поскольку не указана область определения переменной. Если «исправить» этот «недостаток», то можно получить следующий предикат: « делится на 5, ». Р8.313 Является ли предикатом следующее предложение: « »? Ясно, что не является, поскольку при фиксации значения переменной мы не получаем высказывание. Если «исправить» этот «недостаток», то можно получить, например, следующий предикат: « ». Р8.317 Является ли предикатом следующее предложение: « Ясно, что это предложение задаёт двуместный предикат. »? Р8.321 Выделить свободные переменные предиката: « ». Ясно, что свободной переменной является . Переменная связана квантором всеобщности. Мы не разбираем примеры 8.327–8.335, поскольку они, фактически, повторяют теорему об основных равносильностях, содержащих кванторы (теорема 2.3 в книге). Р8.343 Доказать, что существуют такие предикаты а. ; б. в. ; . , что 46 | А л г е б р а п р е д и к а т о в . К в а н т о р ы Для того, чтобы доказать пункты а. и б. рассмотрим следующие предикаты: « – чётное число, », « – нечётное число, ». « – чётное число, ». Ясно, что эти предикаты не тождественно истинны, а их диз юнкция – тождественно истинный предикат. Они же не являются тождественно ложными предикатами, а их кон юнкция – тождественно ложный предикат. Рассмотрим теперь предикат . Ясно, что А л г е б р а м н о ж е с т в | 47 АЛГЕБРА МНОЖЕСТВ Основным типом примеров следующего пункта является «Доказать равенство множеств, заданных формулами алгебры множеств». Решение таких примеров следует начинать с построения диаграмм Виенна для левой и правой части. Если картинки не совпали, то вы уже решили пример и доказали, что равенства множеств нет. В противном случае вам рекомендуется перейти к формулам алгебры предикатов, определяющим эти множества, и вычислить, равносильны ли они, или, оставаясь в формулах алгебры множеств, перейти к булевым формулам алгебры множеств и воспользоваться основными равенствами булевой алгебры множеств. П Пример 8.12 Доказать, что . Построим диаграммы Виенна левой и правой частей: левая часть правая часть Перейдём к булевым формулам алгебры множеств 48 | А л г е б р а м н о ж е с т в Особое внимание следует уделять решению примеров §2.5, содержащих семейства множеств, так как операции над семействами множеств (см. книга §2.5) вводятся с помощью кванторов («картинку» в таких примерах не нарисуешь и многоточиями не обойдёшься). П Пример 8.13 Доказать, что 8.345 Доказать, что множество всех чётных чисел равно множеству чисел, представимых в виде суммы двух нечётных целых чисел. 8.346 Доказать, что множество ству целых чисел. равно множе, где – множество 8.347 Доказать, что . 8.348 Привести пример таких множеств 8.349 Привести пример множеств что таких, что но . 8.351 Доказать, что тогда и только тогда, когда . 8.352 Доказать, что тогда и только тогда, когда . Доказать равенства: 8.353 ; 8.354 ; 8.355 ; 8.356 ; ; . . 8.350 Доказать, что если 8.357 целых А л г е б р а м н о ж е с т в | 49 8.358 ; 8.359 ; 8.360 . 8.361 Выразить операции через . 8.362 Выразить операции через . 8.363 Выразить операции через . 8.364 Доказать, что нельзя выразить через . 8.365 Доказать, что нельзя выразить через . 8.366 Пусть . Найти . 8.367 Перечислить все подмножества множества подмножества. 8.368 Доказать, что множества . , где ; все собственные – множество всех подмножеств 8.369 Пусть имеется последовательность множеств . Доказать, что для любой неограниченной подпоследовательности натуральных чисел Пусть есть множество всех целых чисел, делящихся на . Найти: 8.370 8.371 ; 8.373 8.374 8.376 Пусть ных на сегменте Найти . 8.372 – 8.375 – множество всех непрерывных функций, определён- 50 | А л г е б р а м н о ж е с т в Доказать: 8.377 8.378 Решения Р8.345 Доказать что множество чётных чисел, совпадает со множеством целых чисел, представимых в виде суммы двух нечётных чисел. 1. Пусть у нас есть два нечетных числа и . Найдём их сумму . Мы видим, что в результате получилось четное число. Тем самым мы доказали, что любой элемент множества чисел, представимых суммой двух нечетных чисел является элементом множества четных чисел. 2. Возьмём теперь произвольное чётное число . Преобразуем последнее выражение следующим образом . И первое и второе слагаемое – нечётные числа. Тем самым теперь мы доказали, что любой элемент множества чётных чисел является элементом множества чисел, представимых в виде суммы двух нечётных чисел. Учитывая пп. 1 и 2 мы доказали равенство этих множеств. Р8.347 Доказать, что множество Ясно, что множество целых чисел, представимых в виде , является подмножеством множества целых чисел. Докажем теперь, что любое целое число можно представить в виде . Мы имеем равенство . Возьмем произвольное целое число . Покажем, что его можно представить в виде . . . Таким образом мы доказали, что множество целых чисел является подмножеством множества чисел представимых в виде . Р8.349 Привести пример таких множеств и , что и . А л г е б р а м н о ж е с т в | 51 Это пример очень прост, несмотря на то, что кажется, что такого вообще не бывает. Приведём пример, который всё расставляет по своим местам. Пусть . Р8.353 Доказать равенство . Р8.359 Доказать равенство . Р8.365 Возьмём произвольное множество . Пусть . Тогда . Покажем теперь, что любая формула, построенная с помощью операций , не может на этих множествах дать универсальное множество. Рассуждения будем вести по индукции, взяв в качестве параметра индукции ранг формулы (количество операций). Пусть – формула ранга 1. Тогда или Докажем, что это (то, что мы получили для формул ранга 1) верно для формулы любого ранга. Допустим, что это верно для любой формулы такой, что , докажем, что тогда это верно и для формулы , . Выделим в нашей формуле последнюю операцию, тогда формула примет вид: а) б) или . В случае а) в силу нашего предположения возможны следующие вари- анты: , 52 | А л г е б р а м н о ж е с т в . В случае б) в силу нашего предположения возможны следующие варианты: Индуктивный переход доказан. Вместе с этим мы доказали, что для любой формулы алгебры множеств, построенной на операциях пересечения и разности множеств невозможно равенство . Это и завершает решение примера. О т о б р а ж е н и я | 53 ОТОБРАЖЕНИЯ В начале этого раздела мы приводим основные понятия, определения и теоремы раздела «Отображения» курса «Дискретная математика». Отображения. Образ и прообраз при отображении Под отображением пониманием тройку где – некоторые множества, а – правило, ставящее в соответствие каждому элементу вполне определённый элемент . ство Если задано отображение то будем писать будем называть областью определения отображения . Множе- П Пример 1. Рассмотрим несколько выражений: Первое выражение не является отображением, поскольку задано только правило и не заданы множества. Второе выражение также не является отображением, поскольку существует такой элемент , для которого не принадлежит множеству . Третье и четвёртое выражения являются отображениями. Пятое выражение также не является отображением, поскольку существует такой элемент , которому ставится в соответствие два различных элемента множества . Два отображения и для любого и считают равными, если имеет место равенство . , Определение 1. Пусть и . Сужением отображения на множество называется отображение определяемое правилом . Отображение называется продолжением на отображения , если . П Пример 2. Рассмотрим два отображения и 54 | О т о б р а ж е н и я , определяемые правилами Отображение является сужением отображения а является продолжением на множество . . на множество , Заметим, что продолжением отображения на множество также является, например, отображение , определяемое правилом: Пусть задано отображение и два множества Определение 2. Прообразом множества при отображении ся множество . Определение 3. Образом множества при отображении множество . , где П Пример 3. Рассмотрим отображение ного отображения найдём: а) б) в) . называетназывается . Для дан. а) По определению, образ некоторого множества при отображении – это множество всех таких элементов, прообраз которых при нии не пуст, т. е. для каждого такого элемента существуют хотя бы один элемент такой, что или, что тоже самое, . Таким образом, образ множества при отображении – это множество всех таких элементов, в которые переводятся элементы множества при отображении . Поскольку речь идет о числовой функции, то для неё построим график (рис. 1 а). На оси построим множество (в данном случае – интервал )), далее рассмотрим проекцию множества на график данной функции. Проекция полученной части графика на ось и будет искомым множеством. Таким образом, . б) Аналогично пункту а), . в) По определению, прообраз некоторого множества при отображении – это множество всех таких элементов, которые переводятся в элементы множества при отображении . О т о б р а ж е н и я | 55 Поскольку речь идёт о числовой функции, то для неё построим график (рис. 1 б). На оси построим множество (в данном случае – полуинтервал )), далее рассмотрим проекцию множества на график данной функции. Проекция полученной части графика на ось и будет искомым множеством. Таким образом, . Теорема Д2.82 (О свойствах образов и прообразов) Пусть ; тогда имеют место соотношения: ; ; ; . 4 1 -1 1 Рис. 1а Рис. 1б Ниже приведён пример такого отображения и таких множеств для которых не выполняется . П Пример 4. Рассмотрим отображение , множества Ясно, что П 2 и , , определяемое правилом . . Пример 5. Рассмотрим отображение , определяемое правилом Буква «Д», стоящая перед номером теоремы, означает что номер теоремы взят из книги «Дискретная математика: теория, задачи, приложения». 56 | О т о б р а ж е н и я Найдём: а) ; б) ; в) . а) На множестве отображение определяется только верхней строкой своего определения и в этом случае действует по правилу , тогда . б) На множестве отображение определяется всеми своими строками. Разобьём данное множество на три подмножества , и , а образ всего множества будем отыскивать в виде об единения образов данных множеств (по теореме о свойствах образов и прообразов), т. е. на интервале отображение определяется только нижней строкой своего определения, значит на отрезке отображение определяется только средней строкой своего определения, следовательно, ; на полуинтервале определяется только верхней строкой своего определения, значит . Таким образом, в) Найдём образ области определения при отображении . По теореме о свойствах образов и прообразов имеем множество соответствует верхней строке определения отображения . На этом множестве это отображение совпадает с тождественным, поэтому на множестве отображение задано формулой , поэтому О т о б р а ж е н и я | 57 на множестве отображение задано формулой , поэтому f ((;1)) (;1) . Получаем , что образ области определения функции равен (;) . Пересечение отрезка и каждого из полученных образов не пусто. Значит, прообраз исходного множества будем разыскивать следующим образом: для каждого из трёх перечисленных случаев будем искать прообраз пересечения данного отрезка и образа соответствующей части области определения. Затем прообраз исходного множества будем отыскивать как об единений полученных прообразов (по теореме о свойствах образов и прообразов), т. е. поскольку в данном по правилу поскольку в данном по правилу случае случае отображение , действует отображение , действует , так как в данном случае . отображение действует по правилу Таким образом, Композиция отображений Определение 4. Пусть называется отображение Композицией отображений , определяемое правилом и 58 | О т о б р а ж е н и я Другими словами, композиция отображений действие отображений и . П Пример 6. Для отображений лами: найдём композицию и – это последовательное , определяемых прави- . Поскольку отыскиваем композицию , т. е. последовательное действие отображений и , необходимо сначала найти образ области определения отображения . Область определения отображения ). состоит из частей ( и Композицию будем отыскивать отдельно для каждой части области определения отображения . Пусть (т. е. верхней строке определения отображения ). В этом случае действует по правилу и множество под действием отображения переводится во множество . На полученном множестве отображение определяется как верхней, так и нижней строкой, поэтому мы ещё не «готовы» к нахождению композиции. Исходное множество разобьём на два подмножества и . Тогда целиком попадает в нижнюю строку определения отображения (т. е. на этом множестве отображение определяется только нижней строкой своего определения), а целиком попадает в верхнюю строку определения отображения . Следовательно, получаем Пусть (т. е. средней строке определения отображения ). В этом случае действует по правилу , поэтому . На этом множестве отображение определяется средней и нижней строкой. Исходное множество разобьём на три подмножества О т о б р а ж е н и я | 59 и . Тогда целиком попадает в среднюю строку определения отображения . Следовательно, получаем Пусть (т. е. нижней строке определения отображения ). В этом случае действует по правилу , поэтому . Это множество целиком попадает в верхнюю строку определения отображения . Следовательно, Окончательно получаем Заметим, что поскольку , можно об единить строки – третью и пятую в одну. Таким образом, имеем Типы отображений. Обратимость и односторонняя обратимость Выделяют три основных типа отображений: ин ективные, сюр ективные и биективные. Определение 5. Отображение для каждого . называется сюръективным, если Определение 6. Отображение для любых , таких что называется инъективным, если выполняется . 60 | О т о б р а ж е н и я Определение 7. Отображение и инъективно и сюръективно. П называется биективным, если оно Пример 7. Рассмотрим несколько отображений: Первое отображение не является ин ективным, поскольку существует такая пара значений и , такие, что (так, например, ), и не являются сюр ективным, поскольку для любого отрицательного значения из множества его прообраз пуст. Второе отображения является сюр ективным, но не является ин ективным. Третье отображение является ин ективным, но не является сюр ективным. Четвёртое и пятое отображения являются биективными, поскольку они и ин ективны, и сюр ективны. Теорема Д2.10 Если их композиция и – ин ективные отображения, то – ин ективное отображение. П Пример 8. Покажем, что обратное утверждение неверно. Рассмотрим отображения и , где и , определяемые правилами Заметим, что отображение – биективное, а следовательно, и ин ективное. Отображение не является ни сюр ективным, ни ин ективным отображением. Однако композиция этих отображений является ин ективным отображением. Действительно, если рассмотреть образ множества при отображении , то можно видеть, что на этом множестве отображение (т. е. сужение отображения на множество ) является ин ективным. Значит, по предыдущей теореме, композиция – ин ективна, О т о б р а ж е н и я | 61 а т. к. отображение равно отображению (поскольку равны множества и одинаковы правила, по которым они действуют). Следовательно, отображение также ин ективно. Теорема Д2.11 Если то их композиция и – сюр ективные отображения, – сюр ективное отображение. П Пример 9. Покажем, что обратное утверждение неверно. Рассмотрим отображения ляемые правилами и , где и , опреде- Заметим, что отображение – сюр ективно. Отображение не является ни ин ективным, ни сюр ективным отображением. Однако композиция этих отображений является сюр ективным отображением. Действительно, пересечение прообраза каждого элемента и образа множества при отображении не пусто, т. е. существует такой элемент . Поскольку , то существует такой элемент , что . Собирая, получим, что для любого элемента существует такой элемент , что , т. е. , а это означает сюр ективность отображения . Теорема Д2.12 Если то их композиция и – биективные отображения, – биективное отображение. Данная теорема – следствие двух предыдущих. Определение 8. Пусть – некоторое множество. Тождественным на отображением называется отображение , определяемое следующим: Ясно, что для любого отображения имеет место Определение 9. Отображение называется обратимым слева (справа), если существует отображение такое, что 62 | О т о б р а ж е н и я Определение 10. Отображение существует отображение Отображение называется обратимым, если такое, что будем называть левым обратным к , – правым обратным к , а – обратным к . Теорема Д2.13 Для того чтобы отображение было обратимым слева, необходимо и достаточно, чтобы было ин ективным. ТеоремаД 2.14 Для того чтобы отображение было обратимым справа, необходимо и достаточно, чтобы было сюр ективным. Теорема Д2.15 Для того чтобы отображение обходимо и достаточно, чтобы было биективным. было обратимым, не- П Пример 10. Найдём обратные отображения (с соответствующей стороны) либо покажем, что соответствующих обратных не существует для следующих отображений: а) б) , по правилу , по правилу в) , по правилу г) , по правилу д) ; ; ; ; , по правилу По критериям обратимости отображений (теоремы Д2.13–Д2.15), существование обратного отображения с соответствующей стороны следует из того, какого типа является исходное отображение (сюр ективное, ин ективное или биективное). Поэтому вначале будем определять тип исходного отображения, а затем уже искать соответствующее обратное отображение. а) , по правилу ; 1. Данное отображение не является ин ективным, поскольку существует такая пара значений и , образы которых совпадают (так, например, О т о б р а ж е н и я | 63 ). Следовательно, это отображение не является обратимым слева, а значит, левого обратного к не существует. 2. Данное отображение не является сюр ективным, так как для любого отрицательного значения его прообраз пуст. Следовательно, это отображение не является обратимым справа, т. е. правого обратного к не существует. 3. Поскольку данное отображение не является ин ективным и не является сюр ективным, значит оно не является и биективным, а следовательно, не является обратимым. б) , по правилу 1. Данное отображение не является ин ективным, поскольку существует такая пара значений и , образы которых совпадают (так, например, ). Следовательно, это отображение не является обратимым слева, а значит, левого обратного к не существует. 2. Данное отображение является сюр ективным. Следовательно, это отображение является обратимым справа, т. е. существует правое обратное к . В качестве правого обратного, пользуясь правилом построения из доказательства теоремы 1.6 (теорема 2.14 из настоящей книги), берём отображение , определяемое правилом . Тогда, . для каждого Заметим, что в данном случае в качестве правого обратного к взять отображение , определяемое правилом элемента можно . 3. Так как данное отображение не является ин ективным, значит оно не является обратимым. в) , по правилу . Данное отображение не является сюр ективным, так как для (т. е. не существует такого , что .) Данное отображение является ин ективным. Действительно, монотонно возрастает на множестве , поэтому на этом множестве не может быть двух разных и таких, что . Для нахождения левого обратного отображения воспользуемся конструкцией из теоре- 64 | О т о б р а ж е н и я мы 2.13. Найдём Тогда . Ясно, что = . можно задать формулой: Ясно, что на множестве ), а на множестве определено однозначно (как мы можем задать его совер- шенно произвольно (лишь бы оно действовало во множество ). 3. Так как данное отображение не является сюр ективным, значит оно не является и биективным, а следовательно не является обратимым. г) , по правилу ; Поскольку данное отображение является биективным, оно является обратимым. В качестве обратного к берём отображение , определяемое правилом Тогда и Это же отображение является одновременно и левым и правым обратным отображением. д) , Заметим, что . Так как полученные множества не пересекаются и покрывают всё множество , то о типе отображения будем судить по типу отображений, задаваемых строками отображения . Рассмотрим отображения: определяемое правилом (первая строка определения отображения ), , определяемое правилом (вторая строка определения отображения ) и , определяемое правилом (третья строка определения отображения ). Все эти отображения являются биективными, поскольку они и ин ективны, и сюр ективны. Множества , и попарно не пересекаются, и их об единение равно R. Следовательно, отображение является биективным. О т о б р а ж е н и я | 65 Отображение – обратное из отображений . Эти в определении отображения . Ясно, что Отображение Отображение к отображению . Сконструируем отображения порождают строки задаётся формулой задаётся формулой задаётся формулой . Собирая все полученные отображения как строки определения отображения , получим П Пример 11. Проверить, является ли следующее отображение ( – множество непрерывных на функций) ин ективным, сюр ективным или биективным и найти обратное к нему с соответствующей стороны: ; 1. Данное отображение не является ин ективным, поскольку существует пара функций , таких что , но для которых выполняется . В качестве таких функций можно взять и . Тогда Таким образом, поскольку отображение то оно не имеет левого обратного. не является ин ективным, 2. Данное отображение не является и сюр ективным, поскольку существуют такие функции, прообраз которых при данном отображении является пустым. Например, для функции , определяемой правилом , нет таких функций, которые при возведении их в квадрат дают . 66 | О т о б р а ж е н и я Таким образом, поскольку отображение не является сюр ективным, оно не обратимо справа, т. е. не имеет правого обратного отображения. 3. Ясно, что это отображение не является биективным и, значит, не имеет обратного отображения. б) Данное отображение является биективным, поскольку оно и ин ективно, и сюр ективно. Однако, доказательство этого – дело довольно «хлопотное». Воспользуемся критерием обратимости отображения (теорема 2.15). Покажем, что у отображения существует обратное отображение. Рассмотрим отображение , заданное формулой и Покажем, что это отображение обратно к . Для этого найдём . Мы доказали, что отображение обратимо. По теореме 2.15 получаем, что отображение является биективным. . Данное отображение является ин ективным, значит, оно обратимо слева. В качестве левого обратного возьмём отображение , определённое правилом Тогда, поскольку , Данное отображение не является сюр ективным, поскольку существуют такие функции, прообраз которых при данном отображении является пустым. Например, для функции , определяемой правилом , нет ни одного отображения такого, что . О т о б р а ж е н и я | 67 Таким образом, поскольку отображение не является сюр ективным, значит оно не является обратимым справа. Поскольку это отображение не является биективным, то обратное отображение не существует. 68 | О т о б р а ж е н и я Задачи и упражнения Определить, являются ли следующие выражения отображениями: ОТ1.1 . ОТ1.2 ОТ1.3 ОТ1.4 ОТ1.5 ОТ1.6 ОТ1.7 ОТ1.8 ОТ1.9 . ОТ1.10 Пусть – произвольное отображение, множества множества . Доказать, что: – произвольные под- 8.379 8.380 8.381 8.382 8.383 8.384 Привести пример, показывающий, что импликация , вообще говоря, не имеет места. 8.385 Доказать, что если и , то Сравните с определением 2.15. О т о б р а ж е н и я | 69 Пусть – произвольное отображение, множества множества . Доказать, что: – произвольные под- 8.386 8.387 8.388 Привести пример, показывающий, что вообще говоря не имеет места. , 8.389 Доказать, что 8.390 Привести пример, показывающий, что вообще говоря не имеет места. , 8.391 8.392 Привести пример, показывающий, что вообще говоря не имеет места. Доказать, что для произвольного подмножества бражения выполняются соотношения: области действия ото- 8.393 8.394 8.395 Доказать, что для произвольного множества отображения имеет место соотношение Пусть области определения . Доказать, что 8.396 8.397 8.398 . ОТ.1.11 Для отображения найти ОТ.1.12 Для отображения , определённого правилом , и . , определённого правилом , 70 | О т о б р а ж е н и я найти ОТ.1.13 Для отображения и , определённого правилом найти ОТ.1.14 Для отображения . и , определённого правилом найти ОТ.1.15 Для отображения и , определённого правилом найти ОТ.1.16 Для отображения и найти ОТ.1.18 Для отображения найти ОТ.1.19 Для отображения . , определённого правилом найти ОТ.1.17 Для отображения . и . , определённого правилом и . , определённого правилом и , определённого правилом О т о б р а ж е н и я | 71 найти ОТ.1.20 Для отображения найти и . , определённого правилом и . Для следующих отображений найти по два различных непрерывных продолжения на множество : ОТ1.21 ОТ1.22 ОТ1.23 ОТ1.24 ОТ1.25 ОТ1.26 ОТ1.27 ОТ1.28 ОТ1.29 ОТ1.30 72 | О т о б р а ж е н и я Для следующих отображений ОТ1.31 ОТ1.32 ОТ1.33 ОТ1.34 ОТ1.35 ОТ1.36 1.37 ОТ1.38 ОТ1.39 найти композицию , : О т о б р а ж е н и я | 73 ОТ1.40 8.407 Пусть для отображения n имеет место равенство и для некоторого натурального числа . Докажите, что отображение ин ективно. 8.408 Докажите, что если f g - ин ективное отображение, то g - ин ективное отображение. 8.409 Докажите, что если f g - сюр ективное отображение, то f - сюр ективное отображение. Проверить, являются ли следующие отображения ин ективными, сюр ективными или биективными, и найти обратные к ним с соответствующей стороны: ОТ1.41 по правилу ОТ1.42 по правилу ОТ1.43 по правилу ОТ1.44 по правилу ОТ1.45 по правилу ОТ1.46 по правилу 74 | О т о б р а ж е н и я ОТ1.47 по правилу ОТ1.48 по правилу Пусть – множество всех вещественных непрерывных функций. Проверить, являются ли следующие отображения ин ективными, сюр ективными, биективными, и найти обратные к ним с соответствующей стороны. 8.417 8.418 ; 8.419 8.420 8.421 8.422 8.423 ОТ.1.49 ОТ.1.50 ОТ.1.51 ОТ.1.52 ОТ.1.53 ОТ.1.54 ОТ.1.56 ОТ.1.57 ОТ.1.58 ОТ.1.60 Решения О т о б р а ж е н и я | 75 Р ОТ1.1 . Ясно, что выражение, стоящее справа, не задает функцию, определенную на множестве R, так как логарифмы отрицательных чисел не существуют. Р ОТ1.3 Ясно, что это функция, действующая из R в R. Р ОТ1.5 Значение выражения, стоящего справа, при принадлежит множеству цию. равно . Это число не , поэтому выражение не задаёт функ- Р8.381 Имеют место равенства: и ( ) Тогда Последние два множества не пересекаются (иначе пересекались бы и ). Значит, второе из них является дополнением к первому (относительно множества ), тогда , учитывая ( ), получаем . 8.383 Так как , то . Учитывая свойство «прообраз об единения равен об единению прообразов», получаем: . Из полученного равенства следует, что . Р8.391 Пусть , а так как , то и . Приступая к решению примеров ОТ1.11 – ОТ1.20 на нахождение образов и прообразов множеств, вернитесь к примеру 3 на стр. 54. Р ОТ1.21 Построение непрерывного продолжения дело довольно простое. Важно, чтобы на оставшейся части множества вещественных чисел было задано непрерывное отображение и чтобы оно на «стыке» принимало то же самое значение 76 | О т о б р а ж е н и я (имело соответствующий односторонний предел), что и имеющееся у нас выражение. В качестве такого непрерывного выражения можно взять, например, постоянную (вариант 1) или линейную функцию (вариант 2). Вариант 1. Рассмотрим в качестве непрерывного продолжения нашего отображения следующую функцию: Вариант 2. Рассмотрим в качестве непрерывного продолжения нашего отображения следующую функцию: Р8.407 Воспользуемся ассоциативностью композиции отображений . Последнее означает, что отображение обратимо слева, тогда по критерию обратимости слева (теорема 2.13) это отображение ин ективно. Ещё раз воспользуемся ассоциативностью композиции отображений . Последнее означает, что отображение обратимо справа, тогда по критерию обратимости справа (теорема 2.14) это отображение сюр ективно. Р8.409 Утверждение будем доказывать от противного, т. е. предположим, что существуют такие отображения , что – сюр ективно, а не является таковым. Отсутствие сюр ективности отображения означает, что во множестве существует такой элемент , у которого . Сюр ективность отображения означает в частности, что . Это означает, что во множестве существует такой элемент , для которого имеет место равенство . Пусть , тогда и . Последнее противоречит тому, что . Приступая к решению примеров ОТ1.31 – ОТ1.40 на нахождение композиции отображений, вернитесь к примеру 6 на стр. 57. О т о б р а ж е н и я | 77 Р ОТ1.41 по правилу Это отображение является «никаким». Оно не является ин ективным за счет периодичности синуса. Оно не является сюр ективным, так как синус принимает только значения, не превосходящие по модулю единицу. Значит, ни о какой обратимости речи быть не может. Р ОТ1.43 по правилу Это отображение множество взаимно однозначно отображает во множество , а множество – во множество . Полученные множества имеют пустое пересечение, а их об единение равно R. Из этого следует, что данное отображение биективно. Для построения обратного отображения необходимо найти обратные отображения к каждой из строк определения исходного отображения, а затем «склеить» из них нужное нам обратное отображение: Р ОТ1.49 Это отображение является «никаким». Оно не ин ективно, поскольку две разные функции и отображаются в одну функцию . Оно не сюрьективно, поскольку . Значит о какой либо обратимости этого отображения говорить не приходится. 78 | К о м б и н а т о р и к а Комбинаторика При решении комбинаторных примеров следует помнить, что: успех в решении зависит от того, насколько верно понято условие; почти не существует «чистых примеров», т. е. таких, в которых срабатывает «готовая формула». П Пример 8.15 В купе с 8 сидячими местами (по 4 на каждом диване) вошло 6 пассажиров, один из которых (N1) согласен сидеть только у окна, двое (N2,N3) – только рядом, один (N4) – по ходу поезда, а двум (N5, N6) безразлично, где сидеть. Сколько способов рассадить пассажиров с учётом их пожеланий? Множество всех способов разобьём на два непересекающихся ва и , отнеся к те способы, когда N1 сидит у окна по ходу поезда, а к – остальные. Ясно, что ответ задачи – (8.1) Займёмся множеством . Разобьём его на непересекающиеся подмножества I, II, III, IV и V в зависимости от того, какие два места занимают N2 и N3 (см. рис. 8.2). N1 N1 N1 N1 I II N1 N1 VI III N1 VII VIII N1 IV N1 IX V N1 X Рис. 8.2 Ясно, что (8.2) Места, помеченные , можно занять двумя способами. В случае I и II N4 занимает единственное свободное место на этом диване, N5 занимает любое из оставшихся 4-х, а N6 – любое из оставшихся 3-х мест. (8.3) В случаях III, IV, V пассажир N4 занимает любое из 3-х свободных мест на диване, где сидит N1, N5 – любое из оставшихся 4-х мест, N6 – любое из оставшихся 3-х свободных мест. Тогда (8.3) Из (8.2), (8.3), (8.4) получаем К о м б и н а т о р и к а | 79 Аналогично для множества Из (8.1) получаем ответ задачи: 264+336=600 (способов). П Пример 8.16 На собрании должны выступать ораторы Сколько способов составить список выступающих так, чтобы пал позже , но не сразу после него? . высту- Количество списков выступающих, когда сняты все ограничения, равно количеству перестановок длины 4, т. е. Разобьём множество списков на пары так, что второй список получается из первого переменой мест ораторов и (например, и ). Количество пар равно . В каждой такой паре один список, в котором выстпает раньше , а другой – где выступает раньше . Значит, списков, в которых выступает раньше , столько же, сколько получилось пар, – 12. Если мы определим количество списков, в которых выступает сразу за (их количество обозначим ), то ответ задачи: (8.5) Подсчитаем . Для этого склеим в одного оратора и рассмотрим, сколько списков можно составить, имея трёх операторов: и . Ясно, что количество списков из трёх ораторов равно (8.6) Окончательно из (8.5) и (8.6) получаем ответ задачи: собов). (спо- Проверка. Выпишем все допустимые списки: 8.425 Найти , если 8.426 Доказать, что если гда, когда . , то тогда и только то- 80 | К о м б и н а т о р и к а 8.427 Равны ли множества 8.428 Пусть и ? и . Доказать, что . 8.429 Пусть ных чисел). Доказать, что если ( – сегмент веществендля дюбых то Доказать равенства: 8.430 ; 8.431 . 8.431 . 8.432 . Задачи 8.433 Из города в город ведёт 5 дорог, а из города 4 дороги. Сколько путей проходящих через ведёт из в ? в город – 8.434 У Тани – 20 марок, у Наташи – 30. Сколькими способами можно осуществить обмен одной Таниной марки на одну Наташину? Двух Таниных на три Наташиных? 8.435 На ферме 20 овец и 24 свиньи. Сколькими способами можно выбрать одну овцу? Одну свинью? Двух животных? Двух животных – одну овцу и одну свинью? 8.436 Из в ведёт 5 дорог. Сколькими способами можно с ездить из в и обратно, если путешествие туда и обратно совершается по разным дорогам? 8.437 В библиотеке 5 учебников геометрии, 7 – тригонометрии, 4 – алгебры. Сколько полных комплектов учебников можно составить? Сколько способов комплектования? (Все экземпляры книг считаются различными, а комплекты не имеют номеров.) 8.438 Сколькими способами можно выбрать три различные краски из имеющихся пяти? К о м б и н а т о р и к а | 81 8.439 Сколькими способами можно составить трёхцветный трёхполосный флаг, если имеется материя пяти различных цветов? То же самое, если средняя полоса должна быть синей? 8.440 Сколько различных флагов их трёх полос можно составить, если имеется материал пяти цветов? (Сравните с предыдущей задачей.) 8.441 Надо послать 6 писем. Сколькими способами это можно сделать, если для доставки писем имеется 3 курьера? 8.442 Сколькими способами можно расставить 7 различных книг га книжной полке? 8.443 На собрании должны выступить 5 человек – А, Б, В, Г, Д. Сколькими способами можно составить список выступающих? То же самое при условии, что В выступает непосредственно перед Г? 8.444 В местком выбрано 9 человек, из них нужно выбрать председателя, заместителя, секретаря и культорга. Сколькими способами это можно сделать, если должности нельзя совмещать? 8.445 В зрительном зале 120 мест. Сколькими способами могут занять места в нём 120 зрителей; 80 зрителей? 8.446 Сколькими способами можно наклеить пять различных марок на пять различных конвертов? 8.447 Сколькими способами на пять различных конвертов можно наклеить по одной марке, если на почте имеется 7 различных видов марок? 8.448 Сколько слов можно получить, переставляя буквы слова «факел», «математика»? 8.449 Сколькими способами можно выбрать открытки для поздравления пяти лиц, если имеется 7 различных открыток? 8.450 Сколькими способами можно купить 5 открыток, если в продаже имеются открытки 7 различных видов? 8.451 В лифт сели 8 человек. Сколькими способами они могут выйти на 4-х этажах, если на каждом этаже должен выйти хотя бы один человек? 82 | К о м б и н а т о р и к а 8.452 Пять различных грузов нужно доставить на этажи строящегося дома. Сколькими способами это можно сделать, если каждый груз можно доставить на любой из пяти этажей? 8.453 У мамы три одинаковых яблока и четыре одинаковых груши. Каждый день, начиная с понедельника и заканчивая воскресеньем, она выдаёт ребёнку по одному плоду в день. Сколькими способами это можно сделать? То же самое, но при условии, что ни в какие два соседних дня не выдаётся однотипный плод? 8.454 Сколько способов разложить 10 одинаковых монет по двум различным карманам? 8.455 Сколько способов разложить 10 одинаковых монет по двум различным карманам так, чтобы оба кармана не были пусты? 8.456 Сколько способов разложить 10 различных монет по двум различным карманам? 8.457 Сколько способов разложить 10 различных монет по двум различным карманам так, чтобы оба кармана не были пусты? 8.458 Сколько способов разложить 10 одинаковых монет по трём различным карманам? 8.459 Сколько способов разложить 10 одинаковых монет по трём различным карманам так, чтобы ни один из карманов не был пустым? 8.460 Сколько способов разложить 10 различных монет по трём различным карманам? 8.461 Сколько способов разложить 10 различных монет по трём различным карманам так, чтобы ни один из карманов не был пустым? 8.462 На карусели четыре одинаковых места для пассажиров. Сколько способов рассадки 4-х пассажиров для катания на карусели? 8.463 То же самое, что и в задаче 8.462, если пассажир имея непосредственно перед собой пассажира ? должен кататься, К о м б и н а т о р и к а | 83 Решения Р8.425 (1;a), (1;b), (2;a), (2;b), (3;a), (3;b). Р8.427 Эти множества не равны, поскольку они состоят из разных элементов. Так, элементами множества являются упорядоченные пары, в каждой из которых вторым элементом является элемент множества , а элементами множества являются упорядоченные пары, вторыми элементами в которых являются упорядоченные пары вида (b;c), в которых . Р8.433 Обозначим через AB множество дорог, ведущих из города A в город B, а через BC – множество дорог, ведущих из города B в город C. Ясно, что дорога, ведущая из города А в город С через город B – это упорядоченная пара (дорога, ведущая из А в B; дорога, ведущая из B в С). Поэтому нам необходимо найти . Р8.437 Первый способ. Ясно, что полный комплект должен содержать по одному учебнику геометрии, тригонометрии и алгебры. Поскольку учебников алгебры меньше всего, то они определяют, что мы можем скомплектовать только четыре полных комплекта учебников. Комплекты не имеют нумерации, но мы сначала будем считать, что они занумерованы. Начнем формировать первый комплект. В него можно включить любой из пяти учебников геометрии, любой из семи учебников тригонометрии и любой из четырех учебников алгебры. Мы получили 5х7х4=140 вариантов для формирования первого комплекта. После этого мы приступаем к формированию второго комплекта из оставшихся учебников. Получится 4х6х3 варианта, для третьего комплекта мы получим 3х5х2 вариантов формирования, тогда для четвертого – 3х4х1. Всего для формирования четырех занумерованных комплектов мы получаем (5х7х4)х(4х6х3)х(3х5х2)х(2х4х1) вариантов. Как снять нумерацию? Будем считать варианты комплектования, составленные из одинаковых наборов комплектов, но взятых в различном порядке, эквивалентными. Тогда множество всех вариантов разбивается на классы эквивалентных между собой. Нас, фактически, интересует количество классов эквивалентности. Для того чтобы узнать сколько получилось классов, мы определим сколько элементов содержится в каждом классе. Ясно, что в каждом классе содержится элементов столько, сколько существует перестановок длины 4, а их 4!= 24. Тогда ответ задачи 84 | К о м б и н а т о р и к а (5х7х4)х(4х6х3)х(3х5х2)х(2х4х1): 4!=5х7х4х4х6х3х5х2х1. Второй способ. В состав комплектов при любом способе комплектования войдут все четыре учебника алгебры, только 4 из семи учебников тригонометрии и только 4 из пяти имеющихся учебников геометрии. Четыре учебника геометрии из имеющихся пяти образуют четырехэлементное подмножество, поэтому вариантов выбора 4-х учебников . Вариантов выбора 4-х учебников тригонометрии – . Вариант выбора 4-х учебников алгебры из четырех имеющихся учебников всего один (их и взять). Всего получилось 5х35х1 комбинаций состоящих из конкретной четвёрки учебников геометрии, четвёрки учебников тригонометрии и четвёрки учебников алгебры. Как превратить каждую такую четвёрку учебников геометрии, четвёрку учебников тригонометрии и четвёрку учебников алгебры в занумерованный набор из четырёх комплектов? В первый комплект можно положить любой из четырёх учебников геометрии, любой из четырёх учебников тригонометрии и любой из четырёх учебников алгебры, всего вариантов, тогда во второй комплект можно положить любой из оставшихся трёх учебников геометрии, любой из оставшихся трёх учебников тригонометрии и любой из оставшихся трёх учебников алгебры – всего . Аналогично, для третьего комплекта имеем вариантов. Оставшиеся учебники образуют последний четвёртый комплект. Мы получили всего 35х5х х х различных вариантов. Снятие нумерации осуществим таким же образом, как и при первом варианте решения. Тогда ответ задачи выглядит следующим образом: (35х5х х х ):(1х2х3х4)= 35х5х х =7х5х5х4х4х4х3х3=7х5х5х4х4х4х3х3. Заметим, что мы получили тот же ответ, что и при первом способе решения задачи. Р8.439 В этой задаче два вопроса. Начнём с первого. Заметим, что флаги бывают двух типов: горизонтально-полосные и вертикально-полосные. Любой вертикально-полосный флаг можно получить и горизонтально-полосного поворотом на девяносто градусов против часовой стрелки, поэтому тех и других флагов поровну. Будем пересчитывать горизонтально-полосные флаги. Ширину полос (и размеры флага мы не учитываем). Будем считать, что имеется красный материал (к), синий материал (с), зеленый материал (з), желтый материал (ж) и белый материал (б). Множество всех флагов разо- К о м б и н а т о р и к а | 85 бьем на пять непересекающихся подмножеств по признаку – «какого цвета у флагов верхняя полоса». Каждое из полученных подмножеств разобьём в свою очередь на четыре подмножества по признаку – «какого цвета у флагов средняя полоса» (соседние полосы не могут иметь одинаковый цвет, поскольку в этом случае эти полосы сливаются в одну). В результате, мы получили 20 непересекающихся подмножеств. Каждое из них разобьём на четыре непересекающихся подмножества по признаку – «какого цвета у флагов нижняя полоса». В результате мы получили разбиение исходного множества на 80 непересекающихся подмножеств. Ясно, что в каждом из них содержится по одному флагу. Поэтому количество горизонтальнополосных флагов в нашем случае равно 80. А всего флагов 2х80=160. Поясним наши рассуждения рисунком (рис. 1.). КС_ КБ_ К__ С__ Множество всех флагов З_ _ Ж_ _ Б__ БК_ Рис. 1. БЖ_ 86 | К о м б и н а т о р и к а Перейдём теперь ко второму вопросу задачи. Цвет средней полосы уже определён, по условию она имеет синий цвет. Тогда верхняя полоса может иметь любой из четырёх цветов (К, З, Ж, Б), и нижняя также может иметь любой из этих цветов. Такой флаг можно отождествить с упорядоченной парой (цвет верхней полосы; цвет нижней полосы), такие пары – элементы декартова произведения множества { К, З, Ж, Б} на себя, т. е. { К, З, Ж, Б}x{ К, З, Ж, Б}. Тогда ответ на второй вопрос нашей задачи, учитывая, что флаги бывают горизонтально-полосными и вертикально-полосными – 2х(4х4)= 32. Р8.441 Способ доставки задан, если каждому письму сопоставлен курьер, который его будет доставлять, таким образом, – способ доставки это отображение из множества (П) писем во множество курьеров (К). Значит количество способов доставки равно П К П . Р8.443 В задаче два вопроса. Ответим сначала на первый вопрос. Составить список – это определить, кто выступает первым, кто – вторым, кто – третьим, кто – четвёртым, кто – пятым. Таким образом, список выступающих – это биективное отображение множества во множество ораторов. Поэтому количество возможных списков равно . Перейдем теперь ко второму вопросу задачи. «Склеим» В и Г в одного оратора (ВГ). Теперь у нас есть четыре оратора: А, Б,(ВГ), Д. Рассуждая так же, как при ответе на первый вопрос задачи, получаем, что в этом случае количество списков ораторов равно . Р8.445 В задаче два вопроса. Ответим на первый вопрос. Рассадить 120 зрителей по 120 местам в зрительном зале – это для каждого места определить зрителя, который его будет занимать. Таким образом, способ рассадки зрителей – это биективное отображение множества мест, т. е. , во множество зрителей. Количество возможных способов рассадки равно . Перейдем теперь ко второму вопросу задачи. Рассадить 80 зрителей в зрительном зале, имеющем 120 посадочных мест – это для каждого из 80 зрителей определить место, на котором он должен сидеть. Таким образом, способ рассадки – это ин ективное отображение (так как на одно место нельзя посадить нескольких зрителей) из множества зрителей во множество мест в зале. Количество способов рассадки 80 зрителей в 120-местном зале равно . К о м б и н а т о р и к а | 87 Приведём второй способ получения ответа на второй вопрос задачи. Для того, чтобы рассадить 80 человек в 120-местном зрительном зале, нужно сначала выбрать 80 мест, а затем рассадить 80 человек на 80 выбранных мест. Выбрать 80 мест из 120 – это выделить 80-ти элементное подмножество множества мест в зале. Количество таких подмножеств равно . Количество способов рассадки 80 зрителей на 80 выбранных местах равно . Мы получили, что количество способов рассадки 80 человек в 120-местном зрительном зале равно . Сравнив это с полученным ранее, мы получаем равенство . Ясно, что оно справедливо и при другом количестве зрителей и другой вместимости зала, поэтому имеет место равенство: . Р8.447 Наклеить марки на конверты – это для каждого конверта определить, какого вида марку на него наклеивать. Таким образом, способ в этом случае – отображение из множества конвертов (К) во множество видов марок (ВМ). Значит, количество способов равно ВМК ВМ К Р8.451 Эта задача всегда вызывает у авторов улыбку. Каждому ясно, что «нормальные» люди заходят в лифт не для того чтобы покататься (или создать задачу из задачника), а для того, чтобы добраться на тот этаж, на который им необходимо добраться. В связи со сказанным, эта задача с житейской точки зрения имеет единственное решение (каждый пассажир лифта выходит на нужном ему этаже, и возникнет ли ситуация, о которой идёт речь в задаче или не возникнет – пассажиров лифта это не интересует). При решении задачи будем предполагать, что мы имеем дело со «странными» пассажирами, которым всё равно, на каком этаже выходить. У них другая цель – реализация ситуации, о которой идёт речь в условии задачи (на каждом из этажей выхода выходит хотя бы один пассажир). При решении задачи мы не будем учитывать порядок выхода пассажиров на этаже, в том случае, когда выходит несколько человек. Задать способ выхода, это определить для каждого из пассажиров, на каком этаже он должен выйти. Значит способ – это отображение множества пассажиров (П) во множество этажей выхода (Э). Учитывая условие задачи – «на каждом из этажей выхо- 88 | К о м б и н а т о р и к а да выходит хотя бы один пассажир», отображения должны быть сюр ективными. Количество способов равно (см. в книге §3.5) ЭП С С С . Р8.455 Поскольку карманов всего два и монеты одинаковы, способ однозначно определяется количеством монет, положенных в первый карман (во второй кладём оставшиеся монеты). Наименьшее количество монет, которое можно положить в первый карман – одна монета, следующее возможное количество монет, которое можно положить в первый карман – две монеты, и т. д. Последнее возможное количество монет, которое можно положить в первый карман – девять монет. Ответ задачи – девять способов. Р8.457 Поскольку монеты различны, то способ – это указание для каждой монеты, в какой карман её положить при данном варианте раскладки, поэтому речь идет об отображениях множества монет (М) во множество карманов (К). Поскольку в каждом кармане должна быть хотя бы одна монета, то речь идет о сюр ективных отображениях. КМ С . Поскольку карманов всего два, то можно было бы и не включать «артиллерию большого калибра». В этом случае легко подсчитать количество несюр ективных отображений. Их всего два (первое – всем монетам ставится в соответствие первый карман, второе – всем монетам ставится в соответствие второй карман). Тогда количество сюр ективных отображений равно количеству всех отображений ( ) минус количество несюр ективных отображений (2). Мы опять получили, что количество способов раскладки десяти различных монет по двум разным карманам, при которых в каждом из карманов есть хотя бы одна монета, равно . Р8.459 Поскольку монеты одинаковые, то способ раскладки определяется количеством монет, лежащих в каждом из карманов. Обозначим рез количество монет, лежащих в первом кармане, через – количество монет, лежащих во втором кармане, через – количество монет, лежащих в третьем кармане. Тогда . Значит, количество способов раскладки равно числу решений полученного уравнения. Подсчётом числа решений этого уравнения мы занима- К о м б и н а т о р и к а | 89 лись в § 3.4 книги, когда решали задачу о пирожных. Там мы доказали, что оно равно . Р8.461 См. решение задачи 8.457. Ответ: КМ С . Р8.463 «Склеим» двух пассажиров А и В в одного – (АВ). Теперь мы имеем трёх пассажиров: (АВ), С, D. Рассмотрим все перестановки, составленные из них (AB)CD, (AB)DC, C(AB)D, CD(AB), D(AB)C, DC(AB). Это, фактически, все способы рассадки пассажиров на стоящей карусели, при которых пассажир B сидит непосредственно за пассажиром A. Ясно, что при вращении карусели перестановки (AB)CD, CD(AB) и D(AB)C дают один и тот же вариант катания, поскольку каждый сидящий на карусели видит одинаковое взаимное расположение остальных сидящих на вращающейся карусели (представьте себе, что карусель вращается быстро и всё находящееся вне её «сливается в круговерти», а сидящих на карусели Вы видите очень ясно, как и на стоявшей неподвижно карусели). Оставшиеся три перестановки (AB)DC, DC(AB) и C(AB)D порождают ещё один вариант рассадки на вращающейся карусели. Мы получили два способа рассадки 4-х пассажиров для катания на вращающейся карусели, при которых пассажир B видит непосредственно перед собой пассажира A. 90 | О т н о ш е н и я Отношения В этом разделе мы будем рассматривать только двуместные отношения, в том числе на , и на . Последние называют бинарными отношениями на множестве . Напомним, что если отношение на , , и связан с отношением , то пишут , а если не связан с отношением , то пишут . Для бинарных отношений на определяют свойства: рефлексивность, симметричность, антисимметричность, транзитивность, которыми они могут обладать или не обладать. Напомним их определения. Бинарное отношение . Бинарное отношение на множестве называется рефлексивным, если на множестве . называется симметричным, если Бинарное отношение если на множестве называется антисимметричным, Бинарное отношение на множестве . . называется транзитивным, если 8.464 Найти все отношения на множестве 8.465 Привести пример отношения симметричного, транзитивного, но не рефлексивного. Выяснить, какими из основных свойств – рефлексивностью, симметричностью, антисимметричностью – обладают следующие отношения на множестве натуральных чисел: 8.466 { | и 8.467 { | делится на }; 8.468 8.469 взаимно просты}; Примечание [n1]: Вставить примеры с 8.464 по 8.494 О т н о ш е н и я | 91 8.470 8.471 { | делится на }; 8.472 8.473 Пусть дано отображение . Доказать, что отношение является отношением эквивалентности на Доказать, что следующие отношения являются эквивалентностями, найти фактор-множества и установить взаимно однозначные соответствия между ними и указанными множествами: 8.474 { | 8.475 { венных чисел, | 8.476 { | 8.477 { | 8.478 { | – чётное}, ; }, , где – множество вещест- ; }, }, – делится на , 8.479 { | плексных чисел; 8.480 { | 8.481 { | 8.482 { | }, }, где }, – множество ком; }, ; }, ; 8.483 { | }, ; 8.484 { | }, 8.485 , множество вещественных матриц размера . ; где – – след матрицы , 92 | О т н о ш е н и я На множестве всех бесконечных последовательностей вещественных чисел, имеющих конечный предел, заданы следующие отношения. Выяснить, какие из них являются эквивалентностями и какие – частичным порядком: 8.486 8.487 8.488 8.489 8.490 8.491 На множестве введено отношение Доказать, что – частичный порядок, и найти все минимальные элементы на этом множестве. 8.492 На множестве введено отношение { делится на }. Доказать, что – отношение частичного порядка, но не линейного порядка. 8.493 На множестве . Показать, что введено отношение – отношение частичного, но не линейного порядка. 8.494 На множестве булевых матриц (т. е. матриц с элементами из множества ) размера введено отношение =1 0 2 1 = . Доказать, что – отношение порядка. Каким является этот порядок – частичным или линейным? Решения Р8.464 Легче всего решить этот пример, используя матрицу отношения. Для этого напомним её определение. Пусть – бинарное отношение на , оба множество предполагаются конечными. Занумеруем элементы этих О т н о ш е н и я | 93 множеств отношению булеву матрицу . Поставим в соответствие по следующему правилу: размера если если Будем считать, что во множестве элементы занумерованы в том порядке, как они перечислены. Задать отношение – это, то же самое, что задать его матрицу. Выпишем все булевы матрицы размера : 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 0 0 0 0 0 1 1 1 0 1 0 1 0 0 1 0 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 1 1 1 Р8.467 Ясно, что это отношение является рефлексивным, поскольку любое натуральное число делится само на себя. Очевидно, что это отношение не является симметричным. Действительно, 4 делится на 2, а 2 на 4 не делится. Ясно, что это отношение антисимметрично, так как одновременная делимость первого числа на второе и второго на первое возможна только в случае их равенства. Ясно, что это отношение транзитивно, так как если первое число делится на второе, а второе делится на третье, то первое число делится на третье. Р8.469 Ясно, что отношение «<» не является рефлексивным, не является симметричным, является антисимметричным (тривиально), является транзитивным. Р8.471 Ясно, что это отношение рефлексивно, симметрично, не является антисимметричным. Действительно, 4 и 2 связаны этим отношением, 2 и 4 также связаны этим отношением, однако 2 4. Это отношение является транзитивным. Действительно, это отношение на множестве натуральных чисел на самом деле таково: «любые два чётных числа связаны отношением, любые два нечётных числа связаны этим отношением, а числа разной чётности не связаны между собой», поэтому в нашем случае означает, что все три числа либо чётны, либо нечётны, но так или иначе, мы получаем, что . Р8.473 Ясно, что рефлексивность имеет место, так как для любого справедливо равенство . Симметричность также имеет место, так как из равенства следует равенство . Транзитив- 94 | О т н о ш е н и я ность также наблюдается, так как из одновременного выполнения равенства и равенства следует выполнение равенства . Р8.475 Ясно, что рефлексивность имеет место, так как для любого вещественного числа имеет место равенство , симметричность также имеет место, поскольку, если , то и . Ясно, что это отношение транзитивно. Действительно, если и , то . Ясно, что , Поставим в соответствие классу ло . Мы получили биективное отображение фактор-множества множество во . Р8.487 Ясно, что рассматриваемое отношение рефлексивно, симметрично и транзитивно, т. е. является отношением эквивалентности. Р8.489 Ясно, что рассматриваемое отношение является отношением эквивалентности, так как оно рефлексивно, симметрично и транзитивно. Р8.491 Ясно, что это отношение рефлексивно, транзитивно и антисимметрично, т. е. является отношением порядка. Этот порядок лишь частичный, так как элементы (2;3) и (3;2) являются несравнимыми. Элементы (1;2) и (2;1) являются во множестве минимальными. Р8.493 Ясно, что отношение « » является отношением порядка, так как оно рефлексивно, транзитивно и антисимметрично. На данном множестве этот порядок не является линейным, а является лишь частичным порядком, так как {1} и {2;3} несравнимы этим отношением. Ф у н к ц и и а л г е б р ы л о г и к и | 95 Функции алгебры логики Примечание [n2]: Взять текст и примеры с 236 стр до 239 до «Машины Тьюринга» Напомним, что булевы операции образуют полную систему функций. Это означает, что любая функция алгебры логики ( булева функция) может быть задана формулой над . В частности, Ещё одной полной системой функций является Формулы над . называют многочленами Жегалкина. Каноническим многочленом Жегалкина называют многочлен Жегалкина, в котором раскрыты скобки и приведены подобные. Переменная функции называется фиктивной, если Можно доказать, что переменная в функции фиктивна тогда и только тогда, когда канонический многочлен Жегалкина функции не содержит переменной . 8.496 Найти канонические многочлены Жегалкина следующих булевых функций: а) всех булевых функций из б) ; ; в) ; г) ; д) ; е) – столбец значений функции е’) ; в её таблице; ж) . 8.497 найти все фиктивные переменные следующих булевых функций: а) в) ; ; б) ; 96 | Ф у н к ц и и а л г е б р ы л о г и к и г) ; д) ; е) ; ж) . 8.498 Сколько функций содержится во множестве: а) б) в) г) д) е) ж) . 8.499 Из функций примеров 8.496 и 8.497 выделить все функции, входящие в ;в . 8.500 Какие из следующих функций самодвойственны: а) ; б) ; в) ; г) ; д) е) ж) ; . 8.501 Из самодвойственной функции менных и получить константу: а) ; б) в) г) с помощью отождествления пере- ; ; . 8.502 Какие из функций примеров 8.496, 8.497, 8.500 монотонны? Ф у н к ц и и а л г е б р ы л о г и к и | 97 8.503 Из немонотонных функций примеров 8.500 и 8.501 с помощью подстановки констант получить . 8.504 Какие из следующих функций монотонны: а) ; в) б) ; д) ; г) ; . 8.505 Какие из функций примеров 8.496, 8.497, 8.500, 8.504 линейны? 8.506 Из нелинейных функций примера 8.505 с помощью 0, 1 и получить . 8.507 Выразить с помощью суперпозиций: а) и через ; б) и в) и г) через д) через е) через через ж) ; ; через ; через з) и) через ; ; ; ; через ; к) через . 8.508 Доказать полноту следующих систем функций сведением к заведомо полным системам: а) ; б) ; в) ; г) . 8.509 С помощью теоремы Поста проверить на полноту следующие системы функций: а) ; б) ; в) ; г) д) ; е) ж) ; ; з) и) ; ; ; 98 | Ф у н к ц и и а л г е б р ы л о г и к и к) ; л) ; м) н) . 8.510 Из полных систем примера 8.509 выделить все возможные базисы, т. е. такие полные подсистемы, у которых ни одна собственная подсистема не является полной. 8.511 Доказать, что если система функций также полна. полна, то и система 8.512 Какие из указанных систем функций являются замкнутыми: а) ; б) ; в) д) ; ; г) ; е) . 8.513 Доказать, что пересечение функционально замкнутых классов является функционально замкнутым классом. 8.514 Доказать, что если множество функционально замкнутый класс, то – множество, состоящее из функций, двойственных к функциям из , также является функционально замкнутым классом. 8.515 Доказать, что если 8.516 Обозначим Доказать, что и и и , то незамкнуто. – множество монотонно убывающих булевых функций. незамкнуты. 8.517 Доказать, что для монотонности функции, отличной от константы, необходимо и достаточно, чтобы она представлялась в виде суперпозиции кон юнкций и диз юнкций ( ). 8.518 Доказать, что 8.519 Найти . . 8.520 К какому наименьшему числу переменных можно свести немонотонную функцию с сохранением немонотонности, отождествляя её переменные? 8.521 Найти . Ф у н к ц и и а л г е б р ы л о г и к и | 99 8.522 Найти все функции, которые можно получить отождествляя переменные из следующих функций: а) ; б) ; в) ; г) . Решения Р8.497а Преобразуем рассматриваемую функцию: . Ясно, что - фиктивная переменная. Р8.497б Преобразуем рассматриваемую функцию: Ясно, что – фиктивная переменная. Р8.497в Преобразуем рассматриваемую функцию: Так как в каноническом многочлене Жегалкина содержатся все переменные, то функция не имеет фиктивных переменных. Р8.501а Будем решать этот пример, следуя доказательству леммы о несамодвойственных функциях. Восстановим таблицу функции. 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 ?? 0 0 1 1 1 0 0 1 Найдём в таблице функции такой набор значений переменных , для которого выполнено . Ясно, что таковым является набор (001). Теперь перейдем от табличного задания функции к её заданию с помощью формулы. Для этого построим 100 | Ф у н к ц и и а л г е б р ы л о г и к и её СДНФ: ченное с целью упрощения. . Преобразуем полу- С помощью выбранного набора значений (001), образуем функцию . В нашем случае это означает, что нужно и заменить на , а вместо подставить . В результате получаем: . Р8.503 Возьмём функцию из примера 8.501 а. рассмотрим её таблицу истинности. 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 1 Найдём в таблице два набора значений переменных, на которых происходит нарушение монотонности. Таковыми являются наборы (100) и (110). Действительно, первый из них «младше» второго в смысле введенного отношения частичного порядка (см. в книге §5.4), а на нём функция принимает большее значение, чем на втором наборе. Теперь перейдём от табличного задания функции к её заданию с помощью формулы. Для этого построим её СДНФ: . Преобразуем полученное с целью упрощения. Далее будем следовать доказательству леммы о немонотонных функциях. Для этого, используя найденные наборы, образуем функцию , подставим по местам совпадений значений в наборах вместо переменных эти значения, а по местам переменных, где значения в наборах не совпадают, подставим переменную . В нашем случае вместо первой пе- Ф у н к ц и и а л г е б р ы л о г и к и | 101 ременной нужно подставить , вместо третьей переменной нужно подставить 0, а вместо второй переменной . Р8.507а Ясно, что . Р8.507б Ясно, что . Р8.507в Ясно, что . Р8.509а Для каждой из функций нужно заполнить её строку в таблице Поста («плюс» ставится в клетке, если функция принадлежит соответствующему классу функций, а «минус», если функция не принадлежит классу). + + + + - - + + Далее необходимо провести анализ таблицы. Согласно теореме Поста рассматриваемое множество функций полно тогда и только тогда, когда в каждом столбце таблицы Поста имеется хотя бы один минус. Анализ нашей таблицы дает нам, что рассматриваемое множество функций не является полным множеством. Р8.509б Для облегчения ответов на вопросы о самодвойственности и монотонности для второй функции построим её таблицу истинности: 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 Для каждой из функций нужно заполнить её строку в таблице Поста («плюс» ставится в клетке, если функция принадлежит соответствующему классу функций, а «минус», если функция не принадлежит классу). 102 | Ф у н к ц и и а л г е б р ы л о г и к и - + - - - - Далее необходимо провести анализ таблицы. Согласно теореме Поста рассматриваемое множество функций полно тогда и только тогда, когда в каждом столбце таблицы Поста имеется хотя бы один «минус». Ясно, что рассматриваемое множество функций является полным множеством. Более того, уже одна функция образует полное множество. Р8.511 Начнём с тривиальных утверждений. А) Если , то . Б) Если , то . Перейдём к более сложным. В) Если , то . Действительно . Учитывая, что , последнее неравенство можно переписать в виде . Это и означает, что . Г) Если , то Действительно, и . равносильно тому, что существуют наборы значений , что и . Вспомним, что означает . Это значит, что . Последнее равносильно тому, что . Это равносильно тому, что . Найдём и . Немонотонность функции до- казана. Д) Если , то . Пусть – нелинейная функция, это значит, что в его каноническом многочлене Жегалкина присутствует нелинейная часть, выберем в ней слагаемое наибольшей степени, тогда все функцию можно записать в виде: . Ф у н к ц и и а л г е б р ы л о г и к и | 103 «всё остальное» это (возможно) слагаемые такой же степени, что и первое, но содержащие другие комбинации переменных и слагаемые меньших степеней. Чтобы перейти к двойственной функции нужно в последнем равенстве каждую переменную заменить на и к правой части добавить . Если раскрыть скобки и привести подобные, то мы получим канонический многочлен Жегалкина функции и в нём будет содержаться слагаемое , поскольку оно возникает только один раз при раскрытии скобок. Наличие этого слагаемого и доказывает нелинейность функции . Из доказанных нами утверждений следует, что – полная система функций тогда и только тогда, когда – полная система функций. Р8.517 Поскольку диз юнкция и кон юнкция монотонны, то в силу теоремы о замкнутости класса монотонных функций (теорема 5.16 в книге) мы получаем, что любая функция из монотонна и отлична от константы. Докажем теперь и обратное. Рассмотрим СДНФ такой функции. Возможны два варианта: А). Она имеет вид . В этом случае наша функция уже представлена в требуемом виде. В). В СДНФ нашей функции есть ещё какие-то слагаемые. Покажем, что слагаемого вида быть не может. Действительно, наличие этого слагаемого означает, что , а так как функция монотонна, то она обязана быть тождественно равной единице, а мы знаем, что наша функция не является константой. Поэтому в любом слагаемом, содержащемся в СДНФ и отличном от , имеются переменные без отрицания и переменные, находящиеся под знаком отрицания. Выпишем такое слагаемое, считая, что в нём первые переменных без знака отрицания, а остальные находятся под знаком отрицания: . Мы получили, что наша функция, на наборе, составленном из единиц, стоящих на первых местах и нулей, стоящих на последних местах, равна единице. Из требования монотонности функции следует, что она обязана быть равной единице и на любом наборе значений, который старше этого набора в смысле отношения . Любой старший набор можно получить из этого набора, заменив произвольное подмножество нулей единицами. Последнее означает, что в СДНФ нашей функции вместе со слагаемым 104 | Ф у н к ц и и а л г е б р ы л о г и к и должны содержаться и всевозможные слагаемые, получаемые из него выделением какого-нибудь непустого подмножества из последних переменных и снятием с них знака отрицания. Сгруппируем все такие слагаемые вместе с и вынесем за скобки общий множитель. Мы получим следующее: («что-то»). Это «что-то», представляет собой СДНФ функции от переменных и содержит полных совершенных элементарных кон юнкций. Последнее означает, что мы имеем дело с СДНФ функции тождественно равной 1. Значит, мы показали, что в результате группировки возникло выражение вида . Последовательное применение таких рассуждений показывает, что в нашем случае СДНФ функции может быть приведена к ДНФ, не содержащей отрицаний переменных, т. е. к формуле, содержащей только диз юнкцию и кон юнкцию. М а ш и н а Т ь ю р и н г а | 105 Машина Тьюринга Примечание [n3]: Вставить со страницы 239 по стр. 242 (до графов). В этом небольшом разделе содержатся задачи двух главных типов: по заданной задаче Тьюринга найти результат её применения к заданному слову , т. е. . построение машины, решающей данный класс задач. Естественные трудности возникают при решении задач второго типа. Мы рекомендуем до составления программы машины, т. е. до заполнения таблицы, задающей программу, тщательно продумать алгоритм, который должен быть реализован программой. В конце решения, т. е. когда программа составлена, не забудьте применить её к подготовленному тестовому примеру. По заданной машине найти слово . с внешним алфавитом и слову 8.523 8.524 Выяснить, применима ли машина Тьюринга с внешним алфавитом к слову , и в случае применимости найти результат: 8.525 8.526 8.527 Построить машину над алфавитом 8.528 Построить машину над алфавитом . . 106 | М а ш и н а Т ь ю р и н г а 8.529 Какую функцию натурального аргумента вычисляет машина, заданная программой: Упростите эту машину. 8.530 Постройте машину, распознающую чётность натурального числа. 8.531 Постройте машину го числа на . , вычисляющую остаток от деления натурально- 8.532 Постройте машины Тьюринга, вычисляющие следующие функции, заданные на : а) ; б) ; в) ; г) . 8.533 Постройте машины Тьюринга, вычисляющие следующие функции, определённые на : если а) ; б) ; в) если 8.534 Постройте машину над алфавитом , применимую к любому слову чётной длины и не применимую к словам нечётной длины. Постройте в алфавите машину , работающую по правилу: 8.535 8.536 ; ; 8.537 8.538 8.539 ; если если если 8.540 Какую функцию натурального аргумента вычисляет машина ? а) М а ш и н а Т ь ю р и н г а | 107 б) 8.541 Какие одноместные функции натурального аргумента в алфавите могут вычислять машины, программы которых содержат только и ? По словесному описанию машин алфавит построить их программы. Внешний 8.542 – начиная с последней единицы массива из единиц, «сдвигает» его на одну ячейку влево и останавливается на первой единице; 8.543 – при заданном СЗУ машины, начав с произвольной ячейки, заполненной единицей, движется вправо, не меняя содержимого ячеек, до тех пор пока не пройдёт массив из ноля; СЗУ останавливается на следующей ячейке, поместив туда единицу; 8.544 – при заданном СЗУ, начав с произвольной ячейки и двигаясь вправо, проставляет подряд единиц и останавливается на последней из них; 8.545 – машина начинает работу с крайней слева непустой ячейки произвольного слова, при заданном отыскивает в слове первый слева массив из ноля, останавливается на последнем из них (содержимое ячеек не меняется); 8.546 – начав работу с самой левой непустой ячейки, машина отыскивает единицу, примыкающую слева к первому слева массиву из трёх нолей, «окаймлённому» единицами, СЗУ останавливается на найденной единице (содержимое ячеек не меняется); 8.547 – в исходной ячейке печатает ноль, СЗУ сдвигается на одну ячейку влево и машина останавливается. 8.548 – СЗУ машины сдвигается на две ячейки вправо от начальной, машина останавливается в состоянии , если эта ячейка содержит ноль, в состоянии , если эта ячейка содержит единицу. 8.549 – СЗУ передвигается на одну ячейку влево и машина останавливается; 108 | М а ш и н а Т ь ю р и н г а 8.550 – отправляясь от начальной ячейки, находит первую единицу и останавливается на следующей за ней ячейке. 8.551 Найдите композиции машин: см. в примерах 8.542–8.550). . (Машины Решения Р8.541 Машин Тьюринга, работающих в алфавите и имеющих всего две команды кажется, что не так уж и много. Составим их таблицы и проанализируем, как работает каждая из них. Однако, это не верно, клеток в программе две, а в каждую клетку вписывается тройка (буква, состояние, сдвиг). Таких троек 12, значит всего программ, которые можно составить – . Ясно, что такой способ решения не подойдёт. Попробуем рассуждать иначе. Программирование любой такой машины нужно начинать с клетки соответствующей букве « » и состоянию « ». Если в этой клетке записана тройка « », то такая машина «зацикливается», и неприменима ни к какому слову. Если в клетке, записана тройка , то машина переписывает палочки исходного слова до тех пор, пока не выйдет в этом состоянии на клетку ленты с пустым символом. Теперь нам предстоит программировать клетку, соответствующую паре « », « ». Если в неё мы запишем тройку буква, сдвиг» то получим ситуацию «зацикливания». Рассмотрим варианты буква, сдвиг». Их всего 6. Они приводят к машинам, которые реализуют либо тождественную функцию, любо прибавление к числу единицы. Вернёмся к начальному этапу программирования. Если в клетке, соответствующей букве « » и состоянию « » вписана тройка , то мы должны перейти к программированию клетки, соответствующей паре « », « ». Вписав в неё тройку вида «буква, сдвиг» мы получаем ситуацию зацикливания, а вписав тройку вида буква, сдвиг» мы получаем либо тождественную машину, либо машину, которая уменьшает число на единицу. Продолжая наши рассуждения, мы обнаружим, что при всех вариантах будут получаться машины: неприменимые, тождественные, увеличивающие число на единицу, уменьшающие число на единицу, сопоставляющие любому числу число 1, сопоставляющие любому числу пустое слово. М а ш и н а Т ь ю р и н г а | 109 Р8.523 Применим данную машину к данному слову. Напоминаем, что в начале работы машина находится в состоянии и «обозревает» первую букву слова. | | | | | | | | | | | | | | | | | | | | | | | Все остальные примеры на применение машины к слову решаются аналогично. Р8.527 Обсудим, как должна работать копирующая машина . Для этого вспомним, как мы строили в книге машину, которая удваивала натуральные числа, записанные в унарной системе счисления (см. пример 6.4 на с. 136 книги). Мы сначала заменяли каждую «палочку» (вертикальную черту) слова на букву , а затем каждую букву заменяли на «палочку» с приписыванием на правом конце слова «палочки». Процесс останавливали, когда все вы были заменены на «палочки». Если бы копирование было бы однократным, то всё можно было бы сделать аналогично, не забыв проставить между словом и его копией разделитель. Двукратное копирование можно осуществить, используя две вспомогательные буквы и . Для этого сначала первую копию слова изготовим не из палочек, а из букв , а потом перекопируем слово из букв в ещё одно слово из «палочек». Ниже выписана программа полученной машины. 110 | М а ш и н а Т ь ю р и н г а | +1 ▲ ▲ | -1 | +1 -1 ▲ -1 +1 | +1 | +1 +1 +1 ▲ +1 ▲ 0 +1 ▲ +1 -1 | -1 | -1 | +1 | -1 ▲ +1 | -1 +1 | +1 ▲ -1 -1 ▲ -1 Проверим корректность работы построенной машины на тестовом примере. | | | ▲ ▲ | ▲ | ▲ | ▲ | ▲ | ▲ | | ▲ | | ▲ | | ▲ | | ▲ | | ▲ | | ▲ | | ▲ ▲ | | ▲ ▲ | | ▲ | | ▲ М а ш и н а Т ь ю р и н г а | 111 | | ▲ | ▲ 112 | М а ш и н а Т ь ю р и н г а | | ▲ | ▲ | | | ▲ | | ▲ | | | | ▲ | | ▲ | | | | ▲ | | ▲ | | Р8.531 Будем использовать унарную систему счисления для записи натуральных чисел, поэтому внешний алфавит машины состоит из двух символов . Обсудим сначала, как мы будем находить остаток от деления числа на . Для этого нужно из числа удалять пока это возможно штук « ». Когда это станет невозможным, на ленте будет записан остаток. Имеющиеся в алфавите буквы не позволяют записать слово, кодирующее ноль, а это соответствует ситуации, когда число делится на ноль. Расширим наш алфавит буквами 0 для записи в ячейку ленты полученного остатка. | +1 1 0 +1 2 0 +1 3 0 +1 4 0 +1 m-1 0 +1 0 0 0 1 2 m-1 Р8.535 Ясно, что эта машина ничем не отличается от копирующей машины (вместо разделителя ▲ используется «0»), которая в этом случае очень похожа на машину, удваивающую натуральное число, записанное в унарной системе счисления (см. в книге пример 6.4). Расширим исходный алфавит ещё одной буквой – . Работа машины состоит в следующем. Сначала все «палочки» в слове заменяются на и в конце полученного слова проставляется «0», затем начинается процесс восстановления « » из с дописыванием в конце слова «палочки». Советуем также посмотреть решение задачи 8.527. | 0 +1 | -1 0 -1 | +1 | +1 0 +1 М а ш и н а Т ь ю р и н г а | 113 0 -1 +1 | -1 114 | Г р а ф ы и и х м а т р и ц ы Графы и их матрицы Примечание [n4]: Взять текст со стр.242 до конца 8.578 Задачи, приведённые в этом разделе, разнообразны и трудно классифицируются как по типам, так и по степени сложности. Наряду с тривиальными встречаются и задачи, содержание которых – известные теоремы теории графов. Эти задачи помечены «*». 8.552 Для графов, приведённых на рисунках 8.3, 8.4, 8.5, найти матрицу смежности и матрицу инцидентности : 5 I IV 4 III 4 3 I 2 VI II VIII Рис. 8.3 2 4 а б ) в ) III I III 5 I 1 Рис. 8.4 8.553 Изобразить графы, заданные матрицами ) VI V VII 1 II V 3 IV 3 IV II Рис. 8.5 или : 2 Г р а ф ы и и х м а т р и ц ы | 115 г ) 8.554 Дана матрица или а . Найти матрицу или : б ) ) в г ) ) 8.555 Найти компоненты связности и сильной связности графов, изображённых на рисунках 8.6, 8.7, 8.8, 8.9, и их числа связности и сильной связности – и . Рис. 8.6 Рис. 8.7 Рис. 8.8 Рис. 8.9 8.556 Найти компоненты связности и сильной связности графов, заданных матрицами и , и их числа связности и сильной связности – и : 116 | Г р а ф ы и и х м а т р и ц ы а ) б ) в г ) ) д) 8.557 Для графов примеров 8.555, 8.556 найти матрицы достижимости и сильной достижимости вершин и компоненты связности и сильной связности этих графов. Матрицей достижимости графа матрица размера называется , определённая следующим Матрицей сильной достижимости называется матрица размера , определяемая следующим 8.558 Для графов примеров 8.553, 8.554, 8.556 найти . 8.559 Для графов примеров 8.555, 8.556 найти конденсацию, т. е. граф, вершины которого – компоненты сильной связности исходного графа, а дуги – дуги исходного графа, ведущие из одной его сильной компоненты в другую. Г р а ф ы и и х м а т р и ц ы | 117 8.560 Найти мосты, блоки и точки сочленения графов примеров 8.553, 8.555, 8.556. 8.561 Пользуясь алгоритмом Краскала, найдите легчайшее покрывающее дерево графов, заданных рисунками (цифры около дуг – веса дуг): а) 1 б) 1 4 5 2 4 3 4 2 6 4 2 1 3 3 2 1 в) 2 3 3 4 1 2 1 5 2 3 4 8.562* Доказать, что любые два диаметра (простая цепь максимальной длины) связного графа имеют хотя бы одну общую вершину. 8.563* Каково максимальное количество висячих вершин дерева с нами? верши- 8.564 Нарисуйте все неизоморфные между собой неориентированные деревья с 3-мя, 4-мя вершинами. 8.565 Нарисуйте все неизоморфные между собой ориентированные деревья с 3-мя вершинами. 8.566 Нарисуйте все неизоморфные между собой помеченные неориентированные деревья с 3-мя вершинами. 8.567 Нарисуйте все неизоморфные между собой помеченные ориентированные деревья с 3-мя вершинами. 8.568* Докажите, что если – блоки графа , то и – точка сочленения . 8.569 Для графов, приведённых на рисунках 8.10а, 8.10б, 8.10в, найти длины кратчайших путей от вершины до всех остальных (около дуги в кружке – её вес). 118 | Г р а ф ы и и х м а т р и ц ы 8.570 Для графов задачи 8.569 восстановить кратчайшие пути из из в . в ; 8.571* Докажите, что конденсация любого графа (определение конденсации см. задачу 8.559) – граф, не содержащий циклов. 1 4 2 1 1 3 1 3 2 1 6 1 5 1 1 1 1 2 1 8 1 1 8 1 2 5 7 4 1 Рис. 8.10а 1 Рис. 8.10б 1 2 5 1 1 1 1 1 1 3 1 2 3 2 Рис. 8.10в Раскраска графов Определение 8.3 Раскраской неориентированного графа без петель в цветов называется отображение , действующее из множества вершин графа в , удовлетворяющее условию « – смежные вершины» Таким образом раскрасить граф в цветов, это значит каждой его вершине присвоить цвет из имеющихся так, что любые две смежные вершины, были окрашены в разные цвета. Г р а ф ы и и х м а т р и ц ы | 119 Определение 8.4 Хроматическим числом графа называется шее , при котором существует хотя бы одна раскраска. Хроматическое число обозначают . Определение 8.5 Хроматической функцией графа называют отображение , определённое следующим «число способов раскраски графа в цветов». 8.572* Докажите, что графа . . – множество вершин конечного 8.573* Докажите, что ( 8.7) – полный граф с вершинами (см. определение 7.9). 8.574* Докажите, что если – несмежные вершины графа , то ( 8.8) – граф, полученный из добавлением дуги, соединяющей вершины и . – граф, полученный из отождествлением вершин и (см. рис. 8.11). Рис. 8.11 8.575* Докажите с помощью утверждений задач 8.573 и 8.574, что хроматическая функция графа с вершинами – многочлен n-ой степени с целыми коэффициентами. 8.576* Докажите, что в разложении хроматического многочлена по степеням старший коэффициент равен , а его свободный член равен . 8.577* Докажите, что если граф содержит то хроматический многочлен делится на в качестве подграфа, . 8.578 Найдите хроматические многочлены и хроматические числа графов приведённых на рис. 8.6, 8.8 и 8.9. 120 | Г р а ф ы и и х м а т р и ц ы Решения Р8.553а Поскольку матрица смежности вершин графа имеет размер , то граф имеет пять вершин, элементы этой матрицы равные единице определяют дуги графа. Если , то на графе существует дуга, ведущая из i-ой вершины в -ю. Изобразим граф, имеющий заданную цу (см. рис. ниже, кружки с цифрами внутри – вершины графа). 1 2 4 3 5 Р8.553б Количество строк этой матрицы – количество вершин графа, а каждый столбец соответствует дуге графа. «Минус единица» стоит на месте, соответствующем вершине, в которой дуга начинается, а «плюс единица» стоит на месте, соответствующем вершине, в которой дуга заканчивается. Нарисуем граф, имеющий заданную матрицу инцидентности (см. рис. ниже). 2 1 4 3 5 Г р а ф ы и и х м а т р и ц ы | 121 Р8.555 Когда граф задан совсем простой «картинкой» (как в этом случае), найти компоненты связности и сильной связности не представляет большого труда. Ясно, что в случае графа, изображённого на рис. 8.6, он является связным (т.е. состоит из одной компоненты) и , а его число сильной связности , поскольку у него две компоненты сильной связности (одна из них содержит только верхнюю вершину, а в другую входят все остальные вершины). В случае графа, изображённого на рис. 8.7, мы имеем и . У этого графа сильные и слабые компоненты связности совпадают. У графа, изображённого на рис. 8.8. , . Каждая вершина треугольника является сильной компонентой, вершины квадрата порождают ещё одну компоненту сильной связности. Р8.557 В случае графов заданных простой «картинкой» всё обстоит достаточно просто – матрицы достижимости и сильной достижимости можно легко выписать, глядя на рисунок, на котором выделены компоненты связности или сильной связности. Это мы и проделаем для графа, изображённого на рис. 8.6. Поскольку мы будем искать компоненты графа и соответствующие матрицы, вершины графа следует занумеровать. 1 1 2 3 2 3 4 5 4 5 Рис. 8.6а. Рис. 8.6б. Рис. 8.6а соответствует компонентам связности, граф состоит из одной компоненты. Рис. 8.6б соответствует сильным компонентам связности, выделено две компоненты сильной связности. Одна из них порождена вершиной 1, а другая – вершинами 2, 3, 4, 5. Выпишем матрицы связности и сильной связности нашего графа: 122 | Г р а ф ы и и х м а т р и ц ы ; . Как находить компоненты сильной связности не по рисунку, а с помощью матриц графа? Рассмотрим матрицу смежности графа. Единицы этой матрицы соответствуют дугам графа. Дуги графа – это пути длины 1. Что означает, что существует путь длины 2 соединяющий какие-либо две его вершины? Это означает, что существует третья вершина, в которую приходит дуга из начальной вершины этого пути, и из которой выходит дуга, ведущая в конечную вершину пути. Поэтому, если мы хотим построить матрицу, в которой единицы соответствуют наличию путей длины 2, а нули – их отсутствию, то для этого необходимо и достаточно найти булев квадрат матрицы . Ясно, что булев куб этой матрицы определяет на графе наличиеотсутствие путей длины 3 и т. д. Рассмотрим матрицу . Это матрица смежности графа, полученного из исходного графа, добавлением петель в каждой его вершине. Ясно, что единицы матрицы (здесь – знак булевского умножения матриц) определяют наличие путей длины не большей чем 2, а нули этой матрицы свидетельствуют об отсутствии таких путей между соответствующими вершинами. Ясно, что матрица – определяет наличие-отсутствие путей, длина которых не превосходит 3 и т. д. Самый длинный простой путь на графе, имеющем вершин, содержит не более чем имеет место стабилизация булевых степеней матрицы дугу, поэтому : . Позиции единиц, стоящих в -ой строке стабилизировавшейся матрицы, определяют номера вершин графа, в которые можно попасть, двигаясь по путям, начинающимся в -ой вершине. Позиции единиц, стоящих в -ом столбце стабилизировавшейся матрицы, определяют номера вершин графа, из которых можно попасть, двигаясь по путям, в -ю вершину. Эти множества обозначают и соответственно. Если мы найдём , то мы определим множество вершин компоненты сильной связности -ой вершины графа, тем самым и саму сильную компоненту. Задача нахождения слабых компонент (компонент связности) графа сводится Г р а ф ы и и х м а т р и ц ы | 123 к рассмотренной, если к каждой дуге графа добавить дугу противоположного ей направления и на полученном графе искать сильные компоненты (подумайте, почему это так). В матрицах графов это означает, что мы должны построить матрицу , а затем с ней проделать то же самое, что мы делали с матрицей .( – знак транспонирования матрицы). Заметим, что в этом случае множества и обязательно совпадают, поэтому можно обойтись только множествами . Найдём с помощью описанного алгоритма компоненты сильной связности графа из примера 8.566а. Выпишем матрицу и найдём её булевы степени (для ускорения процесса найдём матрицу , возведением в булев квадрат матрицу (не находя матрицу ). ; ; . Найдём множество и множество Найдя их пересечение, мы определяем состав компоненты сильной связности , Ясно, что есть ещё одна компонента сильной связности . В случае, когда граф задан матрицей , для нахождения компонент связности и сильной связности мы рекомендуем перейти к матрице , а затем искать с её помощью компоненты связности и сильной связности. Рассмотрим граф из примера 8.556 б. Выпишем по матрице матрицу : ; 124 | Г р а ф ы и и х м а т р и ц ы Найдём теперь матрицу и её булевы степени. ; ; . Ясно, что мы имеем две компоненты сильной связности – первая имеет множество вершин , вторая – . Р8.561а Поскольку граф очень прост, то алгоритм Краскала можно реализовать прямо на «картинке». Дуги, отобранные в состав легчайшего покрывающего дерева, будем помечать плюсом, а дуги, которые не будут включены в его состав, – минусом. Выполняемые этапы будем нумеровать. 1. 2. + + 1 + 4 4 3 4 2 2 4 3 2 2 1 1 3 2 3. + 4. + + + 4 3 + 2 - + 2 3 4 1 2 3 2 3 1 + 2 - Г р а ф ы и и х м а т р и ц ы | 125 Нарисуем полученное легчайшее покрывающее дерево. 1 1 2 2 Р8.563 Из основной теоремы о деревьях (теорема 7.13 в книге) известно, что дерево с вершинами имеет дугу, тогда по теореме Эйлера (теорема 7.1 в книге) сумма степеней всех вершин графа равна . Степень висячей вершины равна 1. Если на дереве висячая вершина, то должна быть вершина, к которой все они подвешены, её степень равна и мы получаем необходимую сумму степеней вершин, если же все вершины висячие, то сумма степеней вершин равна , а не . Ясно, что дерево с максимальным количеством висячих вершин состоит из одной вершины степени к которой подвешены на дугах висячие вершины. На рисунке ниже изображено такое дерево с пятью вершинами. Р8.565 Существует только одно неориентированное дерево с тремя вершинами: Существует три неизоморфных ориентации, т. е. три неизоморфных ориентированных дерева с тремя вершинами: 126 | Д о п о л н и т е л ь н ы е з а д а ч и « О т о б р а ж е н и я м »