EssayAI
Блог
Блог

Как упростить логическое выражение: решение по шагам

Запрос

Дано: логическое выражение F=¬(¬A∧¬B)∧(A∨¬B)∧(¬A∨C)F = \neg(\neg A \wedge \neg B) \wedge (A \vee \neg B) \wedge (\neg A \vee C) от трёх переменных. Найти: равносильное выражение как можно более короткой записи и проверить результат таблицей истинности.

Порядок действий при упрощении почти всегда один и тот же: сначала отрицания опускают к переменным, затем выносят общий множитель за скобку, а в конце добивают склеиванием и поглощением. Ответ: F=A∧CF = A \wedge C, и переменная BB из выражения исчезает совсем, хотя в условии встречалась дважды. Калькулятор сверху показывает всю цепочку разом: строки матрицы это шаги упрощения, и они совпадают между собой на всех восьми наборах значений.

Решение по шагам

Дано. F=¬(¬A∧¬B)∧(A∨¬B)∧(¬A∨C)F = \neg(\neg A \wedge \neg B) \wedge (A \vee \neg B) \wedge (\neg A \vee C). В выражении три переменные, десять знаков операций и одно отрицание, стоящее над целой скобкой.

Шаг 1. Опускаем отрицание к переменным. Пока отрицание висит над скобкой, внутри неё ничего сделать нельзя: законы вроде склеивания работают с отдельными переменными, а не с целыми конструкциями под общим штрихом. Вносим отрицание внутрь по закону де Моргана, а он меняет конъюнкцию на дизъюнкцию:

¬(¬A∧¬B)=¬¬A∨¬¬B=A∨B.\neg(\neg A \wedge \neg B) = \neg\neg A \vee \neg\neg B = A \vee B.

Двойные отрицания снимаются тут же. Первый множитель стал обычной скобкой, и выражение приняло вид

F=(A∨B)∧(A∨¬B)∧(¬A∨C).F = (A \vee B) \wedge (A \vee \neg B) \wedge (\neg A \vee C).

Шаг 2. Склеиваем две первые скобки. В скобках (A∨B)(A \vee B) и (A∨¬B)(A \vee \neg B) есть общее слагаемое AA. Выносим его распределительным законом, как выносят общий множитель в обычной алгебре:

(A∨B)∧(A∨¬B)=A∨(B∧¬B).(A \vee B) \wedge (A \vee \neg B) = A \vee (B \wedge \neg B).

Конъюнкция переменной с её отрицанием ложна при любом значении BB: это закон противоречия, B∧¬B=0B \wedge \neg B = 0. Остаётся A∨0A \vee 0, а дизъюнкция с нулём ничего не добавляет, поэтому A∨0=AA \vee 0 = A. Две скобки схлопнулись в одну переменную:

F=A∧(¬A∨C).F = A \wedge (\neg A \vee C).

Шаг 3. Раскрываем последнюю скобку. Теперь распределительный закон применяем в другую сторону, умножая AA на каждое слагаемое:

A∧(¬A∨C)=(A∧¬A)∨(A∧C)=0∨(A∧C)=A∧C.A \wedge (\neg A \vee C) = (A \wedge \neg A) \vee (A \wedge C) = 0 \vee (A \wedge C) = A \wedge C.

Первое слагаемое обнулилось по тому же закону противоречия, а дизъюнкция с нулём оставила второе как есть.

Ответ: F=A∧CF = A \wedge C. Из десяти знаков операций остался один, из шести вхождений переменных осталось два. Выражение истинно ровно тогда, когда одновременно истинны AA и CC, а значение BB на результат не влияет.

Законы алгебры логики, которые здесь работают

Все преобразования опираются на короткий список тождеств. Их достаточно выучить один раз: в любой задаче на упрощение работают они же, меняется только порядок применения.

