两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種混合極性XNOR/OR電路面積優(yōu)化方法與流程

文檔序號(hào):11199592閱讀:621來源:國(guó)知局
一種混合極性XNOR/OR電路面積優(yōu)化方法與流程

本發(fā)明涉及一種xnor/or電路面積優(yōu)化方法,尤其是涉及一種混合極性xnor/or電路面積優(yōu)化方法。



背景技術(shù):

數(shù)字邏輯電路既可以用基于and/or/not運(yùn)算的boolean邏輯,也可以用基于xor/and或xnor/or運(yùn)算的reed-muller(rm)邏輯來實(shí)現(xiàn)。目前,基于傳統(tǒng)boolean邏輯的電路面積優(yōu)化技術(shù)已經(jīng)相當(dāng)?shù)某墒?,建立了相?duì)系統(tǒng)的自動(dòng)設(shè)計(jì)方案,并且成功應(yīng)用于各種商業(yè)eda軟件,如synopsys、mentor和graphicscadence公司的產(chǎn)品等。研究表明采用或部分采用rm邏輯進(jìn)行設(shè)計(jì)可得到性能上的極大改進(jìn)與提升。與boolean邏輯實(shí)現(xiàn)的電路相比,用rm形式表示的部分電路具有更緊湊的結(jié)構(gòu),如:算術(shù)電路、奇偶校驗(yàn)電路和通信電路等;用rm形式實(shí)現(xiàn)的邏輯電路具有良好的可測(cè)試性,這尤其適合用于可測(cè)試性方面的設(shè)計(jì),從而為解決當(dāng)前ic測(cè)試驗(yàn)證難題提供了一套切實(shí)可行的方案。

對(duì)于采用rm邏輯設(shè)計(jì)的rm邏輯電路,其rm邏輯展開式通常包括固定極性rm(fixed-polarityreed-muller,fprm)展開式和混合極性rm(mixed-polarityreed-muller,mprm)展開式兩種。對(duì)于n輸入rm邏輯電路,fprm展開式的極性個(gè)數(shù)是mprm展開式的(2/3)n,且mprm展開式的極性包括fprm展開式的所有極性,mprm電路的巨大極性搜索空間也導(dǎo)致其電路性能優(yōu)化的時(shí)間和空間復(fù)雜度都高于fprm電路,因此,在mprm邏輯電路的優(yōu)化理論和求解方法上迫切需要新的突破。枚舉法和遺傳算法是目前mprm邏輯電路優(yōu)化中常用的兩種方法。但是,枚舉法對(duì)大規(guī)模mprm邏輯電路進(jìn)行優(yōu)化時(shí),在運(yùn)行時(shí)間上不可行,搜索效率較差;遺傳算法對(duì)大規(guī)模mprm邏輯電路進(jìn)行優(yōu)化時(shí),具有種群的多樣性保持機(jī)制差,收斂速度慢,且局部尋優(yōu)能力弱等方面的缺陷。

鑒此,設(shè)計(jì)一種搜索能力強(qiáng),搜索效率高的混合極性xnor/or電路面積優(yōu)化方法具有重要意義。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明所要解決的技術(shù)問題是提供一種搜索能力強(qiáng),搜索效率高的混合極性xnor/or電路面積優(yōu)化方法。

本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案為:一種混合極性xnor/or電路面積優(yōu)化方法,包括以下步驟:

(1)讀入pla格式的電路,該電路采用函數(shù)表示,n為函數(shù)f(xn-1,xn-2,…,xk,…,x0)的輸入變量數(shù),(xn-1,xn-2,…,xk,…,x0)為函數(shù)f(xn-1,xn-2,…,xk,…,x0)的n個(gè)輸入變量,∏為與運(yùn)算符,ai是最大項(xiàng)系數(shù),且ai∈{0,1},i為最大項(xiàng)序數(shù),用二進(jìn)制表示為in-1in-2…ik…i0,mi是最大項(xiàng),表示n個(gè)輸入變量相或,k為正整數(shù),且0≤k≤n-1;

