Рассмотрим алгоритмы построения полинома Жегалкина булевой функции, заданной различными способами, а именно: совершенной ДНФ, произвольной ДНФ, формулой и таблицей истинности.
Алгоритм построения полинома Жегалкина по СовДНФ (основан на доказательстве теоремы о существовании полинома Жегалкина).
Начало. Задана совершенная ДНФ функции f(x1, …, xn).
Шаг 1. Заменяем каждый символ дизъюнкции на символ дизюнкции с исключением.
Шаг 2. Заменяем каждую переменную с инверсией x равносильной формулой x 1.
Шаг 3. Раскрываем скобки.
Шаг 4. Вычеркиваем из формулы пары одинаковых слагаемых.
Конец. Получен полином Жегалкина функции f(x1, …, xn).
Пример. Найдем полином Жегалкина мажоритарной булевой функции по ее совершенной ДНФ.
Основными заданиями этого раздела лабораторных работ являются задания двух видов: а) нахождение полинома Жегалкина для заданных функций. Для выполнения приведенного типа заданий необходимо последовательно пройти 4 шага каждого задания. Переход к следующему шагу происходит если на предыдущем шаге был получен правильный ответ. При нахождении полинома Жегалкина для заданной функции необходимо выполнить следующие шаги: заменить операцию булевой алгебры через операции алгебры Жегалкина (рисунок 10.а), заменить операции булевой алгебры через операции алгебры Жегалкина (рисунок 10.б), раскрыть скобки (рисунок 10.в) и упростить полученное выражение (рисунок 10.г).
и унок 10 - Пример выполнения задания на построение полинома Жегалкина
б) определение полноты набора булевых функций. Для этого необходимо заполнить таблицы истинности для функций алгебры логики и провести их исследования на сохранение 0, сохранение 1, самодвойственность, монотонность, линейность. По результатам сделать вывод о полноте предложенного набора функций. На рисунке 11 приведен пример задания данного типа.
Рс нок 11 - Пример задания на определение полноты набора булевых функций
Для выполнения этого типа заданий заполните доступные для ввода ячейки таблицы значениями 0, 1, + или -. На рисунке 3 приведено решение примера, представленного на рисунке 2.
Рснок 12 - Пример выпо лнения задания, приведенного на рисунке 2
8) Ответьте на контрольные вопросы. 9) Просмотрите итоги выполнения работы.
4 Контрольные вопросы и задания
Какие элементарные операции используются в алгебре Жегалкина?
Что такой полином Жегалкина?
Какая булева функция называется линейной?
Приведите алгоритм преобразования булевых функций к виду полинома Жегалкина.
Приведите примеры линейных булевых функций.
При каких условиях набор булевых функций полон? Определите функционально полный набор.
Сформулировать понятие замкнутого класса. Какие замкнутые классы рассматриваются в булевой алгебре?
Является ли объединение функционально замкнутых классов функционально замкнутым классом?
Запишите тождества, позволяющие выразить основные операции булевой алгебры в алгебре Жегалкина.
Сколько различных полиномов Жегалкина можно построить для произвольной булевой функции?
Дайте определения булевых функций, сохраняющих ноль и единицу.
Установить, сохраняет ли 0 и 1 функция Шеффера.
Определите монотонность булевой функции?
Какой набор булевых функций называется несократимым?