一种粒分辨矩阵在逻辑电路优化中的应用的制作方法

文档序号:21102727发布日期:2020-06-16 20:58阅读:235来源:国知局
一种粒分辨矩阵在逻辑电路优化中的应用的制作方法

本发明属于逻辑信息系统规则提取技术领域,涉及到一种粒分辨矩阵在逻辑电路优化中的应用。



背景技术:

在数字电路中,真值表能够完全描述组合逻辑电路、时序逻辑电路输出变量与输入变量之间的逻辑关系。在逻辑学中,利用真值表能够进行命题逻辑值的判定。通过化简真值表,可以简化以上过程。目前真值表化简的基本方法有公式法和卡诺图法。但是前者需要掌握各种布尔代数公式变换,后者要求填写并化简卡诺图,当输入变量变大后,前者不易计算,后者绘图难度增大。

skowron教授在不可分辨关系的基础上,提出了分辨矩阵的概念,矩阵的每个元素是所有能够区分实例对象对的属性的集合,skowron提出基于分辨矩阵的属性约简方法,即通过保持正域不变得到属性约简结果。众多学者在skowron分辨矩阵的基础上做了很多改进。skowron分辨矩阵的属性约简算法简洁直观,但其在化简逻辑表达式上的计算复杂度非常大。传统分辨矩阵的构造需要消耗大量时间及空间,二进制可分辨矩阵相对一般的可分辨矩阵可以减少至少一半的存储空间,为此很多学者针对二进制分辨矩阵进行了深入研究。



技术实现要素:

本发明克服现有技术存在的不足,将传统的逻辑表达式化简问题转化为逻辑信息系统的规则提取,提供一种粒分辨矩阵在逻辑电路优化中的应用,实现逻辑表达式的化简,最后获得最小布尔逻辑表达式。

本发明是通过如下技术方案实现的。

一种粒分辨矩阵在逻辑电路优化中的应用,包括以下具体步骤:

1)构建粒分辨矩阵:

对于m个输入变量,粒分辨矩阵c=[cij]p×q,其规模p×q,p+q=2m;式中元素cij表示在igs中可以从ui∈u1中区分出uj∈u0元信息粒,且p=|u1|,q=|u0|,p+q=2m

2)定义分辨规则,计算出能够区分信息粒的所有分辨规则;具体为:根据粒分辨矩阵中的元素cij,定义分辨规则dr,

dr=u{ri|ri=ci1∧ci2l∧cijl∧ciq,1≤i≤p}=∨{dr|dr∈ots}

ri整合所有可以从ui∈u1中区分出u0的原始信息粒;dr整合了可以从信息粒u1中区分u0的所有最简规则;dr是输出项集合中的一个元素。

3)定义启发式因子he,将dr中的每条规则根据he的值进行排序,记录dr中规则由“1”区分的对象,确定是否有新值,如果有新值,将dr添加到最小布尔逻辑表达式mbe中。

所述的启发式因子he为:

he={|dj|||dj|=|∧x|,x∈igs}

|dj|表示真值表中一类信息粒度组合的个数。

4)输出最小布尔逻辑表达式mbe。

根据定义构建粒分辨矩阵;所述定义为u0和u1;初始化m,n,p,q,igs,ots逻辑信息系统lis=(u,r,v,f),其中为论域,|u|=2m,r=auy是属性集,a={a1,l,ai,l,am}表示逻辑信息系统的输入变量,y={y1,l,yj,l,yn}表示逻辑信息系统的输出变量,|a|=m,|y|=n表示集合的势.f:u×r→v是一个信息函数,具体为u中每一个对象的属性值;真值表每一行代表一条逻辑规则。

lis中的任何逻辑输入属性ai∈a都产生一个分类:

