
- •Курс лекций Дискретная математика
- •Оглавление
- •Лекция 1 Элементы теории множеств
- •Множество есть многое, мыслимое нами как единое.
- •Диаграммы Эйлера-Венна
- •Сравнение множеств по числу элементов
- •Операции над множествами
- •Лекция 2 Отношение. Способы задания отношений
- •Декартово произведение множеств
- •Функциональное отношение
- •Бинарные отношения
- •Лекция 3 Основные логические функции
- •Существенные и фиктивные переменные
- •Функции одной переменной
- •Функции двух переменных
- •Законы и теоремы булевой алгебры
- •Лекция 4 Минимизация логических функций
- •Карты Карно
- •Правила минимизации с использованием карт Карно
- •Лекция 5 Замкнутые классы функций
- •Критерий полноты
- •Лекция 6 Графы. Основные термины и понятия
- •Матрица инцидентности и матрица смежности
- •Лекция 7Плоские Графы
- •Лекция 8 Расстояния в графе
- •Алгоритм фронта волны
Критерий полноты
Теорема Поста Для того чтобы система
булевых функций была функционально полной, необходимо и достаточно, чтобы эта система содержала
хотя бы одну булеву функцию, не сохраняющую константу 1,
хотя бы одну булеву функцию, не сохраняющую константу 0,
хотя бы одну несамодвойственную булеву функцию,
хотя бы одну нелинейную булеву функцию и
хотя бы одну немонотонную булеву функцию.
Теорема.
Система булевых функций является
функционаьно полной тогда и только
тогда, когда она целиком не содержится
ни в одном из классов
.
Пример
Рассмотрим примеры ФПСБФ. Сведем элементарные булевы функции двух переменных и некоторые функции одной переменной в таблицу, классифицируя каждую из них по признакам принадлежности к классам.
Из таблицы видно, что каждая из функций
и
являются ФПСБФ. Иными словами, используя,
например, только булеву функцию
- "штрих Шеффера", можно записать
в виде формулы любую булеву функцию.
Признаком функциональной полноты, очевидно, является наличие плюса в каждом столбце таблицы, хотя бы для одной из составляющих систему булевых функций. К таким ФСПБФ, наиболее распространенным в практике построения цифровых автоматов, следует отнести:
Иногда удобно строить ФПСБФ при наличии констант, т.е. булевых функций "константа 0", "константа 1".
Как следует из таблицы, функция "константа 0" несамодвойственна и не сохраняет 1; функция "константа 1" несамодвойственна и не сохраняет 0. Вместе с тем константы являются линейными и монотонными функциями. Отсюда непосредственно (на основании теоремы о функциональной полноте) вытекает следующее:
Определение Система булевых функций являетсяослабленно функционально полной, если она содержит хотя бы одну нелинейную и хотя бы одну нелинейную и хотя бы одну немонотонную булеву функцию.
Примерами ослабленых ФПСБФ могут служить следующие системы:
Ниже приведена таблица, в которой отмечены все функции от 1 и 2 переменных и классы, которым они принадлежат. Символ "#" означает непринадлежность к классу. Для того, чтобы узнать, годится ли некоторый набор из этих функций для того, чтобы выразить произвольную логическую функцию, необходимо и достаточно убедиться, что в этом наборе есть хотя бы по одному "#" в каждой строке.
Из этой таблицы, например, можно увидеть,
что любую функцию можно выразить через
операцию
и
константу 0.
Для проверки функциональной полноты системы булевых функций строится так называемая таблица Поста, в которой отмечается принадлежность функций замкнутым классам. Если в каждом столбце таблицы Поста есть хотя бы один минус, система полна, в противном случае – нет.
Пример.Проверить функциональную полноту системы булевых функций
.
Проверим принадлежность замкнутым
классам функции
.
Построим таблицу истинности данной
функции.
|
|
|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
,
следовательно
.
,
следовательно
.
,
следовательно,
.
,
следовательно,
.
Функция представляет собой полином
Жегалкина первой степени, следовательно,
.
Результаты можно занести в первую строку таблицы Поста. Остальные функции исследуются аналогично.
Построим таблицу Поста:
|
|
|
S |
M |
L |
|
+ |
- |
- |
- |
+ |
|
+ |
+ |
- |
+ |
- |
1 |
- |
+ |
- |
+ |
+ |
В каждом столбце таблицы имеется минус, следовательно, система Aфункционально полна.
ОпределениеМинимальная функционально полная система называетсябазисом пространства булевых функций.
Пример.Из полной системы
выделить всевозможные базисы, если таблица Поста имеет вид:
|
|
|
S |
M |
L |
|
+ |
- |
- |
- |
+ |
|
+ |
- |
- |
- |
- |
|
- |
- |
+ |
- |
+ |
|
+ |
+ |
+ |
+ |
- |
По таблице составим КНФ K, в которой элементарные дизъюнкции соответствуют столбцам таблицы и включают символы функций, не входящих в соответствующий класс:
.
Упрощая КНФ с использованием равенств:
,
,
,
получаем:
.
Из полученной ДНФ выпишем подмножества
функций, соответствующих ее слагаемым
– искомые базисы. В нашем случае это:
и
.