Математический смысл расчёта
Ограничение на число истинных переменных отбрасывает наборы, у которых единичных битов меньше минимума или больше максимума. Допустимые границы включаются в проверку. СДНФ содержит один минтерм для каждого истинного набора, а СКНФ — один макстерм для каждого ложного. Для константных функций получается форма 0 либо 1 без фиктивных слагаемых.
Для постановки «СДНФ и СКНФ — с ограничением числа истинных переменных» существенна не только основная операция, но и дополнительное условие. Здесь используется правило H=F∧G∧(a≤число единиц≤b). Уберите условие или измените соответствующее значение — множество допустимых строк таблицы может измениться. Поэтому сначала проверяется построенная итоговая функция, а уже затем выполняется запрошенный анализ её свойств. Это отличает данный расчёт от анализа одной неизменяемой формулы.
Как числа описывают таблицу истинности
Для булевой функции от n переменных требуется 2^n значений. Если записать их в двоичном виде, каждое значение становится битом числовой маски. Так, строка с номером x отвечает x-му биту; x1 определяется младшим битом номера строки. В модели «СДНФ и СКНФ — с ограничением числа истинных переменных» та же нумерация используется для всех вводимых масок: это важно, поскольку смешение порядка переменных даст совершенно другой ответ.
Для исходной проверки модели «СДНФ и СКНФ — с ограничением числа истинных переменных» используются, в частности, следующие значения: Таблица истинности F (число) = 62903, Таблица истинности G (число) = 49103, Количество переменных = 3, Минимум истинных переменных = 0, Максимум истинных переменных = 2. При n=3 требуется восемь значений каждой функции, а при n=4 — шестнадцать. Биты за пределами выбранной таблицы отбрасываются. Если вводите маску вручную, проверьте нулевой набор и крайний номер строки до выполнения остальных преобразований.
Какие шаги выполняет вычислитель
СДНФ содержит один минтерм для каждого истинного набора, а СКНФ — один макстерм для каждого ложного. Для константных функций получается форма 0 либо 1 без фиктивных слагаемых. Используются точные целочисленные операции, поэтому округление здесь не требуется. В расчёте «СДНФ и СКНФ — с ограничением числа истинных переменных» эта последовательность применяется к функции, полученной по условию H=F∧G∧(a≤число единиц≤b).
Контрольный пример для задачи «СДНФ и СКНФ — с ограничением числа истинных переменных» даёт следующие показатели: СДНФ: (¬x1 ∧ ¬x2 ∧ ¬x3) ∨ (x1 ∧ ¬x2 ∧ ¬x3) ∨ (¬x1 ∧ x2 ∧ ¬x3), СКНФ: (¬x1 ∨ ¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ ¬x3) ∧ (x1 ∨ ¬x2 ∨ ¬x3) ∧ (¬x1 ∨ ¬x2 ∨ ¬x3). Они выводятся совместно, чтобы можно было обнаружить ошибку при составлении маски или выборе условий. Изменение связки, ограничения либо исходной функции приводит к пересчёту всех связанных характеристик. Такой подход позволяет использовать калькулятор не только для получения ответа, но и для проверки ручного решения.
Проверка результата и особые случаи
Проверьте составное условие на отдельных наборах, изменяя значения масок и переменных. При числе переменных от двух до четырёх полный перебор доступен без приближений. Если решений нет, соответствующие показатели прямо отражают этот факт; невозможные индексы и противоречивые диапазоны отклоняются. Для задачи «СДНФ и СКНФ — с ограничением числа истинных переменных» проверяются также границы выбранной постановки.
Обратите внимание на задачу «СДНФ и СКНФ — с ограничением числа истинных переменных»: её результат зависит от того, какие наборы изначально разрешены. В частных случаях итоговая функция может оказаться тождественно ложной или истинной, а множество решений — пустым. Это корректный математический итог, а не сбой вычислителя. Для проверки полезно задать простые постоянные функции и затем постепенно вводить дополнительные ограничения, наблюдая за изменением числа допустимых наборов.
Формула расчёта
H=F∧G∧(a≤число единиц≤b)
Проверенные примеры
Таблица истинности F (число) = 62903; Таблица истинности G (число) = 49103; Количество переменных = 3; Минимум истинных переменных = 0; Максимум истинных переменных = 2
СДНФ: (¬x1 ∧ ¬x2 ∧ ¬x3) ∨ (x1 ∧ ¬x2 ∧ ¬x3) ∨ (¬x1 ∧ x2 ∧ ¬x3); СКНФ: (¬x1 ∨ ¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ ¬x3) ∧ (x1 ∨ ¬x2 ∨ ¬x3) ∧ (¬x1 ∨ ¬x2 ∨ ¬x3); Число элементарных конъюнкций: 3; Число элементарных дизъюнкций: 5; Литералов в СДНФ: 9; Литералов в СКНФ: 15
Таблица истинности F (число) = 62946; Таблица истинности G (число) = 49103; Количество переменных = 3; Минимум истинных переменных = 0; Максимум истинных переменных = 2
СДНФ: (x1 ∧ ¬x2 ∧ ¬x3) ∨ (¬x1 ∧ x2 ∧ x3); СКНФ: (x1 ∨ x2 ∨ x3) ∧ (x1 ∨ ¬x2 ∨ x3) ∧ (¬x1 ∨ ¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ ¬x2 ∨ ¬x3); Число элементарных конъюнкций: 2; Число элементарных дизъюнкций: 6; Литералов в СДНФ: 6; Литералов в СКНФ: 18
Таблица истинности F (число) = 62903; Таблица истинности G (число) = 49130; Количество переменных = 3; Минимум истинных переменных = 0; Максимум истинных переменных = 2
СДНФ: (x1 ∧ ¬x2 ∧ ¬x3) ∨ (x1 ∧ ¬x2 ∧ x3); СКНФ: (x1 ∨ x2 ∨ x3) ∧ (x1 ∨ ¬x2 ∨ x3) ∧ (¬x1 ∨ ¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ ¬x3) ∧ (x1 ∨ ¬x2 ∨ ¬x3) ∧ (¬x1 ∨ ¬x2 ∨ ¬x3); Число элементарных конъюнкций: 2; Число элементарных дизъюнкций: 6; Литералов в СДНФ: 6; Литералов в СКНФ: 18
Как пользоваться онлайн-калькулятором
- Введите булевы функции в числовом виде: бит №x отвечает набору значений с номером x.
- Выберите переменные, ограничения и остальные параметры, необходимые для данной постановки.
- Запустите вычисление; при проверке следствия контрпример обозначает набор, нарушающий вывод.