Калькулятор булевых функций

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

Выражение

Записывайте переменные в виде отдельных букв. И может быть записано как AB, A·B, A*B или A AND B; ИЛИ — как A + B или A OR B; НЕ — как A', !A или NOT A; также поддерживаются XOR, NAND и NOR.
Вставить оператор

До 6 различных переменных и до 2,000 символов. Допускаются константы 0 и 1.

Попробовать выражение

Минимальная форма

Ваша минимальная форма появится здесь

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

Введите булево выражение для его упрощения.

Выражения упрощаются прямо в этом браузере и никогда не отправляются с вашего устройства.

Частые вопросы

Какие способы записи выражений поддерживаются?

Свободно поддерживаются все распространенные соглашения в любых сочетаниях: инженерный стиль (AB + A'C с неявным И и штрихом для НЕ), стиль программирования (A && !B || C, A ^ B), логические символы (¬ ∧ ∨ ⊕ ⊼ ⊽) и обычные слова (A AND B OR NOT C, NAND, NOR). Последовательности из нескольких букв, такие как ABC, означают A AND B AND C, а слова AND, OR, NOT, XOR, NAND, NOR всегда воспринимаются как операторы.

Как находится минимальная форма?

Инструмент строит полную таблицу истинности, объединяет соседние единичные строки в простые импликанты (метод Quine–McCluskey), оставляет существенные из них и покрывает оставшиеся строки с помощью точного минимального покрытия. Результат гарантированно минимален для формы суммы произведений (это не эвристика), а аналогичная процедура для нулевых строк дает произведение сумм.

В чем разница между результатами SOP и POS?

Обе формы описывают одну и ту же функцию. Сумма произведений (SOP) объединяет по OR термы, связанные по AND (например, AB' + BC), и напрямую переносится на логические схемы AND–OR; произведение сумм (POS) объединяет по AND множители, связанные по OR (например, (A + B)(B' + C)), и переносится на схемы OR–AND. В зависимости от функции одна форма может требовать меньше вентилей, чем другая, поэтому инструмент всегда показывает обе.

Почему поддерживается не более 6 переменных?

Шесть переменных уже дают таблицу истинности из 64 строк, что является пределом для удобного чтения и ручной проверки. При большем количестве минимизация теоретически продолжает работать, но вывод шагов и таблица, вокруг которых построена эта страница, перестают быть полезными в качестве наглядного подтверждения. Для более сложных функций лучше подходит специализированное ПО для проектирования логических схем с выводом в файл.

Системы обозначений в булевой алгебре

Булева алгебра используется в различных дисциплинах, каждая из которых сформировала собственный синтаксис для логических операций. Инженер-схемотехник, программист и специалист по математической логике могут записать одну и ту же функцию совершенно разными символами.

Для обеспечения гибкости инструмент поддерживает свободное смешивание любых общепринятых форматов записи:

  • Конъюнкция (И): может записываться неявно (например, AB), через точку A·B, звездочку A*B, логическое слово A AND B, программный оператор A && B или соответствующие логические символы. Последовательности из нескольких букв, такие как ABC, интерпретируются как последовательное И: A AND B AND C.
  • Дизъюнкция (ИЛИ): обозначается как A + B, A OR B, A || B или с помощью логических символов.
  • Отрицание (НЕ): поддерживается в виде штриха A', восклицательного знака !A, слова NOT A, а также символа ¬A.
  • Исключающее ИЛИ (XOR): записывается как A ^ B, A XOR B или A ⊕ B.
  • Штрих Шеффера (NAND): обозначается как A NAND B или .
  • Стрелка Пирса (NOR): записывается как A NOR B или .
  • Константы: в выражениях допускается использование логического нуля 0 и логической единицы 1.

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

Алгоритм Quine–McCluskey и минимизация функций

В основе работы упростителя лежит метод Квайна — Мак-Класки (Quine–McCluskey), который представляет собой табличный метод минимизации булевых функций. В отличие от эвристических методов или ручного упрощения с помощью карт Карно, данный алгоритм гарантирует нахождение абсолютно минимального покрытия.

Процесс минимизации состоит из нескольких строгих этапов:

  1. Построение таблицы истинности: на основе введенного выражения вычисляются значения для всех возможных комбинаций входных переменных.
  2. Поиск простых импликантов: соседние строки таблицы истинности, на которых функция принимает значение 1 (минтенмы), последовательно склеиваются друг с другом. Две строки могут быть объединены, если они различаются состоянием только одной переменной. Этот шаг повторяется до тех пор, пока дальнейшее объединение становится невозможным. Полученные термы называются простыми импликантами.
  3. Построение таблицы покрытий: составляется матрица, где столбцы соответствуют исходным единичным строкам (минтенмам), а строки — найденным простым импликантам.
  4. Выделение существенных простых импликантов: определяются импликанты, которые являются единственным возможным покрытием хотя бы для одной единичной строки. Они обязательно входят в конечную минимальную форму.
  5. Точное минимальное покрытие: если после выделения существенных импликантов остаются непокрытые единичные строки, алгоритм находит минимальный набор из оставшихся простых импликантов для их закрытия.

Аналогичная процедура, запущенная для нулевых строк таблицы истинности (макстермов), позволяет получить минимальное произведение сумм.

Различия между формами SOP и POS в проектировании схем

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

  • Минимальная дизъюнктивная нормальная форма (SOP) представляет собой сумму произведений. В физических схемах эта форма напрямую преобразуется в двухслойную архитектуру AND-OR (И-ИЛИ). Сначала входные сигналы объединяются элементами «И», а затем их выходы собираются на одном общем элементе «ИЛИ».
  • Минимальная конъюнктивная нормальная форма (POS) представляет собой произведение сумм. На аппаратном уровне она реализуется в виде архитектуры OR-AND (ИЛИ-И). Входные сигналы сначала проходят через элементы «ИЛИ», результаты которых затем подаются на объединяющий элемент «И».

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

Понимание простых и существенных импликантов

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

  • Простой импликант — это группа объединенных единичных строк таблицы истинности, которую невозможно укрупнить (объединить с другой группой для исключения еще одной переменной).
  • Существенный простой импликант — это такой простой импликант, который содержит в себе как минимум одну единичную строку, не покрываемую ни одним другим простым импликантом.

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

Ограничения ручного упрощения и область применения инструмента

Ручные методы минимизации, такие как карты Карно, наглядны и эффективны только при работе с небольшим числом переменных. Для 2, 3 или 4 переменных карта Карно строится на плоскости в виде сетки из 4, 8 или 16 ячеек соответственно. Однако уже для 5 переменных требуется строить трехмерную карту (две сетки 4×4), а для 6 переменных — четыре такие сетки, что делает визуальный поиск склеек крайне сложным и подверженным ошибкам.

Шесть переменных дают таблицу истинности из 64 строк. Это практический предел, при котором человек еще способен воспринимать пошаговый вывод и сверять результаты вручную. Инструмент ограничивает ввод 6 переменными и 2 000 символов, гарантируя мгновенное построение точной таблицы истинности и детальное описание каждого шага склеивания без перегрузки интерфейса.

Данный симулятор необходим:

  • Студентам: для проверки правильности выполнения домашних заданий по дискретной математике и цифровой схемотехнике, а также для детального изучения шагов алгоритма Квайна — Мак-Класки.
  • Инженерам: для быстрого сравнения SOP и POS конфигураций при оптимизации логических схем по числу вентилей.
  • Программистам: для рефакторинга сложных ветвлений и условий в коде, что позволяет сделать программы более читаемыми и быстрыми.

Конфиденциальность и обработка данных

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