Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3.Булевские функции.doc
Скачиваний:
9
Добавлен:
23.11.2019
Размер:
166.91 Кб
Скачать

Элементарными являются следующие булевские функции. Функции одной переменной:

  1. Тождественный ноль (эта функция обозначается как O(x) или 0).

2. Тождественная единица (обозначается как 1(x) или 1).

3. Отрицание, записываемое как .

4. Тождественная функция (обозначается как I(x) или x).

Табличные задания данных функций имеют следующий вид:

x

0(x)

1(x)

I(x)

0

0

1

1

0

1

0

1

0

1

Функции двух переменных:

  1.  (x1, x2) - дизъюнкция;

  2. & ( x1, x2) - конъюнкция;

  3.  (x1, x2) - импликация;

  4. + (x1, x2) - сумма по модулю два;

  5. ~ (x1, x2) - эквивалентность;

  6.  (x1, x2) - функция Шеффера.

На практике для представления этих функций используется инфиксная запись, в которой символическое имя функции записывается между левой и правой компонентой аргумента, т.е. например, вместо & (x1, x2) используется запись: (x1 & x2).

Табличные задания этих функций приведены в следующей таблице:

x1 x2

x1 x2

x1& x2

x1 x2

x1+x2

x1~x2

x1 | x2

0 0

0

0

1

0

1

1

0 1

1

0

1

1

0

1

1 0

1

0

0

1

0

1

1 1

1

1

1

0

1

0

Заметим, что отнесение приведенных функций к элементарным достаточно условно. Например, нетрудно проверить, что совпадает с отрицанием конъюнкции, т.е. одни элементарные функции могут быть выражены через другие такие функции.

4.5. Формулы

С помощью символических обозначений переменных и функций можно строить записи, представляющие другие булевские функции. Такие записи называются формулами.

Пусть B  произвольное множество булевских функций. Определим понятие формулы над B.

Определение

1. Если f(x1, . . . , xn) B, то запись f(x1, . . . ,xn) является формулой над B.

2. Пусть f ( x1 , . . . , xn ) B и A 1 , . . . , A n  это либо формулы над B, либо обозначения переменных. Тогда запись f(A1, . . . , An)  формула над B.

3. Никакие другие записи не являются формулами над B.

Примером формулы над множеством элементарных функций является следующая запись:

.

Пары ограничивающих скобок в формулах необходимы для определения порядка вложенности одних формул в другие. При этом всякая формула, вложенная или содержащаяся в другой формуле, называется подформулой такой формулы.

Важной характеристикой подформул является глубина их вхождения в формулы:

1. Вхождения переменных во всякую формулу имеют глубину 0.

2. Если f (x1, . . . , xn) B, то формула U = f (x1, . . . , xn) имеет глубину d(U)=1

  1. Если U = f (U 1, . . . , Un), то глубина U определяется соотношением: d(U)= 1 + max(d(U1), . . . , d(Un)).

Для обозначения формул используются прописные символы латинского алфавита (возможно с индексами). Если в записи формулы U содержатся символы переменных x1, . . . , xn, то допускается запись этой формулы в виде U(x1, . . . , xn). Если U содержит подформулы U1, . . . , Uk, то для указания на это свойство формулы U используется запись U(U1, . . . , Uk).

Записи формул над множеством элементарных функций можно упростить за счет опускания части скобок. Для этого достаточно ввести понятие приоритета или старшинства функций из этого множества.

Приоритеты или старшинство элементарных функций устанавливаются следующей схемой убывания приоритетов:

1) 0, 1, I;

2) ;

3) &, ;

4) +, ~, ,.

Приоритеты означают, что при отсутствии скобок более сильная операция соответствует подформуле большей вложенности, или применяется раньше. Тогда с учетом приоритетов приведенный ранее пример формулы можно переписать в виде: .

Всякая формула U (х1, . . . , хn) представляет однозначно определяемую булевскую функцию f U (x1 , . . . , xn). Напомним, что x1, . . . , xn  это все переменные, входящие в U.

Для определения значения f U на конкретном наборе значений переменных x1 , . . . , xn можно воспользоваться следующими правилами:

  1. подставим в U вместо переменных x1, . . . , xn принимаемые ими значения;

  2. вычислим значение произвольной наиболее вложенной функции, все переменные которой принимают конкретные значения, и заменим вхождение этой функции в формулу на полученное значение;

  3. если полученная в результате запись не является двоичным значением, то повторим действие 2.

Понятие формулы над множеством функций B и понятие функции, представляемой формулой, не являются эквивалентными и не равносильны поскольку всякая формула  это запись, представляющая некоторую булевскую функцию f, но сама такая функция может представляться различными формулами.

Например, нетрудно убедиться, что следующие две формулы над множеством элементарных функций представляют одну и ту же функцию: U1 = и .