Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Булева функция (логическая функция, функция алгебры




^логики) - это функция одной или нескольких переменных

I , где Z - логические переменные,

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

'равны 0 или 1: . Можно применять векторные обозначения

|для сокращения записи. Пользуясь другими терминами, можно

f

[считать областью определения булевой функции множество вершин

i п -мерного единичного куба

.На рис.19 изображена

Гфункция 3 переменных

f

fпринимающая значение 1 на

t1наборах (001), (011), (100)

[Обратите внимание на допустимую

форму записи: можно не разделять запятыми значения аргументов -все они однозначные числа.

;Если число переменных равно

п и любая из них может независимо от других принимать 2:значения, то число различных п -

векторов равно . Относительно

t

каждой функции все множество разбивается

на два класса // -векторов прообраз значения 0 и прообраз значения

1 функции Z Мы будем рассматривать только всюду определенные функции

Если считать, что переменные обозначают истинность

(значение 1) или ложность (значение 0) высказываний-аргументов, то

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

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

- таблица из строк - п -мерных булевых векторов в алфавитном порядке, каждому из которых сопоставлено значение функции Z, равное 0 или 1. Заметим, что булева функция Z является на характеристической функцией того множества точек

, для которых Z = 1. В таблице 5 представлены все функции одной переменной - их 4

В 1 -м столбце - значения переменной X; в каждом из последующих -значения соответствующей функции, обозначение функции - в 1-й

строке Во 2-м столбце - функция-константа , в 5-м - функция-

константа . В 3-м столбце тождественная функция Z = X, в 4-м -

функция , которую обозначают также и называют

отрицанием. Второй способ обозначения подчеркивает, что отрицание

- одноместная функция аргумента X.

Аналогично могут быть заданы функции нескольких переменных Некоторые из них - для двух переменных - в табл.6 Сравните их (столбцы 3-5) с таблицами истинности основных логических операций конъюнкции, дизъюнкции, импликации, эквивалентности,'для которых значения аргументов и результатов операций обозначались буквами И, Л Отметим также, что с арифметической точки зрения, т.е. если рассматривать 0 и 1 как натуральные числа с обычными операциями

арифметики, выполнены равенства:

Поэтому конъюнкцию называют умножением и записывают

со знаком произведения: или вообще - как в алгебре - без

знака: XY. Дизъюнкцию иногда удобно называть логическим сложением, а связываемые ею члены - логическими, или дизъюнктивными слагаемыми. Однако следует иметь в виду, что, во-первых, на наборе (1, 1) значение дизъюнкции не совпадает с арифметической суммой, а, во-вторых, термин "сумма" для логических переменных употребляется и в другом значении, представленном в той же табл.6. В двух последних столбцах табл.6 представлены функции, которые не встречались раньше, а именно:

Сумма по модулю 2 - функция двух переменных, равная 0, если значения аргументов совпадают, и 1 в противном случае; ее обозначение

- . Арифметическое значение -остаток от деления числа

(X + Y) на 2, - отсюда название. Другое название - неэквивалентность,

поскольку выполнено тождество:

Сумма по модулю 2 как бинарная операция обладает свойствами

коммутативности и ассоциативности , и поэтому

ее можно записывать без скобок и переставлять слагаемые.

Штрих Шеффера - функция двух переменных, равная 0 тогда и

только тогда, когда оба аргумента равны 1. Обозначение: , условное

название " X несовместно с Y". Выполнены тождества:

Если принять, что всевозможные наборы значений двух аргументов (как легко видеть, их 4) расположены в таблице в алфавитном порядке, то каждая функция двух переменных полностью задается столбцом

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

способом задавать булевы функции. Например, представляет

конъюнкцию, - дизъюнкцию, - импликацию;

представляет функцию трех переменных , заданную в

последнем столбце табл.7. Для получения таблицы нужно приписать слева к столбцу значений стандартный (для каждого п) перечень всех /; -наборов, расположенных в алфавитном порядке, т.е. описанную

в §4 гл 2 таблицу

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

Например, функцию из табл.7 можно задать кортежем: [3,5,6,7], а

функцию из той же таблицы - [0, 1, 4, 5]. Это особенно удобно, если

функция принимает значение Ьна небольшом числе наборов, по сравнению с их общим количеством.

Упражнение. Обязательно ли при таком задании функции указывать число переменных?

Важный пример применения булевых функций дают арифметические действия над двоичными числами: поскольку возможные знаки в двоичной системе суть 0 и 1, то зависимости знаков результата от знаков слагаемых/сомножителей выражаются булевыми

функциями. При сложении двух однозначных двоичных чисел А и В знак суммы в младшем разряде равен , а знак переноса

возникает только если оба слагаемых равны 1, т.е. Умножение однозначных двоичных чисел тождественно конъюнкции, что фактически отмечено выше.

В табл.7 представлены 3 функции трех переменных. Первую из них

называют иногда функцией большинства - ее значение

равно значению, которое принимает большинство аргументов (т.е. два или три): если в наборе больше единиц, чем нулей, то и значение функции равно 1. Заметим, что при сложении двух многозначных двоичных чисел в каждом разряде, кроме самого младшего, складываются 3 однозначных числа: знаки двух слагаемых в этом разряде и знак переноса из предыдущего разряда. Таким образом, знак суммы как логическая функция есть сумма по модулю 2 трех булевых переменных. Знак переноса 1 возникает, если при таком сложении знаков число

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

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

от аргумента Y, а функция от аргументов X, Z. Действительно, если, например, X = 0,7 = 1, то и при Y = О (набор 001), и при Y = \ (набор 011) выполнено равенство . Таким же образом проверяются

остальные 3 сочетания переменных X и Z. Введем определение Несущественные (фиктивные) переменные: для функции

переменная называется

несущественной, если выполнено

при всех значениях

Таким образом, для функции несущественной переменной является Y, а для функции - несущественные переменные X и Z. Если относить к функциям п переменных и функции, существенно

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

булевых векторов длины , т.е. . Для одной переменной это число равно 4 (см.

табл.5); для двух переменных - 24 =16; сщя трех переменных - 28 = 256; для

нетырех переменных -2|6 = 65536и т.д. Таблица всех 16 функций 2 переменных содержится в файле материалов. Множество всех логических функций, от любого конечного числа

переменных обозначается

Если - фиктивная переменная функции

то первая половина задающего ее столбца значений совпадает со второй, и если отбросить вторую половину таблицы этой функции и затем удалить 1-й столбец (состоящий из нулей), то останется таблица

некоторой функции (п -1) переменных . Аналогично, если

- фиктивная переменная функции и вычеркнуть

из таблицы столбец переменной и все строки с единичным

значением (т е строки, в которых ), то останется таблица

функции . Будем говорить, что g

получается из удалением, а - введением фиктивной

переменной

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

равенство функций есть отношение эквивалентности на , поэтому множество всех булевых функций разбивается на классы равных

функций. В этом смысле, использованные выше записи

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

функции одной переменной Y, имеющей столбец значений

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





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 629 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Бутерброд по-студенчески - кусок черного хлеба, а на него кусок белого. © Неизвестно
==> читать все изречения...

2438 - | 2357 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.