Python中的析取范式

问题描述 投票:-1回答:2

使用python,将一串AND和OR转换为disjunctive normal form(也称为“乘积之和”)的最佳方法是什么?

b AND (c OR (a AND d))

成为

(b AND c) OR (b AND a AND d)

我也想按字典顺序对这些排序

(a AND b AND d) OR (b AND c)
python boolean-expression
2个回答
2
投票

也许该库可以帮助:pyeda

这里是将表达式转换为DNF的方法:to_dnf()

当然,您必须将字符串转换为有效的pyeda表达式...


0
投票

这里是部分回答问题的样本(即不是解析/排序)

to_dnf()
© www.soinside.com 2019 - 2024. All rights reserved.