Способы выявления равносильности булевых функций.

Как табличная запись функции, так и запись функции в СДНФ и в СКНФ являются единственными, поэтому для доказательства равносильности булевых функций используются следующие способы:

1) Сравнение табличных записей функций по всем возможным наборам переменных.

Пример. Доказать тождество f248(ABC)= Способы выявления равносильности булевых функций. - student2.ru (табл. 1.9,1.10).

Таблица 1.9 Таблица 1.10

       
  Способы выявления равносильности булевых функций. - student2.ru   Способы выявления равносильности булевых функций. - student2.ru

A B C f248(ABC) A B C B↓C Способы выявления равносильности булевых функций. - student2.ru Способы выявления равносильности булевых функций. - student2.ru

Способы выявления равносильности булевых функций. - student2.ru Способы выявления равносильности булевых функций. - student2.ru 0 0 0 1 0 0 0 1 0 1

0 0 1 1 0 0 1 0 1 1

0 1 0 1 0 1 0 0 1 1

0 1 1 1 0 1 1 0 1 1

1 0 0 1 1 0 0 1 0 1

1 0 1 0 1 0 1 0 1 0

1 1 0 0 1 1 0 0 1 0

1 1 1 0 1 1 1 0 1 0

248=128+64+32+16+8=27+26+25+24+23=111110002.

Так как значение функций на всех наборах совпадает, то f248(ABC)= Способы выявления равносильности булевых функций. - student2.ru и тождество доказано.

Способ доказательства равносильности функций по таблицам очень нагляден, но при большом числе n затруднителен.

2) Сравнение СДНФ и СКНФ функций.

Пример. Доказать тождество f196(ABC)= Способы выявления равносильности булевых функций. - student2.ru ;

19610=128+64+4=27+26+22=110001002.

В индексе функции единиц меньше, чем нулей, следовательно, СДНФ функции имеет более короткую запись, чем СКНФ:

f196(ABC)= m0+m1+m5;

Способы выявления равносильности булевых функций. - student2.ru

= m0+m1+m5.

СДНФ функций совпадают, следовательно, тождество доказано.

Пример. Доказать тождество

F237(ABC)= Способы выявления равносильности булевых функций. - student2.ru ;

237(10)=128+64+32+8+4+1=27+26+25+23+22+20=11101101(2),

так как нулей мало, используем СКНФ:

f237(ABC)= М4 М1 ;

Способы выявления равносильности булевых функций. - student2.ru

СКНФ функций совпадают, тождество доказано.

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

Пример. Доказать тождество Способы выявления равносильности булевых функций. - student2.ru ;

Способы выявления равносильности булевых функций. - student2.ru

Способы выявления равносильности булевых функций. - student2.ru

Тождество доказано.

Свойства функций сложения по модулю 2.

Основные соотношения для функции: Способы выявления равносильности булевых функций. - student2.ru :

ассоциативный закон

Способы выявления равносильности булевых функций. - student2.ru

коммутативный закон

Способы выявления равносильности булевых функций. - student2.ru

дистрибутивный закон относительно функции конъюнкции

Способы выявления равносильности булевых функций. - student2.ru

а также Способы выявления равносильности булевых функций. - student2.ru

Способы выявления равносильности булевых функций. - student2.ru

Способы выявления равносильности булевых функций. - student2.ru x при n нечетном;

Способы выявления равносильности булевых функций. - student2.ru

Способы выявления равносильности булевых функций. - student2.ru 0 при n четном.

n

В справедливости этих соотношений можно убедиться, если вместо Способы выявления равносильности булевых функций. - student2.ru подставить СДНФ этой функции:

Способы выявления равносильности булевых функций. - student2.ru

Пример. Доказать равносильность функций Способы выявления равносильности булевых функций. - student2.ru

а) аналитически

Способы выявления равносильности булевых функций. - student2.ru

б) с помощью таблиц истинности (табл.1.11,1.12) функций:

Таблица 1.11 Таблица 1.12

       
  Способы выявления равносильности булевых функций. - student2.ru   Способы выявления равносильности булевых функций. - student2.ru

x y xy Способы выявления равносильности булевых функций. - student2.ru Способы выявления равносильности булевых функций. - student2.ru x y x+y

Способы выявления равносильности булевых функций. - student2.ru Способы выявления равносильности булевых функций. - student2.ru

0 0 0 0 0 0 0 0

0 1 0 1 1 0 1 1

1 0 0 0 1 1 0 1

