Уфимский государственный авиационный технический университет
Кафедра АПРиС
Курсовая работа
по дискретной математике
«Полином Жегалкина»
Выполнили:
Проверила:
Шерыхалина Н.М.
Уфа – 2008
Оглавление
Цель работы
Введение
Теоретическая часть
Алгоритм
Блок-схемы
Листинг программы
Тестирование программы
Заключение
Список использованной литературы:
Цель работы
Целью данной работы является изучение булевых функций, разработка алгоритма их представления в виде полинома Жегалкина и написания программы, реализующей этот алгоритм.
В курсе дискретной математики изучаются функции, область определения которых – дискретное множество. Простейшим (но нетривиальным) таким множеством является множество, состоящее из двух элементов.
Теоретическая часть
Определение 1:Система функций
Пример:
1) Само множество
2)
3)
Теорема 1. Пусть даны две системы функций из
Известно, что система I полная и каждая функция системы I выражается через функции системы II. Тогда система II является полной.
Доказательство: Пусть
По условию теоремы
Поэтому
Примеры:
1)
2)
3)
4)
5)
Докажем это от противного.
Предположим, что
Но
Противоречие.
6)
6’)
7)
8)
Теорема Жегалкина. Каждая функция из
где
Имеем: число разных сочетаний
Т. о. получаем единственность представления функций через полином Жегалкина.
Способы представления функции в виде полинома Жегалкина
1) Алгебраические преобразования
Пример:
2) Метод неопределенных коэффициентов
Вектор
Нам нужно найти неизвестные коэффициенты
Поступаем так. Для каждого составим
3) Метод, базирующийся на преобразовании вектора значения функции
Пусть
Разбиваем вектор
Операция T определена следующим образом:
Применяем операцию Т к двумерным наборам:
Используя построенные наборы, конструируем четырехмерные наборы, которые получаются в результате применения операции Т к четырехмерным наборам, выделяемым из
Затем от четырехмерных наборов переходим (аналогично) к восьмимерным и т.д., пока не построим
Пример:
Пусть вектор значений функций
Полученный вектор является искомым векторов коэффициентов полинома
Определение 2: Пусть M – некоторое подмножество функций из P2. Замыканием M называется множество всех булевых функций, представимых в виде формул через функции множества M. Обозначается [M].
Замечание. Замыкание инвариантно относительно операций введения и удаления фиктивных переменных.
Примеры.
1) M=P2, [M]=P2.
2) M={1,x1Åx2}, [M] – множество L всех линейных функций вида
Свойства замыкания:
1) Если М замкнуто, то [M]=M;
2) [[M]]=[M];
3) M1ÍM2 Þ [M1]Í[M2];
4) [M1ÈM2]Ê[M1]È[M1].
Определение 3. Класс (множество) M называется (функционально) замкнутым, если [M]=M.
Примеры.
1) Класс M=P2 функционально замкнут;
2) Класс {1,x1Åx2} не замкнут;
3) Класс L замкнут (линейное выражение, составленное из линейных выражений линейно).
Новое определение полноты. M – полная система, если [M]=P2.
булевой функция полином жигалкин
В данной программе был реализован метод неопределенных коэффициентов для построения полинома Жегалкина.
1. Получить таблицу истинности для определенного количества переменных;
2. Заполнить значения функции для каждого из наборов таблицы истинности;
3. Последовательно вычислить неизвестные коэффициенты;
4. Записать функцию в виде полинома Жегалкина с вычисленными коэффициентами.