Алгебра логики это раздел математики, изучающий высказывания, рассматриваемые со стороны их логических значений (истинности или ложности) и логических операций над ними. |
Алгебра логики возникла в середине ХIХ века в трудах английского математика Джорджа Буля. Ее создание представляло собой попытку решать традиционные логические задачи алгебраическими методами.
Что же такое логическое высказывание?
Логическое высказывание это любoе повествовательное пpедлoжение, в oтнoшении кoтopoгo мoжно oднoзначнo сказать, истиннo oнo или лoжнo. |
Джордж Буль
Так, например, предложение "6 четное число" следует считать высказыванием, так как оно истинное. Предложение "Рим столица Франции" тоже высказывание, так как оно ложное.
Разумеется, не всякое предложение является логическим высказыванием. Высказываниями не являются, например, предложения "ученик десятого класса" и "информатика интересный предмет". Первое предложение ничего не утверждает об ученике, а второе использует слишком неопределённое понятие "интересный предмет". Вопросительные и восклицательные предложения также не являются высказываниями, поскольку говорить об их истинности или ложности не имеет смысла.
Предложения типа "в городе A более миллиона жителей", "у него голубые глаза" не являются высказываниями, так как для выяснения их истинности или ложности нужны дополнительные сведения: о каком конкретно городе или человеке идет речь. Такие предложения называются высказывательными формами.
Высказывательная форма это повествовательное предложение, которое прямо или косвенно содержит хотя бы одну переменную и становится высказыванием, когда все переменные замещаются своими значениями. |
Алгебра логики рассматривает любое высказывание только с одной точки зрения является ли оно истинным или ложным. Заметим, что зачастую трудно установить истинность высказывания. Так, например, высказывание "площадь поверхности Индийского океана равна 75 млн кв. км" в одной ситуации можно посчитать ложным, а в другой истинным. Ложным так как указанное значение неточное и вообще не является постоянным. Истинным если рассматривать его как некоторое приближение, приемлемое на практике.
Употребляемые в обычной речи слова и словосочетания "не", "и", "или", "если... , то", "тогда и только тогда" и другие позволяют из уже заданных высказываний строить новые высказывания. Такие слова и словосочетания называются логическими связками.
Bысказывания, образованные из других высказываний с помощью логических связок, называются составными. Высказывания, не являющиеся составными, называются элементарными.
Так, например, из элементарных высказываний "Петров врач", "Петров шахматист" при помощи связки "и" можно получить составное высказывание "Петров врач и шахматист", понимаемое как "Петров врач, хорошо играющий в шахматы".
При помощи связки "или" из этих же высказываний можно получить составное высказывание "Петров врач или шахматист", понимаемое в алгебре логики как "Петров или врач, или шахматист, или и врач и шахматист одновременно".
Истинность или ложность получаемых таким образом составных высказываний зависит от истинности или ложности элементарных высказываний.
Чтобы обращаться к логическим высказываниям, им назначают имена. Пусть через А обозначено высказывание "Тимур поедет летом на море", а через В высказывание "Тимур летом отправится в горы". Тогда составное высказывание "Тимур летом побывает и на море, и в горах" можно кратко записать как А и В. Здесь "и" логическая связка, А, В логические переменные, которые мoгут принимать только два значения "истина" или "ложь", обозначаемые, соответственно, "1" и "0".
Каждая логическая связка рассматривается как операция над логическими высказываниями и имеет свое название и обозначение:
НЕ Операция, выражаемая словом "не", называется отрицанием и обозначается чертой над высказыванием (или знаком ). Высказывание истинно, когда A ложно, и ложно, когда A истинно. Пример. "Луна спутник Земли" (А); "Луна не спутник Земли" ().
И Операция, выражаемая связкой "и", называется конъюнкцией (лат. conjunctio соединение) или логическим умножением и обозначается точкой " . " (может также обозначаться знаками или &). Высказывание А . В истинно тогда и только тогда, когда оба высказывания А и В истинны. Например, высказывание "10 делится на 2 и 5 больше 3" истинно, а высказывания "10 делится на 2 и 5 не больше 3", "10 не делится на 2 и 5 больше 3", "10 не делится на 2 и 5 не больше 3" ложны.
ИЛИ Операция, выражаемая связкой "или" (в неисключающем смысле этого слова), называется дизъюнкцией (лат. disjunctio разделение) или логическим сложением и обозначается знаком v (или плюсом). Высказывание А v В ложно тогда и только тогда, когда оба высказывания А и В ложны. Например, высказывание "10 не делится на 2 или 5 не больше 3" ложно, а высказывания "10 делится на 2 или 5 больше 3", "10 делится на 2 или 5 не больше 3", "10 не делится на 2 или 5 больше 3" истинны.
ЕСЛИ-ТО Операция, выражаемая связками "если ..., то", "из ... следует", "... влечет ...", называется импликацией (лат. implico тесно связаны) и обозначается знаком . Высказывание ложно тогда и только тогда, когда А истинно, а В ложно.
Каким же образом импликация связывает два элементарных высказывания? Покажем это на примере высказываний: "данный четырёхугольник квадрат" (А) и "около данного четырёхугольника можно описать окружность" (В). Рассмотрим составное высказывание , понимаемое как "если данный четырёхугольник квадрат, то около него можно описать окружность". Есть три варианта, когда высказывание истинно:
Ложен только один вариант, когда А истинно, а В ложно, то есть данный четырёхугольник является квадратом, но около него нельзя описать окружность.
В обычной речи связка "если ..., то" описывает причинно-следственную связь между высказываниями. Но в логических операциях смысл высказываний не учитывается. Рассматривается только их истинность или ложность. Поэтому не надо смущаться "бессмысленностью" импликаций, образованных высказываниями, совершенно не связанными по содержанию. Например, такими: "если президент США демократ, то в Африке водятся жирафы", "если арбуз ягода, то в бензоколонке есть бензин".
РАВНОСИЛЬНО Операция, выражаемая связками "тогда и только тогда", "необходимо и достаточно", "... равносильно ...", называется эквиваленцией или двойной импликацией и обозначается знаком или ~. Высказывание истинно тогда и только тогда, когда значения А и В совпадают. Например, высказывания "24 делится на 6 тогда и только тогда, когда 24 делится на 3", "23 делится на 6 тогда и только тогда, когда 23 делится на 3" истинны, а высказывания "24 делится на 6 тогда и только тогда, когда 24 делится на 5", "21 делится на 6 тогда и только тогда, когда 21 делится на 3" ложны.
Высказывания А и В, образующие составное высказывание ,
могут быть совершенно не связаны по содержанию, например:
"три больше двух" (А), "пингвины живут в Антарктиде" (В).
Отрицаниями этих высказываний являются высказывания "три не больше двух"
(), "пингвины не живут в Антарктиде"
().
Образованные из высказываний А и В составные высказывания
A B и
истинны, а высказывания A
и B ложны.
Итак, нами рассмотрены пять логических операций: отрицание, конъюнкция, дизъюнкция, импликация и эквиваленция.
|
Таким образом, операций отрицания, дизъюнкции и конъюнкции достаточно, чтобы описывать и обрабатывать логические высказывания.
Порядок выполнения логических операций задается круглыми скобками. Но для уменьшения числа скобок договорились считать, что сначала выполняется операция отрицания ("не"), затем конъюнкция ("и"), после конъюнкции дизъюнкция ("или") и в последнюю очередь импликация.
С помощью логических переменных и символов логических операций любое высказывание можно формализовать, то есть заменить логической формулой.
Определение логической формулы:
|
В п. 1 определены элементарные формулы; в п. 2 даны правила образования из любых данных формул новых формул.
В качестве примера рассмотрим высказывание "если я куплю яблоки или абрикосы, то приготовлю фруктовый пирог". Это высказывание формализуется в виде (A v B) C. Такая же формула соответствует высказыванию "если Игорь знает английский или японский язык, то он получит место переводчика".
Как показывает анализ формулы (A v B) C, при определённых сочетаниях значений переменных A, B и C она принимает значение "истина", а при некоторых других сочетаниях значение "ложь" (разберите самостоятельно эти случаи). Такие формулы называются выполнимыми.
Некоторые формулы принимают значение "истина" при любых значениях истинности входящих в них переменных. Таковой будет, например, формула А v , соответствующая высказыванию "Этот треугольник прямоугольный или косоугольный". Эта формула истинна и тогда, когда треугольник прямоугольный, и тогда, когда треугольник не прямоугольный. Такие формулы называются тождественно истинными формулами или тавтологиями. Высказывания, которые формализуются тавтологиями, называются логически истинными высказываниями.
В качестве другого примера рассмотрим формулу А . , которой соответствует, например, высказывание "Катя самая высокая девочка в классе, и в классе есть девочки выше Кати". Очевидно, что эта формула ложна, так как либо А, либо обязательно ложно. Такие формулы называются тождественно ложными формулами или противоречиями. Высказывания, которые формализуются противоречиями, называются логически ложными высказываниями.
Если две формулы А и В одновременно, то есть при одинаковых наборах значений входящих в них переменных, принимают одинаковые значения, то они называются равносильными.
Равносильность двух формул алгебры логики обозначается символом "=" или символом "" Замена формулы другой, ей равносильной, называется равносильным преобразованием данной формулы.
Математический аппарат алгебры логики очень удобен для описания того, как функционируют аппаратные средства компьютера, поскольку основной системой счисления в компьютере является двоичная, в которой используются цифры 1 и 0, а значений логических переменных тоже два: “1” и “0”.
Из этого следует два вывода:
Данные и команды представляются в виде двоичных последовательностей
различной структуры и длины. Существуют различные физические способы кодирования двоичной информации.
Мы уже рассмотрели способы записи двоичной информации на
магнитных дисках и на CD-ROM.
В электронных устройствах компьютера двоичные единицы чаще всего
кодируются более высоким уровнем напряжения, чем двоичные нули (или наоборот), например:
Логический элемент компьютера это часть электронной логичеcкой схемы, которая реализует элементарную логическую функцию. |
Логическими элементами компьютеров являются электронные схемы И, ИЛИ, НЕ, ИНЕ, ИЛИНЕ и другие (называемые также вентилями), а также триггер.
С помощью этих схем можно реализовать любую логическую функцию, описывающую работу устройств компьютера. Обычно у вентилей бывает от двух до восьми входов и один или два выхода.
Чтобы представить два логических состояния “1” и “0” в вентилях, соответствующие им входные и выходные сигналы имеют один из двух установленных уровней напряжения. Например, +5 вольт и 0 вольт.
Высокий уровень обычно соответствует значению “истина” (“1”), а низкий значению “ложь” (“0”).
Каждый логический элемент имеет свое условное обозначение, которое выражает его логическую функцию, но не указывает на то, какая именно электронная схема в нем реализована. Это упрощает запись и понимание сложных логических схем.
Работу логических элементов описывают с помощью таблиц истинности.
Таблица истинности это табличное представление логической схемы (операции), в котором перечислены все возможные сочетания значений истинности входных сигналов (операндов) вместе со значением истинности выходного сигнала (результата операции) для каждого из этих сочетаний. |
Схема И реализует конъюнкцию двух или более логических значений. Условное обозначение на структурных схемах схемы И с двумя входами представлено на рис. 5.1.
Рис. 5.1
x | y | x . y |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Единица на выходе схемы И будет тогда и только тогда, когда на всех входах будут единицы. Когда хотя бы на одном входе будет ноль, на выходе также будет ноль.
Связь между выходом z этой схемы и входами x и y описывается соотношением:
z = x . y
(читается как "x и y").
Операция конъюнкции на структурных схемах обозначается знаком "&"
(читается как "амперсэнд"), являющимся сокращенной записью английского слова
and.
Схема ИЛИ реализует дизъюнкцию двух или более логических значений. Когда хотя бы на одном входе схемы ИЛИ будет единица, на её выходе также будет единица.
Условное обозначение на структурных схемах схемы ИЛИ с двумя входами представлено на рис. 5.2. Знак "1" на схеме от устаревшего обозначения дизъюнкции как ">=1" (т.е. значение дизъюнкции равно единице, если сумма значений операндов больше или равна 1). Связь между выходом z этой схемы и входами x и y описывается соотношением: z = x v y (читается как "x или y").
Рис. 5.2
x | y | x v y |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Схема НЕ (инвертор) реализует операцию отрицания. Связь между входом x этой схемы и выходом z можно записать соотношением z = , x где читается как "не x" или "инверсия х".
Если на входе схемы 0, то на выходе 1. Когда на входе 1, на выходе 0. Условное обозначение на структурных схемах инвертора на рисунке 5.3
Рис. 5.3
x | |
0 | 1 |
1 | 0 |
Схема ИНЕ состоит из элемента И и инвертора и осуществляет отрицание результата схемы И. Связь между выходом z и входами x и y схемы записывают следующим образом: , где читается как "инверсия x и y". Условное обозначение на структурных схемах схемы ИНЕ с двумя входами представлено на рисунке 5.4.
Рис. 5.4
x | y | |
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Схема ИЛИНЕ состоит из элемента ИЛИ и инвертора и осуществляет отрицание результата схемы ИЛИ. Связь между выходом z и входами x и y схемы записывают следующим образом: , где , читается как "инверсия x или y ". Условное обозначение на структурных схемах схемы ИЛИНЕ с двумя входами представлено на рис. 5.5.
Рис. 5.5
x | y | |
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
Триггер это электронная схема, широко применяемая в регистрах компьютера для надёжного запоминания одного разряда двоичного кода. Триггер имеет два устойчивых состояния, одно из которых соответствует двоичной единице, а другое двоичному нулю. |
Термин триггер происходит от английского слова trigger защёлка, спусковой крючок. Для обозначения этой схемы в английском языке чаще употребляется термин flip-flop, что в переводе означает “хлопанье”. Это звукоподражательное название электронной схемы указывает на её способность почти мгновенно переходить (“перебрасываться”) из одного электрического состояния в другое и наоборот.
Самый распространённый тип триггера так называемый RS-триггер (S и R, соответственно, от английских set установка, и reset сброс). Условное обозначение триггера на рис. 5.6.
Рис. 5.6
Он имеет два симметричных входа S и R и два симметричных выхода Q и , причем выходной сигнал Q является логическим отрицанием сигнала .
На каждый из двух входов S и R могут подаваться входные сигналы в виде кратковременных импульсов ( ).
Наличие импульса на входе будем считать единицей, а его отсутствие нулем.
На рис. 5.7 показана реализация триггера с помощью вентилей ИЛИНЕ и соответствующая таблица истинности.
Рис. 5.7
S | R | Q | |
0 | 0 | запрещено | |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 1 | хранение бита |
Проанализируем возможные комбинации значений входов R и S триггера, используя его схему и таблицу истинности схемы ИЛИНЕ (табл. 5.5).
Поскольку один триггер может запомнить только один разряд двоичного кода, то для запоминания байта нужно 8 триггеров, для запоминания килобайта, соответственно, 8 х 210 = 8192 триггеров. Современные микросхемы памяти содержат миллионы триггеров.
Сумматор это электронная логическая схема, выполняющая суммирование двоичных чисел. |
Сумматор служит, прежде всего, центральным узлом арифметико-логического устройства компьютера, однако он находит применение также и в других устройствах машины.
Многоразрядный двоичный сумматор, предназначенный для сложения многоразрядных двоичных чисел, представляет собой комбинацию одноразрядных сумматоров, с рассмотрения которых мы и начнём. Условное обозначение одноразрядного сумматора на рис. 5.8.
Рис. 5.8
При сложении чисел A и B в одном i-ом разряде приходится иметь дело с тремя цифрами:
1. цифра ai первого слагаемого;
2. цифра bi второго слагаемого;
3. перенос pi–1 из младшего разряда.
В результате сложения получаются две цифры:
1. цифра ci для суммы;
2. перенос pi из данного разряда в старший.
Таким образом, одноразрядный двоичный сумматор есть устройство с тремя входами и двумя выходами, работа которого может быть описана следующей таблицей истинности:
Входы | Выходы | |||
Первое слагаемое | Второе слагаемое | Перенос | Сумма | Перенос |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
Если требуется складывать двоичные слова длиной два и более бит, то можно использовать последовательное соединение таких сумматоров, причём для двух соседних сумматоров выход переноса одного сумматора является входом для другого.
Например, схема вычисления суммы C = (с3 c2 c1 c0) двух двоичных трехразрядных чисел A = (a2 a1 a0) и B = (b2 b1 b0) может иметь вид:
В алгебре логики выполняются следующие основные законы, позволяющие производить тождественные преобразования логических выражений:
Закон | Для ИЛИ | Для И |
Переместительный | ||
Сочетательный | ||
Распределительный | ||
Правила де Моргана | ||
Идемпотенции | ||
Поглощения | ||
Склеивания | ||
Операция переменной с ее инверсией | ||
Операция с константами | ||
Двойного отрицания |
Согласно определению, таблица истинности логической формулы выражает соответствие между всевозможными наборами значений переменных и значениями формулы.
Для формулы, которая содержит две переменные, таких наборов значений переменных всего четыре:
(0, 0), (0, 1), (1, 0), (1, 1).
Если формула содержит три переменные, то возможных наборов значений переменных восемь:
(0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 1, 1), (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1).
Количество наборов для формулы с четырьмя переменными равно шестнадцати и т.д.
Удобной формой записи при нахождении значений формулы является таблица, содержащая кроме значений переменных и значений формулы также и значения промежуточных формул.
Примеры.
1. Составим таблицу истинности для формулы , которая содержит две переменные x и y. В первых двух столбцах таблицы запишем четыре возможных пары значений этих переменных, в последующих столбцах значения промежуточных формул и в последнем столбце значение формулы. В результате получим таблицу:
Переменные | Промежуточные логические формулы | Формула | |||||
0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 |
0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 |
Из таблицы видно, что при всех наборах значений переменных x и y формула принимает значение 1, то есть является тождественно истинной.
2. Таблица истинности для формулы :
Переменные | Промежуточные логические формулы | Формула | ||||
0 | 0 | 0 | 1 | 1 | 0 | 0 |
0 | 1 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 1 | 0 | 1 | 1 | 0 |
1 | 1 | 1 | 0 | 0 | 0 | 0 |
Из таблицы видно, что при всех наборах значений переменных x и y формула принимает значение 0, то есть является тождественно ложной.
3. Таблица истинности для формулы :
Переменные | Промежуточные логические формулы | Формула | ||||||
0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 |
0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 |
0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
Из таблицы видно, что формула в некоторых случаях принимает значение 1, а в некоторых 0, то есть является выполнимой.
Равносильные преобразования логических формул имеют то же назначение, что и преобразования формул в обычной алгебре. Они служат для упрощения формул или приведения их к определённому виду путем использования основных законов алгебры логики.
Под упрощением формулы, не содержащей операций импликации и эквиваленции, понимают равносильное преобразование, приводящее к формуле, которая либо содержит по сравнению с исходной меньшее число операций конъюнкции и дизъюнкции и не содержит отрицаний неэлементарных формул, либо содержит меньшее число вхождений переменных. |
Некоторые преобразования логических формул похожи на преобразования формул в обычной алгебре (вынесение общего множителя за скобки, использование переместительного и сочетательного законов и т.п.), тогда как другие преобразования основаны на свойствах, которыми не обладают операции обычной алгебры (использование распределительного закона для конъюнкции, законов поглощения, склеивания, де Моргана и др.).
Покажем на примерах некоторые приемы и способы, применяемые при упрощении логических формул:
1)
(законы алгебры логики применяются в следующей последовательности: правило
де Моргана, сочетательный закон, правило операций переменной с её инверсией
и правило операций с константами);
2)
(применяется правило де Моргана, выносится за скобки общий множитель,
используется правило операций переменной с её инверсией);
3)
(повторяется второй сомножитель, что разрешено законом
идемпотенции; затем комбинируются два первых и два последних сомножителя
и используется закон склеивания);
4)
(вводится вспомогательный логический сомножитель (); затем комбинируются два крайних и два
средних логических слагаемых и используется закон поглощения);
5)
(сначала добиваемся, чтобы знак отрицания стоял только перед отдельными
переменными, а не перед их комбинациями, для этого дважды применяем правило
де Моргана; затем используем закон двойного отрицания);
6)
(выносятся за скобки общие множители; применяется правило операций с
константами);
7)
(к отрицаниям неэлементарных формул применяется правило де Моргана;
используются законы двойного отрицания и склеивания);
8)
(общий множитель x выносится за скобки, комбинируются слагаемые в скобках
первое с третьим и второе с четвертым, к дизъюнкции применяется правило операции переменной
с её инверсией);
9)
(используются распределительный закон для дизъюнкции, правило операции
переменной с ее инверсией, правило операций с константами, переместительный
закон и распределительный закон для конъюнкции);
10)
(используются правило де Моргана, закон двойного отрицания и закон поглощения).
Из этих примеров видно, что при упрощении логических формул не всегда очевидно, какой из законов алгебры логики следует применить на том или ином шаге. Навыки приходят с опытом.
В компьютерах и других автоматических устройствах широко применяются электрические схемы, содержащие сотни и тысячи переключательных элементов: реле, выключателей и т.п. Разработка таких схем весьма трудоёмкое дело. Оказалось, что здесь с успехом может быть использован аппарат алгебры логики.
Переключательная схема это схематическое изображение некоторого устройства, состоящего из переключателей и соединяющих их проводников, а также из входов и выходов, на которые подаётся и с которых снимается электрический сигнал. |
Каждый переключатель имеет только два состояния: замкнутое и разомкнутое. Переключателю Х поставим в соответствие логическую переменную х, которая принимает значение 1 в том и только в том случае, когда переключатель Х замкнут и схема проводит ток; если же переключатель разомкнут, то х равен нулю.
Будем считать, что два переключателя Х и связаны таким образом, что когда Х замкнут, то разомкнут, и наоборот. Следовательно, если переключателю Х поставлена в соответствие логическая переменная х, то переключателю должна соответствовать переменная .
Всей переключательной схеме также можно поставить в соответствие логическую переменную, равную единице, если схема проводит ток, и равную нулю если не проводит. Эта переменная является функцией от переменных, соответствующих всем переключателям схемы, и называется функцией проводимости.
Найдем функции проводимости F некоторых переключательных схем:
Две схемы называются равносильными, если через одну из них проходит ток тогда и только тогда, когда он проходит через другую (при одном и том же входном сигнале). Из двух равносильных схем более простой считается та схема, функция проводимости которой содержит меньшее число логических операций или переключателей. |
Задача нахождения среди равносильных схем наиболее простых является очень важной. Большой вклад в ее решение внесли российские учёные Ю.И. Журавлев, С.В. Яблонский и др.
При рассмотрении переключательных схем возникают две основные задачи: синтез и анализ схемы.
СИНТЕЗ СХЕМЫ по заданным условиям ее работы сводится к следующим трём этапам:
АНАЛИЗ СХЕМЫ сводится к
Примеры.
1. Построим схему, содержащую 4 переключателя x, y, z и t, такую, чтобы она проводила ток тогда и только тогда, когда замкнут контакт переключателя t и какой-нибудь из остальных трёх контактов.
Решение. В этом случае можно обойтись без построения таблицы истинности. Очевидно, что функция проводимости имеет вид F(x, y, z, t) = t . (x v y v z), а схема выглядит так:
2. Построим схему с пятью переключателями, которая проводит ток в том и только в том случае, когда замкнуты ровно четыре из этих переключателей.
Схема имеет вид:
3. Найдем функцию проводимости схемы:
Решение. Имеется четыре возможных пути прохождения тока при замкнутых переключателях a, b, c, d, e : через переключатели a, b; через переключатели a, e, d; через переключатели c, d и через переключатели c, e, b. Функция проводимости F(a, b, c, d, e) = a . b v a . e . d v c . d v c . e . b.
4. Упростим переключательные схемы:
а)
Решение:
Упрощенная схема:
б)
.
Здесь первое логическое слагаемое является отрицанием второго логического слагаемого , а дизъюнкция переменной с ее инверсией равна 1.
Упрощенная схема :
в)
Упрощенная схема:
г)
Упрощенная схема:
д)
(по закону склеивания)
Упрощенная схема:
е)
Решение:
Упрощенная схема:
Разнообразие логических задач очень велико. Способов их решения тоже немало. Но наибольшее распространение получили следующие три способа решения логических задач:
Познакомимся с ними поочередно.
Обычно используется следующая схема решения:
Пример 1. Трое друзей, болельщиков автогонок "Формула-1", спорили о результатах предстоящего этапа гонок.
Вот увидишь, Шумахер не придет первым, сказал Джон. Первым будет Хилл.
Да нет же, победителем будет, как всегда, Шумахер, воскликнул Ник. А об Алези и говорить нечего, ему не быть первым.
Питер, к которому обратился Ник, возмутился:
Хиллу не видать первого места, а вот Алези пилотирует самую мощную машину.
По завершении этапа гонок оказалось, что каждое из двух предположений двоих друзей подтвердилось, а оба предположения третьего из друзей оказались неверны. Кто выиграл этап гонки?
Решение. Введем обозначения для логических высказываний:
Ш победит Шумахер; Х победит Хилл; А победит Алези.
Реплика Ника "Алези пилотирует самую мощную машину" не содержит никакого утверждения о месте, которое займёт этот гонщик, поэтому в дальнейших рассуждениях не учитывается.
Зафиксируем высказывания каждого из друзей:
Учитывая то, что предположения двух друзей подтвердились, а предположения третьего неверны, запишем и упростим истинное высказывание
Высказывание истинно только при Ш=1, А=0, Х=0.
Ответ. Победителем этапа гонок стал Шумахер.
Пример 2. Некий любитель приключений отправился в кругосветное путешествие на яхте, оснащённой бортовым компьютером. Его предупредили, что чаще всего выходят из строя три узла компьютера a, b, c, и дали необходимые детали для замены. Выяснить, какой именно узел надо заменить, он может по сигнальным лампочкам на контрольной панели. Лампочек тоже ровно три: x, y и z.
Инструкция по выявлению неисправных узлов такова:
В пути компьютер сломался. На контрольной панели загорелась лампочка x. Тщательно изучив инструкцию, путешественник починил компьютер. Но с этого момента и до конца плавания его не оставляла тревога. Он понял, что инструкция несовершенна, и есть случаи, когда она ему не поможет.
Какие узлы заменил путешественник? Какие изъяны он обнаружил в инструкции?
Решение. Введем обозначения для логических высказываний:
a неисправен узел а; x горит лампочка х;
b неисправен узел b; y горит лампочка y;
с неисправен узел с; z горит лампочка z.
Правила 1-5 выражаются следующими формулами:
Формулы 1-5 истинны по условию, следовательно, их конъюнкция тоже истинна:
Выражая импликацию через дизъюнкцию и отрицание (напомним, что ), получаем:
Подставляя в это тождество конкретные значения истинности x=1, y=0, z=0, получаем:
Отсюда следует, что a=0, b=1, c=1.
Ответ на первый вопрос задачи: нужно заменить блоки b и c; блок а не требует замены. Ответ на второй вопрос задачи получите самостоятельно.
При использовании этого способа условия, которые содержит задача, и результаты рассуждений фиксируются с помощью специально составленных таблиц.
Пример 3. В симфонический оркестр приняли на работу трёх музыкантов: Брауна, Смита и Вессона, умеющих играть на скрипке, флейте, альте, кларнете, гобое и трубе.
Известно, что:
На каких инструментах играет каждый из музыкантов, если каждый владеет двумя инструментами?
Решение. Составим таблицу и отразим в ней условия задачи, заполнив соответствующие клетки цифрами 0 и 1 в зависимости от того, ложно или истинно соответствующее высказывание.
Так как музыкантов трoе, инструментов шесть и каждый владеет только двумя инструментами, получается, что каждый музыкант играет на инструментах, которыми остальные не владеют.
Из условия 4 следует, что Смит не играет ни на альте, ни на трубе, а из условий 3 и 5, что Браун не умеет играть на скрипке, флейте, трубе и гобое. Следовательно, инструменты Брауна альт и кларнет. Занесем это в таблицу, а оставшиеся клетки столбцов "альт" и "кларнет" заполним нулями:
скрипка | флейта | альт | кларнет | гобой | труба | |
Браун | 0 | 0 | 1 | 1 | 0 | 0 |
Смит | 0 | 0 | 0 | |||
Вессон | 0 | 0 |
Из таблицы видно, что на трубе может играть только Вессон.
Из условий 1 и 2 следует, что Смит не скрипач. Так как на скрипке не играет ни Браун, ни Смит, то скрипачом является Вессон. Оба инструмента, на которых играет Вессон, теперь определены, поэтому остальные клетки строки "Вессон" можно заполнить нулями:
скрипка | флейта | альт | кларнет | гобой | труба | |
Браун | 0 | 0 | 1 | 1 | 0 | 0 |
Смит | 0 | 0 | 0 | 0 | ||
Вессон | 1 | 0 | 0 | 0 | 0 | 1 |
Из таблицы видно, что играть на флейте и на гобое может только Смит.
скрипка | флейта | альт | кларнет | гобой | труба | |
Браун | 0 | 0 | 1 | 1 | 0 | 0 |
Смит | 0 | 1 | 0 | 0 | 1 | 0 |
Вессон | 1 | 0 | 0 | 0 | 0 | 1 |
Ответ: Браун играет на альте и кларнете, Смит на флейте и гобое, Вессон на скрипке и трубе.
Пример 4. Три одноклассника Влад, Тимур и Юра, встретились спустя 10 лет после окончания школы. Выяснилось, что один из них стал врачом, другой физиком, а третий юристом. Один полюбил туризм, другой бег, страсть третьего регби.
Юра сказал, что на туризм ему не хватает времени, хотя его сестра единственный врач в семье, заядлый турист. Врач сказал, что он разделяет увлечение коллеги.
Забавно, но у двоих из друзей в названиях их профессий и увлечений не встречается ни одна буква их имен.
Определите, кто чем любит заниматься в свободное время и у кого какая профессия.
Решение. Здесь исходные данные разбиваются на тройки (имя профессия увлечение).
Из слов Юры ясно, что он не увлекается туризмом и он не врач. Из слов врача следует, что он турист.
Имя | Юра | ||
Профессия | врач | ||
Увлечение | туризм |
Буква "а", присутствующая в слове "врач", указывает на то, что Влад тоже не врач, следовательно врач Тимур. В его имени есть буквы "т" и "р", встречающиеся в слове "туризм", следовательно второй из друзей, в названиях профессии и увлечения которого не встречается ни одна буква его имени Юра. Юра не юрист и не регбист, так как в его имени содержатся буквы "ю" и "р". Следовательно, окончательно имеем:
Имя | Юра | Тимур | Влад |
Профессия | физик | врач | юрист |
Увлечение | бег | туризм | регби |
Ответ. Влад юрист и регбист, Тимур врач и турист, Юра физик и бегун.
Пример 5. Три дочери писательницы Дорис Кей Джуди, Айрис и Линда, тоже очень талантливы. Они приобрели известность в разных видах искусств пении, балете и кино. Все они живут в разных городах, поэтому Дорис часто звонит им в Париж, Рим и Чикаго.
Известно, что:
Где живет Айрис, и какова ее профессия?
Решение. Составим таблицу и отразим в ней условия 1 и 4, заполнив клетки цифрами 0 и 1 в зависимости от того, ложно или истинно соответствующее высказывание:
Париж | Рим | Чикаго | Пение | Балет | Кино | |
0 | Джуди | |||||
Айрис | ||||||
0 | Линда | 0 |
Далее рассуждаем следующим образом. Так как Линда живет не в Риме, то, согласно условию 3, она не певица. В клетку, соответствующую строке "Линда" и столбцу "Пение", ставим 0.
Из таблицы сразу видно, что Линда киноактриса, а Джуди и Айрис не снимаются в кино.
Париж | Рим | Чикаго | Пение | Балет | Кино | |
0 | Джуди | 0 | ||||
Айрис | 0 | |||||
0 | Линда | 0 | 0 | 1 |
Согласно условию 2, парижанка не снимается в кино, следовательно, Линда живет не в Париже. Но она живет и не в Риме. Следовательно, Линда живет в Чикаго. Так как Линда и Джуди живут не в Париже, там живет Айрис. Джуди живет в Риме и, согласно условию 3, является певицей. А так как Линда киноактриса, то Айрис балерина.
В результате постепенного заполнения получаем следующую таблицу:
Париж | Рим | Чикаго | Пение | Балет | Кино | |
0 | 0 | 1 | Джуди | 1 | 0 | 0 |
1 | 0 | 0 | Айрис | 0 | 1 | 0 |
0 | 0 | 1 | Линда | 0 | 0 | 1 |
Ответ. Айрис балерина. Она живет в Париже.
Этим способом обычно решают несложные логические задачи.
Пример 6. Вадим, Сергей и Михаил изучают различные иностранные языки: китайский, японский и арабский. На вопрос, какой язык изучает каждый из них, один ответил: "Вадим изучает китайский, Сергей не изучает китайский, а Михаил не изучает арабский". Впоследствии выяснилось, что в этом ответе только одно утверждение верно, а два других ложны. Какой язык изучает каждый из молодых людей?
Решение. Имеется три утверждения:
Если верно первое утверждение, то верно и второе, так как юноши изучают разные языки. Это противоречит условию задачи, поэтому первое утверждение ложно.
Если верно второе утверждение, то первое и третье должны быть ложны. При этом получается, что никто не изучает китайский. Это противоречит условию, поэтому второе утверждение тоже ложно.
Остается считать верным третье утверждение, а первое и второе ложными. Следовательно, Вадим не изучает китайский, китайский изучает Сергей.
Ответ: Сергей изучает китайский язык, Михаил японский, Вадим арабский.
Пример 7. В поездке пятеро друзей Антон, Борис, Вадим, Дима и Гриша, знакомились с попутчицей. Они предложили ей отгадать их фамилии, причём каждый из них высказал одно истинное и одно ложное утверждение:
Дима сказал: "Моя фамилия Мишин, а фамилия Бориса Хохлов". Антон сказал: "Мишин это моя фамилия, а фамилия Вадима Белкин". Борис сказал: "Фамилия Вадима Тихонов, а моя фамилия Мишин". Вадим сказал: "Моя фамилия Белкин, а фамилия Гриши Чехов". Гриша сказал: "Да, моя фамилия Чехов, а фамилия Антона Тихонов".
Какую фамилию носит каждый из друзей?
Решение. Обозначим высказывательную форму "юноша по имени А носит фамилию Б" как АБ, где буквы А и Б соответствуют начальным буквам имени и фамилии.
Зафиксируем высказывания каждого из друзей:
Допустим сначала, что истинно ДМ. Но, если истинно ДМ, то у Антона и у Бориса должны быть другие фамилии, значит АМ и БМ ложно. Но если АМ и БМ ложны, то должны быть истинны ВБ и ВТ, но ВБ и ВТ одновременно истинными быть не могут.
Значит остается другой случай: истинно БХ. Этот случай приводит
к цепочке умозаключений:
БХ истинно
БМ ложно
ВТ истинно
АТ ложно
ГЧ истинно
ВБ ложно
АМ истинно.
Ответ: Борис Хохлов, Вадим Тихонов, Гриша Чехов, Антон Мишин, Дима Белкин.
Пример 8.Министры иностранных дел России, США и Китая обсудили за закрытыми дверями проекты соглашения о полном разоружении, представленные каждой из стран. Отвечая затем на вопрос журналистов: "Чей именно проект был принят?", министры дали такие ответы:
Один из них (самый откровенный) оба раза говорил правду; второй (самый скрытный) оба раза говорил неправду, третий (осторожный) один раз сказал правду, а другой раз неправду.
Определите, представителями каких стран являются откровенный, скрытный и осторожный министры.
Решение. Для удобства записи пронумеруем высказывания дипломатов:
Узнаем, кто из министров самый откровенный.
Если это российский министр, то из справедливости (1) и (2) следует, что победил китайский проект. Но тогда оба утверждения министра США тоже справедливы, чего не может быть по условию.
Если самый откровенный министр США, то тогда вновь получаем, что победил китайский проект, значит оба утверждения российского министра тоже верны, чего не может быть по условию.
Получается, что наиболее откровенным был китайский министр. Действительно, из того, что (5) и (6) справедливы, cледует, что победил российский проект. А тогда получается, что из двух утверждений российского министра первое ложно, а второе верно. Оба же утверждения министра США неверны.
Ответ: Откровеннее был китайский министр, осторожнее российский, скрытнее министр США.
5.1. Установите, какие из следующих предложений являются логическими высказываниями, а какие нет (объясните почему):
5.2. Укажите, какие из высказываний предыдущего упражнения истинны,
какие ложны, а какие относятся к числу тех, истинность которых трудно
или невозможно установить.
[ Ответ ]
5.3. Приведите примеры истинных и ложных высказываний:
5.4. Сформулируйте отрицания следующих высказываний или высказывательных форм:
5.5. Определите, какие из высказываний (высказывательных форм) в следующих парах являются отрицаниями друг друга, а какие нет:
5.6. Определите значения истинности высказываний:
5.7. Подставьте в приведённые ниже высказывательные формы вместо логических переменных a, b, c, d такие высказывания, чтобы полученные таким образом составные высказывания имели смысл в повседневной жизни:
5.8. Формализуйте следующий вывод: "Если a и b
истинны, то c истинно. Но c ложно: значит,
a или b ложны".
[ Ответ ]
5.9. Формализуйте предостережение, которое одна жительница древних Афин сделала своему сыну, собиравшемуся заняться политической деятельностью: "Если ты будешь говорить правду, то тебя возненавидят люди. Если ты будешь лгать, то тебя возненавидят боги. Но ты должен говорить правду или лгать. Значит, тебя возненавидят люди или возненавидят боги".
Формализуйте также ответ сына: "Если я буду говорить правду, то боги
будут любить меня. Если я буду лгать, то люди будут любить меня. Но я должен
говорить правду или лгать. Значит, меня будут любить боги или меня будут
любить люди".
[ Ответ ]
5.10. Пусть a = "это утро ясное", а b = "это утро теплое". Выразите следующие формулы на обычном языке:
5.11. Из двух данных высказываний a и b постройте составное высказывание, которое было бы:
5.12. Из трех данных высказываний a, b, c постройте составное высказывание, которое истинно, когда истинно какое-либо одно из данных высказываний, и только в этом случае.
Ответ: .
5.13. Определите с помощью таблиц истинности, какие из следующих формул являются тождественно истинными или тождественно ложными:
а) | д) |
б) | е) |
в) | ж) |
г) |
5.14. Упростите следующие формулы, используя законы склеивания:
5.15. Упростите следующие формулы, используя законы поглощения:
5.16. Постройте таблицы истинности для логических формул и упростите формулы, используя законы алгебры логики:
5.17. Приведите примеры переключательных схем, содержащих хотя бы два переключателя, функция проводимости которых
5.18. Найдите функции проводимости следующих переключательных схем:
а) | б) | ||
в) | г) |
5.19. Проверьте равносильность следующих переключательных схем:
5.20. Постройте переключательные схемы с заданными функциями проводимости:
5.21. Упростите функции проводимости и постройте переключательные схемы, соответствующие упрощенным функциям:
5.22. Упростите следующие переключательные схемы:
ЛОГИЧЕСКИЕ ЗАДАЧИ
5.23. Три девочки Роза, Маргарита и Анюта представили на конкурс
цветоводов корзины выращенных ими роз, маргариток и анютиных глазок. Девочка,
вырастившая маргаритки, обратила внимание Розы на то, что ни у одной из девочек
имя не совпадает с названием любимых цветов.
Какие цветы вырастила каждая из девочек?
[ Ответ ]
5.24. Виновник ночного дорожно-транспортного происшествия скрылся с
места аварии.
Первый из опрошенных свидетелей сказал работникам ГАИ, что это были "Жигули",
первая цифра номера машины единица.
Второй свидетель сказал, что машина была марки "Москвич", а номер начинался
с семёрки.
Третий свидетель заявил, что машина была иностранная, номер начинался не с
единицы.
При дальнейшем расследовании выяснилось, что каждый из свидетелей правильно
указал либо только марку машины, либо только первую цифру номера.
Какой марки была машина и с какой цифры начинался номер?
[ Ответ ]
5.25. Пятеро одноклассников: Ирена, Тимур, Камилла, Эльдар и Залим
стали победителями олимпиад школьников по физике, математике, информатике,
литературе и географии.
Известно, что:
5.26. Ирена любит мороженое с фруктами. В кафе был выбор из таких вариантов:
5.27. На очередном этапе автогонок "Формула 1" первые четыре места заняли
Шумахер, Алези, Хилл и Кулхардт. Опоздавший к месту награждения телерепортёр
успел заснять пилотов, занявших второе и третье места, которые поливали друг
друга шампанским. В это время Шумахер с четвёртым гонщиком пожимали друг другу
руки. Далее в кадр попал мокрый Хилл, поздравляющий пилота, занявшего второе
место. Напоследок оператор снял сцену, в которой Шумахер и Кулхардт пытались
втащить на пьедестал почёта пилота, занявшего четвёртое место.
Просматривая отснятый материал, режиссёр спортивного выпуска быстро разобрался,
кто из пилотов какое место занял. Он знал, что, в соответствии с церемонией
награждения победителей гонок, пилоты, занявшие первые три места, поливают друг
друга шампанским из огромных бутылок знаменитой фирмы спонсора соревнований.
Какое же место занял каждый пилот?
[ Ответ ]
5.28. В некотором царстве-государстве повадился Змей Горыныч разбойничать.
Послал царь четырёх богатырей погубить Змея, а награду за то обещал великую.
Вернулись богатыри с победой и спрашивает их царь: "Так кто же из вас главный
победитель, кому достанется царёва дочь и полцарства?"
Засмущались добры молодцы и ответы дали туманные:
Сказал Илья Муромец: "Это все Алеша Попович, царь-батюшка".
Алеша Попович возразил: "То был Микула Селянинович".
Микула Селянинович: "Не прав Алеша, не я это".
Добрыня Никитич: "И не я, батюшка".
Подвернулась тут баба Яга и говорит царю: "А прав то лишь один из
богатырей, видела я всю битву своими глазами".
Кто же из богатырей победил Змея Горыныча?
[ Ответ ]
5.29. При составлении расписания на пятницу были высказаны пожелания,
чтобы информатика была первым или вторым уроком, физика первым или
третьим, история вторым или третьим.
Можно ли удовлетворить одновременно все высказанные пожелания?
[ Ответ ]
5.30. Обсуждая конструкцию нового трёхмоторного самолёта, трое
конструкторов поочередно высказали следующие предположения:
1) при отказе второго двигателя надо приземляться, а при отказе третьего
можно продолжать полёт;
2) при отказе первого двигателя лететь можно, или при отказе третьего
двигателя лететь нельзя;
3) при отказе третьего двигателя лететь можно, но при отказе хотя бы
одного из остальных надо садиться.
Лётные испытания подтвердили правоту каждого из конструкторов. Определите,
при отказе какого из двигателей нельзя продолжать полёт.
[ Ответ ]
5.31. В соревнованиях по плаванию участвовали Андрей, Виктор, Саша
и Дима. Их друзья высказали предположения о возможных победителях:
1) первым будет Саша, Виктор будет вторым;
2) вторым будет Саша, Дима будет третьим;
3) Андрей будет вторым, Дима будет четвёртым.
По окончании соревнований оказалось, что в каждом из предположений
только одно из высказываний истинно, другое ложно.
Какое место на соревнованиях занял каждый из юношей, если все они
заняли разные места.
[ Ответ ]
5.32. Для длительной международной экспедиции на околоземной космической
станции надо из восьми претендентов отобрать шесть специалистов: по аэронавтике,
космонавигации, биомеханике, энергетике, медицине и астрофизике. Условия полёта
не позволяют совмещать работы по разным специальностям, хотя некоторые претенденты
владеют двумя специальностями. Обязанности аэронавта могут выполнять Геррети
и Нам; космонавигатора Кларк и Фриш; биомеханика Фриш и Нам; энергетика
Депардье и Леонов; врача Депардье и Хорхес; астрофизика
Волков и Леонов.
По особенностям психологической совместимости врачи рекомендуют совместные
полеты Фриша и Кларка, а также Леонова с Хорхесом и Депардье. Напротив, нежелательно,
чтобы Депардье оказался в одной экспедиции с Намом, а Волков с Кларком.
Кого следует включить в состав экспедиции?
[ Ответ ]