Повторить краткие теоретические сведения и разобрать задачи с решениями.
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

.

Американский математик Эмиль Пост ввёл в рассмотрение следующие замкнутые классы булевых функций:

Функции, сохраняющие константу 0 или 1;

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

Монотонные функции;

Линейные функция.

 

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

 

Заметим, что существуют функции, не входящие ни в один из классов Поста. Любая такая функция сама по себе образует полную систему. В качестве примеров можно назвать штрих Шеффера или стрелку Пирса.

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

-Хотя бы одна функция, не сохраняющая 0.

-Хотя бы одна функция, не сохраняющая 1.

-Хотя бы одна нелинейная функция.

-Хотя бы одна немонотонная функция.

-Хотя бы одна несамодвойственная функция.

 

 Важнейшие замкнутые классы

 

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

Обозначим через T0 класс всех булевых функций f(x1,x2,...,xn), сохраняющих константу 0, то есть функций, для которых выполнено равенство f(0,0,...,0)=0. Очевидно, что функции 0, x, x1& x2, x1Ú x2, x1Å x2 принадлежат классу T0, а функции 1, , x1® x2 в него не входят.

       Поскольку таблица для функций f(x1,x2,...,xn) из класса T0 в первой строке содержит фиксированное значение 0, то в T0 попадает  функций, т.е. ровно половина всех булевых функций.

       Покажем, что T0 - замкнутый класс. Так как он содержит тождественную функцию, то для обоснования его замкнутости достаточно показать, что функция Ф=f(f1,...,fm) принадлежит классу T0, если только f, f1,..., fm принадлежат этому классу.

    Ф(0,0,...,0)= f(f1(0,0,...,0),...,fm(0,0,...,0))= f(0,0,...,0)=0.



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

       Обозначим через T1 класс всех булевых функций f(x1,x2,...,xn), сохраняющих константу 1, то есть функций, для которых выполнено равенство f(1,1,...,1)=1. Этому классу принадлежат функции 1, x, x1& x2, x1Ú x2, x1® x2 и не принадлежат функции 1, , x1Åx2.

Покажем, что класс T1 состоит из функций, двойственных функциям из класса T0 (говорят, что класс T1 двойственен классу T0).

    Пусть f(x1,x2,...,xn) принадлежит T1, т.е. выполняется равенство f(1,1,...,1)=1. Тогда, воспользовавшись определением двойственной функции, получим: f*(0,0,...,0)= ( , ,..., )= (1,1,...,1)=0. Это значит, что f*(x1,x2,...,xn) принадлежит классу T0.

                                                                             

       Из взаимной двойственности классов T0 и T1 следует, что T1 также является замкнутым классом и что он содержит столько же булевых функций, что и класс T0.

 

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

       Класс S включает в себя все самодвойственные функции, то есть такие функции, для которых выполняется равенство: f(x1,x2,...,xn)=f*(x1,x2,...,xn). Очевидно, что функции x и  самодвойственные (см. табл. 1.7). Менее тривиальным примером самодвойственной функции является функция h(x1,x2,x3)=x1x2 Ú x1x3 Ú x2x3. Покажем, что это действительно так.

    Составим двойственную к  функцию * и преобразуем ее:

