Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Функции алгебры логики

.pdf
Скачиваний:
850
Добавлен:
18.03.2015
Размер:
2.27 Mб
Скачать

0

0

0

1

1

1

1

1

0

0

1

1

1

1

1

1

0

1

0

0

1

1

1

1

0

1

1

1

1

1

1

1

1

0

0

1

1

0

0

1

1

0

1

1

1

0

1

1

1

1

0

0

0

1

0

0

1

1

1

1

1

1

1

1

 

 

 

 

 

 

 

 

Следствия из свойств элементарных функций

1. Законы склеивания:

xy x y =x(y y )=x 1=x (дистрибутивность & относительно ); (x y)&(x y )=x y y =x 0=x (дистрибутивность относительно &).

2. Законы поглощения: x xy=x(1 y)=x 1=x; x&(x y)=x xy=x.

Свойства элементарных функций и теорема о замене подформул на эквивалентные позволяют упрощать формулы.

Пример 3:

Упростим формулы:

1. x2x3 x1 x 2x3 = x3(x2 x1 x 2) = x3((x2 x1)&(x2 x 2)) =

2. x1 x 1x2 x 1 x 2x3 x 1 x 2x3x4 = x1 x 1(x2 x3 x 2 x 3x4) = (x1 x 1)(x1 x2 x3 x 2 x x1 (x2 х3 ( x2 x3 ))(x2 x3 x4) = x1 x2 x3 x4.

(x1 x2)x3.

x1 x 1(x2 x2 x3 x 2 x 3x4) =

3х4) = x1 (x2 x3) ( x2 x3 )x4 =

2.3 Принцип двойственности

Определение 1. Функции f*(x1, ...,

xn) называется двойственной к функции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f(x1, ..., xn), если f*(x1, ..., xn) = f ( x 1, ...,

x n).

Пример 1. Покажем с помощью

таблицы истинности, что константа 0

двойственна к 1:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

f

 

 

 

f*

 

 

 

 

 

 

 

 

 

 

 

 

 

31

0

0

1

1

0

1

 

 

 

Функции f(x) = x и g(x) = x двойственны сами себе:

 

x

f

 

f*

 

g

g*

 

 

 

 

 

 

 

 

 

 

0

0

0

 

1

1

 

1

1

1

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

так как f*(0)= f

(1).

 

Определение 2. Если f*(x1, ..., xn) = f(x1, ..., xn), то f(x1, ..., xn) называется самодвойственной.

Пример 2. Покажем, что f(x1,x2,x3)=x1 x2 x3 – самодвойственна:

32

x1

x2

x3

f

f*

 

 

 

 

 

0

0

0

0

0

0

0

1

1

1

0

1

0

1

1

0

1

1

0

0

1

0

0

1

1

1

0

1

0

0

1

1

0

0

0

1

1

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если f*– самодвойственна, то

f ( x 1, ...,

x n) = f(x1, ..., xn), т.е. на

противоположных наборах функция принимает противоположные значения.

Пример 3. Покажем, что функция х1 х2 двойственна к x1&x2, функция х1 х2

двойственна к функции x1|x2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 x2

 

f=х1 х2

f*

 

g=x1|x2

 

g*=x1 x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

0

0

 

1

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

1

0

 

1

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

1

0

 

1

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

 

1

1

 

0

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

Если f* двойственна к f, то f двойственна к f*.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Доказательство. f*(x1, ..., xn)

=

 

 

f ( x 1, ...,

 

x n). Найдем двойственную

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

функцию к f*, т.е. (f*( x1, ..., xn))* = ( f

( x 1, ..., x n))* = f ( x 1, ..., x n) = f(x1, .., xn).

Предположим, что функция задана формулой. Можно ли найти по этой формуле двойственную функцию? Ответ на этот вопрос дает следующая теорема.

33

Принцип двойственности

Теорема: Пусть функция h(x1, ..., xn) реализована формулой h(x1, ..., xn) = =g(G1, ..., Gm) = g(f1(x1, ..., xn), ..., fm(x1, ..., xn)), где какие-то переменные могут быть фиктивными. Тогда h*( x1, ..., xn) = g*(f1*( x1, ..., xn), ..., fm*(x1, …, xn)), это означает,

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

на 1, 1 на 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Доказательство. h*(x1, ..., xn) =

