преобразование логических элементов в cnf python

#python #sat #cnf

Вопрос:

у меня есть объектно-ориентированная логическая схема, созданная из объектов gate (аналогично второму примеру здесь:

http://www.openbookproject.net/books/pythonds/Introduction/ObjectOrientedProgramminginPythonDefiningClasses.html )

Мне нужно представить схему в виде CNF: например https://ibb.co/W2Z4M3y

есть ли какая-нибудь библиотека, которая может это сделать? или какое-либо другое решение?

Ответ №1:

Есть две библиотеки:

Симпатия, которая имеет to_cnf как функцию, так и to_dnf функцию.

Аналогично, есть PyEDA, которая также имеет функцию to_cnf и. to_dnf

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

Вы можете использовать Pysathq для преобразования текста в формат DIMACS CNF

Комментарии:

1. есть идеи, как я могу преобразовать вывод Sympy в DIMCAS CNF?

2. Я обновил ответ. Посмотрите на последнюю ссылку.