- •Оглавление
 - •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  | 
	