h ( x 1, ...,

 

x n) = g (f1( x 1, ..., x n), ..., fm( x 1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...,

x

n)) = g

f

 

x

..

x

n .

f m

x

 

.

x

n g

f1 * ( x1 ,..,xn ) ..

fm * ( x1 ,..,xn ) g*(f1*( x1, ..., xn), ..., fm*( x1, ..., xn)), что и требовалось доказать.

Если функция h(x1, ..., xn) реализуется формулой N[f1, ..., fn], то формулу, полученную из N заменой fi, входящих в нее, на fi* и реализующую функцию h*(x1, ..., xn), будем называть двойственной и обозначать N*(x1, ..., xn).

Пример 4. Построить формулу, реализующую f*, если f = ((x y) z) (y z (x yz)). Покажем, что она

эквивалентна формуле N = z(x y).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Найдем (x y)* и (x y)*.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x y

 

 

x y

 

(x y)*

x y

 

(x y)*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

0

 

 

 

 

1

1

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

1

 

 

 

 

0

1

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

1

 

 

 

 

0

0

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

 

0

 

 

 

 

1

1

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Из таблиц видно, что

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x y)* = x ~ y = x y = x y 1, x y = x y x

y

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x y)* = x y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x y = x y.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

По принципу двойственности:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f* = x yz ( y

z

(x (y z) 1)) =

x yz y z(x (y z) 1)

= z(

x

y (

y

x

y

z

y

))

= z( x y y (x z 1)) = z( x y y (x z )) = z x y (z y x z y z ) = z( x y x y ) = z(x y).

Тогда f = (f*)* = [z(x y)]* = z (x~y).

Пример 5. Найти формулу для f* и показать, что она эквивалентна формуле

N = (x (z t)) y , если f = (xyz~(t x y )) y t.

f* = ((x y z) t( x y))( y t) = ( x y z t( x y) (x y z) t( x y ) )( y t) = = ( x y z t (x y z)( t x y ))( y t) = x y z t (x y z)(t y x y tx y ) =

= x y z t (x y z)( t y x y ) = y ( t x z t t z x xz) = y ( z t x t z xz)

34

= y (x (z t)).

Лемма о несамодвойственной функции

Подстановкой функций x и x в несамодвойственную функцию можно получить одну из констант.

Доказательство. Пусть

f ( x1 ,...,xn )

 

несамодвойственная

функция. Тогда существует набор

( 1 ,..., n ), для которого

 

f ( 1 ,..., n ) f (

1 ,...,

n ).

 

Построим функцию h( x ) , заменив

единицы в f ( 1 ,..., n ) на

x , а нули – на

 

. Так как x x0 , x x1 , то h( x ) f ( x 1 ,...,x n ).

x

Заметим, что 0 i

 

i , 1 i

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

Тогда h(1) f (1 1 ,...1, n ) f ( ,...,

n

) f (

 

,...,

 

n

) f ( 0 1 ,...,0 n ) h( 0 ) , т.е.

 

 

 

 

 

1

 

1

 

 

 

h(1) h( 0 ) . Следовательно, функция h( x ) есть одна из констант.

2.4 Разложение булевой функции по переменным

Обозначим x = x , 0,

x, 1.

Посмотрим, чему равно x при разных значениях x и .

x\

0

1

 

 

 

0

1

0

 

 

 

1

0

1

Из таблицы следует: x =1 тогда и только тогда, когда x= .

Теорема о разложении функции по переменным

Пусть f(x1, ..., xn) P2. Тогда для любого m: 1 ≤ m n допустимо

представление:

f(x1, ..., xm, xm+1, ..., xn) =

 

x 1

& x 2

& ...& x m & f (

1

,...,

m

,x

,...,x ),

 

( 1 ,..., m )

1

2

m

 

m 1

n

 

 

 

 

 

 

 

 

 

где дизъюнкция берется по всем наборам из 0 и 1, которое называется разложением функции f по переменным x1,

..., xn.

Прежде чем доказать утверждение, рассмотрим примеры.

Пример 1. m = 1, запишем разложение по переменным х:

35

f(x1, ..., xn) = x 1

f (

1

, x

2

,...,x

n

) = x f(0, x2 , …,xn) x1f(1, x2, ..., xn).

(1)

 

 

 

 

 

 

 

