Автор работы: Пользователь скрыл имя, 28 Октября 2013 в 15:28, доклад
В общем случае для установления полноты системы S булевых функций используется критерий полноты Поста-Яблонского.
Дадим предварительно классификацию булевых функций.
При использовании аналитических форм представления логических функции широко используется принцип суперпозиции, заключающийся в замене одних аргументов данной функции другими. Например, если аргументы функции Z = Z(X, Y) являются в свою очередь функциями других аргументов X = Х(a, b) и Y = Y(c, d), то можно записать Z = Z(a, b, c, d).
Система S логических функций f0, f1, f2, … , fk называется функционально полной, если любую функцию алгебры логики можно представить в аналитической форме через эти функции. Как известно, любое сложное высказывание можно представить в виде выражения, в которое входят простые высказывания (переменные хi), операции дизъюнкции, конъюнкции, отрицания и, быть может, скобки (,). Рассмотрим, каким свойствам должны удовлетворять операции, с помощью которых можно выражать любое сложное высказывание.
Система S называется полной в Pk, если любая функция f, fÎPk представима в виде суперпозиции этой системы, и минимальным базисом, если теряется полнота S при удалении хотя бы одной функции, где Pk – k-значная логика.
В общем случае для установления полноты системы S булевых функций используется критерий полноты Поста-Яблонского.
Дадим предварительно классификацию булевых функций.
Все булевы функции подразделяются на следующие типы:
1. Функция, сохраняющая
2. Функция, сохраняющая
3. Самодвойственные функции.
Два набора аргументов называются противоположными, если значения всех аргументов у них противоположны.
Функция называется самодвойственной, если на каждой паре противоположных наборов аргументов она принимает противоположные значения.
4. Монотонная функция
Набор аргументов является возрастающим, если он является старшим, хотя бы в одном из разрядов.
Функция называется монотонной, если. она возрастает при, любом возрастании значений аргументов.
Пример: 01 – старший 11 - старший 1011 - старший
00 - младший 10 - младший 0011 - младший
несравнимый набор
5. Линейная функция
Функция называется линейной, если она может быть представлена многочленом первой степени, т.о.
могут принимать только два значения
Å - знак сложения по модулю 2.
Å mod 2, M2, таблица сложения по модулю 2.
Определим теперь пять классов булевых функций:
1. Классом K0 булевых функций сохраняющих константу 0, называется множество функций вида
2. Классом K1 булевых функций сохраняющих константу 1, называется множество функций вида .
3. Классом Kл линейных булевых функций называется множество функций вида , где С0, Сi = (0,1); Å - знак операции «сложение по модулю 2»; 1 Å 0 = 1, 0 Å 1 = 1, 1 Å 1 = 0.
- линейные функции.
4. Классом Kс самодвойственных булевых функций называется множество булевых функций вида .
Функция самодвойственная, если на любой
паре противоположных наборов
- самодвойственные функции.
5. Классом Км монотонных булевых функций называется множество булевых функций вида:
Теорема о функциональной полноте была сформулирована в 1921 г. американским ученым Эмилем Постом и доказана советским ученым Яблонским С.В.
Система S булевых функций fi является полной тогда и только тогда, когда выполняются 5 условий: существует функция fi Î S, не сохраняющая константу нуль: fi Ï K0; функция fi Î S, не сохраняющая константу 1: fi Ï K1; нелинейная функция, не самодвойственная и немонотонная функция в системе S. Построим все булевы функции от двух переменных (табл.).
переменные |
булевы функции | ||||||||||||||||
X1 |
X2 |
f0 |
f1 |
f2 |
f3 |
f4 |
f5 |
f6 |
f7 |
f8 |
f9 |
f10 |
f11 |
f12 |
f13 |
f14 |
f15 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
Индекс i функциональной переменной равен десятичному эквиваленту этой функции, читаемому сверху вниз.
- константа 0
- конъюнкция
- левая коимпликация (читается “неправда, что если X1 то X2», префикс ко – от латинского conversus - обратный
- правая коимпликация
- сложение по модулю 2 (неравнозначность)
- дизъюнкция
- стрелка Пирса, функция Вебба
- эквивалентность
- отрицание X2
- правая импликация («если X1 то X2»)
- отрицание X1 («если X1 то X2»)
- левая импликация
- штрих Шеффера
Для порождения всех базисов в P2 построим двумерную таблицу, каждой строке которой взаимно однозначно составим 11 функций, столбцу - класс, и в клетке (i, j) ставим 1, если 1 -функция не принадлежит j классу.
идентификатор строки |
номер функции fi |
классы | ||||
K0 |
K1 |
Kл |
Kс |
Kм | ||
a |
0 |
1 |
1 |
|||
b |
1 |
1 |
1 | |||
c |
2 |
1 |
1 |
1 |
1 | |
d |
6 |
1 |
1 |
1 | ||
e |
7 |
1 |
1 |
|||
g |
8 |
1 |
1 |
1 |
1 |
1 |
k |
9 |
1 |
1 |
1 | ||
m |
12 |
1 |
1 |
1 | ||
n |
13 |
1 |
1 |
1 |
1 | |
p |
14 |
1 |
1 |
1 |
1 |
1 |
r |
15 |
1 |
1 |
Из таблицы видно, что каждое, указанное ниже, покрытие порождает базис Bi.
П1 = {g} Û B1 – базис Вебба;
П2 = {p} Û B2 – базис Шеффера;
П3 = {a, n} Û B3 = {Þ, 0} – импликативный базис;
П4 = {b, m} Û B4 = {& Ø} – конъюнктивный базис Буля;
П5 = {m, e} Û B5 = {Ú Ø} – дизъюнктивный базис Буля;
П6 = {r, b, d} Û B6 = {Å, &, 1} – базис Жегалкина;
П7 = {m, n} Û B7 = {Þ , Ø} – базис Фреге.
Всего 17 базисов.
Наиболее часто приходится использовать базис Шеффера.
Информация о работе Полнота системы логических функций. Базис