- •1. Элементы теории множеств
- •1.1 Множества. Основные понятия
- •1.2. Способы задания множеств
- •1.3. Операции над множествами. Диаграммы Венна
- •1.4. Свойства операций над множествами
- •1.5. Прямое (декартово) произведение множеств
- •1.6 Разбиения и покрытия
- •1.7. Замечание о мощности некоторых множеств
- •1.8 Представление множеств в эвм
- •1.9. Отношения
- •1.9.1.Определения
- •1.9.2 Бинарные отношения
- •1.9.3. Способы задания бинарных отношений
- •1.9.4 Свойства бинарных отношений
- •1.9.5. Отношение эквивалентности
- •1.9.5. Отношение порядка
- •1.9.6.1. Минимальные и максимальные элементы множества
- •1.9.6.2. Диаграммы Хассе
- •1.9.6.3. Принцип двойственности
- •1.9.7. Представление отношений в эвм
- •1.10. Соответствия. Функции. Операции. Отображения
- •1.10.1. Соответствия и их свойства
- •1.10.2 Функции и отображения
- •1.10.3. Инъекция, сюръекция и биекция
- •1.10.4. Композиция и суперпозиция функций. Способы задания функций
- •1.10.5. Представление функций в эвм
- •1.10.6. Операции
- •1.10.6.1. Способы задания операций
- •1.11. Алгебраические структуры
- •1.11.2. Замыкание и подалгебры
- •1.11.3. Гомоморфизм и изоморфизм
- •1.11.4. Алгебры с одной бинарной операцией
- •1.11.5. Алгебры с двумя бинарными операциями
- •1.11.6.Решетки
- •1.11.7. Булевы алгебры
- •2. Элементы математической логики и булевы функции
- •2.1. Операции над высказываниями
- •2.2. Логические операции (логические связки)
- •2.3. Элементарные булевы функции
- •2.3.1. Функции алгебры логики
- •2.3.2. Равносильность функций. Существенные и несущественные переменные
- •2.3.3. Реализация функций формулами. Суперпозиция функций
- •2.3.4. Подстановки и замены
- •2.3.5. Принцип двойственности
- •2.3.6. Нормальные формы в логике высказываний
- •2.3.6.1. Разложение булевых функций по переменным. Дизъюнктивно-нормалльная форма (днф)
- •2.3.6.2. Совершенная дизъюнктивная нормальная форма
- •2.3.7. Арифметические операции в алгебре логики. Полиномы Жегалкина
- •2.3.8. Монотонные функции алгебры логики
- •2.3.9. Функционально замкнутые классы
- •2.4. Полнота системы булевых функций. Теорема
- •2.5. Элементы логике предикатов
- •2.5.1. Определение предиката
- •2.5.2. Кванторы. Формулы логики предикатов
- •2.5.3. Равносильность формул
- •2.5.4. Предикаты на конечных областях. Логика одноместных предикатов
- •2.6. Операции над предикатами и кванторами
- •2.7. Построение доказательств в логике предикатов
- •1.6.2. Разбор решений задач по логике предикатов
- •1. Элементы теории множеств 3
- •1.1 Множества. Основные понятия 3
- •2.6. Операции над предикатами и кванторами 137
- •394026 Воронеж, Московский просп., 14
2.3.8. Монотонные функции алгебры логики
Упорядочим множество {0,1}, полагая 0 < 1. Так как нам придется иметь дело с функциями от нескольких переменных, введем частичное упорядочение двоичных наборов одной длины.
Определение 1. Пусть и - двоичные наборы. Говорят, что предшествует (младше) (обозначается: < ), если для всех i, причем, по крайней мере, для одного i имеет место строгое неравенство.
Это упорядочение является только частичным, так как оно не позволяет сравнить любые наборы.
Определение 2. Булева функция f(x1, ..., xn) называется монотонной, если для всяких наборов и таких, что < , имеем
.
Удовлетворяющие этому условию булевы функции правильнее было бы назвать «неубывающими», но так как мы не будем иметь дело с «невозрастающими» функциями, мы будем называть их просто «монотонными».
Пример 1. монотонна ли функция ху?
Да, так как она равна 1 лишь на наборе (1,1), которому предшествуют все остальные наборы.
Пример2. - немонотонна, так как при = (0), = (1) имеем < , но > .
2.3.9. Функционально замкнутые классы
Среди рассмотренных нами вопросов одними из наиболее важных были вопросы о представимости булевых функций в том или ином виде. Показано, что любая булева функция реализуется через дизъюнкцию, конъюнкцию и отрицание (ДНФ, СДНФ). Можно представить ее так же через полиномы Жегалкина.
Всякий раз речь фактически шла о возможности представления функции алгебры логики в виде суперпозиции некоторого фиксированного множества функций.
В связи с этим возникает вопрос: существуют ли (и если существуют, то какие) другие системы булевых функций такие, чтобы с их помощью можно было выразить все другие функции.
В общем виде задача ставится следующим образом:
Имеется некоторое множество F функций алгебры логики (f1, f2, ..., fn). Для всякой ли булевой функции существует равносильная ей суперпозиция из множества F.
Замечание. Для простоты обычно рассматриваются конечные системы функций, хотя это и не существенно.
Пусть F = {f1,f2, ..., fn}, (Рn – множество булевых функций от n переменных).
Определение. Замыканием F (обозначается ) называется множество всех булевых функций, реализуемых формулами над F: .
Другими словами, всякая совокупность F булевых функций замкнута относительно суперпозиции, если суперпозиция функций из F снова принадлежит F.
Определение. Класс (множество) функций F называется замкнутым, если [F] = F.
Т.е. функционально замкнутым классом называется всякая совокупность F булевых функций, замкнутая относительно суперпозиции.
Рассмотрим некоторые замкнутые классы функций. Для того, чтобы доказать, что некоторый класс F – замкнутый, достаточно показать, что если функция представима в виде суперпозиций функций из F, то она предлежит F.
Доказать можно по индукции.
Очевидно, что сами функции из F реализованы как суперпозиции 0 ранга над F. Таким образом, остается обосновать суперпозиционные переходы для рассматриваемых функций.
I. Класс функций, сохраняющих 0: T0= {f| f(0,0,0,..,0) = 0}. Пусть f, f1, f2, ..., fn и Ф = f(f1(x1, ..., xn), ..., fn(x1, ..., xn)), тогда подставим в Ф нулевой набор. Так как fi сохраняет нуль, то при этом в f подставляется нулевой набор, а так как f тоже сохраняет 0, то получим, что и Ф сохраняет нуль:
Ф(0, …,0) = f(f1 (0, ...,0), ..., fn(0, ...,0)) = f (0, ..., 0) = 0, т.е. .
II. Класс функций, сохраняющих 1: Т1 = {f|f(1, ..., 1) = 1}.
Пусть f, f1, f2, ..., fn и Ф = f(f1(x1, ..., xn), ..., fn(x1, ..., xn)).
Тогда Ф(1, …,1) = f(f1 (1, ...,1), ..., fn(1, ...,1)) = f (1, ..., 1) = 1, т.е. .
III. Класс самодвойственных функций: Т* : {f|f = f*}.
Пусть f, f1, f2, ..., fn и Ф = f(f1(x1, ..., xn), ..., fn(x1, ..., xn)). Тогда по закону двойственности:
Ф* = f*(f1*(x1, ..., xn), ..., fn*(x1, ..., xn)) =
= f(f1(x1, ..., xn), ..., fn(x1, ..., xn)) = Ф. Следовательно, Ф .
IV. Класс монотонных функций:
, где
, , .
Пусть f, f1, f2, ..., fn и Ф = f(f1(x1, ..., xn), ..., fn(x1, ..., xn)). Тогда
т.е. .
V. Класс линейных функций: TL = {f|f = c0 + c1x1+...+cnxn}, где + означает сложение по модулю 2, а знак конъюнкции опущен.
Пусть f, f1, f2, ..., fn и Ф = f(f1(x1, ..., xn), ..., fn(x1, ..., xn)). Тогда
f = c0 + c1x1+...+cnxn,
f1= c01 + c11x1+...+cn1xn,
.......................................,
.
Подставим эти формулы в Ф. Имеем:
Ф(х1, …,хn) = c0 + c1 (c01 + c11x1+...+cn1xn,) + ... + = d0 + d1x1 + +dnxn.
Следовательно, .
Таким образом, доказано, что классы Т0, Т1, Т*, , ТL функционально замкнуты.
Рассмотренные классы попарно различны, не пусты и не совпадают с Pn
ПримерL. Является ли объединение функционально замкнутых классов функционально замкнутым классом?
Решение. Нет
Возьмем классы функций, сохраняющих 0 и сохраняющих 1. Их объединение состоит из функций, которые сохраняют 0 или 1. Ему, в частности принадлежат функции (сохраняющая 0) и 1 (сохраняющая 1). Подставляя 1 в вместо х, получаем , которая не сохраняет ни нуля, ни единицы.
0 |
+ |
- |
- |
+ |
+ |
1 |
- |
+ |
- |
+ |
+ |
|
- |
- |
+ |
- |
+ |
х1^x2 |
+ |
+ |
- |
+ |
- |
Выпишем таблицу принадлежности некоторых булевых функций рассмотренным замкнутым классам:
|
Т0 |
Т1 |
Т* |
|
ТL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Определение. Функционально замкнутые классы, отличные от пустого класса и от совокупности всех булевых функций (Pn), называются собственными функционально замкнутыми классами.