ЗаконЗаписьЧто даёт при упрощении
Де Моргана¬(X∧Y)=¬X∨¬Y\neg(X \wedge Y) = \neg X \vee \neg Y, ¬(X∨Y)=¬X∧¬Y\neg(X \vee Y) = \neg X \wedge \neg Yопускает отрицание со скобки к переменным
Двойного отрицания¬¬X=X\neg\neg X = Xубирает лишние штрихи
РаспределительныйX∧(Y∨Z)=(X∧Y)∨(X∧Z)X \wedge (Y \vee Z) = (X \wedge Y) \vee (X \wedge Z), X∨(Y∧Z)=(X∨Y)∧(X∨Z)X \vee (Y \wedge Z) = (X \vee Y) \wedge (X \vee Z)выносит общий множитель и раскрывает скобки
Противоречия и исключённого третьегоX∧¬X=0X \wedge \neg X = 0, X∨¬X=1X \vee \neg X = 1превращает пару с отрицанием в константу
Свойства константX∧1=XX \wedge 1 = X, X∨0=XX \vee 0 = X, X∧0=0X \wedge 0 = 0, X∨1=1X \vee 1 = 1убирает константы или обнуляет всё выражение
ИдемпотентностиX∧X=XX \wedge X = X, X∨X=XX \vee X = Xсклеивает повторы
Склеивания(X∧Y)∨(X∧¬Y)=X(X \wedge Y) \vee (X \wedge \neg Y) = Xвыбрасывает переменную, входящую в обоих видах
ПоглощенияX∨(X∧Y)=XX \vee (X \wedge Y) = X, X∧(X∨Y)=XX \wedge (X \vee Y) = Xвыбрасывает целое слагаемое
БлейкаX∨(¬X∧Y)=X∨YX \vee (\neg X \wedge Y) = X \vee Yснимает отрицание у переменной, уже стоящей рядом

Ключевая мысль: буквы XX, YY, ZZ в этих формулах означают не переменные, а любые выражения. Поэтому закон поглощения одинаково применим и к A∨(A∧B)A \vee (A \wedge B), и к (A∨C)∨((A∨C)∧D)(A \vee C) \vee ((A \vee C) \wedge D). Именно эта подстановка целых кусков вместо букв и даёт большую часть сокращений в громоздких формулах. Приоритет операций при этом остаётся обычным: сначала отрицание, потом конъюнкция, потом дизъюнкция, и разбор этого порядка со скобками есть в отдельной статье про приоритет логических операций.

Проверка таблицей истинности

Упрощение считается выполненным правильно, если исходное и конечное выражения совпадают на всех наборах значений переменных. Переменных три, значит наборов 23=82^3 = 8, и проверка занимает восемь строк.

AABBCCИсходное FFA∧CA \wedge C
00000
00100
01000
01100
10000
10111
11000
11111

Столбцы совпали полностью: оба выражения истинны на наборах 101101 и 111111 и ложны на остальных шести. Достаточно проверить один набор вручную, чтобы убедиться, что подстановка сделана верно. Возьми A=1A = 1, B=0B = 0, C=1C = 1: первый множитель равен ¬(0∧1)=¬0=1\neg(0 \wedge 1) = \neg 0 = 1, второй 1∨1=11 \vee 1 = 1, третий 0∨1=10 \vee 1 = 1, произведение равно 11. Упрощённое выражение даёт 1∧1=11 \wedge 1 = 1, сходится.

Полный алгоритм заполнения таблицы с промежуточными столбцами разобран отдельно, в задаче про построение таблицы истинности. На практике таблицу строят не для всех восьми строк, а выборочно: берут пару наборов, где выражения могли бы разойтись, обычно те, что обнуляют одну из скобок.

В каком порядке упрощать любое выражение

