Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДМ ВВО / Дискретная математика-Лк-БИ-2-Старожилова.doc
Скачиваний:
380
Добавлен:
10.06.2015
Размер:
4.21 Mб
Скачать

Критерий полноты

  • Теорема Поста Для того чтобы системабулевых функций была функционально полной, необходимо и достаточно, чтобы эта система содержала

  • хотя бы одну булеву функцию, не сохраняющую константу 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, в которой элементарные дизъюнкции соответствуют столбцам таблицы и включают символы функций, не входящих в соответствующий класс:

.

Упрощая КНФ с использованием равенств:

, , ,

получаем:

.

Из полученной ДНФ выпишем подмножества функций, соответствующих ее слагаемым – искомые базисы. В нашем случае это: и .