Практикум по дискр мат2 - Камышинский технологический

advertisement
Л. И. Кухарева, Е. В. Морозова
ПРАКТИКУМ ПО ДИСКРЕТНОЙ
МАТЕМАТИКЕ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
КАМЫШИНСКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ (ФИЛИАЛ)
ГОУ ВПО «ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Л. И. Кухарева, Е. В. Морозова
ПРАКТИКУМ ПО ДИСКРЕТНОЙ МАТЕМАТИКЕ
Учебное пособие
Рекомендовано учебно-методическим объединением Совета директоров средних специальных учебных заведений Волгоградской области в
качестве учебного пособия для образовательных учреждений среднего
профессионального образования Волгоградской области
Волгоград
2010
1
УДК 519.1 (075/3)
П 69
Рецензенты: старший преподаватель Камышинского филиала СГА
Н. В. Выпова; профессор кафедры ТОИ ГОУ «СПбГПУ», д. т. н.
С. Г. Редько
Кухарева, Л. И. ПРАКТИКУМ ПО ДИСКРЕТНОЙ МАТЕМАТИКЕ: учеб. пособие / Л. И. Кухарева, Е. В. Морозова; ВолгГТУ, Волгоград, 2010. – 68 с.
ISBN 978-5-9948-0387-5
Рассматриваются основные направления дискретной математики:
теория множеств (множества, операции над ними, отношения, отображения), математическая логика, переключательные (булевы) функции, теория графов. Материал включает в себя практические упражнения и задания для самостоятельного выполнения.
Предназначено для студентов специальности 230103 «Автоматизированные системы обработки информации и управления (по отраслям)» и
может использоваться студентами направления 552800 «Информатика и
вычислительная техника».
Ил. 37.
Табл. 5.
Библиогр.: 9 назв.
Печатается по решению редакционно-издательского совета
Волгоградского государственного технического университета

ISBN 978-5-9948-0387-5
2
Волгоградский
государственный
технический
университет, 2010
СОДЕРЖАНИЕ
Предисловие.......................................................................................
Порядок выполнения практических заданий..................................
1. Практическое занятие № 1. Тема: «Начальные понятия теории множеств. Операции над множествами. Применение диаграмм Эйлера-Венна при решении практических задач»...............
1.1. Начальные понятия теории множеств.............................
1.2. Операции над множествами.............................................
1.3. Применение диаграмм Эйлера-Венна при решении практических задач....................................................................................
Задания................................................................................................
Литература..........................................................................................
2. Практическое занятие № 2. Тема: «Бинарные отношения»
2.1. Бинарные отношения. Прямое произведение множеств...
2.2. Свойства отношений..........................................................
Задания................................................................................................
Литература..........................................................................................
3. Практическое занятие № 3. Тема: «Отношения эквивалентности и отношения порядка».............................................................
3.1. Отношения эквивалентности. Отношения порядка.......
Задания................................................................................................
Литература..........................................................................................
4. Практическое занятие № 4. Тема: «Функции и отображения»..
4.1. Функции и отображения....................................................
Задания................................................................................................
Литература..........................................................................................
5. Практическое занятие № 5. Тема: «Элементы графа. Способы задания графа. Подграфы. Изоморфизм».................................
5.1. Элементы графа...................................................................
5.2. Способы задания графов....................................................
5.3. Подграфы.............................................................................
5.4. Изоморфизм графов..........................................................
5.5. Степени вершин графа.......................................................
Задания................................................................................................
Литература..........................................................................................
6. Практическое занятие № 6. Тема: «Путь в графе. Поиск путей (маршрутов)».................................................................................
6.1. Маршруты, цепи, циклы....................................................
6.2. Поиск путей (маршрутов) с минимальным числом дуг..
6.3. Эйлеровы графы..................................................................
Задания................................................................................................
3
5
6
7
7
9
10
12
14
15
15
17
17
19
20
20
21
23
24
24
25
27
28
28
29
31
31
32
32
33
34
34
35
36
37
Литература..........................................................................................
7. Практическое занятие № 7. Тема: «Связность, компоненты
связности»...........................................................................................
7.1. Связность, компоненты связности...................................
7.2. Матрица связности.............................................................
Задания................................................................................................
Литература..........................................................................................
8. Практическое занятие № 8. Тема: «Планарные графы».......
8.1. Планарные графы................................................................
8.2. Эйлерова характеристика...................................................
8.3. Задача о плоской укладке...................................................
8.4. Гамма-алгоритм..................................................................
Задания................................................................................................
Литература..........................................................................................
9. Практическое занятие № 9. Тема: «Деревья».........................
9.1. Основные определения.......................................................
9.2. Ориентированные деревья.................................................
Задания................................................................................................
Литература...........................................................................................
10. Практическое занятие № 10 Тема: «Переключательные
(булевы) функции»............................................................................
10.1. Основные определения....................................................
10.2. Формулы логики булевых функций.................................
10.3. Фиктивные и существенные переменные.......................
10.4. Полные системы булевых функций.................................
Задания.................................................................................................
Литература...........................................................................................
11. Практическое занятие № 11. Тема: «Предикаты. Кванторы.
Предикатные формулы».....................................................................
11.1. Предикаты..........................................................................
11.2. Кванторы...........................................................................
11.3. Предикатные формулы....................................................
Задания................................................................................................
Литература...........................................................................................
4
38
39
39
41
41
43
44
44
45
46
46
48
50
51
51
52
53
54
55
55
56
57
58
60
61
62
62
63
64
65
67
Предисловие
В настоящее время в связи с широким использованием вычислительной техники в различных сферах человеческой деятельности все
большее значение приобретают вычисления на дискретных структурах.
Решением задач реальной размерности с учетом ограниченности временных и емкостных ресурсов ЭВМ занимается дискретная математика.
Дискретная математика – самостоятельное направление современной
математики, она изучает математические модели объектов, процессов,
зависимостей, существующих в реальном мире, с которыми имеют дело в
вычислительной технике, программировании и других областях знаний.
Дискретная математика является сердцевиной математической кибернетики и представляет собой важное направление, имеющее характерные для него предмет исследований, методы и задачи. Задачи анализа
и конструирования сложных систем послужили стимулом для разработки
теории графов: задачи хранения, обработки и передачи информации привели к теории кодирования (дискретной теории информации); задачи оптимизации вызвали появление дискретного программирования; исследование основных понятий вычислительной математики – вычислимости и
алгоритма – стимулировало появление теории алгоритмов.
В широком смысле дискретная математика включает в себя такие
сложившиеся математические разделы, как теория множеств и отношений, математическая логика и ряд других, которые стали развиваться
наиболее интенсивно в связи с внедрением вычислительной техники. В
узком смысле она ограничивается следующими разделами: теория функциональных систем, теория графов, теория автоматов, теория кодирования, теория алгоритмов, комбинаторный анализ и др.
Материал, рассматриваемый в курсе дискретной математики, формирует культуру абстрактного мышления, развивает умение проводить
анализ, композицию и декомпозицию информационных комплексов и
информационных процессов и предназначен для студентов, изучающих
информатику и вычислительную технику.
5
Порядок выполнения практических заданий
В полном объеме освоить теоретический материал по соответствующей теме. Четко знать определения, ориентироваться в терминах и обозначениях рассматриваемых понятий.
Использовать математический аппарат дискретной математики при
решении типовых задач в предметной области. Рассмотреть конкретные
примеры выполнения заданий.
Выполнить задания, предложенные для самостоятельной работы.
Представить результат выполнения работы в письменном виде с подробным объяснением хода решения задачи и теоретическими выкладками. Качество выполнения заданий контролируется преподавателем и
оценивается им в соответствии с методикой рейтингового контроля.
6
1. Практическое занятие № 1
Тема: «НАЧАЛЬНЫЕ ПОНЯТИЯ ТЕОРИИ МНОЖЕСТВ. ОПЕРАЦИИ НАД
МНОЖЕСТВАМИ. ПРИМЕНЕНИЕ ДИАГРАММ ЭЙЛЕРА-ВЕННА ПРИ
РЕШЕНИИ ПРАКТИЧЕСКИХ ЗАДАЧ»
Цель занятия:
познакомить студентов с такими понятиями, как множество, элементы
множеств, булеан, универсальное множество, мощность множества, операции над множествами, представления множеств с помощью диаграмм,
формируя у них терминологический запас.
Пояснение к работе
Время выполнения практического задания – 4 часа.
Последовательность выполнения
1. Руководствуясь приведенным теоретическим материалом, ответить на следующие вопросы:
Как обозначаются множества и элементы множеств?
Какое множество называется конечным?
Какие существуют способы задания множеств?
Как определяется мощность множества?
2. Дать определение следующих понятий:
– множество и элементы множества;
– операции разности и объединения множеств;
– операции пересечения и дополнения;
– универсальное множество и булеан.
3. Перечислить основные тождества алгебры множеств.
4. Представить операции над множествами в виде диаграмм.
5. Выполнить задания для аудиторных занятий.
6. Выполнить задания для самостоятельной работы.
1.1. Начальные понятия теории множеств
Любое понятие дискретной математики можно определить с помощью понятия множества. Под множеством понимают объединение в одно общее объектов, хорошо различаемых нашей интуицией или нашей
мыслью. Объекты, которые образуют множество, будем называть элементами множества и обозначать малыми буквами латинского алфавита.
Множество и его элементы обозначаются следующим образом:
А = { a1, a2, a3} – множество, состоящее из трех элементов;
А = {a1, a2, …} – множество, состоящее из бесконечного числа элементов. Множество может состоять из элементов, которые сами являются
множествами. Нужно различать элемент a и множество, состоящее из
единственного элемента a.
7
Пример. Множество А = {1, 2} состоит из двух элементов 1, 2; но
множество {А} состоит из одного элемента А.
Если элемент a принадлежит множеству А, это записывается следующим образом: a  А. Если элемент a не принадлежит множеству А, то
записывают так: a  А. Если какое-либо множество А включено в другое
множество В, то используется запись А  В. Множество, содержащее конечное число элементов, называется конечным, если множество не содержит ни одного элемента, то оно называется пустым и обозначается .
Принято считать, что пустое множество является подмножеством любого
множества:   А, где А – любое множество. Таким образом, всякое
множество содержит в качестве своих подмножеств пустое множество и
само себя.
Пример. 1. Множество корней уравнения sin x = 2 является пустым.
2. Пусть А1 – множество простых чисел, А2 – множество целых чисел, a = 4. Тогда a  А2, a  А1.
Множество считается заданным, если каким-либо образом указано
некоторое свойство, которым обладают все его элементы и не обладают
никакие другие объекты.
Множество может быть задано различными способами: перечислением элементов (конечные множества) или указанием их свойств (при этом
в обоих случаях при задании множеств используют фигурные скобки).
Примеры задания множеств. 1. Множество M цифр десятичного
алфавита можно задать в виде: M = 0, 1, ..., 9 или M = х│х – целое,
0  х  9, где справа от вертикальной черты указывают свойство элементов этого множества. Множество M чётных чисел можно записать в виде:
M = х│х – чётное число.
2. Если R – множество точек числовой прямой, то Rn – множество
точек n-мерного арифметического пространства; в частности, R2 – множество точек плоскости, R3 – множество точек пространства трех измерений.
Для каждого множества М существует множество, элементами которого являются подмножества множества М и только они. Такое множество будем называть семейством множества М или булеаном этого множества и обозначать В(М), а множество М будем называть универсальным (универсумом или пространством) и обозначать 1 или U. Множество
М (универсальное) не должно быть ýже объединения рассматриваемых
множеств, т. е. оно должно быть равно или содержать объединение рассматриваемых множеств.
Пример. Пусть множество А = {1, 2} состоит из двух элементов 1, 2.
Тогда множество В(A) включает в себя пустое множество , два одноэлементных множества {1} и {2} и само множество А = {1, 2}, т. е.
В(A) = {, {1}, {2}, {1, 2}}. Мы видим, что множество В(A) состоит
из четырех элементов (4 = 22).
8
Приведем стандартные обозначения для некоторых наиболее употребительных числовых множеств:
N – множество натуральных чисел (иногда его начинают с 1, иногда
с 0; обычно это оговаривается);
Р – простые числа;
Z – множество целых чисел (положительные, отрицательные и 0);
R – множество действительных чисел.
Очевидное соотношение: N  Z  R.
Рассмотрим методы получения новых множеств из уже существующих на примере пространства или множества U, определив в нём 4 операции над множествами A и B: объединение, пересечение, разность, дополнение.
1.2. Операции над множествами
Объединением А и В называется множество А  В, все элементы которого являются элементами хотя бы одного из множеств А или В:
А  В = {x  x  А и / или x  В}.
Из определения следует, что А  А  В и В  А  В. Аналогично определяется объединение нескольких множеств.
Пример. 1. Пусть А = {4, 5, 6}, В = {2, 4, 6}. Тогда А  В = {2, 4, 5, 6}.
2. Пусть А – множество чисел, которые делятся на 2, а В – множество
чисел, которые делятся на 3: А = {2, 4, 6, …}, В = {3, 6, 9, …}. Тогда А  В
– множество чисел, которые делятся на 2 или на 3: А  В = {2, 3, 4, 6, 8, 9,
10, …}.
Пересечением множеств А и В называется множество А  В, все
элементы которого являются элементами обоих множеств А и В: А  В =
{x  x  А и x  В}. Из определения следует, что А  В  А, А  В  В и
А  В  А  В. Аналогично определяется пересечение нескольких множеств.
Пример. 1. Пусть А = {4, 5, 6}, В = {2, 4, 6}. Тогда А  В = {4, 6}.
2. Пусть А – множество чисел, которые делятся на 2, а В – множество чисел, которые делятся на 3: А = {2, 4, 6, …}, В = {3, 6, 9, …}. Тогда
А  В – множество чисел, которые делятся и на 2, и на 3: А  В = {6, 12,
18, …}.
Может оказаться, что множества не имеют ни одного общего элемента. Тогда говорят, что множества не пересекаются или что их пересечение – пустое множество.
Пример. Пусть А = {1, 2}, В = {2, 3}, C = {3, 4}. Тогда А  В  C = .
Разностью (относительным дополнением) множества В до множества А называется множество А \ В, все элементы которого являются элементами множества А, но не являются элементами множества В:
А \ В = {x  x  А и x  В}.
9
Пример. 1. А = {4, 5, 6}, В = {2, 4, 6}. А \ В = {5}, В \ А= {2}.
2. А = {2, 4, 6, …}, В = {3, 6, 9, …}. Тогда А \ В – множество чисел,
которые делятся на 2, но не делятся на 3, а В \ А – множество чисел, которые делятся на 3, но не делятся на 2: А \ В = {2, 4, 8, 10, 14, …}. В \ А =
{3, 9, 15, 21, 27, …}.
Симметрической разностью множеств А и В называется множество А + В: А + В = (А \ В)  (В \ А).
Пример.1. А = {4, 5, 6}, В = {2, 4, 6}. А \ В = {5}, В \ А= {2}, А + В =
{2, 5}.
2. А = {2, 4, 6, …}, В = {3, 6, 9, …}, А \ В = {2, 4, 8, 10, 14, …}.
В \ А = {3, 9, 15, 21, 27, …}, А + В = {2, 3, 4, 8, 9, …}.
ДополнениемМ множества М является множество
М = {mi│mi  }.
Пример. Заданы множества А = {1, 2, 5, 6} и В = {2, 3, 4, 6} на универсальном множестве U = {1, 2, 3, 5, 6, 7}. Выполнить операцииА,В.
Решение. В результате выполнения заданных операций получим
следующие множества: А = {3, 7};В = {1, 5, 7}.
Для конечных множеств существует понятие: мощность множества
А – число его элементов. Обозначают мощность множества А.
Пример. А = {1, 2, 5, 6}, тогда мощность множества А = n(А) = 4;
 = 0; {} = 1.
Также справедливы следующие формулы: для любых множеств А и
В  А  В = А + В – А  В, то есть учитываются общие для обоих
множеств элементы.
Пример. А = {1, 2, 3} А = 3; В = {1, 2, 3, 4, 5} В = 5, тогда А  В =
{1, 2, 3, 4, 5} А  В = 5; А  В = {1, 2, 3} А  В = 3, то есть получим равенство: А  В = А + В – А  В 5 = 3 + 5 – 3.
Для конечного множества М мощность его булеана В(М) равна 2М.
1.3. Применение диаграмм Эйлера-Венна при решении практических
задач
Для наглядного представления множеств и отношений между ними
используются диаграммы Эйлера-Венна. Универсальное множество
изображают в виде прямоугольника, а множества, входящие в универсальное множество, в виде кругов внутри прямоугольника; элементу
множества соответствует точка внутри круга (рис. 1).
С помощью диаграмм Эйлера-Венна удобно иллюстрировать операции над множествами. Результирующее множество каждой операции выделено штриховкой.
10
U
U
MA
MA