(2)采用極性轉(zhuǎn)換方法將函數(shù)轉(zhuǎn)換為混合極性xnor/or電路的表達(dá)式:其中,p為混合極性xnor/or電路的極性值,p用三進(jìn)制形式表示為pn-1pn-2…pg…p0,g為正整數(shù),且0≤g≤n-1,⊙∏為同或運(yùn)算符,sj表示或項(xiàng),dj為或項(xiàng)系數(shù),且dj∈{0,1},j為或項(xiàng)序數(shù),j用二進(jìn)制表示為jn-1jn-2…jg…j0,dj表示或項(xiàng)是否在混合極性xnor/or表達(dá)式中出現(xiàn),當(dāng)dj=0時(shí),表示或項(xiàng)sj在混合極性xnor/or電路的表達(dá)式中出現(xiàn),當(dāng)dj=1時(shí),表示或項(xiàng)sj不在混合極性xnor/or電路的表達(dá)式中出現(xiàn),其中xg與pg和jg的關(guān)系為:當(dāng)pg=0和jg=0時(shí),xg以原變量出現(xiàn);當(dāng)pg=1和jg=0時(shí),xg以反變量出現(xiàn);當(dāng)pg=2時(shí),xg同時(shí)以原變量和反變量的形式出現(xiàn),當(dāng)jg=0時(shí),xg以原變量出現(xiàn),當(dāng)jg=1時(shí),xg以反變量出現(xiàn);

(3)將混合極性xnor/or電路面積優(yōu)化各參數(shù)與三值多樣性粒子群算法的各參數(shù)進(jìn)行關(guān)聯(lián):將輸入變量數(shù)n定義成三值多樣性粒子群的搜索空間維數(shù),將混合極性定義為三值多樣性粒子群的粒子,將極性值p定義為粒子位置;設(shè)定三值多樣性粒子群中粒子的數(shù)量為m,m為正整數(shù),三值多樣性粒子群的總進(jìn)化代數(shù)為tmax;

(4)建立適應(yīng)度函數(shù):極性值p對(duì)應(yīng)的粒子位置的適應(yīng)度函數(shù)fitness(p)為:

fitness(p)=(1-w)*earea(p)/earea_max

其中,earea(p)為在極性p下混合極性xnor/or電路的面積估計(jì)值,earea(p)為極性p下混合極性xnor/or電路的表達(dá)式包含的同或項(xiàng)和或項(xiàng)的項(xiàng)數(shù)之和,earea_max為混合極性xnor/or電路的最大面積估計(jì)值,且earea_max=n*2n,n為輸入變量數(shù),w為大于等于0且小于等于1的系數(shù),*為乘運(yùn)算符號(hào),/為除運(yùn)算符號(hào);

(5)初始化粒子群:隨機(jī)初始化三值多樣性粒子群中各粒子的速度、位置、粒子的當(dāng)前個(gè)體最優(yōu)位置、三值多樣性粒子群的當(dāng)前全局最優(yōu)位置和各粒子位置的適應(yīng)度值;

(6)建立三值多樣性粒子群中粒子的運(yùn)動(dòng)方程式:

其中,t為三值多樣性粒子群的當(dāng)前進(jìn)化代數(shù),1≤t≤tmax,為第m個(gè)粒子在第t次迭代的速度,為第m個(gè)粒子在第t次迭代的位置,m=1,2,…,m,d為整數(shù)且1≤d≤n,round表示四舍五入到最鄰近的整數(shù),第m個(gè)粒子在第t+1次迭代的速度vmin,d代表第m個(gè)粒子的最小速度,vmax,d代表第m個(gè)粒子的最大速度,上標(biāo)t表示矩陣的轉(zhuǎn)置;第m個(gè)粒子在第t+1次迭代的位置rd表示搜索空間的下限,sd表示搜索空間的上限,c1、c2和c3為學(xué)習(xí)因子,分別表示自我調(diào)整能力和向三值多樣性粒子群最優(yōu)粒子學(xué)習(xí)的能力,其中0<c1≤2,0<c2≤2,0<c3≤2,0<r1≤1,0<r2≤1,0<r3≤1,h為慣性權(quán)重,且hstart為初始慣性權(quán)重且0.3≤hstart≤0.5,hend為終止慣性權(quán)重且0.8≤hend≤1.0,表示當(dāng)前進(jìn)化代第m個(gè)粒子進(jìn)化前的當(dāng)前個(gè)體最優(yōu)位置,表示當(dāng)前進(jìn)化代隨機(jī)粒子進(jìn)化前的當(dāng)前個(gè)體最優(yōu)位置,表示當(dāng)前進(jìn)化代三值多樣性粒子群進(jìn)化前的當(dāng)前全局最優(yōu)位置。設(shè)定三分之一的維度分別向學(xué)習(xí)。n取值為3,σ為權(quán)值,且0<σ≤1,randn()表示標(biāo)準(zhǔn)正態(tài)分布函數(shù),e表示自然對(duì)數(shù)的底;

