Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Булевы функции




 

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

Если в алгебре высказываний отбросить смысловые значения анализируемых высказываний, оставив только их логические значения «истина» или «ложь», мы получим некоторые переменные, принимающие одно из двух значений: 0 или 1. Такие переменные, с учетом количества возможных их значений, называют двоичными переменными. А поскольку они используются лишь в алгебре логики, их называют также логическими или булевыми переменными.

Функция f(x1, x2, …, xn), принимающая одно из двух значений: 0 или 1 и зависящая от переменных, каждая из которых может принимать значения 0 или 1, называется булевой или переключательной. Также их называют функциями алгебры логики. С математической точки зрения булева функция от n аргументов представляет собой функциональное отображение из n-ой степени множества {0, 1} во множество {0, 1}.

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

 

x1 x2 xn-1 xn f (x1, x2, …, xn-1, xn)
        f (0, 0, …, 0, 0)
        f (0, 0, …, 0, 1)
 
        f (1, 1, …, 1, 0)
        f (1, 1, …, 1, 1)

 

Порядок расположения наборов, принятый в таблице, называется стандартным или естественным. При этом каждому набору a=(a1, …, an), где ai есть 0 или 1, ставится в соответствие число

N = a1×2n-1+a2×2n-2+…+an-1×21+an×20.

Таким образом, наборам (0, 0, …, 0, 0), (0, 0, …, 0, 1), …, (1, 1, …, 1, 1) будут соответствовать числа 0, 1, …, 2n-1. Например, набору 10100 будет соответствовать десятичное число 20, то есть это двадцатый набор.

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

Количество же возможных различных функций n переменных можно определить из следующих соображений. Каждая функция задается набором своих k значений, которому можно поставить в соответствие k-разрядное двоичное число. Понятно, что количество различных k-разрядных двоичных чисел N = 2k = .

Рассмотрим для начала функции одной переменной. Поскольку n=1, то количество таких функций N1 = 22 = 4. Для каждой из четырех функций f1-f4 составим таблицу истинности:

 

x f1(x)   x f2(x)   x f3(x)   x f4(x)
                     
                     

 

Функция f1(x) не зависит от x и всегда равна нулю. Такая функция называется «константа 0».

Функция f2(x) всегда равна значению своего аргумента. Называется «повторение x».

Функция f3(x) равна противоположному значению своего аргумента и называется «инверсия x», функция отрицания или просто функция «не».

Функция f4(x) – функция «константа 1».

В более сжатом виде приведенные таблицы истинности можно представить следующим образом:

 

Таблица истинности функций одной переменной

x f1 f2 f3 f4
         
         

 

Функции одной переменной являются самыми элементарными и практического применения не имеют, за исключением, пожалуй, инверсии. Наибольшее применение в качестве базовых нашли булевы функции двух переменных. Отметим, что количество булевых функций двух переменных N2 = == 24 = 16. Представим функции двух переменных в виде обобщенной таблицы истинности, после чего подробно рассмотрим данные функции.

 

 

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

x1 x2 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16
                                   
                                   
                                   
                                   

 

Функции f1 и f16 – соответственно константы 0 и 1 (другие названия – «тождественный ноль» и «тождественная единица»). Они не зависят ни от одной переменной.

Функции f4 = x1, f6 = x2, f11 = , f11 = . Хотя данный функции фактически зависят только от одной из двух переменных и не зависят от другой, они все равно относятся к функциям двух переменных. Если булева функция не зависит от значения одной из своих переменных, то такая переменная является для данной функции несущественной или фиктивной. В противном случае переменная является существенной. Например, для функций f4 и f11 несущественной является переменная x2, для функций f6 и f11 – переменная x1. Для функций f1 и f16 оба аргумента являются несущественными.

Функция f2 = x1&x2конъюнкция или логическое умножение. Ее результат похож на результат умножения в обычной алгебре: если хотя бы один из аргументов равен нулю, то результат равен нулю; результат равен единице только в том случае, когда все аргументы функции равны единице. Не следует забывать, что название «умножение» здесь является образным, поскольку никакие операции обычной алгебры (сложение, вычитание, умножение, деление и т.п.) не применимы к булевым переменным. К булевым переменным применимы лишь логические операции, которые мы как раз сейчас и рассматриваем. Поэтому в названии «логическое умножение» присутствует слово-поправка «логическое».

В повседневной речи конъюнкция для краткости называется «функция И» или «логическое И» (то есть равная единице тогда, когда и первый аргумент, и второй аргумент истинны).

Функция f8 = x1Úx2дизъюнкция или логическое сложение. Ее результат равен единице, если хотя бы один из аргументов равен единице. Схожесть с алгебраической операцией сложения заключается в первых трех строках таблицы: 0+0=0, 0+1=1, 1+0=1. Последняя строка (x1=1, x2=1) не увязывается с понятием алгебраического сложения, поскольку для f8 1+1=1. Но не будем забывать, что слово «сложение» в названии функции является образным, и более правильным является название «дизъюнкция».

В повседневной речи конъюнкция для краткости называется «функция ИЛИ» или «логическое ИЛИ» (то есть равная единице тогда, когда или первый аргумент, или второй аргумент, или оба аргумента истинны).

Функция f10 = x1~x2эквивалентность или однозначность. Результат функции равен единице лишь в тех случаях, когда ее аргументы равны друг другу (то есть эквивалентны, обозначаются одним значком – нулем или единицей).

Функция f7 = x1 Å x2сумма по модулю 2. Фактически является функцией, противоположной функции эквивалентности. Данная функция имеет огромное значение в информатике, вычислительной технике и программировании, поскольку является обратимой: если y=aÅb, то a=yÅb и b=yÅa. Функция имеет множество альтернативных названий: «исключающее ИЛИ» (поскольку как бы исключает последнюю строку таблицы истинности операции ИЛИ, делая ее равной нулю), «неоднозначность» (равна единице, когда аргументы не равны друг другу, т.е. обозначаются разными значками), «exclusive OR» (дословно – исключающее ИЛИ), «XOR» (сокращенная запись фразы exclusive OR, по-русски обычно читается «ксор»), «строгая дизъюнкция», «поразрядное дополнение», «побитовый комплемент».

Функции f12, f14импликация: f12 = x2→x1, f14 = x1 → x2.

Функция f15 = x1|x2 – так называемый штрих Шеффера. Фактически представляет собой функцию, обратную (инверсную) функции конъюнкции.

Функция f9 = x1¯x2 – так называемая стрелка Пирса или функция Вебба. По сути является функцией, обратной (инверсной) функции дизъюнкции.

Функции f3 и f5 – так называемые функции запрета по x1 и x2 соответственно. Можно сказать, что f3 обратна функции f14, f5 обратна функции f12: , .

 

Что касается функций трех переменных, то таких функций существует N3 = == 28 = 256. Поскольку функций очень много, для каждой из них отдельного названия нет, однако некоторые из них, аналогичные функциям двух переменных, следует знать:

 

Таблицы истинности некоторых функций трех переменных

x1 x2 x3 Const 0 Const 1 & Ú | ¯ f181
                   
                   
                   
                   
                   
                   
                   
                   

 

В данной таблице в последнем столбце приведена для примера некая произвольно взятая функция под номером 101101012=181, не имеющая собственного названия. Подобных «безымянных» функций среди 256 функций трех переменных – большинство.




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


Дата добавления: 2014-01-06; Просмотров: 1166; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.02 сек.