Дискретная математика в программировании. Практикум. Учебное пособие
.pdf
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РФ
ФГБОУ ВО «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ»
С. Н. ЧЕРНЯЕВА, Л. А. КОРОБОВА, И. С. ТОЛСТОВА
ДИСКРЕТНАЯ МАТЕМАТИКА В ПРОГРАММИРОВАНИИ
Утверждено редакционно-издательским советом университета
в качестве учебного пособия
ВОРОНЕЖ
2023
УДК 330.131.7 ББК В18я7+З973.2-018я7
Ч-49
Научный редактор профессор Д. В. АРАПОВ
Р е ц е н з е н т ы:
зав. кафедрой вычислительной техники и информационных систем Воронежского лесотехнического университета им. Д.С. Морозова доц. В. В. ЛАВЛИНСКИЙ;
к. т. н. Н. В. АКАМСИНА (Воронежский государственный технический университет)
Печатается по решению редакционно-издательского совета
Воронежского государственного университета инженерных технологий
|
Черняева, С. Н. |
|
|
|
|
|
|
Дискретная |
математика |
в |
программировании. Практикум : |
||
Ч-49 |
учеб. пособие / |
С. Н. Черняева, Л. А. Коробова, И. C. Толстова; |
||||
|
Воронежский |
государственный |
университет |
инженерных |
||
|
технологий. - Воронеж: ВГУИТ, 2023. – 59 с. – Текст: |
|||||
|
непосредственный. |
|
|
|
|
|
|
ISBN 978-5-00032-623-7 |
|
|
|
|
|
|
Учебное пособие |
разработано |
в |
соответствии с требованиями ФГОС ВО |
||
подготовки выпускников |
по направлениям |
09.03.02 |
- «Информационные |
системы |
||
и технологии», 09.03.01 – «Информатика и вычислительная техника». Оно предназначено для закрепления теоретических знаний дисциплин цикла1. БВ пособии рассмотрены примеры решения задач теории множеств, бинарных отношений, алгебры логики и теории графов. Приведены задания для самостоятельного решения.
Ч |
140202000 – 04 |
Без объявл. |
УДК 330.131.7 |
|
ОК2(03)-2023 |
ББК В18я7+3973.2-018я7 |
|||
|
|
ISBN 978-5-00032-623-7
© Черняева С. Н., Коробова Л. А., Толстова И. С., 2023
© ФГБОУ ВО «Воронеж. гос. ун-т инж. технол.», 2023
Оригинал-макет данного издания является собственностью Воронежского государственного университета инженерных технологий, его репродуцирование (воспроизведение) любым способом без согласия университета запрещается.
2
Практическая работа № 1. Основные понятия теории множеств
Цель |
работы: |
получение навыков задания |
множеств |
||
в ЭВМ и выполнения операций с ними. |
|
|
|||
Множеством |
Теоретические сведения |
|
|||
называется |
совокупность |
некоторых |
|||
предметов, |
объединенных |
общим |
признаком. Элементы |
||
множества - это те предметы, из которых состоит множество. Пусть имеется множество А, элементом которого является
предмет а, это записывается как А={а}. Например, В={1,2, 3}. Если какой-то элемент а принадлежит множеству А, то это
обозначается аÎА, а если b не принадлежит А, то - bÏА. Например, пусть А - множество четных натуральных чисел, тогда
6ÎА, а 3ÏА.
Пусть имеется два множества А и В, причем все элементы множества А принадлежат множеству В, т.е. если хÎА, то хÎB. В этом случае говорят, что множество А включено в множество В. Обозначается: АÍВ (Í - символ нестрогого включения, т.е.
возможно совпадение множеств). Множество А совпадает со
множеством В (А = В), если все элементы множества В являются |
|
||||
элементами множества В и все элементы множества В являются |
|
||||
элементами множества А. Это можно записать в виде |
|
||||
|
(АÍВ и ВÍА) <=> (А = В). |
|
|||
Множество А строго включено в множество, еслиВ все |
|
||||
элементы множества А принадлежат множеству В, но не все |
|
||||
элементы множества В принадлежат множеству А. |
|
||||
Пример: А = { 1, 2, 3 }, В = { 0, 1, 2, 3 }, АÌВ. |
|
||||
Возможны два способа задания множества. |
|
||||
1. |
Перечислением |
элементов, т.е. в |
фигурных скобках |
||
дается |
полное перечисление элементов данного множества. |
||||
Например : N= {1,2,...,n,...} - множество натуральных чисел. |
|
||||
2. С помощью указания характерного свойства(указание |
|
||||
свойства, |
которым |
обладают |
только |
элементы |
данного |
множества). Символически это записывается в видеA={x | P(x)}
3
и читается A есть множество |
всех |
элементов, обладающих |
||||
свойством P(x). |
|
|
|
|
|
|
При |
задании |
множеств |
вторым |
способом |
возможны |
|
различные |
противоречия и |
парадоксы. Рассмотрим примеры |
||||
таких парадоксов.
1)Парадокс парикмахера: в городе жил парикмахер, который брил всех, кто не брился сам. Кто же брил парикмахера?
2)Пусть имеем натуральное число 11218321 - одиннадцать миллионов двести восемнадцать тысяч триста двадцать один. Это число можно описать с помощью восьми слов. Пусть А - множество натуральных чисел, которые нельзя определить с помощью фразы, имеющей меньше 20 русских слов. Обозначим
- наименьшее число из множества А, причем аminÎA. Число можно определить следующим образом: наименьшее натуральное число, которое нельзя определить с помощью фразы, имеющей менее двадцати слов. В этой фразе 14 слов. Значит, аmin
можно определить с помощью фразы, содержащей менее 20 слов. |
|
|||||||
Тогда получается, что аminÏ А. |
накопилось |
много |
подобных |
|||||
К |
настоящему времени |
|||||||
примеров, когда определение множества оказывалось внутренне |
|
|||||||
противоречиво. Выяснение условий, при |
которых |
это |
может |
|||||
иметь |
место, потребовало |
специальных |
|
исследований, |
||||
составивших предмет математической логики и выходящих за |
||||||||
рамки собственно теории множеств. Поэтому в данном пособии |
|
|||||||
мы не станем касаться спорных случаев и будем рассматривать |
||||||||
лишь |
множества, |
которые |
определяются |
точно |
и |
без |
||
противоречий. |
|
|
|
|
|
|
|
|
В теории множеств имеется специальное множество, |
||||||||
называемое пустым |
множеством(Æ), которое не содержит ни |
|
||||||
одного элемента. Пустое множество по определению содержится |
|
|||||||
в любом |
множестве А (ÆÎА). |
Это |
понятие |
|
вводится |
из |
||
следующих соображений. Задавая множество вторым способом |
|
|||||||
не всегда заранее можно быть уверенным, существуют ли |
|
|||||||
элементы, |
ему принадлежащие. Например, можно говорить о |
|
||||||
множестве четырехугольников на плоскости, у которых все углы |
|
|||||||
прямые, а |
диагонали |
не равны. Только знания основ |
геометрии |
|
||||
4
позволяют |
убедиться, что |
таких |
четырехугольников |
не |
существует и, следовательно, это множество пусто. |
|
|||
Большинство утверждений теории множеств связано с равенством двух множеств и включением одного множества в
другое. |
Поэтому |
надо |
детально |
разобраться |
в |
методах |
|
доказательства этих фактов. |
|
|
|
|
|||
1. |
Доказательство |
включения |
ÍАВ. |
Для этого |
нужно |
|
|
доказать, что любой элементx, принадлежащий множеству А, |
|
||||||
одновременно является элементом множества В, т.е. |
|
|
|||||
|
|
(x Î А) => (x Î В). |
|
|
|
||
2. Доказательство равенства А = В. Оно сводится к |
|
||||||
доказательству двух включений АÍВ и ВÍА. |
|
|
|
||||
Пример 1. Докажем |
следующую |
теорему. Для |
любых |
|
|||
множеств А, В и С выполняется закон транзитивности нестрогого |
|
||||||
включения, т.е. если АÍВ и ВÍС, то из этого следует, что АÍС. |
|
||||||
Доказательство. Пусть x - любой элемент множества А, |
|
||||||
(xÎА), тогда в силу условия АÍВ, по |
определению нестрогого |
|
|||||
включения, элемент |
х принадлежит множеству В(хÎB). После |
|
|||||
доказательства этого факта, аналогично, используя условие ВÍС, можно доказать, что х принадлежит С (хÎС).
В качестве исходного допущения мы приняли, что x – любой элемент из . АИз этого допущения при выполнении
условий а) и б) получено следствие хÎС. По |
определению |
нестрогого включения это означает ÍСА, что и |
требовалось |
доказать.
Пример 2. Пусть А={1,6}, В ={х | х2-7х+6=0}. Последнее читается как В является множеством элементов х, для которых
выполняется |
условие 2 х- 7х + 6 = 0. Включение АÍВ |
доказывается |
подстановкой элементов множества А в это |
условие. Для доказательства обратного включения ÍВА нужно найти все корни уравнения и убедиться, что они равны 1 и 6, т.е.
принадлежат |
.А Выполнение |
обоих |
нестрогих |
включений |
означает равенство множеств А и В. |
|
|
|
|
5
Над множествами определены следующие операции.
1.Объединение. Пусть А и В– произвольные множества. Их объединением называется множество С = А È В, которое состоит из всех элементов, принадлежащих хотя бы одному из множеств А или В.
2.Пересечение. Пересечением множеств А и В называется множество , С состоящее из элементов, одновременно
принадлежащих А и В. Обозначается так: C = A Ç B.
3.Разность. Разность множеств А и В – это множество С (С
=А \ В), состоящее из элементов множества А, не
принадлежащих множеству В. Если В Í А, то разность С = А \ В называется дополнением В до А. Считается, что все множества включены в некоторое множествоU, которое называют
универсальным множеством (универсумом). В этом случае дополнение какого-либо множества А доU обозначается С(А) или A .
4. Симметричная разность. По определению симметричная разность двух множеств А и В – это множество
С = А D В = (А \ В) È (В \ А).
Перечисленные операции удобно изображать графически с помощью т.н. диаграмм Вена.
Основные свойства операций.
1.Коммутативность:
АÇ В = В Ç А; А È В = В È А.
2.Ассоциативность:
(А Ç В) Ç С = А Ç (В Ç С) = А Ç В Ç С; (А È B) È С = А È (В È С) = А È В È С.
3. Взаимная дистрибутивность:
а) (А È В) Ç С = (А Ç С) È (В Ç С); б) (А Ç B) È С = (А È С) Ç (В È С).
4.Идемпотентность: A È A = A; A Ç A = A.
5.Законы поглощения: (A Ç B) È A = A; (A È B) Ç A = A.
6.Свойства нуля: A È Æ =A; A Ç Æ = Æ.
7.Свойства единицы: A È U =U; A Ç U = A.
8.Инволютивность: A = A .
6
9.Законы де Моргана: A Ç B = A È B ; A È B = A Ç B .
10.Свойства дополнения: A È A = U ; A Ç A = Æ .
Законы де Моргана можно обобщить на произвольное количество множеств. Пусть А1, А2, . . . – некоторые множества и пусть все они включены в S (А1, А2, . . . Í S). Тогда выполняются следующие соотношения:
11. |
S \ UAk = I(S \ Ak ) |
– |
дополнение |
объединения |
|
|
k |
k |
|
|
|
множеств равно пересечению их дополнений. |
|
||||
12. |
S \ IAk = U(S \ Ak ) |
– |
дополнение |
пересечения |
|
|
k |
k |
|
|
|
множеств равно объединению их дополнений.
Задание
1. В универсальном множествеU={1,2,3,4,5,6,7} заданы подмножества A={x| x < 4}, B={2,4,5,7}, C={1,2,5,6}. Найти:
а) C È A;
б) В Ç С; в) С D В;
г) U \ A.
2. Написать программу, которая формирует заданные множества и выполняет операции в соответствии с вариантом:
1.A Ç (B Ç C).
2.A È (B È C).
3.А È (A Ç B).
4.А Ç (A È B).
5.(A \ C) È (B \ C).
6.(A \ B) È (A \ C). 7.(AÈB) \ C
8.A \ (B Ç C).
9.А D В
10.(А \ В) È (В \ А).
7
Практическая работа № 2. Отображения и функции. Свойства отображений. Нечеткие множества, функция принадлежности.
Операции над нечеткими множествами
Цель работы: получение навыков задания нечетких множеств в ЭВМ и выполнения операций с ними.
Теоретические сведения
Во многих прикладных задачах, решаемых с помощью теории множеств, бывает сложно однозначно и четко ограничить набор элементов, принадлежащих данному множеству, т.к.
возникает |
противоречие |
между |
формальной |
природой |
математики и привычкой человека мыслить неопределенными, |
||||
расплывчатыми понятиями. |
|
|
|
|
Пусть Е – универсальное множество, x – элемент E, а Р – |
||||
некоторое |
свойство. Обычное (четкое) |
подмножество |
A |
|
универсального множества E, элементы которого удовлетворяют |
||||
свойству Р, определяется как множество упорядоченных пар |
|
|||
|
A = {mA (х) | x}, |
|
(*) |
|
где mA(х) – характеристическая функция, принимающая значение 1, если x удовлетворяет свойству Р, и 0 – в противном случае.
Нечеткое подмножество отличается от обычного тем, что для элементов x из E нет однозначного ответа “да-нет” относительно свойства Р. В связи с этим нечеткое подмножество A универсального множества E определяется как множество
упорядоченных пар вида (*) где mA(х) принимает значения уже в некотором вполне упорядоченном множествеM (например, M°=°[0, 1]). Функция принадлежности указывает степень(или уровень) принадлежности элемента x подмножеству A. Множество M называют множеством принадлежностей. Если M°=°{0, 1}, то нечеткое подмножество A может рассматриваться как обычное или четкое множество.
Примеры записи нечеткого множества. Пусть E = {x1, x2, x3, x4, x5 }, M = [0, 1]; A – нечеткое множество, для которого
8
mA(x1)°=°0,3; mA(x2)=0; mA(x3)=1; mA(x4)=0,5; mA(x5)=0,9. Тогда A
можно представить в виде:
A = {0,3 / x1; 0 / x2; 1 / x3; 0,5 / x4; 0,9 / x5 }
или
A = 0,3/x1 È 0/x2 È 1/x3 È 0,5/x4 È 0,9/x5,
или
A = |
x1 |
x2 |
x3 |
x4 |
|
x5 |
|
|
|
|
|
|
|
|
|
0,3 |
0 |
1 |
0,5 |
|
0,9 |
|
|
|
|
|
|||||
Основные |
|
|
|
|
|
|
|
характеристики |
нечетких |
множеств. Пусть |
|||||
M°=°[0, 1] и A – нечеткое множество с элементами из универсального множества E и множеством принадлежностей M.
Величина |
sup mA (x) |
называется высотой |
нечеткого |
|
xÎE |
|
|
множества A(sup F(x) – точная верхняя граница функции F(x)).
Нечеткое множество A нормально, если его высота равна 1, т.е. верхняя граница его функции принадлежности 1равна ( supmA (x) =1). При supmA (x) < 1 нечеткое множество называется
xÎE |
xÎE |
субнормальным.
Нечеткое множество пусто, если " xÎE mA(x) = 0. Непустое субнормальное множество можно нормализовать по формуле
|
|
(x) = |
mA (x) . |
||
mA |
|||||
sup mA (x) |
|
||||
|
|
|
xÎE |
||
Носителем нечеткого множества A является обычное
подмножество со свойством mA(x) > 0.
1. Включение. Пусть A и B – нечеткие множества на универсальном множестве E. Говорят, что A содержится в B, если
"x ÎE mA(x) > mB(x). Обозначение: A Ì B.
2.Равенство. A и B равны, если "xÎE mA(x) = mB(x). Обозначение: A = B.
3.Дополнение. Пусть M = [0, 1], A и B – нечеткие множества, заданные на E. A и B дополняют друг друга, если
9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"xÎE mA(x) = 1 – mB(x). Обозначение: B = |
|
A |
или |
A = B . |
|||||||||
Очевидно, что |
|
|
= A . |
|
|
|
|
|
|
|
|
|
|
A |
|
|
|
|
|
|
|
|
|
||||
4. |
Пересечение. |
A |
BÇ – наибольшее |
нечеткое |
|||||||||
подмножество, содержащееся одновременно в A и B; |
|
|
|
||||||||||
|
|
|
|
mA Ç B(x) = min{mA(x), mB(x)}. |
|
|
|
|
|||||
5. |
Объединение. |
А |
È |
В – наименьшее |
нечеткое |
||||||||
подмножество, включающее |
|
как , Атак |
и |
, Вс |
функцией |
||||||||
принадлежности |
|
|
|
|
|
|
|
|
|
||||
mAÈ B(x) = max {(mA(x), mB(x)}.
6. Разность. А \ B = А Ç B с функцией принадлежности: mA\B(x) = min { mA(x), 1 – mB(x)}.
Например, пусть: A = 0,4/ x1 È 0,2/ x2 È 0/ x3 È 1/ x4; B = 0,7/ x1 È 0,9/ x2 È 0,1/ x3 È1/ x4; C = 0,1/ x1 È 1/ x2 È 0,2/ x3 È 0,9/ x4.
Здесь:
1)A Ì B, т.е. A содержится в B, С несравнимо ни с A, ни с B.
2)A ¹ B ¹ C.
3)A = 0,6/ x1 È 0,8/ x2 È 1/ x3 È 0/ x4;
B = 0,3/ x1 È 0,1/ x2 È 0,9/ x3 È 0/ x4.
Свойства операций. Пусть А, В, С – нечеткие множества, тогда выполняются следующие соотношения:
а) A Ç B = B Ç Aüý– коммутативность;
A È B = A È Bþ
б) (A Ç B) Ç C = A Ç (B Ç C)üý– ассоциативность;
(A È B) È C = A È (B È C)þ
в) A Ç A = Aüý– идемпотентность;
A È A = Aþ
г) A Ç (B È C) = (A Ç B) È (A Ç C)üý– дистрибутивность;
A È (B Ç C) = (A È B) Ç (A È C)þ
д) AÈÆ = A, где Æ – пустое множество, т.е. mÆ(x)=0 "xÎE; AÇÆ = Æ;
AÇE = A, где E – универсальное множество;
10
