计算含无关项布尔c-导数的K图方法

2016-06-01 06:36厉晓华赵建华
浙江大学学报(理学版) 2016年3期
关键词:导数

厉晓华, 赵建华

(1. 浙江大学 信息中心, 浙江 杭州 310027; 2. 丽水市住建局 地理信息中心, 浙江 丽水 323000)



计算含无关项布尔c-导数的K图方法

厉晓华1, 赵建华2

(1. 浙江大学 信息中心, 浙江 杭州 310027; 2. 丽水市住建局 地理信息中心, 浙江 丽水 323000)

摘要:为简化与-或-非代数系统中含无关项逻辑函数布尔c-导数的计算过程,从逻辑函数布尔c-导数的定义出发,提出了计算含无关项一阶布尔c-导数和二阶布尔c-导数的K图方法.该方法通过折叠映射K图中的填入格值,并对相应格值进行“或”运算以计算含无关项布尔c-导数.应用实例表明,该方法直观有效,且能直接得到布尔c-导数的最简与/或式.

关键词:K图;无关项;布尔c-导数;逻辑函数

LI Xiaohua, ZHAO Jianhua

(1.CampusInformationCenter,ZhejiangUniversity,Hangzhou310027,China; 2.GeomaticsCenter,HousingConstructionBureau,Lishui323000,ZhejiangProvince,China)

布尔代数系统中存在布尔减、布尔差分、布尔e-导数等特殊运算[1-2],其中布尔c-导数在密码学函数构造[3-4]、组合电路故障检测[5]等领域应用广泛.计算布尔c-导数是各类应用的基础.文献[6]讨论了计算布尔c-导数的K图和降维K图方法,尚缺少对含任意项布尔c-导数计算方法的研究.本文从逻辑函数布尔c-导数的定义出发,提出了计算含无关项的一阶布尔c-导数和二阶布尔c-导数的K图方法.应用实例表明,该方法直观有效,且能直接得到布尔c-导数的最简与/或式.

1相关定义

当k=2时,

定义3逻辑函数的输入变量在某些取值下,输出函数值可以是任意的,或者这些输入变量的取值根本不会出现,其对应的最小项称为无关项.任一包含无关项的布尔函数表示为:

其中,∑为“或”运算,mi表示最小项,ai为最小项系数,ai∈{0,1}表示mi是否在展开中出现,di为无关项系数,di∈{0,1}表示mi是否为无关项.

2计算含无关项一阶布尔c-导数的K图方法

2.1原理

由K图特点得到计算含无关项一阶布尔c-导数的步骤如下:

(1)画出逻辑函数f(x1,…,xi,…,xn)的K图;

2.2实例

图1 一阶布尔c-导数的K图计算过程Fig.1 The calculating process of the first-order c-derivative based on K-map

cf1/cx1=∑m(0,2,3,5,7,8,10,11,13,15)+

∑d(14)+∑d6(14).

化简后得

3计算含无关项二阶布尔c-导数的K图方法

3.1原理

与计算含无关项一阶布尔c-导数的K图方法类似,计算含无关项二阶布尔c-导数的步骤如下:

(1)画出逻辑函数f(x1,…,xi,…,xj,…,xn)的K图;

若变量xi、xj同为K图的行变量或列变量,则进行折叠映射;若一个变量为列变量,另一个为行变量,则以xi、xj轴的交点为中心进行旋转映射[7].

3.2实例

图2 逻辑函数f2(x1~x4)的K图Fig.2 The K-map of Boolean function f2(x1~x4)

图3 二阶布尔c-导数的K图计算过程Fig.3 The calculating processes of the second-order c-derivative based on K-map

∑d(14)+∑d2(14).

化简后得

c2f2/c(x1,x2)=x3+x4.

c2f2/c(x2,x3)=∑m(0,1,3,7,9,10,11,13)+

∑d(14,15)+∑d4(14)+∑d5(15).

化简后得

4结论

含无关项逻辑函数是布尔代数系统中普遍存在的一类函数,文献[8]讨论了含无关项逻辑函数布尔差分的图形化算法,文献[9]提出了含无关项布尔e-导数的新算法.本文在分析逻辑函数布尔c-导数定义的基础上,提出了计算含无关项一阶布尔c-导数和二阶布尔c-导数的K图方法,并举例说明了计算过程.虽然文中只讨论了计算含无关项一阶和二阶布尔c-导数的K图方法,但该方法亦适用于高阶布尔c-导数的计算.

参考文献(References):

[1]陈偕雄,沈继忠. 近代数字理论[M]. 杭州:浙江大学出版社,2001.