MB
MA

U
U
MA
MB
MB

U
MA
U
\
MA
MB
\
М
Рис. 1. Представление операций над множествами с помощью диаграмм Эйлера-Венна
Пример. Рассмотрим операцию дополнения множества, являющегося пересечением множеств MА и MВ. Необходимо доказать, что её результат совпадает с объединением дополнений этих множеств:
Решение. M = M A  M B =MА MВ.
В этом можно убедиться с помощью диаграмм Эйлера-Венна рис. 2).
U
U
MA
MA
MB
   
MB
MA MB
U
U
U
MA
MB
М
МB
MA
MB
MА MВ
Рис. 2
Для любых подмножеств А, В и С универсального множества U выполняются следующие тождества (основные тождества алгебры множеств):
1. А  В = В  А (коммутатив- 1. А  В = В  А (коммутативность ).
ность ).
11
2. А  (В  С) = (А  В)  С (ассоциативность ).
3. А  (В  С) = (А  В)  (А  С)
(дистрибутивность  относительно ).
4. А   = А (свойство нуля).
2. А  (В  С) = (А  В)  С (ассоциативность ).
3. А  (В  С) = (А  В)  (А  С)
(дистрибутивность  относительно
).
4. А   = .
5. А А = U (свойство дополнения).
6. А  А = А.
5. А А = .
7. А  U = U (свойство единицы).
7. А  U = А.
8. A  B =А В (закон де Моргана).
9. А  (А  В) = А (закон поглощения).
8. A  B =А В (закон де Моргана).
9. А  (А  В) = А (закон поглощения).
6. А  А = А.
10. A = А (инволюция).
11. А \ В = А  B .
Примеры. 1. Рассмотрим предположение о том, что произвольные
множества A и B попарно эквивалентны: 1 A  B; 2) A  B = A; 3) A  B = B.
Решение. Докажем, что из первого предположения следует второе.
Действительно, так как A  B  A, то достаточно показать, что в этом
случае A  A  B. Но если х  A, то х  B, т. к. A  B и, следовательно,
х  A  B.
Докажем, что из второго предположения следует третье. Так как
A  B = A, то A  B = (A  B)  B. По закону поглощения (см. тождество 9)
B  (A  B) = B. Отсюда, используя закон коммутативности, получаем
A  B = B.
Докажем, что из третьего предположения следует первое. Так как A
 A  B, а по условию третьего предположения A  B = B, то А  В.
Задания
Для аудиторных занятий
1. Записать множество М целых чисел х, которые делятся на три и
находятся в интервале 3  х  15. Записать двумя способами.
2. Записать множество А целых чисел х, которые делятся на 2 и на 3
и находятся в интервале 20  х  25. Записать двумя способами.
3. Принадлежит ли х множеству М, если:
а) М = {2, 6, 8, …, 50}; х = 35;
б) М = {2, 3, 4, 6, 8, 9, 10, …, 100}; х = 23;
в) М = {-2, 2, -4, 4, …, 120}; х = -30.
12
Записать приведенные множества с указанием свойств их элементов.
4. Доказать неравенство: {{1, 2}, { 2, 3}}  {1, 2, 3}.
5. Какие из следующих выражений являются истинными и какие
ложными:
а)   {{}}; б) 1  {{1, 2}}; в) {1, 2}  {{1, 2}}; г) {1, 2} 
{{1, 2}, {1, 3}, 1, 2}.
6. Привести примеры таких множеств А, В, С, чтобы были истинными следующие высказывания:
а) А  В  В  С  А  С;
б) А  В  В  С  А  С.
7. Какие из следующих множеств конечны и какие бесконечны:
а) {x  Rx2 - 5x + 4 = 0};
б) {x  Nx2 - 5x + 4 > 0};
в) {x  Nx2 / 24}.
8. Равны ли множества:
а) {x  Rx2 - 2x – 2 = 0} и {x  Qx2 - 2x – 2 = 0};
б) {x  Z4/x  15/x} и {x  Z4/x  15/x}{x  Z20/x  30/x}.
9. Перечислить элементы следующих множеств:
а) {x  Rx2 - 3x + 2 = 0};
б) {x  Rx2 + 1 = 0};
в) множество всех корней уравнения x2 + 6x + 9 = 0.
10. Перечислить все элементы каждого из следующих множеств:
а) {xx { 1}};
в) {xx  {1, 2, 3}};
б) {xx  {1, 2}};
г) {xx  }.
Для самостоятельной работы
1. Перечислить элементы следующих множеств:
а) множество четных чисел от 0 до 20 включительно;
б) множество всех двузначных чисел, делящихся на 5 и не делящихся на 10;
в) множество всех последовательностей, содержащих все числа 1, 2,
3, 4, 5 и только эти числа, в которых четные и нечетные числа чередуются.
2. Равны ли множества:
а) {2, 4, 5} и {2, 4, 2, 5}; б) {1, 2} и {{1, 2}}; в) {1, 2, 3} и {3, 1, 2, 1}};
г) {1, 2, 3} и {{1}, {2},{3}}.
3. Перечислить подмножества следующих множеств:
а) {{1, 2}, {3}, 4}; б) {{5, 2}}; в) {{2}, {6}, {3} }; г) {{4, 6}, {1}, 1}.
4. Вставить между множествами символ  или  так, чтобы получилось истинное высказывание:
а) {1} {1, {1, 2}}; б)  ; в)  ; г) {1, 2} 1, 2, {1, 2}.
5. Найти А  В, А  В, А \ В, В \ А,А,В:
а) А = {1, 2, 3}, В = {2, 3, 5, 4}, U = {1, 2, …, 9};
13
б) А = {х ‫׀‬х делится на 2}, В = {х ‫׀‬х делится на 3}, U = N.
6. Доказать следующие тождества:
а) (А  В)  (А В) = (А  В)
е) А  В = А  (А  В);
 (А В);
б) (А  В)  А = А  В;
ж) (А  В) \ (А  В) = (А \ В)  (В \ А);
в) (А \ В) \ С = (А \ С) \(В \ С); з) (А \ В)  (А \В) = (А  В) \ (А  В);
г) А \ (В  С) = (А \ В) \ С;
и) (А \В)  (В \А) = (А  В) \ (А  В);
д) А \ В = А В;
к) А \ (В  С) = (А \ В)  (А \ С).
7. Показать с помощью диаграмм Эйлера-Венна, какие из следующих утверждений верны:
а) (А  В)  С = А  (В  С);
в) (А \ В)  С = (А  С) \ (В  С);
б) (А \ В)  В = А;
г) (А В)  (В А)  В.
8. Найти мощность множеств, мощность их булеанов и А  В –
мощность объединения множеств:
а) А = {4, 5, 6}, В = {4, 5, 6, 7, 8}; б) А = {1, 3, 5, 6}, В = {4, 5, 6, 7};
в) А = {3, 5, 7}, В = {2, 5, 6, 7, 9}; г) А = {1, 2, 3, 5}, В = {2, 4, 5, 6, 7}.
9. Вставить между множествами символ  или  так, чтобы получилось истинное высказывание:
а) {1} {1, {1, 2}};
г)  {1, 2, {1}, {}};
б) {1, 2} {1, 2, {1},{2}};
д)  {{}};
в) {1, 2} {1, 2,{1, 2}};
е)  {}.
10. Привести пример множеств A, B, C, таких, чтобы выполнялись
условия:
а) A  B, B C, A  C;
б) A  B, A  C, C  B;
в) A  B, B  C, A  C.
Литература
1. Куликов, Л. Я. Сборник задач по алгебре и теории чисел / Л. Я. Куликов, А. И.
Москаленко, А. А Фомин. – М.: Просвещение, 1993. – 288 с.
2. Ерусалимский, Я. М. Дискретная математика. Теория, задачи, приложения: учеб.
пособие для вузов / Я. М. Ерусалимский. – М.: Вузовская книга, 2008. – 288 с.
3. Новиков, Ф. А. Дискретная математика для программистов: учебник для вузов / Ф.
А. Новиков. – СПб.: Питер, 2001. – 304 с.
14
2. Практическое занятие № 2
Тема: «БИНАРНЫЕ ОТНОШЕНИЯ»
Цель занятия:
усвоение таких понятий, как упорядоченная пара, прямое произведение
множеств, бинарное отношение, типы бинарных отношений, свойства
(рефлексивность, антирефлексивность, симметричность, антисимметричность, транзитивность).
Пояснение к работе
Время выполнения практического задания – 2 часа.
Последовательность выполнения
1. Руководствуясь приведенным теоретическим материалом, ответить на следующие вопросы:
Какие способы задания бинарного отношения вы знаете?
Что является областью определения бинарного отношения ?
Что является областью значений бинарного отношения ?
Какое отношение  называется рефлексивным на множестве X?
Какое отношение  называется симметричным на множестве X?
Главная диагональ матрицы какого отношения содержит только
единицы?
Для какого отношения  всегда выполняется условие  =  – 1?
Для какого отношения  всегда выполняется условие     .
2. Дать определение следующих понятий:
– бинарное отношение;
– композиция отношений.
3. Выполнить задания для аудиторных занятий.
4. Выполнить задания для самостоятельной работы.
2.1. Бинарные отношения. Прямое произведение множеств
Бинарным отношением  называется множество упорядоченных пар.
Если  есть некоторое отношение и пара (х, у) принадлежит этому отношению, то употребляется запись (х, у)  или ху. Элементы х и у называются координатами или компонентами (объектами) отношения . Если
х и у компоненты (объекты), то через (х, у) обозначают упорядоченную
пару. Равенство упорядоченных пар определяется следующим образом:
(а, b) = (с, d) := а = с и b = d (:= – операция присваивания).
Областью определения бинарного отношения  называется множество D = {x‫׀‬существует такое у, что ху}. Областью значений бинарного
отношения  называется множество R = {y‫׀‬существует такое x, что ху}.
Так как бинарное отношение – множество, то способы задания бинарного отношения такие же, как и способы задания множества. Бинар15
ное отношение может быть задано перечислением упорядоченных пар
или указанием общего свойства упорядоченных пар.
Кроме того, бинарное отношение может быть задано матрицей бинарного отношения. Пусть А = {a1, a2, …, an} – конечное множество.
Матрица бинарного отношения C есть квадратная матрица порядка n,
элементы которой cij определяются следующим образом:
1, если ai  a j ,
cij = 
0, в противном
случае.

Пример. А = {1, 2, 3, 4}. Зададим бинарное отношение  тремя перечисленными способами.
1.  = {(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)} – отношение задано
перечислением всех упорядоченных пар.
2.  = {( ai, aj) ai < aj; ai, aj  А} – отношение задано указанием
свойства "меньше" на множестве А.
3.
0

0
С 
0

0

1 1 1

0 1 1  – отношение задано матрицей отношения C.
0 0 1

0 0 0 
Пусть даны два множества Х и У. Прямым (декартовым) произведением двух множеств Х и У называется совокупность всех упорядоченных
пар (х, у), таких, что х  Х и у  У. Обозначается прямое произведение
множеств Х и У через Х × У: Х × У := {(х, у) х  Х и у У}.
Каждое отношение  есть подмножество прямого произведения некоторых множеств Х и У, таких, что D  Х и R  У, то есть   Х  У.
Если Х = У, то говорят, что  есть отношение на множестве Х, и тогда   Х2.
Примеры. 1. Пусть Х = {1, 2, 3}, У = {0, 1}. Тогда
Х  У = {(1, 0), (1, 1), (2, 0), (2, 1), (3, 0), (3, 1)};
У  Х = {(0, 1), (0, 2), (0, 3), (1, 1), (1, 2), (1, 3)}.
Пусть  есть отношение на множестве Х. Введем понятия: обратное
отношение: -1 = {(х, у) (у, х)  }; дополнение отношения:  = {(х, у)
(х, у)}; тождественное отношение: I = {(х, x) х  X }. Композицией отношений 1 и 2 называется отношение 1О2 = {(х, z) существует у такое, что (х, у)  1 и (у, z) 2}. Для любых бинарных отношений выполняются следующие свойства: 1) (-1)-1 = ; 2) 2О1 = 1 -1О2 -1.
Пример.  = {x, y y = sin x }.  = {x, y y = x }.
   = {x, z существует такое y, что x, y   и  y, z } = {x, z
существует такое y, что y = sin x и z =
16
y } = {x, z  z =
sin x }.
2.2. Свойства отношений
Отношение  называется рефлексивным на множестве X, если для
любого x  X выполняется xx. Из определения следует, что всякий элемент (x, x)  .
Пример. 1. Пусть X – конечное множество, X = {1, 2, 3} и  = {1,
1, 1, 2, 2, 2, 3, 1, 3, 3}. Отношение  рефлексивно. Если X –
конечное множество, то главная диагональ матрицы рефлексивного от1 1 0 
ношения содержит только единицы. Для данного примера C   0 1 0 .
1 0 1 


2. Пусть X – множество действительных чисел и  – отношение равенства. Это отношение рефлексивно, т. к. каждое число равно самому себе.
Отношение  называется симметричным на множестве X, если для
любых x, y  X из xy следует y x. Очевидно, что  симметрично тогда и
только тогда, когда  = –1.
Пример. 1. Пусть X – конечное множество, X = {1, 2, 3} и  =
{1, 1, 1, 2, 1, 3, 2, 1, <2, 2>, 3, 1, 3, 3}. Отношение  симметрично. Если X – конечное множество, то матрица симметричного отношения симметрична относительно главной диагонали. Тогда
1 1 1 


C  1 1 0  .
1 0 1


2. Пусть X – множество действительных чисел и  – отношение равенства. Это отношение симметрично, т. к. если x равно y, то и y равно x.
Отношение  называется транзитивным на множестве X, если для
любых x, y, z  X из xy и yz следует xz. Одновременное выполнение
условий xy, yz, xz означает, что пара x, z принадлежит композиции
  . Поэтому для транзитивности  необходимо и достаточно, чтобы
