Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДМ 2012 / +Конспект лекций / ДМ_РБ_Конспект 2010.doc
Скачиваний:
199
Добавлен:
29.02.2016
Размер:
3.56 Mб
Скачать

Теорема Поста

Существует метод проверки полноты системы, называемый теоремой Поста. Она основывается на выделении пяти классов Поста булевых функций:

класс функций сохраняющих 0

,

класс функций сохраняющих 1

,

класс самодвойственных функций

,

класс монотонных функций

, где подразумевается стандартный порядок булевой алгебры (при котором существуют и несравнимые элементы!),

класс линейных функций

, т.е. функция представима в виде полинома Жегалкина первой степени.

Можно доказать, что все эти классы являются замкнутыми, т.е. любая комбинация функций из одного класса остаётся в том же классе.

Теорема (Поста):система булевых функций полна тогда и только тогда, когда она целиком не лежит ни в одном из классов Поста.теорема Поста, которая гласит: для того чтобы система функций была базисной, необходимо и достаточно, чтобы она включала в себя хотя бы одну функцию, не принадлежащую 0, 1, 2, 3 и 4 классам

Рассмотрим пример: . Необходимо проверить полноту системы.

Функция принимает следующие значения:. Проверка принадлежности первых четырёх классов поста может быть проведена очень быстро. Для проверки линейности построим представление данных функций в виде полинома Жегалкина:

Поучается, что нелинейна.

Поучается, что нелинейна.

Принадлежность классам Поста обобщим в таблице:

 

-

+

-

-

-

-

-

-

-

-

Система функций является полной, более того, полной является уже система.Выразим стандартный базисчерез функцию. Воспользуемся тем, чтоне сохраняет ни 0, ни 1, значит:

Так как -- несамодвойственна, выразим константы через отрицание. Для этого найдём такой вектор, что. Видно, что это выполняется при. Значит,. Тогда 0 можно получить с помощью отрицания.

-- нелинейна, выразим коньюнкцию из полинома Жегалкина этой функции. Можно получить, что . Тогда

откуда .

Геометрическая интерпретация минимизации функций алгебры логики.

Для иллюстрации выполнения преобразований над булевыми функциями иногда удобно давать им геометрическое представление. Например, функцию f(x1,x2) удобно представлять на плоскости в системе координатx1,x2. Отложив единичные отрезки, получим квадрат, вершины которого соответствуют комбинациям переменныхx1иx2.

__________________

Пример:Пусть функцияf(x1,x2) =x1x2 vx1,x2.

Из геометрических представлений следует, что две вершины, которые принадлежат одному и тому же ребру и называемые соседними, склеиваются по переменной, изменяющейся вдоль этого ребра. Это правило справедливо для конъюнктивных термов любого ранга, если они являются соседними для функции трех переменных, геометрическое представление имеет форму куба.

Метод неопределённых коэффициентов.

Предназначен для получения линейных форм логических формул, может быть применен для минимизации логических формул для любого числа переменных. В ручном варианте применяют для числа переменных не более пяти. Логическую функцию представляют в виде ДНФ. В общем виде, например, для трех переменных она имеет следующий вид:

f(x1,x2,x3) = k11x1 k01x1 k12x2 k02x2 k13x3 k03x3 k1112x1x2 k1012x1x2 k12x1x2 k0112x1x2 k0012x1x2 k1113x1x3 k1013x1x3 k0013x1x3 k1123x2x3 k1023x2x3 k0123x2x3 k0023x2x3 k111123x1x2x3 k110123x1x2x3 k101123x1x2x3 k100123x1x2x3 k011123x1x2x3 k010123x1x2x3 k001123x1x2x3 k000123x1x2x3

В этойдизъюнктивной норм. форме коэффициенты с индексами – это определенный коэффициент, принимающий значение 0 и 1 и подбирается таким образом, чтобы ДНФ была минимальная. Задавая различные наборы переменныхx1,x2,x3 и приравнивая полученные выражения соответствующим значениям функции, получают систему уравнений для определения коэффициента к:

f(0,0,0) = k01k02k03k0012k0023k000123

f(0,0,1) = k01k02k13k0012k0113k0123k001123

……………………………………………

f(1,1,1) = k11k12k13k1112k1113k1123k111123

f(x1,x2,x3) = 0  1

Задание некоторой функции определяет значение первых частей системы: если f= 0 на соответствующем наборе переменных, то все коэффициенты входящие в уравнение, будут равны нулю. Это следует из свойства дизъюнкции. Тогда и в уравнении, где функция принимает единичное значение, надо вычеркивать все нулевые коэффициенты. Из оставшихся коэффициентов надо выбрать такой, который определяет темп наименьшего, и приравнять его к единице. А остальные коэффициенты приравнять к 0. Т.о. единичные коэффициенты определяют искомую ДНФ для системы уравнений.

Рассмотрим f(x1,x2,x3) =F(0,2,4,7), так называется десятичная форма записи для логического выраженияf(x1,x2,x3)= ,, ,x2, x1,, x1,x2,x3

Для получения коэффициентов:1) Выбрать строку, в которой функция равна нулю, и все коэффициенты приравнять к нулю. Если все нулевые строки просмотрены, то переходим к шагу 2.2) Просмотрим строки, где функция равна еденице, и в этих строках вычеркиваем коэффициенты, которые принадлежат строкам с нулевым значением функции.3) Переписывают все модифицированные уровнения.

В полученной системе уравнений просматривают каждую строку и вычеркивают максимально возможное количество коэффициентов таким образом, чтобы ранг оставшихся терминов был минимальным.

k0023k0013k000123=1

k0013k000123=1

k0023k000123=1

k000123=1

В модифицированной системе вычеркивают коэффициенты максимального ранга. Оставшиеся коэффициенты позволяют получить минимальную форму:

f*(x1,x2,x3)= ,, x1,x2,x3