- •Введение
- •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. Задачи по алгебре высказываний
- •Список литературы
2.5. Полнота, примеры полных систем
Определение. Система функций {f1, f2, ..., fs, ...}P2 называется полной в Р2, если любая функция f(x1, ..., xn) P2 может быть записана в виде формулы через функции этой системы.
Полные системы
1. P2 – полная система.
2. Система M={x1&x2,
x1x2,
}
– полная система, т.к. любая функция
алгебры логики может быть записана в
виде формулы через эти функции.
Пример 1. Неполные системы:
{
},
{0,1}.
Лемма (достаточное условие полноты)
Пусть
система
U
= {f1, f2, ..., fs,
...} полна в Р2. Пусть B = {g1,
g2, ..., gk,
...} – некоторая система из Р2,
причем любая функция fi
U может
быть выражена формулой над B, тогда
система B полна в Р2.
Доказательство.
Пусть h(x1,
..., xn)
P2,
т.к. U
полна в Р2,
то h(x1,
..., xn)
= =N[f1,
..., fs,
...] =
N[L1[g1,
..., gk],
..., Ls[g1,
...,
gk],
...] = U[g1,
..., gk].
Здесь
мы воспользовались тем, что для любого
i
n
fi
может быть выражена формулой над B,
поэтому fi=Li[gi,
..., gk].
3. Система {x1x2,
}
– полна в P2.
Возьмем в качестве
полной в Р2 системы U={x1x2,
,
x1&x2}, B={x1x2,
}.
Надо показать, что x1&x2
представляется формулой над B.
Действительно, по правилу Де Моргана
получим: x1&x2=
.
С помощью этой леммы докажем полноту еще ряда систем.
4. Система {x1&x2,
}
– полна в Р2.![]()
5. Система {x1|x2} полна
в Р2. Для доказательства возьмем
в качестве полной в Р2 системы
U = {x1&x2,
}
и выразим х1&х2 и
через х1|x2 :
=
x1 | x1, x1 &
x2 =
=
(x1|x2)|(x1|x2).
6. Система {x1
x2}
полна в Р2. U = {x1x2,
},
=
x1
x1,
x1x2
=
= (x1
x2)
(x1
x2).
7. Система {x1&x2,
x1x2,
0, 1}, U = {x1&x2,
},
=
x11.
Следствие. Полином Жегалкина.
f(x1,
..., xn) P2,
представим ее в виде формулы через
конъюнкцию и сумму по модулю два,
используя числа 0 и 1. Это можно сделать,
так как {x1&x2, x1x2,
0, 1} полна в Р2. В силу свойства
x & (yz)
= xy xz можно
раскрыть все скобки, привести подобные
члены, и получится полином от n
переменных, состоящий из членов вида
х
х
...х
,
соединенных знаком .
Такой полином называется полиномом
Жегалкина.
Общий вид полинома Жегалкина:
![]()
где
,
s = 0, 1, ..., n, причем при s = 0
получаем свободный член а0.
Представление функции в виде полинома Жегалкина
1. Представим любую функцию формулой
над {x1&x2,
}
и сделаем замену
=x1.
Этот способ удобен, если функция задана
формулой.
Пример 2. (x1
(x2
x3))(x1
x2)
x3 = (x1 x2
x3)(x1
x2)
x3 = (x1x2
x1x3
x1x2
x2
x2x3)x3
= (x1x3
x2)x3
= x1x3x2
x3 = ((x1x31)x21)x3
= x1x2x3x2x3x3.
Надо помнить, что четное число одинаковых слагаемых в сумме по mod2 дает 0.
2. Метод неопределенных коэффициентов. Он удобен, если функция задана таблицей.
Пример 3. Запишем с неопределенными коэффициентами полином Жегалкина для функции трех переменных f(x1, x2, x3) = (01101001) = а0 а1х1 а2х2 а3х3 b1x1x2 b2x2x3 b3x1x3 cx1x2x3. Затем находим коэффициенты, используя значения функции на всех наборах. На наборе (0, 0, 0) f(0, 0, 0) = 0, с другой стороны, подставив этот набор в полином, получим f(0, 0, 0) = а0, отсюда а0 = 0. f(0, 0, 1) = 1, подставив набор (0, 0, 1) в полином, получим: f(0, 0, 1) = а0 а3, т.к. а0 = 0, отсюда а3 = 1. Аналогично, f(0, 1, 0) = 1 = а2, f(0, 1, 1) = 0 = а2 а3 b2 = b2 = 0; а1 = 1; 0 = а1 а3 b3 = b3 = 0; 0 = а1 а2 b1 = b1 = 0; 1 = 1 1 1 c; c = 0; f(x1, x2, x3) = x1 x2 x3.
3. Многочлен Жегалкина можно получить также с помощью треугольника Паскаля по единицам его левой стороны по таблице следующим образом. Построим многочлен Жегалкина для функции f = (10011110). Верхняя сторона треугольника есть функция f. Любой другой элемент треугольника есть сумма по модулю для двух соседних элементов предыдущей строки. Левая сторона треугольника для функции f содержит шесть единиц. Многочлен Жегалкина будет содержать шесть слагаемых. Первая единица треугольника соответствует набору (000). Первое слагаемое многочлена есть 1. Третья снизу единица в левой стороне треугольника соответсвует набору (101). В качестве слагаемого многочлена берем x1x3. Аналогично для других единиц треугольника. Слева от наборов показаны слагаемые многочлена Жегалкина.
|
N |
x1x2x3 |
f |
Треугольник Паскаля |
|
1 x3 x2 x2x3 x1 x1x3 x1x2 x1x2x3 |
000 001 010 011 100 101 110 111 |
1 0 0 1 1 1 1 0 |
1 0 0 1 1 1 1 0 1 0 1 0 0 0 1 1 1 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 |
Тогда