(7)根據(jù)三值多樣性粒子群中粒子的運(yùn)動(dòng)方程式更新三值多樣性粒子群中各粒子的當(dāng)前位置和當(dāng)前速度,將粒子的最新速度作為該粒子的當(dāng)前速度,將粒子的最新位置作為該粒子的當(dāng)前位置;

(8)以概率pm對(duì)三值多樣性粒子群中各粒子的當(dāng)前位置進(jìn)行三值變異,pm的取值為0.1,具體過程為:產(chǎn)生一個(gè)大于等于0且小于等于1的隨機(jī)數(shù)b,如果b<pm,則將該粒子的當(dāng)前位置中的0變?yōu)?,2變?yōu)?,1變?yōu)?,將該粒子的當(dāng)前位置變異后的值作為該粒子的當(dāng)前位置;如果b≥pm,該粒子的當(dāng)前位置保持不變;

(9)根據(jù)適應(yīng)度函數(shù)計(jì)算當(dāng)前各個(gè)粒子的當(dāng)前位置對(duì)應(yīng)的適應(yīng)度值,將該粒子的當(dāng)前位置對(duì)應(yīng)的適應(yīng)度值與該粒子的當(dāng)前個(gè)體最優(yōu)位置對(duì)應(yīng)的適應(yīng)度值進(jìn)行比較,選擇適應(yīng)度值較小的作為該粒子新的當(dāng)前個(gè)體最優(yōu)位置,再比較所有粒子新的當(dāng)前個(gè)體最優(yōu)位置,將具有最小適應(yīng)度值的粒子新的當(dāng)前個(gè)體最優(yōu)位置作為三值多樣性粒子群的新的當(dāng)前全局最優(yōu)位置;

(10)判斷當(dāng)前進(jìn)化代數(shù)是否為最大進(jìn)化代數(shù),若不是,轉(zhuǎn)到步驟(7)開始下一輪的進(jìn)化,否則進(jìn)入步驟(11);

(11)將三值多樣性粒子群的新的當(dāng)前全局最優(yōu)位置作為最優(yōu)極性輸出,將該最優(yōu)極性對(duì)應(yīng)的混合極性xnor/or電路的面積作為最優(yōu)面積輸出。

所述的步驟(2)中采用極性轉(zhuǎn)換方法將函數(shù)轉(zhuǎn)換為混合極性xnor/or電路的表達(dá)式的具體步驟為:

a.將f(xn-1,xn-2,…,xk,…,x0)中的最大項(xiàng)以二進(jìn)制形式表示;

b.將所需轉(zhuǎn)換的混合極性值p用三進(jìn)制形式表示;

c.若混合極性的第g位為1,則選擇第g位為1的最大項(xiàng),對(duì)該位進(jìn)行異或操作,得到新項(xiàng),若第g位為0或2,則不操作;

d.若混合極性的第g位為0或1時(shí),則選擇q個(gè)位的取值為1的新項(xiàng),以這些位為無關(guān)項(xiàng),再產(chǎn)生所有2q-1個(gè)新項(xiàng),并更新索引表中的項(xiàng)數(shù),若混合極性的第g位為2時(shí),則保持不變,0≤q≤n;

e.重復(fù)步驟d,直至操作完所有新項(xiàng),得到索引表中項(xiàng)序數(shù)為奇數(shù)的項(xiàng)即為該混合極性對(duì)應(yīng)的同或/或項(xiàng)。

