Лекция № 10. Булевы алгебры и теория множеств.
- Двойственность.
Определение. Функция называется двойственной к функции , если .
Если взять отрицание обеих частей равенства и подставить вместо переменных , то получится . Это означает, что функция двойственна к функции , и, таким образом, отношение двойственности является симметричным. Из определения двойственности ясно, что для любой функции двойственная ей функция определяется однозначно. В частности, может оказаться, что функция двойственна самой себе. В этом случае она называется самодвойственной.
Пример 1. Если рассматривать логические функции, то, очевидно, дизъюнкция двойственна конъюнкции и наоборот (непосредственно следует из правил Де Моргана). Отрицание является самодвойственной функцией. Функция-константа двойственна функции . Ещё один традиционный пример самодвойственной функции – функция .
Пользуясь определением двойственности нетрудно доказать следующее утверждение, называемое принципом двойственности.
Теорема 10.1. Если в формуле , представляющей функцию , все знаки функций заменить соответственно на знаки двойственных им функций, то полученная формула будет представлять функцию , двойственную функции .
В булевой алгебре принцип двойственности имеет более конкретный вид, вытекающий из ранее приведённых примеров: если в формуле , представляющей функцию , все конъюнкции заменить дизъюнкциями и наоборот, все единицы заменить нулями и наоборот, то получим формулу , представляющую функцию , двойственную функции .
Если функции равны, то двойственные им функции также равны. Это позволяет с помощью принципа двойственности получать новые эквивалентные соотношения, переходя от равенства с помощью указанных замен к равенству . Примером могут служить соотношения и , которые могут быть получены друг из друга по указанному принципу.
- Булева алгебра и теория множеств.
Ранее были описаны булевы алгебры множеств, то есть алгебры вида , где - булеан множества , то есть множество всех его подмножеств. Общий термин “булева алгебра” для алгебр множеств и логических функций не является случайным.
Определение. Всякая алгебра типа называется булевой алгеброй, если её операции удовлетворяют соотношениям 1 – 10 (см. предыдущую лекцию).
В алгебре множеств элементами являются подмножества фиксированного универсального множества . В этой алгебре операция пересечения соответствует конъюнкции, операция объединения соответствует дизъюнкции, а операция дополнения соответствует отрицанию. Само множество является единицей, а пустое множество – нулём. Справедливость соотношений 1 – 10 для этой алгебры можно доказать непосредственно, рассматривая в них переменные как множества, а знаки логических функций – как соответствующие операции над множествами.
В одной из предыдущих лекций отмечалось взаимно однозначное соответствие между множеством , где и множеством двоичных векторов длины . Каждому подмножеству соответствует двоичный вектор , где , если , и , если . Операции над векторами в булевой алгебре определяются следующим образом.
Пусть даны два вектора и из множества . Тогда:
,
,
.
Поскольку компоненты (координаты) векторов принимают значения 0 или 1, то указанные операции – это просто логические операции над двоичными переменными, поэтому операции над векторами естественно назвать покомпонентными логическими операциями над двоичными векторами.
Пример 2. Даны векторы и . Найти .
Решение:
.
Заметим, что подобные операции (наряду с логическими операциями над переменными) входят в систему команд любой современной ЭВМ.
Теорема 10.2. Если мощность множества равна , то булева алгебра изоморфна булевой алгебре .
Эта простая по содержанию теорема имеет огромное значение в математике. Она позволяет заменить теоретико-множественные операции над системой подмножеств данного множества поразрядными логическими операциями над двоичными векторами.
Похожая по формулировке, но значительно отличающаяся по смыслу теорема существует для множества всех логических функций переменных . Обозначим это множество . Оно замкнуто относительно операций и, следовательно, образует конечную булеву алгебру , которая является подалгеброй булевой алгебры логических функций.
Теорема 10.3. Если мощность множества равна , то булева алгебра изоморфна булевой алгебре функций .
Теорема 10.3 указывает на тесную связь между множествами и логическими функциями и позволяет переходить от операций над множествами к операциям над функциями и обратно. В частности, они позволяют непосредственно производить операции над функциями, заданными не формулами, а таблицами. Пример приведён в следующей таблице, содержащей две функции трёх переменных и и результаты операций над ними:
- ДНФ, интервалы и покрытия.
Теоретико-множественная интерпретация булевой алгебры предлагает очень удобный язык для изучения дизъюнктивных нормальных форм (ДНФ) и построения методов их упрощения. Рассмотрим кратко основные понятия, связанные с ДНФ.
Введём следующее обозначение: обозначим через множество всех единичных наборов функции . Тогда набор (вектор) из множества принадлежит тогда и только тогда, когда . Множество называется единичным множеством функции , а функция называется характеристической функцией множества . Легко показать, что соответствие между функциями и их единичными множествами является изоморфизмом.
Если функция представляется элементарной конъюнкцией всех переменных, то множество содержит ровно один элемент множества . Если же функция – элементарная конъюнкция переменных , то содержит двоичных наборов. Это объясняется тем, что в таком случае переменных, не входящих в эту конъюнкцию несущественны для функции . Тогда они принимают значений, не изменяя значения . Множество такой функции называется интервалом.
Пример 3. Рассмотрим функцию и найдём её интервал.
Прежде всего, заметим, что две переменных являются несущественными. Это позволяет сразу определить количество единичных наборов, содержащихся в множестве (иначе говоря, его мощность). Поскольку в данном случае , то получим .
Далее, очевидно, что только при значениях . При этом переменные могут принимать любые значения. Теперь перечислим все единичные наборы для данной функции: . Итак, .
В рассматриваемом случае говорят, что конъюнкция (или, точнее, интервал ) покрывает множество и все его подмножества.
Представление некоторой функции в виде ДНФ соответствует представлению её единичного множества в виде объединения интервалов; в совокупности все конъюнкции ДНФ покрывают всё единичное множество функции . Обратное также верно: если все элементы некоторого интервала принадлежат , то существует ДНФ данной функции, содержащая конъюнкцию .
Дата добавления: 2016-06-05; просмотров: 2320;