множество    являлось подмножеством , т. е.     .
Пример. Пусть X – конечное множество, X = {1, 2, 3} и  = {1, 1,
1, 2, 2, 3, 1, 3}. Отношение  транзитивно, т. к. наряду с парами
x, y и y, z имеется пара x, z. Например, наряду с парами 1, 2 и
2, 3 имеется пара 1, 3.
Задания
Для аудиторных занятий
1. Перечислить элементы множеств А  В, В  А:
а) А = {1, 2}, В = {3, 4, 5};
б) А = {1}, В = {1, 2, 3}.
2. Пусть А, В С. Доказать, что А  В = (А  С)  (С  В).
17
3. Пусть А, В, С, D – непустые множества. Доказать следующие тождества:
а) (А  В)  (С  D) = (А  С)  б) (В  С)  А = (В  А)  (С  А).
(В  D);
4. Доказать, что для любых непустых множеств А, В, С из равенства
(А  В)  (В  А) = С  С следует, что А = В = С.
5. Перечислить все элементы бинарного отношения :
на множестве А = {1, 2, 3, 4};
а) ху  х < у;
на множестве А = {2, 5, 10}.
б) ху  х / у;
6. Для каждого из следующих бинарных отношений, определенных
на множестве R, найти область определения, область значений и нарисовать декартову диаграмму, то есть изобразить на плоскости множество
всех точек (х, у), таких, что ху:
а) ху  х  у;
д) ху  х2 = у;
б) ху  х = у;
е) ху  х2 = у2;
в) ху  х < у;
ж) ху  х + у = 1;
г) ху  у2 = х;
з) ху  у = sin x.
7. Для бинарного отношения  между элементами множеств А и В
найти область определения D и область значений R: А = {1, 2, 3, 4, 5},
В = {{1}, {1, 2}, 3, 4, 5}.
8. Найти -1, О, -1О, О-1 отношений:
а)  = {(x, y) х, у R и х + у ≤ 0};
г) ху  х2 + x = у2 + y, х, у  R;
б) ху  х2 = у, х, у  R;
д) ху  х2 = у2, х, у  R;
в) ху  х у > 1, х, у R;
е) ху  х + у = 1, х, у  R.
9. Задано бинарное отношение  = {<1, 1>, <3, 4>, <1, 4>, <4, 1>, <4,
3>}. Найти D(), R(),   ,  -1. Проверить, будет ли отношение  рефлексивным, симметричным, антисимметричным, транзитивным?
10. Привести пример отношения нетранзитивного, нерефлексивного
и несимметричного.
Для самостоятельной работы
1. Перечислить элементы множеств А  В, В  А:
а) А = {1}, В = {1, 2, 3};
б) А = , В ={ 1, 2, 3, 4}.
2. Пусть А = {и, л}. Перечислить элементы множеств А2, А3.
3. Определить упорядоченную пару a, b как множество {{a}, {a,
b}}. Доказать, что a, b = c, d тогда и только тогда, когда a = c и b = d.
4. Пусть на плоскости задана декартова система координат. Изобразить на плоскости следующие множества:
а) [a, b]  [c, d], где a, b, c, d  R и a < b, c < d;
б) [a, b]2.
18
5. Доказать, что подмножество С множества А  В является прямым
произведением некоторого подмножества А1 множества А и подмножества В1 множества В тогда и только тогда, когда для любых пар a, b , c,
d из С пары a, b , c, d также принадлежат С.
6. Перечислить все элементы бинарного отношения  и нарисовать
его график:
на множестве А = {1, 2, …, 10}.
а) ху  у = х + 1;
7. Для каждого из следующих бинарных отношений, определенных
на множестве R, найти область определения, область значений:
а) ху  х ≥ у;
в) ху  х3 = у;
б) ху  х = у;
г) ху  х2 = у2.
8. Какими свойствами обладают следующие бинарные отношения
(рефлексивность, симметричность, транзитивность), заданные на R?
а) ху  х > у;
в) ху  х + у = 1;
б) ху  у3 = х;
г) ху  у = sin x.
9. Привести пример отношения транзитивного, рефлексивного и
симметричного.
10. Для каждого из следующих бинарных отношений выяснить, какими свойствами (рефлексивность, симметричность, антисимметричность, транзитивность) оно обладает. Дать обоснование ответа.
Отношения определены на множестве R:
а) ху  х2 = у2;
в) ху  у = х;
б) ху  х2 + у2 = 1;
г) ху  х2 + x = у2 + y.
Отношения определены на множестве Z:
а) ху  х  у + 1;
б) ху  3/(х – у).
Отношения определены на множестве всех прямых плоскости:
а) ху  х параллельна у;
б) ху  х пересекается с у.
Литература
1. Куликов, Л. Я. Сборник задач по алгебре и теории чисел / Л. Я. Куликов, А. И.
Москаленко, А. А Фомин. – М.: Просвещение, 1993. – 288 с.
2. Иванов, Б. Н. Дискретная математика. Алгоритмы и программы: учеб. пособие
для вузов / Б. Н. Иванов. – М.: Лаборатория базовых знаний, 2002. – 288 с.
3. Новиков, Ф. А. Дискретная математика для программистов: учебник для вузов /
Ф. А. Новиков. – СПб.: Питер, 2005. – 304 с.
19
3. Практическое занятие № 3
Тема: «ОТНОШЕНИЯ ЭКВИВАЛЕНТНОСТИ И ОТНОШЕНИЯ ПОРЯДКА»
Цель занятия:
усвоение таких понятий, как отношение эквивалентности, классы эквивалентности, отношение порядка.
Пояснение к работе
Время выполнения практического задания – 2 часа.
Последовательность выполнения
1. Руководствуясь приведенным теоретическим материалом, ответить на следующие вопросы:
Какими свойствами обладает отношение строгого порядка?
Что называется классом эквивалентности?
Что называется разбиением множества?
2. Дать определение следующих понятий:
– отношение эквивалентности;
– отношение строгого порядка;
– отношение частичного порядка;
– отношение линейного порядка.
3. Привести пример разбиения множества.
4. Выполнить задания для аудиторных занятий.
5. Выполнить задания для самостоятельной работы.
3.1. Отношения эквивалентности. Отношения порядка
Отношение эквивалентности – бинарное отношение, являющееся
рефлексивным, симметричным и транзитивным.
Примеры отношений эквивалентности: 1) отношения равенства,
параллельности прямых; 2) отношение между элементами множества
всех многоугольников: "иметь одинаковое число сторон"; 3) отношение
принадлежности к одной студенческой группе на множестве студентов
института – отношение эквивалентности.
Классом эквивалентности, порожденным элементом х, называется
подмножество множества Х, состоящее из тех элементов уХ, для которых ху – класс эквивалентности, порожденный элементом х, обозначается через [х]:
[х] = {у‫ ׀‬уХ и ху}.
Примеры. 1. Отношение равенства на множестве Z порождает следующие классы эквивалентности: для любого элемента х  Z[х] = {х}, то
есть каждый класс эквивалентности состоит из одного элемента – числа х.
2. Множества подобных друг другу треугольников; в разных классах
– треугольники разной формы.
20
3. Для отношения принадлежности к одной студенческой группе
классом эквивалентности является множество студентов этой группы.
Разбиением множества Х называется совокупность попарно непересекающихся подмножеств Х, таких, что каждый элемент множества Х
принадлежит одному и только одному из этих подмножеств.
Примеры разбиений множества. 1. Х = {1, 2, 3, 4, 5}, тогда {{1, 2},
{3, 5}, {4}} – разбиение множества Х.
2. Пусть Х – множество студентов института. Тогда разбиением этого множества является, например, совокупность студенческих групп.
Отношения порядка – важный тип бинарных отношений. Отношение строгого порядка – бинарное отношение, являющееся антирефлексивным, антисимметричным и транзитивным. Примерами могут служить
отношения "больше", "меньше", "старше" и т. п. Для чисел обычное обозначение – знаки <, >.
Рефлексивное, антисимметричное и транзитивное отношение называется отношением частичного (нестрогого) порядка на множестве Х и
обозначается символом .
Примеры отношений частичного порядка. 1. Отношение х  у на
множестве R есть отношение частичного порядка.
2. Во множестве подмножеств некоторого универсального множества U отношение А  В есть отношение частичного порядка.
3. Схема организации подчинения в учреждении – отношение частичного порядка на множестве должностей.
Отношение частичного порядка на множестве Х, для которого любые два элемента сравнимы, то есть для любых х, уХ х  у или у  х,
называется отношением линейного порядка.
Примеры отношений линейного порядка. 1. Отношение х  у на
множестве R есть отношение линейного порядка.
2. Во множестве подмножеств некоторого универсального множества U отношение А  В не является отношением линейного порядка.
Задания
Для аудиторных занятий
1. Перечислить всевозможные отношения линейного порядка на
множестве {1, 2, 3, 4}.
2. Доказать, что пересечение отношений эквивалентности на множестве Х есть отношение эквивалентности на этом множестве.
3. Будет ли отношением эквивалентности на множестве действительных чисел отношение xy, задаваемое равенством x2 + y2 = 25?
4. Будет ли отношением эквивалентности на множестве действительных чисел отношение xy, задаваемое равенством x = 2y?
21
5. Доказать, что если  – частичный порядок, то -1 – также частичный порядок.
6. Доказать, что каждое из следующих отношений является отношением эквивалентности, и найти классы эквивалентности:
а) пусть А = {1, 2, 3}, на множестве Р(А) задано бинарное отношение
ху х= у;
б) на множестве N  N задано бинарное отношение a, b  c, d  a
+ d = b + c;
в) на множестве R: ab  a2 = b2;
г) на множестве R: ab  a - bZ.
7. На R задано бинарное отношение ab  a2 + a = b2 + b. Доказать,
что  – отношение эквивалентности. Сколько элементов может содержать класс эквивалентности? Существует ли класс эквивалентности, состоящий из одного элемента?
8. Доказать, что отношение a, b  c, d  a2 + b2 = c2 + d2 является
отношением эквивалентности на множестве R × R. Найти классы эквивалентности и изобразить их на координатной плоскости.
9. Показать, что пересечение отношений эквивалентности, определенных на некотором множестве А, является отношением эквивалентности.
Для самостоятельной работы
1. Доказать, что если  – отношение эквивалентности, то -1 – также отношение эквивалентности.
2. Доказать, что если  – отношение эквивалентности, то истинны
следующие утверждения ([x] – класс эквивалентности, порожденный
элементом х):
а) х [x];
б) хy  [x] = [y].
3. Доказать, что отношение делимости на множестве N является
отношением порядка. Является ли это отношение линейным порядком?
Является ли отношением порядка отношение делимости на множестве Z?
4. Доказать, что отношение хy  x / y  х < y на множестве N является линейным порядком.
5. Для каких множеств А множество {В(А), } является линейно
упорядоченным?
6. Пусть А – не пустое конечное множество. На B(А) рассмотрим
отношение XY  X Y. Является ли  отношением порядка?
7. На множестве всех отображений R в R рассмотреть отношение
fq  (x  R f(x) = 1, q(x) = 1). Является ли  отношением порядка?
8. На множестве всех отображений R в R рассмотреть отношение fq
 {x  R f(x) = 0}  {x  Rg(x) = 0}. Является ли  отношением порядка?
9. Доказать, что отношение a; b  c; d  a  c (a = c  b  d)
является линейным порядком на множестве Z  Z.
22
10. По аналогии с упражнением 9 определить линейный порядок на
множестве А  В, если А, 1  и В, 2 – линейно упорядоченные множества.
11. Перечислить всевозможные линейные порядки на множестве
{1, 2}; на множестве {1, 2, 3}. Высказать предположение о числе линейных порядков на множестве из n элементов.
12. Пусть F – множество всех непустых конечных подмножеств
множества N. Какие элементы упорядоченного множества F,   являются минимальными? Доказать, что F,   не содержит максимальных элементов.
13. Привести пример упорядоченного множества, имеющего ровно
один максимальный (минимальный) элемент, но не имеющего наибольшего (наименьшего) элемента.
14. Доказать:
а) упорядоченное множество содержит не более одного наибольшего
(наименьшего) элемента;
б) если упорядоченное множество содержит наибольший (наименьший) элемент, то он является единственным максимальным (минимальным) элементом этого множества.
Литература
1. Белоусов, А. И. Дискретная математика: учебник / А. И. Белоусов. – М.: МГТУ
им. Н. Э. Баумана, 2001. – 744 с.
2. Куликов, Л. Я. Сборник задач по алгебре и теории чисел / Л. Я. Куликов, А. И.
Москаленко, А. А Фомин. – М.: Просвещение, 1993. – 288 с.
3. Нефедов, В. Н. Курс дискретной математики: учеб. пособие / В. Н. Нефедов, В. А.
Осипова. – М.: Изд-во МАИ, 1992. – 264 с.
23
4. Практическое занятие № 4
Тема: «ФУНКЦИИ И ОТОБРАЖЕНИЯ»
Цель занятия:
усвоение таких понятий, как функция, отображение, область определения
и область значений функции, инъекция, сюръекция, биекция.
Пояснение к работе
Время выполнения практического задания – 2 часа.
Последовательность выполнения
1. Руководствуясь приведенным теоретическим материалом, ответить на следующие вопросы:
Как обозначается функция (отображение)?
Что является областью определения функции?
Что является областью значений функции?
Какая функция называется инъективной?
Какая функция называется сюръективной?
Какая функция называется биективной?
В чем заключается понятие однозначности или функциональности?
Чему равна композиция двух функций?
Какое из отношений является функцией:
{<1, 2>, <3, 4>, <4, 4>, <5, 6>}; {<1, 2>, <1, 4>, <4, 4>, <5, 6>}.
2. Дать определение функции.
3. Выполнить задания для аудиторных занятий.
4. Выполнить задания для самостоятельной работы.
4.1. Функции и отображения
Пусть f – отношение на А и В, такое, что (a, b)  f и (a, c)  f 
b = c. Такое свойство отношений называется однозначностью или функциональностью, а само отношение называется функцией из А в В и обозначается следующим образом: f: A  B, то есть осуществляется отображение множества А на множество В. Если f: A  B, то обычно используется префиксная форма записи: b = f(a) := (a, b)  f. Если b = f(a), то а
называют аргументом или прообразом элемента b при функции f, а b –
значением функции или образом элемента а при f. Итак, из всех отношений функции выделяются тем, что каждый элемент из области определения имеет единственный образ. Область определения функции: fA:= {a
Ab  B, b = f(a)}; область значений функции: fВ:= {b  Ba  A,
b = f(a)}.
Функция f называется: инъективной, если b = f(a1) и b = f(a2) 
а1 = а2; сюръективной, если  b В а А b = f(a); биективной, если она
инъективна и сюръективна.
24
Примеры:
1. {<1, 2>, <3, 4>, <4, 4>, <5, 6>} – функция, fА = {1, 3, 4, 5};
fВ = {2, 4, 6}; {<x, y>: x, y  R, y = x2} – функция, fА = fВ = (–, );
{<1, 2>, <1, 4>, <4, 4>, <5, 6>} – отношение, но не функция.
2. Даны три функции, отображающие множество действительных
чисел R во множество действительных чисел, fi : R  R. i = 1, 2, 3:
а) функция f1(х) = ех инъективна, но не сюръективна; б) функция f2(х)
= х3 – х сюръективна, но не инъективна; в) функция f3(х) = 2х + 1 биективна.
Композиция двух функций есть функция. При этом, если f: Х У, g :
Y  Z, то gOf : Х  Z.
Задания
Для аудиторных занятий
1. Привести примеры отображений:
а) R  R;
б) R  R+;
в) R+  R.
2. Найти f(A), где А = {(х, у) R  R у = 2 х + 3 }, для следующих
отображений:
а) f: (x, y)  (y, x);
б) f: (x, y)  (−y, −x);
в) f: (x, y)  (x, −y).
3. Для каждого из следующих отображений исследовать, является ли
оно инъективным, сюръективным:
а) f: R  R, х  x2 + 3х + 5;
б) f: R  R, х  x2 + ex;
в) f: R  R, х  x7 + х + 1.
4. Указать все сюръективные отображения множества А = {1, 2, 3} на
множество В ={а, b}. Существуют ли инъективные отображения А в В?
5. Пусть А и В – конечные множества, А = m, B = n.
a) сколько существует бинарных отношений между элементами
множеств А и В?
б) сколько существует отображений из А в В?
6. Пусть : х  х2; : х  х3 – отображения R  R. Найти    и
  .
7. Для каждого из следующих бинарных отношений исследовать, является ли оно всюду определенным и функциональным:
а) {(х, у)  R+  R у2 = х};
б) {(х, у) [ −1, 1]  R х = sin y};
в) {(х, у)  N  N x < у ≤ х + 1}.
25
8. Доказать, что каждое из следующих бинарных отношений является отображением R в R:
а) {(х, у)  R  R у = х2 − 1};
б) {(х, у)  R  R у = sin х + 1};
в) {(х, у)  R  R у = 2х}.
9. Для каждого из следующих бинарных отношений исследовать, является ли оно всюду определенным, функциональным; ответ обосновать.
1
а)  х, y  R  R y 
;
sin x  3
б)  х, y  R   R y 2  x ;

