Лекция 3 Алгебра Буля

advertisement
Математическая логика и теория алгоритмов
Лекция № 3
Тема 1. Классическая логика
Релейно-контактные схемы. Равносильные формулы. Алгебра Буля.
Истинные и общезначимые формулы. Проблема разрешимости.
Логическое следование. Принцип дедукции. Силлогизмы.
АЛГЕБРА БУЛЯ
Каждая
формула
алгебры
высказываний
от
пропозициональных
переменных
определяет некоторую функцию от
аргументов,
сопоставляющую любому набору входных данных длины , составленному из
элементов двухэлементного множества
множества.
, единственный элемент того же
Этот элемент является логическим значением того составного
высказывания, в которое превращается данная формула, если вместо всех ее
пропозициональных переменных подставить конкретные высказывания,
имеющие соответствующие значения истинности.
Функция, о которой идет речь, определяется структурой формулы и
определениями отрицания, конъюнкции, дизъюнкции, импликации и
эквивалентности, которые понимаются как определения действий над символами
0, 1 — элементами двухэлементного множества
В
связи
с
этим
естественно
.
рассмотреть
функции,
заданные
на
двухэлементном множестве
и принимающие значения в нем же
безотносительно к формулам алгебры высказываний, т.е. сами по себе. Тогда
функции, определяемые таблицами в определениях отрицания, конъюнкции,
дизъюнкции, импликации и эквивалентности, а также функции, определяемые
формулами алгебры высказываний, будут служить примерами таких функций.
Такие функции, заданные и принимающие значения в двухэлементном
множестве, появляющиеся в алгебре высказываний, носят название функций
алгебры логики или булевых (логических) функций.
Обозначим переменные, пробегающие множество
, малыми буквами
латинского
алфавита и
будем
называть
их булевыми
(логическими)
переменными.
Математическая логика и теория алгоритмов
Изучим некоторые свойства булевых функций и посмотрим, как эти
функции могут применяться в алгебре высказываний и в теории релейноконтактных схем.
Булевой функцией от одного аргумента называется функция F, заданная на
множестве из двух элементов и принимающая значения в том же двухэлементном
множестве F: {0; 1}  {0; 1}.
Всего есть четыре различных булевых функции от одного аргумента:
Аргумент
х
0
1
Функции
F0(x)
0
0
F1(x)
0
1
F2(x)
1
0
F3(x)
1
1
F0(x) = 0
функция, тождественно равная 0 (тождественный нуль);
F1(x) = x
тождественная функция;
F2(x) = x
функция, называемая отрицанием;
F3(x) = 1
функция, тождественно равная 1 (тождественная единица).
Булевой функцией от двух аргументов называется функция G, заданная на
множестве {0; 1} х {0; 1} и принимающая значения в двухэлементном множестве
{0; 1} .
G: {0; 1} х {0; 1}  {0; 1}.
Другими словами, булева функция от двух аргументов сопоставляет любой
упорядоченной паре, составленной из элементов 0 и 1 (а таких упорядоченных
пар будет четыре), либо 0, либо 1.
Перечислим все возможные булевы функции от двух аргументов в форме
следующей таблицы:
Аргумент
Функции
G0(x1,
х1
х2
G1
G2
G3
G4
G5
G6
G7
x2)
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
Аргумент
х1
х2
0
0
0
1
1
0
1
1
G8
1
0
0
0
G9
1
0
0
1
G10
1
0
1
0
Функции
G11
G12
1
1
0
1
1
0
1
0
G13
1
1
0
1
G14
1
1
1
0
G15
1
1
1
1
Математическая логика и теория алгоритмов
Заметим: функции пронумерованы так, что номер функции, записанный в
двоичной системе счисления, дает последовательность значений оответствующей
функции. Например, двоичная запись числа 13 имеет вид: 1101. G13(x1, x2)
принимает на наборах аргументов последовательно значения: 1101.
Многие из перечисленных функций имеют названия и специальные
обозначения.
Название
константа 0
конъюнкция, логическое умножение
запрет по х1, отрицание импликации от х1 к х2
переменная х1
запрет по х2, отрицание импликации от х2 к х1
переменная х2
сложение по модулю 2, логическая неравнозначность, строгая
дизъюнкция
дизъюнкция, логическое сложение
G7(x1, x2) = х1  х2
стрелка Пирса, символ Лукашевича, функция Даггера, функция
G8(x1, x2) = х1  х2
Вебба,
отрицание дизъюнкции
эквиваленция, равнозначность
G9(x1, x2) = х1  х2
отрицание, инверсия х2
G10(x1, x2) =  х2
импликация от х2 к х1
G11(x1, x2) = х2  х1
отрицание, инверсия х1
G12(x1, x2) =  х1
импликация от х1 к х2
G13(x1, x2) = х1  х2
штрих Шеффера, отрицание конъюнкции
G14(x1, x2) = х1  х2
константа 1
G15(x1, x2) = 1
Если у функции 3 аргумента, то число возможных функций возрастает до 256,
поэтому более сложные булевы функции задаются с помощью простых функций одного
или двух аргументов.
Функция
G0(x1, x2) = 0
G1(x1, x2) = х1  х2
G2(x1, x2) =  (х1  х2)
G3(x1, x2) = х1
G4(x1, x2) =  (х2  х1)
G5(x1, x2) = х2
G6(x1, x2) = х1  х2
Теперь установим некоторые важнейшие свойства введенных функций. Две
булевы функции
и
называются равными, если каждому набору
значений аргументов
обе функции сопоставляют один и тот же элемент из
множества
Например,
,
т.е.
.
для
любых
.
Из введенных простейших булевых функций можно строить с помощью
суперпозиций более сложные булевы функции. Например, если в
функцию
вставить вместо аргумента
функцию
, то получим
следующую сложную функцию:
. Если в нее в свою очередь вставить
вместо
аргумента
функцию
,
то
получим
сложную
функцию
. И так далее. В результате получаются булевы
функции от трех, четырех и большего числа аргументов.
Математическая логика и теория алгоритмов
Для булевых функций выполняются следующие равенства:
1а) х + у = у + х коммутативность
1б) х у = у х в)
дизъюнкции и
конъюнкции
2а) (х + у) + z = х + (у + z)
ассоциативность
2б) (х у) z = х (у z)
дизъюнкции и
конъюнкции
3а) (x + y) z = x z + x y
3б) (x y) + z = (x + z) (y + z)
4а) x + x = x
дистрибутивные
законы
4б) x x = x
законы
идемпотентности
5)   х = х
закон двойного
отрицания
6а)  (х + у) = х & y
законы де Моргана
6б)  (х & у) = х  y
7a) х + (у х) = х
7б) х ( у + х) = х
законы поглощения
Непустое множество М = {x, y, z…} элементов любой природы, в котором
определены
отношение равно и три операции: сложения, умножения,
отрицания; подчиняющееся при этом аксиомам 1а) -7б), называется булевой
алгеброй.
Если под основными элементами x, y, z… подразумевать высказывания, а
под операциями сложения, умножения, отрицания – логическое сложение,
логическое умножение и логическое отрицание, под знаком равенства понимать
равносильность и учесть выполнение в этом случае равносильностей для
высказываний х, у, то получаем следующее: алгебра логики является конкретной
интерпретацией (моделью) булевой алгебры.
Говорят, что найдена интерпретация (модель) некоторой системы
аксиом, если для данной системы аксиом удалось подобрать конкретные объекты
Математическая логика и теория алгоритмов
и конкретные соотношения между ними таким образом, что все аксиомы
выполняются.
Алгебра Буля имеет и другие интерпретации: если под основными
элементами x, y, z… понимать множества, а под операциями сложения,
умножения, отрицания – объединение, пересечение, дополнение множеств
соответственно, а под знаком равенства – равенство множеств, то получим алгебру
множеств как интерпретацию (модель) булевой алгебры.
РЕЛЕЙНО-КОНТАКТНЫЕ СХЕМЫ
Булевы функции широко применяются при описании работы дискретных
управляющих систем (контактных схем, схем из функциональных элементов,
логических сетей и т.д.), при исследовании некоторых электрических цепей, так
называемых релейно-контактных схем.
Релейно-контактные схемы (Ladder Diagram ) предназначены для
программирования промышленных контроллеров и обеспечивают наглядный
интерфейс логики работы контроллера, облегчающий не только задачи
собственно программирования и ввода в эксплуатацию, но и быстрый поиск
неполадок в подключаемом к контроллеру оборудовании.
Программа на языке релейной логики имеет интуитивно понятный
инженерам-электрикам графический интерфейс, представляющий логические
операции как электрическую цепь с замкнутыми и разомкнутыми контактами.
Протекание или отсутствие тока в этой цепи соответствует результату логической
операции (истина — если ток течет; ложь — если ток не течет).
Основными элементами языка являются контакты, которые можно образно
уподобить паре контактов реле или кнопки. Пара контактов отождествляется с
логической переменной, а состояние этой пары — со значением переменной.
Контакты релейно-контактной схемы могут быть двух типов: замыкающие
и размыкающие. Каждый контакт подключен к некоторому реле
(переключателю). К одному реле может быть подключено несколько контактов —
как замыкающих, так и размыкающих. Технически реле представляет собой
катушку с металлическим сердечником (магнитопроводом), вблизи которого
находится соответствующий контакт.
Когда через катушку пропускается электрический ток, металлический
сердечник намагничивается и замыкает все находящиеся при нем замыкающие
контакты. Одновременно все размыкающие контакты, относящиеся к данному
реле, размыкаются. Поскольку замыкающие контакты при отсутствии в реле
электрического тока разомкнуты, то они называются также нормально
разомкнутыми. Аналогично, размыкающие контакты называются также
Математическая логика и теория алгоритмов
нормально замкнутыми. При обесточивании обмоток реле (т.е. когда реле
отключается) все замыкающие контакты снова размыкаются, а все размыкающие,
замыкаются.
Каждому
реле
ставится
в
соответствие
своя
булева
переменная
или
, или
, которая принимает значение 1, когда реле
срабатывает, и принимает значение 0 при отключении реле. На чертеже все
замыкающие контакты, подключенные к реле , обозначаются тем же символом
, а все размыкающие контакты, подключенные к этому реле, обозначаются
отрицанием . Это означает, что при срабатывании реле все его замыкающие
контакты х проводят ток и им сопоставляется значение 1, а все размыкающие
контакты не проводят электрический ток и им сопоставляется значение 0. При
отключенном реле создается противоположная ситуация: все его замыкающие
контакты
разомкнуты, т. е. в этот момент им сопоставляется
(переменная
принимает) значение
0, а все его
размыкающие
контакты замкнуты, т. е. в этот момент им сопоставляется (другими словами,
переменная принимает) значение 1.
Всей релейно-контактной схеме тогда ставится в соответствие булева
переменная , зависящая от булевых переменных
, сопоставленным
тем реле, которые участвуют в схеме. Если при данном наборе состояний
реле
(некоторые из этих реле находятся в рабочем состоянии под
током, остальные отключены, т.е. "обесточены") вся релейно-контактная схема
проводит электрический ток, то переменной ставится в соответствие (другими
словами, переменная
принимает) значение 1. Если же при этом наборе
состояний реле
схема не проводит электрический ток, то считаем,
что переменная у принимает значение 0. Поскольку каждый набор состояний
реле
характеризуется набором, составленным из нулей и единиц и
имеющим длину , то данная релейно-контактная схема определяет некоторое
правило, по которому каждому такому набору длины , составленному из нулей
и единиц, сопоставляется либо 0, либо 1. Таким образом, каждая релейноконтактная схема, в которой занято независимых реле (контактов в ней может
быть или больше), определяет некоторую булеву функцию от аргументов.
Она принимает значение 1 на тех и только тех наборах значений
аргументов
,
которые
соответствуют
тем
состояниям
реле
, при которых данная схема проводит электрический ток. Такая
булева
функция
проводимости данной релейно-контактной схемы.
называется
функцией
Таким образом, теория булевых функций предоставляет математические
модели реальных физических релейно-контактных схем.
Математическая логика и теория алгоритмов
Рассмотрим некоторые релейно-контактные схемы и найдем их функции
проводимости. Первая схема состоит из двух последовательно соединенных
контактов и , т. е. контактов, связанных с двумя независимыми реле и ,
каждое из которых срабатывает независимо от другого.
Ясно, что данная схема проводит электрический ток тогда и только тогда,
когда оба контакта
и
замкнуты, т. е. только тогда, когда оба
переменных
и
принимают значение 1. Булева функция от двух
аргументов
, удовлетворяющая такому условию - конъюнкция
. Говорят,
что последовательное соединение двух контактов реализует конъюнкцию
соответствующих этим контактам булевых переменных.
Вторая релейно-контактная схема состоит из двух параллельно
соединенных контактов х и у. Ясно, что эта схема проводит электрический ток в
том и только в том случае, когда по меньшей мере один из контактов ( или )
замкнут, т.е. лишь в случае, когда хотя бы одна из булевых переменных ( или )
принимает значение 1. Булева функция от двух аргументов
и
,
удовлетворяющая этому условию - это дизъюнкция
. Говорят,
что параллельное
соединение
двух
контактов реализует
дизъюнкцию
соответствующих этим контактам булевых переменных.
Итак, с помощью релейно-контактных схем можно реализовывать булевы
функции: конъюнкцию, дизъюнкцию и отрицание. Поскольку всякая булева
функция может быть выражена через конъюнкцию, дизъюнкцию и отрицание,
причем отрицание стоит лишь непосредственно около переменных и не стоит ни
около каких внутренних скобок, а конъюнкция, дизъюнкция и отрицание, как
показано только что, реализуются на релейно-контактных схемах, то и всякая
булева функция может быть реализована с помощью релейно-контактной схемы,
т. е. может быть построена такая схема, для которой данная булева функция
служит функцией проводимости.
ИСТИННЫЕ И ОБЩЕЗНАЧИМЫЕ ФОРМУЛЫ. РАВНОСИЛЬНЫЕ ФОРМУЛЫ.
ПРОБЛЕМА РАЗРЕШИМОСТИ. ЛОГИЧЕСКОЕ СЛЕДОВАНИЕ
Формула алгебры высказываний может быть такой, что на каждой строке
она принимает везде одно значение, равное ИСТИНА. Такая формула называется
тавтологией (тождественно истинной, общезначимой).
В формальной логике тавтологии играют важную роль и служат для записи
ее законов.
Если формула в своей таблице истинности принимает только значения
ЛОЖЬ, то она называется противоречием (тождественно ложной).
Математическая логика и теория алгоритмов
Формула называется выполнимой, если существует такой набор значений
переменных, при котором эта формула принимает значение ИСТИНА и при
этом она не является тавтологией.
Все формулы алгебры логики делятся на три класса:
1. тождественно истинные,
2. тождественно ложные,
3. выполнимые.
Задача «К какому классу относится формула?» называют проблемой
разрешимости алгебры логики.
Важное свойство истинностных таблиц в том, что они дают эффективную
процедуру решения этого вопроса.
Процедура построения таблиц истинности называется разрешающей
процедурой и благодаря ей логика высказываний является разрешимой.
Вот некоторые общие факты о тавтологиях,
ПРАВИЛАМИ ЛОГИКИ ВЫСКАЗЫВАНИЙ:
которые
называются
1. Правило заключения (modus ponens).
2. Правило подстановки.
Уже отсюда следует, что
имеется бесконечное множество тавтологий.
3. Правило замены. Две формулы алгебры логики А и В называются
равносильными, если они принимают одинаковые логические значения на
любом наборе входящих в формулы элементарных высказываний. Между
понятиями равносильности и эквивалентности существует следующая связь: если
формулы А и В равносильны, то формула АВ – тавтология, и обратно, если
формула АВ – тавтология, то формулы А и В равносильны. Равносильность
формул будем обозначать знаком , а запись А В означает, что формулы А и В
равносильны. Правило замены:
Наряду с понятием тавтологии фундаментальным для логики
высказываний является понятие логического следования, поскольку одной из
главных задач логики является устанавливать, что из чего следует, и тем самым
указывать, какие высказывания являются теоремами при заданных условиях.
Математическая логика и теория алгоритмов
Всякую теорему можно записать в виде импликации и т. о. выделить ее условие и
заключение.
Отношение логического следования существует между определенными
формулами логики высказываний.
Говорят, В логически следует из А или является логическим следствием из
А, и пишут А├В, если в таблицах истинности формула В имеет значение И во всех
тех строках, где А имеет значение И.
Отсюда вытекает, что А├В тогда и только тогда, когда АВ есть тавтология.
Если формула А тавтология, то пишут ├А.
Примером логического следования (вывода) из посылок является уже
упомянутое правило modus ponens. Выводимость В из высказываний А и А В
следует из того, что формула (А & (Α  В)) В является тавтологией.
Из посылок А1, ..., Аn логически следует высказывание В, если не может
быть так, что высказывания А1, ..., Аn истинны, а высказывание В - ложно, (т.е.
если В истинно в любой модели, в которой истинны А1, ..., Аn).
Отличительной чертой логического следования является то, что оно ведет
от истинных высказываний только к истинным.
Если определено понятие тавтологии и определено семантическое понятие
логического следования (как это сделано выше), то говорят, что дано
семантическое представление логики высказываний. Однако такое представление
ставит серьезную проблему: как обозреть все тавтологии, которых бесконечное
множество? Для решения этой проблемы нужно перейти к синтаксическому
представлению логики высказываний.
Формальный (символический) язык логики высказываний и понятие
формулы остаются прежними. Но теперь из всего множества тавтологий
выбирают некоторое их конечное (и, вообще говоря, определяемые
неоднозначно) подмножество, элементы которого называются аксиомами.
ПРИНЦИП ДЕДУКЦИИ. СИЛЛОГИЗМЫ
Процесс получения новых знаний, выраженных высказываниями, из
других знаний, также выраженных высказываниями, называется рассуждением
(или умозаключением). Исходные высказывания называются посылками
(гипотезами, условиями) умозаключения, а получаемые высказывания —
заключением (следствием).
В логике умозаключения делятся на дедуктивные и индуктивные.
Дедуктивные умозаключения – те умозаключения, у которых между посылками
Математическая логика и теория алгоритмов
и заключением имеется отношение логического следования. В дедуктивных
умозаключениях связи между посылками и заключением представляют собой
формально-логические законы, в силу чего при истинных посылках заключение
всегда оказывается истинным.
Дедукция (лат. deductio — выведение) — метод мышления, при котором
частное положение логическим путём выводится из общего, вывод выполняется
по правилам логики.
Если посылки дедукции истинны, то истинны и её следствия. Дедукция —
основное средство доказательства, оно противоположно индукции.
Пример дедуктивного умозаключения:
Все млекопитающие животные кормят детенышей молоком. Все дельфины
– млекопитающие.
Значит: Все дельфины кормят детенышей молоком.
В индуктивных умозаключениях между посылками и заключением имеют
место такие связи, которые обеспечивают получение только правдоподобного
заключения при истинных посылках. В этих рассуждениях посылки лишь
подтверждают заключение. В индуктивных рассуждениях ход мысли направлен
от единичного знания к общему.
Силлоги́зм (греч. συλλογισμός) — рассуждение мысли, состоящее из трёх
простых атрибутивных высказываний: двух посылок и одного заключения.
Силлогизмы – правильные схемы рассуждений, в которых заключение верно в
силу именно формы рассуждения, а не содержания.
Пример силлогизмов и их записи:
Все люди смертны. Сократ человек.
Значит, что Сократ смертен.
Некоторые кошки бесхвосты. Все кошки — млекопитающие.
Некоторые млекопитающие бесхвосты.
Силлогизм "речь, в которой, если нечто предположено, то с
необходимостью вытекает нечто, отличное от положенного в силу того, что
положенное есть" (Аристотель, «Первая аналитика», 1, 24b).
«Формальная логика есть не что иное, как учение о свойствах, общих
всякой классификации, - разъясняет Анри Пуанкаре. - Она учит нас, что два
солдата, являющихся частью одного полка, тем самым принадлежат к одной и той
же бригаде, следовательно, к одной и той же дивизии; к этому-то и сводится вся
теория силлогизмов».
Математическая логика и теория алгоритмов
Приведем примеры наиболее употребляемых схем силлогизмов
(логически правильных умозаключений), для получения тождественно истинного
высказывания-следствия в них необходимо использовать тождественно истинные
посылки:
1. Утверждающий модус (modus ponens):
«Если из высказывания A следует высказывание B и справедливо (истинно)
высказывание A, то справедливо B».
Логическая форма этого умозаключения такова:
А В, А
В
2. Отрицающий модус (modus tollens):
«Если из A следует B, но высказывание B неверно, то неверно A».
Обозначается:
А В, В
А
3. Правило транзитивности:
«Если из A следует B, а из B следует C, то из A следует C »:
А В, В С
А С
4. Закон противоречия:
«Если из A следует B, а также из A следует ¬ B, то неверно A»:
А В, А В
А
5. Правило контрапозиции:
«Если из A следует B, то из того, что неверно B, следует, что
неверно A»:
А В
В  А
Математическая логика и теория алгоритмов
Примерами неправильных умозаключений могут служить следующие:
А В, В
А
А В, А
В
Алгебра
высказываний
дает
эффективный
метод
проверки
правильности рассуждений. Рассуждение считается правильным, если между его
посылками и заключением имеет место отношение логического следования.
Если импликация А1 & …&An  В является тождественно истинной, то
из посылок А1, …,An следует заключение B.
Если формула, являющаяся переводом рассуждения на язык символов,
оказывается тождественно истинной, то можно сделать вывод о том, что
рассуждение правильное. Если эта формула является тождественно ложной, то
рассуждение неправильное.
Может оказаться, что формула является выполнимой, но не тождественно
истинной. В этом случае нет оснований считать рассуждение правильным.
Необходимо продолжить анализ рассуждения, но уже средствами более богатого
раздела логики — средствами логики предикатов.
Агарева, О. Ю. Математическая логика и теория алгоритмов [Текст] : учеб.
пособие / О. Ю. Агарева, Ю. В. Селиванов. — М. : МАТИ, 2011. — 80 с.
Лихтарников, Л.М. Математическая логика: курс лекций, задачник-практикум и
решения / Л.М. Лихтарников, Т.Г. Сукачева.- СПб.: Лань, 1999.- 288 с.
Download