卡诺图如何化简求最简形式?
相信很多人在取对偶或者取反然后展开成与或表达式的时候,不太能想到要消去那个AC+AB+BC的BC,看了一下别人的回答也没指明是怎么消去的,只有一个评论说到了要配项才能消去BC。
但是,除非很熟练,不然一般人很难想到去消BC,不具有普适性。消去BC的本质原因是题目隐含要求我们最终所求的“或与式”是必须是最简表达式,因此第二次取对偶前关键就是把与或式化至最简,此时卡诺图可以完美解决化简的问题,因此,下面我给出“与或”转“或与”的通法:
将F(与或式)取对偶,得到F'(或与式) ;
再将F'(或与式)展开,关键来了,展开后我们得到了具有若干项的F'(与或式),此时我们使用卡诺图化简法即可很轻松的化到最简(卡诺图具体使用方法不进行赘述,其实非常简单,可以看书或者另外查阅一下),得到了F'(与或式)的最简表达式;
最后将F'(与或式)的最简表达式,再取一次对偶,最后得到的就是F(或与式)的最简表达式
另外:上述步骤的取对偶可以换成取反,最终效果一样
利用卡诺图化简减少了思维量,虽然画图然后化简可能稍微麻烦一点,但是对新手非常友好;直接利用各种公式进行化简需要一定思维量和熟练度,如果非常熟练的话可以一下子化简出来,时间上比卡诺图快一些,二者各有利弊,供读者权衡。
求逻辑函数用卡诺图化简
卡诺图化简法(reduced method of a Karnaugh map)是化简真值函数的方法之一,它具有几何直观性这一明显的特点,在变元较少(不超过六个)的情况下比较方便,且能得到最简结果。此法由卡诺(M.Karnaugh)于1953年提出,其具体步骤如下:1.构造卡诺框;2.在卡诺框上做出所给真值函数f的卡诺图;3.用卡诺图化简真值函数,首先把相邻的1字块两两合成矩形得到一维块;把22个相邻的1字块合成矩形(或正方形)得到二维块;把23个相邻的1字块合成矩形得到三维块等,合成的各种维块统称f的合块;4.把f的卡诺图中全部1字块做成若干个合块,这样一组合块就称为f的一个覆盖组,f的一切覆盖组中所含块数最小的组即是f的最小覆盖组;5.在最小覆盖组中,合块维数总和最大的组的对应式是f的最简式[1]。
中文名
卡诺图化简法
外文名
reduced method of a Karnaugh map
所属学科
数学
简介
化简真值函数的方法之一
提出者
卡诺(M.Karnaugh)
基本介绍
用代数法化简逻辑函数,需要依赖经验和技巧,有些复杂函数还不容易求得最简形式。卡诺图化简法是一种更加系统并有统一规则可循的逻辑函数化简法[2]。
卡诺图的构成
基本原理
卡诺图用方格阵列的形式列出所有的变量组合和每个组合值所对应的输出。卡诺图的格数与输入变量可能的组合数相等,也就是最小项总数2n(n为变量数),每一个方格表示一个最小项。
变量取值不按二进制数的顺序排列,而是按循环码排列,使相邻两个方格只有一个变量不同(一个变量变化),而其余变量是相同的。
卡诺图的特点:在几何位置上相邻的最小项小方格在逻辑上也必定是相邻的,即相邻两项中有一个变量是互补的[2]。
构图
(1)二变量卡诺图,如图1所示。
图1(a)二变量卡诺图—变量图
图1(b)二变量卡诺图——数值图
如果将上面左图中的反变量用0表示,原变量用1表示,它们所代表的十进制数就是上面右图中的m的下标i的值。
(2)三变量卡诺图,如图2所示。
卡若图问题,求详细解答
y=a非bc+ab非c非+c非+abc
=(a非bc+abc)+(ab非c非+c非)
=(a非+a)bc+(ab非+1)c非
=bc+c非 =bc+bc非+c非
=b(c+c非)+c非
=b+c
逻辑函数定义表达式为:
其中:A1,A2,...,An为输入逻辑变量,取值是0或1;
F为输出逻辑变量,取值是0或1;
F称为A1,A2,...,An的输出逻辑函数。
逻辑函数有“最小项之和”及“最大项之积”两种标准形式。
请问怎样用卡诺图把POS式转化成SOP式
SOP圈出最小覆盖的质蕴涵,把每个质蕴涵写出逻辑项(abc、a非bc。。。等)相加即可1。符号定义:和以前的规则一样~A代表“非”(NOT)A,A+B代表“A或B”(AORB),A*B代表“A和B”(AANDB)2.优先权:和加减乘除类比,布尔代数优先权从高到低为NOT,AND,OR。例Y=A+BC等价于:Y=A+(BC)而不是Y=(A+B)C!所以括号用来改变运算优先权。3.SOP(SumOfProduct)形式:首先定义最小项(minterm):真值表的每一行一定会有一个使输入以AND组合后为“真”的表达式。。。这里minterm的组合形式均为AND的形式,观察两个例子中的输入和minterm项,无论输入是什么,minterm都是“1”(真)。在(1)中,输出为Y为1的时候,minterm只有~AB的形式,所以第一个真值表的表达式是Y=~AB,同理第二个例子的表达式是Y=~AB+AB。---神奇吧,再也不用一行一行看去找表达式了。没什么了,这是数学的小把戏。其实原理是这样的,我们分析真值表的时候,只要找出当输出为1的输入组合(AND组合)就可以。因真值表枚举了所有输入进行AND的情况,只有符合Y的值的才可以入选,而逻辑运算除了只有NOT,AND,OR。而一个逻辑回路里,可以有很多输入组合其输出结果为1,所以只要把这些情况相(加)或就能得到表达式。而(2)得到的表达式就是叫做SOP规范形式(sumofproduct)~~用来唬人的名字。因为式的意思是把两个AND的结果相OR(把两个积相加)。
这里大家想起来概率的运算了吗?独立事件神马的。是的有着密切的关联!因为二进制数操作本身就是概率的操作。举例说,有8个空bits,那么我们就有8个位置去放0和1,那么总共的概率就是2^8=256,也就是有256种放的方法,这不就是8bits的范围嘛(0~255)。所以二进制操作符合概率的计算。再举个例子,Y=~A~B~C+A~B~C+A~BC也是SOP形式。(大家改动手画它的真值表了,然后验证上面讲的!)感觉式子好长吧,画起线路图来很麻烦。是的,我们这不是在探索捷径呢嘛~4POS(ProductOfSum)形式:
和SOP一样,不过先定义最大项(minterm):真值表的每一行一定会有一个使输入以OR组合后为“假”的表达式(原理:真值表枚举了所有输入进行OR的情况,只有符合Y的值的才可以入选),看例子:
。大家自己用上面SOP的想法一步一步分析。我就不罗嗦了,不懂得留言。这个真值表的表达式即为Y=(A+B)*(~A+B)。5.布尔代数(BooleanAlgerbra)就是和一般的加减乘除差不多,只比那个更简单。所以大家不要怕噢~。首先我要引入公理和定理的区别:公理不能被证明,而定理可以用一堆公理来证明。其次就是双对的定义:如果1和0,AND和OR同时交换的时候,结果不变。我们说结果有双对的性质。例如:如果~B=1则B=0和如果~B=0则B=1这两个描述的都是同一个事情,不过1和0交换了,就是这两个叙述成双对关系。(如果不明白就跳过,学完之后回来再看一定会懂得)(a)好了,现在把布尔代数中需要的定义拿出来:。解释一下:Axiom就是事实,Dual就是从另一个方向描述事实的双对。Name就是这个公理的名字。例如A1说的就是如果B不等于1,则B等于0.也就是说这是二进制领域(见Name)。其双对的描述就是:如果B不等于0则B一定是1.A1'和A1很对称吧~。剩下的一定要一个一个看完。要不继续讲可能会糊涂。
b)只有一个变量的定理:。这里T代表Theorem,也就是可以用(a)里的公理证明的!注意Name里Identity就是代表“自己运算(经过某种运算后和原来相同)”
数学里也叫单位运算。NullElement顾名思义“零元素”,概念就是和任何数乘0都得0一样。0“与”任意输入都是0,而1或任意输入都是.Idempotency就是等幂性。说的是,一个输入AND自己一下得到仍是自己,在AND一下还是自己,n次以后还是自己即B^n=B就是无论是几次乘积操作都是等同的(幂就是乘方)。Involution我们早已见过,就是求两次逆的操作。Complements就是互补,一个输入AND自己的互补结果一定是0.因为1的互补是0,0的互补是1..
如何通过卡诺图求POS的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、如何通过卡诺图求POS的信息您可以在本站进行搜索查找阅读喔。
标签: 卡诺
②文章观点仅代表原作者本人不代表本站立场,并不完全代表本站赞同其观点和对其真实性负责。
③文章版权归原作者所有,部分转载文章仅为传播更多信息、受益服务用户之目的,如信息标记有误,请联系站长修正。
④本站一律禁止以任何方式发布或转载任何违法违规的相关信息,如发现本站上有涉嫌侵权/违规及任何不妥的内容,请第一时间反馈。发送邮件到 88667178@qq.com,经核实立即修正或删除。