в)  х, y  R   R x  y  1 .
y 1
10. Пусть А и В – конечные множества, А = В = n.
а) сколько существует бинарных отношений между элементами
множеств А и В?
б) сколько существует отображений А в В?
Для самостоятельной работы
1. Привести примеры отображений:
а) R  [0, 1];
б) Z  N;
в) R  N.
2. Найти f(A), где А = {(х, у) R  R  у = 2х + 3}, для следующих
отображений:
а) f: (x, y)( −x, y);
б) f: (x, y)( у − 2, х + 2).
3. Для каждого из следующих отображений исследовать, является ли
оно инъективным, сюръективным:
а) f: R  R, х  2x5 − 1;
б) f: R  R, х  x2 + x ;
в) f: R  R, х  x2 + lnx.
4. Пусть А и В – конечные множества, А = m, B = n.
а) при каких m и n существует инъективное отображение А в В?
б) при каких m и n существует биекция А на В?
в) пусть существуют биекции А на А’ и В на В’. Доказать, что существует биекция А  В на А’  В’.
5. Для каждого из следующих бинарных отношений исследовать, является ли оно всюду определенным и функциональным:
а) {(х, у)  N  N x/у};
б) {(х, у)  N  N x = у2};
26
в) {(х, у)  Z  Z у = х}.
6. Доказать, что каждое из следующих бинарных отношений является отображением R в R:
а) {(х, у)  R  R у = х2 − x − 1};
б) {(х, у)  R  R у = log2х}.
1
в) {(х, у)  R  R у =
}.
sin x  3
7. Для каждого из следующих бинарных отношений исследовать, является ли оно всюду определенным, функциональным; ответ обосновать.
а) {х, у  N  N x  у  х + 1};
б) {х, у  N  N x/у};
в) {х, у  N  N x = у2}.
8. Указать все сюръективные отображения множества А = {1, 2, 3} на
множество B = {a, b}. Существуют ли инъективные отображения А в В?
9. Найти все отображения множества А = {1, 2} в себя, укажите, какие из них инъективные, сюръективные.
10. Пусть f – отображение конечного множества А в себя. Докажите,
что f инъективно тогда и только тогда, тогда f сюръективно.
Литература
1. Куликов, Л. Я. Сборник задач по алгебре и теории чисел / Л. Я. Куликов, А. И.
Москаленко, А. А Фомин. – М.: Просвещение, 1993. – 288 с.
2. Новиков, Ф. А. Дискретная математика для программистов: учебник для вузов /
Ф. А. Новиков. – СПб.: Питер, 2001. – 304 с.
27
5. Практическое занятие № 5
Тема: «ЭЛЕМЕНТЫ ГРАФА. СПОСОБЫ ЗАДАНИЯ ГРАФА. ПОДГРАФЫ.
ИЗОМОРФИЗМ»
Цель занятия:
усвоение таких понятий, как граф, вершины и ребра графа, ориентированный и неориентированный граф, мультиграф, псевдограф, смежность,
инцидентность, изоморфизм, матрицы смежности и инцидентности, двудольный граф, полный граф, подграф, степень вершины.
Пояснение к работе
Время выполнения практического задания – 2 часа.
Последовательность выполнения
1. Руководствуясь приведенным теоретическим материалом, ответить на следующие вопросы:
Какие вершины графа называются смежными?
В чем заключается понятие инцидентности?
Как задается матрица инциденций для орграфа?
Какой граф называется псевдографом?
Какой граф называется двудольным?
2. Дать определение следующих понятий:
– граф;
– изоморфизм;
– полный граф;
– подграф;
– ориентированный граф.
3. Выполнить задания для аудиторных занятий.
4. Выполнить задания для самостоятельной работы.
5.1. Элементы графа
Граф G – это совокупность двух множеств: непустого множества
вершин V = {v1, v2, ..., vn} и множества ребер (дуг) Е = {е1, е2, ..., еn}. Таким образом, G = (V, Е), V  , Е  V × V.
Если (v1, v2) – упорядоченная пара (т. е. дуга), то v1 называется началом, a v2 – концом дуги е. Если {v1, v2} – неупорядоченная пара, то ребро
е называется неориентированным. Всякому графу G можно поставить в
соответствие соотнесенный неориентированный граф G с теми же множествами V и Е и инцидентностями, но все пары неупорядоченные. Такой
граф называется ассоциированным. Вершина, не инцидентная ни одному
ребру, называется изолированной. Вершина, инцидентная ровно одному
ребру, и само это ребро называются концевыми или висячими. Ребро с
совпадающими концами называется петлей. Две вершины, инцидентные
одному и тому же ребру, называются смежными. Два ребра, инцидентные
одной и той же вершине, называются смежными. Ребра, которым постав28
лена в соответствие одна и та же пара вершин, называются кратными или
параллельными.
Граф, содержащий кратные ребра, называется мультиграфом. Неориентированное ребро графа эквивалентно двум противоположно
направленным дугам, соединяющим те же самые вершины. Граф с кратными ребрами и петлями называется псевдографом.
Примеры:
e6
v2
v2
e1
v1
v6
e2
e2
e3
v1
v4
e3
e5
e4
v5
e4
e1
v3
e5
v3
v4
v7
а) ориентированный граф
б) неориентированный граф
Рис. 3
На рис. 3 изображены: ориентированный псевдограф, имеющий 7
вершин и 6 дуг, и неориентированный мультиграф, имеющий 4 вершины
и 5 ребер. Проиллюстрируем некоторые введенные понятия.
Для орграфа (рис. 3а): v1, v2, v3, v4, v5, v6 , v7 – вершины (узлы); v5 –
изолированная вершина; v1, v4 – концевые (висячие) вершины; v2 и v3, v2 и
v1 – пары соседних вершин; е1, е2, е3, е4, е5, е6 – ориентированные ребра
(дуги); е2 и е3 – параллельные (кратные) дуги; е2 и е1 – смежные дуги; е6 –
петля для орграфа.
Для графа (рис. 3б): v1, v2, v3, v4 – вершины; v4 – концевая (висячая)
вершина; v2 и v3, v2 и v1 – пары соседних вершин; е1, е2, е3, е4, е5 – ребра
(дуги); е4 и е5 – параллельные (кратные) ребра; е2 и е3 – смежные ребра;
петель нет.
5.2. Способы задания графов
1. Перечисление (список) ребер графа с указанием их концов и добавлением списка изолированных вершин.
2. Матрица смежности A = (aij) определяется одинаково для ориентированного и неориентированного графов. Это квадратная матрица порядка n, где n – число вершин, у которой
aij = 1, если (vi , v j )  E ,

0, если (vi , e j )  E.
Матрицей инцидентности B = (bij) ориентированного графа называется матрица (n  m), где n – число вершин, m – число ребер, у которой
29
1, если вершина vi является концом дуги e j ;
bij = 
 1, если вершина vi является началом дуги e j ;

0, если вершина vi не инцидентна дуге e j .
Для неориентированного графа матрица инцидентности B задается
следующим образом:
1, если вершина vi инцидентна ребру e j ;
bij = 
0, если вершина vi не инцидентна ребру e j .
Петле соответствует элемент, равный 2.
Пример.
Матрицы смежности и инцидентности графа, изображенного на рис.
3а, имеют вид (рис. 4):
0

1
0

A  0
0

0

0
0 0 0 0 0 0

0 2 0 0 0 0
0 0 0 0 0 0

0 0 0 0 0 1
0 0 0 0 0 0 
0 0 0 0 1 1

0 0 0 0 0 0
0 0 0 0
1

1 1 1 0 0
0 1 1
0 0

В   0 0 0 1 0
0 0 0 0 0

 0 0 0 0 1

0 0 0 1 1
Рис. 4
0

0
0

0
0 
2

0 .
3. Для наглядности граф представляют в виде геометрического объекта: вершинам соответствуют различные выделенные точки в пространстве (на плоскости), ребрам – отрезки кривых, связывающие вершины.
Рассмотрим некоторые разновидности графов.
Неориентированный граф G = (V, E) – двудольный, если множество его вершин V можно разбить на два такие подмножества V 1 и V 2,
что каждое ребро имеет один конец в V 1, а другой в V2. Если же каждая
из вершин класса V1 связана ребром с каждой вершиной класса V2, то
граф называется полным двудольным и обозначается Кm,n, где m =V1, n
=V2. На рис. 5а изображен двудольный граф, на рис. 5б и 5в – полные
двудольные графы К3,2 и К3,3 .
Пример.
а
б
Рис. 5
в
Полным графом называется граф без кратных ребер (и иногда без
петель), в котором любые две вершины соединены ребром (ориентированным или неориентированным). Полный неориентированный граф с n
вершинами обозначается Кn. Очевидно, граф Кn содержит n(n - 1)/2 ребер.
30
На рис. 6а, 6б и 6в изображены графы К3, К4, К5, соответственно. На
рис. 6г также изображен полный граф.
а
б
Рис. 6
в
г
5.3. Подграфы
Граф G = (V, E) называется подграфом графа G = (V, Е), обозначение: G  G, если V  V, Е  Е и для множеств V' и Е' сохраняются инциденции графа G. При этом, очевидно, каждое ребро из Е' входит в подграф G вместе со своими концами. Подграф называется собственным,
если он отличен от самого графа.
Пример. Графы на рис. 7б и 7в являются подграфами графа на рис. 7а.
а
б
в
Рис. 7
5.4. Изоморфизм графов
Два графа G1 = (V1, E1) и G2 = (V2, E2) изоморфны, если между их
вершинами существует взаимно однозначное соответствие : V1  V2
такое, что для любой пары вершин u, v из V1 ребро (u, v)  Е1  ребро
((u), (v))  Е2.
Пример. Графы, изображенные на рис. 8, являются изоморфными.
Рис. 8
Изоморфные графы отличаются только нумерацией вершин. Матрицы смежности двух изоморфных графов могут быть получены одна из
другой перестановкой строк и столбцов. Чтобы узнать, являются ли два
графа изоморфными, нужно произвести все возможные перестановки
строк и столбцов матрицы смежности одного из графов. Если после какой-нибудь перестановки получится матрица смежности второго графа,
31
то эти графы изоморфны. Чтобы убедиться, что графы неизоморфны,
надо выполнить все n! возможных перестановок строк и столбцов.
5.5. Степени вершин графа
Степенью вершины v графа G называется число (v) ребер графа G,
инцидентных вершине v. Вершина графа, имеющая степень 0, называется
изолированной, а степень 1 – висячей.
В случае неориентированного псевдографа считается, что вклад
каждой петли, инцидентной некоторой вершине v, в (v) равен 2 (тогда
как вклад любого другого ребра, инцидентного вершине v, равен 1).
Полустепенью исхода (захода) вершины v орграфа D называется
число +(v) (-(v)) дуг орграфа D, исходящих из вершины v (входящих в
вершину v).
В случае ориентированного псевдографа вклад каждой петли, инцидентной некоторой вершине v, в (v) равен 1, как в +(v), так и в -(v).
Пример.
В графе G (рис. 3б) степень вершины v1 равна четырем, т. е. (v1) = 4;
вершина v4 – висячая, так как (v4) = 1. В ориентированном псевдографе (рис.
3а) степень вершины v6 равна трем, т. е. (v6) = +(v6) + (-(v6) = 2 + 1 = 3;
вершина v1 – висячая, так как (v1) = 1, вершина v5 – изолированная, так
как (v5) = 0.
Задания
Для аудиторных занятий
1. Даны реализации графов (рис. 9). Какие это графы? Описать их
основные характеристики. Привести примеры элементов графов.
а)
б)
в)
Рис. 9
2. Записать матрицы смежности и инцидентности для неориентированного графа (рис. 9а).
3. Записать матрицы смежности и инцидентности для ориентированного графа (рис. 9б).
4. Изобразить ассоциированный граф для заданного графа (рис. 9б).
5. Изобразить все попарно неизоморфные 4-вершинные графы без
петель и кратных ребер. Записать для них матрицы смежности и инцидентности.
32
6. Построить все попарно неизоморфные 5-вершинные графы, не
имеющие петель, кратных ребер и изолированных вершин.
7. Какое из двух утверждений верно: а) ориентированный граф является частным случаем неориентированного графа; б) неориентированный
граф является частным случаем ориентированного графа.
8. Перечислить все возможные способы задания графов.
9. Всегда ли матрица смежности симметрична относительно главной
диагонали?
10. Как по матрице смежности определить число ребер неориентированного графа?
Для самостоятельной работы
1. Как по матрице инцидентности, не рисуя граф, определить его
матрицу смежности?
0 1 1 


