Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
discrete_math.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.33 Mб
Скачать

20. Элементарные булевы функции и способы их задания (табличный, векторный, формульный, графический, карта Карно).

Определение. Функция от n аргументов называется булевой функцией (или функцией алгебры логики), если каждому набору она ставит в соответствие число .

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

– функция тождественный ноль (константа 0),

– функция тождественная единица (константа 1),

– тождественная функция,

– функция отрицание х (читается «не х»).

(011) (111)

(001) (101)

(010) (110)

(000) (100)

Элементы множества можно сопоставить вершинам n-мерного единич­ного куба (на рисунке изображена проекция 3-мерного куба на плос­кость). Элементы этого множества можно считать двоичной записью чисел 0, 1, 2,…, 2n–1. Это графический способ задания булевой функции.

х1 х2

g0

g1

g2

g3

g4

g5

g6

g7

g8

0 0

0

1

0

0

0

1

1

1

1

0 1

0

1

1

0

1

0

1

0

1

1 0

0

1

1

0

1

0

0

0

1

1 1

0

1

1

1

0

1

1

0

0

В таблице перечислены некоторые булевы функции от двух аргументов х1 и х2:

– константа 0,

– константа 1,

– дизъюнкция (логическое сложение, «х1 или х2»),

– конъюнкция (логическое умножение, «х1 и х2»),

– сложение по модулю 2,

– эквиваленция,

– импликация (логическое следование),

– стрелка Пирса (антидизъюнкция),

– штрих Шеффера (антиконъюнкция).

С помощью таблицы можно задать булеву функцию от любого числа аргументов. Таблица для функции от n аргументов содержит 2n строк. В каждой строке записан набор значений аргумента длины n из нулей и единиц, а также значение функции на этом наборе. При заполнении строк таблицы будем придерживаться правила: для каж­дого i = 1,2,3,…,2n набор значений аргумента в i-й строке пред­став­ляет собой запись числа (i – 1) в двоичной системе счисления. Таким образом, значения самой функции в таблице будут записаны в виде столбца из нулей и единиц высоты 2n. Если этот столбец записать в виде отдельной строки, то получим так называемый векторный способ задания булевой функции. Например, штрих Шеффера можно задать векторным способом . Поскольку имеется ровно различных наборов длины 2n из нулей и единиц и каждый из них можно рассматривать как вектор, задающий некоторую булеву функцию от n аргументов, то существует ровно различных булевых функций от n аргументов.

Карта Карно – это таблица, которая является ещё одним способом задания булевой функции. Каждому набору значений аргументов во внутренней части этой таблице соответствует одна клетка.

Пример. Карта Карно для функции f(x,y,z) = (00110001)

ху

00

01

11

10

z

0

0

1

0

0

1

0

1

1

0

Внутренняя часть карты состоит из 8 клеток, в каждой из которых записано значение функции на определенном наборе значений аргументов. Данная функция обращается в единицу только на трех наборах – (010), (011) и (110)
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]