Порядок шагов не произвольный, и если его не соблюдать, выражение начинает разрастаться вместо того, чтобы сжиматься. Рабочая последовательность такая.

  1. Избавиться от импликации и эквивалентности: X→Y=¬X∨YX \to Y = \neg X \vee Y, а X↔Y=(X∧Y)∨(¬X∧¬Y)X \leftrightarrow Y = (X \wedge Y) \vee (\neg X \wedge \neg Y). Пока в формуле есть стрелки, законы алгебры логики к ней неприменимы.
  2. Опустить все отрицания к переменным законом де Моргана и снять двойные отрицания. После этого штрих стоит только над отдельными буквами, и формула становится читаемой.
  3. Раскрыть скобки или, наоборот, вынести общий множитель распределительным законом. Направление выбирают по цели: к дизъюнктивной форме раскрывают, к конъюнктивной выносят.
  4. Применить склеивание, поглощение и законы констант столько раз, сколько получится. Обычно после каждого сокращения открывается следующее, поэтому проход делают повторно, пока формула перестанет меняться.
  5. Проверить ответ на нескольких наборах значений или полной таблицей истинности.

Отдельно стоит запомнить, что второй шаг иногда временно удлиняет запись. В выражении (A→B)∧(A→¬B)(A \to B) \wedge (A \to \neg B) знаков операций сначала четыре, после замены импликаций становится шесть, и только потом остаётся один: ответ равен ¬A\neg A. Пугаться промежуточного роста не нужно, это нормальная часть процесса, и в калькуляторе сверху этот случай вынесен отдельным примером.

Три типовых случая: склеивание, поглощение, импликация

Первый случай, склеивание, узнаётся по двум слагаемым, которые отличаются только одной переменной, входящей с отрицанием и без. В выражении (A∧B)∨(A∧¬B)∨(¬A∧B)(A \wedge B) \vee (A \wedge \neg B) \vee (\neg A \wedge B) первые два слагаемых склеиваются в AA, остаётся A∨(¬A∧B)A \vee (\neg A \wedge B), а это закон Блейка, дающий A∨BA \vee B. Семь знаков операций сокращаются до одного.

Второй случай, поглощение, узнаётся по слагаемому, целиком содержащему другое слагаемое. В A∨(A∧B)∨(A∧B∧C)A \vee (A \wedge B) \vee (A \wedge B \wedge C) первое слагаемое поглощает оба остальных, и ответ равен просто AA. Полезно помнить смысл: если AA уже истинно, добавка ничего не меняет, а если ложно, то ложны и все конъюнкции с ним.

Третий случай, выражения со стрелками, требует предварительной замены, о которой сказано выше. Все три случая собраны чипами в калькуляторе сверху: переключение выражения перестраивает матрицу целиком, и видно, на каком шаге какое сокращение сработало.

Упрощение нужно не ради красоты записи. Если выражение задано таблицей истинности, его сначала приводят к совершенной дизъюнктивной нормальной форме, а уже потом сжимают склеиванием, иначе форма получается громоздкой. А в схемотехнике каждый оставшийся знак операции это отдельный логический элемент: разница между десятью и одним знаком означает разницу в размере платы, что видно при построении логической схемы по выражению.

Частые ошибки

  • Отрицание вносят в скобку, не меняя знак операции: пишут ¬(¬A∧¬B)=A∧B\neg(\neg A \wedge \neg B) = A \wedge B вместо A∨BA \vee B. Закон де Моргана обязательно переворачивает конъюнкцию в дизъюнкцию и наоборот.
  • Раскрывают скобки по правилам обычной арифметики. В алгебре логики распределительный закон работает в обе стороны, поэтому A∨(B∧C)A \vee (B \wedge C) равно (A∨B)∧(A∨C)(A \vee B) \wedge (A \vee C), чего с числами не бывает.
  • Путают закон противоречия с идемпотентностью: B∧¬B=0B \wedge \neg B = 0, но B∧B=BB \wedge B = B. Ошибка на этом месте меняет ответ полностью.
  • Пропускают замену импликации и пытаются применить склеивание прямо к стрелке. Пока в формуле есть →\to или ↔\leftrightarrow, таблица законов к ней не относится.
  • Останавливаются на первом сокращении. После каждого применённого закона формулу нужно просмотреть заново: обычно открывается ещё одно поглощение.
  • Не проверяют результат. Ошибка в одном знаке даёт формулу, отличающуюся от исходной ровно на одном наборе, и без проверки её не видно.

