
- •Оглавление
- •1. Множества
- •1.1. Основные понятия
- •1.2. Способы задания множеств
- •1.3. Операции над множествами
- •Приоритеты операций над множествами
- •1.4. Свойства операций над множествами
- •1.5. Методы доказательства теоретико-множественных тождеств
- •1.5.1. Метод двух включений
- •1.5.2. Метод эквивалентных преобразований
- •1.5.3. Метод характеристических функций
- •1.5.4. Метод логических функций
- •1.5.5. Теоретико-множественный метод
- •1.6. Способы представления множества в памяти эвм
- •1.7. Алгоритмы реализации операций над множествами
- •Практическое занятие 1.1 Операции над множествами
- •Задания
- •Варианты заданий
- •Практическое занятие 1.2 Теоретико-множественные тождества
- •Задания
- •Варианты заданий
- •Контрольные вопросы
- •2. Комбинаторные объекты
- •2.1. Введение
- •2.2. Метод поиска с возвращением
- •2.3. Подмножества
- •2.4. Перестановки
- •2.5. Размещения
- •2.6. Размещения с повторениями
- •2.7. Сочетания
- •2.8. Перестановки с повторениями
- •2.9. Сочетания с повторениями
- •2.10. Упорядоченные разбиения множества
- •2.11. Разбиения множества
- •2.12. Использование алгоритмов порождения комбинаторных объектов при проектировании полнопереборных алгоритмов решения задач выбора
- •2.13. О неэффективности полнопереборных алгоритмов. Пример
- •Времена обработки деталей на станках a и b
- •Времена окончания обработки деталей на станках a и b
- •Времена окончания обработки деталей на станках a и b
- •Времена окончания обработки деталей на станках a и b
- •Практическое занятие 2.1 Алгоритмы порождения комбинаторных объектов
- •Задания
- •Практическое занятие 2.2 Разбиения множеств
- •Задания
- •Количество упорядоченных разбиений
- •Практическое занятие 2.3
- •Задачи выбора
- •Цель занятия: приобретение практических навыков в использовании алгоритмов порождения комбинаторных объектов при проектировании алгоритмов решения задач выбора.
- •Задания
- •Варианты заданий
- •Контрольные вопросы
- •Библиографический список
1.2. Способы задания множеств
1. Перечислением всех элементов.
A={a,b,c} , B={b,a,c} , C={a} , D={1,2,3,5,9}. Из определения равенства множеств вытекает, что A=B.
2. Заданием характеристического свойства, выделяющего элементы данного множества среди элементов указанного или указанных других множеств.
A={x | xN и x<10} (N – множество натуральных чисел),
B={1,2,3,4,5,6,7,8,9} , A=B.
3. Описанием порождающей процедуры с указанием множества (или множеств), которое “пробегает” параметр (или параметры) процедуры.
A={x2 | xN} – множество всех квадратов натуральных чисел.
Перечислением можно задать только конечное множество, а с помощью характеристического свойства или порождающей процедуры - конечное или бесконечное множество.
1.3. Операции над множествами
1. Включение А в В (АВ или ВА) истинно, если каждый элемент множества А принадлежит множеству В. В этом случае А называется подмножеством В, а В – надмножеством А. Множества А и В равны (А=В), если АВ и ВА. Пустое множество является подмножеством любого множества. Универсум является надмножеством любого множества. Множество всех подмножеств множества M называется булеаном и обозначается 2М:
2М= {A| AM}
Для конечного множества М |2М|=2|M|. Каждому подмножеству А можно сопоставить |M|-разрядный двоичный вектор С в котором: Ci=1, если iA и Ci=0, если iA, где i – элемент множества M, Сi – i-й разряд вектора С. Количество различных |M|-разрядных двоичных векторов равно 2|M|, следовательно |2М|=2|M|.
2. Строгое включение А в В (АВ или ВА) истинно, если АВ и АВ. Если А и АВ , то А есть собственное подмножество В.
3. Объединение А и В (АВ) есть множество, состоящее из всех тех и только тех элементов, которые принадлежат А или В, т.е.
АВ = {x | xA или xB}.
4. Пересечение А и В (АВ) есть множество, состоящее из всех тех и только тех элементов, которые принадлежат каждому из множеств А и В, т.е.
АВ = {x | xA и xB}.
5. Разность А и В (А-В) есть множество, состоящее из всех тех и только тех элементов множества А, которые не принадлежат множеству В, т.е.
А-В = {x | xA и xB}.
Для обозначения разности множеств в дискретной математике обычно используют символ “\”.
6. Симметрическая разность А и В (АВ) есть множество, состоящее из всех тех и только тех элементов множества А, которые не принадлежат множеству В и только тех элементов множества В, которые не принадлежат множеству А, т.е.
АВ = {x | xA и xB или xВ и xА}.
АВ = (АВ)-(АВ) = (А-В)(В-А).
7. Дополнение
А до универсума
U
(
)
есть множество, состоящее из всех тех
и только тех элементов универсума U,
которые не принадлежат множеству А,
т.е.
= {x | xА}.
= U-A.
Для любых двух множеств А и В имеет место хотя бы один из следующих пяти случаев (возможностей):
1) A=B, (|A|=|B|) А равно В;
2) AB, (|A||B|) А строго включено в В;
3) BA, (|B||A|) В строго включено в А;
4) AB=, (| AB|=0 и |AB|=|A|+|B|) А и В не пересекаются;
5) AB и AABB, (|AB|<|A|+|B| и |A|<|AB|>|B|) А и В в общем положении.
Если оба множества А и В не пусты, то имеет место только один случай.
На рис.1.1 приведены диаграммы Эйлера (Эйлер (1707-1783) предложил изображать множества в виде кругов ещё до создания теории множеств Кантором (1845-1918)), иллюстрирующие операции над множествами. Множества изображаются фигурами (овалами), а результат выделяется графически.
A B A B
А=В АВ
A B A B
АВ АВ
А В А В А
А-В АВ
Рис.1.1. Операции над множествами
Множество всех подмножеств множества U (булеан) с операциями над множествами образуют алгебру подмножеств (алгебру Кантора) множества U. Выражение, составленное из подмножеств множества U и операций над множествами называется выражением в алгебре подмножеств. Выражение в алгебре подмножеств может содержать скобки, определяющие порядок выполнения операций. Если скобки не указаны, то порядок выполнения операций определяется их приоритетами (табл.1.1). Значением выражения в алгебре подмножеств является подмножество множества U.
Таблица 1.1