任何人都知道减少布尔表达式
Anyone knows Reduce Boolean Expression
谁能帮我把它减少到 4 个字面值?
F = ( A + C + D) ( A + C + D') (A + C' + D) ( A + B')
我在星期五进行了逻辑测试,答案是 F = C D B' + A。
假设 ⋅ 运算符表示二元合取,+ 二元析取和 ' 或 ¬ 一元否定,我将以这种方式应用 Boolean algebra 的法则:
(a + c + d)⋅(a + c + ¬d)⋅(a + ¬c + d)⋅(a + ¬b)
((a + d) + (c⋅¬c))⋅(a + c + ¬d)⋅(a + ¬b) //distributivity
((a + d) + (0))⋅(a + c + ¬d)⋅(a + ¬b) //complementation: c⋅¬c = 0
(a + d)⋅(a + c + ¬d)⋅(a + ¬b) //identity for +: (a + d) + (0) = (a + d)
(a) + (d⋅(c + ¬d)⋅¬b) //distributivity
(a) + ((d⋅c + d⋅¬d))⋅¬b) //distributivity: d⋅(c + ¬d) = (d⋅c + d⋅¬d)
(a) + ((d⋅c + 0))⋅¬b) //complementation: d⋅¬d = 0
(a) + (d⋅c⋅¬b) //identity for +: (d⋅c + 0) = d⋅c
a + ¬b⋅c⋅d
最后一行是极简DNF。您也可以通过这种方式将其转换为最小 CNF:
(a) + (¬b⋅c⋅d)
(a + ¬b)⋅(a + c)⋅(a + d) //distributivity
对于这么少的变量,您可以使用卡诺图来快速找到最小形式或控制您的结果。下图(使用latex生成)是minimal DNF和minimal CNF旁边的原始表达式。
找到可以使用的意思词后
Quine McCluskey Technique 求解表达式。结果将与 K-Map 相同。但它是许多变量布尔表达式的快速技术。
谁能帮我把它减少到 4 个字面值?
F = ( A + C + D) ( A + C + D') (A + C' + D) ( A + B')
我在星期五进行了逻辑测试,答案是 F = C D B' + A。
假设 ⋅ 运算符表示二元合取,+ 二元析取和 ' 或 ¬ 一元否定,我将以这种方式应用 Boolean algebra 的法则:
(a + c + d)⋅(a + c + ¬d)⋅(a + ¬c + d)⋅(a + ¬b)
((a + d) + (c⋅¬c))⋅(a + c + ¬d)⋅(a + ¬b) //distributivity
((a + d) + (0))⋅(a + c + ¬d)⋅(a + ¬b) //complementation: c⋅¬c = 0
(a + d)⋅(a + c + ¬d)⋅(a + ¬b) //identity for +: (a + d) + (0) = (a + d)
(a) + (d⋅(c + ¬d)⋅¬b) //distributivity
(a) + ((d⋅c + d⋅¬d))⋅¬b) //distributivity: d⋅(c + ¬d) = (d⋅c + d⋅¬d)
(a) + ((d⋅c + 0))⋅¬b) //complementation: d⋅¬d = 0
(a) + (d⋅c⋅¬b) //identity for +: (d⋅c + 0) = d⋅c
a + ¬b⋅c⋅d
最后一行是极简DNF。您也可以通过这种方式将其转换为最小 CNF:
(a) + (¬b⋅c⋅d)
(a + ¬b)⋅(a + c)⋅(a + d) //distributivity
对于这么少的变量,您可以使用卡诺图来快速找到最小形式或控制您的结果。下图(使用latex生成)是minimal DNF和minimal CNF旁边的原始表达式。
找到可以使用的意思词后 Quine McCluskey Technique 求解表达式。结果将与 K-Map 相同。但它是许多变量布尔表达式的快速技术。