h*(x1,x2,x3) = (x1Úx2) & (x1Úx3) & (x2Úx3) = (x1Úx2x3) & (x2Úx3) = x1x2 Ú x1x3 Ú x2x3 = h(x1,x2,x3).

        

       Для самодвойственной функции имеет место тождество: f(x1,...,xn); иначе говоря, на наборах (a1,...,an) и , которые называются противоположными, самодвойственная функция принимает противоположные значения.

       Отсюда следует, что самодвойственная функция полностью определяется своими значениями на первой половине строк, которых для n переменных будет . Поэтому число самодвойственных функций, зависящих от переменных x1,...,xn, равно .

       Докажем, что класс S замкнут. Поскольку он содержит тождественную функцию, достаточно показать, что функция Ф=f(f1,...,fm) является самодвойственной, если функции f, f1,..., fm самодвойственны. Последнее устанавливается непосредственно:

    Ф*= f*(f1*,...,fm*)= f*(f1,...,fm)= f(f1,...,fm)= Ф.

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

       Для двух наборов =(a1,...,an) и =(b1,..., bn), выполнено отношение предшествования , если a1£b1, ..., an£bn и хотя бы в одной координате  i выполнено условие ai < bi.

       Пример. (0, 1, 0, 1)  (1, 1, 0, 1), а наборы  (0, 1) и (1, 0) не сравнимы.

       Очевидно, что отношение предшествования рефлексивно, антисимметрично, транзитивно и представляет собой, таким образом, отношение частичного порядка на множестве Bn=B´B´...´B.

       Функция f(x1,...,xn) называется монотонной, если для любых двух наборов  и  таких, что , имеет место неравенство: f( f( ).

Например, функции 0, 1, x, x1&x2, x1Ú x2 монотонные, а функции , x1® x2, x1Åx2 монотонными не являются.

       Обозначим через M множество всех монотонных функций. Покажем, что класс монотонных функций замкнут. Поскольку тождественная функция принадлежит множеству M, то достаточно показать, что функция Ф=f(f1,...,fm) является монотонной, если функции f, f1,..., fm монотонны.

    Пусть  и  - два набора длины n значений переменных x1,...,xn, причем . Так как функции f1,..., fm монотонны, то выполняются соотношения fi( fi( ) при 1 £ i £ m, , поэтому набор (f1( ),..., fm( )) предшествует набору (f1( ),..., fm( )) или эти наборы равны.

       В обоих случаях в силу монотонности функции f справедливо неравенство:

f (f1( ),..., fm( )) £ f (f1( ),..., fm( )),

откуда следует, что Ф ( ) £ Ф ( ), т.е. Ф - функция монотонная.

                   

       Наборы  и  называются соседними по i-й координате, если

=(a1,..., a i-1, a i, a i+1,... a n),       = (a1,..., a i-1, , a i+1,... a n).

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

       Он содержит функции 0, 1, x, , x1Åx2 и не содержит функций x1&x2 и x1Ú x2. Выше было показано, что этот класс также замкнут.

       Таблица 1 не содержит двух одинаковых столбцов. Это хорошо иллюстрирует тот факт, что замкнутые классы T0, T1, S, M и L попарно различны (знак “+” здесь показывает, что функция содержится в классе, а “-” обозначает обратную ситуацию).

 

 

Таблица 1

f T0 T1 S M L
0 + - - + +
1 - + - + +
x + + + + +
- - + - +
x1&x2 + + - + -
x1Ú x2 + + - + -

 

Система функций {f1, f2,..., fk} называется функционально полной, если любая булева функция может быть записана в виде формулы через функции этой системы.

 

Теорема Поста — одна из центральных теорем в теории булевых функций, устанавливающая необходимое и достаточное условие для того, чтобы некоторый набор булевых функций обладал достаточной выразительностью, чтобы представить любую булеву функцию. Впервые сформулирована  американским математиком Эмилем Постом

Теорема о функциональной полноте. Для того, чтобы система функций  была полной, необходимо и достаточно, чтобы она целиком не содержалась ни в одном из пяти замкнутых классов T0, T1, S, M и L.

Каждая функция из P2 может быть выражена при помощи полинома по модулю 2.

 

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

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

       Пример.                x | y = Ú  =  = (x­y) Å

Следовательно, множество всех формул можно разбить на классы эквивалентности таким образом, что все формулы, входящие в один класс, соответствуют одной и той же булевой функции; поэтому если функции, соответствующие некоторым формулам, равны, то сами эти формулы называют эквивалентными. Запись a=b означет, что формулы a и b эквивалентны.

Контрольные вопросы.

1. Какие существуют классы Поста?

2. Определения функций, принадлежащих различным классам Поста.

Задания.

 

Определить к каким классам Поста относятся булевы функции:

1в.

1.  

2.

2в.

1.  

2.

1.  

2.

4в.

1.

2.

1 .

2.

 

1 .

2.  

 

 

7в.

 

1.

2.

 

    8в.

1.

2.

 

 

1.

3.

 

10в.

1.

3.

 

 

11в.

1.   

2.

 

12в.

1.

2.

 

 

13в.

1.

2.

 

 

14в

1.

2.

 

15в

1.

2.

 

 

 

 

 

 

Практическая работа 9

Дата: 2019-11-01, просмотров: 268.