要在aiger和cnf之间转换的python库
py-aiger-cnf的Python项目详细描述
py aiger cnf
要在aiger和cnf之间转换的python库
安装
如果您只需要使用aiger_cnf
,您可以运行:
$ pip install py-aiger-cnf
对于开发人员,请注意此项目使用 poetrypython包/依赖项 管理工具。请熟悉它,然后 运行:
$ poetry install
用法
使用aiger_cnf
的主要入口点是aig2cnf
。
毫无疑问,将AIG
对象映射到CNF
的函数。
物体。
importaigerfromaiger_cnfimportaig2cnfx,y,z=map(aiger.atom,('x','y','z'))expr=(x&y)|~zcnf=aig2cnf(expr)
CNF
对象是具有以下三个字段的NamedTuple
:
clauses
:整数元组的列表,例如[(1,2,3), (-1, 2)]
。每个整数代表一个变量的id,带有符号 表示变量的极性。symbol_table
:一个 bidict从字符串到 变量ID。
clauses
。