代表论域中的元素ui在ai属性下的属性值为0;代表论域中的元素ui在ai属性下的属性值为0;得出u/ai={ai',ai},ai'和ai是逻辑输入属性ai下的等价类划分,所述等价类划分为信息粒;逻辑输入属性的所有信息粒构成了信息粒集合igs:igs={a1',a1,l,ai',ai,l,am',am}。

信息粒集合中元素的任何组合都为可能的输出项;输出项集ots是所有可能的输出变量组合的列表,所述组合在真值表的最小布尔表达式中产生部分或全部输出变量。

本发明相对于现有技术所产生的有益效果为。

本发明本首次提出了粒分辨矩阵的概念及计算方法,并在此基础上获取最小布尔逻辑表达式。本发明将真值表视为逻辑信息系统(logicinformationsystem,lis),将真值表约简转化为逻辑信息系统的最简规则获取,通过构造粒分辨矩阵,寻找可以形成最小布尔逻辑表达式的信息粒度,最终获取真值表的最小布尔逻辑表达式。本发明通过定理证明、实例分析说明了该方法的正确性和有效性,并通过实验验证了本方法的有效性。

附图说明

图1是本发明一种粒分辨矩阵在逻辑电路优化中的应用的流程示意图。

图2是本发明实施例所述包围圈ωc、的示意图;

图3是本发明实施例所述包围圈ωd、的示意图;

图4是实施例所述的发光二极管数字显示器采用七段a,b,c,d,e,f,g字形显示图。图5是十进制数字显示示意图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,结合实施例和附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。下面结合实施例和附图详细说明本发明的技术方案,但保护范围不被此限制。

本发明针对布尔逻辑表达式的获取,提出一种基于粒分辨矩阵的方法。粒分辨矩阵方法与卡诺图方法原理相同,故粒分辨矩阵方法等价于卡诺图方法,其关于真值表的最小布尔逻辑表达式约简结果是一致的。其证明如下:

设x为真值表中某个输入逻辑变量,则为x的反变量。根据逻辑代数基本定理,有且x、在卡诺图中可用一组互补(互不相交)的包围圈ωx,表示,每个包围圈包含2m-1个方格(m为真值表的输入变量个数)。ωx与中所有最小项的公共逻辑变量分别为x和则ωx与中最小项不同的逻辑变量为x。在卡诺图中,设任意两个最小项为ml、mk,若ml与mk有a个输入变量值不同,分别为x1、x2、l、xa,(a≤m),每一个不同输入逻辑变量即可形成一组包围圈,则ml与mk必能形成a组互补的包围圈ωxa、(其余最小项视为无关项)。下面通过例1说明此过程。

例1:设卡诺图中存在两个最小项则输入变量c和d必能形成两组互补的包围圈ωc、和ωd、见图2、图3。反映了一种粒分辨矩阵在逻辑电路优化中的应用中证明粒分辨矩阵方法等价于卡诺图方法。

对一个n行真值表,设有r个最小项f输出变量值1且fi为其中一个最小项(0≤i≤r),则有n-r个最小项g输出变量值0且gj为其中一个最小项(0≤j≤n-r)。

设fi与gj不同的输入变量为x1,x2,l,xs,则在卡诺图中可以形成s组互补的包围圈,其中任一组包围圈中的均包含最小项fi在卡诺图中的“1”,而不包含gj,因此这s组包围圈互相为“或”关系。同理,若使得fi与n-r个输出变量值为0的最小项g都区分出来,则需fi与n-r个最小项g形成的包围圈互相为“与”关系。

粒分辨矩阵中,行为真值表中输出为1的最小项fi,列为输出为0的最小项gj。矩阵元素cij为fi与gj不同的逻辑输入变量,cij中任一变量均可区分fi与gj,故cij中,各变量为“或”关系,cij=x1∨x2∨l∨xs,cij和fi所在s组包围圈对应。同理,若欲得到fi与所有输出变量值为0的最小项g都不同的逻辑输入变量,需n-r个cij为相“与”关系,即ci1∧ci2∧l∧cir,由上述分析可知,粒分辨矩阵方法与卡诺图方法原理相同,故粒分辨矩阵方法等价于卡诺图方法。

发光二极管数字显示器经常采用七段(a,b,c,d,e,f,g)字形显示,如图4所示。

各种七段显示器有专用的七段译码器。表1给出一种七段译码器的真值表,代表逻辑输入,a~g代表系统输出。输出逻辑值为1时,对应的字段点亮;输出逻辑值为0时,对应的字段熄灭,显示的字形图如图5所示。

表1.七段译码器的真值表

粒分辨矩阵在逻辑电路优化中的应用,先求表中“a”字段对应的布尔最小逻辑表达式。在本实施例中:输入a={a3,a2,a1,a0},输出为y={a}。

“a”字段对应的逻辑表达式为:

y=a3'a2'a1'a0',a3'a2'a1a0',a3'a2'a1a0,a3'a2a1'a0,a3'a2a1a0',a3'a2a1a0,a3a2'a1'a0',a3a2'a1'a0=m0+m2+m3+m5+m6+m7+m8+m9

根据卡诺图的方法可以得到,字段a的最小布尔逻辑表达式结果如下:

a1=1→y=1ora3=1→y=1ora2a0=11→y=1ora2'a0'=00→y=1

根据定义可以得到:

1、定义u0和u1,初始化m,p,q,igs,ots。

u={0,1,2,3,4,5,6,7,8,9};a={a3,a2,a1,a0,};y={a}

得到信息粒度u0和u1

u1={0,2,3,5,6,7,8,9},u0={1,4},m=4,n=1,p=|u|1=8;q=|u|0=2;

u/a0={{0,2,4,6,8},{1,3,5,7,9}}={a0',a0},

u/a1={{0,1,4,5,8,9},{2,3,6,7}}={a1',a1}

u/a2={{0,1,2,3,8,9},{4,5,6,7}}={a2',a2},

u/a3={{0,1,2,3,4,5,6,7},{8,9}}={a3',a3}

igs={a0',a0,a1',a1,a2',a2,a3',a3}igs的任意元素的组合构成ots。

2、构造粒分辨矩阵c=[cij]p×q.

根据定义x∈{a0',a0,a1',a1,a2',a2,a3',a3}

对于c01,0∈a0',0∈a1',0∈a2',0∈a3';

但是1∈a0,1∈a1',1∈a2',1∈a3';

因此,我们可以得到所以c01=a0'。

同理,计算所有的cij,输出c,

dr=u{ri|ri=ci1∧ci2l∧cijl∧ciq,1≤i≤p,1≤j≤q}=∨{dr|dr∈ots}

本例中q=2,

r0=c01∧c04=a0'∧a2',

r2=c21∧c24=(a1∨a0')∧(a2'∨a1)=a1∨(a0'∧a2'),

r3=c31∧c34=a1∧(a2'∨a1∨a0)=a1,

r5=c51∧c54=a2∧a0,

r6=c61∧c64=a2a1a0'∧a1=a1,

r7=c71∧c74=(a2∨a1)∧(a1∨a0)=a1∨(a2∧a0),

r8=c81∧c84=(a3∨a0')∧(a3∨a2')=a3∨(a0'∧a2'),

r9=c91∧c94=a3∧(a3∨a2'∨a0)=a3

根据定义可以得到:

dr=u{ri|ri=ci1^ci2l∧cijl^ciq,1≤i≤p,1≤j≤q}=∨{drdr∈ots}

=a1∨a3∨(a0'^a2')∨(a2∧a0)

3、he={|dr|||dr|=|∧x|i|u1|,x∈igs}

对于d1=a1,信息粒a1={2,3,6,7},|d1|=4,对d3=a0'∧a2'来说,d3=a0'∧a2'={0,2,4,6,8}i{0,1,2,3,8,9}={0,2,8},|d3|=3,同理,得到启发式因子he,通过he的值从大到小对dr排序,得到表3。

表3启发式因子

很显然a1信息粒可以区分4个对象{2,3,6,7},将a1加至mbe中;a2'a0'可以区分{0,2,8},存在两个新对象{0,8},mbe={a1,a2'a0'};a3可以区别对象{8,9},存在新对象{9},所以mbe={a1,a2'a0',a3};a2a0区分{5,7},{5}是新对象,最终得到mbe={a1,a2'a0',a3,a2a0}。

4、输出最小布尔逻辑表达式mbe

现在回到数字逻辑电路中,结合mbe的元素的约简结果,输出最小布尔表达式:ya=a1+a3+a2'a0'+a2a0。通过组织ots中的信息粒,得到了该逻辑的最小布尔表达式。

本方法将真值表视为逻辑信息系统(logicinformationsystem,lis),将真值表约简转化为逻辑信息系统的最简规则获取,通过构造粒分辨矩阵,寻找可以形成最小布尔逻辑表达式的信息粒度,最终获取真值表的最小布尔逻辑表达式。并通过定理证明、实例分析说明了新算法的正确性和有效性,并通过实验验证了算法的有效性。

以上内容是结合具体的优选实施方式对本发明所做的进一步详细说明,不能认定本发明的具体实施方式仅限于此,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明的前提下,还可以做出若干简单的推演或替换,都应当视为属于本发明由所提交的权利要求书确定专利保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1