1 0 0 
2. Может ли матрица  0 1 0  быть матрицей смежности неориен-
тированного графа?
3. Какие из следующих утверждений являются правильными: а) если
матрица смежности несимметричная, то граф ориентированный; б) если
граф неориентированный, то матрица смежности симметричная; в) если
диагональные элементы матрицы смежности – нули, то граф неориентированный?
4. Записать матрицы смежности и инцидентности для ориентированного графа (рис. 9в).
5. Изобразить все попарно неизоморфные ориентированные псевдографы, содержащие: а) 2 вершины и 2 дуги; б) 3 вершины и 4 дуги; в) 4
вершины и 3 дуги.
6. Изобразить ассоциированный граф для заданного графа (рис. 9в).
7. Чему равны степени вершин для ориентированного и неориентированного графов?
8. Определить степени вершин орграфа (рис. 3а). Есть ли в заданном
графе изолированные и висячие вершины?
9. Определить степени вершин в заданных графах (рис. 9).
10. Даны реализации графов (рис. 9). Какие это графы? Привести
примеры смежных вершин и смежных ребер.
Литература
1. Новиков, Ф. А. Дискретная математика для программистов: учебник для вузов /
Ф. А. Новиков. – СПб.: Питер, 2001. – 304 с.
2. Нефедов, В. Н. Курс дискретной математики: учеб. пособие / В. Н. Нефедов,
В. А. Осипова. – М.: Изд-во МАИ, 1992. – 264 с.
3. Акимов, О. Е. Дискретная математика. Логика, группы, графы. – 2-е изд., доп. /
О. Е. Акимов. – М.: Лаборатория базовых знаний, 2001. – 367 с.
33
6. Практическое занятие № 6
Тема: «ПУТЬ В ГРАФЕ. ПОИСК ПУТЕЙ (МАРШРУТОВ)»
Цель занятия:
усвоение таких понятий, как маршрут, цепь и цикл графа, образ, прообраз
вершин графа, минимальный путь в графе, эйлеровы графы.
Пояснение к работе
Время выполнения практического задания – 2 часа.
Последовательность выполнения
1. Руководствуясь приведенным теоретическим материалом, ответить на следующие вопросы:
В чем состоит алгоритм поиска путей с минимальным числом дуг?
Какой цикл называется эйлеровым?
Каков критерий существования эйлерова цикла в графе?
Каков критерий существования эйлеровой цепи в графе?
2. Дать определение следующих понятий:
– маршрут в графе (привести пример);
– цепь и простая цепь в графе;
– цикл и простой цикл в графе;
– эйлеровой цепь;
– матрица смежности графа;
– степень вершины графа.
3. Выполнить задания для аудиторных занятий.
4. Выполнить задания для самостоятельной работы.
6.1. Маршруты, цепи, циклы
Маршрутом в графе G = (V, E) (путем в графе D = (V, E)) называется
последовательность вершин и рёбер (дуг) вида v0, e1, v1, e2, ..., vn-1, en, vn,
где vi  V, i  [0, n], ei  E, (vi-1, ei), (vi, ei)  I, i  [1, n]. Вершины v0, vn
называются связанными данным маршрутом (или просто связанными).
Вершину v0 называют началом, а vn – концом маршрута. Если v0 = vn, то
маршрут называют замкнутым. Число n называется длиной маршрута.
Маршрут, в котором все рёбра попарно различны, называется цепью.
Замкнутый маршрут, являющийся цепью, называется циклом (контуром).
Цепь, в которой все вершины попарно различны, называется простой цепью. Цикл, в котором все вершины, кроме первой и последней, попарно
различны, называется простым циклом.
Примеры: 1. Последовательность v1, e1, v2, e3, v4, e4, v3 – маршрут длины 3, соединяющий вершины v1, v3 в графе G (рис. 11); это простая цепь,
так как все ребра и вершины попарно различны.
2. v2, e3, v2 – простой контур длины 1 в ориентированном псевдографе
D (рис. 10).
34
3. v1, e2, v2, e4, v3 – путь из v1 в v3 длины 2 в ориентированном псевдографе D (рис. 10); это простая цепь, так как все дуги и вершины попарно
различны.
e1
v1
v2
e2
e3
e4
v3
v1
Рис. 10
v2
e1
e2
v3
e4
e3
v4
Рис. 11
6.2. Поиск путей (маршрутов) с минимальным числом дуг
При решении некоторых прикладных задач нередко возникает необходимость найти минимальный маршрут, соединяющий заданные вершины в графе. Приведем алгоритм решения этой задачи. Путь в орграфе
D из вершины v в вершину w (v  w) называется минимальным, если он
имеет минимальную длину среди всех путей орграфа D из вершины v в
вершину w. Аналогично определяется минимальный маршрут в графе G.
Алгоритм нахождения минимального маршрута состоит из следующих
шагов:
Шаг 1. Помечаем вершину v индексом 0. Затем помечаем вершины,
принадлежащие образу вершины v, индексом 1. Множество вершин с индексом 1 обозначаем FW1(v). Полагаем k = 1.
Шаг 2. Если FWk(v) =  или выполняется k = n – 1, w  FWk(v), то
вершина w не достижима из v и работа алгоритма на этом заканчивается.
В противном случае переходим к шагу 3.
Шаг 3. Если w  FWk(v), то переходим к шагу 4. В противном случае
существует путь из v в w длины k, и этот путь является минимальным.
Последовательность вершин
v w1w2 …wk-1w, где wk-1  FWk-1(v)  D-1(w); wk-2  FWk-2(v)  D-1(wл-1);
… w1  FW1(v)  D-1(w2) и есть искомый минимальный путь из v в w. На
этом работа алгоритма заканчивается.
Шаг 4. Помечаем индексом k + 1 все непомеченные вершины, которые принадлежат образу множества вершин с индексом k. Множество
вершин с индексом k + 1 обозначаем FWk+1(v). Присваиваем k := k + 1 и
переходим к шагу 2.
Пример. Используя предложенный алгоритм, определим минимальный путь из v1 в v6 в орграфе D, заданном матрицей смежности, представленной в табл. 1.
35
Таблица 1
Действуя согласно алгоритму, последовательно определяем FW1(v1) = v4, v5;
v2
1
0
0
1
1
1
FW2(v1) = D(FW1(v1))\v1, v4,
v3
1
1
0
1
1
1
v5 = v2, v3;
v4
0
1
1
0
1
0
FW3(v1) = D(FW2(v1))\v1, v2,
v5
1
1
1
1
0
0
v3, v4, v5  = v6. Таким образом, v6 FW3(v1), а значит
v6
1
1
1
1
1
0
(см. шаг 3) существует путь
из v1 в v6 длины 3 и этот путь является минимальным. Найдем теперь минимальный путь из v1 в v6. Определим множество
FW2(v1)  D-1(v6) = v2, v3  v2, v3 = v2, v3.
Выберем любую вершину из найденного множества, например вершину v3. Определим далее множество FW1(v1)  D-1(v3) =  v4, v5  v4, v5,
v6 = v4, v5. Выберем любую вершину из найденного множества, например, вершину v5. Тогда v1 v5 v3 v6 – искомый минимальный путь из v1 в v6
длины 3 в орграфе D.
v1
v1
v2
v3
v4
v5
v6
0
0
0
1
1
0
6.3. Эйлеровы графы
Пусть G – псевдограф. Цепь (цикл) в G называется эйлеровой, если
она (он) проходит по одному разу через каждое ребро псевдографа G.
Задача состоит в следующем: найти эйлеров цикл в
С
мультиграфе G (рис. 12). Прежде чем решать задачу о выделении эйлеровой цепи или эйлерова цикла в псевдографе, надо выяснить, существуют ли
D
А
они. Простейшее необходимое условие их существования, очевидно, заключается в связности G.
Ответ на этот вопрос дают приводимые ниже теоВ
ремы. Эйлеровым называется цикл, проходящий
Рис. 12
по каждому ребру графа ровно один раз. Граф,
имеющий эйлеров цикл, тоже будем называть эйлеровым. В любом эйлеровом
графе степени всех вершин чётные.
Пусть по некоторой вершине v цикл проходит k раз. Но так как перед
этой вершиной и после неё цикл должен проходить по инцидентным ей
рёбрам, то количество рёбер, инцидентных данной вершине, по которым
проходит цикл – 2 k. Так как цикл эйлеров – рёбер, по которым цикл не
проходит, нет, значит 2 k – степень вершины v.
Если в связном графе степени всех вершин чётные, то в графе существует эйлеров цикл. В ходе доказательства мы дадим алгоритм построе36
ния такого цикла. Начнём с произвольной вершины v и будем строить из
неё цепь, пока есть возможность её продолжить. Пусть в какой-то момент
построения мы находимся в вершине u (не совпадающей с v). Тогда цепь,
которую мы построили, проходит по нечётному числу рёбер, инцидентных данной вершине. Степень вершины u чётная, следовательно, есть хотя бы одно ребро, инцидентное вершине u, по которому цепь не прошла –
значит её можно продолжить. Следовательно, цепь может закончится
только в вершине v. Получим цикл.
В задачах часто возникает необходимость нахождения цепи, проходящей по каждому ребру ровно один раз (снимается требование замкнутости). Такие цепи будем называть эйлеровыми цепями.
Задания
Для аудиторных занятий
1. Задан граф G (рис. 13а). Найти путь с минимальным числом ребер из вершины v1 в вершину v6 графа G.
v1
v8
v2
v2
v1
v3
v4
v9
v5
v4
б
v5
v2
v5
v6
а
v6
v1
v3
v4
v9
v7
v3
v8
а
б
в
v7
v6
v7
в
Рис. 13
2. Для графа G (рис. 13б) записать матрицу смежности и найти путь
с минимальным числом ребер из вершины v2 в вершину v9.
3. Для орграфа D (рис. 13в) записать матрицу смежности и найти
путь с минимальным числом ребер из вершины v1 в вершину v7.
4. Определить, содержит ли граф на рис. 13а эйлеров цикл или эйлерову цепь.
5. Может ли вершина, входящая в цикл графа, иметь степень, меньшую двух?
6. Как называется путь, у которого начало первой дуги совпадает с
концом последней?
7. Как называется маршрут, у которого первая вершина совпадает с
последней?
8. Показать, что в любом графе количество вершин нечетной степени
четно.
37
9. Показать, что из всякого замкнутого маршрута нечетной длины
можно выделить простую цепь.
10. Показать, что ребро, входящее в цикл графа, входит в некоторый
его простой цикл.
Для самостоятельной работы
1. Задан граф G (рис. 13а). Найти путь с минимальным числом ребер
из вершины v1 в вершину v7 графа G.
2. Для графа G (рис. 13б) записать матрицу смежности и найти путь
с минимальным числом ребер из вершины v1 в вершину v8.
3. Для графа G (рис. 13б) записать матрицу инцидентности.
4. Для орграфа D (рис. 13в) записать матрицу смежности и найти
путь с минимальным числом ребер из вершины v1 в вершину v6.
5. Показать, что любая вершина, входящая в цикл, не является висячей.
6. Доказать, что если в орграфе отсутствуют вершины с нулевой полустепенью исхода (захода), то в орграфе имеется простой контур.
7. Доказать, что удаление из орграфа вершины v с +(v) ≤ 1 (-(v) ≤ 1)
приводит к орграфу, контуры которого совпадают с контурами исходного
орграфа.
8. Привести определение простой цепи:
а) цепь, в которой вершины и ребра повторяются;
б) чередование вершин и ребер;
в) цепь, в которой все вершины попарно различны.
9. В чем заключается понятие смежности?
а) сежными являются вершины, инцидентные одному ребру;
б) смежными являются два ребра, не имеющие общих вершин;
в) смежными являются вершины, соединенные некоторым маршрутом.
10. Задан псевдограф G. Цепь в G называется эйлеровой, если…
а) она проходит по одному разу через каждую точку псевдографа;
б) она проходит по одному разу через каждое ребро псевдографа;
в) она проходит по одному разу через вершины и ребра.
Литература
1. Новиков, Ф. А. Дискретная математика для программистов: учебник для вузов /
Ф. А. Новиков. – СПб.: Питер, 2001. – 304 с.
2. Акимов, О. Е. Дискретная математика. Логика, группы, графы. – 2-е изд., доп. /
О. Е. Акимов. – М.: Лаборатория базовых знаний, 2001. – 367 с.
38
7. Практическое занятие № 7
Тема: «СВЯЗНОСТЬ, КОМПОНЕНТЫ СВЯЗНОСТИ»
Цель занятия:
усвоение таких понятий, как связность, компоненты связности, односторонняя связность, сильная связность, матрица связности.
Пояснение к работе
Время выполнения практического задания – 2 часа.
Последовательность выполнения
1. Руководствуясь приведенным теоретическим материалом, ответить на следующие вопросы:
Когда одна вершина достижима из другой?
Какой граф называется связным?
Какой граф называется сильно связным?
Какой граф называется односторонне связным?
Какой псевдограф называется ассоциированным с ориентированным псевдографом?
Какой граф называется слабо связным?
Что называется компонентой связности графа G (орграфа D)?
Что называется компонентой сильной связности графа G (орграфа D)?
Что понимают под операцией удаления вершины из графа (орграфа)?
Какая вершина графа называется разделяющей или точкой сочленения?
2. Выполнить задания для аудиторных занятий.
3. Выполнить задания для самостоятельной работы.
7.1. Связность, компоненты связности
Говорят, что вершина w орграфа D (графа G) достижима из вершины
v, если существует путь из v в w (маршрут, соединяющий v, w).
Граф (орграф) называется связным (сильно связным), если для любых двух его вершин v, w существует маршрут (путь), соединяющий v, w
(из v в w). Орграф называется односторонне связным, если для любых
двух его вершин, по крайней мере одна достижима из другой.
Псевдографом ассоциированным с ориентированным псевдографом
D = (V, E), называется псевдограф G = (V, E0), в котором E0 получается из Е
заменой всех упорядоченных пар (v, w) на неупорядоченные {v, w} (рис. 14).
39
а
б
Рис. 14: а – ориентированный псевдограф, б – ассоциированный с ним псевдограф
Орграф называется слабо связным, если связным является ассоциированный с ним псевдограф. Если граф (орграф) не является связным
(слабо связным), то он называется несвязным.
Компонентой связности (сильной связности) графа G (орграфа D)
называется его связный (сильно связный) подграф, не являющийся собственным подграфом никакого другого связного (сильно связного) подграфа графа G (орграфа D).
Примеры: 1. У графа, изображенного на рис. 15, три компоненты
связности.
2. У графа, изображенного на рис. 16, три компоненты сильной связности, показанные на рис. 17а, 17б.
v2
v2
v3
v3
v1
v5
Рис. 15
v4
v1
v5
а
Рис. 16
v4
б
Рис. 17
3. На рис. 18 показаны диаграммы сильно, односторонне и слабо
связных графов.
Рис. 18
Утверждение 1. Пусть G = (V, E) – псевдограф с p компонентами
связности: G1 = (V1, E1), … , Gp = (Vp, Ep), тогда
1) V = V1 …  Vp, E = E1 …  Ep, то есть G = G1  …  Gp;
2) Vi  Vj = , Ei  Ej =  при i  j.
Утверждение 2. Пусть D = (V, E) – ориентированный псевдограф с p
компонентами сильной связности: D1 = (V1, E1), … , Dp = (Vp, Ep), тогда
1) V = V1 …  Vp, E = E1 …  Ep, то есть D = D1 …  Dp;
2) Vi Vj = , Ei  Ej =  при i  j.
Утверждение 3. Пусть  – отношение достижимости на множестве V
вершин псевдографа G, то есть vw тогда и только тогда, когда либо v =
w, либо существует маршрут, соединяющий v, w, тогда:
40
1)  – эквивалентность на V;
2) vw тогда и только тогда, когда вершины v, w принадлежат одной компоненте связности псевдографа G;
3) для любого класса эквивалентности Vi  V/ псевдограф Gi, порожденный множеством Vi, является компонентой связности псевдографа
G;
4) для любой компоненты связности псевдографа Gi = (Vi, Еi) псевдографа G выполняется Vi  V/.
Утверждение 4. Пусть 1 – отношение достижимости на множестве V
вершин ориентированного псевдографа D, то есть v1w тогда и только тогда, когда вершина w достижима из вершины v. Пусть 2 – отношение
двусторонней достижимости на множестве V, то есть 2 = 1 ∩ 1-1, тогда:
1) 1 рефлексивно, транзитивно;
2) 2 – эквивалентность на V;
3) v2w только тогда, когда вершины v, w принадлежат одной компоненте сильной связности ориентированного псевдографа D;
4) для любого класса эквивалентности Vi  V/2 ориентированный
псевдограф Di, порожденный множеством Vi, является компонентой сильной связности ориентированного псевдографа D;
5) для любой компоненты сильной связности Di = (Vi, Еi) ориентированного псевдографа D выполняется Vi  V/2.
Под операцией удаления вершины из графа (орграфа) понимают
операцию, заключающуюся в удалении некоторой вершины вместе с инцидентными ей ребрами (дугами).
Вершина графа, удаление которой увеличивает число компонент
связности, называется разделяющей или точкой сочленения.
7.2. Матрица связности
Пусть D = (V, E) – орграф, где V = { v1, …, vn}. Матрицей достижимости орграфа D называется квадратная матрица Т(D) = [ti,j] порядка n, у
которой ti,j =1, если вершина vj достижима из vi и ti,j = 0 – в противном
случае. Матрицей сильной связности орграфа D называется квадратная
матрица S(D) = [si,j] порядка n, у которой si,j =1, если вершина vi достижима из vj и одновременно вершина vj достижима из vi и si,j = 0 – в противном случае, то есть si,j = 1 тогда и только тогда, когда вершины vi, vj
принадлежат одной компоненте сильной связности орграфа D.
Пусть G = (V, E) – орграф, где V = { v1, …, vn}. Матрицей связности
графа G называется квадратная матрица S(D) = [si,j] порядка n, у которой
si,j = 1, если i = j или существует маршрут, соединяющий вершину vi, vj и
si,j = 0 – в противном случае (то есть si,j = 1 тогда и только тогда, когда
вершины vi , vj принадлежат одной компоненте связности орграфа G).
41
Задания
Для аудиторных занятий
1. Для графов, изображенных на рис. 4, записать последовательности, состоящие из вершин и ребер, являющиеся маршрутами длины 5, 4,
3 и 2 соответственно.
2. Для графов, изображенных на рис. 9а, 9б, 9в, записать последовательности, состоящие из вершин и ребер, являющиеся цепью, простой
цепью.
3. Для графов, изображенных на рис. 9а, 9б, 9в, записать последовательности, состоящие из вершин и ребер, являющиеся циклом, контуром.
4. Для орграфа D, представленного на рис. 19, записать матрицу достижимости и матрицу сильной связности.
v4
v1
v3
v2
v2
v1
v3
v5
v6
Рис. 19
Рис. 20
5. Для графа G (рис. 20) записать матрицу связности.
6. Можно ли утверждать, что сильно связный граф всегда содержит
контур?
7. Сколько компонент связности содержит граф G (рис. 20)?
8. Какие вершины графа (рис. 21) являются точками сочленения?
v6
v5
v4
v1
v3
v7
v8
v2
Рис. 21
9. Задано отношение достижимости  на множестве V. Какими свойствами обладает отношение  (рефлексивность, симметричность, транзитивность)?
10. Доказать, что в связном графе, содержащем по крайней мере две
вершины, найдется вершина, не являющаяся точкой сочленения.
42
Для самостоятельной работы
1. Сколько компонент связности содержит граф D (рис. 19)?
2. Какие вершины графа (рис. 20) являются точками сочленения?
3. Сколько компонент связности содержит граф G (рис. 21)?
4. Для графа G, изображенного на рис. 21, записать матрицу связности.
5. Какие из следующих графов являются полно связными (рис. 22)?
а)
б)
Рис. 22
в)
6. Сколько компонент связности у заданного графа?
7. Определить матрицы достижимости для орграфов с матрицами
смежности.
0 1 1 1 
0 1 1 0 
0 0 0 0 
0 0 0 0 




0 1 0 1 
0 1 0 1 




0 1 1 0 
1 1 0 0 
8. Определить матрицы сильной связности для орграфов с матрицами смежности.
0 1 0 1 
0 0 1 0 
0 0 0 0 
0 0 0 1 




1 1 0 1 
0 1 0 0 




