- •Элементы математической логики
- •Составные высказывания
- •Простейшие связки
- •Логические отношения
- •Варианты импликации
- •Элементы математической логики
- •Эти утверждения называются теоремой о функциональной полноте.
- •Множества и отображения
- •Способы задания множеств
- •Подмножества
- •Операции над множествами
- •Соотношение между множествами и составными высказываниями
- •Множества и отображения
- •Соотношения между высказываниями и соответствующими им множествами истинности
- •Законы для объединения и пересечения:
- •Множества и отображения
- •Кортежи и декартово произведение множеств
- •Бинарные отношения
- •Отображение множеств
- •Функции
- •Элементы комбинаторного анализа
- •Основные правила комбинаторики
- •Перечислительная комбинаторика или теория перечислений
- •Логика предикатов или логика первого порядка
- •Предикаты
- •Применение предикатов в алгебре
- •Булева алгебра предикатов
- •Кванторы
- •Формулы логики предикатов
- •Логика предикатов или логика первого порядка
- •Равносильные формулы логики предикатов
- •Элементы теории графов
- •Степень вершины
- •Изоморфизм графов
- •Элементы теории графов
- •Способы задания графов
- •Аналитический способ задания графов
- •Эйлеровы графы
- •Гамильтоновы графы
- •Элементы теории автоматов
- •Способы задания конечного автомата
- •Табличное задание автомата
- •Задание автомата диаграммой Мура
- •Задание конечного автомата системой булевых функций
- •Элементы теории автоматов
- •Примеры конечных автоматов
- •Канонические уравнения автомата
- •Пример 1:
Эти утверждения называются теоремой о функциональной полноте.
Многочлены Жегалкина
Согласно сформулированным утверждениям, можно говорить, что система булевых функций полна. Тогда любую булеву функцию можно представить в виде многочлена от своих переменных и такой многочлен называется многочленом Жегалкина.
Многочленом Жегалкина называется многочлен, являющийся суммой константы и различных одночленов, в которые каждая из переменных входит не выше, чем в первой степени.
Многочлен Жегалкина константы равен самой же константе; многочлен Жегалкина булевой функции одной переменной f(x) = ао © а\х; многочлен Жегалкина булевой функции двух переменных
f(x 1, х2) = а0 © а\Х\ © а2Х2 © ai2(xi А х2);
многочлен Жегалкина булевой функции трех переменных
f(xi,x2,x3) = а0 © а\Х\ © а2х2 © а3х3©
© ai2(xi А х2) © ai3(xi А х3) © а23(х2 А х3) © ai23(xi А х2 А х3)
и т. д. Коэффициенты и свободный член ао принимают значения О
или 1, а число слагаемых в формуле равно 2п, где п — число переменных. Знак © — сумма Жегалкина или сумма по модулю два.
С
Теорема 3 (Жегалкина). Каждая булева функция f(xi,x2, ...,хп) может быть представлена в виде многочлена Жегалкина и притом единственным образом, с точностью до порядка слагаемых.
формулируем алгоритм построения многочлена Жегалкина.Выше было указано, что любую функцию, отличную от константы О, можно представить в виде СДНФ. Если сравним таблицы истинности дизъюнкции и суммы по модулю два, видим, что они отличаются только последней строкой, т. е. на наборе 11. Так как в СДНФ на каждом наборе только одна конъюнкция равна 1, то все дизъюнкции можно заменить суммами по модулю два. Кроме того, известно, что х = х ® 1. На этом и основан первый алгоритм построения многочлена Жегалкина:
Находим множество тех двоичных наборов, на которых функция принимает значение 1.
Составляем СДНФ.
В СДНФ каждый знак дизъюнкции меняем на знак суммы Жегалкина.
Упрощаем, если можно, полученное выражение, используя тождество Х~1 © Xi = 1.
В полученной формуле каждое отрицание xl заменяем на xL Ф 1.
Раскрываем скобки в полученной формуле, содержащей только функции А и © и константу 1.
Приводим подобные члены, используя тождество х(; Ф х,- = 0.
Используя метод неопределенных коэффициентов, получаем второй
алгоритм определения многочлена Жегалкина:
Составляем систему линейных уравнений относительно 2п неизвестных коэффициентов, содержащую 2п уравнений, решением которой являются коэффициенты ао, а\, многочлена Жегалкина.
Многочлен Жегалкина называется нелинейным, если он содержит конъюнкции переменных, а если он не содержит конъюнкции переменных, то он называется линейным.
Функция f(x 1, Х2,.. -, хп) называется линейной, если ее многочлен Жегалкина имеет вид ао ©aiXi ф.. ,фа„х„, и нелинейной в противном случае.
Из определения многочлена Жегалкина следует, что для любой булевой функции коэффициенты при переменных xi, х2,..., хп и свободный член вычисляются по формулам:
а0 = ДО,...,0), а\ = ДО,..., 0) © f(l,..., 0), а2 =Я0,...,0)ФЯ0,1,...,0),
а„ = /(0,...,0)®/(0,...,1).
На этом основан алгоритм определения линейности (или нелинейности) булевой функции.
По таблицам истинности булевой функции Дхi, х2,..., х„) и выше указанным формулам находим коэффициенты: (ао, а\, ...,ап).
Выписываем многочлен Ф(х!,..., хп) = ао © а\Х\ © ... © апхп и проверяем, задает ли он эту функцию. Для этого строим таблицу истинности многочлена Ф(лл, Х2,..., хп) и сравниваем ее с таблицей истинности функции f(xi,x2, ...,хп).
Если таблицы истинности совпадают, то функция f(x±, x<i,..., х„) линейная и Ф(Х1, Х‘2, .., хп) — ее многочлен Жегалкина. В противном случае функция нелинейная.
