简化这个布尔代数

Simplifying this boolean algebra

是否可以简化这个布尔代数?我想删除使用两次 X 变量的冗余,但似乎看不出如何做。

(X 和 Y)或非(X 和 Z)

提前致谢!

这等于 !(X 和 !Y 和 Z)。

你也可以有公式 (!X 或 Y 或 !Z)

您可以确认http://www.wolframalpha.com/input/?i=%28X+AND+Y%29+OR+NOT%28X+AND+Z%29

中的答案

相当于

(X AND Y) OR (NOT X OR NOT Z)

相当于

(X AND Y) OR NOT X OR NOT Z

相当于

(X OR NOT X OR NOT Z) AND (Y OR NOT X OR NOT Z)

相当于

(TRUE) AND (Y OR NOT X OR NOT Z)

(因为 X or NOT x == trueTRUE OR Z == true

相当于

Y OR NOT X OR NOT Z

您也可以使用 K-map 来查找等效的逻辑表达式,但这些表达式更难输入:)

在卡诺图中可以看到你的表达式确实等价于三个单字面项之和:

not x or y or not z    

             yz
       00  01  11  10
      +---+---+---+---+
   0  | 1 | 1 | 1 | 1 |
x     +---+---+---+---+
   1  | 1 | 0 | 1 | 1 |
      +---+---+---+---+

正如Elye所指出的,单个0可以表示为具有三个输入的倒置项:

not (x and not y and z)