Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

к теме №3 / Полнота системы логических функций

.doc
Скачиваний:
56
Добавлен:
05.03.2016
Размер:
180.22 Кб
Скачать

Полнота системы логических функций. Базис

При использовании аналитических форм представления логических функции широко используется принцип суперпозиции, заключающийся в за­мене одних аргументов данной функции другими. Например, если аргументы функции 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, fPk представима в виде суперпозиции этой системы, и минимальным базисом, если теряется полнота S при удалении хотя бы одной функции, где Pk – k-значная логика.

В общем случае для установления полноты системы S булевых функций используется критерий полноты Поста-Яблонского.

Дадим предварительно классификацию булевых функций.

Все булевы функции подразделяются на следующие типы:

1. Функция, сохраняющая константу нуль. (Если функция на "0" наборе аргументов равна 0, то она называется сохраняющей константу нуль. ).

2. Функция, сохраняющая константу 1. (Если функция на "1" наборе аргументов равна 1, то она называется сохраняющей константу "1". ).

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 базисов.

Наиболее часто приходится использовать базис Шеффера.

Соседние файлы в папке к теме №3