Текст
                    Министерство общего и профессионального образования
Российской Федерации
Южно-Уральский государственный университет
Кафедра прикладной математики
519.1@7)
Э157
А.Ю.Эвнин
Дискретная математика.
Конспект лекций
Челябинск
Издательство ЮУрГУ
1998


УДК 519.1@75-8) Эвшга А.Ю. Дискретная математика: Конспект лекций. Челябинск: ЮУрГУ 1998. - Шс. Книга напясава на основе аанонменного курса лекций, читавшегося автором для специальности "Прикладная математика" в 1995-1997гг Ил. 38. табл. 26. список лит. — 30 назв. Одобрено научно-методическим советом по математике. Реневтенты: д. ф.-м. н. М.М.Кипнис. ЧГПУ. к. ф.-м. н. СМ. Воронин, ЧелГУ ©А.Ю.Эвяин, 1998. ISBN- 5-69&-00931-X ©Издательство ЮУрГУ 1908.
Оглавление Предисловие 6 1. Предварятеяьвые сведения 1.1. Множества в операции над ними •> 1.2. Высказывания и предикаты 10 1.2.1. Высказывания 10 12.2. Предикаты 11 1.2.3- Кванторы 11 1.2.4. Построение отрицаний \1 1.3. Правило произведение . 13 1.3.1. Число перестановок 14 1.3.2. Число подмножеств ««вечного множества 14 2. Элементы теории чисел 2.1. Теорема о делении с остатком 15 2.2. Наибольший общий делитель. Алгоритм Евклида 15 2.3. (к° - I,*4 -1} * *<*¦*> - 1 18 2.1 Простые числа. Основная теорема арифметики 19 2.5. Сравнения в их свойства 20 2.6. Системы вычетов - 24 2.7. Теорема Эйлера .• 25 2.8. Линейные диофантовы уравнение 27 2.9. Примеры решения нелинейных уравнений в целых числах 29 2.10. Мультипликативные функции 33 2.11. Система РША 34 3. Начальные понятия обшей алгебры 3.1. Отношения 3fc 3.2. Отношение эквивалентности 39
4 ОГЛАВЛЕНИЕ 3.3. Отношения порядка 40 3.4. Алгебраические структуры. Группа 41 3.5. Кольцо и поле 44 3.6. Группы самосовмещений многоугольников и многогранников 45 4. Алгебра высказываний 4.1. Логические операции 49 4.2. Формулы и функции 50 4.3. Список основных равносильностей 52 4.4. Полные системы связок 53 4.5. Двойственность 54 4.6. Нормальные формы 56 4.7. Контактные схемы 61 4.8. Минимизация ДНФ 61 4.9. Геометрическая интерпретация ДНФ 64 4.10. Булева алгебра 66 5. Комбинаторика . 70 5.1. Выборки. Размещения 71 5.2. Сочетания 72 5.3. Перестановки с повторениями 74 5.4. Полиномиальная формула 75 5.5. Комбинаторные тождества 77 5.6. Формула включения-исключения 82 5.7. Функция Эйлера 84 5.8. Задача о беспорядках и встречах • 85 .5.9. Число сюръекдий 88 5.10. Обобщение формулы включения-исключения 89 5.11. Числа Стирлянга П рода S*1 5.12. Числа Стерлинга I рода 34 5.13. Производящие функшш 9' 5Л4. Число счастливых билетов 101 5.15. Число бинарных деревьев с п вершинами ¦ ¦ 102 5.16- Решение линейных рекуррентных уравнении 1Н4 6. Теория Пойа 6.1. Пикловой индекс группы подстановок - - 108 6.2. Лемма Берисаида ¦ ... 111 6.3. Функции и классы эквивалентности 115 6.4. Теорема Пойа .... - - 118
ОГЛАВЛЕНИЕ 5 6.5. Примеры 120 7. Введение в теорию графов 125 7.1. Определения и примеры 123 7.2. Связные графы 131 7.3. Метрические характеристики графа 135 7.4. Гамильтововы графы 13G 7.5. Эйлеровы графы 139 7.6. Деревья и леса 142 7.7. Теорема К эли о числе помеченных деревьев Ш 7.8. Стягивающие деревья , 147 7.9- Фундаментальная система пиклов 152 7.9.1. Симметрическая разность множеств 152 7.9.2. Псевдоциклы 153 7.9.3. Фундаментальная система циклов 154 7.10. Укладки графов 156 7.11. Формула Эйлера 157 7.12. Критерий планарности графа 160 7.13. Ориентированные графы 161 7.14. Нахождение кратчайших путей в орграфе 162 7.15. Задача сетевого планирования и управления (PERT) 167 7.16. Потоки в сетях 169 Литература 175
Предисловие Дискретность — понятие, противоположное непрерывности. В широком смысле дискретная математика включает в себя теорию чисел, общую ал- алгебру, математическую логику, комбинаторный анализ, теорию графов. теорию кодирования, целочисленное программирование, теорию функци- функциональных систем и т. д. В данном списке — как сложившиеся разделы математики, так и интенсивно развивающиеся. Бурное развитие вычисли- вычислительной техники расширяет возможности дискретной математики и слу- служит для нее источником новых задач. В последние годы курс дискретной математики для студентов специ- специальностей кафедры прикладной математики ЮУрГУ читается иа I курсе, В связи с этим возрастает его роль как важного звена математического образования1. Многие г сюжеты'* данного курса нахидят свое-йродолжение: на старших курсах студенты углубленно изучают такие дисциплины, как алгебраические структуры, дискретную оптимизанию, теорию рекурсив- рекурсивных функций и сложности вычислений а Т. д. В первых трех главах учебного пособия рассматриваются элементы теории чисел и общей алгебры; вводимые при этюи математические по- понятия широко используются в дальнейшем, в частности при изложения теории Пойа. позволяющей решать задачи пересчета объекте© с точно- точностью до какого-Яйбо отвошейия эквивалентности. В главе, посвященной алгебре высказываний., большое внимание уделяется нормальным формам и их минимизации. В главе "Комбинаторика" помимо начальных сведений о выборках излагаете* принцип включения-исключения, который приме- применяется к решению некоторых классических комбинаторных задач. Здесь также вводится анваржг производящих функций — мощное средство ком- комбинаторного анализа. В заключительной главе рассматриваются основные 1 "СреДЯ вра??1ШШ яЧеиь распроставен взгляд на математику х&к на. большой спра вочник. который нужно умййыэмерыть на нужней странице. Инженеры любят формулы и метайы, но ее тобят *есрем н тем белее — их доказательств При утилитарном пая холе к математике знание доказательства, ничего tie добавляет к знанию результат важно яиахь, "что" ш "зачем", но очень редко — "как" я "почему". Таков подход может оправдывать себя в областях с дамш устааеияишшися моделями объектов и процессов Ошяако в задачах управления все чаще главам научной Проблемой становится создаете новых молелен. В Такой ситуации матемава» нужна уже не как метан расчета, а гаи v&ic язык, мне средство форш^?о(ваяив ж оргзшгзащш Т владение математикой Требует существенно большей культуры понимании важности точных формулировок..., умения понять, что просто, что сложно, а что невозможно, ощущения связи между, **заяосв бы, далекими идеями и понятиями/ (Из прелисжши* х. книге fl]).
Предисловие 7 понятия теории графов я некоторые алгоритмы. Учебное пособие написано sa основе курса лекшш, читающегося авто- рои на факультете прикладной математика и физики ЮУрГУ2 Готовится к изданию задачник к курсу, куда в форме задач помещены некоторые теорс- мы и вопросы, не вошедшие в данную книгу (в частности, теория Рамоея:. формула обращения Мебиуса, совершенные паросочетания в графах и пр. t 2H.aa&rtee бличкой по кругу излагаемых вопросов к данному пособию является «ни га [2], в которой, однако, не затронут р«д тем: теория чисел, производящие функции укладки графов в некоторые другие.
Глава 1 Предварительные сведения 1.1. Множества и операции над ними В угон параграфе нк весьма кратко изложим основные сведена* об операциях кал множествами, оставлхх все доказательства для секннареккх занятий Понятие множества относится к числу первичных в математике: его нельзя определить через другие понятия. Множество состоит из элементов и полностью определяется имя1. При- Принадлежность элемента а множеству А обозначают: а € А; завись а ? А означает, что а — не элемент А. Множество можно задать либо непо- непосредственным перечислением его элементов, либо указанием некоторого свойства, которыми обладают элементы этого множества и только они. В первом случае используют запись вида A ж {ai,a2,...,а„} (в фигур- фигурных скобках через запятую перечисляют все элементы множества); во втором случае записывают А — {х \ Р{х)}, что означает: множество А состоит из тех, и только тех элементов, для которых выполняется свой- свойство Р(х). Например, отрезок числовой прямой можно определить записи) \а,Ц~{х\а<х<Ь}. Общеупотребительны обозначения следующих числовых множеств: N - {1,2,3,...} — множество натуральных чисел; ЛГа — {ОД, 2,...} — множество неотрицательных целых чисел; Z — {0,±1,±2,...} — множество целых чисел; (Js{= \ m e Z,n eN} — множество рациональных чисел; R — множество действительных чисел. Говорят, что множество А — подмножество множества В (обозначе- (обозначение А С В), если всякий элемент А является элементом В. Например 1 Неыепкий и&теиатше Г.Кантор, "отец теории множеств", давал такое нефор^аЛЫ<с' определение: «дежеепмв — собрание определенных м различимых между сооой объек тол, мыслимое как eihiiiot целее.
Предварительные-сведения 9 Множества называются равными, если они состоят из одних и тех же элементов. Часто используют Критерий равенствамножеств. А = В фя*> А с В, В с А. Множество, ае имеющее элементов, называется пустым и обозначается символом ф; оно является подмножеством любого множества. Операции» ЩАМ множествами 1. Пересечение* множеств А Ж В (обоэвачеяие А ПВ) называется мно- множество, состоящее т всех Элементов, одновременно принадлежащих я А, п В. Аналогично «щреаейдатс* пересечение произвольной сово- жуздюств множеств. Отметим, тго если А С В. то АП В = А. Если А П В =* ^, то говорят, что множества А к В не пересекаются. 2. Объединениеммшжест» АяВ (обозначениеЛUВ) называется мно- множество, состоящее из всех элементов, которые принадлежат хотя бы одному яз данных множеств. Аналогично определяете* объединение произвольной совокупности множеств. Если А С В. то Аи В — В, 3. Разностью множеств А и В (обозначение А \ В) называется мно- множество, состоящее на всех элементов, которые принадлежат А в не принадлежат Ih Д\.0 = {ве.А^в$Ё if}. Например, N<, \ N = {0}. 4. Декартовый произведением Ах В множеств Л н jB называют мно- множество упорядоченных вар элементов: Л х В « {(a,*) t в € А Ь 6 В}, Например, множество обо- значений полей шахматной доош {ol,o2,...ra8,W,...,A7,/i8} мож- можно рассматривать как декартово произведение fab,c,d,e,f,g,k\ ж {1,2, а, 4,5, б, 7,8}. Аналогично вводится, декартово вротаеденве конечного числа мно- множеств. Если в декартовом произведении п множителей, ш все они рав- равны А, то говорят об n-й декартовой степени множества А : Ап = Ах Ах ...х А, Для А2 используется термин декартов квадрат мно- множества А. Так, координатную плоскость Ог# можно рассматривать как №. Свойства операций объединения я пересечения Для произвольных множеств А. В и С выполняются следующие соот- ношения.
1. Af\A = A; AU A = А {идемпотентность). 2. АПВ — BnA; AUB = BVA (коммутативность). 3. (АПВ)ПС = (ЛПВ)ЛС; (AUB)UC = (AUB)uC (ассоциативность). 4. (AnB)UC = (AuC)n(BUC); (A U В) П С = (А П С) U (В П С) {дистрибутивность). Законы двойственности де Моргана Рассматривается семейство подмножеств некоторого множества U: для i — 1,..., п At С V. Пусть для любого множества В С U запись В означает дополнение к В: В — U\ В. Тогда: 1. (П"_, .4,) = UiLi^i (дополнение к пересечению есть объединение до- дополнений); 2. (и^] А,) = flJI-jA,- (дополнение к объединению есть пересечение до- дополнений). 1.2. Высказывания и предикаты 1.2.1. Высказывания Высказыванием называют любое утверждение, относительно которого можно судить, истинно оно или ложно. Будем предполагать, что для вы- высказываний справедливы следующие два закона. Закон исключенного третьего. Каждое высказывание либо штин- но, либо ложно. Закон противоречия. Высказывание не может быть одновременно и< - тинным и ложным. Таким образом, высказыванию сопоставляется одно иэ двух зиачонш" ИСТИНА A) или ЛОЖЬ @). Примеры высказываний. 1) Слон есть животное. 2) Будапешт поль- польский город. 3) 3 > 3. Отрицанием высказывания .4 называется такое высказывание, которое истинно, если А ложно, и ложно, если А истинно. Обозначение: Л. На- Например, (для любого действительного числа а) отрицанием высказывания [а > 0) является высказывание (а < 0). Таблица истинности для операции отрицания выглядит следующим образом.
Предварительные сведения 1 ] Ниже (в гл. 4) будут введены другие операции над высказываниями п при- приведены их таблицы истинности. 1.2.2. Предикаты Предложение Р(гг],г2,... ,хп), содержащее переменные Xj.x^ хп. кото- которое при подстановке вместо переменных их значений становится высказы- высказыванием, называется (п-местным) предикатом. Например, х > у — двухместный предикат, ах > 0 — одном<чт- ный предикат. Обычно предполагают, что переменные берутся из одно- одного множества: Xi,xj,... ,х„ € М, где М — предметная область пре- предиката, a X\,Xi,...,xn — предметные переменные. Можно сказать, что предикат — это переменное высказывание, истинность которого опре- определяется значениями предметных переменных. С функциональной точки зрения «-местный предикат — это функция, действующая го М" в {1-0} (Мп = {(xi,X2,... ,хи)\хг,Х2,--- ,х„ € М] — гс-ая декартовая степень мно- множества М). 1.2.3. Кванторы Пусть Р(х) — некоторый предикат. Запись Vr 6 М Р(х) заменяет высказывание "Для всех j € М значение Р{х) есть ИСТИНА". То же высказывание можно выразить и по-другому. Например, "для любого элемента х из множества М выполняется свойство Запись Зх ? М Р{х) заменяет высказывание "Существует таьой эле- элемент х ? М, что значение Р{х) есть ИСТИНА". Говорят также: гдля некоторого х из множества М справедливо P{x)v. Значок V называют квантором всеобщности (V - перевернутая вверх ногами первая буква английского слова All (все) ). 3 — квантор существования (этот значок возник в результате переворачивания слева направо первой*6уквы глагола Exist — существовать). Не всегда множество М (область действия квантора) указывается явно. Иногда оно задается каким-либо условием (пример: Vs > 0 34 0 < 6 < е). иногда считается определенным по контексту.
Переход от Р(х) к высказыванию Vz € М Р{х) или Зх ? М Р(х называют навешиванием квантора на переменную х, или связыванием пе- переменной х, при этом х становится связанной переменной. Несвязанна! переменная называется свободной. Заметим, что при связывании it пере- переменных я-местного предиката он переходит в ?г — fc-местный предикат; в частности, если навешиваются кванторы на все переменные предиката, тс последний преобразуется в высказывание. 1.2.4. Построение отрицаний Рассмотрим высказывание Чх Р{х). Отрицание данного высказывания означает, что не для всех х выполняется свойство Р(х), т.е. до крайней мере для одного элемента а; истинно Р(х). Таким образом, отрицанием выеказьншп» ?г Р{х) является высказы- высказывание Зх Р(х). Аналогично можно показать, что отрицанием высказывания Эх Р(х) служит высказывание Vz P(x)- Построим теперь отрицание более сложного (но структуре) высказы- высказывания А, полученного связыванием переменных двухместного предиката: Эр Var Р{х,у). Обозначим через Qfy) предикат Ух Р(х,у). Тогда »ы- сказывание А можно зависать в вида Эу Q{v)- Отрвнаннем А €уает вы- высказывание \/у Q{y)- "Расшифруем" теоерь, что означает Q(y)< Поль- Пользуясь правилом построения «юч^ч^и^м);»¦ запись которого начинается с квантора всеобщности, получаем: Зх Р{х,у). Окончательно: отрицанием высказывания Эд Ух Р(х,у) является высказывание Vy Эх Р(х,у) С помощью щщудаии по числу кванторов несложно обосновать общее правило построения отридаотй. Пусть некоторое предложение {предикат или высказывание) возника- возникает в результате связывания переменных предиката. Р(х},..., х„). Для по- построения отрицания этого предложения нужно все кванторы поменять ва противоположные (V на 3, 3 ла V), а предикат Р(х1,^..^хп) заменить «го отрипанием- В заключение данного параграфа укажем ва еще одно часто встречаю- встречающееся сокращение. Завись ЗЬс € М Р{х) оздачает; существует роено один элемент х € М, для которого высказывание Р{х) истинно.
Предварительные сведения 13 1.3. Правило произведения Теорему, которую мы сейчас сформулируем и докажем, час-то называют основ«ьи< принципом комбинаторики . Теорема 1Д. ( Правило аравзведеэди ) Пусть подсчитываете* ко- количестве объектов, каждый из которых строится в результате по- последовательного выполнены п действий. Первое действие может быть выполнена о4 способами, второе — аз способами,.--, последнее — а„ спо- способами, при этом количество способов выполнить каждое действие не зависит от того, какими были предыдущие действия. Тогда общее коли- често объектов равно щ • а% ¦... • ап. < Доказательство проводится методом математической индукции. При п — 1 доказываемое утверждение очевидно Пусть п = 2- Закоди- Закодируем последовательность действий упорядоченной парой чисел (ij), где > — номер способа выполнить первое действие, a j ~ второе- Тогда всевоз- всевозможные способы выполнить два действия можно описать прямоугольной таблиней A,1) A,2) A,3) ... <1,а,) B,1) {2,2> B,3) ... (•,,1) <«„2) (в,,3) -. («„«,) В таблине ал строк и ог столбцов, а. значит, о5 - ог элементов. Утвер- Утверждение для случая двух действий доказано. Переходим к индукционному шагу. Предположим, что правило произ- произведения справедливо при n = k > 2. Последовательность из Jfc -f \ дей- действия будем кодировать упорядоченным наборам чисел (i), J2,...,»t,«t+i), где ij - номер способа выполнить j-e действие. Таких наборов — столько же, сколько упорядоченных пар {(«j,«j, —,«tO»t+i), В которых первый эле- элемент — упорядоченный набор из к элементов. По предположению число наборов (*ь t2,..., гк) равно й) • а2 -... • о*; второй элемент пары — u+i — ш> условшо выбирается ац-i способами. Всего пар будет (ац • «и •... ¦ а*) • а*+) = а, ¦ о2 ¦... - aj. • at-Hi что и требовалось доказать. Применим правило произведения к решении двух важных комбинатор- комбинаторных задач.
1.3.1. Число перестановок Пу< ть имеется п различных элементов. Перестановкой п элементов назы- называют их расположение на п различных местах. Подсчитаем число таких перестановок. Каждую перестановку можно получить в результате после лопательного выполнения п действий. Первое действий — выбор места для первого элемента выполняется П ( ПОСОбеШИ. Второе действие — выбор места для второго элемента - - выполняется /1 — 1 способами, поскольку одно место уже занято, и чигло свободных мест на единицу уменьшилось. И так далее. Наконец, размещение последнего, //-го элемента осуществляется однозначно. По правилу произведения число всех перестановок п элементов равно 1.3.2. Число подмножеств конечного множества y А множество, содержащее п элементов. Для малых п подсчита- подсчитаем число всевозможных Подмножеств множества А. Для этого составим < ледующую таблицу. п 1 А 1 {а} 2 3 {а,Ъ} {а,*,с} все подмножества А , ФЛ*) *»,{*}.{«}, {а,*}, {а, с}. {Ь, с}, {а. 6, с} число подмножеств 2 4 8 Возникает предположение, что число всех подмножеств n-элементного мно- множества равно 2Г*. Справедливость его легко доказать с помощью правила произведения. Действительно, произвольное подмножество п-элементного множества можно получить в результате выполнения следующих п деи- (твий: 1-е действие г определяет судьбу" 1-го элемента множества быть ему в формируемом подмножеств* или нет, 2-е действие касается 2-го эле- элемента, ..., n-е действие — n-го элемента. Таким образом каждое из я дей ствий может быть выполнено двумя способами. Согласно правилу произ- произведения, число способов выполнить все п действий, а, значит, и число всех подмножеств исходного множества равно 2".
Глава 2 Элементы теории чисел 2.1. Теорема о делении с остатком •Пусть а и b — целые числа. Если существует такое целое число ц, что а = bq, то говорят: а делится на Ь, или а кратко Ь, или Ь делит а, или b — делитель а; при этом пользуются обозначениями о: Ь или 6 | а. Теорема 2.1. (Теорема о делении с остатком) Пусть a€Z,b& N. Тогда 3lq,r ?Z a=bq + r, 0 < г <Ь. Доказательство. Существование. Пусть bq — наибольшее из чисел, кратных q и не пре- превосходящих а. Тогда выполняется двойное неравенство bq < а < b(q +1), а. значит, и 0 < а — bq < b. Теперь если положить г = а — bq, то одновременно будем иметь: a ~,bq + r, 0 < г < 6, Единственность. Пусть я ss &<ft + г\ ш а = &дг + г2. Вычитая из первого равенства второе, получаем: 0 = b(qi — ф) + ri ~ Г2» или 6(<?i — да) — Г2 ~ П, откуда следует, что гх — гг делится на Ь. С другой стороны, из неравенств 0<rj <&и0<Г2<6 вытекает неравенство \гг ~ г^\ < Ь. Сопоставляя два полученных факта, заключаем, что гх - г2 = 0. Тогда b(qi - 52) = 0, и т.к. b ф 0 F - натуральное число), то g! = g2. Итак, любые два представления числа а в виде а = bq + г совпадают. Единственность доказана. Замечание. Числа q и г из формулировки доказанной теоремы называют соответственно частным и остаткол от деленш а на Ь. 2.2. Наибольший общий делитель. Алгоритм Евклида В этом параграфе все числа предполагаются натуральными. Обозначим через D{a) множество всех делителей числа а, а черет 2 ап) — множество всех общих делителей чисел ах.аг ап.
Таким образом, ??(а„ «»,..., а») * Заметя», что это множество жтечт а ве пусто (по крайней мере, оно содержит 1), поэтому в вей есть наибольший элемент, который будем обозначать (ai,ej,...en) и называть наибольшим общим делителем чи- чисел auai,...,an. Натуральные числа a в 6 называются взаимно простыми, если их наи- наибольший общий делитель равен 1. Очевидно следующее утверждение. Лемма 2.1. а : Ь <& (в, 4) «* к Лемма 2.2. ffycntb a**bq + r, 0 <г <Ь. Тогда (а,Ь) =* F,г). Доказательство. Пусть ж € Ща, &)• Тогда в ¦ х, Ь':х иг жа+-1щ;%. Таким образсм, х ? D(b, г). Пусть теперь х ? D(b, г). Тогда Ь': х, г ¦ х я а * frg + г : г. Таким образом, х€?>(а,6). Доказано равенстве множеств ?>F» г) * ?>{а,&), а, значит, и их макси- максимальных элементов. Поэтому F, г) ж (а,Ь), что и требовалось. Пусть а не делятся аа 6. Тогда имеет место представление а в виде a ss 5g# + гь 0 < ri < 6, По лемме 2.2 (а,&) =* {i,»*i). Если b не делится на г,, то имеем: & = nqt + г2, 0 < г, < г4 я F,гг) « (ri,r2). Продол- Продолжив данный процесс (а ов называется алгоритмом Евклида) , получим последовательность остатков (г,-), это — убывающая последовательность натуральных *шсел. Она Be может быть бесконечной, поэтому некоторый остаток г„ будет кратен предыдущему »¦„_!. Итак, выполняются следую- следующие соотношения: + г», ,0<r 0<г* 0<г3 i < *; <Гь <гг; (в, (п й) = Г}) = ,r,)- = (''2, ¦•2); »"п-2 * rn-iqn.i + г„, 0 < г„ < гп_ь- (г„_1, rB_i) = (г„_ь г„); Гп-i * rnqn; (г„^,,гв) » г„. (Последнее равенство справедливо в силу леммы 2.1). Цепочка равенств (а,Ь) = F,fi) = (гг,г2) » ... as (rn_j,rn) = rn дока- доказывает следующую теорему.
Элементы теория чисел 17 Теорема 2.2. Наибольший общий делитель двух чисел равен последне- последнему ненулевому остатку в алгоритме Евклида, примененному к данным числам Пример. Для нахождения B88,126) применим алгоритм Евклида к числам 288 и 126: зв 0 126 18 2 288 36 3 126 2 Последний ненулевой остаток равен 18; поэтому B88,126)=18. Теорема 2.3. Наибольший общий делитель двух чисел делится на любой из общих делителей этих чисел. Доказательство. Пусть а : х, Ь: х; Г\,..., гп — остатки, возникающие при работе алгоритма Евклида. Тогда гг = (а - bqg): х, г2 = F - rtqi) :x г„ = {гя~2 — rn-iqn~i): х, В силу предыдущей теоремы г„ = (а, Ь). Таким образом, (а, 6):' х, что и требовалось доказать. Свойства наибольшего общего делителя 1. (о,4) » (Ь, а). 2. (ma,mb) = т(а,Ъ). Доказательство. Все равенства, возникающие при работе алгоритма Евклида, почленно умножаются на т при переходе от пары < a, b > к паре < та, mb >. 3. Если а и b взаимно просты, то (ас,Ь) = (с,Ь). Доказательство. Пусть х € D(ac, b). Тогда ас : х, Ь : х. be : i, т с. х 6 Diac.bc). По теореме 2.2 (ас,be): х, и. в силу предыдущего свой- свойства. с(а,Ь) . х. но по условию (а,6) == 1. Таким обоазом. с • х у с G D(b,c). Пусть тепеоь х е ?>F,с). Тотаа,Ь:х.с:х.ас:х пх ^ Доказано, что D(ar.b) = D(c,b), откуда следует требуемое
4. Если числа аг и аг взаимно просты с Ь, то тем же свойством обла- обладает в их произведение, т.е. {аиЬ} = 1,(а2,Ь) = 1 => («Иаг, Ь) = 1. Это свойство вытекает из предыдущего. 5. Пусть для* = 1,2,...,я (а„Ь) - 1. Тогда (ПГ=1 а-ь) = 1- Свойство легко доказать индукцией по п с помощью предыдущего свойства. 6. ЕслчЫг,] (о,,*,) = 1, то (П«.,П*,) = L Следует из свойств 1 и 5. 7. {о),о2,...,а„)«((. Для доказательства достаточно использовать соотношение D(ai, а2,... ,о„) = J9(ai) П В{аг) П ... П D(an) и свойство ассоциатив- ассоциативности пересечения множеств. 2.3, {Jfea-l,fe6-l) = fc^-l Вновь все числа, рассматриваемые в этом параграфе, предполагаются на- натуральными. Пусть к > 2. Докажем справедливость формулы, вынесенной в заголо- заголовок параграфа. Рассмотрим сначала случай, когда а кратно 6. Имеем при этом а = bq в (о, 6) = 6 (по лемме 2.1). Доказываемое равенство приобретает вид (к* — 1. кь — I) = кь — 1 и равносильно тому, что к" — 1 кратно kh — 1. С помощью алгебраического ^тождества получаем, что к" — 1 = jfc*4 - 1 = (**)' - 1 делится на кь - 1 Пусть теперь о не делится на Ь, т.е. a=6q + r. 0<г<6 Имеем. f-U **«+г - 1 = **"{**« - 1) + кг - 1. Как показано выше. **« - 1 делип я на Ifc* — 1. Кроме того, О < к' — V < кь — 1. Таким образом, остаток от деление к" — 1 на къ — 1 равен f — 1. Поэтому по лемме 2.2 {*" -1, ifc* -1) ~ (Ат* -1, к' — 1). Используя соотношения алгоритма Евклида а*Ц + Г1, & ** fi?« + fi, ri = r2q2 + r3, ..., rn_j = гп_,д„_, + г„. fn-i == 4пГ„, получаем цепочку равенств (*" -1, Jfc* - 1) = (Jfc4 - 1. Jfcri -ll-
Элементы теории чисел 19 (кп -l.kT' -1)= .. = (Jtr"-1-l,ifcr"-l) = A-r»-l = fr(e-*)-l Сопоставляя начало и конеп этой пепочки, получаем требуемое. Пример. B88,216) = 18 =» (Зг88 - 1.3126 - 1) = З18 - 1 Важным следствием доказанного соотношения является слеллюшее утвеождение Ei ли т и п взаимно просты, то взаимно простыми будут п чшли 2т - 1 и 2" - 1 Действительно, {т,п) = 1 => Bт - 1.2" - 1) = 2(тп) - 1 = 21 - 1 = 1 2.4. Простые числа. Основная теорема арифметики Натуральное число, большее 1, называется простым, если оно имеет ровно два делителя — 1 и само себя. Натуральное число, большее 1, яе являющееся простым, называется составным 1 не является ни простым, ни составным числом. Отметим, что число является простым "тогда и только тогда, когда ово взаимно просто со всеми меньшими натуральными числами. Теорема 2.4. Множество простых чисел бесконечно. Доказательство. Предположим, что F — {«], Пг п*} - множество всех простых чисел {щ ¦=¦ 2, щ = 3. щ = э ). Очевидно, что числа т F попарно взаимно просты; в силу последнего утверждения предыдуще- предыдущего параграфа при t ф j числа 2"' — 1 и 2п> -~ 1 также взаимно про- просты Выберем теперь для каждого t = 1.2. ..-к каьой-нибудъ простой делитель р, числа 2 — 1 числа /м.рг... ,рь будут попарно различны В результате образуется множество G = {р\.р? Рк} простых чисел (Pi =3. рг — 7, рз = 31. . ) Все элементы G сути нечетные ча- <ла Поскольку множества F и G содержат поровну элементов, 2 € F и 2^6: делаем вывод, что в G найдется число, не входящее в F. Пришли к противоречию Теорема доказана. t Теорема 2.5. (Основная теорема арифметики) Любое натуральное число, большее 1, предстаеима в виде произведения простых чисел. Такое представление единственно с точностью до порядка сомножителей. Доказательство. Существование и единственность указанного преаставле- йая для простых чисел очевидно Доказательство теоремы для составных ¦Чисел проводится методом математической индукдии
a — составное число. Предположим, что все натуральные чи- числа от 2 до а — 1 раскладываются, и при том единственным образом, в произведение простых чисел. Докажем существование соответствующего разложения и для а Наи меньший делитель а, больший 1, обозначим р Очевидно, р простея- чи- число. Для некоторого натурального числа аг имеем а = аг ¦ р, причем а-, < о По предположению индукции aj раскладывается на простые множители, поэтому тем же свойством обладает и число а. Единственность. Пусть существует два разложения составного числа а на простые множители: a-pi р2-...-рп ~qi •&-... -qm. A) Если рг ф q} для всех « и j, то имеем Vi,j (p«»fl>) = 1 и по свойству 6 ич §2.2 а ~(а,а) = (pi ¦ р2 ¦ ¦¦¦¦pn,qi ¦ <h ¦ ¦ ¦ ¦ • Яш) = 1, что противоречит неравенству a > 1. Значит, для некоторых i и j p, = q3 Пусть а = flj • р,. Сокращая части равенства A) на общий множитель рг = q3, получим два разложения дла числа а\. Поскольку ах < а, эти разложения совпадают. Отсюда следует я единственность представления числа о в виде произведения простых чисел. Теорема доказана. Представление натурального числа в виде a = pf ¦ p^s ¦ ¦.. ¦ р*', где Pi iPzi ¦-• ,Pr — попарно различные простые т?исда, называют каноническим разложением числа в. 2.5. Сравнения и их свойства В этом параграфе все числа предполагаются целыми. Пусть т — натуральное число. Говорят, что а сравнимо с b no мооулю т, если их разность а — Ь делится на m При этом используется запись а = b(modm). Например, 7 = I(mod3); 12 = -2(mod 7). Очевидно, что a = 6(mod m) *> 3f € Z a — Ь + mt Докажем следующее простое Предложение, а н 6(modm) тогда в только тогда,, когда о и Ь имеют одинаковые остатки от деления на т.
Элементы теории тесел 21 Пусть а и 6 при делении на т дают остатки гг и г2 соответственно а — rnq-i + Г], 0 < Г! < т; Ь = mg2 + г2, 0 < Г2 < ™ Если а = b(modm), то (а — Ь) '¦ т. т.е. (m(gj — д2) 4- г5 — г_,) »i от- откуда (ri — г2) • ти. С другой стороны, поскольку 0 < гь г2 < т. тк- ткем |ri — г2| < т. Сопоставляя два последних утверждения. пол\чаем чт^> fj — г2 = 0, поэтому ri = г2. Обратно, при Г] = г2 справедливо в — b = m(gi — g2): m Заметим, что всякое число сравнимо по модулю т со своим остатком от деления на т. Свойства сравнений 1. as a(modm) (рефлексивность). 2. а = b(modm) «*¦ 6 s a(modm) (симметричность). 3. a s 6(modm),6 s c(modm) =* a s f(modm) (транчитивиость). Доказательство. Если (а-Ь):т, (Ь-с):т, то и а—с = (a-b)+(fc~c):m. 4. ai = fei(modm), a2 s ymodm) s^ aj + a2 г fci + ^(modra). Доказательство. Если (ai — 6j): m, (аг — Ь2) • *'*• то (в] + «г) - (bi + bj) = (aj + а2) - (h + Ьа): m. 5. a-i = 6i(modrn), a3 = fej(modm) =* в] • a2 = &] ¦ Ьг(тоёт). Доказательство Числа aj и a2 можно представить в виде ai = И «2 = fco + Я1?2: ПОЭТОМУ m^2) — fc]i>2 = (Мг 4-t2bj -f m(it2)»ri: m. Таким образом, сравнения по одинаковому модулю можно почленно склааывагпь и умножать. 6. а = ft(modm) =i- са = cb(modfn). Это свойство — следствие свойств 1, 5. 7. а = &(mod m), n ? iV =* a" = bn(mod m). Следствие прельшушего свойства.
8 Если а = bfmodm) и Р{х) — многочлен с целыми коэффициентами. то Pi а) — Р(Ь)(шайт) Следствие свойств 4.6 7 Примеры решения задач 1 ) Показать, что любое натуральное число стэажяимо с суммой <воих цифр по модулю 9 Пусть натуральное число к имеет десятичную )аяи< ь к — ач_)а„_2...а)во Рассмотрим многочлен Р(«г) = ]^"_^ а, г', чьи коэффициенты суть цифры числа к. Очевидно, что к — Р(Ш, РA) = YL7^n ai Поскольку 10 = l(mod 9), в силу свойства 8 получаем РA0) = P(l)(mod9) что и требовалось доказать Частным случаем доказанного утверждения является ичвехтный иэ средней школы признак делимости на 9 Аналогично доказывается. что любое натуральное число сравнимо с суммой своих дифр по мо- модулю 3 2) Вывести признак делимости аа 11. Пусть, как и выше, к = an,ian_3...aiOo, P(i) = Ш^Го' ^ ^'- Так как 10 = -l(modll), имеем *: = Р(Щ = P(-l)(modll> Заметим, что P(-l)=ae-ai+a2~a3 + ... + (-1)я~гоп_1- Таким образом, число делится на 11 тогда и только тогда, когда делится на 11 "знакоче- "знакочередующаяся сумма его пифр. 3) Десятичная запись числа состоит из 95 единиц и нескольких нулей Мо- Может ли оно быть жвадратом некоторого натурального числа '' Пусть к — данное число. Как отмечалось выше, число сравнимо < суммой своих пифр по модулю 3. Поэтому к = 95(mod3j = 2(mod3i Выясним теперь, какие остатки может дааать квадрат натурально го числа п от деления на 3. Имеет место один из трех случаев г/ сравнимо с 0. 1 или 2 по модулю 3 Если я = 0(mod3), то и2 = 0(mod3) если n = I(niod3). to n2 ~ KmodSj, если я s 2(mod3), то пг = 4 = I(mod3). Таким образом, квадрат натурального числа не может давать оста- остаток 2 от деления на 3; ответ на вопрос задачи отрицательный.
Элементы теории чисел 23 4) Докажите самостоятельно, что квадрат натурального чнсла при деле- делении на 4 может иметь остатки только 0 или 1. 5) Доказать, что C*> - 230): 7. Действительно, З30 * 271в ? (-1I0 = l(mod?}; 230 = 8w?l" = I(mod7), откуда вытекает требуемое. 6) Доказать, что для любого натурального п E*п+3 + Зп+3 • 2") • 19. Доказательство. 5*1*3 * 125 25" ? 11 • 6n(mod 19). . 2- * 27 ¦ 6" = 8 ¦ 6"(mod 19). Складывая сравнения, получаем: 52п+з + 3«+з. 2" = 19 - 6я s 0(mod 19), что и требовалось. ?) Доказать, что для любого натурального п 13 ¦ (-50)" + 17 40" - 3011989. Разложим 1989 на множители: 1989 = 9-13-17. Обозначим а* * 13 ¦ (-50)" + 17 • 40" - 30. Докажем, что ап делится на 9, 13 и 17. Действительно. о„ s 4 ¦ 4" + (-1) ¦ 4" - 3 ? 3 • DП - I){mod9). Поскольку 4" - 1 s Г* - 1 s 0(mod3), 3 ¦ D" - 1) :9 и а„ г 3 ¦ D" - 1) г 0(mod9), т.е. в„ делится на 9. Делимость на 13 и 17 доказывается совсем просто; ап = 0 + 17 - Г - 30 s 0(modl3);an s 13 -1" +в - 30 3 0(modl7). Итак, а„ делится на попарно взаимно простые часла 9, 13 и 17, по- поэтому ап кратно их произведению — 1989. 8) Найтн остаток от деления на 3 числа П1™(к? + 1). Имеем: 1000 Остаток равен 2. 9) Доказать, что уравнение х2 — 4х + 12у = 19 не имеет решений в пелых числах. Действительно, поскольку 4х - 12у: 4, х2 s= 4i — 12у +19 = 3(mod 4). что противоречит результату 4).
24 2.6. Системы вычетов Как показано в §2.5, отношение сравнимости по модулю m обладает свой- свойствами рефлексивности, симметричности и транзитивности: поэтому оно является отношением эквивалентности1. Возьмем произвольное целое число а. Обозначим через а множест- множество чисел, сравнимых с а по модулю т: 5 = {я е Z\x з a(modm)}. Пусть Ь^3я5={хе Z\x s fe(modm)}. Пусть теперь с ? а U 6 и с ss {х ?'Z\x & c(modm)}. И так далее. Пропесс будет длиться до тех пор, пока построенные множества не будут покрывать все множество целых чи- чисел. При этом возникает разбиение* множества- Z на множества а, 6, с—, которые называют классами вычетов по модулю т; каждое число, входя- щре в какой-нибудь из классов, называется вычетом этого класса. Число классов вычетов по модулю т равно т. Действительно, остаток от деления целого числа на т принимает одно из значений 0,1,..., тп- 2 или тп -1 и поэтому каждое из чисел попадает в один из классов О, Г,..., тп — 1. количество которых равно т. Взяв по одномуччислу вз каждого класса вычетов хх, хг,..., хт, получим систему представителей классов вычетов, илв полную систему вычетов по модулю т. Пример. Различные полные системы вычетов по модулю 7: 1H,1,2,3,4,5,6; 2) -3,-2,-1,0,1,2,3; 3) 7,-6,9,-4,11,-2,13 Лемма 2.3. Числа Х1,хг,...,хт образуют полную систему вычетов по модулю т тогда и только тогда, когда они попарно не сравнимы по мо- модулю т. Необходимость-очевидна. Докажем достаточность. Если два числа не срав- сравнимы по модулю т, то они попадают в разные классы вычетов. Так как всего классов вычетов m н рассматриваемых чисел т, то они составляют полную систему вычетов. Лемма 2.4. Пусть Xi,xt,...,xm — полная система вычетов по модулю- т, целое число а взаимно просто с т, Ь — произвольное целое число. Тогда числа ахг +Ь, ахг + Ь,..., ахт + Ь также образуют полную систему вычетов. 'Об общем определения отношения н его свойствах речь пойдет ниже — в главе 3, заметим, что теория чнерл является источником многих важных примеров для обшей алгебры. ' Разбиение множества — это представление его в виде объединения попарно не пе- пересекающихся подмножеств.
Элементы теории чисел -о Доказательство. Согласно лемме 2.3 достаточно убедиться в том. что ах, + 6 ф ах, + 6{modm) при г ф- ]. Предположим (для приведения ь. Противоречию), что ах, + Ъ = axj. + 6(modm). Тогда а(х, - х3) . т. и, поскольку (а, га) = 1, имеем (х, — х}): т, что противоречит лемме 2.3 Лемма 2.5. Пусть х = a(modm). Тогда (х, т) — (а<т). Действительно, пусть г — остаток от деления а на т. Тогда по лемме 2.2 (а,т) = (г,т). Но так как х = a(modm), при делении на т число j также имеет остаток г, и, следовательно, (х, т) = (г, т), откуда и вытекает требуемое. Итак, числа из одного класса вычетов по модулю т имеют один и тот же наибольший общий делитель с т. Поэтому становятся корректным сле- следующее определение. Вычет по модулю т называют приведенным, если он взаимно прост с т Совокупность приведенных вычетов из разных классов вычетов называют приведенной системой вычетов. Пример. При т = 1 приведенная система вычетов может выглядеть так. 1,2,3,4,5,6; а при т = 6 так: 1,5. t Функцией Эйлера <р{т) называют число натуральных чисел, не превос- превосходящих т и взаимно простых с га. Например, ^A) = 1; 9B) = 1; 9C) = 2: v(i) = 2; ф) = 4. Легко видеть, что если р — простое число, то tp{p) — р — 1. Очевидно, что приведенная система вычетов по модулю m содержит <t>(m) чисел. Лемма 2.6. Пусть а взаимно просто с т, k = ^(m) а Яъ^г,--- ,** - приведенная система вычетов по модулю т. Тогда числа ax-i, ахъ, ¦. -, ах^ также образуют приведенную систему вычетов по модулю т. Доказательство. Так как числа о и хх взаимно просты с га, таким же свойством обладает и их произведение axv. В силу леммы 2.4 числа axi, аХ2,..., ахк принадлежат к разным классам вычетов, и, следовательно, в силу предыдущего, образуют приведенную систему вычетов. 2.7. Теорема Эйлера Пусть т — натуральное число, к = ^>(т), х,,хг хк -- ггоиведеяная система вычетов по модулю т. Пусть a - какое-нибудь натуральное число взаимно ггоостое с т. Тогда в силу результатов предыдущего параграфа
числа axi,ax2,¦ ¦ -,ахк также образуют приведенную систему вычетов по тому же модулю. Поскольку aij — приведенный вычет, для некоторого числа I,- € {1,2,.. .,*} сираведливо соотношение ах} si^raodm). Числа <ь »2, • - ¦, »'* попарно различны и поэтому образуют перестановку чисел от 1 до it. Перемножив к полученных сравнений, получим а* • a?i ¦ х2 • ¦ ¦ ¦ ¦ х* Ш I,-, - х„ ¦.. - • rit(mod тп). Пусть s = Г) ¦ г2 • ¦ - - • **• Тогда произведение г„ ¦ х,2 -... • х,к также равно *. Заметим, что поскольку делители s взаимно просты с т, число * также обладает этим свойством. Итак, o*s s s(modm), отсюда s(ak - 1): m, и, в силу взаимной простоты s и та, имеем о* - 1: т. Доказана Теорема 2.6. ( Теорема Эйлера ) Если целое число а взаимно просто с натуральным числом, т, то число о^' — 1 делится на т. Следствие (Малая теорема ферма). Пусть р — простое число, а — целое число, не кратное р. Тогда а?~у — 1 делится на р. Заметим, что в условиях малой теоремы Ферма ар~— а делится на р, во последнее справедливо и при а, кратиом р. В связи с этим часто под малой теоремой Ферма понижают следующее легко заломинаемое утверждение: Если р — простое число, то для любого целого а число ар — а делится на р. Малая Теорема Ферма дает лишь необходимое условие простоты чи- числа. Нечетное число т > 3 называют условно простым по базе а (а — 2,3,,..,т — 1), если а* = l(modm). Простое число является условно простым до любой базе. Существуют, однако, составные числа т, явля- являющиеся условно простыми по любой базе а, взаимно Простой с т. Такио числа называют числами Кармайкла. Наименьшее из них — 561. В 1994г. было доказано, что чисел Кармайкла бесконечно много. В последние годы задача проверки простоты числа или - более широко — задача разложения числа на простые множители вновь приобрела ак- актуальность в связи с проблемами создания надежных шифров (см. §2.11). С современным состоянием данного вопроса можно познакомиться выпол- выполняя лабораторные работы 2, 7, 8, 13 в рамках практикума, разработанного под руководством известного специалиста по теории чисел Х.Монтгомерп (программы, составляющие "компьютерную лабораторию по теорий чя сел" — Computational Laboratories In Number Theory (CLINT) имеются на кафедре прикладной математики ЮУрГУ).
Элементы теории чисел 27 2.8. Линейные диофантовы уравнения Диофантовгл/^ называют уравнение в целых числах вида P(xl....,xn)=Q, где Р — многочлен от п переменных с целыми коэффициентами. Пред- Предметом изучения в этом параграфе будет служить линейное диофантово уравнение с двумя неизвестными ах + Ьу^с, A) где а, Ь и с — целые константы, ахи»/ — неизвестные, или переменные. Решением (более точно, частным решением) уравнения, как известно, на- называют набор значений переменных, обращающих его в верное равенство. Стоит задача описания всех решений уравнения A) в Целых числах. Если один из коэффициентов при неизвестных равен нулю, то уравнение фактически содержит лишь одно неизвестное. Поэтому будем считать, что о / 0 и 6 Ф 0. Более того, при веобходимости меняя знак переменной, можно без ограничения общности считать в этом случае, что а > 0 И Ь > 0. flvi;**. d — наибольший общий делитель а и Ь. Тогда для любых целых гну левая часть уравнения ах + by делится на d. Если при этом с не делится на d. то уравнение не имеет (пелых) решений. Если же с кратно d, т.е. с = cjd для некоторого целого сь то, положив а = a^d, b = b^'d и сократив на d. уравнение A) сведем к виду в котором коэффициенты при неизвестных являются взаимно простыми числами. Теорема 2.7. Уравнение A) с взаимно простыми коэффициентами при неизвестных разрешимо в целых числах. Доказательство. Рассмотрим сначала уравнение ах+Ьу=1. B) Построим цепочку делений с остатком a = Ьдо + гь 0 < rt < Ь; JB честь древнегреческого шьтоштижа Диофанта, жавшего у Ш вехе.
b — ггдг +r2. О < г2 < ri; r\ = r2q2 + r3, 0 < г3 < г2. гп-2 = fn-l9n-l +Г„, 0 < Г„ < Г„_] Гп-i = rnqn Последний ненулевой остаток, как известно, равен наибольшему общему делителю а и 6, т.е. гп — 1. Заметим, что каждый остаток г, может быть представлен целочисленной линейной комбинацией 4 и Ь- гг = a,a + р,Ь Действительно, Г) = а — bq0 s= ot\a + /?ji; r2 = Ь - rift = b - (ajo + ДЬ)?! = a2a + /32b, Последнее равенство показывает, что пара целых чисел (<*„,/?„) является решением B). Очевидно, что пара целых чисел («*„, с0п) — суть решение A). Теорема доказана < Пример. Найти какие-нибудь целые х и у, для которых Применив алгоритм Евклида к паре чисел 1000 и 73, получим цепочк> равенств 1000 = 73 ¦ 13 + 51; 73 = 51 ¦ 1 + 22.51 - 22 2 + 7; 22 = 7 3 + 1. из которых получаем 1 = 22-7-3=22- 3E1 - 2 • 22) = 7 • 22 - 3 • 51 = 7G3 - 51) - 3 5] = = 7-73-10-51=7 73-10A000-73 13) =-10 ¦ 10000 + 137 73 Ответом в данной задаче может служить пара ( — 10.137) Итак, мы теперь умеем находить частное решение уравнения (I) (в том случае, когда это диофантово уравнение разрешимо) О том, каким является общее решение A) — множество всех (частных) решений, гово- говорит
Элементы теории чисел 29 Теорема 2.8. Пусть а и Ь — взаимно простые натуральные -числа (х<>,Уо) ~~ некоторое решение диофантового уравнения A) Тогда мно- множество всех решений A) описывается формулами т = xo + bt, у - уо - at. C где t e Z. Доказательство. Очевидно, что для любого целого t значения х и у. опре- определяемые формулами C). дают решение A). Действительно, а(ха + Ы) + %0 - at) = ахв + Ьу0 = с, так как (хо,уо) удовлетворяет A) по условию теоремы. Убедимся теперь в том, что произвольное решение A) имеет вид C) для некоторого целого t. Вычтя из A) почленно равенство ох о + bye = с. получим равносильное уравнение а(х — х0) + Ь(у — уо) = Ч, или а(х - х0) = Ь{у0 - у). D) Из того, что а(х — хо) кратно 6 и а взаимно просто с 6. следует (х — х0) '¦ Ь, т.е. для некоторого пелого t имеем х — х0 = bt, или х — х« + Ы. Подста- Подставив выражение для х в D), получим аЫ а= 6(j/o — у) и. поскольку' Ь / О, справедливо равенство jfc — у = at. или у — уо — at. Теорема доказана Пример. Общее решение рассматривавшегося выше уравнения 1000х+ ТЗу = 1 таково- {(-10 + 73*. 137 - 100W)|f € Z}. 2.9. Примеры решения нелинейных уравнений в целых числах В этом параграфе будут продемонстрированы некоторые методы решенм Уравнений в целых числах 1) За-2 + 4ху - 7у2 = 13 Решение сводится к небольшому перебору после разложения левов части на множители Имеем ~ Зх2 + 4ху - 1у2 = х(Ъх + 1у) - уCх + 7у) = (х - y)Cz + 7») = 13. Если (х, у) — решение этого уравнения, то х — у — делитель 13, т.е. принимает значения ±1, ±13; при этом Зх + 7у равно соответственно
=pl3, Tl- Решив четыре полученные системы двух линейных уравне ний с двумя неизвестными, увидим, что только в двух случаях х и у - - целые Ответ: B,1).(-2, -1) 2) 2т2 - 2ху + 9х + у = 2. Выразим у через х: у = 2х*?%~2 = х + 5 + ^у• Если я— целое число, то у будет целым лишь при 2х - 1 = ±1, ±3. Ответ: A,7), @, 2), B,8), (-1,3). 3) 2*-15 = у2 (x,y?N). Пусть сначала z — нечетное число: х = 2к + 1. /fc € Z. Тогда у2 = 22*+1 - 15 = 2 ¦ 4* - 15 ? 2 ¦ 1* s 2(mod3), что невозможно, по- поскольку, как было установлено ранее, квадрат натурального числа не может давать остаток 2 от деления на 3. Если х — четное число, то уравнение решается ранее использованным приемом: при т = 2к, к € Z Простейший перебор по делителям 15 дает следующий Ответ: D,1), F,7). 4) 19х2 - ЭЗу2 = 1993- Залисав уравнение в виде 19(г2 — 1-00) = 93A + у2), видим, что A + У2) : 19, откуда у2 = 18(modl9). Проверим, возможно ли последнее. Рассмотрев полную систему вычетов по модулю 19 0, ±1, ±2, ±3, ±4. ±5, ±6, ±7, ±8, ±9, получим возможные остатки от деления точного квадрата иа 19: 0. 1. 4, 9, 16. 6, 17, 11, 7. 5 Число 18 не входит в это множество Ответ: решений в целых числах нет. 5) arctg i + arctg ± = arctg i . '1 Взяв тангенс от обеих частей уравнения, получим в качество его с льо- апвия алгебраическое уравнение 10
Элементы теории.чисел откуда после несложных преобразований 31 Поскольку х - 10 — делитель простого числа 101, имеем х - 10 = ±1,±101; значит, (z,y)» A1,111),(9, ~91),A11,11),(-91,9). Решено в целых числах уравнение B). Для каждой найденной пары (х, у) найдется такое делое число к, что aretg A+arctg i = aretg -^+кк Легко проверить, что как aretg —¦ + aretg j~, так и aretg | - aretg ^ попадают в промежуток @, тг), поэтому каждый раз вышеупомяну- вышеупомянутое к равно 0 и, следовательно, найденные решения B) являются и решениями A). $.10. Мультипликативные функции Функция натурального аргумента 9(п) называется мультипликативной, «$ли для любых взаимно простых чисел тип выполняется равенство в(т ¦ п) = в{т) ¦ 9(п). Простейшими примерами мультипликативных функций являются сте- яенная функция в(п) — п" и постоянные функции в(п) — 1 и в{п) — 0. Заметим, что вA) = ^A ¦ 1) = 9A} 9A), откуда 0A) может быть равно ,1 или О- В последнем случае Vn в(п) — 9(п ¦ 1) = 9(п) -0=0. Чтобы рсключить возможность тождественного равенства нулю, иногда в опреде- Жние мультипликативной функции включают дополнительное требование: I1) - L Пусть rit, П2,..., пк — попарно взаимно простые числа. Индукцией лег- ' доказать, что для любой мультипликативной функции справедливо со- аошение Цщ ¦ п, -... • и*) = 9(щ) - в(т) ¦...¦ 9(пк), До конца этого параграфа будем считать, что п имеет каноническое разложение Докажем сначала мультипликативность функции Эйлера (определение см. ^2.6.) Пусть тип— взаимно простые числа. Чтобы подсчитать коли Чество чисел, не превосходящих тп и взаимно простых с тпп. расположим все числа от 1 до тп в виде прямоугольной таблицы
32 1 n + 1 2n + l * (m - l)n + 1 2 n + 2 2n + 2 (m - l)n + 2 3 n + 3 2n + 3 : (m - l)n + 3 ... n 2n 3n mn Любое натуральное число взаимно просто с топ тогда и только тогда, ко- когда оно взаимно просто и с т, и с п (в сипу взаимной простоты чисел т и п). Числа из каждого фиксированного столбца таблицы'попарно сравнимы по модулю п; поэтому можно остадить в таблице только столбцы, первые элементы которых взаимно Просты с п, не потеряв при этом ни одного инте- интересующего нас числа. Число таких столбцов есть ip(n). Элементы каждого столбца в силу леммы 2.4 образуют полную систему вычетов по модулю т. Поэтому ровно <р(т) элементов каждого столбца взаимно просты с т Таким обратом, всего имеется <р(п) • <р{т) чисел не больше тп и взаимно простых с тп, т.е. tp(mn) = v?(m)' V(n)i что и требовалось доказать. , Используя свойство мультипликативности, нетрудно вцвести формулу для вычисления <^(п)*-Поскольку tp(n) = f(j^1) ¦ <р(Рг2) ¦ • • • " <p(pj*)> доста- достаточно научиться вычислять функцию Эйлера от степени простого числа Для этого заметим, что если р — простое число, то среди любых р после довательных натураль'ных чисел ровно р — 1 чисел взаимно просты с р, г также с любой степенью р. Поэтому 9(р*) ^ **>(? ¦ Рк~1) Таким образом, * — 1) ¦ Р П ^ h .=1 1=1 1=1 Vi ,= 1 Pi Пример. 9B4) = 24 • A - |)A - |) - 8. Рассмотрим еще несколько задач, при решении которых возникают мультипликативные функции, 1) Найти т(п) — число различных делителей натурального числа г: (включая 1 и п). Общий вид делителя п имеет вид где для каждого i показатель степени г, принимает значения 0,1,...,к{. Произвольный делитель числа п можно построить в ре зулътате выполнения процедуры из s действий, где г-е действие со стопт в выборе г, — показателя степени простого числа р,. Поскольку. 4Ниже (§3.7.) будет показан еше один способ получения укачанной формулы
Элементы теории чисел 33 г-е действие может быть выполнено fc; +1 способами, применени*1 пра- правила произведения дает т(п) = (кг + l)(fc2 + l)...(fc, + 1) = П(*, + 1). Примеры- 1) гB3 ¦ З4 • 5е) = 4 ¦ 5 • 7 = 140; 2) гB3 ¦ З4 ¦ 4s) = тB13 • З4) = 14 • 5 = 70. 2) Найти s(n) — сумму всевозможных делителей числа п. Покажем, что Действительно, раскрывая скобки и не меняя при этом порядка мно- множителей, получим s(n) ss l-l-..«-l + l-i-...-p, + ...+pJ1j»2*-...-p** — сумму всех делите- делителей п. С помощью формулы суммы членов геометрической прогрессии получаем компактную формулу Примеры. 1) sA2) = sB2 ¦ 3) = ff± • ff^ =* 7 ¦ 4 = 28. 2) sF0) = sA2) - sE) * 28 ¦ 6 = 168. Л) Функция Мебиуса fi(n) вводится следующими соотношениями. = 1; если п делится на какой-нибудь точный квадрат > 1, т.е. для неко- некоторого i к, > 1, то fi(n) = 0; если же Vi fc, = 1 и n = pi • и •... • р,, {где pi,ps,... ,р, — различные простые числаM, то ii(n) = (—1)л. Проверка мультипликативности функций т(п),з(п), р(п) приводится непо- сРедственной подстановкой. В этом случае говорят что число п свободы am
34 2.11. Система В этом параграфе будет показано, какое применение нашли некоторые классические результаты теорий чисел к решеншо проблемы создания яа- ' нежных шифров —¦ проблемы чрезвычайно актуальной в эпоху массового распространении тедешммуткадий. Системой тайнописи с открытым ключом (public key cryptosystem) на- называют такую систему шифровали» я дешифрования информации, которая удовлетворяет следующим двум условиям: • получатель информации публикует алгоритм шифрования для всеоб- всеобщего сведения; • алгоритм дешифрования известен только получателю информации (держатся им в секрете) и практически (с помощью вычислитель- вычислительной техники) не может быть раскрыт. Шифрующий и дешифрующий алгоритмы называют соответственно от- открытым ш закрытым ключом. Идея подобной системы тайнописи была высказана в 1975 г., эффектив- эффективная реализация идеи была предложена в 1977 г. тремя американскими ма- математиками: Р.Райвестом, Ф.Шамиром и Л.Адельманом; первые буквы их имен* составили имя придуманной ими системы. Описание РША-сигтемы предварим некоторыми соображениями, связанными с общей идеей тайно- тайнописи с открытым ключом. Всякое сообщение, передаваемое с помощью компьютера по электрон- электронным сетям, может быть представлено в виде элемента некоторого чис лового множества 5. Пусть х 6 S; результат шифровки х (шифрограмму) обозна- обозначим^ = f(x), где / — функция, задаваемая алгоритмом шифровки. Удобно считать, что у тоже принадлежит 5; при этом функция / должна осуще- осуществлять взаимно однозначное отображение S на себя (разным сообщениям должны соответствовать разные шифрограммы, и наоборот), таким обра- образом, функция / должна осуществлять некоторую перестановку элементов S (т.е. / — подстановка, действующая на множестве 5). Дешифрующий алгоритм состоит в применении обратной подстановки f~l к шифрограм- шифрограмме у € 5: х = f~1(y)- Если множество содержит п элементов, то на ном определено м! различных подстановок. Теоретически можно найти обрат- обратную подстановку /"', вычислив f(x) для всех х ? S. Если, к примеру. S состоит из всех последовательностей 200 десятичных цифр, то п — 10200, и °В оригинале — RSA (Rivest, Shamir, Adelman).
Элементы теории чисел 35 реализовать предложенный алгоритм за обозримое время невозможно зна- знание открытого ключа не дает, таким образом, практической возможно* ти найти закрытый ключ. Покажем, как решается в предложенной системе тайнописи проблема электронной подписи. Предположим, что имеется группа бизнесменов, ко- которым требуется сообщать друг другу сведения, составляющие коммерче- коммерческую тайну. Каждый бизнесмен придумывает свой алгоритм шпфрованпя (прямой алгоритм); при этом он знает и обратный алгоритм. Участники группы издают специальный справочник, в котором приводят полностью все прямые алгоритмы (обратные алгоритмы держатся в секрете). К спра- справочнику имеет доступ любой желающий. Пользуясь справочником, можно послать сообщение любому члену группы, например, Z. зашифровав сооб- сообщение с помощью (прямого) алгоритма f%. Понять это сообщение сможет только Z, поскольку только он знает обратный алгоритм /г1- Теперь до- допустим, что бизнесмен А хочет подписать свое сообщение, т.е. добнтьса того, чтобы у Z не было сомнений в том, кто действительный автор сооб- щения. Тогда бизнесмен А шифрует свое сообщение х дважды: сначала с помощью своего обратного алгоритма /д', а затем полупенная -шифрограм- -шифрограмма шифруется еще раз с помощью прямого алгоритма fz- В результате Z получает шифрограмму у = fzU^i1))- Для того, чтобы восстановить ис- исходное сообщение, Z применяет свой обратный алгоритм /г' , а затем (вгем известный) прямой алгоритм fA '¦ 1лЦгХ{у)) — х- Теперь бизнесмен Z зна- знает, что только А мог послать ему этот дважды зашифрованный текст, так каь. при шифровании был использован секретный алгоритм бизнесмена А. Описание системы РША Множество S составляют натуральные числа, меньшие некоторого на- натурального числа т и взаимно простые с ним; таким образом, S — при- приведенная система вычетов по модулю т. Функция f(x) вычисляет остаток от деления хк на т; при этом показатель степени к должен быть взаимно простым с *i>(m) (у>(пг) — функция Эйлера). Числа к и m составляют от- открытый ключ. В качестве закрытого ключа используется такое число Jfc', что к ¦ к' = l(mod^(m)). Пусть у = z*(modm) и 0 < у < т. Тогда' так как по теореме Эйлера r^m) — 1 (mod m) ори взаимно простых хит. Зная разложение т на множители, легко вычислить у?(т)- Покажем. как по у(т) найти к'. Рассмотрим дпофантово уравнение кх + v(m)y = 1.
коэффициенты при неизвестных х и у по условию взаимно просты. ' рсшнение разрешимо а его общее решение имеет вил т — Jo + ^-{m)t у = у,, — Ь 1Ш t произвольное цело? число, a (Jo,.Vo) ~ некоторое частное р ^ павнения Яс но. что при некотоБом t число х будет положительно и может Ььпь выбрано в качестве к'. гал. как кз ~ l(mod ¦?"* 1 как правило, в качестве т берут произведение дв\ \ (многозначных) ггрытых чисел 77) = pq, тогдл jym* — (к — 1 цс, - j , В оригиналь- оригинальной публикации A977 г j о методе РША р is. q были соотв«ч с твенно Ъ4- а 65-чндчными числами Авторы опубликовали зашифрованный текст из 12Ь цифр и открытый ключ A28-значн«' число т и fc=90fOi предложш> 100 долларов том>, кто первый расшифрует текст С \тщч твовавтие в то время алгоритмы разложения числа на простые множители (<i также бы- < ту>одеи( твие вычи< лительыой техники) не позволяли найти разложение 128 значного чи< ла т за разумное время. Важный шаг в данном направле- направлении был сделан в 1982 г., когдд с помощью некоторого нового алгоритма в резз льтате 32-часовой работы суперкомпьютера Cray было найдено разло- разложение на множители 69-значного числа 2521 — 1 7, Но должно было пройти еще целых 12 лет, прежде чем в апреле 1994 г. в газете "Нью-Йорк Тайме" появилось сообщение о таи, что шифр 1977 г. наконец ч взломан"' Ныне длс выбора р и g рекомендуют 200-значные числа В заключение остановимся на технике вычисления ш татка от деления хк яв.т Эта операция не столь трудоемка, как может показаться на первый взгляд С помощью двоичного представления числа к ПОЛУЧИМ ЧТО I* = П r2'(modm) Количество умножении (по модулю т) при ¦вычислении степеней числа i равао s (каждая степень в этой последовательности, начиная со второй получается из предыдущей возведением в квадрат) При вычислении ра нее приведенного произведения понадобится не более 4 умножений Таким 'Несложно показать, что при составном п число 2" - 1 - также «н-тавжх- числа вида 2я -1. где р — простое «гасло, яазывшот числами Мерсевва Наибольшие из»-отны' в настоящее врем* простые числа являются числами Мереевна (см [8])
Элементы теории чисел 37 обоачом, общее число умножений не превосходит 2s, где s < log2 к Налри- iep при вычислении 9007-й степени понадобится 20 умножений (двоичное представление 9007 10001100101111) Некоторые дополнительные подробности о РША-системе моано ндй ти в ilOl fl2j и [11], а также при выполнении лабораторной работы \9 в компьютерной лаборатории по теории чисел" (CLINT, см с. 26)
Глава 3 Начальные понятия общей алгебры 3.1. Отношения Подмножество р п-ж декартовой степени множества А называют п- местным отношением на множестве А} Каждое я-местное отношение р на множестве А определяет п-местный предикат с предметной областью А; а, наоборот, всякий n-.wi тный преди- предикат с предметной областью А задает га-местное отношение на А (область истинности предиката). Р(аь...,а„) = 1 «=* (аь...,о„) ? р. Если (а],. -., а„) € /з. то говорят, что аь .., а„ находятся в отношении р. Одноместное (унарное) отношение на множестве А — это просто некото- некоторое подмножество А. В данной главе мы займемся только двухместными (бинарными) отношениями, и Именно их будем в называть просто отноше- отношениями Если (а, Ь) € р, то говорят, что а находится б отношеньи р с Ь, при этом используют обозначение арЪ. Свойства отношений Отношение на множестве А называют • рефлексивным, если для любого элемента а ? А выполняется ара, > • антирефлексивным, если Щм для любого а € А, • симметричным, если для любых а,Ъ € А т apb следует Ьра, • антисимметричным, если из арЪ и Ьра следует, что а — b • транзитивным, если условия apb и Ърс влекут аре 'Можно дать и более Обшее определение отношения как подмножества декартова Произведения: р С Aj X... X А„ Именно в таком смысле применяется термин отношены раэрабатчякшя и пользователями баз йаижыг.
Начальные понятия общей алгебры 39 Свойства отношений будем иллюстрировать на следующих примерах. На множестве действительных чисел R рассмотрим отношения =, <, <. На множестве натуральных тесел N — отношения делимости : и отношение ~ (modm) (отношение сравнимости по модулю тп). На множестве прямых плоскости L — отношения параллельности || и перпендикулярности _1_. На множестве людей Р — отношения "сын" и "земляк". В нижеприведенной таблице указано, какими сзмйстаами обладают эти отношения. множество отношение рефлексивность антирефлексивность симметричность [ антисимметричность Я + - + + + я < + - - + + Я < - + - + + N + - - + + JV = (modm) + - + - + L II + - + - L X - + + - - Р сын - + - + - р \ \ земляк ; + - 3.2. Отяшгшше экшвалев'тности Отношение, обладающее свойствами рефлексивности, симметричности я транзитивности, называют отношением эквивалентности. Из отношений, рассматривавшихся в предыдущем параграфе, таким свойством обладают отношения равенства чисел, сравнимости по модулю т натуральных чи- чисел, параллельности прямых, а также отношение "земляк" на множестве людей. Напомним понятие разбиения множества. Семейство непустых подмножеств непустого множества А называют раз- разбиением множества А, если выполняются следующие свойства: 1) объединение ¦утих подмножеств совпадает с А; 2) подмножества попарно не пересекаются. Пусть р С А2 — отношение эквивалентности. Множество а — {х € А\хра) называют классом эквивалентности. Теорема 3.1. Различные классы эквивалентности образуют разбиение множества А. Доказательство. Во-первых, каждый элемент а Е А попадает в некоторый класс эквивалентности ( вьшолнено первое свойство разбиения!. Действи- Действительно, в силу рефлексивности имеем ара. откуда а ? а. Осталось прове- проверить, что различные (т.е. несовпадающие как множества) классы эквива- эквивалентности не пересекаются.
40 Итак, пусть 5^5. Докажем, что а П 5 = ф. Предположим (для приведение к противоречию), что найдется таков элемент у € А, который одновременно принадлежит « и 5. Поскольку у 6 3, имеем ура я, в силу свойства симметричности отношения р, ару. Из того, что д € Ъ, следует урЬ. Соотношения ару и ypb влекут (в силу транзитивности р) apb, откуда вытекает (вследствие симметричности р), что Ьра. Теперь уже легко убедиться в том, что S = 5. Действительно, если х — произвольный элемент 2, то Хра и (так как apb) хрЬ, т.е. х е Ь. До- Доказано, что а — подмножество 5. Аналогично устанавливается, что Ь С а. Таким образом, a ss E. Получили противоречие. Теорема доказана. Теорему 3.1 можно обратить. Справедлива Теорема 3.2. Всякое разбиение множества порождает на нем отноше- отношение эквивалентности. Это отношение задается так: арЬ *> (а и Ь принадлежат одному подмножеству разбиения) Очевидно, что при этом для р выполняются свойства рефлексивности, сим- симметричности и транзитивности, т.е. это отношение действительно являет- является отношением эквивалентности. 3.3. Отношение порядка Отношение называют отношением нестрогого порядка, если оно рефлек- рефлексивно, транзитивно и антисимметрично. Отношениями нестрогого порядка являются отношения <, = на мно- множестве R, отношение делимости : на множестве N. Приведем еще один пример. Пусть А — некоторое множество; C(А) = {Х\Х с А} множест- множество всех его подмножеств2. Отношение с — отношение нестрогого порядка на Ц(А). Отношение называют отношением строгого порядка, если оно антире- флексивно, транзитивно и антисимметрично. Примером такого отношения является отношение < на R. Отношения строгого ели нестрогого порядка называют отношениями порядка. Говорят, что элементы а и b сравнимы по отношению р, если имеет место по крайней мере одно из соотношений: apb или Ьра 23(А) называют булеаном множества Л
Начальные понятая обшей алгебры 41 Пример. Рассмотрим отношение : на множестве натуральных чисел. 100 в 25,2 а 6 сравнимы по этому отношению, а числа 16 и 31 не сравнимы Множество с введенным на нем отношением порядка называется ли- линейно упорядоченным, если любые два его элемента сравнимы по данному отношению, и частично упорядоченным в противном случае. Например, множество R линейно упорядочено по отношению <, а мно- множество N частично упорядочено по отношению :. 3*4. Алгебраические структуры. Группа Отображение а : Ап —» А называют л-арной алгебраической операцией на множестве А. При п = 1 используют термин унарная операция, а при п = 2 — бинарная операция. Примерами унарной и бинарной операций на множестве действитель- действительных чисел могут служить соответственно операция смены знака и опера- операция сложения. Множество А вместе с заданными на ней алгебраическими операциями (*\,<х%,.. ¦ ,о„ называют алгебраической структурой < A;alra2,.. .,<*„>. Пусть G — множество, на котором задана бинарная операция *3, обла- обладающая следующими свойствами (аксиомы группы} : (Gl) ?а,6 € G a*b?G (т.е. операция * определена всюду на G2*); (G»2) Уа, Ь, с € G {a*b)*csza*(b#c} (ассоциативность)*, {G3) ЭееС Va€Ga*c=ae*asa (сущесгтмювояис нейтрального элемента); (в4) Vo€<3 Зо' cGo'*eea*a'*e (существование обратного элемента). Тогда алгебраическая структура <<?,*> называется группой Если, кроме того, выполяжется условие коммутативности (G5) Vo,6€G a* 6 = 6* a. Результат действия операции да. пару элементов (о, А) удобно записывать в инфикс- «ев форме а*Ь. , Говорят также- множество G замкнуто опсоситеяьио данной операции, т е опеоа- &*^ * « G ^ * «ал члементами G не выводит га пределы "В силу этого свойства выражения вида a * Ь * с или ai * а3 * * «„ понимаются х е от расстаиовдси скобок результат не зависит.
42 ' то грущу называют коммутативной или абелевой. Особенности терминологии (а обозначений) по отношению к группам, в которых (грушевую) онерадию называют сложением или умножением, отражены В следующей табличке. операншя ы&эианне группы нейтральвый элемент {«) обрати ы& i а элемент (а*) аддитивны ¦ ул«ао! @,0) протшвополож вы* (—а) умножение мультип ли«ати8в*« обратный («~*) Првмеры грувн 1. < Z,+ > — аддитивная'группа целых чисел. 2. < Д\{0},- > — мультипликативная группа действительных чисел без нуля. Заметим, что алгебраическая структура< Z\{0}, ¦ > груп- группой ее является (не выполняется свойство G4), 3. Пусть Zm * {ОД,..., m - 1} — множество классов вычетов по моду- модулю т. Тогда < Zm, + > — аддитивная груапа. Остановимся на этой группе поподробнее. Во-первых, нужно опреде- определить груаповую операнда». Положим: Й -f 5 = а + Ь. Для нроверки корректности этого определения нужно убедиться в Том, что класс вычетов, объявляемый суммой классов вычетов о и J, не зависит от того, какие представители слагаемых классов берутся. Пусть а, ? а' В 6j € 5. Тогда ej S а(пкк! т) и Ь\ 2 fc(mod m). По свойству сравне- сравнений сц+bi т а ¦? fe(modm), т.е. Щ + 5^ = а + Ь, что и требовалось. Ассоциативность сложения очевидна. Нулевым элементом в данной группе будет класс 0. Првтивошыгожньш элементом к 5 будет класс вычетов ~^а. < Zm; + > — пример конечной группы; эта группа абелева и содер- содержит т элементов. 4. < ZP\{D},- > (р — простое число) — мультипликативная группа классов вычетов по модулю р. Так же, как н выше, проверяется корректность определения произ- произведения классов вычетов: а • Ь = о ¦ Ь. В роли единичного элемента, как легко вцдеть, выступает Т. Для того, чтобы найти класс вычетов
Начальные понятия' общей алгебры 43 I, обратный к о (где а не кратно р), т.е. такой, что х ¦ 5 = Т6. нуж- нужно решить сравнение ах = l(modp), которое сводится к диофантовл уравнению ах — ру = 1. В данном уравнении коэффициенты при не- неизвестных аир взаимно просты, так как р простое число и « н<> кратно р; по теореме 2.7 это уравнение разрешимо в целых числах Отображение ip : G —» G называется гомоморфизмом групп < G,* > и < G,* >, если это отображение сохраняет групповую операцию, т.е. = <р(дг) * Примеры гомоморфизмов 1. <р : Z9 —> ZiLrm * 0, v»(l) = v?D) - v>G) - 1. VB) - 9E) * ^E) = 2. 2. Функция In осуществляет гомоморфное отображение мультиплика- мультипликативной группы положительных чисел < Л+, • > на аддитивную груп- группу действительных чисел < R, + >. Действительно, Va:,t/>0 1п(ж- у) ^=1п Взаимно однозначный гомоморфизм называют изоморфизмом. Очевидно, что из только что приведенных примеров лишь второй является также примером изоморфизма групп. В заключение данного параграфа установим некоторые Простейшие свойства групп 1. Группа имеет ровно один нейтральный элемент Действительно, пусть имеется два нейтральных элемента С) и ej. Тогда в силу аксиомы Gj имеем в] = ei * е2 = е2, т.е. любые два нейтральных элемента совпадают. 2. Обратный элемент к элементу группы определяется единственным образом. В самом деле, предположим, что а\ и а'2 — элементы, обратные к о. Тогда по аксиомам GA и G3 одновременно имеем V а, * (а* а'2) — а\ * е = а\\ {а\ * а) * а'2 =¦ е * а'2 — а'2, откуда в силу ассоциативности a'j as o^. 6 В силу очевидного свойства коммутативности умножения свойство S • г = Т в этом случае также будет выполняться.
44 3 Элемент, обратный к произведению элементов группы, есть про- произведение обратных к ним ыементов. взятых в оругам поряОке. I и * b \' — V * и Проверяется это свойство непосредственно {Ь * а' ] * {о * Ь) — V * (а' * а > * h = b' * с * Ь = Ь' * Ь ¦=.. 3.5. Кольцо и поле П>сть Hd множестве К определены две бинарные операции + и 7. нлзывл емые сложением и умножением, таь., что вьшолняются свойства ( аксиомы кольца) (К1) < К + > — коммутативная группа: (К2) умножение ассоциативно- Va,b, с ? К (ab)c = a{bi). (КЗ) умножение дистрибутивно относительно сложения: Va.b7r6A' (а + Ь)с = ас + be; c{a + b) = ca + cb Тогда алгебраическая структура < К, +, • > называется кольцом. Если, кроме того, умножение коммутативно: (К4) Va,be А' аЬ = Ъа, то кольцо называют коммутативным. Если в кольце существует ней- нейтральный элемент по умножению: (К5) Эе € G Vo ? G ае = еа = а. то говорят о кольце с единицей. Примеры. Z[x] — множество многочленов t целыми коэффициентами вме- вместе с естественным о^>азрм введенными операциями сложения и умноже- умножения образует кольцо (коммутативное кольцо с единицей). Также образуют кольца многочлены с рациональными и вещественными коэффициентами Q\x] я R[x\. < Zmi +»• > -~ кольпо классов вычетов по модулю т Алгебраическая структура < F, -К, • > называется полем, если выпол- выполняются свойства (аксиомы поля): (Fl) < F,4- > — (аддитивная) коммутативная группа: умножена» при записи выражений над эдемеятами груптш. ьак правило опускаете!
Начальные понятия обшей алгебры 45 (F2) < F\{0},- > — (мультипликативная) коммутативная группа. i F3) умножение дистрибутивно относительно сложения* Vn b. r € F (а + b)c = ac + be. Очевидно, что всякое поле является кольцом Обратное утверждение вооб- вообще говоря, неверно. Например, Q[x] — кольцо, но не поле (не выполняется свойство F2) Примеры. Множества рациональных (Q), действительных (И) н ком- комплексных (С) чисел образуют поля. Более экзотическим примером поля является множество М яв {а 4- Ь-^2\а,Ь ? Q}. Поскольку это — числовое множество^ содержащее О И 1, для того, чтобы убедиться в наличии струк- структуры поля, достаточно проверить замкнутость А/ относительно операций сложения (что очевидно) и умножения. Действительно. a^Vi = fr^jr — с + dy/2, где с= ,1^,^ = -я-ггдт б*?8. Приведем, наконец, пример конечного поля. Если р - простое число, то < Zp, Ч-, • > — поле. 3.6. Группы самосовмещений ; многоугольников и многогранников Сведения, излагаемые в этом параграфе, будут использованы при решении Й|адач с помощью теории Пойа (глава 6). ^* Пусть F — геометрическая фигура. Под самосовмещением фигуры F ронимают такое перемещение (движение) F (в пространстве или иа плос- |(йсти), которое переводит F в F. Тривиальным примером самосовмещения Является тождественное преобразование f. при котором каждая точка пе- переходит сама в себя. Рассмотрим множество G всех самосовмещений фигуры F. Произведе- Произведенье gi -д2 двух самосовмещений Q\ и gi определим как композицию движений 9\{gi) — это движение, возникающее в результате последовательного вы- выполнения дз, а затем д%. Легко проверить, что < G,- > — группа. Чем '"более симметричной'" будет фигура F, тем чболее богатой*, будет ее грун- оа самосовмещений. Например, для круга и шара соответствующие группы ечны. 'в3 - 26* -ф 0, так ках в противной случае \/2 был бы раииовальиым «телек, что
46 Группа вращений правильного n-угольнака. Под вращением i вильного п-угольника будем понимать поворот в его плогкости, прв ший к его самосовмешению. Очевидно, что если поворот нетривиален ( не является тождественным преобразованием), то его центром явл»ет|| центр правильного п-угольника. Поскольку при вращении всякая верыйй# должна перейти в вершиву, угол поворота ( с точностью до угла, кратворв- 2тг) равен к^, к = 0,1, ...,п - 1. Группа симметрии правильного п-угольвика. Под симметрией правильного n-угольннка будем понимать его самосовмешение в простра»- стве. К перечисленным выше поворотам в плоскости добавляются "вПрВ^ кидывания1* многоугольника, т.е. повороты на 180° вокруг осей симметрии многоугольника9. Их ровно п штук. Если п четво, то осями симметрии являются п/2 прямых, соединяющих пары противоположных вершив мно- многоугольника, и п/2 прямых, соединяющих середины его. противоположных сторон. При нечетном п каждая из осей симметрии проходит через некото- некоторую вершину n-угольника и середину противоположной стороны. Группы вращений многогранников. Под вращением многогранни- многогранника будем понимать его самосовмешение. 1. Куб. Сначала покажем, что группа вращений куба содержит 24 эле- элемента. Будем считать, что куб расположен таким образом, что о его гранях можно говорить: нижняя, верхняя, передняя и т.д. Самосовме- Самосовмещение куба полностью определяется тем, 1) какая грань из шести станет нижней и 2) какая из смежных с ней граней будет передней. Согласно прави- правилу произведения имеется всего 6-4 = 24 разных самосовмещения. Перечислим их: • тождественное преобразование; • повороты на ±90° ,180° вокруг прямых, соединяющих центры противоположных граней (таких вращений 3-3 = 9) • повороты на 180° вокруг прямых, соединяющих середины про- противоположных ребер куба F);. . • повороты на ±120" вокруг диагоналей куба (8I0 *Этн преобразования равносильны осевым симметриям. "Рассмотрим, например, поворот куба ABCDA\ B\ C\ Dy вокруг диагонали ACi. Вы- Высота треугольной пирамиды ABDA\ лежит на диагонали АС\; основанием этой пира шшы является правильный треугольник ВАу D (каждая его сторона — диагональ грани жуба), который самосовмещается ври поворотах яа углы, кратные 120°
Начальные аовятяя общей алгебры 47 Легко проверить (рассмотрев, например, подстановки на множестве вершив, порождаемые вращениями), что все эти самосовмещения раз- различны; так как всего их ровно 24Г других самосовмешений нет. 2. Т«траэжр. Ноя тетраэдром будем аовимать правильный тетраэдр. Будем считать, что тетраэдр расшмюжен в пространстве таким обра- образом, что о его гранях можно говорить: нижняя, передняя, задние левая я правая. Самосовмещеняе тетраэдра полностью определяется тем, 1) какая грань из четырех становится нижней и 2) какай из оставшихся трех граней будет Передней. Таким образом, всего данная груш» содержит 4-3=12 элементов: » тождественное преобразование; ¦ повороты яа ±120° вокруг высот тетраэдра (всего 8 таких пово- поворотов); • повороты на 183° вокруг прямых, соединяющих середины скре- скрещивающихся ребер тетраэдра (таких поворотов 3). Все названные самосовмещения различны, общее их число 12; поэтому она исчерпывают рассматриваемую группу. 3. Правильная п-угольная пирамида. Очевидно, что группа вра- вращений правильной п-угольной пирамиды, отличной от правильного тетраэдра, изоморфна группе вращений правильного п-угольника, ле- лежащего в ее основании. 4. Двойная пирамида (диэдр). Эта геометрическая фигура предста- представляет собой объединение двух одинаковых правильных п-угольных пирамид, чьи основания совмещены, а вершины находятся по раз- разные стороны от основания. Если диэдр т является октаэдром, то его группа вращений изоморфна группе симметрии правильного п- угольника. Как известно, октаэдр — многогранник, двойственный кубу (центры граней октаэдра являются вершинами некоторого куба; центры гра- граней куба являются вершинами некоторого октаэдра). Неудивитель- Неудивительно поэтому, что группы вращений октаэдра и куба изоморфны. То же справедливо и для групп вращений двух оставшихся правильных многогранников1 *. Всего правильных многогранников — ровно пять: тетраэдр, куб, октаэдр, икосаэдр.
48 5. Икосаэдр ¦ додекаэдр. Рассуждал так же, как и в случае куба вяи тетраэдра, легко найти число элементов группы самосовмещений; до- декаэяра, зная, что ов имеет 20 вершин в из каждой вершины исходят 3 ребра. Некоторые подробности о группах вращений икосаэдра и до- додекаэдра ыожно найти в [15]1г- "Много интересных примеров, связанных с группами самоеовмещений геоыетриче птах фигур? привадится тажже в [14] и [16] .
Глава 4 Алгебра высказываний 4.Х. Логические операции В таблицах истиввости логических операций 1 будет обозначать ИСТИНУ, а 0 — ЛОЖЬ. 1. Операция отрицания была определена выше (см. главу 1). 2. Конъюнкцией высказываний Л Ы В называется высказывание, кото- которое истинно тогда в только тогда, когда оба высказывания А ш В истинны. Обозначение АкВ. ЗяиАох к называют амперсантом. Та- Таблица истинности для конъюнкции такова: А 10 В 0 АкВ 0 0 1 0 1 0 0 1 i 3. Дизъюнкцией высказываний Аш В называется высказывание, кото- которое истинно тогда 8 только тогда, когда, хотя бы одно из высказыва- высказываний А или В истинно. Обозначение Д V В. Таблица истинности: А 10 В О ДУВ | 0 0 1 1 I 0 1 1 1 1 4. Импликацией высказываний Д в В называется высказывание, которое ложно тогда и только тогда, когда А истина», а 8 ложно; при этом А называют посылкой, а В — заключением. Обозначение А ~* В. Таблица истинности: А А В —+ В 0 0 1 0 1 1 1 0 0 1 1 1
50 5. Эквиваленцией высказываний А я В называется высказывание, ко- которое истинно тогда я только тогда, когда оба высказывания одно временно либо истинны, либо ложны. Обозначение А ~ В. Таблица истинности: Л А В В 10 0 11 0 1 0 1 0 0 1 1 1 4.2. Формулы и функции Значки логических операций называют логическими (или пропозициональ- пропозициональными) связками. Формула алгебры высказываний (или пропозициональ- пропозициональная форма) строится из логических (или пропозициональных) переменных А,В,С,... и логических констант 0 и 1 с помощью логических связоь.. Пример. (А V В) —> С — формула алгебры высказываний, в которой (логическими) переменными являются А, В и С. Формула, принимающая значение 1 ори всех значениях входящих в нее логических переменных, называется тождественно истинной, или тав- тавтологией. Пример. Л V ~А~ — тавтология Формула, принимающая значение 0 при всех значениях входящих в нее логических переменных, называется тождественно ложной, или проти- противоречием. Пример. АкЛ — вротиворечие. Пусть /3 « {1,0}. Формула алгебры высказываний, в которую входят п переменных, задает функцию /?"-»/?. Отображение Зп ~* в будем на- называть логической функцией (в алгебраических терминах это — п-арнля алгебраическая операция иа множестве 0). Формулы, задающие одну и ту же логическую функцию, называются равносильными. Равносильность бу- будем обозначать значком равенства =. Прамер раввосяльаых формул. АкВ = Л V Ж. В этом легко убе- убедиться, составив таблицы истинности для обеих формул. А ||0 в Во АкВ 1 Avi I 1 0 1 1 1 1 0 1 1 1 1 0 0
Алгебра высказываний 51 Последние две стороки таблицы совпадают, что говорит о том, что указанные формулы задают одинаковые логические функции Убедитесь самостоятельно в следующей равносильности' А —» В = А V В Отнощенир равносильности на множестве форм} л алгебры высказыва- высказываний обладает свойствами симметричности, рефлексивности, транзитив- транзитивности и поэтому является отношением эквивалентности Таким образом можно считать, что класс эквивалентности формул отвечает некоторой логической функции. Пусть / — f(x\i- -,х„) -- логическая функция; / • 0" —* /3 Перемен- Переменная х, называется фиктивной для функции /, если для любых значений остальных переменных Xi,...,x,_j.x,+1, . ,х„ имеет место соотношение /(ть ,a-t_i,l,x,+lj .,zn) Если х, фиктивная переменная, то функцию п переменных можно пред- представить функцией 71 — 1 переменных: /(хь ..,х,-ъх„х,±и...,х„) =* g(xt. ..,x,_,,x,+i, ...,*„). В этом случае говорят, что функция д получена из функнии / удалением фиктивной переменной, или: / получена из д введением фиктивной пере- переменной. В чем смысл введение фиктивных переменных? Депо в том, что при этом любую фуикцшо п переменных можно сделать фуакцией любого боль- большего числа переменных, а любой конечный набор функций можно считать функциями, зависящими от одних и тех же переменных (множество этих переменных является объединением множеств переменных всех функций). Подсчитаем число логических функций от п переменных. Каждая функ- функция однозначно задается таблицей истинности, содержащей, как легко ви- видеть, 2" строк. На каждом наборе значений переменных функция прини- принимает одно из двух значений. Согласно правилу произведения общее число функций равно 22* При п в 1 имеем 4 функции: fi(A) * A, MA) = I, h{A) = 1JM) * О- Пусть f(xu... ,хп) и д(хи..., *„) — две формулы. Бсяиям любого на- набора значений переменных Xj,... ,г„ истинна импликация f{x\,... ,хп) —» д(хи...,хп), то говорят, что д — логическое следствие f (обозначение / => д). Отметик, что две формулы равносильны тогда я только тогда, когда каждая из них есть логическое следствие другой.
52 4.3. Список основных равносильностей = Д V ] * 4&В = В&А 24vJ5 = J3v. Z)(ALBWC = IK 4VB) VC С) = 6; i v [БкС) = {Av B)k{AV С) 7)АкА - А (BVC) V _ 9)А±А ~ О 10)А V  = 1 П)Ак1 -А, 12)А\/0 = А, (коммутативность кояъюнкнии) (коммутативность диялоныши1 (ассоциативность конъюнкции1 (ассоциативно* ть шпъюякции {дистрибутивное ть конъюньшп. относительно дизъюнкции (дистрибутивное ть дизъюнкции относительно конъюнкции) (идемпотентность конъюнкции), (идемпотентность дизъюнкции), (закон противоречия) (такой исключенного третьего). 14).4 V 1 = 1, (снятие двойного оТртШаквя), (закон де Моргана); (закон де Моргана); {¦$ахт контрапозидии); 20) А ~В-{А-* В)к{В ~* А), Справедливость указавши раявосяаьаостей легко проверите* с оомо- шью таблиц встинностн. В шау овааства * свойства* с обычными ариф- арифметическими операциями квот да. коВъюякшпо называют догъчесюш умно- умножением, а дизъюнкцию — логическим сложением. Соглашения, применяемые дох упрощен** завесе* формул аиге- бры высказывэжнй * 1) В силу ассодиативностя можно не ставить скобки йри завися конъ- конъюнкции или дизъюнкции нескольких высказываний; например, -мшись ^VBVCVi? Ори любой расста*»в:е скобок обозиачает одно И то же — значит, скобки излишни. 2) Устанавливается овдуюш»* приоритет при 8«июлгнгнии .ТоГВГческих операций:
А ттрбра высказываний 53 ' к V,-+ ~ Пропозициональные связки в приведенном списке расположены в по- порядке убывания силы связей Например в формуле 4<LBV С сначала хшшпняется операция отрицания, затем конъюнкция и наконец дет ьюнкция 3) -)наьконък>нкиии часто опускают так,запись ABwC означает 4.L.BVC 4) Знак отрицания, примененный к некоторой формлле позволяет не ча ключать эту формулу в скобки {это соглашение j же йримеяякхь вы ше) 4.4. Полные системы связок Соотношения предыдущего параграфа показывают, что логические ейк-ра- ций не являются независимыми друг от друга, некоторые йэ них выра- выражаются через другие; например, тМвлштяш вйражаетс« через операгцвю отрицалия и дизъюнкцию, а жВиважвзйя через вмпликанию а конъюяк- Щ1ю, Таким образом, для любей формулы алгебры Высказываний суще- существует равносильная ей формула, содержащая из Вропочишкдаальных с вя- вязок лишь ~\V,&. Поэтому tmepwr, Что ~, Vtk образуют полную систему связок. Оказывается, можно ограничиться в мевыпям числом связок. Ле*- ствитсльво, коньюаюшя может быть выражена <герез операцвто отрнцАни* и лизъюнкцшо: Таким образом, {~, V} — также полна* система связок. Самостоятельна убедитесь, что тем же свойством обладает нара связок {~,&}. Введем новую логическую операцию — штрих Шеффера: А\В = АкВ. Покажем, что {{} полная система связок. Для этого достаточно убедить- убедиться, что через штрйЭс Шеффера выражаются ~ н &г образующие полную систему. Действительно, АкВ = ШВ * W т (А\В)\{А\В). В качестве упражнения выразите через штрих Шеффера дтъжшюпоо. Существует еще одна логическая операция, образующая полную систе- Щ-. - стрелка Пирса, определяемая следующим образом: А I В — AW В. Убедитесь в этом самостоятельно.
54 4.5. Двойственность В этом параграфе будем рассматривать формулы алгебры высказываний, содержащие из пропозициональных связок лишь ~. &: и V Формулой, двойственной к формуле <p(Ai,....An). называетеа формула ¦р*(А\т ,Ап), которая получается из ip заменой V на &. fc на V. 1 на 0 и О на 1. Примеры. Л* = А 1* =0. (Г = L (.Л V 0)* = Akl Легко видеть, что отношение двойственности является симметричным1 если некоторая формула щ> является двойственной ку:/ — у. то верно и обратное — формула <р двойственна к ф : -ф' = if. Таким образом, для любой формулы <р имеем (<р*)* = tp. Теорема 4.1. Для любой формулы алгебры высказываний справедлива следующая равносильность: у?* (Ль..., An) =^Bь...,Л"„). if Доказательство теоремы проводится индукцией по числу связок. База индукции. Проверим, что утверждение теоремы справедливо, если формула не содержит ни одной логической связки1. В верхней строке сле- следующей таблшпа представлены все формулы такого вида (с точностью до обозначений переменной). <Р{А) || 1 тр(А) о <р'(А) 1 0 0 1 1 А I А Формулы второй ж третьей строк таблицы равносильны. Индукционный шаг. Пусть доказываемое утверждение справедливо для любой формулы, содержащей не более к связок. Возьмем произвольную формулу >р, которая имеет к 4-1 связку. Формула <р имеет один ич трех видов: 'Ясно, что при этом л формуле ее может быть более одной пропозициональной
Алгебра высказываний 55 а) <р = <pv примем ifi содержит к связок; б) ^ = tpilc<p2, где tpi и ц>г в сумме содержат /с связок; в) ^ = 9i V ^2> где v?i и <р2 в сумме содержат & связок. В каждом из случаев ею предположению индукции для формул -pi и <р% утверждение теоремы справедливо. Таким образом, имеем а) <р*(Аъ...) = Щ'{АЪ...) = ^Aь...) = 9\(А\:~) ~ <p(Ai,~-)- так каь б) v>*(Ab..-) * ?1(Аь ...) V ^(Аь -.) = ^(Ai,...) V ?,(А\,...) - i,-..)¦ в) v>*(At,...) = Vt(Ai, Итак, каждый раз <p*(Ai,...} * ЩАи —)• Теорема доказана. Очевидным является Следствие 1. Для любой формулы алгебры высказываний справедливы, следующие равносильности: .,...,А„) ав yi*{Ai,.-, А„). Следствие 2 [Закон двойствеявости]. Если две формулы алгебры вы- высказываний равносильны, то и двойственные им формулы также равно- равносильны. Действительно, для равносильных формул ф(А\,..., А„) и ф{А\,..., Ап) име- v(Ai,...,AB) = ^(АЬ...,А„), откуда ^(li,...,A"n) =s ^(АЬ...ДП), т.е. <р*(Аи..., А„) = ip*(Au..., Ап), что и требовалось доказать. Заметим, что в списке основных равносильностей соотношения 2, 4, б, 8, 10, 12, 14, 17 являются двойственными ж соотношениям 1, 3, 5, 7, 9, 11. 13, 16 соответственно. В заключение данного параграфа докажем закон поглощения для конъ- конъюнкции, а затем с помощью закона двойственности полупим закон погло- поглощения для дизъюнкции. Законы поглощения, a) A,V АВ = А; б) А&( А V В) = А.
56 Доказательство, а) А V АВ = Ак\ V АкВ = (в силу 5)] =Ак{1 V В) = {в силу 2} и 14)) =-А&1 = [в силу 11)) = Л. б) следует из а) в силу закона двонственности. 4.6. Нормальные формы Пусть х па — логические переменные. Введем обозначение л fa:, если в = 1; * sb \ — \ х, если а =* 0. Составим табляиу эначешгё х". V А 1 0 1 1 0 0 0 I Из таблицы видно, что х* щ \ тогда и только тогда, когда х = а. Элементарной конъюнкцией называете! конъюнкция логических пере- меваых и юс отрицаний, в которое каждая переменная встречается не боле* одного раза (включая ее вхождение под знаком отрицания). Например, ЛЕС - элементарна! коныойкиив- Если логические переменные берутся из некоторого фиксированного на- набора {гьхг,...,!„}, to общей вид элементарной конъюнкции следующий: 4*' ?, *** {н,«»,.... «*} С {1,2,..., п}. Число переменных (к), входашнх в элементарную конъюнкцию, называ- называют ее рангом. При к ш 0 южыошшаю считают пустой и полагают равной ИСТИНЕ A). При Jfc яа п конъюнкцию называют полной, или совершенной. Таким образом, Полная конъюшших содержит все логические переменные из заданного набора. Несложно подсчитать число различных элементарных конъюнкций к полных элементарных конъюнкций, составленных иэ п переменных. Поскольку для каждой из п переменных имеется 3 варианта ее "уча- сти!я в элементарной конъюнхдвн (входить, входить с отрицанием, не входить), общее число различных элементарных конъюнкций равно 3". Поскольку для каждой аз п перемедных имеется 2 варианта ее ''уча- ''участия" в полной элементарной конъюнкции (входить, входитъ с отрицани- отрицанием), обшее число полных элементарных конъюнкции равно 2".
Алгебра высказываний 37 Дизъюнктивной нормальной формой (ДИФ) называют дизъюнкцию не- неповторяющихся элементарных конъюнкций. Таким образом, ДНФ имеет вид: где К, — элементарные конъюнкции и К, ф К} при i ф j. Число элементарных конъюнкций(т), входящих в ДНФ. называют дли- длиной-ЛЯФ. При тп ¦=¦ 0 получаем пустую дизъюнкцию, которую полагаю! равной ЛЖИ(О). Совершенной дизъюнктивной нормальной формой (СДНФ) называю! '11НФ, составленную из полных элементарных конъюнкций Пример. Пусть п = 3. Тогда ххЪ%хг V iix2x3 — СДНФ. Число различных ДНФ, составленных из п переменных, равно 23", по- поскольку каждая ДНФ определяется яекоторым Подмножеством множества элементарных конъюнкций. Точно так же можно найти число различных СДНФ; оно равно 22". Общий вид элементарной дизъюнкции следующий: По той же схеме, что и выше, определяется понятие полной элементар- элементарной дизъюнкции, конъюнктивной нормальной формы (КНФ) и совершен- совершенной конъюнктивной нормальной формы (СКНФ). Например, КНФ — это конъюнкция элементарных дизъюнкций, а СКНФ -— это конъюнкция пол- полных элементарных дизъюнкций. Легко видеть, что формула, двойственная (полной) элементарной конъ- конъюнкции, есть (полная) элементарная дизъюнкция и наоборот: а формула. двойственная ДНФ(СДНФ) есть КНФ(СКНФ) и наоборот. Теорема 4.2. Любая формула алгебры высказываний равносильна неко- некоторой совершенной дизъюнктивной нормальной форме. Доказательство. Всякая формула алгебры высказывании задает таблицу истинности, которая в случае п переменных имеет 2" строк. Первые п элементов каждой строки это некоторый набор or,, <т2, ...,<т„ значении переменных, а последний элемент строки — значение истинности, которое принимает формула на данном наборе --- /(<гь<72,.... .>„ ,. где f(xt хп) — логическая функция, задаваемая формулой. Сконструируем по таблице истинноеги следующую Формулу:
58 Поясвеяяе. Логическое суммирование ведется по всем наборам значений переменных (<7i,ffs< •••>**)* на которых f{<fi,a%,...,an) » 1. Ясно, что формула F представляет собой СДЙФ. В частности, если / — тождественно ложная формула, то F — пустая дизъюнкция, т.е. ЛОЖЬ @). Пусть аа некотором наборе значений переменных / принимает значение 1: /(гь...,тп) == 1. Тогда в СДНФ врисутстствует элементарная конъюнк- ПИЯ Xj1 .. . х?" И f(rb..,Tn)*...Vr,ri...TBr»V... Как было уже отмечено, для любой логической переменной т справедливо равенство гт = 1; поэтому F(fb..., тп) = 1. Пусть теперь на Некотором наборе значений переменных / принимает значение 0: /(Ть--->гп) = 0. Докажем, что в этом случае F(rt, ...,тп) = 0. Если это ие так, т.е. F(r,,...,т„) ss 1, то одна нз элементарных конъюнк- конъюнкций, например г, 1 ...т%п, истинна. Тогда для набора значений переменных («г»,.... ап) выполняются следующие два соотношения: 1) /(»„...,»,)»!; Из 2) следует: для любого i т, ' * 1, т.е. rt = <г„ и, значит, в силу 1) /(ri,...,rn) = 1, что противоречит предположению. Доказано, что при /(гь....г„) = 0 F(rb...,rn)*0. Таким образом, на любом наборе значений переменных (zi„..,#„) тааче- няя /(гь-^п) и F{xi^.,xn) совпадают, т.е. данные формулы равносильны. Итак, для произвольной формулы / построена равносильная ей СДНФ. Теорема доказана. Замечание. Для каждой формулы равносильная ей СДЙФ определяет- определяется однозначно с точностью д.в порядка следования элементарных конъюнк- конъюнкций. Действительно, множество всех СДНФ находится во взаимно однознач- однозначном соответствии с множеством таблиц истинности (рассматриваемых с точностью до перестановки строк). Следствие 1. Всякая логическая функция может быть представле- представлена формулой алгебры высказываний, использующей из логических связок только &;, V и ~. В самом деле, как показывает теорема 4.2, любую логическую функцию можно задать с помощью СДНФ — формулы, в которой используютя только упомянутые логические связки. Теперь становится оправданным
Алгебра высказываний 59 название полном система связок: используя связки из любой полной систе- системы связок, можно получить формулу для любой логической функции от г? переменных. Следствие 2. Любая формула алгебры высказываний равносильна неко- некоторой СКНФ. Доказательство.Пусть /(Х), ...,г„) — произвольная формула. Построим СДНФ, равносильную двойстэенной к / формуле: V xVxV-x" z?1 V; V ... V Используя закон двойственности, получим f{xi,x2,-..,xn)= k Введем новые переменные: s, = <f,, г = 1,..., п. f(cru...,<jn} = ](au...,an) -J{su...,sn). Таким образом, если f*(o\,ct,...,а„) = 1, то /(si,S2,..-,sn) = 0 и /(XbX2,...,Xn)= к ^Х V Хр V ... V X*». /*л,«», ,««)=0 В правой части полученного соотношения стоит СКНФ. Следствие доказа- доказано Пример. Построить с помощью таблицы истинности СДНФ и СКНФ для формулы / = х -+ ykz 1 0 0 1о 0 1 I 1 1 У 0 0 1 1 0 0 1 1 г || ykz 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 i х —¦ ylcz 1 1 1 1 0 0 0 1 Для построения СДНФ используются строки вида {о\,аг,...,оп,\). Если <Т, ае 1, ТО В ЭЯвМеВТарНуЮ КОНЪЮНКЦИЮ ВХОДИТ Xi, еСЛИ 9i я: 0, ТО If,.
60 Для построения СКИФ используются строки вида {ах, а2, - . ^п, 0) Бели а, = 1. то в элементарную дизъюнкцию входит х,, если <т, = 0. то з, Имеем f = xy^VxyzV xyl V xyz V xyz f - (xVy \? z)(x V у V t){r V у V: Применение таблиц истинности для построения совершенных норшшь нъгх форм оправдано лишь для малых п Построение СДНФ с помощью равносильных преобразований Рассмотрим следующий алгоритм получения СДНФ 1 этап. Построение ДНФ • Выразить пропозициональные связки через отрицание, дизъкшь- цию и конъюнкцию. • Используя закон двойного отрицаний и законы де Моргана, до- добиться того, чтобы знаки отрицания относились только к пер?- мевньш. • Пользуясь дистрибутиввостью конъюнкции относительно дизъ- дизъюнкции, раскрыть все скобки. • Пользуясь свойством идемпотентности ж законом противоречия, удалить лишние переменные я лишние конъюнкции. • Примени равносильности 9-14, удалить логические константы Пример, хр V х(у -» хг)ху V хг = ху V х{? V хг)ху V xz = щ V Щ V хг}(хЩсХг) szxyV Щу Vxz){x V у)(х V г) = zy У{гу Vxxz){x?VxJVyx V yz) = xyVxyixVx IVyxV yz) = 2 этап. Переход от МВФ к СДИФ. Всякую ДНФ можно привести ж СДНФ с помощью последовательного вьшолневия операции расщепления конъюнкций, которые содержат не вое переменные. Смысл данной операции виден из следующих вы- выкладок: х *s xlil — x(y V у) = ху V ху. Пример. Найдем СДНФ для ДНФ, полученной выше, ху V г у V 3F J1 = хуг V х^г V г уг V z 5 г .
Алгебра высказываний 61 4.7. Контактные схемы Поставим ключу Р электрической схемы в соответствие логичм кую пере менную х так. что при замкнутом ключе х — 1. а при рачомкнутом х — О Пусть аналогично ключу Q соответствует логиче< кая переменная у То гда последовательному соединению Р и Q будет соответствовать jAjy. л параллельному — х V у Пусть два участка электрической цепи спроектированы таким образом, что лри наличии напряжения на концах один участок проводит ток тогда и только тогда, когда второй не проводит. Тогда если для описания пер- первого участка вводится переменная ?, будем говорить, что второму участку соответствует 5. Любую формулу алгебры высказываний можно реализовать с помощью контактной схемы. Пример. Имеется длинный коридор с одной электролампой: ъ его кон- концах имеется по одному выключателю. Требуется так спроектировать' элек- электрическую цепь, чтобы поворот любого выключателе иэмедонжл состояние цепи. Пусть выключателям соответствуют логические переменные х и у. Со- Составим таблицу истинности для логической функции f{x.y). решающей поставленную задачу. 0 0 1 1 у 0 1 0 1 0 1 1 0 Таким образом. }(х,у) = ту V ту Одну и т> же логическую фувкшпи можно реализовать различными контактными схемами. Видимо, более предпочтительной будет из них та, которая содержит минимальное количество контактов. 4.8. Минимизация ДНФ При минимизация дизъюнктивных нормальных форм используются следу- следующие операции: • х V ху з= х — поглощение;
62 • xy V ~%у = у — склеивание; * zyi V хуг = zj/i V ху2 V j/jj/2 — обобщенное склеивание. Справедливость первых двух соотношений очевидна; докажем последнее: ху, V хуг V у!у2 =t ^yi V ху2 V yiy2(xVx) = = (*yi V zjfi2/2) V (ху2 V xy2J/i) = zj/i V xy2. Введем несколько определений. Пусть f(xl7x2 , хп) — логическая функция от п переменных. Элемен- Элементарная конъюнкций К ¦= х"[х ... х°'г' йазывается допустимой для функции f (или имплькантом /), есЯй Ку f — f. Из определения сЯеДуе"т, Что (при всех значениях переменных хх,..., хп) истинна импликаций К —» / 2 (так как если К = 1, то и / = 1); таким образом / — логическое следствие своего импликанта: К *> /. Вгякая элементарная конъюнкция, входящая в ДНФ, является ее импли- кантом. Действительно, если D *= Kj V. ..VK,V. ..vKm, то в силу свойства идемпотентности дизъюнкции 1> V К,, да jftTj V ... V А', V К, V ... V Кт s= D. Импликант iC функции / называется простыл* импликантом, если по- после отбрасывания любой переменной из К получается элементарная конъ- конъюнкция, не являющаяся импликантом функции /¦ ДНФ, состоящая из всех простых импликантов функции /, называется сокращенной ДНФ. Алгоритмы построения сокращенной ДНФ Обоснование приводимых ниже алгоритмов можно найти в [5]. 1. Метод Блейка. 1) Применять операцию обобщенного склеивания до тех пор. пока это воз- возможно: 2) применять операцию поглошения до тех пор, пока это возможно Пример. D = С помощью обобщенного склеивания последовательно яолучаем ?lZ2 V Х^з = Х\Х2 VXjX3\/ Х2Х3. ¦ х2х3 V х2х\ — Щхъ V x2xi V XiXj. хгхз V XiXs s= хгхъ V xtxj V ж3. Теперь, выполняя поглощение, строим сокращенную ДНФ: D - ххх7 V Щх3 V х2х3 V x2xs V x-iXs V г3 = iix2 V г3. 2 Этим и обменветеж термин
Алгебра, высказываний SS 2. Получение сокращен вой ДНФ с помощью КНФ. 1) Раскрыть все скобки (используется дистрибутивность конъвйнкши от- относительно дизадоякаин); 2) удалить "лишние" конъюнкции (нсдальзуя законы идемпотентности. противоречия и поглощение). Пример. Для функции из предыдущего примера имеем (хх V 1зH^1 V хг V х3) = ххШх V ZiS^ V 11.Ж3 V x3Ji V z3z2 V х3х3 = iiXj V х^з V ars^i V Z3ZS V xj =Цвсе элементарные коиадешсияи, содерщащи»1 х3, "поглощаютсх" эт<й аере«енвой1= х^г V х3. Число вхождений аеремеащис в ДНФ будем называть числом ее букв. Например, ДНФ хгЩ V хгхъ V a;i имеет 5 букв* ДНФ называется • лптумалъной, если она щлеет наименьшее число §укв греди равно- равносильных ей ДНФ, и ¦ тупиковой, если отбр&вдваааае любой элементарной конъюнкции или буквы приводит к неравносильной ДНФ. Очевидно, что всякая минимальная ДНФ являете* тупиковой. Обрат- Обратное, вообще говоря, неверно. Примеры. 1) Из равносильности х^х^У^Хз УВ^Хз = хгхг Vx3 следует, что ДНФ Dx — Xix2VxiX3 Vxx3 не является тупиковой. С другой стороны, легко убедиться в том, что ДНФ Dj •= Xix% v is — минимальная. 2) Проверьте, что Д3 = хуЫугУЩУуЪ ~ тупиковая ДНФ, а равносильная ей ДНФ Di = ху V yz V x~z — минимальная. Теорема 4.3. Минимальная ДНФ функции f{xx, ...,xn) получается из ее сокращенной ДНФ путем удаления некоторых элементарных конъюнк- конъюнкций. Доказательство. Фактически нужно доказал»,, что все щвдликанты, соста- составляющие минимальную ДНФ, — простые. ЦустА.эт» не так, и / = А'х V К, где А1 — импликант, не являющийся простым, a At — дизъюнкция осталь- остальных элементарных конъюнкций. Тогда Кх можно представить в виде А'. = А"; А'", где ATI — импликант для /, и, значит, K[V f = /. Поэтому / = А\ V К = (Кг VK)V A", = A"tA7 V К[ V К = К[ V А'.
64 Итак, К' V К = К{ V 1С, но первая 2ШФ имеет меньшее число букв Полученное противоречие доказывает теорему Используя полученный результат, можно сформулировать один из воз- возможных алгоритмов нахождения минимальной ДНФ: 1) Построить сокращенную ДНФ3. 2) Сгенерировать Все тупиковые ДНФ. 3) Осуществляя перебор по всем тупиковым ДНФ, выделить среди них минимальные. Подробное исследование вопросов минимизации ДНФ проводится в [5] 4.9. Геометрическая интерпретация ДНФ Пусть Е — {0,1}. Назовем единичным п-мерным кубом п-ю декартову пень этого множества Еп (множество всех двоичных последовательностей длины п). Элементы Е" называют вершинами куба Две вершины со- соседние^ если они отличаются ровно одной координатой. Неупорядоченная пара соседних вершин ребро, или одномерная грань куба Множество вершин с фиксированными значениями г координат назы вают интервалом ранга г, или гранью размерности п — г Например, вер шина, ребро, куб соответственно интервалы ранга п. и— 1,0 или грани размерности 0,1. п соответственно В случае п — 3 введенные опроде юния вполне согласуются с обычными геометрическими преде тавлониями Набор -Шачений истинности п логиче< ких переменных (х\. л„) \юж но и\обрашть вершиной «-мерного единичною куба, чьи координаты совпадают со чначениями истинности A или 0) <<ютв«'т<1в\ющих. пс ремеиных Теперь можно считать, что функция алгебры вы< ка-швашш /(xi,...,xn) определена на кубе Каждой функции /(xi. jn) взаимно однозначно соответствует множество Л'/ С Е" вершин к\ба в которых f(iu- ¦ ,хп) — 1. Следующая таблица показывает соответствие межд\ in гическими операциями над функциями (/, д} ( а также отношениями чежд\ ннмв) и операцияхш иад множествами (соответственно Л'/,.\,) (и отнопк ниями между ними) / -V/ 9 Уд f En\*f Л'/ U .V, fkg ¦V/ П .V5 / =*¦ 9 'Заметим что в сил\ опр*ЯРления она i
Алгебра высказываний Пусть D— дизъюнктивна* нормальная форма: D = A'i V А'г V... V Кт (К, - элементарные конъюнкции). Заметим, что элементарная конъюнкция ранга г соответствует интервалу того же ранга, или грани размерности п ~ г. Таким образом, с геометрической точки зрения, ДНФ представляет собой объединение граней: ND = Nkx U /Va, U ... NKm. Минимальная ДНФ соответствует такому представлению множества вершин У о в виде объ- объединения граней, при котором сумма рангов соответствующих интервалов минимальна Пример. Построим минимальную ДНФ для функции /{jcj.z^za) со следующей таблицей истинности. 0 0 0 0 1 1 1 1 хг 0 0 1 1 0 0 1 1 ха 0 1 0 1 0 1 0 1 /(*Ь*2,Х3) 0 1 0 0 1 1 1 1 На рис. 4.1 вершины куба, в которых f{xl,x2,x3) яр 1, отмечены чер- ими кружками. @01) A01 он) A10) A00)Xl Рис. 4.1. Множество указанных вершин представямо в виде объединения грани = 1 и ребра х-к = 1. х7 = 0, Минимальная ДНФ: хх V х2х3
66 4.10. Булева алгебра Пусть на множестве $ * {А, В, С,...} определены две бинарные операции, обозначаемые ¦+¦ в -4, так, что вря этом выполняются следующие свойства (аксиомы булевой алгебры): 1. Множество S замкнуто относительно операций + и •. Для любых A,B>C€S 2. А + В я= В + А, А- В = В¦ А (коммутативность операций + в •); 3. А + (В + С) = (А + В) + С, А(ВС) = (АВ)С (ассоциативность); 4. А + Л = Д, А- А ** А (идемпотентность); 5. Л(В + С) = АВ + АС, А+ВС« (Л+ В)(Л+С) (дистрибутивности). 6. Существует элемент О 6 S, называемый нулем, такой, что 7. Существует элемент / € S, называемый единицей, такой, что 4A€S AI = A. 8. УЛ € 5 ЗА €5 А + А =* I, A -H ** О (существование противопо- противоположного элемента). Тогда алгебраическая структура < 5; +, ¦ > называется булевой* алгеброй. Примеры булевых алгебр 1.5= {0,1}. Таблицы сложения и умножения - следующие: + 0 1 0 1 0 1 1 1 0 1 0 1 0 0 0 1 Очевидно, что в данной булевой алгебре роль Нуля играет 0, роль — 1,0 = 1,1=0. 4 Этот мак иногда будет опускаться. 5 В честь английского математика Джорджа Буля, опубликовавшего в 1854 г книгу аса названием Investigation of the laws of thought (Исследование законов мысля)
Алгебра высказываний 67 2. 5 « {0,1,р, q}. Таблицы сложения и умножения: + 0 1 р q 0 0 1 р q 1 1 1 1 1 Р Р 1 Р 1 q q i i ч 0 1 р q 0 0 0 0 0 1 0 1 р q р о р р 0 q 0 q 0 q И в этой булевой алгебре роль нуля играет 0, роль единицы 1. при этом 0 = 1,Т = 0,р = 9,? **?- 3. Алгебра высказываний также является примером булевой алгебры; а ней S — множество высказываний, дизъюнкция я конъюнкция игра- юКроль операций сложена» и умножения, отрицание высказывания соответствует переходу к противоположном)- элементу, О = О,/ *= 1. 4. Алгебра событий (см. любой учебник по теории вероятностей) также представляет собой булеву алгебру. В Ней роль ауля играет невоз- невозможное событие, а роль единицы — достоверное событие. 5. Пусть / — некоторое множество, S * /?(/) — множество всех подмно- подмножеств /. Если в качестве операций сложения в умножения взять объ- объединение я пересечение множеств соответственно, то в роли единицы будет множество /, в роли нуле — пустое множество, а элементом, протиаодоложиым к 4, будет дополнительное множество 1\А. 6. Пусть N — число, свободное от квадратов. S — множество всех на- натуральных делителей N. Определим "сумму" элементов S как их наименьшее обшее кратное, а "произведение" — как их наибольший общий делитель. Тогда О = 1, / = JV, х = N/x. Установим простейшие свойства булевой алгебры. В формулировках последующих теорем будут опускаться вводные слова типа "Для любых элементов А в В булевой алгебры справедливы следуюнше равенства...". Теорема 4.4. (А + В)С = АС + ВС, О + А = А, 1А = А, 1 = (А + С)(В + С), Следствие аксиом 2,5,6,7,8. Теорема 4.5. 15 = /, 1~О. Доказательство. В силу аксиом 6 и 7 выполняются соотношения = 1, I ¦ О — О, tn которых вытекает доказываемое.
Теорема 4.6. О и I определяются единственным образом. Доказательство. Пусть два элемента — О] и О2 удовлетворяют аксиоме нуля Покажем, что они обязаны совпадать. Действительно, в силу аксиом С и 2 имеем О2 = О2 + О] = О, + О2 = О} Аналогично доказывается совпадение любых двух ' единиц' h = h h =h h = h- Теорема 4.7. Обратный элемент к данному опреасляется единствен- единственным образом Доказательство. Пусть Л] и А2 — произвольные два элемента из S, обрат- обратные к Л. Тогда Л2 = А2-1 — A2-(A + Ai) = А2-А+А2-А} = A-A2 + A2-Ai =- О + А2 ¦ А\ — А ¦ А\ + А2 ¦ А\ = (А + A2)Ai ¦= I ¦ А\ — А\. Доказано, что А, =-Л2. Теорема 4.8. АО = О, А + I- I Доказательство. А ¦ О = А ¦ (А ¦ А) = (А ¦ А) ¦ А — А ¦ А = О. А +1 = А + {А + А) = (А + А) + А = А + Л = /. Теорема 4.9. (Законы поглощения) А(А + В) = А. А + АВ = А. Доказательство. А(А + В) = А-А + А-В = А+АВ = А-1+А-В=; АA + В) = А ¦ I = А. Теорема 4.1Q. (Свойство совместимости) А+В — В тогда и только тогда, когда АВ — А. Доказательство. Пусть А+В = В. Тогда с помощью предыдущей теоремы получаем АВ = А(А + В) - А. Обратно. Если АВ = А, тоА+В = АВ+В = В. Теорема 4.11. (Закон снятия двойного отрицания) А = А. Доказательство. Как показывает теорема 4.7, при фиксированном А эле- элемент В, удовлетворяющий условиям = /, АВ*=О, определяется однозначно. И Л, и Л им удовлетворяют; поэтому они совпа- совпадают.
Алгебра высказываний 69 Теорема 4.12. (Закаяы де Моргада) 1) А + В=*А-В~; 2) А В = А + В. Для доказательства первого закона достаточно убедиться в справедливости (ледуюшйх двух равенств: 5 3 )( ) : _ Действительно, (А+В)А В - А~А~В + В~АВ~ = О~В+ОА = () + ()?= О (А + В) + А В = (А + В + А) ¦ (А + В + В) = (I + В)A + А) = 1 1-1 Второй закон де Моргана может быть доказав аналогичным образом, но мы поступим по-другому. Оказывается, он может быть получен пз первого закона с привлечением закона двойного отрицания. Применим первый закон де Моргана^к элементам А и 5: Л + В = 1 ¦ Ж = А ¦ В. Отсюда JT? = % + Ъ = Л + Ъ. В заключение данного параграфа рассмотрим следующий пример. Пусть S ~ [0, lj (отрезок числовой прямой). Определим бинарные опера- операции над элементами S следующим образом: х + у = гаах(х. у): х ¦ у = mm(x,2/). Легко проверить выполнение всех аксиом булевой алгебры, кро- кроме последней, связанной с существованием противоположного элемента. Однако, если определить противоположный элемент 7 как дополнение х до 1: х = 1 - х, то будут выполнять* я закон двойного отрицания в законы де Моргана. В свези с этим иногда булеву алгебру рассматривают в более широком смысле: аксиомы 6 и 7 дополняют формулировкой -т>ремы4.8 : аксиому 8 заменяют такой: \fAeS 3AeS 2 ^ А; При этом второй закон де Моргана будет также выполняться (приве- (приведенное выше доказательство полностью "проходит"!). Покажем, как при новой системе аксиом доказывается теорема 4.5. VA А + О = А. По второму закону де Моргана отсюда получаем V.4 А - О = А. В силу теоремы 4.6 О = /, и по закону двойного отрицания 7 = 0. Теперь нетрудно убедиться, что все сформулированные в виде теорем свойства булевой алгебры в узком слсысде(за исключением двух последних утверждений теоремы 4.4) имеют место и для булевой алгебры в широком смысле. • В качестве упражнения читателю предлагается вернуться к примеру 6 и убедиться в том, что при снятии введенного ограничения на натуральное число N получается булева алгебра в широком смысле.
Глава 5 Комбинаторика Комбинаторика — часть математики, изучающая способы решений за- задач пересчета и перечисления элементов в конечных множествах. Задача перечисления состоит в выделении элементов, принадлежащих некоторо- некоторому заданному конечному множеству и удовлетворяющих некоторым свой- свойствам, а задача пересчета — в нахождении числа таких элементов. На- Например, задача: Описать все расположения 8 одинаковых ладей на шах- шахматной доске, при которых ладьи не бьют друг друга — есть задача пе- перечисления, а если требуется найти количество указанных расположении. то это будет задача пересчета. Обычно в подобных задачах речь идет о комбинациях некоторых объектов, поэтому такие задачи называют комби- комбинаторными. Приведем еще два примера комбинаторных задач. 1. В турнире по олимпийской системе ("проигравший — выбывает") участвует п человек. Сколько встреч будет проведено? 2. В правлении банка 7 человек. Каково должно быть минимальное чи- число замков от сейфа и как следует распределить ключи между чле- членами правления (каждый член правления может получить ключи от нескольких замков), чтобы любое большинство сейф могло от- открыть, а любое меньшинстве — не могло? Комбинаторика возникла как "математика досуга'"; например, о ее по- помощью подсчитывапись шансы участников карточных и других азартных игр. Появление мощной вычислительной техники резко увеличило возмож- возможности комбинаторики и расширило круг ее приложений. Комбинаторные методы применяются ныне в теории вероятностей, статистике, экономике, биологии, химии, физике и других областях науки. Напомним, что в 1 главе было сформулировано и доказано правило про- произведения ("основной Принцип комбинаторики"), а также выведены фор- формулы для числа дарестанавок п элементов и числа подмножеств конечного множества.
Комбинаторика 71 5.1. Выборки. Размещення Пусть задано некоторое конечное множество А *= {ai,o2,...а„} — гене- генеральная совокупность. Из элементов генеральной совокупности образуют- образуются выборки; ati,ah,...,air, где Vj i, € {1,2,... ,n}. Выборки классифицируются следующим образом. В зависимости от того, существен порядок элементов выборки или нет. ее называют упорядоченной или неупорядоченной. В зависимости от того, могут или не могут элементы выборки повто- повторяться, ее называют выборкой с повторениями нли выборкой бее повто- повторений. Упоминание об отсутствии повторений часто опускают, в то время как допустимость повторений элементов в выборке всегда специально ого- оговаривается. * Число элементов выборки называют ее объемом. Выборку объема г на- называют г-выборкой. Размещением из п элементов по т называется упорядоченную т- выборку из л-элементной генеральной совокупности. Пример. Пусть п = 3, т — 2. Обозначим элементы исходного 3- элементного множества а, 6, с. Выпишем всевозможные размещения из 3 по 2 (без повторений): (а, 6), (о, с), F, а), (Ь, с), (с, о), (с, Ъ). Если говорить о размещениях с повторениями, то к указанному списку добавится еще 3 размещения: (о, о), (Ь, Ь), (с, с). Число размещений из п по т без повторений обозначают А%, а с по- повторениями Л™. Например, Al = б, Л| = 9. Несложно получить общие формулы для числа размещений. Если элементы размещения не могут по- повторяться, то число способов, каким можно выбрать1 каждый очередной элемент размещения, будет на единицу меньше, чем для предшествующе- предшествующего ему, а Т>к как первый элемент размещения выбирается п способами, то с помощью правила произведения получаем формулу 4Г = К" - 1)(" ~ 2)...(п - т + 1). Полученное произведение содержит т множителей, его иногда обозначают так: (п)т. В размещении с повторениями каждый очередной элемент может быть выбран п способами, поэтому А™ = пт.
5.2* Сочетания Сочетанием из п по т называют неупорядоченную m-выборку из п- элемеятиой генеральной совокупности. Пример. Пусть я % 3,т * 2. Обозначим элементы исходного 3- элементного множества а, Ь, с. Выпишем всевозможные сочетания из 3 по 2 (без повторений): ab,ac,be. Если говорить о сочетаниях с повторениями, то к указанному списку добавится еще 3 сочетания: аа, bb, се. Число сочетаний из п по т (без повторений) обозначают С™ или \1) ¦ а с повторениями — C^j* . Например, С\ * 3, Cf «= 6. Выведем формулу для С™. Всякое размещение из п по т. можно полу- получить с помощью процедуры аз двух действий: 1) выбор элементов, входящих в размещение (другими словами, выбор со- сочетания из п по тп); 2) перестановка выбранных элементов. По правилу произведения получаем А™ = С™ • ml, откуда cm w(n-l)...(n-m-f 1) ml Умножав числитель в знаменатель полученной дроби на (п - т)!, полу п! Число сочетав»* с вовтореввямя. "Закодируем" сочетание с нов горе- горениями последовательностью из нулей в единиц следующим образом: сна- сначала запишем столько единиц, сколько раз в сочетание входит первый эле- элемент исходного множества, затем — 0, затем столько единиц, сколько раз 8 сочетавяе входит второй элемент исходного множества, затем 0 и т.д. (после единиц, соответствующих последнему элементу, 0 не ставим). Пржмеры. Пусть п ав 3,т » 5. Тогда aaabc имеет кодировку Ш0101; аЬЬЬЬ — ,1011110, ссссс — 00Ш11. Заметим, что в кодирующей последовательности ровно п 4- m i 1 эле- элемент: m рддтпт (столько, сколько элементов в сочетании) ил-1 нулей (отделяющих друг от друга п наборов единиц, соответствующих п эле- элементам исходного множества). Очевидно, что любой последовательности такого вида соответствует некоторое сочетание с повторениями из п по т.
Комбинаторика ¦ 73 Примеры. При п = 3, m = 5 последовательности 1110011 отвечает сочетание aaacc, а 0111110 — bbbbb. Таким образом, установлено взаимно однозначное соответствие между множеством сочетаний из n no m и множеством последовательностей из m едянин и п - 1 нуля. Несложно подсчитать число последних: для по- построения любой последовательности указанного вида нужно определить тэт позиций для нулей из п + тп — 1 возможных; поэтому число последователь- последовательностей равно C^+m_l. Доказано, что Рассмотрим несколько задач, при решении которых используются со- сочетания с повторениями. • Каким числом способов можно разместить п одинаковых шаров по к различным урнам ? Решение. Присвоим урнам номера от 1 до к. Будем считать, что, по- помещая шар в урну, мы присваиваем ему ее номер. Тогда размещение шаров по урнам сводится к построению последовательности, в кото- которой п элементов и каждый из них принимает одно из к значений. Таким образом, ответ к задаче: 75%. • Каким числом способов могут распределится голоса 1 миллиона из- избирателей среди 42 избирательных блоков ? Задача сводится к предыдущей. Ответ: C^f. • Найти число решений уравнения ач 4- хг + ... + xt- » n в неотрицательных целых числах. Опять задача сводится к числу распределений одинаковых шаров по различным урнам, если считать, что х, — количество Шаров, поме- помещаемых^ j-ю урну, п — общее число шаров, Jk — общее число урн. Ответ: Q. • Найти число решений уравнения хх + xi + ... + хк = п в натуральных числах.
Введем новые переменные: а;,- « у{ +1 (« = 1,..., к). Относительно но- новых переменных yt получим уравнение уже в неотрицательных целых числах У\ + Уг + ---+Ук * я - *, число решеиий которого С^ * С"Г* «= C*Ii. Читателю предлагает- предлагается подумать над тем, как ответ может быть получен непосредственно (без сведения к предыдущей задаче). 5.3. Перестановки с повторениями Перестановками с повторениями называют упорядоченные выборка, в ко- которых каждый элемент генеральной совокупности встречается фиксирован- фиксированное (свое для каждого элемента) число раз. Пусть А = {а\, в],..., а*} — генеральная совокупность. Число переста- перестановок с повторениями, в которых элемент <ц встречается t»i раз, элемент а2 — пг раз,..., элемент о* — п* раз, обозначают P(ni,nir... ,nk). Выведем формулу для Р(щ,П2,.¦ ¦ ,пь). Обозначим через п общее число элементов в каждой выборке указанного вида: п ~ ni + щ + . ¦ ¦ + пк. Рассмотрим формирование перестановки с повторениями как процеду- процедуру из следующих к шагов. 1 шаг. Определяем щ мест , которые будет занимать элемент аг. 2 шаг. Определяем пг мест, которые будет занимать элемент а2. к Шаг. Определяем П* мест^которые будет занимать элемент ак. 1 шаг выполняете! С способами, 2 шаг — C"ini способами, ..., к шаг — C"im_ni_ „,_, способами. Общее число перестановок с повторениями находим по правилу произведения: п! (п — п\)\ (п — п\ — п2)! П(!(п — «i)! пг\(п — п\ — щ)\ п%\{п — щ — щ — (п — щ — ... — п^-\)\ __ п\
75 Замечав, что (п - П\ - ... - п*)! = 0! з= 1, получаем окончательный резуль- результат: Р{щ,п2,...,пк) — —¦—р —-, где п = щ + П2 + ... + пк. П\\П2\ . . . fife! Пример. Сколько различных "слов" можно получить, переставляя буквы слова "колокольчик" ? В слове 11 букв, буквы "к" и "о" встречается по три раза, буква "л" — дважды, остальные — по одному разу. > > Ответ:,з1555ФШ? = И • 10 • 9 • 8 • 7 • 5 • 2. ' 5.4. Полиномиальная формула Теорема 5.1. Для любых натуральных чисел пики любых чисел xi,X2, ¦..,Хк справедливо равенство Пояснение. Суммирование производится по всем решениям уравнения щ + «2 + ... + щ = п в неотрицательных целых числах. Таким обра- образом, в силу результатов §5.2 число слагаемых в данной сумме равво С^. Доказательство. Запишем n-ю степень суммы как произведение п мно- множителей, после чего раскроем скобки, не приводя подобных и не меняя порядка множителей: .. .+хк)п = (х, +х2+.. . + xt)(*i +х2 + . ¦ .+х/0 ... (xi +х2 + .. .+хк) ..х2 + . Если каждое слагаемое рассматривать как n-буквенное "слово", то в по- яучрнной сумме присутствуют все "слова" из п букв, в которых каждая буква принимает одно из к значений: хьх2,... ,х*, причем каждое такое слово встречается ровно один раз . После приведения подобных коэффи- коэффициент при хг 1хг 2... хк к будет равен числу n-буквенных <Уюв, в которых буква xi встречается тц раз, х% — щ раз, ..., ц, — *ц раз, т.е. числу перестановок с повторениями
76 Теорема доказана. Замечание 1. Частным случаем полиномиальной формулы является формула бинома Ньютона Действительно, если в полиномиальной формуле положить к = 2. Х\ = х, x-i = у. га2 = г, то щ = п — г и Замечание 2. Другим широко известным частным случаем рассматрива- рассматриваемой формулы является формула квадрата суммы к слагаемых. Примеры 1) Получить формулу куба суммы трех слагаемых. Уравнение щ + п2 + п3 = 3 имеет С$ = С*| = 10 решений в неотрица- неотрицательных целых числах: C,0,0), B,1,0), A,1,1), а также тройки чи- чисел, получающиеся из указанных перестановками элементов. Таким образом, в формуле три различных полиномиальных коэффициента: РC,0,0) * 1,РB,1,0) =3,РA,1,1) «6. Искомая формула: (х + у + zf = хя + у3 + z3 + Цх2у + х2г + угх + угг + г2х + z2y) + 6xyz. 2) В разложении многочлена B — х + г2M найти коэффициент при хь. Применяя полиномиальную формулу, получаем: B-z+z2M= V ,5!, 5' Для того, чтобы определить, какие слагаемые в полученной cvmmp со- содержат х5, нужно решить в неотрицательных целых числах систему двух линейных уравнений с тремя неизвестными 2щ = 5.
Комбинаторика 77 Из второго уравнения следует нечетность га2; в силу неотрипатель- ности переменных щ принимает значения: 1, 3 или 5. Все решения системы удобно записать в виде таблицы, к которой припишем стол- столбец значений коэффициентов при х& в отвечающих каждому решению слагаемых в A)  2 1 0 712 1 - 3 5 п3 2 1 0 5!(-1)п- -120 -40 ,- -1 Таким образом, коэффициент при г5 равен -120 — 40 — 1 = —161. 5.5. Комбинаторные тождества В этом параграфе будет доказан ряд соотношений для биномиальных коэф- коэффициентов. Все они интересны сама но себе и многие будут использоваться нами в дальнейшем. Однако не менее интересны способы их доказательства (или получения). Мы будем, как правило, предлагать доказательства, ис- исходящие из комбинаторной природы соотношений. Общая схема рассужде- рассуждений здесь такова. Пусть доказывается тождество /(п, m,...) a= g{n,m,...). По виду левой и правой частей реконструируется задача ва подсчет числа комбинаций определенного вида ( п, т,... выступают в роли параметров), решая которую одним способом, получаем в качестве ответа /(я, т,...). а другим способом — д(п, т,...). В нижеприводимых соотношениях значения параметров предполагают- предполагаются такими, чтобы все биномиальные коэффициенты имели смысл (напри- (например, если в формуле присутствует С*, то предполагается, что 0 < к < п).
78 Имеют место следующже тождества: 2) <:*:! + <?*_,=<?*; 3) ELo^ = 2"; 4) ?Lo(-l)*C* = 0; 5) EE=1(-1)*-1CJS = 1; 6)[Свертка Вандермонда ] С?+п = *?".=<>C'mCt'(™ >k,n> к); 7) с2"„ = ?2=О(С*J; 8) fcC* = nCth 9) С*СГ = СГ 12) Доказательство. 1) Каждому fc-элементному подмножеству га-элементного множества по- поставим в соответствие его дополнение до всего множества Нетруд- Нетрудно видеть, что при этом задается взаимно однозначное соответ- соответствие между fc-элементными и п — fc-элементными подмножествами п-элементного множества. Если между двумя конечными множества- множествами существует взаимно однозначное соответствие, то эти множества содержат одинаковое количество элементов. Такьм образом, число сочетаний из я по А: совпадает с числом сочетаний из п по п — к.
Комбинаторика 79 2) Права» часть Доказываемого тождества есть число fc-элементных под- подмножеств п.-элементного множества. Докажем, что и левая часть есть то же самое. Зафиксируем некоторый элемент п - элементного мно- множества, обозначим его 7- Разобьем все Jt - элементные подмножества на два семейства: в Первое включим подмножества, содержащие 7, л Во второе — не содержащие 7- Для того, чтобы сформировать под- подмножество ига первого семейства, нужно из п - 1 элемента выбрать к - 1, поскольку элемент 7 уже входит в это подмножество. Поэтому в первом семействе C*l} подмножеств. Для формирования подмно- подмножества из второго семейства надлежит выбрать из п — 1 элемента G выбирать Нельзя!) Jk элементов; значит, во втором семействе Скп_х подмножеств. Так как всякое fc-элементное подмножество входит ров- ровно В одно из двух семейств, общее число fc-элементных подмножеств может быть подсчитано как сумма G*1 \ + С\_х. 3) 2е — число всех подмножеств n-элементнвго множества. Так как С* - число всех его fc-элементных подмножеств, то просуммировав С* по к от 0 до п, вновь получим общее число всех подмножеств. Другой способ доказательства состоит в применении формулы би- бинома Ньютона Положив в ией х — 1, получим требуемое. 4) Тождество доказывается подстановкой в приведенной выше формуле х = -1. Комбинаторное доказательство может быть получено из решения следующей задачи. Доказать, что четное число эле- элементов из п-элементного множества может быть выбрано 2" способами. Читателю предлагается продумать детали этого доказа- доказательства самостоятельно. 5) Данное соотношение является другой формой записи предыдущего то- тождества. 6) Решим такую задачу. Имеется т мужчин и п женщин. Из них нужьо сформировать делегацию1 из к человек. Каким числом способов это можно сделать?Ответ очевиден: С^+п. Будем классифицировать де- делегации по числу мужчин. Если в делегацшо входят s мужчинш k- s женщин, то мужчин можно выбрать С'т способами, а женщин — С„~% 1 Например, для поездки в Грецию по обмену опытом.
способами; значит, число делегаций с а мужчинами равно C'JCkn~'¦ Суммируя С^С*~' по s от 0 до fc, авлучим общее число делегаций. 7) Для доказательства достаточно в предыдущем соотношении положить к at га «в п я применять 1). в) Доказательство тождества может быть получено из решения следую- следующей задачи: Каким числом способов можно из п кандидатов вы- выбрать к депутатов и среда последках спикера? Депутаты выбира- выбираются С* способами, после чего спикер выбирается к способами; та- таким образом, общее число способов равно С* ¦ к. То же число можно подсчитать по-другому. Будем сначала (всенародным голосованием) избирать спикера (аз п кандидатов), а затем из оставшихся п — 1 кандидата — еще А; - I депутат». Указанная процедура может быть выполнена я ¦ C*l| способами. Доказано, что А:С* = "C*l}. Отсюда вытекает полезное рекуррентное соотношение С* = |C*l}, применяя которое несколько (точнее: к) раз, можно вновь вывести-формулу для числа сочетаний: п ft- I n-jfc + l-o n(n~ 1)...(и- к + 1) к' к-1 '•¦ 1 Cn-i = —- jtj ¦ 9) Это тождество — обобщение предыдущего (если в 9) положить т = 1, то получим 8)) и может быть доказано с помощью решения задачи, также являющейся обобщением ранее рассмотренной: Каким числом способов можно выбрать из п кандидатов к депутатов и среди по- последних т членов президиума? 10) 1 способ. Докажем тождество математической индукцией по к. База индукции. При k xQ имеем верное равенство: Индукционный шаг. Пусть доказываемое утверждение верно при к = п- EJU^m+p = CltUi- Прибавив к обеим частям равенства С™+п+г. получим = [в силу 2)] =
Комбввяторйка 81 Таким образом, соотношение 10) справедливо а при fc = n + L 2 сяособ. Общее число m + 1-элемштиых подмножеств множества {l,2,3,...,m + * + 1} райю СЩ?1н (оравой части доказываемого тождества). Будем классифицировать указанные подмножества по их наибольшему элементу, который, очевидно, принимает значения т + 1,т + 2,..., т + к + 1. Найдем число подмножеств с наибольшим элементом ш+?+ 1. Поскольку наибольший элемент уже выбран, оставшиеся m элементов выбираются Из мужества {1,2,..., т + р} — значат, число таких цеамйожеств равно С™+р. Суммируя С™+р по р от 0 до fe, ввовь получим общее число т + 1-элементны? подмножеств (левую «теть доказываемого тождества). 11) Тождество доказываете» на основе предыдущего: к п+к - п-1 n+fc—m V 12) Решим задачу; Каким числом способов можно из п кандидатов вы- выбрать т депутатов и среди депутатов некоторых (может быть, всех, а может быть, никого) наградить? С одной стороны, депутаты выбираются С™* способами, а награжден- награжденные выделяются 2т способами (столько подмножеств имеет множе- множество из m элементов), и, значит, ответ * задаче: С? ¦ 2*. С другой стороны, если число награждаемых депутатов равно к @ < к < т), то их можно выбрать С* способами, после чего остальные т~к депутатов выбираются C%~k способами. Суммиру* С*С™~? по it от 0 до т, вновь получим ответ к рассматриваемой задаче. Тождество доказано. 13) Используя соотношение 8), преобразуем общий член суммы: К* = \Ctll Имеем: ? \^ - t \ctl '= \ Е Ct\ = [в силу 10)) = ^
82 14) 1 способ. r*n _ 1 fl fn — 1 fl l_i.Jt= / ~~f*= / ( 1 — t Л f-1 Jo 2 способ, Воспользовавшись 13) тождеством, заменим |С* на ?"_t ^C* и в полученной двойной сумме поменяем порядок сумми- суммирования: J=lJ h-\ 5.в. Формула включения-исключения Мощностью конечного множества называется число его элементов. Мощ- Мощность множества А будем обозначать |А|. В этом параграфе мы выведем формулу для мощности рбъединения конечного числа конечных множеств. В случае двух и трех множеств имеем соответственно: \AKJ В\=\А\ + \В\ Действительно, в сумме \А\ + |J3| каждый элемент, принадлежащий од- одновременно и Л, и В, учитывается дважды; поэтому после вычитания ю |.4| 4- !-В| мощности пересечения этих множеств получим в точности число элементов АО В. Аналогичными рассуждениями обосновывается вторая формула (см. рпс. 5.1). В общем случае пмеет место следующая
Комбинаторика S3 Рис. 5.1. Геометрическая иллюстрация формул включения-исключения Теорема §.2. (Формула включение-исключения) Пусть А], At, . ¦ ¦, А„ — конечные множества. Тогда A) Докажем теорему двумя способами. 1 способ. Применим метод математической индукции. При п = 1 и п = 2 формула имеет место. Пусть она справедлива, когда п =е А:. Докажем, что она имеет место и при п = jfc+l. Пусть А\, А^..., Ак, A*+j — произвольные множества. По предположению индукции Пусть В - Ai U...U Ак и Л) = А(ПАк+1 {i = l,...,jfc). Тогда |Ai U... U Л* U At+i| = |B U Ак+1\ = |В| + |Л*+,| - \В П Лт|. B) Используя дистрибутивность операции пересечения множеств относитель- относительно объединения, получим В П Ак+Х = (Ai U Ai U... U At) П At+i s= (Ai П Ai+i) U (A2 Л Аш) U... U (At П А*+1) - A', U Ai U. ..U А'к. Множество В А Л*+1 представлено в виде обгединенил it множеств. Приме- Применим к нему предположение индукции:
- ? |А П А, +(-1)'\А1ПА7Г\...ПАкПАк+1\. C) . После подстановки C) в B) получаем требуемое соотношение 2 способ. Возьмем произвольный элемент из объединения данных п множеств и подсчитаем его "вклад" в правую часть доказываемой фор- формулы Пусть элемент входит ровно в m множеств А, (т <. п). Тогда в сумме ?|А,| он учитывается то раз, в сумме ?|А, Л А}\ — С^, раз (в стольких попарных пересечению т множеств он содержится), в сум- сумме И \А, Л А3 Л Ак\ — С^ раз и т.д. Общий вклад элемента выражается формулой т - С? + Cm - • + (-l)™^ И равен 1 в силу тождества 5) предыдущего параграфа. Таким образом, правая часть A) равна общему числу элементов из объединения п множеств, что и требовалось доказать Замечание. При решении многих задач применяется следующий ва- вариант формулы включения-исключения. Пусть дл* любого * множество 4, является подмножеством некоторого множества А. Обозначим через А, дополнение к А, До множества А: А, = А \ А,. Как известно, дополне- дополнение к объединению множеств есть пересечение их дополнений2; поэтому \АУП.. пЗя| = (А\{А1и...\jAn)\tz\A\-\AiU...UАп\- Воспользовавшись формулой A), окончательно получим 5.7. Функция Эйлера Примени формулу включения-исключения, выведем формулу для функ- функции Эйлера ?>(т). Напомним, что <р(т) — количество натуральных чи- чисел, не превосходящих m и взаимно простых с т Пусть натуральное число т имеет следующее каноническое разложение на простые множи- множители: т = Pi1 Рг2-•-?*"• Введем в рассмотрение следующие множества, А = {1,2,...,т},А = {j |j € А,/:р,},А, = А\А% (t = 1, . ,п) Чи ело взаимно просто с т тогда и только тогда, когда оио не делится ни на воин простой делитель пг. Поэтому множество чисел, не превосходящих т и взаимно простых с т, совпадает с множеством Aj Л Аг Л . Л А„ Таким образом, ^(т) — КТЪ мощность указанного множества. 2 Зеков яв Моргая».
Комбинаторика S3 Отметим, что А, = {pt,2j>,,...,m} и |А,| * у- Несложно найти и мощ- мощность пересечения двух множеств: |Л, П А3\ « ^- (множество 4, П 4, состоит из чисел, кратных произведению р,р,), и вообще мощность поросе чения любого числа и» множеств А,: \А. П А, П ... П А, { = р—„ "' ^- (рассуждания аналогичны). Теперь все готово для того, чтобы применить формулу включения исключения. Имеем: ~|A|-?;|A,J+ ? \AtC\A3\-...+ 1=1 1<»</S" (При раскрытии скобок В последнем произведении получается предыдущая сумма). Итак, доказано обещанное ранее соотношение 5.8. Задача о беспорядках и встречах В популярной литературе по теории вероятностей часто встречается Задача о рассеянной секретарше. Секретарше нужно отправить п различных писем по п различным адресам Она подписывает конверты и случайным образом вкладывает письма в конверты. Какова вероятность тога, что ни одно письмо не дойдет да своего адресата? Оказывается, искомая вероятность не так мала, как может показаться на первый взгляд, и, что замечательно, Имеет пределом (при п -* оо) \ *= 0.367879 .. Данная задача является (литературным) вариантом широко известной комбинаторной задача о беспорядках, решением которой мы сейчас и займемся. Перестановка (ах,а2,...*»„) чисел 1,2,...,п называется беспорядком, если для любого i в, ф «. Через Д, обозначим число всех беспорядков из п элементов. Заметим, что в задаче о секретарше искомая вероятность
86 Рп равна отношению Dn к общему числу всех перестановок п элементов: Пусть А ~ {(аьа2,...,а„)} — множество всех перестановок чисел 1,2,..., п; А, = {{oi, а2,..., а„) | а,- *=j} — множество тех перестановок, у которых на t'-м месте стоит число i, A,- = A \ At (г — 1,..., п). Тогда мно- множество беспорядков совпадает с Пересечением множеств Ai П Л2П...flJ4n, a Г>„ равно его мощности. Для того, чтобы применить формулу включения- исключения, нужно найти мощности соответствующих множеств. Имеем: |А| = п!, V» |Л;| = (п - 1)! (так как во всех перестановках, входящих в А,, положение одного числа фиксировано, то число таких пе- перестановок совпадает с числом перестановок п — 1 элементов), если % ф J, то \Ai П А3\ = (п — 2)! (здесь фиксированы положения двух элементов); во- 'обще: мощность пересечения к множеств равна (п — к)) (к чисел "знаютг свои места, переставляются оставшиеся п — к). Заметим, наконец, что п множеств А; образуют С\ попарных пересече- пересечений, ..., С* пересечений по к множеств {к <п). Таким образом, Возвратимся (в последний раз) к задаче о секретарше. Из полученной формулы для числа беспорядков следует: Рекуррентные формулы для числа беспорядков. На основе формулы A) получим интересные соотношения для ?)„.
Комбинаторика 87 (Г()^ ) (Г ( ) B) Полученное рекуррентное соотношение Dn+l e (-l)n+1 + (п + 1)Х>„ очень похоже на соотношение, позволяющее рекурревтно вычислять факториа- факториалы: (п + 1)! = (п + 1) ¦ п\ (все отличие — слагаемое (-l)n+1). В связи с этим обстоятельством число беспорядков Dn иногда называют субфактпо- риалом (или псевдофакториалом). Зная, что D\ — 0, с помощью B) найдем несколько значений Dn : Д,«1; Д, = 31-1=2; ?>t = 4-2 + l=9; Db ш 5 ¦ 9 - 1 = 44. Еще одно соотношение волучается так: А.+» * (n + 2)Dn+x + (~l)n+i • (n + l)Dn+i + (-l)n+2 + Dn = (n + DA.+! + (-l)rt+2 + (n + 1)X>. + (-l)n+1 - (n + 1)(DB+1 + Dn). Заметам, что рекуррентной зависимости ап+1 s* (re + l)(an+i + on) наряду с последовательностью псевдофакториалов Dn удовлетворяет я последова- последовательность (обычных) факториалов п! (убедитесь в этом самостоятельно). Обобщением задача о беспорядках является задача о встречах. Го- Говорят, что перестановка (ai,as,...,on) чисел 1,2,...,п имеет к встреч, если ровно it чисел "остаются на своих местах" (когда порядковый номер элемента в перестановке совпадает с его величиной: а< = г). Число пере- перестановок п элементов с к встречами обозначим Dn,k~ Отметим несколько частных случаев: ОпЛ г» Dn; Dnn = 1; J3n,n-i =* 0. Последнее равенство вытекает из того, что если все элементы перестановки, кроме одного, за- занимают "свои" места, то и этому элементу не остается ничего другого, как занять место, чей номер совпадает с ним, и, таким образом, роемо п - 1 встреч не может быть! Каждую перестановку га элементов с к встречами можно сгенерировать, выполняя следующую процедуру: 1 шаг. Выбрать к элементов, остающихся на своих местах. 2 шаг. Оставшиеся п — к элементов переставить так, чтобы ни один из них не занял "своего" места. Первый шаг выполняется С* способами, второй — ?>„_* способами. С по- помощью правила произведения получаем формулу для числа встреч
5.9. Число сюръекций Пусть X в Y — некоторые множества. Отображение / : X — Y назы- называется аоръекцией, если всяжяй элемент множества К является образом некоторого элемент» мяоясества X: У»€У 3*6* /(*)*»• Определим образ ««озсества при заданном отображении как множество образов всех его элементов: f(X) » {f(x) j ar € X}. Отображение / : Л" —¦ К желается сюръекддой тогда а только тогда, когда f(X) = F. Пусть X и Y — конечные множества: Л" =* {«i,*2>- • ¦ ,хп}, Y * {уь й, • • •, йтЬ Причем п > га. Найдем число всех сюръекций f : X -* Г. Введем в рассмотрение следующие множества: А = {/ : Л" —» F} — множество всех отображений изХвУ; F = {/ : Л" -* К 1 f(X) * F} — множестве всех сюръекций; { _()}() Легко видеть, что F » Ai П ]?s П... П Л,,,. Вновь находит применение формула включения-исключения! Каждое отображение / : X —* Y можно задать размещением (с по- повторениями) объема n : (/(xi),/(х2),...,/(хи)). Для отображений / € А элементы указанного размещения выбираются из m-элементного множе- множества Y; для / ? А, — из т- 1-элементного множества Y \ {у,}; для / € At П А3 (* / j) — из m - 2-элементного множества Y \ {у„у3} и т.д. Формула для числа размещений с повторениями уже известна читате- читателю; применив ее, получим |Л| = тп\ \А,\ — (т — 1)п;\А,ПА}\ = (т-2)";... Таким образом, +(-1)* Е \Ain...Att\ + ... + (-l)m\AiuAtn...nAm\ = 1<п< «»<» = ти - ш ¦ (т - 1)" + С2,(т - 2)" - ... + (-I)"-1 • С™ Г Итак, число сюръеишй л-элементного множества в т-элементное мно- множество равно iJf-D'C* (га - к)'.
Комбинаторика 89 Првмер. п различных шаров нужно разместить по т различным ящи- ящикам man, чтобы ни один ящик не остался пустым. Каком числом спосо- способов это можно сделать? Решение. Раснредеденве шаров по ящикам можно рассматривать как отображение множества шаров 9 множество ящиков; отсутствие пу- пустых «щяков соответствует тому, что указаяйое отображение является сюръекаяей. Число сюръекывй подсчитано выше. 5.10. Обобщение формулы включения-исключения Пусть А — тжюрж множество, AuAt,--,An — его подмножества. Определим функцию w(n) следующими соотношениями: w@) * И, «A) * ? \Ai\, w(k) » ? | А, П... П Ач | (ft < n). •el l<ti<.. <t'i<n Пуст* N(r) — число элементов множества А, которые принадлежат ровно г различным множествам Д, (если г ав 0, то — ни одному). С помощью вве- введенных функция формула включения-исключения принимает следующий вид: JV(O} = В этил параграфе мы докажем, что имеет место и более общее соотноше- соотношение: - ЛГ(г) ж Цг) - ClT+lw(r + 1) + С2г+ги>(г + 2)... + (-1)"-СГ'«;(п). A) Доказательство. Возьмем произвольный элемент множества А и подсчи- подсчитаем его "вклад" в правую часть доказываемого равенства. Возможны следующие 3 случая: 1) Элемент входит менее, чем в г различных множеств А„ тогда он не принадлежит никакому Пересечению г и более упомянутых, множеств и вклад его в правую часть A) равен нулю. 2) Элемент принадлежит ровно г множествам А,, тогда он принадлежит ровно одному пересечению г множеств и не принадлежит никакому пересечению большего числа множеств; таким образом, вклад эле- элемента равен 1.
3) Элемент принадлежит к множествам А,, причем к > г. Тогда он входит в Стк пересечений г множеств Л„ в CJ+l пересечений г+1 множеств А„ л С\ пересечений j множеств A,- (J < к). Вклад указанного элемента в правую часть (I) равен к ^{-iy~TCifC'k = [в силу комбинаторного тождества 1)] = ?(-1ГгОД = [в силу 9)] = ?(-l)*-rCIC^ * k-r [t = j - rj = CJ ?(-1)'С^г = {в силу 4}] ¦ 0. 1=0 Таким образом, формула из оравой части A) дает число элементов А, вхо- входящих ровно в г подмножеств А,. Это и требовалось доказать. Пример. Из 100 студентов 60 читают журнал А, 50 читают жур- журнал В, 50 — С, 30 — А и В, 20 — В и С, 40 — А и С, 10 — А.В и С. Сколько студентов не читает ни один аз трех журналов? Сколько студентов читает ровно два журнала? Решение. В данной задаче в роля исходного множества А выступает множество из 100 студентов, подмножества А\, А2, Аз составляют студен- студенты, читающие соответствующие журналы. Имеем: го@) = 100; шA) = 60 4- 50 + 50 » 160; Ц2) = 30 + 20 4- 40 = 90; wC) = 10. Тогда JV(O) = а;@) - w(l) 4- и>B) - и>C) = 20; JVB) = wB) - С^ииЩ = 90 - 3 ¦ 10 = 60. Ответ. 20 человек не читает журналов, 60 человек читает по два жур- журнала. 5.11. Числа Стирлинга II рода Числом Стирлинга II рода S(n,k) называют число неупорядоченных разбиений3 п-элементного множества ва к непустых множеств. Элемен- Элементы разбиения будем называть блоками. Пример. Вычислим 5F,2). Чи?ло неупорядоченных разбиений 6- элемеитного множества на два блока, один из которых содержит 1 элемент, равно С\ = 6. Если в одном из двух блоков 2 элемента, то число гоответ- разбпений равно С\ — 15. Наконец, если оба блока, на которые 'О понятии ратонения см §3 2
Комбинаторика 91 разбивается исходное множество, — 3 - элементные, то число таких разби- разбиений — СЦ2 = 10. Таким образом, 5F,2) « 6 + 15 +10 « 31. Очевидно выполнение следующих "граничных условий'*: при любом на- натуральном п S(n,l) = l, S(n,n) = 1. при к>п S(n,k)=0. По определению полагают 5@,0) = 1,при любом натуральном п S(n,0) = 0, 5@. п) = 0. A) С помощью результатов параграфа 5.9 мы сейчас выведем формулу для чисел Стерлинга II рода. Каждую сюръекшда гс-элементного множества А в fc-элементное (п > к) можно рассматривать как упорядоченное разбиение А на к непустых частей (каждая часть состоит из элементов, имеющих один и тот же образ при заданном сюръективном отображении) Пусть 5n,jt — число таких еюръекдиЙ: t Всякое упорядоченное разбиение на к блоков можно получить в результате выполнения следующей процедуры: 1) сделать неупорядоченное разбиение; 2) упорядочить его (т.е. перенумеровать полученные к множеств числами 1,2,...,*). Первый шаг процедуры Может быть выполнен S(n, к) способами, второй — А;! способами. С помощью правила произведения получаем соотношение Snk = S(n,k) ¦&!, или Для вычисления чисел Стирлинга удобно применять следующую рекур- рекуррентную формулу: S(n,fe) = S(n-l,**-l) + *S(n-l,*). B) Докажем ее. Пусть А ¦— множество из п элементов; х — некоторый фик- фиксированный элемент А. Число разбиений А ш к блоков, среди которых содержится блок {г}, равно S{n - 1,* - 1) (множество А \ {х}, мощность которого п - 1, разбивается на к — 1 блоков). Всякое разбиение, не содер- содержащее блока {х}, можно получить,
92 1) разбив множество А \ {х} на к блоков; 2) добавив элемент х к одному из полученных блоков. Первое действие выполняется S(n ~1,к) способами, второе — к способами. Таким образом, число разбиений второго вида равно kS(n — 1, к), а общее число разбиений равно S(n - 1,к — 1) + kS(n - 1, fc), что и требовалось доказать. Применяя соотношения A) и B), составим таблицу значений S(n, к) для 0 < п, к < 8. \fc "\ 0 1 2 3 4 5 6 7 8 0 1 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 2 0 0 1 3 7 15 31 63 127 3 0 0 0 1 6 25 90 301 966 4 0 0 0 0 1 10 65 350 1701 5 0 0 0 0 0 1 15 140 1050 6 0 0 0 0 0 0 1 21 266 7 0 ,0 0 0 0 0 0 1 28 8 0 0 0 0 0 0 0 0 1 Анализируя таблицу, можно заметить еще одно любопытное соотношение: S(n,n - 1) =е С%. Действительно, если п элементов разбиваются на п - 1 блоков, то все блоки, кроме одного, будут одноэлементными, и разбиение определяется тем, какие два элемента составят этот блок. Для дальнейшего нам понадобится следующая рекуррентная зависи- зависимость для чисел Стирлннга II рода: S(n,k) п-(к-\) S(n-h,k-l)C?\. Для доказательства рассмотрим блок В, содержащий некоторый фиксиро- фиксированный элемент х. Мощность 6 блока В может быть равна 1,2,..., п - (Jk - 1), так как В остальных блоках не менее к — 1 элементов. Подсчита- Подсчитаем число разбиений с фиксированным значением Ь. В этом случае блок В можно сформировать C%l\ способами (к элементу х нужно добавить еще 6-1 элементов). Не вошедшие в данный блок п-Ь элементов S(n - b, к -1) способами могут быть разбиты на Jfc - 1 блоков. Значит, число разбиений, в которых |В| * 6, равно 5(n - 6,fc - l)C%l\. Суммируя это выражение
93 So возможным значениям 6, получаем искомую формулу, которой удобно Придать следующий вед: ? - C) i~k-l Числом Белла В„ называют число всех неупорядоченных разбиений п- элементного множества. Его можно найти, просуммировав по к количества разбиений на к блоков: Удобно считать, что Во = 1 (это согласуете» с формулой D); если п > 0, то S(n, 0) = 0 и в D) нижнюю границу индекса суммирования можно заменить на 1). Выведем с помощью формул C) и D) рекуррентную формулу для чисел Белла; при п > 0 имеем в„ * ? s(n,k)«t ? 5м - J)ci-ie n-I »+l л-1 В заключение данного параграфа устансаим очень важное свойство чи- чисел Стирлинга II рода, которое иногда берут в качестве их определения. Оказывается, числа Стерлинга II рода «вляотса коэффициентами разложе- разложения многочлена х" (п = 0,1,2,...) по следующему базису в пространстве многочленов степени не выше п: (х)о = I, (a:)i = х, (хJ * х(х - 1),(*K * х{х - 1){х - 2),..., Теорема 5.3. Дли любого целого неотрицательного п справедливо то- тождество X»**?,S(n,k)(x)k. E) к=0
Для п з= о утверждение теоремы проверяется непосредственно; поэтому будем считать, что п € N. Докажем сначала, что соотношение E) справедливо, если х — нату- натуральное число. Пусть F — множество всех функций / : А -» В, где \А\ = п, \В\ = х. С одной стороны, их число есть ~Щ — хп (см. §5.8). С другой стороны, будем классифицировать функаии по мощности мно- множества f(A). Если |/(А)| = А;, то, во-первых, множество С = f(A) может быть выбрано С* способами, а, во-вторых, при фиксированном С число функций / : А —+ С равно числу сюръеишй Sn,k (если f(A) = С, то функ- 1шя / : А—> С — сюръекция). Таким образом, |{/ : А - В, |/(Л)| * *}| * С* - SnM « С* - 5(п, *)¦*! = = 5(п>4L = (г)А 5(n>t). Просуммировав полученное выражение по ifc от 1 до х, вновь найдем мощ- мощность множества F: \F\ = Sjt=i S(ni ^)(a:)*' Покажем, что верхнюю границу суммирования можно поменять с х на п, не изменив при этом суммы. Дей- Действительно, если i < п, то слагаемые в сумме, отвечающие значениям к > х, равны нулю, так как (г)* — 0 (проверьте!); если же х > п, то при к > п S(n,k) = 0 и соответствующие слагаемые в сумме также равны нулю. Нижнюю границу суммирования можно заменить на 0, так как возникающее при этом дополнительное слагаемое 5(п,0) равно нулю (поскольку п ? N). Итак, вычислив \F\ двумя способами, приходим к равенству х-- справедливому для всех натуральных х. Как известно из алгебры, если два многочлена n-й степени имеют одинаковые значения более, чем в п точках, то они тождественно равны4. Теорема доказана. 5.12. Числа Стирлинга I рода Как было показано в коняе предыдущего параграфа, числа Стирлинга II рода S(n, к) йоявляются При переходе от базиса {1, х, z2,..., z"} к базису *Разность указаивых многочленов является многочленом степени не вьппе п, у ко- которого более п корней. По язвествому следствию нз основной теоремы алгебры такой многочлен тождественно равен нулю.
Комбинаторика 95 {1, (x)i, (xJ,..., (х)„} в пространстве многочлене» степени не выше п. Чи- Числа Стирлимга I рода $(п, к) позволяют совершать обратный переход; они определяются так коэффициенты ари теяедовательных степенях х много- многочлена (х)п (п > В): (z)n = ?>(n,fc)**. A) fcaO Очевидно, что s(n,n) = l (n>0). B) Полагают также, что s(n, к) = 0, если к > п. C) Докажем, что имеет место следующее рекуррентное соотношение: s(n,Jfc) = «(n-l,Jfc-l)-(n-l)*(n-l,Jfc) @<k<n). D) Действительно, разложив по степеням х многочлены (х)„ и (x)n_i в тожде- тождестве (*)¦ = (*).-i' (* ~ п + 1), имеем: ? s(n, к)хк = (х - » + 1) § s(n - 1, к)хк = = ? s(R - 1, к)*1»1 - (п - 1) ? в(п - 1, fc)i* = «г=1 Приравнивая коэффициенты в левой и правой частях тождества при оди- одинаковых степенях х, получаем требуемое. С помощью соотношений B).C) и D), составим таблицу значений s(n. к) для 0 < п, к < 8.
ч л и 1 2 3 4 5 6 7 8 0 1 0 0 0 0 0 0 0 0 1 0 1 -1 2 -6 24 -120 720 -5040 2 0 0 1 -3 11 -50 274 -1754 13068 3 0 0 0 1 -6 35 -225 1624 -13132 4 0 0 0 0 1 -10 85 -735 6769 5 0 0 0 0 0 1 -15 175 -1960 6 0 0 0 0 0 0 1 -21 322 7 0 0 0 0 0 0 0 1 -28 8 0 0 0 0 0 0 0 0 1 Глядя на таблицу, нельзя не заметать "шахматный" порядок расстановк знаков коэффшшентоз. Эту закономерность нетрудао доказать. С одно стороны, многочлен <-*)• * (-*)(-* - 1) - ..{-*- п + 1) » (~\)ях(х + 1) ...(* + п • 1) при разложении до степеням х имеет коэффициенты одного знака ((-1)" С другой стороны, его можно представить в виде откуда следует, что (~1)*~п*{п,4) > 0 при 1 < к < n , то есть еслн*-п— четное число, то »(п, к) > 0, есла к - п — нечетное число, то s(n, к) < 0. В заключение давнего параграфа отметим Связь между «телами Стерлинга I к II рода Представив для произвольного неотрицательного п многочлен х" в bhj изменим в полученной двойной сумме порядок суммирования: J=0 k=j
Комбинаторика • 97 Поскольку при к < j з(к, j) = 0, можно поменять нижний предел гумми- гуммирования во внутренней сумме, не изменяв при этом ее значения: Из полученного тождества следует: Данное соотношение имеет простую матричную интерпретацию: произве- произведение матриц (одинаковой размерности), составленных соответственно ю чисел Стирлинга II и I рода, есть единичная матрица5. 5.13. Производящие функции Производящей функцией для последовательности ао, oj,..., а„.... называ- называется формальный степенной ряд А(х) = |>**. A) ; fc=o 'ермин "формальный" означает, что мы не находим область сходимости яда А(х), нигде не будем вычислять значений А(х) для конкретных значе- ир переменной х, будем лишь выполнять некоторые операции над такими ядами и определять коэффициенты вря степенях г; таким образом, А(х) Ьтересует нас не как числовая функция от переменной х, а как "носитель" Юследовательности (а*). Суммой произвольных рядов [ачьшается ряд '¦}тог факт можно было предвидеть пзазу, исходя из общих алгебраических соотно |еняи матоицы tSli i i я if i, ] t 10 < i, j 3 n) являются матоипами иео<^ода от одного Ииса к другому и оОпатно
Произведением ряда А(х) на число А называется ряд Произведением рядов Д(х) в В(г) называется ряд где а, » 53 C) D) 1=0 Если в последовательности (в*) лишь конечное число членов отлично от нуля, то ряд А(х) можно рассматривать как многочлен. Бела и в после- последовательности (Ьк) все члены, начиная с некоторого, равны нулю, то ряд В(х) — также многочлен, и формула D) переходит в обычную формулу умножения многочленов. Из курса математического анализа известно, что если степенной ряд сходится в некоторой окрестности нуля, то в этой окрестности его сум- сумма является функцией, во отношению к которой сам ряд является рядом Маклорена: <%k * *>J® для любого jfc so 0,1,2,... Заметим, что если А(х) и В(х) — аналитические функции * окрестности нуля, то соотношения B),C),D) будут справедливы для них я как для числовых функций. Со- Сохраняющее операции сложения в умножения взаимно однозначное соответ- соответствие между функциями, аналитическими в окрестности нуля, н их рядами Маклорена, позволяет отождествить формальный ряд A) с определяемым им аналитической функцией. В следующей таблице представлены произ- производящие функции для некоторых простых Последовательностей. последовательность (at) 1,1,...,1,... l,i5i,. ...if,... 1,2,2*,.. .,2*,... ' 0,1,2,.-.,*,... S(n,0),25(n,l)]..!,S(B, *),... производящая функция Д(х) l e i Покажем, например, как может быть получена производящая функция для последовательности неотрицательных целых чисел: - * *.*- = t=l х> х>
Комбинаторика 99 Припевки аппарат производящих функций к решению следующей весьма общей по постановке задачи. Найти at — число всех неупорядоченных к-элементных выборок с по- повторениями, удовлетворяющих заданным ограничениям на число вхожде- вхождений в них каждого элемента генеральной совокупности {х,,х2. хг,} . элемент х, может присутствовать в выборке у, раз, где у, — элемент некоторого числового множества X, С No (i = 1,..., п). Проиллюстрируем постановку задачи на нескольких "'игрушечных' примерах. 1) Сколько разных наборов вэ it шаров можно получить, имея 1 синий шар, 2 одинаковых белых шара и 4 одинаковых красных шара? Здесь генеральная совокупность состоит го синего, белого и краевого шара. Возможное число вхождений каждого шара в набор определя- определяется множествами Хх * {ОД},Х% * {0,1,2},ЛГа в {0,1,2,3,4}. 2) В условии предыдущей задачи вводится дополнительное ограничение: число красных шаров в наборе должно быть нечетно. Изменение коснется множества, определяющего допустимое число вхождений краевого шара: Х3 ж {1,3}. Пусть Л(х) — производящая функция для последовательности (ак). Тогда справедливо следующее соотношение: - A(x) = f[ 53 **. E) Действительно, если "раскрыть скобки" в оравой части E), то получим: где о* = 53 1- in +•.+»»=* В выражении дла а* суммирование производится по • всем наборам (Уи ¦ ¦ •»Уп) таким, что Vi yt € Xs и yt + .,. + а» = *, в результате че- чего получится искомое число it-выборок. Возвращаясь к примеру 1), запишем для вето Производящую функцию: А{х) = A+ х){1 + х + ia)(l + х + х1 + х3 + *4) «
= 1 + Зх + 5х2 + 6х3 + 6z4 + 5z5 + За:6 + х'' х'. Коэффициент при хк есть число ^-элементных наборов. Таким образом, можно составить 3 одноэлементных набора, 5 — двухэлементных, 6 — трехэлементных и т.д. Во втором примере А{х) = A + х)A +т + т2)(х + х3.) == х + 2х2 + Зх3 + Зх* + 2хъ + хь. . Теперь одноэлементный набор может быть только один, существует 2 на- набора из двух элементов и т.д. В заключение рассмотрим применение аппарата производящих функ- функций к выводу формул для числа сочетаний (без повторений и с повторения- повторениями). В обоих случаях будем считать, что генеральная совокупность состоит из п элементов. Сочетания. Каждый элемент в выборке встречается не более одного раза, т.е V» X, = {0,1}; й-выборка при этом является сочегпани- ¦ ем (без повторений) из п по к. Производящая функция имеет вид: A() )?2CV Сочетания с повторениями. Каждый элемент в выборке может по- 'явиться любое число раз: V« X, = No, fc-выборка при этом суть сочетание с повторениями из п по к. Производящая функция имеет вид: А{х) = A + х + х2 + ...)" = (-!-)" = A - х)- = [ биномиальный ряд ] = У —— —гг (-х) ~ k Таким образом, вновь получена формула для числа сочетаний с по- повторениями: С* = С*+4_,. В следующих пара1рафах данной главы аппарат производящих функций будет применен к решению ряда комбинаторных задач.
Комбинаторика НИ 5.14. Число счастливых билетов Трамвайные билеты имеют шестизначные номера. Билет называют сча( т- ливым, если сумма его первых трех цифр равиа сумме трех пос ледшп Мы докажем, что число счастливых билетов Н может быть выражено формл - лой Н = — /Jr(' *) dx. Отметим сначала, что число счастливых билетов совпадает i чш чом билетов, у которых сумма цифр равна 27. Для доказательства этого факта покажем, что существует взаимно однозначное соответствие между мнило ством "счастливых" 6-значных номеров и множеством 6-значных номеров с суммой цифр 27. Это соответствие задается так. В произвольном "сча< т- ливом" номере заменим 3 последние цифры на цифры, дополняющие их до 9 (например, 147624 —* 147375). Если сумма трех первых (и трех последних! цифр равна к, то после указанного преобразования сумма трех последних цифр станет равной 27 — Jfc, а общая сумма шести цифр будет равна 27. Всякий 6-значный номер с суммой цифр к можно рассматривать как Jfc-выборку, составленную из элементов генеральной совокупности {1,10,102, Ю3,104,105}, причем каждый элемент может встречаться не бо- более 9 раз. Пусть щ — число таких fc-выборок. Производящая функция для последовательности (а*) такова: 9\в _ А(х) = A + х + х2 + ... + х9M = Задача, которую мы решаем, сводится к вычислению q27- Дальнейшие вы- кладки будут понятны лишь читателям, знакомым с теорией функций комплексного переменного. Для функции ^ff- искомое число будет выче- вычетом, и вычислить его можно с помощью интеграла по единичной окруж- окружности с центром в начале координат комплексной плоскости: 1 / (r»-l\' dx J_ /* /e'^-lV и* _ l_ /2 / е f \ Заметим, что точно так же можно получить число "счастливых" 2п- значных номеров в i-ичной системе счисления: ~ /в* (^f) dx- Таким
102 образом, общее решение классической дискретной задачи записывается с помощью интеграла от тригонометрической функции! Чему все-таки равно число (традипионвых) счастливых билетов? От вет: 55252 (примерно каждый восемнадцатый бияет — счастливый). Наи более быстрый практический способ получения этого результата состо- состоит в последовательном вычислении коэффициентов при степенях х не вы- выше 27-й в разложениях многочленов Рг(х) = A + i + i2 +... + x9f для * = 1,2,..., 5 и последующем определении коэффициента при х71 в много члене Ре(х). Выкладки могут быть облегчены следующим соотношением пусть Р,(х) = ?2'_0 aiti,xk, тогда а,_* = at>9>_jt (докажите его!). Несложно получить рекуррентную формулу для вычисления коэффициентов Pi(x) че рез коэффициенты предшествующего многочлена P;_i(z). Попробуйте это сделать и, применяя найденную формулу, не более чем через 5 минут Вы сможете убедиться в правильности приведеняого ответа! 5.15. Число бинарных деревьев с п вершинами Бинарное дерево Т определяется рекурсивно следующим образом: Т =* ф (пустое дерево) или Т *t< l>,c,R > — упорядоченная тройка, где с — корень дерева (элемент некоторого множества), L и R — бинарные дере вья; L ш R называют соответственно левых в правым поддеревом дерева Т. Вершинами дерева называют его корень, корни его поддеревьев, корни поддеревьев его поддеревьев й тд. если в L и R содержится соответствен но г и г вершин, то количество вершин в Т равно 1 + г + 1. В пустом дереве нет вершин. Так же рекурсивно определяется понятие изоморфизма бинарных де ревьев. Два дерева называются изоморфными, если либо они оба пустые либо являются изоморфными их левые поддеревья и правые поддеревья соответственно. Деревья удобно изображать так, как показано на рис. 5.2 Число существенно различных (т.е. попарно неизоморфных) бинарных деревьев с п вершинами обозначим а„. Непосредственный подсчет показы- показывает, что Ов = 1, <*i = 1, а2 = 2, а3 = 5. Выведем рекуррентную формулу для ап. Если в дереве, его левом и правой поддеревьях соответственно п, и г вершин, то I принимает значения 0,1,..., п — 1; а г равно n — 1-l. При фиксированном 1 существует а; различных (с точностью до изоморфизма) левых поддеревьев, o,i_i_t — правых поддеревьев, всего, в силу правила произведения, — a,aB_;_i деревьев. Суммируя по всем возможным значе-
Комбинаторика 103 п=3 Рис. 5.2: Деревья с двумя и тремя вершинами шиш /, получим искомую формулу: п-1 а„ = ?afan_j_i. A) 1=0 Пусть А(х) & ^Жл а*** "*~ производящая функция для последовательности (ак). Используя A), вайяем А(х). Для этого заметим, что Аг(х) = (ae + а^х + агхг + .. .)(о« •+- щх +... в ai + аг^ -*- вз^ + сцх3 + ..., откуда получаем уравнение для Д(аг): а:Л2(х) в А(х) - 1. При г ф 0 Применим биномиальное разложение: A - 4х)* = 1 - 2* %ф* i ф4а? - t4V + || 2! 3! 4! _ -2"Bn-3)!! n Поскольку все члены последовательности (а„) положительны, в B) нужно выбрать знак минус:
Преобразуем коэффициент при х*, умножив числитель и знаменатель дро- дробя на B*)!! » 2 • 4 •... • 2* « 2* ¦ *!: 2кBк -1)!! 2*B* - 1)!!B*)Н _ B*)! = 1 к (к + 1)! ~* (к + 2)fJt!2* "~ (А: + l)!fc! Jfc + 1 2к' Таким образом, число бинарных деревьев с к вершинами равно 1 г" Числа ак называют числами Каталана; own появляются при решении очень многих комбинаторных задач (см., например, [9],[21]). Перечислам некото- некоторые из них: • Каким числом способов можно разделить выпуклый многоугольник на треугольники с помощью непересекающихся диагоналей? • На окружности расставлено четное число точек. Сколькими способа- способами их можно попарно соединить непересекающимися хордами? • Задана некоторая бинарная операция *. Каким числом способов мож- можно правильно расставить скобки в выражении ai на? *. -, *а„ ? Термин правильно означает: внутри каждой пары скобок (открывающей и за- закрывающей) находится ровно два операнда, где операнд — это буква' или выражение, заключенное в скобка. В книге [3] показано, как числа Каталана используются при определении количества групповых проверочных процедур, применяемых для классифи- классификации элементов конечного множества. 5.16. Решение линейных рекуррентных уравнений Пусть последовательность хв, Х\,xj,... удовлетворяет следующему соотно- соотношению A zn = 0. ак фО. A) где at at — некоторые числа. При заданных значениях ^o.Xi х*_1 формула A) полностью опре- определяет последовательность: каждый ее элемент, начиная с к-го. являет- является ."шнепнон комбинашки предыдущих к элементов с ь.оэффиппентами и.
Комбинаторика. 105 поэтому формулу A) называют линейным рекуррентным соотношением k-го порядка. Если положить во = 1, то A) можно переписать в виде ?*=0 ajXn+k.} = 0, или 4m>k f^a}xm.,}*0. B) j=0 Поставим задачу — перейти от рекуррентного задания последовательно- последовательности к формуле, выражающей зависимость общего члена последователь- последовательности хп от его номера п. Для решения этой задачи введем в рассмотрение производящую функцию последовательности (х„) : F(t) = ??Loxn*"; характеристический многочлен /(А) =» А* ¦+- «нА* +... + ад.; многочлен g(t) =z I -i-atf + ... 4- ati*. Отметим следующую связь между многочленами: при t ф 0 g(t) =s tkf{\). Докажем, что F{t) является дробво-рациоаальной функцией. Действительно, F(t)g{t) - f x,i' ? a,f * ? t-,f) «,*„,_, + |в силу B)] = ? im f) a)Xm^ = ? m=0 j=0 т=в где коэффициенты cm определяются по коэффициентам в, и первым к чле- членам последовательности (хп). Итак, F(t)g(t) = <?(*), Где Q(t) -— многочлен степени не выше к - 1; поэтому F(t) = ^ — правильная рациональная дробь. Дальнейший ход наших выкладок будет следующим: мы представим F{t) в виде суммы простейших дробей, запишем разложения простейших дробей по степеням переменной t, после чего по виду полученного ряда для F(t) будет ясен характер зависимости хп от п. Пусть характеристический многочлен /(А) имеет s различных (-ком- (-комплексных) корней: Ai кратности гх, .... А, кратности г,:
106 Тогда g(t) ш г* • UUiij ~ W' m ULi(* - V)fl- Как известно из алге- алгебры, разложение правильной рациональной дроби со знаменателем g(t) на простейшие дроби имеет вид где А,} — некоторые константы. Применив биномиальное разложение, по- получим: A - At)"' = 1 + jr ("•?')("•? ~ *) • ¦¦ (-3~п + !) (_д^п _ п=1 П- Таким образом, а г% оо с» а г, Mi + ? c?i-iA?o - г. + ?(? л,- Е А,3с-+\_х)е, или, поскольку Cj+n_i — многочлен от п степени j -1 (при фиксированном J), П=1 1=1 где Р,(п) — некоторый многочлен степени не выше г, — 1 (г = 1,..., $). Мы доказали, что общий член последовательности, удовлетворяющей линейному рекуррентному соотношению fc-ro порядка, имеет вид 1=1 где для i ss 1,...,п Л,— корень кратности г, характеристического мно- многочлена рекуррентного соотношения, Р,(п) — многочлен степени, н<> пре- превосходящей г, — 1. Конкретный вид указанных мшл очленов определяете я первыми к членами последовательности: хв, xi,..., Xk-i- В частности, если все корни характеристического многочлена — простые (т.е. кратности 1), то последовательность (хп) представима в виде суммы геометрических про- rpet сии: где с, — некоторые константы. Раггмогрим несколько примеров
Комбинаторика 107 1) Последовательность чисел Фибоначчи задается соотношениями х„ = 0, хг = 1, Vn € ЛГ0 хп+2 = хп+х + хп. Составим характеристическое уравнение: А2 — Л — 1 = 0. Его корнп ^^; формула общего члена: Коэффициенты ci и cj определим из "начальных условий5": хв = cj + с2 « 0, Zj = ci—-— + с2—-— = 1. Решив систему двух уравнений с двумя неизвестными, получим окон- окончательный результат: 2) Найдем все последовательности, удовлетворяющие условию Vn e Ne хп+2 - 2жп+1 - х„. C) Характеристическое уравнение Аг - 2Л + 1 = 0 имеет двукратный ко- корень: Л] у2 = 1- поэтому общий член последовательности имеет вид: хп = (an + 6) • ln = an + 6, где константы а а Ь определяются первыми двумя членами последовательности. Таким образом, (хп) — арифметическая прогрессия. Этот результат можно было пред- предвидеть, заметив, что соотношение C) является характеристическим для арифметической прогрессии: каждый член последовательности, начиная: со второго, есть среднее арифметическое его соседних чле- членов 3) Найдем последовательность (хп), задаваемую соотношениями *о = 1, Xi = 3, х2 = 6, Vn € ЛГ0 х„+3 = ixn+2 - 5xn+i + 2х„. Разложим характеристический многочлен иа множители: Л3 - 4Л2 + 5Л - 2 = (А - 1J(А - 2). Вид тг-го члена последовательности: х„ = (an + 6) + с • 2". Константы а, Ь, с найдем нз системы уравнений хо-Ь + с-1; Xi да a +* + 2св3; хг - 2в + Ь + 4сas6. Ответ: х„ = п + 2".
Глава 6 Теория Пойа 6.1. Цикловой индекс группы подстановок Пусть 5 — п-элемешное множество. Подстановкой на множестве S назы- называется взаимно однозначное отображение S на себя. Образ элемента s € 5 при действии на него подстановкой тг : S будем обозначать жз. Тождественная подстановка ? переводит каждьп элемент S в себя: Vs € 5 ев ев s. Произведением 7Г]7Г2 подстановок жг и 7Г2 на множестве S назовем их компо- композицию — подстановку, определяемую последовательным выполнением дан- данных подстановок: Vs € S Операция умножения подстановок обладает свойством ассоциативности: Действительно, (иТ2)(я"э3) = JTi(jr2(JTjs)); ^(^Жз) = Ti(T2(fs*))> и> значит. Естественным образюм теперь определяется (натуральная) степень подста- подстановки. Если некоторое множество подстановок на 5 • замкнуто относительно операции умножения; • содержит тождественную подстановку; • вместе с каждой подстановкой содержит ей обратную, то оно образует группу, в которой умножение подстановок является (груп- (групповой) бинарной операцией, а в роли нейтрального элемента выступает тождественная подстановка е. Самой "бедной" (по числу ее элементов) является группа, содержащая лишь е. Самая "богатая" группа содержит
Теория Пока 109 все подстановки на множестве S, их число совпадает с числом перестано- перестановок п элементов я равно п!. Такую группу называют симметрической и обозначают Sn. Зафиксируем некоторый элемент s (Е S и рассмотрим пос ледова те чь ность S, 7TS, 7T2S, JT3S, . . . I 1 i Данная последовательность не может содержать бесконечное чпсло различ- различных элементов ввиду конечности множества S. Первый элемент, который повторно встретится в последовательности, есть s (если бы это было не так, и подобным свойством обладал элемент г =, n}s, j € Лг. то элемент j при подстановке п был бы образом двух различных элементов: nJ~^s и эле- элемента, предшествующего второму появлению г в последовательности A). что противоречит взаимной однозначности отображения тг). Наименьшее (натуральное) число к такое, что itks = s, называют порядком, элемента s. Последовательность s,7rs,7Гг«,...,nk~1s называют орбитой (или циклом) элемента s. s а Элементы орбиты циклически переставляются подстановкой ж. Возьмем какой-нибудь элемент, не входящий в орбиту s (если, конечно, такой эле- элемент существует, что будет в случае, когда орбита s не исчерпывает всего множества 5); он порождает свою орбиту, не имеющую общих элементов с орбитой *. Если при этом остались элементы множества 5, не вошедшие в построенные орбиты, то можно указать еще одну орбиту и т.д. В ре- результате множество S разбивается на непересекающиеся орбиты (каждая подстановка задает, вообще говоря, свое разбиение S). Длиной орбиты называют число ее элементов. Если подстановка разби- разбивает множество 5 на fct орбит длины 1, кг орбит длины 2, ..., кп орбит длины п, то говорят, что подстановка имеет man (кг, кг,... к„). Сумма длин всех орбит равна числу элементов множества 5 : ?!*_] l*i *= "¦ Цикловым индексом подстановки называют одночлен х^хр ...х*", где (?ь к2,..., к„) — тип подстановки. ^ Цикловым индексом группы подстановок G называют среднее арифме- арифметическое цикловых индексов ее элементов: Р()'???>?
Рассмотрим несколько примеров. 1) Тождественная подстановка е порождает п орбит длины 1, поэтому ци- цикловой индекс группы, состоящей только из тождественной подста- подстановки равен: Р{с){хи...,Хп) =Zj. 2) Для нахождения циклового индекса симметрической группы Sn. найдем число подстановок, имеющих тип (кг, kt,..., к„). Рассмотрим запись разбиения п-элементного множества на орбиты сначала кг пар скобок для записи одноэлементных орбит, затем к2 пар скобок для записи 2-элементных орбит и т.д. На имеющихся внутри всех скобок п позициях п элементов можно расставить п! способами; при этом получающимся записям будут соответствовать подстановки указанного типа. Однако одной и той же подстановке будет соответ- соответствовать, вообще говоря, несколько записей. Подсчитаем, сколько. Каждая орбита длины г в пределах данных скобок может быть запи- записана i способами (на первое место можно поставить любой элемент орбиты, заполнение остальных мест после этого определяется одно- однозначно). Например, 3-элементную орбиту а —* Ъ —¦ с _—+ а можно записать тремя способами: (а,6,с), (Ь,с,а), (с,а,Ь). Скобки, соответствующие орбитам длины г, можно переставить fct! способами. Значит, семейство орбит длины t может быть представлено »*• ¦ к,\ способами. Поэтому общее число способов записи подстановки типа (Jki,..., кп) равно fllLi ik'k,l, а количество подстановок указанного ти- типа — п\/ ПГ=1 ik'ktl. Учитывая, что |5„| = п!, получим выражение для циклового индекса симметрической группы где суммирование ведется по всем решениям уравнения kt + 2кг + ... + як,, = п в неотрицательных целых числах. 3) Каждое самосовмещение многоугольника или многогранника задает не- некоторую подстановку на множестве его вершин (а также ребер или
Теория Яойа Ш граней). Нетрудно видет*, что если некоторые самосовмещения обра- образуют группу, то тем же свойством обладают и соответствующие им подстановки на множестве вершин (ребер или граней). Найдем цикловой индекс группы подстановок вершин тетраэдра, по- порожденных его вращениями. Вращение тетраэдра вокруг его высоты на 120° в любом направле- направлении задает подстановку на множестве вершин, имеющую тип A,0,1,0) (вершина, через которую проходит высота, при вращении остается на месте, образуя орбиту из одного элемента, три другие вершины ци- циклически переставляются, образуя орбиту длины 3). Всего имеем 8 таких вращений тетраэдра и соответственно 8 подстановок, имею- имеющих цикловой индекс х\х\. Вращение тетраэдра на 180" вокруг прямой, соединяющей середины противоположных ребер, порождает подстановку типа @,2,0,0) (кон- (концы каждого из указанных ребер меняются При повороте местами, образу* 2-элемеитную орбиту). Поэтому в группе подстановок име- имеется три подстановки с цикловым индексом х\. Учтя, наконец, тождественную подстановку, имеющую цикловой ин- индекс х\, запишем цикловой индекс рассматриваемой группы; Ра(х1,хг,ха,х4) = — (8хгх3 + 3х22 + х\). 6.2. Лемма Бернсайда Пусть 5— конечное множество, < G, • >— конечная группа, каждому эле- элементу д которой поставлена в соответствие некоторая подстановка тгд, дей- действующая на множестве 5. Пусть данное соответствие является гомомор- гомоморфизмом: О гметим, что при этом нейтральному элементу группы е € G будет соот- вгтгтвовать тождественная подстановка е, а элементу, обратному к произ- произвольному элементу д. — подстановка, обратная к л^. Действительно, с одной стороны, V? g G тге, = тг,. С другой стороны d силу гомоморфизма, кгд — тг,, • жд. Значит. V.9 eG тге • тг = тг
что говорит о том, что ffe— тождественная подстановка: тге = е. Второе утверждение доказывается с помощью следующей цепочки выкладок: откуда получаем jr9-i =e (я-,). Назовем элементы «i и «г множества S эквивалентными (s\ ~ s^), если найдется такой элемент д € <?, что отвечающая ему подстановка т, пере- переводит S\ в вг: Tjei — S2- Докажем, что введенное отношение на множестве S, оправдывая свое название, действительно являете* отношением экви- эквивалентности. Рефлексивность. Vs € S s ~ s. Действительно, так как тге = е, то для любого s € S 7rf s = s. ь. Если Si ~ вг, то «2 ~ «i • Для доказательства этого утверждения заметим, что если для не- некоторого д € G VyS\ = Si, то st = Grg)~1s2 * ws-is2, и, значит, ь. Если si ~ s3 и «2 ~ s3, то «! ~ В самом деле, если %Si =* «г и 7Гт«2 = «з» то - S3, Т.е. S! ~ в3- С помощью введенного отношения множество 5 разбивается на классы эквивалентности, будем называть их транзитивными множествами. Пример. Пусть 5 — множество всех раскрасок вершин тетраэдра в к цветов: 5 = {(а1,а2,а3,а4)\а, € C},|Cj = к (а, цвет i-й вершины. С — множество цветов); G — группа вращений тетраэдра. При вращении тетраэдра его вершины меняются местами, в результате чего одна раскрас- раскраска переходит в другую, т.е. каждому вращению тетраэдра соответствует некоторая подстановка на множестве раскрасок. Транзитивное множество в данном случае составляют такие раскраски, которые могут быть получены одна пз другой в результате некоторого вращения тетраэдра. Раскраски, входящие в разные транзитивные множества, — существенно различны. поскольку не переходят друг в друга одним лишь вращением тетраэдра. Число транзитивных множеств, иа которые разбивается множество S отношением, определяемым группой G. обозначим 7b(S). Элемент s?5 называется инвариантным относительно подстановки -_.. если подстановка zg "оставляет s на месте" (т.е. переводит * в s!: гг,,.ч =
Теория Дона ИЗ s. Пусть 1(д) — число элементов множества S, инвариантных относительно подстановки жд: 1(9) = К» € S\ir,s = ,}|. Теорема 6.1. (Лемма Берясайда; 1911 г.) Доказательство. Стабилизатором элемента s назовем множество всех эле- элементов д € G таких, что s является инвариантным относительно соответ- соответствующих им подстановок: G. = {д 6 С|*,в = в}. Докажем, что для любого элемента * < G3, ¦ > — группа. Проверим выполнение всех аксиом группы. 1) Замкнутость. Пусть gi,gi € G,. Тогда ж^з = s, ж^з = s и ""si»8 - я-„я-„в в тя« = 5, т.е. дхд2 € G,. 2) Л cco^uamuawocmb имеет место " по HacneacTBy", поскольку это свойство выполняется для элементов G, чьим подмножеством является G3. 3) Существование нейтрального элемента. Как было отмечено, для ней- нейтрального элемента е группы G подстановка же является тождествен- тождественной: же — ?, т.е. Vs e S же$ ss es = s; значит, e6G, для любого я. 4) Существование обратного элемента. Пусть д ? Gj. Докажем, что д~1 6 Gs. Действительно, так как s = я-,в, itg-iS — Жд-1Жв8 = 5Tg-lgS = TteS =? ?S =s S. Подсчитаем двумя способами р = |{(p,s)|5 € G,s ? S,fl-Ss = s}| — число пар ({?, s) таких, что элемент s С S инвариантен относительно подстановки itg. С одной стороны, р = ??6С |{s 6 5|я"9« = s}\ в= JDseG /E). С другой стороны, р = E.esKff € Gfrgs - s}\ = ?,6S|G.|- Дл* Доказательства теоремы теперь достаточно найти сумму мощностей стабилизаторов всех элементов множества S. Пусть О(а) = {s' € S\s' ~ s} — транзитивное множество, содержа- содержащее элемент s Ключевым моментом при доказательстве леммы Бернсашы является следующее соотношение между мощностями стабилизатора эле- элемента и транзитивного множества: Vs€S |G,| • \O(s)\ = \G\.
Докажем «го. Пусть *' — произвольный элемент из O(s); тогда s' экви- эквивалентен $, т.е. JhjL некоторого элемента h € G ^s' = s. Так как, в свою очередь, s 4i а', существуют элементы д € G, для которых 7rga = s'. Подсчитаем, сколько их. Поскольку s » nh8' = 7r*JTgs = KhgS, hg € G,. Покажем, что справедливо и обратное. Если hg ? G,, то u>,(ffgs) = в. Отсюда, в силу того, что я>,а' = s и 7Га— подстановка (взаимно однозначное отображение S на себя), следует: 7гдв ss «', что и требовалось. Итак, 7гда = s' тогда и только тогда, когда hg & G,- Пусть стабилиза- стабилизатор G, содержит m элементов: G, =¦ {д\, 32,..., дт}. Соотношени* Л^ = s> равносильно д as Л"'^, и задает взаимно однозначное соответствие меж- между множеством {д € G^a = s'} и стабилизатором Gs. Таким образом, искомое число равно т — мощности стабилизатора. Мы выяснили, что ровно т = \G,\ элементам группы G отвечают под- подстановки, переводящие s в s' — фиксированный элемент транзитивного множества O{s). Так как каждому элементу G соответствует подстановка, переводящая s в некоторый элемент O(s), отсюда следует: \G\ = \O(s)\-\Gs\. Таким образом, \G,\ = jofijl- Значит, мощности стабилизаторов элемен- элементов, составляющих транзитивное множество, равны между собой. Легко найти их сумму: ? КМ- Е ШГ1°1 Общая сумма мощностей стабилизаторов всех элементов S равна произве- произведению jGj на число Транзитивных множеств Tq(S). Заключительный аккорд: откуда и вытекает утверждение теоремы. Прямер. Подсчитаем число существенно различных раскрасок вершин тетраэдра в к цветов. Группа вращений тетраэдра G состоит из 12 эле- элементов (см. §3.6). /(<?) в данной задаче означает число раскрасок, которые ие меняются при вращении д. Для нейтрального элемента группы имеем: 1{е) — \S\ = к*. При повороте тетраэдра на 120" вокруг его высоты рас- раскраска не изменится в том и только в том случае, когда все вершины о< но- ванНЯ покрашены в один цвет (вершина, через которую проходит вькотн. может быть любого цвета). Каждая такая раскраска (при фиксированной высоте) задается гцветом основания" и цветом вершины; поэтому коли- количество таких раскрасок равно к2. При повороте тетраэдра на 180" вокруг
Теория Пойя 115 прямой, проходящей через середины скрещивающихся ребер, раскраска ве изменится тогда и только тогда, когда концы каждого из этих ребер по- покрашены в один цвет. И в этом случае 1{д) = А:2. Таким образом, применив лемму Бернсайда, получим • Ответ: число существенно различных раскрасок вершин тетраэдра в к цветов равно ±(к* + Ilk2). Полетным упражнением на развитие комбинаторного мышления б\дет решение данной задачи "в лоб" (непосредственным подсчетом). 6.3. Функции и классы эквивалентности Пусть RD — {/ : D -* R} — множество всевозможных функций с областью определения D и принимающих значения из множества R. где R и D некоторые конечные множества. Каждую такую функцию можно отожде- отождествить с размещением с повторениями из |К| элементов по |?>[; Поэтому |ДВ| = |Д|'°' (этим фактом и объясняется введенное обозначение). Пусть G — группа подстановок, действующих на множестве ?>. Назовем функции /) и /г из RP эквивалентными (/, ~ /г), если для некоторой подстановки д € G fi(g) e /j, т.е. Vd € D h{9{d)) = №)¦ Докажем, что введенное отношение на множестве RD, оправдывая свое на- название, действительно является отношением эквивалентности. Рефлексивность. V/ ? RD / ~ /. " Действительно, так как G — группа, то тождественна! подстановка Симметричность. Если /] ~ /г, то /г ~ /i- Для доказательства этого утверждения заметим, что если подстанов- подстановка д принадлежит G, то и обратная ей подстановка д~х является эле- элементом G; дальнейшее рассуждение очевидно. Транзитивность. Если Л ~ /г и Д ~ /j, то /j *<* /j. В самом деле, если /1E1) = /г и /2(<fc) = f», то /i($j0j) = /s, т.е. Каждому элементу г множества Л придадим некоторый вес ш(г). Вес — это элемент некоторого коммутативного кольпа; например, число или пе- переменная:. Весом функции f € RD назовем произведение весов образов всех
116 элементов множества D при отображении / : w(f) = П Пример. Пусть D — {1,2,3,4} — множество верщин тетраэдра; R - {синий, красный, зеленый, белый} ss {с, к, з, 6} — множество цветов. То- Тогда RD — множество всевозможных раскрасок вершин тетраэдра в ука занные пвета.С помощью G — группы подстановок вершин, возникающих в результате вращений тетраэдра, множество RP разбивается на классы эквивалентности. Класс эквивалентности составляют раскраски, перехо- переходящие друг в друга в результате вращений тетраэдра, такие раскраскл будем называть также геометрически неразличимыми. Например, с точно стью до геометрической неразличимости существует ровно одна раскраска при которой три вершины — белые, а одна — красная.'Каждому элементу множества R придадим вес: w(c) = x,w(k) — у,ги(э) = z,wF) =s t. Bc< упомянутой выше раскраски равен i?y. Теорема 6.2. Эквивалентные функции имеют одинаковый вес: если /, ~ h, то W(fr) . W(f2). Доказательство. Если /i ~ /а, то для некоторой подстановки 9 € G fi(g) = /2. Вес функции /i равен mil) = П «к/iW) = П »(шт- Последнее равенство имеет место в силу того, что g— подстановка: если d пробегает По всему множеству D, то и с = g(d) обладает тем же свойством Продолжим выкладки: ты = П »(ш<9)) = п »(/2(«о) = w(f2), d?D d€D что и требовалось доказать. Теперь становится корректным следующее определение. Весом клаи<1 эквивалентности называется вес любой функции из этого класса: если Г — класс эквивалентности и / е F, то W(F) - W(f). Заметим, что и у неэквивалентных функций могут совпадать веса. В качестве примера укажем для выше рассматривавшейся задачи две неэкви- неэквивалентные раскраски одинакового веса: /A) = с, /B) * к, /C) * з, /D) = б; ЛA) « с, ЬB) * к, ЛC) = б, АD) = з.
Теория Пойа 117 Инвентарем множества называется сумма весов его элементов: invR = ^Г м>(г). Поскольку определены веса функций, а также классов эквивалентности функций, то можно говорить об инвентарях соответствующих множеств. Докажем, что invRD = (invR)w. A). Пусть wi,wi,...,w\r\ — веса элементов множества |й|. Если раскрыть скобки в произведении не приводя подобные и не меняя порядок множителей, то получим сумму вида: (mv#)|?>! = wiWi,..wl+ wiwi...w-i + ... + и']д|Ш)я|...тощ. B) Выбор члена из каждой скобки при образовании одного члена разложения B) можно рассматривать как функцию / : D —* Л, тогда сам член B) будет ее весом; в сумме B) каждое слагаемое есть вес некоторой функции из RD\ при этом для каждой такой функции в сумме найдется ровно од- одно соответствующее ей слагаемое. Таким образом, полученная сумма есть инвентарь множества RD. Для дальнейшего нам будет полезно следующее обобщение только что доказанного утверждения. Пусть Di,D?,....,Di, — разбиение множества D на it подмножеств; S — множество функций, постоянных на каждом подмножестве. Тогда lY, C) i г€Й Заметим, что если для любого » |Д) = 1, то C) перехсщят в A). Раскрыв скобки в правой часта C), получим сумму всевозможных произведений вида •f !..?«.....«?« D)
где (м, ц, •••,**) — размещение с повторениями из множества {1,2 , \R\}- Пусть функция / € S на элементах множества D, принимает значение г\п и w(r[})) = ш,(/) (* = 1,2 к). Тогда W(f) = (^)^l - («,<«)№! •... .(v,lf)yD*K E, где (w\ ,w2 ,...,wl'') — размещение с повторениями из множеств, {wi,w2,- ¦ .,1И|я|}. Таким образом, сумма всевозможных произведений D совпадает с суммой весов всех функций из S, что и требовалось доказать 6.4. Теорема Пойа Пусть D и R — конечные множества, G - - группа подстановок элементов D, с помощью которой множество функций RD = {/ : R —» D) разбива- разбивается на классы эквивалентности (fi ~ /г, если 3</ € G /i(<?) = /2). Пусть элементам г ? R приписаны веса w(r) (элементы некоторого коммутатив- коммутативного кольца). В предыдущем параграфе указано, как задается вес функции W(f) и вес класса эквивалентности W(F). Теорема 6.3. (Д.Пойа, 1937 г.) Сумма весов классов эквивалентно- эквивалентности равна ? W(F) = Ра{? »(г), ? шг(г), ^ w\r),...), /¦ гея г«д рея г(?е Pg — цикловой индекс группы подстановок G. Прежде, чем доказывать саму теорему, укажем на ее простое Следствие. Число классов эквивалентности равно Pc(|i?|, \R\, |Д|,...). Дейетвительно,если положить вес каждого элемента R равным 1, то и вес каждой функшш, п, значит, каждого класса эквивалентности будет равен 1; поэтому сумма весов всех классов эквивалентности будет равна их числу Доказательство теоремы Пойа. Пусть Sw — множество функции имеющих вес w: Sv = {/ € RD\W(f) = w}. Обозначим через Iw(g) число функций веса w, инвариантных относительно подстановки g € G, т.е. таких, что W(f) — wa.fg = f. Тогда Е
Теория Пойа 1 Докажем, что число классов эквивалентности для множества Sw равно Доказательство основывается на лемме Бернсайда. Если / 6 ?„,, то дл произвольной подстановке д (~ G фуякпия /<?' также имеет вес zr (ввил эквивалентности fg~l~ /; как было доказано а предыдущем параграфе эквивалентные функции имеют одинаковый вес). Следовательно, подст^ новка д, действующая на множестве D, задает подстановку функций и множества Sw; обозначим ее яя: *,f - f9'1- Нетрудно убедиться в том, что соответствие д —* тг3 является гомомор- гомоморфизмом. Действительно, для любой функши / то есть ж^д, =» y^ffj,. Осталось заметать, что отношения эквивалентно- эквивалентности, порожденные на множестве Sw подстановками д (действующими на множестве D) и подстановками ж$ (действующими на самом множестве Sw), совпадают; а инвариантность функции / относительно д означает ее инвариантность относительно ж, (fg а ¦/ «=^ / = fg~l <?&$¦ / = vsf). Теперь непосредственное применение леммы Бернсайда дает B). Зная число классов эквивалентности Nv для любого (фиксированного) веса mj, запишем соотношение для суммы весов всех классов эквивалентно- эквивалентности: ? W{F) = ? wN. * Z ^ ? '-(*) • F F vi w Г-*\ дйС l^ Применив A), получим: ХХ^-йгЕ Е Как отмечалось в параграфе 6.1, подстановка д разбивает множество D на орбиты, элементы которых циклически переставляются данной подстанов- подстановкой. Если fg — /, то на каждой такой орбите функция / постоянна. id eD Kd} = fsld) = f(gd) = ftfd) = f(g3d) = ...
120 Верно а обратное. Пусть функция / постоянна на каждой орбите, поро- порожденной подстановкой д. Тогда для любого элемента d € D /(«О - /(д(«0), что означает: / = fg. Таким образом, множество функций, инвариантных относительно д, со- совпадает с множеством функций, принимающих постоянные значения на орбитах, порожденных подстановкой д (обозначим их Di,..., X)*). Поэтому можно применить соотношение C) нз предыдущего параграфа: Если подстановка д имеет тип (fci, к2,.. •) (т.е. среди орбит D, кг орбит дли- длины 1, fcj орбит длины 2 и т.д.), то, перегруппировав множители в последнем произведении, получим: Найденное произведение можно рассматривать как результат замены пере- переменных х,, 1г,... в цикловом индексе подстановки 9* равном ж^х^ ..., зна- значениями сумм соответствующих степеней весов элементов г € Д. Таким образом, согласно C) сумма весов классов эквивалентности есть среднее арифметическое (по множеству G) цикловых индексов подстановок д ? G при указанных значениях переменных х\, хг,...: ? w(F) = pG(Y. •"(•¦), Е ™2@> ? «АО, • • •) F г€Я г€Д гбй Теорема доказана. 6.5. Примеры В этом параграфе теорема Пойа будет применена к решению ряда комби- комбинаторных задач. 1. Начнем с задачи о числе существенно различных раскрасок вершин тетраэдра в k цветов (решенной ранее с помощью леммы Бернсайда) Здрсь D — множество вершин тетраэдра; R — множество цветов, \R\ = fc;
Теория Лота 121 G — группа подстановок вершин тетраэдра, порожденных вращениями тетраэдра; RD — множество раскрасок. Класс эквивалентности в множестве RD составляют раскраски, которые переходят друг в друга в результате вращений тетраэдра. Ташш обра- образом, задача сводится к подсчету числа классов эквивалентности. Цикло- Цикловой индекс грушш G был найден в параграфе 6.1: Pe(xi,X2,x3,X4) = ±(х\ + SxiXi + За:*). Применив следствие аз теоремы Нойа, получим тот же ответ, что я ранее (си. параграф 6.2): ^(к* +• Ilk2). Заметим, что применение теоремы Плйа позволяет найти не только об- щее число существенно различных раскрасок, во в определить число таких раскрасок при фиксированном распределении цветов. Если известно, какое количество вершин каким цветом Должно быть покрашено, то тем самым задав вес раскраски. Коэффициент ш инвентаре (сумме весов) классов экви- эквивалентности нри соответствующем весе И есть искомое число. 2. Задача о перечяслешш изомеров органических молекул за- заданно* структуры ({19})(см. рис.), х X, i Л, . -У 111 \j г* где С — атом углерода, а места, обозначенные крестиками, могут зани- занимать метил (СН3), этил (С2#5), водород (Я) и хлор (С1). Математиче- Математическая модель этих молекул — тетраэдр, в дантре которого расположен атом углерода. Расположение в вершине тетраэдра определенной группы атомов будем считать покраской вервшаы в определенный цвет (один из четырех). Таким образом, задача сведена к предыдущей (при к =* 4). Общее число молекул равно ^D4 + 11 • 4*) — 36. Для того, чтобы подсчитать число молекул с фиксированным числом атомов водорода, положим: ш(Я) ~ х, w(Cl) * w(CH3) * u/(C2#5) = 1. Тогда вес молекулы с а атомами водорода будет равен х'. Применяя теоремл Пойа, найдем инвентарь множества изомеров молекул: Ра(х + 3,г2 + 3, х3 + 3) = х* + За;3 + 6х2 + Их + 15. Значит, существует 1 молекула СИц (метан), 3 молекулы с 3 атомами Н 6 молекул с 2 атомами Я, 11 молекул с 1 атомом Н, 15 молекул беэ атома Я.
122 3. Задача О компостере. Компостером назовем двоичную матри- матрицу 4 х 4. Здесь D — множество позиций элементов в матрице. |JDj = 16, R = {0,1}. Груши G подстановок множества D определяется группой са- мосовмешений квадрата (см. §3.6) и состоит из 8 элементов. тождественная подстановка е (порождающая 16 единичных орбит; ее ци- цикловой индекс (ц.и.) xje); две подстановки, соответствующие поворотам иа 90° по и против часовой стрелки D орбиты длины 4; цикловой индекс каждой из подстановок подстановка, соответствующая центральной симметрии (8 орбит длины 2; Ц.и. *!); две подстановки, соответствующие осевым симметриям относительно вертикальней и горизонтальной осей (ц.и. хХ)\ две подстановки, соответствующие симметриям относительно диагоналей D элемента остаются на месте, остальные разбиваются на пары; ц.и. х\х\). Цикловой индекс группы G равен Pc(xltx2,...) = hx\* + 2х\ + 3s* + 2х\х\). о Если отождествить компостеры, которые получаются друг иэ друга ука- указанными преобразованиями1, то число различных компостеров определится так: PGB,2,2,...) ш iBu + 2 ¦ 24 + 3 • 28 + 2 • 24 • 2е) = 8548. о Если читателю задача о числе компостеров кажется неактуальной, то мож- можно указать иа сводящуюся к ней задачу о фотошаблонах рисунков соеди- соединений интегральных схем (чипов). 4. Задача о числе ожерелий. Имеется неограниченный запас буси- бусинок к цветов. Сколько можно составить различных ожерелий из п бусинок -'Практическая задача, которой соответствует описываемая математическая поста- постановка, очевидна множеству D отвечают места возможных дырок, которые пробпвдой реальный компостер: 1@) отвечает наличию (отсутствию) дырки в соотв<Т1ТВ\ющеМ месте, наконец, эквивалентные компостеры характерны тем что по пробитому абоне- абонементу невозможно определить, на каком из них он был прокомпостирован
Теория Пойа, 123 (ожерелья, получающиеся друг из друга плоскими вращениями, не будем различать)? Считая, что бусинки располагаются в вершинах правильного п- угольника, сведем задачу к задаче о числе геометрически различных (т е не получающихся друг из друга вращениями в плоскости) раскрасок вершин правильного п-угольиика в к цветов. При этом D множество вершин. R — множество цветов, |Р| = п, \Щ = к, RD - множество рас- раскрасок. Отношение эквивалентности на множестве RD задастся с помощью G — группы подстановок вершин, порожденной вращениями правильного n-угольника; \G\ — п (см. §3.6). Пусть G = {gii9ii'--tSn)i где 9) — подставоюка, возникающая в ре- результате поворота на угол ^j (j * lT... ,n) (в частности, тождествен- тождественная подстановка е - дп). Тогда, если отождествить вертиву с ее номером: D = {1,2,..., п} (номера проставляются во порядку против часовой стрел- стрелки), то подстановка д} описывается соотношениями: i+j-n , если i -f j > п. Подстановка д} сводится к увеличению номера вершины на j но модулю п: Vi,_; g}(t) s г + j(modn). Длину орбиты произвольного элемента можно найти как наименьшее натуральное число к, для которого kj делится на п. Еслв (n,j) — наибольший общий делитель j и п, то j ж ji(n,j), n = ni(nij)i гДе Зг Hni — взаимно простые числа. Поэтому kj * fc/i(n,j) делит- делится на п = ni(n,)) тогда и только тогда, когда к делится на пь наименьшее натуральное к с таким свойством равно щ ж г~. Итак, при повороте на угол 2?j все орбиты имеют длину т^Ц. стало быть, число орбит равно (л,}). Запишем цикловой индекс группы подстановок: По следствию из теоремы Пойа общее число раскрасок N выражается фор- формулой JV = i X)"=i fc(nj). В полученной сумме показатели степеней к прини- принимают значения делителей числа п. Несложно видеть, что общее количество чисел из множества {1,2,..., п}, для которых их наибольший делитель с п равен d, где d\n, совпадает с количеством натуральных чисел, яе пре- превосходящих число j и взаимно простых с ним, т.е. с vKy)*(V — фуякпдя Эйлера). Таким образом,
124 Замечание. Задача не слишком усложнятся, если не отличать друг от друга также ожерелья, переходящие друг в друга в результате выполи** ния осевых симметрии; вместо группы вращений правильного п-угольниад нужно будет рассматривать группу его симметрии. В [23] показана связь задачи об ожерельях с проблемами кодирования «-буквенное слово синхронизируемого кода, использующего алфавит из тй символов, можно рассматривать как ожерелье с п бусинками m различных цветов.
Глава 7 Введение в теорию графов Короткая историческая саранка. Историки математики считают, что теория графов родилась в 1736 г., когда Леонард Эйлер решил задачу о кенигсбергских мостах (см. §7.5). В середине 19 века Г.Кирхгоф ввел по- понятие дерева (§7.6) и применил его для исследования электрических цепей. Тогда же А.Кэли использовал аппарат деревьев, описывая строение угле- углеводородов. 6 настоящее время теория графов переживает период бурного разви- развития, находя себе применение при решении многочисленных задач науки и техники. 7.1. Определения и примеры Простым графом называется упорядоченная пара G =*< V,E >, где V — непустое конечное множество (элементы V — вершины графа); Е — конечное множество неупорядоченных пар различных элементов V (элементы Е — ребра1 графа). Графы удобно представлять рисунками, в которых вершины изображаются точками, а ребра — линиями, соединяющими соответствующие точки2. Например, на рисунке Ъ d изображен простой граф с множеством вершин V = {а, Ь, с, d, e} и множе- множеством ребер Е = {{a,b},{a,c},{b,c},{c,d}}. Граф — упорядоченная пара G =< V, Е >, где 1 Поясним выбор обозначений для множеств вершка в ребер. Оо-алглинскм Кришна — vertex, ребро — edge -'Сам термин граф возник как сокращение слом graphic (график) ч.5ыл введен » 1936 г венгерским математиком Д.Кенигом.
V — непустое конечное множество (алементы V — вершины графа); Е - - конечное семейство неупорядоченных пар элементов V (необязател* но различных) (элементы Е — ребра). Термин семейство говорит о том, что элементы в Е могут повторяться повторяющиеся элементы называют кратными ребрами. Если в графе имеется ребро е = ttv, то говорят: вершины и и II — смежные, или ребро е инцидентно вершинам и и v; вершины % и v инцидентны е, или ребро е соединяет вершины и я v, или вершины и в v — концы ребра е. Два различных ребра называются смежными, гели они имеют по крайне мере одну общую вершину. На рисунке d изображен граф с множеством вершин V = {а, Ь, с, d, e} и семейством ребер Е : ab, ас, ас, Ьс, ЬЬ, cd. Ребро вида ии (соединяющее некоторую вершину саму с собой) называ- называют петлей. Таким образом, простой граф — это граф без петель и кратных ребер. Ориентированный граф — упорядоченная пара G =< V, А >, где V — непустое конечное множество — множество вершин; А — конечное семейство упорядоченных пар элементов V (необязательно различных) — семейство дуг3. На рисунке 3Л — первая буква слова are — дуга (англ.).
Введение в теорию графов 127 рображеи граф с множеством вершвв V s* {a,b,c,d,e} и семейством дуг (a,6),(a,c),(c,a),F,c),(b,6),(c,d). К ориентированным графам мы «рнемся лишь в конце данной главы. Степенью вершины графа называется число инцидентных ей ребер. 1ри подсчете степени вершины петлю будем учитывать дважды. Обозна- Обозначение степени вершины v : /»(«). Вершина v называется изолированной. «ли p(v) — 0, и висячей, если p(v) — 1. Имеет место следующее простое гтверждение. Георема 7.1. (Лемма О рукопожатиях) Сумма степеней всех вершин графа равна удвоенному числу ребер: ]Г)„6у p(v) — 2\E\. Действительно, каждое ребро дает вклад 2 при подсчете суммы степеней Всех вершин. В частности, если несколько человек обмеиялись рукопожа- |гиями, то общее число руво-пожатий будет четным (графовая модель для Данной задачи очевидна). ¦Следствие. В любом графе число вершин нечетной степени четно. ' Графы C?i =< V\,E\ > ш Gi =< V^^Ei > называются изоморфными, kcim существует такое взаимно однозначное соответствие tp : V\ —* Vi, при котором для любых двух вершин первого графа а, t> € \\ число со- соединяющих их ребер равно числу ребер, соединяющих соответствующие им вершины второго графа <р(и), <p(v). На следующем рисунке изображены изоморфные графы (соответствующие друт другу вершины в них обозна- обозначены одинаковыми номерами). 4 5 6 4 .3 1 Ясно, что в изоморфных графах одинаковое число вершин, ребер (а также петель и кратных ребер). Однако данное условие не является достаточным для томорфности. Два графа, изображенные ниже, не являются изоморфными (хотя бы потому, что в одном графе имеется 'треугольник', а во втором — нет). Отношение изоморфизма графов обладает свойствами рефлексивности симметричности и транзитивности, т.е. является отношением эквивалент- эквивалентности.
Граф G1 =< V, Ш > называют подграфом, графа G **< V, Е > (обо- (обозначение С?' С G), если V С V, В1 С В. Заметим, 4to если C?i и G% — изоморфные графы, то для любого подграфа G\ найдется изоморфный ему граф, являющийся подграфом G2- Порядок графа — число его. вершин. Граф порядка, п называется поме- помеченным, если его вершинам присвоены метки — числа от 1 до п (причем у разных вершин — разные метки). Часто мы будем отождествлять вер- вершину с ее меткой. Матрицей смежности помеченного графа называется матрица А = (<*ц), где а,-; — число ребер, соединяющих вершины г и j. Ниже изображен помеченный граф 5-го порядка и приведена его матрица смежности. Го 2 1 О 2 О 1 1 0 1 1 2 О О О 1 О О 0 О О О О О ) Свойства матрицы смежности 1) Каждый элемент матрицы — неотрицательное целое число. 2) Матрица является симметричной: АТ = А (символ т означает операцию транспонирования). 3) Сумма элементов г-й строки равна степени вершины i: Z, ач = р(г). 4) Пусть А и А' — матрицы смежности изоморфных графов. Тогда най- найдется такая матрица перестановок4 Р, что А' = РАР~1. Первые три свойства очевиден; докажем последнее свойство Пусть <р — функция, устанавливающая изоморфное соответствие между графами G и С с матрицами смежности соотвественно А и А': Сформируем матрицу Р следующим образом: в t строке поставим единицу в yO)'U столбец. Тогда умножение любой матрицы (соответствующей рач- мерноотц) слева на Р приводит к такой перестановке ее строк, что (-й стро- строкой становится строка с номером ^@ матрицы A (i = 1 п. п порядок 4 Матрица перестановок — матрица, в каждой строке и каждом столон** которой на холип s ровно по одной единипе. а остальные элементы нули
Введение в теорию- графов 129 графа). Легко проверить, что матрица, обратная к матрипе перестановок, совпадает с транспонированной к ней: Р = Рт ¦ Умножение матрицы справа на Рт приводит к такш перестановке ее столбцов, что j-m столбцом становится столбец с номером <p(j) данной матрицы (j = 1,..., п). Таким образом, число, стоявшее в t-й строке и j-м столбце матрицы А, будет на- находиться в <р(»)-й строке и <fi{i)-u столбце матрицы PAP (i, j = 1,..., п). В силу A) отсюда и вытекает требуемое: А' » РАР~1. Реберным графом L(G) графа G называется граф, множество вершин которого находится во взаимно однозначном соответствии с множеством ребер G, прячем две вершины в L{G) смежны тогда и только тогда, когда смежны соответствующие w* ребра графа G. Примеры реберных графов см. на рисунках, 2ЛЗ 4 1 G Gi G i 1 3 1 L(G) b(Ot) где ребра графов G,G\,G% помечены теми же номерами, которые имеют соответствующие им вершины реберных графов. Очевидно, что яз изо- морфности графов вытекает изоморфность их реберных графов. Обрат- ное,вообще говоря, неверно (см. примерыM. Граф, в котором нет ребер, называют пустым. Пустой граф порядка п будем обозначать Nn. Все вершины пустого графа являются изолирован- изолированными. Простой граф, в котором любые две вершины смежны, называют пол- полным. Обозначение полного графа порядка п : Кп. Число ребер в К„ равно /~*2 _ п(л—I) Граф называется регулярным степени г, если степени всех его вершин равны г. Графы К„ и Nn являются регулярными, их степени соответствен- соответственно п-1 и 0. Регулярный граф степени 3 называют кубически*. В частности, кубическим будет граф, вершины и ребра которого соответствуют верши- вершинам и ребрам куба. Кубическим является и граф Петерсена, изображеннын Оказывается, что приведенный контрпример является единственным исключением из свячных графов только Gi и Gj, будучи неизоморфными, имеют изоморфные ребер- реберные графы [27]
на рисунке. Платоновыми графами называют графы, образованные вершинами и ре- ребрами Платоновых тея — правильных многогранников.Все они являются регулярными. Граф называется двудольным, если множество его вершин V предста- впмо в виде объединения' двух непересекающихся непустых множеств Vx и Vlr и пра этом каждое ребро графа соединяет какую-либо вершину яз \] с какой-либо вершиной из Ц. Множества вершин V\ и V2 будем на- называть доляму графа. Заметим, что вершины двудольного графа можно "раскрасить** S Два цвета так, что каждое ребро будет иметь концы раз- разного цвета (а«р>шаны одного цвета будут при этом составлять одну долю). Полным двудольным графом Кя<т называется двудольный граф, в которым доли имеют соответствен») пит вершив, и любые две вершины, входя- входящие в разные доли, смежны. Кп,т содержат пт ребер. Звездным называют граф Kt n. В нем п висячих вершин и одна вершина степени п. На рисунке изображены двудольные графы. к. 3,3 Операции над графами Объединением графов G\ =»< V\,Ei > и Gj =< ^,?2 > называется граф C?i UGj =< Ц UFj, ?1 UEi >- Объединение графов - дизъюнктное, если объединяемые графы не имеют общих вершин: Vi П Ц, = ф. Очевид- Очевидно, что операция объединения графов ассоциативна; поэтому употребление записей вида G^ U G^ U G3 или U,G, не будет приводить к недоразумениям Соединение графов G\ —< V\,Ei > и G? =< Ц, ?г > граф G\ +G->. который получается аз дизъюнктного объединения графов G\ \JG? доба- добавлением всевозможных ребер вида i'i»'2i где t'i ? 11, i-j € \'i- Например. V -i_ V ~~ h~ "Т.е. ка*лой вершине приписать некоторый цвет.
Введение в теорию графов 131 Дополнением к графу G =< V, Е > называют граф G =< V',? >. в котором множество вершив совпадает с множеством вершин исходного графа G, и вершины смежны тогда и только тогда, когда они не смежны в графе G. Например, Т?п = Кп,Кп = Nn. Несложно видеть, что дополнение к дополнению G совпадает с G : G — G. Если граф Gen вершинами рассматривать как подграф полного графа К„, то можно сказать, что граф G получается из К„ выбрасыванием ребер графа G. Отметпм также, что дополнение к регулярному графу есть регулярный граф. Граф называется связным, если его нельзя представить в виде дизъ- дизъюнктного объединения графов и несвязным в противном случае. Любой граф можно представить в виде дизъюнктного объединения связных гра- графов, каждый из которых называют компонентой связности исходного гра- графа. На рисунке граф G^ — связный, граф Gi - несвязный (содержит 3 компоненты связности). Gt G2 Циклический граф — это связный регулярный граф степени 2. Цикличе- Циклический граф порядка п обозначают С„. Граф Wn'~ Nt + Cn_i (n > 3) назы- называют колесом. 7.2. Связные графы Маршрутом в графе называется последовательность ребер вида Каждому маршруту соответствует последовательность его вершин Do, Щ, ¦ ¦¦, vm; i/0 называют качельной вершиной маршрута, a vm ~~ конеч- конечной вершиной; при этом говорят о маршруте из щ в vm. Маршрут удобно обозначать в следующем виде: щ —* г>\ —¦ щ ~** • • • —* "ш- Длиной маршрута называется чиейо уходящих в него ребер. Тривиальный маршрут имеет длину 0 (он не еодер*?ИТ ребер в определяете» начальной вершиной vq). ,
Маршрут называется цепью, если все его ребра различны, и простой цепью, если все его вершины различны, за исключением, может быть, на- начальной и конечной. Если в цепи г>о *= vm, то цепь называют замкнутой. Цикл в графе — замкнутая непь, содержащая по крайней мере одно ребро. Две вершины графа и и v назовем связанными, если в4 графе существует маршрут из и в v. Заметим, что если две вершины связаны, то существует соединяющая их простая депь .Действительно, пусть имеется некоторый маршрут из и в v, не являющийся простой цепью, тогда найдется вершина маршрута w, встречающаяся в нем ие менее двух раз, и маршрут имеет вид: и —>..,—* w —* w\ —+...—* w —*.,.—* v. - Удалив из маршрута участок w\ —+ ... —+ w, вновь получим маршрут из иъ v. Если при этом он не будет простой пенью, То указанную процедуру можно повторить. Бесконечное число раз она выполняться не будет, так как число ребер графа конечно. В результате получим простую цепь из и в v. Отношение связанности на множестве вершин графа является отноше- отношением эквивалентности. Рефлексивяоть проистекает из того факта, что ка- каждая вершина связана сама с собой тривиальным маршрутом. Симметрич- Симметричность следует из того, что взяв вершины маршрута из и в v в обратном порядке, получим маршрут из и в и. Транзитивность также очевидна: объ- объединив маршруты из и в v и из v в ьо, получим маршрут из. im». Отношение связанности разбивает множество вершин графа на классы эквивалентности. Очевидно, что вершины из одного класса эквивалентно- эквивалентности вместе с соединяющими их ребрами образуют компоненту связности графа (определение которой дано в конце предыдущего параграфа). По- Поскольку связный граф характеризуется тем, что имеет одну компоненту связности, приходим к выводу: граф является связным тогда и только тогда, когда любые две его вершины — связанные. Разделяющим множеством графа называется такое множество его ре- ребер, удаление которых приводит к увеличению числа компонент связности графа. Разрез — минимальное разделяющее множество (т.е. такое, что никакое его собственное подмножество ие является разделяющим множе- множеством). $*ебро называется мостом, если оно образует разрез.
Введение в теорию графов 133 Примеры, Для графа, изображенного аа рисунке, {е5, е2, е3} — разде- разделяющее множество (яо Не разрез); {ег, е^} — разрез; ребра ее и ею являются, мостами. Лемма 7.1. Ребро в графе является мостом тогда и только тогда, ко- когда оно не входит ни в один цикл. Доказательство. Пусть ребро е = uv — мост. Ясно, что при этом и ф v. Предположим существование цикла, содержащего ребро е« Возьмем две произвольные вершины х и у из той компоненты связности графа, которой принадлежит ребро е. Покажем, что они останутся связанными и после удаления ребра е. Действительно, если ребро е входит в некоторый марш- маршрут, соединяющий х в у ,то е можно заменить последовательностью ребер, составляющих вместе с е цикл (см. рис.). У- Таким образом, отношение связанности не меняется после удаления е, что противоречит определению моста. Обратно. Пусть ребро е = itt> не входит ни в один цикл. Если при удалении е вершины и и v останутся связанными, это будет говорить о существовании соединяющей их простой цепи. Объединив ее с ребром е, получим цикл в исходном графе — противоречие! Таким образом, число компонент связности при удалении е увеличивается; е — мост. Следующее утверждение уточняет понятие моста. Лемма 7.2. Удаление моста увеличивает число компонент связности графа на единицу. Доказательство. Пусть е a uv — мост. Рассмотрим компоненту связности, содержащую е. Через #„ обозначим множество ее вершин х, для которых существует маршрут из ж в и, не содержащий ребра е. Остальные вер- вершины составят множество Я„. Эти множества не пусты, так как а € Я, (вершина и связана сама с сабой тривиальным маршрутом) и » 6 Я„ (еслн бы существовал маршрут из v в и, не содержащий ребра е, то добавив к не- нему это ребро, получили бы цикл, что противоречит лемме 7.1). Удалим из графа ребро е. Любые две вершины х, у из Я„ останутся связанными меж- между собой маршрутом вида х —>...—* и —* ...и. Для произвольных вершив г, t из Я„ любые простые цепи, связывающие их с вершиной и в исходном
графе, заканчивались ребром е =* vu; значит, после удаления этого ребра 2И( связаны маршрутом вида г—* ... ~* v —* ...t. Таким образом, уда- удаление е привело к образованию двух компонент связности (с множествами вершин Я„ и #„). Лемма доказана. Теорема 7.2. Пусть в простом графе п вершин, т ребер и к компонент связности. Тогда справедливы неравенства п — к <т < ("~*X"-*r+1' _ Неравенство п — к < т будем доказывать индукцией по числу ребер. База индукции. При го = 0 п а= к — неравенство выполняется. Индукционный шаг. Предположим, что доказываемое неравенство справедливо для всех графов с s ребрами, где s < т. Будем в графе с п вершинами, гп ребрами и к компонентами связности последовательно удалять ребра так, чтобы не изменялось число компонент связности, до тех пор, пока это возможно. В результате получим граф с прежним количеством вершин и компонент связности и т' < m ребрами, причем каждое ребро будет мостом. Удалим еще одно ребро. В силу леммы 7.2 число компонент связности станет рав- равным к + 1. Так как граф будет иметь тп' — 1 < тп — 1 < тп ребер, к нему применимо предположение индукции: п — (к + 1) < тп' — 1. Стало быть, п — к < т', и так как т' < т, то п — к < га, что и требовалось доказать. Для того, чтобы оценить сверху число ребер графа через число его вершин и компонент связности, дополним каждую компоненту связности графа до полного графа. Граф после этого будет представлять собой дизъ- дизъюнктное объединение полных графов G\ U... UG*- Пусть в г-й компоненте я,- вершин (г" = 1,..., к). Можно ли еще увеличить число ребер, не меняя при этом числа вершин и компонент связности? Можно, если найдутся две компоненты, в каждой из которых не менее двух вершин. Пусть 2 < п, < п3. "Отберем" одну вершину у Gj (потеряв при этом щ - 1 ребер) и "переда- "передадим" ее графу Gj (приобретя зато п,- ребер). Количество ребер увеличится на величину п} - (щ - 1) = щ - nt +1 > 1. Повторяя описанную процедуру, пока это возможно, придем в конце концов к графу с к — 1 изолированными вершинами и компонентой связности, представляющей собой полный граф cn-ife + 1 вершинами. Полученный граф имеет ("--^Жт1."*? ребер. По- Поскольку при каждом проведенном преобразовании число ребер возрастало, лолучим требуемое соотношение: т < ("Г*+Ж?~*); причем равенство до- достигается только для дизъюнктного объединения полного графа и пустых графов. • Следствие. Если в простом графе п вершин и то ребер и т > '"¦" ^""¦ч то граф связен. Действительно, если бы граф не был связен и число его компонент к > 2,
Введение в теорию графов 135 то число ребер удовлетворяло бы неравенству m < (q-*№i-;*±.U < (»-1К^-а),) адо противоречат условию. 7.3. Метрические характеристики графа Пусть G =< V, Е > — связный граф. Через d(u, v) обозначим длину крат- кратчайшей цепи, связывающей вершины «ви. Покажем, что d(u, v) обладает свойствами метрики. Симметричность. Vu, v € V d(u, v) =s d(v, и). Свойство очевидно. Неравенство треугольника. Vu, г;, w € V d(u, v) < d(u, w) + d(w, r). Действительно, объединив кратчайшие цепи из и в гв и из it в v, получим маршрут из и в v длиной d(u, w)+d(w, v), длина кратчайшей цепи из а в v будет не более этой величины. Невырожденность. Vu,u € V d(u,v) > 0; d{%, v) ав 0 -Фаг*- и — v. Непосредственно вытекает из определения d{u, v). Таким образом, аа множестве вершин связного графа введена структура метрического пространства. d(u, v) будем называть расстоянием между вершинами и и г.1. Эксцентриситетом вершины и называется наибольшее из расстояний от и до других вершин графа: е(м) = maxV?vd(u,v). Минимальный эксцентриситет вершин графа называют радиусом гра- графа: r(G) s= minueve(u), а максимальный эксцентриситет — диаметром: d(G) — maxuiVe(u). Другими словами, диаметр графа — это наибольшее из расстояний между двумя вершинами графа. Если эксцентриситет вер- вершины совпадает с радиусом графа, то вершиву называют центральной. Центральные вершины графа составляют его центр. Вершина называется - периферийной, если ее эксцентриситет равен диаметру графа. Несколько примеров. В полном графе К„ (п ¦> 1) расстояние между любыми двумя (разными) вершинами равно 1, поэтому г(Кп) — d(Kn) — 1. В полном графе каждая вершина является и периферийной, и центральной. Последнее свойство имеет место и для циклического графа Сп- Для ко- которого, радиус также совпадает с диаметром: г(С„) - d(Cn) = [|j ([.] — обозначение целой части). Для колеса Wn радиус равен единице, а диаметр — двум, одна вершина является центральной, а остальные — периферийные. Установим соотношения между радиусом и диаметром графа.
Теорема 7.3. Для произвольного графи G справедливы неравенства r(G) < 4&) $ 2г«?)- Доказательство. Первое неравенство следует непосредственно из определе- НИИ. I r(G) * minue(u) < maxue(u) » d(G). Чтобы доказать второе неравенство, положим: d(u, v) = d(G)\ e{w) — r(G). Применяя неравенство треугольника, получим d(G) ж d(tt, v) < d{u,w) + d(w, v) < e(w) + e(w) * 2r(G). Теорема доказана. 7.4. Гамильтоновы графы У.Гамильтон -— ирландский математик и астроном — в 1859 году приду- придумал головоломку "Кругосветное путешествие'', состоявшую в следующем: каждой вершине додекаэдра приписано имя известного города; иебходошо по ребрам проложить замкнутый путь, который проходил бы через все го- города, причем каждый город должен встретиться ровно одни раз. В честь Гамильтона графы, в которых существуют маршруты с подобным свой- свойством, были названы гамильтоновыми. Перейдем к точным определениям. Граф G — гамилътонав, если в нем существует простая замкнутая цепь, проходящая через все вершины графа; указанную пень называют при этом гамильтоновым циклом. Если в приве- приведенных определениях отказаться от требований замкнутости, то придем к понятиям полугамильтонова графа и полугамилътокова цикла. Gi uj ич На рисунке граф G\ не является гамильтоновым (и даже полугамильтоно- вым). Gi — полугамильтовов граф, <7з — гамильтонов. Приведем примеры задач, сводящихся к нахождению гамильтоновых циклов в графе. 1) На обед за круглым столом приглашены гости. Требуется рассадить их так, чтобы сидящие рядом были в дружеских отношениях. Рассмотрим граф, в котором вершины — гости, а нляячие ребра.
Введение а теорию графов 137 соединяющего вершины виг), говорит о "дружбе" между и и i/. Го- Гостей следует рассадить за круглым столом в таком порядке, чтобы соответствующие им вершины были последовательными вершинами некоторого гамвльтонова цикла. 2) Задача Эйлера о коне. Обойти ходом, коня шахматную доску, посе- посетив при этом каждую клетку ровно один раз и последним F4-м) ходом вернуться в начальную клетку. Здесь граф содержит 64 вершины (клетки доски). Две вершины со- едавхютс* ребром, если возможен ход кон» с одной клетки в другую. Степени вершин варьируются от 2 до 8. Эта задача достаточно ши- широко описана в занимательной математической литературе, напри- например в книгах Е.Гика. Есть что-то притягательное в задаче Эйлера о коне, если даже на студенческих партах можно встретить наряду с традиционными жанрами "наскального изобразительного искусства1' изображения шахматной доска, клетки которой пронумерованы в со- соответствие с маршрутом кошт! 3Kадача коммквояжера. Бродячий торговец1 (коммивояжер) должен посетить п пунктов. Известка стоимость проезда между любыми двумя пунктами. Требуется выбрать наиболее "дешевый" замкну- замкнутый путь, проходящий через все пункты. Вместо стоимости проезда можно говорить, конечно, о времени или расстояния. В любом случае, каждому ребру графа приписан неко- некоторый "вес"; задача состоит в нахождении гамильтонова цикла ми- минимального веса (вес цикла — сумма весов составляющих его ре- ребер). Задача коммивояжера является классической задачей дискрет- дискретной оптимизации, относится к классу так называемых NP-сложных задач. Из обширной библиографии укажем на книгу [30]. Обозначим через Р{п) множество всех простых помеченных графов с п вершинами, а через Рр(п) — множество всех простых помеченных гамильтоновых графов с п вершинами. В 1969 г. советский математик В.А.Перепелица доказал, что ~ L Таким образом, вероятность того, что "случайный" граф с п вершинами является гамильтоновым, стремится к единице с ростом п. Не установлено 7В англоязычной литературе для задачи коммивояжера используется термин Traveling salesman problem (TSP).
138 простых щтедшк* гаиильтововости графа. Вряяадем одно из достаточ- достаточных усл<швй гамяльтовооостя. Теорема 7.4. (<ХОре, ПНЮ г.) ?&*» в просто* грв#е с п вершинами (п > 3) Зля любой явры кевжшям? *«$w«* u %v выполняется неравен- неравенство то граф являете* гамчльтоновым. Доказательство. Пусть <? — твррствн граф е п вертпииами. Добавим к <? & новых вершин, соединял каждую из аих с каждой вершиной G. При к ~п полученный граф заведомо является гамвльтоновым, поскольку в графе G + Nn дл! построевди гамильтоаова цикла достаточно чередовать вер- вершины исходного графа G % швые вершивы. Лусть it — ваяменьше« число новых вершин, при котором полученный граф С аамется гамильтоновым. Доказывая теорему методом от противного, предположим, что к >0. Пусть a-»»g-*v-*,..-*e — гамильтонов цикл в С, где g — некоторая новая вершина. По построению каждая новая вершина смежна смежна лишь со "старыми" вершинами, поэтому ишь — вершины графа G. Заметим, что и и v ве могут быть смежными, так как в противном случае, удалив верпшяу q (вместе с ивиидентньши ея ребрами) ж заменив ребра иц и gv ребром uv, получим гамильтонов цикл в графе с меньшим, чем в G', числом верпши. Докажем, что произвольная вершина, смежная с v (обозначим ее v'). не может следовать в* гамильтоновом цикле за вершиной (например, и'), смежной с «. Действительно, замкнутую день можно преобразовать обойдясь при этом без BepffixBWf, что ШСОД8Т в противоречие с минималь- минимальностью*;. Обозначен дал провзвольаой аервшны аг графа С через ft(x) и ^(аг) соответствеяно ее степень а часяо вершвн, весмежных с х. Так как в га* мильтоновом щкае w каждой вершиаов, смежной с и, следует вершина, не смежная с », то ~jf{v) > (i{u). Заметав, что для каждой вершины гра- графа G ври переходе к графу С ее степень увеличивается на к, выпишем следующую цепочку неравенств: п + к = //{») + jS'(ti) > р'(») + ^>'(«) * />(v) + р(!«) + 2* > п -f 2i,
Введение в теорию графов 139 — получено противоречие с положительностью к. Таким G = G', исходный граф G — гамильтонов. Теорема дока- откуда к > 1к образом, ifc — О, зана. Следствие (Г.Дирак, 1952 г.). Если в простом графе порядка п > 3 степень каждой вершены не меньше п}1, то граф является гамильтоно- вым. 7.5. Эйлеровы графы Связный граф называется эйлеровым, если" в нем существует замкнутая цепь, содержащая все ребра графа; указанную невь называют при этом эйлеровым циклом. Если в приведенных определениях снять требование замкнутости, то придем % понятиям тимуэйлерова графа и эйлеровой це- цепи. На рисунке граф (?i не является эйлеровым: (а даже полуэйлеровым), G% — далуэйлеров граф, Сз — эйлеров, " ' Узнать, является ля грлф эйлеровым, очень просто ввиду следующей теоремы. Теорема 7.5. (Л.Эйлер, 1736 г.) Связный граф является эйлеровым тогда и только тогда, когда каждой его вершина имеет четную сте- степень. Доказательство. Необходимость. Начнем движение по эйлерову циклу с "середины" произвольного ребра в будем подсчитывать (по ходу движе- движения) степени вершин. При прохождении чере» вершину ее (текущая) сте- степень увеличивается на 2. Поэтику степени всех верянга эйлерова графа четны. Достаточность будем доказывать икцукцяейоо чвслу ребер. База индук- индукции очевидна. Нетрудно убедаигм* a fm> Ч5№ ваш степень'?аждой верши- вершины графа четна и положительна8, то граф содержат цикл. В самом деле, начнем строить цепь из пронздояъиой вершшвд щ г vi -* щ ~* ... Так как каждая верпшва напидеятва четному числу ребер, *В с!иу <зязности граф» у вето игг
то попав в очередную отличную от bj вершину, можно продолжить дви- движение по ранее не пройденному ребру. Так как число вершин конечно, то рано или поздно некоторая вершина в депи, скажем vm, повторится. Часть цепи между двумя вхождениями в нее данной вершины образует цикл С. Если этот цикл содержит все ребра графа G, то он является эйлеровым. В противном случае удалим из G все ребра, образующие С. Граф распадется на несколько компонент связности: Hi,Hi,... ,JSt (? > 1), при этом сте- степень каждой вершины остается четной (поскольку она либо не менялась, либо уменьшилась на 2 единицы). Предполагая, что утверждение теоре- теоремы справедливо для любого связного графа с числом ребер меньше, чем у G, получим, что каждый из графов Н, — эйлеров. Теперь эйлеров цикл в графе G можно построить следующим образом. Выйдя из произвольной вершины цикла С, двигаемся по его ребрам; если при этом встречается (неизолированная) вершина некоторого графа #;, то следуем по эйлерову циклу Н,, после чего продолжаем движение по циклу С В результате бу- будут пройдены все ребра исходного графа G, и цепь замкнется. Следствие. Связный граф является полузйлеровым тогда и только то- тогда, когда в нем не более двух вершин имеют нечетную степень. Доказательство. Необходимость доказывается так же, как в теореме. До- Достаточность. Если вершин нечетной степени нет, то-граф является эйле- эйлеровым, а, значит, и полуэйлеровым. По следствию из леммы о рукопожати- рукопожатиях ровно одной вершины нечетной степени не может быть. Пусть теперь в графе ровно две вершины имеют нечетную степень. Соединив эти две вер- вершины новым ребрам, получим, согласно теореме, эйлеров граф. Построим в новом графе эйлеров цикл; удаление ранее добавленного ребра приводит к эйлеровой цепи в исходном графе. Задача о кенигсбергских мостах Во времена Леонарда Эйлера семь мостов города Кенигсберга (ныне Калининград) были расположены на реке Прегель так, как показало на рисунке. Мог ли житель этого города, выйдя из дома, вернуться обратно, пройдя по каждому мосту ровно один раз? Рассмотрим граф. вершины которого отвечают связным участкам суши (двум берегам реки и двум островам).
Введение в теорию графов 141 а ребра — мостам. Все четыре вершины графа имеют нечетную степень, стало быть, ответ к задаче отрицательный. Доказательство теоремы об эйлеровых графах имеет конструктивный характер, на его основе может быть построен алгоритм нахождения эйле- эйлерова цикла в графе, однако этот алгоритм будет рекурсивным (при кон- конструировании эйлерова цикла используются эйлеровы пиклы в некоторых подграфах исходного графа). Известен следующий нерекурсивный Алгоритм Флери построения эйлерова дикла 1. Начать цикл с произвольной вершины а. Присвоить произвольному ребру uv, инцидентному «, номер 1. Удалить из графа ребро uv, пе- перейти в вершину v. 2. Пусть после к шагов мы находимся в вершине ш. Выбрать произволь- произвольное ребро tot, причем мост выбирается только в том случае, еслп нет другой возможности. Ребру wt присвоить номер к + 1. Удалить пз графа ребро wt, перейти в вершину t. Число шагов в описанном алгоритме совпадает с числом ребер в графе. По окончании работы алгоритма ребра исходного графа будут пронумерова- пронумерованы в порядке их следования в эйлеровом цикле. Докажем корректность предложенного алгоритма. Теорема 7.6. Применение алгоритма Флери к произвольному эйлерову графу всегда приводит к построению эйлерова цикла. Доказательство. Пусть G — эйлеров граф- Тогда степень каждой его вер- вершины ч^тна. В силу этого алгоритм может закончить свою работу лишь в начальной вершине и, построив при этом некоторый цикл С. Нужно дока- доказать, что цикл С включает в себя все ребра графа G. Если это не так. то после удаления ребер С граф распадается на компоненты связности, хотя бы одна из которых (назовем ее В) содержит ребра. Обозначим через А семейство всех ребер цикла С, инцидентных вершинам В. Пусть а — наи- наибольший номер ребра (полученный в результате работы алгоритма Флера) из А, тогда к моменту удаления данного ребра из графа оно было мостом; однако это противоречат правилу выбора очередного ребр*а: поскольку в компоненте В степень каждой вершины четна (это легко видеть), то в ней существует свой эйлеров цикл, идя по которому (напомним, любое ребро пикла — не мост) можно было избежать преждевременного удаления мо- моста. Корректность алгоритма Флери доказана.
В заключение параграфа отметим, что дя* случайным образом постро- построенного графа вероятность его эйлеровости (При большом числе вершин) мала. Теорема 7.7. (Р.Рейд, 1962 г.) Пусть Р(п) — множество всех про- простых помеченных графов с п вершинами, Р3(п) -множество всех простых помеченных эйлеровых графов с п вершинами. Тогда |Р()| Доказательство. Пусть Рч(п) -множество всех простых помеченных графов г п вершинами, степень каждой из которых четва. Связные графы из Рч(п) составляют, как известно, Ря(п)', поэтому Р3(п) С Д(") и |Рэ(п)| < |Рч(п)|. Каждый граф из Р(п) определяется некоторым подмножеством ребер пол- полного графа Кп, содержащего С\ ребер; в силу этого {Р(п)| = 2е». Нетрудно подсчитать и мощность Рч(п). Установим взаимно однозначное соответ- соответствие между Р(п — 1) и Рч(п): если все вершины нечетной степени про- произвольного графа из Р(п — 1) (число их по следствию из леммы о рукопо- рукопожатиях четно) соединить с n-верпшной, то получим граф из Р*(п). Таким образом, |Р„(«I **№-!)]« 2е-. Дальнейшее просто: Так как 21~а ~+ 0 при п ~* со, то и iinw,,» ^^ «= 0. 7.6. Деревья ш леса Граф, не содержащий щиикю, называют ациклическим графом, или ле- лесом. Заметим, что в ациклическом графе отсутствуют петли и кратные ребра, 8 силу чего «в ввяжется простым графом. Дереву— это связный адикличесхии граф. Таким образом, компоненты связности леса являются деревьями, т.е. пес — двэыонктяое объединение деревьев. В следующей серпа теорем вскрываются важные свойства ацикличе- ациклических графе»; ори их доказательстве часто будут использоваться леммы из §7.2.
Введение в теорию графов 143 Теорема ТА* Граф является лесом тогда it только тогда, когда каждое ребро графа — мост. Доказательство- Tpa$ G — Яве **> в G Нет циклов <=>• ни одно ребро не входят Ш 8 какой щека Ч»Ф (ао лемме 7.1) нее ребра G — мосты Теорема ТЖ Мерею €п еерщюииш содержит и - 1 ребро. ДоказатеязмЯЕж». Пусть & — дереве с я вершинами.В силу предыдущей теоремы каждое ребро G (и ветх его подграфов) валяется мостом. Будем ооежгкяжгеяьио удалит* ребра (У, JJpB этом каждый раз число компонент связности уммароамете* т 1 {п& лемме 7.2). Перйоа»чально имелась одна компонента связности (так как дерево — связный граф). После удаления всех ребер граф Йудет киеть п узоджрапяппых вершин, т.е. п компонент связности- Таюш образок, вуказаавай процедуре был вьшолнея п -1 шаг; значит G содержат п *-1 ребро. Следствие !• Йдсть в лесе п верши», m ребер ч k компонент связности. Тогда т * п «. jfe. Доказательство. Пусть в i-той компоненте свяаности леса п, вершин и т, ребер (i:#lr. ,^с); ак? Теореме 7.9 дя* каждого * т, = п, — 1. Подсчитаем общее число ребер леса: А * к fart i*l fc=l Следствие 2. Ясли в лесе число ребер на 1 меньше числа вершин, то этот лес желается деревом. Действит&львю,в силу следствия 1 число компонент связности леса равно разности числа вершин и числа ребер (в вашем случае — единице). Объединив формулировки теоремы 7,9 в следствия 2, получим следу- следующее утверждение: лес является деревом тогда и только тогда, когда число его ребер на 1 меньше числа вершин. Следствие 3. В дереве, которое содержит по меньшей мере две верши- вершины, не менее двух висячих вершин. ДоказатедьствоЛусть в дереве п > 2 вершин: »t,... t?n, тогда оно содер- содержит m = п — 1 ребро. По лемме о рукопожатиях p{v{} + ... + p(vn) = 2т — 2(п — 1). Можно считать, что вершины упорядочены по их степеням- ?(fi) < РМ < •-. < p(vn). Докажем, что ^%) в />(v2) = 1. Предполагая противное, легко получить противоречие: если р(щ) > 1, т.е. p(v2) > 2, то 2(п - 1) = p(vi) + p{v2) + ..-+/>(«„) > 1 -f (n - l)pivi) > 1 + 2(n - I)-
Из следствия 3 вытекает Следствие 4. В лесе, содержащем хоти бы одно ребро, не менее двух висячих вершин. Теорема 7.9 может быть обращена следующим образом. Теорема Т.Щ. Пусть в связном графе число ребер не 1 меньше числа вершин. Тогда этот граф — дерево. Доказательство. Пусть в графеG п вершив, т — п-1 ребер. По теореме 7.2 в простом графе т > п — к, где к — число компонент связности. Для рассматриваемого графа к ~ I и имеет место равенство т — п — к. Отсюда ясно, что граф является простым, так как в противном случае удалив все петли и (лишние) кратные ребра (сделав граф простым), мы уменьшили бы т, не меняя при этом пик, что привело бы к нарушению упомянутого неравенства. Итак, граф G ~~ простой и для него т = п — к. Удаление любого ребра графа приведет к нарушению неравенства т > п — к, если при этом не изменится число компонент связности к\ поэтому удаление произвольного ребра изменяет к, то есть каждое ребро графа есть мост, в силу чего (по теореме 7.8) G — ациклический граф. Так как при этом G по условию связный граф, G — дерево. Теорема доказана. Теорема 7.11. Граф является деревом тогда и только тогда, когда лю- любые две его вершины соединены роено одной простой цепью. Необходимость. Пусть G — дерево. Тогда G — связный граф, и любые две его вершины соединены простой цепью (§7.2), при этом двух различных пепей с таким свойством ие может быть, так как их объединение дает цикл, в то время как в дереве циклов нет. Достаточность. Егли в графе любые две вершины соединены цепью, то, как известно, граф является связным. Ацикличность графа также очевидна: если бы в графе был цикл, то любые две вершины этого цикла Соединены по меньшей мерс двумя простыми цепями. Теорема 7.12. Лес является деревом в том и только в том случае, ко- когда добавление любого ребра приводит к образованию ровно одного цикл<1. Доказательство. Пусть ациклический граф связен. В силу теоремы 7.11 любые две вершины и и v соединены ровно одной простой цепью. Поэтому добавление ребра uv приводит к образованию цикла, причем ровно одного, так как если бы их образовалось хотя бы два, то объединяя соответствую- соответствующие "участки" этих циклов, можно было бы построить цикл, не содержа- содержащий ребра ис, что противоречило бы ацикличности исходного графа.
Введение в теорию графов 145 Обратно. Если при добавлении ребра uv образуется цикл, то удаляя из этого цикла ребро uv, мы получим цепь, связывающую вершины и и s, значит, любые две вершины графа связаны, т.е. граф связен и является деревом (так как по условию он ациклический). 7.7. Теорема Кэли о числе помеченных деревьев Обозначим через Р„ число помеченных деревьев с п вершинами. Ясно, что Р1 = Р2 = 1. Помеченное дерево с тремя вершинами полностью определя- определяется своей центральной вершиной, поэтому Рз =¦ 3. Если в дереве 4 верши- вершины, то оно представляет собой либо полный двудольный граф К\ъ, либо простую (незамкнутую) цепь длины 4. Первого типа имеется 4 различных помеченных дерева, а второго — 12(=г C\- 2; крайние вершины цепи выби- выбираются С\ способами, после чего для нумерации двух оставшихся вершин остается две возможности); таким образом, Р< s= 4 + 12'= 16. Дерево с 5 вершинами имеет один из трех видов, представленных на рисушГе. Количество деревьев тина "цепь" равно С\ • 3! = 60, типа А'14 — 5. Произвольное дерево третьего типа определяется пометками вершин а. Ь, с. (см. обозначения на рисунке); поэтому их число равно А\ — 60. Итак, Р5 = 60+5+60 = 125. Последовательность 1,1,3,16,125 может быть задана соотношением Р„ — пп~2. Количество помеченных деревьев с 6 вершинами также нетрудно подсчитать "вручную" (читателю рекомендуется выпол- выполнить это полезное упражнение), после чего высказанная гипотеза получит новое подтверждение. И в общем случае имеет место Теорема 7.13. (А.Кэли, 1897 г.) Число помеченных деревьев с п вер- вершинами равно п"~2. Существует много способов доказательства этой знаменитой теоремы (см.. например, [20]). Мы приведем не самое богатое в идейном плане, но, воз- возможно, самое простое доказательство. Покажем, что существует взаимно однозначное соответствие между множеством помеченных n-вершинных деревьев и множеством размеще- размещений с повторениями из п элементов по п — 2; поскольку А?'2 = га", это будет доказывать теорему. Сопоставление дереву упорядоченного набора
(называемого кодом Прюфера) (а1,а^,...,ап^2) (где для каждого t a, e {1,2,...,п}) будем надавать кодированием дерева (или кодировкой), а обратный процесс (получение по указанному набору дерева) — декоди- декодированием (или декодировкой). Кодирование дерева выполняется с помощью следующего алгоритма. 1. Положить i—1. 2. Пусть v,- — висячая вершина дерева с наименьшей меткой; тогда а, — метка смежной с ней вершины. 3. Удалить из дерева вершину vf в инцидентное ей ребро. Бели в дереве осталось более двух вершин, увеличить t на 1 и перейти к п.2, иначе — закончить. Очевидно, что разные деревья имеют разные коды. Декодирование дерева. Пусть Вв ш {1,2,...,n}, a bt — наименьшее число го В©, не встречающееся в наборе (<ц,... ,ав_г). Тогда &г — номер висячей вершены, смежной с «j, я дерево содержат ребро (V а,). Набор (at,,.., ап-г) Кодирует дерево 7\ с множеством пометок Вг ж Be \ {Ьг} (Тг получается из Т удалением вершины Ь\ и инцидентного ей ребра <ai,*j)). В качестве fej возьмем наименьшее число из Bj, не встречающееся в последовательности (аг,.„,а„_^). Дерево 7\ (значит, и Т) должно содер- содержать ребро (&2,аг). Теперь набор (aj,..., а„_з) описывает дерево Т2 с мно- множеством пометок Вг =*¦ В\ \ {Ь^}. И так далее. На k-ы шаге процедуры рассматривается дерево Тк^ с множеством по- иетеж Bk-\- В множестве Вь~\ выбирается наименьшее число (bt), не вхо- входящее в набор (в*,..,, вп-а). после чего констатируется наличие в дереве Т ребра F*,о*). После га - 2 шагов будут выявлены п - 2 ребра дерева Г; при этом множество J?n_2 будет содержать два числа — пометки вершин по- последнего, п - 1-го, ребра, включенного в дерево. (Дерево Гп_2, содержащее две вершины, строится однозначно, и поэтому не нуждается в кодировке). Осталось еще убедиться в том, что нолученный после декодирования граф действительно является деревом. В самом деле, граф Т получается из графа Tk добавлением ребра (Ь^,а^), причем вершина 6* не принадлежит графу Тк . Поэтому из ацикличности Тк следует ацикличностьTk-ъпо- сколъку Т„_2 — дерево, то деревьями являются и графы Г„_з, ¦ ¦ ¦ ¦ Т2, Tt, Т.
Введение в теорию графов 6. «1 147 ,7 - 5 Пример. Дерево 3* "g имеет код B,4,1,2.4,4). По коду B,4 Л, 2,4,4) восстановим дерево. Процесс декодировки удобно отразить в следующей таблице. к и 1 2 3 4 Ь b 7 вк {1,2,3,4,5,6,7,8} {1,2,4,5,6,7,8} {1,2,4,6,7,8} {1,2,4,7,8} {4,8} код Г* (bk,ak) B,4,1,2,4,4) D,1,2,4,4) A,2,4,4) B,4,4) D>4) D) C,2) E,4) F-1) A,2) B,4) G,-4) D,8) Как и следовало ожидать, получено дерево, закодированное выше. 7.8. Стягивающие деревья Стягивающим (или остовным) деревом связного графа G называется про- произвольный его подграф, содержащий все вершины G и являющийся дере- деревом. Остовным лесом графа G называется произвольный его Подграф, со- содержащий все вершины G и являющийся лесом. Таким образом, компонен- компоненты связности остовного леса графа G являются стягивающими деревьями компонент G. Построить остовный лес нетрудно: достаточно последовательно уда- удалять из графа ребра, входящие в циклы, д0 тех ПОр) П0Ка не будет по- построен ациклический граф (лес), который, очевидно, будет остовным для исходного графа. Граф называется взвешенным, если каждому его ребру I поставлено в соответствие неотрицательное число цA) (вес ребра). Весом графа G =< V,E > называют сумму весов всех его ребер: p(G) = 1л€?й@- Рассмотрим следующую задачу. Имеется п пунктов. Для любой пары пунктов г и j известна стоимость сооружения дорога между ними — ctJ. Требуетря выбрать сеть дорог такую, чтобы любые два пункта со- соединялись каким-либо маршрутом и при этом стоимость ее сооружения была наименьшей.
Если рассмотреть полный граф порядка п, вершины которого будут со- соответствовать указанным (географическим) пунктам, а ребра будут иметь вес. равный стоимости сооружения дороги между соответствующими пунк- пунктами, то на языке теории графов данная задача будет формулироваться так: в данном графе найти стягивающее дерево наименьшего веса. От- Отметим, что согласно теореме Кэли в полном графе К„ имеется п"~2 раз- различных стягивающих деревьев, и, в принципе, рассматриваемая задача может быть решена перебором по всем таким деревьям. Ясно, однако, что i практической точки зрения подобный алгоритм решения не выдержи- выдерживает никакой критики. Существуют эффективные алгоритмы нахождения « тягивающего дерева минимального веса в связном взвешенном графе. При описании следующих алгоритмов G =< V, Е > будет обозначать исходный граф, а Т =< V, Р > — искомое дерево. Алгоритм Д.Краскала A956 г.) 1. Положить Р — ф, п — \Е\. Следующий шаг выполнять га — 1 раз 2. Включить в Т ребро графа G наименьшего веса, обладающее тем свойством, что при добавлении его в графе Т не образуется циклов Исключить из G данное ребро. На рисунке изображены взвешенный граф (числа показывают веса соответ- соответствующих ребер) и стягивающее дерево, полученное в результате работы алгоритма. Обоснование корректности алгоритма Краскала Заметим сначала, что в результате работы алгоритма строится ст-яги вающее дерево исходного графа (граф Т ациклический по построению и в нем число ребер на 1 меньше числа вершин, поэтому в силу теоремы 7.12 он является деревом). Пусть Р = {ei,e2,... ,en_i} (будем считать, что ребра записаны "в порядке поступления"), a S —< V,М > — произвольное стя- стягивающее дерево исходного графа. Нужно доказать, что fi(S) > p(T). Если S ^ Т, то Р ф М И существует такое к, что еь е2, - - -, ek~i & М,ек ? М. Добавим к дереву S ребро е*, при этом образуется никл, обозначим его
Введение в теорию графов 149 С. В цикле С найдется ребро е, принадлежащее множеству М и не вхо- входящее в Р. Удалив это ребро, получим дерево 5' с множеством ребер Л/' = MU {е*} \ {е} (вновь ссылаемся на теорему 7.10). Сравним веса деревьев S' и S: fi(S') = /i(S) + ^(e*) - ц(е). Так как в силу алгоритма Краскала ^(е*) < ^(е), /i(S') < /i(S). Итак, в дереве 5' по сравнению с деревом S число ребер, общих с деревом Т, на 1 больше, причем вес 'S' не больше веса S. Указанную процедуру будем повторять до тех пор. пока не получим дерево Т. В результате будет построена последовательность деревьев'5, S', S",... ,Г, в которой каждое последующее дерево имеет вес. не больший, чем предыдущее: откуда и следует требуемое: ц(Б) > ц(Т). Алгоритм Р.Прима A957 г.) похож на алгоритм Краскала: основное различие состоит в том, что в этом алгоритме строится "разрастающееся4 дерево, более точно: последовательность деревьев i Si C52C ...С5„, где дерево 5, =< V;, Е, > содержит % вершин (i = 1,..., п). 1. Пусть V) == {х)}, где zj ? V — произвольная вершина G, Ei_ — ф. Следующий шаг выполнять для t — 2,..., п. 2. Получить дерево 5, из дерева S,_i добавлением ребра графа G наи- наименьшего веса (среди тех ребер, при добавлении которых к S,_i вновь образуется дерево). Исключить из G данное ребро. Обоснование корректности алгоритма Прима такое же, как и алгоритм» Краскала. Сравним трудоемкость описанных алгоритмов для графа с п верш0" нами и m ребрами. В первом из них основные затраты времени падают на сортировку ребер по их весу; известно, что для выполнения сортиров ки m объектов требуется порядка m log2 m операций сравнения. Во втором алгоритме на г'-м шаге среди n — i вершив, еще не включенных в дерево, нужно выбрать ту, чье "подключение" к дереву обойдется наиболее де- дешево'' (ребро, соединяющее новую вершину с одной из "старых", должно быть наименьшего веса); для этого требуется порядка п — г — 1 операций. Суммируя по г, получим оценку трудоемкости алгоритма Прима: О(л2/2) операций сравнения. Понятно, что для полных графов (где число ребер m = п^"~^) алгоритм Прима менее трудоемок, чем алгоритм Краскала.
Опишем эффективную реализацию алгоритма Прима [26]. На каждом шаге алгоритма каждой вершине х, , еще не включенной в дерево, сопо- сопоставляется пометка — пара чисел [а,, 6,], где 6, — наименьший вес ребра, соединяющего х{ с какой-либо вершиной, уже включенной в дерево, о, — номер соответствующей вершины. Таким образом, bt да ц(х,аг). Шаг алго- алгоритма состоит в выборе &,<¦ = min(bi) и добавлении к дереву ребра а,.ж,.. На рис.7.1 дан набросок программной реализации алгоритма (с использо- использованием конструкций языка программирования Си). /* п > 2 - число вершин графа; */ /* V = {ху,. ..,хп} - множество вершин; */ /* Уг - множество вершин, еше не включенных в дерево; */ /* Е„ - множество ребер строящегося дерева; */ VT = V\{Xl}:E. = <j>; /* Расстановка начальных пометок */ ford, G К) if (я, и хл смежны) {а; = Ху\ 6,- = /i(a,x,); }; else {а, = 0;Ь; = оо}; /* k ~ порядковый номер ребра, включаемого в дерево */ = l;Jfc<n;){ /* определение нового ребра */ 6,. = \{} /* пересчет пометок */ if(+ + fc < л) ford, ? К) И(х, смежно с х,« и //(x;Xt«) < Ь,){ 6, = fi(xuxi.;a, = х{'\ Рис. 7Д. Алгоритм Прима нахождения -стягивающего дерева наименьшого веса Пример. Работа алгоритма для графа, изображенного на рисунке,
Введение в теорию графов 151 показана в следующей таблице. шаг К [(чМ] [as, Ьз] [04,64! [asA] faeA} mint, новое ребро 1 {я2,...,хв} i*i,4] [0,оо1 @,ooj [xi,5l 2 {г3, • • ¦, x&} N, 3] [0,oo] [n, 5J bz Z2Z3 3 {xitxs,x6} [0,00] [*i,51 к 4 {14,2:5} [*e, 1] / xexs 5 {•^4} 1^5,2] h XbXif
7.9. Фундаментальная система циклов Термин фундаментальная система (решений) используется для обозначе- обозначения базиса в пространстве решений системы линейных однородных (алге- (алгебраических) уравнений, либо в пространстве решений однородного диффе- дифференциального уравнения. В каждом из этих случаев через элементы фунда- фундаментальной системы окалывается возможным выразить, и при том един- единственным образом, элементы некоторого бесконечного множества. В (ко- (конечном) графе число циклов конечно, но может быть достаточно велико (по сравнению с порядком графа). Например, в полном графе Кп можно указать ~jf = v^-kVk РАЗЛИЧНЫХ циклов9 длины к (к — 3,..., п), предста- представляющих собой простые замкнутые цепи, а общее количество таких циклов имеет порядок (п — 1)!. Поэтому задача выражения всех циклов графа через некоторые фиксированные циклы достаточно интересна; о практическом приложении решения такой задачи будет упомянуто в конце параграфа. Поговорим сначала об операции, позволяющей по одним циклам полу- получать другие. 7.9.1. Симметрическая разность множеств Симметрической разностью множеств Аи В называют множество А® В = (A\J В)\(АП В). Операция нахождения симметрической разности коммутативна: А ф В = В® А (это очевидно) и ассоциативна: (А®В)®С = Аф(ВфС) (попробуйте доказать это с помощью рис. 7.2). В силу ассоциативности при записи сим- АФВ (А® В) ® С = А®{В®С) Рис. 7.2: Симметрическая разность двух и трех множеств метрической разности нескольких множеств скобки (указывающие порядок выполнения данной операции над множествами) можно не расставлять. 9 В этом параграфе мы будем отождествлять цикл с множеством его ребер
Введение в теорию графов 153 Пусть А — произвольное множество Множество всех подмножеств А с ол<' рацией симметрической разности < 0(А),@ > образует коммутативную групп> в роли нейтрального элемента группы выступает пустое множество, кадлий элемент группы является обратным самому себе Лемма 7.3. При произвольном натуральном п симметрическая разноспч, п множеств ф А, = А ф А2 Ф • •. Ф Ап i=i состоит в точности из тех элементов данных множеств, которые при- принадлежат нечетному их числу. Доказательство проводится индукцией по числу множеств. База индукция очевидна. Индукционный шаг. Пусть доказываемое утверждение справед- справедливо для всех п < к. Симметрическая разность к + 1 множеств имеет вид В = Вх ф Вг, где В\ = Ах ф ... ф АР,В2 — Ap+i ф ... © Лр+,, причем р, q < к,р -f q = к +1. Множество В состоит из элементов, принадлежащих 5] (значит, но индуктивному предположению, принадлежащих нечетному числу множеств из Ах,...,Ар) и не принадлежащих В^ (то есть входя- входящих в четное число множеств из Ар+\,... ,-4^+,) или, наоборот, не при- принадлежащих Bi и принадлежащих В2 (т.е. принадлежащих четному числу множеств из Ах,...,Ар и нечетному числу множеств из Ар+х, • ¦,Лр+Ч). В любом случае множество В составляют те и только те элементы, которые входят в нечетное число множеств из данных к+1 множеств: Ах,..., Ак+\. Лемма доказана. 7.9.2. Псевдоциклы Симметрическая разность двух циклов в графе в обтаем случае не явля- является циклом. Множество ребер С С Е графа G ~< V,E> назовем псев- псевдоциклом, если в графе < V, С > каждая вершина имеет четную степень. (Обычный) цикл графа и пустое множество — примеры псевдоциклов. Ока- Оказывается, множество всех псевдоциклов графа замкнуто относительно сим- симметрической разности. Лемма 7.4. Для любого натурального п симметрическая разность п псевдоциклов есть псевдоцикл. Доказательство ведется индукцией по п. База индукции (утверждение для п = 1) очевидна. Обоснование индукционного шага сводится к рассмотре- рассмотрению случая двух псевдоциклов. Пусть Сх и Сг — псевдоциклы. Для произ- произвольной вершины t? графа обозначим через S,(v) множество ребер цикла С„
инцидентных v (t =1,2). Степени вершины v в графах < V,Ci >,< V,C2 >., ,< V,Ci ®Cj > равны мощностям множеств Si(v},Si(v),Si(v)(B S2(v) со- соответственно. Из определения симметрической разности и с ломащью фор- формулы мощности объединения двух множеств получаем: \Si{v) ф s2(v)\ * js,(») и ад! -15,(«) л Зд| = • 1ЗД1 + |ЗД| - 2|S,(i>) П 5Я(»)|. Иэ четности \S\{v)\ и |S2(»)| вытекает четность \Sx{v) ф 52(w)|. Лемма до- доказана. Обсудив некоторые "технические" моменты, мы можем теперь заняться основным вопросом данного параграфа. 7.9.3. Фундаментальная система циклов Пусть G =< V, ?" > — связный граф, < V, Т > - - его стягивающее дерево. Если граф G содержит п вершин, то в Г — п — X ребер. Если к стягиваю- стягивающем}- дереву добавать произвольное ребро е € Е \ Т, то (по теореме 7.12) образуется ровно один цикл, обозначим его С,. Множество всех циклов та- такого вида {Ct | е е Е \ Т) будем называть фундаментальной системой циклов графа G »< V,E > относительно стягивающего дерева < V,T >. Пример см. на рис.7.3 Граф G =< V,E > Дерево < V,T > Рис. 7.3. Фундаментальная система циклов Теорема 7Д4. Произвольный цикл С связного графа G =< V, Е > пред- представим в виде симметрической разности некоторых циклов из фундамен- фундаментальной системы циклов G относительно любого стягивающего дерева < V, Т >. Такое представление единственно и имеет вид С= © Ct. A) t?C\T
Введение в теорию графов 155 Мы докажем даже более сильное утверждение, считал С псевдоциклом. Доказательство. Пусть G —< V,Е > — связный граф, < Y.T > не- некоторое фиксированное стягивающее дерево G. Ребра этого дерева б\дем называть ветвями, а остальные ребра графа G — хордами За:датпм. что каждый цикл Се содержит ровно одну хорду, а именно -1. Поэтом> в сим- симметрической разности (различных) фундаментальных циклов, равной С. должны присутствовать все циклы, отвечающие хордам из С \ Т. о толььо они. Таким образом, если представление псевдоцикла С в виде симметриче- симметрической разности фундаментальных даклов существует, то оно единственно и имеет вид A). Докажем теперь^ что равенство A) действительно имеет место. Пусть В = Ф«ес\г Се- По лемме 7.4 В — псевдоцикл: как уже показа- показано, из хард В содержит только- яодаю, принадлежащие С. Применяя леммы 7.3 и 7.4, получаем, что симметрическая разность В@С — псевдоцикл, не t«держащий хорд (так как каждая: хорда одновременно либо принадлежит, либо не принадлежит В в С, т.е. число ее вхождений в данные два мно- множества четно); ~стало быть, В (В С С Т. Осталось доказать, что в В 3 С нгг и ветвей. Действительив, если иодграф дерева не пуст, то согласно следствию 4 теоремы 7.& он имеет не менее- двух висачих вершин в то же врем» — по определению псевдоцикла — ов не содержит висячих вершвв. Итак, мы выяснили: В (В С = ф, что равносильно совпадению ивожгчтв В — Феес\г Се и С Теорема доказана. На множеств всех псевдоциклов с»>^>ого гр*ф& м&жво b»?ctit структу- структуру лжнейнего прост ранет as над аоаеи Zj, где в роля "слгоже|Г1г»" выступа- выступает симметрическ 1» риюсть, а умножение »« ек*л*р оярелел»егс« естествен- естественный образом — для провч»вльного осевловжяа С вжееи С 1 = СС 0 = # (^десь через 0 и I обоэиачены элементы поля Z?, вапоними что в этом поле 0 + 0=1+1 = 0,1 + 0=1.0 1 = 0 0 = 0, 1 1 = 1) Ки mi»» uint d чисом » данном линейном пространстве будет фуидамеитзльная система циклов относительно любого ctsi ииаю щего дерева Выделение фундаментальной системы циклов находит применение при анализе электрических цепей. Если электрической цепи сопоставить граф, ребра которого соответствуют источникам ЭДС, савротввлеиижм, индук- тивностям и т.д., а вершины — узлам соединений элементов цепи, то при использовании закона Кирхгофа для напряжений, гласящего: сумма паде- падения напряжений вдоль цикла равна нулю, необходимо найти фундамен- фундаментальную систему циклов. Уравнения, отвечающие этом щпелам, не будут зависеть друг от друга, в то же время их выполнение будет гарантировать выполнение уравнений для всех циклов графа. Более подробно об этом см. в [2].
7.10. Укладки графов Один и тот же граф можно изобразить по-разному. На рисунке 7.4 пред- (тавлены два варианта изображения полного графа А'4. В первом случае Рис. 7.4 отрезки, соответствующие ребрам графа, пересекаются, а во втором слу- случае нет. При решении ряда задач эта разница является принципиаль- принципиальной. Например, при изготовлении микросхем печатным способом электри- электрические цепи наносятся на плоскую поверхность изоляционного материала: при этом проводники не должны пересекаться. Менее глобальный приг^ер задача о трех домиках я трех колодцах.Хозяев о трех соседних домиков хотят проложить дорожки к трем колодцам (от каждого до- домика к каждому колодцу) так, чтобы дорожки не пересекались. Удастся ли им осуществить свое намерение? Перейдем к определениям. Жордаиовой кривой называют непрерывную кривую без самопересечений. Плоским графом назовем граф, вершины ко- которого — топки плоскости, а ребра — жордановые кривые (лежащие в той же плоскости), соединяющие соответствующие вершины так, что никакие два ребра не имеют общих точек, за исключением инцидентной им обоим вершины. Граф будем называть планарным, если он изоморфен некоторому плоскому графу. Примеры пленарных графов: А'4, С„, Wn (для любого и). ' Задачу о домиках и колодцах теперь можно сформулировать так: планарен ли граф А"з,з? Отметим очевидные свойства плааарных графов: 1. Любой подграф пленарного графа является планарным. 2. Граф является планарным тогда и только тогда, когда тем же свой- свойством обладает каждая его компонента связности. Про планарный граф говорят также, что он имеет плоскую укладку, или укладывается в плоскость. Более общее определение: граф укладывается в множество L, если его вершины можно изобразить точками из множе- множества L, а ребра — жордановьши кривыми, лежащими в L и имеющими общими только точка, изображающие соответствующие вершины графа. В последующих рассуждениях мы часто будем отождествлять граф и его укладку — "изображение" графа в каком-либо множестве.
Введение в теорию графов 257 Теорема 7.15. Любой граф укладывается в Л3. Доказательство. Вершины графа будем изображать точками некоторой прямой I. Рассмотрим пучок плоскостей, проходящих через данную пря- прямую. Каждому ребру графа сопоставим некоторую плоскость данного пуч- ь.д так, чтобы разным ребрам соответствовали разные плоскости Ребра будем изображать кривыми с концами в соответствующих вершинах и ле- лежащими в соответствующих плоскостях, при этом для изображения пе- петель будем брать окружности, касающиеся /, а для остальных ребер - полуокружности. Ясно, что данная конструкция дает требуемую укладку графа. Теорема 7.16. Граф является пленарным тогда и только тогда, когда укладывается на сфере. он Необходимость. Имея укладку графа на сфере, выберем на сфере точку А' так, чтобы она не совпадала ни с одной из вершин и не лежала ни на одном яз ребер. Через противоположную точку сферы проведем к ней каса- касательную плоскость or и осуществим стереографическую проекцию сферы на данную плоскость с центром в точке N: каждая точка Т сферы про- проецируется в точку пересечения луча NT с плоскостью а. При данном ото- отображении жордааовая кривая на сфере переходит в жордавовую кривую на плоскости. Стереографическая проекция устанавливает взаимно однознач- однозначное соответствие между сферой с выколотой точкой Лг и плоскостью; по- поэтому граф, полученный При проектировании, — плоский (его ребра имеют общие точки только в соответствующих вершинах) и изоморфен исходно- исходному графу, который, таким образом, является планарным. Достаточность доказывается обратным ходом рассуждений. 7.11. Формула Эйлера Связным множеством (на плоскости) называется такое множество, лю- любые две точки которого можно соединить жордановой кривой, целиком ле- жашей в данном множестве. Примеры связных множеств: многоугольник, круг, кольцо. Пример несвязного (т.е. не являющегося связным) множе- множества: объединение двух непересекающихся кругов. Грань плоского графа связная часть плоскости, ограниченная ребрами графа и не содержащая внутри себя других ребер. Среди всех граней графа ровно одна являет» неограниченной, ее называют внешней. Граф, изображенный на рис. 7.5а, имеет три грани, внешняя грань помечена цифрой 3. У плоского ацикли-
a) b) с) Рис. 7.5. Грани плоского графа ческого графа только одна грань — внешняя. Заметим, что планарпый граф можно так изобразить на плоскости, что впеитей будет любая его наперед заданная грань. Вот как это можно сделать. От произвольной плоской укладки данного графа следует перейти к сферической (проекти- (проектируя плоскость вместе с плоским графом на какую-либо сферу, касающуюся, плоскости); далее осуществить стереографическую проекцию с центром во внутренней точке выбранной грани, при этом данная грань перейдет во внешнюю грань полученного плоского графа. На рис. 7.5 приведено три варианта плоской укладки одного и того же графа. Теорема 7.1?. (Л.Эйлер, 175S г.) Для любого свяжоге плоского гра- графа справедливо соотношение A) где п, т. f — число вершин, ребер, граней соответственно: Доказательство. Пусть Т — некоторое стягивающее дерево данного связ- связного плоского графа G: оно имеет п вершив, и — 1 ребер и одну грань; равенство A) для дерева выполняется. Будем последовательно добавлять к графу Т "недостающие"' ребра графа G. Прн добавлении одного ребра число граней также увеличивается на единипу, так как новое ребро де- делит грань, на границе которой лежат его вершины, на две грани: таким образом, после каждого шага предложенной процедуры соотношение A) для графа Т остается верным. После добавления m — п + 1 ребер граф Г перейдет в граф G, для которого равенство A), таким образом, также справедливо. Следствие 1 (Формула Эйлера для выпуклых многогранников). Пусть в выпуклом многограннике п вершин, т ребер и f граней Тогда п - т + / = 2. Доказательство. Поместим выпуклый многогранник внутрь некоторой сфе- сферы S и спроектируем многогранник на S из какой-либо его внутренней точ- точки Проекции яершвн и ребер многогранника будут вершинами и ребрами
Дведение в теорию графов 1^9 некоторого графа, увоженного на сфере. Как показывает теорема 7.16, та- такой граф является нлакарнъгаг; для его нлоекой уклаяк» выполняется тре- требуемое соотиошеиие между числом вершив, ребер л граней. Осталось за- заметить, что композиция двух преобразований (нроектяроваяие многогран- многогранника иа сферу плюс переход, от сферической укладки к плоской) задает взаимно одввзиачвое соответствие между вервдинами, ребрами, гранями многогранника а верйшвамя, ребрами, гранжмн связного плоского графа Следствие % Число граней j плоского графа определяется формулой f = m+A — n +1, где то,п обозначают то же, что u ewwe, a к — число компонент связности графи. Доказательство. Число граней i-i компоненты связности плоского графа выражаете* формулой fi ~ щ ~ п, + 2 {тщ, r*j — число граней и ребер 1-й компоненты; г — 1,... ,к). При суммировании /,¦ по г от 1 до А; внешняя грань графа будет учитываться к раз, поэтому f ~ ¦гго е требовалось доказать. Следствие 3. Для любого простого связного пленарного графа с п > 3 вершинами и т ребрами выполняется неравенство m < Зп - 6. Доказательство. Рассмотрим какую-нибудь плоскую укладку рассматри- рассматриваемого графа. Если в графе всего два ребра, то выполнение неравенства проверяется непосредственно; поэтому будем считать, Что га > 3. Пусть у (плоского) графа / граней, а г-я грань ограничена т, ребрами (« = 1,..., /). Поскольку в рассматриваемом Графе нет петель и кратных ребер, а ребер не меньше 3, то Vi m, > 3 и ?f=J m, > 3/. Если ребро графа является мо- мостом, то оно входит в границу только внешней грани, в противном случае ребро входит в границу ровно двух граней. Значит, при вычислении суммы 2, т, каждое ребро графа учитывается не более двух раз и X/Li m, < 2m. Следствием полученных оценок для ?то, является неравенство 3/ < 2гп, или, с учетом формулы Эйлере, 3(га - п + 2) < 2т, откуда т < Зп - 6. Следствие 4. В любом простом планарном графе есть вершина степени не больше 5. Достаточно доказать утверждение для простого плоского связного графа G —< V,E >, в котором число вершин больше 6. Используя предыдущее следствие (вместе с его обозначениями), имеем: т < Зп - 6. Предположим противное тому, что требуется доказать: Vv, g V p(vt) > 6; тогда, приме- применяя лемму о рукопожатиях, получим:
2m = ?Г»1 p(vt) > 6n, или m > 3n, что противоречит следствию 3. Следствие 5. Граф Къ не является планарным. Действительно, в полном графе Къ п = 5 вершин и т — С% — 10 ребер; неравенство следствия 3 ае выполняется — стало быть, графТ1'5 не плана- рен. Следствае в. Граф К3,з не является планарным. Доказательство.В полном двудольном графе А'3]з п = 6 вершин и m — 9 ребер; если бы этот граф был планарным, то его плоская укладка содер- содержала бы/asm — n-f2s*5 граней. Используя обозначения, введенные при доказательстве следствия 3, получим: YU "»< = 2m =s 18. С другой стороны, легко видеть, что в двудольном графе нет Пиклов длины 3, поэтому каждая грань должна быть ограничена не менее, чем 4 ребрами, т.е. Vi m, > 4, откуда ?f=1 m, > К(. Предположение о планарности А'з.з привело к проти- противоречию. 7.12. Критерий планарности графа Подразбиением ребра ш< называют его замену на два ребра uw и ши,^ ы — некоторая новая вершина графа. Два графа гомеоморфны, если они могут быть получены из одного и того же графа с помощью подразбиения ребер. Так, любые два циклических графа С* в С\ (к, / > 2) гомеоморфны, так как могут быть получены подразбиением ребер из графа Ci. Другой пример приведен на рис.7.6. Ясно, что гомеоморфные плоские графы имеют Рнс. ?.#. Гомеоморфные графы одинаковое число граней. Понятие гомеоморфизма позволяет сформулиро- сформулировать критерии плаварностн графа.
Ввежшк'в теорию графов 161 Теорема 7.18. (Л.С.Понтрягян, 1927 г.; К.Куратовскнй, 1930 г.) Граф является пленарным тогда и только тогда, когда он не содержит подграфа, гомеоморфного К% или Необходимость. Очевидно, что подразбиение ребра никак не влияет на планарвость или иепланарность графа; поэтому два гомеоморфных графа либо оба плаяарвы, либо оба неплавариы. Ненлаяарность графов А'-, и А'з;) доказана в предыдущем параграфе. Доказательство достаточности сфор- сформулированного условия плавараоста очень громоздкое; его можно найти в монографии [27]. Пример. Граф Петерсеиа не являете* планарным — см. рис. 7.7. Рис. 7.7. Граф Петерсена и его подграф, гомеоморфный А'33 7.13. Ориентированные графы Напомним, что ориентированный граф {сокращенно: орграф) —¦ это упо- упорядоченная пара G =< V,A >, где V - непустое конечное множество — множество вершин; А конечное семейство упорядоченных пар элементов V (необязательно различных) — семейство дуг. Основанием орграфа G =< V,A > называют (неориентированный) граф < \.Е >, который получается из G заменой дуг ребрами (каждая дуга (и. г) чаменястся ребром {u,v}). Пример — на рис.7.8. Орграфы нэзыва- Рис. 7.8. Орграф и его основание
ются изоморфными, если существует изоморфизм между их овеваниями, сохраняющий порядок вершин иа каждой дуге. Через T(v) обозначим множество верщин, к которым ведут дуги с на- началом в вершине v: T(v) = {и € V|(u,a) g А). Число таких дуг называют полустепенью исхода вершены v : *~p(v) = )Г(«)|. Вершину с нулевой по- лустепенью исхода называют стоком. Через Г"'(г) обозначим множество вершин, из которых ведут дуги к верцпше v: r~!(v) =s {и € V|(a,v) ? А]. Число таких дуг называют полу- полустепенью захода вершины v : ~p(v) — IF^)!- Вершину с нулевой полу- полустепенью захода называют источником. Степенью вершины орграфа называют сумму полустепеией исхода и захода: p(v) = *p~(v) + ~f?(v). Йодсчитав двумя способами число дуг орграфа < V, А >, получим сле- следующее утверждение. Лемма о рукопожатиях для орграфов. \а\ = ? T(v) * ? 7{v). Вполне очевидным образом переносятся на случай ориентированных графов такие понятия (известные до предыдущим параграфам этой гла- главы), как смежность вершин, матрица смежности, простой граф и многие другие. Термин маршрут заменим термином путь. Итак, путь в орграфе — последовательность дуг вида (u0, fi), (t'b v2) (vm-i,vm), которую бу- будем записывать также в виде v0 —¦ Vi —>...—¦ vm и называть путем т га 7.14. Нахождение кратчайших путей в орграфе - Пусть С *=< V, А > — взвешенный орграф, т.е. каждой его дуге с = («, t ) S А поставлено а соответствие неотрицательное число р(е) = /t(u.i). на- называемое ее весом. Расстоянием между произвольными вершшммн л и i орграфа мззовем наименьший вес пути из s в t: d(S,i) ж min #{Р),где fi(P) = V pie) - вес пути Р. а соответстеусщий путь будем называть кратчайшим путем из .ч в t. Bc( гприбиалького(т е. ае содержащего дуг) пути считаем равным нулю. по< ем\ rf(*-. s) = 0. Если не существует пути из s в <, то полагаем: (/(а. О — -х
Введение в теорию графов 163 Очевидна практическая значимость задачи нахождения кратчайших путей в ориентированном графе. Алгоритм Е.Дейкстры A959 г.) находит кратчайшие пути от прот- вольной фиксированной вершины орграфа. Алгоритм представляет собой итерационную процедуру, на каждом шаге которой каждой вершине i сопо- i тавляетея пометка l(v), которая является либо постоянной и равной при 1том расстоянию d(s. v) от начальной вершины s до данной вершины, либо -ременной— числом, являющимся оценкой сверху для d(s, v). В результате каждой итерации оценки уточняются, и при этом ровно одна временная по- пометка (а именно — наименьшая) переходит из разряда временных в разряд постоящюк (после чего уже не меняется). Перед Цервой итерацией начальная вершина имеет постоянную помет- м l(s) sb 0, у остальных вершин пометки временные и полагаются рав- равными оо.^Итерация алгоритма состоит в просмотре вершин v с временны- временными помездгами, к которым ведут дуги из вершины р — вершины, послед- (ии полуфйшей постоянную пометку (для первой итерации р = *¦). П\чть ' ~ KP)$№t*(P'v)- Если окажется, что l(v) > а, то о будет новым значением I i) (вренёйная пометка данной вершины уменьшается). Алгвргш заканчивает работу, когда заданная конечная вершпна t по- v чает |||етоянную пометку. ^Стальное описание алгоритма (с использованием конструкций математической символики) — на рис.7.9. ие корректности алгоритма Дейкетры. Алгоритм работа- работаобразом, что после каждой итерации пометка каждой вершины v вес .кратчайшего из тех путей пути из s в v, в которых предпослед- предпоследняя вервшна имеет постоянную пометку. Пусть после очередной итерации вершина v* получает постоянную пометку. Достаточно доказать, что крат- кратчайший путь из s в к* проходит через вершины с постоянными пометками. Предположим противное: кратчайший путь Р из s в v' проходит через некоторую вершину с временной пометкой: P'S—+Sj—+...—»«?—»ш—»...—¦ V", пусть w - первая такая вершина. Тогда Таким образохМ, существует путь из s в ш, проходящий только через вер- вершины < постоянными пометками и имеющий меньший вес, чем путь из а
в ?;*, что противоречит выбору i>*. Трудоемкость алгоритма Дейкстры. Пусть граф содержит п вершин На каждой итерации число сложений ие превышает количества временных пометок, которое в начале работы алгоритма равно п — 1, ас каждой ите- итерацией уменьшается на единицу. Таким образом, общее число сложений но более (п - 1) + (п - 2) + ... + 1 = "^К Операции сравнения выполняются как при пересчете пометок, так и при нахождении минимальной времен- временной пометки: нетрудно подсчитать, что их число не превосходит п(п — I). Таким образом, трудоемкость алгоритма оценивается как О(п2) операций В [24] приводится модификация алгоритма Дейкстры, имеющая трудоем- трудоемкость O(mlog2 п) \т — число дуг). Для того, чтобы найти расстояния от заданной вершины s до всех остальных вершин орграфа алгоритм с рис. 7.9 модифицируется следу- следующим образом: » условие продолжения итераций р' =t заменяется на Уф ф. Пример. Работа алгоритма для графа, изображенного на рисунке (рядом с каждой дутой проставлен ее вес), показана в следующей таблице (элементы таблицы — за исключением первого и последнего столбца -- пометки вершив графа; в рамку заключены постоянные пометки вершин). итерация \вершина 0 1 2 3 4 1 ш - - - - - 2 оо 6 о | 5 | - - 3 оо | 2 | -- - - - 4 оо оо 7 6 !el - 5 оо оо I О 1 1 >* 1 - - - 6 ОС оо 00 7 7 \>\ Р 1 3 5 2 4 6 Анализ таблицы показывает, что кратчайший путь от 1 вершины к 6 пер нише таков: 1 —» 3 —¦ о -» 6.
Введение в теорию графов 165 Нахождение расстояний между всеми парами вершив оргра- орграфа. В принципе, данную задачу можно решить п-кратным выполнением алгоритма Дейкстры. где п — количество вершин графа. Однако <\шо- (твует примерно вдвое менее трудоемкий алгоритм — Алгоритм Р.Флойда A962 г.). Строится последовательно! ть матриц '"'('О = (c,j ), где С*0' — матрица весов дуг графа, т.е. для в<с\ ; и с' в fi(v,,Vj) (если в графе нет дуги (t',,t)j), то полагаем:/j((,.»_,) = :v) .'. при к-м 1,-..," ctJ — длина кратчайшего пути из v, в г, такого, что в п.ачесп(р промежуточных вершин могут быть лишь t'j,  «v Очевид- Очевидно, что it - искомое расстояние между вершинами v, и v}. Несложно по доказать следующую рекуррентную формулу, позволяющую по '*"* построить матрицу С(к): ,но, кратчайший путь из г; в v} (где в качестве промежуточных использоваться лишь vi, v?,. ., i'*) либо содержит вершину содержит. В первом случае он имеет вес с^ (так как при этом :ными вершинами могут быть только v\,..., Щ-i), во втором :тся из кратчайших путей из v, в vk и из vk в «,, и его вес равен
/* Нахождение кратчайшего пути между двумя вершинами (s и t) */ /* V - множество вершен графа;*/ /* в - начальная вершина; */ /* t - конечная вершина; */ /* 1 - пометкж вершин; */ /* Расстановка начальных пометок */ l(s)«O; for(veV) if(v'=s) l(v)=oo; /* M - множество временных пометок */ M=V\{s}; /* р - вершина, последней получившая постоянную пометку */ p=s; while(p!=t) { /* 0(v) - вершина, жз которой ждет дуга в v*/ /* (в кратчайшем пути) */ /* пометка v* становжтся постоянной */ M*=M\{v*}; p=v*; } d(s,t)=l(t); /* расстояние между s и t; */ /• кратчайший путь: s-*...-> 0@(t)) ~* 0{t) ~* t *l Рис. 7.9. Алгоритм Дейкстры нахождения кратчайшего пз'ти в оргрлфе
Введение в теорию графов 167 7.15. Задача сетевого планирования и управления (PERT) Процесс выполнения сложного проекта удобно представить в виде орграфа. дуги которого соответствуют этапам (или операциям) проекта, а тршины графа изображают абстрактные события, обозначающие начало или конец этапов; причем этапы, соответствующие дугам, исходящим из произволь- произвольной вершины графа, не могут начаться прежде, чем закончатся этапы. отвечакйдае дугам, заходящим в данную вершину. Очевидно, что рассма- рассматриваемою! граф является ациклическим. Например, при строительстве здания в качестве этапов могут рас- рассматриваться закладка фундамента, возведение стен, возведение крыши. в< тавка окон и т.д., а в качестве событий — начало строительства, окон- окончание возведения фундамента, начало отделочных работ, окончание стро- строительства и т.п. Будем считать, что задано конкретное время выполнения каждого этапа1*— вес дуги t(v,,Vj). В 1$даче сетевого планирования и управления11 требуется найти мини- мальВДе время выполнения проекта — время, за которое можно пройти по всем j^raM графа, двигаясь от начальной вершины (*) к конечной вершине (?), в^||чем движение по каждой дуге может начаться лишь после того, как пройдены все дуги, заходящие в ее начало. Другими словами, нужно найти < амый длинный путь (т.е. путь наибольшего веса) OTsKt. Для решения данной задачи можно модифицировать алгоритм Дейкс- тры нахождения кратчайшего пути от s к t: заменить со на 0, < иа >, mm на max Мы опишем более эффективный алгоритм, учитывающий ациклич- ацикличность графа. Пронумеруем вершины орграфа G =< V, А > так, чтобы каждая дуга (¦ViiVj) (г,] = 1, .. ,п) вела из вершины с меньшим номером в вершину с чольщим номером- (v,,v}) ? А =$¦ г < j (в силу ацикличности это всегда ¦хпможно12) Через l(v,) обозначим наиболее раннее время начала операций. (.савотствующнх дугам, исходящим нз вершины v, (считая l(v)) = 0). ины- иными i товами, l(v,) — длина самого длинного пути из ьг в vb. Минимальное время выполнения проекта тогда будет равно 1(уп) Алгоритм состоит в В 6о1('< общем случае время выполнения этапа случайна! величина "В анпояшчной литературе принят термин PERT {Project Evaluation Resranh Task) u Алгоритм гаьой нумерации можно HajjTH в [24]
последовательном вычислении l(v3) (j — 2,.. , п) по очевидной формуле с нулевыми начальными условиями: Vi /(«,-) = 0. Пример. Для следующего графа Щ в результате работы алгоритма находим: /(t>i) = 0, i(v2) = 3, /(г>3) = 6,/(u4) в 5,*Ы = 8,/Ы = 10,?(vT) = НМЫ = 13. Путь наибольшей длины от начальной вершины графа к конечной назы- называют критическим путем. В обшем случае, в графе может быть несколько критических путей. Так, в рассмотренном примере критическими будут ПуТИ Vi —» V? —¦ t'4 —» fe —» t'8 И fl —» VI —* Г>4 —» l?5 —¦ f« —» Us- ДЛЯ ТОГО. чтобы лроект был выполнен ча минимальное время, операция, отвечающая каждой дуге критического пути, должна начинаться сразу после того, как закончится предшествующая ей операция (на указанном пути). Если дуга не принадлежит никакому критическому пути, то соответствующая ей опе- операция может начать выполняться г некоторым запаздыванием, которое не отразится на обшем времени выполнения проекта. Обозначим через L{vt) самое позднее вр*'МЯ начала операций, отвечающих дугам, исходящим in вершины I,. при котором весь проект все еще может быть выполнен ад минимальное время. Для нахождения ?(»•,) поменяем ориентацию каждой дуги (при этом поменяются местама начальная и конечная вершины) и повторив предыдушнй алгоритм, найдем l'(vt) самый длинный путь от vH до г,; нетрудно видеть, что L(v,) = l{vn) — l'{v,). Теперь для каждой овсращш (i',,v;) можно определить резерв времени r(e,,i;;) на сколько единиц времени можно отложить начало ее выполнения, чтобы проект мо; быть выполнен за минимальное время (при отсутствии других задержек); r(v,.vj) = L(v3) - l(v,) - t(v,,v}). Для последнего примера имеем: ! I'M ?(•-,) 1 0 13 0 2 3 10 з 3 6 6 7 4 5 5 5 8 0 8 б 10 3 10 7 1 8 1 ю ! 13 2 j 0 11 ИЗ
Введение в теорию графов 169 Для дуги (из, it), не входящей в критический пут* определим резерв вре- времени: г(«3,«7) =* 11 — 6 — 4 = 1. 7.16. Потоки ш ттях Пусть G ие< V, А > — орграф вез петель13, имеющий единственный источ- источник (будем обозначать его vv) а единственный сток (vn). Все остальные вер- вершины графа будем называть промежуточными. Баш каждой дуге графа а б А поставлено в соответствие веотрвдатезшюе целое число с(а) (про- пускнож способность дуги), то ro&ojwr, что задала транспортном сеть (или иросто: сеть) <G,c>. Функция <р : Л —» JVo (определенная ва семействе дуг орграфа в при- принимающая неотрицательные целые значена*} называется потоком в сети <G,c>, если выполняются следующие условия: 1) для любой дуги а € -4 v?{e) ^ с(°); 2) для любой промежуточной вершины графа v Величину у(а) будем называть потоком по дуге а. Таким образом, 1} поток по каждой дуге ве должен превышать ее пропускной способности; 2) сум- сумма потоков по дугам, заходящим в ароизвольную промежуточную вершину, равен сумме потоков по дугам, исходящим из этой вершины. Другими сло- словами, поток яе возникает и не накапливается в промежуточных вершинах. Данная математическая модель описывает поведение газа или жидкости в трубопроводе, транспортные потока в сети дорог, пересылку товаров на рынок по различным каналам и т.д. Величиной потопа W(v) назовем сумму потоков по дугам, исходящим из источника: Покажем, что она равна сумме потоков до дугам, заходящим в сток. Дей- Действительно, суммируя равенства из условия 2) потока ею всем промежу- промежуточным вершинам, получаем: 13Негплж в орграфе — дуга вида {и, и).
Беля вычесть из обвес частей равенства потоки через дуги, оба конца ка- каждой из которых являются промежуточными вершинами (каждый такой поток слева и справа от знака равенства встречается ровно один раз), то получим: Ц )* ? <p(v,vn). Поток в транспортной сети, имеющий наибольшую возможную величину, называют максимальным потоком. В одной и той же сети может быть несколько максимальных потоков (нх величины, разумеется, должны со- совпадать). Пусть у! - поток в сети < G, с >. Дуга а € А называется насыщенной, если поток по ней равен ее пропускной способности: ip(a) = с(а). Поток <р называется полным, если любой путь в орграфе G из t>i в vn содержит по меньшей мере одну насыщенную дугу. Очевидно, что всякий максималь- максимальный поток является полным (иначе увеличив потоки по ненасыщенным дугам, составляющим путь vi —>...-* vn, на 1, мы не нарушим условий 1) и 2) потока и получим поток с большей на 1 величиной, чем у данного потока). В дальнейшем будем считать, что орграф G е< V, А > антисимме- антисимметрический, т.е. он не содержит кратных дуг и если (u, i') € А, то (v,«) $ А. Это предположение не является сильно ограничительным, поскольку под- подразбиением дуг (введением дополнительных "фиктивных" вершин) всегда можно по данной сети построить сеть с антисимметрическим орграфом и той же величиной потока. Максимальный поток можно найти с помощью следующего алгоритма. Алгоритм Л.Форда-Д.Фалкерсоаа {1954 г.) 1. Построить произвольный поток $ в сети < G,c > (можно и usae- 2. Построить полный поток. Если поток <р не полный, то в сети суще- существует путь из t>o a vn, все дуги которого не насыщены. Увеличивая потоки через все дуги такого пути Р на величину тш„ея(с(а) - у-(я)). получаем путь, некоторая дута которого является насыщенной. Та- Такую операцию следует повторять до тех пор, пока но получится пол- полный поток." 3. Построить максимальный поток.
Введение в теорию графов 171 а)Начальные пометки. Присвоить источнику пометку 0: l(vx) = 0, а остальным вершинам пометку оо. Следующий шаг повторять до тех пор, пока в результате его выполнения не бу- будет помечен сток vn либо пока не перестанут появляться новы*" пометки. б)Пересчет пометок. Для каждой помеченной, вершины \fe поме- пометить символом +i все непомеченные вершины v (/(«•) = ос), для которых дуга (i>,, v) ненасыщенные (т.е. <p(v,.v) < c(vt. i)). п < им- волом —I все непомеченные вершины, для которых ^(i, г,} > 0 в)Увеличение потока. Если сток vn не получает новую пометкл. то закончить работу алгоритма (максимальный поток найден). в противном случае существует цепь14, vq -*...—> v,,, все вер- вершины которой помечены. Если ориентация дуги a = (r,, v}) со- совпадает с направлением прохождения цепи, будем обозначать ее ~а\ в противном случае — *F. Если l(vj) » +i (*a*= (r,.i;)). то положить А(а) = с(а) — tp(a). Если l{v}) = — t (*a"s= (t^, г,)), то по- положить А(а) = <р(а)- Пусть е = шт(Л(а)) (миним\*м вычисляет! я по всем дугам, составляющим указанную депь). По каждой дуге "о*поток увеличить на е, а по каждой дуге "ёГпотоь. уменьшить на ?. (При этом величина потока в сети W{>p) увеличите» на е). Перейти к шагу а). Перед тем, как обосновать алгоритм Форда-Фалкерсона. проиллюстриру- проиллюстрируем его работу иа примере (см. рис.7.10, на котором насыщенные дуги помечены значком "х"). Начальный поток не является полным. В пути i'i —¦ Щ —* i'4 —+ "в все дуги не насыщены: увеличение потока, проходя- проходящего через это путь, на 2 приводит к насыщению дуги «>з —* v*- Нахоянм, еше один путь (w, -+ v3 -* t>5 —» j;s), состоящий нз ненасыщенных длт: увеличение потока через каждую из этих дуг на 1 делает дугу 1'з —• t's насыщенной Теперь получен иолный поток. Переходим к 3-му этапа алгоритма Форяа-Фалкерсона. Расставляем по- пометки вершин, как показано на рис. 7.10г). Получаем цепь Имеем: А(гГГ^з) = 5: А{1'з, v2) ~ 1; A(t^T>J) ж. 3; A(S77^> = 5; ? в I. м Заметьте- в общем случае — ве путь!
B} а)Транснортная сеть г)Увеличение потока д)Максимальный поток Рис. 7.10. Алгоритм Форда-Фалкерсона нахождения максимального потока Уменьшаем поток на 1 через дугу (иъ,ьз) н увеличиваем его на 1 через остальные дуги этой пени. При повторении процедуры (рис. 7,10д)) удает- удается пометить только две вершины (vi н г<$). Максимальный поток найден: W{tp)« И. Доказательство корректвосга алгоритма Форда-Фалкерсова Так как количество различных (целочисленных) потоков в фиксиро- фиксированной транспортной сети конечно, максимальный поток существует. По- Поскольку в результате каждой итерации алгоритма Форда-Фалкерсона по- поличина потока увеличивается но меньшей мере на 1, алгоритм работает конечное время, Т.е. рано или поздно Прекратит свою работу. Осталось доказать, что поток, который оя строит, является максимальным. Вмйде ряд новых понятий. Нусть В — некоторое множество вер- вершин орграфа G *=< V,A >, не содержащее источник и содержащее сток (В С V, Vj $ В, vn ? В). Разрезом сети < G,c > относительно В назы- называется множество дуг .4^ дуг, исходящих из вершин, не принадлежащих
Введение а теорию графов 173 В, и заходящих в вершины аз В: Ag — {(и, v) € А | « ? В, v € В}. Сумма пропускных способностей всех дуг разреза называется пропускной способ- способностью разреза: c(AJ|) = ?«ел- с(а). Разрез с минимальной пропускной способностью называют минимальным разрезом. Из "физических" сообра- соображений кажется почти очевидным, что величина потока в сети не превос- превосходит пропускной способности любого разреза (значит, и минимального). Для строгого доказательства этого факта иам оойадобатся Лемма 7.5. Для любого множества В вершин орграфа G, среди которьч есть сток и нет источника, справедливо следующее равенство: ? Ф)- ? ?{*)~w(v% A) a€AJ 064$ где А~в = {{u,v) € А | « f B,v € В}, А% «{(«,i>) € А \ и € В,» $ В). Доказательство. Прибавив к уменьшаемому н вычитаемому » разности A) сумму потоков во всем дугам, исходящим из В и заходящим в В, получим равенство, равносильное A): ? B) Вклад стока t/R в левую часть B) равен W(tp), л вклад каждой из остальных вершин из множества В (так как среда них нет в источника, все они - промежуточные) равен 0 в силу условия 2) нотока. Соотношение B), а вместе с ним и A), доказано. Дальнейшее рассуждение очевидно: Щч>) = ? Ф) - Г Ф) < ? Ф) < ? Ф)«c(Ai). «€Лд o€j1J o^AJ оС^д Итак, мы выяснили, что величина потока в сети ее превосходит пропускной способности минимального разреза- После окончания работы алгоритма Форда-Фалкерсона в сети не существует цепи t>i —».,.—>»„. вдоль которой возможно увеличение потока. Пусть В — множество вершив, которые ие получают (конечной) пометки на последней итерации алгоритма. Заметим, что щ $ В, v-n € В. Рассмотрим разрез сети отвосительяо В. Пусть а — помеченная вершина (м ? Я), а с — непомеченная (к € В). Если дуга имеет вид (u, v), то согласно алгоритму эта дуга являете* насыщенной: ip{u, v) — с(и, с)- Если дуга имеет вив (v, u), то согласно алгоритму поток по этой дуге равен нулю: tp(v, и) а= 0. Приметам теперь лемму 7.5 : ~ ? Ф)~ ? Ф)ш ? с{а)**с{А'в).
Таким образом, в результате работы алгоритма построен поток, величина которого равна пропускной способности некоторого разреза сети; поэтому поток — максимальный. Мы доказали следующее утверждение: Теорема 7.19. Величина максимального потока е сети равна пропуск- пропускной способности минимального разреза. В заключение параграфа — несколько замечаний. 1. Если величина пропускной способности дуги не обязательно является неотрицательным целым числом, то, как показали сами Форд и Фалкер- сон, если "неудачно" выбирать увеличивающие цепи, то процесс выполне- выполнения алгоритма может никогда не кончиться, более того, величина текущего потока может все время не превосходить четверти максимального потока [24]. В той же книге [24] приводится эффективный (и весьма изощренный) алгоритм нахождения максимального потока и в этом случае, его трудоем- трудоемкость 0(п3). 2. Можно рассмотреть и более общую постановку задачи, допускающую на- наличие в сети нескольких источников и стоков. В этом случае следует ввести фиктивный источник, от которого идут дуги к (настоящим) источникам (последние перейдут в разряд промежуточных вершин), и фиктивный сток, к которому идут дуги от (настоящих) стоков (тахже становящихся проме- промежуточными вершинами). Так задача будет сведена к задаче с одним ис- источником и одним стоком. 3. В книге [26] обсуждаются и другие задачи о потоках в сетях; например, поток по дуге может быть ограничен не только сверху, но и снизу.
Литература [1] Кузнецов О.П., Адейьсон-Вельекий Г.М. Дискретная математика для инженеров.— М.:Энергоатомиздат,1988. [2] Нефедов В.Н., Осипова В.А. Курс дискретной математики.— М.:Иэд-во МАИД992. [3] Сачков В.Н. Введение в комбинаторные методы дискретной математики.— М.:Наука,1982. [4} Яблонский СВ. Введение в дискретную математику.— М.:Наука,1986. [5} Дискретная математика и математические вопросы кибернетики./ Под ред. С.В.Яблонского и О.Б.Лупанова.— М.:Наука,Ш74. [6] Кук Д., Бейз Г. Компьютерная математика.— М.:Наука,1990. [7] Виноградов И.М. Основы теории чисел.— М,Наука,1981. [8] Эпнин А.Ю. Элементарная теория чисел: Сборник олимпиадкых за- задач. — Челябинск: ЧГТУ,Ш6. [9] Гарднер М. Путешествие во времени.— М.:МнрД990. [10] Гарднер М. От мозаик Пенроуза к надежным шифрам.— М.:Мир,1993. [11J Успенский В.А. Как теория чисел помогает в шифровальном деле// Соросо&ский общеобразовательный журнал,- N6.-1996. [12] Дориченко С.А., Ящеико В.В. 25 этюдов и шифрах.— М.:ТЕИС,1994. [13J Кострикнн А.И. Введение в алгебру.— М.:Наука,1977. [14} Александров П.С. Введение в теорию групп.— М.:Наука,1980.
176 ЛИТЕРАТУРА [15] Гроссман И., Магнус В. Группы и us графы.— М.:Мир,1971. A6] Калужнин Л.А., Сущанстай В.И. Преобразования и перестановка.— [17] Новиков П.С. Элементы математической логики.— М.:Наука,1973. {18] Мендельсон Э. Введение в математическую логику.— М.:Наука,1976. [19] Рыбников К.А- Введение в комбинаторный анализ.- - М.:Изд-во Моск. [20j Комбинаторный анализ. Задачи и упражнения/ Под ред. К.А-Рыбяшова. — М.:Наука,1982. B1J Виленкин Н.Я. Комбинаторика. — М.:НаукаД969. [22] Грин Д., Кнут Д. Математические методы анализа алгоритмов.— М:Мир,Ш7. {23} Аршинов М.Н., Садсвскяй Л.Б. Коды а математика.— М.:Наука,1983. [24] Липсхий В. Комбинаторика для программистов.— М.:Мир,1988. {25j Прикладная комбинаторная математика: Сб.статсй/ Под ред. Э.Беккенбаха. — М.:МирД968. [26J Кристофидес Н- Теория графов. Алгоритмический подход.- М.:Мнр,1978. {27] Емеяичев В.А. Лекции по теории графов.— М.:Наука,1990. B8] Уилс«щ Р. Введение в теорию графов.— М.:Мир.1977. B9] Рейнгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы. Теория и пракпшка.— М.:Мир,1980. [30] Корбут А.А., Финкельштейн Ю.Ю. Дискретное программирование. М.:На)-ка, 1972.
Замеченные опечатки и "непропечатки" в кн. А.Ю.Эвнин. Дискретная математика. Конспект лекций. Челябинск: ЮУрГУ, 1998. стр. 29 43 64 76 102 117 131 131 132 142 150 строка 2-я св. 8-я сн. 1-я св. 6-я сн. 5-я сн. 6-я св. 1-я св. 10-я св. 19-я св. 16-я св. 6-я сн. напечатано диофантового G3 К' VK = K[VK п, множества \R\ к графу объединения графов Рефлексивноть п-вершиной bi = fj,(xi,Xi.; следует читать диофантова G3 К[ V К = Кг V К ... A) п,1 множества R к простому графу объединения двух графов Рефлексивность n-й вершиной bi = fi(xi,Xi,); Александр Юрьевич Эвнин ДИСКРЕТНАЯ МАТЕМАТИКА Конспект лекций Техн.редактор А.В.Миних Издательство йно-Уральского государственного университета .*> i 02O3&4 от 10.04.97. Подписано в печать 2O.0i.9E. Формат 6Li64 i/i?. Печать офсетная, ^'сл.печ.л. 10,ZZ. Уч.-изд.л.10Д8. |Тирах 15С экз. Заказ 25/181. Цена 12 р. УиП Кадательства. 45408С, г.Челяоинск, пр.им.В. Е. Ленине, 76.