Логические выражения и таблицы истинности
Логические выражения. Каждое составное высказывание можно выразить в виде формулы (логического выражения), в которую входят логические переменные, обозначающие высказывания, и знаки логических операций, обозначающие логические функции.
5—2645
Для записи составного высказывания в виде логического выражения на формальном языке (языке алгебры логики) в составном высказывании нужно выделить простые высказывания и логические связи между ними.
Запишем в форме логического выражения составное высказывание «(2-2 = 5 или 2-2 = 4) и (2- 2*5 или 2-2*4)». Проанализируем составное высказывание. Оно содержит два простых высказывания:
А — * 2-2 = 5» — ложно (0), В = «2 • 2 = 4» — истинно (1).
Тогда составное высказывание можно записать в следующей форме:
«(А или В) и (А или В)».
Теперь необходимо записать высказывание в форме логического выражения с учетом последовательности выполнения логических операций. При выполнении логических операций определен следующий порядок их выполнения: инверсия, конъюнкция, дизъюнкция. Для изменения указанного порядка могут использоваться скобки: F = (A v В) & (A v Б).
Истинность или ложность составных высказываний можно определять чисто формально, руководствуясь законами алгебры высказываний, не обращаясь к смысловому содержанию высказываний.
Подставим в логическое выражение значения логических переменных и, используя таблицы истинности базовых логических операций, получим значение логической функции:
F = (A v В)&(А v Б) = (0 v 1)&(1 v 0) = 1 & 1 = 1.
Таблицы истинности. Для каждого составного высказывания (логического выражения) можно построить таблицу истинности, которая определяет его истинность или ложность при всех возможных комбинациях исходных значений простых высказываний (логических переменных).
При построении таблиц истинности целесообразно руководствоваться определенной последовательностью действий.
Во-первых, необходимо определить количество строк в таблице истинности. Оно равно количеству возможных комбинаций значений логических переменных, входящих в логическое выражение. Если количество логических переменных равно п, то:
количество строк = 2".
В нашем случае логическая функция F = (AvB)&(AvB) имеет 2 переменные и, следовательно, количество строк в таблице истинности должно быть равно 4.
Во-вторых, необходимо определить количество столбцов в таблице истинности, которое равно количеству логических переменных плюс количество логических операций.
В нашем случае количество переменных равно двум, а количество логических операций — пяти, то есть количество столбцов таблицы истинности равно семи.
В-третьих, необходимо построить таблицу истинности с указанным количеством строк и столбцов, обозначить столбцы и внести в таблицу возможные наборы значений исходных логических переменных.
В-четвертых, необходимо заполнить таблицу истинности по столбцам, выполняя базовые логические операции в необходимой последовательности и в соответствии с их таблицами истинности (табл. 3.4). Теперь мы можем определить значение логической функции для любого набора значений логических переменных.
Таблица 3.4. Таблица истинности логической функцииF= (A v В)&(4 v В)
|
Равносильные логические выражения. Логические выражения, у которых последние столбцы таблиц истинности совпадают, называются равносильными. Для обозначения равносильных логических выражений используется знак «=».
Докажем, что логические выражения А & В и AvB равносильны. Построим сначала таблицу истинности логического выражения А & В (табл. 3.5).
Таблица 3.5. Таблица истинности логического выражения А& В
|
Теперь построим таблицу истинности логического выражения AvB (табл. 3.6).
Таблица 3.6. Таблица истинности логического выражения AvB
А | В | AvB | AvB |
Значения в последних столбцах таблиц истинности совпадают, следовательно, логические выражения равносильны:
А&В = AvB.
Вопросы для размышления
1. Что содержат таблицы истинности и каков порядок их построения?
2. Какие логические выражения называются равносильными?
Ад а н и я
3.2. Записать составное высказывание «(2 •2 = 4и3-3 = 9) или (2-2*4иЗ З* 9)» в форме логического выражения. Построить таблицу истинности.
3.3. Доказать, используя таблицы истинности, что логические выражения A v В и А&В равносильны.
Логические функции
Любое составное высказывание можно рассматривать как логическую функцию F(XV Х2, ..., Хп), аргументами которой являются логические переменные Xv Х2, ..., Хп (простые высказывания). Сама функция и аргументы могут принимать только два различных значения: «истина» (1) и «ложь» (0).
Выше были рассмотрены функции двух аргументов: логическое умножение F(A,B) = А&В, логическое сложение F(A,B) = AvB, а также логическое отрицание F(A) = А, в котором значение второго аргумента можно считать равным нулю.
Каждая логическая функция двух аргументов имеет четыре возможных набора значений аргументов. По формуле (2.1) мы можем определить, какое количество различных логических функций двух аргументов может существовать:
N = 24 = 16.
Таким образом, существует 16 различных логических функций двух аргументов, каждая из которых задается своей таблицей истинности (табл. 3.7).
Таблица 3.7. Таблицы истинности логических функций двух аргументов
|
Легко заметить, что здесь логическая функция F2 является функцией логического умножения, F8 — функцией логического сложения, F13 — функцией логического отрицания для аргумента А и Fn — функцией логического отрицания для аргумента В.
В обыденной и научной речи кроме базовых логических связок «и», «или», «не» используются и некоторые другие: «если... то...», «... тогда и только тогда, когда...» и др. Некоторые из них имеют свое название и свой символ, и им соответствуют определенные логические функции.
Логическое следование (импликация). Логическое следование (импликация) образуется соединением двух высказываний в одно с помощью оборота речи «если..., то...».
Логическая операция импликации «если А, то В», обозначается А —» В и выражается с помощью логической функции Fu, которая задается соответствующей таблицей истинности (табл. 3.8).
Таблица 3.8. Таблица истинности логической функции «импликация»
|
Составное высказывание, образованное с помо- rj щью операции логического следования (импли
кации), ложно тогда и только тогда, когда из истинной предпосылки (первого высказывания) следует ложный вывод (второе высказывание).
Например, высказывание «Если число делится на 10, то оно делится на 5» истинно, так как истинны и первое высказывание (предпосылка), и второе высказывание (вывод).
Высказывание «Если число делится на 10, то оно делится на 3» ложно, так как из истинной предпосылки делается ложный вывод.
Однако операция логического следования несколько отличается от обычного понимания слова «следует». Если первое высказывание (предпосылка) ложно, то вне зависимости от истинности или ложности второго высказывания (вывода) составное высказывание истинно. Это можно понимать таким образом, что из неверной предпосылки может следовать что угодно.
В алгебре высказываний все логические функции могут быть сведены путем логических преобразований к трем базовым: логическому умножению, логическому сложению и логическому отрицанию.
Докажем методом сравнения таблиц истинности (табл. 3.8 и 3.9), что операция импликации А -> В равносильна логическому выражению AvB.
Таблица 3.9. Таблица истинности логического выражения AvB
А | в | А | Ave |
Таблицы истинности совпадают, что и требовалось доказать.
Логическое равенство (эквивалентность). Логическое равенство (эквивалентность) образуется соединением двух высказываний в одно с помощью оборота речи «... тогда и только тогда, когда ...».
Логическая операция эквивалентности «А тогда и только тогда, когда В» обозначается А-В и выражается с помощью логической функции F10, которая задается соответствующей таблицей истинности (табл. 3.10).
Таблица 3.10. Таблица истинности логической функции эквивалентности
|
Составное высказывание, образованное с помощью логической операции эквивалентности истинно тогда и только тогда, когда оба высказывания одновременно либо ложны, либо истинны.
Рассмотрим, например, два высказывания: А = «Компьютер может производить вычисления» и В = «Компьютер включен». Составное высказывание, полученное с помощью операции эквивалентности, истинно, когда оба высказывания либо истинны, либо ложны:
«Компьютер может производить вычисления тогда и только тогда, когда компьютер включен».
«Компьютер не может производить вычисления тогда и только тогда, когда компьютер не включен».
Составное высказывание, полученное с помощью операции эквивалентности, ложно, когда одно высказывание истинно, а другое — ложно:
«Компьютер может производить вычисления тогда и только тогда, когда компьютер не включен».
«Компьютер не может производить вычисления тогда и только тогда, когда компьютер включен».
Вопросы для размышления
1. Какое количество логических функций двух аргументов существует и почему?
2. Какие логические функции двух аргументов имеют свои названия?
3. Какое существует количество логических функций трех аргументов?
г. * *
3 a jf*aн и я
#1? I
3.4. Доказать, используя таблицы истинности, что операция эквивалентностиА - В равносильна логическому выражению: (Л v В) & (A vВ).
3.5. Логические законы и правила преобразования логических выражений
Законы логики отражают наиболее важные закономерности логического мышления. В алгебре высказываний законы логики записываются в виде формул, которые позволяют проводить эквивалентные преобразования логических выражений.
Закон тождества. Всякое высказывание тождественно самому себе:
С |
Ъ А = А
С?
Закон непротиворечия. Высказывание не может быть одновременно истинным и ложным. Если высказывание А истинно, то его отрицание не А должно быть ложным. Следовательно, логическое произведение высказывания и его отрицания должно быть ложно:
%ft А & А = О
sT
А = А |
Закон исключенного третьего. Высказывание может быть либо истинным, либо ложным, третьего не дано. Это означает, что результат логического сложения высказывания и его отрицания всегда принимает значение «истина»:
AvA = 1
а
Закон двойного отрицания. Если дважды отрицать некоторое высказывание, то в результате мы получим исходное высказывание:
iф'*
Законы де Моргана.
А уВ = А&В А & В = Av В |
1SM т |
Важное значение для выполнения преобразований логических выражений имеют законы алгебраических преобразований. Многие из них имеют аналоги в обычной алгебре.
>jl |
Закон коммутативности. В обычной алгебре слагаемые и множители можно менять местами. В алгебре высказываний можно менять местами логические переменные при операциях логического умножения и логического сложения:
Логическое умножение | Логическое сложение I |
А & В= В & А | A v В = A v В I |
Закон ассоциативности. Если в логическом выражении используются только операция логического умножения или только операция логического сложения, то можно пренебрегать скобками или произвольно их расставлять:
Логическое умножение | Логическое сложение |
(А & В) & С = А & (В & С) | (A v В) v С = A v (В v С) |
Закон дистрибутивности. В отличие от обычной алгебры, где за скобки можно выносить только общие множители, в алгебре высказываний можно выносить за скобки как общие множители, так и общие слагаемые:
Дистрибутивность умножения относительно сложения | Дистрибутивность сложения относительно умножения |
ab+ ас = а(Ы-с) — в алгебре (A&B)v(A&C)=A&(BvC) | (A v В) & (A v С) = A v (В & С) |
Рассмотрим в качестве примера применения законов логики преобразование логического выражения. Пусть нам необходимо упростить логическое выражение:
(А & В) v (А & В).
Воспользуемся законом дистрибутивности и вынесем за скобки А:
(А & В) v (А & В) = А & (В v В).
По закону исключенного третьего В v В =1, следовательно:
А& (В vB) = А & 1 = А.
3 а |
3.5. Доказать справедливость первого A v В = А & В и второго
А & В = A v В законов де Моргана, используя таблицы истинности.
3.6. Упростить логические выражения:
а) (A v А) & В; _
б) А & (AvB) & (В v В).
Решение логических задач
Логические задачи обычно формулируются на естественном языке. В первую очередь их необходимо формализовать, то есть записать на языке алгебры высказываний. Полученные логические выражения необходимо упростить и проанализировать. Для этого иногда бывает необходимо построить таблицу истинности полученного логического выражения.
Условие задачи. В школе-новостройке в каждой из двух аудиторий может находиться либо кабинет информатики, либо кабинет физики. На дверях аудиторий повесили шутливые таблички. На первой повесили табличку «По крайней мере, в одной из этих аудиторий размещается кабинет информатики», а на второй аудитории — табличку с надписью «Кабинет физики находится в другой аудитории». Проверяющему, который пришел в школу, известно только, что надписи на табличках либо обе истинны, либо обе ложны. Помогите проверяющему найти кабинет информатики.
Решение задачи. Переведем условие задачи на язык логики высказываний. Так как в каждой из аудиторий может находиться кабинет информатики, то пусть: А = «В первой аудитории находится кабинет информатики»; В = «Во второй аудитории находится кабинет информатики».
Отрицания этих высказываний: А = «В первой аудитории находится кабинет физики»; В = «Во второй аудитории находится кабинет физики».
Высказывание, содержащееся на табличке на двери первой аудитории, соответствует логическому выражению:
X = Av В.
Высказывание, содержащееся на табличке на двери второй аудитории, соответствует логическому выражению:
У = А.
Содержащееся в условии задачи утверждение о том, что надписи на табличках либо одновременно истинные, либо одновременно ложные в соответствии с законом исключенного третьего записывается следующим образом: (X & У) v(X & У) = 1.
Подставим вместо X и У соответствующие формулы: (X & У) v (X & У) = ((Л v В) & A) v ((.A v В) & А).
Упростим сначала первое слагаемое. В соответствии с законом дистрибутивности умножения относительно сложения:
(A v В) &А = А & A v В & А.
В соответствии с законом непротиворечия: A &Av В &А = 0 v В & А.
Упростим теперь второе слагаемое. В соответствии с первым законом де Мо_ргана и законом двойного отрицания:
(A v В) & А = А &В & А = А & А & Ъ.
В соответствии с законом непротиворечия:
А&А&В=0&В = 0. В результате получаем:
(О v В & A) v 0 = В & А.
Полученное логическое выражение оказалось простым и поэтому его можно проанализировать без построения таблицы истинности^ Для того чтобы выполнялось равенство В&А = 1,ВиА должны быть равны 1, то есть соответствующие им высказывания истинны.
Ответ: В первой аудитории находится кабинет физики, а во второй — кабинет информатики.
3.7. В процессе составления расписания уроков учителя высказали свои пожелания. Учитель математики высказал пожелание проводить первый или второй урок, учитель информатики — первый и третий, а учитель физики — второй или третий урок. Сколько существует возможных вариантов расписания и каковы они?