所述的搜索空間的下限r(nóng)d的取值為0,所述的搜索空間的上限sd的取值為2,vmin,d的取值為-6,vmax,d的取值為6,總粒子數(shù)m為20-30,最大進(jìn)化代數(shù)tmax的取值為100以上。

與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于在采用三值多樣性粒子群算法對(duì)粒子速度和粒子位置進(jìn)行更新的過程中,增加了廣泛學(xué)習(xí)思想和三值變異操作,由此保持三值多樣性粒子群的種群多樣性策略,從而有效地克服傳統(tǒng)的三值多樣性粒子群算法的早熟收斂問題,快速準(zhǔn)確的搜索到最優(yōu)極性,搜索能力強(qiáng),搜索效率高;實(shí)驗(yàn)驗(yàn)證,采用本發(fā)明的方法進(jìn)行面積優(yōu)化時(shí),平均節(jié)省電路面積為15.1%。

附圖說明

圖1為本發(fā)明的方法和現(xiàn)有的方法對(duì)電路的面積性能進(jìn)行優(yōu)化的對(duì)比曲線圖。

具體實(shí)施方式

以下結(jié)合附圖實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。

實(shí)施例一:一種混合極性xnor/or電路面積優(yōu)化方法,包括以下步驟:

(1)讀入pla格式的電路,該電路采用函數(shù)表示,n為函數(shù)f(xn-1,xn-2,…,xk,…,x0)的輸入變量數(shù),(xn-1,xn-2,…,xk,…,x0)為函數(shù)f(xn-1,xn-2,…,xk,…,x0)的n個(gè)輸入變量,∏為與運(yùn)算符,ai是最大項(xiàng)系數(shù),且ai∈{0,1},i為最大項(xiàng)序數(shù),用二進(jìn)制表示為in-1in-2…ik…i0,mi是最大項(xiàng),表示n個(gè)輸入變量相或,k為正整數(shù),且0≤k≤n-1;

(2)采用極性轉(zhuǎn)換方法將函數(shù)轉(zhuǎn)換為混合極性xnor/or電路的表達(dá)式:其中,p為混合極性xnor/or電路的極性值,p用三進(jìn)制形式表示為pn-1pn-2…pg…p0,g為正整數(shù),且0≤g≤n-1,⊙∏為同或運(yùn)算符,sj表示或項(xiàng),dj為或項(xiàng)系數(shù),且dj∈{0,1},j為或項(xiàng)序數(shù),j用二進(jìn)制表示為jn-1jn-2…jg…j0,dj表示或項(xiàng)是否在混合極性xnor/or表達(dá)式中出現(xiàn),當(dāng)dj=0時(shí),表示或項(xiàng)sj在混合極性xnor/or電路的表達(dá)式中出現(xiàn),當(dāng)dj=1時(shí),表示或項(xiàng)sj不在混合極性xnor/or電路的表達(dá)式中出現(xiàn),其中xg與pg和jg的關(guān)系為:當(dāng)pg=0和jg=0時(shí),xg以原變量出現(xiàn);當(dāng)pg=1和jg=0時(shí),xg以反變量出現(xiàn);當(dāng)pg=2時(shí),xg同時(shí)以原變量和反變量的形式出現(xiàn),當(dāng)jg=0時(shí),xg以原變量出現(xiàn),當(dāng)jg=1時(shí),xg以反變量出現(xiàn);

(3)將混合極性xnor/or電路面積優(yōu)化各參數(shù)與三值多樣性粒子群算法的各參數(shù)進(jìn)行關(guān)聯(lián):將輸入變量數(shù)n定義成三值多樣性粒子群的搜索空間維數(shù),將混合極性定義為三值多樣性粒子群的粒子,將極性值p定義為粒子位置;設(shè)定三值多樣性粒子群中粒子的數(shù)量為m,m為正整數(shù),三值多樣性粒子群的總進(jìn)化代數(shù)為tmax;

(4)建立適應(yīng)度函數(shù):極性值p對(duì)應(yīng)的粒子位置的適應(yīng)度函數(shù)fitness(p)為:

fitness(p)=(1-w)*earea(p)/earea_max

其中,earea(p)為在極性p下混合極性xnor/or電路的面積估計(jì)值,earea(p)為

極性p下混合極性xnor/or電路的表達(dá)式包含的同或項(xiàng)和或項(xiàng)的項(xiàng)數(shù)之和,earea_max為混合極性xnor/or電路的最大面積估計(jì)值,且earea_max=n*2n,n為輸入變量數(shù),w為大于等于0且小于等于1的系數(shù),*為乘運(yùn)算符號(hào),/為除運(yùn)算符號(hào);

(5)初始化粒子群:隨機(jī)初始化三值多樣性粒子群中各粒子的速度、位置、粒子的當(dāng)前個(gè)體最優(yōu)位置、三值多樣性粒子群的當(dāng)前全局最優(yōu)位置和各粒子位置的適應(yīng)度值;

(6)建立三值多樣性粒子群中粒子的運(yùn)動(dòng)方程式:

其中,t為三值多樣性粒子群的當(dāng)前進(jìn)化代數(shù),1≤t≤tmax,為第m個(gè)粒子在第t次迭代的速度,為第m個(gè)粒子在第t次迭代的位置,m=1,2,…,m,d為整數(shù)且1≤d≤n,round表示四舍五入到最鄰近的整數(shù),第m個(gè)粒子在第t+1次迭代的速度vmin,d代表第m個(gè)粒子的最小速度,vmax,d代表第m個(gè)粒子的最大速度,上標(biāo)t表示矩陣的轉(zhuǎn)置;第m個(gè)粒子在第t+1次迭代的位置rd表示搜索空間的下限,sd表示搜索空間的上限,c1、c2和c3為學(xué)習(xí)因子,分別表示自我調(diào)整能力和向三值多樣性粒子群最優(yōu)粒子學(xué)習(xí)的能力,其中0<c1≤2,0<c2≤2,0<c3≤2,0<r1≤1,0<r2≤1,0<r3≤1,h為慣性權(quán)重,且hstart為初始慣性權(quán)重且0.3≤hstart≤0.5,hend為終止慣性權(quán)重且0.8≤hend≤1.0,表示當(dāng)前進(jìn)化代第m個(gè)粒子進(jìn)化前的當(dāng)前個(gè)體最優(yōu)位置,表示當(dāng)前進(jìn)化代隨機(jī)粒子進(jìn)化前的當(dāng)前個(gè)體最優(yōu)位置,表示當(dāng)前進(jìn)化代三值多樣性粒子群進(jìn)化前的當(dāng)前全局最優(yōu)位置。設(shè)定三分之一的維度分別向學(xué)習(xí)。n取值為3,σ為權(quán)值,且0<σ≤1,randn()表示標(biāo)準(zhǔn)正態(tài)分布函數(shù),e表示自然對(duì)數(shù)的底;

(7)根據(jù)三值多樣性粒子群中粒子的運(yùn)動(dòng)方程式更新三值多樣性粒子群中各粒子的當(dāng)前位置和當(dāng)前速度,將粒子的最新速度作為該粒子的當(dāng)前速度,將粒子的最新位置作為該粒子的當(dāng)前位置;

(8)以概率pm對(duì)三值多樣性粒子群中各粒子的當(dāng)前位置進(jìn)行三值變異,pm的取值為0.1,具體過程為:產(chǎn)生一個(gè)大于等于0且小于等于1的隨機(jī)數(shù)b,如果b<pm,則將該粒子的當(dāng)前位置中的0變?yōu)?,2變?yōu)?,1變?yōu)?,將該粒子的當(dāng)前位置變異后的值作為該粒子的當(dāng)前位置;如果b≥pm,該粒子的當(dāng)前位置保持不變;

(9)根據(jù)適應(yīng)度函數(shù)計(jì)算當(dāng)前各個(gè)粒子的當(dāng)前位置對(duì)應(yīng)的適應(yīng)度值,將該粒子的當(dāng)前位置對(duì)應(yīng)的適應(yīng)度值與該粒子的當(dāng)前個(gè)體最優(yōu)位置對(duì)應(yīng)的適應(yīng)度值進(jìn)行比較,選擇適應(yīng)度值較小的作為該粒子新的當(dāng)前個(gè)體最優(yōu)位置,再比較所有粒子新的當(dāng)前個(gè)體最優(yōu)位置,將具有最小適應(yīng)度值的粒子新的當(dāng)前個(gè)體最優(yōu)位置作為三值多樣性粒子群的新的當(dāng)前全局最優(yōu)位置;

(10)判斷當(dāng)前進(jìn)化代數(shù)是否為最大進(jìn)化代數(shù),若不是,轉(zhuǎn)到步驟(7)開始下一輪的進(jìn)化,否則進(jìn)入步驟(11);

(11)將三值多樣性粒子群的新的當(dāng)前全局最優(yōu)位置作為最優(yōu)極性輸出,將該最優(yōu)極性對(duì)應(yīng)的混合極性xnor/or電路的面積作為最優(yōu)面積輸出。

實(shí)施例二:一種混合極性xnor/or電路面積優(yōu)化方法,包括以下步驟:

(1)讀入pla格式的電路,該電路采用函數(shù)表示,n為函數(shù)f(xn-1,xn-2,…,xk,…,x0)的輸入變量數(shù),(xn-1,xn-2,…,xk,…,x0)為函數(shù)f(xn-1,xn-2,…,xk,…,x0)的n個(gè)輸入變量,∏為與運(yùn)算符,ai是最大項(xiàng)系數(shù),且ai∈{0,1},i為最大項(xiàng)序數(shù),用二進(jìn)制表示為in-1in-2…ik…i0,mi是最大項(xiàng),表示n個(gè)輸入變量相或,k為正整數(shù),且0≤k≤n-1;

(2)采用極性轉(zhuǎn)換方法將函數(shù)轉(zhuǎn)換為混合極性xnor/or電路的表達(dá)式:其中,p為混合極性xnor/or電路的極性值,p用三進(jìn)制形式表示為pn-1pn-2…pg…p0,g為正整數(shù),且0≤g≤n-1,⊙∏為同或運(yùn)算符,sj表示或項(xiàng),dj為或項(xiàng)系數(shù),且dj∈{0,1},j為或項(xiàng)序數(shù),j用二進(jìn)制表示為jn-1jn-2…jg…j0,dj表示或項(xiàng)是否在混合極性xnor/or表達(dá)式中出現(xiàn),當(dāng)dj=0時(shí),表示或項(xiàng)sj在混合極性xnor/or電路的表達(dá)式中出現(xiàn),當(dāng)dj=1時(shí),表示或項(xiàng)sj不在混合極性xnor/or電路的表達(dá)式中出現(xiàn),其中xg與pg和jg的關(guān)系為:當(dāng)pg=0和jg=0時(shí),xg以原變量出現(xiàn);當(dāng)pg=1和jg=0時(shí),xg以反變量出現(xiàn);當(dāng)pg=2時(shí),xg同時(shí)以原變量和反變量的形式出現(xiàn),當(dāng)jg=0時(shí),xg以原變量出現(xiàn),當(dāng)jg=1時(shí),xg以反變量出現(xiàn);

(3)將混合極性xnor/or電路面積優(yōu)化各參數(shù)與三值多樣性粒子群算法的各參數(shù)進(jìn)行關(guān)聯(lián):將輸入變量數(shù)n定義成三值多樣性粒子群的搜索空間維數(shù),將混合極性定義為三值多樣性粒子群的粒子,將極性值p定義為粒子位置;設(shè)定三值多樣性粒子群中粒子的數(shù)量為m,m為正整數(shù),三值多樣性粒子群的總進(jìn)化代數(shù)為tmax;

(4)建立適應(yīng)度函數(shù):極性值p對(duì)應(yīng)的粒子位置的適應(yīng)度函數(shù)fitness(p)為:

fitness(p)=(1-w)*earea(p)/earea_max

其中,earea(p)為在極性p下混合極性xnor/or電路的面積估計(jì)值,earea(p)為極性p下混合極性xnor/or電路的表達(dá)式包含的同或項(xiàng)和或項(xiàng)的項(xiàng)數(shù)之和,earea_max為混合極性xnor/or電路的最大面積估計(jì)值,且earea_max=n*2n,n為輸入變量數(shù),w為大于等于0且小于等于1的系數(shù),*為乘運(yùn)算符號(hào),/為除運(yùn)算符號(hào);

