如何根据真值表反推逻辑表达式

如何根据真值表反推逻辑表达式,第1张

  一般我们都是采用公式法或者卡诺图的方法。不过用程序自动化来实现,这两种方法都不合适。在计算逻辑代数里面有个叫做Quine-McCluskey(奎因-麦克拉斯基)算法的,用于化简逻辑公式的,并且它还给出了检查布尔函数是否达到了最小化形式的确定性方法。不过这个算法是NP-完全的,因此运行时间随输入变量个数呈指数增长。比如逻辑变量个数有几十个的时候,这时候找到最简表达式已经是不太可能,只能通过启发式算法(Espresso算法)来寻求次优解。

  根据输入端的变化,写出输出端的状态,真值表就出来了。相反,从输出端倒推回输出端,就是逻辑表达式

  第一种方法:以真值表内输出端“1”为准

  第一步:从真值表内找输出端为“1”的各行,把每行的输入变量写成乘积形式;遇到“0”的输入变量上加非号。 第二步:把各乘积项相加,即得逻辑函数的表达式。

  第二种方法:以真值表内输出端“0”为准

  第一步:从真值表内找输出端为“0”的各行,把每行的输入变量写成求和的形式,遇到“1”的输入变量上加非号。

  第二步:把各求和项相乘,即得逻辑函数表达式。

  最后化简,在实际运用过程中,哪个方法简便就采用哪种。

  如何根据真值表反推逻辑表达式,如何根据真值表反推逻辑表达式,第2张

  将真值表中函数值等于1的变量组合选出来;对于每一个组合,凡取值为1的变量写成原变量,取值为0的变量写成反变量,各变量相乘后得到一个乘积项;最后,把各个组合对应的乘积项相加,就得到了相应的逻辑表达式。 例1120 试根据表Z1112,写出相应的逻辑表达式。

  从表中看到,当A=0、B=1时,Y=1;当A=1、B=0时Y=1。因此可写出相应的逻辑表达式为:

  Y=B+A

  真值表还可用来证明一些定理。

  例1121 试用真值表证明摩根定理=+

  证:设上式左边 =Y1,右边=Y2,分别列出相应的真值表如表Z1113所示:

  比较Y1和Y2,证得=+。

  例1122 试用真值表证明A+AB=A。

  证:令A+AB=Y1,A=Y2,列出真值表如Z1114所示。

  比较Y1和Y2,证得A+AB=A。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2605549.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-09
下一篇 2022-08-09

发表评论

登录后才能评论

评论列表(0条)

保存