CHEN Xiexiong, SHEN Jizhong. Modern Digital Thoery[M]. Hangzhou:Zhejiang University Press, 2001.

[2]温巧燕,钮心忻,杨义先. 现代密码学中的布尔函数[M]. 北京:科学出版社,2000.WEN Qiaoyan,NIU Xinxin,YANG Yixian. Boolean Function in Modern Cryptology[M]. Beijing: Science Press, 2000.

[3]赵美玲,陈偕雄. 布尔函数的c-导数及其在揭示H-布尔函数性质中的应用[J]. 浙江大学学报:理学版,2015,42(2):153-156.ZHAO Meiling, CHEN Xiexiong. c-derivative of Boolean functions and its application in revealing the properties of H-Boolean function[J]. Journal of Zhejiang University: Science Edition, 2015, 42(2):153-156.

[4]马汝星,陈偕雄. 布尔特殊运算c-导数及其在Bent函数研究中的应用[J]. 浙江大学学报:理学版,2015,42(2): 157-161.

MA Ruxing,CHEN Xiexiong. Boolean special operation c-derivative and its application in studying Bent function[J]. Journal of Zhejiang University: Science Edition, 2015, 42(2):157-161.

[5]王芳,应时彦,肖林荣. 布尔函数的c-导数及其在组合电路故障检测中的应用[J]. 浙江大学学报:理学版,2014, 41(2):153-155.WANG Fang, YING Shiyan, XIAO Linrong. The c-derivative of Boolean function and its application in fault detection of combinational circuit[J]. Journal of Zhejiang University: Science Edition, 2014, 41(2):153-155.

[6]朱耀东,袁菊明,肖林荣. 逻辑函数布尔c-导数的图形计算方法[J]. 浙江大学学报:理学版,2015, 42(2):162-165.

ZHU Yaodong,YUAN Juming,XIAO Linrong. Graphic method calculating c-derivative of Boolean function[J]. Journal of Zhejiang University: Science Edition, 2015, 42(2):162-165.

[7]陈偕雄,余党军.数字逻辑的图形方法[M]. 北京:机械工业出版社,2004.

CHEN Xiexiong, YU Dangjun. Digital Logic Graphic Methods[M]. Beijing: China Machine Press, 2004.

[8]王勇超,谢永凯. 含任意项逻辑函数布尔差分的图形化算法研究[J]. 浙江大学学报:理学版,2009, 36(6):666-669.

WANG Yongchao,XIE Yongkai. Research of map method for Boolean difference calculation in logic functions including don’t-care-terms[J]. Journal of Zhejiang University: Science Edition, 2009, 36(6):666-669.

[9]厉晓华,杭国强. 计算布尔e-导数的新算法[J]. 电路与系统学报,2012, 17(5):1-5.

LI Xiaohua, HANG Guoqiang. The new algorithm of calculating Boolean e-derivative[J]. Journal of Circuits and Systems,2012, 17(5):1-5.

The K-map method for calculating c-derivative of Boolean function with don’t-care-terms. Journal of Zhejiang University(Science Edition), 2016,43(3):307-309

Abstract:To simplify the process for calculating c-derivative of Boolean function with don’t-care-terms in the Boolean logic algebra system based on AND-OR-NOT operation, the K-map method for calculating the first and second-order c-derivative of Boolean function with don’t-care-terms is proposed according to the definition of c-derivative. The c-derivative is calculated by folding the square corresponds of the K-map, and then conducts OR operation. The application results show that the presented method is simple and convenient for operation. The simplest AND/OR expansion of c-derivative of Boolean function with don’t-care-terms can also be obtained from K-map.

Key Words:K-map; don’t-care-terms; c-derivative; logic function

中图分类号:TP331

文献标志码:A

文章编号:1008-9497(2016)03-307-03

作者简介:厉晓华(1975-),ORCID:http://orcid.org/0000-0003-2482-9000,男,高级工程师,硕士,主要从事数字电路与网络信息安全研究,E-mail:xiaohua@zju.edu.cn.

基金项目:国家科技支撑计划项目(2013BAH27F01,2013BAH27F02).

收稿日期:2015-06-18.

DOI:10.3785/j.issn.1008-9497.2016.03.010

猜你喜欢
导数
导数与不等式“三剑客”
“观察”激活创新 “构造”突破阻碍(一)——以导数中的构造为例
导数创新题型透视
导数考向分析
解导数题的几种构造妙招
十种解法妙解2020年高考导数压轴题
指对同构法巧妙处理导数题
探讨导数在高中数学解题中的有效应用
关于导数解法
导数在函数中的应用