0 1 0 0 
1 0 0 0 
9. Сколько компонент связности у орграфов из заданий 7 и 8?
10. Какими свойствами обладают графы из заданий 7 и 8 (рефлексивность, симметричность, транзитивность)?
Литература
1. Новиков, Ф. А. Дискретная математика для программистов: учебник для вузов /
Ф. А. Новиков. – СПб.: Питер, 2001. – 304 с.
43
2. Акимов, О. Е. Дискретная математика. Логика, группы, графы – 2-е изд., доп. /
О. Е. Акимов. – М.: Лаборатория базовых знаний, 2001. – 367 с.
3. Гаврилов, Г. П. Задачи и упражнения по курсу дискретной математики: учеб. пособие / Г. П. Гаврилов, А. А. Сапоженко. – М.: Наука, 1992. – 408 с.
8. Практическое занятие № 8
Тема: «ПЛАНАРНЫЕ ГРАФЫ»
Цель занятия:
усвоение таких понятий, как планарный граф, плоский граф, грани графа,
эйлерова характеристика, гамма-алгоритм укладки графа.
Пояснение к работе
Время выполнения практического задания – 2 часа.
Последовательность выполнения
1. Руководствуясь приведенным теоретическим материалом, ответить на следующие вопросы:
Какое соотношение называется эйлеровой характеристикой поверхности?
Какой граф является планарным?
Какие вершины называются контактными?
Что такое сегмент плоского графа?
В чем заключается гамма-алгоритм укладки графа?
2. Дать определение следующих понятий:
– плоский граф;
– грань в плоском графе:
– внешняя грань в плоском графе.
3. Записать первое и второе следствие из формулы Эйлера.
4. Выполнить задания для аудиторных занятий.
5. Выполнить задания для самостоятельной работы.
8.1. Планарные графы
Помимо использования в дискретной математике, графы находят
применение и в непрерывной математике, особенно в топологии. При
этом графы представляют геометрические объекты на некоторой поверхности (часто на плоскости или на поверхности сферы).
Существует правило изображения графов на поверхности: рёбра
графа должны пересекаться только своими концами, то есть в точках,
представляющих вершины графа. Для графа, который может быть изображён подобным образом на плоскости, существует название: плоский
граф.
44
Рассмотрим задачу о возможности нарисовать тот или иной граф без
самопересечений, то есть нарисовать граф так, чтобы его ребра не имели
общих внутренних точек. Поставленную задачу принято называть задачей о плоской укладке графа. Область применения результата, который
мы получим, очень обширна. Одна из них – это изготовление электронных схем. Электрические цепи печатным способом наносятся на плату из
изолирующего материала. Так как наносимые цепи не изолированы, то
они не должны пересекаться. Отсюда вытекает вопрос, как расположить
контакты на схеме, чтобы можно было без пересечений нанести цепи на
плату. А если так сделать нельзя, то каким минимальным числом плат
(слоев графа) можно обойтись?
Плоский граф – это граф, нарисованный таким образом, что его ребра не пересекаются. Говорят, что граф допускает плоскую укладку, если
его можно нарисовать как плоский. Также плоские графы называют планарными (рис. 23).
Существуют и непланарные графы. На рис. 24 показаны два таких
графа: полный пятивершинник и полный двудольный граф. Для них есть
специальные обозначения: K5 и K3,3, соответственно.
Рис. 23
Рис. 24
В планарном графе можно говорить не только о вершинах и ребрах,
но и о гранях.
Грань – это часть плоскости, окруженная простым циклом и не содержащая внутри себя других элементов графа. Внешняя грань – это вся
плоскость, окружающая плоский граф.
8.2. Эйлерова характеристика
Для графов, уложенных на некоторой поверхности, справедливо
определенное соотношение между числом вершин, ребер и граней. Это
соотношение называется эйлеровой характеристикой поверхности.
Теорема (формула Эйлера). В связном планарном графе справедливо
следующее соотношение: p – q + r = 2, где р – число вершин, q – число
ребер, r – число граней с учетом внутренних и внешних граней.
Следствие. Если G – связный планарный граф (р > 3), то q  3p - 6.
Доказательство.
Каждая грань ограничена по крайней мере тремя ребрами, каждое
ребро ограничивает не более трех граней, отсюда 3r  2q. Имеем:
45
2 = p – q + r  p - q + 2q/3  3p - 3q + 2q  6  q  3p – 6.
Следствие: К5 и К3,3 непланарны.
Доказательство.
1. Рассмотрим К5. Имеем: p = 5, q = 10. Если К5 планарен, то по
предыдущему следствию q = p(p - 1)/2 = 10  3p – 6 = 35 – 6 = 9 – противоречие.
2. Рассмотрим К3,3. Имеем: p = 6, q = 9. В этом графе нет треугольников, значит, если этот граф планарен, то в его плоской укладке каждая
грань ограничена не менее чем четырьмя ребрами и, следовательно, 4r 
2q или 2r  q. По формуле Эйлера, 6 – 9 + r = 2, откуда r = 5. Имеем: 2r =
25 = 10  q = 9 – противоречие.
Замечание. Граф планарен тогда и только тогда, когда он не содержит в качестве подграфов ни К5, ни К3,3.
Следствие. В любом планарном графе существует вершина, степень
которой не больше 5.
Доказательство.
От противного. Пусть ν  V d(v)  6. Тогда 6p 
 d (v) = 2q  3p  q,
vV
но q  3p - 6. Имеем: 3p  3p - 6, противоречие.
8.3. Задача о плоской укладке
Задача. Определить, является ли граф планарным, и, если да, то произвести его плоскую укладку.
Если на ребра планарного графа нанести произвольное число вершин степени 2, то он останется планарным; равным образом, если на ребра непланарного графа нанести вершины степени 2, то он планарным не
станет.
Теорема (Понтрягин-Куратовский). Граф планарен тогда и только
тогда, когда он не содержит в качестве частей графы К5 и К3,3 (быть может, с добавочными вершинами степени 2).
8.4. Гамма-алгоритм
Для плоской укладки графа и попутной проверки, планарен ли он,
удобно пользоваться гамма-алгоритмом. На вход подаются графы, обладающие следующими свойствами: 1) граф связный; 2) граф имеет хотя
бы один цикл; 3) граф не имеет мостиков, т. е. ребер, после удаления которых граф распадается на две компоненты связности.
Если нарушено свойство (1), то граф нужно укладывать отдельно по
компонентам связности. Если нарушено свойство (2), то граф – дерево и
нарисовать его плоскую укладку тривиально.
Случай нарушения свойства (3) рассмотрим более подробно. Если в
графе есть мостики, то их нужно разрезать, провести отдельно плоскую
46
укладку каждой компоненты связности, а затем соединить их мостиками.
Здесь может возникнуть трудность: в процессе укладки концевые вершины мостика могут спрятаться внутри плоского графа. Нарисуем одну
компоненту связности и будем присоединять к ней другие последовательно. Каждую новую компоненту связности будем рисовать в той грани, в которой лежит концевая вершина соответствующего мостика. Так
как граф связности мостиками компонент связности является деревом,
мы сумеем получить плоскую укладку.
Сначала изложим алгоритм на конкретном примере. Пусть дан граф
G (рис. 25). Инициализация алгоритма производится так: выбираем любой простой цикл; в нашем примере {1, 2, 3, 4, 5, 6, 7, 8} и получаем две
грани: Γ1 – внешнюю и Γ2 – внутреннюю (рис. 26). Обозначим выбранный цикл как G′. На каждом шаге будем строить множество сегментов.
Каждый сегмент S относительно уже построенного графа G′ представляет
собой одно из двух: ребро, оба конца которого принадлежат G′, но само
оно не принадлежит G′; связную компоненту графа G–G′, дополненную
всеми ребрами графа G, один из концов которых принадлежит связной
компоненте, а второй из графа G′.
Те вершины, которые одновременно принадлежат G′ и какому-то
сегменту, назовем контактными. Для нашего примера сегменты и вершины изображены на рис. 27. Контактные вершины обведены в квадрат.
Рис. 25
Рис. 26
Рис. 27
Если бы в каком-нибудь сегменте не было ни одной контактной
вершины, то граф до разрезания был бы несвязный; если бы была только
одна, то граф имел бы мостик. Эти возможности заранее исключены, так
что каждый сегмент имеет не менее двух контактных вершин. Поэтому в
каждом сегменте имеется цепь между любой парой таких вершин.
Если все контактные вершины сегмента S имеют номера вершин какой-то грани Γ, то мы будем говорить, что грань Γ вмещает этот сегмент.
Может быть, имеется не одна такая грань, вмещающая сегмент S, множество таких граней обозначим Γ(S), а их число – |Γ(S)|.
Общий шаг алгоритма следующий: обозреваются все сегменты Si и
определяются числа |Γ(Si)|. Если хоть одно из них равно 0, то граф не
планарен, конец. Иначе выбираем сегмент, для которого число |Γ(S)| минимально, или один из множества, если таких сегментов несколько. В
47
этом сегменте найдем цепь между двумя контактными вершинами и
уложим ее в любую из граней множества Γ(S), совместив контактные
вершины сегмента с соответствующими вершинами грани. При этом
данная грань разобьется на две.
В результате повторения общего шага либо будет получена плоская
укладка, когда множество сегментов станет пустым, либо будет получено, что граф G не является планарным. Вернемся к нашему примеру. Пока для любого i: Si {Γ1, Γ2}, |Γ(Si)| = 2. Поэтому возьмем первый по номеру сегмент Si и цепь {4, 8} вставим в грань Γ2. Получим увеличенную
часть G′ и уменьшенную систему сегментов (рис. 28a, b).
Рис. 28
Определим, какие грани вмещают новые сегменты. Теперь сегменты
S1 и S2 вмещаются только в одну грань Γ1, в то время как сегмент S3
вмещается в две грани Γ1 и Γ3. Поэтому берем S1. Возьмем в нем цепь
между контактными вершинами, например {2, 7}, и уложим ее в Γ1. Получим увеличенную часть G′ и уменьшенную систему сегментов (рис. 29a, b).
Продолжая таким образом, в итоге получим плоскую укладку G (рис. 30).
Рис. 29
Рис. 30
Задания
Для аудиторных занятий
1. Построить попарно неизоморфные непланарные графы без петель
и кратных ребер, содержащие 6 вершин и 11 ребер.
2. Построить однородный 9-вершинный граф без петель и кратных
ребер, который не планарен вместе со своим дополнением.
3. Используя формулу Эйлера, доказать непланарность следующих
графов:
а) К5 (рис. 31а); б) К3.3 (рис. 31б); в) граф Петерсена (рис. 32а); г) граф
на рис. 32б.
48
4. Существует ли планарный граф без петель и кратных ребер, у которого:
а) 7 вершин и 16 ребер; б) 8 вершин и 17 ребер.
5. Какое наибольшее число граней может быть у плоского 5вершинного графа, не имеющего петель и кратных ребер? Изобразить такой граф.
а
б
Рис. 31
а
б
Рис. 32
6. Какое наименьшее число вершин нужно удалить из графа G, чтобы получить планарный граф, если:
а) G – граф Петерсена (рис. 32а); б) G – граф, изображенный на рис. 33.
Рис. 33
7. Какое наименьшее число ребер нужно удалить из графа G, чтобы
получить планарный граф, если:
а) G – граф Петерсена (рис. 32а); б) G = К6.
8. Существует ли плоский 6-вершинный граф без петель и кратных
ребер, у которого 9 граней?
9. Построить все попарно неизоморфные плоские 6-вершинные графы без петель и кратных ребер, имеющие 8 граней.
10. Доказать, что в каждом планарном графе без петель и кратных
ребер есть вершина степени не больше, чем 5.
Для самостоятельной работы
1. Доказать, что в любом планарном графе без петель и кратных ребер, имеющем не менее 4 вершин, найдутся хотя бы 4 вершины, степени
которых не больше, чем 5.
49
2. Какое наименьшее число вершин необходимо удалить, чтобы граф
стал планарным (рис. 32б).
3. Какой из графов G может быть планарным:
а) граф, состоящий из 7 вершин и 16 ребер;
б) граф, состоящий из 8 вершин и 17 ребер;
в) граф, состоящий из 5 вершин и 10 ребер.
4. Используя формулу Эйлера, определить, планарен ли следующий
граф:
5. Дать определение плоского графа:
а) плоский граф – это граф, нарисованный на плоскости таким образом, что его ребра пересекаются;
б) плоский граф – это граф, нарисованный на плоскости таким образом, что его ребра не пересекаются;
в) плоский граф – это граф, уложенный на плоскости.
6. Сколько граней имеет заданный плоский граф?
7. Какие вершины плоского графа называются контактными:
а) вершины, которые одновременно принадлежат плоскому графу
G′ и какому-то сегменту;
б) вершины, которые одновременно принадлежат графу G и одному
из сегментов;
в) вершины, которые одновременно не принадлежат плоскому графу G′ и какому-то сегменту.
8. Дать определение планарного графа:
а) планарный граф – это граф, нарисованный на плоскости таким
образом, что его ребра пересекаются;
б) планарный граф – это граф, уложенный на плоскости;
в) планарный граф – это граф, нарисованный на плоскости таким
образом, что его ребра не пересекаются.
9. Какой граф представлен записью K3,3:
а) однородный;
б) двудольный;
в) плоский.
50
10. С помощью гамма-алгоритма укладки графа на плоскости определить планарнрсть графа (рис. 32б).
Литература
1.
2.
Новиков, Ф. А. Дискретная математика для программистов: учебник для вузов /
Ф. А. Новиков. – СПб.: Питер, 2001. – 304 с.
Горбатов, В. А. Фундаментальные основы дискретной математики / В. А. Горбатов. – М.: Наука, 2000. – 544 с.
9. Практическое занятие № 9
Тема: «ДЕРЕВЬЯ»
Цель занятия:
усвоение таких понятий, как связные деревья, бинарные деревья, ориентированные деревья, высота, глубина дерева, упорядоченные и изоморфные деревья.
Пояснение к работе
Время выполнения практического задания – 2 часа.
Последовательность выполнения
1. Руководствуясь приведенным теоретическим материалом, ответить на следующие вопросы:
Какое дерево называется остовным? Привести пример.
Как определяется цикломатическое число графа?
Какой граф является ориентированным деревом?
Как определяются высота ордерева и высота вершины ордерева?
Какое дерево называется упорядоченным?
Как определяется глубина вершины?
Что такое уровень вершины ордерева?
Какие деревья являются изоморфными?
2. Дать определение следующих понятий:
– неориентированное дерево;
– лес.
3. Выполнить задания для аудиторных занятий.
4. Выполнить задания для самостоятельной работы.
9.1. Основные определения
Неориентированным деревом (или просто деревом) называется связный граф без циклов. Этому определению эквивалентны, как легко показать, следующие определения:
а) дерево есть связный граф, содержащий р вершин и р – 1 ребер;
б) дерево есть граф, любые две вершины которого можно соединить
простой цепью.
Пример. Графы, изображенные на рис. 34, являются деревьями.
51
а)
б)
Рис. 34
Рис. 3
в)
Если граф несвязный и не имеет циклов, то каждая его связная компонента будет деревом. Такой граф называется лесом.
Остовным деревом связного графа G называется любой его подграф,
содержащий все вершины графа G и являющийся деревом.
Пример. Для графа, изображенного на рис. 35а, графы на рис. 35б и
35в) являются остовными деревьями.
а)
б)
в)
Рис. 35
Пусть граф G имеет р вершин и q ребер. Так как всякое дерево с р
вершинами по определению имеет р – 1 ребер, то любое остовное дерево
графа G получается из этого графа в результате удаления q – (р – 1) = q – р
+ 1 ребер. Число  = q – р + 1 называется цикломатическим числом графа.
9.2. Ориентированные деревья
Ориентированным деревом называется орграф со следующими свойствами:
1. Существует единственный узел, для которого полустепень захода
равна 0.
2. Полустепень захода для остальных узлов равна 1.
3. Каждый узел достижим из корня.
4. Если в ордереве отменить ориентацию ребер, то получится свободное дерево.
5. В ордереве нет контуров.
6. Для каждого узла существует единственный путь, ведущий в этот
узел из корня.
7. Если в свободном дереве любую вершину назначить корнем, то
получится ордерево. Каждое свободное дерево определяет не более р
ориентированных деревьев.
Вершину v ордерева называют потомком вершины , если существует путь из  в v. Вершина, не имеющая потомков, – лист.
52
Рассмотрим некоторые числовые параметры, которые характеризуют
ордерево. Высота ордерева – это наибольшая длина пути из корня в лист.
Глубина d(v) вершины v ордерева – это длина пути из корня в эту вершину. Высота h(v) вершины v ордерева – наибольшая длина пути из данной
вершины в лист. Уровень вершины ордерева – это разность между высотой ордерева и глубиной данной вершины.
Пример. Приведем пример ориентированных деревьев (рис. 36).
Рис. 36
Упорядоченные деревья – это деревья, в которых относительный порядок поддеревьев фиксирован.
Пример. Рассмотрим три дерева, которые выглядят различными (рис. 37).
Рис. 37
Как упорядоченные деревья все они различны, как ориентированные
деревья первое и второе одинаковы, а второе и третье различны, как свободные деревья все они изоморфны.
Задания
Для аудиторных занятий
1. Доказать, что граф является деревом тогда и только тогда, когда
он связен, но после удаления любого ребра становится несвязным.
2. Доказать, что количество рёбер дерева на единицу меньше количества вершин.
3. Доказать, что связными компонентами леса являются деревья.
4. Доказать, что если в связном неориентированном графе число
вершин равно числу ребер, то можно выбросить одно из ребер так, что
после этого граф станет деревом.
5. Изобразить все возможные диаграммы деревьев из семи вершин.
6. Изобразить все попарно неизоморфные 4-вершинные ордеревья.
7. Для заданного дерева построить деревья, которые различны с исходным как упорядоченные деревья, одинаковые как ориентированные
деревья, как свободные деревья изоморфны.
53
8. Для заданных деревьев (рис. 37) определить высоту ордерева, уровень вершин.
9. Для заданных деревьев (рис. 36) определить высоту h(v) вершин,
глубину d(v) вершин.
10. Для заданных деревьев (рис. 35а, 35б) построить все возможные
ордеревья.
Для самостоятельной работы
1. Изобразить все попарно неизоморфные 5-вершинные деревья.
2. Доказать, что количество рёбер дерева на единицу меньше количества вершин.
3. Для заданных деревьев (рис. 26) определить высоту ордерева, уровень вершин.
4. Для заданных деревьев (рис. 37) определить высоту h(v) вершин,
глубину d(v) вершин.
5. Изобразить все возможные диаграммы деревьев из шести вершин.
6. Для заданного дерева построить деревья, которые различны с исходным как упорядоченные деревья, одинаковые как ориентированные
деревья, как свободные деревья изоморфны.
7. Для заданных деревьев (рис. 37) построить все возможные ордеревья.
8. Для заданного дерева (рис. 35б) построить изоморфные ему деревья.
9. Для заданного дерева (рис. 35в) построить не изоморфные ему деревья.
10. Для заданного дерева (рис. 35б) построить деревья, которые различны с исходным как упорядоченные деревья.
Литература
1. Новиков, Ф. А. Дискретная математика для программистов: учебник для вузов /
Ф. А. Новиков. – СПб.: Питер, 2001. – 304 с.
2. Горбатов, В. А. Фундаментальные основы дискретной математики / В. А. Горбатов. – М.: Наука, 2000. – 544 с.
54
3. Акимов, О. Е. Дискретная математика. Логика, группы, графы – 2-е изд., доп. /
О. Е. Акимов. – М.: Лаборатория базовых знаний, 2001. – 367 с.
10. Практическое занятие № 10
Тема: «ПЕРЕКЛЮЧАТЕЛЬНЫЕ (БУЛЕВЫ) ФУНКЦИИ»
Цель занятия:
усвоение таких понятий, как булевы функции, формулы логики булевых
функций, булева алгебра, замкнутые классы.
Пояснение к работе
Время выполнения практического задания – 4 часа.
Последовательность выполнения
1. Руководствуясь приведенным теоретическим материалом, ответить на следующие вопросы:
Как реализуется табличное представление булевой функции?
Что является важнейшей интерпретацией теории булевых функций?
Какие существуют элементарные булевы функции двух переменных?
Как задается функция вектором ее значений?
Какие булевы функции называются равными?
Какая система булевых функций называется полной?
2. Дать определение следующих понятий:
– булева функция;
– фиктивная и существенная переменная;
– булева алгебра (алгебра логики).
3. Записать булеву функцию в виде произвольного отображения.
4. Выполнить задания для аудиторных занятий.
5. Выполнить задания для самостоятельной работы.
10.1. Основные определения
Булевой функцией f(x1, x2, ..., xn) называется произвольная функция n
переменных, аргументы которой x1, x2, ..., xn и сама функция f принимают
значения 0 или 1, т. е. xi {0, 1}, i = 1, 2, ..., n; f(x1, x2, ..., xn) {0, 1}. Булева функция от n переменных – это произвольное отображение вида f:
{0, 1}n → {0, 1}.
Одной из важнейших интерпретаций теории булевых функций является теория переключательных функций. Первоначально математический
55
аппарат теории булевых функций был применен для анализа и синтеза
релейно-контактных схем с операциями последовательного и параллельного соединения контактов.
Любая булева функция может быть представлена таблицей, в левой
части которой перечислены все наборы переменных (2n), а в правой части
– значения функции. Для формирования столбца значений переменных
удобен лексикографический порядок, в соответствии с которым каждый
последующий набор значений получается из предыдущего прибавлением
1 в двоичной системе счисления.
Функций одной переменной четыре. Из них выделим функцию “отрицание x” (обозначается x). Булевых функций двух переменных – 16.
Те из них, которые имеют специальные названия (элементарные функции), представлены в табл. 2.
Таблица 2
x1
x2
x1Vx2
0 0
0 1
1 0
1 1
Названия
0
1
1
1
дизъюнкция
x1& x2;
x1  x2;
x1→x2
x1 x2
0
1
0
1
0
0
1
1
конъюнк- импликация
ция
x1x2
x1  x2
1
0
0
1
0
1
1
0
эквива- сложение
лентность по модулю 2
x1 x2
1
0
0
0
стрелка
Пирса
x1 x2
1
1
1
0
штрих
Шеффера
Остальные функции специальных названий не имеют и могут быть
выражены через перечисленные выше функции.
10.2. Формулы логики булевых функций
Формула логики булевых функций определяется индуктивно следующим образом:
1. Любая переменная, а также константы 0 и 1 есть формула.
2. Если A и B – формулы, то ¬A, A  B, A & B, A  B, A  B есть формулы.
3. Ничто, кроме указанного в пунктах 1–2, не есть формула.
Пример. Построим таблицу значений функции f(x1, x2, x3) = (x2
 x3)  (x1 x2). Табл. 3 представляет последовательное вычисление
