Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект.docx
Скачиваний:
35
Добавлен:
28.05.2022
Размер:
2.46 Mб
Скачать
      1. Полином Жегалкина

Рассмотрим еще одно представление функции в виде формулы заданного вида.

Определение 2.1.13 . Формула вида

α0 α1x1 α2x2 ... αnxn α12x1x2 ... α12...nx1x2...xn, (30)

где x1, ..., xn - логические переменные, а α0, α1, ..., α12...n - логические константы, называется полиномом Жегалкина.

Замечание 2.1.9 . Для удобства будем также использовать следующую запись:

Пример 2.1.12 .

I⊆{1,...,n}

α(I) xi.

iI

1 ⊕ X1 ⊕ x2x3 - полином Жегалкина.

Здесь n = 3, α0 = α1 = α23 = 1, а α2 = α3 = α12 = α13 = α123 = 0.

Утверждение 2.1.6 . Пусть f (x1, ..., xn) P2. Тогда функция f может быть представлена полиномом Жегалкина, причем единственным образом.

Доказательство. Для начала докажем существование такого представления для функции. Прежде всего заметим, что произвольная

функция представима в виде формулы U1 над , , ∧}: если f /= 0, ее

можно представить в виде СДНФ, а f = 0 представим как f = x x.

Воспользуемся законом де Моргана x y = x y и заменим все

дизъюнкции в формуле U1 на конъюнкции и отрицание. Получим

представление функции f (x1, ..., xn) в виде формулы U2 над системой

элементарных функций , ∧}. Заменим в формуле U2 все отрицания

на сложение по модулю два согласно тождеству x = 1 x. Раскроем

все скобки, пользуясь дистрибутивностью относительно , и получим

формулу вида (30).

Теперь докажем единственность. Пусть

f (x1, ..., xn) =

α(I) xi =

β(I) xi.

I⊆{1,...,n}

iI

I⊆{1,...,n}

iI

  • два различных полинома Жегалкина для функции f . Полиномы различны, когда отличаются наборы их коэффициентов α и β.

Выберем I {1, ..., n} такой, что α(I) /= β(I) и α(I) = β(I)

для любого I I. Мы можем выбрать такой набор, начав с I0 =

{1, ..., n} и последовательно удаляя индексы, если указанное свойство

не выполняется. Так, если для набора индексов Ik существует I Ik:

α(I) /= β(I), то выбираем Ik+1 = I и так далее, пока не получим Il с

искомыми свойствами.

Пусть

Тогда

σi =

( 1, i I, i = 1, n.

0, i / I,

f (σ1, ..., σn) =

α(I) σi = α(I) = α(I) α(I)

и в то же время

I⊆{1,...,n}

iI

II

II

f (σ1, ..., σn) =

β(I) σi = β(I) = β(I) β(I).

Таким образом,

I⊆{1,...,n}

iI

II

II

α(I) α(I) = β(I) β(I) =α(I) = β(I).

II

II

Противоречие с нашим исходным предположением о Iдоказывает утверждение.

D

Замечание 2.1.10 . Полином Жегалкина является формулой над

{0, 1, , ⊕}. 0 нам требуется для задания тождественно нулевой

функции. Для остальных случаев нам будет достаточно функций

1, , .

Пример 2.1.13 . Рассмотрим функцию f , заданную формулой

f (x, y, z) = xy z xy. Представим ее с помощью формулы над , ∧}.

xy z = xy z = xy z,

xy z xy = (xy z) xy = xy z xy

Теперь избавимся от отрицаний и раскроем скобки.

xy z xy = 1 ((1 (xy (1 z))) (1 xy)) =

= 1 1 xy (xy (1 z)) (xy (1 z))xy =

= xy (xy (1 z)) (xy (1 z)) = xy.

Таким образом, единственным ненулевым коэффициентом полинома Жегалкина для функции f оказался α12 и сам полином имеет вид f (x, y, z) = xy.

Замечание 2.1.11 . Для построения полинома Жегалкина есть и более удобный способ - метод неопределенных коэффициентов. Предположим, что функция f (x1, ..., xn) задана таблицей значений для всех наборов аргументов. Нам известен общий вид полинома Жегалкина для f

I⊆{1,...,n}

α(I) xi

iI

и требуется только вычислить коэффициенты α(I).

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

I 1,...,n

f (0, ..., 0) =

{ }

α(I) 1\

iI

0 = α(∅). Отсюда имеем первый

коэффициент:

α(∅) = f (0, ..., 0).

f (0, .., 0, 1) = α(∅) α({n}) 1. Таким образом,

α({n}) = f (0, ..., 0, 1) α(∅) = f (0, ..., 0, 1) f (0, ..., 0, 0).

f (0, ..., 0, 1, 0) = α(∅) α({n 1}) 1 и

α({n 1}) = f (0, ..., 0, 1, 0) α(∅) = f (0, ..., 0, 1, 0) f (0, ..., 0, 0, 0).

f (0, ..., 0, 1, 1) = α(∅) α({n 1}) α({n}) α({n 1, n}) и,

следовательно,

α({n 1, n}) = f (0, ..., 0, 1, 1) α(∅) α({n 1}) α({n}) =

= f (0, ..., 0, 1, 1) f (0, ..., 0, 0, 0) f (0, ..., 0, 1, 0)

f (0, ..., 0, 0, 0) f (0, ..., 0, 1) f (0, ..., 0, 0) =

= f (0, ..., 0, 1, 1) f (0, ..., 0, 1, 0) f (0, ..., 0, 0, 1) f (0, ..., 0, 0, 0)

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

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

f (x, y, z) = xy z xy из примера 2.1.13 с помощью метода

неопределенных коэффициентов. В общем виде полином для функции

от трех переменных выглядит следующим образом:

f (x, y, z) = α0 α1x α2y α3z α1,2xy α1,3xz α2,3yz α1,2,3xyz.

Переберем все возможные наборы аргументов.

f (0, 0, 0) = 0 = α0

α0 = 0,

f (0, 0, 1) = 0 = α0 α3

α3 = 0,

f (0, 1, 0) = 0 = α0 α2

α2 = 0,

f (0, 1, 1) = 0 = α0 α2 α3 α2,3 α2,3 = 0,

f (1, 0, 0) = 0 = α0 α1 α1 = 0,

f (1, 0, 1) = 0 = α0 α1 α3 α1,3

α1,3 = 0,

f (1, 1, 0) = 1 = α0 α1 α2 α1,2

α1,2 = 1,

f (1, 1, 1) = 1 = α0 α1 α2 α3 α1,2

α1,3 α2,3 α1,2,3

α1,2,3 = 0.

Полином Жегалкина имеет вид f (x, y, z) = xy, что совпадает с результатом примера 2.1.13.

Пример 2.1.15 . Рассмотрим еще один пример использования метода неопределенных коэффициентов. Пусть f (x, y, z) = (x y) z. Пусть

f (x, y, z) = xy xz yz.

f (0, 0, 0) = 0 = α0

α0 = 0,

f (0, 0, 1) = 0 = α0 α3

α3 = 0,

f (0, 1, 0) = 0 = α0 α2

α2 = 0,

f (0, 1, 1) = 1 = α0 α2 α3 α2,3 α2,3 = 1,

f (1, 0, 0) = 0 = α0 α1 α1 = 0,

f (1, 0, 1) = 1 = α0 α1 α3 α1,3

α1,3 = 1,

f (1, 1, 0) = 1 = α0 α1 α2 α1,2

α1,2 = 1,

f (1, 1, 1) = 1 = α0 α1 α2 α3 α1,2

α1,3 α2,3 α1,2,3

α1,2,3 = 0.

Следовательно, полином Жегалкина для функции f будет иметь вид

f (x, y, z) = xy xz yz.

Соседние файлы в предмете Дискретная математика