Автор Л.П. Бойченко Методические указания для выполнения заданий по теме Логические основы работы компьютеров в рамках изучения дисциплины Информатика
ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ ГОРОДА МОСКВЫ
Государственное бюджетное профессиональное образовательное учреждение
ПИЩЕВОЙ КОЛЛЕДЖ № 33
Методические указания
для выполнения заданий по теме
«Логические основы работы компьютеров»
в рамках изучения дисциплины «Информатика»
Москва, 2016
Автор-составитель - Л. П. Бойченко
Данные методические указания подготовлены для выполнения заданий по теме «Логические основы работы компьютеров» в рамках изучения дисциплины «Информатика».
Они могут быть использованы также при изучении курсов «Информатика и ИКТ», «Компьютерные сети», «Компьютерные технологии», «Системы управления базами данных», «Информационные технологии в профессиональной деятельности», «Электроника».
Полезно использовать для студентов СПО, обучающихся в колледжах.
В данных методических указаниях изложена информация, представляющая собой специально подобранный и сгруппированный материал по логическим основам работы компьютеров.
Оглавление
Введение…………………………………………………………………………………………………..3
Логические основы работы компьютеров………………………………………………………………4
1. Что такое алгебра логики?4
2. Что такое логическая формула?6
3. Какая связь между алгеброй логики и двоичным кодированием?8
4. В каком виде записываются в памяти компьютера и в регистрах процессора данные и команды?8
5. Что такое логический элемент компьютера?8
6. Что такое схемы И, ИЛИ, НЕ, И-НЕ, ИЛИ-НЕ?9
7. Что такое триггер?12
8. Что такое сумматор?13
9. Какие основные законы выполняются в алгебре логики?15
10. Как составить таблицу истинности?16
11. Как упростить логическую формулу?16
12. Что такое переключательная схема?20
Введение
Данный учебный материал по теме «Логические основы компьютеров» даёт представление об алгебре логики, её законах, основных понятиях и определениях. В данных методических указаниях даются ответы на вопросы: что такое логическое высказывание и логическая формула, какая связь между алгеброй логики и двоичным кодированием, в каком виде записываются данные и команды в памяти компьютеров и в регистрах процессоров, что такое логический элемент компьютера, что такое логические схемы И, ИЛИ, НЕ, И – НЕ, ИЛИ – НЕ, что такое триггер, что такое сумматор, как упростить логическую формулу, как построить таблицу истинности, что такое переключательная схема.
Учебный материал изложен в форме вопросов и ответов с практическим показом на примерах. Учебный материал изложен в доступной для понимания и усвоения форме с иллюстрацией классических примеров.
Изложенный материал может быть полезным студентам при усвоении материала, связанного с основами преобразования информации в компьютере.
Логические основы компьютеров
1. Что такое алгебра логики?
Алгебра логики – это математический аппарат, с помощью которого записывают, вычисляют, упрощают и преобразовывают логические высказывания.
Создателем алгебры логики является живший в ХIХ веке английский математик Джордж Буль, в честь которого эта алгебра названа булевой алгеброй высказываний.
Что же такое логическое высказывание?
Логическое высказывание – это любoе повествовательное пpедлoжение, в oтнoшении кoтopoгo мoжно oднoзначнo сказать, истиннo oнo или лoжнo.
Так, например, предложение “6 – чётное число” следует считать высказыванием, так как оно истинное. Предложение “Рим – столица Франции” тоже высказывание, так как оно ложное.
Разумеется, не всякое предложение является логическим высказыванием. Высказываниями не являются, например, предложения “ученик десятого класса” и “информатика – интересный предмет”. Первое предложение ничего не утверждает об ученике, а второе использует слишком неопределённое понятие “интересный предмет”. Вопросительные и восклицательные предложения также не являются высказываниями, поскольку говорить об их истинности или ложности не имеет смысла.
Предложения типа “в городе A более миллиона жителей”, “у него голубые глаза” не являются высказываниями, так как для выяснения их истинности или ложности нужны дополнительные сведения: о каком конкретно городе или человеке идёт речь. Такие предложения называются высказывательными формами.
Высказывательная форма – это повествовательное предложение, которое прямо или косвенно содержит хотя бы одну переменную и становится высказыванием, когда все переменные замещаются своими значениями.
Алгебра логики рассматривает любое высказывание только с одной точки зрения – является ли оно истинным или ложным. Заметим, что зачастую трудно установить истинность высказывания. Так, например, высказывание “площадь поверхности Индийского океана равна 75 млн кв. км” в одной ситуации можно посчитать ложным, а в другой – истинным. Ложным – так как указанное значение неточное и вообще не является постоянным. Истинным – если рассматривать его как некоторое приближение, приемлемое на практике.
Употребляемые в обычной речи слова и словосочетания "не”, “и”, “или”, “если... , то”, “тогда и только тогда” и другие позволяют из уже заданных высказываний строить новые высказывания. Такие слова и словосочетания называются логическими связками.
Bысказывания, образованные из других высказываний с помощью логических связок, называются составными. Высказывания, не являющиеся составными, называются элементарными.
Так, например, из элементарных высказываний “Петров – врач”, “Петров – шахматист” при помощи связки “и” можно получить составное высказывание “Петров – врач и шахматист”, понимаемое как “Петров – врач, хорошо играющий в шахматы”.
При помощи связки “или” из этих же высказываний можно получить составное высказывание “Петров – врач или шахматист”, понимаемое в алгебре логики как “Петров или врач, или шахматист, или и врач и шахматист одновременно”.
Истинность или ложность получаемых таким образом составных высказываний зависит от истинности или ложности элементарных высказываний.
Чтобы обращаться к логическим высказываниям, им назначают имена. Пусть через A обозначено высказывание “Тимур поедет летом на море”, а через B – высказывание “Тимур летом отправится в горы”. Тогда составное высказывание “Тимур летом побывает и на море, и в горах” можно кратко записать как A и B. Здесь “и” – логическая связка, A, B – логические переменные, которые мoгут принимать только два значения – “истина” или “ложь”, обозначаемые, соответственно, “1” и “0”.
Каждая логическая связка рассматривается как операция над логическими высказываниями и имеет своё название и обозначение:
1. Операция, выражаемая словом “не”, называется отрицанием и обозначается чертой над высказыванием (или знаком ). Высказывание A QUOTE A истинно, когда A ложно, и ложно, когда A истинно. Пример: “Луна – спутник Земли” (A); “Луна не спутник Земли” (A QUOTE A ).
2. Операция, выражаемая связкой “и”, называется конъюнкцией (лат. conjunctio — соединение) или логическим умножением и обозначается точкой "∙" (может также обозначаться знаками ∧ или &). Высказывание A⋅B истинно тогда и только тогда, когда оба высказывания A и B истинны. Например, высказывание
“10 делится на 2 и 5 больше 3” истинно, а высказывания
“10 делится на 2 и 5 не больше 3”,
“10 не делится на 2 и 5 больше 3”,
“10 не делится на 2 и 5 не больше 3” ложны.
3. Операция, выражаемая связкой “или” (в неразделительном, неисключающем смысле этого слова), называется дизъюнкцией (лат. disjunctio – разделение) или логическим сложением и обозначается знаком ∨ (или плюсом). Высказывание A∨B ложно тогда и только тогда, когда оба высказывания A и B ложны. Например, высказывание
“10 не делится на 2 или 5 не больше 3” ложно, а высказывания
“10 делится на 2 или 5 больше 3”,
“10 делится на 2 или 5 не больше 3”,
“10 не делится на 2 или 5 больше 3” истинны.
4. Операция, выражаемая связками “если ..., то”, “из ... следует”, “... влечет ...”, называется импликацией (лат. implico – тесно связаны) и обозначается знаком →. Высказывание A→B ложно тогда и только тогда, когда A истинно, а B – ложно.
Каким же образом импликация связывает два элементарных высказывания? Покажем это на примере высказываний: “данный четырёхугольник – квадрат” (A) и “около данного четырёхугольника можно описать окружность” (B). Рассмотрим составное высказывание A→B, понимаемое как “если данный четырёхугольник квадрат, то около него можно описать окружность”. Есть три варианта, когда высказывание A→B истинно:
A истинно и B истинно, то есть данный четырёхугольник квадрат, и около него можно описать окружность;
A ложно и B истинно, то есть данный четырёхугольник не является квадратом, но около него можно описать окружность (разумеется, это справедливо не для всякого четырёхугольника);
A ложно и B ложно, то есть данный четырёхугольник не является квадратом, и около него нельзя описать окружность.
Ложен только один вариант: A истинно и B ложно, то есть данный четырёхугольник является квадратом, но около него нельзя описать окружность.
В обычной речи связка “если ..., то” описывает причинно-следственную связь между высказываниями. Но в логических операциях смысл высказываний не учитывается. Рассматривается только их истинность или ложность. Поэтому не надо смущаться “бессмысленностью” импликаций, образованных высказываниями, совершенно не связанными по содержанию, например такими:
“если президент США – демократ, то в Африке водятся жирафы”;
“если арбуз – ягода, то в бензоколонке есть бензин”.
5. Операция, выражаемая связками “тогда и только тогда”, “необходимо и достаточно”, “... равносильно ...”, называется эквиваленцией, или двойной импликацие,й и обозначается знаком ↔ или ~. Высказывание А↔ В истинно тогда и только тогда, когда значения A и B совпадают.
Например, высказывания
“24 делится на 6 тогда и только тогда, когда 24 делится на 3”,
“23 делится на 6 тогда и только тогда, когда 23 делится на 3”
истинны, а высказывания
“24 делится на 6 тогда и только тогда, когда 24 делится на 5”,
“21 делится на 6 тогда и только тогда, когда 21 делится на 3” ложны.
Высказывания A и B, образующие составное высказывание А↔ В, могут быть совершенно не связаны по содержанию, например: “три больше двух” (A), “пингвины живут в Антарктиде” (B). Отрицаниями этих высказываний являются высказывания “три не больше двух” (A QUOTE A ), “пингвины не живут в Антарктиде” (B). Образованные из высказываний A, B составные высказывания А↔ В и A ↔ B истинны, а высказывания A ↔ B и A ↔ B – ложны.
Итак, нами рассмотрены пять логических операций: отрицание, конъюнкция, дизъюнкция, импликация и эквиваленция.
Импликацию можно выразить через дизъюнкцию и отрицание:
A → B = A∨B.
Эквиваленцию можно выразить через отрицание, дизъюнкцию и конъюнкцию:
A ↔ B = A∨B⋅B∨A .
Таким образом, операций отрицания, дизъюнкции и конъюнкции достаточно, чтобы описывать и обрабатывать логические высказывания.
Порядок выполнения логических операций задается круглыми скобками. Но для уменьшения числа скобок договорились считать, что сначала выполняется операция отрицания (“не”), затем конъюнкция (“и”), после конъюнкции – дизъюнкция (“или”) и в последнюю очередь – импликация.
2. Что такое логическая формула?
С помощью логических переменных и символов логических операций любое высказывание можно формализовать, то есть заменить логической формулой.
Определение логической формулы:
Всякая логическая переменная и символы “истина” (“1”) и “ложь” (“0”) – формулы.
Если A и B – формулы, то A, A⋅B, A∨B, A → B , A ↔ B – формулы.
Никаких других формул в алгебре логики нет.
В п. 1 определены элементарные формулы; в п. 2 даны правила образования из любых данных формул новых формул.
В качестве примера рассмотрим высказывание “если я куплю яблоки или абрикосы, то приготовлю фруктовый пирог”. Это высказывание формализуется в виде A∨B → C ; такая же формула соответствует высказыванию “если Игорь знает английский или японский язык, то он получит место переводчика”.
Как показывает анализ формулы A∨B → C , при определённых сочетаниях значений переменных A, B и C она принимает значение “истина”, а при некоторых других сочетаниях – значение “ложь” (разберите самостоятельно эти случаи). Такие формулы называются выполнимыми.
Некоторые формулы принимают значение “истина” при любых значениях истинности входящих в них переменных. Таковой будет, например, формула A ∨ A, соответствующая высказыванию “Этот треугольник прямоугольный или косоугольный”. Эта формула истинна и тогда, когда треугольник прямоугольный, и тогда, когда треугольник непрямоугольный. Такие формулы называются тождественно истинными формулами, или тавтологиями. Высказывания, которые формализуются тавтологиями, называются логически истинными высказываниями.
В качестве другого примера рассмотрим формулу A ⋅ A, которой соответствует, например, высказывание “Катя самая высокая девочка в классе, и в классе есть девочки выше Кати”. Очевидно, что эта формула ложна, так как либо A, либо A обязательно ложно. Такие формулы называются тождественно ложными формулами, или противоречиями. Высказывания, которые формализуются противоречиями, называются логически ложными высказываниями.
Если две формулы A и B “одновременно”, то есть при одинаковых наборах значений входящих в них переменных, принимают одинаковые значения, то они называются равносильными.
Равносильность двух формул алгебры логики обозначается символом “=” или символом “”. Замена формулы другой, ей равносильной, называется равносильным преобразованием данной формулы.
3. Какая связь между алгеброй логики и двоичным кодированием?
Математический аппарат алгебры логики очень удобен для описания того, как функционируют аппаратные средства компьютера, поскольку основной системой счисления в компьютере является двоичная, в которой используются цифры 1 и 0, а значений логических переменных тоже два: “1” и “0”.
Из этого следуют два вывода:
одни и те же устройства компьютера могут применяться для обработки и хранения как числовой информации, представленной в двоичной системе счисления, так и логических переменных;
на этапе конструирования аппаратных средств алгебра логики позволяет значительно упростить логические функции, описывающие функционирование схем компьютера, и, следовательно, уменьшить число элементарных логических элементов, из десятков тысяч которых состоят основные узлы компьютера.
4. В каком виде записываются в памяти компьютера и в регистрах процессора данные и команды?
Данные и команды представляются в виде двоичных последовательностей различной структуры и длины.
Существуют различные физические способы кодирования двоичной информации, но чаще всего единица кодируется более высоким уровнем напряжения, чем ноль (или наоборот), например:
Рис. 1
5. Что такое логический элемент компьютера?
Логический элемент компьютера – это часть электронной логичеcкой схемы, которая реализует элементарную логическую функцию.
Логическими элементами компьютеров являются электронные схемы И, ИЛИ, НЕ, И-НЕ, ИЛИ-НЕ и другие (называемые также вентилями), а также триггер.С помощью этих схем можно реализовать любую логическую функцию, описывающую работу устройств компьютера. Обычно у вентилей бывает от двух до восьми входов и один или два выхода.
Чтобы представить два логических состояния – “1” и “0” в вентилях, соответствующие им входные и выходные сигналы имеют один из двух установленных уровней напряжения. Например, +5 вольт и 0 вольт.
Высокий уровень обычно соответствует значению “истина” (“1”), а низкий – значению “ложь” (“0”).
Каждый логический элемент имеет свое условное обозначение, которое выражает его логическую функцию, но не указывает на то, какая именно электронная схема в нём реализована. Это упрощает запись и понимание сложных логических схем.
Работу логических элементов описывают с помощью таблиц истинности.
Таблица истинности – это табличное представление логичеcкой схемы (операции), в котором перечислены все возможные сочетания значений истинности входных сигналов (операндов) вместе со значением истинности выходного сигнала (результата операции) для каждого из этих сочетаний.
6. Что такое схемы И, ИЛИ, НЕ, И-НЕ, ИЛИ-НЕ?
Схема И
Схема И реализует конъюнкцию двух или более логических значений. Условное обозначение на структурных схемах схемы И с двумя входами представлено на рис. 2. Таблица истинности – в табл. 1.
Рис. 2
Таблица 1
xyx⋅y0 0 0
0 1 0
1 0 0
1 1 1
Единица на выходе схемы И будет тогда и только тогда, когда на всех входах будут единицы. Когда хотя бы на одном входе будет ноль, на выходе также будет ноль.
Связь между выходом z этой схемы и входами x и y описывается соотношением: z=x∙y (читается как "x и y").
Операция конъюнкции на функциональных схемах обозначается знаком “&” (читается как "амперсэнд"), являющимся сокращённой записью английского слова and.
Схема ИЛИ
Схема ИЛИ реализует дизъюнкцию двух или более логических значений.
Когда хотя бы на одном входе схемы ИЛИ будет единица, на её выходе также будет единица.
Условное обозначение схемы ИЛИ представлено на рис. 3. Знак “1” на схеме – от устаревшего обозначения дизъюнкции как "> = 1" (т. е. значение дизъюнкции равно единице, если сумма значений операндов больше или равна 1). Связь между выходом z этой схемы и входами x и y описывается соотношением: z=x∨y (читается как "x или y"). Таблица истинности – в табл. 2.
Рис. 3 Таблица 2
xyx∨y0 0 0
0 1 1
1 0 1
1 1 1
Схема НЕ
Схема НЕ (инвертор) реализует операцию отрицания. Связь между входом x этой схемы и выходом z можно записать соотношением z=x, где x читается как "не x", или "инверсия x".
Если на входе схемы – 0, то на выходе – 1. Когда на входе – 1, на выходе – 0. Условное обозначение инвертора – на рисунке 4, а таблица истинности – в табл. 3.
Рис. 4 Таблица 3
xx0 1
1 0
Схема И-НЕ
Схема И-НЕ состоит из элемента И и инвертора и осуществляет отрицание результата схемы И.
Связь между выходом z и входами x и y схемы записывают следующим образом: z=x⋅y, где x⋅y читается как "инверсия x и y".
Условное обозначение схемы И-НЕ представлено на рисунке 2.5. Таблица истинности схемы И-НЕ – в табл. 4.
Рис. 5 Таблица 4
xyx⋅y0 0 1
0 1 1
1 0 1
1 1 0
Схема ИЛИ-НЕ
Схема ИЛИ-НЕ состоит из элемента ИЛИ и инвертора и осуществляет отрицание результата схемы ИЛИ.
Связь между выходом z и входами x и y схемы записывают следующим образом: z=x∨y, где x∨y читается как "инверсия x или y". Условное обозначение схемы ИЛИ-НЕ представлено на рис. 6.
Таблица истинности схемы ИЛИ-НЕ – в табл. 2.5.
Рис. 6
Таблица 2.5
xyx∨y0 0 1
0 1 0
1 0 0
1 1 0
7. Что такое триггер?
Триггер – это электронная схема, широко применяемая в регистрах компьютера для надёжного запоминания одного разряда двоичного кода. Триггер имеет два устойчивых состояния, одно из которых соответствует двоичной единице, а другое – двоичному нулю.
Термин триггер происходит от английского слова trigger – защёлка, спусковой крючок. Для обозначения этой схемы в английском языке чаще употребляется термин flip – flop, что в переводе означает “хлопанье”. Это звукоподражательное название электронной схемы указывает на её способность почти мгновенно переходить (“перебрасываться”) из одного электрического состояния в другое и наоборот.
Самый распространённый тип триггера – так называемый RS-триггер (S и R, соответственно, от английских set – установка и reset – сброс). Условное обозначение триггера – на рис. 7.
Рис. 7
Он имеет два симметричных входа S и R и два симметричных выхода Q и , причём выходной сигнал Q является логическим отрицанием сигнала .
На каждый из двух входов S и R могут подаваться входные сигналы в виде кратковременных импульсов ( ).
Наличие импульса на входе будем считать единицей, а его отсутствие – нулём.
На рис. 8 показана реализация триггера с помощью вентилей ИЛИ-НЕ и соответствующая таблица истинности.
Рис. 8
Таблица 6
S R Q Q0 0 запрещено
0 1 1 0
1 0 0 1
1 1 хранение бита
Проанализируем возможные комбинации значений входов R и S триггера, используя его схему и таблицу истинности схемы ИЛИ-НЕ (табл. 2.6).
Если на входы триггера подать S = “1”, R = “0”, то (независимо от состояния) на выходе Q верхнего вентиля появится “0”. После этого на входах нижнего вентиля окажется R =“0”, Q = “0” и выход станет равным “1”.
Точно так же при подаче “0” на вход S и “1” на вход R на выходе появится “0”, а на Q – “1”.
Если на входы R и S подана логическая “1”, то состояние Q и не меняется.
Подача на оба входа R и S логического “0” может привести к неоднозначному результату, поэтому эта комбинация входных сигналов запрещена.
Поскольку один триггер может запомнить только один разряд двоичного кода, то для запоминания байта нужно 8 триггеров, для запоминания килобайта, соответственно, QUOTE 8∙210=8192 триггеров. Современные микросхемы памяти содержат миллионы триггеров.
8. Что такое сумматор?
Сумматор – это электронная логическая схема, выполняющая суммирование двоичных чисел.
Сумматор служит, прежде всего, центральным узлом арифметико-логического устройства компьютера, однако он находит применение также и в других устройствах машины.
Многоразрядный двоичный сумматор, предназначенный для сложения многоразрядных двоичных чисел, представляет собой комбинацию одноразрядных сумматоров, с рассмотрения которых мы и начнём. Условное обозначение одноразрядного сумматора – на рис. 9.
Рис. 2.9
При сложении чисел A и B в одном i-ом разряде приходится иметь дело с тремя цифрами:
1) цифра ai QUOTE ai первого слагаемого;
2) цифра bi QUOTE bi второго слагаемого;
3) перенос pi-1 QUOTE pi-1 из младшего разряда.
В результате сложения получаются две цифры:
1) цифра ci QUOTE ci для суммы;
2) перенос pi QUOTE pi из данного разряда в старший.
Таким образом, одноразрядный двоичный сумматор есть устройство с тремя входами и двумя выходами, работа которого может быть описана следующей таблицей истинности:
Таблица 7
Входы Выходы
Первое слагаемое второе слагаемое перенос сумма перенос
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=c3c2c1c0 двух двоичных трёхразрядных чисел A=a2a1a0 и B=b2b1b0 может иметь вид:
Рис. 10
9. Какие основные законы выполняются в алгебре логики?
В алгебре логики выполняются следующие основные законы, позволяющие производить тождественные преобразования логических выражений (табл. 8):
Таблица 8
Основные законы алгебры логики
Закон Для ИЛИ Для И
Переместительный x∨y=y∨xx⋅y=y⋅xСочетательный x∨y∨z=(x∨y)∨zx⋅y⋅z=(x⋅y)⋅zРаспределительный x⋅y∨z=x⋅y∨x⋅zx∨y⋅z=x∨y⋅(x∨z)Правила де Моргана x∨y=y∙xx⋅y=y∨xИдемпотенции x∨x=xx⋅x=xПоглощения x∨(x∙y)=xx⋅(x∨y)=xСклеивания (x∙y)∨(x∙y)=y(x∨y)∙(x∨y)=yОперация
переменной с её инверсией x∨x=1x∙x=0Операция с константами x∨0=x, x∨1=1x⋅1=x, x∙0=0Двойного отрицания x=x10. Как составить таблицу истинности?
Согласно определению, таблица истинности логической формулы выражает соответствие между всевозможными наборами значений переменных и значениями формулы.
Для формулы, которая содержит две переменные, таких наборов значений переменных всего четыре: (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∨x∨y∨x, которая содержит две переменные x и y. В первых двух столбцах таблицы запишем четыре возможных пары значений этих переменных, в последующих столбцах – значения промежуточных формул и в последнем столбце – значение формулы. В результате получим таблицу:
Таблица 9
Переменные Промежуточные логические формулы Формула
xyxx⋅yx∨yx∨yx⋅y∨x∨yx⋅y∨x∨y∨x0 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 QUOTE x и y QUOTE y формула x⋅y∨x∨y∨x принимает значение 1, то есть является тождественно истинной.Таблица истинности для формулы x∨y⋅x⋅y:
Таблица 10
Переменные Промежуточные логические формулы Формула
xyx∨yx∨yyx⋅yx∨y⋅x⋅y0 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 QUOTE x и y QUOTE y формула x∨y⋅x⋅y принимает значение 0, то есть является тождественно ложной.
Таблица истинности для формулы x∨y∨x⋅z:
Таблица 11
Переменные Промежуточные логические формулы Формула
xyzyx∨yx∨yxx∙zx∨y∨x∙z0 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
Из таблиц видно, что формула x∨y∨x⋅z в некоторых случаях принимает значение 1, а в некоторых – 0, то есть является выполнимой.
11. Как упростить логическую формулу?
Равносильные преобразования логических формул имеют то же назначение, что и преобразования формул в обычной алгебре. Они служат для упрощения формул или приведения их к определённому виду путём использования основных законов алгебры логики.
Под упрощением формулы, не содержащей операций импликации и эквиваленции, понимают равносильное преобразование, приводящее к формуле, которая либо содержит по сравнению с исходной меньшее число операций конъюнкции и дизъюнкции и не содержит отрицаний неэлементарных формул, либо содержит меньшее число вхождений переменных.
Некоторые преобразования логических формул похожи на преобразования формул в обычной алгебре (вынесение общего множителя за скобки, использование переместительного и сочетательного законов и т. п.), тогда как другие преобразования основаны на свойствах, которыми не обладают операции обычной алгебры (использование распределительного закона для конъюнкции, законов поглощения, склеивания, де Моргана и др.).
Покажем на примерах некоторые приёмы и способы, применяемые при упрощении логических формул:
1) x∨y∙x⋅y=x⋅y⋅x∙y=x⋅x⋅y⋅y=0⋅y⋅y=0⋅y=0(законы алгебры логики применяются в следующей последовательности: правило де Моргана, сочетательный закон, правило операций переменной с её инверсией и правило операций с константами);
2) x⋅y∨x∨y∨x=x⋅y∨x⋅y∨x=x⋅y∨y∨x=x∨x=1
(применяется правило де Моргана, выносится за скобки общий множитель, используется правило операций переменной с её инверсией);
3) x∨y⋅x∨y⋅x∨y=x∨y⋅x∨y⋅(x∨y)x∨y=y∙x(повторяется второй сомножитель, что разрешено законом идемпотенции; затем комбинируются два первых и два последних сомножителя и используется закон склеивания);
4) x∙y∨x∙y⋅z∨x∙z=x∙y∨x∙y⋅z∨x∙z⋅y∨y=
=x∙y∨x∙y⋅z∨x⋅y⋅z∨x⋅y⋅z==x∙y∨x⋅y⋅z∨x∙y⋅z∨x⋅y⋅z=x∙y∨y⋅z(вводится вспомогательный логический сомножитель (y∨y); затем комбинируются два крайних и два средних логических слагаемых и используется закон поглощения); 5) x⋅y∨z=x⋅y∙x=(x∨y)∙z
(сначала добиваемся, чтобы знак отрицания стоял только перед отдельными переменными, а не перед их комбинациями, для этого дважды применяем правило де Моргана; затем используем закон двойного отрицания);
6) x⋅y∨x⋅y⋅z∨x⋅z⋅p=x⋅y⋅1∨z∨z∙p=x⋅(y∨z⋅p)(выносятся за скобки общие множители; применяется правило операций с константами);
7) x∨y∙z∨x∨y∨z=x∨y∨z∨x⋅y⋅z=x∨y∨z∨x∨y∨z==x∨z∨y∨x⋅y⋅z=x∨z∨y(к отрицаниям неэлементарных формул применяется правило де Моргана; используются законы двойного отрицания и склеивания);
8). x⋅y∨x⋅y⋅z∨x⋅y⋅z∨x⋅y⋅z=x⋅y∨y∙z∨y∙z∨y∙z=
=x⋅y∨y∙z∨y∙z∨y∙z=x∙y∨y∙z∨1=x⋅1=x(общий множитель x выносится за скобки, комбинируются слагаемые в скобках – первое с третьим и второе с четвертым, к дизъюнкции применяется правило операции переменной с её инверсией);
9). x⋅y∨z⋅x∨y∨z=x⋅y⋅x∨x⋅y⋅y∨z⋅x∨z⋅y∨z==0∨0∨z∙x∨z∙y∨z=z⋅x∨(z∨z)∙y∨z==z∙x∨1∙y∨z=z⋅x∨y∨z=(z∙x∨z)∨y==(z∨z)∙(x∨z)∨y=1∙(x∨z)∨y=x∨z∨y(используются распределительный закон для дизъюнкции, правило операции переменной с ее инверсией, правило операций с константами, переместительный закон и распределительный закон для конъюнкции);
10). x⋅y⋅x⋅z∨x∙y∙z∨z⋅t=x⋅y⋅x⋅z∨x∙y∨z∨z⋅t==x⋅y⋅x⋅z∨x∙y∨z∨z⋅t=x∙y∨x⋅y⋅z∨x⋅y⋅z⋅t=x⋅y(используются правило де Моргана, закон двойного отрицания и закон поглощения).
Из этих примеров видно, что при упрощении логических формул не всегда очевидно, какой из законов алгебры логики следует применить на том или ином шаге. Навыки приходят с опытом.
12. Что такое переключательная схема?
В компьютерах и других автоматических устройствах широко применяются электрические схемы, содержащие сотни и тысячи переключательных элементов: реле, выключателей и т. п. Разработка таких схем весьма трудоёмкое дело. Оказалось, что здесь с успехом может быть использован аппарат алгебры логики.
Переключательная схема – это схематическое изображение некоторого устройства, состоящего из переключателей и соединяющих их проводников, а также из входов и выходов, на которые подаётся и с которых снимается электрический сигнал.
Каждый переключатель имеет только два состояния: замкнутое и разомкнутое. Переключателю X поставим в соответствие логическую переменную x QUOTE x , которая принимает значение 1 в том и только в том случае, когда переключатель Х замкнут и схема проводит ток; если же переключатель разомкнут, то x равен нулю.
Будем считать, что два переключателя X и X связаны таким образом, что когда X замкнут, то X разомкнут, и наоборот. Следовательно, если переключателю Х поставлена в соответствие логическая переменная x, то переключателю X должна соответствовать переменная x.
Всей переключательной схеме также можно поставить в соответствие логическую переменную, равную единице, если схема проводит ток, и равную нулю – если не проводит. Эта переменная является функцией от переменных, соответствующих всем переключателям схемы, и называется функцией проводимости.
Найдём функции проводимости F некоторых переключательных схем:
a) схема не содержит переключателей и проводит ток всегда, следовательно, F = 1;
б) схема проводит ток, когда переключатель x замкнут, и не проводит, когда x разомкнут, следовательно, F(x) = x;
в) схема проводит ток, когда переключатель х разомкнут, и не проводит, когда х замкнут, следовательно, F(x) =x;
г) схема проводит ток, когда оба переключателя замкнуты, следовательно, F(x) = x∙y;
д) схема проводит ток, когда хотя бы один из переключателей замкнут, следовательно, F(x) = x∨y;
е) схема состоит из двух параллельных ветвей и описывается функцией Fx,y,z=x⋅y∨x∨(x∨y)∙z.
Две схемы называются равносильными, если через одну из них проходит ток тогда и только тогда, когда он проходит через другую (при одном и том же входном сигнале).
Из двух равносильных схем более простой считается та схема, функция проводимости которой содержит меньшее число логических операций или переключателей.
Задача нахождения среди равносильных схем наиболее простых является очень важной. Большой вклад в её решение внесли российские учёные Ю. И. Журавлёв, С. В. Яблонский и др.
При рассмотрении переключательных схем возникают две основные задачи: синтез и анализ схемы.
Синтез схемы по заданным условиям её работы сводится к следующим трём этапам:
составлению функции проводимости по таблице истинности, отражающей эти условия;
упрощению этой функции;
построению соответствующей схемы.
Анализ схемы сводится к:
определению значений её функции проводимости при всех возможных наборах входящих в эту функцию переменных;
получению упрощённой формулы.
Примеры.
1. Построим схему, содержащую 4 переключателя x, y, z и t, такую, чтобы она проводила ток тогда и только тогда, когда замкнут контакт переключателя t и какой-нибудь из остальных трёх контактов.
Решение. В этом случае можно обойтись без построения таблицы истинности. Очевидно, что функция проводимости имеет вид
Fx,y,z,t=t⋅x∨y∨z, а схема выглядит так:
2. Построим схему с пятью переключателями, которая проводит ток в том и только в том случае, когда замкнуты ровно четыре из этих переключателей.
Решение.
Fa,b,c,d,e=a∙b∙c∙d∙e∨a∙b∙c∙d∙e∨a⋅b⋅c⋅d⋅e⋅∨∨a⋅b⋅c⋅d⋅e∨a⋅b⋅c⋅d⋅eСхема имеет вид:
3. Найдём функцию проводимости схемы:
Решение. Имеется четыре возможных пути прохождения тока при замкнутых переключателях a, b, c, d, e: через переключатели a, b; через переключатели a, e, d; через переключатели c, d и через переключатели c, e, b. Функция проводимости: F(a, b, c, d, e) = a∙b ∨ a⋅e⋅d∨ c⋅d ∨ c⋅e∙b.
4. Упростим переключательные схемы:
а)
Решение: Fx,y=x∙y∨y⋅x=x⋅(y∨y)=x⋅1=x
Упрощённая схема:
б)
Решение. Fx,y,z=z∙x∨y∨z∨x⋅y=1Здесь первое логическое слагаемое z⋅x∨y является отрицанием второго логического слагаемого z∨x∙y, а дизъюнкция переменной с её инверсией равна 1.
Упрощённая схема:
в)
Fx,y,z=x∨y⋅z∙z∨x∙y=x⋅z∨y∙z⋅z∨x∙y==x⋅z∙z∨x⋅z⋅x⋅y∨y⋅z⋅z∨y⋅z⋅x⋅y=0∨0∨0∨0=0Упрощённая схема:
г)
Решение. Fx,y,z,t=x∨y∨y∙z∨t=1⋅z∨t=z∨tУпрощённая схема:
д)
Решение. Fx,y=x∨y⋅x∨y=y QUOTE Fx,y=x∨y⋅x∨y=y (по закону склеивания).
Упрощённая схема:
е)
Решение. Fx,y,z,t=x⋅z∨x∙t∙y∨y∙t∨y∙z∙x=
=x⋅y⋅z∨x⋅y⋅x⋅t∨x⋅y∙t∨z=x⋅y∙z∨t∨x⋅y∙t∨z==t∨z⋅x⋅y∨x⋅y=t∨z⋅y⋅x∙x=y∙t∨zУпрощённая схема: