
- •Оглавление
- •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.2. Метод эквивалентных преобразований
Теоретико-множественные тождества можно доказывать, используя свойства операций над множествами (см. п. 1.4. “Свойства операций над множествами”). Для этого нужно преобразовать левую часть в правую, или правую – в левую, или правую и левую часть в некоторое третье выражение.
Докажем этим методом тождество:
(AB)(AC)= A(BC).
Преобразуем левую часть к правой:
(AB)(AC)=((AB)(AC))
=
=(A(BC))(
)=
(A(BC))(
)
(
)=
=(A(BC))( ( ( ))=
=((A(BC)) )((A(BC))( ))=
=((A(BC)) (A( ))=
=(A(BC))
(A
)=
= A((BC) )=
= A((BC)-(BC))=
= A(BC).
Тождество доказано.
1.5.3. Метод характеристических функций
Доказательство сложных теоретико-множественных тождеств методом двух включений или методом эквивалентных преобразований часто бывает довольно громоздким, и при построении доказательства ход рассуждений не всегда очевиден. Одним из методов, не требующих ”угадывания” пути доказательства, является метод характеристических функций.
Характеристическая функция А множества А для хU определяется следующим образом: А(x)=1, если xA и А(x)=0, если xA.
Для характеристической функции А множества А справедливо тождество:
А2(x)=А(x).
Характеристическая функция АВ(x) пересечения множеств А и В определяется произведением характеристических функций множеств А и В :
АВ(x)= А(x)*В(x).
Для получения характеристической функции АВ(x) объединения множеств А и В сложим характеристические функции множеств А и В. Но в этом случае для элементов хАВ такая сумма будет иметь значение 2, поэтому из этой суммы необходимо вычесть характеристическую функцию АВ(x) пересечения множеств А и В:
АВ(x)= А(x)+В(x)-А(x)*В(x).
Характеристическая функция (х) дополнения множества А определяется формулой:
(х)=1-А(x).
Характеристическая функция А-В(x) разности множеств А и В имеет вид
А-В(x)= А(x)-А(x)*В(x),
а для симметрической разности -
АВ(x)= А(x)+В(x)-2*А(x)*В(x).
Метод характеристических функций доказательства справедливости теоретико-множественного тождества заключается в выражении характеристических функций обеих его частей через характеристические функции входящих в него множеств. Тождества верны тогда и только тогда, когда характеристические функции левой и правой частей совпадают.
Докажем этим методом тождество:
(AB)C=(AC)(BC).
C одной стороны,
(AB)C(х)= (AB) (х)*C(х)=(A(х)+В(х)-2*A(х)*В(х))*С(х)=
=A(х)*С(х)+В(х)*С(х)-2*A(х)*В(х)*С(х).
С другой стороны,
(AC)(BC)(x)=AC(x)+BC(x)-2*AC(x)*BC(x)=
=A(x)*C(x)+B(x)*C(x)-2*A(x)*C(x)*B(x)*C(x)=
=A(x)*C(x)+B(x)*C(x)-2*A(x)*B(x)*C(x).
Характеристические функции левой и правой частей тождества совпадают. Следовательно, тождество верно.
1.5.4. Метод логических функций
В результате выполнения операций объединения, пересечения, разности, симметрической разности и дополнения из исходных множеств получаем новые множества, которые определяются следующим образом (см. п.1.3.“Операции над множествами“):
АВ = {x | xA или xB}
АВ = {x | xA и xB}
А-В = {x | xA и xB}
АВ = {x | xA и xB или xВ и xА}
= {x | xА}
Из этих определений с учётом того, что xА = не xA , следует справедливость следующих равенств:
xАВ = xA или xB
xАВ = xA и xB
xА-В = xA и не xB
xАВ = xA и не xB или xВ и не xА
x = не xА
Используя вышеприведённые равенства, выразим принадлежность элемента множествам, определяемым левой и правой частью тождества, логическими (булевыми) функциями, зависящими от принадлежности элемента исходным множествам. Если полученные функции имеют одну и туже таблицу истинности, то тождество верно.
Докажем этим методом тождество:
(AB)C=(AC)(BC).
Для левой части,
x((AB)C) =
= x(AB) и xC =
= (xA и не xB или xВ и не xА) и xC
Для правой части,
x(AC)(BC) =
= x AC и не xBC или xВC и не xAC =
= xA и xС и не (xВ и xС) или xВ и xС и не (xA и xB)
Логические функции для левой и правой части тождества получены и их таблицы истинности (табл.1.2) совпадают, следовательно, тождество верно.
Таблица 1.2
Таблица истинности
XА |
xВ |
xС |
Левая часть |
Правая часть |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |