亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        邏輯函數(shù)高階布爾e偏導(dǎo)數(shù)求解算法的實(shí)現(xiàn)

        2018-07-13 10:51:32羅文強(qiáng)王倫耀夏銀水
        關(guān)鍵詞:乘積布爾導(dǎo)數(shù)

        羅文強(qiáng),王倫耀,夏銀水

        (寧波大學(xué) 信息科學(xué)與工程學(xué)院, 浙江 寧波 315211)

        布爾導(dǎo)數(shù)和e導(dǎo)數(shù)能反映布爾函數(shù)值隨變量變化的關(guān)系,二者被廣泛應(yīng)用于圖像處理[1]、邏輯電路的故障檢測(cè)[2-5]和布爾函數(shù)密碼學(xué)性質(zhì)的研究[6-9].

        目前,學(xué)者對(duì)布爾e導(dǎo)數(shù)求解方法的研究主要有3種: 基于K圖和降維K圖的圖形法[10]、基于最小項(xiàng)的表格法[11]和基于改進(jìn)D圖的算法[12].利用K圖和降維K圖求解布爾e導(dǎo)數(shù),具有計(jì)算方法簡(jiǎn)單、物理意義清晰的特點(diǎn),但隨著輸入變量數(shù)n的增大,其圖形規(guī)模將以2n的速度迅速增加,因此此方法對(duì)輸入變量超過(guò)30的大邏輯函數(shù)不適用;同樣,通過(guò)列布爾1值最小項(xiàng)表求解布爾e導(dǎo)數(shù),其最小項(xiàng)數(shù)量與輸入變量數(shù)n成2n關(guān)系,亦不適合處理大函數(shù);而基于改進(jìn)D圖求解布爾e導(dǎo)數(shù)的方法,其圖形規(guī)模不僅與輸入變量數(shù)n成an(1

        布爾e偏導(dǎo)數(shù)[13]的求解較布爾e導(dǎo)數(shù)更難.文獻(xiàn)[11]提出了一種基于最小項(xiàng)表求解布爾e偏導(dǎo)數(shù)的方法,即根據(jù)待求導(dǎo)變量累次列布爾1值最小項(xiàng)求解布爾e偏導(dǎo)數(shù),其與基于最小項(xiàng)的布爾e導(dǎo)數(shù)求解方法一樣,亦不適合求解大函數(shù)的布爾e偏導(dǎo)數(shù).

        本文給出了一種便于計(jì)算機(jī)編程實(shí)現(xiàn)的邏輯函數(shù)高階布爾e導(dǎo)數(shù)和e偏導(dǎo)數(shù)的求解算法.利用乘積項(xiàng)集合之間的不相交操作[14],實(shí)現(xiàn)邏輯函數(shù)的邏輯“與”操作,并結(jié)合布爾e導(dǎo)數(shù)和e偏導(dǎo)數(shù)的定義,給出了求解算法.采用二級(jí)邏輯綜合工具espresso,對(duì)算法的最終輸出結(jié)果進(jìn)行簡(jiǎn)化,進(jìn)而得到更加緊湊的求導(dǎo)結(jié)果.

        1 定 義

        一個(gè)n變量布爾函數(shù)f(x1~xn)總可以寫(xiě)成式(1)所示的乘積項(xiàng)之和(sum of product, SOP):

        (1)

        式(1)中pi為布爾函數(shù)f的第i個(gè)乘積項(xiàng),k為乘積項(xiàng)的個(gè)數(shù),符號(hào)“∑”表示乘積項(xiàng)之間是邏輯“或”關(guān)系,并記f的乘積項(xiàng)集合為Cf.若乘積項(xiàng)pi∈Cf,則pi可寫(xiě)成:

        (2)

        例如,乘積項(xiàng)p=x1x2x3=-1-,按上述約定可將變量x1,x3全取“-”,寫(xiě)成DC(x1,x3);變量x1,x2,x3不全取“-”寫(xiě)成EN(x1,x2,x3).

        定義1設(shè)f(x1~xn)為n變量的布爾函數(shù),則f(x1~xn)對(duì)于變量xj(1≤j≤n)的一階布爾e導(dǎo)數(shù)為

        (3)

        定義2設(shè)f(x1~xn)為n變量的布爾函數(shù),則f(x1~xn)對(duì)于變量xj1~xjk(2≤k≤n)的k階布爾e導(dǎo)數(shù)可表示為

        (4)

        推論1設(shè)n變量布爾函數(shù)f對(duì)應(yīng)的乘積項(xiàng)集合Cf由(s+t)個(gè)不相交乘積項(xiàng)構(gòu)成,即pi·pj=? (i≠j),其中,s個(gè)乘積項(xiàng)中的待求導(dǎo)變量均不出現(xiàn),而另外t個(gè)乘積項(xiàng)中的每個(gè)乘積項(xiàng)至少有1個(gè)待求導(dǎo)變量出現(xiàn),則k(1≤k≤n)階布爾e導(dǎo)數(shù)可表示為

        證明將構(gòu)成邏輯函數(shù)f的(s+t)個(gè)不相交乘積項(xiàng)拆分成g和h兩部分,且f=g+h.其中,g中包含s個(gè)不相交乘積項(xiàng),且任一乘積項(xiàng)中的待求導(dǎo)變量均未出現(xiàn);h中包含t個(gè)不相交乘積項(xiàng),顯然屬于h的任一乘積項(xiàng)中的待求導(dǎo)變量至少出現(xiàn)1個(gè).因此,g和h可以表示為

        由條件pi·pj=?(i≠j)可知g·h=?,故

        證畢!

        解由推論1可得

        由定義2及計(jì)算可得

        以上2種方法的計(jì)算結(jié)果是一致的.用推論1來(lái)實(shí)現(xiàn)布爾e導(dǎo)數(shù),其求導(dǎo)過(guò)程中邏輯表達(dá)式之間的邏輯“與”操作更加簡(jiǎn)單.

        定義3設(shè)f(x1~xn)為n變量的布爾函數(shù),則f(x1~xn)對(duì)于變量xj(1≤j≤n)的一階布爾e偏導(dǎo)數(shù)為一階布爾e導(dǎo)數(shù).

        定義4設(shè)f(x1~xn)為n變量的布爾函數(shù),則f(x1~xn)對(duì)于變量xj1~xjk(2≤k≤n)的k階布爾e偏導(dǎo)數(shù)可表示為

        (6)

        推論2設(shè)n變量布爾函數(shù)f對(duì)應(yīng)乘積項(xiàng)集合Cf由pi·pj=?(i≠j)個(gè)不相交乘積項(xiàng)構(gòu)成,即pi·pj=?(i≠j),其中s個(gè)乘積項(xiàng)中的待求偏導(dǎo)變量均不出現(xiàn),而另外t個(gè)乘積項(xiàng)中每項(xiàng)至少有1個(gè)待求偏導(dǎo)變量,則k(1≤k≤n)階布爾e偏導(dǎo)數(shù)可表示為

        (7)

        式(7)中,h為布爾函數(shù)f的子函數(shù),

        證明用數(shù)學(xué)歸納法:

        (1) 當(dāng)階數(shù)k=1時(shí),由定義3知,利用推論1可證明式(7)成立,即

        (2) 假設(shè)當(dāng)階數(shù)k=q(1

        由步驟(1)~(3)可知,對(duì)任意階數(shù)k(1≤k≤n),推論2成立.

        證畢!

        2 算法實(shí)現(xiàn)

        由布爾e導(dǎo)數(shù)和e偏導(dǎo)數(shù)的定義可知,邏輯函數(shù)的布爾e導(dǎo)數(shù)和e偏導(dǎo)數(shù)的求解過(guò)程中都涉及求解函數(shù)之間的“與”運(yùn)算.因此,求解邏輯函數(shù)的邏輯“與”直接影響布爾e導(dǎo)數(shù)的求解速度和規(guī)模.下文將討論邏輯函數(shù)之間“與”運(yùn)算的求解方法以及大函數(shù)高階布爾e導(dǎo)數(shù)和e偏導(dǎo)數(shù)算法.考慮現(xiàn)有的布爾e導(dǎo)數(shù)和e偏導(dǎo)數(shù)的求解方法只適用于輸入變量較少的邏輯函數(shù)的低階求導(dǎo),且對(duì)求導(dǎo)結(jié)果未進(jìn)行邏輯簡(jiǎn)化,本文將借用已有的二級(jí)邏輯綜合工具espresso,對(duì)布爾e導(dǎo)數(shù)及e偏導(dǎo)數(shù)的計(jì)算結(jié)果進(jìn)行邏輯簡(jiǎn)化.

        2.1 邏輯函數(shù)之間邏輯“與”運(yùn)算的實(shí)現(xiàn)

        定義5若Cf和Cg分別為邏輯函數(shù)f和g所對(duì)應(yīng)的乘積項(xiàng)集合,則Cf與Cg之間的不相交運(yùn)算用Cf?Cg表示,且Cf?Cg=Cf-Cf∩Cg,符號(hào)“?”為2個(gè)邏輯函數(shù)之間的不相交運(yùn)算符.

        從定義5可以看出,Cf?Cg的實(shí)質(zhì)是在Cf中除去與Cg相交的部分,因此,Cf?Cg的結(jié)果屬于Cf且不與Cg相交的部分;由此可得:Cf與Cg相交部分等于在Cf中除去與Cg不相交的部分,即邏輯函數(shù)f和g“與”的結(jié)果可表示為

        Cf∩Cg=Cf?(Cf?Cg).

        (8)

        算法偽代碼如下:

        圖1中,Cf和Cg分別包含w和v個(gè)乘積項(xiàng),Cdis=piΘqj表示乘積項(xiàng)pi與qj之間進(jìn)行不相交銳積運(yùn)算,運(yùn)算結(jié)果寄存在Cdis中.顯然,結(jié)合圖1算法和式(8)可實(shí)現(xiàn)邏輯函數(shù)f和g之間的邏輯“與”運(yùn)算.

        2.2 k階布爾e導(dǎo)數(shù)算法的實(shí)現(xiàn)

        本文中,k階布爾e導(dǎo)數(shù)運(yùn)算用程序E_Derivative(Cf,L)來(lái)實(shí)現(xiàn),其中Cf是布爾函數(shù)f轉(zhuǎn)化為不相交乘積項(xiàng)SOP形式的乘積項(xiàng)集合,L是一個(gè)鏈表,用來(lái)寄存待求導(dǎo)變量,其偽代碼如下:

        圖2中,Cen和Cr_en為2個(gè)乘積項(xiàng)集合緩存,CT是運(yùn)算結(jié)果;子函數(shù)Apart(Cf,L)的功能是根據(jù)鏈表L中寄存的待求導(dǎo)變量出現(xiàn)的情況將Cf中的乘積項(xiàng)拆分成兩部分,其中集合Cdc中寄存待求導(dǎo)變量均不出現(xiàn)的乘積項(xiàng),剩余部分寄存在集合Cen中;子函數(shù)Reverse(Cen,L)的功能是將Cen中在全部乘積項(xiàng)中出現(xiàn)的待求導(dǎo)變量取反;Cand=Cen?(Cen?Cr_en)實(shí)現(xiàn)了Cen∩Cr_en功能,即實(shí)現(xiàn)2個(gè)邏輯函數(shù)之間的邏輯“與”運(yùn)算;最后,借用espresso工具對(duì)CT進(jìn)行邏輯簡(jiǎn)化,得到更加緊湊的邏輯表達(dá)形式.

        2.3 k階布爾e偏導(dǎo)數(shù)算法的實(shí)現(xiàn)

        本文k階布爾e偏導(dǎo)數(shù)運(yùn)算可用程序E_PartialDerivative(Cf,L)來(lái)實(shí)現(xiàn),其中Apart(Cf,L)的含義同圖2,其偽代碼如下:

        圖3中的Cen是乘積項(xiàng)集合緩存,CT是運(yùn)算結(jié)果;Cpar=e_Derivative(Cen,Lxi)表示對(duì)鏈表Lxi中的唯一待求偏導(dǎo)變量xi求一階布爾e導(dǎo)數(shù),即一階布爾e偏導(dǎo)數(shù);最后,借用espresso對(duì)CT實(shí)現(xiàn)邏輯簡(jiǎn)化.

        之后求Cen∩Cr_en,即

        3 實(shí)驗(yàn)結(jié)果與分析

        本文給出的邏輯函數(shù)高階布爾e導(dǎo)數(shù)和e偏導(dǎo)數(shù)的求解算法已經(jīng)在Windows10/CPU 2.40 GHz/ RAM 8.00 GB/VS2010環(huán)境下使用C語(yǔ)言編程實(shí)現(xiàn),并利用MCNC標(biāo)準(zhǔn)測(cè)試電路進(jìn)行了實(shí)驗(yàn)驗(yàn)證.

        表1給出的是k階布爾e導(dǎo)數(shù)和e偏導(dǎo)數(shù)的實(shí)驗(yàn)數(shù)據(jù).表1中的電路f取自MCNC標(biāo)準(zhǔn)測(cè)試電路;i/o/p分別表示電路f對(duì)應(yīng)的輸入變量、輸出變量和乘積項(xiàng)的數(shù)量;階數(shù)k表示對(duì)電路f的任意k個(gè)變量求解布爾e導(dǎo)數(shù)和e偏導(dǎo)數(shù),1≤k≤n,n為變量數(shù);Cd表示布爾e導(dǎo)數(shù)計(jì)算結(jié)果經(jīng)espresso邏輯簡(jiǎn)化后的乘積項(xiàng)數(shù)量;Cp表示布爾e偏導(dǎo)數(shù)計(jì)算結(jié)果經(jīng)espresso邏輯簡(jiǎn)化后的乘積項(xiàng)數(shù)量;td表示布爾e導(dǎo)數(shù)的求解時(shí)間,單位ms;tp表示布爾e偏導(dǎo)數(shù)的求解時(shí)間,單位ms;“<1”表示求解時(shí)間小于1 ms.

        表1給出了11組MCNC測(cè)試電路的實(shí)驗(yàn)數(shù)據(jù),這些電路的變量數(shù)為7~199,其輸出和乘積項(xiàng)數(shù)均具有一定的規(guī)模;每個(gè)電路均測(cè)試了3組不同階數(shù)k的情況.從表1中可以明顯看出,算法處理時(shí)間較短,大部分都<1 ms,無(wú)超過(guò)1 s的.

        如果用|Cd|和|Cp|分別表示Cd和Cp中所包含的乘積項(xiàng)數(shù)量,從表1可以看出,一般情況下|Cd|≥|CP|,其原因除了與espresso邏輯優(yōu)化有關(guān)外,還與它們的定義有關(guān).對(duì)于邏輯函數(shù)f的k階布爾e導(dǎo)數(shù)而言,是2個(gè)邏輯函數(shù)之間的“與”運(yùn)算;但對(duì)于k階布爾e偏導(dǎo)數(shù),則是2k個(gè)邏輯函數(shù)之間的“與”運(yùn)算;一般情況下,2k個(gè)邏輯函數(shù)之間的公共部分更少,

        表1 布爾e導(dǎo)數(shù)和e偏導(dǎo)數(shù)的實(shí)驗(yàn)數(shù)據(jù)

        即多次“與”運(yùn)算后對(duì)應(yīng)的乘積項(xiàng)數(shù)量更少,導(dǎo)致|Cd|≥|Cp|.

        函數(shù)間不相交運(yùn)算的速度與每個(gè)函數(shù)包含的乘積項(xiàng)數(shù)量有關(guān),待處理的邏輯函數(shù)的輸入變量數(shù)對(duì)其不敏感.有些函數(shù)適合拆分,拆分后實(shí)際參與不相交運(yùn)算的乘積項(xiàng)數(shù)量不多,因此速度快.例如電路i7、xparc.本文中邏輯函數(shù)的布爾e導(dǎo)數(shù)用不相交運(yùn)算來(lái)求解,顯然不相交運(yùn)算的調(diào)用次數(shù)將直接影響算法的速度.對(duì)于邏輯函數(shù)f的k階布爾e導(dǎo)數(shù)而言,由式(8)知,需要2次不相交運(yùn)算,但k階布爾e偏導(dǎo)數(shù)卻需要2k次不相交運(yùn)算,因此有tp≥td.

        4 結(jié) 論

        實(shí)現(xiàn)大函數(shù)的布爾e導(dǎo)數(shù)和e偏導(dǎo)數(shù)的求解主要由以下兩部分構(gòu)成: (1)用邏輯函數(shù)之間的不相交運(yùn)算替代.待處理的邏輯函數(shù)的輸入變量數(shù)對(duì)不相交運(yùn)算的速度不敏感,故在處理大邏輯函數(shù)時(shí)效率較高;(2)在求導(dǎo)過(guò)程中,將函數(shù)拆分成兩部分,即不包含待求導(dǎo)變量的乘積項(xiàng)集合Cdc和包含待求導(dǎo)變量的乘積項(xiàng)集合Cen.Cdc求布爾e導(dǎo)數(shù)的結(jié)果是其本身,因此,實(shí)際上只有Cen參與了求導(dǎo)過(guò)程中的不相交運(yùn)算,顯然Cen中包含的乘積項(xiàng)數(shù)量不會(huì)大于原函數(shù),從而達(dá)到減少參與不相交運(yùn)算的乘積項(xiàng)數(shù)量的目的,提高了算法速度.實(shí)驗(yàn)表明,本文提出的方法可以快速計(jì)算輸入變量數(shù)在199內(nèi)的大函數(shù)的高階布爾e導(dǎo)數(shù)和e偏導(dǎo)數(shù).為了簡(jiǎn)化求導(dǎo)后的邏輯函數(shù)的表達(dá)式,算法最后借用二級(jí)邏輯綜合工具espresso,實(shí)現(xiàn)了函數(shù)的邏輯簡(jiǎn)化.

        猜你喜歡
        乘積布爾導(dǎo)數(shù)
        解導(dǎo)數(shù)題的幾種構(gòu)造妙招
        乘積最大
        布爾和比利
        幽默大師(2019年4期)2019-04-17 05:04:56
        布爾和比利
        幽默大師(2019年3期)2019-03-15 08:01:06
        Dirichlet級(jí)數(shù)及其Dirichlet-Hadamard乘積的增長(zhǎng)性
        布爾和比利
        幽默大師(2018年11期)2018-10-27 06:03:04
        布爾和比利
        幽默大師(2018年3期)2018-10-27 05:50:48
        關(guān)于導(dǎo)數(shù)解法
        導(dǎo)數(shù)在圓錐曲線(xiàn)中的應(yīng)用
        復(fù)變?nèi)呛瘮?shù)無(wú)窮乘積的若干應(yīng)用
        精品人妻av中文字幕乱| 少妇的肉体k8经典| 人妻少妇乱子伦精品| 1717国产精品久久| 亚洲AV无码国产精品色午夜软件| 久久色悠悠综合网亚洲| 久久亚洲精品国产亚洲老地址| 国产真实夫妇视频| 人妻丰满熟妇AV无码片| 亚洲精品在线观看自拍| 国产亚洲视频在线播放| 手机看片福利一区二区三区| 一本久道久久综合五月丁香| 麻豆av在线免费观看精品| 一本色道久久婷婷日韩| 欧美最猛性xxxxx免费| 麻豆AⅤ精品无码一区二区| 国产情侣自拍偷拍精品| 亚洲人成网站18禁止| 丰满老熟妇好大bbbbb| 亚洲性69影视| 亚洲禁区一区二区三区天美| 免费观看交性大片| 国产av综合影院| 传媒在线无码| 女同另类专区精品女同| 未发育成型小奶头毛片av| 久久婷婷香蕉热狠狠综合| 国产美女被遭强高潮露开双腿| 91九色国产老熟女视频| 青春草在线视频观看| 18禁黄网站禁片免费观看| 中文字幕无码免费久久9一区9| 久久99精品久久只有精品| 午夜射精日本三级| 精品手机在线视频| 国产午夜精品av一区二区三| 一区二区三区内射美女毛片| 国产a v无码专区亚洲av| 青青草针对华人超碰在线| 97精品一区二区三区|