1

1

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример 2.

 

m=2, запишем разложение по переменным х и x :

 

 

f(x1,x2,…xn) =

 

 

x 1

& x 2 & f (

1

,

2

, x ,...,x

n

) =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( 1 , 2 )

1

 

 

 

2

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f ( 0,0 )

 

 

x f ( 0,1) x

 

 

 

f (1,0 ) x x f (1,1)

 

 

 

 

x 1 x 2 .

 

x

1

x

2

x

1

x

 

2

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

1

 

 

 

 

 

 

1

2

 

( 1

, 2 ): f (

1 2 ) 1

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если f(x , x ) = x x , то последняя формула дает x x =

x1

x x

x2

.

 

 

 

 

 

 

 

Доказательство.

 

Для

 

доказательства

возьмем

произвольный набор

, , n) и покажем, что левая и правая части формулы (1) принимают на этом

наборе

одинаковые

значения.

Слева

имеем

f

. n .

 

Cправа

:

 

 

 

 

,..., m , m 1

,..., n ) .

 

 

 

 

 

 

 

1

1 2 2

... mm f ( 1

 

 

 

 

 

 

 

( 1 ... m )

 

 

 

 

 

 

 

 

 

 

 

 

Дизъюнкция берется по всевозможным наборам ( ,

..., m).

Если в этих

наборах

хотя бы одно i i

(1im),

 

i = 0

и

 

 

 

,

то i

1 1 2 2

... mm f 0

следовательно, ненулевой член будет только на наборе ( , ...,

m)

=

( , ..., m),

 

 

 

,..., m , m 1

 

 

 

,..., n ) f . n .

тогда 1

1 2 2

... mm f ( 1

,..., n ) 1 1 2 2

... mm f ( 1

Следствие 1. Любую функцию f(x1, ..., xn) не равную тождественно нулю

можно

представить

в виде:

f ( x1 ,...,xn )

 

x1 1 ...xn n , причём

 

 

 

 

 

( 1... n ): f ( 1... n ) 1

единственным образом. Этот вид называется совершенной дизъюнктивной нормальной формой функции f(x1, ..., xn) и записывается СДНФ.

Доказательство. Существование СДНФ для функции не равной тождественно нулю вытекает из предыдущей теоремы. Покажем, что эта СДНФ единственная. В самом деле, имеется 22n 1 n-местных

функций, не равных нулю тождественно. Подсчитаем число различных СДНФ от n переменных. Путь Cnk

означает число сочетаний из n элементов по k. Тогда число одночленных СДНФ

x 1 ...x n

равно C1n . Число

 

 

 

 

 

 

1

n

2

 

 

 

 

 

 

 

 

k-членных

СДНФ

равно

C kn . Число n-членных СДНФ

равно C nn .

Число

всех

различных СДНФ

 

 

 

 

2

2

 

 

 

C1n C2n

... Ckn

... Cnn 22n 1.

 

 

 

 

2

2

 

2

2

 

 

 

 

Итак,

22n

1 функций реализуются посредством 22n

1 СДНФ, т.е. каждой функции соответствует

единственная СДНФ.

Замечание. x1 1 ...xn n – элементарная конъюнкция ранга n по числу входящих

переменных, предполагается, что при i j , хi хj. СДНФ для f(x1, ..., xn) дизъюнкция элементарных конъюнкций ранга n. Если функция представлена в виде дизъюнкций элементарных конъюнкций, где ранг хотя бы одной

36

элементарной конъюнкции меньше n, то такая форма называется дизъюнктивной нормальной формой (ДНФ).

Cледствие 2. Любая функция алгебры логики может быть представлена в виде формулы через отрицание, & и .

а) Если f 0, то f(x1, ..., xn) = x1 & x1 .

б) Если f(x1, ..., xn) 0 тождественно, тогда ее можно представить в виде СДНФ, где используются только связки , &, . СДНФ дает алгоритм представления функции в виде формулы через &, , .

Пример 3. Пусть функция f(x1, x2, x3) задана таблицей истинности. Запишем ее в виде СДНФ. Наборов, на которых функция равна 1, три: (0, 1, 0), (1, 0, 0) и

(1, 1, 1), поэтому f(x1, x2, x3) = x10 & x21 & x30 x11 & x20 & x30 x11&x21 & x31=

