- •1. Множества и операции над ними
- •1.1. Множества. Определения, примеры. Способы задания множеств
- •Способы задания множеств
- •I. Задание множества списком
- •II. Порождающая процедура
- •III. Задание множества описанием его элементов (разрешающая процедура)
- •1.2.Операции над множествами
- •2.Векторы и прямые произведения
- •2.1. Векторы
- •2.1.Проекции векторов и векторных множеств на оси
- •3. Элементы комбинаторики
- •3.1. Правило произведения
- •3.2. Размещения без повторений
- •3.3. Размещения с повторениями
- •3.4. Перестановки без повторений
- •3.5. Перестановки с повторениями
- •3.6. Сочетания без повторений
- •3.6. Правило суммы
- •4. Соответствия
- •4.1 Определения и примеры
- •4.2. Взаимно однозначные соответствия и мощность множеств
- •4.3. Счетные множества
- •О парадоксе Кантора
- •5. Отношения
- •5.1. Определения и примеры
- •5.2. Способы задания бинарных отношений
- •5.3. Свойства отношений
- •5.4. Отношение эквивалентности
- •Классы эквивалентности
- •5.5. Отношение порядка
- •6. Элементы общей алгебры
- •6.1. Алгебры
- •6.2. Свойства бинарных алгебраических операций
- •6.3.Гомоморфизм и изоморфизм алгебр
- •7. Булева алгебра и теория множеств
- •7.1. Основные определения
7. Булева алгебра и теория множеств
7.1. Основные определения
Будем рассматривать двухэлементное множество , элементы которого не являются числами в полном смысле этого слова, а интерпретируются как «ложь» и «истина». Считая их логическими переменными, определим следующие функции алгебры двузначной логики.
Определение:
Отрицанием x назовем функцию , которая значению аргумента x = 0 ставит в соответствие ; а значению аргумента x = 1 ставит в соответствие .
Определение:
Конъюнкцией элементов и назовем функцию , которая имеет значение 1, только если . В остальных случаях конъюнкция равна 0.
Определение:
Дизъюнкцией элементов и назовем функцию , которая принимает значение 1, если хотя бы один из ее аргументов или (то есть только , или только , или и одновременно) равны 1. Дизъюнкция равна нулю тогда и только тогда, когда .
Определенные так логические функции носят название логических связок «не», «и», «или».
Связь между ними описывается с помощью набора эквивалентностей:
1) ; 2) ;
3) ; 4) ;
5); 6);
7) ; 8) ;
9) ; 10) ;
11) ; 12) ;
13) ; 14) ;
.
Любые операции, подчиняющиеся свойствам 1-14, называются булевыми операциями. F алгебры с данным набором операций называются булевыми алгебрами. Так, например, свойства 1-14 будут выполняться и для операций объединения, пересечения и дополнения множеств, если сопоставить
объединение – дизъюнкции;
пересечение – конъюнкции;
дополнение – отрицанию, а вместо и подставить некоторые множества А и В из U (универсального множества).
Заметим важный факт, что если применить данные операции к логическим функциям , где , то результатами тоже будут логические функции. Поэтому связки &, также можно считать и операциями над множеством всех логических функций двузначной логики, обозначаем .
Тогда алгебра тоже будет булевой алгеброй (булевой алгеброй логических функций), так как для ее операций тоже выполняются соотношения 1-14, где вместо переменных и подставлены логические функции .
Если U – некоторое множество элементов мощности n: .
Определение: B - булеан U – это множество (совокупность) всех подмножеств множества U.
Определение: Алгебра (B,), несущим множеством которой является множество B, а операциями – пересечение, объединение и дополнение множеств, называется булевой алгеброй множества U или алгеброй Кантора. Ее тип (2,2,1).
Общий термин ”булева алгебра” для алгебр множеств и логических функций не случаен.
Определение: Всякая алгебра типа (2,2,1) называется булевой алгеброй, если ее операции удовлетворяют основным свойствам булевых операций 1-14.
В алгебре множеств элементами являются подмножества фиксированного (”универсального”) множества U, операции & соответствует пересечение , операции – объединение , операции (отрицание) соответствует дополнение; единицей является само множество U, нулем - . Справедливость соотношений 1-14 для алгебры множеств можно доказать непосредственно их проверкой. Для этого нужно рассмотреть переменные в них как множества, знаки & и заменить на и , и показать, что, если какой-либо элемент принадлежит множеству из левой части равенства, то он принадлежит и правой части, и наоборот.
В пункте 4.2. (в теореме о числе подмножеств конечного множества) отмечалось и использовалось взаимно однозначное соответствие между множеством двоичных векторов длины n и множеством B, где : каждому подмножеству соответствует двоичный вектор , где .
Булева алгебра на множестве (двоичных векторов) определяется следующим образом: для любых и
.
Поскольку компоненты (разряды) и векторов и принимают значения 0 и 1, то указанные операции над компонентами – это просто логические операции над двоичными переменными.
Определение: Операции над векторами назовем покомпонентными (поразрядными) логическими операциями над двоичными векторами.
Такие операции (наряду с логическими операциями над переменными) входят, в частности, в систему команд любой современной ЭВМ. Выполнение их очень просто: вектор содержит единицы во всех разрядах, в которых есть 1 либо в , либо в ;
- вектор содержит единицы только в тех разрядах, в которых есть единицы и в , и в ;
- вектор содержит единицы в тех разрядах, в которых содержит 0 и наоборот.
Например:
, то = 11011, = 01010,
= 10100, .
Теорема 1(об изоморфизме булевых алгебр)
Если , то булева алгебра (B,) изоморфна булевой алгебре .
Доказательство:
Итак, вспомним взаимно однозначное соответствие между B и .
Множеству М B соответствует , т.е.
. (*)
Остается показать, что Г – изоморфизм, т.е. проверить выполнение равенства гомоморфизма алгебр для всех трех операций:
,
если .
Справедливость их вытекает из (*). Докажем, например второе:
- если , то i-ый разряд вектора равен 1;
но, с другой стороны, это означает, что или , но это (по гомоморфизму) означает, или , и, следовательно, i-ый разряд вектора равен 1;
- если , то i-ый разряд вектора равен 0;
но это означает, что и , но это (по Г) означает, и , и, следовательно, i-ый разряд вектора равен 0.
Аналогично доказываются остальные равенства.
Эта теорема позволяет заменить теоретико-множественные операции над системой подмножеств поразрядными логическими операциями над двоичными векторами. Такая замена часто используется при программировании, поскольку представление двоичных векторов и поразрядные операции над ними реализуются очень просто.
Рассмотрим теперь множество всех логических функций m переменных . Оно замкнуто относительно операций (результат их применения к функциям из снова дает функцию из , и, следовательно, образует конечную булеву алгебру , являющуюся подалгеброй булевой алгебры логических функций.
Теорема 2 (об изоморфизме булевых алгебр).
Если , то булева алгебра множеств (B,) изоморфна булевой алгебре функций .
Доказательство:
1. Прежде всего отметим, что эти алгебры равномощны и обе содержат по элементов т.к. если , то B=, и т.к. все двоичные функции с m переменным определяются вектор-столбцом с компонентами, то таких различных двоичных векторов будет ;
2. Поскольку все множества U одинаковой мощности порождают изоморфные булевы алгебры (B,) множеств, то эту теорему достаточно доказать для какого-либо конкретного U, удовлетворяющего условию . В качестве такого множества U возьмем множество– двоичных векторов длины m и, следовательно, будем доказывать изоморфизм между булевой алгеброй множеств (B,) и булевой алгеброй функций ;
3. Обозначим через множество единичных наборов функции f. Тогда набор принадлежит . Соответственно (гомоморфизм отображает f в множество единичных наборов ) – между функциями и их единичными множествами является взаимно однозначным соответствием между и B, поскольку различным функциям соответствуют различные множества, и наоборот.
Определение: Функцию f , единичным множеством которой служит М, называют характеристической функцией множества М.
4. Покажем, что взаимно однозначное соответствие Г является изоморфизмом. Достаточно проверить выполнение равенств гомоморфизма для всех трех пар операций, которое в данном случае сводится к трем уравнениям:
,
для любых функций f и g от m переменных. Докажем втрое из них.
Пусть ( - двоичный вектор, , f – единичное множество функции ), тогда и, следовательно, или и, значит, или , следовательно, .
Обратно:
или
или
.
Аналогично доказываем остальные свойства.
Замечание: Во избежание путаницы обращаем внимание на различие объектов в доказанных нами теоремах.
1. В теореме 1 фигурировала алгебра со следующим основным множеством:
- - множество произвольной природы и любой конечной мощности n;
- B - множество подмножеств U мощности ;
- - множество двоичных векторов длины n также мощности .
В теореме 2 участвовали:
- тот же множество , но с дополнительным условием (m – любое натуральное число);
- - конкретное множество U с этими же условиями: ;
- множество логических функций m переменных: ;
- B - множество подмножеств :B=.
2. Множества и , хотя и имеют одну и ту же природу (состоят из двоичных наборов), использовались в теореме 1 и теореме 2 по-разному. В теореме 1 была использована структура элементов , благодаря чему над ними оказались возможными поразрядные логические операции. Подмножества не рассматривались. В теореме 2 структура элементов не учитывалась, само было выбрано только для естественности и наглядности, зато рассматривалась B - система
Таблица 1
f |
g |
||||||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
подмножеств . Теоремы 1 и 2 указывают на тесную связь между множествами и логическими функциями и позволяют переходить от операций над множествами к операциям над функциями и обратно. В частности, они дают возможность непосредственно производить операции над функциями, заданными не формулами, а таблицами или единичными множествами.
Из теоремы 1 и теоремы 2 следует, что булевы операции над функциями, заданными таблицами, сводятся к поразрядным логическим операциям над столбцами значений функций. Пример, приведенный в таблице, содержащей две функции f и g, и результат булевых операций над ними.