Как упростить логическое выражение: решение по шагам
Дано: логическое выражение от трёх переменных. Найти: равносильное выражение как можно более короткой записи и проверить результат таблицей истинности.
Порядок действий при упрощении почти всегда один и тот же: сначала отрицания опускают к переменным, затем выносят общий множитель за скобку, а в конце добивают склеиванием и поглощением. Ответ: , и переменная из выражения исчезает совсем, хотя в условии встречалась дважды. Калькулятор сверху показывает всю цепочку разом: строки матрицы это шаги упрощения, и они совпадают между собой на всех восьми наборах значений.
Решение по шагам
Дано. . В выражении три переменные, десять знаков операций и одно отрицание, стоящее над целой скобкой.
Шаг 1. Опускаем отрицание к переменным. Пока отрицание висит над скобкой, внутри неё ничего сделать нельзя: законы вроде склеивания работают с отдельными переменными, а не с целыми конструкциями под общим штрихом. Вносим отрицание внутрь по закону де Моргана, а он меняет конъюнкцию на дизъюнкцию:
Двойные отрицания снимаются тут же. Первый множитель стал обычной скобкой, и выражение приняло вид
Шаг 2. Склеиваем две первые скобки. В скобках и есть общее слагаемое . Выносим его распределительным законом, как выносят общий множитель в обычной алгебре:
Конъюнкция переменной с её отрицанием ложна при любом значении : это закон противоречия, . Остаётся , а дизъюнкция с нулём ничего не добавляет, поэтому . Две скобки схлопнулись в одну переменную:
Шаг 3. Раскрываем последнюю скобку. Теперь распределительный закон применяем в другую сторону, умножая на каждое слагаемое:
Первое слагаемое обнулилось по тому же закону противоречия, а дизъюнкция с нулём оставила второе как есть.
Ответ: . Из десяти знаков операций остался один, из шести вхождений переменных осталось два. Выражение истинно ровно тогда, когда одновременно истинны и , а значение на результат не влияет.
Законы алгебры логики, которые здесь работают
Все преобразования опираются на короткий список тождеств. Их достаточно выучить один раз: в любой задаче на упрощение работают они же, меняется только порядок применения.
| Закон | Запись | Что даёт при упрощении |
|---|---|---|
| Де Моргана | , | опускает отрицание со скобки к переменным |
| Двойного отрицания | убирает лишние штрихи | |
| Распределительный | , | выносит общий множитель и раскрывает скобки |
| Противоречия и исключённого третьего | , | превращает пару с отрицанием в константу |
| Свойства констант | , , , | убирает константы или обнуляет всё выражение |
| Идемпотентности | , | склеивает повторы |
| Склеивания | выбрасывает переменную, входящую в обоих видах | |
| Поглощения | , | выбрасывает целое слагаемое |
| Блейка | снимает отрицание у переменной, уже стоящей рядом |
Ключевая мысль: буквы , , в этих формулах означают не переменные, а любые выражения. Поэтому закон поглощения одинаково применим и к , и к . Именно эта подстановка целых кусков вместо букв и даёт большую часть сокращений в громоздких формулах. Приоритет операций при этом остаётся обычным: сначала отрицание, потом конъюнкция, потом дизъюнкция, и разбор этого порядка со скобками есть в отдельной статье про приоритет логических операций.
Проверка таблицей истинности
Упрощение считается выполненным правильно, если исходное и конечное выражения совпадают на всех наборах значений переменных. Переменных три, значит наборов , и проверка занимает восемь строк.
| Исходное | ||||
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 0 |
| 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 | 0 |
| 1 | 0 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 | 1 |
| 1 | 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 |
Столбцы совпали полностью: оба выражения истинны на наборах и и ложны на остальных шести. Достаточно проверить один набор вручную, чтобы убедиться, что подстановка сделана верно. Возьми , , : первый множитель равен , второй , третий , произведение равно . Упрощённое выражение даёт , сходится.
Полный алгоритм заполнения таблицы с промежуточными столбцами разобран отдельно, в задаче про построение таблицы истинности. На практике таблицу строят не для всех восьми строк, а выборочно: берут пару наборов, где выражения могли бы разойтись, обычно те, что обнуляют одну из скобок.
В каком порядке упрощать любое выражение
Порядок шагов не произвольный, и если его не соблюдать, выражение начинает разрастаться вместо того, чтобы сжиматься. Рабочая последовательность такая.
- Избавиться от импликации и эквивалентности: , а . Пока в формуле есть стрелки, законы алгебры логики к ней неприменимы.
- Опустить все отрицания к переменным законом де Моргана и снять двойные отрицания. После этого штрих стоит только над отдельными буквами, и формула становится читаемой.
- Раскрыть скобки или, наоборот, вынести общий множитель распределительным законом. Направление выбирают по цели: к дизъюнктивной форме раскрывают, к конъюнктивной выносят.
- Применить склеивание, поглощение и законы констант столько раз, сколько получится. Обычно после каждого сокращения открывается следующее, поэтому проход делают повторно, пока формула перестанет меняться.
- Проверить ответ на нескольких наборах значений или полной таблицей истинности.
Отдельно стоит запомнить, что второй шаг иногда временно удлиняет запись. В выражении знаков операций сначала четыре, после замены импликаций становится шесть, и только потом остаётся один: ответ равен . Пугаться промежуточного роста не нужно, это нормальная часть процесса, и в калькуляторе сверху этот случай вынесен отдельным примером.
Три типовых случая: склеивание, поглощение, импликация
Первый случай, склеивание, узнаётся по двум слагаемым, которые отличаются только одной переменной, входящей с отрицанием и без. В выражении первые два слагаемых склеиваются в , остаётся , а это закон Блейка, дающий . Семь знаков операций сокращаются до одного.
Второй случай, поглощение, узнаётся по слагаемому, целиком содержащему другое слагаемое. В первое слагаемое поглощает оба остальных, и ответ равен просто . Полезно помнить смысл: если уже истинно, добавка ничего не меняет, а если ложно, то ложны и все конъюнкции с ним.
Третий случай, выражения со стрелками, требует предварительной замены, о которой сказано выше. Все три случая собраны чипами в калькуляторе сверху: переключение выражения перестраивает матрицу целиком, и видно, на каком шаге какое сокращение сработало.
Упрощение нужно не ради красоты записи. Если выражение задано таблицей истинности, его сначала приводят к совершенной дизъюнктивной нормальной форме, а уже потом сжимают склеиванием, иначе форма получается громоздкой. А в схемотехнике каждый оставшийся знак операции это отдельный логический элемент: разница между десятью и одним знаком означает разницу в размере платы, что видно при построении логической схемы по выражению.
Частые ошибки
- Отрицание вносят в скобку, не меняя знак операции: пишут вместо . Закон де Моргана обязательно переворачивает конъюнкцию в дизъюнкцию и наоборот.
- Раскрывают скобки по правилам обычной арифметики. В алгебре логики распределительный закон работает в обе стороны, поэтому равно , чего с числами не бывает.
- Путают закон противоречия с идемпотентностью: , но . Ошибка на этом месте меняет ответ полностью.
- Пропускают замену импликации и пытаются применить склеивание прямо к стрелке. Пока в формуле есть или , таблица законов к ней не относится.
- Останавливаются на первом сокращении. После каждого применённого закона формулу нужно просмотреть заново: обычно открывается ещё одно поглощение.
- Не проверяют результат. Ошибка в одном знаке даёт формулу, отличающуюся от исходной ровно на одном наборе, и без проверки её не видно.
FAQ
Как понять, что выражение упрощено до конца? Формальный признак один: ни один закон из таблицы больше не применяется. Практически проверяют так: нет отрицаний над скобками, нет повторяющихся слагаемых, нет пар вида и и нет двух конъюнкций, отличающихся одной переменной. Если ничего из этого не нашлось, запись минимальна.
Всегда ли ответ единственный? Нет. У одной функции бывает несколько минимальных форм одинаковой длины, например и запись через другую пару переменных. Все они равносильны, и любая засчитывается, если проверка таблицей сходится.
Можно ли упрощать карту Карно вместо законов? Да, и для четырёх и менее переменных это быстрее: карта склеивает соседние клетки автоматически. Но на экзаменах чаще требуют именно цепочку преобразований с названием закона на каждом шаге, потому что она показывает понимание, а карта лишь результат.
Что делать, если после упрощения выражение стало константой? Это законный ответ. Если получилось , выражение тождественно истинно, то есть является тавтологией; если , оно тождественно ложно и никогда не выполняется. Проверить такой вывод стоит обязательно, полной таблицей истинности.
Коротко
- Убери импликации и эквивалентности: .
- Опусти отрицания к переменным законом де Моргана и сними двойные отрицания.
- Вынеси общий множитель или раскрой скобки распределительным законом.
- Применяй склеивание, поглощение и законы констант, пока формула меняется.
- В разобранном примере : десять знаков операций сократились до одного, проверка по восьми наборам совпала.
Похожие задачи
Как составить СКНФ по таблице: пошаговое решение
СКНФ по таблице истинности: разбор задачи с числами. Строки с нулём дают макстермы, отрицание ставится на единицах, ответ проверяется подстановкой. Внутри калькулятор и сравнение с СДНФ.
Дискретная математикаКак найти двойственную функцию: решение по шагам
Как найти двойственную функцию булевой алгебры: определение через отрицание аргументов и результата, вектор значений наоборот, замена операций в формуле и проверка на самодвойственность.
Дискретная математикаКак найти матрицу инцидентности графа: пошаговое решение
Как найти матрицу инцидентности графа: строки вершины, столбцы рёбра, пошаговый разбор примера на 5 вершинах и 6 рёбрах, знаки для орграфа, проверка по степеням вершин и связь с матрицей смежности.
Дискретная математикаКак найти мощность множества: пошаговое решение
Как найти мощность множества: разбор задачи о 30 студентах по формуле включений исключений, мощность булеана 2 в степени n, счётные и континуальные множества, частые ошибки.
Дискретная математикаКак найти полином Жегалкина: решение по шагам
Как найти полином Жегалкина булевой функции по вектору значений 10011110: треугольник Паскаля, метод неопределённых коэффициентов, проверка подстановкой и вывод о линейности.
Дискретная математикаКак построить карту Карно: решение по шагам
Как построить карту Карно на четыре переменные: разметка осей кодом Грея, перенос единиц из таблицы истинности, склейка соседних клеток в группы и запись МДНФ с проверкой.