= x1 &x2& x3 x1& x2 & x3 x1&x2&x3.

x1

x2

x3

f

 

 

 

 

0

0

0

0

0

1

1

0

0

1

0

1

0

1

1

0

1

0

0

1

1

0

1

0

1

1

0

0

1

1

1

1

 

 

 

 

Следствие 3. Мы умеем представлять функцию в виде (x1σ1 & x2σ 2 & ...).

Нельзя ли представить ее в виде &( x1 1 x2 2 ...). Пусть функция f(x1, ..., xn) 1

тождественно. Тогда функция f* 0 тождественно, и ее можно представить в виде СДНФ:

f ( x1 ,...,xn ) (

f * ( x1 ,...,xn ))* (

 

x1 1 ...xn n )* .

 

 

 

 

 

 

 

 

 

 

 

 

 

( 1... n ): f *( 1... n ) 1

 

 

 

 

 

 

 

По принципу двойственности заменим & на и наоборот, получим

 

 

 

 

 

 

 

f ( x1 ,...,xn )

&

 

 

 

( x1 1

... xn n )

( 1... n

&

 

 

 

( x1 1

... xn n )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( 1... n ): f ( 1 ... n ) 1

 

 

 

 

): f ( 1

... n ) 0

(2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

( x1 1 ... xn n ).

 

 

 

 

 

 

 

 

 

( 1... n ): f ( 1 ... n ) 0

 

 

 

 

 

 

 

 

 

 

 

 

( x 1

... x n )

называется элементарной дизъюнкцией ранга n. Представление

1

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

функции в виде (2) называется совершенной конъюнктивной нормальной формой или в краткой записи – СКНФ. СКНФ для f(x1, ..., xn) – конъюнкция элементарных дизъюнкций ранга n. КНФ для f(x1, ..., xn) – конъюнкция

37

элементарных дизъюнкций, где ранг хотя бы одной элементарной дизъюнкции меньше n.

Пример 4. Пусть f(x1, x2, x3) = x1 (x2 (x3 ~ x1)). Представим ее в виде СКНФ, для этого получим таблицу истинности.

 

 

 

 

 

 

x1

x2

x3

x3~x1

x2 (x3~x1)

f

 

 

 

 

 

 

0

0

0

1

1

1

0

0

1

0

1

1

0

1

0

1

1

1

0

1

1

0

0

1

1

0

0

0

1

1

1

0

1

1

1

1

1

1

0

0

0

0

1

1

1

1

1

1

 

 

 

 

 

 

Функция равна нулю только на наборе (1, 1, 0), поэтому

f(x1 x2 x3)=x1 1 x2 1 x3 0 =x10 x20 x31= x1 x2 x3.

2.5. Полнота, примеры полных систем

Определение. Система функций {f1, f2, ..., fs, ...} P2 называется полной в Р2, если любая функция f(x1, ..., xn) P2 может быть записана в виде формулы через функции этой системы.

Полные системы

1.P2 – полная система.

2.Система M={x1&x2, x1 x2, x1 } – полная система, т.к. любая функция

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

Пример 1. Неполные системы: { }, {0,1}.

Лемма (достаточное условие полноты)

Пусть система U = {f1, f2, ..., fs, ...} полна в Р2. Пусть B = {g1, g2, ..., gk, ...} – некоторая система из Р2, причем любая функция fi U может быть выражена формулой над B, тогда система B полна в Р2.

38

Доказательство. Пусть h(x1, ..., xn) P2, т.к. U полна в Р2, то h(x1, ..., xn) = =N[f1, ..., fs, ...] = N[L1[g1, ..., gk], ..., Ls[g1, ..., gk], ...] = U[g1, ..., gk]. Здесь мы воспользовались тем, что для любого i n fi может быть выражена формулой над

B, поэтому fi=Li[gi, ..., gk].

3. Система {x1 x2, x1 } – полна в P2.

Возьмем в качестве полной в Р2 системы U={x1 x2, x1 , x1&x2}, B={x1 x2, x1 }. Надо показать, что x1&x2 представляется формулой над B. Действительно, по правилу Де Моргана получим: x1&x2= x1 x2 .

С помощью этой леммы докажем полноту еще ряда систем.

4.Система {x1&x2, x1 } – полна в Р2.

5.Система {x1|x2} полна в Р2. Для доказательства возьмем в качестве полной

 

 

 

 

 

 

 

 

в Р2 системы U = {x1&x2, x1 } и выразим х1&х2 и x через х1|x2

:

 

 

 

 

 

 

 

 

x1 = x1 | x1, x1 & x2 = x1 | x2 = (x1|x2)|(x1|x2).

 

 

 

6. Система {x1 x2} полна в Р2. U = {x1 x2, x1 }, x1 = x1

x1, x1 x2 =

 

 

x1 x2 =

(x1 x2) (x1 x2).

 

 

 

7. Система {x1&x2, x1 x2, 0, 1}, U = {x1&x2, x1 }, x1 = x1 1.

Следствие. Полином Жегалкина.

f(x1, ..., xn) P2, представим ее в виде формулы через конъюнкцию и сумму по модулю два, используя числа 0 и 1. Это можно сделать, так как {x1&x2, x1 x2, 0, 1} полна в Р2. В силу свойства x & (y z) = xy xz можно раскрыть все скобки, привести подобные члены, и получится полином от n переменных, состоящий из членов вида х i1 х i2 ...х ik , соединенных знаком . Такой полином называется

полиномом Жегалкина.

Общий вид полинома Жегалкина:

 

 

f ( x1 ,...,xn )

ai i

...i

s

xi

xi

2

...xi

,

 

 

 

1 2

 

1

 

 

s

 

 

 

( i1 ,i2 ,...,is )

 

 

 

 

 

 

 

где ai i

...i

{ 0,1} , s = 0, 1, ..., n, причем при s = 0 получаем свободный член а0.

1 2

s

 

 

 

 

 

 

 

 

Представление функции в виде полинома Жегалкина

1. Представим любую функцию формулой над {x1&x2, x } и сделаем замену x =x 1. Этот способ удобен, если функция задана формулой.

39

Пример 2. (x1 (x2 x3))(x1 x2) x3 = (x1 x2 x3)(x1 x2) x3 = ( x1x2 x1x3x1x2 x2 x2x3)x3 = ( x1x3 x2)x3 = x1x3 x2 x3 = ((x1x3 1)x2 1)x3 = x1x2x3 x2x3 x3.

Надо помнить, что четное число одинаковых слагаемых в сумме по mod2 дает 0.

2. Метод неопределенных коэффициентов. Он удобен, если функция задана

таблицей.

Пример 3. Запишем с неопределенными коэффициентами полином

Жегалкина для функции трех переменных f(x1, x2, x3) = (01101001) = а0 а1х1а2х2 а3х3 b1x1x2 b2x2x3 b3x1x3 cx1x2x3. Затем находим коэффициенты, используя значения функции на всех наборах. На наборе (0, 0, 0) f(0, 0, 0) = 0, с

другой стороны, подставив этот набор в полином, получим f(0, 0, 0) = а0, отсюда а0 = 0. f(0, 0, 1) = 1, подставив набор (0, 0, 1) в полином, получим: f(0, 0, 1) = а0

а3, т.к. а0 = 0, отсюда а3 = 1. Аналогично, f(0, 1, 0) = 1 = а2, f(0, 1, 1) = 0 = а2 а3

b2 = b2 = 0; а1 = 1; 0 = а1 а3 b3 = b3 = 0; 0 = а1 а2 b1 = b1 = 0; 1 = 1 1 1c; c = 0; f(x1, x2, x3) = x1 x2 x3.

3. Многочлен Жегалкина можно получить также с помощью треугольника Паскаля по единицам его левой стороны по таблице следующим образом.

Построим многочлен Жегалкина для функции f = (10011110). Верхняя сторона

треугольника есть функция f. Любой другой элемент треугольника есть сумма по

модулю для двух соседних элементов предыдущей строки. Левая сторона

треугольника для функции f содержит шесть единиц. Многочлен Жегалкина будет

содержать шесть слагаемых. Первая единица треугольника соответствует набору

(000). Первое слагаемое многочлена есть 1. Третья снизу единица в левой стороне

треугольника соответсвует набору (101). В качестве слагаемого многочлена берем

x1x3. Аналогично для других единиц треугольника. Слева от наборов показаны слагаемые многочлена Жегалкина.

N

x1x2x3

f

Треугольник Паскаля

 

 

 

 

40