Текст
                    Федеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
«Омский государственный технический университет»
В. Н. Степанов
ДИСКРЕТНАЯ МАТЕМАТИКА:
МНОЖЕСТВА, КОМБИНАТОРИКА,
АЛГЕБРАИЧЕСКИЕ СТРУКТУРЫ, ГРАФЫ
Учебное пособие
Омск
Издательство ОмГТУ
2009


УДК 519.8(075) ББК 22.176я73 С 79 Рецензенты: А. К. Гуц, д-р физ.-мат. наук, проф.; А. А. Добрынин, канд. физ.-мат. наук, доц. Степанов, В. Н. С 79 Дискретная математика: множества, комбинаторика, алгебраические структуры, графы: учеб. пособие / В. Н. Степанов. - Омск: Изд-во ОмГТУ,2009.-196с Основное назначение данного учебного пособия - методическое обеспе- чение курса "Дискретная математика". В пособии излагаются основы теории множеств, комбинаторики, алгебраических структур, теории графов. Для сту- дентов инженерных специальностей. iSBN 978-5-8149-0690-8 Печатается по решению редакционно-издателъского совета Омского государственного технического университета УДК 519.8(075) ББК 22.176я73 €> Омский государственный ISBN 978-5-8149-0690-8 технический университет, 2009
Оглавление Предисловие 6 Глава 1. ТЕОРИЯ МНОЖЕСТВ 7 1. Множествам основные операции над ними 7 1.1. Понятие множества и подмножества 7 1.2. Способы задания множества 8 1.3. Операции над множествами 8 1.4. Кортежи 11 1.5. Прямое произведение множеств 11 2. Отношения 12 2.1. Бинарные отношения 12 2.2. Операции над отношениями 14 2.3. Функции 17 2.4. Матрицы бинарных отношений 19 3. Специальные типы бинарных отношений 21 3.1. Рефлексивные, симметричные и транзитивные отношения 21 4. Разбиение. Отношение эквивалентности 25 4.1. Разбиение множества 25 4.2. Отношение эквивалентности 25 5. Отношения порядка 27 5.1. Отношения нестрогого и сторгого порядка 27 5.2. Экстремальные элементы 29 6. Мощность 32 6.1. Эквивалентные множества. Мощность множества 32 6.2. Основные свойства счетных множеств 34 6.3. Теорема Кантора - Бернштейна 36 6.4. Двоичные дроби 37 6.5. Множества мощности континуума 38 6.6. Теорема Кантора о мощности множества всех своих подмножеств 39 6.7. О парадоксах в канторовой теории множеств и аксиомах теории множеств.. 40 6.8. Аксиомы теории множеств 42 7. Задачи и упражнения 43 Глава 2. КОМБИНАТОРИКА 49 1. Основные комбинаторные схемы 49 1.1. Правило суммы 49 1.2. Правило произведения 49 1.3. Формула включения - исключения 50 1.4. Функция Эйлера 52 1.5. Выборки 53 1.6. Размещения с повторениями 53 1.7. Размещения без повторений 54 1.8. Перестановки без повторений 55 1.9. Сочетания без повторений 55 1.10. Сочетания с повторениями 57 1.11. Перестановки с повторениями 59 1.12. Полиноминальная формула и бином Ньютона 61 2. Метод рекуррентных соотношений 61 2.1. Рекуррентные соотношения 61 2.2. Числа Фибоначчи 62 2.3. Процесс последовательных разбиений 63 3
3. Метод производящих функций 64 3.1. Производящие функции 64 3.2. Производящая функция чисел Фибоначчи 64 3.3. Производящая функция для числа процессов последовательных разбиний 66 4. Задачи и упражнения 67 Глава 3. АЛГЕБРАИЧЕСКИЕ СТРУКТУРЫ 71 1. Определение и примеры алгебр 71 1.1. «-арная алгебраическая операция 71 1.2. Определение алгебры и подалгебры 72 1.3. Примеры алгебр и подалгебр 72 2. Свойства бинарных алгебраических операций 73 2.1. Коммутативные, ассоциативные, дистрибутивные алгебраические оперции 73 3. Морфизмы 75 3.1. Гомоморфизмы и изоморфизмы алгебр 75 4. Алгебры с одной бинарной операцией 77 4.1. Полугруппы и моноиды 77 4.2. Группы и подгруппы 79 4.3. Основные свойства группы 81 4.4. Примеры групп, подгрупп и гомоморфизмов 82 4.5. Группы самосовмещений многоугольников и многогранников 86 4.6. Группа подстановок. Теорема Кэли 88 4.7. Классы смежности. Нормальный делитель 91 5. Алгебры с двумя бинарными операциями 93 5.1. Определение и примеры колец 93 5.2. Свойства колец 96 5.3. Область целостности 96 6. Поля и тела 97 6.1. Определение и примеры полей 97 6.2. Свойства полей 101 6.3. Определение и примеры тел 102 7. Решетки 103 7.1. Определение решетки 103 7.2. Булевы алгебры 105 8. Задачи и упражнения 106 Глава 4. ТЕОРИЯ ГРАФОВ ИЗ 1. Основные понятия теории графов 113 1.1. Граф и его разновидности 113 1.2. Морфизмы графов 115 1.3. Степени вершин 117 1.4. Маршруты, цепи, циклы, связность 118 1.5. Операции над графами 120 1.6. Примеры графов 123 1.7. Метрические характеристики графов 127 1.8. Представления графов 128 1.9. Обходы графов 132 2. Деревья 134 2.1. Деревья. Свойства деревьев 134 2.2. Теорема Кэли 136 4
2.3. Остовы. Теорема Кирхгофа 137 2.4. Фундаментальная система циклов. Циклом атическое число 139 2.5. Остов минимального веса. Алгоритм Краскала и Прима 141 3. Кратчайшие маршруты на графе 143 3.1. Алгоритм Дейкстры 143 4. Эйлеровы графы 145 4.1. Теорема Эйлера 145 4.2. Алгоритм Флери 148 5. Гамильтоновы графы 149 5.1. Гамильтоновы маршруты. Задача коммивояжера 149 5.2. Существование гамильтоновых маршрутов 151 6. Метод ветвей и границ 153 6.1. Схема метода ветвей и границ 153 6.2. Оценка снизу длин всех гамильтоновых контуров. Операция приведения матрицы 154 6.3. Ветвление множества Η . Оценки снизу подмножеств Н1 и Н} 6.4. Общий случай определения оценок снизу 156 6.5. Выбор дуги ветвления 157 6.6. Описание алгоритма 158 6.7. Пример 159 6.8. Метод Монте-Карло 166 7. Планарные графы 167 7.1. Укладки графов 167 7.2. Теорема Эйлера о плоских графах и следствия 168 7.3. Критерий планарности 171 7.4. Планарность и двойственность 173 8. Раскрашивание графов 174 8.1. Хроматическое число графа 174 8.2. Раскраска карт 176 9. Задачи и упражнения 178 Список литературы 191 Предметный указатель 193 5
ПРЕДИСЛОВИЕ Дискретная математика представляет собой область математики, в кото- рой изучаются свойства структур, предполагающих дискретность происходя- щих в них процессов или отделимость составляющих их элементов. В отличие от дискретной математики, классическая математика занимается преимущест- венно изучением свойств структур непрерывного характера. Дискретность вы- ступает как противоположность непрерывности, обозначающая отсутствие по- нятия предельного перехода. Деление математики на классическую и дискрет- ную достаточно условно, поскольку происходит взаимопроникновение идей и методов из одной области в другую. В последнее время инженеры, занимающиеся прикладными разработка- ми, все чаще используют методы дискретной математики. Это объясняется не- обходимостью создания и эксплуатации современных ЭВМ, средств передачи и обработки информации, автоматизированных систем управления и проектиро- вания. В связи с этим представляется целесообразным создание учебного посо- бия для студентов, изучающих дискретную математику. Учебное пособие по дискретной математике состоит из четырех частей: теория множеств, комбинаторика, алгебраические структуры и теория графов. В первой главе излагаются основы теории множеств. Аппарат теории множеств используется в любых разделах математики. Вводятся операции над множествами. Определяется понятие отношения на множестве, указываются свойства отношений и различные виды отношений. Рассматриваются счетные и несчетные множества и их свойства. Вторая глава посвящена комбинаторике. С комбинаторными методами приходится сталкиваться представителям самых различных специальностей. В частности, комбинаторные вычисления лежат в основе решения многих задач теории вероятности. Излагается принцип включения-исключения, эффективно работающий при решении классических комбинаторных задач. Рассмотрены основные типы комбинаторных задач, основанные на схемах выбора элементов, описывается аппарат производящих функций - мощное средство комбинатор- ного анализа. В третьей главе рассматриваются основные понятия алгебраических структур: полугруппы, группы, кольца, поля, тела, решетки. Методы абстракт- ной алгебры применяются, например, в математической логике, теории автома- тов, алгебраической теории кодирования. В четвертой главе излагаются основы теории графов. Приводятся основ- ные виды и способы задания графов, операции над графами, метрические ха- рактеристики графов. Рассматриваются задачи нахождения оптимальных мар- шрутов на графах. Дается критерий Понтрягина - Куратовского планарности графа. Приведены некоторые результаты по раскрашиванию графов. Данное учебное пособие содержит не только основные понятия и теоре- тические результаты, но и многочисленные примеры, а также большой набор задач по всем разделам для самостоятельной работы или для практических за- нятий. 6
Глава 1. ТЕОРИЯ МНОЖЕСТВ Теория множеств - раздел математики, в котором изучаются общие свой- ства множеств (в основном, бесконечных). Теория множеств является предва- рительным набором средств и методов, используемых в различных областях математики. Как математическая дисциплина теория множеств создана немец- ким математиком Г. Кантором (1845 - 1918 гг.). Понятие множества принадлежит к числу первоначальных фундамен- тальных математических понятий и может быть пояснено только при помощи примеров. О том, какой смысл вкладывал в понятие множества сам Георг Кан- тор, можно получить представление из следующих его цитат. «Под множест- вом будем понимать любое собрание определенных и различимых между собой объектов, мыслимое как единое целое». «Миоэюество есть многое, мыслимое нами как единое целое». 1. Множества и основные операции над ними 1.1. Понятие множества и подмножества Следуя Кантору, будем понимать под множеством А совокупность объ- ектов, различимых по некоторому признаку. • Объекты, из которых составлено множество, называются элементами множества. Если а есть элемент множества А, то пишут: ае А («а принадле- жит А»), если а не является элементом множества А, то пишут: а е А («а не принадлежит А »). • Множество, содержащее конечное число элементов, называется конеч- ным и бесконечным, если число элементов множества бесконечно. Множество страниц в книге, множество корней уравнения Рп (х) = а0 х" + ах x"~] + а2 х"~2 + ... + ап = О - примеры конечных множеств. Примеры бесконечных числовых множеств: N - множество натуральных чисел, Ζ - множество целых чисел, Q - множест- во рациональных чисел, R - множество действительных чисел, С - множество комплексных чисел. • Множество А называется подмножеством множества В, если всякий элемент множества А является элементом множества В. Пишут А с В или А с: В, где с - знак строгого включения, с - знак нестрогого включения. Например, Ζ с R - множество целых чисел является подмножеством мно- жества R всех действительных чисел; NcZcQcEcC. • Множества А и В называются равными (совпадающими), если они со- стоят из одних и тех же элементов, то есть, если А с В и ВςζΑ. Пишут А- В. Таким образом, чтобы доказать равенство множеств, достаточно установить эти два включения. 7
• Если А^В и А^В, то множество А называется собственным подмно- жеством множества В. • Множество, не содержащее ни одного элемента, называется пустым и обозначается знаком 0. Любое множество А содержит пустое множество 0 в качестве своего подмножества: 0 с А. • Совокупность всех подмножеств множества А называется его булеаном и обозначается В {А), или 2А . • Множество, содержащее все элементы, находящиеся в рассмотрении, на- зывается универсальным и обозначается U. 1.2. Способы задания множества Задать множество - значит указать, из каких элементов оно состоит. Опишем три способа, которыми это можно сделать. 1. Перечисление элементов: А = {а19а2,...9ап} - эта запись означает, что множество А состоит из элементов - αϊ9 я2,..., ап. Например, А = {0,1, 2,.... 9} - задание множества цифр перечислением. 2. Описание характеристических свойств элементов, определяющих принадлежность элементов данному множеству: А - {х: Р(х)} ={х:х обладает свойством Р}. Например, A = lx: ax2 +bx + c<0\ - множество значений х, удовлетво- ряющих неравенству ах2 +bx + c<0. 3. Задание порождающей процедуры, которая описывает способ получе- ния элементов множества из уже полученных элементов этого множества либо из других объектов. Например, запись А-\ап\ап-ап_х + ап_2, а0 = \, а}=2, η = 2,3,...} указы- вает, как получать элементы множества А из элементов множества А. Запись В = <х:х = — + жк, keZ> указывает, как получать элементы множества В из множества целых чисел. 1.3. Операции над множествами Рассмотрим операции на булеане #(и), где U - универсальное множе- ство. Пусть А, В - произвольные множества из булеана #(ϋ). • Пересечение Α η В и объединение AkjB множеств А и В определяет- ся равенствами: АпВ = {х: хеА и хеВ), АиВ-{х:хеА или хе В}. 8
• Разность: А\В = {х: χе А и х£В}. • Дополнение: А = [х: xeU, х<£ А]. • Симметрическая разность: AAB = {xeU: (χεΑ и х<£В) или (хеА и хеВ)} = (А\В)и(В\А). Введенные операции над множествами можно представить диаграммами Эйлера-Венна - это фигуры, изображающие на плоскости множества и нагляд- но демонстрирующие операции и свойства операций над ними (рис. 1.3.1. - 1.3.5). Рис. 1.3.1. Объединение множеств Рис. 1.3.2. Пересечение множеств /& V А х//\ # νγ *>УЛ *УИ \ Л\В в и %0&A*J ЩШул Vs//s/s\ ■■ // -\,'«', ", \ >ν* .ί, л - • УУУу\ А " ч ^.4^ . * .О ·. .\-~ у ' " ~'\ Y/s>y<« f/.'/S/sA yv <* S-*S" V, J 'ч' "»'. \ .*" ^- .*'.Л Рис. 1.3.3. Разность множеств Рис. 1.3.4. Дополнение множества \<?/щЩв 4 ΛΔ£ и Рис. 1.3.5. Симметрическая разность множеств 9
Операции объединения и пересечения множеств можно распространить и на бесконечное число множеств. Пусть Аа - бесконечное семейство множеств, тогда: г\Аа = {χ: χ е Аа, для всех а}, u Аа = {х: хеАа, хотя бы при одном а}. Пример 1.3.1. Пусть Ап=у\ reQ, |r|<—, лет, то есть Ап - множе- ство рациональных чисел от — до —. Тогда объединение и А есть множе- п η " ство рациональных чисел на интервале (-1,1), а пересечение пп Ап = {0}. Введенные операции над множествами обладают следующими свой- ствами: 1) идемпотентность: Akj А- А и АпА = А; 2) коммутативность: А*иВ = ВиАиАпВ = ВпА; 3) ассоциативность: Akj(BuC) = (AkjB)uC и Ап(ВпС) = (АпВ)пС; 4) дистрибутивность: Аи(ВпС) = (АиВ)п(АиС) и Ап(ВиС) = (АпВ)и(АпС); 5) поглощение: (АпВ)иА- А и (АиВ)пА = А; 6) свойство «единицы»: A\j А = А и АпА = А; 7) свойство «нуля»: Аи0 = А и Лп0 = 0; 8) закон двойного отрицания: А = А; 9) законы де Моргана: АиВ=А η В и АпВ^АиВ. В справедливости любых равенств с множествами можно убедиться, ри- суя диаграммы Эйлера-Венна левой и правой части равенства и устанавливая их совпадение. Другой способ - метод двух включений. Покажем последний способ на примере равенства А\В-Аг\В. Сначала установим, что 10
А\В<^Аг\В. Пусть χ е А \ В, тогда по определению разности хеА и χ £ В. Значит, хе А и хе В ,το есть хе АпВ. Теперь установим, что А п В с; А\В. Пусть χ е А п В, тогда по определению пересечения χ е А и χ е В, следова- тельно, χg Л и х<£В, значит, ig^\5. Принято следующее соглашение о приоритете операций. Если в одном и том же выражении с множествами встречаются операции и и п, то первой выполняется операция η, а затем u. Например, AnBKjCnD = (AnB)u(CnD). Если же требуется указать, что сначала выполняется операция u, a затем η, то расставляют скобки, например, (^u^uC)nZ). 1.4. Кортежи Упорядоченная последовательность из η элементов x^x2i...,xn называ- ется кортежем длины η или «-кой. Обозначение кортежа: χ = {jc, , x2,..., хл). Элемент х. называется / -ой компонентой кортежа (*,, х2,..., хп). Число элементов кортежа называется его длиной. Два кортежа χ и у равны, если они имеют одинаковую длину и равны их соответствующие компоненты: х] = ylt x2= y2, ..., х„= у„. 1.5. Прямое произведение множеств Прямым (декартовым) произведением множеств А и В называется мно- жество, состоящее из всех упорядоченных пар (х, у) (двухэлементных корте- жей), первая компонента которых принадлежит множеству А, а вторая - мно- жеству В. Прямое произведение двух множеств обозначается Ах В: АхВ = {(х, у): хеА, у^В}. Пример 1.5.1. А = {\;2}, Д = {1;2;3;4} (рис. 1.5.1). Тогда АхВ имеет вид: {(1,1); (1,2); (1,3); (1,4); (2,1); (2, 2); (2,3); (2, 4)}. Пример 1.5.2. Пусть А = {хеШ: 1<х<4}, B = {x<eR: 2<x<3} -отрезки вещественной оси. Тогда АхВ = {(х, у): 1<;с<4, 2<^<3] - прямоугольник (рис. 1.5.2). Заметим, что АхВ^ВхА. 11
у 4- 3- 2- i- 0 \. - о - о - о - о 1 ί 1 о о о о 1 1 2 X Рис. 1.5.1. 3 2 + 1 1111 о 12 3 4 Рис. 1.5.2. Аналогично определяется прямое произведение η > 2 множеств: А1хА2х...хА„={(х19х29...9х„): х,еА19 х2еА29 ..., хпеАп}. Если А] = А2 =... = Ап = А, то множество Αλ χ Α2 χ... χ Ап называется η -ой {декартовой) степенью множества А и обозначается А". По определению по- лагаем: А1 = А и А0 = 0 (пустой кортеж). Пример 1.5.3. Если R1 - множество вещественных чисел, то R2 =Rl xR! - двумерная плоскость; Ш3 = R1 χ Μ1 χ R1 - трехмерное пространство; R" = Ε'χΕ'χ.,.χΕ' - η -мерное пространство. Пример 1.5.4. Пусть А - конечное множество, элементами которого яв- ляются символы (буквы, цифры, знаки препинаний, знаки операций и т.п.). Та- кое множество называется алфавитом. Элементы множества А" называются словами длины η в алфавите А. Множество всех слов в алфавите А - это мно- жество А*=АиА2иА3^.... 2. Отношения 2.1. Бинарные отношения Пусть А и В - два множества. • Бинарным отношением Ρ из множества А в множество В называется подмножество прямого произведения А на В: PQAxB = {(a,b):aeA, beB}. Если Ρ - отношение из А в В и (а, Ь)еР, то пишут аРЪ и говорят: «а находится в отношении Ρ с Ь». 12
Если А-В и ΡςζΑχ А = А2, то говорят, что Ρ есть отношение на мно- жестве Л. • Для отношения ΡςζΑχΒ множество D(P) = {ae А: ЗЬеВ, (а, Ь)еР) называется областью определения отношения Р, а множество R(P) = {beB:3aeA, {a, b) еPj называется областью значений отношения Ρ. • Пусть аеА. Множество p(a)-\beВ: (а, Ь)еР\ называется образом элемента а при отношении Ρ (рис. 2.1.1). Образ множества А - это объеди- нение образов всех элементов из А: ρ(Α)=νρ{α). • Пусть Ъ е В. Множество р~] (b) = {а е А: (я, b) е Р] называется лряб- разом элемента Ъ при отношении Ρ (рис. 2.1.2). Прообраз множества В - это объединение прообразов всех элементов из В: Рис. 2.1.1. {bvb2,...,bn} -образы а Рис. 2.1.2. {ava2,...,am} -прообразы^ • Для любого множества А отношение Ia = Ua, a): ае Aj называется то- ждественным отношением или диагональю. Отношение U = {{я, b): aeA, be в} = АхВ называется полным отношением или универсальным. Так как 0 с Л2, то 0 является отношением на А и назы- вается пустым отношением, обозначается Р0. Пример 2.1.1. Пусть A = {atb,c} и Β = {α, β,γ). Прямое произведение Α χ В является множеством пар элементов: {(α, α), (α, β)9 (а, /), (Ь, а), (Ь, β), {b, γ), (с, а), (с, β), (с, γ)}. Определим отношение Ρ = {(α, α), (α, /?), (&, α)} czAxB. 13
Здесь область определения есть D(P) = {a, b); область значений есть R(P) = {a, β}; образы элементов а и Ъ имеют вид: р(а) = {а, β} и р{Ь) = {а)\ прообразы элементов а и β имеют вид: р~х(а)-{а, Ь] и Ρ~λ(β) = {α}ι ^Ρ33 множества А есть ρ(Α) = {α,β}; прообраз множества В есть р~1(В) = {а, b] ; на элементе с отношение Ρ не определено; элемент γ не имеет прообраза (рис. 2.1.3). а Ъ с α β γ У i О ^ (¾ Ы>Уо) >хо) X Рис. 2.1.3. Рис. 2.1.4. Рис. 2.1.5. Пример 2.1.2. Рассмотрим отношение Р = {(х, y):(y<x)}aR2 на мно- жестве М. Здесь D(P) = R(P) = R, p(x0) = {yeR:(x0, y)eP} - луч с вершиной в точке (х0, х0), параллельный оси OY, а р'1 (^0) = lx e R: (х, _у0)еР} - луч с вершиной в точке [у0, у0) параллельный оси ОХ (рис. 2.1.4). Отметим, что часто понятие отношения отождествляется с понятием гра- фика отношения. Например, графиком отношения P = Ux, у): у<х) на множестве R является заштрихованная полуплоскость вместе с прямой у-х (рис. 2.1.5), а графиком отношения P = Ux, у): у = х2} на R - парабола. Отно- шение на конечных множествах изображают ориентированным графом. На плоскости точками отмечают элементы множеств А и В. Если выполнено со- отношение аРЬ,то проводят стрелку от α к 6, а если аРа, то у точки а ри- суют петлю. 2.2. Операции над отношениями Пусть здесь и далее все отношения Ρ, β,... заданы из множества А в множество В, то есть Р, £,... с Л χ £. Поскольку отношения Р9 Q,... являются подмножествами множества Α χ Β, то все операции над множествами (пересе- чение, объединение, разность, дополнение, включение и т.п.) применимы и к отношениям. 14
• Пересечение отношений Ρ и Q - это пересечение подмножеств Ρ и Q, обозначается Pr\Q. Соотношение a(PnQ)b выполняется тогда и только то- гда, когда выполняются аРЪ и aQb. • Объединение отношений Ρ и Q - это объединение подмножеств Ρ и Q, обозначается P^jQ. Соотношение a(PuQ)b выполняется тогда и только то- гда, когда выполняется аРЬ или aQb. • Разность отношений Ρ и Q - это разность подмножеств Ρ и Q, обозна- чается P\Q. Соотношение a(P\Q)b выполняется тогда и только тогда, когда выполняется (a,b)eP\Q,TO есть верно, что аРЬ, но неверно aQb. • Дополнение отношения Ρ - это отношение P = U\P. • Пишут Peg, включение отношений, если Ρ - подмножество Q, то есть аРЬ влечет aQb. • Равенство отношений: P = Q, если Ρςβ и^с?. Пример 2.2.1. Пусть на множестве N = {1,2,...} заданы отношения Ρ - {быть кратным трем} = {{га, п): т = Зя, η е NJ и Q - {быть кратным двум} = Um, п):т = 2п, η е NJ. Тогда PnQ = {быть кратным шести}, PkjQ = {быть кратным двум или трем}, P\Q = {быть кратным трем, но не двум}. Над отношениями могут быть определены и некоторые специальные опе- рации. Рассмотрим две такие операции: нахождение обратного отношения и композицию отношений. • Пусть Ρ = {(a,b) :аеА, ЬеВ^^АхВ - отношение из А в В. Отношение Р~1 = {(b,a): {a,b) е Р} называется обратным к Ρ. Например, пусть на множестве R задано отношение Ρ =" < " по правилу хРу = (^х<у), то есть Р = {(х, у): х<у; х, уеЩ. Неравенство х<у равно- сильно неравенству у>х, поэтому yP~lx = (y>x). Следовательно, отношение Р~] есть отношение " > ". 15
• Пусть P = {(a,b):aeA, ЬеВ}<^АхВ -отношение из А в В, Q = {(b,c):beB, сеС^^ВхС -отношение из В в С. Композицией {произведением) отношений Ρ и Q называется отношение PoQ = {(a,c):aeA, cgC}qAxC из А в С, и найдется элемент be В такой, что (a,b)е Ρ и (b,c)e Q (рис. 2.2.1). α φ- Α Ρ ч. в Q PoQ Рис. 2.2.1. Композиция отношений с Если Ρ - отношение на множестве А, Р = {(a,b): а,Ье А], то η -ой сте- пенью отношения Ρ на множестве А называется его композиция с самим со- бой η -раз: Ρ" = Ρ°Ρ°···°Ρ. Теорема 2.2.1. Для любых бинарных отношений P,Q и R выполняются следующие свойства: 2.(PoQ)-l=Q>op-i. 3. Po(QoR)=:(PoQ)oR. Доказательство. (1) По определению обратного отношения условие аРЬ равносильно условию ЬР~1а, а это выполняется, если и только если: а\Р~) Ь. Следовательно, [Р~) -P- (2) Предположим, что (a, с)е(Р°£)_1. Тогда (c,a)e(P°Q) и, следова- тельно, существует элемент b e В такой, что (с, b)e P и (b,a)eQ. Значит, (Ь, с) е Р'1, (а, Ь) е Q'x и (а, с) е Q'1 ° Р~1, поэтому (Р ° Q)~l с Q] ° Р"1. Анало- гично доказывается включение Q~] о р1 с (Р о g) . (3) Пусть пара (a,d)e Po(Qo R). Тогда для некоторых b и с имеем (a,b)eP, (b,c)eQ, (c,d)eR. Таким образом, (a,c)eP°Q и 16
(a,d)e(P°Q)°R. Поэтому Po(QoR)^(poQ)oR . Аналогично доказывается включение (Po2)oi?cPo(g°i?). Ассоциативность композиции позволяет использовать запись PoQoR. π Пример 2.2.2. Пусть Ρ и Q - отношения на множестве R+={jceR :jc>o} такие, что P = Ux,y): у = jc + 1, jceR+j и Q = Ux,y): y = \n jc, xeR+). Найдем отношение P°Q~l. По определению композиции x(P°Q~l)y, ес- ли существует ζ такое, что χΡζ и zQ~]y, то есть z = x + l и z = \ny, откуда у = е*+1. Следовательно, Ρ ο ρ-1 = {(*, >>):>> = e*+1, χ e R+ J. 2.3. Функции Бинарное отношение fez Αχ В называется функцией (или отображени- ем) из множества А в В, если £(/) = Л, R(f)c5 и из (jc, д>,)e/, (jc, y2)ef следует ^, =^2. Если D(f)gzA, то / называется частичной функцией. Функ- ция (отображение) / из А в В обозначается f:A-^>B или А-^В. Если пара (jc, у) е f, то пишут: >> = f(x) (x называется аргументом функции, а у ее з//а- чв/л/ем). Пример 2.3.1. Отношение {(1,2),(2,3),(3,2)} на множестве ^4 = {1,2,3} - функция, а отношение {(l,2), (1,3),(2,3)] не является функцией. Отношение {(jc, sin jc) : χ 6 Ε} - функция, которая обозначается как у = sin jc . Пример 2.3.2. Проекции πλ:ΑχΒ-+Α9 π2:ΑχΒ -> В, которые действуют по правилам /г, (a,b) = α, π2 (a,b) = b, являются функциями. Пример 2.3.3. Тождественное отношение 1А = {(*, jc): хеА} является функцией (тождественная функция) IA: A-+ А, для нее IA(jc) = jc. • Функция f:A-^B называется инъективной (инъекцией), если для лю- бых элементов jc,, jc2 е D(f) из jc, φ jc2 следует /(jc,) * f(x2)· • Функция f: A-*В называется сюръективной (сюръекцией), если для любого элемента уеВ существует элемент хе А, такой, что у = f(x), то есть, если ^(/) = £ · Если / - сюръекция, то пишут /: А->В. 17
• Функция j": А->В называется взаимно однозначным соответствием между множествами А и В или биективной (биекцией), если она инъективна и сюръективна. Данные определения проиллюстрированы на рис. 2.3.1 - 2.3.4. Если / - биекция между А и В, то будем писать f \ А^В. Биекция f: А<г^В называется также подстановкой. Простейшим примером подстанов- ки является тождественная функция IA. Рис. 2.3.1. Отношение, но не функция УлА [ о(Л ) • г^п . ) R(f) j Рис. 2.3.2. Инъекция, но не сюръекция ' D(f)cA Х^Ч- . [D(f) ~*Г^ ΚΞτ^ ~ζ>- ^. B = R(f) fc· »" Рис. 2.3.3. Сюръекция, но не инъекция Рис. 2.3.4. Биекция 18
Пример 2.3.4. Рассмотрим три функции f.: R -»R , / = 1,.2,3, где f{(x) = ex9 /2(х) = х sin χ, f3(x) = x5. Функция f{(x) инъективна, но не сюръ- ективна; /2 (*) сюръективна, но не инъективна; /3 (х) биективна. • Если f\ Л<г> В - биекция, то для отношения f ςζ АхВ существует обратное отношение f~] c5x А, которое определяет обратную функцию Г1:В<г>А. Пример 2.3.5. Функция /: R —> R вида f(x) = χ3 биективна и обратной к ней является функция f~l: R —» R, определенная по правилу /-1 (jc) = χ1. Пример 2.3.6. Кодирующие функции каждому объекту ставят в соответ- ствие некоторый код (автомобилю - номер его регистрации в госавтоинспек- ции, абоненту - телефонный номер; клиенту банка - номер банковского счета, и т.д.). Для кодирующей функции обратной является декодирующая функция, ставящая в соответствие каждому коду закодированный объект. Поэтому часто важно, чтобы кодирующие функции были биекциями. • Функция / с^х Α2χ···χ Апх В или f :ΑιχΑ2χ-·χ Ап —» В называется η -местной. Для «-местной фунции используется также запись y = f(xl, x2, ···, ·*„), где х(еА. При этом D(/)c^,x^x-x^, R(/)qB и из условий (x9yx)ef9 (х,у2)е/,гдех = (х],х2,...,хп),сп&дуету1=у2. 2.4. Матрицы бинарных отношений Рассмотрим два конечных множества А = {а19а29...9ап}9 В = {bl9b29 ...,¾} и бинарное отношение ΡςιΑχΒ. Но Ρ определим матрицу бинарного отно- шения [Р] = (Pi-) размера тхп: fl, если (ai9bj)eP; [О, если (ai9bj}eP. Эта матрица содержит полную информацию о связях между элементами и по- зволяет представлять эту информацию в компьютере. Отметим, что любая мат- рица, состоящая из нулей и единиц, является матрицей некоторого бинарного отношения. 19
Пример 2.4.1. Матрица бинарного отношения Рс^2, А = {\,2,3}, за- данного фафически на рис. 2.4.1, 1 имеет вид: Рис. 1= 2.4.1. (\ ι \Л 0 0 1 Ь ° °J Определим матрицы основных бинарных отношений. • Пусть Ρ,ζ)ς:ΑχΒ - отношения с матрицами [Р] = (р .) и [β] = (#,··) · Тогда матрица объединения отношений имеет вид: [Р u Q] = Ip.. + qr), а мат- рица пересечения отношений имеет вид: [P<^Q] = (pr'qr), где сложение Pij + 4ij осуществляется по правилам: 0 + 0 = 0, 0 + 1 = 1 и 1 + 1 = 1 (!), а умноже- ние ри · q.tj - обычным образом. Итак, [Рuβ] = [P] + [β], где сложение элементов матриц осуществляется по правилам булевой арифметики, и [^ηβ] = [^]*[β]> где * обозначает пере- множение соответствующих элементов матриц [Р] и [β]. Пример 2.4.2. Пусть ίι ο ή , , Го ι ι oil' [Q]- Тогда [рие]=[р]+[б]= [Ρηβ] = [Ρ]*[β] = 1 0 1 0 1 1 1 0 Г 0 1 1 0 0 1 о ι 0 0 0 1 (0 1 1 0 0 1 1 1 О 0 1 1 Л г0 0 1 0 0 1 • Если Ρ ς: Αχ Β, β с: 2? χ С, то матрица композиции отношений имеет вид [^°β] = [^]'[β], где перемножение матриц [Р] и [β] производится по обычному правилу умножения матриц, но сумма произведений элементов стро- ки на элементы столбца вычисляется по правилам булевой арифметики. 20
Пример 2.4.3. Если № [p°Q] = 0 1 О 1 1 О 0 ι (Л 1 1 О [Q} = 0 1 1 О О 1 νΐ υ ίι о Ь ι. • Матрица обратного отношения Ρ равна транспонированной матрице отношения Ρ, то есть \ Ρ~ι 1 = [Р] . • Если отношения Ρ и Q таковы, что PczQ и их матрицы имеют вид И=М и [б] = (*(,),тоЛу <;*,,. • Матрица тождественного отношения IA является единичной матрицей: f\ 0 ... Ολ О 1 ... О ['.]=*= о о 1 • Пустое отношение Р0 задается матрицей О, состоящей из нулей. • Матрица полного отношения имеет вид Μ- ι 1 1 ... 1 \1 1 ... 1. 3. Специальные типы бинарных отношений 3.1. Рефлексивные, симметричные и транзитивные отношения Некоторые типы бинарных отношений играют особую роль в математике и информатике. Пусть Ρ - бинарное отношение на множестве А: P^AxA = {(a,b):a,beA}. Выделим следующие типы бинарных отношений. 21
• Отношение Ρ называется рефлексивным, если для любого а е А выпол- няется а Ра. Для рефлексивного отношения Ρ выполняется включение 1АаР, где 1А={(а,а):аеА} - тождественное отношение. Матрица [Р] рефлексивного отношения (в случае конечного множества А) имеет на главной диагонали единицы, а остальные элементы * равны нулю или единице: И= 1 *Л 1 Вершины графа рефлексивного отношения изображаются петлями О. Примерами рефлексивных отношений являются: отношения равенства и подобия на множестве геометрических фигур, отношения равенств чисел, век- торов или множеств, отношение < на множестве действительных чисел, отно- шение включения с множеств, отношения «быть похожим на ...» и «быть не старше, чем ...» на множестве людей. • Отношение Ρ называется антирефлексивным, если из аРЪ следует а*Ь, то есть ни для какого а е А не выполняется а Ра . Для антирефлексивного отношения выполнено равенство: Рг\1А=0. Матрица [Р], представляющая антирефлексивное отношение на конечном множестве, имеет на главной диагонали нули, а остальные элементы * равны нулю или единице: № о * о Граф антирефлексивного отношения не имеет петель. Примерами антирефлексивных отношений являются: отношения *, < на множестве действительных чисел, отношение строгого включения мно- жеств с, отношения «быть сыном» и «быть старше, чем ...» на множестве лю- дей. Отношение «быть симметричным относительно оси ОХ» на множестве всех фигур плоскости R2 не является рефлексивным и не является антиреф- лексивным. • Отношение Ρ называется симметричным, если аРЪ влечет ЬРа,то есть РсГ1. 22
Для симметричного отношения выполнено равенство: Р = Р 1 (по опреде- лению РсР"1, следовательно, Р-1 с(Р~1) = Р). Матрица симметричного отношения симметрична относительно главной диагонали: (ри) = (рл), И = [РГ- В соответствующем графе вместе с каждой стрелкой, идущей из вершины а в вершину Ь, существует стрелка, идущая в противоположном направлении: из вершины Ъ в вершину а. Поэтому в таком графе стрелки вообще не изобра- жают. Примерами симметричных отношений являются: отношения равенства и подобия на множестве геометрических фигур, все отношения равенств чисел, векторов или множеств, отношение «быть похожим на ...» и «быть родственни- ком» на множестве людей. • Отношение Ρ называется антисимметричным, если из аРЪ и ЪРа сле- дует а - b. Для антисимметричного отношения РпР~] ςζΙΑ. Это свойство приводит к тому, что в матрице Г Ρη Р-1 J = [Ρ]* [Ρ7] все элементы вне главной диагона- ли будут нулевыми, а в матрице [Р] - произведения pik -рк1,·=■ О, / φ к. Примером антисимметричного отношения является отношение < на мно- жестве действительных чисел. Отметим, что антисимметричность не совпадает с несимметричностью. В самом деле, на множестве А людей определим отношение Ρ с: А2 по правилу: аРЪ тогда и только тогда, когда а брат Ъ. Пусть множество А состоит из двух братьев а, Ъ и одной сестры с. Тогда P = Ua,b)9 (b,a), (a,c), (b,c)\. Матрица и граф (рис. 3.4.1) этого отношения имеют вид: № 'о ι П 1 0 1 νο о оу Рис. 3.4.1. Рис. 3.5.1. 23
Это отношение не является симметричным (а Р с не влечет с Ρ а) и не яв- ляется антисимметричным (из аРЪ и ЪРа не следует а = Ь). • Отношение Ρ называется асимметричным, если из двух соотношений аРЪ и ЪРа по крайней мере одно не выполняется. Для асимметричного отношения выполнено равенство: РпР'1 =0. Для матричных элементов это приводит к условию: р.к -рк. = 0. В соответствующем графе не может быть стрелок, соединяющих две вершины в противоположных направлениях. Асимметричное отношение является антирефлексивным. Действительно, если предположить, что асимметричное отношение Ρ не является антирефлек- сивным, то найдется элемент аеА такой, что а Ра. Тогда верно было бы и аР~]а,тоесгь α (Ρ η P~l>j а. Но тогда отношение Рг\Р~1*0. Примерами асимметричных отношений являются отношение «быть сы- ном» на множестве людей и отношение " <" на множестве чисел. • Отношение Ρ называется транзитивным, если для любых а,Ь,сеА из аРЪ и ЪРс следует аРс. Для транзитивного отношения выполнено включение: Р2 с Ρ. Из определения транзитивного отношения следует такое его свойство: если аРЪх, ЬХРЬ2, ..., ЪпЛ Ρ с, то аРс . Это свойство хорошо интерпретируется на графе (рис. 3.5.1). Для каждой пары вершин а и с, связанных последова- тельностью дуг от а к Ъх, от Ьх к Ь2 и так далее, от Ьп_х к с существует также дуга от α κ с. Отношения " = ", " <", «жить в одном городе», «быть предком» - транзи- тивны. Отношение «иметь непустое пересечение» - нетранзитивно. В самом деле, достаточно рассмотреть множества {1,2}, {2,3}, {3,4}. Для любого отношения Ρ на множестве А отношение Ρ называется его транзитивным замыканием, если соотношение а Р Ъ выполнено, когда сущест- вует цепочка элементов b0 = a,bx,b2, ..., bn =b из А такая, что между соседни- ми элементами этой цепочки выполнено отношение Р: b0Pbx, bxPb2, ..., bn_xPbn. Для транзитивного отношения Ρ имеет место равенство Ρ = Р. Действи- тельно, если а Р Ь,тоиаР b (цепочка состоит из двух элементов а и Ь), поэтому PqP. Если же а Р b, то существует цепочка aPt\, bxPb2, ..., ЬпЛРЪ. Но посколь- ку Ρ транзитивно, то выполняется аРЬ, поэтому PczP. Следовательно, Р = Р. 24
Транзитивное замыкание Ρ есть объединение всех положительных степе- ней этого отношения: Доказательство этого факта можно найти в [29]. На множестве людей транзитивным замыканием отношения «быть сы- ном» является отношение «быть прямым потомком». 4. Разбиение. Отношение эквивалентности Встречающиеся на практике отношения могут обладать рядом свойств. Рассмотрим абстрактные классы отношений с некоторыми свойствами. Изуче- ние таких абстрактных классов отношений ведет к тому, что наличие у отноше- ний определенного набора свойств автоматически распространяется на все кон- кретные отношения с данным набором свойств. Остановимся на отношении эк- вивалентности и отношении порядка. 4.1. Разбиение множества Систему непустых подмножеств {А]9А29...,Ап} множества А будем назы- вать разбиением этого множества, если А = Ахи А2и...и Ап и A.nAj=0 при Приведем некоторые примеры разбиений. Пример 4.1.1. Если 13 - универсальное множество и AaU, BczU, то {Α,Α} и {апВ, АпВ, АпВ, АпЩ - разбиения U. Пример 4.1.2. Пусть А - множество всех студентов университета, тогда множество всех студенческих групп - разбиение А. Пример 4.1.3. Если Ne - множество четных натуральных чисел, Nodd - множество нечетных натуральных чисел, то {Ne, N^} - разбиение множества N натуральных чисел. 4.2. Отношение эквивалентности Разбиение множества на классы строится на основании некоторого при- знака, который не может быть произвольным. Так, нельзя разбить множество точек плоскости на классы по признаку: «расстояние между точками мень- ше 1». Действительно, если расстояние между точками Μλ и М2 меньше 1 и расстояние между М2 и М3 меньше 1, то это вовсе не означает, что расстояние между Мх и Мъ меньше 1. Другой пример. Допустим, действительные числа разбиваются на классы по правилу: «Ь включается в один класс с а в том и только в том случае, когда 25
b>a». Такое разбиение также невозможно, поскольку а<Ь и а нельзя зачис- лить в один класс с Ъ. Кроме того, поскольку а < а, то а нельзя включить в один класс с самим собой. Эти примеры подсказывают условия, при которых тот или иной признак действительно позволяет разбить множество на классы. • Отношение Ρ на множестве А называется отношением эквивалентно- сти, если оно - рефлексивно: а Ра для любого а е Α, ΙΑςζΡ; -симметрично: аРЪ влечет ЪРа, Р-Р~х\ -транзитивно: аРЪ и ЪРс влечет аРс, Р2 аР. Если Ρ - отношение эквивалентности, то вместо аРЪ пишут а ~Ъ и го- ворят «а эквивалентно Ь». Между эквивалентностью и разбиением множества на классы существует тесная связь. Пусть на множестве А задано отношение эквивалентности. Выбе- рем элемент аеА и образуем класс [а], состоящий из элементов эквива- лентных элементу а, а именно, положим [a]~{be A:b-a). Затем выберем элемент b и образуем класс [b] элементов, эквивалентных элементу Ь, и т.д. Получится система классов [a], [b], ..., из построения которой следует, что А= U [я], [α]η[6] = 0, аеА если а и b из разных классов. Это и есть разбиение множества А на классы. Обратно, если на множестве А задано разбиение, то оно задает отноше- ние эквивалентности «входить в один и тот же класс данного разбиения». • Класс [а] = {Ье А:ЬРа} называется классом эквивалентности элемен- та а. Множество классов эквивалентности по отношению эквивалентности Ρ называется фактор-множеством и обозначается А/Р. Граф, изображающий отношение эквивалентности, состоит из отдельных, не связанных друг с другом подграфов, а все вершины каждого подграфа со- единены между собой. Например, для множества Л = {1,2,3,4,5,6,7,8,9,10} подмножества Ах = {1,2}, А2 = {3}, А3 = {4,5,6,7}, А4 = {8,9,10} образуют разбиением множест- ва А на классы. Граф этого разбиения изображен на рис. 4.2.1. 1 2 3 . . · 9 4 5 /\ ^ А 6 7 8 10 Рис. 4.2.1. 26
Приведем примеры отношений эквивалентности. Пример 4.2.1. Отношение параллельности прямых на плоскости является отношением эквивалентности, а отношение перпендикулярности - нет. Пример 4.2.2. На множестве пар целых чисел Ζ χ Ν определим отноше- ние эквивалентности: (т,п) ~ (p,q) тогда и только тогда, когда тд = пр. Мно- жество всех классов эквивалентности, определяемых этим отношением на Ζ χ Ν, называется рациональными числами Q. Например, ш\Ш £■■■}■ Обычно выбирают представителя класса с наименьшими тип. Пример 4.2.3. Пусть т,п- целые числа и ρ > 1 - натуральное число. Говорят, что т сравнимо с η по модулю ρ, если разность т - η делится нацело на ρ. При этом используется запись m(mod ρ)η или т ξ «(mod ρ). На множестве Ζ целых чисел для любого р>\ из N определим отноше- ние mod /?:m(mod ρ)η тогда и только тогда, когда (т-п) делится наце- ло на ρ. Это отношение называется равенством по модулю ρ. Легко прове- рить, что оно является отношением эквивалентности. Классы эквивалентности [г], г = 0,1,...,/7-1, состоят из всех чисел, которые при делении на ρ дают в остатке г и называются классами вычетов по модулю ρ. Например, если ρ = 5 ,το [θ] = {...,-10,-5,0,5,10,...}; [1] = {...,-9,-4,1,6,11,...} и т.д. Каждое число, входящее в какой-либо из классов, называется вычетом этого класса. Нетрудно заключить, что фактор-множество Z/mod/? = Z/;={[0],[l],...,[p-l]} и множество {0,1,...,/? -1} находятся во взаимно однозначном соответствии. Это пример биекции между классами эквивалентности бесконечного множества и конечным множеством. 5. Отношения порядка 5.1. Отношения нестрогого и строгого порядка Отношения порядка определяют некоторый порядок расположения эле- ментов множества. Примерами отношений порядка являются отношения «рань- ше», «позже», <, <, >, >, с, с:. • Пусть А - произвольное множество, а Р - отношение на А. Отношение Ρ называется отношением нестрогого порядка, если оно - рефлексивно: а Ра для любого а е A, IAczP; 27
- антисимметрично: аРЬ и ЬРа влечет a = b, РпР 1 сIA; -транзитивно: аРЬ и ЬРс влечет аРс, Ρ2 czP. • Отношение Ρ на А называется отношением строгого порядка, если оно - антирефлексивно: ни для какого а не выполняется α Ρ α, ΡηΙΑ=0; -антисимметрично: аРЬ и ЬРа влечет α-b, РслР~х а1А; -транзитивно: аРЬ и ЬРс влечет аРс, Ρ2 <ζΡ. Отношения нестрогого порядка принято обозначать символом ч. Символ -< используется для отношений строгого порядка. Если а ■< b, то говорят, что элемент а не превосходит Ь, а предшествует Ь. Если а<Ь, то говорят, что элемент а меньше b, а строго предшествует b. • Множество А называется частично упорядоченным (ч.у.м.), если в нем установлено отношение нестрогого или строгого порядка, то есть для некото- рых пар a, b его элементов известно, что а<b или b-<а, соответственно а<Ь или b -< а. Приведем примеры частично упорядоченных множеств. Пример 5.1.1. Пусть А = R" = {* = (*,, х2, ...,х„): x-t e RJ. Определим на R" отношения < и ■< последующим правилам: х<у, если X;<yn / = 1,2,...,л; х<у, если xt^yi9 и хотя бы для одного ie{1,2,...,и} выполнено xi,<уГ Эти отношения определяют на R" отношения нестрогого и строгого порядков. При этом не все элементы множества сравнимы. Например, (5,2,-3) и (5,1,-2) несравнимы. Следовательно, это множе- ство частично упорядочено. Пример 5.1.2. Множество всех подмножеств множества А (булеан на А) частично упорядочено по включению. Пример 5.1.3. Пусть А - множество непрерывных функций на отрезке [а,Ь]. Для f,geA положим f<g, если f(t)<g(t) для всех /е[я,б]. Это от- ношение частичного порядка. В самом деле, легко привести примеры функций несравнимых относительно отношения ·<. Как видно из примеров, если на множестве А задано отношение частич- ного порядка, то может оказаться, что некоторые элементы этого множества несравнимы. • Пусть А - непустое множество с зафиксированным отношением Ρ строго- го или нестрогого порядка. Если любые два различных элемента а и b из А сравнимы, то есть, если аРЬ или ЬРа, то А называется линейно упорядоченным множеством (л.у.м.). 28
Пример 5.1.4. Числовые множества Ν, Ζ, Q, R с естественным отноше- нием порядка < являются простейшими примерами л.у.м. Пример 5.1.5. Пусть Α-{ανα2,...,αη] - конечный алфавит, в котором за- фиксирован порядок элементов. Например, как порядок букв в русском или ла- тинском алфавите. Тем самым в А задано отношение порядка: а. < а}, если бук- ва ai в алфавите предшествует букве aj. Например, Б < Г и x<z. Отношение порядка в алфавите А позволяет построить отношение порядка на множестве слов. А именно рассмотрим два слова: а = (аря2,...,ат) и β = (bx,b2,...,bk). Бу- дем считать а ■< β, если 1) α = γα{μ и β-γα}ν, где а.<аг а γ,μ,ν - слова, возможно пустые, (например, «лес» -< «лето», полагая ai =«o>, а} = «т», // = 0, v = «о».) или 2) β = α γ, где γ - непустое слово (например, «лес» -< «лесть», полагая γ = «ть»). Указанное отношение задает линейный порядок на множестве всех ко- нечных слов в алфавите, который называется лексикографическим порядком. 5.2. Экстремальные элементы Пусть (А\<) - ч.у.м. Элемент аеА называется максимальным (мини- мальным), если для любого хе А из а<х следует χ = а (соответственно из χ < а следует χ = а). Элемент а е А называется наибольшим (наименьшим), ес- ли х<а {а<х) для любого хе А. Заметим, что всякий наибольший элемент является максимальным, а вся- кий наименьший элемент - минимальным. Обратное утверждение, вообще го- воря, неверно. Всякое непустое конечное ч.у.м. имеет как максимальные, так и минимальные элементы. Пример 5.2.1. Линейно упорядоченное множество ([0,1);<) имеет наи- меньший элемент 0, но не имеет наибольшего элемента. Пример 5.2.2. Частично упорядоченное множество ({a,b,c}; <j, изобра- женное на рис. 5.2.1 (стрелка от χ к у означает, что х-<у), имеет наибольший элемент Ъ, минимальные элементы α и с, но не имеет наименьшего элемента. Здесь а<а, Ь<Ъ, с^с, а<Ъ, с<Ъ. ® *®« φ Рис. 5.2.1. 29
• Пусть (А;^.) - частично упорядоченное множество, а ВаА - его под- множество. Элемент а е А называется верхней (нилсней) гранью множества В, если Ъ < а (соответственно а < Ь) для всех Ъ е В. Пример 5.2.3. Рассмотрим ч.у.м. (Ш; <) и промежуток Z? = (0,l]. Тогда любое число а > 1 является верхней гранью В, а любое число Ъ < 0 - ниж- ней гранью В. • Элемент а е А называется точной верхней гранью (супремумом) множе- ства ВаА и обозначается sup В, если а - наименьшая из верхних фаней множества В. Элемент а называется точной нижней гранью (инфимумом) множества В cz А и обозначается inf В, если а - наибольшая из нижних гра- ней множества В. Таким образом, а е А - точная верхняя грань тогда и только тогда, когда а - верхняя грань множества В и а < а для любой другой верхней грани а множества В. Аналогично, а ~ точная нижняя фань тогда и только тогда, когда а - нижняя грань множества В и а > а для любой другой нижней грани а множест- ва В. Пример 5.2.4. Пусть A = R, 2? = (0,l). Любое число а>\ является верх- ней гранью множества (0,1), так как а>Ъ для любого ое(0,1). Наименьшая из верхних граней равна 1, следовательно, l = sup£. Любое число а<0 является нижней гранью множества (0,1), так как а < b для любого Ъ е (0,1). Наибольшая из нижних фаней равна 0, следовательно, 0 = inf В. Если множество А имеет наименьшую верхнюю фань, то она единствен- на. Аналогично, если множество имеет наибольшую нижнюю грань, то она единственна. • Линейный порядок -< на множестве А называется полным, если каждое непустое подмножество множества А имеет наименьший элемент. Пара (A; ^), в которой отношение ·< является полным порядком на множестве Λ, называется вполне упорядоченным множеством (в.у.м.). Пример 5.2.5. Пара (Ν;<), где N = {1,2,3,...}, является в.у.м., а пара [1,2] не ([1,2]; <) - нет, поскольку, например, полуоткрытый интервал —; 2 содержит наименьшего элемента. • Пусть (^4; :<) - частично упорядоченное множество. Говорят, что эле- мент у покрывает элемент х, если х<у и не существует такого элемента ζ, что х<ζ<у. Любое конечное частично упорядоченное множество можно представить в виде схемы, в которой каждый элемент изображается точкой на плоскости, 30
и если элемент у покрывает элемент х, то точки χ и у соединяются стрел- кой от χ к у. Такие схемы называются диаграммами Хассе. Пример 5.2.6. Диаграмма Хассе линейно упорядоченного множества ({0,1,2,3,4,5,6,7}; <) с обычным отношением порядка на множестве неотрица- тельных целых чисел, не превосходящих семи, изображена на рис. 5.2.2. Мак- симальный и наибольший элемент равен 7, минимальный и наименьший эле- мент равен 0. • и—м и и и—и—м 0 12 3 4 5 6 7 Рис. 5.2.2. Пример 5.2.7. Пусть А = {1,2,3,5,6,10,15,30}. Рассмотрим отношение час- тичного порядка <, задаваемое по правилу: (х^у)<=>(у делится на х). Диа- грамма Хассе ч.у.м. (А; <) изображена на рис. 5.2.3. Наименьший элемент ра- вен 1, наибольший элемент - 30. } {Ь,с} Μ Ы Μ < ΚΧ1 W {*} W Рис. 5.2.3. Рис. 5.2.4. Рис. 5.2.5. Пример 5.2.8. А = {а,Ъ,с\ ,&{А) = {0,{а} ,{Ь\, {с} ,{a,b} ,{а,с} ,{Ь,с) ,{а,Ь,с}} - булеан над А и с - отношения нестрогого включения. Диаграмма Хассе этого ч.у.м. приведена на рис. 5.2.4. Наименьший элемент (он же минимальный) - это пустое множество 0. Наибольший элемент (он же максимальный) - это само множество А - {a,b,c}. Пример 5.2.9. Рассмотрим подмножество диаграммы Хассе из примера 5.2.8 (рис. 5.2.5). Это диаграмма частично упорядоченного множества (М;^) = ({{а},{Ь},{с}у{а,Ь},{а,с},{Ь,с}};а), где множество Μ является подмножеством булеана множества А = {a,b,c}. Множество Μ не имеет наименьшего и наибольшего элементов, но имеет три 31
минимальных {я},{&},{с) и три максимальных {a9b},{a,c},{b,-c} элемента. Точной нижней гранью множества Μ является элемент 0еВ(А), а точной верхней гранью - элемент {a,b,c} e В(А). Диаграммы Хассе примеров 5.2.7 и 5.2.8 совпадают. Это означает, что эти ч.у.м. имеют одинаковую структуру. Формально такая общность структур моделиру- ется понятием изоморфизма. • Пусть Л = {А\<А) и В = {В;<В) -ч.у.м. Отображение /:А->В называ- ется изоморфизмом частично упорядоченных множеств Л и В, если выполня- ются следующие условия: 1)/- биекция А на В; 2) Уа19а2 sA, а] -<Аа2 <=> f(a{)<B f(a2). В таком случае ч.у.м. Л и В назы- ваются изоморфными. 6. Мощность 6.1. Эквивалентные множества. Мощность множества Множества А иВ называются эквивалентными (обозначается А- В), если существует биекция /: А<-> В. Эквивалентность множеств является отношением эквивалентности, так как эквивалентность обладает свойствами отношения эквивалентности: -рефлексивность: А- А (поскольку 1А : А <-> А); - симметричность: если А ~ В, то В ~ А (поскольку если /: А <-> В, то Г1:В<+А); - транзитивность: если А-В и В-С, то А-С (поскольку если f:A<r>B и g:B<->C,то fog:A<+C). Понятие мощности возникает при сравнении множеств по числу его эле- ментов. • Мощностью множества А называется класс всех множеств, эквивалент- ных множеству А. Мощность множества Л обозначается через \а\. Эквивалент- ные множества А и В называются равномощными: |л| = \В\. • Множество называется конечным, если существует weN такое, что А ~ {1,2,...,«}. В этом случае \A\-n и мощностью конечного множества являет- ся число его элементов. • Множество, не являющееся конечным, называется бесконечным. • Если А ~ Ν, то множество А называется счетным. Счетное множество можно представить в виде: {αρ#2,...,αΛ,...}, где а. - элемент, соответствующий числу /, то есть имеет место взаимно однозначное 32
соответствие я. o/eN. Мощность счетного множества принято обозначать через К0 (читается «алеф-ноль»). • Если множество А эквивалентно множеству всех действительных чисел отрезка [0,1], то множество А называется континуальным или континуумом. Мощность континуума обозначается 2К° или С. На мощность множества А можно смотреть как на новый объект, назы- ваемый кардинальным числом или кардиналам. Кардинальным числом конеч- ного множества служит число его элементов. Кардинальное число счетного множества есть К0. Кардинальные числа континуумов имеют вид: 2N°, 22 °, 222*° и т.д. (см. [9]). Пример 6.1.1. Два конечных множества эквивалентны тогда и только то- гда, когда они состоят из одинакового числа элементов. Пример 6.1.2. Множество целых чисел Ζ счетно. Биекцию между N и Ζ можно установить, например, следующим способом: 1 2 3 4 5 6 ... 0 1-12-23 ... Также множество Ne четных натуральных чисел и множество Nodd не- четных натуральных чисел эквивалентны множеству N. В качестве соответст- вующих биекций можно взять η <-> In и η <-» 2п +1. Пример 6.1.3. Множество N2 =NxN={(m,«):m,rc€NJ эквивалентно множеству натуральных чисел N. На координатной плоскости изобразим точки с натуральными координатами. Эти точки расположены в первом квадранте. Установим биекцию между множеством натуральных чисел и полученными точками. Перенумеруем точки «диагональным» способом: li-»(l,l), 21-»(1,2), Зь»(2,1), 4ь»(1,3), 5ь*(2,2), 61-»(3,1), 7^(1,4) и т.д. Указанная нумерация задает биекцию между N и Ν χ Ν. Более того, по индукции можно показать, что uAeNN* = K0. Пример 6.1.4. Множество всех рациональных чисел Q - счетно. Дейст- р вительно, пусть г = — - рациональное число, записанное как несократимая Я дробь и h = \p\ + \q\ - «высота» рационального числа г. Перенумеруем все ра- циональные числа в порядке неубывания их «высот». Тогда каждое рациональ- ное число получит свой номер. Пример 6.1.5. Множества точек на любых двух числовых отрезках [а,Ь] и (d -c)x + bc~ad [c,d\ эквивалентны. Биекция задается функцией у - - Ъ-а 33
Пример 6.1.6. Множества (0,1) и (—οο,οο) эквивалентны. Биекция задается функцией у = —arctg χ + 0,5. π Пример 6Л .7. Множество бесконечных последовательностей нулей и единиц эквивалентно множеству всех подмножеств натурального ряда N. В самом деле, сопоставим с каждой последовательностью множество номеров мест, на которых стоят единицы. Например, последовательность, состоящая только из нулей, соответствует пустому множеству, а последовательность, со- стоящая только из единиц - натуральному ряду. Так, последовательность (1010101010...) сответствует подмножеству {1,3,5,7,...J нечетных чисел, после- довательность (01010101...) - подмножеству {2,4,6,8,...} четных чисел, а по- следовательность (1011101011000...) -подмножеству {1,3,4,5,7,9,10}. 6.2 Основные свойства счетных множеств Рассмотрим некоторые основные результаты, относящиеся к счетным множествам. Теорема 6.2.1. a) Всякое подмножество счетного множества конечно или счетно. b) Всякое бесконечное множество содержит счетное подмножество. c) Объединение конечного или счетного числа конечных или счетных множеств конечно или счетно. Доказательство. a) Пусть А - счетное множество, а В - его подмножество. Занумеруем элементы множества А: а19а2,а39.... Пусть ап 9ап^ап,... - те из них, которые входят в В. Если среди чисел пХ9п29пЪ9... есть наибольшее, то В конечно. В про- тивном случае В счетно, поскольку его элементы ап9ап 9ап,... оказались зану- мерованы числами 1,2,3,.... b) Пусть А бесконечно, тогда оно непусто. Выберем в нем произвольный элемент а,. Поскольку А\{аг} бесконечно, в нем найдется элемент а2, отлич- ный от элемента av Далее, поскольку А\{а]9а2} бесконечно, в нем найдется элемент аъ, отличный от элемента ах и я2. Продолжая этот процесс, который не может оборваться, ибо А бесконечное множество, получаем счетное подмноже- ство {al9a29a39...}. c) Пусть имеется счетное семейство множеств А]9А29А39.... Расположим элементы каждого множества А( в последовательность {ail9a.29aiZ9...} слева на- право и поместим эти последовательности друг под другом. Получим таблицу: 34
a2l a22 an a24 ... аъ\ аъг аъъ аз* - а4Х а42 а43 а44 ... Развернем эту таблицу в последовательность, например, читая ее элементы по диагонали: {an,a]2,a2],a2],a22,al2,al4,an,a32,a4l)...}. Если множества А. не пересекаются, то эта последовательность представ- ляет элементы объединения множеств Ai,A2,A3,.... Если же множества Д. пересе- каются, то из построенной последовательности надо удалить повторяющиеся элементы. Таким образом, в последовательности останется не более чем счетное число элементов. о Теорема 6.2.2. Если множество А бесконечно, а множество В конечно или счетно, то объединение АиВ равномощно А. Доказательство. Можно считать, что В не пересекается с А (иначе: пере- сечение можно выбросить из В, останется по-прежнему конечное или счетное множество). Выделим в А счетное подмножество Р\ остаток обозначим через S. Тогда надо доказать, что В и PuS равномощно PuS. Поскольку В и Ρ и Ρ оба счетны, между ними существует взаимно однозначное соответствие. Его легко продолжить до взаимно однозначного соответствия между BuPuS и PuS (каждый элемент множестваSсоответствует сам себе). о Следствие 6.2.3. Если множество А бесконечно и не является счетным, а В конечно или счетно, то А\В ~ А. Так как никакое конечное множество не содержит части, эквивалентной всему множеству, то теорема и следствие выражают свойство, присущее лишь бесконечным множествам и только им. Пример 6.2.1. Множество Q рациональных чисел счетно. В самом деле, рациональные числа представляются несократимыми дробями с целым числи- телем и натуральным знаменателем. Поскольку множество дробей с данным знаменателем счетно, то Q представимо в виде объединения счетного числа счетных множеств и, следовательно, Q счетно по теореме 6.2.1. Пример 6.2.2. Множество всех конечных последовательностей натураль- ных чисел счетно. Действительно, множество всех последовательностей данной длины к счетно, что непосредственно следует из счетности N* (пример 6.1.3). Таким образом, интересующее нас множество представляется как счетное объ- единение счетных множеств. 35
Пример 6.2.3. Число называется алгебраическим, если оно является кор- нем ненулевого многочлена Рп (χ) = а0 х" + а1 хп~] + а2 х"~2 +... + ап_х χ + ап с целыми коэффициентами. Множество алгебраических чисел счетно, так как счетно число многочленов (многочлен задается конечной последовательно- стью целых чисел - его коэффициентов), а каждый многочлен степени η имеет не более η действительных корней с учетом их кратности. Пример 6.2.4. Из теоремы 6.2.2 следует, что каждое из множеств (0,1], [0,1) и [0,1] эквивалентно множеству (0,1). Укажем биекцию φ между отрезком [0,1] и интервалом (0,1): х, если хфО, хф—, «gN; <р(х) = если х = 0; если х = \; 1 если х = —, п>\. η + ϊ η 6.3. Теорема Кантора - Бернштейна В теории множеств важную роль играет следующий классический ре- зультат. Теорема 6.3.1. [Кантор - Бернштейн]. Если множество А эквивалентно некоторому подмножеству множества В, а множество В эквивалентно не- которому подмножеству множества А, то множества А и В эквивалентны, то есть из условий А~ В{, ΒχςιΒ, Β ~ Αν Α^ςζ А следует А- В. Основным моментом в доказательстве теоремы Кантора - Бернштейна яв- ляется следующая теорема, представляющая и самостоятельный интерес. Теорема 6.3.2. [О мощности промежуточного множества]. Если А а В с С, причем А~С, то А- В. Доказательство этих теорем можно найти, например, в [5, 22, 28]. Теорема Кантора - Бернштейна значительно упрощает доказательства эк- вивалентности некоторых множеств. Например, для доказательства равномощ- ности тора (бублика) и шара достаточно заметить, что из тора можно вырезать достаточно маленький шар, гомотетичный данному шару, а из шара - малень- кий тор, гомотетичный данному тору. 36
Имея в виду теорему Кантора - Бернштейна, можно рассмотреть вопрос о сравнении мощностей множеств. Для данных множеств А и В теоретически имеются четыре возможности: 1) А эквивалентно некоторому подмножеству множества В, а. В эквива- лентно некоторому подмножеству множества А; 2) А эквивалентно некоторому собственному подмножеству множества В, а В не эквивалентно никакому подмножеству множества Л; 3) В эквивалентно некоторому собственному подмножеству множества А, а А не эквивалентно никакому подмножеству множества В; 4) А не эквивалентно никакому подмножеству множества В и В не экви- валентно никакому подмножеству множества^. В первом случае множества А и В эквиваленты по теореме Кантора - Бернштейна, то есть И1=1^1- В° втором случае естественно считать, что множе- ство А имеет мощность меньшую, чем множество В, \А\<\В\. В третьем случае - множество Л имеет мощность большую, чем множество В, \А\>\В\. В последнем случае пришлось бы считать, что мощности множеств А и В несравнимы, одна- ко это невозможно, так как из двух множеств одно равномощно подмножеству другого. Это следует из теоремы Цермело, утверждающей, что всякое множе- ство может быть вполне упорядочено [5]. 6.4. Двоичные дроби Далее понадобятся некоторые сведения о двоичных дробях [22]. Двоичной дробью называется сумма ряда ^-7, где ak = 0 или ак=\. к=\ 2 Эта сумма обозначается символом 0,а]а2аг... Всякое число лее[0,1] допускает представление в виде χ = 0,я, а2 а3.... Это представление единственно в случае, когда число χ не является дробью вида т/2", где m = 1,3,...,2й -1. Числа 0 и 1 разлагаются единственным образом в дроби 0 = 0,000... и 1 = 0,111.... Если же т/2", где /и = 1,3,...,2я-1, то χ допускает два разложения: 0,а1а2а3... и 0,b]b2by... В этих разложениях: #,=6,, если / = 1,...,я-1; an=l, bn~0; остальные знаки первого разложения равны нулю, а второго - 3 единице. Например,- = 0,011000... = 0,010111.... о Всякая двоичная дробь равна некоторому числу из отрезка [0,1]. Если эта дробь (отличная от дробей 0 = 0,000... и 1 = 0,111...) содержит 0 или 1 в перио- де, то χ есть число вида т/2", где т = 1,3,...,2" -1, и тогда, наряду с исход- 37
ным, существует еще одно двоичное разложение х. Если же двоичная дробь не содержит 0 и 1 в периоде, то χ Φ mJT не имеет других двоичных разложений. Укажем способ, которым по заданному числу xg [0,1) находится его двоичное разложение. Делим промежуток [0,1) пополам. Если 0 < jc < —, то полагаем я, = 0; если же - < χ < 1, то полагаем а] = 1. Тот из двух ^азанных промежут- 2 /; ков, куда попал х, делим по такому же принципу пополам; если χ попадает в ле- вую из двух половин, то полагаем а2 - 0, если в правую, то полагаем а2 = 1. Аналогично определяются и все последующие цифры. 6.5. Множества мощности континуума Бесконечное множество, не являющееся счетным, называется несчетным. Теорема 6.5.1. [Кантор]. Множество бесконечных последовательностей нулей и единиц несчетно. Доказательство. Если бы множество было счетным, мы смогли бы пере- нумеровать все его элементы: а19а2,а39... и составить бесконечную вниз табли- цу, строками которой являются последовательности а(: ах=аи ап а1Ъ а14 ... а2=а2] а22 ап а24 ... аз=«31 «32 «33 «34 - «4 =«41 «42 «43 «44 - (здесь через ai} обозначен j-й член z-й последовательности равный 0 или 1). Рассмотрим последовательность а0, образованную членами, стоящими на диа- гонали: а0 = {«„,«!ρα22,α33,.··} · Заменив все члены этой последовательности на противоположные, получим последовательность β0 = {βι,β2>β3,...}, у которой Д -1 - аи. Следовательно, последовательность β0 отличается от любой из по- следовательностей ai и потому отсутствует в таблице. Однако по предположе- нию, таблица включает в себя все бесконечные последовательности нулей и единиц - противоречие. α Следствие 6.5.1. Множество всех подмножеств натурального ряда N не- счетно. Теорема 6.5.2. Отрезок [0,1 ] эквивалентен множеству всех бесконечных последовательностей нулей и единиц. Доказательство. Действительно, каждое число *е[0,1] записывается в виде бесконечной двоичной дроби (см. пункт 6.4) и каждой последовательности 38
нулей и единиц [а^а2а3...] соответствует число хе[0,1], являющееся суммой Σ» а. Указанное соответствие пока что не является биекцией, поскольку числа т вида —, где т = 1,3,...,2й -1, допускают два представления. Соответствие ста- нет биекцией, если отбросить дроби с единицей в периоде. Но таких дробей счетное число, поэтому, на мощность это не повлияет. α Теперь все готово для доказательства следующего удивительного факта. Теорема 6.5.3. Квадрат [0,1] χ [0,1] эквивалентен отрезку [0,1]. Доказательство. Поскольку [0,1]х [0,1] = {(*,>>): ;t,>>g[0,1]}, to для каж- дой точки (х,у) имеются двоичные разложения ее координат: х = 0,х1х2ху.. и ^ = 0,^,^2^3-- Паре последовательностей {χλχ2χ3...} и {уху2уъ ···} поставим в соответствие последовательность вида {ххухх2У2хъУу)' Указанное соответст- вие будет биекцией [0,1 ] χ [0,1 ] на [0,1 ]. π Следствие 6.5.2. Отрезок [0,1] и квадрат [0,1] х[0,1] - несчетные мно- жества. Имеет место более общее утверждение: для любого бесконечного множе- ства X его декартов квадрат ХхХ равномощен самому множеству X. Всякое множество мощности континуума (т.е. эквивалентное множеству действительных чисел отрезка [0,1]) является несчетным. Весьма глубокий во- прос о существовании бесконечного множества, мощность которого была бы промежуточной между К0 и С= 2Х°, будет затронут ниже. 6.6. Теорема Кантора о мощности множества всех своих подмножеств Приведем еще одну теорему, доказанную Кантором. Теорема 6.6.1. [Кантор]. Никакое множество X не равномощно множе- ству всех своих подмножеств. Доказательство. Пусть существует биекция φ между множеством X и множеством В(Х) всех подмножеств множествах Рассмотрим множество Ζ = ίχ е X: χ £ φ(χ)), состоящее из тех элементов хеХ, которые не принадлежат соответствующему подмножеству φ(χ)<ζΧ. Докажем, что подмножество Ζ не является образом при отображении φ ни для какого элемента из X. Предположим противное, т.е. что существует такой элемент ze X, что Ζ-φ{ζ). Тогда ζ<ξΖ <=> ζ£φ(ζ) <=> ζ&Ζ 39
(первое - по построению множества Z, второе - по предположению φ(ζ) = Ζ). Полученное противоречие показывает, что элемента ζ с указанным свойст- вом не существует и Ζ не является образом никакого элемента из X. Та- ким образом, φ не является биекцией. π Заметим, что любое множество X равномощно некоторому подмножеству множества В{Х). В самом деле, каждому элементу хеХ можно поставить в соответствие одноэлементное подмножество {х}еВ(Х). Вспоминая определе- ние сравнения множеств по мощности (см. пункт 6.3.), получаем, что pf|<p(jf) , то есть мощность множества X меньше мощности множества всех подмножеств множества X. Из теоремы Кантора следует, что для множества любой мощности можно построить множество большей мощности, затем из него построить множество еще большей мощности и так далее, получая неограниченную шкалу мощно- стей. Так, множество N натуральных чисел - счетно, и его мощность равна К0; множество всех подмножеств множества N - несчетно и его мощность равна Kj = 2N° или С; мощность множества всех подмножеств К, -множества равна К2 = 2х' и так далее. В результате получаем бесконечную шкалу мощно- стей: K0<Kj<Kr... Таким образом, множества наибольшей мощности не существует. В 1878 г. Г.Кантор высказал гипотезу о том, что не существует множест- ва, мощность которого была бы промежуточной между К0 и К,. Эта гипотеза называется континуум-гипотезой. В 1966 г. американский математик П.Коэн доказал независимость континуум-гипотезы от других аксиом теории мно- жеств. А именно: можно считать, что между счетным множеством и множест- вом всех его подмножеств существует промежуточное множество, но можно считать, что такого множества не существует. Ни одно из этих предположений не противоречит остальным аксиомам теории множеств. Подробнее см. в [9]. 6.7. О парадоксах в канторовой теории множеств и аксиомах теории множеств Теория множеств является универсальным фундаментом для всего здания математики. Область исследования каждой математической дисциплины можно представить в виде набора множеств заданной структуры. Однако на рубеже XIX и XX столетий, когда идеи Кантора стали получать признание, выясни- лось, что наглядные, интуитивные представления о множествах, которыми опе- рировал Кантор, ведут к неразрешимым противоречиям. В этот период были открыты парадоксы (антимонии) теории множеств. К ним относятся: пара- докс Кантора, парадокс Рассела и парадокс Бурали-Форти. Парадокс Кантора (1899 г.). Парадокс Кантора связан с множеством всех множеств и демонстрирует, что предположение о существовании множества всех множеств ведёт к противоречию, следовательно, противоречивой является и теория, в которой построение такого множества возможно. 40
Пусть U - множество всех множеств, элементами которого являются все множества. Тогда, в частности, все подмножества множества U будут его эле- ментами, и B(u)aU, следовательно, !#({/)[<|£/|. С другой стороны, по тео- реме Кантора 6.6.1: |#(С/)|>|£/|. В этом и состоит парадокс (антимония) Канто- ра. Парадокс Кантора обусловлен тем, что рассматриваемое множество являет- ся своим элементом. Парадокс Рассела (1902 г.). Как правило, множества не являются своими собственными элементами. Например, множество N всех натуральных чисел не является натуральным числом (не является элементом множества N), мно- жество треугольников не является треугольником, множество деревьев не явля- ется деревом и так далее. Однако существуют множества, которые содержат себя в качестве своего элемента. Например, множество списков - это тоже список, множество групп - это группа и т.д. Б. Рассел открыл парадокс, осно- ванный на рассмотрении множества, не являющегося своим элементом. Пусть Υ - множество всех множеств, не содержащих себя в качестве элемента: Υ = {Χ:ΧϊΧ}. Если множество Υ существует, то мы должны иметь возможность отве- тить на следующий вопрос: Υ е Υ ? Пусть YeY, тогда Υ удовлетворяет условию вхождения, то есть Υ £ Υ. Если же Υ £ Υ, то Υ не удовлетворяет условию вхож- дения и Υ е Υ. Получается неустранимое логическое противоречие, которое и известно как парадокс Рассела. Существует много популярных формулировок парадокса Рассела. Одна из них традиционно называется парадоксом брадобрея и звучит так. В одной деревне живет парикмахер, который бреет тех и только тех жителей деревни, кто не бреется сам. Может ли парикмахер побрить самого себя? Если он будет брить себя, то, как житель этой деревни, который бреется сам, он не вправе это- го сделать, но если парикмахер не станет бриться, то уже как житель деревни, который не бреется сам, он обязан будет себя побрить. Парадокс брадобрея яв- ляется своеобразным вариантом парадокса Рассела. Рассмотренное здесь мно- жество У- это своего рода "брадобрей". Если предположить, что Υ е Υ, то сра- зу приходим к выводу, что Υ £ Υ. Если же предположить, что Υ £ У, получим YeY. Приведем еще одну формулировку парадокса Рассела, называемую пара- доксом каталогов. Некая библиотека решила составить библиографический ка- талог, в который входили бы все те и только те библиографические каталоги, которые не содержат ссылок на самих себя. Должен ли такой каталог включать ссылку на себя? Парадокс Бурали-Форти (1897г.). Этот парадокс демонстрирует, что предположение о существовании множества всех трансфинитных чисел ведёт к противоречиям и, следовательно, противоречивой является теория, в которой построение такого множества возможно. Более подробное описание этого пара- докса выходит за рамки данного курса, см. [2], [9], [14]. 41
Кантор обосновывал истинность фундаментальных выводов своей теории не прямо, а косвенно - методом от противного: верно либо утверждение, либо его отрицание (закон исключенного третьего). Но в парадоксе Рассела приме- няется та же логическая процедура, проверенная тысячелетиями, и она дает осечку. Таким образом, оказалось, что при использовании теоретико- множественных представлений, некоторые утверждения могут быть доказаны вместе со своими отрицаниями (а тогда, согласно правилам классической логи- ки высказываний, может быть «доказано» абсолютно любое утверждение!). Появление парадоксов оказало на математический мир, по выражению Д. Гильберта, «катастрофическое воздействие», поскольку теория множеств иг- рала роль фундамента, на котором возводилось все здание математики. «Перед лицом этих парадоксов надо признать, что положение, в котором мы пребываем сейчас, на длительное время невыносимо. Подумайте: в математике - этом об- разце надежности и истинности - понятия и умозаключения, как их всякий изу- чает, преподает и применяет, приводят к нелепостям. Где же тогда искать на- дежность и истинность, если даже само математическое мышление дает осеч- ку?» - сокрушался Гильберт в своем докладе на съезде математиков в июне 1925 г. 6.8. Аксиомы теории множеств Парадоксы теории множеств демонстрируют трудности, неизбежно свя- занные с попытками построить теорию множеств на интуитивной основе, исхо- дя из канторовской концепции множества. Эти трудности ставят проблему: как видоизменить теорию множеств, чтобы в ней не возникали парадоксы? Было замечено, что парадоксы теории множеств связаны с использовани- ем «слишком больших множеств», вроде множества всех множеств в парадоксе Кантора. Поскольку свободное пользование понятиями, исходящими из канто- ровского определения понятия множества приводит к трудностям, Э. Цермело в 1908г. предложил ограничиться рассмотрением множеств, предусмотренных некоторым списком аксиом, которые были несколько расширены А. Френкелем и носят название системы аксиом Цермело-Френкеля (ZF). Эти аксиомы сфор- мулированы так, что не видно, как можно было бы вывести из них известные парадоксы. В то же время аксиомы эти достаточны для вывода из них обычно- го запаса предложений классической математики, в том числе и абстрактной теории множеств, но без парадоксов. Представим систему аксиом Цермело- Френкеля (см. [9, 15, 27, 28]). 1) Аксиома объемности. Два множества равны, если и только если они состоят из одних и тех же элементов: А = В <=> \/х(х е А <=> χ е В). 2) Аксиома объединения. Объединение всех элементов любого множе- ства А есть множество, т. е. если существует множество А , то существует мно- жество и A = {a:aeb для некоторого be A]. 42
3) Аксиома множества всех подмножеств. Если существует множест- во А9 то существует множество В(А) = {В:В^А} всех подмножеств мно- жества А. 4) Аксиома замены. Для каждого множества Л и функции/, определенной на множестве А, существует множество В = {у :y = f(x), xeA}, содержащее объекты f(x) для χ е А. 5) Аксиома регулярности (фундирования). Не существует бесконечной последовательности вложенных множеств: каждая убывающая последователь- ность множеств Αλ з А2 з Аъ з... - конечна. 6) Аксиома бесконечности. Существует, по крайней мере, одно бесконеч- ное множество - множество ω-{0,1,2,...,«,...}, где 0 = 0, п + \ = пи{п}. 7) Аксиома выделения. Для любого множества А и свойства (предиката) Ρ такого, что для любого χ е А высказывание Р(х) либо истинно, либо ложно, существует множество В = {b:be А и Р(Ь) истинно). 8) Аксиома выбора. Для любого непустого множества S, попарно не пере- секающихся множеств, существует некоторое множество С, содержащее в ка- честве своих элементов ровно по одному элементу из каждого элемента множе- ства S. 7. Задачи и упражнения 1. Сколько существует подмножеств у «-элементного множества? 2. Какие из следующих утверждений справедливы: а)0с{0}; Ь){0}с0; с){0}с{{0}}; d){{{0}}}-{{0}}? 3. Доказать, что {{1,2}, {2,3}} φ {1,2,3}. 4. Пусть А = {{1,2}, {3}, l}. Перечислить все элементы булеана &(А). 5. Доказать формулу включений и исключений: |Ли2?| = |Л| + |2?|-|л[п/?|, где АиВ- конечные множества, \А\ - число элементов множества Λ. 6. Доказать, что АпВ = А\(А\В). 1. Доказать, что А \ (В η С) = (А \ В) и (А \ С). 43
8. Доказать, что для произвольных множеств А, В и С справедливо равен- ство: (ААВ)\С = (А\С)А(В\С). 9. Упростить: AuBnCuC. 10. Доказать равенство: (AAB)kj(BAA) = (В\ А)А(А \В). 11. Равны ли кортежи: а) (1,2,3) и (1,2,3,4); Ь) (а,Ь,с) и (б,с,я)? 12. Пусть Л = (1,2,3,4,5,6,7,8) и B = (a,b,c,d,eyf,g,h). Опишите множе- ство Ах В. 13. Найти элементы множества (Α χ Β) η (Β χ А), если A-{a,b) и Я = {6,с}. 14. Множество А = {я,6,с}. Найти множество А3. 15. Доказать, что из AqX и ΒςζΥ следует AxBqXxY . 16. Доказать, что для произвольных множеств А, В, С, D: (AnB)x(CnD) = (AxC)n(BxD). 17. Пусть у4 = (1,2,3,4) и Р = {(тя,гс): т >п + l} - отношение на множе- стве А. Найти область определения и область значений отношения Р, образы и лрообразы элементов множества л\ 18. Пусть Л = {1,2,3,4,5,6,7,8}, В = (а,Ь9с) и С = {а,/?}. Р = {(а,\),(а,2)9 (b,\), (6,3), (с,2), (с,4)} - отношение из В в Л, Q = {(ΐ,α), (2,/?), (3,α)} - отно- шение из ^ в С. Найти область определения и область значений отношений р и <2; найти композицию P°Q отношений Ρ и Q. 1.9. Доказать следующие свойства отношений Р, Q, и 5 на множестве А: ^(PoQoSY^S-'oQ-'or1; b)(PuQ)oS = (PoS)u(QoS)', 20. Являются ли следующие отношения функциями: a) {(1,2), (2,3), (3,2)}; b) {(1,2), (1,3), (2,3)}; c) {*, χ2 -2χ-3}, xeR? 44
21. Является ли функция у = х4, xeR инъективной? 22. Рассмотреть на множестве матриц Μ функцию/ Μ -» ΛΊ, сопостав- ляющую каждой матрице АеМ транспонированную матрицу Ат. Найти D(f) и R(f). Является ли функция / инъективной, сюръективной или биективной? 23. Доказать, что функция f = Ux9 ): - 2 < χ < 1 > имеет обратную и найти ее. Найти область определения и область значений функции / 24. Доказать, что если функции f \ X -* X и g: X —> X инъективные, то функция / о g: Χ ~> χ также инъективная. 25. Доказать, что для любой функции f:X->Y и произвольных мно- жеств А^Х и ΒςζΧ из условия А с В следует, что f(A) с /(5). 26. Доказать, что если функция f:X->Y биективна, то / о f~l = ϊχ, где Ιχ: Χ -> Χ - тождественная функция. 27. Пусть А = {а,Ь,с} и 5 = {1,2,3,4}. Рассмотрим отношения PqAxB и QqBxB вида P={(a,l),(fl,2),(fl,4),(c,2),(c,3),(c,4)} и 2 = {(2,1},(3,1),(3,2),(4,1),(4,3)}. Изобразить отношения Ρ и Q графически. Найти матрицу Up о g) . Проверить с помощью матрицы [Q] основные свой- ства отношения Q. 28. Какими свойствами обладают следующие отношения: a) «быть перпендикулярным» на множестве прямых; b) «быть удаленной на 4 см» на множестве точек в пространстве; c) «быть не больше» на множестве чисел {1, 2, 3, 4, 5, 6, 7, 8, 9}; d) «быть другом» на множестве людей; e) «быть логарифмом» на множестве положительных действительных чисел; f) «быть подобным» на множестве треугольников; g) «быть равновеликой» на множестве фигур? 29. Составить анкету отношения Ρ = {(α,α), (а,Ь), (с9а), (b,d), (a9d)9 {b,c)} на множестве X = {a,byc,d}. Найти матрицу отношения Р, проверить с помо- щью матрицы [Р] основные свойства отношения Ρ и построить его граф. 45
30. Описать свойства отношения Р, заданного по правилу х Ρ у == Л* - у\ < 5\ на множестве R действительных чисел. 31. Пусть хРу = {(х>\)=>(у>\у,х,уеЩ. Установить основные свойства отношения Р. 32. Найти область определения, область значений отношения Pel2 вида (х,у) е Ρ <=> х2 + у2 = 1 · Является ли это отношение рефлексивным, анти- рефлексивным, симметричным, антисимметричным, асимметричным, транзи- тивным? 33. Привести примеры отношений: a) не рефлексивного, но симметричного и транзитивного; b) не симметричного, но рефлексивного и транзитивного; c) не транзитивного, но симметричного и рефлексивного. 34. Доказать, что если отношения Ρ и Q рефлексивны, (антирефлексив- ны, симметричны, антисимметричны, транзитивны), то отношение Ρ η Q обла- дает такими же свойствами. 35. Доказать, что отношение Ρ рефлексивно тогда и только тогда, когда отношение Ρ - антирефлексивно. 36. Доказать, что если отношение Ρ обладает каким-то из основных свойств, то обратное отношение Р~1 также обладает этим свойством. 37. Показать, что отношение параллельности прямых является отно- шением эквивалентности, а отношение перпендикулярности - нет. 38. Определим отношение Ρ на множестве статей по математике следую- щим образом. Две статьи а и β принадлежат Р, тогда и только тогда, когда они имеют ссылку на одну и ту же статью. Является ли это отношение отноше- нием эквивалентности? 39. Доказать, что отношение Р, заданное по правилу на множестве Ш2 пар действительных чисел является отношением эквива- лентности. Определить классы эквивалентности этого отношения. 40. Доказать, что отношение P=Ua,b): (a -b)-рациональное число} яв- ляется отношением эквивалентности на множестве действительных чисел. 41. Доказать, что отношение (т,п)Р(к,г) = {т + к = п + г] на множестве ΝχΝ является отношением эквивалентности. Найти классы эквивалентности и построить график этого отношения. 46
42. Пусть С - множество комплексных чисел, на котором задано бинар- ное отношение Ρ вида ζ]Ρζ2 <=> |zj = |z2|. Показать, что это отношение является отношением эквивалентности. Найти фактор - множество С/Р. 43. Показать, что на множестве людей отношение Р, заданное по правилу аРЬ = {а старше b], является отношением строгого порядка. 44. Показать, что множество слов в словаре с лексикографическим упоря- дочением является линейно упорядоченным множеством. 45. На множестве {1,2,3,4,5,6,7,8,9,10} задано отношение Р: вида аРЬ = {число анаЪ единицы больше числа b]. Является ли это отношение от- ношением строгого порядка? 46. Показать, что отношение тРп^{п кратно т; m,neN} является от- ношением частичного порядка. Для произвольных натуральных чисел тип найти mi{m,n) и sup(m,«). 47. Доказать, что если отношение Ρ является отношением нестрогого (строгого) порядка, то отношение Р~1 - отношение нестрогого (строгого) по- рядка. 48. Доказать или опровергнуть следующее утверждение: если отношения Ρ и Q являются отношениями строгого (нестрогого) порядка, то отношение PuQ также обладает этим свойством. 49. Пусть Ρ и Q - отношения на множестве Ν2, заданные по правилам: (т,п)Р(к,г)<=>(т<к и п<г) и (m,n)Q(k,r) <=>(т <к и η > г). Являются ли отношения Ρ и Q отношениями нестрогого порядка? 50. Показать, что числовые множества с обычным отношением порядка являются линейно упорядоченными множествами. 51. Построить линейный порядок на множестве комплексных чисел. 52. Доказать, что множество всех целых положительных делителей числа 30 с отношением «быть делителем» в качестве отношения порядка изоморфно множеству всех подмножеств множества {а, Ъ> с}, упорядоченному по включе- нию. 53. Показать, что отрезок [0,1] (с обычным отношением порядка) не изо- морфен множеству R. 54. Пусть (β({1,2,3}); с] - множество всех подмножеств, упорядо- ченное по включению, a A = {{l}, {2,3}, {1,3}, {1,2,3}} c#({l,2,3}). Показать, что в А элемент {1,2,3} - наибольший и максимальный; элементы {1}, {2,3} и {1,3} - минимальные; наименьшего элемента нет. 47
55. Пусть на множестве комплексных чисел С задано бинарное отноше- ние Ρ вида ζχ Ρζ2 <=> {(ReZj < Rez2) и (imzj = πτιζ2)]. Пусть А с С - множе- ство комплексных чисел, удовлетворяющих условию: ze>4<=>|z|<l4 Найти в А экстремальные элементы. 56. Верно ли, что из А = В следует А- В? И наоборот, верно ли, что из А ~ В следует А = В? Приведите примеры. 57. Доказать, что любые две окружности на плоскости равномощны. 58. Доказать, что (-1,1)-(-1,1] ~ [-1,1)-[-1,1]. 59. Доказать, что промежуток [0,1) равномощен интервалу (0,оо). 60. Показать равномощность множества точек прямой и полупрямой. 61. Доказать, что множество всех прямых на плоскости равномощно множеству всех точек на плоскости. 62. Доказать, что множество точек плоскости с рациональными коорди- натами счетно. 63. Установить биекцию между точками замкнутого квадрата и точками плоскости. 64. Указать биекцию между множеством точек окружности и множеством внутренних точек круга. 65. Доказать, что любое семейство непересекающихся интервалов на пря- мой не более чем счетно. 66. Доказать, что любое множество непересекающихся восьмерок на плоскости не более чем счетно. (Восьмерка - объединение двух касающихся окружностей любых радиусов). 67. Какую мощность имеет множество комплексных чисел вида p + iq, где ρ и q - рациональные числа? 68. Доказать, что все области на плоскости имеют мощность континуума. 69. Какова мощность множества иррациональных чисел? 70. Доказать существование трансцендентных (неалгебраических) чисел. 48
Глава 2. КОМБИНАТОРИКА Комбинаторика - раздел математики, в котором изучаются методы ре- шения задач выбора, расположения и пересчета элементов конечного множест- ва в соответствии с заданными правилами. Каждое такое правило определяет способ построения некоторой конструкции из элементов исходного множества, называемой комбинаторной конфигурацией. Основные задачи комбинаторики заключаются в следующем [7]: • нахождение конфигурации элементов с заданными свойствами; • доказательство существования конфигурации с заданными свойствами; • нахождение общего числа конфигураций с заданными свойствами; • описание всех способов решения данной комбинаторной задачи и алго- ритма их перечисления. • Выбор из всех решений данной комбинаторной задачи оптимального ре- шения по тем или иным параметрам. Комбинаторные методы широко применяются в дискретной математике и ее приложениях, в теории информации, криптографии, физике, химии, биоло- гии, статистике, экономике. Они находят применение при построении блок- схем, алгоритмов и расписаний. Комбинаторные соображения лежат в основе решения многих задач теории вероятностей. 1. Основные комбинаторные схемы 1.1. Правило суммы Пусть А и В - такие конечные множества, что Аг\В = 0, \а\ = т и |i?| = л. Тогда \АиВ\ = т + п. Интерпретация. Если элемент ае А можно выбрать т способами, а эле- мент be В - η способами, то выбор элемента хеАиВ можно осуществить т + η способами. Обобщение. Если множества А1,А2,...,Ап являются разбиением мно- жества А, то \А\ = υ"=, Ал = u"=, \A;\. Пример 1.1.1. В урне 2 красных, 3 желтых, 5 зеленых и 10 белых шаров. Сколькими способами можно выбрать цветной (не белый) шар? По правилу суммы это число равно 2+3+5=10. 1.2. Правило произведения Пусть А и В - конечные множества, \а\ - т и \в\ = η. Тогда \А χ В\ = т · η. Интерпретация. Если элемент ае А можно выбрать т способами и ес- ли после каждого такого выбора элемент be В можно выбрать η способами, 49
то выбор пары элементов (a,b)e Ах В в указанном порядке можно осущест- вить \А χ В\ = т · η способами. Обобщение. Пусть Ах, А2,..., Ап - произвольные множества, - |Д.| = Л., г = 1,2,..., л. Тогда \АХ χ Α2 χ.,.χ Ап\~кх · к2 ·...· кп. В частности, если Ах- А2- ... = Ап= А и \А;\ = к, то \А" = к" - правило степени. Интерпретация. Пусть производится выбор η элементов. Если первый элемент ах € Ах может быть выбран кх способами, второй а2 € А2 - к2 способа- ми, независимо от того, как выбирался первый, третий аъ еА3 -к3 способами, независимо от того, как выбирался первый и второй и т.д., то общее число спо- собов, которыми такой выбор может быть осуществлен равно произведению кх -к2 ·...-кп. Пример 1.2.1. Найти число маршрутов, из пункта А в пункт С через пункт В, если из А в В ведут 5 дорог, а из В в С - 3 дороги. По правилу произве- дения это число равно 5-3 = 15. Пример 1.2.2. Число всех подмножеств множества А из η элементов равно 2". Решение. Перенумеруем элементы множества А и для каждого подмно- жества множества А построим последовательность длины η из нулей и единиц по следующему правилу: на к-м месте пишем 1, если элемент с номером к вхо- дит в подмножество, и 0 - если не входит. Согласно правилу произведения чис- ло всех возможных последовательностей длины п, составленных из нулей и единиц, равно: 2-2-.-2 = 2". 1.3. Формула включения-исключения Следующая формула, называемая формулой включения-исключения, по- зволяет найти мощность объединения двух множеств, если известны мощности каждого из них, а также мощность их пересечения: \АиВ\ = \А\ + \В\-\АпВ\. Если АпВ = 0, то формула очевидна: |Ли#| = |Л| + |2?|. Пусть АпВ-0. Представим множества А, В и А и В как объединение непересекающихся мно- жеств: А = (АпВ)и(АпВ), В = (АпВ)и(ВпА) и АиВ = (АпВ)и(АпВ)и(ВпА). Следовательно, 50
и \А u В\ = \А η В\ + \А η В\ + \В η Ά\. Подставляя Un£ и ρη^ί из первых двух равенств в третье, получаем дока- зываемую формулу. Для η множеств общая формула включения-исключения получается ин- дукцией по п: |Л, и А2 и ...u An\= ])Г \Aj\- ]Г \А^а]+ ]Г И/п ^у η Λ ~ /=! \<i<j<n \<i<j<k<n -... + (-1)" \А] г\ А2 о ...о Ая\. Пример 1.3.1. Каждый студент группы - либо девушка, либо блондин, либо любит математику. В группе 20 девушек, из них - 12 блондинок, и только одна блондинка любит математику. Всего в группе - 24 студента блон- дина, математику из них любят - 12, а всего студентов (юношей и девушек), которые любят математику - 17, из них - 6 девушек. Сколько студентов в данной группе? Решение. Пусть А - множество девушек, В - блондинов, С - студентов, которые любят математику. Тогда Α η В - множество блондинок, Ас\С - множество девушек, которые любят математику, Вг^С - множество всех блондинов (юношей и девушек), которые любят математику, АпВпС - мно- жество блондинок, которые любят математику. По формуле включения- исключения \Аи В и С\ = \А\ + \В\ + \С\-\А η Β\-\Α η С\-\В η С\ + \А η Β η С\ = -20+ 24+ 17-(12 + 6 + 12)+1 = 32. Рассмотрим следующий вариант формулы включения-исключения. Пусть для любого / множество Ai является подмножеством некоторого множества А. Обозначим через А. дополнение к А. до множества Л: А. = А\АГ По формуле де Моргана, дополнение к объединению множеств равно пересечению их до- полнений; поэтому |Д nA2r\...nAn\ = \A\(AlvA2u...vAn)\ = \A\-\Al uA2u...kjAii\. Теперь, воспользовавшись формулой включения-исключения, получим |Дп12п...пЛ"яи|л|-Х|Д.|+ X \А^А\~ X \A,nAJnAk\+...+ / = 1 ]<i<j<n \ui<j<k<n + (-1)"|Λ, η Α2 η ...η Αη\. 51
1.4. Функция Эйлера Натуральные числа тип называются взаимно простыми, если их наи- больший общий делитель равен 1. Функцией Эйлера φ(πι) называют число натуральных чисел, не превос- ходящих т и взаимно простых с т. Например, <р(1) = 1, φ(Ί)-\, ^(3) = 2, ^(4) = 2,^(5) = 4. Выведем формулу для функции Эйлера. Пусть натуральное число т име- ет следующее разложение на простые множители: т = ркхх ■ р*2 ·...·ркп*. Рассмот- рим множества: А = {1,2,...,/я}, A{ = [j: j eA, j делится на /?.], А. - А \ Ai, i = 1,2,..,«. Число взаимно просто с т тогда и только тогда, когда оно не делит- ся ни на один простой делитель числа т. Следовательно, множество чисел, вза- имно простых с т и не превосходящих т, совпадает с множеством А1пА2п...пАп. Таким образом, φ(τη) есть мощность этого множества. Заметим, что Д. ={/?.,2/?.,...,/и} и |д| = —. Так как множество Aic\Aj co- Pi стоит из чисел, кратных произведению pi · ρ , то Ц η Λ. = . Аналогично, мощность пересечения любого числа из множеств Ai равна: I л л \ т \А. η А. п...пД. = . 1 * 2 Л PhPi2-Pis Используя формулу включения-исключения, находим функцию Эйлера η ^(т) = |д пЛ2п...пД| = |л|-^И| + Σ \AinAj\~ Σ \А(пА.г\Ak\ + ...+ /=1 !</<_/<« \<i<j<k<n Pi Pr Ρ j Pi/Pi2--'Pis + ... + (-1) = m PrPi-Pn Таким образом, функция Эйлера (р(т) = m 1- ί,-i-l Ι Ρχ) •ί.-J-l 1 л J ί'--1 I A J fi-Ll I Pi) ί,-Χ] Ι ρ J 52
Приведем значения функции Эйлера для первых десяти значений аргумента. т <р(т) т φ{τη) 1 1 6 2 2 1 7 6 3 2 8 4 4 2 9 6 5 4 10 4 1.5. Выборки Пусть дано некоторое конечное множество А = {а1,а2,...,ап] - генеральная совокупность. Из элементов генеральной совокупности образуются выборки: Ц,л%,...,^},где^/2,...,1,€{1,2,...,л}. Если порядок элементов в выборке существен, то выборка называется упорядоченной, иначе выборка называется неупорядоченной. В зависимости от того, могут или не могут элементы выборки повторяться, ее называют выбор- кой с повторениями или выборкой без повторений. Число элементов выборки называется ее объемом. 1.6. Размещения с повторениями Имеются предметы η различных видов [а],а2,...,ап]. Из них составляют всевозможные выборки объема/:. Например, (^a2,avai,a3,a4,a3,a2,al) - выборка объема 8. Такие упорядоченные выборки называются размещениями с повто- рением из η по k (элементы одного вида могут повторяться). Например, пусть А = {а,Ь,с}, выпишем всевозможные размещения с по- вторениями из этих трех элементов по два: {(а,Ь), (Ь,а), (а,с), {с,а), {b,c), (c,a), {a,a), {b,b)9 (с,с)}. Найдем число Ак размещений с повторениями из η элементов по к, среди которых два размещения считаются различными, если они отличаются друг от друга или видом входящих в них предметов, или порядком этих предметов. При образовании размещений с повторениями объема к на каждое место можно по- ставить предмет любого вида из множества [ava2,...,an]. Рассмотрим множест- ва А19А2,...,Ак такие, что Ах = А2 =... = Ак ={а19а2>...9ап}. Тогда все размещения с повторениями составят множество Αι χ Аг χ ...χ Ак = Ак. По правилу произведе- ния общее число Акп размещений с повторениями из η элементов по к равно \AlxA2x...xAk\ = \Ak\ = nk. Пример 1.6.1. Сколькими способами среди η лиц можно распределить к различных предметов? Каждое лицо может получить любой из предметов. По- этому число способов распределения равно Ак = пк. 53
Пример 1,6.2. Пусть множество X ~[xvx29...9xk) и множество Y = {yl9y29...9yn}. Рассмотрим всевозможные функции f:X-*Y с областью определения X и областью значений Y. Сколько всего имеется таких функций? Каждую функцию можно задать таблицей значений *1 Ук х2 Ук *s д хк yik где yi -f{xs)- Так как каждый из элементов yt:, д,..., у. является одним из элементов множества Y, то всего имеется Ак = пк различных таблиц. Таким об- разом, имеется пк различных функций с областью определения X и областью значений У. 1.7. Размещения без повторений Размещением без повторений из η различных элементов {а]9а2,...,ап} по к называется упорядоченная выборка без повторений объема к. Например, размещения без повторений из трех элементов а, Ъ, с по два - это множество следующих упорядоченных пар: {(a,b), (Ь,а), (а,с), {с,а), {Ь,с), (с,а)}. Найдем число размещений без повторений из η элементов по к, к<п, среди которых два размещения считаются различными, если они отличаются друг от друга либо хотя бы одним элементом, либо состоят из одних и тех же элементов, но расположенных в разном порядке. При составлении размещений без повторений объема к на первое место можно поставить любой элемент из множества {ava29...9an}. На второе место теперь можно поставить только лю- бой из η -1 оставшихся элементов. И так далее, и наконец на &-ое место - лю- бой из п-к + \ элементов. По правилу произведения, общее число размещений без повторений из η по к равно: 4=и(и-1).(и-2)...,(Л-* + 1) = ^-^. Пример 1.7.1. В хоккейном турнире участвуют 17 команд. Разыгрывают- ся золотые, серебряные и бронзовые медали. Сколькими способами могут быть распределены медали? Решение. 17 команд претендуют на 3 места. Тогда тройку призеров мож- но выбрать ^4^ =171615 = 4080 способами. Пример 1.7.2. Число способов размещения к шаров по η урнам, не более чем по одному шару в каждую урну, равно Акп . Пример 1.7.3. Пусть множество X = {х19х29...9хк} и множество Y = {yl,y2,...9y„}, к < η . Число инъективных функций f:X->Y равно Акп. 54
1.8. Перестановки без повторений Перестановкой без повторений из η элементов называется размещение без повторений из η элементов по п. Таким образом, каждая перестановка со- держит все элементы множества и две перестановки могут отличаться друг от друга только порядком элементов. Например, перестановки из трех элементов а9Ъ9 с - это следующее мно- жество: {(a,bc)9 (a9c9b)9 (b,a9c), (b9c,a), (c,a,b), (c9b9a)}. Число перестановок из η элементов обозначается Рп. Формула для Рп сразу получается из формулы для числа размещений без повторений из η эле- ментов по п. Именно ρ„ = λ; = "·("-0·("-2)·...·2·ι = «!. При этом полагают 1! = 1 и 0! = 1. Пример 1.8.1. Сколькими способами можно упорядочить множество чи- сел {1,2,...,2«} так, чтобы каждое четное число имело четный номер? Решение. Четные числа можно расставить на местах с четными номерами (таких мест п) п\ способами; каждому способу размещения четных чисел на местах с четными номерами соответствует п\ способов размещения нечетных чисел на местах с нечетными номерами. Поэтому общее число перестановок указанного типа по правилу произведения равно η\·η\ = η?. Пример 1.8.2. Пусть множество X = {х19х2,...9ха} и множество ^{•Ур-Уг»·->Уп}· Число биективных функций f\X<^>Y равно Рп. Пример 1.8.3. Сколько перестановок можно составить из η элементов, в которых данные два элемента не стояли бы рядом? Решение. Найдем число перестановок, в которых данные два элемента а и Ъ стоят рядом. Можно принять эти два элемента за один, и тогда число пе- рестановок, в которых они стоят рядом, равно Рп_х -(п-\)\. Кроме того, сами элементы а и Ъ могут поменяться местами. Следовательно, число перестано- вок, в которых два элемента а и Ъ стоят рядом, равно 2 · (п -1)!. Поэтому ис- комое число перестановок равно: п\- 2 ·(и -1)!-{п -1)!·[п - 2). 1.9. Сочетания без повторений Сочетанием без повторений из η различных элементов {а]9а2,...,ап} по к называется неупорядоченная выборка без повторений объема к. Например, сочетания без повторений из трех элементов а9 Ъ9 с по два - это множество следующих пар: {(а9Ь)9(а9с),(Ь,с)}. 55
Два сочетания считаются различными, если они различаются друг от друга со- ставом (но не порядком) элементов, входящих в выборку. Найдем число С* сочетаний без повторений из η элементов по к, к<п. Составим все сочетания из η элементов по к. Затем в каждом сочетании пере- ставим элементы всеми возможными способами. Тогда получим все размеще- ния без повторений из η элементов по к, число которых равно Ак. Так как каж- дое сочетание дает к\ размещений, то по правилу произведения можно запи- сать Ск хк\ = Ак . Следовательно, Ск = —- = —- ^ ' " ^ -. " к\ к\ к Л? Таким образом: С =—; — · п к\(п-к)\ Числа Ск обладают следующими свойствами: 1)С*=С"<; 2) Ск+Ск+1=СкЦ; Ъ)(а + Ъ)п =^пкоСкпакЬп~к для любых a,beR и neN; 5) ς:„(-ο* с:=о. Равенства 1) и 2) проверяются непосредственно. В силу равенства 3 (би- ном Ньютона) числа Ск называются биноминальными коэффициентами. Равенство 4) есть частный случай равенства 3) при а = Ъ =1 и показывает, что число всех подмножеств из η элементов равно 2". Последнее равенство следует из равенства 3) при а - -1 и Ъ = 1. Пример 1.9.1. Сколькими способами можно угадать к номеров в карточ- ке «Спортлото 6 из 49»? Решение. Следует найти число неупорядоченных выборок объема 6 из генеральной совокупности {1,2,...,48,49), которые отличаются друг от друга составом зачеркнутых номеров. Из 6 выигрышных номеров к, \<к<6, номе- ров можно выбрать С* способами. Остальные (б-к) номеров должны быть выбраны из 43 невыигрышных номеров. Это можно сделать С%~к способами. По правилу произведения число способов сколькими можно угадать к номеров равно: Ск ■ СеА~к. Например, ^=49.48·47.46.45.44 = 13983816 49 6!·43! 1·2·3·4·5·6 - число способов выбора 6 номеров. Следовательно, вероятность угадывания к номеров равна: р{к) = С* ·С„к/С% . В частности, р(6) = 1:13 983 816. 56
Пример 1.9.2. Пусть множество X = {х]9х2,...,хк} и множество Y = {yl,y29...9y„}, где х] <х2 <...<хк и ух<у2< — <У„· Число строго монотон- ных функций f:X-*Y равно С*. Решение. Строго монотонная функция f: Χ ~>Υ определяется набором своих значений f(x{)eY, i = 1,2,...,к, причем yx<f{xx)<f(x2)<...<f{xk)<yn. Таким образом, число строго монотонных функций равно числу /:-элементных подмножеств «-элементного множества 7, то есть числу сочетаний из η по к. Пример 1.9.3. Число размещений к неразличимых предметов по п>к урнам, не более чем по одному в каждую урну, равно С*. 1.10. Сочетания с повторениями Пример 1.10.1. В кондитерской продаются пирожные пяти сортов: напо- леоны, эклеры, бисквитные, трубочки и слоеные. Сколькими способами можно купить 12 пирожных? Решение. Закодируем покупку первыми буквами названия пирожных и условимся указывать пирожные в порядке б, н, т, с, э, тогда получится кортеж длины 12 из 5 элементов - сортов пирожных, например: б б н н н ттт с сээ. Два кортежа одного и того же состава, скажем, ббнннтттссээи н н э н э б т с mm б с означают одну и ту же покупку: 2 бисквитных, 3 наполеона, 3 трубочки, 2 слоеных и 2 эклера. Поэтому две покупки будут различными лишь в случае, когда соответствующие кортежи отличаются составом. Найдем число способов покупки 12 пирожных из данных сортов. Рас- смотрим произвольную покупку, например, бннбнттсэтсэи запишем ее в виде: бб\ннн\ттт\сс\ээ, отделяя каждый сорт пирожных вертикальной чертой. Длина такого кортежа равна 12 + (5 -1) = 16. Ясно, что любую покупку 12 пирожных можно закодиро- вать, выбирая четыре места для вертикальных линий из 16 возможных мест. Например, кортеж \ннннн\ттт\сс\ээ означает, что куплено 0 биск- витных пирожных, 5 наполеонов, 3 трубочки, 2 слоеных и 2 эклера; \нн ннн\\ с с с с с\э э - куплено 5 наполеонов, 5 слоеных, 2 эклера, бисквитные пирож- ные и трубочки - не куплены. Число способов расстановки 4-х вертикальных линий на 16 мест кортежа равно (£=-^- = 1820 16 12!·4! - это и есть число способов покупки 12 пирожных. Рассмотренная задача относится к задачам на сочетания без повторений. 57
Пусть имеются предметы η различных видов и число элементов каждого вида неограниченно. Сочетаниями из η элементов по к элементов с повторениями называются выборки, содержащие к элементов, причем каждый элемент принадлежит к одному из η видов. Например, из трех элементов я, Ь, с можно составить такие сочетания с повторениями по два и по пять: {(a9b)9{a9c)9(b9c)9{a9a)9{b9b)9(c9c)}-9 {(a9a9a9b9c)9 (a9b9b9b9b)9 (c9c9c9c9c)9...}. Найдем число С* сочетаний с повторениями из η элементов аХ9а19...9ап по к. Рассмотрим произвольное сочетание с повторениями объема к из дан- ных η элементов. Так как порядок элементов в сочетаниях не учитывается, то такую выборку можно записать следующим образом: где элементы каждого из типов упорядочены и завершаются вертикальными линиями, за исключением последней серии элементов. Длина такого кортежа, состоящего из элементов и вертикальных линий, составляет к + (п-\) = п + к-\9 где к - число элементов в кортеже и (п -1) - число вертикальных линий. Чис- ло способов расстановки (/? -1) вертикальных линий на (п + к -1) мест корте- жа равно C™~l_x. Промежуточные места между линиями заполняются соответст- вующими типами элементов. Таким образом, число С* сочетаний с повторе- ниями из η элементов по к вычисляется по формуле ^л — ^η+k-l ~~ ^п+к-\ · Пример 1.10.2. Каким числом способов можно разместить к одинаковых предметов по η различным урнам, если в каждую урну разрешается поместить любое количество предметов (допустимо в том числе, что урна может оказаться пустой)? Решение. Присвоим урнам номера от 1 до п. Будем считать, что, помещая предмет в урну, мы присваиваем ему ее номер. Тогда размещение предметов по урнам сводится к построению последовательности, в которой к элементов и каждый из них принимает одно из η значений. Таким образом, число способов размещения равно С*. Пример 1.10.3. Каким числом способов можно распределить голоса 1 миллиона избирателей среди 12 избирательных блоков? Решение. Поставим в соответствие каждому возможному варианту голо- сования избирателей сочетание с повторениями следующим образом. Типами 58
элементов в нашем случае будем считать избирательные блоки. Имеем я = 12 типов элементов, из которых следует составить всевозможные выборки объема к = 1 000 000. Порядок элементов в такой выборке не играет роли, так как при подсчете итогов голосования неважно, какой из избирателей проголосовал за тот или иной блок. Тогда число способов распределения голосов между избира- тельными блоками равно с,^000000. Пример 1.10.4. Найти число неотрицательных целочисленных решений уравнения xl + х2 +... + хя =к (η > 1 - любое натуральное число, к - любое целое неотрицательное число). Решение. Каждое значение х. (/ = 1,2,...,я) представим в виде суммы xt единиц: xi = 1. + \i +... + 1,.. Обозначение 1. означает принадлежность единицы к разложению числа хг Имеем η типов единиц: {1,,12,...,1д}. Любое решение ис- ходного уравнения можно представить как сумму к единиц множества {lj,l2,...,lw}. Суммируя подобные единицы (единицы с одинаковыми индекса- ми), получим соответствующие слагаемые х. исходного уравнения. Соответст- вие между х. и представлениями х. в виде суммы единиц является биекцией, поэтому число решений уравнения равно числу сочетаний с повторениями С*. 1.11. Перестановки с повторениями Перестановкой с повторением называется упорядоченная выборка, в ко- торой каждый элемент генеральной совокупности встречается фиксированное (свое для каждого элемента) число раз. Пусть А = {а]9 а29..., ak} - генеральная совокупность. Число перестановок с повторениями, в которых элемент ах встречается пх раз, элемент а2 встреча- ется п2 раз, ..., элемент ak встречается nk раз, обозначим Р(п19 п2,..., пк). Вы- ведем формулу для вычисления P(nv п2,..., пк). Пусть η - общее число элемен- тов в каждой выборке указанного вида: η = пх + п2 +... + пк. Рассмотрим формирование перестановки с повторениями как процедуру из следующих к шагов. 1. Определяем л, мест, которые будет занимать элемент ах; 2. Определяем п2 мест, которые будет занимать элемент а2; к. Определяем пк мест, которые будет занимать элемент ак. 59
1-й шаг выполняется Сппх способами; 2-й шаг выполняется С"\ способами; к-й шаг выполняется С"* „ способами. Общее число перестановок с повторениями находится по правилу произ- ведения: с· с"2 с"3 · с-* п] (п~п^] (п-пх-п2)\ {п-пх-п2-...-пк_х)\ пъ \{п-пх -п2 -п3)\ пк\(п-пх-п2-...-пк)\ пх\ п2\ ...{п-пх-п2-...-пк)' Так как (п - пх - п2 -... - пк)! = 0! = 1, то получаем окончательный резуль- тат: Р(пх,п2,...,пк) = —— -, где я,+/i2+... + /1,=/1. пх\п2\...пк\ Пример 1.11.1. Поставим следующий вопрос. Сколькими способами можно разбить конечное множество S на к различных попарно не пересекаю- щихся подмножеств? S = Sx uS2 u...u^, SinSJ = 0, i*j, Щ = п, 1^1 = «,· и nx + n2+... + nk =/2. Такое разбиение можно получить следующим образом. Возьмем произ- вольное «/-элементное подмножество Sx множества S (это можно сделать Сппх способами); среди п-пх оставшихся элементов возьмем п2 -элементное под- множество S2 множества S (это можно сделать С"2_п способами) и т.д. Общее число способов выбора различных подмножеств Sl9S2,...,Sk по правилу произ- ведения равно с- · с* · с* ·.... с:* = —-— 1 - *' η,\·πΛ...·ηΛ Пример 1.11.2. Сколько различных «слов» можно получить, переставляя буквы слова «колокольчик»? Решение. В слове 11 букв, буквы κ и о встречаются по три раза, буква л - два раза, остальные буквы по одному разу. Ответ. Р(Ък,Ъо,2л,\ч,\щ\ъ) = — = 11 · 10· 9 ·8 · 7 · 5 · 2 = 554 400. ν ; 3!3!2!1!1!1! 60
1.12. Полиноминальная формула и бином Ньютона Формула (х1+х2 + -+хк)"= Σ —ΓΤ -х? ■*?■■■■■$> где к > 2 и суммирование выполняется по любым неотрицательным целым ni, удовлетворяющим условию л, + л2 +... + пк = η, называется полиноминальной формулой. Докажем полиноминальную формулу. Рассмотрим левую часть равенства (х]+х2+... + хк)" =(Х]+х2+... + хк)- . •(х]+х2 + ... + хк) = = Σ А(п]уп2,...,пк)х?'Хп2>-... ·*;*, где коэффициент ^(лрл2,...,лА) равен числу всех таких наборов п19п2,...,пк9 что «j + и2 +... + пк =«. Подсчитаем это число. Переменную jc, можно выбрать в ηλ множителях из η возможных, т.е. С"1 способами. Переменную х2 можно вы- брать в п2 множителях из оставшихся (п - ηλ) множителей С"2_П способами и т.д. Таким образом, A(nl,n2i...ink)=c: -c„ •■.■■cw..^.,= *! (л-л,)! (л-л, -л2-...-л^)!= п\ ηΛη~ηιΫ η^η-η,-η^. '" «,!0! п,\п2\-...пк\ При А: = 2 полиноминальная формула имеет вид V ' £г!(л-г)! и называется биномом Ньютона. 2. Метод рекуррентных соотношений 2.1. Рекуррентные соотношения При решении многих комбинаторных задач решение задачи с я элемен- тами может выражаться через решение аналогичной задачи с меньшим числом элементов с помощью некоторого соотношения, которое называется рекур- рентным (возвратным). Такой метод решения комбинаторных задач и называ- ется методом рекуррентных соотношений. Пользуясь рекуррентными соотно- шениями, задачу с η элементами сводят к задаче с (л -1) элементами, затем к 61
задаче с {η-2) элементами и так далее, доходя до задачи с небольшим значе- нием п, решение которой находится легко. Проиллюстрируем метод рекуррентных соотношений простым примером, а затем рассмотрим более сложные примеры. Пример 2.1.1. (Сочетания с повторениями). Сочетания с повторениями из η элементов по к - это выборки объема к из генеральной совокупности {<2р <22,..., ап] объема я, причем каждый элемент может повторяться какое угодно число раз и порядок элементов в выборке безразличен. Пусть, как и раньше, С* - число сочетаний с повторениями из η эле- ментов по к. Каждое сочетание из η по к либо содержит, либо не содержит элемент ах. Число сочетаний, которые не содержат а{, равно С*_, (это сочета- ния из элементов д2, аъ,..., ап). Каждое сочетание, содержащее а19 может быть получено присоединением к я, некоторого сочетания из η элементов по (к -1) (число таких сочетаний равно С*"1). Следовательно, скп=скп_х + с*-1. Это и есть рекуррентное соотношение, из которого можно найти С*. Последо- вательно применяя это соотношение, получаем: с* = с*-1 + с*_, = ск/ + (с*-1 + с„*_2) = с*-1 + с*;,1 +...+с*-1 + с*. Очевидно, ζ = я, С* = 1. При А: = 2 С>И + (й-1) + ... + 2 + 1 = ^0 = С,. При /: = 3 Г3 = Г2 + С2 + + Г2 + С2 = Г3 На (£ - 1)-м шаге получим С* = С*+А-1. 2.2. Числа Фибоначчи В 1202 году итальянский математик Фибоначчи привел следующую зада- чу: Пара кроликов приносит один раз в месяц приплод из двух крольчат (сам- ки и самца), причем новорожденные крольчата через два месяца после рожде- ния уже приносят приплод. Сколько кроликов появится через год, если в нача- ле года была одна пара кроликов? 62
Обозначим через fn количество пар кроликов по истечении η месяцев с начала года. Тогда через (п +1) месяцев будут эти fn пар и еще столько новорожден- ных пар кроликов, сколько было в конце месяца (я -1), то есть еще /и_, пар кроликов. Таким образом, имеет место рекуррентное соотношение -//1+1 ~ J и "*" J n-\ · Так как по условию /0 = 1 и /J = 2, то последовательно находим f2 = 3, f3=5, /4 = 8и так далее. В частности, fn = 377. 2.3. Процесс последовательных разбиений Рассмотрим следующую задачу. Дано некоторое упорядоченное множе- ство А из (п +1) элементов: Л = {ард2,...,яи+1}. Разобьем это множество на два непустых подмножества так, чтобы одно из этих подмножеств находилось левее второго, скажем, первое подмножество - {ар а2,..., ат], а второе - {α^, α^,..., an+l). Таким же образом разобьем каждое из этих подмножеств на два непустых подмножества. Если одно из подмножеств уже состоит из одного элемента, то оно не подвергается дальнейшему разбие- нию. Продолжим этот процесс разбиения до тех пор, пока не получатся подмно- жества, каждое из которых состоит только из одного элемента. Два способа раз- биения будем считать различными, если хотя бы на одном шаге они приводят к разным результатам. Сколько существует таких способов разбиений? Обозначим через Ъп число различных способов разбиения множества А. Непосредственно находим: Ь0 = 1, Ь} = 1, Ь2 = 2, Ьъ=5. Выведем рекуррентную формулу ддя Ъп. На первом шаге множество А можно разбить η способами: первое подмножество может содержать один элемент, два элемента, ... , η эле- ментов. В соответствии с этим процессом множество всех способов разбиения распадается на η классов - в r-ый класс входят способы разбиения, при которых первое подмножество состоит из г элементов. Подсчитаем число способов разбиения r-го класса. Первое подмножество состоит из г элементов. Поэтому его можно далее разбить Ьг_} способами. Второе подмножество состоит из (п +1 - г) элементов и его можно разбить Ъп_г способами. Следовательно, по правилу произведения r-ый класс может быть разбит 6г_! · Ъп_г способами. Отсюда по правилу суммы следует рекуррентное соотношение для чисел Ъп Описанный процесс последовательных разбиений множества исполь- зуется в некоторых алгоритмах. Например, при подсчете числа бинарных деревьев с η вершинами (см., например, [17]). 63
3. Метод производящих функций 3.1. Производящие функции Одним из наиболее эффективных методов решения комбинаторных задач является метод производящих функций. Пусть [ап] - произвольная числовая последовательность. Производящей функцией последовательности^} называется сумма степенного ряда ^Μ = Σα« х" · Из теории степенных рядов известно, что данный степенной ряд является рядом Маклорена функции F(x). Пример 3.1.1. Из формулы бинома Ньютона имеем: Следовательно, функция F(x) = (l + x)" является производящей функцией для биноминальных коэффициентов. Пример 3.1.2. Производящей функцией последовательности {яя}, an=q", является F(x) = . Действительно, \-qx F(x) = ±qk xk =-^-- ti ι-qx Ряд в левой части сходится при \qx\ < 1. Пример 3.1.3. Найдем производящую функцию последовательности не- отрицательных целых чисел. Имеем: к=0 к=\ \к=\ J \l~~X/ yi — XJ Следовательно, F(x) = для \х\ < 1. о-*) 3.2. Производящая функция чисел Фибоначчи Используем производящую функцию для нахождения в явном виде чисел Фи- боначчи. Числа Фибоначчи fn определяются рекуррентными соотношениями 64
Пусть F(x) - производящая функция последовательности чисел Фибоначчи {/„}. Тогда ^)=Σλλ*=1+λ+Σ(Λ-2+Λ-,Κ = *=0 к=2 *=2 к=2 ' = 1 + х + x2F(x) + x(F(x) -1) = 1 + (jc2 + x)F(x). Из уравнения F(x) = 1 + (χ2 + xJF(x) следует, что F(x) = (1 - χ - χ2 j . Разлагая рациональную дробь на простайшие, получим: F(x) = 1 + V5 -l + yfs где Х]= __, χ2=—_—. 7? Fk (Ολ Числа Фибоначчи равны fk = ——. Так как ^>(х)-^{(-1)Чх-^Г+(-1Г(*-^Г}. /-^^{(-о'кгч-^гкг}- -2 V5 U + ^J 1-1 + V5 2-(i-V?)f f2.(i+V5) -4 . 2 У ν^Γ Таким образом, явное выражение для чисел Фибоначчи имеет следующий вид: Л . /7Л'+' /* = 7Г i + VJT ri-Vs ν 2 у V 2 У 65
3.3. Производящая функция для числа процессов последовательных разбиений Пусть F(*) = f>,x< *=0 - производящая функция для последовательности (¾} числа процессов после- довательных разбиений из пункта 2.3. Используя рекуррентную формулу для последовательности [bk], найдем производящую функцию F(x). Для этого заметим, что F2(x) = (b0+blx + b2 χ2 + b3 χ3 +...) •(b0 + blx + b2 x2 + Ьъ хъ +...) = = b2 + {bQbx + bxb0)x + (b0b2 + b2 + b2b0)x2 + (b0b3 + bp2 + b2bx + b3b0)x3 +...= = bx + b2 χ + b3 x2 + bA x3 +..., откуда для производящей функции F(x) получаем уравнение: xF2(x) = F(x)-l. При х*0 F(*) = . 2х Знак минус выбран потому, что только в этом случае F(Q) = \\mx^F(x) = \ = b0. Разложим в ряд Маклорена ι (1-4*)* = \-2x + lt-p-(4xf ->( ^ 2\4χγ + 4! Следовательно, ί(-ιχ-ΐ)(-ΐ)(1х), ^ , ^удгя-зр! -х". 66
Преобразуем коэффициент bk при хк, умножив числитель и знаменатель дроби на(2*)!! = 2-4-6-...-2* = 2*·*!: _2*(|2^-11)!!_ 2*(|2^-1|)!!(2*)!! (2*)! 1 * (к + 1)\ (к + \)\к\2к (к + \)\к\ к + l 2к' Числа Ьк называются числами Каталана; они встречаются при решении многих комбинаторных задач. Таким образом, число процессов последовательных разбиений упорядо- ченного множества из η +1 элементов равно /2 + 1 4. Задачи и упражнения 1. В меню столовой 3 первых, 5 вторых и 3 третьих блюда. Сколькими способами можно выбрать обед из трех блюд (первое, второе, третье)? 2. Сколько имеется двузначных чисел, не содержащих цифр 1,3,6? 3. Сколькими способами можно выбрать гласную и согласную буквы из слова «камзол»? 4. Из 12 слов мужского рода, 9 женского и 10 среднего надо выбрать по одному слову каждого рода. Сколькими способами можно сделать такой вы- бор? 5. Имеется 6 пар перчаток различных размеров. Сколькими способами можно выбрать из них одну перчатку на левую и одну - на правую руку, так, чтобы эти перчатки были разных размеров? 6. Сколько четырехзначных чисел можно составить из цифр 0,1,2,3,4,5, если ни одна из цифр не повторяется в числе более одного раза? 7. Сколько существует пятизначных десятичных чисел, которые делятся на 5? 8. У англичан принято давать детям несколько имен. Сколькими спосо- бами можно назвать ребенка, если общее число имен равно 300, а ему дают не более трех имен? 9. В селении проживают 2000 жителей. Доказать, что по крайней мере двое из них имеют одинаковые инициалы. 10. Найти число возможных автомобильных номеров региона, страны. 67
11. Переплетчик должен переплести 12 различных книг в красный, зеле- ный и коричневый переплёты. Сколькими способами он может это сделать, ес- ли в каждый цвет должна быть переплетена хотя бы одна книга? 12. Сколькими способами можно выбрать три различных краски из имею- щихся пяти? 13. Сколькими способами можно составить трехцветный полосатый флаг, если имеется материал 5 различных цветов? А если одна из полос должна быть красной? 14. Сколько словарей надо издать, чтобы можно было непосредственно выполнять переводы с любого из пяти языков: русского, английского, француз- ского, немецкого, итальянского - на любой другой из этих пяти языков? 15. Сколькими способами можно выбрать из полной колоды в 52 карты по одной карте каждой масти? Тот же самый вопрос, но при условии, что среди вынутых карт нет ни одной пары одинаковых, то есть двух королей, двух деся- ток и т.д. 16. Надо послать 6 срочных писем. Сколькими способами это можно сде- лать, если при передаче писем можно послать трёх курьеров и каждое письмо можно дать любому курьеру? 17. Сколькими способами можно посадить за круглый стол 5 мужчин и 5 женщин так, чтобы никакие два лица одного пола не сидели рядом? 18. Из колоды в 52 карты вынули 10 карт. Во скольких случаях среди этих карт окажется хотя бы один туз, не менее двух тузов, три туза? 19. На железнодорожной станции имеется т светофоров. Сколько может быть дано различных сигналов, если каждый светофор имеет три состояния: красный, желтый и зеленый? 20. В комиссию выбрано 9 человек. Из них нужно сформировать предсе- дателя, первого и второго заместителей и секретаря. Сколькими способами можно это сделать? 21. У мамы 2 яблока и 3 груши. Каждый день в течение пяти дней подряд она выдает по одному фрукту. Сколькими способами это может быть сделано? То же самое при условии, что яблок т, а груш ηΊ 22. У дедушки есть 5 различных по размеру апельсинов, которые он вы- дает своим восьми внукам, причем каждый получает или один апельсин или ничего. Сколькими способами он может это сделать? 23. Сколько различных слов можно получить, переставляя буквы в слове «комбинаторика», в слове «парабола», в слове «интеграл»? 24. Из 30 спортсменов надо составить команду из 4 человек для участия в беге на 1000 м. Сколькими способами можно это сделать? Сколькими способа- ми можно составить команду из 4 человек в эстафете 100 + 200 + 400 + 800? 68
25. В почтовом отделении продаются открытки 10 видов. Сколькими спо- собами можно купить 12 открыток, 8 открыток, 7 различных открыток? 26. Из группы, состоящей из 7 мужчин и 4 женщин надо выбрать 6 чело- век, так чтобы среди них было не менее 2 женщин. Сколькими способами мож- но это сделать? 27. Сколько перестановок можно составить из η элементов, в которых данные два элемента а и Ъ не стоят рядом? Данные три элемента а, Ъ и с не сто- ят рядом (в любом порядке)? Два из элементов а, Ъ и с не стоят рядом? 28. Компания из 7 юношей и 10 девушек танцует. Если в каком-то танце участвуют все юноши, то сколько имеется вариантов участия девушек в этом танце? 29. Рота состоит из 3 офицеров, 6 сержантов и 60 рядовых. Сколькими способами можно выделить из них отряд, состоящий из одного офицера, двух сержантов и 20 рядовых? Та же задача, если в отряд должен войти командир роты и старший из сержантов. 30. На школьном вечере присутствуют 12 девушек и 15 юношей. Сколь- кими способами можно выбрать из них 4 пары для танца? 31. Сколькими способами можно разбить 16 предметов на три группы так, чтобы в одной было 4, в другой 5, а в третьей группе 7 предметов? 32. Сколькими способами можно составить 6 слов из 32 букв, если в со- вокупности этих 6 слов каждая буква используется один и только один раз? 33. Сколькими способами можно выбрать 12 человек из 17, если данные два лица из этих 17 не могут быть выбраны вместе? 34. Сколько различных браслетов можно сделать из пяти одинаковых изумрудов, шести одинаковых рубинов и семи одинаковых сапфиров, если в браслет входят все 18 камней? 35. Сколько слов, содержащих по пять букв каждое, можно составить из 33 букв, если допускаются повторения, но никакие две соседние буквы не должны совпадать, то есть такие слова, как «пресс», или «ссора», не допуска- ются? 36. Для премий на математической олимпиаде выделено 3 экземпляра од- ной книги, 2 экземпляра другой и 1 экземпляр третьей книги. Сколькими спо- собами могут быть вручены премии, если в олимпиаде участвовало 20 человек и никому не дают двух книг сразу? 37. Сколькими способами можно составить из 9 согласных и 7 гласных слова, в которые входят 4 различных согласных и 3 различных гласных? Во скольких из этих слов никакие 2 согласные не стоят рядом? 38. На пикник поехали 92 человека. Бутерброды с колбасой взяли 47 че- ловек, с сыром - 38 человек, с ветчиной - 42 человека, и с сыром и с кол- басой - 28 человек, и с колбасой и с ветчиной - 31 человек, и с сыром и с вет- 69
чиной - 26 человек. Все три вида бутербродов взяли 25 человек, а несколько человек вместо бутербродов захватили с собой пирожки. Сколько человек взя- ли с собой пирожки? 39. Сколькими способами можно переставить буквы слова «Юпитер», так, чтобы гласные шли в алфавитном порядке? 40. Сколькими способами можно переставить буквы слова «перешеек», так, чтобы четыре буквы «е» не шли подряд? 41. Сколькими способами можно раздать колоду в 52 карты 13 игрокам по 4 карты каждому игроку? Та же задача при условии, что каждый игрок име- ет по одной карте каждой масти. Та же задача при условии, что один игрок имеет карты всех четырех мастей, а все остальные - карты одной и той же мас- ти. 42. Сколькими способами можно вынуть 4 карты из полной колоды так, чтобы было 3 масти? Так, чтобы было 2 масти? 43. Сколькими способами 4 черных шара, 4 белых шара и 4 синих шара могут быть разложены в 6 различных пакетов (некоторые пакеты могут быть пустыми)? 44. Сколькими способами можно разложить 20 одинаковых шаров по 5 различным ящикам так, чтобы 1) в каждом ящике оказалось не менее двух шаров; 2) в каждом ящике оказалось не более 5 шаров; 3) оказалось не более двух пустых ящиков? 45. В правлении банка 7 человек. Каково должно быть минимальное чис- ло замков от сейфа и как следует распределить ключи между членами правле- ния (каждый член правления может получить ключи от нескольких замков), чтобы любое большинство могло открыть сейф, а любое меньшинство - не мог- ло? 46. Сколькими способами можно расположить на шахматной доске 8 ла- дей так, чтобы они «не били» друг друга? 47. Сколько существует перестановок из η элементов, в которых между двумя данными элементами стоит к элементов? 48. В булочной продавались 4 сорта пирожков. Сколькими способами можно купить 7 пирожков? 49. При игре в домино 4 игрока делят поровну 28 костей. Сколькими спо- собами они могут это сделать? 50. Трое рыбаков наловили 52 карпа. Сколькими способами они могут разделить улов между собой, если все карпы одинакового веса? 70
Глава 3. АЛГЕБРАИЧЕСКИЕ СТРУКТУРЫ Хорошо известный термин алгебра означает не только раздел элементар- ной математики, но используется и для определения очень важного понятия. Часто объектом изучения в математике и ее приложениях является множество с определенными на нем операциями. Примерами алгебр являются: числовые по- ля, формирующие основу обычной арифметики; линейные пространства, обес- печивающие связь геометрических объектов с операциями над числами; мно- жества с введенными на них операциями и бинарными отношениями. Абстрактная алгебра занимается изучением свойств так называемых ал- гебраических операций, заданных на множествах произвольной природы, и строением множеств, наделенных алгебраическими операциями (алгебраиче- ских структур). В центре внимания современной абстрактной алгебры находят- ся не только такие алгебраические структуры, как группы, полугруппы, кольца и т.п., ставшие уже классическими, но и объекты новой природы, в которых ал- гебраические операции определенным образом связаны со свойствами несуще- го множества. Методы абстрактной алгебры находят широкое применение во многих областях математики и в многочисленных приложениях, например, в теорети- ческой физике, математической логике, теории автоматов, алгебраической тео- рии кодирования. Знание основ алгебры необходимо каждому, кто желает ов- ладеть компьютерными технологиями, средствами и способами передачи и об- работки информации. 1. Определение и примеры алгебр 1.1. //-арная алгебраическая операция Пусть Μ некоторое множество. Функция <р:М" -> АЛ называется η -арной (η -местной) алгебраической операцией. Результат применения опера- ции φ к кортежу (^, х2,..., хп) е М" записывается в виде φ[χ}, х2,..., хп). Число η е N называется арностью операции φ. Если η = 0, то операция φ называется нульарной или константой. В этом случае во множестве Μ фиксируется определенный элемент. Если /2 = 1, то операция φ называется унарной. Эта операция всякому элементу χ е Μ сопоставляет однозначно определенный элемент <р(х) е Μ. При η = 2 операция φ называется бинарной. Условимся результат при- менения бинарной операции φ к элементам a, be Μ записывать в виде aq>b, как это принято для арифметических операций. При η = 3 операция φ называется тернарной. 71
1.2. Определение алгебры и подалгебры Множество Л4 называется алгеброй, если в нем задана некоторая систе- ма Ω = [φ{, φ2,..., cpm,...} алгебраических операций. Множество Μ называется носителем алгебры, совокупность операций Ω - сигнатурой алгебры. Таким образом, алгебра А = (Μ; Ω) - это пара множеств Μ и Ω. Сигнатура алгебры может быть и бесконечной, а арности различных операций системы Ω могут быть различными. Вектор арностей операций алгебры называется ее типом. Пусть А = (Л4; Ω) - алгебра с носителем Μ и сигнатурой Ω, М'аМ - подмножество. Множество М' называется замкнутым относительно η -арной операции φ на М, если φ^Μ,η jcM', то есть значения φ на М'п принадле- жат М'. Если множество М! замкнуто относительно всех операций ^.eQ, то система А' = (Μ'; Ω) называется подалгеброй алгебры А. 1.3. Примеры алгебр и подалгебр 1. Пусть Ш - множество действительных чисел: + и - обычные опера- ции сложения и умножения действительных чисел. Обе операции - бинарные, поэтому вектор арностей имеет тип (2, 2). Любое конечное подмножество из Ш (кроме {0}) не замкнуто относительно этих операций. Алгебра А = (М; +, ·) на- зывается полем действительных чисел. Если Q с Ш - множество рациональных чисел, то Л' = (Ш; +, ·) - подалгебра алгебры Л, которая называется полем ра- циональных чисел. 2. Пусть задано множество Μ и пусть В(М) - его булеан. Алгебра (В(М); п, и, ~) называется булевой алгеброй над М, её тип (2, 2, l). Эле- ментами носителя этой алгебры являются множества - подмножества множест- ва М. Для любого подмножества М'аМ Л = {В(М)\ п, и, ~) является подалгеброй алгебры Л. 3. Пусть F = {f(x)\f: Μ -> Μ.) - множество функций, операция диф- 1 dx ференцирования. Пара (F; d/dx) - не является алгеброй, так как не всякая функция дифференцируема. Если же F00- множество функций, дифференци- руемых бесконечное число раз, то Л =(fx; d/dx) - алгебра, a A' = (Fe; d/dx), где Fe множество элементарных функций - подалгебра алгебры А. 4. Пусть ρ > 1 - натуральное число и N = {0,1, 2,...,/?-1}. На множест- ве Νρ определим операции θ («сложение по модулю ρ ») и 0 («умножение по модулю р») следующим образом: тФп = к, т®п = 1„ где к и / остатки от 72
деления чисел т + η и т-п на число ρ. Например, если ρ = 7, то Ν7 = {0,1,2,3,4,5,6}, 304 = 0, 206 = 1, 304 = 5,205 = 3. Пишут также: m © я = &(mod /?), т 0 η = /(mod /?). Если ρ - простое число, то алгебра Α=(Νρ; Θ, 0) называется конеч- ным полем характеристики ρ. Тип этой алгебры (2, 2). 5. Рассмотрим квадрат с вершинами в точках А, В, С, D, расположенных против часовой стрелки, и повороты этого квадрата вокруг центра в том же на- правлении, переводящие вершины в вершины. Таких поворотов бесконечно много: —к, к е {0} uN, однако они задают всего четыре различных отображе- 71 Ък ния: а = 0, β = —, у = я, δ~— множества АЛ вершин A, B,CyD в себя. Эти отображения можно задать таблицей 1, в которой на пересечении строки и столбца написан результат унарной операции. Алгебра Л = (АЛ; α, β, γ, δ) не имеет подалгебры. Таблица 1 Таблица 2 о а β У δ а а β У δ β β У δ а У У δ а β δ δ а β\ Υ \ι Α Β С D α Α Β С D β Β С D Α У С D A В δ D A В С 6. Множество М = {а, β, χ, £} отображений вершин квадрата в себя из примера 5 вместе с бинарной операцией композиции отображений о образует алгебру Л = (М; °). Элементами носителя этой алгебры являются отображения (повороты). Композиция отображений - это последовательное выполнение двух поворотов, она задается таблицей 2. Множество АЛ' с АЛ, АЛ' = {α, γ} (пово- роты на углы 0, π) вместе с бинарной операцией композиции о образует подалгебру Л' - (A4f; °) алгебры Л. 2. Свойства бинарных алгебраических операций 2.1. Коммутативные, ассоциативные, дистрибутивные алгебраические операции Пусть φ: АЛ2 -> АЛ - бинарная алгебраическая операция. Как уже отме- чалось, результат применения бинарной операции φ к элементам a, be АЛ будем записывать в виде α φ Ъ. 73
1. Операция φ называется коммутативной, если для любых элементов а,ЬеМ: α φ b = b φ а. Сложение и умножение чисел - коммутативно; вычи- тание и деление - некоммутативно; умножение матриц в общем случае неком- мутативная операция. 2. Операция φ называется ассоциативной, если для любых элементов а,Ь, сеМ: а (р{р φ с) = (α φ b)(p с Сложение и умножение чисел, матриц - ассоциативные бинарные операции. Возведение в степень алЬ = аь на множестве действительных чисел - пример не ассоциативной бинарной операции. В самом деле, ал(Ьлс) = аЬлс=аь\ (а лЬ)лс = (аь)С =аЬс. Важным примером ассоциативной бинарной операции является операция о композиции отображений. В соответствии с определением композиции от- ношений, композиция fog отображений f: Χ ->Υ к g: Y -» Ζ это ото- бражение f°g: X -»Ζ, действующее по правилу: для любого хеХ, Теперь, если f:X-*Y, g: Y-> Ζ, h:Z -*V - три отображения, то /° (g' ° A) = (/ ° g) о /z. Действительно, (/•(e«*))(*)=(i-*)(/W)-*W/W)). ((f°g)°h)(X)=h((fog)(X)) = h(g(f(X))) для любого χ е X. В частности, если Τ - множество отображений множества X в себя, то операция композиции отображений является бинарной ассоциа- тивной операцией на множестве Τ. 3. Операция φ называется дистрибутивной слева относительно операции ψ, если для любых элементов а, Ь, с е Μ: а (р{Ъ ψ с)-[α φb)y/(a φ с) и называется дистрибутивной справа относительно ψ , если (α ψ b)cp с = (а φ c)y/(b φ с). Дистрибутивность разрешает раскрывать скобки. Приведем примеры. На множестве действительных чисел умножение дистрибутивно относительно сложения слева и справа. Возведение в степень φ = л дистрибутивно относи- тельно умножения ψ = справа и не дистрибутивно слева, так как (а-Ь)с=ас-Ь\ abc*ab*ac. 74
Операция сложения φ ~ + не дистрибутивна относительно умножения ψ = · ни слева, ни справа. Объединение и и пересечение η множеств - дистрибу- тивные операции относительно друг друга слева и справа. 3. Морфизмы 3.1. Гомоморфизмы и изоморфизмы алгебр Алгебры Л = (М; φ],φ2,... ,<рр,...) и В = [К; ψχ, ψ2,..., ψ4, ...) назы- ваются однотипными, если существует биекция между сигнатурами Ω, ~\φχ, φ2,... ,^,.,-Ιη Ωβ =i^j, ^2,... ,^,...1, при которой любая операция φ е Ω^ и соответствующая ей операция ψ е ΩΒ имеют одинаковую арность. Алгебры разных типов имеют существенно разное строение. Если же ал- гебры имеют одинаковый тип, то наличие сходства у них характеризуется с по- мощью понятий гомоморфизма и изоморфизма. Пусть даны две однотипные алгебры Л~(М\ φχ,φ2,...,φ\ и В = [К\ ψνψ2,...,ψρ}, и пусть операции ^eQ^ ул е Ω5,/ = 1,...,/? имеют одинаковую арность i(i). Отображение Г \М-^К, удовлетворяющее условию г(<Р,(а19 а2,..., α({.)^ = ψ^Γ(αι), Г(а2),... ,г(я,(/))), (1) для всех i = 1,2,..., ρ и для всех ах, а2,..., а(,* еМ, называется гомоморфиз- мом алгебры А в алгебру В. В этом случае пишут Г: А -> В. Гомоморфизмы, обладающие дополнительными свойствами, имеют спе- циальные названия. Гомоморфизмы, являющиеся инъекцией, сюръекцией, би- екцией называются соответственно: мономорфизмом, эпиморфизмом, изомор- физмом. Если носители алгебр А и В совпадают, Μ = /С, то изоморфизм на- зывается автоморфизмом. Далее рассмотрим некоторые свойства изоморфизмов. Пусть А = [М\ <pl9q>2,--9<Pp) и В = (К; ψχ, ψ2,... ,ψρ) - две алгебры одного типа и Г:М-*К - изоморфизм алгебры А на алгебру В. При изоморфизме алгебр мощности их носителей совпадают (при гомо- морфизме это может и не выполняться). Теорема 3.1.1. Если Г: Лч <-» /С - изоморфизм, то Г~х: /С <-> Μ также изоморфизм. Доказательство. Рассмотрим произвольную t- арную операцию <peQA из сигнатуры алгебры А и соответствующую ей операцию ψ е ΩΒ из сигнату- ры алгебры В. Имеем: 75
Γ(φ(αι,α2,...,α()) = ψ(Γ(αι),Γ(α2)9...,Γ(α()). Обозначим bx-Γ(αχ}, b2 = Г(а2),..., Ь(=Г(а(). Так как Г - биекция, то ах = Г1 fa), а2 = Г~1(Ь2),..., а( = Г1(Ье). Тогда г'(ψfal,b2,...,b())=г'(ψ(г(al),г(a2),...9r(ae)))= = Г_1(Г(^(ЛР ^, ... > ^))) = ^(flP *2> ··· ><*<) = Если Г: Лч <-> /С - изоморфизм, то алгебры А и В называются изоморф- ными и обозначаются так: А-В. Теорема 3.1.2. Отношение изоморфизма на множестве однотипных ал- гебр является отношением эквивалентности. Доказательство. 1. Рефлексивность: А -А. Г У-' 2. Симметричность: А-В => В - А. 3. Транзитивность: А-В, В-С=>А - С. Понятие изоморфизма имеет важнейшее значение для разных областей математики. Оно позволяет представлять одну алгебру другой и, еще в более широком смысле, одну математическую модель - другой. Сущность изомор- физма можно выразить так: если алгебры А и В изоморфны, то элементы множества /С и операции из ΩΒ можно переименовать так, что алгебра В будет совпадать с алгеброй А. Из определения изоморфизма следует, что любые со- отношения, имеющие место в алгебре А, сохраняются в изоморфной алгебре. В частности, изоморфизм сохраняет коммутативность, ассоциативность, дист- рибутивность операций. Установленный изоморфизм часто позволяет сводить исследование одних алгебр и математических моделей к другим, свойства ко- торых хорошо изучены (например, к алгебрам числовых множеств). Примеры. 1. Пусть Ζ - множество всех целых чисел, Ze - множество всех четных чисел. Алгебры (Z; +) и (Ze; +) изоморфны; изоморфизмом является отобра- жение Г:п-^2п, условие (1) имеет здесь вид: 2 (т + п) = 2т + 2п. 2. Отображение Г_: η -> (-η) является автоморфизмом алгебры (Ζ; +). Для алгебры (Ζ; ·) это отображение не является автоморфизмом, так как (-т) · (-л) φ -{т · п). 76
3. Пусть Ш - множество действительных чисел, R+ - множество положи- тельных действительных чисел. Изоморфизмом между алгебрами Ш+; ·) и (Е; +) является отображение Г: χ —> log*. 4. Булевы алгебры множеств, образованные двумя различными множест- вами Μ и /С одинаковой мощности, изоморфны. Операции у них одинаковые (и, п, ~) а отображение Г -любая биекция Μ на /С. 5. Алгебры Д = ({0, £}; п, и), где £ - универсальное множество и 5 = ({0,1}; ν, л), изоморфны. Изоморфизмом является отображение Г, опре- деляемое так: Г(0) = О, Г(£) = 1. 6. Рассмотрим алгебры: (Ν; +, ·), ίΝρ; Θ, <8>) (последняя алгебра введена в примере 4, пункт 1.3) и определим отображение Γρ:Ν->Νρ следующим образом: Г (/?) равно остатку от деления η на ρ. То есть, если η-ρ·r + s, то Г(п) = s. Проверим условие (1) для операций сложения и умножения. Пусть пх = ρ - rx + sl, n2= p-r2+s2. Тогда ГД«,+л2)= ГД5,+52) = 51е52=ГД/7,)ФГ,(«2) И Г(«,-«2)=ГД5Г52) = 5,®52=ГД«,)®ГД«2). Таким образом, условие (1) выполнено и Гр - гомоморфизм. Очевидно, отображение Гр не является изоморфизмом. Этот пример показывает, что воз- можен гомоморфизм алгебры с бесконечным носителем в алгебру с конечным носителем. 4. Алгебры с одной бинарной операцией 4.1. Полугруппы и моноиды Начнем со следующего определения. Определение 4.1.1. Полугруппой называется алгебра с одной ассоциа- тивной бинарной операцией *. В определении полугруппы можно использовать как мультипликативную, так и аддитивную форму записи и терминологию. В первом случае бинарная операция в полугруппе называется умножением и результат её применения к элементам а и Ъ записывается в виде а · Ъ или просто а Ъ. В частности, а2-а-а, а3 = а2-а, Во втором случае бинарная операция называется сло- жением и результат её применения к элементам а и b записывается в виде а + Ь. В частности, 2а = а + а, За = а + а + а,... . 77
В полугруппе равенство a*b = b*а, в общем случае не выполняется. Ес- ли же в полугруппе бинарная операция коммутативна, то полугруппа называет- ся коммутативной или абелевой. Пусть V = (М; *) - полугруппа. Если существует элемент ее Μ такой, что равенство а*е = е*а = а выполняется для любого элемента аеΜ, то эле- мент е называется единицей полугруппы. Определение 4.1.2. Полугруппа с единицей называется моноидом. Единица в полугруппе всегда единственна. Действительно, если е1 и е2 - две единицы, то ех * е2 = е2 и е, * е2 = ех, следовательно, ех=е2. Пример 4.1.1. Числа 0 и 1 образуют полугруппу по умножению, посколь- ку любое произведение, составленное из нулей и единиц, равно либо 0, либо 1. Эта полугруппа с единицей (моноид) - единичным элементом является число 1. Пример 4.1.2. Пусть А = {а19 а2,..., ап} - конечное множество элементов (буквы, цифры, знаки препинания и т.п.). Такое множество называется алфави- том. Конечный набор элементов, записанных один за другим в определенном порядке, называется словом. В число слов включим пустое слово Л - слово, не содержащее ни одного элемента. Слова длины η алфавита А можно пред- ставлять как элементы множества Α" =ΑχΑχ··-χΑ. Множество (бесконечное) всех слов в алфавите А обозначим через А\ А* = А0 и А] u... u/Г u..., А0 = {л}. Два слова называются равными, если они состоят из одних и тех же символов, порядок которых совпадает. Например, слова computer и mpcoretu - различны, хотя они имеют одинаковую длину 8 и состоят из одних и тех же символов. На множестве А* определим бинарную операцию конкатенции О сле- дующим образом: если аеА* и β еА*, то а О β-α β. То есть новое слово получается приписыванием к первому слову второго слова. Например: полу О группа=полугруппа, — Θ /(х) = —^-^-. Введенная операция - ассоциативна. дх дх Действительно, безразлично, в каком порядке выписывать «слова- сомножители» - сначала первые два и к ним приписать третье слово или же сначала первое слова и к нему приписать «произведение» второго и третьего слов: αθ(βΟγ) = (αΟβ)θχ. Таким образом, (л*; θ) - полугруппа. В этой полугруппе пустое слово играет роль единичного элемента, так как от припи- сывания его к любому слову слева или справа - это слово не меняется: аОА = АОа = а для любого слова аеА*. Следовательно, полугруппа (А*; О) является моноидом. Рассмотренный пример имеет большое значение. Все языки, используе- мые в программировании, являются подмножествами множества А*, построен- ного над некоторым достаточно большим алфавитом А. 78
Пример 4.1.3. Пусть X - произвольное множество и J1" = {f\f: X -> Х\ - множество отображений множества X в себя. На множестве Τ определим операцию о композиции отображений: (/ °g)(x) = g(f(x)) Для всех хеХ. Так как операция о - ассоциативна, то (jF; о) - полугруппа. Если ее X - тож- дественное отображение: е(х) = х, \/х е X, то для любого элемента / е Τ: f о е-ео f - f и, следовательно, (^; о) - моноид. Полугруппы преобразований находят применение в алгебраической тео- рии автоматов. 4.2. Группы и подгруппы Определение 4.2.1. Пусть Μ - конечное или бесконечное множество и на множестве Μ задана бинарная алгебраическая операция ·, называемая групповым умножением. Пара G = (Л4; ·) называется мультипликативной группой, если выполняются следующие аксиомы. 1) Для любых элементов а,ЬеЛ4 элемент a-be Μ - замкнутость отно- сительно операции ·. 2) Для любых элементов a,b,ceM a(b-c) = (ab)c - ассоциатив- ность операции ·. 3) Существует элемент ее Μ такой, что для любого элемента аеМ а-е-е-а-а - существование единичного элемента. 4) Для любого элемента аеМ существует элемент а~] е Μ такой, что а~х - а - а · а'1 - существование обратного элемента. В случае, когда групповая операция названа сложением, то а · b записы- вают в виде а + b или а@Ь; единичный элемент обозначают через 0 и называ- ют нулем; элемент обратный к а обозначают через -а и называют противопо- ложным к α и группа G = (М; +) называется аддитивной. Группа называется коммутативной (абелевой), если a-b = b-a для лю- бых элементов а,ЬеМ. Введем понятие степени элемента а группы G. Для любого натурально- го числа η произведение η элементов, равных элементу а, называется п-й def степенью элемента а и обозначается а": а" = а-а-... -а. Отрицательные сте- пени элемента а определяются так: а'п =(а~]) . Наконец, под нулевой степе- нью а0 элемента а понимается единичный элемент е. 79
Заметим, что если групповой операцией является операция сложения, то вместо степеней элемента а следует говорить о кратных этого элемента и за- писывать их через k a. Нетрудно показать, что в любой группе G для степеней любого элемента а, имеют место равенства η т п+т I п\ пт \j »77 а -а -а , \а ) =а , νη,ηιεΖ. Л Определение 4.2.2. Отображение φ: Μ -> Μ называется гомоморфиз- мом группы G~(M; ·) в группу G = \ Μ; Θ , если это отображение сохраня- ет групповую операцию: φ{α ■ b) = φ(α) ® φ{ο), Va, b e Μ. Если отображение φ - биекция, то гомоморфизм групп называется изо- морфизмом. Две группы называются изоморфными, если между ними сущест- вует хотя бы один изоморфизм. Изоморфизм группы на себя называется авто- морфизмом. Если число элементов группы G конечно, то она называется конечной. Число элементов конечной группы называется ее порядком и обозначается |G|. Конечную группу G, состоящую из элементов av a29... ,ап можно задать при помощи её «таблицы умножения», называемой таблицей Кэли. Это квад- ратная матрица, на пересечении / -й строки и j -го столбца которой стоит эле- мент а. ■ a j. Таблица Кэли имеет важную особенность: любой элемент группы в каждой строке и в каждом столбце встречается ровно один раз. Например, если порядок группы равен 2, G = ({е, а); ·) и а ф е, то её таблица Кэли имеет вид: е а е е а а а е Если порядок группы G равен 3, е - единичный элемент и а ф е, то легко видеть, что а1 фа и а2*е, поэтому <7 = ({е, а, Ь\\ ·), b = a2, a-b = e. Таблица Кэли такой группы имеет вид: е а Ъ е е а Ъ а а Ь е Ь Ь е а 80
Определение 4.2.3. Подгруппой группы G = (М ; ) называется любое подмножество Μ'ςζΜ, являющееся группой относительно операции · в груп- пе G. Из определения подгруппы следует: G' = (М'; ·) является подгруппой группы G = (Лч; ·), если и только если выполняются следующие условия: \)ееМ; 2) для любых элементов a, be Μ' элемент а ·Ъ е ΛΊ'; 3) для любого элемента α е М' элемент а'1 е М'. Пусть М.' = {аа] - произвольное множество элементов группы G. Сово- купность всех произведений элементов аа и их обратных (в любом порядке), как легко видеть, образует подгруппу группы G. Она называется подгруппой, пороэюдениой элементами аа. Если эта подгруппа совпадает с G, то элементы аа называются образующими группы. Подгруппа, порожденная элементами аа, обозначается так: G'-({aa}). Подгруппа G' = ({<2a}^ содержит единичный эле- мент, так как для любого элемента ае[аа) aa~l=eeM!; вместе с каждым элементом ае{аа} ей должны принадлежать и все целые степени элементов а и а'\ Следовательно, подгруппа G' = ({aa}} состоит из элементов вида: а* -ак1 ....·α£·..., где *pfc2,...,£m,...eZ. Если существует такой элемент а, что все элементы группы (подгруппы) являются степенями элемента я, т.е. группа (подгруппа) порождена одним элементом а, то эта группа (подгруппа) (а) называется циклической. Если для элемента а группы G существует натуральное число ρ такое, что ар = е, то говорят, что элемент а имеет конечный порядок, и наименьшее натуральное число ρ, удовлетворяющее этому равенству, называется порядком элемента а. Циклическая группа, порожденная элементом а е G порядка ρ, имеет вид: (я) = |е, а, я2,..., я*'1}. 4.3. Основные свойства группы Следующие теоремы описывают основные свойства группы. Теорема 4.3.1. Обратный элемент в группе единственен. Доказательство. Пусть в группе G существуют по крайней мере два эле- мента а~\ а'1 обратных к элементу а: а-а'1 = а~] а -е и аа^ -а'^ а -е. Тогда а'1 = я,-1 · е - я"1 · ί я · я"1 J = (я"1 · я) · я"1 = е · я"1 = я~'. □ 81
Теорема 4.3.2. В группе выполняются следующие соотношения: \)(a-b)'1 =b'x-a-\ 2)a-b = a-c^>b-c. 3) Ъ-а-с-а^>Ь~с 4)(а']У=а. Доказательство. \)(ab)(b~la-]) = a(bb-])a-]=aea-l=aa-l=e. 2) a-b = a-c=>a~x (ab) = a~x (ас)=>(α-1 ■ α)·b = (<2~j ·a}·с=>. => eb=ec=> b-c. 3) b-a = ca=>(b-a)-a~l =(c-a)-a~l => b -(a - a~x} = с -(a · a~l\=> => be = ce=> b-c. 4) {α~*}-α = α~χ я = е. g Теорема 4.3.3. В группе однозначно разрешимо уравнение а- х-Ь. Доказательство. а · χ = b => а~х · (α · χ) - α~] b => (β-1 · α ] · χ = α~χ ■ b =Ξ> =>e-χ-α~χ -b=> χ-αχ -b π 4.4. Примеры групп, подгрупп и гомоморфизмов 1. G = (R; +) - аддитивная группа с операцией сложения действительных чисел. В самом деле, множество Ш действительных чисел замкнуто относи- тельно операции сложения; операция сложения чисел ассоциативна; 0 - нуле- вой элемент группы; (-я) - противоположный элемент кае1. Группа (Z; +) целых чисел с операцией сложения является подгруппой группы G. Эта под- группа циклическая, её образующей является число 1. Множество действитель- ных чисел отличных от нуля с обычной операцией умножения · образует абе- леву группу G = (lR\{0}; ·). Единицей группы является число 1, обратным к числу аеШ является число а'1. Группа G' = (Q\{0}; ·), где QсR - множест- во рациональных чисел, является подгруппой группы G = (R \ {0}; ·). 2. Множество Nр = {0,1,..., ρ -1} с операцией Θ - «сложение по модулю ρ », является конечной абелевой циклической группой, порожденной числом 1. 82
Нулем этой группы является число 0. В группе (Ν5; θ) противоположные эле- менты: -0 = 0, -1 = 4,-2 = 3,-3 = 2, -4 = 1. 3. Пусть Ър = {[О], [l], —, [/7 —1]| - множество классов вычетов по моду- лю ρ (см. пример 4.2.3 из главы 1). Определим на множестве Ър групповую операцию Θ. Положим: [β]θ[&] = [αΘΖ>]. Ассоциативность операции сложе- ния θ очевидна. Нулевым элементом будет класс [θ]. Противоположным эле- ментом к [а] будет класс вычетов [-а]. Следовательно, (Ζρ;Θ) - конечная абелева группа порядка ρ. 4. Множество корней η -ой степени из единицы „г Ink . 2кк \ИккЛ Λ „ -VI =cos + ι sin = ехр< κ £ = 0,1,..., n-\ η η [ η J образует конечную мультипликативную группу порядка η. 5. Классические группы. Рассмотрим множество GL(n, К) всех невырож- денных квадратных матриц порядка η с комплексными элементами, если К = С или с действительными элементами, если K = R. Так как для любых матриц А,В е GL(n, К) имеет место равенство det(A B) = detA- detB, то det(AB)*0 и, следовательно, Л Be GL(n, R); (А-В)-С = А-(В-С) и суще- ствует выделенная матрица Ε (единичная матрица) такая, что Α·Ε = Ε·Α = Α для всех матриц AeGL(n, К). Кроме того, у каждой матрицы AeGL(n,K) существует обратная матрица А~\ для которой А· А~] = Α~ι ·Α = Ε. Следова- тельно, множество GL{n, К) квадратных матриц л-го порядка с операцией матричного умножения образует группу. Она называется полной линейной груп- пой степени η над К. • В полной линейной группе GL(n, К) рассмотрим подмножество SL(n9R) матриц с определителем равным единице: SL(n> R) = Ы е GL(n, R): det A = l]. Очевидно, EeSL(n, R). Согласно свойствам определителей, из условий ёеЫ = 1, det# = l следует равенство det(^-5) = l и ёеЫ-1 =(det^)~ =1. По- этому SL(n, R) является подгруппой в GL(n, К); она называется специальной линейной группой степени η над R. Подгруппами группы GL(n, С) являются: • группа действительных ортогональных матриц 0(n) = {AeGL(n, R): А- АТ = АТ -А = Е] . Так как det A = det Ат, то определитель ортогональной мат- рицы равен +1 или -1; • специальная ортогональная группа SO(n) = {А е θ(η): det А = 1 ]; 83
• группа U(n) = ΙΑ e GL(n, С): A· Ат = AA · A = E> унитарных матриц раз- мера ηχη (Α - комплексно сопряженная матрица); • специальная унитарная группа SU (n) = i A eU(n):dctA = \\. 6. Пусть X - произвольные множества и Τ = if\f:X ^> х} - множест- во всех взаимно однозначных отображений множества X на себя. На множе- стве Τ определим операцию композиции отображений: (f°g)(x) = g(f(*)) для всех хеХ. В примере 4.1.3 было показано, что {^\°) - моноид. Так как каждое отображение feJ7- биекция, то для него существует единственное обратное отображение f~\fof~l=f~lof = e, которое также является биек- цией. Следовательно, {Т\ о) - группа. 1. Невырожденные линейные преобразования. Преобразованием или под- становкой множества X называется биекция f:X<->X этого множества на себя. Совокупность всех преобразований множества X с операцией компози- ции преобразований о5 как было показано в предыдущем примере, образует группу. Она называется группой преобразований (подстановок). Если / - линейное преобразование η -мерного евклидова пространства R", то, как известно из курса линейной алгебры, в фиксированном базисе про- странства Rn оно определяется некоторой матрицей Л== Цу е GL(n, R): каж- дому вектору * = (.*!, лс2,..., хя)еМ" ставится в соответствие некоторый вектор У = (У\ > У 2»· · · > У η) € ^"> у = Ах и если у - любой фиксированный вектор про- странства R", то существует только один вектор χ е R" такой, что у = Ах. Таким образом, между линейными преобразованиями R" и невырожден- ными квадратными матрицами размера пхп существует взаимно однозначное соответствие. Определим композицию (умножение) линейных преобразований (опера- торов) A, BeGL(n, R) как линейный оператор А°В, действующий по прави- лу: (АоВ)х = В(Ах). Множество линейных преобразований «-мерного евкли- дова пространства R" с введенной выше операцией умножения представляет собой группу - группу линейных преобразований евклидова пространства. 8. Преобразования плоскости и пространства. Большой геометрический и физический интерес представляют группы преобразований, действующие на плоскости и в пространстве. Отметим некоторые из них. • Преобразования, сохраняющие расстояние d(x, у) между точками евк- лидова пространства (то есть такие, что d(f(x), /(>>)) = d(*, у)), образуют группу движений. Например, группа сдвигов плоскости определяется преобра- зованиями: х=х + а, у' = у + Ь. 84
• Если преобразования сохраняют неподвижной одну точку, то мы имеем дело с группой вращений. Так, группа вращений плоскости вокруг неподвижной точки О задается преобразованиями χ =хсо$в- уътв, у' = xsin# + ycos9, где 0 < θ < 2π - угол поворота. Матрица этого преобразования 'cos# -sin 0^ sin# cos# A = - ортогональная. Группа вращений трехмерного пространства, сохраняющая его ориентацию, задается преобразованиями у = Ах с матрицей А е SO(3). • Преобразования, сохраняющие некоторый объект, образуют группу сим- метрии. Например, группа симметрии равностороннего треугольника состоит из шести преобразований: тождественного, поворотов на углы 120°, 240° во- круг центра О и отражений относительно его трех осей симметрии. • Группа симметрии молекулы. Под симметрией молекулы понимается движение пространства, совмещающее каждый атом молекулы с атомом того же типа и сохраняющее все валентные связи между атомами. Например, моле- кула фосфора состоит из четырех атомов, расположенных в вершинах тетраэд- ра, и ее группа симметрии совпадает с группой симметрии тетраэдра. Группы симметрии правильных многогранников рассмотрены в 4.5. • Большой степенью симметрии обладают кристаллы, и поэтому группа симметрии кристалла является его важной характеристикой. 9. Пусть G = GL(n,C) - группа всех невырожденных комплексных мат- риц размера пхп с операцией умножения ° в качестве групповой операции, G' = (С, ·) - группа всех ненулевых комплексных чисел относительно обычного умножения · . Отображение (p:A->detA является гомоморфизмом группы G в группу G'. Действительно, для любых двух матриц <р(А о В) = <р(А) <р(В), так как определитель произведения двух матриц равен произведению опреде- лителей. 10. Если G - группа всех комплексных чисел, таких, что |^|-1, с умно- жением в качестве групповой операции, то отображение ^cos# -sin#^ , sin# cos# j φ:β -> является изоморфизмом группы G на группу вращений SO (2). 11. Пусть G - множество чисел {1,/,-1,-/} с умножением · в качестве групповой операции, G' - множество матриц {Е, А, В, С) с матричным умно- жением о в качестве групповой операции, где 85
Ε J1 °b=i° 1\bJ-1 °\c = (° Λ [ο ι) {-ι ο) (ο -ij (ι о J Отображение ρ: 1->£,/-> Λ, -\-+Β, -i->C является изоморфизмом группы G на группу G; нетрудно проверить справед- ливость условия φ(α ■ b) - φ (а) ° (p(b) для каждой из 16 возможных пар (а,Ь) элементов из G. Например, (-1)-(/) = -/, следовательно, должно быть 0>((-1)·/) = ^(~0°#>(0> то есть С = В° А, как и в действительности. 12. Пусть снова G - множество матриц [Е, А, В, С] с матричным умно- жением в качестве групповой операции. Отображение <р:Е->Е, А^С, В->В, С->А является автоморфизмом группы G. 4.5. Группы самосовмещений многоугольников и многогранников Обширный и важный класс разнообразных групп как конечных, так и бесконечных составляют группы самосовмещений геометрических фигур. Пусть F - геометрическая фигура. Под самосовмещением фигуры F понима- ется такое перемещение (движение) F (в пространстве или на плоскости), ко- торое переводит F в F. Тривиальным примером самосовмещения является тождественное преобразование ε, при котором каждая точка фигуры переходит сама в себя. Рассмотрим множество G всех самосовмещений фигуры F. Произ- ведение g} ■ g2 двух самосовмещений g{ и g2 определим как их композицию - это движение, возникающее в результате последовательного выполнения gl, a затем g2. Легко проверяется, что (<7; ■) - группа. Чем «более симметричной» будет фигура F, тем «более богатой» будет ее группа самосовмещений. На- пример, для круга и шара соответствующие группы бесконечны. Группа вращений правильного многоугольника. Под вращением пра- вильного η -угольника будем понимать поворот в его плоскости, приводящий к его самосовмещению. Очевидно, что если поворот не является тождественным преобразованием, то его центром является центр правильного и-угольника. Поскольку при вращении всякая вершина должна перейти в вершину, угол Ink поворота (с точностью до угла, кратного 2тг) равен , £ = 0,1,..., л-1. η Группа вращений правильного η -угольника является циклической группой по- рядка η. 86
Группа симметрии правильного многоугольника. Под симметрией пра- вильного η -угольника будем понимать его самосовмещение в пространстве. К перечисленным выше поворотам в плоскости добавляются «опрокидывания» многоугольника, т.е. повороты на 180° вокруг осей симметрии (такие преобра- зования равносильны осевым симметриям). Их ровно η штук. Если η - четно, то осями симметрии являются п/2 прямых, соединяющих пары противополож- ных вершин многоугольника, и п/2 прямых, соединяющих середины его про- тивоположных сторон. При нечетном η каждая из осей симметрии проходит через некоторую вершину η -угольника и середину противоположной стороны. Группы вращений многогранников. Под вращением многогранника бу- дем понимать его самосовмещение. 1. Тетраэдр. Под тетраэдром понимается правильный тетраэдр. Будем считать, что тетраэдр расположен в пространстве таким образом, что о его гра- нях можно говорить: нижняя, передняя, задняя левая и правая. Самосовмеще- ния тетраэдра полностью определяются следующим: 1) какая грань из четырех становится нижней и 2) какая из оставшихся трех граней будет передней. Таким образом, всего данная группа содержит 4-3 = 12 элементов. Это: • тождественное преобразование; • повороты на ±120° вокруг высот тетраэдра (всего 8 таких поворотов); • повороты на 180° вокруг прямых, соединяющих середины скрещиваю- щихся ребер тетраэдра (таких поворотов 3). Все названные самосовмещения различны, общее число их 12; поэтому они исчерпывают рассматриваемую группу. 2. Куб. Сначала покажем, что группа вращений куба содержит 24 элемен- та. Будем считать, что куб расположен в пространстве таким образом, что о его гранях можно говорить: нижняя, передняя, верхняя и т.д. Самосовмещения куба полностью определяются условиями: 1) какая грань из шести станет нижней и 2) какая из смежных с ней граней будет передней. Всего будет 6 χ 4 = 24 раз- личных самосовмещений. Перечислим их: • тождественное преобразование; • повороты на ± 90°, 180° вокруг прямых, соединяющих центры противо- положных граней (таких вращений 3-3 = 9); • повороты на 180° вокруг прямых, соединяющих середины противопо- ложных ребер куба (6); • повороты на ± 120° вокруг диагоналей куба (8). Легко проверить (рассмотрев, например, подстановки на множестве вершин, порождаемые вращениями), что все эти самосовмещения различны; так как все- го их ровно 24, других самосовмещений нет. 3. Правильная η-угольная пирамида. Очевидно, что группа вращений правильной «-угольной пирамиды, отличной от правильного тетраэдра, изо- морфна группе вращений правильного я-угольника, лежащего в основании. 87
4. Двойная пирамида (диэдр). Это геометрическое тело представляет со- бой объединение двух одинаковых правильных «-угольных пирамид, чьи осно- вания совмещены, а вершины находятся по разные стороны от основания. Если диэдр не является октаэдром, то его группа вращений изоморфна группе сим- метрии правильного я-угольника. Как известно, октаэдр - многогранник, двойственный кубу (центры гра- ней октаэдра являются вершинами некоторого куба; центры граней куба явля- ются вершинами некоторого октаэдра). Поэтому группы вращений октаэдра и куба изоморфны. 5. Икосаэдр и додекаэдр. Икосаэдр - правильный многогранник, имею- щий 12 вершин, 30 ребер, 20 треугольных граней; додекаэдр - правильный многогранник, имеющий 20 вершин, 30 ребер, 12 пятиугольных граней. Икоса- эдр и додекаэдр - двойственны друг другу. Рассуждая так же, как и в случае тетраэдра и куба, легко найти число элементов группы самосовмещений доде- каэдра, зная, что он имеет 20 вершин и из каждой вершины исходит 3 ребра. Таким образом, имеется лишь три группы правильных многогранников: группу тетраэдра, октаэдра и икосаэдра. Они обозначаются Г, О, Υ соответст- венно. Их порядки согласно сказанному выше равны: 12, 24, 60. 4.6. Группа подстановок. Теорема Кэли Конечные группы тесно связаны с преобразованиями конечного множе- ства. Пусть Af = (#,, я2,..., я„) - конечное множество из η элементов. Часто индивидуальные свойства элементов конечного множества не играют никакой роли, поэтому можно считать, что множество Μ = {l, 2, 3,..., η]. Любое распо- ложение элементов множества Μ в определенном порядке называется пере- становкой. Если в некоторой перестановке поменять местами какие-либо два числа (остальные оставить на месте), то получим новую перестановку. Такая операция называется транспозицией. Напомним, что биекция σ: Μ <-» Μ называется подстановкой множе- ства Μ . Пусть σ - некоторая подстановка множества Μ = {l, 2,3,... ,η}, тогда a(k) = s(k), где \<sk<n, £ = 1,2,...,я и множество {sl9s2,...,sn} = = {1,2,3,...,«}. Поэтому подстановку можно представить в виде матрицы, со- стоящей из двух строк: Ясно, что если в матрице σ переставить столбцы, то получим ту же са- мую подстановку. Например, {\ 2 3 4 5\ (Ъ 4 5 2 Г и 2 4 3 5 1 1,3 5 1 4 2
- две записи одной и той же подстановки. Множество всех различных подста- новок множества Μ = {l, 2, 3,..., η] обозначим через Sn; их число равно числу перестановок из η чисел 1, 2, 3,...,л, то есть \Sn\ = η! На множестве подстановок определим операцию умножения как компо- зицию двух функций. Если а и β -две подстановки, то (а ·/?)(/) = βία (г)), то есть сначала выполняется преобразование а, а затем преобразование β. На- пример, пусть а = две подстановки, тогда α ·β = 1 2 3 4 а f\ 2 ,4 2 3 2 3 3 4) и 4] К β= 2 3 4Л 3 4 2 /?·« = Π 2 3 3 2 1 Теорема 4.6.1. Алгебра (Sn; ·) является группой. При п>Ъ она некомму- тативна. Доказательство. Операция · ассоциативна как операция композиции функций. Тождественная подстановка Ί 2 ... п\ 1 2 ... nt ε- обладает характерным свойством единицы группы: для любой подстановки σ имеет место равенство σε-εσ = σ. Для любой подстановки 1 2 ... ,Γ существует обратная подстановка *п) 1 2 σ · σ 1=σ_1·σ = ί. Следовательно, множество подстановок Sn конечного мно- жества Μ из η элементов с операцией · образует конечную группу. Она на- зывается симметрической группой подстановок степени η и обозначается Ση. Порядок этой группы равен п\ Если η > 3, то рассмотрим подстановки Г1 2 3 4 2 13 4 п) п) и β = \ ^ 2 2 3 1 4 . 4 . . η . η 89
Имеем (l 2 3 4 ... ηλ Π 2 3 4 ... η β-α = \ и α·β = \ [З 1 2 4 ... η) {2 3 I 4 ... η то есть α-βφβ·α . Таким образом, группа (Sn\ ·) некоммутативна. d Теорема 4.6.2. [Кэли]. Любая конечная группа G-(M\ ·) порядка η изо- морфна некоторой подгруппе симметрической группы Ση. Доказательство. Для любого элемента аеМ группы G рассмотрим отображение fa:M —>М, состоящее в умножении всех элементов м = Up £2> ■·■>£„} группы справа ша:/а (g.) = gra. Покажем, что Μ ■ а = {gi · a, g2-a, ..., gfl · а} совпадает с М. Действи- тельно, для любого элемента gi еΜ элемент g^aeM , поскольку множе- ство Μ замкнуто относительно групповой операции · на Μ . Следователь- но, Μ αςζΜ. С другой стороны, для любого элемента gk^M элемент Sk~Sk'e~Sk' \a l' a) = \Sk'а )'а е Μ · а, откуда МсМ-а, Таким образом, Μ -α- Μ для любого элемента аеМ. Это свойство группы позволяет заклю- чить, что отображение fa - биекция (подстановка). Обратным к отображению fa будет отображение f~l = f _х, так как (Λ о /„- )Ы = /.-. (/. (А )) = /.- (¾ ·«) = (¾ ■«) · а"' = & · («· в"') = & и аналогично (/.-.°/.)ы=а. Отображение /е является единичным отображением. Вследствие ассо- циативности умножения в группе G имеем замкнутость: и°Л)Ы=/Д/ЛгО)=Л(& ·«)=(& ·«)·*=& ·Μ)=ΛΛ&). то есть fa0fb~fab· Отсюда следует, что множество F' = {fgl, fg2>'--> fg} образует подгруппу во множестве всех взаимно однозначных отображений множества Μ на себя, то есть в симметрической группе Σ„. Тогда отображение φ: Μ -»F<zSn такое, что для любого аеМ <p{a) = fa есть изоморфизм, по- скольку φ - биекция и выполняется свойство φ(α · Ъ) = fa.b = faofb= φ[μ) ° <р{Ь) сохранения операций. d 90
4.7. Классы смежности. Нормальный делитель Пусть Я - подгруппа группы G. Левым классом смежности группы G по подгруппе Я называется множество gH = {gh:heH}9 где g - фиксированный элемент группы G, который называется представите- лем смежного класса, gh = gh - результат групповой операции · над элемен- тами g и h. Аналогично определяется правый класс смежности группы G:Hg = {hg:heH). Заметим, что одним из классов смежности является сама подгруппа Я, так как Я = еН = Не. Теорема 4.7.1. Два левых класса смежности G по Η либо не пересека- ются, либо совпадают, и множество левых классов смежности образует раз- биение G. Доказательство. Действительно, пусть классы gxH и g2H имеют общий элемент а = gx\ - g^. Тогда g2 = gx /z, h2l и любой элемент g2h класса g2H имеет вид g, 1\п~хh, где J\ h~xhe Η. Значит, g2HcgxH. Аналогично доказы- вается, что gxH с g2H и, следовательно, эти классы совпадают. Так как любой элемент geG содержится в смежном классе gH, то множество левых классов смежности образует разбиение группы G:G = vgH. d Поскольку каждое разбиение порождает отношение эквивалентности, то из теоремы 4.7.1 вытекает следствие. Следствие 4.7.1. Отношение принадлежности к одному левому классу смежности есть отношение эквивалентности. Множество левых классов смежности G по Я обозначается GIЯ. Это есть множество классов эквивалентности по отношению принадлежности к од- ному левому классу смежности. Мощность множества GIΗ называется индек- сом подгруппы Я в группе G. Теорема 4.7.2. Пусть Я подгруппа группы G, тогда для любого geG |*я| = |я|. Доказательство. Для доказательства достаточно показать, что все эле- менты в gH различны. Пусть существуют элементы ^, h2 e Я, /^ * /г2, такие, что ghl=gh2. Тогда g~l(gh,) = g~l(gh2) или (g^g)^ =(g~]g)h2, откуда \ =h2, что противоречит предположению. о Аналогичные утверждения выполняются и для правых классов смежно- сти. Одним из важных результатов в теории групп является следующая теоре- ма. 91
Теорема 4.7.3. [Лагранж]. Порядок конечной группы G делится на поря- док каждой своей подгруппы Я. Доказательство. Пусть Я = {е, gl9 g2,..·, gm_{) - подгруппа конечной группы G. По теореме 4.7.1 множество {еН, gxH, g2H,..., gm_xH) является разбиением группы G на левые классы смежности, где е, gx, g2,..., gm_x эле- менты группы G и gtH r\ gjH = 0 при g. φ g.. По теореме 4.7.2 имеем \G\^\eHyjgxH^g1HKj...Kjgm_xH\^\eH\ + \gxH\ + \g1H\ + Следовательно, \G\: \н\ = \G I Н\ = т . о Определение 4.7.1. Подгруппа Я называется нормальным делителем группы G, если множество левых классов смежности группы G по под- группе Я совпадает с множеством правых классов смежности группы G по подгруппе Я, т.е. для любого элемента g e G gH = Hg. Иначе говоря, подгруппа Η является нормальным делителем группы G, если для любого элемента geG и элемента /г, € Я существует элемент /¾ e Я, такой, что ghx=h2g. Определим произведение ЛВ двух подмножеств А и В группы G как множество элементов [abe G:a e A, be В}. Пусть Я - нормальный делитель группы G. Тогда произведение любых классов смежности является классом смежности. Действительно, (glH)(glH) = gl (Hg2)H = g, (g2H)H = glg2H с учетом ассоциативности групповой операции, соотношения gH = Hg и замк- нутости подгруппы Я относительно групповой операции. Учитывая последнее равенство, равенство (gxH)(g2H) = gxg2H можно рассматривать как операцию умножения на классах смежности. Совокупность классов смежности G/H с этой операцией умножения образует группу, которая называется фактор- группой группы G по нормальному делителю Я. Действительно, введенная выше операция умножения классов смежности ассоциативна, роль единицы иг- рает сама подгруппа Я : gHH = HgH - gH; для класса смежности Я обратным будет класс смежности g~]H так как gHg'lH = еН -Н. Пример 4.7.1. Пусть <7 = (Ζ;+) -аддитивная группа целых чисел, Я - подгруппа чисел, кратных натуральному числу ρ > 1. Разложение группы G по подгруппе Я состоит из ρ различных классов смежности [г], г = 0,1,...,/?-1. При этом класс [г] содержит все целые числа, которые при делении на ρ дают в остатке г. Следовательно, G/H - циклическая группа порядка ρ, порожден- 92
ная классом смежности [l]. Она совпадает с группой \Zp; θ] классов вычетов по модулю ρ. (См. пример 4.2.3 из главы 1 и пример 3 из пункта 4.4 этой главы). Пример 4.7.2. Пусть G - группа линейных функций g: R —»R, g(x) = ах + b, a * 0; Η - подгруппа линейных функций вида χ + с. Под- группа Η является нормальным делителем, так как вместе с любыми двумя функциями g(x) = ах + Ь, h(x) = χ + с она содержит и функцию g о ho g~l = (яуг + Ζ?) ο (χ + с) ο ία"1* - а~хЪ J = л; + яс. Какие линейные функции принадлежат одному классу смежности? Так как Η содержит линейные функции вида jt + c, то все функции вида (ах + Ь)о(х + с) = ax + (b + с) принадлежат тому же левому классу смежности, что и линейная функция ах + Ъ. Следовательно, функции, принадлежащие од- ному и тому же смежному классу, имеют одинаковые коэффициенты при χ. Пример 4.7.3. В мультипликативной группе GL(n,R) невырожденных квадратных матриц порядка η множество матриц, определитель которых равен единице, образует, как известно, подгруппу. Эта подгруппа является нормаль- ным делителем, так как левым и правым классом смежности по этой подгруппе, порожденным матрицей А, является класс всех матриц, определитель которых равен определителю матрицы А. Действительно, достаточно вспомнить, что определитель произведения матриц равен произведению их определителей. Фактор-группа группы GL(n, Ж) по подгруппе матриц с определителем равным единице изоморфна группе (R \ {0}; ·) 5. Алгебры с двумя бинарными операциями Математика оперирует с объектами самого разнообразного типа. Это мо- гут быть числа, матрицы, векторы, многочлены, рациональные функции и т.д. Многие объекты, которые естественно возникают в математике и ее приложе- ниях, представляют собой множества с заданными на них двумя бинарными операциями, удовлетворяющими некоторым условиям. Поэтому желательно исследовать строение таких объектов, важнейшими из которых являются коль- ца, в абстрактной форме. 5.1. Определение и примеры колец Начнем со следующего определения. Определение 5.1.1. Кольцом называется алгебра 7£ = (Л4;-f, ·) с двумя бинарными операциями + (сложение) и · (умножение), которые удовлетворяют следующим условиям (аксиомам кольца): 93
1. (Μ; +) - абелева группа. 2. Операция умножения ассоциативна: для любых элементов a,b,ce M (a-b)-c = a-(b-c). 3. Операция умножения дистрибутивна относительно операции сложения слева и справа: для любых элементов а, Ь, с е Μ a-(b + c) = a-b + a-c, (a + b)-c = a-c + b-c. 4. Кольцо называется коммутативным, если операция умножения комму- тативна: для любых элементов a, be Μ a-b-b-a . 5. Кольцо называется кольцом с единицей, если существует единица е относительно умножения. Относительно операции умножения кольцо с едини- цей является моноидом. Относительно операций сложения и умножения нулевой и единичный элемент будем обозначать Оие,а противоположный и обратный элемент к элементу а как -а и а~] соответственно; а + (~Ь) будем записывать как а-Ь. Приведем примеры колец. Пример 5.1.1. Целые числа, действительные числа, рациональные числа с обычными операциями сложения и умножения образуют коммутативные коль- ца с единицей. Множество четных чисел - кольцо без 1. Пример 5.1.2. Множество С комплексных чисел образует группу по сложению и полугруппу по умножению. Поскольку на множестве сложение и умножение связаны законами дистрибутивности, то (С; +, ·) - коммутативное кольцо с единицей. Пример 5.1.3. Числа вида а + Ьл[-5, где а и b - целые числа, образуют кольцо. Пример 5.1.4. Рассмотрим классы вычетов ^={[0], [l],·.., [p-l]} no модулю ρ. Определим на Ър операции сложения Θ и умножения Θ: [/]0[y] = [s], если i + j = s(moap) и [/]®[y] = |V], если ij = r (mod p). Множество классов вычетов с введенными операциями сложения и ум- ножения \Ζρ; θ, ®J является коммутативным кольцом с единицей, которое на- 94
зывается кольцом классов вычетов по модулю р. Нулем является класс [0], противоположный элемент к классу [т] определяется соотношением -[/??] = [/?-/я], 0<m<p-\. Аксиомы кольца легко проверяются. Например, арифметика целых чисел (Ζ 15; θ, Θ) - коммутативное кольцо с единицей. Пример 5.1.5. Множество Matn(K) квадратных матриц порядка п, эле- ментами которых являются вещественные (К = Ш) или комплексные (К = С) числа с обычными операциями сложения и умножения матриц образуют кольцо с единицей. Единицей кольца является единичная матрица η -го порядка. Это кольцо - некоммутативно. Пример 5.1.6. Множества многочленов с комплексными, действительны- ми, рациональными, целочисленными коэффициентами вместе с обычными операциями сложения и умножения многочленов образуют кольца. Рассмот- рим, например, множество Ρ многочленов Рп (х) = а0х" + ахх"~1 +... + ап_хχ + ап, η - О,1, 2,..., с действительными коэффициентами а0, αλ,..., ап. Сумма двух многочленов Р„{х) и Рт(х) есть также многочлен Р„{х) + Рт(х)· Операция сложения многочленов ассоциативна и коммутативна. Многочлен o(jc) = 0 обладает свойством: Рп(х) + о(х) = Р„(х)· Для любого многочлена Ра(х) существует многочлен -Рп (х) = -а0х" - ахх"~] -... - ап_хх - ап такой, что Рп (х) + {~Рп (х)) = 0 = о(х). Следовательно, структура (Р; +) - абелева группа. Операция умножения · двух многочленов - это естественная операция умножения «скобки на скобку». Ясно, что эта операция дистрибутивна относи- тельно операции сложения слева и справа. Следовательно, (Р; +, ·) - кольцо (кольцо многочленов). Это коммутативное кольцо с единицей е[х) = 1. Пример 5.1.7. Совокупность вещественнозначных непрерывных функций на отрезке [0,1] образует коммутативное кольцо С[0,1] при обычном опреде- лении действий над функциями. В определении вместо вещественнозначньгх функций можно было бы рассматривать комплекснозначные функции, а вместо отрезка [0,1] - произвольный промежуток. Такие кольца встречаются в мате- матическом анализе и рассматриваются часто вместе с нормой их элементов. Например, в кольце С[0,1] обычно рассматривается норма |/1=™>Чо,.]|/(4 Пример 5.1.8. Совокупность функций комплексной переменной, анали- тических в начале координат при обычном определении действий над функ- циями. 95
5.2. Свойства колец Основные свойства колец приведены в следующей теореме. Теорема 5.2.1. В кольце выполняются следующие соотношения: (Ι)0·α = α·0 = 0. (2)a{~b) = (-ayb = -(a-b). (3)(-*).(-*) = *.А. Доказательство. 1. Докажем, что нуль кольца является «нулевым элементом» для опера- ции умножения. Аналогичное свойство числа 0 хорошо известно. Выведем это свойство нулевого элемента из аксиом кольца. Так как соотношение b = b + 0 выполняется для любого элемента b кольца, то для всех элементов а кольца справедливо соотношение ab = a(b + 0), откуда в силу левого закона дистри- бутивности получаем a-b = a-b + a-0. Поскольку элементы кольца образуют группу по сложению, то вычитая из правой и левой частей последнего равенст- ва а · b, получаем, что а · 0 = 0. Аналогично доказывается соотношение 0 · а = 0. Таким образом, если один из множителей кольца равен нулю, то их произведе- ние равно нулю. Заметим, что обратное утверждение неверно. 2. Используя доказанное свойство 1, для любых элементов а и b кольца получаем: a-b + a-(-b) = a-[b + (-b)j = a-0 = Q. Так как элемент, противопо- ложный любому элементу кольца, определен однозначно, то элемент а-(-Ь) может быть только противоположным элементу а ■ b. Аналогично доказывается соотношение (-а)-6 = -(я-6). 3. Из свойства 2 следует хорошо известное для чисел и несколько таинст- венное правило знаков при умножении отрицательных чисел: «минус на минус дает плюс». Действительно, (-а)-(-Ь) = -[а-(-Ь)] = -(-а-Ь) = а-Ь. a 5.3. Область целостности Алгебраические операции в произвольном кольце обладают многими привычными свойствами операций над числами. Однако не любое свойство сложения и умножения чисел сохраняется во всяком кольце. Так, если произве- дение двух чисел равно нулю, то хотя бы один из множителей равен нулю. Это свойство, как отмечалось, уже не может быть распространено на любые кольца. В некоторых кольцах можно указать ненулевые элементы, произведение кото- рых равно нулю. Например, в арифметике (Ζ Ι5; Θ, <8>) имеем 2560128 = 0. 96
Определение 5.3.1. Если в кольце существуют элементы аФО, ЬфО, произведение которых равно нулю, ab = 0, то они называются делителями нуля. Кольцо целых чисел не содержит делителей нуля, нет делителей нуля и в кольце многочленов. Однако многие кольца функций обладают делителями нуля. Заметим, прежде всего, что нуль в кольце функций - это функция равная нулю при всех значениях аргумента. Рассмотрим кольцо С[0,1] функций непрерывных на отрезке [0,1] и пусть О, -1 <jc<0; L· -1<х<0; х, 0<*<1, ^ [О, 0<jc<1. Обе эти функции отличны от нуля, так как не при всех значениях χ равны ну- лю их значения; произведение же этих функций равно нулю. В группе из равенства а-Ь = а-с, следует равенство Ь = с, то есть воз- можно «сокращение». Однако, в случае произвольного кольца это неверно. Теорема 5.3.1. Условие а-Ь = а-с=> Ъ-с имеет место в кольце 1Ζ тогда и только тогда, когда ΊΖ не содержит делителей нуля. π Определение 5.3.2. Коммутативное кольцо с единицей без делителей ну- ля называется областью целостности. Пример 5.3.1. Кольцо целых чисел (Ζ; +, ·) является областью целост- ности. Пример 5.3.2. Кольцо (Ζ 15; Θ, 0] не является областью целостности, так как 256-128 = 0. Заметим, что ни в каком кольце невозможно деление на нуль, ввиду свой- ства кольца: 0 · χ = 0. 6. Поля и тела 6.1. Определение и примеры полей Поле - это кольцо, в котором однозначно выполнимо деление во всех случаях, кроме деления на нуль. Элемент с называется частным элементов а и Ь, Ь^О, если Ъ-с-а. Частное элементов а и Ъ обозначается символом а с- — . Ъ Поля ближе всего соответствуют числовой интуиции. Дадим точное оп- ределение поля. Определение 6.1.1. Кольцо Τ~(М.\+, ) с единицей е*0 называется полем, если ненулевые элементы кольца образуют абелеву группу относительно операции умножения · /(*)= 97
Поле представляет собой гибрид двух абелевых групп - аддитивной и мультипликативной, связанных законом дистрибутивности (теперь уже одним, ввиду коммутативности). Пример 6.1.1. Основными примерами полей являются поле рациональ- ных чисел Q, поле действительных чисел ]R и поле комплексных чисел С . Це- лые числа не образуют поле. Известно, что множества этих чисел образуют кольца. Докажем, напри- мер, что кольцо комплексных чисел (С; +, ·) является полем, то есть для всяко- го отличного от нуля комплексного числа z = a + ibeC найдется комплексное число x + iy, которое при умножении на a + ib дает 1. Поскольку умножение комплексных чисел коммутативно, то неважно, с какой стороны умножать χ + iy на a + ib - слева или справа. Имеем (х + iy) - (а + ib) -1 <=> [ах - by) + i{bx + ay) = 1 + о · ζ <=> ax~by = \, bx + ay = 0o a b X~~ r,1 . U2 ' У ~ Λ2 , . 2 ' a +b a +b Так как а + ib φ 0, то a2 +b2 фО, поэтому х и у существуют. Пример 6.1.2. Числа вида а + Ь^/2, где а и b - рациональные числа обра- зуют поле. Проверим, что операции сложения и умножения не выводят из рас- сматриваемого множества. Соотношения (a + bj2) + (c + dyfc) = (a + c)+(b + d)j2; -(a + bJl) = (-a) + (-b)42 и 0 = 0 + 0V2, показывают, что числа вида а + Ьы2 образуют группу по сло- жению. Рассмотрим теперь произведение двух таких чисел: (a + b^(c + dj2} = ac + ad^ + bcjl + 2bd = (ac + 2bd) + (ad + bc)yf2. Так как числа ac + 2bd и ad + bc рациональные, то произведение имеет такой же вид, что и сомножители. Следовательно, числа вида а + Ьы2 с рацио- нальными а и b образуют кольцо. Осталось доказать, что для чисел такого вида, отличных от нуля, всегда существуют обратные и также представимы в виде а + Ьы2 с рацинальными а и Ь. Прямая проверка показывает, что число χ + у 42, где _ а - b 98
является обратным к числу а+Ьы1. Для рациональных а и Ъ знамена- тель не может обращаться в нуль. Если бы a1 -2b2 = О, то это означало бы, что а/2 - рациональное число. Таким образом, для всякого числа вида а + ь4г ^ 0 с рациональными а и Ъ существует обратное la + W2) = χ + iy с рациональными х и у. Пример 6.1.3. Пусть £" = {0,1}. Определим на множестве Ε операции Θ и 0 следующим образом: 000 = 0, 001 = 1, 100 = 1, 101 = 0,000 = 0, 001 = 0, 100 = 0, 101 = 1. Тогда F2=(£; 0,0) является полем и называется двоичной арифметикой. Пример 6.1.4. Обозначим через Ч и Η свойства целого числа быть чет- ным или нечетным и определим действия сложения и умножения над символа- ми Ч и Η по аналогии с тем, как ведут себя соответствующие свойства при сложении и умножении чисел. Например, так как сумма четного и нечетного числа нечетна, положим Ч+Н-Н и т.д. Результаты можно выразить в «табли- цах сложения и умножения»: | X Ч Η Ч Ч Ч Η Ч Η + ч Η ч ч Η Η Η ч Легко проверить, что ({^, Я};+, х) - поле. Нулем в нем является Ч> а единицей Н. Переобозначая 4 через О, Η - через 1, видим, что поле ({¥, Н); +, х) совпадает с полем двоичной арифметики F2. Пример 6.1.5. Алгебраическое выражение, которое можно получить при помощи операций сложения, умножения и деления из неизвестной χ и произ- вольных элементов некоторого поля К, может быть записано в виде а0х" + αχχ"~λ +... + αη_λχ + an b0xm + bxxm'x +... + bmAx + bm где a.9 tyeK и не все b. = 0. Такое выражение называется рациональной дробью или рациональной функцией от χ. Все рациональные функции образуют поле, называемое полем рациональных функций. Теорема 6.1.1. Кольцо классов вычетов (Ζ ; 0, 0J тогда и только тогда является полем, когда ρ - простое число. Доказательство. Множество классов вычетов Ър образует кольцо (см. пример 5.1.4). Если число ρ составное, то кольцо Ър обладает делителями 99
нуля. Действительно, если р-тп, где \<т<ρ, \<η<ρ,το классы [т] и [п] отличны от нулевого класса [0], а их произведение [#г]<8>[«] = [0]. Ниже (теорема 6.2.1) будет установлено, что в этом случае кольцо Zp не может быть полем. Покажем теперь, что если число ρ простое, то кольцо Ър будет полем. Действительно, пусть даны классы [т] и [s], причем [#*]^[θ], т. е. 1 < т < ρ -1. Нужно показать, что можно разделить [s] на [т], т.е. найти такой класс [л], что [/w]0[«] = [s]. Если [s] = [0], то и [я] = [0]. Если же [·*]*[()], то рассмотрим систему чисел ту 2т, Зт, ...,(р -\)т. (1) Все эти числа лежат вне нулевого класса [θ], так как произведение двух натуральных чисел, меньших простого числа ρ не может делиться на ρ. Далее, никакие два числа im и jm из системы (1), i<j, не могут лежать в одном классе, так как тогда их разность im-jm = {i- j)m делилась бы на ρ, что сно- ва противоречит простоте числа ρ. Таким образом, в каждом ненулевом классе лежит ровно одно число из системы (1). В частности, в классе [s] лежит число η т, где 1 < η < ρ -1, т. е. [η] ® [т] = [s], а тогда класс [п] и будет искомым ча- стным от деления [s] на [т]. d Мы получили, таким образом, бесконечно много различных конечных полей: поле Z2, состоящее всего из двух чисел, а также поля Z3, Z5, Z7 и т. д. По теореме 6.1.1 для любого простого числа ρ алгебра ίΖ ; θ, 0) обра- зует конечное поле. В отличие от полей С, Ш, Q, в этом поле при сложении единичного элемента [l] p раз получается нулевой элемент: [Ч+М+-+[1Н°1· Ρ Определение 6.1.2. Характеристикой поля называется число равное О, если элемент е порождает подгруппу бесконечного порядка и равное по- рядку ρ этой подгруппы, если он конечен. Таким образом, характеристика поля - это наименьшее количество еди- ничных элементов, сумма которых равна нулевому элементу: е + е + ... + е = 0. Характеристика поля обозначается через char. Поле, в котором сумма любого количества единиц не равна нулю, называется полем характеристики нуль. Следовательно, char(C) = char(R) = char(Q) = 0, char(7Lp) = ρ. 100
6.2. Свойства полей Перейдем к рассмотрению некоторых свойств полей, вытекающих из возможности деления. Теорема 6.2.1. Никакое поле не содержит делителей нуля. Доказательство. Действительно, пусть ab = 0, но аФО. Умножая обе части равенства на элемент а~\ получим слева (a~l •a\b = e-b = b, а справа ^-0 = 0, т. е. fc = 0. d Теорема 6.2.2. Если характеристика ρ поля не равна нулю, то ρ - про- стое число. Доказательство. Действительно, пусть р = тп - составное число, где т<р и п<р. По определению характеристики ре = 0, поэтому (тп)е = (те)(пе) = 0. Но в поле нет делителей нуля, следовательно, либо те = 0, либо пе = 0. Но это противоречит определению характеристики как наименьшего положительного коэффициента, обращающего единицу поля в нуль. о Теорема 6.2.3. В поле выполняются следующие соотношения: (1) (-α)-α.(-ΐ); (2) _(а + й) = (_д) + (_й). (3) a*0=>(a-l)~l=a; (4) a-b = Q=>a = Q или b = 0. Доказательство. 1)(α·(-ΐ)) + α = (α.(-ΐ)) + (α·ΐ) = α·(-1 + ΐ) = α·0 = 0. 2)(α + *) + ((-β) + (^)) = (^ = α + 0 + (-α) = α + (-α) = 0. 3) а~[а = е. 4) Пусть a-b = 0 и аФО. Тогда а'1 определено и b = e-b = (a~] -aYb = = a~l-(a-b) = a'1 0 = 0 d Линейным уравнением относительно χ над полем Τ называется выра- жение вида: а·χ + b = 0; выражение axx + bx + c = 0 - называется квадрат- ным уравнением. Здесь 0,а,Ь,с - элементы поля. 101
Теорема 6.2.4. Если а ф О, то линейное уравнение а ■ χ + Ъ = 0 имеет единственное решение в Τ. Доказательство. a-x + b = Q=>a-x + b + (-b) = 0 + (~b) => а · χ + (b + (-b)) = (-b) => => a · χ + 0 = (-Z>) => ^1 = (-/))^^-(^1) = ^-(4)=)(^-4^(-^^1^ => г · χ - (-Z>) · a-1 ==> χ = (-Z>) · a~] Поле .77 замкнуто относительно заданных операций + и ·, поэтому эле- мент (-6) · а~х содержится в/.А так как обратные элементы в поле Τ един- ственны, то и решение χ = (-b) ■ а'1 единственно. d Квадратное уравнение с коэффициентами а, Ь, с из Ш, в общем случае неразрешимы в Ш. Для того чтобы эти уравнения были разрешимы, нужно пе- рейти к расширению поля R - полю комплексных чисел С . Полиноминальные уравнения с комплексными коэффициентами всегда разрешимы в поле ком- плексных чисел. 6.3. Определение и примеры тел Дадим определение тела и приведем важный пример тела - тело кватер- нионов. Определение 6.3.1. Кольцо & = (М; +, ·) с единицей, в котором для лю- бого отличного от нуля элемента существует обратный, называется телом. Если кольцо является телом, то оно не содержит делителей нуля, то есть произведение любых двух отличных от нуля элементов кольца также отлично от нуля. Это означает, что отличные от нуля элементы тела образуют полу- группу по умножению. Так как тело содержит единичный элемент и элемент, обратный отличному от нуля элементу, отличен от нуля (поскольку элемент, обратный обратному, существует), то элементы тела, отличные от нуля, обра- зуют группу по умножению. Наоборот, если отличные от нуля элементы кольца образуют группу по умножению, то единичный элемент этой группы совпадает с единицей кольца, так как 0 · е = е · 0 = 0 и для всех элементов, отличных от ну- ля, существуют обратные. Следовательно, такое кольцо является телом. Пример 6.3.1. Множество Μ вещественных матриц вида ( а Ъ с d\ \ -b a -d с \ А = \ 1-е d a -b \ {-d -с Ъ а ) 102
с операциями сложения и умножения матриц образует тело - тело кватер- нионов. Множество таких матриц, очевидно, образует абелеву группу относи- тельно операции сложения матриц. Операция умножения матриц дистрибутив- на слева и справа относительно операции сложения. Ненулевые матрицы из множества Μ образуют группу по умножению. Действительно, непосредственно проверяется, что, если А, В е Μ, то их произ- ведение А-ВеМ, т.е. множество Μ замкнуто относительно операции умно- жения, причем А-В* В- А. Умножение матриц ассоциативно. Единичная мат- рица четвертого порядка принадлежит множеству Μ. Определитель матрицы A : det А = (а2 + Ь2 + с2 + d2 W 0 и, следовательно, для любой матрицы А е Μ существует обратная матрица A~l. Остается проверить, что матрица А~1еМ. Для этого достаточно показать выполнение равенств: А\ = ^22 ~ 4» ~ Λ4 J Αϊ = Лз ~ ~Ά\ = ~^34> где Д. - алгебраические дополнения элементов матрицы А. Это проверяется также непосредственным вычислением. Таким образом, (ΛΊ; +, ·) - тело. 7. Решетки Решетки часто встречаются в задачах программирования, но, что весьма важно, понятие решетки непосредственно приводит к понятию булевой алгеб- ры, которое имеет множество приложений в программировании и вычисли- тельной технике. 7.1. Определение решетки Дадим определение решетки. Определение 7.1 Л. Решеткой называется алгебра (Ζ,; ν, л) с двумя би- нарными операциями ν (объединение) и л (пересечение), которые удовлетво- ряют следующим условиям (аксиомам решетки): (1) Идемпотентность: ανα = α, α/\α-α\ (2) Коммутативность: avb=bvα, алЬ = Ьла; (3) Ассоциативность: (α ν b) ν с = a v (b ν с), (а л b) л с = а л(Ь л с); (4) Поглощение: (α ν о) л а = α, (αΛ&)να = α; (5) Решетка называется дистрибутивной, если а а (р ν с) = (а л Ζ)) ν (α λ с), я ν (& л с) = (α ν b) л (α ν с). 103
Определение 7.1.2. Если в решетке существует элемент 0, такой, что для любого элемента а, ял0 = 0, то элемент 0 называется нулем (или нижней гранью) решетки. Если в решетке существует элемент 1, такой, что для любого элемента α, α ν 1 = 1, то элемент 1 называется единицей (или верхней гранью) решетки. Решетка с верхней и нижней гранью называется ограниченной. Определение 7.1.3. В ограниченной решетке элемент а называется до- полнением элемента а, если ала-0 и ανα-\. Если для любого элемента aeL существует его дополнение а , то ограниченная решетка называется ре- шеткой с дополнением. Дополнение обладает следующими свойствами: 1) дополнение а единст- венно; 2) дополнение инволютивно: а - а; 3) выполняются законы де Моргана: awb-a лЬ, алЬ = а\/Ь;4) грани дополняют друг друга: 1=0, 0 = 1. В любой решетке можно ввести нестрогий частичный порядок, полагая а<Ъ<^>а/\Ъ-а. Тогда нулевой элемент решетки - это её наименьший эле- мент, а единица решетки - наибольший элемент. В конечных решетках всегда существует нуль и единица. Теорема 7.1.1. Отношение -< является отношением частичного порядка. Доказательство. (1) Рефлексивность: ала = а=>а<а\ (2) Антисимметричность: а-<Ь, Ъ<а => алЬ = а и Ьла = Ь => а = а лЬ - Ъ л а = Ь; (3) Транзитивность: a-<b, b-<c => алЬ = а и Ьас-Ь => а л с = (а л Ь) л с = а л(Ь л с) = а л b = a => α·< с. о Наличие частичного порядка в решетке не случайно, а является ее харак- теристическим свойством. Пусть Μ - частично упорядоченное множество с отношением частичного порядка ^ и inf (ayb), sup(a,Z?) - точная нижняя и точная верхняя грани элементов a,beM. Тогда имеет место следующая тео- рема. Теорема 7.1.2. Если в частично упорядоченном множестве {М; ■<) для любых двух элементов существует нижняя и верхняя грани, то это множество образует решетку относительно inf и sup (то есть aAb = 'mf (я, b), avb = sup(a,b)). Доказательство. Для доказательства этой теоремы достаточно проверить аксиомы 1-4 решетки. d Таким образом, решетку можно определить как частично упорядоченное множество, в котором каждая пара элементов имеет супремум и инфимум. 104
Пример 7.1.1. Множество натуральных чисел N является решеткой: для любой пары чисел /и, и е N таких, что т < η можно определить inf (m, n) = m, sup(m,n) = n. Пример 7.1.2. Булеан В(М) произвольного множества Μ 9 представ- ляющий частично упорядоченное множество относительно включения с, явля- ется решеткой. Для любых А, В е В(М) можно определить inf (Α,Β) = АпВ; sup(A, В) = AkjB. 7.2. Булевы алгебры Определение 7.2.1. Дистрибутивная ограниченная решетка, в которой для каждого элемента существует дополнение, называется булевой алгеброй. Из определения решетки и свойств дополнения следует, что булева ал- гебра обладает следующими свойствами. (1) ava = a, ала = а; (2) avb = bvа, алЬ-Ьла; (3) (avb)vc = av(bvc), (ялб)лс = ял(блс); (4) (ачЬ)ла = а, [алb)va = а; (5) я л (6 ν с) = (а л 6) ν (α л с), a v(bAc) = (a ν Ζ?) л (α ν с); (6) flvl = l, алО = 0; (7) avO = a, ал\ = а; (8) а=а; (9) avb = a лЬ, aAb = avb; (10) ava=\, ала=0. Приведем примеры булевых алгебр. Пример 7.2.1. {b(U)\ η, u, ") - булева алгебра. В ней l = U, 0 = 0, Пример 7.2.2. Гё; л, ν, ~) где £" = {0,1} - булева алгебра. В ней 1 = 1, 0 = 0, :<==>. Пример 7.2.3. Рассмотрим множество Μ = {0, а, Ь, 1} и зададим частич- ный порядок :< на Μ следующим образом: 0 :< д, 0:<6, α·<\, £ ^ 1, аэлемен- ты а и b несравнимы. Система (М; ^) является булевой алгеброй, в которой a =b, b =а. 105
8. Задачи и упражнения 1. Являются ли следующие бинарные операции ассоциативными: . a) х * у - max (χ, у) на множестве действительных чисел; b) х*у = х/у на. множестве положительных действительных чисел; c) jc * у = у]х2 + у2 на множестве неотрицательных действительных чи- сел. 2. Показать, что на множестве действительных чисел, отличных от нуля, операция умножения не является дистрибутивной относительно операции деления ни слева, ни справа. 3. Являются ли алгебрами следующие наборы: a) .4 = (Q\Z;+,·,+); b) Л = (м+;>/^, ·,+), где R+ ={jcgR:x>0} ; c) Д = (с\{0};+,-,+,>Р)? 4. Рассмотрим алгебру Л = ({а, Ь, с, d); ·), определенную следующей таблицей Кэли a Ь с d a a с a d b a d с a с b a d d d a b d a Имеет ли алгебра Л подалгебру с носителем: а) {а, Ь, с}; б) {b}; в) {a, d) ? 5. На множестве V векторов трехмерного евклидова пространства задана операция векторного произведения векторов [,]. Является ли (V; [,]) алгеброй? 6. Пусть Matn(K) - множество всех квадратных матриц и-го порядка действительных, если K = R и комплексных, если К = С. На множестве Matn(K) введем бинарную операцию [А, В] = АВ-ВА и унарную операцию о, λο Α = λ·Α, ЛеК. Показать, что (Matn(K); [,], о) - алгебра с одной би- нарной и одной унарной операцией. 106
7. Пусть Лл - подмножество матриц из Matn{K) со следом 0. След квадратной матрицы - это сумма ее диагональных элементов. Показать, что (Л„; [,], о) - подалгебра алгебры (Matn(K); [,], °). 8. Показать, что множество Въ кососимметрических матриц третьего по- рядка, элементами которых являются комплексные числа, является подалгеброй алгебры (Mat3(K); [,], о). 9. Образует ли множество положительных действительных чисел Ш+ = = {xeR:.x>0} полугруппу, моноид по сложению и умножению? 10. Показать, что неотрицательные целые числа образуют относительно операции сложения циклический моноид, а относительно операции умножения - нециклический моноид. 11. Показать, что подстановки f\ 2 3' ,1 2 2, и β = г V относительно операции «умножения подстановок» не образуют полугруппу. Какие подстановки следует добавить, чтобы множество подстановок стало по- лугруппой, моноидом? 12. На множестве X - {а, Ь, с} таблицей задана бинарная операция * : * а с Ь а Ъ а с Ь с b а с а с Ь Показать, что (Х\ *) - абелев моноид. 13. Определить, образуют ли следующие множества чисел группу по сложению и умножению. 13А. Все действительные числа. 13.2. Все действительные числа, отличные от нуля. 13.3. Все положительные числа. 13.4. Все неотрицательные числа. 13.5. Отрицательные числа. 13.6. Рациональные числа, отличные от нуля. 13.7. Положительные иррациональные числа. 107
13.8. Целые положительные степени двойки. 13.9. Все целые степени числа три. 13.10. Числа 1,-1. 13.11. Число нуль. 13.12. Все комплексные числа. 13.13. Комплексные числа, отличные от нуля. 13.14. Числа вида a + ib, где а и Ъ - целые числа, / = v-1. 13.15. Числа вида a + ib, где а и b -рациональные числа. 13.16. Комплексные числа с модулем, равным единице. 13.17. Числа 1, -1, /, - i. 14. Доказать, что (Z; *), где х*у-ху+х+у - моноид. Найти все обра- тимые элементы. 15. Преобразование /евклидовой плоскости Ш2 называется движением, если оно сохраняет расстояние между любыми двумя точками плоскости. В де- картовых координатах любое движение может быть записано в виде: У cosO -sin# sin# cos# {у)\ь. Показать: а) множество всех движений плоскости образует группу; Ь) подмно- жество всех движений, оставляющих на месте начало координат, составляет подгруппу; с) подмножество всех движений, для которых θ = О, образует под- группу (группу параллельных переносов). 16. Показать, что линейные функции f(x) = ax + b, аФО образуют груп- пу относительно операции композиции. 17. Доказать, что монотонно возрастающие непрерывные функции на от- резке [0,1] с условием /(0) = 0, /(l) = l образуют группу относительно опе- рации композиции. 18. Найти подгруппу аддитивной группы целых чисел, порожденную чис- лом два. 19. Пусть G = (Z; +) - аддитивная группа целых чисел, Я - подгруппа чисел, кратных числу 5. Найти фактор - группу G/H. 108
20. Показать, что множество Mat2(R) всех квадратных матриц 2-го по- рядка с целыми элементами и определителем равным единице относительно операции умножения образует группу и что матрица А = О 1 порождает бесконечную циклическую подгруппу этой группы; при этом Аи=\ О 1 21. Матрицы вида строки которой состоят из одних и тех же элементов с. € Ш, а каждая следую- щая строка получается из предыдущей сдвигом на один элемент, называются циклическими. Показать, что невырожденные циклические матрицы η -го по- рядка образуют абелеву группу относительно матричного умножения. 22. Показать, что множество всех преобразований Мёбиуса в комплекс- az + b ной плоскости /: ζ -> · где a,b,c,d - комплексные числа, ad -be ψ 0 cz + d образует группу. 23. Доказать, что любая группа порядка 3 является коммутативной. 24. Описать все подгруппы симметрической группы Σ3. 25. Найти все (с точностью до изоморфизма) группы, содержащие два и три элемента. 26. Составить таблицу Кэли и выяснить, являются ли группой: а) враще- ния квадрата; Ь) симметрии квадрата; с) симметрии ромба; d) симметрии пря- моугольника. 27. Какие из следующих групп изоморфны: а) группа вращений квадрата; Ь) группа самосовмещений ромба; с) группа самосовмещений прямоугольника; d) группа классов вычетов по модулю 4. 28. Описывая самосовмещения следующих геометрических фигур под- становками на множестве вершин, указать: а) группу вращений тетраэдра; Ь) подгруппы этой группы, изоморфные циклической группе второго и третьего порядка; с) группу вращений куба. 29. Пусть аа-е для любого элемента а группы G (т.е. любой элемент обратен себе). Доказать, что группа G абелева. 109
30. Аддитивная группа комплексных чисел (С; +) отображается на адди- тивную группу действительных чисел (М; +) так, что каждому комплексному числу ζ поставлено в соответствие его мнимая часть Im z. Показать, что та- кое отображение является гомоморфизмом групп. 31. Мультипликативная группа комплексных чисел отличных от нуля (С\{0}; ·) отображается на мультипликативную группу положительных дейст- вительных чисел (R; ·) так, что каждому комплексному числу ζ поставлен в соответствие его модуль |z|. Показать, что такое отображение является гомо- морфизмом групп. 32. Доказать, что следующие подмножества множества Matn (R) явля- ются кольцами: а) множество диагональных матриц \а..\са.. =0 при i*j\ b) множество треугольных матриц \аЛ с ai} = 0 при i<j. 33. В кольце (Л/(ЯГИ(К); +, ·) квадратных матриц порядка η указать дели- тели нуля. 34. Показать, что кортежи длины 2 целых чисел с операциями (a,b) + (c,d) = (a + c,b + d)\ {a,b)-{c,d) = {ac, bd) образуют кольцо, но не поле. 35. Показать, что множество числовых пар (a, b), где a, be IR, со сложе- нием и умножением, определенными формулами (a,b) + (c,d) = (a + c,b + d), (a,b)-(c,d) = (ac, bd) образует коммутативное кольцо с единицей (l, l) и делителями нуля. 36. Показать, что кольцо многочленов не содержит делителей нуля. 37. Показать, что многочлены с целочисленными коэффициентами обра- зуют область целостности. 38. Показать, что в кольце (Ζρ; θ, Θ J делителями нуля являются те эле- менты, которые имеют общие нетривиальные множители с ρ. 39. Доказать, что кольцо {bp\ θ, Θ) является областью целостности в том и только в том случае, если ρ - простое число. 40. Доказать, что множество Μ-{а} с одним элементом и операциями а + а = а, а-а-а является кольцом, но не полем. 110
41. Доказать, что множество Μ = {α, b] с двумя элементами и операция- ми а + a = b + b = a, a + b = b + a = b, a- a-ab-ba- я, bb-b является по- лем. 42. На множестве пар комплексных чисел определены операции сложения и умножения (a,b) + (c,d) = (a + c,b + d)i {a,b)(cfd)~(ac-bd, ad-b'c). Доказать, что при этом получается не коммутативное тело (d и с озна- чают числа, комплексно сопряженные к d и с). 43. Операции Θ и Θ на множестве N3 = {0,1, 2} определены в таблицах ® 0 1 2 0 0 0 0 1 0 1 2 2 0 2 1 Θ 0 1 2 0 0 1 2 1 1 2 0 2 2 0 1 Показать, что (Ν3; θ, <8>) - поле. 44. Показать, что следующие таблицы описывают поле: 0 0 1 2 3 0 0 0 0 0 1 0 1 2 3 2 0 2 3 1 3 0 3 1 2 ® 0 1 2 3 0 0 1 2 3 1 1 0 3 2 2 2 3 0 1 3 3 2 1 0 45. Показать, что (Ζ4; θ, θ) с операциями О 0 1 2 3 0 0 0 0 0 1 0 1 2 3 2 0 2 0 2 3 0 3 2 1 Θ 0 1 2 3 0 0 1 2 3 1 1 2 3 0 2 2 3 0 1 3 3 0 1 2 не является телом. 111
46. На множестве N определим отношение ^: т<п, если η делится на т. Показать, что это отношение частичного порядка, а алгебраическая структура (Ν; ■<, ν, л), где mvп = Н.О.К.(т, я), т/\п-Н.О.Д.{т,п) явля- ется решеткой. 47. Пусть Вп - множество двоичных кортежей х = (хр х2,..., хп) длины η (элементами кортежей являются числа 0 и 1). На Вп введем отношение ■<, полагая χ ■< у, если х. < у. для всех / = 1,2,...,«. Показать, что это отношение частичного порядка. Определим χ ν у, как кортеж длины η, в котором едини- цы стоят на тех местах, где они стоят либо в χ, либо в у, а х л у как кортеж длины η, в котором единицы стоят на тех местах, где они стоят и в χ, и в у. Показать, что алгебраическая структура (#я; ^, ν, λ) является решеткой. 48. Пусть на множестве Ν2=ΝχΝ задано отношение ^: (щ,Hj) -< (т2,л2), если т1<т2 и пх < п2 и бинарные операции ν, л: (/Ир w,)v(m2, я2) = (max (mpm2), тах(ярл2)у, (/и,, л,)л(т2, /z2) = (min(/wp/w2), тт(л,,«2)]. Является ли структура (N2; ^, ν, л) решеткой? 49. Пусть .77 - множество всех вещественных функций из J в1. Опре- делим отношение ^ и бинарные операции ν, л следующим образом: / < g, означает, что f(x)<g(x) для всех xel; /vg = maxxeA.(/'(;c), g(x)), f Ag = minxeA,(/(*), g(*))· Показать, что (Τ; ·<, ν, λ) решетка. 50. Пусть G - любая группа, L(G) - множество всех подгрупп S, Τ группы G. На L(G) определим отношение ·< и бинарные операции ν, л: S^T означает, что SaT, SvT = SvT,SAT = SnT. Показать, что (^(G); ub v, л) -решетка. 112
Глава 4. ТЕОРИЯ ГРАФОВ В последние десятилетия теория графов стала важнейшим математиче- ским инструментом в решении многочисленных прикладных задач. Начало теории графов как математической дисциплины было положено Л. Эйлером в его статье о кенигсбергских мостах: Euler L. Solutio problematis ad geometriam situs pertinentes. Commentarii Academiae Petropolitanae. 8. 1736. P. 128-140. Од- нако эта статья была единственной в течение почти ста лет. Интерес к теории графов возродился в середине XIX века и был связан с решением головоломок, исследованиями Г. Кирхгофа по электрическим цепям, описанием моделей кри- сталлов и структур молекул. Оказалось, что при помощи графов можно вполне моделировать самые разнообразные задачи. Это потребовало обоснований, и теория графов стала одной из самых быстро развивающихся областей математики. Так возникли два естественных направления работы с графами: • изучение свойств абстрактных графов; • применение графов в других науках и прикладных задачах: поиск крат- чайших маршрутов, сетевое планирование, теория игр, методы передачи и об- работки информации, электрические цепи, схемы транспортных коммуникаций, задачи расписаний, проблемы биологии, психологии, социологии. 1. Основные понятия теории графов 1.1. Граф и его разновидности Простым графом (кратко - графом) G называется пара множеств: не- пустое конечное множество V и множество EczVxV неупорядоченных пар элементов из множества V G = (V9E), V*0, E^VxV, E = E~l (то есть Е симметричное отношение на V). Множество V называется множеством вершин, а множество Ε - множе- ством ребер. Число вершин графа называется его порядком и обозначается \v\. Обычно граф изображают диаграммой: вершины - точками, ребра - линиями. Если вершины ц, υ2 соединены ребром а = {ц, υ2), то говорят, что вер- шины νλ,υ2 смежные, а ребро а инцидентно вершинам ц,и2. Множество всех вершин графа G, смежных с некоторой вершиной υ, называется окруже- нием вершины υ и обозначается через К (υ). Два ребра называются смежными, если они имеют общую вершину. На рисунке 1.1.1 изображен граф с четырьмя вершинами и пятью ребрами. Вершины υ^υ2\ ц,ь>3; υ2, υ4; υ2,υ3- смеж- ные; вершины и19иА- не смежные, ребра а^а2,а5- смежные; ах,аъ- не смежные. ИЗ
Рис. 1.1.1. Часто рассматриваются следующие разновидности графов. 1. Если Е- множество упорядоченных пар элементов из К, то граф G = (V, Ε) называется ориентированным графом (орграфом). В этом случае элементы множества Ε называются дугами. При этом дуга (ц, и,)е £ называ- ется исходящей из вершины ц и заходящей в вершину υ2. На диаграмме графа дуга изображается линией со стрелкой из вершины ц в вершину υ2. 2. Если в графе (в орграфе) хотя бы одна пара вершин соединена более чем одной дугой (ребром), то такой граф (орграф) называется мультиграфом (рис. 1.1.3), а ребра (дуги) называются кратными. Рис. 1.1.2. Рис. 1.1.3. 3. Если, кроме того, элементами множества Ε могут быть пары (и, и), ueV, то они называются петлями, аграф G называется графом с петлями или псевдографом. Обычно петля считается неориентированной. На рис. 1.1.2 (l>3 , о3) - петля. 4. Граф G' = {V',E') называется подграфом графа G = (V,E) (обознача- ется G'cG), если ГсК и Ε'ςιΕ. 5. Если множество вершин подграфа G' есть V, а множество его ребер совпадает с множеством всех ребер графа G, оба конца которых принадлежат V, то G' называется подграфом, порожденным множеством V, и обозначается через G(V). 114
1.2. Морфизмы графов Пусть GX-(VX,EX) и G2-(V2,E2) - графы. Отображение (функция) /: Vx —» V2 называется гомоморфизмом, если для любых вершин υχ, υ2 е V из условия (υχ,и2)еЕх следует (/(ц), /(и2))еЕ2. Два графа GX=(VX, Ех) и G2=(V2, Е2) называются изоморфными (обо- значается GX~G2), если существует биекция /:F,<-»F2, сохраняющая смеж- ность вершин: (ux,u2)eEx<^(f(ux), f(u2))eE2. Изоморфизм графа G = (V, £) на себя называется автоморфизмом. Пример 1.2.1. Рассмотрим граф GX=(VX,EX) рис. 1.2.1(a), состоящий из множества вершин К,={1,2,3,4} и множества дуг и ребер (смешанный граф) Ех = «1, 2), (2,1>, (3, 4>, (4, 3), <1, 3), (2, 4), (3, 2), (4,1». Граф G2 = ({a,b, с}; {(а,Ь)9 (Ъ,а), (Ъ,с),(с9Ъ), {а, с), (b, b)} ) (рис. 1.2.1(6)) является гомеоморфным образом графа G, = (VX,EX) при гомоморфизме φ, в котором φ(\)=α, φ (2) = b9 φ (3) = с, ¢7 (4 ) = Ζ? . Граф G3, изобра- женный на рис. 1.2.1(b), изоморфен графу G· =(Fj,2s,). Изоморфизм у/ задается так: ψ(\) = α9 ψ(2) = δ9 у(3)=с9 ψ(4)=ά. Отображение χ:{\9 2,3, 4} о{l, 2, 3, 4}, при котором ;^(l)-2, #(2) = 1, χ(3) = 4, #(4) = 3, является автоморфизмом графа GX=(VX,EX). 2 3 ас 1 G, 4 * G2 с ^ С?3 d а) б) в) Рис. 1.2.1. 115
Пример 1.2.2. Следующие три внешне различные диаграммы на рис. 1.2.2 являются диаграммами одного и того же графа Къъ. Рис. 1.2.2. Изоморфизм задается следующим образом: их <-> и, <-> w,, u, <-> и3 <-> w3, υ3 <-> щ <-» w6, υ4 <-> u6 <-» w2, υ5 <-* u4 <-> w4, l>6 <-> w2 <-» w5. Числовые характеристики графа, одинаковые для всех изоморфных гра- фов, называются инвариантами графа. Например, число вершин и ребер (дуг) являются инвариантами графа. Пока не известно ни одной нетривиальной пол- ной системы инвариантов, определяющей граф с точностью до изоморфизма. Так, число ребер и число смежных вершин для каждой вершины не определяют граф. На рис. 1.2.3 изображены графы, у которых эти инварианты совпадают, но графы при этом не изоморфны. В Рис. 1.2.3. Отношение изоморфизма графов является отношением эквивалентности. Следовательно, множество всех графов разбивается на классы эквивалентности, так что графы из одного класса попарно изоморфны, а графы из разных классов не изоморфны. Изоморфные графы естественно отождествлять и их можно изо- бражать одинаковым рисунком. В некоторых ситуациях все же приходится различать изоморфные графы, и тогда полезно понятие «помеченный граф». Граф порядка η называется по- меченным, если его вершинам присвоены некоторые метки, например, номера 1, 2,..., η. Отождествив каждую из вершин графа с ее номером (и, следова- тельно, множество вершин - с множеством чисел 1, 2,..., я), определим равен- ство помеченных графов G и Η одного и того же порядка: G = Η тогда, когда EG = Ен . На рис. 1.2.4 изображены три разных помеченных графа. 116
1 2 3 Рис. 1.2.4. 1.3. Степени вершин Число ребер, инцидентных вершине υ называется степенью вершины υ и обозначается d{v). Последовательность {J,, d2,..., dn] степеней вершин гра- фа называется степенной последовательностью. На рис. 1.3.1 приведена диа- грамма графа К4, степень каждой вершины которого равна трем. Если степень вершины равна нулю, то такая вершина графа называется изолированной. Если степень вершины равна единице, то вершина графа назы- вается висячей. Для графа, изображенного на рис. 1.3.2: d(l) = d(2) = 2, d(b) ~ 3, вершина 5 - висячая, вершина 4 - изолированная. Для ориентированного графа число дуг, исходящих из вершины υ назы- вается полустепенью исхода и обозначается через d~{u), а число дуг, входя- щих в вершину ν - полустепенью захода и обозначается d+ {у). 4 Рис. 1.3.1. Рис. 1.3.2. Теорема 1.3.1. [Эйлер Л.]. Пусть G - мультиграф с η вершинами и т ребрами, ^.-^(ц) - степень i-й вершины υ}, тогда У7 ^. = 2m: сумма степеней вершин графа равна удвоенному количеству ребер. Доказательство. Пересчитаем число ребер в каждой вершине и сложим эти числа. Тогда каждое ребро будет подсчитано два раза. Поэтому общее чис- ло ребер мультиграфа равно половине этой суммы т = — ^Л_,^1: · о Этот результат, известный еще более двухсот лет назад Эйлеру, часто на- зывают леммой о рукопожатиях. Из нее следует, что если несколько человек 117
обменялись рукопожатиями, то общее число рукопожатий обязательно четно, так как в каждом рукопожатии участвуют две руки (при этом каждая рука счи- тается столько раз, сколько она участвует в рукопожатиях). Следствие 1.3.1. В каждом мультиграфе число вершин нечетной степе- ни четно. Действительно, пусть ц, υ2, ..., υρ - вершины с нечетной степенью, а υρ+19 ορ+2,...9 υη - вершины с четной степенью. Тогда число ί'=1 /=1 i=p+\ i=p+l - четное. Так как ^.=2^. + 1, г = 1, 2,...,/?, то Σμ^'· =(Σμ^) + ^ ~ четное число. Следовательно, число ρ вершин нечетной степени - четно. d 1.4. Маршруты, цепи, циклы, связность Маршрутом в графе G = (V,E) называется чередующаяся последова- тельность вершин и ребер {ц, ах, υ2, а2,..., ап_х, ц,}, в которой любые два со- седних элемента инцидентны. Число ребер в маршруте (с повторениями) назы- вается длиной маршрута. Это определение подходит также для псевдо-, муль- ти- и орграфов. Для «обычного» графа достаточно указать только последова- тельность вершин или только последовательность ребер. • Маршрут называется цепью, если все его ребра различные. Цепь, соеди- няющая вершины и и υ, обозначается [и, υ] и тогда вершина υ называется достижимой из вершины и. • Маршрут называется замкнутым, если νλ=υη. • Замкнутая цепь называется циклом. • Цепь называется простой, если все вершины (а значит, и ребра) различны. • Простая замкнутая цепь называется простым циклом. • Наименьшая длина цикла в графе называется обхватом. • Граф без циклов называется ациклическим. • Для ориентированных графов цепь называется путем, а цикл - контуром. Пример 1.4.1. Рассмотрим граф, изображенный на рис. 1.4.1. В нем: {ц, υ3,υ{,υ4} - маршрут длины 3, но не цепь; {ц, υ3, υ5, υ2, υ3, υ4) - цепь (все ребра различные), но не простая цепь (вершина υ3 встречается дважды); {ц, υ4, υ3, υ2, υ5) - простая цепь; {ц, υ3, υ5, υ2, υ3, ν4, υ,} - цикл, но не простой (вершина υ3 встречается дважды); [υχ, ц, υ4, l>,} - простой цикл. 118
Рис. 1.4.1. Рис. 1.4.2. Теорема 1.4.1. Пусть в графе G = (V, E) степень каждой вершины не меньше 2. Тогда граф G содержит цикл. Доказательство. Пусть их - произвольная вершина из V. Построим последовательность ребер (ц,ь>2), (ц>, υ3),..., выбирая υ2 смежной с ц и от- личной от ц; υ3 смежной cd2 и отличной от υ2 и т.д. По условию теоремы на каждом шаге очередная вершина существует. В силу конечности множества вершин V в последовательности ц, a,, t>3,... встретится вершина ик9 которая встречалась раньше. Выбирая к минимальным с этим свойством, получим цикл. d Граф G называется связным, если для любых двух его вершин и и υ существует соединяющая их простая цепь [и, υ]. Отношение связности на множестве вершин является отношением экви- валентности. Рефлексивность следует из того факта, что каждая вершина связа- на сама с собой тривиальной цепью. Симметричность следует из того, что, взяв вершины цепи [и, υ] в обратном порядке, получим цепь из υ в и. Транзитив- ность также очевидна: объединив цепи из w в и и из l> в w, получим цепь из и в w . Классы эквивалентности по отношению связности называются компонен- тами связности графа. Число компонент связности графа G обозначается k(G). Граф G является связным тогда и только тогда, когда k(G) = \. Если &(G)>1, to G - несвязный граф. Граф, состоящий только из изолированных вершин, называется вполне несвязным. Очевидно, что всякий несвязный граф G можно представить в виде объединения связных графов (компонент связности). На рис 1.4.2 изображен граф с четырьмя компонентами связности. Ребро графа, после удаления которого увеличивается число компонент связности, называет- ся мостом. На рис. 1.5.1 слева ребро (l, 4) - мост. 119
2· ·3 Γ 4 1 '4 Рис. 1.5.1. Рис. 1.5.2. 1.5. Операции над графами Рассмотрим некоторые основные операции, производимые над графами. 7. Дополнение графа. Дополнением графа G = (V,E) называется граф G = (v, Ej, где V = V и Ε = [а е V xV: а £ Е), то есть на вершинах графа G строится полный граф, а затем из этого полного графа удаляются ребра графа G. На рис. 1.5.1 граф справа является дополнением графа слева. Графы, изображенные на рис. 1.5.1, взаимодополнительные и изоморфные. Биекция, определяющая изоморфизм, может быть задана в виде: p(l) = 2, ^(2) = 4, p(3) = l, ^(4) = 3. Самодополнительный граф - это граф, изоморфный своему дополнению. На рис. 1.5.2. изображен еще один самодополнительный граф. 2. Объединение графов. Объединением графов G, =(VV £,) и G2=(V2, Е2) (обозначается G,uG2) называется граф G = (V, E), множеством вершин кото- рого является V = V] uF2, а множеством ребер Е = ЕхиЕ2 (рис. 1.5.3). Объе- динение графов дизъюнктивное, если объединяемые графы не имеют общих вершин: V = Vx n V2 = 0. Дизъюнктивное объединение графов обозначается GlUG2. 3. Пересечение графов. Пересечением графов GX=(VX,EX) и G2 =(V2, E2) (обозначается GxnG2) называется граф G = (V9E), где V-Vxr\V2\ Е = ЕхпЕ2 (рис. 1.5.4). 4. Соединение графов. Соединение графов GX=(VX,EX) и G2=(F2,£2) (обозначается Gx + G2, при условии Vx n V2 = 0) состоит из Gx U G2 и всех ребер {и, υ), где we^ и ugF2 (рис. 1.5.5). 120
Рис. 1.5.3. 6 5 Рис. 1.5.4. ΕΊ+Ε, Рис. 1.5.5. 5. Произведение графов. Произведением G1 x G2 графов GX-{V^E^ и G2=(V2,E2) называется граф G = (^xF2,£), в котором (ирц), (и2, и2)€£ тогда и только тогда, когда их-и2 и (ц ,и2)еЕ2 или ц =t>2 и {ux,u2)^Ev Пример произведения графов представлен на рис. 1.5.6. 121
Ω Гт а χ ·— b с -+— м (U) (1,¾ (l,c) Q Q D (2,a) (2,¾ (2,c) Рис. 1.5.6. 6. Стягивание графа. Пусть дан граф <7 = (Г, Е) и ребро а = (и,и)еЕ, соединяющее вершины и и υ. Операция удаления ребра а и отождествление вершин и и υ называется стягиванием (рис. 1.5.7). 7. Реберный граф. Для произвольного графа G реберный граф £(£) определяется следующими двумя условиями: 1) вершины графа L(ti) взаимно однозначно сопоставлены ребрам графа G. Рис. 1.5.7. Рис. 1.5.8. 2) вершины w, и w2 смежны в L(G) тогда и только тогда, когда соответ- ствующие им ребра ах и а2 смежны в G. Реберный граф строится следующим образом. На каждом ребре а графа G выбирается фиксированная точка, например, середина w этого реб- ра. Пара таких вершин w, hw2 соединяется новым ребром, принадлежащим L(G) тогда и только тогда, когда соответствующие ребра в графе G имеют общую вершину. На рис. 1.5.8 слева изображен граф G, а справа - его реберный граф L(G). 122
1.6. Примеры графов Перечислим наиболее типичные примеры графов. 1. Нуль-граф. Граф, состоящий только из изолированных вершин, назы- вается нуль-графом или вполне несвязным и обозначается Еп, где η - число вер- шин. 2. Полный граф. Граф, у которого любые две вершины смежные, назы- вается полным графом. Полный граф с η вершинами обозначается Кп. Число ребер полного графа Кп равно С]. На рисунках 1.6.1 и 1.6.2 изображены графы К4 и К5. Α Φ Φ Рис. 1.6.1. Рис. 1.6.2. Рис. 1.6.3. 3. Регулярный граф. Граф, у которого все вершины имеют одну и ту же степень г, называется регулярным (однородным) графом степени г. Непосред- ственно из теоремы 1.3.1 следует слдующее утверждение. Утверждение 1.6.1. В регулярном степени г конечном графе с η вер- шинами и т ребрами справедливо равенство г -п т- . 2 В частности, если г - нечетное число, то число η вершин регулярного графа является четным. Отметим, что каждый вполне несвязный граф является регулярным сте- пени 0, а каждый полный граф Кп - регулярным степени (и-1). Графы К4 и К5, изображенные на рис. 1.6.1 и 1.6.2, - регулярные степени 3 и 4 соответст- венно. Регулярные графы степени 3, называются также кубическими (или трехвалентными) графами (см., например, рис. L2.2, 1.2.3). Другим приме- ром кубического графа является известный граф Петерсена, изображенный на рис. 1.6.3. 4. Платоновы графы. Формула Эйлера. Среди регулярных графов особенно интересны так называемые Платоновы графы - графы, образованные вершинами и ребрами пяти правильных многогранников - Платоновых тел: тетраэдра, куба, октаэдра, додекаэдра, икосаэдра. Графы Платоновых тел изо- 123
бражены на рисунках 1.6.4-1.6.8. В приведенной ниже таблице указано количе- ство граней /, вершин υ и ребер е Платоновых графов. Многогранник Тетраэдр Куб Октаэдр Додекаэдр Икосаэдр Форма грани треугольник квадрат треугольник пятиугольник треугольник Вершин υ 4 8 6 20 12 Ребер е 6 12 12 30 30 Граней / 4 6 8 12 20 | Числа граней / вершин υ и ребер е связаны между собой очень важ- ным соотношением, которое называется формулой Эйлера для многогранников: f + u-e = 2. 5. Двудольные графы. Граф G = (V,E) называется двудольным или биграфом, если множество V его вершин разбито на два непересекающихся подмножества Vx и V2\ V = Vx\jV2, F| n F2 = 0, причем каждое ребро из Е со- единяет какую-нибудь вершину из Vx с какой-нибудь вершиной из V2. В дву- дольном графе не обязательно, чтобы каждая вершина из Vx соединялась с каж- дой вершиной V2 (рис. 1.6.9), если же это так, то граф называется полным дву- дольным графом и обозначается Кт п, где т и η - число вершин в Vx и соот- ветственно в V2. На рис. 1.6.10 изображен граф К43, а на рис. 1.2.2 - варианты графа Къу Граф Ктп имеет (т + п) вершин и т-п ребер. Ясно, что Ктп= Ет + Еп. Полный двудольный граф Κλ η называется звездным графом. Граф К15 изображен на рис. 1.6.11. Теорема 1.6.2. [Кёниг Д.]. Граф является двудольным тогда и только тогда, когда все его простые циклы имеют четную длину. Доказательство. Действительно, если G = {V,E) - двудольный граф и V = FjuF2, где ^nF2=0, то для любого цикла [ц, о,,... 9υ5, ц] имеем, например, uxeVv u2eV2, о3еУх и так далее. А Рис. 1.6.4. Граф тетраэдра К4 Рис. 1.6.5. Граф куба 124
Рис. 1.6.6. Графы октаэдра Рис. 1.6.7. Граф додекаэдра Рис. 1.6.8. Граф икосаэдра Рис. 1.6.9. Рис. 1.6.10. Граф K4i
^r О Рис. 1.6.11. Граф Kl5 рис. 1.6.12. Граф С6 рис. 1.6.13. Граф W6 Поэтому каждый простой цикл [ц, t>2,... ,us, ц] графа G содержит вер- шины из Vx с нечетными номерами и вершины из V2 с четными номерами. Следовательно, длина этого цикла является четным числом. Обратно, пусть G не содержит нечетных циклов. Так как граф G дву- дольный тогда и только тогда, когда все его связные компоненты являются двудольными, то можно считать, что G - связный граф. Пусть ueV и Vx={ueV: минимальная длина d(u9u) цепи [и, υ] является четной}, V2=V\VX. Если какие-нибудь вершины из ^.,/ = 1,2 соединены ребром, то G содержит цикл нечетной длины. Противоречие. π 6. Цепи, циклы и колеса. Простая цепь с η вершинами обозначается Рп. На рис. 1.2.4 изображена цепь Р3, а на рис. 1.5.1 - цепь Р4. Связный регулярный граф степени 2 называется циклическим графом или циклом и обозначается Сп, где η - число вершин. Очевидно, что Къ-Съ. Граф Петерсена (рис. 1.6.3) получается из двух простых циклов С5. Соединение графов Ελ и Си_,, (п>Ъ) называется колесом с η вершинами и обозначается Wn\Wn= Ελ+ Сп_х. На рис. 1.6.12 и 1.6.13 изображены графы С6 и W6. 7. Кубы. С помощью операции произведения графов определим рекур- сивно важный класс графов, называемых η - мерными кубами. Рассмотрим граф К2, вершины которого обозначим 0 и 1. η - мерный куб Qn определяется следующим образом: Q0 - вполне несвязный граф с одной вершиной (то есть граф Ех), Ql=K2,Qn=K2x Qn_v п>\. Вершинами η - мерного куба Qn явля- ются всевозможные кортежи длины и, элементы которых равны 0 и 1 (всего таких наборов 2"). Ребра куба задаются следующим образом: вершины смежны тогда и только тогда, когда соответствующие кортежи различаются точно од- ной координатой. На рис. 1.6.14 изображены одномерный Q, двумерный Q2 и трехмерный Q3 кубы. 126
(0,1) (1,1) (1,0,1) (0,0) (1,0) Μ ),0,1) a /(0,0,0) (0,1, π (ο,ι,οΚ Ι (1,1,1) (1,0,0) (1,1,0) Рис. 1.6.14. Кубы 1.7. Метрические характеристики графов Рассмотрим связный граф G = (V,E). Длина какого-либо маршрута в графе - это число ребер в нем. Обозначим через d(u, υ) длину кратчайшей цепи [и, υ] между вершинами и и υ. Она называется расстоянием между вершинами и и υ. Введем другие величины в графе, связанные с метрикой. • Если ν = {υ]9υ2,...,υη}, то матрица [Р] = (р..), где /λ. = d {ot, t>y) назы- вается матрицейрасстояний. Матрица [Р] симметрична. • Для фиксированной вершины υ величина e(u) = max{d(u, u):ueV} называется эксцентриситетом вершины υ. Эксцентриситет вершины равен расстоянию от данной вершины до наиболее удаленной от нее. Если [Р] - мат- рица расстояний, то эксцентриситет f (ц) равен наибольшему из чисел в /-ой строке. • Максимальный среди эксцентриситетов вершин называется диаметром графа, d(G)=;ma.x{s(u):ueV} = ma.x{d(u,u):u, иеУ}. • Вершина υ называется периферийной, если ε(l>) = <i(G). • Минимальный из эксцентриситетов вершин называется радиусом графа, r(G) = min ji:(u) :L>eFJ = min {of (w,l>): и, ueFJ. • Вершина υ называется центральной, если ε (υ) ~ г (G). • Множество центральных вершин называется центром графа. 127
Рис. 1.7.1. Рис. 1.8.1. Граф G Рис. 1.8.2. Граф Г Пример 1.7.1. Найдем метрические характеристики графа G, изображен- ного на рис. 1.7.1. Матрица расстояний этого графа имеет вид: [Р]- 0 1 3 1 2 1 0 2 1 1 3 2 0 2 1 1 1 2 0 1 2 1 1 1 0 Эксцентриситеты вершин равны: £*(l) = 3, £-(2) = 2, ^(3) = 3, ^(4) = 2, £*(5) = 2, следовательно, d(G)-3. Вершины 1 и 3 являются периферийными. Мини- мальный из эксцентриситетов вершин графа G равен 2, следовательно, радиус графа r(G) = 2. Так как r(G) = s(2) = e(4) = s(5) = 2, то вершины 2,4,5 - центральные и образуют центр графа. Нахождение центральных вершин имеет практическое значение. Пусть, например, граф представляет собой сеть дорог, то есть вершины соответствуют населенным пунктам, а ребра - дорогам между ними. Требуется оптимально разместить пункты обслуживания. В подобных задачах оптимизация заключа- ется в минимизации расстояния от места обслуживания до наиболее удаленного населенного пункта. Следовательно, местами размещения должны быть цен- тральные вершины графа. В реальных задачах приходится учитывать и другие обстоятельства: расстояния между населенными пунктами, стоимость проезда, время проезда и т.д. Для учета этих параметров используются взвешенные гра- фы. 1.8. Представления графов В большинстве случаев граф в памяти компьютера задается матрицей. Существуют различные виды матриц, ассоциированные с графами. Выбор наи- лучшего представления определяется требованиями конкретной задачи. Ниже приведены несколько наиболее часто используемых представлений с указанием 128
динамической меры сложности алгоритма N(n9 m) - объема памяти для каж- дого представления. Здесь η - число вершин, т - число ребер графа. Эти представления пригодны и для ориентированных графов, а также после некото- рой модификации и для псевдографов. Представления иллюстрируются на примерах графа G и орграфа Г, диаграммы которых представлены на рис. 1.8.1 и 1.8.2. 1. Матрица смежности вершин графа: матрица А = pJ с элементами 1, если вершина υ;. смежна с вершиной υу; О, если вершины ц. и υ} несмежные. Для мультиграфа аи = (число ребер, соединяющих вершины ц. и и}). Пример 1.8.1. Матрицы смежности вершин графа G и орграфа Г име- ют вид: ГО 1 О О (0 1 О 0Л 10 11 0 10 1 1110 АГ = 0 0 11 0 0 0 0 10 10 Для матрицы смежности Ν = θ(η2). Теорема 1.8.1. Два графа изоморфны тогда и только тогда, когда их матрицы смежности вершин получаются друг из друга одновременными пере- становками строк и столбцов (т.е. одновременно с перестановкой i -ой и у-ой строк переставляются в i -ый и j -ый столбцы). Доказательство. Пусть два графа Gx и G2 порядка η изоморфны. Тогда существует биекция <р9 заданная на множестве {1, 2,..., п] вершин графа G- и сохраняющая смежность вершин. Если А = (аЛ - матрица смежности графа G,, а В = (ьЛ - матрица смежности графа G2, то, очевидно, в силу изоморфизма, MMJ) = а / = 1,2,...,/1, y = l,2,...,w. Следовательно, из матрицы [ЪЛ матрица (а/у) получается перестановкой строк и столбцов согласно соответствию φ: ( 1 2 ... η ^ φ(\) φ(2) ... φ(η)) 129
В силу симметричности отношения изоморфизма, аналогично из матрицы (аЛ может быть получена матрица \ЪЛ . Обратно, если в результате оди- наковой перестановки строк и столбцов из матрицы (аЛ получается матрица, равная матрице (ьЛ , то указана биекция, сохраняющая смежность, т.е. изо- морфизм графов Gx и G2. и Пример 1.8.2. Матрицы смежности вершин первого Gx и второго G2 графов, изображенных на рис. 1.2.2, имеют вид: Ас> = '0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 ι ι П 1 1 1 1 1 1 0 0 0 0 0 0 1110 0 0 Ас = J (о 1 0 1 0 Л 1 0 1 0 1 0 0 1 0 1 0 1 i 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 Матрица AG получается из матрицы AGi одновременной перестановкой второй и третьей, а затем третьей и пятой строк и столбцов. Следовательно, эти графы изоморфны. 2. Матрица инцидентности графа: матрица В = \ЬЛ с элементами 1, если вершина υ. инцидентна ребру а у, 0, если вершина и. не инцидентна ребру ар строки которой соответствуют вершинам, а столбцы - ребрам. Для ориентированного графа h = -1, если ребро а. выходит из вершины ц; 1, если ребро а} входит в вершину υέ; 0, если вершина ц и ребро aj не инцидентны. Пример 1.8.3. Матрицы инцидентности графа G и орграфа Г имеют вид: ц U2 из υΛ αλ 1 1 0 0 α2 0 1 1 0 α, 0 0 1 1 α4 1 0 0 1 α5 0 1 0 1 *Γ = ' Ц ^2 ^3 sPA αλ -1 1 0 0 α2 0 -1 1 0 α3 0 0 1 -1 <*4 1 0 0 -1 α5 0 -1 0 1 130
Динамическая мера сложности алгоритма для матрицы инцидентности N = 0(n-m). Аналогично теореме 1.8.1 справедлива следующая теорема. Теорема 1.8.2. Два графа (орграфа) изоморфны тогда и только тогда, когда их матрицы инцидентности получаются друг из друга некоторыми пе- рестановками строк и столбцов. Рис. 1.8.3. Пример 1.8.4. Матрицы инцидентности графа G, изображенного на рис. 1.8.3, и графа Г рис. 1.8.4 имеют вид: Л; = α, αΊ α, α. α, а. υ2 »3 О 1 О АГ = ц ^2 ^3 U ах 1 1 0 0 а2 0 1 1 0 а3 0 0 1 1 «4 1 0 0 1 а5 1 0 1 0 а 0 1 0 υ Матрица AG получается из матрицы Аг перестановкой 3-го и 5-го, а затем 5-го и 6-го столбцов. Следовательно, эти графы изоморфны. 3. Списки смежности вершин графа (орграфа). Ориентированный или неориентированный граф может быть однозначно представлен списком смеж- ности своих вершин. Для каждой вершины υ ее список смежности Λί/fu] (adjacency - смежность) состоит из вершин, смежных с ней. Списки смежности составляются для каждой вершины. Для неориентированного графа N = 0(п + 2т), для орграфа N = 0(n + m). 131
Пример 1.8.5. Списки смежности вершин графа G и орграфа Г, изобра- женных на рис. 1.8.1 и рис. 1.8.2, имеют вид: ц Ц>^4 } щ {ц»ц^4} Ч Ц>^4 } ц {Ч><Л>Ч} ц ы ^2 {^з ><Л} Ч* 0 ^4 {ч>ч} 4. Массивы ребер (дуг). При описании графа списком его ребер каждое ребро представляется парой инцидентных ему вершин. Это представление реа- лизовывается двумя массивами: r = {rvr2,...,rm), t = (tv /2, ..., tm), где т - число ребер. Каждый элемент в массиве является меткой вершины, а / -ое ребро выходит из вершины г. и входит в вершину ti. Пример 1.8.6. Массивы ребер графа G и массивы дуг орграфа Г, изо- браженных на рис. 1.8.1. и рис. 1.8.2, имеют соответственно вид: г ! г υι U2 U2 Ч Ό2 ^4 <Λ Ц ϋ4 ^3 г t Ч υ2 υι ^4 Ч Ч υ2 ^4 U4 .. υι.\ Для массива ребер (дуг) N = О(2т). 5.Матрица весов графа: матрица ^ = kJ с элементами с.., где е.. - вес ребра (дуги), соединяющего вершину υ. с вершиной Uj. Веса несуществующих ребер (дуг) полагают равными 0 или <х> в зависимости от приложений. Мат- рица весов графа является обобщением матрицы смежности. Отметим, что каждое представление определяет граф с точностью до изоморфизма, а выбор представления графа во многих задачах является ре- шающим для эффективности алгоритма. 1.9. Обходы графов При решении прикладных задач часто возникает необходимость обхода вершин графа, связанная с поиском вершины, удовлетворяющей определенным свойствам. Обход графа - это некоторое систематическое перечисление его вер- шин (и/или ребер). Обычно обход, по графу сопровождается нумерацией вершин графа в том порядке, в котором они отмечаются, а также опреде- ленной маркировкой ребер (или дуг) графа. Из обходов графа наиболее извест- ны поиск в глубину и поиск в ширину, использующие локальную информацию (списки смежности вершин). Алгоритмы поиска в глубину и ширину лежат в основе многих конкретных алгоритмов на графах. Опишем стратегии поиска в глубину и ширину. 132
1.Обход графа в глубину. Поиск в глубину осуществляется следующим образом. Пусть поиск начинается с некоторой начальной вершины υ0 и мы достигли некоторой вершины ν (в начале процедуры υ = υ0). Отмечаем верши- ну υ и просматриваем вершины из ее списка смежности (т. е. элементы мно- жества /4ί/[ϋ]). Если в этом списке существует хотя бы одна неотмеченная вершина, то идем из первой вершины w списка по ребру (w,s) - «ныряем» вглубь, откладывая анализ других элементов списка ,4d[u] «на потом» (в слу- чае ориентированного графа, находясь в вершине υ, следует выбирать только дугу (l>,w), выходящую из вершины υ). Если же в списке Л</[ь>] неотмечен- ных вершин нет, то возвращаемся из вершины υ в вершину и, из которой в нее попали и исследуем список смежности Ad [и] вершины и. Процедура закан- чивается, когда вернемся в начальную вершину υ0 и все вершины окажутся от- меченными, либо окажется, что неотмеченные вершины есть, но они несмеж- ные с вершиной υ0. В последнем случае возможно продолжение поиска из но- вой вершины или остановка. Для связного графа описанная процедура опреде- ляет единственный обход графа, а в случае несвязного графа - его компоненту, содержащую вершину υ0. Для получения полного обхода несвязного графа не- обходимо начинать процесс в каждой связной компоненте. С помощью этого метода можно также определить число компонент связности графа. Следует иметь в виду, что результат поиска в глубину зависит от выбора начальной вершины υ0 и от порядка вершин в списках смежности. 7. и. б) Рис. 1.9.1. Поиск в глубину 133
7 α Рис. 1.9.2. Поиск в ширину Пример 1.9.1. Результат поиска в глубину на графе и орграфе проиллю- стрирован на рисунках 1.9.1а и 1.9 Л б. При поиске помечаем вершины, при- сваивая им номера. Каждая новая вершина получает номер на единицу боль- ший, чем текущая. Вершине υ0 присвоен номер 1. Номера остальных вершин, присвоенные им в процессе поиска, приведены на графах. 2. Обход графа в ширину. Рассмотрим теперь процедуру обхода графа в ширину. При поиске в ширину, достигнув некоторой вершины υ (в начале по- иска υ = υ0), помечаем ее. Затем просматриваем все вершины из ее списка смежности Λί/fu] и помечаем все ранее не помеченные вершины списка. По- сле того, как помечены все вершины из списка смежности /ίύ?[υ], вершину υ считаем обработанной и продолжаем обработку других вершин списка Л*/[и] по очереди. Обход графа в ширину заканчивается, когда все вершины полно- стью обработаны или продолжение поиска невозможно. Принципиальное отли- чие поиска в ширину от поиска в глубину заключается в том, что при поиске в ширину обрабатывается сразу весь список смежности текущей вершины. Пример 1.9.2. Результаты поиска в ширину на графе и орграфе представ- лены на рисунках 1.9.2а и 1.9.26. Для всякого связного графа поиск в глубину и ширину единственным об- разом обходит все вершины графа. Сложность поиска в глубину составляет N =0(т + п) ив среднем вдвое быстрее, чем поиск в ширину. 2. Деревья 2.1. Деревья. Свойства деревьев Деревья являются наиболее простейшим и распространенным классом графов. Деревья были введены Кирхгофом Г., который применил их к анализу электрических цепей. 134
Деревом называется конечный связный граф без циклов, имеющий не ме- нее двух вершин. Любой граф без циклов называется ациклическим или лесом. Таким образом, компонентами леса являются деревья. На рисунке 2.1.1 изо- бражены все различные деревья с шестью вершинами. Рис. 2.1.1. Следующие определения дерева равносильны и содержат их наиболее ха- рактерные свойства. Теорема 2.1.1. Пусть G граф с η > 2 вершинами. Следующие характери- стические свойства деревьев равносильны: 1) G связен и не содержит циклов; 2) Любые две вершины G соединены единственной простой цепью; 3) G связен, но утрачивает это свойство после удаления любого ребра; 4) G связен и имеет (п -1) ребер; 5) G не содержит циклов и имеет {п -1) ребер; 6) G не содержит циклов, но добавление ребра, соединяющего любые две несмежные вершины, приводит к появлению ровно одного простого цикла. Доказательство. Схема доказательства: lzr>2=>3^>4=>5=>l; 5=>6=>1. 1 => 2: От противного. Пусть существуют две цепи [и, υ] (рис 2.1.2). То- гда [р, q] - простой цикл. Противоречие. Рис. 2.1.2. 135
2 => 3: Для любых двух вершин и, υ существует единственная простая цепь, следовательно, граф G связен. Предположим, что некоторое ребро a = (p,q) не является мостом. Тогда в графе G\a концы ρ и q этого ребра связаны некоторой цепью. Само ребро а - вторая цепь. Противоречие. 3 => 4: Индукция по числу вершин η. При η = 1 => т = О. Пусть т = п-\ для всех графов с числом вершин меньше η . Тогда удалим из графа G ребро а, которое является мостом. Так как удаленное ребро является мостом, то по- лучим две компоненты связности G' и G". По индукционному предположению т' = п-1, т" = п" -1, следовательно, т-т+т" + \ = п' -\ + п"' -1 +1 = л -1. 4 => 5: От противного. Пусть имеется цикл с к вершинами к ребрами. Остальные {п-к) вершин имеют инцидентные им ребра, которые связывают их с циклом. Следовательно, т>п, что противоречит условию т = п-\. 5 =^> 1: Граф без циклов, следовательно, его компоненты - деревья. Пусть их к. Имеем: к к к /=1 1=1 ι=1 Но т = η -1, следовательно, к = 1. 5 => 6: По ранее доказанному 5 => 1 => 2. Для любых двух вершин и и υ существует единственная простая цепь [и,υ]. Соединяя две несмежные верши- ны этой цепи, получаем единственный простой цикл. 6 => 1: От противного. Пусть граф G не является связным и верши- ны и, υ принадлежат разным компонентам связности графа. Тогда добав- ление к графу G ребра (к, υ) не приводит к образованию цикла. Противо- речие. D Следствие 2.1.1. Любое дерево имеет по крайней мере две висячие (кон- цевые) вершины. Доказательство. Пусть {dl9d2,...,dn} - степенная последовательность дерева. Тогда по лемме о рукопожатиях имеем: dl+d2+...+ dn=2n-2 и все di > 1. Следовательно, хотя бы два числа из степенной последовательности равны 1. g 2.2. Теорема Кэли Обозначим через Рп число помеченных деревьев си- вершинами. Ясно, что Р]=Р2 = \. Помеченное дерево с тремя вершинами полностью определяется центральной вершиной, поэтому Р^=3. Дерево с четырьмя вершинами пред- ставляет собой либо полный двудольный граф К{Ъ, либо простую (незамкну- тую) цепь длины три. Различных помеченных деревьев первого типа имеется 136
четыре, а второго - 2!С42 = 12 (крайние вершины цепи выбираются С] спосо- бами, после чего для нумерации двух оставшихся вершин остается 2! возмож- ностей); таким образом, Р4 = 4 +12 = 16. Дерево с пятью вершинами имеет один из трех видов, изображенных на рис. 2.2.1. А с Рис. 2.2.1. Количество деревьев типа «цепь» равно 3!С53 = 60, типа К14 - 5. Произ- вольное дерево третьего типа определяется метками вершин а, 6, с и их число равно А] = 60. Итак, Р5 = 60 + 5 + 60 = 125. Последовательность 1,1, 3,16,125 может быть задана соотношением Рп = п"~2. Число помеченных деревьев с ше- стью вершинами также нетрудно подсчитать, после чего равенство Рп - п"'2 получит еще одно подтверждение. В общем случае имеет место теорема. Теорема 2.2.1. [Кэли Α., 1897 г.]. Число помеченных деревьев с η верши- нами равно п"~2. Q По формуле Рп = п"~2 подсчитывается число всех деревьев с данными η вершинами. Многие из этих деревьев изоморфны. Число неизоморфных де- ревьев подсчитывается по алгоритму теории Пойа (см., например, [17]). 2.3. Остовы. Теорема Кирхгофа Подграф исходного графа G = (V; Е) являющийся деревом и содержащий все его вершины называется остовом. Теорема 2.3.1. Граф G = (V; E) тогда и только тогда содержит остов, когда он связен. Доказательство. Если граф G не связен, то все его подграфы, у кото- рых множество вершин совпадает с множеством вершин исходного графа, несвязны и не могут содержать дерева. Обратно. Пусть граф G связен. Выясним, имеется ли в нем ребро, удале- ние которого не нарушает связности. Если таких ребер нет, то граф G сам яв- ляется остовным деревом. Если такое ребро есть, то удалим его и выясним, имеется ли в полученном графе ребро, удаление которого не нарушает связно- сти, и так далее. Когда удаление ребра без нарушения связности станет невозможным, по- лучим остовное дерево. d 137
Эта теорема дает также алгоритм построения некоторого остовного дере- ва. Для подсчета числа остовов графа используется матрица Кирхгофа. Обо- значим через Γυ множество ребер инцидентных вершине υ. Теорема 2.3.2. [Кирхгоф Г.]. Число остовных деревьев в связном графе G-(V,E) порядка п>2 равно алгебраическому дополнению любого диаго- нального элемента матрицы Кирхгофа В = \ЬЛ, где К = |Ги|, при i = j; -1, при iΦ j, ш., Uj)g E; О, при i Φ j, (ц., Uj)<£E. Подсчитаем, например, число всех остовов графа, изображенного на рис. 2.3.1. 5 . 8 Рис. 2.3.1. Рис. 2.4.1. В- Матрица Кирхгофа этого графа имеет вид: ^3 -1-1 -О -1 3 -1 -1 -1 -1 3 -1 ~\ -1-1 3, Минор любого диагонального элемента этой матрицы равен: |з -ι -ι| д=-1 3 -1=16. |-1 -1 '3| Следовательно, данный граф имеет 16 остовных деревьев. Как уже отме- чалось выше, это 4 полных двудольных дерева К13 и 12 деревьев типа «цепь». 138
2.4. Фундаментальная система циклов. Цикломатическое число Из определения дерева и теоремы 2.1.1 вытекает следующая теорема. Теорема 2.4.1. Число ребер произвольного неориентированного графа G, которые необходимо удалить для получения остова, не зависит от последова- тельности их удаления и равно т-п + к, где т - число ребер, η - число вер- шин, к - число компонент связности графа G. Доказательство. Рассмотрим /-ую компоненту связности G; графа G. Пусть Gt содержит ni вершин и т{ ребер. Тогда остов Tt графа G(, являясь деревом, содержит (п. -1) ребро, следовательно, для получения остова 7] из компоненты G,. нужно удалить т. -/2. + 1 ребер. Суммируя по всем к компо- нентам связности, получим: к к к Vmi = т, Vя. = п, У](mi -ni + \>) = m-n + к. о i i i Число μ{ύ) = т-п + к называется цикломатическим числом или цик- лическим рангом графа G. Число μ*(G)-n-k называется коциклическим рангом или корангом графа G и равно числу ребер, входящих в любой остов графа G. Следующие два утверждения являются следствиями доказанной теоремы. Следствие 2.4.1. Не ориентируемый граф G является лесом тогда и только тогда, когда m(G) = 0. Следствие 2.4.2. Не ориентируемый граф G имеет единственный цикл тогда и только тогда, когда //(G) = 1. Пусть G = (V; Ε) - неориентированный граф с η вершинами, т ребрами и к - компонентами связности, Τ - остов графа G. Остов Τ имеет p*{G) = n~k ребер av а2,..., ап_к, которые называются его ветвями. Остав- шиеся т-п + к ребер Д, Д2,... ,fim_n+k, не входящие в Г, называются хордами остова Τ. Согласно пункту 6 теоремы 2.1.1, если к остову Τ добавить про- извольную хорду Д., то в полученном графе найдется ровно один цикл С:, состоящий из хорды Д. и некоторых ветвей остова. Цикл ζ называется фун- даментальным циклом графа G относительно хорды Д. остова Τ. Множество С — (С,, С2,..., Cm_n+k) всех фундаментальных циклов относительно хорд остова называется фундаментальным множеством циклов графа G относительно ос- това Τ. Ясно, что мощность фундаментального множества циклов равна цик- ломатическому числу графа G:\с\ = μ(ρ) = m-n + k. Обозначим через (е,, е2,..., ет ) последовательность (Д, Д2,..., Pm_n+k, ах, а2,..., an_k) всех ребер графа G. Фундаментальному циклу Ct соответству- ет вектор а = (яп, а.2,..., а.т), определенный по правилу: 139
1, если ejSC;, О, если е. &СГ Тогда фундаментальное множество циклов С задается матрицей фунда- ментальных циклов С* = о,, 'μ(θ),\ αμ(0),2 Λμ{0\τη) Так как каждый фундаментальный цикл Ct содержит ровно одну хор- ду Д., то матрица С имеет вид: С* = О О я, а. ■ι,/<σ)+ι 2,//((7)+1 =№)> Λμ{0),μ{0)+\ '" иИ{С),т) где Ε - единичная матрица порядка m(G). Пример 2.4.1. Найти матрицу фундаментальных циклов графа G, изо- браженного на рисунке 2.4.1 (см. с. 138). Так как //(G) = 8-6 + 1 = 3,to для получения остова следует удалить три ребра. Обозначим их номерами 1, 2, 3. Ребра, входящие в остов обозначим но- мерами 4,5,6,7,8. Фундаментальный цикл ζ, соответствующий хорде 1, состо- ит из ребер 1, 4, 6; цикл С2 - из ребер 2, 6, 7'; цикл С^ - из ребер 3, 6, 7, 8. По- этому матрица фундаментальных циклов С имеет вид: С ς .4 1 1 0 0 2 0 1 0 3 0 0 1 4 1 0 0 5 0 0 0 6 1 1 1 7 8 0 0 1 0 1 1 Выделение фундаментальной системы циклов находит применение при анализе электрических цепей. Если электрической цепи сопоставить граф, реб- ра которого соответствуют источникам ЭДС, сопротивлениям, индуктивностям и т.д., а вершины - узлам соединений элементов цепи, то при использовании закона Кирхгофа для напряжений, гласящего: сумма падения напряэюеиий вдоль цикла равна нулю, необходимо найти фундаментальную систему циклов. Урав- 140
нения, отвечающие этим циклам, не будут зависеть друг от друга, в то же время их выполнение будет гарантировать выполнение уравнений для всех циклов графа. 2.5. Остов минимального веса. Алгоритм Краскала и Прима Пусть (j = (F, Ε) - граф, w:£-> R+ - вещественнозначная функция, ста- вящая в соответствие каждому ребру а положительное (или неотрицательное) число w{a) - вес (длина) ребра а. Пара (G, w) называется взвешенным гра- фом. Под весом (или длиной) любого подграфа взвешенного графа будем по- нимать сумму весов (длин) его ребер. Рассмотрим следующую задачу: во взвешенном связном графе требуется найти остов минимального веса. Эта задача возникает при проектировании ли- ний электропередач, трубопроводов, дорог и т. п., когда требуется заданные центры соединить некоторой системой каналов связи так, чтобы любые два центра были связаны либо непосредственно соединяющим их каналом, либо через другие центры и каналы и чтобы общая длина (или, например, стои- мость) каналов связи была минимальной. В этой ситуации заданные центры можно считать вершинами полного графа с весами ребер, равными длинам (стоимостям) соединяющих эти центры каналов. Тогда искомая сеть будет кратчайшим остовным подграфом полного графа. Очевидно, что этот кратчай- ший остовный подграф должен быть деревом. Поскольку полный граф Кп со- держит п"'2 различных остовных деревьев, то решение этой задачи «слепым» перебором вариантов потребовало бы чрезвычайно больших вычислений даже при относительно малых η. Однако для ее решения имеются эффективные ал- горитмы. Опишем два из них - алгоритмы Дж. Краскала и Р. Прима, примени- мые к произвольному связному графу. Задача об остове минимального веса (о кратчайшем остове): в связном взвешенном графе (G, w) порядка η найти остов минимального веса. 1 (D 5 (5) 2®3 Рис. 2.5.1. 141
Алгоритм Д. Краскала (1956 г). Алгоритм Д. Краскала (жадный алго- ритм), решающий эту задачу, заключается в следующем. 1. Строим граф Т} = Еп + ах, присоединяя к нуль-графу Еп на множестве вершин V ребро ах е Ε минимального веса. 2. Если граф 7] уже построен и i < η -1, то строим граф Тм - Ti + aM, где ам - ребро графа G, имеющее минимальный вес среди ребер, не входящих в 7] и не составляющих циклов с ребрами из Тг 3. Граф Тп_х является остовом минимального веса в графе (G, w). Сложность алгоритма Краскала составляет |£|log2|£J. В качестве иллюстрации алгоритма рассмотрим взвешенный граф, изо- браженный на рис. 2.5.1 слева (на ребрах графа в кружочках указаны их веса). Полагаем, a, =(1,4), а2=(4, 5). Среди оставшихся ребер минимальный вес имеет, например, ребро (l, 5). Однако оно не пригодно для построения, по- скольку составляет цикл с двумя предыдущими ребрами. Можно взять аъ = (2, 3), а4 = (2, 5). Итак, ребра (l, 4), (4, 5), (2, 3), (2, 5) составляют остов минимального веса (граф на рис. 2.5.1 справа). Алгоритм Р. Прима (1957 г). Алгоритм Прима (ближайшего соседа) отличается от алгоритма Краскала тем, что на каждом этапе не требует ни сор- тировки, ни проверки на цикличность. 1. Построение остовного дерева Τ начинается с произвольной вер- шины ц. 2. Среди ребер инцидентных вершине их выбирается ребро (t>,,t>2) наи- меньшего веса и включается в дерево Τ. 3. Повторяя процесс, выполняется поиск наименьшего по весу ребра, со- единяющего вершины ц и υ2 с некоторой другой вершиной графа иъ. 4. Процесс включения ребер продолжается до тех пор, пока все вершины исходного графа G не будут включены в дерево Τ. Построенное дерево будет минимальным остовным деревом. Сложность алгоритма Прима составляет Ol\v\ I. Для полных графов ал- горитм Прима менее трудоемок, чем алгоритм Краскала. В некоторых ситуациях требуется построить остов не минимального, а максимального веса. К этой задаче также применимы и алгоритм Краскала, и алгоритм Прима. Следует только всюду минимальный вес заменить макси- мальным. 142
3. Кратчайшие маршруты на графе 3.1. Алгоритм Дейкстры Пусть (G, w) - взвешенный граф. Под весом (длиной) маршрута Ρ по- нимается сумма весов (длин) всех его ребер (дуг): аеР Кратчайшим маршрутом из вершины s в вершину t называется мар- шрут минимального веса, ведущий из вершины s в вершину t, а его вес назы- вается расстоянием между вершинами s и /. d(s,t)~ min w(P). V ' P.s->...->l V 7 Вес тривиального (т.е. не содержащего ребер или дуг) маршрута считаем равным нулю, поэтому d(s, s) = 0. Если не существует маршрута из s в t, то полагаем d{s, t) = cc. Задача нахождения кратчайших маршрутов в графе или ориентированном графе имеет практическую значимость. Алгоритм Дейкстры (1959 г.) находит кратчайшие маршруты между вершинами взвешенного графа с неотрицательными весами ребер (дуг). Алго- ритм представляет итерационную процедуру, на каждом шаге которой каждой вершине vk присваивается метка (d(uk);j), состоящая из двух чисел. Метка вершины может быть постоянной и тогда d{uk) равно расстоянию d(s, ok) от вершины s до вершины vk или временной и в этом случае число d (vk) являет- ся оценкой сверху для d(s, uk). Второе число в метке (число j) - это номер вершины, непосредственно предшествующей вершине ик на маршруте от s до ок (далее \s\ - номер вершины s). Рядом с постоянной меткой будем ставить знак 4-. В результате каждой итерации оценки уточняются, и при этом ровно одна временная метка (а именно метка с наименьшим значением d(uk)) пере- ходит из разряда временных в разряд постоянных (после чего уже не меняется). Перед первой итерацией начальная вершина имеет постоянную метку (θ; |s|) , у остальных вершин метки временные и полагаются равными оо. Ите- рация алгоритма состоит в следующем: пусть ρ ~ последняя вершина, полу- чившая постоянную метку (для первой итерации p = s). Тогда всем верши- нам ц., смежным с вершиной ρ и имеющим временные метки, присваиваются новые временные метки (^(ц);Н), где dnew(ui) = d(s, p)+ w(/7,uf.) и w(/7, υ..) - вес ребра (дуги) {/?, υ.). Пусть {аоШ(р})\ j) - старая временная метка вершины υ.. Если dnew{vi)<dold{ui), то вершине и. приписывается новая вре- 143
менная метка {dnew{ui)\ |/?|), а если dold{ui)<dnew{vi), то остается старая вре- менная метка (^0/Дц); у). Далее среди всех вершин, смежных с вершиной ρ и с обновленными метками, выбираем вершину ц с минимальным значением <^(ц) и считаем метку этой вершины постоянной, т.е. рядом с меткой ставим знак +. Алгоритм заканчивает работу, когда заданная конечная вершина получает постоянную метку. Для графа с η - вершинами сложность алгоритма Дейкстры оценивается как θ(η2\. Нахождение кратчайших расстояний между всеми парами вершин графа можно осуществить не более чем η - кратным выполнением алгоритма Дейкст- ры. Однако существует примерно вдвое менее трудоемкий алгоритм Р. Флойда, который к тому же не требует неотрицательности весов ребер (дуг) (см., на- пример, [17,24]). Рассмотрим пример. Для графа, изображенного на рис. 3.1.1, нужно найти кратчайшее расстояние от вершины υ0 до вершины υ9. Рис. 3.1.1. \ 0 | 1 2 3 4 5 6 7 8 9 0 (о,о)+ - - - - - - - - - 1 оо О;»)* - - - " - - - - 2 00 (Ю; 0) (Ю; 0) (Ю; 0) (9;з) (9;7)+ - - - - 3 00 (б;о) (б;о) (5;4)+ - - - - - - 4 00 (3:0) (3:0)* - - - - - - - 5 оо 00 (»:') О':") (";!) ОМ) (10; 2)' - - - 6 00 00 00 00 00 (1¾ П (13; 2) (12:5) (12; 5)* - 7 00 00 оо (9; 4) (8:3)* - - - - - 8 00 оо 00 (И; 4) (11; 4) (и; 7) (";7) (":7)* - - 9 00 00 00 00 00 (16:7) ("6:7) (15:5) (14; 8) (14:6)* J 144
Кратчайший маршрут: μ - [υ0 - υ4 - υ3 - νΊ - υ2 - υ5 - υ6 - υ9 ] и его длина φ/) = 14. 4. Эйлеровы графы 4.1. Теорема Эйлера Начало теории графов, как раздела математики, связывают с так называе- мой задачей о кёнигсбергских мостах. Эта знаменитая в свое время задача со- стоит в следующем. В городе Кенигсберге были расположены семь мостов на реке Прегель, как показано на рис. 4.1.1. Спрашивалось, можно ли, выйдя из дома, вернуться обратно, пройдя в точности один раз по каждому мосту. Поста- вим в соответствие плану города граф G, вершины которого соответствуют бе- регам и двум островам, а ребра - мостам (рис. 4.1.2). Тогда задача о кёнигс- бергских мостах на языке теории графов формулируется так: существует ли в мультиграфе G хотя бы один цикл, содержащий все ребра этого графа? В 1736г. Л. Эйлер в трудах петербургской академии наук доказал, что не существует цикла, включающего каждое ребро графа по одному разу. Рис. 4.1.1. Рис. 4.1.2. Цикл (цепь) в графе называется эйлеровым (полуэйлеровой), если он (она) содержит все ребра графа. Связный граф, в котором есть эйлеров цикл (цепь), называется эйлеровым (полуэйлеровой) графом. Такой граф можно нарисовать, не отрывая карандаша от бумаги и не повторяя линий. Например, граф, изобра- женный на рис. 4.1.5, является эйлеровым, поскольку он содержит эйлеров цикл {1, 2, 3, 4, 5, 6, 7, 8}. В этом графе есть и другие эйлеровы циклы. Ясно, что лю- бые два таких цикла отличаются друг от друга только порядком обхода ребер. 145
Теорема 4.1.1. [Эйлер Л., 1736 г.]. Связный граф является эйлеровым то- гда и только тогда, когда степени всех его вершин четны. Доказательство. Необходимость. Пусть G - эйлеров граф. Эйлеров цикл этого графа, проходя через каждую его вершину, входит в нее по одному ребру, а выходит по другому. Это означает, что каждая вершина инцидентна четному числу ребер эйлерова цикла, а поскольку такой цикл содержит все ребра графа G, то отсюда следует четность степеней всех его вершин. Достаточность. Предположим теперь, что степени вершин графа G четны. Начнем цепь Ρλ из произвольной вершины υλ и будем продолжать ее, насколько возможно, выбирая каждый раз новое ребро и включая в эту цепь как можно больше ребер. Так как степени всех вершин четны, то, попав в очеред- ную отличную от υχ вершину, мы всегда будем иметь в распоряжении еще не пройденное ребро. Поэтому цепь Ρλ можно продолжить путем добавления этого ребра. Таким образом, построение цепи Ρλ закончится только в вершине υ,, когда цепь Рх непременно станет циклом. На рис. 4.1.3 слева в качестве цикла Р1 можно взять цикл [(1,2),<2,3),<3,4),(4,5>?<5,6),(6,7),<7,8>5(8?9)9<9Д0)3(10Д1>?<11Д2),<12Л)]- Если окажется, что цикл Рх содержит все ребра графа G, то это будет требуемый эйлеров цикл. Если же цикл Р] содержит не все ребра графа G, то удалим из него все ребра цикла. Рассмотрим граф Gx (рис. 4.1.3 справа), полученный в результате такой операции. Поскольку Рх и G имели вершины только четных степеней, то, очевидно, и граф G{ будет обладать тем же свойством. Кроме того, в силу связности графа G, существует вершина υ2 (напри- мер, вершина 2 на рис. 4.1.3), входящая одновременно и в цикл Р} и в граф G,. Тогда, начиная с вершины υ2, построим цикл Р2 в графе Gx (в рассматривае- мом примере это цикл Р2 =[(2,13), (13,12), (12,2)]) подобно тому, как строили цикл Рг Обозначим через />' и Р* части цикла Р] от ц до υ2 и от υ2 до и} соот- ветственно (см. рис. 4.1.4). На рис. 4.1.3: /?'=(l,2), /f=[(2, 3), (3, 4), (4, 5), (5, б), (6, 7), (7, 8), (8, 9), (9,10), (10,11), (l 1,12), (12, l)] .Тогда получим но- вый цикл графа Р3= Р[ u P2^P", который, начиная с υλ, проходит по ребрам цепи Рх до υ2, затем обходит все ребра цикла Р2 и, наконец, возвращается в ц по ребрам цепи Р*. Если цикл Ръ не эйлеров, то, проделав аналогичные по- 146
строения, получим еще больший цикл и т. д. Этот процесс закончится построе- нием эйлерова цикла. α Рис. 4.1.3. 6 7 3 2 ■ i Рис. 4.1.5. Следствие 4.1.1. Связный граф является полуэйлеровым тогда и только тогда, когда он имеет две вершины нечетной степени. Доказательство. Доказательство необходимости такое же, как и в тео- реме. Достаточность условия доказывается так. Пусть в графе ровно две вер- шины нечетной степени. Соединим эти вершины новым ребром, тогда, соглас- но теореме Эйлера, получим эйлеров граф. Построим в новом графе эйлеров цикл; удаление ранее добавленного ребра приводит к эйлеровой цепи в исход- ном графе. d В заключение отметим, что для случайно построенного графа вероят- ность его эйлеровости (при большом числе вершин) мала. То есть почти все графы не являются эйлеровыми. 147
Теорема 4.1.2. [Рейд Р., 1962г.] Пусть Р(п) -множество всех помечен- ных графов с η вершинами, Ре (я) - множество всех помеченных эйлеровых графов с η вершинами. Тогда iimLAJ = o. "-*» \Р(п)\ Доказательство. Пусть Р0(п) - множество всех простых помеченных графов с η вершинами, степень каждой из которых четна. Связные графы из Р0(п) составляют подмножество эйлеровых графов Ре(п); поэтому Ре(п)аР0(п) и |/^(л)|<|/>(и)|. Каждый граф из Ρ (η) определяется некото- рым подмножеством ребер полного графа Кп, содержащего С2п ребер, по- этому \Р(п)\ = 2Ся. Оценим мощность множества Р0(п). Так как в любом графе число вершин нечетной степени - четно, то любой граф из Р0(п) можно получить из некоторого графа Р(п -1), если добавить новую вершину и соеди- нить её со всеми старыми вершинами нечетной степени. Следовательно, |р0(«)|<|р(«-1)| = 2с-. Далее просто: Ы4М4 2е- ,-» ,0 при η -> оо. α 4.2. Алгоритм Флёри Естественно возникает вопрос: как найти хотя бы один эйлеров цикл в эйлеровом графе? Приведенное доказательство теоремы Эйлера не позволяет конструктивно находить эйлеров цикл, так как не дает эффективного метода нахождения эйлерова цикла - это явно не лучший способ действий. Приведем один из алгоритмов нахождения эйлерова цикла - алгоритм Флёри. 1. Выбрать произвольную вершину υ0. Каждое пройденное ребро зачерк- нуть. 2. Никогда не выбирать мост. 3. Не выбирать ребра, ведущего в вершину υ0, если есть другие возмож- ности. Алгоритм Флёри действительно работает при прохождении каждой вер- шины υ. Если υ*υ0, то оставшийся подграф G' связен и содержит ровно две вершины нечетной степени υ0 и υ . По следствию 4.1.1 существует эйлерова цепь Ρ из υ в υ0. Удалим первое ребро этой цепи Р. Граф G' останется связным и данное рассуждение можно продолжить. Если же υ = υ0, то рассуж- дения аналогичны. Сложность алгоритма Флёри совпадает с числом ребер мультиграфа. 148
5. Гамильтоновы графы 5.1. Гамильтоновы маршруты. Задача коммивояжера Гамилътоновым циклом на графе называется простой цикл, содержащий все его вершины. Граф называется гамильтоновым, если в нем имеется гамиль- тонов цикл. Гамильтоновой называют и простую цепь, содержащую каждую вершину этого графа. Граф, содержащий гамильтонову цепь, называется полу- гамильтоновым. Аналогично определяется гамильтонов контур и гамилътонов путь на ориентированном графе. Рассмотрим несколько задач, приводящих к нахождению гамильтоновых маршрутов. 1. Задача Гамильтона. Каждой из двадцати вершин додекаэдра припи- сывается название одной из столиц государства. Требуется, проходя по ребрам додекаэдра вернуться в исходный город, посетив каждую столицу ровно один раз. Эта задача приводит к отысканию в графе додекаэдра гамильтонова цикла. 2. Задача о шахматном коне. Требуется обойти конем все клетки шах- матной доски, побывав в каждой клетке по одному разу и последним (64-м) хо- дом вернуться в начальную клетку. Задача сводится к нахождению гамильтоно- ва цикла симметричного графа. Решение Эйлера представлено в таблице: 156 47 42 45 20 29 6 1 41 44 57 48 5 64 19 28 58 55 46 43 30 21 2 7 35 40 49 54 63 4 27 18 50 59 36 31 22 17 8 3 39 34 53 62- 11 14 23 26 60 51 32 37 16 25 12 9 33 38 61 52 13 10 15 24 J 3. Задача коммивояжера. Коммивояжер должен объехать ряд населен- ных пунктов, побывав в каждом пункте только один раз. Какой маршрут следу- ет выбрать коммивояжеру, чтобы пройденный путь был наименьшей длины? Рассмотрим граф, вершинами которого являются населенные пункты, а ребрами (дугами) - дороги. Каждому ребру (дуге) (υ., υ Λ припишем вес су - длину соответствующей дороги. Тогда требуется найти на этом графе га- мильтонов маршрут наименьшей длины. Задача коммивояжера является классической задачей дискретной оптими- зации и имеет многочисленные приложения: транспортные задачи, задачи со- единения пунктов линиями электропередач, водопроводами, газо- и нефте- проводами. 149
4. Задача планирования. В ряде отраслей промышленности, например, в химической и фармацевтической, возникает следующая задача планирования. На автоматической линии последовательно производится продукция различно- го наименования. Допустим, что эта продукция производится в непрерывном цикле: после производства η -го продукта возобновляется производство первого продукта в том же фиксированном цикле. Для каждой пары продукции υη Uj известна стоимость ci} перенастройки автоматической линии для перехода от производства продукта vi к производству продукта υ} и с.. - стоимость пере- настройки на обратный переход. Возникает вопрос: можно ли найти такую циклическую последовательность производства продуктов, при которой сум- марная стоимость затрат на перенастройку была бы наименьшей? Рассмотрим ориентированный граф, вершинами которого являются на- именования продуктов производства, а дуги изображают перенастройку линии производства при переходе от производства продукта ц. к производству про- дукта υj. Тогда задачу можно сформулировать следующим образом: на орграфе найти гамильтонов контур наименьшей длины. Задача распознавания гамильтоновых маршрутов имеет внешнее сходство с задачей распознавания эйлеровых маршрутов. Однако решение первой задачи наталкивается на значительные трудности. Сложность решения задач нахожде- ния гамильтоновых маршрутов проявляется, во-первых, в отсутствии достаточ- но общих критериев их существования, и, во-вторых, в отсутствии эффектив- ных алгоритмов их отыскания. Интуитивно понятно, что если граф содержит много ребер и эти ребра к тому же достаточно равномерно распределены, то граф, вероятно, является гамильтоновым. Так, например, в полном графе с η вершинами существует (п-\)\ гамильтоновых циклов. Гамильтоновы циклы наименьшей длины в полном графе можно найти по следующей простой схеме. Действительно, зафиксируем любую вершину. Из нее (п -1) способами можно перейти в другую вершину. Из второй вершины {п - 2) способами возможен переход в третью вершину и т.д. В результате получим (л-l)! гамильтоно- вых циклов, из которых выбирается минимальный. Поскольку п\ с ростом η растет быстрее, чем любой полином от η (при и -»оо п\~4п\— ) и время решения задачи пропорционально числу возможных циклов, то нахождение га- мильтоновых циклов методом полного перебора оказывается практически не- возможным даже для сравнительно небольших η. Например, при « = 21 число возможных вариантов равно 51 090 942 171 709 400 000. Известно [8], что задача нахождения гамильтоновых маршрутов принад- лежит к классу ΝΡ -полных задач. Класс ΝΡ -полных задач характеризуется следующими свойствами: 150
1. Никакую NP -полную задачу нельзя решить никаким известным алго- ритмом полиноминальной сложности. 2. Если будет найден полиноминальный алгоритм для какой-нибудь NP -полной задачи, то существуют и полиноминальные алгоритмы для всех NP -полных задач. На основании этих свойств высказывается гипотеза, что ни для какой NP- полной задачи не может существовать полиноминального алгоритма. Однако доказать это пока не удалось. Сформулируем задачу коммивояжера. Пусть орграф с η вершинами задан матрицей расстояний С- L·. , где ci} - длина дуги (i, j). Если переход из /-ой вершины в j -ую запрещен, то полагаем су = оо. Пусть Η = {Г}9 Г2,...,Гт9] - множество гамильтоновых контуров на орграфе и £(rs) = cu +са +·■■ + £/ / \ s / ixh 'г'з ln h - длина гамильтонова контура Г8. Рассмотрим комбинаторную оптимизацион- ную задачу: требуется найти гамильтонов контур Г0е Η наименьшей длины е(г0)=е'(н) = тте(г,). Такой гамильтонов контур называется оптимальным. Если на графе су- ществует хотя бы один оптимальный гамильтонов контур, то эта задача имеет решение и называется задачей коммивояжера. 5.2. Существование гамильтоновых маршрутов В этом пункте рассматриваются условия, гарантирующие существование гамильтоновых контуров и циклов. Теорема 5.2.1. [Кёниг Д.]. В полном ориентированном графе (любая пара вершин которого соединена хотя бы в одном направлении) всегда существует гамильтонов путь. Доказательство. Пусть μ - Гц, l>2, ..., vp J - путь длины (ρ -1), ρ > 1, все вершины которого различны (длина пути - это число дуг). Тогда, как не- трудно показать (см. [3]), для любой вершины и£μ, в силу полноты орграфа, можно построить путь μΙ(, содержащий вершину и Mk=[ol9u29...9uk, u,uk+l,uk+2,...,up] 151
при некотором к, 0<к< р. Здесь μ0 = \и, ц, υ2,..., υρ , Αρ - Ц, υ2> ·■■> *V w I· Таким образом, можно шаг за шагом построить путь, содержащий все вершины графа по одному разу. α Теорема 5.2.2. [Дирак Г., 1952 г.]. Если в простом графе G порядка п>3 для любой вершины υ выполняется неравенство deg υ>ηΙ2, то граф G - га- милътонов. Доказательство. От противного. Пусть G - не гамильтонов. Добавим к графу G минимальное количество к новых вершин uvu2, ...,uk, соединяя каж- дую из них с каждой вершиной графа G так, чтобы полученный граф G' = G + их + и2 +... + ик стал гамильтоновым. Затем, считая, что к > О придем к противоречию. Пусть [υ, ир w,..., υ] - гамильтонов цикл в графе G', где υ и w - вер- шины из G, a uxgG',u{<£G- одна из новых вершин. Такая пара вершин υ и их в гамильтоновом цикле обязательно найдется, иначе граф G был бы гамиль- тоновым. Тогда w ¢. G, w £ {и,, и2, ...,мА}, иначе вершина и, была бы не нужна. Более того, вершина w не является смежной с вершиной υ, иначе вершина щ была бы не нужна. Далее, если в цикле [υ, uv w, ...,u', w', ....ϋ] есть вершина w', смежная с вершиной w, то вершина υ' несмежна с вершиной ν, так как иначе можно бы- ло бы построить гамильтонов цикл [υ, υ',..., w, w',..., υ] без вершины и}, взяв последовательность вершин w,..., υ' в обратном порядке. Из этого следует, что число вершин графа G', не являющихся смежными с d, не меньше числа вер- шин, смежных с w (то есть больше либо равно п/2 + к). С другой стороны, очевидно, что число вершин графа G', смежных с w, также больше либо равно п/2 + к. А так как ни одна вершина графа G' не может быть одновременно смежной и не смежной вершине w, то общее число вершин графа G' равное η + к, не меньше, чем η + 2к . Противоречие. g Теорема 5.2.3. [Оре О., 1960 г.]. Если в графе G порядка п>Ъ для любой пары несмежных вершин и и ν выполняется неравенство deg υ + deg и > я, то граф G - гамильтонов. а Теорема Дирака является следствием теоремы Оре. Известно, что почти нет эйлеровых графов (см. теорему 4.1.2). В проти- воположность к этому Перепелица доказал, что почти все графы гамильтоновы. Теорема 5.2.4. [Перепелица В.А., 1969 г.]. Пусть Р(п) -множество всех простых помеченных графов с η вершинами, Рн(п) - множество всех про- стых помеченных гамилътоновых графов с η вершинами. 152
Тогда Ы4 «-*» \Р(п)\ Таким образом, вероятность того, что «случайный граф», с η вершинами является гамильтоновым, стремится с ростом η к единице. 6. Метод ветвей и границ В 1963 году Дж. Литтл, К. Мурти, Д. Суини, К. Кэлор предложили метод решения задачи коммивояжера, названный ими методом ветвей и границ. Главная идея метода состоит в целенаправленном сужении подмножеств га- мильтоновых контуров, содержащих оптимальный гамильтонов контур. Это достигается разбиением (ветвлением) множества гамильтоновых контуров на подмножества и вычислением оценок снизу подмножеств. 6.1. Схема метода ветвей и границ Пусть Я - множество гамильтоновых контуров на графе G и Ζ е Я - подмножество гамильтоновых контуров. Функция γ: Ζ -> IR+ называется оцен- кой снизу (нижней оценкой) длин гамильтоновых контуров множества Ζ, если a)y(Z) = minreZ£(r); Ъ) Ζ{ς:Ζ2ςιΗ^y(Z])>y(Z2). Выбор функции у {Ζ) в задаче коммивояжера будет указан позднее. В методе ветвей и границ сначала определяется оценка снизу у(Н) длин всех гамильтоновых контуров: у(Н)<£*(Н) = ттГеН£(Г5). Затем множество Я всех гамильтоновых контуров разбивается на два непересекающихся под- множества Нх и Я,. Для каждого из этих подмножеств определяются их оцен- ки снизу: у{Нх) и Л Я,], причем у(Н{)>у(Н) и уШ] )>/(Я), в силу свой- ства Ь) оценки снизу. Из двух подмножеств Я, и Я, более вероятно, что опти- мальный гамильтонов контур входит в подмножество с меньшей оценкой сни- зу. Это подмножество снова разбивается на два непересекающихся подмноже- ства и для вновь образованных подмножеств определяются их оценки снизу. Процесс разбиения на подмножества и вычисления оценок снизу сопровожда- ется построением дерева с пометками оценок и продолжается до тех пор, пока не будет выделено подмножество Нт, состоящее из единственного гамильто- нова контура, после чего вычисляется его длина Rec. 153
пн) Θ- '(H,)<r(Ht) л т γ{Η2)<γ(Η2) Г(Н2) r("3) Г(Я,)<Г(Я3) ^ №) ^ '(*>) У Ч5> г(".) Г(Я4)</(Я4) © r№) Рис. 6.1.1. Record Нт Получив гамильтонов контур, просматривают оборванные ветви и сравнивают оценки снизу оборванных ветвей с длиной Rec гамильтонового контура Нт. Если некоторые ветви имеют оценки снизу меньше Rec, то их раз- вивают по тому же правилу. В результате развития оборванных ветвей могут быть получены новые гамильтоновы контуры с другими значениями Rec. Ре- шение задачи будет закончено, если оценки снизу оборванных ветвей будут не меньше Rec. Оптимальным гамильтоновым контуром (он может быть не один) будет контур с наименьшим значением Rec. Конечно, проведение полного ветвления множества Η равносильно перебору всех контуров ((«-1)! для пол- ного графа). Однако с использованием оценок снизу бесперспективные множе- ства отсекаются, что ведет к существенному уменьшению числа вариантов. Далее метод будет описан для графа G, заданного матрицей весов С~ ψ Λ и проиллюстрирован на примере полного орграфа с шестью верши- нами. 6.2. Оценка снизу длин всех гамильтоновых контуров. Операция приведения матрицы Оценка снизу у(Н) длин £(Г,) всех гамильтоновых контуров получает- ся в результате приведения матрицы С= с J . Операция приведения матрицы состоит в следующем: 1) из каждого элемента каждой строки вычитается минимальный элемент этой строки а{ — miny ci} (приведение по строкам). 154
Матрицу, приведенную по строкам, обозначим С^п) = kj (r от row - строка); 2) после приведения по строкам из каждого столбца вычитается минимальный элемент этого столбца β. = min,c\} (приведение по столбцам). Матрица, приве- денная по строкам и по столбцам, обозначается 0П> = ky| и называется пол- ностью приведенной матрицей. Числа ai9 β. называются константами приве- дения. Полностью приведенная матрица содержит, по крайней мере, один нуль в каждой строке и в каждом столбце. Операция приведения позволяет получить оценку снизу длин множества всех гамильтоновых контуров. Пусть £*(Н) - длина оптимального гамильтоно- ва контура в задаче с матрицей С, Г"П'(Н) - длина оптимального гамильтоно- ва контура в задаче с матрицей С(/7). Эти числа связаны соотношением: Г(Я) = £*'Я)(Я) + 5(Я), где $(Η) = Σαι+ Σ^/ ~ сумма констант приведе- ния. Действительно, если найти длину оптимального гамильтонова контура в задаче с матрицей С, а затем из элементов какой-либо строки или столбца вы- честь некоторое число и решить задачу с этой новой матрицей, то, очевидно, оптимальный контур будет тот же самый, а его длина уменьшится на вычитае- мое число. В приведенной матрице С(я) ее элементы с\р >0, поэтому f(H)>s(H). Следовательно, сумма констант приведения s(H) является оценкой снизу /(Н) длин всех гамильтоновых контуров: s(H) = /(H) < £(Г.)9 VT,. е Я . 6.3. Ветвление множества Я. Оценки снизу подмножеств Я, и Н\ Рассмотрим способ разбиения множества Я всех гамильтоновых конту- ров на подмножества. Возьмем некоторую дугу (i, 7) и разобьем множество Я на два непересекающихся подмножества Нх и Я,: Я = Я,иЯ1, Я,пЯ1=0, Ηϊ = f (/, j)\ - подмножество гамильтоновых контуров, содержащих дугу (/, у), и Н\ = Ш, 7/} ~~ подмножество гамильтоновых контуров, не содержащих дугу {/, 7") · Дуга (/, у) называется дугой ветвления. Если дуга (/, у) включается в гамильтонов контур, то матрица расстояний С, подмножества Я1 = {{/, 7)} получается из приведенной матрицы расстояний Оп' вычеркиванием /-ой строки и j-го столбца, так как гамильтонов контур 155
не может содержать дуги (ζ, к) и (к, у), иначе вершина / будет встречаться дважды. Кроме того, при включении дуги {/, у) в гамильтонов контур может образоваться негамильтонов контур (контур, проходящий не через все вершины графа). Для исключения такой ситуации необходимо исключить одну из дуг, в простейшем случае дугу (у, /}. Для этого элемент с£' заменяется на со (запрет). Матрица расстояний С, подмножества Нх будет иметь размерность («-0- _ _ Матрица расстояний Сх подмножества Н\ =|w, j)\ гамильтоновых кон- туров, не содержащих дугу ветвления (г, у), получается из приведенной мат- рицы расстояний Оп' заменой элемента с)р на оо. Это исключает дугу (ι, у) из гамильтонова контура. Матрица расстояний Сх подмножества Н\ будет иметь размерность η. К матрицам Сх и С, можно применить операции приведения и найти суммы констант приведения. Можно заметить, что сумма констант приведения матрицы С\ равна сумме минимальных элементов матрицы в /-ой строке и в у-ом столбце матрицы С , исключая сам элемент с)" . Следовательно, оценки снизу длин гамильтоновых контуров подмножеств Нх и Я, равны: y{hx) = y{h)+s(hx), г(н*) = г(н)+*(Щ9 где r(H) = s(H). 6.4. Общий случай определения оценок снизу Каждое из подмножеств Нх, Н\ может быть разветвлено на два подмно- жества по схеме, указанной выше. Для продолжения процесса ветвления нужно знать матрицы расстояний и оценки снизу длин гамильтоновых контуров под- множеств Я,, Н\. Укажем общее правило вычисления матриц расстояний и оценок снизу на любом этапе. Пусть множество Нк гамильтоновых контуров с матрицей расстояний Ск =4 с помощью дуги ветвления (/, у) разветвлено на два подмножества Нк+Х и Нш. Матрица расстояний Ск+] подмножества гамильтоновых контуров Нк+Х, содержащих дугу ветвления {/, у), получается из приведенной матрицы Скп' вычеркиванием ζ -ой строки и у" -го столбца. Кроме того, если из дуги (/, у) и 156
дуг ветвления, полученных на предыдущих этапах, может образоваться нега- мильтонов контур, то, исключением некоторой дуги, нужно его устранить. На- пример, была выбрана дуга ветвления (2, l), а на предыдущих этапах дугами ветвления были дуги (l, 5) и (5, 3). Тогда следует исключить дугу (3, 2), иначе существовал бы негамильтонов контур 1 - 5 - 3 - 2 -1. Матрица расстояний Ск+\ подмножества гамильтоновых контуров Нк+\, не содержащих дугу ветвления (/, j), получается из приведенной матрицы с|я) вычеркиванием (заменой на оо) элемента, соответствующего дуге ветвления (/, j). К матрицам СА+1 и Ck+i можно применить операции приведения и найти суммы констант приведения s(#A+1) и s(Hk+i). Тогда оценки снизу длин га- мильтоновых контуров подмножеств Нк+] и Нк+\ вычисляются по формулам: r{HM) = r{Hk) + s{HkJ, г{нм) = у{Нк) + 5(Нш), где у(Нк) - оценка снизу длин гамильтоновых контуров подмножества Нк. 6.5. Выбор дуги ветвления В качестве дуги ветвления на каждом этапе следует брать дугу, которой в приведенной матрице расстояний Ск - Ыпί , соответствуют нулевые элемен- ты. Это объясняется тем, что в оптимальный гамильтонов контур, наиболее вероятно, войдут дуги, которым в матрице С[п>1 соответствуют нулевые эле- менты, поскольку оптимальный гамильтонов контур должен иметь мини- мальную длину. Если дуг соответствующих нулевым элементам с\р несколько, то для каждой из них вычисляется вес p.. = min c)P + min с). ', Г1} k*j tJ k*i lJ равный сумме наименьших элементов в / -ой строке ив j -ом столбце. Вес ду- ги совпадает с суммой констант приведения матрицы гамильтоновых контуров, не содержащих дугу (/, j). В качестве дуги ветвления выбирается дуга с мак- симальным весом, а если таких дуг несколько, то выбирается любая из них. При таком выборе дуги ветвления оценка снизу длин гамильтоновых контуров уве- личивается и, следовательно, становится ближе к длине ^*(#) оптимального гамильтонова контура. Разбиение множества Η на подмножества продолжается до тех пор, пока не будет получена матрица расстояний размерности 2x2. После приведения этой матрицы она принимает одну из форм: 157
\ 'ι \h j\ 0 00 h 00 0 \ 'Ί h λ 00 0 h 0 00 Тогда в гамильтонов контур в первом случае включаются дуги (/,, у,), (/2, j2), a во втором случае - дуги (^, у2), (/2, у,). 6.6. Описание алгоритма Пусть Нк - множество гамильтоновых контуров с матрицей расстояний Ск и у(Нк) - оценка снизу длин гамильтоновых контуров множества Hk9 ^ = 0,1,.-.- Для к = 0:Н0 = Н, С0 = С, γ(Η0)= y(H) = s(H) = Yjai + £/?. - сумма констант приведения матрицы С. 1. Привести матрицу расстояний Ск. 2. Выбрать дугу ветвления (/, j). Образовать подмножества Hk+l, #*+ι и их матрицы Ск+] и Си+\. 3. Привести матрицы Ск+1 и C*+i. Найти суммы констант приведения s(#A+1) и s(#*+i) и оценки снизу длин гамильтоновых контуров подмножеств Нк+1, Нк+\ по формулам: y(HM) = r(Ht) + S(HM), r(H^) = r(Hk) + s(HM). 4. Сравнить оценки снизу у(Нк+1) и уШк+\). Дальнейшему ветвлению подлежит подмножество с меньшей оценкой снизу. 5. Если размерность матрицы больше 2x2, то перейти к шагу 1; если размерность матрицы равна 2 χ 2, то определить гамильтонов контур и его дли- ну Record. 6. Сравнить длину полученного гамильтонова контура с оценками снизу оборванных ветвей. Если длина найденного гамильтонова контура не превыша- ет оценок снизу оборванных ветвей, то этот контур оптимальный. Иначе разви- ваются оборванные ветви. Процесс ветвления продолжается до тех пор, пока не будет получен оптимальный гамильтонов контур. 158
6.7. Пример Полный ориентируемый граф задан матрицей С весов (таблица 1). Тре- буется найти гамильтонов контур на этом графе. С = Таблица 1 Таблица 2 i\j 1 2 3 4 5 6 1 00 15 41 34 17 52 2 49 00 35 5 12 25 3 58 36 00 25 39 53 4 31 51 45 00 10 32 5 19 43 25 32 00 31 6 2 39 32 20 33 со С = i\j 1 2 3 4 5 6 1 00 15 41 34 17 52 2 49 00 35 5 12 25 3 58 36 00 25 39 53 , 4 31 51 45 00 10 32 5 19 43 25 32 оо 31 6 2 39 32 20 33 00 а. 2 15 25 5 10 25 В каждой строке матрицы С находим минимальный элемент а;. (таб- лица 2) и сумму этих минимальных элементов. ]Г а,. = 2 +15 +25 +5+ 10 +25 = 82. Из каждой строки матрицы С вычитаем минимальный элемент этой строки. Получаем матрицу С; , приведенную по строкам (таблица 3). В каж- дом столбце матрицы С, находим минимальный элемент β. (таблица 4) и сумму этих минимальных элементов. £)¾ =0 + 0 + 20 + 0 + 0 + 0 = 20. Из каждого столбца матрицы df^ вычитаем минимальный элемент этого столбца. Получаем полностью приведенную матрицу (таблица 5). cf> = 1 2 3 4 5 6 1 00 0 16 29 7 27 2 47 00 10 0 2 0 3 56 21 00 20 29 28 4 29 36 20 оо 0 7 Таблица 3 5 17 28 0 27 оо 6 6 0 24 7 15 23 оо с<я) = i\j 1 2 3 4 5 6 fij 1 00 0 16 29 7 27 0 2 47 CO 10 0 2 0 0 3 56 21 оо 20 29 28 20 Таблица 4 4 29 36 20 00 0 7 0 5 17 28 0 27 00 6 0 6 0 24 7 15 23 00 0 159
Таблица 5 с ■(")_ А/ | 1 2 3 4 5 6 1 оо 0 16 29 7 27 2 47 00 10 0 2 0 3 36 1 00 0 9 8 4 29 36 20 00 0 7 5 17 28 0 27 00 6 6 0 24 7 15 23 00 Сумма констант приведения равна s(H) = ]£а. + ]£]/?.г = 82 + 20 = 102 и является оценкой снизу длин всех гамильтоновых контуров: г(#) = *(#) = 102, Г (Я) > 102. Для каждой дуги, которой в матрице С(я) соответствуют нулевые эле- менты, находим ее вес как сумму наименьших элементов в строке и столбце на пересечении которых стоит этот нулевой элемент (в таблице 6 вес записан в скобках). Таблица 6 с С). i\j 1 2 3 4 5 6 1 00 0(8) 16 29 7 27 2 47 ОО 10 0(0) 2 0(7) 3 36 1 00 0(1) 9 8 4 29 36 20 00 0(9) 7 5 17 28 0(13) 27 00 6 6 0(24)* 24 7 15 23 00 В качестве дуги ветвления выбираем дугу с наибольшим весом. Дуга ветвления (1,6), ее вес - 24. С помощью дуги ветвления (1,6) множество всех гамильтоновых конту- ров Я разбиваем на два подмножества: подмножество Hl ={(ls б)], содержа- щее дугу (1,6), и подмножество Н\ = |(1, в)\, не содержащее дугу (l,6). Матрица С} подмножества Я, = {(1,6)} получается из матрицы О17' вычеркиванием 1-й строки и 6-го столбца. Кроме того, исключаем из подмно- жества Я, дугу (6,l), иначе это подмножество будет содержать негамильтонов контур 1-6-1. С этой целью элемент с61 заменяем на оо. Матрица Сх пред- ставлена таблицей 7. Матрица Сх подмножества Η -{(Л, 6)}, не содержащего дугу (1,6), получается из матрицы С(/7) заменой элемента с]6 на оо (таблица 8). 160
Таблица 7 Таблица i\j Ι ι 1 оо 2 3 4 5 6 0 16 29 7 27 2 47 CO 10 0 2 0 3 36 1 00 0 9 8 4 29 36 20 00 0 7 5 17 28 0 27 оо 6 6 00 24 7 15 23 оо \i\j\ ι 2 ! 3 4 5 6 0 16 29 7 00 2 00 10 0 2 0 3 1 00 0 9 8 4 36 20 00 0 7 5 28 0 27 00 6 Приводим матрицы С, и G. В каждой строке матрица С, минимальный элемент равен нулю. Следовательно, ]£]<*,· =0. Матрица , приведенная по строкам, совпадает с матрицей С,, С,^ = С,. В каждом столбце матрицы С\П? ~^ι минимальный элемент равен нулю. Следовательно, ^/?у =0· Поэто- му матрица С]п/, приведенная по столбцам, совпадает с матрицей Сх, следова- тельно, С^> = С„ 5(Я1)=1«( + 1^ = ° и γ{Ηχ)= γ{Η)+ s{Hx)= 102 + 0 = 102 - оценка снизу длин гамильтоновых контуров подмножества Hl. Приводим матрицу G по строкам (таблицы 9 и 10). Таблица 9 Таблица 10 гт 2 3 4 5 6 1 оо 0 16 29 7 27 2 оо 10 0 2 0 3 1б" 1 оо 0 9 8 4 29 36 20 00 0 7 5 17 28 0 27 оо 6 6 00 24 7 15 23 ос «ί 17 0 о 0 0 0 Ay 1 2 3 4 5 6 Λ ! ι оо 0 16 29 7 27 0 2 30 00 10 0 2 0 0 3 1 00 0 9 8 0 4 36 20 00 0 7 0 5 "Τ" 28 0 27 00 6 0 6 00 24 7 15 23 00 7 Сумма констант приведения матрицы G по строкам ^с^. = 17, а сумма констант приведения матрицы С^ по столбцам β.. = 7. Следовательно, s(77,) = 2>,+2>,. =17 + 7 = 24. 161
Оценка снизу подмножества Н\\ уШ\) = y(H) + s(H\) = 102 + 24 + 126. Так как у(Нх)<у[нЛ, то дальнейшему ветвлению подлежит подмножество Я, с матрицей расстояний С,. Приведенная матрица расстояний С, подмножества Нх представлена таблицей 11. Для каждой дуги, которой в матрице с\п' соответствуют нулевые эле- менты, находим ее вес как сумму наименьших элементов в строке и в столбце, на пересечении которых стоит этот нулевой элемент (таблица 12). Дуга ветвле- ния (3, 5), ее вес- 16. Таблица 12 Таблица 11 (f»= \i\j 2 3 4 5 6 1 0 16 29 7 00 2 00 10 0 2 0 3 1 00 0 9 8 4 36 20 00 0 7 5 28 0 27 оо 6 (Щ = i\j 2 3 4 5 6 1 0(8) 16 29 7 00 2 00 10 0(0) 2 0(6) 3 1 оо 0(1) 9 8 4 36 20 со 0(9) 7 5 28 0(16)*" 27 со 6 Подмножество Я, разбиваем на два подмножества: Я2 = [(1,6,), (3, 5)], содержащее дугу (3, 5), и подмножество Я2 =1(1,6,), (3, 5И, не содержащее дугу (3, 5). Матрица С2 (таблица 13) подмножества Я2 получается из матрицы С, вычеркиванием строки и столбца, на пересечении которых стоит дуга (3, 5). Кроме того, исключаем дугу (5, 3). Матрица d (таблица 14) подмножества Hi получается из матрицы С, запретом на дуге (3, 5). с2 = i\j 2 4 5 6 1 0 29 7 00 2 00 0 2 0 Таблица 13 3 1 0 00 8 4 36 00 0 7 С2 = i\j 2 3 4 5 6 1 0 16 29 7 оо 2 00 10 0 2 0 Таблица 14 3 1 00 0 9 8 4 36 20 00 0 7 5 28 00 27 00 6 162
В каждой строке и в каждом столбце матрицы С2 минимальный элемент равен нулю. Следовательно, ,(//2)=Σ«.+Σ4=° и /(#2) = ^) + 5^) = 102 + 0 = 102 - оценка снизу длин гамильтоновых контуров подмножества Н2. Сумма кон- стант приведения матрицы С2 равна s(#2) = ^,.+]^. =0+10+0 + 0 +0 + 0 +0 + 0+ 0 + 6 = 16. Следовательно, r^H2) = r(Hl) + siH2) = 102 +16 = 118. Так как /(#2)< л#2], то дальнейшему ветвлению подлежит подмно- жество #2 с матрицей расстояний С2. Приведенная матрица расстояний С2 совпадает с матрицей С2. Выбира- ем дугу ветвления (таблица 15). Таблица 15 с[п^с2 = Дуга ветвления - (5, 4), ее вес - 9. Подмножество Н2 разбиваем на под- множества #з = {(1, 6), (3, 5), (5, 4)} и #з = {(I 6)> (3> 5)> (М)} · Матрица С3 подмножества Я3 получается из матрицы Cf = C2 вычер- киванием строки с номером 5 и столбца с номером 4, при этом на элементе с43 матрицы С3 ставим запрет, иначе подмножество Нъ будет содержать нега- мильтонов контур 4-3-5-4 (таблица 16). Матрица Сз подмножества Нъ получается из матрицы С\п'-С2 исключением дуги (5, 4) (таблица 17). i\j 2 4 5 6 1 0(8) 29 7 00 2 00 0(0) 2 0(7) 3 1 0(1) ОО 8 4 36 ОО 0(9)* 7 Таблица 16 Таблица 17 С, 2 4 6 1 0 29 ОО 2 ОО 0 0 3 1 ОО 8 Сз i\j 2 4 5 6 1 0 29 7 ОО 2 ОО 0 2 0 3 1 0 00 8 4 36 оо 00 7 163
Приводим матрицы С3 и Сз (таблицы 18 и 19): Таблица 18 Таблица 19 ^з i\j 2 4 6 1 0 29 со 2 со 0 0 3 0 00 7 (п) _ I 4 J 29 I О I оо I ~{п) Сз = | Ay 4 5 6 1 0 29 5 00 2 00 0 0 0 3 1 0 со 8 4 29 00 00 0 Для матрицы С3 сумма констант приведения ^(Я3) = /(Я2) + £(Я3) = 102 +1 = 103 - оценка снизу длин гамильтоновых кон- туров подмножества Я3. Сумма констант приведения матрицы Яз равна .у(Яз) = 0 + 0 + 2 + 0 + 0 + 0 + 0 + 7 = 9. Следовательно, г(Яз)=х(Я2) + 5(Яз) = 102 + 9 = 111 - оценка снизу длин гамильтоновых контуров подмножества Я3. Так как ;к(Я3)<дЯз], то дальнейшему ветвлению подлежит подмножество Я3 с матрицей расстояний С3. По матрице С3 выбираем дугу ветвления. Таблица 20 <п) i\j 2 4 6 1 0(29) 29 со 2 00 0(29)* 0(7) 3 0(7) оо 7 ^з ~ Дуг с наибольшим весом 29 две: (2,1) и (4, 2). В качестве дуги ветвления можно выбрать любую из них, возьмем (4, 2). Тогда подмножество Я3 разби- вается на два подмножества: Я4 = {(1,6),(3, 5), (5, 4), (4, 2)}, и Я4 = {(1,6), (3,5), (5,4), (4^)}. 164
Матрицы этих подмножеств: Таблица 21 с = Таблица 22 АУ| « 2 | 0 6 00 3 00 7 С4 = i\j 2 4 6 1 0 29 00 2 00 00 0 3 0 00 7 Дуга (2, 3) в подмножестве Я4 исключена, иначе это подмножество бу- дет содержать негамильтонов контур 2-3-5-4-2. Приводим матрицы С4 и С4 (таблицы 23 и 24): Таблица 23 Таблица 24 с: (")_ АУ 2 6 1 0 оо 3 00 0 сГ = /\у 2 4 6 1 0 0 оо 2 00 00 0 3 0 00 0 Для матрицы С4 сумма констант приведения 5(//4)=Σαί+ΣΑ=0+7+0+0=7· r(H<) = r(H3) + s(H4) = № + l = U0 - оценка снизу длин гамильтоновых контуров подмножества Я4. Сумма кон- стант приведения матрицы С4 равна si Η a ) = 0 + 29 + 0 + 0 + 0 = 29. Следова- тельно, /(Я4) = /(Я3) + 15,(Я4) = 103 + 29 = 132 - оценка снизу длин гамильто- новых контуров подмножества Я4. Так как ;к(Я4)<^(Я41, то дальнейшему ветвлению подлежит подмножество Я4 с матрицей расстояний С4. Но матрица С4 имеет размерность 2x2, поэтому процесс ветвления заканчивается. В гамильтонов контур включаем дуги (2, l) и (б, 3). Таким образом, га- мильтонов контур содержит дуги: (l, б), (3, 5), (5, 4), (4, 2), (2, l), (б, 3). Дли- на найденного гамильтонового контура Г0 =[1-6-3-5-4-2-1] равна ^(r0) = 2 + 53+25 + 10 + 5 + 15 = 110 = Rec. Сравниваем длину полученного гамильтонового контура с оценками сни- зу оборванных ветвей (рис. 6.7.1). Так как Rec=^(.T0) = l 10 меньше 165
γ{Η\\- 126, γ\Ηι) = 118, цЯз) = 111, y\Ha\- 132, то найден единственный оптимальный гамильтонов контур. г(Н) = \02 у(Н,) = \02 γ(Η2) = 102 г(Я3) = ЮЗ Я, } f//?) f Я, Г(Я,) = 126 у(Я2) = П8 Г(Я3) = 1И У(Я4) = Record =ПО НА 132 Рис. 6.7.1. 6.8. Метод Монте-Карло Иногда для решения задачи коммивояжера применяют метод Монте- Карло. Методами Монте-Карло называют любую статистическую процедуру, включающую в себя приемы обработки статистической выборки. Рассмотрим применение метода Монте-Карло к решению задачи коммивояжера. Пусть имеется полный граф с η вершинами, заданный матрицей расстоя- ний С- 1суJ. Вершину ц примем за начальную и случайным образом выберем остальные вершины. Предположим, что остальные вершины появились в по- рядке /2, /3»···> К ·> гДе h ~ номеР вершины при к-ом выборе. Получим гамиль- тонов контур k=[U>, £>,...,.<« ι]. Подсчитаем длину гамильтонова контура £(μ]) и запомним ее. Повторим ста- тистическую процедуру, получив гамильтонов контур μ2=[ι, ΪΚ tf\ ...,£>, ι] и подсчитав его длину £(μ2)· Если ί(μ2)>£(μι), то гамильтонов контур μ2 забываем, если же £[μ2)< £(μλ), то забываем гамильтонов контур μ]. Проводя такую процедуру многократно, можно с высокой степенью вероятности найти гамильтонов контур минимальной длины или хорошее приближение к нему. Для реализации метода на ЭВМ пользуются датчиками случайных чисел. 166
7. Планарные графы 7.1. Укладки графов Во многих случаях не имеет значения, как изобразить граф, поскольку изоморфные графы несут одну и ту же информацию. Однако встречаются си- туации, когда важно выяснить, возможно ли нарисовать граф на плоскости так, чтобы его изображение удовлетворяло определенным требованиям. Например, в радиоэлектронике при изготовлении микросхем печатным способом электри- ческие цепи наносятся на плоскую поверхность изоляционного материала. А так как проводники не изолированы, то они не должны пересекаться. Анало- гичная задача возникает при проектировании железнодорожных и других пу- тей, где нежелательны переезды. Еще один известный пример - задача о трех домах и трех колодцах. Хозяева трех соседних домов хотят проложить до- рожки к трем колодцам (от каждого дома к каждому колодцу) так, чтобы дорожки не пересекались. Могут ли они это сделать? Таким образом, возникает понятие плоского графа. Введем определения. Непрерывная кривая без самопересечений называется жордановой кривой. Плоским графом называется граф, вершинами которого являются точки плос- кости, а ребрами - жордановы кривые (лежащие в той же плоскости), соеди- няющие соответствующие вершины так, что никакие два ребра не имеют об- щих точек, кроме инцидентной им обоим вершины. J3 А (И Μ Рис. 7.1.1. На рис. 7.1.1 три первых графа являются плоскими. Любой граф, изо- морфный плоскому графу, называется планарным. Граф К4, изображенный по- следним на рис. 7.1.1, является планарным, так как он изоморфен второму и третьему графам на этом рисунке. Другие примеры планарных графов: простой цикл Сп и колесо Wn для любого η. Следующие утверждения очевидны: 1) всякий подграф планарного графа планарен; 2) граф планарен тогда и только тогда, когда каждая его связная ком- понента — планарный граф. Про планарные графы говорят, что они укладываются на плоскости (имеют плоскую укладку). Дадим определение укладки графа в произвольное 167
пространство. Говорят, что граф G укладывается в пространство L, если его вершины можно изобразить точками из пространства L, а ребра - жордановы- ми кривыми, лежащими в Ζ и имеющими общими только точки, изображаю- щие соответствующие вершины графа. Теорема 7.1.1. Каждый граф укладывается в трехмерное евклидово про- странство Ш3. Доказательство. Вершины графа поместим в различные точки некоторой прямой £. Рассмотрим пучок плоскостей, проходящих через данную прямую. Каждому ребру графа сопоставим некоторую плоскость данного пучка так, чтобы разным ребрам соответствовали разные плоскости. Ребра изобразим по- луокружностями с концами в соответствующих вершинах и лежащими в соот- ветствующих плоскостях, а петли изобразим окружностями, касающимися £. Ясно, что в результате получаем укладку графа G в R3, так как все ребра ле- жат в разных плоскостях и потому не пересекаются во внутренних точках. о Теорема 7.1.2. Граф является план арным тогда и только тогда, когда он укладывается на сфере. Доказательство. Пусть граф G уложен на поверхности сферы. Выберем на поверхности сферы точку N так, чтобы она не совпадала ни с одной из вер- шин и не лежала ни на одном ребре. Через диаметрально противоположную N точку сферы проведем к ней касательную плоскость Q. Тогда требуемое плос- кое представление графа получается стереографической проекцией из северно- го полюса 7V (рис. 7.1.2). Так как стереографическая проекция является биек- цией, то сформулированное условие планарности необходимо и достаточно, d Рис. 7.1.2. 7.2. Теорема Эйлера о плоских графах Для Платоновых графов, которые образованы вершинами и ребрами пяти правильных многогранников - Платоновых тел - справедлива формула Эйлера: η - т + / = 2, где η - число вершин, т - число ребер, / - число граней пра- 168
вильного многогранника. Оказывается, это соотношение имеет место для лю- бого связного планарного графа. Введем необходимые определения. • Множество на плоскости называется связным, если любые его две точки можно соединить жордановои кривой, целиком лежащей в данном множестве. Например: многоугольник, круг, кольцо - связные множества, а объединение двух непересекающихся кругов или многоугольников - несвязные множества. • Грань плоского графа - максимальное по включению связное множество точек плоскости, каждая пара которых может быть соединена жордановои кри- вой, не пересекающей ребра графа. • Граничная точка грани определяется обычным образом: точка, в лю- бой окрестности которой найдутся как точки, принадлежащие данной грани, так и точки, не принадлежащие данной грани. • Граница грани - множество граничных точек грани. Среди всех граней плоского графа найдется ровно одна неограниченная грань. Такая грань назы- вается внешней, а остальные грани - внутренними. На рис. 7.2.1 Fl9 F2i F3 - внутренние грани, a F4 - внешняя грань. Пусть, как и выше, η - число вершин, т - число ребер, / - число граней плоского графа. Теорема 7.2.1. [Эйлер Л., 1758г.]. Для всякого связного плоского графа верно равенство (формула Эйлера) п-т + f = 2. Доказательство. Пусть G - связный плоский граф с η вершинами, т ребрами, / гранями. Рассмотрим некоторый остов Τ этого графа. Очевид- но, что дерево Τ имеет одну грань (внешнюю) и η вершин. В то же время из- 169
вестно, что число ребер любого дерева равно т = η -1. Поэтому для графа Τ формула Эйлера верна. Теперь будем поочередно добавлять к Τ недостающие ребра графа G. При этом на каждом шаге число вершин, естественно, не меня- ется, а число ребер и число граней увеличивается на единицу, так как новое ребро делит грань, на границе которой лежат его вершины, на две грани. Сле- довательно, формула Эйлера остается верной для всякого графа, получающего- ся в результате каждого шага такой процедуры, а поэтому она верна и для гра- фа G, которым заканчивается вся эта процедура. π Следствие 7.2.1. (Формула Эйлера для выпуклых многогранников). У всякого выпуклого многогранника сумма числа вершин η и числа граней f без числа ребер т равна двум: η - т + f = 2. Доказательство. Рассмотрим в трехмерном пространстве выпуклый мно- гогранник с η вершинами, т ребрами и / гранями. Проектируя этот много- гранник из внутренней точки на описанную около него сферу, уложим его на сфере так, чтобы северный полюс находился внутри одной из граней, а затем произведем стереографическую проекцию на плоскость. В результате компози- ции таких преобразований, каждое из которых является биекцией, получим связный плоский граф, для которого справедлива формула Эйлера. о Следствие 7.2.2. Если G - простой связный планарный граф с п>Ъ вершинами и т ребрами, то т<3п-6. Доказательство. Не теряя общности, можно считать, что G - плоский граф. Если G - дерево с тремя вершинами, то неравенство проверяется непо- средственно: 2<3·3-6 = 3, поэтому будем считать, что т>3. Пусть у плоско- го графа / граней. Поскольку G - простой граф (без петель и кратных ребер), то каждая грань ограничена по крайней мере тремя ребрами. Пусть / -ая грань, / = 1, 2,..., /, ограничена mi > 3 ребрами, тогда 2>,>з/. 1=1 Если ребро графа является мостом, то оно является границей только внешней грани, если же ребро не мост, то оно является границей ровно двух граней, сле- довательно, в сумме Σ _ Щ кажД°е ребро учитывается не более двух раз и по- этому Σ т. < 2т. /=1 Из полученных оценок для суммы ]Г т. следует неравенство: 3/ < 2т, или, с учетом формулы Эйлера, 3(т-п + 2)<2т, откуда т <Ъп -6. d 170
Следствие 7.2.3. В любом простом планарном графе существует верши- на, степень которой не больше 5. Доказательство. От противного. Не теряя общности, можно считать, что G - плоский связный граф, по крайней мере, с тремя вершинами. Пусть сте- пень deg υ любой вершины υ не меньше шести. Тогда, применяя лемму о ру- копожатиях, получим: 2т = ^ deg ц. > 6п или т>3п, что противоречит следствию 7.2.2. π Следствие 7.2.4. Граф К5 не планарен. Доказательство. Действительно, если граф К5 планарен, то по следст- вию 7.2.2, т<3п-6, но в графе К5: η = 5, т = 10, следовательно, 10<9 — явное противоречие. α Следствие 7.2.5. Граф Къъ не планарен. Доказательство. Для графа Къъ: η = 6, т = 9. Если предположить, что граф К23 планарен, то из формулы Эйлера следовало бы / = 5. Однако в дву- дольном графе К33 нет циклов длины три, поэтому каждая его грань ограни- чена не менее чем четырьмя ребрами. Следовательно, 4f <2т, т.е. 20< 18. Противоречие. α Оказывается, что графы К5 и Къъ являются минимальными непланарны- ми графами, в том смысле, что любой непланарный граф «содержит» один из них. 7.3. Критерий планарности Для формулировки известного и важного критерия планарности пере- формулируем понятие гомеоморфизма графов. Нам понадобится операция под- разбиения ребра, которая заключается в следующем. Пусть а = (и,и) - ребро графа инцидентное вершинам и и υ. Ребро а заменяется на два ребра (w, w) и (w, υ) , где w - некоторая новая вершина графа. Проще говоря, чтобы вы- полнить операцию подразбиения какого-либо ребра, достаточно на этом ребре поместить новую вершину. В результате операции подразбиения ребер будут получаться вершины степени два. Обратной к операции подразбиения является уже упоминавшаяся операция стягивания. Она заключается в замене двух ре- бер (и, w) и (w, υ) , инцидентных какой-либо вершине w степени два, на одно ребро (ι/, υ). 171
Два графа называются гомеоморфными, если они могут быть получены из одного и того же графа подразбиением (или стягиванием) ребер. На рис. 7.3.1 изображены два гомеоморфных графа. Очевидно, что количество вершин степени два не влияет на планарность графа, т. е., если граф планарный, то любой граф, гомеоморфный ему, также является планарным. Рис. 7.3.1. Исторически первым критерием планарности графов является следующий кри- терий, доказанный Л.С. Понтрягиным и К. Куратовским. Теорема 7.3.1. [Понтрягин Л.С., 1927г., Куратовский К., 1930г.]. Граф яв- ляется планарным тогда и только тогда, когда он не содержит подграфа го- меоморфного К5 или Къъ. Доказательство. Необходимость. Так как операции подразбиения и стя- гивания ребер никак не влияет на планарность или непланарность графа, то два гомеоморфных графа либо оба планарны, либо оба непланарны. Непланарность графов К5 и К33 доказана в следствиях 7.2.4 и 7.2.5. Доказательство достаточ- ности довольно трудоемко и поэтому опускается. d Пример 7.3.1. Рассмотрим граф Петерсена на рис. 7.3.2 слева. Граф К5 (рис. 7.3.2 справа) получается из графа Петерсена стягиванием пяти ребер, со- единяющих внутренний цикл с внешним. Следовательно, граф Петерсена не является планарным. Рис. 7.3.2. 172
Следствие 7.3.1. [Вагнер К., 1936 г.]. Для любого планарного графа су- ществует плоская укладка, в которой все ребра изображены в виде отрезков прямых линий. 7.4. Планарность и двойственность Для данного плоского графа G = (V; Е) построим новый плоский граф G*, который называется геометрически двойственным к G . Построение проводится в два этапа. 1. Внутри каждой грани F. выберем по одной точке υ* - это вершины графа G*. 2. Каждому ребру аеЕ поставим в соответствие жорданову кривую а*, пересекающую только ребро а графа G и соединяющую вершины υ*, которые лежат в гранях, границы которых содержат ребро а (таких граней может быть две или одна) - это ребра графа С. Очевидно, что ребра графа G* можно про- вести так, чтобы они не пересекались. На рис. 7.4.1 сплошной линией изображен граф G, а пунктирной - граф G*. Заметим, что петлю в G* порождает всякий мост в G, а кратные ребра по- являются в G* тогда и только тогда, когда две грани графа G имеют более одного общего ребра. Двойственный к G граф определяется с точностью до изоморфизма. На рис. 7.4.1 справа изображен граф G* изоморфный пунктир- ному графу. Рис. 7.4.1. Если граф G не только плоский, но и связный, то граф G* также пло- ский и связный, а число вершин, ребер и граней графов G и G* связаны про- стыми зависимостями. 173
Предложение 7.4.1. Если G - плоский связный граф с η вершинами, т ребрами и f гранями, a G* - геометрически двойственный к нему граф, имею- щий η вершин, пг ребер и f граней, то η = /, т* -т и f* -п. Доказательство. Первые два равенства непосредственно следуют из определения двойственного графа G*. Используя формулу Эйлера для каждого графа, получим третье равенство. d Так как граф G* - плоский, то для графа G* можно построить геометри- чески двойственный граф G**. Если граф G связен, то зависимость между G и G** устанавливает следующая теорема. Теорема 7.4.1. Если G - плоский связный граф, то граф G** изоморфен графу G. Доказательство. Из предложения 7.4.1 следует, что n** = f* = n, где л** = \G**\. Следовательно, каждая грань графа G* содержит одну вершину гра- фа G\Gj. Поэтому построение, при помощи которого граф G* получен из G, можно обратить, т. е. получить G из G*. q 8. Раскрашивание графов 8.1. Хроматическое число графа Пусть G = (V; Ε) - граф и к - натуральное число. Функция /: ^-^1,2,..,^} называется вершинной к-раскраской графа G . Раскраска называется пра- вильной, если /(ч·) ^/(^-) Для любых смежных вершин υ. и ог Граф, для которого существует правильная А:-раскраска, называется к- раскрашиваемым. Правильную к -раскраску графа можно интерпретировать как окрашива- ние каждой его вершины в один из к цветов таким образом, чтобы никакие две смежные вершины не оказались одного цвета. Так как функция / не обяза- тельно сюрьективна (т. е. не является отображением «на»), то при к -раскраске фактически может быть использовано менее к цветов. Таким образом, пра- вильную А:-раскраску графа G можно рассматривать как разбиение у - vi kj V2 и... u Vs, VinVj=0 множества V вершин на не более чем s, s < к, непустых классов. Классы этого разбиения называются цветными классами. Минимальное число к, при котором граф G является к -раскра- шиваемым, называется хроматическим числом этого графа и обозначается ^f(G). Если x{G) = k, то граф G называется к - хроматическим. Правильная к -раскраска графа G при к- z(G) называется минимальной. 174
В качестве примера рассмотрим граф G, изображенный на рис. 8.1.1, где указана одна из правильных 4-х раскрасок. Меньшим числом цветов этот граф раскрасить правильно нельзя, так как он содержит цикл нечетной длины С5: [ц, υ2, l>3, υ4, l>5, l>,], для правильной раскраски которого нужно не менее трех цветов. Для вершины υ6, смежной со всеми вершинами цикла С5, требует- ся новый цвет. Следовательно, x(G) - 4. Для некоторых графов хроматические числа находятся легко. Очевидно, хроматическое число χ[ό)-\ тогда и только тогда, когда граф G вполне не- связный. Хроматическое число полного графа Кп равно η. Граф G-2-хро- матический тогда и только тогда, когда он двудольный: z(Kmn) = 2, в частно- сти, хроматическое число дерева равно двум. Обычно 2-хроматический граф называют также бихроматическим. Поэтому теорему Кёнига (теорема 1.6.2) о двудольных графах можно сформулировать в следующем виде. Теорема 8.1.1. Непустой граф является бихроматическим тогда и толь- ко тогда, когда он не содержит циклов нечетной длины. и Хроматические числа циклических графов и колес соответственно равны: *(С2<1) = 2, Х{Сгп+1) = Х Z(W2„) = 4, X(W2„ + 1) = 3. Нетрудно найти хроматическое число графа Петерсена (рис. 7.3.2 слева) - оно равно трем. Задачи определения хроматического числа и минимальной раскраски произвольного графа G являются очень сложными и эффективные алгоритмы их решения до сих пор не найдены. Рассмотрим один простой алгоритм по- строения правильной раскраски, который в ряде случаев приводит к раскрас- кам, близким к минимальным. 175
Алгоритм последовательной раскраски. 1. Произвольной вершине υχ графа G припишем цвет 1. 2. Если вершины ц,ь>2,...,ц. раскрашены £ цветами 1,2,...,^, £<i, то новой произвольно взятой вершине ц+1 припишем минимальный цвет, не ис- пользованный при раскраске вершин из ее окружения. Раскраска, к которой приводит описанный алгоритм, называется после- довательной. Очевидно, что это - правильная раскраска. Для некоторых клас- сов графов (например, полных к -дольных) последовательная раскраска являет- ся минимальной. В общем случае это не так. Поскольку задачу правильной раскраски точно решить трудно, то акту- альны оценки хроматического числа, выражаемые в терминах более или менее просто вычислимых параметров графа. Рассмотрим оценку хроматического числа, связанную со степенями вершин графа. Обозначим через Δ(<7) наи- большую из степеней вершин графа G. Теорема 8.1.2. Для любого графа G верно неравенство x(G) < 1 -f A(G). D Некоторое улучшение последней оценки дает следующая теорема. Теорема 8.1.3. [Брукс, 1941 г.]. Если G - связный граф, не являющийся яоляьш, м A(G)>3,/wo j(G)<A((J). d Оценка, устанавливаемая теоремой Брукса, точная, например, она дости- гается на графе, состоящем из цикла нечетной длины и единственной висячей вершины. Однако оценка хроматического числа в теореме Брукса может ока- заться сильно завышенной. Например, из теоремы следует, что χ(Кх )< η, в то время как χ{κ^η} = 2. 8.2. Раскраска карт Проблема раскраски планарных графов является одной из самых знаме- нитых проблем теории графов. Возникшая в середине прошлого века, она до сих пор привлекает внимание специалистов и любителей. Первоначально во- прос формулировался в следующем виде: достаточно ли четырех красок для такой раскраски произвольной географической карты, при которой любые две соседние страны окрашены в различные цвета? При этом рассматриваются лишь те карты, в которых граница любой страны состоит из одной замкнутой линии, а соседними считаются страны, имеющие общую границу ненулевой длины. Позднее понятия карты и ее раскраски были формализованы следующим образом. Связный плоский мультиграф без мостов называется картой. Грани карты, имеющие общее ребро, называются смежными. Функция f, ставящая в соответствие каждой грани Г карты натуральное число /(Г)е {1,2,...,/г} - цвет грани Г - называется к-раскраской, если цвета смежных граней различны. Карта называется к-раскрашиваемой, если для нее существует А:-раскраска. 176
В 1879 году британский математик А. Кэли опубликовал в первом томе Трудов Лондонского географического общества статью, посвященную проблеме рас- краски карт, в которой сформулировал гипотезу четырех красок (сама задача была известна и ранее). Гипотеза четырех красок: всякая карта 4-раскрашиваема. Часто пользуются другой формулировкой гипотезы четырех красок: вся- кий планарный граф 4-раскрашиваем. Поскольку планарный граф по определе- нию изоморфен некоторому плоскому графу, то эквивалентность этих двух формулировок гипотезы четырех красок вытекает из следующей теоремы. Теорема 8.2.1. Карта G является к-раскрашиваемой тогда и только тогда, когда геометрически двойственный граф G* вершинно к-раскра- шиваем. Доказательство. Поскольку граф G плоский и не имеет мостов, то двой- ственный граф G* - плоский граф (без петель). Пусть задана некоторая пра- вильная к -раскраска карты G. Построим к -раскраску графа G*, приписав ка- ждой его вершине цвет той грани, в которой находится эта вершина. Так как вершины графа G* смежны тогда и только тогда, когда смежны содержащие их грани, то полученная раскраска оказывается правильной. Аналогичным обра- зом можно перейти от правильной раскраски графа G* к правильной раскраске карты G. Заметим, что существуют плоские графы, которые нельзя раскрасить правильно менее чем четырьмя цветами. Таков, например, граф К4. а Предложение 8.2.1. Карта G является 2-раскрашиваемой тогда и только тогда, когда граф G эйлеров. π Раскрашиваемость планарных графов пятью красками доказана достаточ- но давно. Теорема 8.2.2. [Хивуд Р., 1890 г.]. Каждый планарный граф 5-раскра- шиваем. Доказательство. Проведем доказательство индукцией по числу вершин графа. Теорема справедлива для графов с не более чем пятью вершинами. Предположим, что она верна для графов порядка, не превосходящего η > 5. Рассмотрим произвольный плоский граф с п + 1 вершинами. Тогда, со- гласно следствию 7.2.3, в нем существует некоторая вершина υ0, степень кото- рой не больше пяти. Рис. 8.2.1. 177
Пусть U = U(v0) - окружение вершины υ0 в графе G. Отдельно рассмот- рим два случая. 1) |£/|<4. По индуктивному предположению граф G\u09 (этот граф по- лучается удалением вершины υ0 и всех инцидентных ей ребер) 5-раскра- шиваем; раскрасим его вершины пятью цветами. Затем окрасим вершину υ0 в тот из пяти цветов, который не использован при раскраске вершин из U. 2). |W| = 5. В множестве U существуют две несмежные вершины υχ и υ2, иначе G(U) изоморфен К5 и граф G не планарен. Граф G', полученный из G\u0 слиянием этих вершин в вершину υ (см. рис. 8.2.1), является плоским и по индуктивному предположению 5-раскрашиваемым. Фиксируем какую-либо из его правильных 5-раскрасок. В графе G окрасим вершины ц и υ2 в цвет вершины υ, а остальные отличные от υ вершины - в те же цвета, что и соот- ветствующие вершины графа G'. Припишем вершине υ0 цвет, не использован- ный при раскраске вершин из К. d Замечание 8.2.1. В 1976 г. американские математики К. Аппель и В. Хей- кен с использованием ЭВМ установили положительное решение гипотезы че- тырех красок. Гипотеза четырех красок считается решенной формально, так как доказательство Аппеля и Хейкена очень сложно и труднопроверяемо. 9. Задачи и упражнения 1. Сколько ребер содержит полный трехдольный граф с долями раз- мера 3, 4 и 5? 2. Можно ли построить граф, в котором число вершин четной степени не- четно? 3. Нарисовать все порожденные подграфы простого цикла С5. 4. Нарисовать все связные подграфы простой цепи Р7. 5. Сколько ребер в 4-регулярном графе на 10 вершинах? 6. Из полного графа на 20 вершинах удалили несколько вершин. В остав- шемся подграфе стало 66 ребер. Сколько удалено вершин и ребер? 7. В полном двудольном графе 143 ребра. Определить \V{\ и \V2\, если М>1и|г2|>1. 8. Доказать, что в непустом двудольном регулярном графе доли содержат равное число вершин. 9. Может ли регулярный двудольный граф степени больше 1 иметь мос- ты? 178
10. Приведите примеры (когда это возможно): a) двудольного регулярного графа; b) кубического графа порядка 9; c) Платонова двудольного графа; d) простого графа с η вершинами и (л-1)(/1-2)/2 ребрами (для каж- дого п); e) колеса, дополнением которого является циклический граф; f) четырех связных графов, являющихся регулярными графами степени четыре; g) Платонова графа, являющегося реберным графом другого Платонова графа; h) связного графа, не представимого в виде соединения двух графов. 11. Доказать, что в простом графе с не менее чем двумя вершинами най- дутся две вершины одинаковой степени. 12. Нарисовать все кубические графы с не более чем 8 вершинами. 13. Доказать, что изоморфизм графов задает на графах отношение экви- валентности. 14. Построить все неизоморфные простые графы (в том числе несвяз- ные), в которых содержатся только два цикла и один мост (длина обоих цик- лов равна 3). 15. Построить все неизоморфные простые связные графы с 7 вершинами, в которых содержится единственный цикл (длина цикла равна 4). 16. Построить все неизоморфные простые связные графы с 6 вершинами и обхватом 4. 17. Нарисовать все попарно неизоморфные графы с 5 вершинами. 18. Найти все (с точностью до изоморфизма) простые графы, в которых не более пяти вершин. 19. Найти все попарно неизоморфные четырехвершинные неориентиро- ванные графы с тремя ребрами. 20. Привести пример четырехвершинного неориентированного графа, изоморфного своему дополнению (самодополнительного). 21. Докажите, что с точностью до изоморфизма существует ровно четыре простых графа с тремя вершинами и одиннадцать - с четырьмя вершинами. Сколько можно построить простых графов с пятью вершинами? 22. Каков в полном графе наибольший порядок порожденного подграфа, изоморфного простому циклу? 23. Сколько существует попарно неизоморфных простых графов: a) с 10 вершинами и 43 ребрами; b) с 10 вершинами и 44 ребрами? 179
24. Для каждой пары графов, изображенных на рис. 9.1, выяснить изо- морфны они или нет. б) в) Д) Рис. 9.1. 180
25. Найти группу автоморфизмов графов, изображенных на рисунке 9.2. 1 26. Какие из трех указанных графов, изображенных на рис. 9.3, являются изоморфными, а какие - не изоморфными? Для изоморфных графов указать со- ответствие вершин, сохраняющее смежность. Для неизоморфных пояснить причину этого. Рис. 9.3. 27. Какие из графов, изображенных на рис. 9.4, являются изоморфными, а какие - не изоморфными? Для изоморфных графов указать соответствие вер- шин, сохраняющее смежность. Для неизоморфных пояснить причину этого. Рис. 9.4. 181
28. Автоморфизмом простого графа G называется биекция φ множест- ва вершин графа G на себя, обладающая тем свойством, что вершины φ(ο) и φ (и) смежны тогда и только тогда, когда смежны вершины υ и и . Доказать, что a) все автоморфизмы графа G образуют группу относительно операции композиции {группу автоморфизмов r(G) графа <7); b) Г(А^) является симметрической группой n-το порядка; c) если Ρ - граф Петерсена, то Г(Р) - является подгруппой симметриче- ской группы десятого порядка и изоморфна группе Г(^5); d) найти группу автоморфизмов графа Г(Кт я); e) привести пример графа, у которого группа автоморфизмов является циклической группой третьего порядка; 29. В графе Петерсена найти: a) маршрут длины четыре; b) циклы длины пять, шесть, восемь и девять; c) разрезы, содержащие три, четыре и пять ребер. 30. Найти обхваты графов: а) Кп; Ь) Кпт; с) Сп; d) Wn; e) Платоновых графов; f) графа Петерсена. 31. Найти число ребер в дополнении к простому циклу на 10 вершинах. 32. Граф имеет 9 вершин и 8 ребер. Сколько ребер имеет дополнение графа? 33. В двудольном графе |^| = 18, |F2| = 10, число ребер равно 18. Найти число ребер дополнения до полного двудольного графа. 34. Чему равна сумма числа ребер «-вершинного графа и числа ребер его дополнения? 35. Сколько ребер имеет реберный граф для звезды на η вершинах? 36. Найти дополнения к графам, соответствующим тетраэдру, кубу и ок- таэдру. 37. Что можно сказать о: a) соединении двух полных графов; b) дополнении полного двудольного графа; c) дополнении соединения двух простых графов? 38. Найти 1)С4 + £2; 2) Кп+Кт\ 3) Л^; 4) G + H, где G и Я-про- стые графы. 182
39. Приведите примеры (когда это возможно): a) простого графа, изоморфного своему реберному графу; b) простого графа, чье дополнение изоморфно реберному графу; c) Платонова графа, являющегося реберным графом другого платоновог графа. 40. Когда дополнение связного двудольного графа будет несвязным? 41. Для графа, изображенного на рис. 9.5, построить его дополнение, pt берный граф и геометрически двойственный граф. Рис. 9.5. 42. Найти диаметры, радиусы и центры графов: а) Кп; Ъ) Кпт; с) Сп d) Wn; е) Платоновых графов; f) графа Петерсена. 43. Сколько вершин содержит центр полного двудольного графа с долям] из 6 и 8 вершин; с долями из 7 и 9 вершин? 44. Сколько вершин содержит центр простой цепи на 14 вершинах? 45. Пусть заданы два графа G, и G2 (рис. 9.6). Представить графы Gp G, u G2, G, r\G2, G, + G2, G, χ G2 в матричной и геометрической форме. Дл: графа Gj u G2 найти матрицы смежности, инцидентности, все маршруть длины 2, исходящие из вершины 1. От Q *Р G, Рис. 9.6. 183
46. Чему равна сумма элементов матрицы смежности неориентированно- го графа? 47. Чему равна сумма элементов матрицы инцидентности ориентирован- ного графа? 48. Найти матрицы смежности для графов К4, К32, Кп, Еп,Сп. 49. Чем характеризуется матрица смежности двудольного графа? 50. Какова связь между матрицами смежности простого графа и его до- полнения. 51. Пусть Gn - неориентируемый граф, вершины которого пронумерова- ны натуральными числами {1,2,...,п}, а множество ребер определяется сле- дующим условием: несовпадающие вершины ц и υ;. смежны тогда и только тогда, когда числа / и j взаимно просты. Требуется: a) записать матрицу смежности графа G5 и установить является ли этот граф связным; b) изобразить графы G4 и G8 и найти их матрицы смежности; c) доказать, что при т < η граф Gm является подграфом графа Gn. 52. Доказать, что каждое дерево является двудольным графом. Какие де- ревья являются полными двудольными графами? 53. В дереве 20 вершин. Сколькими способами в дерево можно ввести цикл при помощи одного дополнительного ребра? 54. Подсчитать число всех неизоморфных деревьев порядка п, где η < 7. 55. Найти все (с точностью до изоморфизма) деревья, в которых не более семи вершин. 56. Доказать, что каждое дерево имеет один или два центра. 57. Сколько мостов имеет дерево с т ребрами? 58. Убедитесь непосредственно, что существует ровно 125 помеченных деревьев с пятью вершинами. 59. Показать, что при больших η вероятность того, что случайно вы- бранная вершина дерева с η вершинами является висячей, приближенно равна lie. 60. В связном графе 18 вершин. Сколько ребер содержит его остов? 61. В связном графе 20 вершин и 40 ребер. Сколько ребер необходимо удалить, чтобы получить остов? 62. Используя матричную теорему Кирхгофа, найти число остовных де- ревьев в полном двудольном графе Кт п. 184
63. Найти остовное дерево минимального веса для каждого графа на рис. 9.7. ^i 3 ^2 1 υ, 4 ^4 2\2 з\ i 4\ 1 υ, ι ν, 3 м 3 η υχ 2 υ2 4 ^з 1 <Л 3\3 β ^ 2\ А ^— ? 14 4 Рис. 9.7. 64. Найти матрицы фундаментальных циклов, радиусы и диаметры гра- фов, изображенных на рис. 9.8. Являются ли эти графы эйлеровыми, гамильто- новыми, планарными? 7 6 б) Рис. 9.8. 65. Найти цикломатическое число полного графа. 66. Вычислить циклические и коциклические ранги следующих графов а) Кп; Ь) Кпт; с) Сп; d) Wn; е) Еп; ί) Платоновых графов; g) графа Петерсена; h) любого связного графа с η вершинами, являющегося регулярным степени г. 67. Найти остовное дерево и фундаментальные системы циклов следую- щих графов: а) Кь\ Ь) К1Ъ\ с) С6; d) Wb\ e) En\ f) Платоновых графов; g) графа Петерсена. 185
68. Для графов GA и GB, заданных матрицами весов А и В, найти остов- ное дерево минимального веса и его вес А = Х1 х2 хъ х4 х5 х6 Χι χι 00 2 00 7 00 00 OO х2 2 00 1 8 4 00 10 х3 00 1 00 oo 5 6 9 χ4 1 8 00 00 00 3 oo х5 00 4 5 00 00 4 10 хв 00 OO 6 3 4 00 4 х7 OO 10 9 00 10 4 00 5 = χι χ2 Χ3 *4 Χ5 Χ6 χι χι со 10 5 2 16 со 00 χ2 10 οο 4 00 οο 00 00 χ3 5 4 00 8 15 13 00 χ4 2 00 8 00 8 5 7 *5 16 00 15 8 οο 11 18 *6 οο 00 13 5 11 00 4 χι ΟΟ 00 00 7 18 4 ΟΟ 69. По матрицам весов А и В графов GA и GB найти кратчайший путь от вершины хх до вершины х6 или х7 и длину кратчайшего пути по алгоритму Дейкстры А = Х\ Х2 Х3 Х4 Х5 Хь 00 00 3 00 00 00 оо ос оо 4 6 8 оо 8 оо 5 6 12 оо оо оо оо 5 7 00 00 00 00 00 3 00 00 00 00 00 00 \ В- *1 Х2 хз Х4 х5 х6 \Х7 Л* Л**у Л*-% ^а S (\ *^7 оо оо 9 оо оо оо оо ооооооЦ5 10оо оо 4 оо 3 6 7 оо 00 00 00 00 00 00 5 оо оо оо 7 оо 5 18 00 00 00 СО 00 00 4 оо оо оо оо оо оо оо 70. Есть ли среди Платоновых графов эйлеровы? Если да, то найти в них эйлеровы циклы. 71. Доказать, что граф К5 имеет 264 эйлеровы цепи. 72. Для каких η колесо Wn с η вершинами является эйлеровым графом? 73. Для каких чисел т, η графы Кп, Ктп являются эйлеровыми? 74. В полном графе Кп эйлеров цикл содержит 171 ребро. Найти п. 75. Существует ли двудольный граф, содержащий эйлеров цикл? 76. Можно ли ходом шахматного коня обойти всю шахматную доску 8x8 так, чтобы каждый ход встречался один раз (конь может перемещаться с одной клетки на другую любым из двух возможных способов)? Тот же вопрос для ко- роля и ладьи. Как изменятся ответы для шахматной доски размером 7x7? 186
77. Может ли эйлеров граф иметь мосты? 78. Каким должен быть граф, чтобы его реберный граф был эйлеровым? 79. Какие из графов, изображенных на рис. 9.9, являются эйлеровыми, полуэйлеровыми, гамильтоновыми, полугамильтоновыми? к/\ ?—τ—Τ •—4—· U Τ Τ Τ Τ Τ Τ Τ *~~ΐ Τ Τ * Τ Τ ?—t Τ—Τ τ—Τ Τ—Τ τ—Τ *—Τ Ττ —7τ • » ♦—· ·—·—-·-· ·—· β—· ·—· · ·—· · ·—· · · Рис. 9.9. 80. С помощью алгоритма Флёри найти эйлеровы циклы в графах, изо- браженных на рис. 9.10. Рис. 9.10. 81. В графе К2п+1 найти η гамильтоновых циклов, каждые два из которых не имеют общих ребер, п- 2,3,4,5. 82. Может ли шахматный конь побывать на каждой клетке шахматной доски 8x8 ровно один раз и возвратиться в начальную точку? Тот же вопрос для короля и ладьи. Как изменятся ответы для шахматной доски размером 7x7? 83. Во всяком ли полном двудольном графе существует гамильтонов цикл? 187
84. Может ли гамильтонов граф иметь мосты? 85. Пусть наименьшая степень вершин графа больше 2. Может ли некото- рый цикл быть эйлеровым и гамильтоновым одновременно? 86. Какой из графов одновременно является эйлеровым и гамильтоновым: 1)Р4;2)С4;3)*М;4)*4? 87. Привести пример эйлерова графа, не являющегося гамильтоновым, и гамильтонова графа, не являющегося эйлеровым. 88. Привести пример графа, не являющегося гамильтоновым и не являю- щегося эйлеровым. 89. Для каких чисел тип следующие графы являются гамильтоновы- ми: а) Кп; Ъ) Кпт; с) Cn; d) Wn ? Описать гамильтоновы циклы в каждом из тех случаев, когда они существуют. Показать также, что все Платоновы графы яв- ляются гамильтоновыми, и найдите в каждом из них гамильтоновы циклы. 90. Доказать, что граф Петерсена не является гамильтоновым. Будет ли он полугамильтоновым? 91. Привести контрпример, показывающий, что в формулировке теоремы Дирака условие deg υ>η/2 нельзя заменить условием deg υ > η/2 -1. 92. Пусть G - двудольный граф, доли которого содержат тип вершин соответственно. Доказать, что 1) если G - гамильтонов граф, то т = η ; 2) если G - полугамильтонов граф, то \т - п\ < 1. 93. Полные ориентируемые графы заданы матрицами С весов (таблица 1 и таблица 2) Таблица 1 Таблица 2 i)j 1 2 3 4 5 6 1 00 11 25 26 44 39 2 12 00 1 29 42 55 3 25 39 00 24 51 30 4 9 44 5 00 38 41 5 11 40 37 24 00 58 6 22 47 31 3 14 00 | \i\j \ 1 2 3 4 5 6 1 00 34 47 31 9 36 2 10 00 30 12 16 4 3 7 58 00 15 3 14 4 36 48 59 00 13 20 5 40 33 10 22 00 48 6 36 53 15 И 9 00 Найти гамильтоновы контуры на этих графах. 94. Всякий ли полный граф на четырех вершинах является планарным? 188
95. Из полного 6-вершинного графа удалили одну вершину. Будет ли по- лученный граф планарным? Этот же вопрос для 5-вершинного графа, если уда- лили одно ребро. 96. Верно ли, что всякое дерево является планарным графом? 97. Какие из полных двудольных графов планарны? 98. Пусть Gn - неориентируемый граф, вершины которого пронумерова- ны натуральными числами {1,2,...,«}, а множество ребер определяется следую- щим условием: несовпадающие вершины i и j смежны тогда и только тогда, когда числа / и j взаимно просты. При каких значениях η графы Gn планар- ны? 99. В связном плоском графе 30 вершин и 20 граней. Сколько в нем ре- бер? 100. Проверить теорему Эйлера о плоских графах для: а) графа К2п; Ь) графа Wn; с) Платоновых графов; d) графа, образованного вершинами, ребра- ми и гранями шахматной доски размера η χ η. 101. Какой из указанных графов является планарным: 1) К5; 2) Къъ ; 3)*23;4)*6? 102. Пусть G - связный кубический простой плоский граф и φη - число его граней, ограниченных η ребрами. Доказать (подсчетам числа ребер и вер- шин графа G), что 12 = 3(¾ +2φ4 + φ5 -φΊ~2φ%~2>φ9-... . 103. Какие из графов, изображенных на рисунке 1, являются планар- ными? а) б) в) Рис. 9.11. 189
104. При каких η графы порядка 2и, изображенные на рисунке 9.12, явля- ются планарными? Рис 105. В графе G 10 вершин. Сколько в общем случае проверок необходимо сделать по критерию Понтрягина-Куратовского при поиске подграфа К33 ? 106. Найти хроматическое число связного графа, в котором 22 вершины и 22 ребра. 107. Хроматическое число связного графа, содержащего 28 ребер, равно 8. Сколько в нем вершин? 108. Найти хроматические числа графов, изображенных на рисунке 9.13. ψ Рис. 9.13. 109. Найти хроматические числа графов додекаэдра и икосаэдра (см. рис. 1.6.7 и рис. 1.6.8). 110. Что можно сказать о хроматических числах а) соединения двух гра- фов; Ь) объединения двух графов. 111. Чему равно хроматическое число реберного графа звезды? 112. Чему равно хроматическое число реберного графа дерева с макси- мальной степенью вершин kl 113. Чему равно вершинное хроматическое число простой цепи на 12 вершинах, на 17 вершинах? 114. Чему равно вершинное хроматическое число полного графа на 8 вершинах, на 19 вершинах? 115. Два колеса, степень центральных вершин которых равна а и Ь, со- единили ребром. Найти вершинное хроматическое число полученного графа для 1) а = 15, Ь = 18;2)д = 17, 6 = 23. 190
Список литературы 1. Акимов О.Е. Дискретная математика. Логика, группы, графы. - М.: Ла- боратория Базовых Знаний, 2003. - 376 с. 2. Александров П.С. Введение в теорию множеств и общую топологию. - М.: Наука, 1977.-368 с. 3. Акритас А. Основы компьютерной алгебры с приложениями. - М.: Мир, 1994.-544 с. 4. Берж К. Теория графов и ее приложения. - М.: И.Л., 1962. - 320 с. 5. Верещагин Н.К., Шень А. Начала теории множеств. - М.: МЦНМО, 1999.-122 с. 6. Виленкин Н.Я. Рассказы о множествах. - М.: Наука, 1965. - 128 с. 7. Виленкин Н.Я. Комбинаторика. - М.: Наука, 1969. - 328 с. 8. Галкина В.А. Дискретная математика: комбинаторные методы оптими- зации. - М.: Гелиос АРВ, 2003. - 232 с. 9. Гуц А.К. Кардинальные и трансфинитные числа: учебное пособие. - Омск:ОмГУ, 1995.-81 с. 10. Добрынин А.А. Дискретная математика и теория кодирования. - Но- восибирск: НИНХ, 2006. - 188 с. 11. Донской В.И. Дискретная математика. - Симферополь: Сонат, 2000. - 356 с. 12. Ерусалимский Я.М. Дискретная математика: теория, задачи, приложе- ния. - М.: Вузовская книга, 2000. - 280 с. 13. Иванов Б.Н. Дискретная математика. Алгоритмы и программы. - М.: Лаборатория Базовых Знаний, 2002. - 288 с. 14. Клини С. Введение в метаматематику. - М.: И.Л., 1957. - 528 с. 15. Клини С. Математическая логика. - М.: Мир, 1973. - 480 с. 16. Кострикин А.И. Введение в алгебру. Основы алгебры. - М.: Наука, 1979.-300 с. 17. Краснов, М.Л. Вся высшая математика - 7. Теория чисел. Общая ал- гебра. Теория Пойа. Теория графов. Парасочетания. Матроиды / М.Л. Краснов, А.И. Киселев, Г.И. Макаренко, Е.В. Шикин, В.И. Заляпин, А.Ю. Эвнин. - М.: URSS,2006.-108c. 18. Кузнецов, О.П. Дискретная математика для инженера / О.П. Кузнецов, Г.М. Андельсон-Вельский. - М.: Энергоатомиздат, 1988. - 480 с. 19. Кук Д., Бейз Г. Компьютерная математика. - М.: Наука, 1990. - 384 с. 20. Курош А.Г. Курс высшей алгебры. - М.: Наука, 1975. - 432 с. 191
21. Мальцев, Ю.Н. Введение в дискретную математику / Ю.Н. Мальцев, Е.П. Петров. - Барнаул.: Алтайский Госуниверситет, 1997. - 138 с. 22. Натансон И.П. Теория функций вещественной переменной. - М.: Нау- ка, 1974.-480 с. 23. Нефедов В.Н. Курс дискретной математики / В.Н. Нефедов, В.А. Оси- пова. - М.: МАИ, 1992. - 262 с. 24. Новиков Ф.А. Дискретная математика для программистов. - С.-Пб.: Питер, 2001.-301 с. 25. Очан Ю.С. Сборник задач и теорем по теории функций действитель- ной переменной. - М.: Просвещение, 1963. - 232 с. 26. Столл Р. Множества. Логика. Аксиоматические теории. - М.: Просве- щение, 1968.-232 с. 27. Судоплатов, СВ. Дискретная математика / СВ. Судоплатов, Е.В. Ов- чинников. - Москва - Новосибирск.: ИНФРА-М-НГТУ, 2005. - 256 с. 28. Шапорев С.Д. Дискретная математика. Курс лекций и практических занятий. - С-Пб.: БХВ-Петербург, 2006. - 396 с. 29. Шрейдер Ю.А. Равенство, сходство, порядок. - М.: Наука, 1971. - 254 с. 30. Уилсон Р. Введение в теорию графов. - М.: Мир, 1977. - 208 с. 31. Фрид Э. Элементарное введение в абстрактную алгебру. - М.: Мир, 1979.-264 с. 32. Харари Ф. Теория графов. - М.: Мир, 1979. - 300 с. 33. Хаусдорф Ф. Теория множеств. - Ленинград.: Научно-техническое из- дательство НКТП СССР, 1937. - 304 с. 34. http://ru.wikipedia.org/wiki/. 192
Предметный указатель А автоморфизм алгебр 75 - графов 115 - групп 80 алгебра 72 - булева 105 алгоритм Дейкстры 143 - Крас кал а 142 - последовательной раскраски - Прима 142 - Флёри 148 аксиомы теории множеств 42 алфавит 12 Б булеан 8 В вершина графа 113 - висячая 117 - достижимая 118 - изолированная 117 - периферийная 127 - центральная 127 выборка 53 Г грань множества 30 граф - ациклический 135 - вполне несвязный 119 - гамильтонов 149 - геометрически двойственный - двудольный 124 - звездный 124 - кубический 123 - ориентированный 114 - Петерсена 123 - планарный 167 - платонов 123 - плоский 167 - полный 123 - двудольный 124 - полу гамильтонов 149 - полуэйлеров 145 - помеченный 116 - реберный 122 - регулярный 123 - самодополнительный 120 - связный 119 - циклический (цикл) 126 - эйлеров 145 группа 79 - абелева 79 - конечная 80 - подстановок 89 - преобразований 89 - симметрическая Ση 89 - циклическая 81 гомеоморфизм графов 172 гомоморфизм алгебр 75 - графов 115 - групп 79 д делители нуля 97 дерево 135 диаграмма Хассе 31 диаметр графа 127 И изоморфизмы - алгебр 75 - графов 115 - групп 80 - ч.у.м. 32 индекс группы 91 инфимум 30 инцидентность 113 К карта 176 класс вычетов 27 - смежности 91 - эквивалентности 26 колесо 126 кольцо 93 композиция отношений 16 - отображений 74 континуум 33 континуум-гипотеза 40 контур 118 кортеж 11 кубы 126 Л лемма о рукопожатиях 117 Μ маршрут 118 - замкнутый 118 массивы ребер (дуг) 132 матрица весов 132 - инцидентности 130 - отношения 19 - расстояний 127 176 173 193
метод Монте-Карло 166 множество 7 - бесконечное 32 - вполне упорядоченное 30 - линейно-упорядоченное 28 - несчетное 38 - пустое 8 - счетное 32 - универсальное 8 - частично упорядоченное 28 моноид 78 мономорфизм алгебр 75 мост 119 мощность 32 мультиграф 114 Η нормальный делитель 92 О область целостности 97 обхват 118 операция - «-арная алгебраическая 71 - ассоциативная 74 - дистрибутивная 74 - коммутативная 74 - конкатенции 78 остов 137 отношение 12 - антирефлексивное 22 - антисимметричное 23 - ассиметричное 24 - бинарное 12 - обратное 15 - полное 13 - порядка 27 - пустое 13 - рефлексивное 22 - симметричное 22 - тождественное 13 - транзитивное 24 - эквивалентности 26 отображение 17 Π парадокс брадобрея 41 - Бурали-Форти 41 - Кантора 40 - каталогов 41 - Рассела 41 перестановки с повторениями 59 перестановки без повторений 55 подалгебра 72 подграф 114 - порожденный 114 подгруппа 81 - порожденная элементами 81 - циклическая 81 подмножество 7 поле 97 полугруппа 77 - абелева 78 порядок графа 113 - группы 80 прямое произведение множеств 11 псевдограф 114 путь 118 Ρ равенство множеств 7 - по модулю 27 равномощность множеств 32 радиус графа 127 размещения без повторений 54 размещения с повторениями 53 решетка 103 С сигнатура 72 система образующих группы 81 сочетания без повторений 55 сочетания с повторениями 57 список смежности вершин 131 супремум 30 Τ тело 102 - кватернионов 103 теорема Брукса 176 - Дирака 152 - Кантора-Бернштейна 36 - Кантора 38,39 - Кенига 151 - Кирхгофа 138 - Кэли 90, 137 - Лагранжа 92 - Оре 152 - Перепелицы 152 - Понтрягина-Куратовского 172 - Рейда 148 - Хивуда 177 - Эйлера 117,146,169 194
φ фактор-группа 92 фактор-множество 26 формула - включения-исключения 50 - полиноминальная 61 - Эйлера 170 фундаментальное множество циклов 139 функция 17 - биективная 18 - инъективная 17 - обратная 19 - производящая 64 - сюръективная 17 - частичная 17 - Эйлера 52 X характеристика поля 100 ц центр графа 127 цепь 118 - простая 118 цикл 118 - простой 118 - фундаментальный 139 Ч число кардинальное 33 - Фибоначчи 62 - хроматическое 174 - цикломатическое 139 Э элемент максимальный 29 - минимальный 29 - наибольший 29 - наименьший 29 эквивалентность множеств 32 эксцентриситет 127 эпиморфизм алгебр 75 195
Редактор Л. И. Чигвинцева Компьютерная верстка, дизайн обложки - Е. В. Беспалова ИД№ 06039 от 12.10.2001 г. Сводный темплан 2009 г. Подписано в печать 21.04.09. Формат 60x84 '/16. Бумага офсетная. Отпечатано надупликаторе. Усл. печ. л. 12,25. Уч.-изд. л. 12,25. Тираж 150. Заказ 350. Издательство ОмГТУ. 644050, г. Омск, пр-т Мира, 11 Типография ОмГТУ 196