Незнайка
Вся теория
Теория· 7 мин чтения

Логические операции и таблицы истинности

Основные логические операции — отрицание, конъюнкция, дизъюнкция, импликация, эквивалентность — их таблицы истинности и порядок выполнения.

В этой статье вы сможете узнать:

  • какие логические операции существуют и как они обозначаются;
  • как построить таблицу истинности для логического выражения;
  • в каком порядке выполняются логические операции при отсутствии скобок.

Логическое высказывание

Логическое высказывание — это утверждение, которое может быть либо истинным (1, True), либо ложным (0, False), и не может быть одновременно и тем, и другим. Логические операции позволяют строить сложные высказывания из простых.

Отрицание (инверсия)

Отрицание меняет значение высказывания на противоположное. Обозначается чертой над выражением (A‾\overline{A}) или словом «не»/NOT.

AAA‾\overline{A}
01
10

Конъюнкция (логическое умножение, «И»)

Конъюнкция истинна только тогда, когда истинны оба операнда. Обозначается A∧BA \wedge B, A⋅BA \cdot B или AND.

AABBA∧BA \wedge B
000
010
100
111

Дизъюнкция (логическое сложение, «ИЛИ»)

Дизъюнкция истинна, если истинен хотя бы один из операндов. Обозначается A∨BA \vee B или OR.

AABBA∨BA \vee B
000
011
101
111

Импликация (логическое следование)

Импликация A→BA \rightarrow B («если AA, то BB») ложна только в одном случае — когда AA истинно, а BB ложно; во всех остальных случаях она истинна.

AABBA→BA \rightarrow B
001
011
100
111

Важно запомнить: из ложного посылки следует что угодно — импликация с ложным AA всегда истинна.

Эквивалентность (равнозначность)

Эквивалентность A↔BA \leftrightarrow B истинна тогда и только тогда, когда значения AA и BB совпадают.

AABBA↔BA \leftrightarrow B
001
010
100
111

Исключающее ИЛИ (сложение по модулю два, XOR)

Операция XOR (A⊕BA \oplus B) истинна, если значения AA и BB различны, — это отрицание эквивалентности.

AABBA⊕BA \oplus B
000
011
101
110

Приоритет выполнения операций

При отсутствии скобок логические операции выполняются в следующем порядке (от высшего приоритета к низшему):

  1. Отрицание (A‾\overline{A})
  2. Конъюнкция (∧\wedge)
  3. Дизъюнкция (∨\vee)
  4. Исключающее ИЛИ (⊕\oplus)
  5. Импликация (→\rightarrow)
  6. Эквивалентность (↔\leftrightarrow)

Операции одного приоритета выполняются слева направо; скобки всегда меняют порядок вычисления, как и в обычной арифметике.

Построение таблицы истинности

Чтобы построить таблицу истинности для выражения с nn переменными, нужно перебрать все возможные комбинации значений этих переменных — их будет 2n2^n. Столбцы таблицы обычно располагают в порядке вычисления промежуточных результатов, от простых подвыражений к итоговому выражению.

Пример. Постройте таблицу истинности для выражения A‾∨(B∧A)\overline{A} \vee (B \wedge A).

AABBA‾\overline{A}B∧AB \wedge AA‾∨(B∧A)\overline{A} \vee (B \wedge A)
00101
01101
10000
11011

Алгоритм построения таблицы истинности

  1. Определите количество переменных nn в выражении и вычислите число строк таблицы: 2n2^n.
  2. Запишите все возможные комбинации значений переменных, обычно в порядке возрастания двоичного числа (от 00…0 до 11…1).
  3. Определите порядок выполнения операций с учётом скобок и приоритета (отрицание → конъюнкция → дизъюнкция → импликация → эквивалентность).
  4. Добавьте в таблицу промежуточные столбцы для каждого подвыражения в порядке их вычисления.
  5. Вычислите итоговый столбец, комбинируя значения промежуточных столбцов согласно последней операции в выражении.

Примеры решения

Пример 1. Вычислите значение выражения A∧B‾∨CA \wedge \overline{B} \vee C при A=1A=1, B=0B=0, C=0C=0.

Сначала отрицание: B‾=0‾=1\overline{B} = \overline{0} = 1.

Затем конъюнкция (более высокий приоритет, чем дизъюнкция): A∧B‾=1∧1=1A \wedge \overline{B} = 1 \wedge 1 = 1.

Затем дизъюнкция: 1∨C=1∨0=11 \vee C = 1 \vee 0 = 1.

Ответ: выражение истинно (1).

Пример 2. Для какого набора значений AA и BB импликация A→BA \rightarrow B ложна?

Импликация ложна только тогда, когда AA истинно, а BB ложно.

Ответ: A=1A=1, B=0B=0.

Пример 3. Постройте таблицу истинности для A→(B∨A‾)A \rightarrow (B \vee \overline{A}) и определите, является ли выражение тождественно истинным.

AABBA‾\overline{A}B∨A‾B \vee \overline{A}A→(B∨A‾)A \rightarrow (B \vee \overline{A})
00111
01111
10000
11011

Ответ: выражение не тождественно истинно, так как при A=1A=1, B=0B=0 оно ложно.

Часто задаваемые вопросы

Почему импликация с ложной посылкой всегда истинна? Это соглашение классической логики: высказывание «если AA, то BB» считается ложным только тогда, когда обещание нарушено — то есть когда AA выполнено, а BB нет; если же AA вообще не выполнено, условие импликации не нарушается, и она автоматически считается истинной.

Чем эквивалентность отличается от исключающего ИЛИ? Это взаимно противоположные операции: эквивалентность истинна, когда значения операндов совпадают, а исключающее ИЛИ (XOR) истинно, когда значения операндов различаются — фактически XOR является отрицанием эквивалентности.

Как запомнить порядок выполнения логических операций? Можно использовать мнемонику по аналогии с арифметикой: отрицание похоже на унарный минус (выполняется первым), конъюнкция — как умножение, дизъюнкция — как сложение, а импликация и эквивалентность имеют самый низкий приоритет и выполняются в последнюю очередь.

Сколько строк будет в таблице истинности для выражения с 4 переменными? Число строк равно 24=162^4=16, поскольку каждая из 4 переменных может принимать одно из двух значений (0 или 1), и нужно перебрать все возможные комбинации.

Похожие темы для изучения

  • Законы алгебры логики и упрощение выражений
  • Таблицы истинности и логические схемы
  • Кодирование и измерение информации
  • Системы счисления: перевод чисел между системами

Задачи для самостоятельного решения

  1. Постройте таблицу истинности для выражения A∨B‾A \vee \overline{B}.
  2. Вычислите значение выражения (A∧B)∨C‾(A \wedge B) \vee \overline{C} при A=0A=0, B=1B=1, C=0C=0.
  3. Определите, при каких значениях AA и BB эквивалентность A↔BA \leftrightarrow B ложна.
  4. Постройте таблицу истинности для выражения A→B→CA \rightarrow B \rightarrow C (учитывая, что импликация выполняется слева направо).
  5. Упростите вычисление выражения A∧A‾\overline{A \wedge A} для любого значения AA, не используя таблицу истинности.
  6. Объясните, почему выражения A→BA \rightarrow B и A‾∨B\overline{A} \vee B имеют одинаковые таблицы истинности.