Определение 1
Логическая функция – функция, переменные которой принимают одно из двух значений: $1$ или $0$.
Любую логическую функцию можно задать с помощью таблицы истинности: набор всех возможных аргументов записывается в левой части таблицы, а соответствующие значения логической функции – в правой части.
Определение 2
Таблица истинности – таблица, которая показывает, какие значения примет составное выражение при всех возможных наборах значений простых выражений, входящих в него.
Определение 3
Равносильными называются логические выражения, последние столбцы таблиц истинности которых совпадают. Равносильность обозначается с помощью знака $«=»$.
При составлении таблицы истинности важно учитывать следующий порядок выполнения логических операций:
Рисунок 1.
Приоритетом в выполнении порядка выполнения операций пользуются скобки.
Определяют количество строк: кол-во строк = $2^n + 1$ (для строки заголовка) , $n$ – количество простых выражений. Например, для функций двух переменных существует $2^2 = 4$ комбинации наборов значений переменных, для функций трех переменных – $2^3 = 8$ и т.д.
Определяют количество столбцов: кол-во столбцов = кол-во переменных + кол-во логических операций. При определении количества логических операций учитывают также порядок их выполнения.
Заполняют столбцы результатами выполнения логических операций в определенной последовательности, учитывая таблицы истинности основных логических операций.
Рисунок 2.
Пример 1
Составить таблицу истинности логического выражения $D=\bar{A} \vee (B \vee C)$.
Решение:
Определим количество строк:
кол-во строк = $2^3 + 1=9$.
Количество переменных – $3$.
дизъюнкция ($\overline{A}\vee \left(B\vee C\right)$) – искомое логическое выражение.
Кол-во столбцов = $3 + 3=6$.
Заполним таблицу, учитывая таблицы истинности логических операций.
Рисунок 3.
Пример 2
По данному логическому выражению построить таблицу истинности:
Решение:
Определим количество строк:
Количество простых выражений – $n=3$, значит
кол-во строк = $2^3 + 1=9$.
Определим количество столбцов:
Количество переменных – $3$.
Количество логических операций и их последовательность:
дизъюнкция – искомая логическая функция ($\overline{(A\vee B)\bigwedge \overline{C}}\vee \overline{(A\vee C)\bigwedge B}$).
Решение логических выражений принято записывать в виде таблиц истинности – таблиц, в которых по действиям показано, какие значения принимает логическое выражение при всех возможных наборах его переменных.
При составлении таблицы истинности для логического выражения необходимо учитывать порядок выполнения логических операций , а именно:
Алгоритм составления таблицы истинности :
1. Выяснить количество строк в таблице (вычисляется как 2 n , где n – количество переменных + строка заголовков столбцов).
2. Выяснить количество столбцов (вычисляется как количество переменных + количество логических операций).
3. Установить последовательность выполнения логических операций.
4. Построить таблицу, указывая названия столбцов и возможные наборы значений исходных логических переменных.
5. Заполнить таблицу истинности по столбцам.
6. Записать ответ.
Пример 6 Построим таблицу истинности для выражения F =(Av B )&(¬ A v ¬ B ) .1. Количество строк=2 2 (2 переменных+строка заголовков столбцов)=5. 2. Количество столбцов=2 логические переменные (А, В)+ 5 логических операций (v ,&, ¬ , v , ¬ ) = 7. 3. Расставим порядок выполнения операций: 1 5 2 43 (A v B ) & (¬ A v ¬ B ) 4-5. Построим таблицу и заполним ее по столбцам:
6. Ответ: F =0, при A= B=0 и A= B=1 Пример 7 Построим таблицу истинности для логического выражения F = X v Y & ¬ Z . 1. Количество строк=2 3 +1=(3 переменных+строка заголовков столбцов)=9. 2. Количество столбцов=3 логические переменные+3 логических операций = 6. 3. Укажем порядок действий: 3 2 1 X v Y & ¬ Z 4-5. Построи м таблицу и заполним ее по столбцам:
6. Ответ: F =0, при X= Y= Z= 0; при X= Y=0 и Z= 1. |
Упражнение 8
Постройте таблицы истинности для следующих логических выражений:
1. F =(Av B )&(¬ A& ¬ B).
2. F = X&¬ Yv Z.
Проверьте себя (эталон ответов)
Обратите внимание!
Наборы входных переменных, во избежание ошибок, рекомендуется перечислять следующим образом:
А) разделить колонку значений первой переменной пополам и заполнить верхнюю часть колонки нулями, а нижнюю единицами;
Б) разделить колонкузначенийвторой переменной на четыре части и заполнить каждую четверть чередующимися группами нулей и единиц, начиная с группы нулей;
В) продолжать деление колонок значений последующих переменных на 8, 16 и т.д. частей и заполнение их группами нулей или единиц до тех пор, пока группы нулей и единиц не будут состоять из одного символа.
Тавтология - тождественно истинная формула истина " ("1
Противоречие - тождественно ложная формула , или формула принимающая значение "ложь " ("0 ") при любых входящих в нее значениях переменных.
Равносильные формулы - две формулы А и В принимающие одинаковые значения, при одинаковых наборах значений входящих в них переменных. Равносильность двух формул алгебры логики обозначается символом .
Выбираем строки, где
и
выписываем конъюнкции всех переменных,
при чем, если переменная в этом наборе
равна 1, то записываем ее саму, а если
переменная = 0, то ее отрицание.
Для данного примера
коньюнкция этих дизъюнкций и будет искомой формулой:
Определение: Конъюнкция называетсяэлементарной , если все переменные, входящие в нее, различны. Количество букв, входящих в элементарную конъюнкцию или элементарную дизъюнкцию, называетсярангом.
Число 1 считается элементарной конъюнкцией ранга 0. Переменная считается элементарной конъюнкцией или элементарной дизъюнкцией ранга 1. Число 0 считается элементарной дизъюнкцией ранга 0. Любую конъюнкцию переменных, не являющуюся тождественно ложной, можно привести к виду элементарной, а любую дизъюнкцию букв, не являющуюся тождественно истинной, также можно привести к виду элементарной. Для этого надо применить свойства коммутативности, идемпотентности и ассоциативности конъюнкции и дизъюнкции.
Строго доказано, что любую формулу булевой алгебры можно выразить с помощью операций , &,. Интуитивно этот факт очевиден, вспомним алгоритм составления формулы по таблице истинности. При этом мы используем только эти операции. Такая форма записи называетсядизъюнктивной нормальной формой (ДНФ). Это своеобразный механизм нормализации формул алгебры логики.
Определение: ДНФ – это дизъюнкция различных элементарных конъюнкций (т.е. каждая конъюнкция состоит из элементарных высказываний или их отрицаний).
Аналогично определяется КНФ – коньюктивная нормальная форма.
Определение: Если в ДНФ все элементарные конъюнкции имеют один и тот же ранг, равный числу переменных, от которых зависит ДНФ, то она называетсясовершенной (СДНФ).
Теорема. Для любой функции, не являющейся тождественно ложной, существует и притом единственная СДНФ.
Следствие . Любую булеву функцию, не являющуюся тождественно ложной можно представить в виде суперпозиции&,,, причем отрицание относится только к переменным.
Определение: Система логических операций называется функционально полной, если с помощью этих операций и констант этой системы можно представить любую функцию булевой алгебры.
Системы {&,,}; {,}; {&,},{/} – являются функционально полными
{&,} – функционально неполная.
Мы примем эти факты без доказательства, и решая задачи, будем стараться любую формулу представить с помощью {&,,}. Позже мы более подробно обсудим вопрос функциональной полноты и неполноты системы операций.
Рассмотрим пример решения логической задачи.
Пример :
После обсуждения состава участников экспедиции решено, что должны выполняться два условия.
Если поедет Арбузов, то должны ехать Брюквин или Вишневский
Если поедут Арбузов и Вишневский то поедет Брюквин
Составить логическую формулу принятия решения в символической форме, упростить полученную формулу и сформулировать по ней новое условие формирования экспедиции.
Введём переменные и соответствующие им элементарные высказывания.
- поедет Арбузов
- поедет Брюквин
- поедет Вишневский
Тогда выработанные условия формирования экспедиции будут выглядеть следующим образом:
Составим общую формулу и упростим выражение
т.е. если поедет Арбузов, то поедет Брюквин.
Пример:
Если завтра будет хорошая погода, то мы пойдем на пляж или поедем в лес. Составим формулу нашего поведения на завтра.
– хорошая погода
– мы пойдем на пляж
– мы поедем в лес
Теперь построим отрицание этой фразы
т.о. получим высказывание "Завтра будет хорошая погода, и мы не пойдем в лес и на пляж.
Желающие могут построить таблицу истинности и проверить это утверждение.
Пример :
По подозрению в совершенном преступлении, задержаны Браун, Джон и Смит. Один из них уважаемый в городе старик, второй чиновник, а третий известный мошенник. В ходе следствия старик говорил правду, мошенник лгал, а третий задержанный в одном случае говорил правду, а в другом лгал.
Вот что они говорили:
Браун: Я совершил это. Джон не виноват. (Б&Д)
Джон: Браун не виноват. Преступник Смит. (Б&С)
Смит: Я не виноват. Виноват Браун (С&Б)
Опишем эти высказывания формально:
- преступление совершил Браун
- преступление совершил Джон
- преступление совершил Смит
Тогда их слова описываются следующими выражениями:
Браун:
Джон:
Смит:
Т.к. по условиям задачи две из этих &ложны и одна истинна, то
Составим таблицу истинности
Остается только случай 2 , т.е. преступник Смит, и оба его высказывания ложны.
следовательно– ложно и- истинно
= 1 – Джон уважаемый старик
Остается, что Браун чиновник, и поскольку – ложно, то– истинно.
Пользуясь законами и тождествами булевой алгебры можно упрощать логические выражения.
Пример :
Упражнение:
Назначение сервиса . Онлайн-калькулятор предназначен для построения таблицы истинности для логического выражения .Инструкция
. При вводе с клавиатуры используйте следующие обозначения:
Например, логическое выражение abc+ab~c+a~bc необходимо ввести так: a*b*c+a*b=c+a=b*c
Для ввода данных в виде логической схемы используйте этот сервис .
Проектирование и анализ логических схем ЭВМ ведётся с помощью специального раздела математики - алгебры логики. В алгебре логики можно выделить три основные логические функции: "НЕ" (отрицание), "И" (конъюнкция), "ИЛИ" (дизъюнкция).
Для создания любого логического устройства необходимо определить зависимость каждой из выходных переменных от действующих входных переменных такая зависимость называется переключательной функцией или функцией алгебры логики.
Функция алгебры логики называется полностью определённой если заданы все 2 n её значения, где n – число выходных переменных.
Если определены не все значения, функция называется частично определённой.
Устройство называется логическим, если его состояние описывается с помощью функции алгебры логики.
Для представления функции алгебры логики используется следующие способы:
Рисунок1- Схема логического устройства
Все операции алгебры логики определяются таблицами истинности значений. Таблица истинности определяет результат выполнения операции для всех возможны х логических значений исходных высказываний. Количество вариантов, отражающих результат применения операций, будет зависеть от количества высказываний в логическом выражении. Если число высказываний в логическом выражении N, то таблица истинности будет содержать 2 N строк, так как существует 2 N различных комбинаций возможных значений аргументов.
A | не А |
0 | 1 |
1 | 0 |
A | B | А и B |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
A | B | А → B |
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 0 |
1 | 1 | 1 |
A | B | А↔B |
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
A | B | А⊕B |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Логическая функция - это функция, в которой переменные принимают только два значения: логическая единица или логический ноль. Истинность или ложность сложных суждений представляет собой функцию истинности или ложности простых. Эту функцию называют булевой функцией суждений f (a, b).
Любая логическая функция может быть задана с помощью таблицы истинности, в левой части которой записывается набор аргументов, а в правой части - соответствующие значения логической функции.
При построении таблицы истинности необходимо учитывать порядок выполнения логических операций. Операции в логическом выражении выполняются слева направо с учетом скобок в следующем порядке:
Для изменения указанного порядка выполнения логических операций используются круглые скобки.
Предлагается следующий алгоритм построения таблицы истинности .
Чтобы не повторить или не пропустить ни одного возможного сочетания значений входных переменных, следует пользоваться одним из предлагаемых ниже способов заполнения таблицы.
Способ 1. Каждый набор значений исходных переменных есть код числа в двоичной системе счисления, причем количество разрядов числа равно количеству входных переменных. Первый набор - число 0. Прибавляя к текущему числу каждый раз по 1, получаем очередной набор. Последний набор - максимальное значение двоичного числа для данной длины кода.
Например, для функции от трех переменных последовательность наборов состоит из чисел:
Способ 2. Для функции от трех переменных последовательность данных можно получить следующим путем:
Способ 3. Воспользоваться известной таблицей истинности для двух аргументов. Добавляя третий аргумент, сначала записать первые 4 строки таблицы, сочетая их со значением третьего аргумента, равным 0, а затем еще раз записать эти же 4 строки, но теперь уже со значением третьего аргумента, равным 1. В результате в таблице для трех аргументов окажется 8 строк:
Например, построим таблицу истинности для логической функции:
Количество входных переменных в заданном выражении равно трем (A,B,C) . Значит, количество входных наборов Q=2 3 =8 .
Столбцы таблицы истинности соответствуют значениям исходных выражений A,B,C , промежуточных результатов и (B V C ), а также искомого окончательного значения сложного арифметического выражения:
Для операций конъюнкции, дизъюнкции и инверсии определены законы булевой алгебры, позволяющие производить тождественные (равносильные) преобразования логических выражений .
Законы логики
Основываясь на законах, можно выполнять упрощение сложных логических выражений. Такой процесс замены сложной логической функции более простой, но равносильной ей, называется минимизацией функции.
Пример 1. Упростить выражения так, чтобы в полученных формулах не содержалось отрицания сложных высказываний.
Решение
Пример 2. Минимизировать функцию
При упрощении выражения использовались формулы поглощения и склеивания.
Пример 3. Найти отрицание следующего высказывания: "Если урок будет интересным, то никто из учеников (Миша, Вика, Света) не будет смотреть в окно".
Решение
Обозначим высказывания:
Y - "Урок интересный";
M - "Миша смотрит в окно";
B - "Вика смотрит в окно";
C - "Света смотрит в окно".
При упрощении выражения использовались формула замены операций и закон де Моргана.
Пример 4. Определить участника преступления, исходя из двух посылок: логический компьютер таблица
Решение
Составим выражения:
I - "Иванов участвовал в преступлении";
P - "Петров участвовал в преступлении";
S - "Сидоров участвовал в преступлении".
Запишем посылки в виде формул:
Проверим результат, используя таблицу истинности:
Ответ: Иванов участвовал в преступлении.
Построение логической функции по ее таблице истинности
Мы научились составлять таблицу истинности для логической функции. Попробуем решить обратную задачу.
Рассмотрим строки, где значение истинности функции Z истинно (Z=1). Функцию для этой таблицы истинности можно составить следующим образом: Z(X,Y) = (¬ X& ¬Y)V(X& ¬Y).
Каждой строке, где функция истинна (равна 1), соответствует скобка, представляющая собой конъюнкцию аргументов, причем если значение аргумента О, то мы берем его с отрицанием. Все скобки соединены между собой операцией дизъюнкции. Полученную формулу можно упростить, применив законы логики:
Z(X,Y) <=> ((¬X& ¬Y) VX)&((¬X&Y)V ¬Y) <=> (XV(¬X& ¬Y)) &(¬YV(¬X&¬Y)) <=> ((XV¬X)&(XV ¬Y))&((Y¬V ¬X)&(¬YV ¬Y)) <=> (1&(XV ¬Y))&((¬YV ¬X)& ¬Y)<=> (XV ¬Y)&((¬YV ¬X)& ¬Y).
Проверьте полученную формулу: составьте таблицу истинности для функции Z(X,Y).
Запишите правила конструирования логической функции по ее таблице истинности: