
- •Введение
- •1. Элементы комбинаторики
- •1.1. Перестановки. Размещения. Сочетания
- •Теорема.
- •1.2. Задачи по комбинаторике
- •2. Функции алгебры логики
- •2.1. Элементарные функции алгебры логики
- •Пример 2.
- •2.2. Формульное задание функций алгебры логики
- •Упрощение записи формул:
- •Теорема о замене подформул на эквивалентные
- •Некоторые свойства элементарных функций
- •Следствия из свойств элементарных функций
- •Пример 3:
- •2.3 Принцип двойственности
- •Пример 1. Покажем с помощью таблицы истинности, что константа 0 двойственна к 1:
- •Пример 3. Покажем, что функция х1х2 двойственна к x1&x2, функция х1х2 двойственна к функции x1|x2.
- •Принцип двойственности
- •Лемма о несамодвойственной функции
- •2.4 Разложение булевой функции по переменным
- •Теорема о разложении функции по переменным
- •2.5. Полнота, примеры полных систем
- •Полные системы
- •Представление функции в виде полинома Жегалкина
- •Теорема Жегалкина
- •2.6. Замыкание и замкнутые классы
- •Важнейшие замкнутые классы в р2
- •Теорема Поста о полноте
- •Примеры использования теоремы Поста.
- •3. Составим критериальную таблицу для другой полной системы функций из р2: {0, 1, x1x2, x1x2}.
- •Теорема о достаточности четырех функций.
- •2.7. Функции k - значной логики
- •Теорема о полной в Рk системе функций
- •2.8. Задачи и упражнения по функциям алгебры логики
- •1. Построить таблицы соответствующих функций, выяснить, эквивалентны ли формулы и :
- •2. Построив таблицу для соответствующих функций, убедитесь в справедливости следующих эквивалентностей:
- •3. Минимизация булевых функций
- •3.1. Минимизация нормальных форм
- •Алгоритм Квайна построения сокращенной днф.
- •Метод Блейка
- •Алгоритм построения сокращенной днф с помощью кнф (метод Нельсона)
- •Построение всех тупиковых днф.
- •Алгоритм минимизации функций в классе днф
- •Алгоритм минимизации функций в классе кнф
- •Алгоритм минимизации функций в классе нормальных форм
- •3.2 Минимизация частично определенных функций
- •Метод минимизирующих карт Карно
- •3.3 Задачи по минимизации и доопределению булевых функций
- •4. Логика высказываний
- •4.1. Введение в логику высказываний
- •4.2. Задачи по алгебре высказываний
- •Список литературы
Теорема Жегалкина
Каждая
функция из
может быть представлена в виде полинома
Жегалкина единственным образом.
Здесь единственность понимается с точностью до порядка слагаемых в сумме и порядка сомножителей в конъюнкциях:
,
s = 0, 1, ..., n. Доказательство.
Любая функция из Р2 может быть
представлена формулой над {x1
& x2, x1x2,
0, 1}, а эта формула после раскрытия всех
скобок и приведения подобных членов
дает полином Жегалкина. Докажем
единственность представления. Рассмотрим
функции f(x1, ..., xn)
от n переменных. Мы знаем, что всего
таких функций, т.е. их таблиц истинности
, 2n. Подсчитаем
число различных полиномов Жегалкина
от n переменных, т.е. число вариаций
вида:
.
Число наборов
равно числу всех подмножеств множества
{ x1, ..., xn }, сюда
входит и пустое множество (если s =
0). Число подмножеств множества из n
элементов равно 2n
, а так как каждый набор входит с
коэффициентом
,
принимающим два значения: 0 или 1, то
число всевозможных полиномов будет
.
Так как каждому полиному соответствует
единственная функция, число функций от
n переменных равно числу полиномов,
то каждой функции будет соответствовать
единственный полином.
Определение. Функция f(x1, ..., xn), полином Жегалкина для которой имеет следующий линейный относительно переменных вид: f = а0 а1х1 а2х2 ... аnхn, называется линейной.
Лемма о нелинейной функции. Суперпозицией нелинейной функции, отрицания и константы 1 можно получить конъюнкцию.
Доказательство.
Пусть f(x1, ..., xn)
– нелинейная функция. Тогда полином
Жегалкина содержит для нее слагаемое,
в котором присутствует произведение
xixj.
Будем считать для простоты, что x1x2
в многочлене Жегалкина является этим
произведением. Произведя группировку
слагаемых, функцию f
представим в виде
Функция h0
не есть тождественный нуль, иначе в
полиноме Жегалкина отсутствует слагаемое
с произведением x1x2.
Тогда существует набор (3,
…, n)
из 0 и 1, для которого h0(3,
…, n)
= 1. Пусть h1(3,
…, n)
= a,
h2(3,
…, n)
= b,
h3(3,
…, n)
= c. Тогда
Построим функцию:
где
d = ab
c.
Если d = 0, то h(x1,
x2) = x1x2.
Если d = 1, то h(x1,
x2) = x1x2
1 и тогда
Лемма доказана.
Функция f(x1, ..., xn) сохраняет константу a {0, 1}, если f(a, …, a) = a.
Пример 4. Функция xy сохраняет 0, сохраняет 1. Функция xy сохраняет 1 и не сохраняет 0.
2.6. Замыкание и замкнутые классы
Определение 1. Пусть MР2. Замыканием М называется множество всех функций из P2, которые можно выразить формулами над М. Замыкание М обозначается [M].
Определение 2. Множество функций М называется замкнутым классом, если [M]=M.
Пример 1.
1) P2 – замкнутый класс.
2) Множество {1,x1x2} не является замкнутым классом. Его замыканием будет класс линейных функций: [{1, x1 x2}] = {f(x1, ..., xn) = c0 c1x1 cnxn}. Действительно, по определению формулы над М, функция f(G1, x3), где f – есть сумма по модулю 2, G1 – функция х1 х2, будет формулой над М: f(G1, x3) = (x1 x2) x3.
Замечание. В терминах замыкания и замкнутого класса можно дать другое определение полноты, эквивалентное исходному:
М – полная система, если [M] = P2.
3) A = {f(x1, ..., xn) f(1, 1, ..., 1) = 0} – незамкнутый класс. Возьмем формулу над этим множеством. Пусть f, g1, ..., gn A, т.е. f(1, 1, ..., 1) = 0, g1(1, 1, ..., 1) = 0, тогда f(g1, ..., gn) [A]. Посмотрим, принадлежит ли функция f(g1, ..., gn) множеству А. f(g1(1, ..., 1), g2(1, ..., 1), ..., gn(1, ..., 1) = f(0, ..., 0)), но f(0, ..., 0) не обязано быть равным 0. Действительно, пусть g1(x1, x2) = x1 x2, g2(x) = x A. Возьмем g2(g1(x1, x2)) = x1 x2 [A], g2(g1(1, 1)) = 1 1 = 0, следовательно, g2(g1(x1, x2)) A, отсюда [A] A и А – незамкнутый класс.