(5)初始化粒子群:隨機(jī)初始化三值多樣性粒子群中各粒子的速度、位置、粒子的當(dāng)前個(gè)體最優(yōu)位置、三值多樣性粒子群的當(dāng)前全局最優(yōu)位置和各粒子位置的適應(yīng)度值;

(6)建立三值多樣性粒子群中粒子的運(yùn)動(dòng)方程式:

其中,t為三值多樣性粒子群的當(dāng)前進(jìn)化代數(shù),1≤t≤tmax,為第m個(gè)粒子在第t次迭代的速度,為第m個(gè)粒子在第t次迭代的位置,m=1,2,…,m,d為整數(shù)且1≤d≤n,round表示四舍五入到最鄰近的整數(shù),第m個(gè)粒子在第t+1次迭代的速度vmin,d代表第m個(gè)粒子的最小速度,vmax,d代表第m個(gè)粒子的最大速度,上標(biāo)t表示矩陣的轉(zhuǎn)置;第m個(gè)粒子在第t+1次迭代的位置rd表示搜索空間的下限,sd表示搜索空間的上限,c1、c2和c3為學(xué)習(xí)因子,分別表示自我調(diào)整能力和向三值多樣性粒子群最優(yōu)粒子學(xué)習(xí)的能力,其中0<c1≤2,0<c2≤2,0<c3≤2,

0<r1≤1,0<r2≤1,0<r3≤1,h為慣性權(quán)重,且hstart為初始慣性權(quán)重且0.3≤hstart≤0.5,hend為終止慣性權(quán)重且0.8≤hend≤1.0,表示當(dāng)前進(jìn)化代第m個(gè)粒子進(jìn)化前的當(dāng)前個(gè)體最優(yōu)位置,表示當(dāng)前進(jìn)化代隨機(jī)粒子進(jìn)化前的當(dāng)前個(gè)體最優(yōu)位置,表示當(dāng)前進(jìn)化代三值多樣性粒子群進(jìn)化前的當(dāng)前全局最優(yōu)位置。設(shè)定三分之一的維度分別向學(xué)習(xí)。n取值為3,σ為權(quán)值,且0<σ≤1,randn()表示標(biāo)準(zhǔn)正態(tài)分布函數(shù),e表示自然對(duì)數(shù)的底;

(7)根據(jù)三值多樣性粒子群中粒子的運(yùn)動(dòng)方程式更新三值多樣性粒子群中各粒子的當(dāng)前位置和當(dāng)前速度,將粒子的最新速度作為該粒子的當(dāng)前速度,將粒子的最新位置作為該粒子的當(dāng)前位置;

(8)以概率pm對(duì)三值多樣性粒子群中各粒子的當(dāng)前位置進(jìn)行三值變異,pm的取值為0.1,具體過程為:產(chǎn)生一個(gè)大于等于0且小于等于1的隨機(jī)數(shù)b,如果b<pm,則將該粒子的當(dāng)前位置中的0變?yōu)?,2變?yōu)?,1變?yōu)?,將該粒子的當(dāng)前位置變異后的值作為該粒子的當(dāng)前位置;如果b≥pm,該粒子的當(dāng)前位置保持不變;

(9)根據(jù)適應(yīng)度函數(shù)計(jì)算當(dāng)前各個(gè)粒子的當(dāng)前位置對(duì)應(yīng)的適應(yīng)度值,將該粒子的當(dāng)前位置對(duì)應(yīng)的適應(yīng)度值與該粒子的當(dāng)前個(gè)體最優(yōu)位置對(duì)應(yīng)的適應(yīng)度值進(jìn)行比較,選擇適應(yīng)度值較小的作為該粒子新的當(dāng)前個(gè)體最優(yōu)位置,再比較所有粒子新的當(dāng)前個(gè)體最優(yōu)位置,將具有最小適應(yīng)度值的粒子新的當(dāng)前個(gè)體最優(yōu)位置作為三值多樣性粒子群的新的當(dāng)前全局最優(yōu)位置;

(10)判斷當(dāng)前進(jìn)化代數(shù)是否為最大進(jìn)化代數(shù),若不是,轉(zhuǎn)到步驟(7)開始下一輪的進(jìn)化,否則進(jìn)入步驟(11);