FAQ

Как понять, что выражение упрощено до конца? Формальный признак один: ни один закон из таблицы больше не применяется. Практически проверяют так: нет отрицаний над скобками, нет повторяющихся слагаемых, нет пар вида XX и X∧YX \wedge Y и нет двух конъюнкций, отличающихся одной переменной. Если ничего из этого не нашлось, запись минимальна.

Всегда ли ответ единственный? Нет. У одной функции бывает несколько минимальных форм одинаковой длины, например (A∧B)∨(¬A∧C)(A \wedge B) \vee (\neg A \wedge C) и запись через другую пару переменных. Все они равносильны, и любая засчитывается, если проверка таблицей сходится.

Можно ли упрощать карту Карно вместо законов? Да, и для четырёх и менее переменных это быстрее: карта склеивает соседние клетки автоматически. Но на экзаменах чаще требуют именно цепочку преобразований с названием закона на каждом шаге, потому что она показывает понимание, а карта лишь результат.

Что делать, если после упрощения выражение стало константой? Это законный ответ. Если получилось 11, выражение тождественно истинно, то есть является тавтологией; если 00, оно тождественно ложно и никогда не выполняется. Проверить такой вывод стоит обязательно, полной таблицей истинности.

Коротко

  1. Убери импликации и эквивалентности: X→Y=¬X∨YX \to Y = \neg X \vee Y.
  2. Опусти отрицания к переменным законом де Моргана и сними двойные отрицания.
  3. Вынеси общий множитель или раскрой скобки распределительным законом.
  4. Применяй склеивание, поглощение и законы констант, пока формула меняется.
  5. В разобранном примере ¬(¬A∧¬B)∧(A∨¬B)∧(¬A∨C)=A∧C\neg(\neg A \wedge \neg B) \wedge (A \vee \neg B) \wedge (\neg A \vee C) = A \wedge C: десять знаков операций сократились до одного, проверка по восьми наборам совпала.
Задача в тетради или методичке? Сфотографируйте условие - сервис распознает его и решит по шагам с пояснениями.

Похожие задачи

Дискретная математика

Как составить СКНФ по таблице: пошаговое решение

СКНФ по таблице истинности: разбор задачи с числами. Строки с нулём дают макстермы, отрицание ставится на единицах, ответ проверяется подстановкой. Внутри калькулятор и сравнение с СДНФ.

Дискретная математика

Как найти двойственную функцию: решение по шагам

Как найти двойственную функцию булевой алгебры: определение через отрицание аргументов и результата, вектор значений наоборот, замена операций в формуле и проверка на самодвойственность.

Дискретная математика

Как найти матрицу инцидентности графа: пошаговое решение

Как найти матрицу инцидентности графа: строки вершины, столбцы рёбра, пошаговый разбор примера на 5 вершинах и 6 рёбрах, знаки для орграфа, проверка по степеням вершин и связь с матрицей смежности.

Дискретная математика

Как найти мощность множества: пошаговое решение

Как найти мощность множества: разбор задачи о 30 студентах по формуле включений исключений, мощность булеана 2 в степени n, счётные и континуальные множества, частые ошибки.

Дискретная математика

Как найти полином Жегалкина: решение по шагам

Как найти полином Жегалкина булевой функции по вектору значений 10011110: треугольник Паскаля, метод неопределённых коэффициентов, проверка подстановкой и вывод о линейности.

Дискретная математика

Как построить карту Карно: решение по шагам

Как построить карту Карно на четыре переменные: разметка осей кодом Грея, перенос единиц из таблицы истинности, склейка соседних клеток в группы и запись МДНФ с проверкой.