2014-12-05 42 views
0

使用python,將AND和OR的字符串轉換爲disjunctive normal form(也稱爲「產品和」)的最佳方法是什麼?Python中的析取範式

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) 
+0

問題是關於Python還是關於算法? – Don 2014-12-05 09:25:36

+0

兩者:在進行轉換的Python中是否有任何(內置的)方式? – u003f 2014-12-05 09:43:59

回答

2

也許這個庫可以幫助:pyeda

這裏是把一個表達式的方法轉換成DNF:to_dnf()

當然,你必須把你的字符串變成一個有效的pyeda表達式...