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

Автор работы: Пользователь скрыл имя, 28 Октября 2013 в 15:28, доклад

Описание работы

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

Файлы: 1 файл

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

— 176.00 Кб (Скачать файл)

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

При использовании аналитических  форм представления логических функции  широко используется принцип суперпозиции, заключающийся в замене одних аргументов данной функции другими. Например, если аргументы функции 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. Функция, сохраняющая константу  нуль. (Если функция на "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 базисов.

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


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