假设一个布尔表达式是以联合的正常形式存在的:是否存在一个“简单”算法来简化它,同时将其保留在CNF中?
特别是,下列表达式的属性会导致这种简化?
(~a+b+c)(a+~b+c)(a+~c)简化为...
(~a+b+c)(a+~b)(a+~c)Given that a boolean expression is in conjunctive normal form: is there a "simple" algorithm to simplify it while keeping it in CNF?
In particular, what property of the following expression causes this simplifiation?
(~a+b+c)(a+~b+c)(a+~c)simplifies to ...
(~a+b+c)(a+~b)(a+~c)最满意答案
你的例子的卡诺图是:
为了获得简化的DNF ,'1'单元格被分组以获得具有最小数目的最小数目的封面。
类似地,可以将'0'单元分组以得到具有最少数量的项的逆覆盖。
逆映射:
所得到的术语的文字必须颠倒以达到期望的最小CNF
(a +〜b)(a +〜c)(〜a + b + c)
该过程利用了minterm的逆是具有反转文字的maxterm (通常称为CNF子句 )这一事实。
The Karnaugh map of your example is:
To get a simplified DNF, '1' cells are grouped to get a cover with the minimum number of minterms.
Similarly, one can group the '0' cells to get an inverse cover with the minimum number of terms.
The inverse map:
The literals of the resulting terms have to be inverted to arrive at the desired minimum CNF
(a + ~b) (a + ~c) (~a + b + c)
The procedure makes use of the fact that the inverse of a minterm is a maxterm (commonly called CNF clause) with inverted literals.
更多推荐
发布评论