
- •Оглавление
- •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.5.5. Теоретико-множественный метод
Этот метод основан на вычислении теоретико-множественного тождества при определённых значениях входящих в него множеств, и, если при этих значениях множеств теоретико-множественное тождество истинно, то оно истинно и при любых других значениях входящих в него множеств.
Пусть теоретико-множественное тождество содержит n исходных множеств А1,А2, … ,Аn и каждая пара множеств находится в общем положении. Тогда универсум разбивается на множество В={В1,В2, … ,Вm} попарно-непересекающихся подмножеств. Каждому подмножеству Вj можно поставить в соответствие n-разрядный двоичный вектор, в котором i-ый разряд равен 1, если хотя бы один элемент множества Аi принадлежит подмножеству Вj , иначе i-ый разряд равен 0. Следовательно, количество m подмножеств, на которые разбивается универсум, равно количеству двоичных n-разрядных векторов, т.е. m=2n .
Определим множество Аi как множество, содержащее в себе в качестве элементов элементы множества В, объединение которых равно множеству Аi . Элемент ВjB будет принадлежать множеству Аi, если двоичный код числа j содержит единицу в i-ом разряде. Обозначим множество Bj натуральным числом j , тогда множество Аi будет представлять собой конечное множество натуральных чисел. Таким образом определим значения множеств А1,А2, … ,Аn и подставим их в левую и правую части тождества вместо исходных множеств А1,А2, … ,Аn . Вычислим множества, определяемые левой и правой частью тождества, и, если эти множества окажутся равными, то тождество верно.
Докажем этим методом тождество:
(AB)C=(AC)(BC).
Тождество содержит три исходных множества А, В и С, которые, в общем случае, разбивают универсум на 23 подмножеств, соответствующих 3-х разрядным двоичным векторам. В таблице 1.3 представлены двоичные вектора и соответствующие им номера подмножеств.
Находим значения множеств А, В и С.
Просматривая столбец таблицы 1.3, соответствующий множеству А, обнаруживаем единицы в строках, соответствующих подмножествам 1, 3, 5 и 7, т.е. А={1,3,5,7}. Аналогичным образом определяем значения множеств В и С: В={2,3,6,7}, С={4,5,6,7}.
Таблица 1.3
Разбиение универсума множествами А, В и С на подмножества
Исходные множества |
Номер Подмножества |
||
С |
В |
А |
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
2 |
0 |
1 |
1 |
3 |
1 |
0 |
0 |
4 |
1 |
0 |
1 |
5 |
1 |
1 |
0 |
6 |
1 |
1 |
1 |
7 |
Разбиение универсума множествами А, В и С на подмножества показано на рис.1.2 с помощью кругов Эйлера.
А 1 3 2 В
5 7 6
0
4 С
Рис.1.2. Разбиение универсума множествами А, В и С
на подмножества
Далее в левую и правую части тождества вместо исходных множеств А, В и С подставляем значения множеств А, В и С:
левая часть
(AB)C=({1,3,5,7}{2,3,6,7}){4,5,6,7}= {1,5,2,6}{4,5,6,7}={5,6}
правая часть
(AC)(BC)= ({1,3,5,7}{4,5,6,7})({2,3,6,7}{4,5,6,7})=
={5,7}{6,7}={5,6}
Значения левой и правой части совпадают, следовательно, тождество верно.