Замкнутые классы.
Множество (класс) K функций алгебры логики называется замкнутым классом, если оно содержит все функции, получающиеся из K операциями суперпозиции и замены переменных, и не содержит никаких других функций.
Пусть K - некоторое подмножество функций из P2. Замыканием K называется множество всех булевых функций, представимых с помощью операций суперпозиции и замены переменных функций из множества K. Замыкание множества K обозначается через [K].
В терминах замыкания можно дать другие определения замкнутости и полноты (эквивалентные исходным):
K- замкнутый класс, если K = [K];
K - полная система, если [K] = Р2.
Примеры.
-
{0}, {1} - замкнутые классы.
-
Множество функции одной переменной - замкнутый класс.
-
- замкнутый класс.
-
Класс {1, x+y} не является замкнутым классом.
Рассмотрим некоторые важнейшие замкнутые классы.
1. Т0 - класс функций, сохраняющих 0.
Обозначим через Т0 класс всех функций алгебры логики f(x1, x2, ... , xn), сохраняющих константу 0, то есть функций, для которых f(0, ... , 0) = 0.
.
Легко видеть, что есть функции, принадлежащие Т0 , и функции, этому классу не принадлежащие:
0, x, xy, xy, x+y T0;
1, T0 .
Из того, что T0 следует, например, что нельзя выразить через дизъюнкцию и конъюнкцию.
Поскольку таблица для функции f из класса Т0 в первой строке содержит значение 0, то для функций из Т0 можно задавать произвольные значения только на 2n - 1 наборе значений переменных, то есть
,
где - множество функций, сохраняющих 0 и зависящих от n переменных.
Покажем, что Т0 - замкнутый класс. Так как xT0 , то для обоснования замкнутости достаточно показать замкнутость относительно операции суперпозиции, поскольку операция замены переменных есть частный случай суперпозиции с функцией x.
Пусть . Тогда достаточно показать, что . Последнее вытекает из цепочки равенств
.
2. T1 - класс функций, сохраняющих 1.
Обозначим через Т1 класс всех функций алгебры логики f(x1, x2, ... , xn), сохраняющих константу 1, то есть функций, для которых f(1, ... , 1) = 1.
.
Легко видеть, что есть функции, принадлежащие Т1, и функции, этому классу не принадлежащие:
1, x, xy, xy, xy T1;
0, , x+y T1 .
Из того, что x + y T0 следует, например, что x + y нельзя выразить через дизъюнкцию и конъюнкцию.
Результаты о классе Т0 тривиально переносятся на класс Т1 . Таким образом, имеем:
Т1 - замкнутый класс;
.
3. L - класс линейных функций.
Обозначим через L класс всех функций алгебры логики f(x1, x2, ... , xn), являющихся линейными:
.
Легко видеть, что есть функции, принадлежащие L , и функции, этому классу не принадлежащие:
0, 1, x, x+y, x1 x2 = x1 + x2 + 1, = x+1 L;
xy, xy L .
Докажем, например, что xy L .
Предположим противное. Будем искать выражение для xy в виде линейной функции с неопределенными коэффициентами:
.
При x = y = 0 имеем =0,
при x = 1, y = 0 имеем = 1,
при x = 0, y = 1 имеем = 1,
но тогда при x = 1, y = 1 имеем 1 1 1 + 1, что доказывает нелинейность функции xy.
Доказательство замкнутости класса линейных функций совершенно очевидно.
Поскольку линейная функция однозначно определяется заданием значений n+1 коэффициента 0, ... , n , число линейных функций в классе L(n) функций, зависящих от n переменных равно 2n+1.
.
4. S - класс самодвойственных функций.
Определение класса самодвойственных функций основано на использовании так называемого принципа двойственности и двойственных функций.
Функция , определяемая равенством , называется двойственной к функции .
Очевидно, что таблица для двойственной функции (при стандартной упорядоченности наборов значений переменных) получается из таблицы для исходной функции инвертированием (то есть заменой 0 на 1 и 1 на 0) столбца значений функции и его переворачиванием.
Легко видеть, что
0* = 1,
1* = 0,
x* = x,
,
(x1 x2)* = x1 x2,
(x1 x2)* = x1 x2.
Из определения вытекает, что (f*)* = f, то есть функция f является двойственной к f*.
Пусть функция выражена с помощью суперпозиции через другие функции. Спрашивается, как построить формулу, реализующую ? Обозначим через = (x1, ... , xn) все различные символы переменных, встречающиеся в наборах .
Теорема 2.6. Если функция получена как суперпозиция функций f, f1, f2, ... , fm, то есть
,
то
-
функция, двойственная к суперпозиции, есть суперпозиция двойственных функций.
Доказательство.
*(x1 ,...,xn) = f(x1 ,...,xn) =
Теорема доказана.
Из теоремы вытекает принцип двойственности: если формула А реализует функцию f(x1, ... , xn), то формула , полученная из А заменой входящих в нее функций на двойственные им, реализует двойственную функцию f*(x1, ... , xn).
Обозначим через S класс всех самодвойственных функций из P2:
S = {f | f* = f }
Легко видеть, что есть функции, принадлежащие S, и функции, этому классу не принадлежащие:
x, S;
0, 1, xy, xy S .
Менее тривиальным примером самодвойственной функции является функция
h(x, y, z) = xy xz yz;
используя теорему о функции, двойственной к суперпозиции, имеем
h*(x, y, z)= (x y)(x z) ( y z) = x y x z y z; h = h* ; h S.
Для самодвойственной функции имеет место тождество
,
так что на наборах и , которые мы будем называть противоположными, самодвойственная функция принимает противоположные значения. Отсюда следует, что самодвойственная функция полностью определяется своими значениями на первой половине строк стандартной таблицы. Поэтому число самодвойственных функций в классе S(n) функций, зависящих от n переменных, равно :
.
Докажем теперь, что класс S замкнут. Так как xS , то для обоснования замкнутости достаточно показать замкнутость относительно операции суперпозиции, поскольку операция замены переменных есть частный случай суперпозиции с функцией x. Пусть . Тогда достаточно показать, что . Последнее устанавливается непосредственно:
.
5. М - класс монотонных функций.
Прежде чем определять понятие монотонной функции алгебры логики, необходимо ввести отношение упорядоченности на множестве наборов ее переменных.
Говорят, что набор предшествует набору (или “не больше ”, или “меньше или равен ”), и применяют обозначение , если i i для всех i = 1, ... , n. Если и , то будем говорить, что набор строго предшествует набору (или “строго меньше”, или “меньше” набора ), и использовать обозначение . Наборы и называются сравнимыми, если либо , либо .В случае, когда ни одно из этих соотношений не выполняется, наборы и называются несравнимыми. Например, (0, 1, 0, 1) (1, 1, 0, 1), но наборы (0, 1, 1, 0) и (1, 0, 1, 0) несравнимы. Тем самым отношение (его часто называют отношением предшествования) является частичным порядком на множестве Вn . Ниже приведены диаграммы частично упорядоченных множеств В2, В3 и В4.
Теперь мы имеем возможность определить понятие монотонной функции.
Функция алгебры логики называется монотонной, если для любых двух наборов и , таких, что , имеет место неравенство . Множество всех монотонных функций алгебры логики обозначаетcя через М, а множество всех монотонных функций, зависящих от n переменных - через М(n).
Легко видеть, что есть функции, принадлежащие M , и функции, этому классу не принадлежащие:
0, 1, x, xy, xy M;
x+y, xy, xy M .
Покажем, что класс монотонных функций М - замкнутый класс. Так как xМ , то для обоснования замкнутости достаточно показать замкнутость относительно операции суперпозиции, поскольку операция замены переменных есть частный случай суперпозиции с функцией x.
Пусть . Тогда достаточно показать, что .
Пусть - наборы переменных, соответственно, функций , f1, ... , fm , причем множество переменных функции состоит из тех и только тех переменных, которые встречаются у функций f1, ... , fm . Пусть и - два набора значений переменной , причем . Эти наборы определяют наборы значений переменных , такие, что . В силу монотонности функций f1, ... , fm
,
поэтому
,
и в силу монотонности функции f
.
Отсюда получаем
.
Число монотонных функций, зависящих от n переменных, точно неизвестно. Легко может быть получена оценка снизу:
,
где [n/2] - есть целая часть от n/2.
Так же просто получается слишком завышенная оценка сверху:
.
Уточнение этих оценок - важная и интересная задача современных исследований.
- Журавлев ю.И., Флеров ю.А. Дискретный анализ
- Элементы комбинаторики.
- Введение
- Два принципа комбинаторики
- Функции и размещения
- Числа Стирлинга первого рода
- Циклическая структура перестановок
- Упорядоченные размещения.
- Сочетания и биномиальные коэффициенты.
- Производящие функции
- Биномиальные коэффициенты
- Исчисление конечных разностей
- Разложения
- Полиномиальные коэффициенты
- Разбиения
- Число разбиений
- 1. Формула 1.
- 2. Формула 2.
- Числа Белла.
- Принцип включений - исключений
- Задача о числе беспорядков (Задача о встречах)
- Количество сюръективных отображений
- Перестановки с ограничениями на местоположение
- Системы представителей множеств
- Системы различных представителей
- Системы общих представителей
- Функции алгебры логики
- Элементарные высказывания
- Элементарные логические операции (функции)
- Алгебраические свойства элементарных операций
- Разложение функций алгебры логики по переменным
- Функциональная полнота систем функций алгебры логики
- 1. Замена переменных.
- 2. Суперпозиция функций алгебры логики.
- Замкнутые классы.
- Критерий полноты
- Представление о результатах Поста
- Элементы теории графов
- Степени вершин
- О машинном представлении графов.
- Поиск в графе
- Поиск в глубину в графе
- Поиск в ширину в графе
- Пути и циклы
- Связность
- Деревья
- Остовное дерево (каркас)
- Эйлеровы пути и циклы
- Aлгоритм построения эйлерова цикла
- Гамильтоновы пути и циклы
- Нахождение кратчайших путей в графе
- Алгоритм нахождения расстояния от источника до всех остальных вершин в ориентированном графе с неотрицательными весами ребер
- Максимальный поток в сети
- Рекомендуемая литература.
- Оглавление