этой функции.
Таблица 3
x1
0
0
0
0
1
1
1
x2
0
0
1
1
0
0
1
x3
0
1
0
1
0
1
0
¬x3
1
0
1
0
1
0
1
x2  ¬x3
1
1
1
0
1
1
1
¬(x2  ¬x3)
0
0
0
1
0
0
0
56
¬x1
1
1
1
1
0
0
0
¬x1Vx2
1
1
1
1
0
0
1
f(x1, x2, x3)
0
0
0
1
1
1
0
1 1 1
0
0
1
0
1
1
Формула так же, как и таблица, может служить способом задания
функции. Этот способ аналогичен аналитическому способу задания
функций действительной переменной. При этом применяются следующие соглашения:
а) вначале выполняются операции в скобках (внешние скобки у
формул опускаются);
б) считается, что связка  сильнее любой двухместной связки;
в) связка & сильнее любой другой двухместной связки.
Кроме того, имея в виду стандартное расположение наборов, булеву
функцию f( ~x n ) удобно задавать вектором ее значений: ~ f = (α0, α1, …,
~
 2 1 ), где координата αi равна значению функции f( ~x n ) на наборе  ,
имеющем номер i (i = 0, 1, …, 2n – 1).
n
10.3. Фиктивные и существенные переменные
Фиктивные переменные. Переменная xi (1  i  n) функции f(x1, …,
xn) называется фиктивной переменной, если значение функции не зависит
от значения этой переменной, т. е. для любых значений переменных x1,
…, xi-1, xi+1, ... , xn
f(x1, …, xi-1, 0, xi+1, …, xn) = f(x1, …, xi-1, 1, xi+1, …, xn).
Переменная xi (1 i  n) функции f(x1, …, xn) называется существенной переменной, если можно указать наборы ~ и ~ , соседние по i-ой
~
компоненте, что f( ~ )  f(  ), т. е. f(1, …, i-1, 0, i+1, …, n)  f(1, …, i-1,
1, i+1, …, n).
Булевы функции f и g называются равными, если их существенные
переменные соответственно равны и на каждом наборе значений этих переменных функции f и g принимают равные значения.
Замечание: при решении практических задач иногда вместо удаления фиктивных переменных в одной из функций, наоборот, добавляют
фиктивные переменные к множеству переменных другой функции.
Пример. Функции f1 = x  y, f2 = xy  z, f3 = x  y  z  1, f4 = xy 
yz  zx, реализованные формулами, задать векторами своих значений.
Решение. 1. Составим вначале таблицу истинности для f1, f2, f3, f4
(табл. 4).
Таблица 4
f1
f3
Xy
f2
yz
zx
f4
0
(x, y, z)
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
57
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
2. Тогда функции f1, f2, f3, f4 задаются следующими векторами своих
значений: f1( ~x 3 ) = (0, 0, 1, 1, 1, 1, 0, 0); f2( ~
x 3 ) = (0, 1, 0, 1, 0, 1, 1, 0);
f3( ~
x 3 ) = (1, 0, 0, 1, 0, 1, 1, 0); f4( ~
x 3 ) = (0, 0, 0, 1, 0, 1, 1, 1).
3. f2  f4, т. к. (0, 1, 0, 1, 0, 1, 1, 0)  (0, 0, 0, 1, 0, 1, 1, 1) (в таблице не
совпадают значения в столбцах, соответствующих этим функциям).
4. Выписываем f(0, 0, 0) = f(0, 1, 1) = f(1, 0, 1) = f(1, 1, 0) = 1 и
f(0, 0, 1) = f(0, 1, 0) = f(1, 0, 0) = f(1, 1, 1) = 0. Определим, какой переменной
является x. Сравнивая значения функции на всех парах наборов, соседних
по переменной x, видим, что f(0, y, z) f(1, y, z), x – существенная переменная. Аналогично устанавливаем, что у и z являются существенными переменными.
10.4. Полные системы булевых функций
Как известно, алгеброй называют систему, включающую в себя некоторое непустое множество объектов с заданными на нем функциями
(операциями), результатами применения которых к объектам данного
множества являются объекты того же множества.
Булевой алгеброй или алгеброй логики называется двухэлементное
множество B = {0, 1} вместе с операциями конъюнкции, дизъюнкции и
отрицания.
Система булевых функций {f1, f2, … , fn} называется полной, если
любая булева функция может быть выражена в виде суперпозиции этих
функций. Все логические операции могут быть выражены через операции
конъюнкции, дизъюнкции и отрицания. Поэтому система функций {, &,
} является полной. Также полными являются следующие системы
функций: а){, }; б) {, &}; в) {, }.
Полнота систем {, } и {, &} следует из полноты системы {,
&, }, а также законов де Моргана и двойного отрицания, следствием которых является возможность выразить конъюнкцию через дизъюнкцию и
наоборот: A&B(A  B); A  B (A & B). Поэтому система {,
&, } может быть сокращена на одну функцию.
Полнота системы {, } следует из полноты системы {, } и
равносильности, позволяющей выразить импликацию через отрицание и
дизъюнкцию: A  B  A  B.
Пусть дан класс функций B (т. е. конечное или бесконечное множество функций), объединенных по общему признаку. Замыканием этого
класса (обозначение – [B]) будем называть множество всех суперпозиций
58
функций из класса B. Класс B будем называть замкнутым, если его замыкание совпадает с ним самим B = [B].
Рассмотрим классы функций, которые являются замкнутыми.
Класс Т0 – класс функций, сохраняющих константу 0. f( ~
x n )  Т0 
f(0, …, 0) = 0.
Класс Т1 – класс функций, сохраняющих константу 1. f( ~
x n )  Т1 
f(1, …, 1) = 1.
Класс S – класс самодвойственных функций. f( ~
x n )  S  f( ~
xn) =
~
n
f*( x ).
Функция f ( x1 , , x n ) называется двойственной к f( ~
x n ), обозначается f*( ~
x n ), т. е. f *( ~
x n ) = f ( x1 , , xn ) .
Класс М – класс монотонных функций. f( ~
x n )  М   ,    n2 ,
таких, что     f()  f().
На множестве наборов значений переменных  n2 введем отношение
порядка , называемое отношением предшествования (отношением сравнимости), следующим образом:    , если i  i, i = 1, n .
Класс L – класс линейных функций.
n
f( ~
x n )  L  f( ~
x n ) =  ai xi  a0 – представима полиномом Жегалкина
i 1
не выше первой степени.
Теорема Поста. Система функций полна тогда и только тогда, когда
она не находится ни в одном из пяти важнейших замкнутых классов, а
именно S, M, L, T0, T1.
Пример. Исследовать полноту системы А = {f1 = x  y, f2 = xy  z, f3 =
x  y  z  1, f4 = xy  yz  zx}(табл. 4).
Решение. Результаты исследования на принадлежность функций каждому из пяти классов отображены в критериальной таблице (табл. 5).
Таблица 5
f1
f2
f3
f4
Т0
+
+
–
+
Т1
–
–
–
+
L
+
–
+
–
S
–
–
+
+
M
–
–
–
+
а) f1, f2, f4  Т0, т. к. f1(0, 0) = 0  0 = 0, f2(0, 0) = 0  0  0 = 0, f4(0, 0, 0)
= 0  0  0  0  0  0 = 0; f3  Т0, т. к. f3(0, 0, 0) = 0  0  0  1 = 1;
б) f1, f2, f3Т1, т. к. f1(1,1) = 11= 0, f2(1,1) = 111 = 0, f3(1, 1,1) = 1 
1  1  1 = 0; f4 Т1, т. к. f4(1, 1, 1) = 1  1  1  1  1  1 = 1;
59
в) f1, f3  L, т. к. f1 = x  y, f3 = x  y  z  1 – представимы полиномом
Жегалкина первой степени; f2, f4  L, т. к. f2 = xy  z, f4 = xy  yz  zx –
представимы полиномом Жегалкина второй степени;
г) f3, f4  S, т. к. f3*( ~
x 3 ) = ( 0, 1, 1, 0, 1, 0, 0, 1 ) = (1, 0, 0, 1, 0, 1, 1, 0)
= f3( ~
x 3 ), f4*( ~
x 3 ) = ( 1, 1, 1, 0, 1, 0, 0, 0 ) = (0, 0, 0, 1, 0, 1, 1, 1) = f4( ~
x 3 );
f1, f2  S, т. к. f1*( ~x 3 ) = (0, 0, 1 , 1 , 1 , 1 , 0, 0) = (1, 1, 0, 0, 0, 0, 1, 1)  f1( ~x 3 ),
f2*( ~
x 3 ) = ( 0 , 1 , 1 , 0 , 1 , 0 , 1 , 0 ) = (1, 0, 0, 1, 0, 1, 0, 1)  f2( ~
x 3 );
д) f1, f2, f3  М, т. к. f1: (0, 0, 1, 1)  (1, 1, 0, 0), f2: (0, 1, 0, 1)  (0, 1, 1, 0),
f3: (1, 0, 0, 1)  (0, 1, 1, 0); f4  М, т. к. f4: (0, 0, 0, 1) ≤ (0, 1, 1, 1); (0, 0) ≤ (0, 1)
и (0,1) ≤ (1, 1); 0 ≤ 0 и 0 ≤ 1, и 1 ≤ 1.
Вывод: система функций А является полной, т. к. в каждом из столбцов критериальной таблицы есть хотя бы один «–».
Задания
Для аудиторных занятий
1. Построив таблицы для соответствующих функций, записать их в
векторной форме. Выяснить, эквивалентны ли формулы f и g:
а) f = x  y  х и g = (x  y)  y;
б) f = x(y  z) и g = x  (y zx).
2. С помощью табличного представления задать значения следующих булевых функций:
а) f( ~x 2 ) = (х2  х1)(х2  х2); б) f( ~
x 2 ) = (х2 ~х1)(х1х2);
~
3
в) f( x ) = (х1  х2)  х3)(х3  х2);
г) f( ~x 3 ) = (х1  х2  х3 )  (х1х2 х3 )  (х2  х1) х3 .
3. С помощью векторного представления задать значения следующих булевых функций:
а) f( ~x 2 ) = ((х2  х1)  х1х2 )  (х1 х2)  ( х2  х2);
б) f( ~x 3 ) = (х1  х2х3) (х2  х1х3)  (х1  х2).
4. Указать все фиктивные переменные у функции f:
а) f( ~
x 3 ) = (1, 0, 1, 0, 1, 0, 1, 0); б) f( ~
x 3 ) = (0, 1, 1, 0, 0, 1, 1, 0);
в) f( ~
x 3 ) = (1, 1, 1, 1, 0, 1, 1);
г) f( ~
x 4 ) = (1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1);
д) f( ~
x 4 ) = (0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1).
5. Указать все фиктивные и существенные переменные у функции f:
а) f( ~
x 2 ) = (х2  х1)(х2  х2); б) f( ~x 2 ) = (х2 ~ х1)(х1х2);
в) f( ~x 3 ) = (х1  х2)  х3)(х3  х2);
г) f( ~x 3 ) = (х1  х2  х3 )  (х1х2 х3 )  (х2  х1) х3 .
6. Перечислить существенные переменные у следующих функций:
60
а) f( ~
x 2 ) = ((х2  х1)  х1х2)  (х1  х2)( х2  х2);
б) f( ~x 3 ) = (х1  х2х3) (х2  х1х3)  (х1  х2).
7. Какие значения принимает булева функция двух переменных для
x1  x2? Как называется эта функция?
8. Выяснить, является ли самодвойственной и монотонной функция f:
f = x1x2  x1x3  x3x2.
9. Выяснить, полна ли система функций:
А = {xy, x  y, x  y  z  1}.
Для самостоятельной работы
1. Построив таблицы для соответствующих функций, записать их в
векторной форме. Выяснить, эквивалентны ли формулы f и g:
а) f = xy  х и g = xy  y; б) f = xy  z и g = x  (y zx).
2. С помощью табличного представления задать значения следующих булевых функций:
а) f( ~x 2 ) = (х2 ~ х1)(х2  х2); б) f( ~
x 2 ) = (х2  х1)(х1х2);
~
3
в) f( x ) = (х1  х2)  х3) (х3  х2);
г) f( ~x 3 ) = (х1 х2 х3 )  (х1х2  х3 )  (х2  х1) х3 .
3. Указать все фиктивные переменные у функции f:
а) f( ~
x 3 ) = (1, 0, 1, 0, 1, 0, 1, 1); б) f( ~
x 3 ) = (0, 1, 0, 0, 0, 1, 1, 0);
в) f( ~
x 3 ) = (1, 0, 1, 1, 0, 1, 1); г) f( ~x 4 ) = (1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0,
0, 0, 1); д) f( ~
x 4 ) = (1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0).
4. Указать все фиктивные и существенные переменные у функции f:
а) f( ~
x 2 ) = (х2 ~ х1)(х2 х2); б) f( ~x 2 ) = (х2  х1)(х1х2);
в) f( ~x 3 ) = (х1  х2)  х3)(х3 ~ х2);
г) f( ~x 3 ) = (х1 ~ х2  х3 )  (х1х2 х3 )  (х2  х1) х3 .
5. Перечислить существенные переменные у следующих функций.
а) f( ~
x 2 ) = ((х2 ~ х1)  х1х2)  (х1  х2)(х2  х2);
б) f( ~x 3 ) = (х1 ~ х2х3) (х2  х1х3)  (х1  х2).
6. С помощью векторного представления задать значения следующих булевых функций:
а) f( ~x 2 ) = (х2  х1х2)  (х1  х2)  (х2  х2);
б) f( ~x 3 ) = (х1  х2  х3) (х2  х1  х3)  (х1  х2).
7. Какие значения принимает булева функция двух переменных для
x1  x2? Как называется эта функция?
8. Выяснить, является ли самодвойственной и монотонной функция f
f = x1  x2  x1x2  1.
9. Выяснить, полна ли система функций:
61
А = {xy, x  y, x  y, xy  yz  zx}.
Литература
1. Гаврилов, Г. П. Задачи и упражнения по курсу дискретной математики: учеб. пособие / Г. П. Гаврилов, А. А. Сапоженко. – М.: Наука, 1992 – 408 с.
2. Горбатов, В. А. Фундаментальные основы дискретной математики / В. А. Горбатов. – М.: Наука, 2000. – 544 с.
3. Нефедов, В. Н. Курс дискретной математики: учеб. пособие / В. Н. Нефедов, В. А.
Осипова. – М.: Изд-во МАИ, 1992. – 264 с.
4. Новиков, Ф. А. Дискретная математика для программистов: учебник для вузов /
Ф. А. Новиков. – СПб.: Питер, 2001. – 304 с.
11. Практическое занятие № 11
Тема: «ПРЕДИКАТЫ. КВАНТОРЫ. ПРЕДИКАТНЫЕ ФОРМУЛЫ»
Цель занятия:
усвоение таких понятий, как предикат, n-предикат, высказывание, кванторы общности и существования, область действия кванторов, формулы
логики предикатов.
Пояснение к работе
Время выполнения практического задания – 4 часа.
Последовательность выполнения
1. Руководствуясь приведенным теоретическим материалом, ответить на следующие вопросы:
Какой предикат называется n-местным?
Какой предикат является высказыванием?
Какие операции можно выполнять над предикатами?
Что представляет собой область действия квантора?
Из чего состоит алфавит логики предикатов?
Какие переменные в формуле логики предикатов называются свободными?
Какое выражение называется предикатной формулой?
2. Дать определение следующих понятий:
– предикат;
– квантор общности;
– квантор существования.
3. Выполнить задания для аудиторных занятий.
4. Выполнить задания для самостоятельной работы.
11.1. Предикаты
Предикатом Р(х1, х2, …, хn) называется функция, переменные которой принимают значения из некоторого множества М, а сама функция
принимает два значения: И (истинное) и Л (ложное), то есть
62
Р(х1, х2, …, хn): Мn →{И, Л}.
Предикат от n аргументов называют n-местным предикатом. Множество М значений переменных определяется математическим контекстом.
Например, основное соотношение элементарной геометрии на плоскости
– точки х, у, z лежат на одной прямой – выражается предикатом L(х, у, z),
где в качестве значений х, у, z рассматриваются конкретные точки.
Предикаты обозначаются большими буквами латинского алфавита.
Иногда бывает удобно указывать число переменных у предикатов. В таких случаях у символов предикатов пишут верхний индекс, который и
указывает число аргументов, например: Р(n)(х1, х2, …, хn) – n-местный
предикат. Высказывания считаются нуль-местными предикатами.
Над предикатами на М как подмножествами МТ можно производить
логические операции и получать новые предикаты. Операции над предикатами – суть операции над соответствующими отношениями: конъюнкция, дизъюнкция, отрицание, импликация и др. Состав переменных и
предметная область предиката, полученного в результате операции,
определяются при этом естественным образом.
Пример.
Р(х1, х2, …, хn) & Q(y1, y2, …, yn) = R(х1, х2, …, хn, y1, y2, …, yn), х1 є M1,
х2 є M2, …, хn є Mn, у1 є N1, у2 є N2, …, уn є Nn.
Среди переменных хj, уj могут быть совпадающие значения, так же
как и среди множеств Mj и Nj.
Примеры. 1. Пусть R(X, Y) = Р(Х) & Q(Y), X є M, Y є N, двуместный
предикат R(X, Y) имеет область определения S = M·N.
2. R(X) = P(X) & Q(X), X є M, Y є M, но X и Y – разные предметные
переменные; область определения двуместного предиката R(X, Y) – множество S = M2.
3. R(X) = P(X) & Q(X): у предикатов P(X) & Q(X) – общая предметная
область и одинаковая переменная; R(X) – одноместный предикат на М.
Существуют и другие операции над предикатами. Если P{X, Y) –
двуместный предикат, то фиксирование одной переменной превращает
его в одноместный предикат. Пусть, например, Р(Х, Y): "число X делится
на число Y", определенный на множестве пар натуральных чисел N, кроме пар (Х, 0). Тогда Р(Х, 5) – одноместный предикат на N, истинный для
всех чисел, кратных 5. P(60, Y) – одноместный предикат на N, кроме Y =
0, истинный для всех делителей числа 60, т. е. для элементов множества
{1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60}. Заметим, что если зафиксировать
значения всех переменных, то предикат превращается в истинное или
ложное высказывание, которое можно считать 0-местным предикатом.
63
11.2. Кванторы
Для предикатов определяются две специфические операции, называемые навешиванием кванторов, которые превращают одноместный
предикат Р(х) в 0-местный:
Квантор общности, или всеобщности, – высказывание: "для всех х
выполнено Р(х)", обозначение х: Р(х).
Квантор существования – высказывание: "существует x, для которого выполнено Р(х) ", обозначение х: Р(х).
Процедура навешивания кванторов применима не только к одноместным, но и к предикатам большей местности. Рассмотрим трехместный предикат P(x, y, z); он является истинным для некоторых троек (x, y,
z). Предикату Р можно сопоставить выражения с кванторами Х: P(x, y,
z) и х: P(x, y, z); первое означает: "для всякого x выполнено Р(х, y, z)",
второе – "существует х такой, что выполнено Р(х, y, z)".
Пусть, например, P(x, y, z) = Зх - 2у > z с предметной областью –
множеством действительных чисел R, область истинности предиката Р –
полупространство по одну сторону от плоскости Зх - 2у = z. Ему можно
сопоставить выражения:
Ql(x, y) = х: 3х - 2у > z и Q2(x, y) = x: 3x - 2y > z.
Полученные двуместные предикаты зависят от y и z, но не зависят от
x. Этот факт выражается так: переменная x в указанных предикатах связана квантором, а переменные y, z – свободные. Связанные (свободные)
переменные – это переменные, на которые навешены (соответственно, не
навешены) кванторы:  или .
Область действия квантора – выражение, на которое навешивается квантор.
11.3. Предикатные формулы
На языке предикатов можно составить гораздо более сложные предложения, чем на языке логики высказываний. Определим понятие формулы логики предикатов. Предикатная формула (формула логики предикатов) – формула, содержащая знаки булевых операций и кванторов. Алфавит логики предикатов:
– символы предметных переменных х1, х2, ..., хn.
– символы предикатов Р1, Р2, … Рn;
– логические символы  , &, V, , ~ ;
– символы кванторов  и ;
– скобки и запятая.
Предикатные переменные будем обозначать через х, у, z, а символы
предикатов – через P, S, Q, R и т. д. Предикатной формулой (одновремен64
но определяются понятия свободных и связанных переменных) называется выражение, построенное по следующим правилам:
1. Если Р – символ предиката, х1, х2, ..., хn – символы переменных
(не обязательно различных), то Р(х1, х2, ..., хп) – предикатная формула;
все ее переменные – свободные, связных переменных нет.
2. Если А – формула, то (А) тоже формула. Свободные и связанные
переменные этой формулы – это свободные и связанные переменные
формулы А.
3. Если А, В – формулы, причем нет таких предметных переменных,
которые были бы связаны в одной формуле и свободны в другой, тогда
(А & В), (A v В), (А  В), (А  В)
есть формулы, в которых свободные переменные формул А и В остаются
свободными, а связанные переменные формул А и В остаются связанными.
4. Если А – формула, содержащая свободную переменную х, то выражения
(х) А(х) и (х) А(х)
тоже предикатные формулы; в каждой из них переменная х переходит из
множества свободных в множество связанных, т. е. число свободных переменных уменьшается, а число связанных увеличивается на 1. При этом
формула А называется областью действия квантора х и областью действия х.
5. Слово в алфавите логики предикатов является формулой только в
том случае, если это следует из правил 1–4.
По определению формулы никакая переменная не может быть одновременно свободной и связанной. В формуле должны быть правильным
образом расставлены скобки, определяющие области действия кванторов
и порядок выполнения логических и кванторных операций.
Пример 1. х1х2: P (х1, х2, х3)  х1: Р(х1, х4) –
формула, в которой х1, х2 – связанные, а х3, х4 – свободные переменные.
Пример 2. Выражение х1х2: P1 (х4, х3)  Р2(х4, х2) не является формулой.
Задания
Для аудиторных занятий
1. Определить истинность следующих высказываний для х, у  N:
 х  у: х < у; х у: х < у; у х: х < у; у х : < у.
