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

模拟技术

2308人已加入

描述

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

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

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

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

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

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

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

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

  真值表

  将真值表中函数值等于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。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分