Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Алгебра логики
Алгебра логики (англ. algebra of logic) — один из основных разделов математической логики, в котором
методы алгебры используются в логических преобразованиях.
Основоположником алгебры логики является английский математик и логик Дж. Буль (1815–1864),
положивший в основу своего логического учения аналогию между алгеброй и логикой. Любое
высказывание он записывал с помощью символов разработанного им языка и получал «уравнения»,
истинность или ложность которых можно было доказать, исходя из определенных логических законов,
таких как законы коммутативности, дистрибутивности, ассоциативности и др.
Современная алгебра логики является разделом математической логики и изучает логические операции над
высказываниями с точки зрения их истинностного значения (истина, ложь). Высказывания могут быть
истинными, ложными или содержать истину и ложь в разных соотношениях.
Логическое высказывание — это любое повествовательное предложение, в отношении которого можно
однозначно утверждать, что его содержание истинно или ложно.
Например, «3 умножить на 3 равно 9», «Архангельск севернее Вологды» — истинные высказывания, а
«Пять меньше трех», «Марс — звезда» — ложные.
Очевидно, что не всякое предложение может быть логическим высказыванием, т. к. не всегда есть смысл
говорить о его ложности или истинности. Например, высказывание «Информатика — интересный предмет»
неопределенно и требует дополнительных сведений, а высказывание «Для ученика 10-А класса Иванова А.
А. информатика — интересный предмет» в зависимости от интересов Иванова А. А. может принимать
значение «истина» или «ложь».
Кроме двузначной алгебры высказываний, в которой принимаются только два значения — «истинно» и
«ложно», существует многозначная алгебра высказываний. В такой алгебре, кроме значений «истинно» и
«ложно», употребляются такие истинностные значения, как «вероятно», «возможно», «невозможно» и т. д.
В алгебре логики различаются простые (элементарные) высказывания, обозначаемые латинскими буквами
(A, B, C, D, …), и сложные (составные), составленные из нескольких простых с помощью логических
связок, например таких, как «не», «и», «или», «тогда и только тогда», «если … то». Истинность или
ложность получаемых таким образом сложных высказываний определяется значением простых
высказываний.
Обозначим как А высказывание «Алгебра логики успешно применяется в теории электрических схем», а
через В — «Алгебра логики применяется при синтезе релейно-контактных схем».
Тогда составное высказывание «Алгебра логики успешно применяется в теории электрических цепей и при
синтезе релейно-контактных схем» можно кратко записать как А и В; здесь «и» — логическая связка.
Очевидно, что поскольку элементарные высказывания А и В истинны, то истинно и составное
высказывание А и В.
Каждая логическая связка рассматривается как операция над логическими высказываниями и имеет свое
название и обозначение.
Логических значений всего два: истина (TRUE) и ложь (FALSE). Это соответствует цифровому
представлению — 1 и 0. Результаты каждой логической операции можно записать в виде таблицы. Такие
таблицы называют таблицами истинности.
Основные операции алгебры логики
1. Логическое отрицание, инверсия (лат. inversion — переворачивание) — логическая операция, в
результате которой из данного высказывания (например, А) получается новое высказывание (не А), которое
называется отрицанием исходного высказывания, обозначается символически чертой сверху (
−
A
) или такими условными обозначениями, как ¬, 'not', и читается: «не А», «А ложно», «неверно, что А»,
«отрицание А». Например, «Марс — планета Солнечной системы» (высказывание А); «Марс — не планета
Солнечной системы» (
); высказывание «10 — простое число» (высказывание В) ложно; высказывание «10 — не простое число»
(высказывание B ) истинно.
Операция, используемая относительно одной величины, называется унарной. Таблица значений данной
операции имеет вид
A ¬A
истина ложь
ложь истина
или
A ¬A
1 0
0 1
Высказывание
−
A B A∧B
или
A B A∧B
1 0 0
0 1 0
0 0 0
1 1 1
3. Дизъюнкция (лат. disjunction — разделение) — логическое сложение, операция, соединяющая два или
более высказываний при помощи связки «или» (например, «А или В»), которая символически обозначается
с помощью знака ∨ (А ∨ В) и читается: «А или В». Для обозначения дизъюнкции применяются также
следующие знаки: А + В; А or В; А | B. Пример логического сложения: «Число x делится на 3 или на 5». Это
высказывание будет истинным, если выполняются оба условия или хотя бы одно из условий.
Таблица истинности операции имеет вид
A B A∨B
или
A B A∨B
1 0 1
0 1 1
0 0 0
1 1 1
А В А⊕B
или
А В А⊕B
1 0 1
0 1 1
0 0 0
1 1 0
А В А→В
или
А В А→В
1 0 0
0 1 1
0 0 1
1 1 1
Для операции импликации справедливо утверждение, что из лжи может следовать все что угодно, а из
истины — только истина.
6. Эквивалентность, двойная импликация, равнозначность (лат. aequalis — равный и valentis —
имеющий силу) — логическая операция, позволяющая из двух высказываний А и В получить новое
высказывание А ≡ В, которое читается: «А эквивалентно B». Для обозначения эквивалентности
применяются также следующие знаки: ⇔, ∼. Эта операция может быть выражена связками «тогда и только
тогда», «необходимо и достаточно», «равносильно». Примером эквивалентности является высказывание:
«Треугольник будет прямоугольным тогда и только тогда, когда один из углов равен 90 градусам».
Таблица истинности операции эквивалентности имеет вид
А В А∼В
или
А В А∼В
1 0 0
0 1 0
0 0 1
1 1 1
Операция эквивалентности противоположна сложению по модулю два и имеет результат «истина» тогда и
только тогда, когда значения переменных совпадают.
Зная значения простых высказываний, можно на основании таблиц истинности определить значения
сложных высказываний. При этом важно знать, что для представления любой функции алгебры логики
достаточно трех операций: конъюнкции, дизъюнкции и отрицания.
∧B)∧(A∧
Импликация А→В
−
A
∨B
Эквивалентность А∼В (
)∨(A∧B)
Приоритет выполнения логических операций следующий: отрицание («не») имеет самый высокий
приоритет, затем выполняется конъюнкция («и»), после конъюнкции — дизъюнкция («или»).
С помощью логических переменных и логических операций любое логическое высказывание можно
формализовать, т. е. заменить логической формулой. При этом элементарные высказывания, образующие
составное высказывание, могут быть абсолютно не связаны по смыслу, но это не мешает определять
истинность или ложность составного высказывания. Например, высказывание «Если пять больше двух (А),
то вторник всегда наступает после понедельника (В)» — импликация А → В, и результат операции в данном
случае — «истина». В логических операциях смысл высказываний не учитывается, рассматривается только
их истинность или ложность.
Рассмотрим, например, построение составного высказывания из высказываний А и В, которое было бы
ложно тогда и только тогда, когда оба высказывания истинны. В таблице истинности для операции
сложения по модулю два находим: 1 ⊕ 1 = 0. А высказывание может быть, например, таким: «Этот мяч
полностью красный или полностью синий». Следовательно, если утверждение А «Этот мяч полностью
красный» — истина, и утверждение В «Этот мяч полностью синий» — истина, то составное утверждение —
ложь, т. к. одновременно и красным, и синим мяч быть не может.
Примеры решения задач
Пример 1. Определить для указанных значений X значение логического высказывания ((X > 3) ∨ (X < 3)) →
(X < 4) :
1) X = 1; 2) X = 12; 3) X = 3.
Решение. Последовательность выполнения операций следующая: сначала выполняются операции сравнения
в скобках, затем дизъюнкция, и последней выполняется операция импликации. Операция дизъюнкции ∨
ложна тогда и только тогда, когда оба операнда ложны. Таблица истинности для импликации имеет вид
A B A→B
1 0 0
0 1 1
0 0 1
1 1 1
Отсюда получаем:
1) для X = 1:
((1 > 3) ∨ (1 < 3)) → (1 < 4) = ложь ∨ истина → истина = истина → истина = истина;
2) для X = 12:
((12 > 3) ∨ (12 < 3) → (12 < 4) = истина ∨ ложь → ложь = истина → ложь = ложь;
3) для X = 3:
((3 > 3) ∨ (3 < 3)) → (3<4) = ложь ∨ ложь → истина = ложь → истина = истина.
Пример 2. Указать множество целых значений X, для которых истинно выражение ¬((X > 2) → (X > 5)) .
Решение. Операция отрицания применена ко всему выражению ((X > 2) → (X > 5)) , следовательно, когда
выражение ¬((X > 2) → (X > 5)) истинно, выражение ((X > 2) →(X > 5)) ложно. Поэтому необходимо
определить, для каких значений X выражение ((X > 2) → (X > 5)) ложно. Операция импликации принимает
значение «ложь» только в одном случае: когда из истины следует ложь. А это выполняется только для X = 3;
X = 4; X = 5.
Пример 3. Для каких из приведенных слов ложно высказывание ¬(первая буква гласная ∧ третья буква
гласная) ⇔ строка из 4 символов? 1) асса; 2) куку; 3) кукуруза; 4) ошибка; 5) силач.
Решение. Рассмотрим последовательно все предложенные слова:
1) для слова асса получим: ¬(1 ∧ 0) ⇔ 1, 1 ⇔ 1 — высказывание истинно;
2) для слова куку получим: ¬ (0 ∧ 0) ⇔ 1, 1 ⇔ 1 — высказывание истинно;
3) для слова кукуруза получим: ¬ (0 ∧ 0) ⇔ 0, 1 ⇔ 0 — высказывание ложно;
4) для слова ошибка получим: ¬ (1 ∧ 1) ⇔ 0, 0 ⇔ 0 — высказывание истинно;
5) для слова силач получим: ¬ (0 ∧ 0) ⇔ 1, 1 ⇔ 0 — высказывание ложно.
выражения, которые используют операции сравнения («больше», «меньше», «равно», «не равно» и т.
п.) и принимают логические значения (например, выражение а > b , где а = 5 и b = 7, равно значению
«ложь»);
непосредственные логические выражения, связанные с логическими величинами и логическими
операциями (например, A ∨ В ∧ С, где А = истина, B = ложь и C = истина).
Логические выражения могут включать в себя функции, алгебраические операции, операции сравнения и
логические операции. В этом случае приоритет выполнения действий следующий:
В логическом выражении могут использоваться скобки, которые изменяют порядок выполнения операций.
Пример. Найти значение выражения:
1≤a∨A∨sin(
Сочетательный A ∨ (B ∨ C) = (B ∨ A) ∨ C A ∧ (B ∧ C) = (A ∧ B) ∧ C
Распределительный A ∧ (B ∨ C) = (A ∧ B) ∨ (A ∧ C) A ∨ B ∧ C = (A ∨ B) ∧ (A ∨ C)
Правила де Моргана
− −
A∨B A∧B
= =
− −
A A
∧ ∨
− −
B B
Поглощения A∨A∧B=A A ∧ (A ∨ B) = A
− −
A A
=1 =0
Двойного отрицания
=
A
=A
A B A→B
1 0 0
0 1 1
0 0 1
1 1 1
Выражение X < (X - 3) ложно при любых положительных значениях X. Следовательно, для того чтобы
результатом импликации была «истина», необходимо и достаточно, чтобы выражение 35 < X · X также было
ложно. Максимальное целое значение X, для которого 35 < X · X ложно, равно 5.
Ответ: X = 5.
Использование логических выражений для описания геометрических областей
Логические выражения могут быть использованы для описания геометрических областей. В этом случае
задача формулируется так: записать для заданной геометрической области такое логическое выражение,
которое принимает значение «истина» для значений x, y тогда и только тогда, когда любая точка с
координатами (x; y) принадлежит геометрической области.
Рассмотрим описание геометрической области с помощью логического выражения на примерах.
Пример 1. Задано изображение геометрической области. Записать логическое выражение, описывающее
множество точек, принадлежащих ей.
1) .
Решение. Заданную геометрическую область можно представить в виде набора следующих областей: первая
область — D1 — полуплоскость
x
−1
−1
y
1
≤1∧x2+y2≤1.
2)
Эту область можно записать так: |x| ≤ 1 ∧ y ≤ 0 ∧ y ≥ -1 .
Примечание. При построении логического выражения используются нестрогие неравенства, а это значит,
что границы фигур также принадлежат заштрихованной области. Если использовать строгие неравенства, то
границы учитываться не будут. Границы, не принадлежащие области, обычно изображаются пунктиром.
Можно решить обратную задачу, а именно: нарисовать область для заданного логического выражнения.
Пример 2. Нарисовать и заштриховать область, для точек которой выполняется логическое условие y ≥ x ∧
y+x≥0∧y<2.
Решение. Искомая область представляет собой пересечение трех полуплоскостей. Строим на плоскости (x,
y) прямые y = x; y = –x; y = 2. Это границы области, причем последняя граница y = 2 не принадлежит
области, поэтому ее наносим пунктирной линией. Для выполнения неравенства y ≥ x нужно, чтобы точки
находились слева от прямой y = x, а неравенство y = –x выполняется для точек, которые находятся справа от
прямой y = –x. Условие y < 2 выполняется для точек, лежащих ниже прямой y = 2. В результате получим
область, которая изображена на рис.:
Для более сложной схемы функция проводимости будет иметь вид: Y = (X11 ∨ (X12 ∧ X13)) ∧ X2 ∧ (X31 ∨
X32).
Схема также может содержать контакты на замыкание. В этом случае размыкаемый контакт как
выключатель обеспечивает загорание лампочки, когда кнопка отпущена, а не нажата. Для таких схем
размыкающий выключатель описывается отрицанием.
Две схемы называются равносильными, если через одну из них ток проходит тогда, когда он проходит и
через другую. Из двух равносильных схем более простой считается схема, функция проводимости которой
содержит меньшее число элементов. Задача нахождения наиболее простых схем среди равносильных очень
важна.
Использование аппарата алгебры логики при проектировании логических схем
Математический аппарат алгебры логики очень удобен для описания того, как функционируют аппаратные
средства компьютера. Любая информация при обработке на компьютере представляется в двоичной форме,
т. е. кодируется некоторой последовательностью 0 и 1. Обработку двоичных сигналов, соответствующих 0 и
1, выполняют в компьютере логические элементы. Логические элементы, которые выполняют основные
логические операции И, ИЛИ, НЕ, представлены на рис.
X1
∧X2∨
X1∨X2
∨X1.
X1 X2 X1 ∧ X2
− − − − −
X1 X1 X1∨X2 X1 X1
\ X2 ∧ X2 ∨ ∧ X2 ∨
− −
X1∨X2 X1∨X2
∨ X1
1 1 0 0 1 0 0 1
1 0 0 0 1 0 0 1
0 1 1 1 1 0 1 1
0 0 1 0 0 1 1 1
Если функция принимает значение 1 при всех наборах значений переменных, она является тождественно-
истинной; если при всех наборах входных значений функция принимает значение 0, она
является тождественно-ложной; если набор выходных значений содержит как 0, так и 1, функция
называется выполнимой. Приведенный выше пример является примером тождественно-истинной функции.
Зная аналитическую форму логической функции, всегда можно перейти к табличной форме логических
функций. С помощью заданной таблицы истинности можно решить обратную задачу, а именно: для
заданной таблицы построить аналитическую формулу логической функции. Различают две формы
построения аналитической зависимости логической функции по таблично заданной функции.
1. Дизъюнктивно нормальная форма (ДНФ) — сумма произведений, образованных из переменных и их
отрицаний для ложных значений.
Алгоритм построения ДНФ следующий:
1. в таблице истинности функции выбирают наборы аргументов, для которых логические формы равны 1
(«истина»);
2. все выбранные логические наборы как логические произведения аргументов записывают,
последовательно соединив их между собой операцией логической суммы (дизъюнкции);
3. для аргументов, которые являются ложными, в построенной записи проставляют операцию отрицания.
Пример. Построить функцию, определяющую, что первое число равно второму, используя метод ДНФ.
Таблица истинности функции имеет вид
X1 X2 F(X1, X2)
1 1 1
0 1 0
1 0 0
0 0 1
Решение. Выбираем наборы значений аргументов, в которых функция равна 1. Это первая и четвертая
строки таблицы (строку заголовка при нумерации не учитываем).
Записываем логические произведения аргументов этих наборов, объединив их логической суммой: X1 ∧ X2
∨ X1 ∧ X2 .
Записываем отрицание относительно аргументов выбранных наборов, имеющих ложное значение (четвертая
строка таблицы; второй набор в формуле; первый и второй элементы): X1 ∧ X2 ∨
X1
X2
.
Ответ: F(X1, X2) = X1 ∧ X2 ∨
X1
∧
−
X2
.
2. Конъюнктивно нормальная форма (КНФ) — произведение сумм, образованных из переменных и их
отрицаний для истинных значений.
Алгоритм построения КНФ следующий:
1. в таблице истинности выбирают наборы аргументов, для которых логические формы равны 0
(«ложь»);
2. все выбранные логические наборы как логические суммы аргументов записывают последовательно,
соединив их между собой операцией логического произведения (конъюнкции);
3. для аргументов, которые являются истинными, в построенной записи проставляют операцию
отрицания.
X1 X2 F(X1, X2)
1 1 1
0 1 0
1 0 0
0 0 1
Решение. Выбираем наборы значений аргументов, в которых функция равна 0. Это вторая и третья строки
(строку заголовка при нумерации не учитываем).
Записываем логические суммы аргументов этих наборов, объединив их логическим произведением: X1 ∨ X2
∧ X1 ∨ X2 .
Записываем отрицание относительно аргументов выбранных наборов, имеющих истинное значение (вторая
строка таблицы, первый набор формулы, второй элемент; для третьей строки, а это второй набор формулы,
первый элемент): X1 ∨
−
X2
X1
∨ X2.
Таким образом, получена запись логической функции в КНФ.
Ответ: X1 ∨
X2
X1
∨ X2.
Полученные двумя методами значения функций являются эквивалентными. Для доказательства этого
утверждения используем правила логики: F(X1, X2) = X1 ∨
−
X2
X1
∨ X2 = X1 ∧
X1
∨ X1 ∧ X2 ∨
X2
X1
−
X2
∧ X2 = 0 ∨ X1 ∨ X2 ∨
X2
X1
∨ 0 = X1 ∧ X2 ∨
X1
X2
.
Пример 2. Построить логическую функцию для заданной таблицы истинности:
X1 X2 F(X1, X2)
1 1 1
1 0 0
0 1 1
0 0 0
X1 X2 F(X1, X2)
1 1 1 • X1 ∧ X2
1 0 0
0 1 1 •
−
X1
∧ X2
0 0 0
Искомая формула: X1 ∧ X2 ∨
−
X1
∧ X2 .
Ее можно упростить: X1 ∧ X2 ∨
X1
∧ X2 = X2 ∧ (X1 ∨
X1
) = X2 ∧ 1 = X2.
Пример 3. Для приведенной таблицы истинности построить логическую функцию, используя метод ДНФ.
1 1 1 1 • X1 ∧ X2 ∧ X3
1 0 1 0
0 1 1 1 •
−
X1
∧ X2 ∧ X3
0 0 1 0
1 1 0 1 • X1 ∧ X2 ∧
X3
1 0 0 1 • X1 ∧
X2
X3
0 1 0 0
0 0 0 0
Искомая формула: X1 ∧ X2 ∧ X ∨
X1
∧ X2 ∧ X3 ∨ X1 ∧ X2 ∧
X3
∪ X1 ∧
X2
X3
.
Формула достаточно громоздка, и ее следует упростить:
X1 ∧ X2 ∧ X3 ∨
−
X1
∧ X2 ∧ X3 ∨ X1 ∧ X2 ∧
X3
∨ X1 ∧
X2
X3
= X2 ∧ X3 ∧ (X1 ∨
X1
) ∨ X1 ∧
−
X3
∧ (X2 ∨
X2
) = X2 ∧ X3 ∨ X1 ∧
X3
.
Таблицы истинности для решения логических задач
Составление таблиц истинности — один из способов решения логических задач. При использовании такого
способа решения, условия, которые содержит задача, фиксируются с помощью специально составленных
таблиц.
Примеры решения задач
Пример 1. Составить таблицу истинности для охранного устройства, которое использует три датчика и
срабатывает при замыкании только двух из них.
Решение. Очевидно, что результатом решения будет таблица, в которой искомая функция Y(X1, X2, X3)
будет иметь значение «истина», если какие-либо две переменные имеют значение «истина».
1 1 1 0
1 1 0 1
1 0 1 1
1 0 0 0
0 1 1 1
0 1 0 0
0 0 1 0
0 0 0 0
Пример 2. Составить расписание уроков на день, учитывая, что урок информатики может быть только
первым или вторым, урок математики — первым или третьим, а физики — вторым или третьим. Возможно
ли составить расписание, удовлетворив всем требованиям? Сколько существует вариантов расписания?
Решение. Задача легко решается, если составить соответствующую таблицу:
Информатика 1 1 0
Математика 1 0 1
Физика 0 1 1
Пример 3. В спортивный лагерь приехали трое друзей — Петр, Борис и Алексей. Каждый из них увлекается
двумя видами спорта. Известно, что таких видов спорта шесть: футбол, хоккей, лыжи, плавание, теннис,
бадминтон. Также известно, что:
Петр 0 0 1 1 0 0
Борис 0 0 0
Алексей 0 0
Петр 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
Ответ: Петр увлекается лыжами и плаванием, Борис играет в хоккей и бадминтон, а Алексей занимается
футболом и теннисом.