Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Булевы функции-metod.doc
Скачиваний:
36
Добавлен:
01.12.2018
Размер:
956.93 Кб
Скачать

Полиномы Жегалкина

Элементарная конъюнкция называется монотонной, если она не содержит отрицаний переменных. Константа 1 (т.е. элементарная конъюнкция нулевого ранга) считается монотонной по определению. Выражение вида , где коэффициенты {0,1}, называется полиномом Жегалкина (или полиномом по модулю 2). Число r слагаемых полинома называют его длиной. Рассматривается также полином Жегалкина без слагаемых. Такой полином обозначают 0 и считают по определению, что он равен константе 0.

Наибольший из рангов элементарных конъюнкций, входящих в полином, называют степенью этого полинома. Степень полинома 0 считается неопределенной.

  1. Всякая булева функция единственным образом представима в виде полинома Жегалкина.

Здесь единственность понимается с точностью до порядка слагаемых в сумме и порядка сомножителей в конъюнкциях.

Опишем методы построения полиномов Жегалкина.

1. Метод неопределенных коэффициентов. Булева функция f(x1,…,xn) приравнивается к полиному Жегалкина P(x1,…,xn) общего вида с неизвестными 2n коэффициентами. Затем для каждого Bn составляется уравнение f()=P() относительно коэффициентов Ai. Далее решается система из 2n уравнений относительно неизвестных 2n коэффициентов Ai. Причем в силу предыдущей теоремы решение всегда существует и единственно.

2. Метод основан на представлении функции в виде формулы над множеством {, , } с последующей заменой x=x1, .

3. Метод, базирующийся на преобразовании вектора значений функции. Над векторами из определяется (индукцией по n) операция Т.

  1. Если n = 1 и , то .

  2. Предположим, что операция Т уже определена для каждого вектора а из , и рассмотрим произвольный вектор а из . Пусть и , . Тогда .

Вектор значений функции f и вектор коэффициентов ее полинома Жегалкина связаны соотношениями и .

  1. Проиллюстрируем эти методы для функции xy.

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

xy=f(x,y)=P(x,y)=0010x01y11xy.

(00) 1=0000=1.

(01) 1=000101=0.

(10) 0=001010=1.

(11) 1=0010011111=1.

Таким образом, xy=1xxy.

2. .

3. =(1101). Расщепляем этот вектор на вектора длины 2. Выполняем для каждого из них преобразование T. Затем выполняем преобразование T для полученного вектора длины четыре. Результаты вычислений приведены в таблице. Таким образом, =(1,0,1,1) и xy=1xxy.

1

1

1

1

0

0

0

0

1

1

1

1

Задачи

  1. Найти полином Жегалкина функции методом неопределенных коэффициентов:

    1. f=(01110100);

    2. f=(11001110);

    3. f=(10011110);

    4. f=(00111100);

    5. f=(11110000);

    6. f=(10101111);

    7. f=(11101001);

    8. f=(11010011);

    9. f=(10011101);

    10. f=(00111011).

  1. Найти полином Жегалкина функции, преобразуя вектор ее значений:

    1. f=(1011010110110101);

    2. f=(0101111101011111);

    3. f=(1100110000110011);

    4. f=(0011110000111100);

    5. f=(0110110110110111);

    6. f=(0111011110101010);

    7. f=(0110101101101011);

    8. f=(1011111010111110);

    9. f=(1001100001100111);

    10. f=(0111100001111000).

  1. Найти полином Жегалкина функции с помощью эквивалентных преобразований:

    1. ;

    2. ;

    3. ;

    4. ;

    5. ;

    6. ;

    7. ;

    8. ;

    9. ;

    10. .