1 1 1 0 1 1 1 1

Пример. Доказать равносильность функций Способы выявления равносильности булевых функций. - student2.ru с помощью таблиц истинности (табл.1.13, 1.14).

Таблица 1.13 Таблица 1.14

       
  Способы выявления равносильности булевых функций. - student2.ru   Способы выявления равносильности булевых функций. - student2.ru

x y Способы выявления равносильности булевых функций. - student2.ru Способы выявления равносильности булевых функций. - student2.ru Способы выявления равносильности булевых функций. - student2.ru x y xy

Способы выявления равносильности булевых функций. - student2.ru Способы выявления равносильности булевых функций. - student2.ru

0 0 1 0 0 0 0 0

0 1 0 0 0 0 1 0

1 0 1 1 0 1 0 0

1 1 0 0 1 1 1 1

Теорема Жегалкина: любая булева функция может быть представлена в виде многочлена

f(x1 x2 … xn)= α0 Способы выявления равносильности булевых функций. - student2.ru α1 x1 Способы выявления равносильности булевых функций. - student2.ru α2 x2 Способы выявления равносильности булевых функций. - student2.ruСпособы выявления равносильности булевых функций. - student2.ru αn xn Способы выявления равносильности булевых функций. - student2.ru αn+1 Способы выявления равносильности булевых функций. - student2.ru

Способы выявления равносильности булевых функций. - student2.ru x1 x2 Способы выявления равносильности булевых функций. - student2.ru αn+2 x1 x3 Способы выявления равносильности булевых функций. - student2.ruСпособы выявления равносильности булевых функций. - student2.ru αN x1 x2 … xn ,

где α0, α1, … , αN - некоторые константы, равные 0 или 1.

Для доказательства воспользуемся основной теоремой, утверждающей, что любую булеву функцию можно записать в виде 2n-1

f(x1 x2 … xn)= Способы выявления равносильности булевых функций. - student2.ru α i mi .

i=0

Для любого конкретного набора < x1 x2 … xn > из тех наборов, на которых функция принимает значение 1, только один минтерм обращается в единицу, а остальные равны нулю. Поэтому справедлива запись 2n-1

f(x1 x2 … xn)= Способы выявления равносильности булевых функций. - student2.ru α i mi .

i=0

От этой формы записи можно перейти к функции в виде полинома через операции Способы выявления равносильности булевых функций. - student2.ru и Способы выявления равносильности булевых функций. - student2.ru , пользуясь соотношением Способы выявления равносильности булевых функций. - student2.ru .

Пример. Способы выявления равносильности булевых функций. - student2.ru .

Таким образом, после приведения подобных членов функция f(x1 x2 … xn) будет записана в виде многочлена, при построении которого используются только операции конъюнкции и сложения по mod 2.

Теорема доказана.

Алгоритм построения.

Чтобы булеву функцию, заданную таблицей значений или любым другим способом, представить в виде многочлена, достаточно:

1) записать функцию в виде суммы по mod 2 минтермов, равных единице на тех же наборах, на которых равна заданная функция;

2) все аргументы, входящие в полученное выражение в инверсной форме, заменить с помощью соотношения Способы выявления равносильности булевых функций. - student2.ru ;

3) раскрыть скобки и сделать приведение подобных членов с учетом тождества:

Способы выявления равносильности булевых функций. - student2.ru x, если n нечетно;

Способы выявления равносильности булевых функций. - student2.ru

Способы выявления равносильности булевых функций. - student2.ru 0, если n четно.

n

Пример. Представить в виде многочлена функцию f14(AB):

f7(AB)= m0+m1+m2= m0 Способы выявления равносильности булевых функций. - student2.ru m1 Способы выявления равносильности булевых функций. - student2.ru m2= Способы выявления равносильности булевых функций. - student2.ru

Способы выявления равносильности булевых функций. - student2.ru Способы выявления равносильности булевых функций. - student2.ru

Пример. Представить в виде многочлена функцию f9(AB):

f9(AB)= m0+m3= m0 Способы выявления равносильности булевых функций. - student2.ru m3= Способы выявления равносильности булевых функций. - student2.ru

Способы выявления равносильности булевых функций. - student2.ru .

На базе функции 1, /\ и Способы выявления равносильности булевых функций. - student2.ru строится алгебра Жегалкина, но по своим свойствам она более близка к обычной алгебре и отличается от последней лишь тем, что логическое сложение заменено сложением по mod 2.

Наши рекомендации