2. Среди следующих предложений указать высказывания, предикаты
и те, которые ими не являются:
а) если целое число k делится на 4, то оно делится и на 2;
б) каждое целое число, делящееся на 4, делится на 2;
в) (a + b)2 = a2 + 2ab + b2;
65
г) х2 + 2.
3. Среди следующих высказываний указать истинные:
а) если х1, х2 – действительные корни уравнения 2х2 + 42х + 446 = 0,
то х1 + х2 = -21;
б) если натуральное число х делится на 3, то 2х делится на 8.
4. Заполнить истинностную таблицу для каждой из следующих формул логики высказывания:
а) (p  q)  ((p  q)  r); б) (p  q  r).
5. На примере предикатов P(х): х > 2 и Q(у): у < 5 построить предикаты P(х) & Q(х), P(х)  Q(х), P(х) → Q(х), Q(х) → P(х), P(х)  Q(у), P(х) &
Q(у), P(х) → Q(у), P(у) & Q(х).
6. Пусть Р(х) означает предикат «х делится на два», Q(х) – предикат
«х делится на 3». Что в этом случае означает предикат Р(х)  Q(х)? Какой
из предикатов (х)(Р(х)  Q(х)); (х)(Р(х)  Q(х)) является истинным
или ложным?
7. Пусть Р(х) означает предикат «х = у». Он принимает значение И
тогда и только тогда, когда х = у. При каких значениях х и у предикат
 Р(2)(х, х)  Р(2)(х, у) принимает значение И?
8. Перечислить свободные и связанные переменные в каждой из следующих формул:
а) (х) Р(х); б) (х) Р(х)  Р(у); в) (х) (А(х)  В(х)).
9. Примем следующие обозначения для предикатов: Р(х) – «х  простое число», Е(х) – «х – четное число», D(x, y) – «у делится на х», I(х, у) –
«х равно у». Перевести на обычный язык:
а) Р (7); б) (х) (Е (х)  D (6, х)).
10. Используя только предикаты x/y и x = y, записать при помощи логических символов следующие предикаты от переменных, принимающих
натуральные значения:
а) х имеет ровно два различных простых делителя; б) а и b – простые числа-близнецы.
Для самостоятельной работы
1. Определить истинность следующих высказываний для х, у  N:
х  у: х > у; х у: х > у; у х: х > у; у х: > у.
2. Среди следующих предложений указать высказывания, предикаты
и те, которые ими не являются:
а) если целое число k делится на 8, то оно делится и на 12;
б) каждое целое число, делящееся на 8, делится на 12;
в) n3 – n делится на 3;
г) х2 > 2.
3. Среди следующих высказываний указать истинные:
66
а) существует действительное число х, такое, что х2 + 2х – 3 = 0;
б) если в четырехугольнике диагонали перпендикулярны, то это
ромб.
4. Заполнить истинностную таблицу для каждой из следующих формул логики высказывания:
а) (p  q)  p  q; б) p  q  p  q.
5. Перечислить свободные и связанные переменные в каждой из следующих формул:
а) (у) Р (х)  В (у); б) (х) (у) Р (х)  Р (у); в) (х) (Р (х)  А(х)).
6. Примем следующие обозначения для предикатов: Р(х) – «х  простое число», Е(х) – «х – четное число», D(x, y) – «у – делится на х». Перевести на обычный язык:
а) Е (2)  Р (2); б) (х) (D (2, х)  Е(х)).
7. Прочитайте следующие высказывания о целых положительных
числах. Какие из них истинные, а какие ложные? Приняты обозначения:
Р(х) – «х  простое число», x/y – «у делится на х», ху – «у не делится на х»:
а) (х) (Р (х)  2х); б) (х) (у) (х/у); в) (х) (у) (Р (у)  у/х).
8. Каждое из следующих высказываний записать при помощи логических символов, определить, истинно оно или ложно:
а) существует такое целое х, что х2 – 4 = 0;
б) существует единственное положительное число х, для которого
х2 – 4 = 0;
в) для любого действительного числа х существует такое действительное число у, что у2 = х.
9. Используя только предикаты x/y и x = y, записать при помощи логических символов следующие предикаты от переменных, принимающих
натуральные значения:
а) х – простое число; б) а и b – взаимно простые числа.
10. Пусть Р(х) означает предикат «х делится на 3», Q(х) – предикат
«х делится на 5». Что в этом случае означает предикат Р(х)  Q(х)? Какой
из предикатов (х)(Р(х)  Q(х)); (х)(Р(х)  Q(х)) является истинным или
ложным?
Литература
1. Куликов, Л. Я. Сборник задач по алгебре и теории чисел / Л. Я. Куликов, А. И.
Москаленко, А. А Фомин. – М.: Просвещение, 1993. – 288 с.
2. Нефедов, В. Н. Курс дискретной математики: учеб. пособие / В. Н. Нефедов, В. А.
Осипова. – М.: Изд-во МАИ, 1992. – 264 с.
67
Людмила Ивановна Кухарева, Елена Васильевна Морозова
ПРАКТИКУМ ПО ДИСКРЕТНОЙ МАТЕМАТИКЕ
Учебное пособие
Редактор Пчелинцева М. А.
Компьютерная верстка Сарафановой Н. М.
Темплан 2010 г., поз. № 38К.
Подписано в печать 10. 02. 2010 г. Формат 60×84 1/16.
Бумага листовая. Печать офсетная.
Усл. печ. л. 4,25. Усл. авт. л. 4,06.
Тираж 100 экз. Заказ №
Волгоградский государственный технический университет
400131, г. Волгоград, пр. Ленина, 28, корп. 1.
Отпечатано в КТИ
403874, г. Камышин, ул. Ленина, 5, каб. 4.5
68
Download