(11)將三值多樣性粒子群的新的當(dāng)前全局最優(yōu)位置作為最優(yōu)極性輸出,將該最優(yōu)極性對(duì)應(yīng)的混合極性xnor/or電路的面積作為最優(yōu)面積輸出。

本實(shí)施例中,步驟(2)中采用極性轉(zhuǎn)換方法將函數(shù)轉(zhuǎn)換為混合極性xnor/or電路的表達(dá)式的具體步驟為:

a.將f(xn-1,xn-2,…,xk,…,x0)中的最大項(xiàng)以二進(jìn)制形式表示;

b.將所需轉(zhuǎn)換的混合極性值p用三進(jìn)制形式表示;

c.若混合極性的第g位為1,則選擇第g位為1的最大項(xiàng),對(duì)該位進(jìn)行異或操作,得到新項(xiàng),若第g位為0或2,則不操作;

d.若混合極性的第g位為0或1時(shí),則選擇q個(gè)位的取值為1的新項(xiàng),以這些位為無關(guān)項(xiàng),再產(chǎn)生所有2q-1個(gè)新項(xiàng),并更新索引表中的項(xiàng)數(shù),若混合極性的第g位為2時(shí),則保持不變,0≤q≤n;

e.重復(fù)步驟d,直至操作完所有新項(xiàng),得到索引表中項(xiàng)序數(shù)為奇數(shù)的項(xiàng)即為該混合極性對(duì)應(yīng)的同或/或項(xiàng)。

本實(shí)施例中,搜索空間的下限r(nóng)d的取值為0,搜索空間的上限sd的取值為2,vmin,d的取值為-6,vmax,d的取值為6,總粒子數(shù)m為20-30,最大進(jìn)化代數(shù)tmax的取值為100以上。

為了驗(yàn)證本發(fā)明的方法在混合極性xnor/or電路面積優(yōu)化上的優(yōu)越性,使用文獻(xiàn)yuhai-zhen,wangpeng-jun,wangdi-shen.discreteternaryparticleswarmoptimizationforareaoptimizationofmprmcircuits[j].journalofsemiconductors,2013,34(2):025011-1-025011-6.與所提出算法進(jìn)行比較。在實(shí)驗(yàn)中,本發(fā)明的參數(shù)設(shè)置為:初始慣性權(quán)重hstart=0.9,終止慣性權(quán)重hend=0.4,線性遞減策略,學(xué)習(xí)因子c1=c2=c3=1.8,σ=0.2,vmax=6.0,總粒子數(shù)m為20-30,最大進(jìn)化代數(shù)tmax為200。其優(yōu)化結(jié)果如下表1所示,其中“benchmark”表示測(cè)試電路的名稱,“inputs”表示測(cè)試電路的輸入變量個(gè)數(shù);“dtpso”表示用離散三值粒子群算法進(jìn)行電路面積優(yōu)化的結(jié)果;“tdpso”表示本發(fā)明進(jìn)行電路面積優(yōu)化的結(jié)果;系數(shù)w取值為0.0,0.25,0.5,0.75,1.0。

本發(fā)明的方法和現(xiàn)有的方法對(duì)電路的面積性能進(jìn)行優(yōu)化的對(duì)比曲線如圖1所示。圖1中,橫坐標(biāo)為系數(shù)w,縱坐標(biāo)為10個(gè)電路面積的平均值。由圖1可知,本發(fā)明的方法顯著優(yōu)于現(xiàn)有方法,平均節(jié)省電路面積為15.1%。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
高雄县| 繁昌县| 古浪县| 阿勒泰市| 沧州市| 安徽省| 宜宾县| 巴彦淖尔市| 香河县| 孝昌县| 河池市| 永仁县| 潜山县| 张家界市| 桓仁| 赤壁市| 理塘县| 靖州| 海淀区| 贺兰县| 买车| 额尔古纳市| 湖南省| 北流市| 宜春市| 宿州市| 家居| 定陶县| 沛县| 贵南县| 乡宁县| 兴业县| 博白县| 杭锦后旗| 科尔| 柯坪县| 屏东县| 阿荣旗| 讷河市| 剑河县| 会理县|