У меня есть логическая функция в течение 10 переменных, представленных явно из -за таблицы истины. Только небольшое количество входов оценивается на истину, поэтому большинство из 2^10 = 1024 входных комбинаций являются ложными.
Я хотел бы преобразовать эту функцию в CNF (конъюнктивная нормальная форма) - не обязательно наименьшая возможная CNF, но такая, которая является достаточно компактным и эффективным для использования в Downstream Tools (например, SAT Solvers). PREVERS). PREVERS). PREVERS). Испытательный: < /p>
Блокировка ложных заданий:
Простой метод - написать один предложение для каждого ввода, которое приводит к ложным, но это становится непрактичным, когда есть только несколько истинных выходов. Затем преобразование этого DNF в CNF путем генерирования продуктов и обрезки предложений и обрезки: < /p>
Профилактику противоречивых условий, < /li>
Удалить избыточные суперсеты. где t является количеством истинных заданий - что делает этот подход невозможным для более крупного t.
Есть ли какой -либо другой подход, который можно использовать для решения этой проблемы?
Подробнее здесь: https://stackoverflow.com/questions/645 ... ruth-table
CNF по таблице истины [закрыто] ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
PYSAT Как применить Clausify к объекту Equals при использовании объекта Equals в CNF?
Anonymous » » в форуме Python - 0 Ответы
- 45 Просмотры
-
Последнее сообщение Anonymous
-