ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
аранов Виктор Павлович. Дискретная математика.
Раздел 4. Функциональные системы с операциями. Алгебра логики. Лекция 19. Функции алгебры логики
Лекция 19. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
План лекции:
1. Функциональные системы и их роль в дискретной математике.
2. Определение булевой функции.
3. Способы задания булевых функций.
4. Элементарные функции алгебры логики.
- Функциональные системы и их роль в дискретной математике
Теория функциональных систем занимается изучением функций, описывающих работу дискретных преобразователей. К важнейшим классам функций относятся булевы функции, функции -значной логики, автоматные и вычислимые функции. С каждым из этих классов связываются операции, позволяющие из одних функций данного класса строить другие функции этого же класса. Такими операциями являются операция суперпозиции, операция обратной связи, операция примитивной рекурсии и -операция. В результате имеем функциональные системы с операциями некоторые классы алгебр.
Роль функциональных систем в дискретной математике можно сравнить с ролью математического анализа в непрерывной математике.
- Определение булевой функции
Булевы функции составляют один из классов функциональных систем, на основе которых описывают работу дискретных преобразователей. К другим классам функциональных систем относятся функции -значной логики, автоматные функции и вычисляемые функции. С каждым из этих классов связывают операции, позволяющие из одних функций данного класса строить другие функции этого же класса. Такими операциями являются: операция суперпозиции, операция обратной связи, операция примитивной рекурсии и -операция. В результате получаем функциональные системы с операциями, то есть некоторые классы алгебр. Роль теории функциональных систем в дискретной математике можно сравнить с ролью математического анализа в непрерывной математике.
Булевой функцией переменных называют функцию , у которой все переменные и сама функция принимают только два значения. Эти функции называют также логическими функциями, функциями алгебры логики или переключательными функциями. Два возможных значения функции и ее аргументов обозначают по-разному: И (истина), Л (ложь); 0, 1; да, нет. В дальнейшем будем использовать 0 и 1.
Математическая логика, как самостоятельная область науки, сформировалась в середине XIX века, прежде всего благодаря работам ирландского математикам из г. Корке Джорджа Буля (отца писательницы Э.Л. Войнич, автора известного романа «Овод»). Первая работа Буля по логике «Математический анализ логики» вышла в 1847 г. В 1854 г. вышел основной труд Буля «Исследование законов мысли». Первые применения алгебры логики связаны с решением следующей задачи: выяснить, истинно или ложно сложное высказывание, если известна истинность или ложность составляющих высказываний.
Сложные высказывания образуются из исходных простых при помощи ограниченного набора логических операций (связок).
Будем обозначать простые высказывания буквами . Из них можно составить новые высказывания, например:
« и », обозначается ;
« или», обозначается ;
«не », обозначается ;
«если , то , обозначается .
Пусть буквами обозначены такие высказывания:
«числовой ряд сходится»;
«все члены ряда положительны»;
«общий член ряда стремится к нулю».
Образуем некоторые составные высказывания:
«если числовой ряд сходится, то его общий член стремится к нулю»;
«члены ряда положительны и общий член ряда стремится к нулю;
«если общий член ряда не стремится к нулю, то ряд расходится».
С помощью логических связок можно образовать довольно сложные высказывания, например, , относительно которых возникает вопрос их истинности или ложности. Таким образом, каждому высказыванию соответствует булева функция.
Дадим более строгое определение булевой функции. Обозначим через булево множество, которое задает область значений функции. Областью определения функции является совокупность всех выборок , где , , то есть декартово произведение . Таким образом, булевой функцией от переменных называется отображение
. (1)
В 30-х годах XX века булеву алгебру стали использовать для анализа структуры релейных схем (советский ученый В.И. Шестаков и американский математик и инженер Клод Шеннон). С развитием вычислительной техники булеву алгебру стали применять в качестве математического аппарата для описания работы дискретных устройств переработки информации. Такое устройство можно представить в виде «черного ящика» с входами и выходами (рис. 1).
… …
В процессе работы такого устройства каждый вход и каждый выход может находиться в одном из двух состояний: высокий или низкий уровень напряжения, намагниченность той или иной полярности, одно из двух положений переключателя и т.д. Не вдаваясь в подробности конкретной реализации устройства, говорят, что на входы поступает комбинация нулей и единиц и устройство преобразует ее в некоторую комбинацию нулей и единиц на выходе. При помощи двоичных слов информация (буквы, цифры, знаки препинания, служебные знаки) кодируется и поступает на вход устройства, которое производит обработку и на выходе появляется двоичное слово, которое затем можно снова перевести в естественную форму. Каждый выход дискретного преобразователя представляет собой булеву функцию.
- Способы задания булевых функций
Основными являются следующие способы представления булевых функций: табличный и аналитический.
Поскольку область определения состоит из конечного числа элементов (), то булеву функцию можно задать при помощи таблицы истинности (соответствия), в которой для каждого набора значений аргументов указывается значение функции (табл. 1).
Таблица 1. Таблица истинности булевой функции
00…00 |
|
00…01 |
|
00…10 |
|
… |
… |
11…10 |
|
11…11 |
В качестве примера в таблице 2 задана функция от трех переменных, которая равна 1, нечетное количество переменных равно 1, и 0 в остальных случаях.
Таблица 2. Пример задания булевой функции
000 |
0 |
001 |
1 |
010 |
1 |
011 |
0 |
100 |
1 |
101 |
0 |
110 |
0 |
111 |
1 |
Отметим, что наборы значений аргументов в таблице записывают в естественной форме, то есть -ый по порядку набор представляет собой двоичную запись числа , =0, 1, 2, …, .
Обозначим через систему всех булевых функций от переменных. Число всех функций из равно числу перестановок с повторениями значений функции {0, 1} на выборке из входных наборов переменных, то есть .
Следует отметить, что числа с ростом быстро растут:
Следовательно, уже при сравнительно небольших значениях () перебор функций из данного множества становится практически невозможен даже с использованием вычислительной техники. Кроме того, с ростом числа аргументов таблица истинности сильно усложняется. Так, например, уже при не очень большом числе аргументов, скажем при =10, таблица становится громоздкой (имеет 1024 строки), а при =20 практически необозримой. Поэтому используют другие способы задания функции, среди которых основным является аналитический способ, то есть при помощи формул. При этом способе некоторые функции выделяются и называются элементарными, а другие функции строят из элементарных с помощью суперпозиции. Такой способ задания функции хорошо известен в математическом анализе. Например, функция построена суперпозицией многочлена , квадратного корня, косинуса и функции .
- Элементарные функции алгебры логики
Булевы функции одного аргумента представлены в таблице 3.
Таблица 3. Булевы функции одного аргумента
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
Среди этих функций и представляют собой константы, , а называется отрицанием (инверсией, логическое НЕ):
В таблице 4 приведены все 16 функций от двух аргументов.
Таблица 4. Булевы функции от двух аргументов
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 |
Рассмотрим более подробно эти функции.
Константы: тождественная ложь,
тождественная истина.
Унарные функции (функции одного аргумента).
Функции тождественности:
или, или.
Отрицание (инверсия, логическое НЕ):
, .
Бинарные функции (функции двух аргументов).
Конъюнкция (логическое умножение, логическое И):
, .
Читается “ и ”. Так как эта операция совпадает с операцией умножения в элементарной алгебре, то для конъюнкции используют также обозначение или . Конъюнкция двух высказываний истинна только в том случае, когда истинны оба высказывания.
Дизъюнкция (логическое сложение, логическое ИЛИ):
.
Читается “ или ”. Дизъюнкция двух высказываний ложна только в том случае, когда ложны оба высказывания.
Для конъюнкции и дизъюнкции можно записать
, .
Импликация (функция логического следования):
(импликация от к ).
Читается “если , то ”, “ влечет ”, “из следует”. условие импликации, а её заключение. Это важная функция, особенно в математической логике. Её можно рассматривать следующим образом. Из ложного условия можно вывести и истинное и ложное заключение (и это правильно). Если заключение истинно, то его можно вывести как из истинного так и из ложного условия (и это тоже правильно). Импликация ложна только в случае, когда условие истинно, а заключение ложно.
Аналогично имеем импликацию от к :
.
Функция неравнозначности (сумма по модулю 2, исключающее ИЛИ):
.
Читается “либо , либо ” или “не эквивалентно ”.
Функция эквивалентности (равнозначности, подобия):
, , .
Читается “ в том и только том случае, если ”.
Стрелка Пирса (функция Вебба, функция Даггера, штрих Лукасевича, антидизъюнкция):
.
Эта функция является отрицанием дизъюнкции и поэтому ее называют также “НЕ ИЛИ”. Читается “не или ”.
Штрих Шеффера (антиконъюнкция):
.
Эта функция отрицание конъюнкции и поэтому ее называют также “НЕ И”. Читается “не и ”.
Функция запрета (отрицание импликации):
.
Читается “, но не ”. Аналогично
.
Баранов Виктор Павлович. Дискретная математика.
Раздел 4. Функциональные системы с операциями. Алгебра логики
ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